<!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>njuLink: Results for Instance Matching at OAEI 2017</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Xinze Lyu</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Qingheng Zhang</string-name>
          <email>qhzhang.nju@gmail.com</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Wei Hu</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Zequn Sun</string-name>
          <email>zqsun.nju@gmail.com</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Yuzhong Qu</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer Science and Technology, Nanjing University</institution>
          ,
          <country country="CN">China</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>State Key Laboratory for Novel Software Technology, Nanjing University</institution>
          ,
          <country country="CN">China</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>njuLink is a tool designed for instance matching. It mainly matches instances by nding discriminative property pairs. Also, to meet 1:1 equivalence relationship for the OAEI 2017 DORUMES task, we make several improvements. In this report, we describe the design ideas and show our evaluation results.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>1.1</p>
    </sec>
    <sec id="sec-2">
      <title>Presentation of the System</title>
      <p>State, purpose, general statement
With the rapid development of the Semantic Web, the amount of RDF data on
the Semantic Web is growing in an unprecedented pace. This also brings great
challenges to instance matching. On the Semantic Web, an instance describes
a real-world object, it is composed of a subject and many hp; vi pairs, where p
denotes a \property" and v denotes a \value". Subject serves as unique token
for a real-world object, and hp; vi pairs describe the features of this real-world
object. Instance matching aims to nd the instances that describe the same
real-world object and establish links between them. If two instances describe the
same real-world object, we consider them as coreferent instances or a coreferent
instance pair. Thanks to a lot of existing work, e.g., the Linked Open Data
(LOD) Initiative, millions of links have been established. But, there are still a
huge number of instances that potentially refer to the same object but have not
been interlinked yet.</p>
      <p>Our previous work tries to nd coreferent instances by discriminative
properties [2]. This approach is very e ective but needs some improvements to meet
the requirements of the DOREMUS task, which is to nd 1:1 equivalence
relationship between two datasets. So, we design njuLink, where \nju" represents
\Nanjing University". The key idea of njuLink lies in nding what is essential
to determine whether two instances are coreferent. Driven by this, rst, njuLink
builds a small-scale training set via predicting coreferent and non-coreferent
instance pairs. Then, by analyzing the value similarity of every instance pair in
training set, njuLink nds some property pairs named discriminative property
pairs, which have the ability to identify whether two instances are coreferent.
Finally, for an instance pair, njuLink calculates the similarity of values based
on the discriminative property pairs, the similarity of values based on common
property pairs and the similarity of properties that they have to determine if the
instances in this pair is coreferent.
1.2</p>
      <p>
        Speci c techniques used
There are four steps in the work ow of njuLink, which is shown in Fig. 1. We
will describe the strategies to calculate the similarity of values and the similarity
of properties shortly.
with superscript x are from Dx and those with superscript y are from Dy, e.g.,
instances, properties and values in Dx are ix, p
x and vx, respectively; and (
        <xref ref-type="bibr" rid="ref3">3</xref>
        )
Every instance pair hix; iyi mentioned in this article is composed of an instance
ix from Dx and an instance iy from Dy, and ix is written to the left and iy is
written to the right, this also applies to property pairs hpx; pyi and value pairs
Preprocess Data. For an instance, njuLink preprocesses the values describing
it. There are three types of values: Blank node, URI and Literal (plain or typed).
If a value is blank node, njuLink ignores it. Literal is divided into two kinds: typed
literal, like boolean and integer, and plain literal, which is often accompanied
with a language tag.
      </p>
      <p>First, njuLink records the type of each value. Then, if the value has a language
tag, njuLink also records it. Thirdly, for literals, njuLink replaces punctuations
and stop words like \at", \in", \for" with space by a NLP tool, and then njuLink
removes all space. For URIs, njuLink only records its local name. Finally, njuLink
transforms subjects, properties and values to lowercase letters and stores them
for the next step.</p>
      <p>Strategies to Calculate Similarity. We describe our strategies to obtain the
similarity of a value pair and the similarity of a property pair next.</p>
      <p>
        Calculate similarity of a value pair. Let vx and vy be two values owned
by properties px and py, respectively. First, njuLink judges whether vx and vy are
meaningful to be compared. There are three situations under which comparing
them are not meaningful: (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) They both have language tags and their language
tags are di erent; (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) The types of them are di erent; and (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) One of them is
blank node.
      </p>
      <p>Second, let T (vx) be the type of vx. If vx and vy are meaningful to be
compared, the strategies to nd their similarity, denoted by V alSim(vx; vy j px; py),
vary with their types:</p>
      <p>
        V alSim(vx; vy j px; py) =
