<!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>ATBox Results for OAEI 2020</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Data and Web Science Group, University of Mannheim</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>ATBox matcher is a scalable system for instance (Abox) and schema (Tbox) matching. It uses two pipelines for generating candidates for the schema and instance matching, and utilizes the schema matches to further improve the instance correspondences. Using a string blocking method, ATBox is able to align large ontologies and can run on OAEI tracks like largebio and knowledge graph. The results look promising, but further features for better nding correct instance matches can be developed.</p>
      </abstract>
      <kwd-group>
        <kwd>Ontology Matching</kwd>
        <kwd>Knowledge Graph</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>1.1</p>
    </sec>
    <sec id="sec-2">
      <title>State, purpose, general statement</title>
      <p>The overall matching strategy of ATBox is shown in gure 1. The Tbox and
Abox have di erent processing pipelines but the correspondences are combined
in the end to get the nal alignment.</p>
      <p>Tbox matching is applied for all classes and properties
(owl:ObjectProperty, owl:DatatypeProperty, and rdf:Property). They are retrieved by the
jena1 methods OntModel.listClasses() and OntModel.listAllOntProperties().
0 Copyright c 2020 for this paper by its authors. Use permitted under Creative
Commons License Attribution 4.0 International (CC BY 4.0).
1 https://jena.apache.org</p>
      <p>TBox1
TBox 2
ABox1
ABox 2</p>
      <p>Stopword
Extraction
final
alignment
String Matching</p>
      <p>Synonym</p>
      <p>Extension
Cardinality Filter
Similar Neighbors</p>
      <p>Filter
Cosine Similarity</p>
      <p>Filter</p>
      <p>String Matching
Instance Filter</p>
      <p>Type Filter</p>
      <p>Common</p>
      <p>Properties Filter</p>
      <p>The Tbox matching (classes and properties) starts with the stopword
