<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>TOMATO : results of the 2022 OAEI evaluation campaign</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Philippe Roussille</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Olivier Teste</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>École 3iL</institution>
          ,
          <addr-line>Limoges</addr-line>
          ,
          <institution>Institut de Recherche en Informatique de Toulouse</institution>
          ,
          <addr-line>Toulouse</addr-line>
          ,
          <country country="FR">France</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Université Toulouse 2 Jean Jaurés, Institut de Recherche en Informatique de Toulouse</institution>
          ,
          <addr-line>Toulouse</addr-line>
          ,
          <country country="FR">France</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>This paper presents the results obtained by the TOMATO system in the OAEI 2022 evaluation campaign. We describe here the results in the Conference track. We report a general discussion on the results and on the future improvements of the system. TOMATO (TOolkit for MATching Ontologies) is heavily inspired by POMAP++[1]. It is a pairwise ontology matching system; ie. matching couples of ontologies together. We employ mostly Machine Learning approaches based on element similarities[2] (using mainly string-based similarities). The workflow of TOMATO is depicted in Figure 1. The workflow being built upon several steps starting with loading the OWL ontologies and the reference RDF aligned files. Tomato can be used in two different ways : 1. in a learning mode, where it can generate a model given two ontologies and their reference matching : (1, 2,  (1, 2)) = (1, 2) 2. in a matching mode, where a previously generated model is used against two ontologies to produce an alignment : ℎ(1, 2, (1, 2)) = (1, 2) In both cases, we can choose to apply a global matching strategy, using all the elements from both ontologies given their types and producing a single model ; or a set of local matching strategies, depending on the data, in where we treat subsets of the elements from both ontologies (given a specific characteristic of the data) to produce one model per subset.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Presentation</title>
      <sec id="sec-1-1">
        <title>1.1. Overview</title>
      </sec>
      <sec id="sec-1-2">
        <title>1.2. Matching steps</title>
        <sec id="sec-1-2-1">
          <title>1.2.1. Loading ontologies</title>
          <p>For its base operation, TOMATO parses and loads a given set of two input ontologies. We rely
mostly on the owlready2 Python library to populate our internal structure, which contains all
the elements indexed by their respective names (classes, data properties and object properties),
and their relations.</p>
          <p>The name of an element is either using its label (if found) or, for a fallback approach, the last
component of its URI.</p>
          <p>For the relations, we chose to store all the relationships between classes.</p>
        </sec>
        <sec id="sec-1-2-2">
          <title>1.2.2. Ontology preprocessing</title>
          <p>Since string similarity measures are case-sensitive, symbol-sensitive and very dependent on what
words are being parsed, we first need to apply multiple filters in order to have data that can be
properly analysed.</p>
          <p>Here are the steps we chose to keep :
• CamelCase words are converted to snake_case, which allows us to separate words ;
• snake_case and non-alphanumeric symbols are replaced by spaces ;
• we perform an English stemming process as the one proposed by Porter[? ] ;
• we then remove all stop words (such as "a", "who", "me", etc.) using WordNet approach to
have only the concept words ;
• we stem the words for the similarity measures that support them.</p>
        </sec>
        <sec id="sec-1-2-3">
          <title>1.2.3. Similarity score computation</title>
          <p>Once the preprocessing steps are complete, the input ontologies are quite ready to be processed
by the level matcher.</p>
          <p>The entities are then paired : we compute all possible combination of class x class, data property
x data property, and object property x object property. For each combination, we compute the
similarity of the couple through an all-against-all strategy, which stands for measuring the
similarity score (using a combination of Levenshtein, JaroWinkler, ISUB, and 3-Gram similarity
measures). This step leaves us with a vector of scores for each possible couple, coordinates being
the different similarity measures used.</p>
        </sec>
        <sec id="sec-1-2-4">
          <title>1.2.4. Strategy selection</title>
          <p>To ensure a better result, we apply a local strategy based on what kind of entity we are matching.
We defined three possible situations :
• both entities contains only a single word ("mono"-term) ;
• both entities contains more than one word ("multi"-term) ;
• entities contains a different term count ("dual"-term).</p>
          <p>This strategy is somewhat naive, but it would serve as a starting point for our next exploration.</p>
        </sec>
        <sec id="sec-1-2-5">
          <title>1.2.5. Train and match</title>
          <p>Training a model In order to find the best measures that can indicate a potential match, we
use a classifier from the scikit-learn Python module (GridSearchCV). The train/test
split ratio is 0.4 : we use 60% of our data to train the model, and 40% to test, doing ten splits of
cross-validation for each of the three models.</p>
          <p>We feed the similarity matrix with the reference data (normalized as "0" if no match and "1" if
there is a match). We pass the similarity matrix to the SVM machine-learning algorithm, and we
save the model trained. Given our localized strategy, we end up with three different models, one
for each situation (mono, multi, dual).</p>
          <p>Computing a match In order to compute a match, we build a similarity matrix for all the
couples we are interested in. The matrix is then fed through our classifier using the previously
trained model. The classifier then outputs the expected alignment.</p>
        </sec>
      </sec>
      <sec id="sec-1-3">
        <title>1.3. Adaptations made for OAEI</title>
        <p>For our participation in OAEI 2022, we decided to test against both strategies (local and global) so