indicatorF unc(vx; vy); T (vx) = typed literal
I-Sub(vx; vy); otherwise
(
        <xref ref-type="bibr" rid="ref1">1</xref>
        )
where for typed literal, njuLink uses indicator function (indicatorF unc(vx; vy))
to get their similarity, e.g., when two literals are both date time type, their
similarity is 1 if the two literals are equal, and 0 otherwise. For URI and plain
literal, njuLink uses I-Sub [3] to calculate the similarity. When the similarity of
vx and vy is higher than a threshold, they are considered as a similar value pair.
The threshold is set to 0.65, which is suggested by the authors of I-Sub [3].
      </p>
      <p>
        Calculate similarity of a property pair. Let px and py be two properties
owned by instances ix and iy, respectively. A property may have more than
one value, we let the sets of values of px and py be V al(px; ix) and V al(py; iy),
respectively. First, we nd value set that has a smaller size. Without loss of
generality, we assume that V al(px; ix) is the smaller one here. For a value vx
in V al(px; ix), the maximum similarity between it and the values in V al(py; iy)
is calculated by M axV alSim(vx; V al(py; iy)). The maximum similarity between
values of V al(px; ix) and V al(py; iy), which is also considered as the maximum
similarity of property pair hpx; pyi, is denoted by M axP ropSim(px; py j ix; iy):
M axV alSim(vx; V al(py; iy)) = vny2Vmaal(xpy;iy) V alSim(vx; vny j px; py);
(
        <xref ref-type="bibr" rid="ref2">2</xref>
        )
M axP ropSim(px; py j ix; iy) =
      </p>
      <sec id="sec-2-1">
        <title>M axV alSim(vmx; V al(py; iy)): (3)</title>
        <p>max
x
vm
2V al(px;ix)</p>
        <p>If M axV alSim(vx; V al(px; ix)) of vx is higher than a threshold (i.e. 0.65),
value vx is considered as a matched value, we de ne the sets of matched values
and unmatched values between px of ix and py of iy as follows:</p>
        <p>M atV al(px; py j ix; iy) = fv j v 2 V al(px; ix)
U nmatV al(px; py j ix; iy) = fv j v 2 V al(px; ix)
\ M axV alSim(v; V al(py; iy))&gt;0:65)g;
\ v 2= M atV al(px; py j ix; iy)g:
(4)
(5)</p>
        <p>If M axP ropSim(px; py j ix; iy) is higher than a threshold (0.65), the property
pair hpx; pyi is similar w.r.t. instance pair hix; iyi. Note that this property pair is
not guaranteed to be similar in another instance pair. For every matched value
vx of V al(px; ix), we sum up its similarity by M atV alSimSum(px; py j ix; iy):
M atV alSimSum(px; py j ix; iy) =</p>
      </sec>
      <sec id="sec-2-2">
        <title>M axV alSim(vmx; V al(py; iy)):</title>
        <p>X
x
vm2MatV al(
px;py j ix;iy)
(6)
Construct Training Set. Let Dx and Dy be two di erent datasets and hixm; iyni
be an instance pair, where ixm is from Dx and iyn is from Dy. The training set is
divided into two parts, Positives and Negatives. Positives consist of coreferent
instance pairs and Negatives are composed of non-coreferent instance pairs.</p>
        <p>To construct Positives, njuLink picks up 20 instance pairs that have at least
one property pair whose maximum similarity is very high. The threshold of
similarity under this situation is 1.</p>
        <p>When it comes to Negatives, njuLink chooses 20 instances from Dy randomly
to form an instance set, namely instSety. These 20 instances should be under
the same class of iyn in Positives, i.e., if instances in Positives are to describe
\student", the instances selected should describe \student", too.</p>
        <p>Then, njuLink picks up instances ixm from every instance pair hixm; iyni in
Positives to form another instance set, namely instSetx. So, instSetx contains 20
instances because there are 20 instance pairs in Positives. After that, for every
one in instSetx, njuLink selects an instance from instSety and makes them an
instance pair. Note that every instance in instSetx and instSety is used only
once. Finally, 20 generated instance pairs constitute the Negatives.</p>
        <p>These 20 generated instance pairs can be considered as non-conferent ones
approximately because the number of non-coreferent instances is much more
than that of coreferent instances and njuLink constitutes instSety by selecting
instances randomly.</p>
        <p>Identify Discriminative Property Pairs. For every instance pair hixm; iyni
from Positives, where ixm and iyn represent two di erent instances, njuLink makes
every property of ixm and every property of iyn a pair. Then, njuLink nds out
which property pair is similar and records it. So, njuLink can get the frequency
of every similar property pair recorded after checking all instance pairs. If the
frequency of a property pair is more than half of the size of Positives, which
equals 10 in this case, njuLink records it in candidate property pair set.</p>
        <p>For every property pair hpkx; pjyi in candidate property pair set, where pkx