extraction. In some cases the labels and/or fragments (which we de ne as the part
after the last hashtag symbol # or slash /) contains tokens which appears very
often like class, infobox etc. If such tokens appears in more than 20 % of all
classes/properties (considered separately), then it is extracted as a corpus
speci c stop word. In case there are many such stop words, they are restricted to
the ve most occurring ones.</p>
      <p>
        The synonyms (used during string matching) are extracted from the English
Wiktionary to cover many di erent domains. The extraction is done with
DBnary [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], a dataset containing Wiktionary as RDF. The extraction process starts
with all resources of type dbnary:Page 2 within the English domain 3. Then we
follow the describes relation and extract all resources connected with property
synonym. Furthermore we follow the relation sense to also nd all the given
senses and their synonyms. The lemmas are extracted directly from the URI.
      </p>
      <p>
        The string matching contains multiple di erent steps which are shown in
table 1. All processing applies to rdfs:label and in case it is missing to the URI
fragment. If the extracted text is exactly the same, the generated
correspondence has a con dence of 1.0. During the normalization process, a word written
in camel case4 is separated with whitespace (e.g. hasAge to has Age) and
afterwards lowercased. In case some UTF-8 characters are not normalized, we apply
a normalization step for them (e.g. an accented character can be encoded in
multiple di erent ways in UTF-8). All possible punctuations are furthermore
removed and multiple whitespaces are combined into one. In case the
normalized text matches, a con dence of 0.9 is assigned. In the normalizeParentheses
step, all text within parentheses is removed. If the remaining normalized text
(same as in normalize step) is equal, it assigns a con dence of 0.8. The reason
behind is that many articles in KGs de ne concepts with same names to have the
discriminating term in parentheses e.g. \Harry Potter (character)" and \Harry
Potter ( lm series)". DefaultStopwords removes a given set of stopwords while
keeping all other processing steps as before (con dence is 0.7). In the last
processing step, the corpus speci c stopwords, extracted before, are also removed
and additionally allow a levenshtein distance[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] of 1 (but only in case the text is
longer than 6 characters). In case it matches a correspondence with con dence
of 0.6 is generated. If the amount of concepts are less than 10,000 for source
and target, then a synonym step is added with a con dence of 0.5. In this step,
the extracted synonyms are used to replace (possibly multiple) tokens with all
available synonyms.
      </p>
      <p>All string processing steps are executed in order starting with the highest
condence. If a match is found the remaining steps are also executed to nd possible
other candidates. As an example, a correspondence like &lt;Harry Potter,harry
potter, =, 0.9&gt; is already found, then the processing continues and also add
&lt;Harry Potter,Harry Potter(Book), =, 0.8&gt; to the resulting alignment.</p>
      <p>The instance matching (Abox - shown in the lower part of the gure 1)
starts directly with the string matching component. It reuses the processing
steps described in the previous section without the corpus dependent stopword
removal and synonym replacement. The applied steps are shown in table 2. The
rst four steps applies to the rdfs:label and if it is missing to the fragment of
the URI. The con dence is decreasing with a step size of 0.1 starting with 1.0. In
the second part, the additional properties skos:prefLabel and skos:altLabel
are taken into account. If they match, the con dence is set to maximally 0.6
depending in which preprocessing step the match occurs. Once again, we allow
matches which a lower con dence, even when a correspondence with a higher
con dence is found. This increases the recall because it might be the case that
the matched entity with a high con dence is not the best available match.</p>
      <p>The string processing step generated an alignment with a high recall. All
following steps try to increase the precision by generating additional con
dences for each correspondence. This helps at the end of the processing pipeline
to enforce a one to one alignment and selecting the right correspondence in
4 https://en.wikipedia.org/wiki/Camel_case</p>
      <p>
        Processsing Con dence Property
equality 1.0 rdfs:label (or fragment)
normalize 0.9 rdfs:label (or fragment)
normalizeParentheses 0.8 rdfs:label (or fragment)
defaultStopwords 0.7 rdfs:label (or fragment)
equality 0.6 + skos:pre abel, skos:altLabel
normalize 0.5 + skos:pre abel, skos:altLabel
normalizeParentheses 0.4 + skos:pre abel, skos:altLabel
defaultStopwords 0.3 + skos:pre abel, skos:altLabel
case there are multiple target entities for one source entity (or the other way
around). Thus the following lters only add additional con dences (with the
addAdditionalConfidence function of YAAA [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]) and do not yet remove any
correspondences:
{ Similar Neighbors Filter
{ Cosine Similarity Filter
{ Common Properties Filter
{ Type Filter
      </p>
      <p>All these lters are explained in the following. The similar neighbors lter
uses the instance alignment (generated by the previous string processing step) to
count for each instance correspondence how many resources or literals are shared
between the two instances. Figure 2 shows an example where two neighbors are
detected for correspondence &lt;one:Harry Potter, two:Harry Potter&gt; because the
literal \blue" and the resource \Gry ndor" is shared. Note that the properties
are not taken into account (which is done later by the common properties lter).
Thus we do not need a mapping of property \eyeColor" to \eye". We further
exclude the properties rdfs:label and skos:altLabel and all properties which
have the same literal as those. This will not count the literals which just repeats
the name of the resource with a di erent (maybe not matched) property like
\name". Two literals are the same when their lowercased lexical value is equal.
The additional con dence is the absolute amount of neighbors.</p>
      <p>The cosine similarity lter compares text which is extracted from instances.
It is generated by iterating over all literals and checking if the datatype of it
is xsd:string,rdf:langString or if the literal has a language tag. All lexical
representations of such literals are concatenated to generate a textual
representation. These representations are then compared with a cosine similarity which
is added to the correspondence.</p>
      <p>The common properties lter checks for each instance correspondence the
number of shared properties. This heavily relies on already matched schema
because all properties with the same URI are excluded beforehand. Thus we
only check if the instances share some matched properties regardless of their
objects. The number of overlap is then added to the correspondence.
“blue“
one:Gryffindor
one:house
one:Harry_</p>
      <p>Potter
one:bloodStatus
one:Half
-blood
two:Harry_</p>
      <p>Potter
two:father
two:James_</p>
      <p>Potter
“blue“</p>
      <p>The type lter is similar to the neighbors lter but only checks if the types
(retrieved by rdf:type) actually overlap. This again requires already matched
classes. The absolute overlap is added as an additional con dence.</p>
      <p>The nal step during instance matching is to actually lter these
correspondences and create a one to one alignment. This instance lter sorts the
correspondences by con dence (which is initially set by the string matching) and iterating
over it. If a source or target resource is already matched, then it continues with
the next correspondence. In all other cases it checks if there is a correspondence
in the whole instance alignment which should be used instead. The criteria for
being better is xed to have greater values in two additional con dences.</p>
      <p>As a last step, all correspondences are combined and a nal cardinality lter
ensures a one to one alignment by comparing the con dence scores.
1.2</p>
    </sec>
    <sec id="sec-3">
      <title>Speci c techniques used</title>
      <p>
        We used the following matching components of MELT [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]:
{ ScalableStringProcessingMatcher
{ StopwordExtraction
{ SimilarNeighborsFilter
{ CommonPropertiesFilter
{ CosineSimilarityCon denceMatcher
{ SimilarTypeFilter
{ NaiveDescendingExtractor
1.3
      </p>
    </sec>
    <sec id="sec-4">
      <title>Adaptations made for the evaluation</title>
      <p>
        ATBox matcher is also available as a SEALS package. Due to clashes of
dependecies of SEALS and ATBox, we decided to use the external SEALS packaging
mechanism of the MELT framework[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. It generates an intermediate matcher
which executes an external process which runs in its own java virtual machine
(JVM). Thus di erent versions of dependencies are not a problem.
1.4
      </p>
    </sec>
    <sec id="sec-5">
      <title>Link to the system and parameters le</title>
      <p>ATBox matcher can be downloaded from
https://www.dropbox.com/s/q57rzoec9zeumi2/ATBox.zip?dl=0.
2</p>
      <sec id="sec-5-1">
        <title>Results</title>
        <p>This section discusses the results of ATBox for each track of OAEI 2020 where the
matcher is able to produce results. The following tracks are included: anatomy,
conference, largebio, phenotype, and knowledge graph track.</p>
        <p>Speci c matching strategies and interfaces for the interactive and complex
track are currently not implemented and are thus not described. Due to no multi
language support, the multifarm track is also excluded.
2.1</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Anatomy</title>
      <p>ATBox could achive a slightly higher F-measure than the baseline (0.799 vs
0.766). Even though a synonym step is included in the matcher, the recall is
only at 0.671 but therefor a high precision of 0.987 could be achieved (third best
value).</p>
      <p>Some examples were the matcher could nd some non-trivial matches are:
{ &lt;cranium, Skull, =, 0.5&gt;
{ &lt;lienal vein, Splenic Vein, =, 0.5&gt;
{ &lt;inner ear, Internal Ear, =, 0.5&gt;
{ &lt;celiac artery, Coeliac Artery, =, 0.6&gt;
{ &lt;grey matter, Gray Matter, =, 0.6&gt;</p>
      <p>The rst three have a con dence of 0.5 and thus the matches are mainly
generated by synonym replacements. The last two contain di erent spellings like
\grey" and \gray". They are matched because the levenshtein distance is one
between the two strings.</p>
      <p>Some examples where the synonym step yields wrong results are:
{ &lt;naris, Nostril, =, 0.5&gt;
{ &lt;upper arm, Biceps, =, 0.5&gt;
This shows that not only true positives are generated and it is also the reason
why the correspondence has a low con dence.
2.2</p>
    </sec>
    <sec id="sec-7">
      <title>Conference</title>
      <p>
        In the conference track ATBox matcher (0.56) is a bit better in terms of
FMeasure than the baselines edna (0.54) and StringEquiv (0.52) when using the
ra2-M3 evaluation. It covers the class and property alignments (M3) and uses
the ra2 reference alignment which is a transitive closure of the original
reference alignment ra1[
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Analyzing the precision/recall triangular graph which is
based on the same evaluation dataset is can easily be seen that ATBox matcher
has the best tradeo between recall and precision. The reason is mainly the
higher recall and the lower precision which is not easily avoidable. The schema
matching capabilities of ATBox are rather limited and thus only the synonym
expansion helps a lot. The ontology speci c stopwords do not help here
because they do not exist in the given dataset. Some examples where the synonym
step help: &lt;Trip, Excursion&gt;, &lt;Participant, Attendee&gt;, &lt;Place, Location&gt;,
and &lt;SubjectArea, Topic&gt;. The levenshtein distance helps nding &lt;Sponsor,
Sponzor&gt; and &lt;Organization, Organisation&gt;. Furthermore ATBox is one of the
seven matching systems which returns a wide variation of con dence values.
2.3
      </p>
    </sec>
    <sec id="sec-8">
      <title>Largebio</title>
      <p>ATBox matcher is one of six systems which are able to run on all six test cases
and return meaningful alignments. It was consequently the second fastest system
after LogMapLt. The results are very good in terms of precision but the recall
is to low to compete with the other participants. Only in the FMA-SNOMED
small fragments test cases the presented matcher could perform better than
Wiktionary and LogMapLt.
2.4</p>
    </sec>
    <sec id="sec-9">
      <title>Phenotype</title>
      <p>In this track the presented matcher only returns 759 correspondences for the rst
task HP-MP and 1,318 correspondences for the second task DOID-ORDO. The
evaluation result thus contains a low recall of 0.298 respectively 0.333. Together
with a high precision, a F-measure of 0.457 and 0.498 can be achieved. This is
probably due to the missing background knowledge because LogMapBio uses
BioPortal, LogMap uses spelling variants of SPECIALIST lexicon, and AML
uses three sources (Uberon, DOID, and MeSH). All these systems achieve a
higher recall than ATBox. Nevertheless in task HP-MP we could rank higher
than ALOD2Vec and Wiktionary.
2.5</p>
    </sec>
    <sec id="sec-10">
      <title>Biodiv</title>
      <p>In the Biodiv track ATBox could only return results in FLOPO-PTO test case.
Once again the F-measure of 0.714 is much better than those of Wiktionary and
ALOD2Vec but less than all LogMap variants and AML.
2.6</p>
    </sec>
    <sec id="sec-11">
      <title>Knowledge Graph</title>
      <p>ATBox could score int the overall evaluation(which contains classes,
properties, and instances) the second highest F-measure score of 0.85 together with
AML. Only ALOD2Vec and Wiktionary scores 0.01 better. When matching only
classes, the presented matcher is the second best system after AML and for
properties it is the best matcher. The instance matching pipeline is helpful for
nding the correct correspondences but with 0.84 it is a bit below AML (0.85),
ALOD2Vec (0.87), and Wiktionary (0.87).</p>
      <sec id="sec-11-1">
        <title>General comments</title>
      </sec>
    </sec>
    <sec id="sec-12">
      <title>Discussions on the way to improve the proposed system</title>
      <p>
        We would like to increase the number of feature generators. For example, all
texts connected to an instance could be compared not only with cosine
similarity but also with a BERT classi er[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Another feature would be to compare
images associated with the instances to further distinguish true positive from
false positive correspondences.
      </p>
      <p>
        Furthermore the schema matches could be improved with the help of all
instance correspondences as already shown in DOME matcher [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
4
      </p>
      <sec id="sec-12-1">
        <title>Conclusions</title>
        <p>In this paper, we have analyzed the results of ATBox matcher in OAEI 2020.
It shows that the system is very scalable and can generate class, property and
instance alignments. It usually has a high precision but on some tracks like
Largebio, Phenotype, and Biodiv the recall can be increased by utilizing external
knowledge despite the already used synonym lexicon from Wiktionary.</p>
        <p>
          Most of the used matching components are furthermore included in the
MELT framework[
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] to allow other system developers to reuse them.
        </p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Auer</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bizer</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kobilarov</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lehmann</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cyganiak</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ives</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          :
          <article-title>Dbpedia: A nucleus for a web of open data</article-title>
          .
          <source>In: The semantic web</source>
          , pp.
          <volume>722</volume>
          {
          <fpage>735</fpage>
          . Springer (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Devlin</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chang</surname>
            ,
            <given-names>M.W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lee</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Toutanova</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Bert: Pre-training of deep bidirectional transformers for language understanding</article-title>
          . arXiv preprint arXiv:
          <year>1810</year>
          .
          <volume>04805</volume>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Hertling</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paulheim</surname>
          </string-name>
          , H.:
          <article-title>Dome results for oaei 2019</article-title>
          .
          <source>OM@ ISWC 2536</source>
          ,
          <issue>123</issue>
          {
          <fpage>130</fpage>
          (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Hertling</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paulheim</surname>
          </string-name>
          , H.:
          <article-title>The knowledge graph track at oaei - gold standards, baselines, and the golden hammer bias</article-title>
          .
          <source>In: The Semantic Web: ESWC 2020</source>
          . pp.
          <volume>343</volume>
          {
          <issue>359</issue>
          (
          <year>2020</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Hertling</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Portisch</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paulheim</surname>
          </string-name>
          , H.:
          <article-title>Melt - matching evaluation toolkit</article-title>
          .
          <source>In: SEMANTICS. Karlsruhe</source>
          . (
          <year>2019</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Ho</surname>
            <given-names>art</given-names>
          </string-name>
          , J.,
          <string-name>
            <surname>Suchanek</surname>
            ,
            <given-names>F.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Berberich</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weikum</surname>
          </string-name>
          , G.:
          <article-title>Yago2: A spatially and temporally enhanced knowledge base from wikipedia</article-title>
          .
          <source>Arti cial Intelligence</source>
          <volume>194</volume>
          ,
          <fpage>28</fpage>
          {
          <fpage>61</fpage>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Levenshtein</surname>
            ,
            <given-names>V.I.</given-names>
          </string-name>
          :
          <article-title>Binary codes capable of correcting deletions, insertions, and reversals</article-title>
          .
          <source>In: Soviet physics doklady</source>
          . vol.
          <volume>10</volume>
          , pp.
          <volume>707</volume>
          {
          <issue>710</issue>
          (
          <year>1966</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Serasset</surname>
          </string-name>
          , G.:
          <article-title>Dbnary: Wiktionary as a lemon-based multilingual lexical resource in rdf</article-title>
          .
          <source>Semantic Web</source>
          <volume>6</volume>
          (
          <issue>4</issue>
          ),
          <volume>355</volume>
          {
          <fpage>361</fpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Zamazal</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Svatek</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          :
          <article-title>The ten-year ontofarm and its fertilization within the onto-sphere</article-title>
          .
          <source>Journal of Web Semantics</source>
          <volume>43</volume>
          ,
          <issue>46</issue>
          {
          <fpage>53</fpage>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>