YAM Results for OAEI 2011
The YAM+ system is a self configuration, flexible and extensible ontology matching system. The key idea behind YAM+ system is based on machine learning and similarity flooding approaches. In this paper, we briefly present the YAM+ and its results on Benchmark and Conference tracks on OAEI 2011 campaign. 1 Presentation of the system Ontology matching is needed in many application domains, especially in the emergent semantic web field. It is considered as the most promising approach to solve the interoperability problems across heterogeneous data sources. Due to the various types of heterogeneity of ontologies, a matching system, generally, exploits many features of elements in ontology and combine several similarity metrics in order to improve its performance. However, finding a good combination is very difficult and time consuming even for experts. Therefore, we propose YAM+ a (not) Yet Another Matcher approach, which firstly uses a machine learning technique to combine similarity metrics. We then apply a similarity propagation algorithm [5] to discover more semantic mappings. The advantages of using machine learning and similarity flooding techniques will make our system flexible and extensible. 1.1 State, purpose, general statement The current implemented version YAM+ is an extension of our former schema matching system YAM [1] However, the YAM+ aims to work with ontology matching, which is semantically richer than XML schema, so new features were added in the extension version. The main components of the new system are depicted in Figure 1. The fully automated mapping process is performed as follows. Firstly, two to bematched ontologies are passed to the Parsing Processing module. We use OWLAPI 1 and Pellet 2 to load ontology files into our specified data structure which contains all elements with their annotation and relationships in ontology. Next, the loaded ontologies are passed into Element level matcher. The aim of this module is discovering as many as possible mappings and as high as possible the accuracy of these mappings by analyzing elements in isolation and ignoring their relations with others. This module consists of Supported by ANR DataRing ANR 08 VERSO 007 04. 1 http:/owlapi.sourceforge.net/ 2 http:/clarkparsia.com/pellet Fig. 1. YAM+ system architecture two sub modules: Terminological matcher and Extensional matcher. The Terminological matcher exploits annotation information of elements by various similarity metrics, and then combine them by a machine learning model. Whereas, the Extensional matcher exploits information from external data (instances) accompanying with ontologies. Mappings discovered from Element level matcher are passed into the Structurelevel matcher module in order to discover new mappings by analyzing the positions of elements on the hierarchy structure of ontologies. The main intuition of this part is that if two elements from two ontologies are similar, their neighbors (in the same relations) might also be somehow similar [2] In our current system, we have implemented a popular graph based technique Similarity Flooding in the Structure level matcher module. Finally, the results of Element level and Structure level matchers are combined and passed to the Constraint Selection module. Here, we define some semantic patterns to recognize and remove inconsistent mappings. Then, we apply assignment methods (Greedy and Hungarian algorithms) [4] to select the most appropriate mappings. Currently, our system works with 1:1 matching cardinality. 1.2 Specific techniques used In this section, we will briefly describe four main modules: Terminological matcher, Extensional matcher, Similarity Flooding and Constraint Selection. Terminological matcher In this module, we exploit various features of text information used to annotate elements in ontologies. The corresponding similarity metrics have been also implemented in order to calculate the similarity score between elements from two to be matched ontologies. The combination and the matching process in this module are illustrated in Figure 2. We treat the matching task as a binary classification problem. Each pair of elements from two input ontologies are considered as a machine learning object; its attributes are similarity scores calculated by a set of selected similarity metrics on these elements. Fig. 2. Terminological matcher In the learning phase, we use some gold standard datasets to generate training data. A gold standard is a pairs of ontologies with expert mappings between their elements provided by domain experts. In current version, the gold standard datasets are taken from Benchmark dataset published in OAEI 2009. According to our study [6] 3 we adopt J48 a decision tree [9] as the classification model in our system. In classifying phase, each pair of elements from two to be matched ontologies is predicted as matched or not according to its attributes. In order to extract attribute values for each pair of elements, we use various similarity metrics described in [6] They are divided into three main groups: (i) name metrics which compare entities by their URI names; (ii) label metrics which compare entities by their labels; and (iii) context metrics which compare entities by their descriptive and context information. Name and label metrics belong to Terminological category [2] Most of String based metrics (Levenstein, SmithWaterman, Jaro, JaroWinkler, MongeEklan,etc. are taken from open source libraries SecondString 4 and SimMetrics 5. We also have implemented popular metrics such as Prefix, Suffix, LCS [2] SubString Stoilos [8] In term of Language based metrics, we developed three well known metrics corresponding to Lin, JingConrath and WuPalmer algorithms [3] These metrics use Wordnet 6 as an auxiliary local thesaurus. Additionally, we proposed a hybrid approach to combine string based and language based metrics. The detail of algorithms can be found in our paper [7] Context metrics used in YAM+ belong to the both Structural and Extensional categories [2] The main idea behind these metrics is described as follows. We build three types of context profile (i.e. IndividualProfile, SemanticProfile and ExternalProfile) for each element. Whereas IndividualProfile describes annotation information of individual element, SemanticProfile and ExternalProfile describe the context information of an 3 http:/www2.lirmm.fr/~dngo/publications/A Flexible System for Ontology Matching full.pdf 4 http:/secondstring.sourceforge.net/ 5 http:/sourceforge.net/projects/simmetrics 6 http:/wordnet.princeton.edu element among the others. These context profiles then can be used to compare entities by some information retrieval techniques. See [7] for more detail. Extensional matcher In many situation, to be matched ontologies provide data (instances) therefore, the aim of Extensional module is to discover new mappings which are complement to the result obtained from Terminological module. There are two issues we should consider here: (i) how to find similar instances from two ontologies; and (ii) given a list of matched instances, how to discover new concept/property mappings. For the first issue, we propose two methods for discovering instance mappings as follows: If two instances belong to two matched classes and they have highly similar labels then they will be considered as similar. Here, the list of concept mappings is taken from the result of Terminological module. Similarity score between instance labels is computed by our metric named SentenceSimilarity. If two instances have high similar text in description then they will be considered as similar too. Here, a description text is taken from values of all properties described in an instance. The intuition behind is that even though a real instance were assigned by different name of IDs, properties and concepts (classes) but the values of its properties are generally not changed. Based on this idea, we use an information retrieval technique to compute the similarity of instances by their description text. For the second issue, we apply two methods for discovering concept/property mappings as follows: For each pair of matched instances from two ontologies, if the text values of two properties are highly similar, then these properties are considered as similar. For each pair of concepts (classes) from two ontologies, if most of their instances are matched, then these classes are matched. The discovered mappings by Element level module are the union of discovered mappings from Terminological and Extensional modules. SimilarityFlooding The Similarity Flooding algorithm is well known and were described in detail in the popular schema matching system SimilarityFlooding [5] In this section, instead of explaining this algorithm again, we will present some main points of using it in our system. For this aim, we are going to answer two questions: (i) why do we select Similarity Flooding method; and (ii) how can we apply this method in ontology matching task. Firstly, according to [2] there are many methods can be used to analyze the structural information of ontologies to find mappings. They are mainly based on the idea that two elements of two different ontologies are similar if all or most of their elements in the same view are already similar. The term view here maybe understood as a list of elements which can be seen from the ongoing examined element. For example, they can be direct super/sub elements, sibling elements or list of elements in the path from the root to the current element on the ontology's hierarchy, etc. However, two big problems have arisen. One as the authors commented in [2] is that these methods face problems when the viewpoint of two ontologies is highly different. The second is that if some pre defined mappings are incorrect and these methods are run only one time to produce new mappings, then the accuracy of new results will be uncon