and pjy represent properties, njuLink calculates the maximum similarity that an
instance pair hix; iyi on it (M axP ropSim(pkx; pjy j ix; iy)). If the similarity is
higher than a threshold, which is 0.65, this instance pair is a coreferent instance
pair found by hpkx; pjyi, otherwise, this instance pair is not coreferent judged by
hpkx; pjyi.</p>
        <p>The percentage of the number of coreferent instances found can measure the
discriminability of a property pair, but we found a better approach in [1] to use
information gain, which is widely used in classi cation.</p>
        <p>Every property pair h k y</p>
        <p>px; pj i of candidate property pair set can classify the
whole training set to four sets, TP, FP, TN and FN, which denote true positives,
false positives, true negatives and false negatives respectively. When an instance
px; pjyi, it is put into
pair is coreferent, if it is also a coreferent one found by h k
TP, otherwise, it is put into FP. When an instance pair is not coreferent, if it is
also a non-coreferent one judged by hpkx; pjyi, it is put into TN, otherwise, it is
put into FN.</p>
        <p>Finally, let T be the training set, which is the union of Positives (T +) and
Negatives (T ). For every property pair hpkx; pjyi in candidate property pair set,
njuLink uses four sets generated by it to obtain the information gain of it,
denoted by IG(pkx; pjy):</p>
        <p>IG(pkx; pjy) = E(T )</p>
        <p>E(Thpkx;pjyi);
E(T ) = jT +j log jT +j
jT j jT j
jT j log jT j ;
jT j jT j
E(Thpkx;pjyi) = jP j E(P )
jT j
jQj E(Q);
jT j
E(P ) = jT P j log jT P j</p>
        <p>jP j jP j
E(Q) = jF P j log jF P j</p>
        <p>jQj jQj
P = T P + F N;
Q = F P + T N;
jF N j log jF N j ;
jP j jP j
jT N j log jT N j ;
jQj jQj
(7)
(8)
(9)
(10)
(11)
(12)
(13)
where E(T ) measures the information entropy of the original training set T ,
y
and E(Thpkx;pjyi) measures the information entropy after using hpkx; pj i to classify
instance pairs in T . If IG(pkx; pjy) is higher than a threshold, hpkx; pjyi is considered
as a discriminative property pair. We set the threshold 0.2 in our tool. njuLink
gets a set of discriminative property pairs after checking all property pairs in
candidate property pair set.</p>
        <p>
          Find Coreferent Instances. The key ideas to nd coreferent instances are
from two aspects: (
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) Get detailed similarity w.r.t. an instance pair; and (
          <xref ref-type="bibr" rid="ref2">2</xref>
          )
Find the most coreferent instance pair, e.g., for an instance i and an instance set
instSet, we assume that every instance in instSet seems to be coreferent with i.
To nd the real coreferent instance pair, rst, we use every instance in instSet to
form an instance pair with i, and then, we compare the detailed similarity of each
instance pair formed and only record the instance pair with highest similarity.
It guarantees 1:1 equivalence relationship between two datasets.
        </p>
        <p>Let DiscrP ropSet(Dx; Dy) denote the set of discriminative property pairs.
First, for every instance in Dx, njuLink combines it with every instance in Dy
to generate many instance pairs, and for every generated instance pair hixm; iyni,
njuLink nds the set of similar discriminative property pair for it, which is
denoted by SimDiscrP ropSet(ixm; iyn):
where P rop(ixm) and P rop(ixn) are the sets of properties of ixm and iyn, respectively.
Secondly, njuLink calculates seven features below to represent the similarity of
the pair:</p>
      </sec>
      <sec id="sec-2-3">
        <title>1) The size of SimDiscrP ropSet(ixm; iyn).</title>
        <p>2) The sum of information gain of each similar discriminative property pair
IGSum(ixm; iyn):</p>
        <p>IGSum(ixm; iyn) =</p>
        <p>X
hpkx;pjyi2SimDiscrP ropSet(ixm;iyn)</p>
        <p>IG(pkx; pjy);
(15)
3) The sum of detailed information gain of each similar discriminative property
pair DIGSum(ixm; iyn):
(16)
(17)
(19)
DIGSum(ixm; iyn) =</p>
        <p>X
