Framework for Ontology Alignment and Mapping

Size: px
Start display at page:

Download "Framework for Ontology Alignment and Mapping"

Transcription

1 Framework for Ontology Alignment and Mapping Marc Ehrig, Steffen Staab and York Sure Abstract Semantic alignment between ontologies is a necessary precondition to establish interoperability between agents or services using different individual ontologies. This cannot be done manually beyond a certain complexity and size of ontologies. The core contribution in this article is the Framework for Ontology Alignment and Mapping (FOAM). With FOAM we address requirements from an application-based perspective such as high quality results, efficiency, high degree of automation with optional user-interaction, flexibility with respect to use cases, and easy adjusting and parameterizing. FOAM consists of a general alignment process based on the ontology-encoded semantics, different instantiations of the process focusing on various aspects of ontology alignment, and finally the concrete implementation as a powerful but easy to use Open Source tool. The evaluation results show that the different instantiations individually outperform existing approaches. However, best results can be gained when combining them. We expect that the findings suit not only the Semantic Web community, but may solve integration problems of related computer science fields as well. 1

2 1 Introduction Semantic alignment between ontologies is a necessary precondition to allow interoperability between agents or services using these different individual ontologies. The advantages of a world-wide Semantic Web lie in its machine-processability through such agents or services. For instance, in a setting where knowledge is distributed across the globe, it is automatically possible to derive new insights without human interaction.thus, ontology alignment and mapping become a core issue to resolve. Generally, there are two approaches for this. Either the alignment process is initiated before-hand, during the creation of an ontology. Ontology engineers discuss, negotiate, and vote, to come up with a shared ontology. Or alignment is performed afterwards, thus aligning ontologies and schemas which already exist. In this work we focus on the latter issue. Through these alignments we can translate requests and data between different ontologies, or we can even perform a complete merge of ontologies. As one can easily imagine, this cannot be done purely manually beyond a certain complexity, size, or number of ontologies any longer. Automatic or at least semi-automatic techniques have to be developed to reduce the burden of manual creation and maintenance of alignments. In recent years we have seen a range of research work on methods proposing such alignments [?,?,?]. When we tried to apply these methods to some of the real-world scenarios we address in other research contributions, e.g., querying a distributed peerto-peer network with many different knowledge representations (ontologies),[?,?] we found that existing alignment methods were not suitable for the tasks at hand. In particular, we need to resolve the issues of multiple use cases, such as ontology merging, ontology mapping, data integration, and query rewriting, to name a few. Existing methods focus on resolving one particular of the issues, making it difficult to reuse these approaches for already slightly different tasks. From the different use cases one can derive typical core requirements for an ontology alignment algorithm: (i) The returned alignments need to be of high quality meaning that most existing alignments need to be identified and only few wrong ones may be among them. (ii) The alignment process needs to be efficient and fast to suit on-the-fly alignment. (iii) Optional well though-out user-interaction can help to improve results. (iv) The approach needs to be flexible with respect to the different mentioned use cases. And (v) easy adjusting and parameterizing for inclusion of other approaches should be provided. Depending on the application these requirements might vary with respect to importance. In this article we consider different existing and novel approaches to fulfill these requirements. Only by this way we may reach the overall goal of having a framework for ontology alignment suiting a wide range of use cases and in specific meeting the demands of our use cases for the real world. For the end-user we provide a powerful but easy to use tool taking ontologies as input and returning alignments (with explanations) as output (Figure 1). Our framework for ontology alignment and mapping, FOAM, consists of a general alignment process, different instantiations of the process focusing on different requirements of ontology alignment, and the concrete implementation as a tool. FOAM has been applied in many real-world scenarios seamlessly and is already integrated into the ontology engineering platform OntoStudio

3 Input FOAM Framework for Ontology Alignment and Mapping Output incl. Explanation Figure 1: Ontology Alignment The remainder of this article starts with a clarification of terminology (Section 2). We then describe a canonical process for ontology alignment that subsumes the different approaches compared in this paper (Section 3). In Section 4, different approaches for proposing alignments are described and mapped to the canonical process. Besides well-known approaches, new approaches with specific foci are presented. Experimental results (Section 5) complement the comparison of the approaches across several dimensions. An investigation of related work is provided in Section 6. This paper closes with an outlook and an overall conclusion. 2 Terminology Before we start we need to clarify the underlying terminology. 2.1 Ontology In the understanding of this paper an ontology consists of both schema and instantiating data. An ontology O is therefore defined by the following tuple: O := (C, H C, R C, H R, I, R I, ι C, ι R, A) Concepts C of the schema are arranged in a subsumption hierarchy H C. Binary relations R C exist between pairs of concepts. Relations can also be arranged in a subsumption hierarchy H R. (Meta-)Data is constituted by instances I of specific concepts. Theses instances are interconnected by relational instances R I. Instances and relational instances are connected to concepts resp. relations by the instantiations ι C resp. ι R. Additionally one can define axioms A which can be used to infer knowledge from already existing knowledge. An extended definition can be found in [?]. Common languages to represent ontologies are RDF(S) or OWL, [?,?], though one should note that each language offers different modeling primitives. Ontologies are the input for the ontology alignment process. The following fragment of an automobile ontology O := ({automobile, luxury,...}, {...}, {speed(automobile, INT EGER),...}, {...}, {...}, {...}, {...}, {...}, {...}) can be represented in OWL as shown in Example 1. 3

4 <owl:class rdf:about= auto:automobile /> <owl:class rdf:about= auto:luxury /> <owl:datatypeproperty rdf:about= auto:speed > <rdfs:domain rdf:resource = auto:automobile /> <rdfs:range rdf:resource= xsd#integer /> </owl:datatypeproperty> Example 1. Fragment of Domain Ontology in OWL 2.2 Alignment and Mapping We here define our use of the term alignment similarly to [?]. Given two ontologies O 1 and O 2, aligning one ontology with another means that for each entity (concept C, relation R, or instance I) in ontology O 1, we try to find a corresponding entity, which has the same intended meaning, in ontology O 2. Formally, we define an ontology alignment function, align, based on the vocabulary, E, of all entities e E and based on the set of possible ontologies, O, as a partial function: align : E O O E, with e O 1 ( f O 2 : align(e, O 1, O 2 ) = f align(e, O 1, O 2 ) = ). A entity e interpreted in an ontology O is either a concept, a relation or an instance, i.e., e O C R I. We usually write e instead of e O when the ontology O is clear from the context of the writing. We write align O1,O 2 (e) for align(e, O 1, O 2 ). We derive a function align O1,O 2 by defining align O1,O 2 (e, f) align O1,O 2 (e) = f. We leave out O 1, O 2 when they are evident from the context and write align(e) = f and align(e, f), respectively. Once a (partial) alignment, align, between two ontologies O 1 and O 2 is established, we also say entity e is aligned with entity f iff align(e, f). An entity can be aligned to at most one other entity. A pair of entities (e, f) that is not yet in alignment and for which appropriate alignment criteria still need to be tested is called a candidate alignment. Two entities which have been aligned are also often called a mapping. They represent the output, the alignment process. The following example illustrates an alignment. Two ontologies O 1 and O 2 describing the domain of car retailing are given (Figure 2). Concepts are depicted as rectangular boxes, relations as hexagons, and instances as rounded boxes. Subsumption and instantiation relations are drawn as stretched triangles respectively. A relation has an incoming arrow from its domain and an outgoing arrow to its range. The labeled edges represent relation instances. In the example of Ontology 1 we have six concepts (Object, Vehicle,... ), two relations (hasowner and hasspeed), and three instances (Marc,... ). As one can see from the graph there is a subsumption hierarchy, e.g., between Object and Vehicle. Further each Vehicle hasowner Owner and each Car hasspeed Speed. On the instance level, the PorscheKA123 hasowner Marc and hasspeed 250km/h. Ontology 2 models the same domain slightly differently. Based on human experience a reasonable alignment between the two ontologies is given in Table 1 as well as by the dashed lines in the figure. Obviously things and objects, the two vehicles, cars and automobiles, as well as the two speeds are the same. 4

5 Further the relations hasspeed and hasproperty correspond to each other. Also the two instances Porsche KA-123 and Marc s Porsche are the assumed to be the same, which are both fast cars. Ontology 1 Ontology 2 Concept Relation Instance Alignment Figure 2: Example Ontologies and their Alignment Table 1: Alignment Table for Relation align O1,O 2 (e, f) Ontology O 1 Ontology O 2 Object Thing Car Automobile Porsche KA-123 Marc s Porsche Speed Characteristic 250 km/h fast Apart from one-to-one alignments as investigated in this article one entity often has to be aligned with a complex composite such as a concatenation of terms (first and last name) or an entity with restrictions (a sports-car is a car going faster than 250 km/h). [?,?] propose approaches for this. Our work does not deal with such issues of complex ontology alignments. As complex alignments consist of elementary alignments, our work can be seen as basis for this though. 3 Process We observed that alignment methods may be mapped onto a generic alignment process. We briefly introduce this canonical process that subsumes the heuristics-based align- 5