we could tune our models. As such, we participated using only our local strategies. We included
our comparison in the next section.</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>2. Results</title>
      <sec id="sec-2-1">
        <title>2.1. Method</title>
        <p>TOMATO runs on a Ubuntu server enviroment, with 16 GiB of RAM and a Intel Xeon Gold 6244
CPU at 3.6GHz. We can submit jobs to it through the web interface at</p>
        <p>http://tomato.irit.fr/match
2.2. Comparison global and local strategies
The global strategy consists in applying a single model for all possible couples of conferences.
This model is therefore built by finding a global optimum between the similarity measures
corresponding to the features, and the model weights</p>
        <p>The Local strategy consists in applying a model depending on the entity word count (mono,
multi or dual) as per section 1.2.4.</p>
        <sec id="sec-2-1-1">
          <title>Ontology 1</title>
          <p>Ontology 2
cmt conference
cmt confof
cmt edas
cmt ekaw
cmt iasted
cmt sigkdd
conference confof
conference edas
conference ekaw
conference iasted
conference sigkdd
confof edas
confof ekaw
confof iasted
confof sigkdd
edas ekaw
edas iasted
edas sigkdd
ekaw iasted
ekaw sigkdd
iasted sigkdd
all ontologies</p>
          <p>Applying local models helps to smooth the averaging effects of the averages made by using a
single model for all the ontologies. While our strategy is very simple, it helps showing us that
selecting a different model based on some feature from the data gives us better results as shown
in table 1.</p>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>2.3. OAEI results</title>
        <p>2.3.1. Ranking</p>
        <sec id="sec-2-2-1">
          <title>Matcher</title>
          <p>LogMap
GraphMatcher
SEBMatcher
ATMatcher
ALIN
edna
LogMapLt
AMD
LSMatch
StringEquiv
KGMatcher+
ALIOn
TOMATO
Matcha</p>
          <p>While our system has the highest recall (0.6) of the list, we came second to last in terms of
F-Measure as table 2 shows. This is due to our low precision score (9%), and shows the limits of
using only a simple string-matching strategy.</p>
        </sec>
        <sec id="sec-2-2-2">
          <title>2.3.2. Specifics</title>
          <p>Sharp</p>
          <p>Discrete
Continuous</p>
        </sec>
        <sec id="sec-2-2-3">
          <title>Precision</title>
          <p>0.09
0.08
0.08</p>
        </sec>
        <sec id="sec-2-2-4">
          <title>F-measure</title>
          <p>0.16
0.15
0.15</p>
        </sec>
        <sec id="sec-2-2-5">
          <title>Recall</title>
          <p>0.63
0.74
0.73</p>
          <p>The OAEI 2022 results for conference cover three situations, as described in the track details :
– discrete, which considers that there is a correct match if the reference alignment has
a confidence value of 0.5 or greater ; and a fully incorrect match if the confidence
value is less than 0.5;
– continuous, which penalizes TOMATO more if it misses a match on which most
people agree than if it misses a more controversial match : if the reference alignement
gives that 1 and 2 match with a 0.85 confidence, and if a matching algorithm gives
that match a confidence of 0.40, then that is counted as 0.85 * 0.40 = 0.34 of a true
positive and 0.85 – 0.40 = 0.45 of a false negative.</p>
          <p>In all three cases, while we have a good recall, our very low precision score is detrimental to
our F-measure, and highlights once more the limits of our simplistic approach.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Conclusions</title>
      <p>This paper presented the TOMATO matcher, a matcher that produces pairwise ontology
alignements using a Machine Learning approach mixed with a strategy selection depending on the data
used.</p>
      <p>While our strategy is very simple, it is sufficient to show that our hypothesis is correct : using
a local strategy depending on the data is better than a global single strategy.</p>
      <p>In future versions, we intend to study other Machine Learning algorithms and different
similarity measures to improve the quality of the generated alignments. We will also study the structure
of the ontologies in depth to increase our performances, and include other measures to strengthen
our results.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>A.</given-names>
            <surname>Laadhar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Ghozzi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            <surname>Megdiche</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Ravat</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Teste</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Gargouri</surname>
          </string-name>
          , POMap++
          <article-title>results for OAEI 2019: fully automated machine learning approach for ontology matching</article-title>
          ,
          <source>in: 14th International Workshop on Ontology Matching co-located with the International Semantic Web Conference (OM@ISWC</source>
          <year>2019</year>
          ), Auckland, New Zealand,
          <year>2019</year>
          , pp.
          <fpage>169</fpage>
          -
          <lpage>174</lpage>
          . URL: https://hal.archives-ouvertes.fr/hal-02942337.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>M.</given-names>
            <surname>Cheatham</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Hitzler</surname>
          </string-name>
          ,
          <article-title>String similarity metrics for ontology alignment</article-title>
          , in: H.
          <string-name>
            <surname>Alani</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>Kagal</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Fokoue</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Groth</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Biemann</surname>
            ,
            <given-names>J. X.</given-names>
          </string-name>
          <string-name>
            <surname>Parreira</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>Aroyo</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          <string-name>
            <surname>Noy</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Welty</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          Janowicz (Eds.),
          <source>The Semantic Web - ISWC 2013</source>
          , Springer Berlin Heidelberg, Berlin, Heidelberg,
          <year>2013</year>
          , pp.
          <fpage>294</fpage>
          -
          <lpage>309</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>