hpkx;pjyi
2SimDiscrP ropSet(ixm;iyn)
DIG(pkx; pjy j ixm; iyn) = (jM atV al(pkx; pj j ixm; iyn)j
y</p>
        <p>DIG(pkx; pjy j ixm; iyn);
jU nmatV al(pkx; pjy j ixm; iyn)j) IG(pkx; pjy);
where DIG(pkx; pjy j ixm; iyn) denotes the detailed information gain of a similar
discriminative property pair w.r.t. hixm; iyni.
4) The sum of detailed similarity sum of each similar discriminative property
DSimSum(ixm; iyn):</p>
        <p>DSimSum(ixm; iyn) =
DSim(pkx; pjy j ixm; iyn); (18)
DSim(pkx; pjy j ixm; iyn) = M atV alSimSum(pkx; pjy j ixm; iyn)</p>
        <p>X
hpkx;pjyi
2SimDiscrP ropSet(ixm;iyn)</p>
        <p>IG(pkx; pjy);
where DSim(pkx; pjy j ixm; iyn) denotes the detailed similarity sum of a similar
discriminative property w.r.t. hixm; iyni.
5) The number of similar common property pairs.
6) The sum of maximum similarity of each similar common property pair w.r.t.</p>
        <p>hixm; iyni.
7) The number of property pairs that two properties of each one have the same
local names. We make every property in P rop(ixm) and every property in
P rop(iyn) a property pair and check them all.</p>
        <p>Besides discriminative property pairs, we also use three features from common
property pairs because we nd discriminative property pairs are not enough to
separate the most coreferent instance pairs from those that seem to be coreferent.
A common property pair should meet two requirements: this property pair is not
a discriminative property pair and two properties of it have the same local names.</p>
        <p>Thirdly, njuLink sorts the instance pairs generated in descending order
according to these seven scores of each one. The importance of these seven features
is 1) &gt; 2) &gt; 3) &gt; 4) &gt; 5) &gt; 6) &gt; 7). Finally, njuLink selects instances in sorted
instance pairs set from top to bottom, meanwhile, when we pick up instance pairs
from top to bottom, if two instances of an instance pair are both the rst time
to be checked, we record it, otherwise, drop it. It guarantees the 1:1 equivalence
relationship between two datasets Dx and Dy.
1.3</p>
        <p>Link to the system and parameters le
You can nd the source code and the jar tested by SEALS client successfully on
GitHub: https://github.com/nju-websoft/njuLink.
1.4</p>
        <p>Link to the set of provided alignments (in align format)
The alignment les for DOREMUS task should be available at the o cial
website: http://islab.di.unimi.it/content/im_oaei/2017/.
2</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Results for DOREMUS</title>
      <p>There are two sub-tasks under DOREMUS, namely HT and FPT. HT aims to
obtain 1:1 equivalence relationship between instances whose data have di erent
types of heterogeneities, while FPT aims to get the same relationship as that of
HT between instances with high similarity.</p>
      <p>njuLink succeeds in nding property pairs with high discriminability, which
are shown in Table 1. The results of evaluation are shown in Table 2 and Table 3.
3</p>
    </sec>
    <sec id="sec-4">
      <title>Discussions about improvements</title>
      <p>How to apply di erent approaches according to di erent datasets
automatically? During the development of njuLink, we adjust the way to nd
coreferent instances according to the requirements of DOREMUS. But the
adjusted approach is not applicable for all tasks. So, nding a way to decide
appropriate approaches automatically is necessary.</p>
      <p>HT
FPT</p>
      <p>Conclusion
njuLink is dedicated to nding coreferent instances by utilizing discriminative
property pairs. The Instance Matching track of this year show many new things
to us. This helps us nd the weaknesses of njuLink and makes our original ideas
better. Technical problems happened during the development also forced us to
pay more attention to the way of realizing our tool. In the future, we will continue
following the trends of instance matching with interests and try to solve issues
on which we have not achieved good performance.</p>
    </sec>
    <sec id="sec-5">
      <title>Acknowledgements</title>
      <p>This work is supported by the National Natural Science Foundation of China
(No. 61370019). During our development, we received much support from
organizers and volunteers of OAEI, we would like to thank them for their help.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Hu</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jia</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>A bootstrapping approach to entity linkage on the semantic web</article-title>
          .
          <source>Journal of Web Semantics</source>
          <volume>34</volume>
          ,
          <issue>1</issue>
          {
          <fpage>12</fpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Hu</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yang</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Qu</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Automatically generating data linkages using class-based discriminative properties</article-title>
          .
          <source>Data &amp; Knowledge Engineering</source>
          <volume>91</volume>
          , 34{
          <fpage>51</fpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Stoilos</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stamou</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kollias</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>A string metric for ontology alignment</article-title>
          .
          <source>In: ISWC 2005</source>
          . pp.
          <volume>624</volume>
          {
          <fpage>637</fpage>
          . Springer (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>