6 ment approaches. Figure 3 illustrates its six main steps in the most common order. Input to this process are two ontologies, which need to be aligned with one another. 1. Feature Engineering: Select small excerpts of the overall ontology definition to describe a specific entity (e.g., the label to describe the concept o1:car). 2. Search Step Selection: Choose two entities from the two ontologies to compare (e.g., o1:car and o2:automobile). 3. Similarity Computation: Indicate a similarity for a given description of two entities (e.g., simil label (o1:car,o2:automobile)=0). 4. Similarity Aggregation: Aggregate multiple similarity assessments for one pair of entities into a single measure (e.g., simil label (o1:car,o2:automobile) +simil instances (o1:car,o2:automobile)=0.5). 5. Interpretation: Use all aggregated numbers, some threshold and some interpretation strategy to propose the equality for the selected entity pairs (align(o1:car)= ). 6. Iteration: As the similarity of one entity pair influences the similarity of neighboring entity pairs, the equality is propagated through the ontologies (e.g., it may lead to a new simil(o1:car,o2:automobile)=0.85, subsequently resulting in align(o1:car)=o2:automobile. 6. Iteration Input 1. Feature Engineering 2. Search Step Selection 3. Similarity Computation 4. Similarity Aggregation 5. Interpretation Output Figure 3: General Alignment Process Eventually, the output returned is an alignment table representing the function align O1,O 2. Each of the presented steps can initialized through specific parameters. We can therefore refer to the process as a parameterizable alignment method [?], thus making FOAM a very flexible framework. In the following sections we will provide a toolbox of data structures and methods (the parameters for the process) common to many approaches that align ontologies. This gives us a least common denominator based on which concrete approaches instantiating the process depicted in Figure 3 can be compared more easily. To make the individual steps clearer the corresponding implemented activities of one specific alignment approach, namely Naïve Ontology Mapping (NOM) [?], are described with each step. 6

7 3.1 Feature Engineering To compare two entities from two different ontologies, one considers their characteristics, i.e. their features. The features may be specific for an alignment generation algorithm, in any case the features of ontological entities (of concepts, relations, instances) need to be extracted from extensional and intensional ontology definitions. See also [?] and [?] for an overview of possible features and a classification of them. Possible characteristics include: Identifiers: Strings with dedicated formats, such as unified resource identifiers (URIs) or RDF labels. RDF/S Primitives: For example, properties or subclass relations. OWL Primitives: One entity can be, e.g., declared as being the sameas another entity. Derived Features: These constrain or extend simple primitives (e.g. most-specificclass-of-instance). Aggregated Features: For them we need to aggregate more than one simple primitive, e.g. a sibling is every instance-of the parent-concept of an instance. Domain Specific Features: Often ontology alignment has to be performed in a specific application of one domain. For these scenarios domain-specific features provide additional value for the alignment process. Returning to our example, the relation speed is not a general ontology feature, but a feature which is defined in the automobile domain, e.g., in a domain ontology. Thus it will be important for correctly and only aligning representations of concrete vehicles. Ontology External Features: Any kind of information not directly encoded in the ontology, such as a bag-of-words from a document describing an instance, is subsumed by this class of features. We again refer to the example in Figure 2. The actual feature consists of a juxtaposition of relation name and entity name. The Car concept of ontology 1 is characterized through its label Car, the concept which it is linked to through subclassof, i.e., Vehicle, its concept sibling boat, and the direct property, hasspeed. Car is also described by its instances Porsche KA-123. The relation hasspeed on the other hand is described through the domain Car and the range Speed. An instance would be Porsche KA-123, which is characterized through the instantiated property instance of hasowner, Marc and the property instance hasspeed, 250 km/h. NOM Approach: For the NOM approach we rely on identifiers and RDF/S primitives only. The complete list of used features is presented in Table 2. As already mentioned FOAM however can be easily extended with other features. 3.2 Search Step Selection Before the comparison of entities can be processed it is necessary to choose which entities to compare. The most common and obvious is to compare all entities of the 7

8 first ontology with all entities of the second ontology. Any pair is treated as a candidate alignment. Nevertheless it can make sense to choose or prioritize among the candidate alignments. For the integration of databases there exists a related technique called blocking [?]. A concrete approach for ontologies will be explained in one of the more advanced ontology alignment approaches later in this article. 3.3 Similarity Computation We define a similarity measure for comparison of ontology entities as a partial function as follows (cf. [?]): sim : E E O O [0, 1] Different similarity measures sim k (e, f, O 1, O 2 ) are indexed by the variable k. Further, we leave out O 1, O 2 when they are evident from the context and write sim k (e, f). The following similarity measures are needed to compare the features of ontological entities. This list can easily be adapted and extended for additional features. For completeness we define the variable t representing the current iteration round. Object Equality: Object equality is based on existing logical assertions especially assertions from previous iterations of our process: { 1 align sim obj (a, b) := t 1 (a) = b, 0 otherwise Explicit Equality: This checks whether a logical assertion, such as given by the OWL sameas primitive, already forces two entities to be equal: { 1 iff statement(a, sameas, b), sim exp (a, b) := otherwise} 0 otherwise String Similarity: Based on Levenshtein s edit distance, ed [?], the similarity of two strings can be measured on a scale from 0 to 1 (cf. [?]). sim str (c, d) := max(0, min( c, d ) ed(c, d) ) min( c, d ) WordNet Synonyms: Similarity measures might make use of additional external resources. This one relies on the synonym sets defined in WordNet [?]. Two strings representing synonyms return 1, otherwise 0. Set Similarity: For many features we have to determine to what extent two entity sets of entities F, G E are similar. To remedy the problem we use the following heuristic. An entity is described by its distance to any other entity. We assume that if entities have very similar distances to all other entities, they must be very similar. We can now determine an average entity representing the set. Finally 8

9 we can measure the similarity of the two involved sets by applying the cosine measure: f F f sim set (F, G) = f F f g G g g G g with f = (sim(f, f 1 ), sim(f, f 2 ),..., sim(f, g 1 ), sim(f, g 2 ),...), g analogously. Dice Coefficient: Further, two sets of entities can be compared based on the overlap of the sets individuals[?]. Unfortunately this is only possible if the individuals are marked with a clear identifier: sim dice (F, G) := x (F G) x (F G) NOM Approach: The similarity computation between an entity of O 1 and an entity of O 2 is done by using a wide range of similarity functions. Each similarity function is based on a feature of both ontologies and a respective similarity measure as shown in Table 2 for NOM. In the first part of the table two concepts are compared. No. 1 represents that for each of the two concepts the labels are retrieved and these labels are compared using the (syntactic) string similarity. 3.4 Similarity Aggregation Our assumption is that a well thought-out combination of the so far presented features and similarity measures leads to better alignment results compared to using only one at a time. Clearly not all introduced similarity methods have to be used for each aggregation, especially as some methods have a high correlation. Even though a number of methods exist, no research paper especially focused on the combination and integration of these methods. Generally, similarity aggregation can be expressed through: k=1...n sim agg (e, f) = w k adj k (sim k (e, f)) k=1...n w k with w k being the weight for each individual similarity measure, and adj k being a function to transform the original similarity value (adj : [0, 1] [0, 1]), which might yield better results. Averaging: The adjustment function adj k is set to be the identity function. Further all the individual weights are equally set to 1. As result we receive a simple average over all individual similarities: adj k (x) = id(x) w k = 1 9

10 Table 2: Features and Similarity Measures for Different Entity Types in NOM. The corresponding ontology is indicated through an index. Comparing No. Feature Similarity Measure Concepts 1 (label,x 1 ) string(x 1, X 2 ) 2 (identifier,x 1 ) explicit(x 1, X 2 ) 3 (X 1,sameAs,X 2) relation object(x 1, X 2) 4 (direct relations,y 1 ) set(y 1, Y 2 ) 5 all (inherited relations,y 1) set(y 1, Y 2) 6 all (superconcepts,y 1 ) set(y 1, Y 2 ) 7 all (subconcepts,y 1 ) set(y 1, Y 2 ) 8 (subconc.,y 1) / (superconc., Y 2) set(y 1, Y 2) 9 (superconc.,y 1 ) / (subconc., Y 2 ) set(y 1, Y 2 ) 10 (concept siblings,y 1) set(y 1, Y 2) 11 (instances,y 1 ) set(y 1, Y 2 ) Relations 1 (label,x 1) string(x 1, X 2) 2 (identifier,x 1 ) explicit(x 1, X 2 ) 3 (X 1,sameAs,X 2 ) relation object(x 1, X 2 ) 4 (domain,x d1 ) and (range,x r1) object(x d1, X d2 ), (X r1, X r2) 5 all (superrelations,y 1 ) set(y 1, Y 2 ) 6 all (subrelations,y 1) set(y 1, Y 2) 7 (relation siblings,y 1 ) set(y 1, Y 2 ) 8 (relation instances,y 1) set(y 1, Y 2) Instances 1 (label,x 1 ) string(x 1, X 2 ) 2 (identifier,x 1) explicit(x 1, X 2) 3 (X 1,sameAs,X 2 ) relation object(x 1, X 2 ) 4 all (parent-concepts,y 1 ) set(y 1, Y 2 ) 5 (relation instances,y 1) set(y 1, Y 2) Relation- 1 (domain,d 1 ) and (range,r 1 ) object(d 1, D 2 ), (R 1, R 2 ) Instances 2 (parent relation,y 1) set(y 1, Y 2) 10

11 Linear Summation: For this aggregation only the weights w k have to be determined. The adj k ustment function is set to be the identity function. adj k (x) = id(x) We assume that similarities can be aggregated and are increasing strictly. The weights are assigned manually or learned, e.g., using machine learning on a training set. [?] have thoroughly investigated the effects of different weights on the alignment results. In our approach we are basically looking for similarity values supporting the hypothesis that two entities are equal. If a measure doesn t support the thesis, it still doesn t necessarily mean that it s opposing it. We respect the open world assumption in this paper. Further, this aggregation has the favorable characteristic that one can prove that eventually the alignments converge [?]. Linear Summarization with Negative Evidence: A negative value for w k needs to be applied if the individual similarity is not evidence of an alignment, but in contrary indicates that two entities should not be aligned. A typical example of such a case would be that super-concepts of the first entity have a high similarity with sub-concepts of the second entity. This is also included in Table 2 (No. 8 and 9 of the concepts). Sigmoid Function: A more sophisticated approach emphasizes high individual similarities and de-emphasizes low individual similarities. In the given case a promising function would be the sigmoid function, which has to be shifted to fit our input range of [0... 1] (see Figure 4). 1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0, ,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 Figure 4: Sigmoid function adj k (x) = sig k (x 0.5) with sig k (x) = 1 1+e a k x and a k being a parameter for the slope. The rational behind using a sigmoid function is explained best using an example. When comparing two labels, the chance of having the same entity if only one or 11

12 two letters differ is very high; these might just be because of type errors or different grammatical forms. Whereas, if only three or four letters match, there is no information in this similarity at all; an aggregation of several of these low values should not lead to an alignment. High values are therefore further increased; low values are further decreased. The parameters of the sigmoid function can be regarded as an extension of the similarity methods, as they have to be adjusted according to the method sim k they are applied to. Afterwards, the modified values are summed with specific weights w k attached to them. NOM Approach: NOM uses this sigmoid function for weighting its similarity measures. Further it makes use of negative evidence, as sometimes this is clearer than positive evidence. 3.5 Interpretation The approaches presented in this article are heuristics-based. An alignment is set, if the similarity indicates this. An alignment is not directly logically inferred by a reasoner as, e.g., in the work of [?]. This makes it easier to cope with limited support for or small inconsistencies in alignments which will always be the case for real world scenarios. Therefore, from the similarity values we derive the actual alignments. We assign alignments based on a threshold t applied to the aggregated similarity measures. Further, each entity may participate in either one or multiple alignments. We use the thresholds presented in [?]. Every similarity value above the cut-off indicates an alignment; every one below the cut-off is dismissed. Constant Similarity Value: For this method a fixed constant c is taken as threshold. t = c The constant threshold seems reasonable as we are collecting evidence for alignments. If too little evidence is extracted from the ontologies, it is simply not possible to reliably present alignments from this. However, it is difficult to determine this value. One possibility is an average that maximizes the quality in several test runs. Alternatively it might make sense to let experts determine the value, which only works if the similarity value can be interpreted by them. Delta Method: For this method the threshold for the similarity is defined by taking the highest similarity value of all and subtracting a fixed value c from it. t = max(sim agg (e i1 j 1, e i2 j 2 ) e i1 j 1 O i1, e i2 j 2 O i2 ) c N Percent: This method is closely related to the former one. Here we take the highest similarity value and subtract a fixed percentage p from it. t = max(sim agg (e i1 j 1, e i2 j 2 ) e i1 j 1 O i1, e i2 j 2 O i2 )(1 p) 12

13 The latter two approaches are motivated through the idea that similarity is also dependent on the domain. The calculated maximum similarity can be an indicator for this and is fed back into the algorithm. At some point during the design of an alignment process one has to decide how many alignments an entity might possibly be involved: One Alignment Link: The goal of this approach is to attain a single alignment between two entities from the best similarity values. As there can be only one best match, every other match is a potential mistake, which should be dropped. Practically we do cleansing in the alignment table by removing entries with already aligned entities. A greedy strategy starts with the largest similarity values first. Ties are broken arbitrarily by argmax (g,h), but with a deterministic strategy. align(e, f) (sim agg (e, f) > θ) ((e, f) = argmax (g,h) U V sim agg (g, h)). Multiple Alignment Links: Often it makes sense to keep multiple alignments, e.g., if a user checks the results manually after all. In this case the interpretation can be expressed through the following formula. align(e, f) sim(e, f) > t. NOM Approach: NOM interprets similarity results by two means. First, it applies a fixed threshold to discard spurious evidence of similarity. Second, NOM enforces bijectivity of the alignments by ignoring candidate mappings that would violate this constraint and by favoring candidate alignments with highest aggregated similarity scores. 3.6 Iteration For calculating the similarity of one entity pair many of the described methods rely on the similarity input of other entity pairs. The first round uses only basic comparison methods based on labels and string similarity to compute the similarity between entities. By doing the computation in several rounds one can access the already computed pairs and use more sophisticated structural similarity measures. This is related to the similarity flooding algorithm of [?], which in contrast to our approach doesn t interpret the edges through which the similarity is spread. Several possibilities when to stop the calculations have been described in the literature: Fixed Number of Rounds No More Changes to Alignments Changes Below a Certain Threshold Time Constraint 13

14 In his work [?] proved that the approach converges when certain characteristics apply to the algorithm. In specific, the weighting and aggregation function is critical in this context. Convergence can only be guaranteed if the overall similarity, i.e., the sum of all individual similarities, not just the similarities of alignments, rises monotonic and with smaller steps for each iteration. If the last change of overall similarity (increased by the sequence of estimated changes to come) is lower than the distance of any found alignment or non-alignment to the threshold, one can conclude that this gap will never be bridged, thus the alignments will not change. The iterative process can be stopped. When having more than one round of calculation the question arises if the results of each round should be converted/adjusted before they are fed back for the next round. One approach is to reuse only the similarity of the best alignments found. A possible way could be to give the best match a weight of 1, the second best of 1 2, and the third of 1 3. Potentially correct alignments are kept with a high probability but leave a path for second best alignments to replace them. The danger of having the system being diverted by low similarity values is minimized in this way. NOM Approach: For the first round NOM uses only a basic comparison method based on labels and string similarity to compute the similarity between entities. By doing the computation in several rounds one can access the already computed pairs and use more sophisticated structural similarity measures. Therefore, in the second round and thereafter NOM relies on all the similarity functions listed in Table 2. As we also include negative evidence in our considerations, we cannot guarantee the monotonic increase of similarity and thus convergence. But, in all our tests we have found that after ten rounds the approach converges in practice and hardly any further changes occur in the mapping table. This is independent from the actual size of the involved ontologies. NOM therefore restricts the number of runs to a fixed number. 4 Alignment Approaches After having presented the general ontology alignment process with possible parameters we will now describe particular instantiations thereof. We start with three wellknown tools: PROMPT: PROMPT uses labels to propose alignments between two ontologies [?]. These are then merged. Anchor-PROMPT: Anchor-PROMPT adds structural evidence to this [?]. GLUE: In their approach [?] use machine learning techniques to build instance classifiers. Further they rely on the structures. Our framework FOAM comprises four approaches: Naive Ontology Mapping (NOM): NOM has already been explained along the general process in the previous section [?]. It uses a big number of different ontology features. Further, it is our baseline approach we compare all others against. Quick Ontology Mapping (QOM): This approach lies its focus on efficiency considerations of alignment algorithms [?]. 14

15 Active Ontology Alignment (AOA): With this approach we aim at exploiting user interaction in the best possible way. Alignment Process Feature Estimation and Learning (APFEL): For the last approach we use machine learning techniques to gain an presumably optimal alignment approach [?]. We describe all approaches along the general alignment process. Each of them has two distinct ontologies as input, and shall return the corresponding alignments. 4.1 PROMPT/Label-Approach Before presenting various advanced approaches to compute ontology alignments we present a straight forward simple approach, which is only based on the labels of the compared entities. We do this along the example of the PROMPT-tool. PROMPT [?] is a tool that provides a semi-automatic approach to ontology merging and alignment. Together with ONION [?] it was one of the first tools for ontology merging. PROMPT is available as a plug-in to the Protégé 2 toolsuite. After having identified alignments by matching of labels the user is prompted to mark the alignments which should actually be merged. While merging PROMPT further presents possible inconsistencies. For this paper we concentrate on the actions performed to identify possible alignment candidates aka. the merging candidates. We do not consider the following merging steps. 1. Feature Engineering: The original PROMPT only uses labels. These could be taken e.g. from the RDFS ontology. 2. Search Step Selection: PROMPT relies on a complete comparison. Each pair of entities from ontology one and two is checked for similarity. 3. Similarity Computation: The system determines the similarities based on whether entities have similar labels. Specifically, PROMPT checks for identical labels as shown in Table 3. Table 3: PROMPT/Label: Features and Measures for Similarity Comparing No. Feature Similarity Measure Entities 1 (label,x 1) explicit(x 1, X 2) 4. Similarity Aggregation: As PROMPT uses only one similarity measure, aggregation is not necessary

16 5. Interpretation: PROMPT presents the pairs which have an identical label. For these pairs chances are high that they are actually the same. The user manually selects the ones he deems to be correct, which are then merged in PROMPT. PROMPT is therefore a semi-automatic tool for ontology alignment. 6. Iteration: The similarity computation does not rely on any previous computed entity alignments. One round is therefore sufficient. 4.2 Anchor-PROMPT Anchor-PROMPT [?] constitutes an advanced version of PROMPT which includes similarity measures based on ontology structures. Main changes occur for the similarity computation (step 3) and the iteration (step 6). 3. Similarity Computation: Anchor-PROMPT traverses paths between anchor points. The anchor points are entity pairs already identified as being equal, e.g., based on their identical labels. Along these paths new alignment candidates are suggested. Specifically, paths are traversed along hierarchies as well as along other relations. This corresponds to our similarity functions based on sub- and super-concepts no. 6 and 7 and other properties no. 4 in Table Iteration: Iteration is done in Anchor-PROMPT to allow manual refinement. After the user has acknowledged the proposition, the system recalculates the corresponding similarities and comes up with new merging suggestions. Table 4: Anchor-PROMPT: Features and Measures for Similarity Comparing No. Feature Similarity Measure Concepts 1 (label,x 1 ) explicit(x 1, X 2 4 all (direct properties,y 1) set(y 1,Y 2) 6 all (super-concepts,y 1 ) set(y 1,Y 2 ) 7 all (sub-concepts,y 1) set(y 1,Y 2) Other Entities 1 (label,x 1 ) explicit(x 1, X GLUE GLUE [?] is an approach for schema alignment. It makes extensive use of machine learning techniques. 1. Feature Engineering: In a first step the Distribution Estimator uses a multistrategy machine learning approach based on a sample alignment set. It learns concept classifiers based on instance descriptions, i.e., their naming, or the textual content of web pages. Naturally a big amount of example instances is needed for this learning step. Further the relaxation labeling step uses features such as subsumption, frequency, etc. 16

17 2. Search Step Selection: As in the previous approaches GLUE checks every candidate alignment. 3. Similarity Computation, 4. Similarity Aggregation, 5. Interpretation: In GLUE, steps 3, 4, and 5 are very tightly interconnected, which is the reason why they are presented as one step here. From this also the alignment of concepts is derived. From the Similarity Estimator (the two learned concept classifiers) GLUE derives whether concepts in two schemas correspond to each other. Concepts and relations are further compared using relaxation labeling. The intuition of relaxation labeling is that the label of a node (in our terminology: alignment assigned to an entity) is typically influenced by the features of the node s neighborhood in the graph. The authors explicitly mention subsumption, frequency, and nearby nodes. A local optimal alignment for each entity is determined using the similarity results of neighboring entity pairs from a previous round. The individual constraint similarities are summarized for the final alignment probability. The additional relaxation labeling, which takes the ontological structures into account, is again based solely on manually encoded predefined rules. Normally one would have to check all possible labeling configurations, which includes the alignments of all other entities. The developers are well aware of the problem arising in complexity, so they set up sensible partitions i.e. labeling sets with the same features are grouped and processed only once. The probabilities for the partitions are determined. One assumption is that features are independent, which the authors admit will not necessarily hold true. Through multiplication of the probabilities we finally receive the probability of a label fitting the node i.e. one entity being aligned with another one. The pair with the maximal probability is the final alignment result. 6. Iteration: To gain meaningful results only the relaxation labeling step and its interpretation have to be repeated several times. The other steps are just carried out once. The GLUE machine learning approach suits a scenario with extensive textual instance descriptions, but may not suit a scenario focused more to ontology structures. Further, relations or instances can not be directly aligned with GLUE. 4.4 Quick Ontology Mapping (QOM) When we tried to apply existing methods to some of the real-world scenarios we address in other research contributions, we found that existing alignment methods were not suitable for the ontology integration task at hand, as they all neglected efficiency. To illustrate our requirements: We have been working in realms where light-weight ontologies are applied such as the ACM Topic hierarchy with its 10 4 concepts or folder structures of individual computers, which corresponded to 10 4 to 10 5 concepts. Finally, we are working with Wordnet exploiting its 10 6 concepts (cf. [?]). When aligning between such light-weight ontologies, the trade-off that one has to face is between effectiveness and efficiency. For instance, consider the knowledge management platform built on a Semantic Web And Peer-to-peer basis in SWAP [?]. It is not sufficient 17

18 to provide its user with the best possible alignment, it is also necessary to answer his queries within a few seconds even if two peers use two different ontologies and have never encountered each other before. For this purpose, we optimize the effective, but inefficient NOM approach towards our goal. The outcome is an extended version: QOM Quick Ontology Mapping [?]. We would also like to point out that the efficiency gaining steps can be applied to other alignment approaches as well. 1. Feature Engineering: Like NOM, QOM exploits RDFS features. 2. Search Step Selection: A major ingredient of run-time complexity is the number of candidate alignment pairs which have to be compared to actually find the best alignments. Therefore, we use heuristics to lower the number of candidate alignments. Fortunately we can make use of ontological structures to classify the candidate alignments into promising and less promising pairs. In particular we use a dynamic programming approach [?]. In this approach we have two main data structures. First, we have candidate alignments which ought to be investigated. Second, an agenda orders the candidate alignments, discarding some of them entirely to gain efficiency. After the completion of the similarity analysis and their interpretation new decisions have to be taken. The system has to determine which candidate alignments to add to the agenda for the next iteration. The behavior of initiative and ordering constitutes a search strategy. We suggest the subsequent strategies to propose new candidate alignments for inspection: Random: A simple approach is to limit the number of candidate alignments by selecting either a fixed number or percentage from all possible candidate alignments. Label: This restricts candidate alignments to entity pairs whose labels are near to each other in a sorted list. Every entity is compared to its label -neighbors. Change Propagation: QOM further compares only entities for which adjacent entities were assigned new alignments in a previous iteration. This is motivated by the fact that every time a new alignment has been found, we can expect to also find similar entities adjacent to these found alignments. Further, to prevent very large numbers of comparisons, the number of pairs is restricted by an upper bound. This is necessary to exclude ontological artifacts such as ontologies with only one level of hierarchy from thwarting the efficiency efforts. Hierarchy: We start comparisons at a high level of the concept and property taxonomy. Only the top level entities are compared in the beginning. We then subsequently descend the taxonomy. Combination: The combined approach used in QOM follows different optimization strategies: it uses a label subagenda, a randomness subagenda, and a change propagation subagenda. In the first iteration the label subagenda is pursued. Afterwards we focus on alignment change propagation. Finally we shift to the 18

19 Table 5: Features and Similarity Measures for Different Entity Types Contributing to Aggregated Similarity in QOM. Features with a lower case a have been modified for efficiency considerations. Comparing No. Feature Similarity Measure Concepts 1 (label,x 1) string(x 1, X 2) 2 (identifer,x 1 ) explicit(x 1, X 2 ) 3 (X 1,sameAs,X 2 ) relation object(x 1, X 2 ) 4 (direct relations,y 1 ) set(y 1, Y 2 ) 5a (relations of direct superconc., Y 1 ) set(y 1, Y 2 ) 6a (direct superconcepts, Y 1) set(y 1, Y 2) 7a (direct subconcepts, Y 1 ) set(y 1, Y 2 ) 8a (subconc.,y 1) / (superconc., Y 2) set(y 1, Y 2) 9a (superconc.,y 1 ) / (subconc., Y 2 ) set(y 1, Y 2 ) 10 (concept siblings,y 1 ) set(y 1, Y 2 ) 11a (direct instances,y 1) set(y 1, Y 2) Relations 1 (label,x 1 ) string(x 1, X 2 ) 2 (identifier,x 1) explicit(x 1, X 2) 3 (X 1,sameAs,X 2 ) relation object(x 1, X 2 ) 4 (domain,x d1 ) and (range,x r1) object(x d1, X d2 ),(X r1, X r2) 5a (direct superrelations, Y 1 ) set(y 1, Y 2 ) 6a (direct subrelations, Y 1 ) set(y 1, Y 2 ) 7 (relation siblings,y 1) set(y 1, Y 2) 8a (direct relation instances,y 1 ) set(y 1, Y 2 ) Instances 1 (label,x 1) string(x 1, X 2) 2 (identifier,x 1 ) explicit(x 1, X 2 ) 3 (X 1,sameAs,X 2) relation object(x 1, X 2) 4a (direct parent-concepts, Y 1 ) set(y 1, Y 2 ) 5 (relation instances,y 1 ) set(y 1, Y 2 ) Relation- 1 (domain,x d1 ) and (range,x r1 ) object(x d1, X d2 ),(X r1, X r2 ) Instances 2 (parent relation,y 1 ) set(y 1, Y 2 ) randomness subagenda, if the other strategies do not identify sufficiently many correct alignment candidates. With these multiple agenda strategies we only have to check a bounded and restricted number of alignment candidates from ontology 2 for each original entity from ontology 1.Please note that the creation of the presented agendas does require processing resources itself. 3. Similarity Computation: QOM is based on a wide range of ontology feature and heuristic combinations. In order to optimize QOM, we have restricted the range of costly features as specified in Table 5. In particular, QOM avoids the complete pairwise comparison of trees in favor of a(n incomplete) top-down strategy. The accentuated comparisons in the table were changed from features which point to complete inferred sets to features only retrieving limited size direct sets. 19

20 4. Similarity Aggregation: The aggregation of single methods is only performed once per candidate alignment and is therefore not critical for the overall efficiency. Therefore, QOM uses a sigmoid function with manually assigned weights in this step. 5. Interpretation: Also the interpretation step of QOM is not critical with respect to efficiency. A threshold is determined and bijectivity of alignments is maintained. The alignments have to be checked once for this. 6. Iteration: QOM iterates to find alignments based on lexical knowledge first and based on knowledge structures later. Assuming that ontologies have a fixed percentage of entities with similar lexical labels, we will easily find their correct alignments in the first iteration. We also assume that these are evenly distributed over the two ontologies, i.e., the distance in terms of links in the ontology to the furthest not directly found alignment is constant. Through the change propagation agenda we carry on to the next adjacent alignment candidates with every iteration step. The number of required iterations remains constant; it is independent from the size of the ontologies Comparing Run-time Complexity We determine the worst-case run-time complexity of the algorithms to propose alignments as a function of the size of the two given ontologies. Thereby, we wanted to base our analysis on realistic ontologies and not on artifacts. We wanted to avoid the consideration of large ontologies with n leaf concepts but a depth of the concept hierarchy H C of n 1. [?] have examined the structure of a large number of ontologies and found, that concept hierarchies on average have a branching factor of around 2 and that the concept hierarchies are neither extremely shallow nor extremely deep. Hence, in the following we base our results on their findings. The different algorithmic steps contributing to complexity 3 are aligned to the canonical process of Section 3. For each of the algorithms, one may then determine the costs of each step. First, one determines the cost for feature engineering (feat). The second step is the search step i.e. candidate alignments selection (sele). For each of the selected candidate alignments (comp) we need to compute k different similarity functions sim k and aggregate them (agg). The number of entities involved and the complexity of the respective similarity measure affect the run-time performance. Subsequently the interpretation of the similarity values with respect to alignment requires a run-time complexity of inter. Finally we have to iterate over the previous steps multiple times (iter). Then, the worst case run-time complexity is defined for all approaches by: c = (feat + sele + comp ( k sim k + agg) + inter) iter 3 In this paper we assume that the retrieval of a statement of an ontology entity from a database can be done in constant access time, independent of the ontology size, e.g. based on sufficient memory and a hash function. 20

21 Depending on the concrete values that show up in the individual process steps the different run-time complexities may be derived. For NOM we derive the complexity as follows. Feature Engineering is done only once in the beginning O(f eat) = O(1). Setting up the complete candidate pairs results in a complexity of O(sele) = O(n 2 ), where n is the size of the ontologies. All the identified candidate pairs O(comp) = O(n 2 ) will then have to be compared using features and their similarities. For this we tie the complexity of the ontology feature with the corresponding similarity measure, e.g., to compare the subconcepts of two concepts we have to retrieve two subtrees (O(log(n)) and use the Set Similarity (O(setSize 2 )), which makes O( k sim k) = O(log 2 (n)). For each entity pair an aggregation operation is performed once with O(agg) = O(1). The interpretation is also done only once O(inter) = O(1). And finally with the number of iterations fixed this results in O(iter) = O(1). The worst case run-time behaviors of PROMPT, Anchor-PROMPT, GLUE, NOM, and QOM are given in the Table 6. Table 6: Complexity of Alignment Approaches Label/PROMPT O(n 2 1) Anchor-PROMPT O(n 2 log 2 (n)) GLUE 4 O(n 2 ) NOM O(n 2 log 2 (n)) QOM O(n log(n)) 4.5 Active Ontology Alignment Existing alignment approaches first identify the alignment fully automatically and then leave it up to the user to decide afterwards which ones are correct and may therefore be used in the respective application. Unfortunately it is extremely difficult to create a reasonable fully-automatic approach and even for the best approaches the results are often not satisfying. We therefore want to draw attention to a problem which hasn t been addressed in depth yet: the proper usage of human interaction for aligning ontologies. We aim to exploit the potential of user input already during runtime of an automatic alignment process. In our approach we want to include user input in the general process during runtime. Two core questions arise: 1. At which point of the ontology alignment process is user interaction reasonable? 2. What is the user to be asked to maximally increase the quality of the alignment results? 3. How should the input affect the process parameters, i.e., should they be adjusted? 4 This result is based on optimistic assumptions about the learner. 21

22 The second question is closely related to active learning approaches in machine learning [?]. The two ontologies represent the input and the correct alignments are the learning goal. Through exemplary alignments a background classifier is incrementally trained. The active learner focuses on processing those examples first which have the highest information value for building the classifier. We assume that optimization steps that can be done in beforehand have already been performed. 1. Feature Engineering: Active Ontology Alignment exploits RDF/OWL features. 2. Search Step Selection: The selection of data for the comparison process is kept simple. All entities of the first ontology are compared with all entities of the second ontology. Any pair is treated as a candidate alignment. 3. Similarity Computation: The best strategy for the similarity computation can be determined in beforehand. We will therefore simply keep the methods from the NOM approach as depicted in Table Similarity Aggregation: Again we use a sigmoid function with manually assigned weights in this step. 5. Interpretation: The only element dynamically changing throughout the alignment process are the automatically identified alignments themselves. We therefore want to include the user in the interpretation step during runtime. From all the calculated similarities we have received an aggregated similarity value. This value expresses the confidence that the two compared entities are the same, i.e., they can be aligned. A general threshold is set and all similarity values above the threshold automatically lead to an alignment, all below lead to a non-alignment. In this approach we further involve the user in the decision of whether an entity pair can be aligned or not. For scalability reasons it is not possible to present all the found (non-)alignments to the user for validation. However, the threshold represents a critical value, where the automatic classification has the highest doubt. Our hypothesis is that removing this uncertainty brings the biggest gains. Only alignments with this similarity value are presented to the user for validation. Further, similarities are heavily dependent on the graph structure of the ontology (see [?]): e.g., if all instances of two concepts are aligned, the concepts are most probably also to be aligned. The explicit alignment of a highly interlinked entity affects more other entities than a lowly interlinked entity. Highly interlinked entities are therefore given priority in comparison to lowly linked ones. The third question was whether to adjust the process parameters reacting to the input. This is done through changing the threshold. If the majority of answers have been positive, the threshold is set too high. For the following rounds, it is decreased according to the actual ratio of positive and negative answers. The opposite applies, if negative answers exceed their positive counterparts. The threshold is too low and 22

QOM - Quick Ontology Mapping

QOM - Quick Ontology Mapping QOM - Quick Ontology Mapping Marc Ehrig and Steffen Staab Institute AIFB, University of Karlsruhe Abstract. (Semi-)automatic mapping also called (semi-)automatic alignment of ontologies is a core task

More information

Semantic Web. Ontology Alignment. Morteza Amini. Sharif University of Technology Fall 94-95

Semantic Web. Ontology Alignment. Morteza Amini. Sharif University of Technology Fall 94-95 ه عا ی Semantic Web Ontology Alignment Morteza Amini Sharif University of Technology Fall 94-95 Outline The Problem of Ontologies Ontology Heterogeneity Ontology Alignment Overall Process Similarity Methods

More information

Semantic Web. Ontology Alignment. Morteza Amini. Sharif University of Technology Fall 95-96

Semantic Web. Ontology Alignment. Morteza Amini. Sharif University of Technology Fall 95-96 ه عا ی Semantic Web Ontology Alignment Morteza Amini Sharif University of Technology Fall 95-96 Outline The Problem of Ontologies Ontology Heterogeneity Ontology Alignment Overall Process Similarity (Matching)

More information

FOAM Framework for Ontology Alignment and Mapping Results of the Ontology Alignment Evaluation Initiative

FOAM Framework for Ontology Alignment and Mapping Results of the Ontology Alignment Evaluation Initiative FOAM Framework for Ontology Alignment and Mapping Results of the Ontology Alignment Evaluation Initiative Marc Ehrig Institute AIFB University of Karlsruhe 76128 Karlsruhe, Germany ehrig@aifb.uni-karlsruhe.de

More information

Bootstrapping Ontology Alignment Methods with APFEL

Bootstrapping Ontology Alignment Methods with APFEL Bootstrapping Ontology Alignment Methods with APFEL Marc Ehrig 1 and Steffen Staab 2 and York Sure 1 1 Institute AIFB, University of Karlsruhe 2 ISWeb, University of Koblenz-Landau Abstract. Ontology alignment

More information

An Architecture for Semantic Enterprise Application Integration Standards

An Architecture for Semantic Enterprise Application Integration Standards An Architecture for Semantic Enterprise Application Integration Standards Nenad Anicic 1, 2, Nenad Ivezic 1, Albert Jones 1 1 National Institute of Standards and Technology, 100 Bureau Drive Gaithersburg,

More information

Ontology Mapping An Integrated Approach

Ontology Mapping An Integrated Approach Institut für Angewandte Informatik AIFB und Formale Beschreibungsverfahren Universität Karlsruhe (TH) Ontology Mapping An Integrated Approach von Marc Ehrig, York Sure Bericht 427 April 2004 Forschungsberichte

More information

3 No-Wait Job Shops with Variable Processing Times

3 No-Wait Job Shops with Variable Processing Times 3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select

More information

Distributed minimum spanning tree problem

Distributed minimum spanning tree problem Distributed minimum spanning tree problem Juho-Kustaa Kangas 24th November 2012 Abstract Given a connected weighted undirected graph, the minimum spanning tree problem asks for a spanning subtree with

More information

Category Theory in Ontology Research: Concrete Gain from an Abstract Approach

Category Theory in Ontology Research: Concrete Gain from an Abstract Approach Category Theory in Ontology Research: Concrete Gain from an Abstract Approach Markus Krötzsch Pascal Hitzler Marc Ehrig York Sure Institute AIFB, University of Karlsruhe, Germany; {mak,hitzler,ehrig,sure}@aifb.uni-karlsruhe.de

More information

Joint Entity Resolution

Joint Entity Resolution Joint Entity Resolution Steven Euijong Whang, Hector Garcia-Molina Computer Science Department, Stanford University 353 Serra Mall, Stanford, CA 94305, USA {swhang, hector}@cs.stanford.edu No Institute

More information

Chapter 2 Overview of the Design Methodology

Chapter 2 Overview of the Design Methodology Chapter 2 Overview of the Design Methodology This chapter presents an overview of the design methodology which is developed in this thesis, by identifying global abstraction levels at which a distributed

More information

Ontology Mapping An Integrated Approach

Ontology Mapping An Integrated Approach Ontology Mapping An Integrated Approach Marc Ehrig and York Sure Institute AIFB, University of Karlsruhe {ehrig,sure}@aifb.uni-karlsruhe.de Abstract. Ontology mapping is important when working with more

More information

PatternRank: A Software-Pattern Search System Based on Mutual Reference Importance

PatternRank: A Software-Pattern Search System Based on Mutual Reference Importance PatternRank: A Software-Pattern Search System Based on Mutual Reference Importance Atsuto Kubo, Hiroyuki Nakayama, Hironori Washizaki, Yoshiaki Fukazawa Waseda University Department of Computer Science

More information

Incompatibility Dimensions and Integration of Atomic Commit Protocols

Incompatibility Dimensions and Integration of Atomic Commit Protocols The International Arab Journal of Information Technology, Vol. 5, No. 4, October 2008 381 Incompatibility Dimensions and Integration of Atomic Commit Protocols Yousef Al-Houmaily Department of Computer

More information

Abstract Path Planning for Multiple Robots: An Empirical Study

Abstract Path Planning for Multiple Robots: An Empirical Study Abstract Path Planning for Multiple Robots: An Empirical Study Charles University in Prague Faculty of Mathematics and Physics Department of Theoretical Computer Science and Mathematical Logic Malostranské

More information

The Encoding Complexity of Network Coding

The Encoding Complexity of Network Coding The Encoding Complexity of Network Coding Michael Langberg Alexander Sprintson Jehoshua Bruck California Institute of Technology Email: mikel,spalex,bruck @caltech.edu Abstract In the multicast network

More information

Dr. Amotz Bar-Noy s Compendium of Algorithms Problems. Problems, Hints, and Solutions

Dr. Amotz Bar-Noy s Compendium of Algorithms Problems. Problems, Hints, and Solutions Dr. Amotz Bar-Noy s Compendium of Algorithms Problems Problems, Hints, and Solutions Chapter 1 Searching and Sorting Problems 1 1.1 Array with One Missing 1.1.1 Problem Let A = A[1],..., A[n] be an array

More information

Chapter S:II. II. Search Space Representation

Chapter S:II. II. Search Space Representation Chapter S:II II. Search Space Representation Systematic Search Encoding of Problems State-Space Representation Problem-Reduction Representation Choosing a Representation S:II-1 Search Space Representation

More information

Trees. 3. (Minimally Connected) G is connected and deleting any of its edges gives rise to a disconnected graph.

Trees. 3. (Minimally Connected) G is connected and deleting any of its edges gives rise to a disconnected graph. Trees 1 Introduction Trees are very special kind of (undirected) graphs. Formally speaking, a tree is a connected graph that is acyclic. 1 This definition has some drawbacks: given a graph it is not trivial

More information

1.1 Jadex - Engineering Goal-Oriented Agents

1.1 Jadex - Engineering Goal-Oriented Agents 1.1 Jadex - Engineering Goal-Oriented Agents In previous sections of the book agents have been considered as software artifacts that differ from objects mainly in their capability to autonomously execute

More information

Towards Rule Learning Approaches to Instance-based Ontology Matching

Towards Rule Learning Approaches to Instance-based Ontology Matching Towards Rule Learning Approaches to Instance-based Ontology Matching Frederik Janssen 1, Faraz Fallahi 2 Jan Noessner 3, and Heiko Paulheim 1 1 Knowledge Engineering Group, TU Darmstadt, Hochschulstrasse

More information

A Session-based Ontology Alignment Approach for Aligning Large Ontologies

A Session-based Ontology Alignment Approach for Aligning Large Ontologies Undefined 1 (2009) 1 5 1 IOS Press A Session-based Ontology Alignment Approach for Aligning Large Ontologies Editor(s): Name Surname, University, Country Solicited review(s): Name Surname, University,

More information

Ontology Matching with CIDER: Evaluation Report for the OAEI 2008

Ontology Matching with CIDER: Evaluation Report for the OAEI 2008 Ontology Matching with CIDER: Evaluation Report for the OAEI 2008 Jorge Gracia, Eduardo Mena IIS Department, University of Zaragoza, Spain {jogracia,emena}@unizar.es Abstract. Ontology matching, the task

More information

Incompatibility Dimensions and Integration of Atomic Commit Protocols

Incompatibility Dimensions and Integration of Atomic Commit Protocols Preprint Incompatibility Dimensions and Integration of Atomic Protocols, Yousef J. Al-Houmaily, International Arab Journal of Information Technology, Vol. 5, No. 4, pp. 381-392, October 2008. Incompatibility

More information

Some doubts about the objectivity of logical determination of the uniqueness of the elementary process in the Function Point Analysis

Some doubts about the objectivity of logical determination of the uniqueness of the elementary process in the Function Point Analysis Some doubts about the objectivity of logical determination of the uniqueness of the elementary process in the Function Point Analysis Table of Contents Marian Zalcman, Ph.D. ASSECO Poland, Rzeszów 1. Introduction

More information

3 Classifications of ontology matching techniques

3 Classifications of ontology matching techniques 3 Classifications of ontology matching techniques Having defined what the matching problem is, we attempt at classifying the techniques that can be used for solving this problem. The major contributions

More information

RiMOM Results for OAEI 2009

RiMOM Results for OAEI 2009 RiMOM Results for OAEI 2009 Xiao Zhang, Qian Zhong, Feng Shi, Juanzi Li and Jie Tang Department of Computer Science and Technology, Tsinghua University, Beijing, China zhangxiao,zhongqian,shifeng,ljz,tangjie@keg.cs.tsinghua.edu.cn

More information

TELCOM2125: Network Science and Analysis

TELCOM2125: Network Science and Analysis School of Information Sciences University of Pittsburgh TELCOM2125: Network Science and Analysis Konstantinos Pelechrinis Spring 2015 2 Part 4: Dividing Networks into Clusters The problem l Graph partitioning

More information

Conceptual document indexing using a large scale semantic dictionary providing a concept hierarchy

Conceptual document indexing using a large scale semantic dictionary providing a concept hierarchy Conceptual document indexing using a large scale semantic dictionary providing a concept hierarchy Martin Rajman, Pierre Andrews, María del Mar Pérez Almenta, and Florian Seydoux Artificial Intelligence

More information

9.4 SOME CHARACTERISTICS OF INTEGER PROGRAMS A SAMPLE PROBLEM

9.4 SOME CHARACTERISTICS OF INTEGER PROGRAMS A SAMPLE PROBLEM 9.4 SOME CHARACTERISTICS OF INTEGER PROGRAMS A SAMPLE PROBLEM Whereas the simplex method is effective for solving linear programs, there is no single technique for solving integer programs. Instead, a

More information

6 Distributed data management I Hashing

6 Distributed data management I Hashing 6 Distributed data management I Hashing There are two major approaches for the management of data in distributed systems: hashing and caching. The hashing approach tries to minimize the use of communication

More information

CHAPTER VII INDEXED K TWIN NEIGHBOUR CLUSTERING ALGORITHM 7.1 INTRODUCTION

CHAPTER VII INDEXED K TWIN NEIGHBOUR CLUSTERING ALGORITHM 7.1 INTRODUCTION CHAPTER VII INDEXED K TWIN NEIGHBOUR CLUSTERING ALGORITHM 7.1 INTRODUCTION Cluster analysis or clustering is the task of grouping a set of objects in such a way that objects in the same group (called cluster)

More information

Core Membership Computation for Succinct Representations of Coalitional Games

Core Membership Computation for Succinct Representations of Coalitional Games Core Membership Computation for Succinct Representations of Coalitional Games Xi Alice Gao May 11, 2009 Abstract In this paper, I compare and contrast two formal results on the computational complexity

More information

Variability Implementation Techniques for Platforms and Services (Interim)

Variability Implementation Techniques for Platforms and Services (Interim) Engineering Virtual Domain-Specific Service Platforms Specific Targeted Research Project: FP7-ICT-2009-5 / 257483 Variability Implementation Techniques for Platforms and Services (Interim) Abstract Creating

More information

Design Pattern What is a Design Pattern? Design Pattern Elements. Almas Ansari Page 1

Design Pattern What is a Design Pattern? Design Pattern Elements. Almas Ansari Page 1 What is a Design Pattern? Each pattern Describes a problem which occurs over and over again in our environment,and then describes the core of the problem Novelists, playwrights and other writers rarely

More information

4 INFORMED SEARCH AND EXPLORATION. 4.1 Heuristic Search Strategies

4 INFORMED SEARCH AND EXPLORATION. 4.1 Heuristic Search Strategies 55 4 INFORMED SEARCH AND EXPLORATION We now consider informed search that uses problem-specific knowledge beyond the definition of the problem itself This information helps to find solutions more efficiently

More information

A Framework for Securing Databases from Intrusion Threats

A Framework for Securing Databases from Intrusion Threats A Framework for Securing Databases from Intrusion Threats R. Prince Jeyaseelan James Department of Computer Applications, Valliammai Engineering College Affiliated to Anna University, Chennai, India Email:

More information

Directed Model Checking for PROMELA with Relaxation-Based Distance Functions

Directed Model Checking for PROMELA with Relaxation-Based Distance Functions Directed Model Checking for PROMELA with Relaxation-Based Distance Functions Ahmad Siyar Andisha and Martin Wehrle 2 and Bernd Westphal Albert-Ludwigs-Universität Freiburg, Germany {andishaa,westphal}@informatik.uni-freiburg.de

More information

automatic digitization. In the context of ever increasing population worldwide and thereby

automatic digitization. In the context of ever increasing population worldwide and thereby Chapter 1 Introduction In the recent time, many researchers had thrust upon developing various improvised methods of automatic digitization. In the context of ever increasing population worldwide and thereby

More information

On the Max Coloring Problem

On the Max Coloring Problem On the Max Coloring Problem Leah Epstein Asaf Levin May 22, 2010 Abstract We consider max coloring on hereditary graph classes. The problem is defined as follows. Given a graph G = (V, E) and positive

More information

HEURISTIC OPTIMIZATION USING COMPUTER SIMULATION: A STUDY OF STAFFING LEVELS IN A PHARMACEUTICAL MANUFACTURING LABORATORY

HEURISTIC OPTIMIZATION USING COMPUTER SIMULATION: A STUDY OF STAFFING LEVELS IN A PHARMACEUTICAL MANUFACTURING LABORATORY Proceedings of the 1998 Winter Simulation Conference D.J. Medeiros, E.F. Watson, J.S. Carson and M.S. Manivannan, eds. HEURISTIC OPTIMIZATION USING COMPUTER SIMULATION: A STUDY OF STAFFING LEVELS IN A

More information

Improving Suffix Tree Clustering Algorithm for Web Documents

Improving Suffix Tree Clustering Algorithm for Web Documents International Conference on Logistics Engineering, Management and Computer Science (LEMCS 2015) Improving Suffix Tree Clustering Algorithm for Web Documents Yan Zhuang Computer Center East China Normal

More information

Reduction of Periodic Broadcast Resource Requirements with Proxy Caching

Reduction of Periodic Broadcast Resource Requirements with Proxy Caching Reduction of Periodic Broadcast Resource Requirements with Proxy Caching Ewa Kusmierek and David H.C. Du Digital Technology Center and Department of Computer Science and Engineering University of Minnesota

More information

Structural and Syntactic Pattern Recognition

Structural and Syntactic Pattern Recognition Structural and Syntactic Pattern Recognition Selim Aksoy Department of Computer Engineering Bilkent University saksoy@cs.bilkent.edu.tr CS 551, Fall 2017 CS 551, Fall 2017 c 2017, Selim Aksoy (Bilkent

More information

Debugging the missing is-a structure within taxonomies networked by partial reference alignments

Debugging the missing is-a structure within taxonomies networked by partial reference alignments Debugging the missing is-a structure within taxonomies networked by partial reference alignments Patrick Lambrix and Qiang Liu Linköping University Post Print N.B.: When citing this work, cite the original

More information

One-Point Geometric Crossover

One-Point Geometric Crossover One-Point Geometric Crossover Alberto Moraglio School of Computing and Center for Reasoning, University of Kent, Canterbury, UK A.Moraglio@kent.ac.uk Abstract. Uniform crossover for binary strings has

More information

Authors: Andrei Kapustin, Vadim Chirikov, Marina Farr Cybernetic Intelligence GmbH, Zug, Switzerland Requirement analysis: Methodology

Authors: Andrei Kapustin, Vadim Chirikov, Marina Farr Cybernetic Intelligence GmbH, Zug, Switzerland Requirement analysis: Methodology Authors: Andrei Kapustin, Vadim Chirikov, Marina Farr Cybernetic Intelligence GmbH, Zug, Switzerland Requirement analysis: Methodology P-RAM-2002-10-1-0 September 10, 2002 Contents CONTENTS...2 1 OVERVIEW...4

More information

New Approach to Graph Databases

New Approach to Graph Databases Paper PP05 New Approach to Graph Databases Anna Berg, Capish, Malmö, Sweden Henrik Drews, Capish, Malmö, Sweden Catharina Dahlbo, Capish, Malmö, Sweden ABSTRACT Graph databases have, during the past few

More information

UML-Based Conceptual Modeling of Pattern-Bases

UML-Based Conceptual Modeling of Pattern-Bases UML-Based Conceptual Modeling of Pattern-Bases Stefano Rizzi DEIS - University of Bologna Viale Risorgimento, 2 40136 Bologna - Italy srizzi@deis.unibo.it Abstract. The concept of pattern, meant as an

More information

5. Computational Geometry, Benchmarks and Algorithms for Rectangular and Irregular Packing. 6. Meta-heuristic Algorithms and Rectangular Packing

5. Computational Geometry, Benchmarks and Algorithms for Rectangular and Irregular Packing. 6. Meta-heuristic Algorithms and Rectangular Packing 1. Introduction 2. Cutting and Packing Problems 3. Optimisation Techniques 4. Automated Packing Techniques 5. Computational Geometry, Benchmarks and Algorithms for Rectangular and Irregular Packing 6.

More information

is easing the creation of new ontologies by promoting the reuse of existing ones and automating, as much as possible, the entire ontology

is easing the creation of new ontologies by promoting the reuse of existing ones and automating, as much as possible, the entire ontology Preface The idea of improving software quality through reuse is not new. After all, if software works and is needed, just reuse it. What is new and evolving is the idea of relative validation through testing

More information

Data Analysis and Solver Plugins for KSpread USER S MANUAL. Tomasz Maliszewski

Data Analysis and Solver Plugins for KSpread USER S MANUAL. Tomasz Maliszewski Data Analysis and Solver Plugins for KSpread USER S MANUAL Tomasz Maliszewski tmaliszewski@wp.pl Table of Content CHAPTER 1: INTRODUCTION... 3 1.1. ABOUT DATA ANALYSIS PLUGIN... 3 1.3. ABOUT SOLVER PLUGIN...

More information

Domain Mapping for Product-line Requirements

Domain Mapping for Product-line Requirements Computer Science Technical Reports Computer Science 2004 Domain Mapping for Product-line Requirements Kendra Schmid Iowa State University Follow this and additional works at: http://lib.dr.iastate.edu/cs_techreports

More information

Information Integration of Partially Labeled Data

Information Integration of Partially Labeled Data Information Integration of Partially Labeled Data Steffen Rendle and Lars Schmidt-Thieme Information Systems and Machine Learning Lab, University of Hildesheim srendle@ismll.uni-hildesheim.de, schmidt-thieme@ismll.uni-hildesheim.de

More information

Chapter 8 DERIVING DESIGN ALTERNATIVES BASED ON QUALITY FACTORS 1. INTRODUCTION

Chapter 8 DERIVING DESIGN ALTERNATIVES BASED ON QUALITY FACTORS 1. INTRODUCTION Chapter 8 DERIVING DESIGN ALTERNATIVES BASED ON QUALITY FACTORS Mehmet Ak!it and Bedir Tekinerdo"an TRESE Group, Department of Computer Science, University of Twente, postbox 2!7, 7500 AE, Enschede, The

More information

Scribe: Virginia Williams, Sam Kim (2016), Mary Wootters (2017) Date: May 22, 2017

Scribe: Virginia Williams, Sam Kim (2016), Mary Wootters (2017) Date: May 22, 2017 CS6 Lecture 4 Greedy Algorithms Scribe: Virginia Williams, Sam Kim (26), Mary Wootters (27) Date: May 22, 27 Greedy Algorithms Suppose we want to solve a problem, and we re able to come up with some recursive

More information

3.4 Data-Centric workflow

3.4 Data-Centric workflow 3.4 Data-Centric workflow One of the most important activities in a S-DWH environment is represented by data integration of different and heterogeneous sources. The process of extract, transform, and load

More information

Unit 6 Chapter 15 EXAMPLES OF COMPLEXITY CALCULATION

Unit 6 Chapter 15 EXAMPLES OF COMPLEXITY CALCULATION DESIGN AND ANALYSIS OF ALGORITHMS Unit 6 Chapter 15 EXAMPLES OF COMPLEXITY CALCULATION http://milanvachhani.blogspot.in EXAMPLES FROM THE SORTING WORLD Sorting provides a good set of examples for analyzing

More information

COMP3121/3821/9101/ s1 Assignment 1

COMP3121/3821/9101/ s1 Assignment 1 Sample solutions to assignment 1 1. (a) Describe an O(n log n) algorithm (in the sense of the worst case performance) that, given an array S of n integers and another integer x, determines whether or not

More information

Polynomial-Time Approximation Algorithms

Polynomial-Time Approximation Algorithms 6.854 Advanced Algorithms Lecture 20: 10/27/2006 Lecturer: David Karger Scribes: Matt Doherty, John Nham, Sergiy Sidenko, David Schultz Polynomial-Time Approximation Algorithms NP-hard problems are a vast

More information

VOID FILL ACCURACY MEASUREMENT AND PREDICTION USING LINEAR REGRESSION VOID FILLING METHOD

VOID FILL ACCURACY MEASUREMENT AND PREDICTION USING LINEAR REGRESSION VOID FILLING METHOD VOID FILL ACCURACY MEASUREMENT AND PREDICTION USING LINEAR REGRESSION J. Harlan Yates, Mark Rahmes, Patrick Kelley, Jay Hackett Harris Corporation Government Communications Systems Division Melbourne,

More information

On Constraint Problems with Incomplete or Erroneous Data

On Constraint Problems with Incomplete or Erroneous Data On Constraint Problems with Incomplete or Erroneous Data Neil Yorke-Smith and Carmen Gervet IC Parc, Imperial College, London, SW7 2AZ, U.K. nys,cg6 @icparc.ic.ac.uk Abstract. Real-world constraint problems

More information

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Greedy Algorithms (continued) The best known application where the greedy algorithm is optimal is surely

More information

Data Mining and Data Warehousing Classification-Lazy Learners

Data Mining and Data Warehousing Classification-Lazy Learners Motivation Data Mining and Data Warehousing Classification-Lazy Learners Lazy Learners are the most intuitive type of learners and are used in many practical scenarios. The reason of their popularity is

More information

The Cross-Entropy Method

The Cross-Entropy Method The Cross-Entropy Method Guy Weichenberg 7 September 2003 Introduction This report is a summary of the theory underlying the Cross-Entropy (CE) method, as discussed in the tutorial by de Boer, Kroese,

More information

Web Semantic Annotation Using Data-Extraction Ontologies

Web Semantic Annotation Using Data-Extraction Ontologies Web Semantic Annotation Using Data-Extraction Ontologies A Dissertation Proposal Presented to the Department of Computer Science Brigham Young University In Partial Fulfillment of the Requirements for

More information

Annotation Science From Theory to Practice and Use Introduction A bit of history

Annotation Science From Theory to Practice and Use Introduction A bit of history Annotation Science From Theory to Practice and Use Nancy Ide Department of Computer Science Vassar College Poughkeepsie, New York 12604 USA ide@cs.vassar.edu Introduction Linguistically-annotated corpora

More information

Integrating Probabilistic Reasoning with Constraint Satisfaction

Integrating Probabilistic Reasoning with Constraint Satisfaction Integrating Probabilistic Reasoning with Constraint Satisfaction IJCAI Tutorial #7 Instructor: Eric I. Hsu July 17, 2011 http://www.cs.toronto.edu/~eihsu/tutorial7 Getting Started Discursive Remarks. Organizational

More information

MERGING BUSINESS VOCABULARIES AND RULES

MERGING BUSINESS VOCABULARIES AND RULES MERGING BUSINESS VOCABULARIES AND RULES Edvinas Sinkevicius Departament of Information Systems Centre of Information System Design Technologies, Kaunas University of Lina Nemuraite Departament of Information

More information

Statistics Case Study 2000 M. J. Clancy and M. C. Linn

Statistics Case Study 2000 M. J. Clancy and M. C. Linn Statistics Case Study 2000 M. J. Clancy and M. C. Linn Problem Write and test functions to compute the following statistics for a nonempty list of numeric values: The mean, or average value, is computed

More information

Excerpt from "Art of Problem Solving Volume 1: the Basics" 2014 AoPS Inc.

Excerpt from Art of Problem Solving Volume 1: the Basics 2014 AoPS Inc. Chapter 5 Using the Integers In spite of their being a rather restricted class of numbers, the integers have a lot of interesting properties and uses. Math which involves the properties of integers is

More information

XI International PhD Workshop OWD 2009, October Fuzzy Sets as Metasets

XI International PhD Workshop OWD 2009, October Fuzzy Sets as Metasets XI International PhD Workshop OWD 2009, 17 20 October 2009 Fuzzy Sets as Metasets Bartłomiej Starosta, Polsko-Japońska WyŜsza Szkoła Technik Komputerowych (24.01.2008, prof. Witold Kosiński, Polsko-Japońska

More information

The Structure of Bull-Free Perfect Graphs

The Structure of Bull-Free Perfect Graphs The Structure of Bull-Free Perfect Graphs Maria Chudnovsky and Irena Penev Columbia University, New York, NY 10027 USA May 18, 2012 Abstract The bull is a graph consisting of a triangle and two vertex-disjoint

More information

Slant Correction using Histograms

Slant Correction using Histograms Slant Correction using Histograms Frank de Zeeuw Bachelor s Thesis in Artificial Intelligence Supervised by Axel Brink & Tijn van der Zant July 12, 2006 Abstract Slant is one of the characteristics that

More information

Software Architectures

Software Architectures Software Architectures Richard N. Taylor Information and Computer Science University of California, Irvine Irvine, California 92697-3425 taylor@ics.uci.edu http://www.ics.uci.edu/~taylor +1-949-824-6429

More information

Lecture Notes on Quicksort

Lecture Notes on Quicksort Lecture Notes on Quicksort 15-122: Principles of Imperative Computation Frank Pfenning Lecture 8 September 20, 2012 1 Introduction In this lecture we first sketch two related algorithms for sorting that

More information

The Results of Falcon-AO in the OAEI 2006 Campaign

The Results of Falcon-AO in the OAEI 2006 Campaign The Results of Falcon-AO in the OAEI 2006 Campaign Wei Hu, Gong Cheng, Dongdong Zheng, Xinyu Zhong, and Yuzhong Qu School of Computer Science and Engineering, Southeast University, Nanjing 210096, P. R.

More information

Hybrid OWL-S Service Retrieval with OWLS-MX: Benefits and Pitfalls

Hybrid OWL-S Service Retrieval with OWLS-MX: Benefits and Pitfalls 47 Hybrid OWL-S Service Retrieval with OWLS-MX: Benefits and Pitfalls Matthias Klusch and Benedikt Fries German Research Center for Artificial Intelligence Stuhlsatzenhausweg 3, 66121 Saarbruecken, Germany

More information

Deep Integration of Scripting Languages and Semantic Web Technologies

Deep Integration of Scripting Languages and Semantic Web Technologies Deep Integration of Scripting Languages and Semantic Web Technologies Denny Vrandečić Institute AIFB, University of Karlsruhe, Germany denny@aifb.uni-karlsruhe.de Abstract. Python reached out to a wide

More information

Chapter 2: Number Systems

Chapter 2: Number Systems Chapter 2: Number Systems Logic circuits are used to generate and transmit 1s and 0s to compute and convey information. This two-valued number system is called binary. As presented earlier, there are many

More information

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Sorting lower bound and Linear-time sorting Date: 9/19/17

/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Sorting lower bound and Linear-time sorting Date: 9/19/17 601.433/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Sorting lower bound and Linear-time sorting Date: 9/19/17 5.1 Introduction You should all know a few ways of sorting in O(n log n)

More information

1 The range query problem

1 The range query problem CS268: Geometric Algorithms Handout #12 Design and Analysis Original Handout #12 Stanford University Thursday, 19 May 1994 Original Lecture #12: Thursday, May 19, 1994 Topics: Range Searching with Partition

More information

SUMMARY: MODEL DRIVEN SECURITY

SUMMARY: MODEL DRIVEN SECURITY SUMMARY: MODEL DRIVEN SECURITY JAN-FILIP ZAGALAK, JZAGALAK@STUDENT.ETHZ.CH Model Driven Security: From UML Models to Access Control Infrastructres David Basin, Juergen Doser, ETH Zuerich Torsten lodderstedt,

More information

Clustering Using Graph Connectivity

Clustering Using Graph Connectivity Clustering Using Graph Connectivity Patrick Williams June 3, 010 1 Introduction It is often desirable to group elements of a set into disjoint subsets, based on the similarity between the elements in the

More information

Framework for replica selection in fault-tolerant distributed systems

Framework for replica selection in fault-tolerant distributed systems Framework for replica selection in fault-tolerant distributed systems Daniel Popescu Computer Science Department University of Southern California Los Angeles, CA 90089-0781 {dpopescu}@usc.edu Abstract.

More information

Intelligent flexible query answering Using Fuzzy Ontologies

Intelligent flexible query answering Using Fuzzy Ontologies International Conference on Control, Engineering & Information Technology (CEIT 14) Proceedings - Copyright IPCO-2014, pp. 262-277 ISSN 2356-5608 Intelligent flexible query answering Using Fuzzy Ontologies

More information

Character Recognition

Character Recognition Character Recognition 5.1 INTRODUCTION Recognition is one of the important steps in image processing. There are different methods such as Histogram method, Hough transformation, Neural computing approaches

More information

ISO compliant verification of functional requirements in the model-based software development process

ISO compliant verification of functional requirements in the model-based software development process requirements in the model-based software development process Hans J. Holberg SVP Marketing & Sales, BTC Embedded Systems AG An der Schmiede 4, 26135 Oldenburg, Germany hans.j.holberg@btc-es.de Dr. Udo

More information

Human Error Taxonomy

Human Error Taxonomy Human Error Taxonomy The Human Error Taxonomy (HET) provides a structure for requirement errors made during the software development process. The HET can be employed during software inspection to help

More information

Ranking Clustered Data with Pairwise Comparisons

Ranking Clustered Data with Pairwise Comparisons Ranking Clustered Data with Pairwise Comparisons Alisa Maas ajmaas@cs.wisc.edu 1. INTRODUCTION 1.1 Background Machine learning often relies heavily on being able to rank the relative fitness of instances

More information

Motivating Ontology-Driven Information Extraction

Motivating Ontology-Driven Information Extraction Motivating Ontology-Driven Information Extraction Burcu Yildiz 1 and Silvia Miksch 1, 2 1 Institute for Software Engineering and Interactive Systems, Vienna University of Technology, Vienna, Austria {yildiz,silvia}@

More information

3 SOLVING PROBLEMS BY SEARCHING

3 SOLVING PROBLEMS BY SEARCHING 48 3 SOLVING PROBLEMS BY SEARCHING A goal-based agent aims at solving problems by performing actions that lead to desirable states Let us first consider the uninformed situation in which the agent is not

More information

Semantic Web. Ontology Engineering and Evaluation. Morteza Amini. Sharif University of Technology Fall 93-94

Semantic Web. Ontology Engineering and Evaluation. Morteza Amini. Sharif University of Technology Fall 93-94 ه عا ی Semantic Web Ontology Engineering and Evaluation Morteza Amini Sharif University of Technology Fall 93-94 Outline Ontology Engineering Class and Class Hierarchy Ontology Evaluation 2 Outline Ontology

More information

DESIGN AND ANALYSIS OF ALGORITHMS. Unit 1 Chapter 4 ITERATIVE ALGORITHM DESIGN ISSUES

DESIGN AND ANALYSIS OF ALGORITHMS. Unit 1 Chapter 4 ITERATIVE ALGORITHM DESIGN ISSUES DESIGN AND ANALYSIS OF ALGORITHMS Unit 1 Chapter 4 ITERATIVE ALGORITHM DESIGN ISSUES http://milanvachhani.blogspot.in USE OF LOOPS As we break down algorithm into sub-algorithms, sooner or later we shall

More information

Theory of 3-4 Heap. Examining Committee Prof. Tadao Takaoka Supervisor

Theory of 3-4 Heap. Examining Committee Prof. Tadao Takaoka Supervisor Theory of 3-4 Heap A thesis submitted in partial fulfilment of the requirements for the Degree of Master of Science in the University of Canterbury by Tobias Bethlehem Examining Committee Prof. Tadao Takaoka

More information

V4 Matrix algorithms and graph partitioning

V4 Matrix algorithms and graph partitioning V4 Matrix algorithms and graph partitioning - Community detection - Simple modularity maximization - Spectral modularity maximization - Division into more than two groups - Other algorithms for community

More information

Cover Page. The handle holds various files of this Leiden University dissertation.

Cover Page. The handle   holds various files of this Leiden University dissertation. Cover Page The handle http://hdl.handle.net/1887/22055 holds various files of this Leiden University dissertation. Author: Koch, Patrick Title: Efficient tuning in supervised machine learning Issue Date:

More information

OWL-CM : OWL Combining Matcher based on Belief Functions Theory

OWL-CM : OWL Combining Matcher based on Belief Functions Theory OWL-CM : OWL Combining Matcher based on Belief Functions Theory Boutheina Ben Yaghlane 1 and Najoua Laamari 2 1 LARODEC, Université de Tunis, IHEC Carthage Présidence 2016 Tunisia boutheina.yaghlane@ihec.rnu.tn

More information

Greedy Algorithms CHAPTER 16

Greedy Algorithms CHAPTER 16 CHAPTER 16 Greedy Algorithms In dynamic programming, the optimal solution is described in a recursive manner, and then is computed ``bottom up''. Dynamic programming is a powerful technique, but it often

More information