<!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>An Extensible Block Scheme-Based Method for Entity Matching</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Jiawei Wang∗</string-name>
          <email>jiaweiwang.aa@qq.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Haizhou Ye∗</string-name>
          <email>13632259569@163.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jianhui Huang∗</string-name>
          <email>924285628@qq.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Entity Matching, Block-scheme, Block Aggregation, Entity Similar-</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>College of Cybersecurity, Jinan University</institution>
          ,
          <addr-line>Guangzhou</addr-line>
          ,
          <country country="CN">China</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>ity</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2020</year>
      </pub-date>
      <abstract>
        <p>Entity resolution (ER) is of great importance in many real-world applications, including information retrieval, web search, natural language processing, web information integration, multi-source data analysis, etc. In this paper, we present an extensible block scheme-based method for entity resolution. Specifically, at first we preprocess data records from multiple datasets, so as to remove ambiguity and maintain data attributes that are helpful for entity resolution. Then, the processed records are assigned to diferent blocks, after which similarity between records within a same block is computed. Experiment results on challenge datasets from DI2KG show that our proposed method is promising.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>INTRODUCTION</title>
      <p>
        Entity Resolution (ER) is to match data records from two or more
data sources, by analyzing their contents that describe identical
entities in real-world [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], and it remains as a challenging problem
in data management [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], information retrieval [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], data mining [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ],
natural language processing, etc. Entity resolution has a wide range
of applications, including data cleansing, electronic commerce [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ],
web search, and public/government data analysis [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
      </p>
      <p>
        In this paper, we focus on the problem of matching products
recorded in electronic commerce website. Performing the entity
matching task on an e-commerce database is challenging, because
of 1) product data is highly heterogeneous; 2) structure of the data
is loosely defined; 3) there are multiple data sources (for example,
in the DI2KG challenge we need to process diferent data sources
from diferent stores). One of the critical missions of ER on large
data sets is how to reduce the computational complexity to
improve eficiency. Currently, there are three prominent solutions, i.e.,
Blocking [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], Windowing [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], and Hybriding [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. In this paper we
use the first one. By assigning each product to one or more blocks
and computing the similarity for pairs of products in these blocks,
blocking schemes can reduce the number of pair-wise similarities
that need to be computed. Due to challenges of ER on multiple
source data, we need to solve several problems, as described below:
• How to perform data preprocess and cleansing
• How to design eficient block scheme and block. aggregation
method
• How to compute entity similarity within a block, and how
to determine transitivity of similarity between entities
Inspired by the previous work of rule-based ER method [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], we
develop a scalable ER system framework. Specifically, the core of
our framework consists of a block scheme for the data set and
similarity computation of the product pairs within a block. The block
scheme includes various preprocessing steps, diferent keyword
extraction methods, as well as multiple block scheme aggregators. We
solve the ER tasks of DI2KG 2020 Challenges that involve product
entities of Monitor and Notebook, by using our block scheme-based
framework.
      </p>
      <p>The paper is organized as follows. In Section 1 we give an
introduction of entity resolution and the challenge task in DI2KG.
We present our framework for entity resolution in Section 2,
including the three main components of our framework. In Section
3, we conduct experiments on the challenge datasets to evaluate
the efectiveness of our method. Finally, in Section 4 we summarize
this paper and give our future work on entity resolution.
2</p>
    </sec>
    <sec id="sec-2">
      <title>THE PROPOSED METHOD</title>
      <p>Our method is based on block scheme and scheme aggregation. As
shown in Figure 1, our extensible entity resolution system
framework mainly includes three submodules, i.e., Preprocess, Block
Scheme and Scheme Aggregation (BS-SA), Similarity and
Clustering. In this section, we described three sub-modules in detail.</p>
    </sec>
    <sec id="sec-3">
      <title>Data Preprocessing</title>
      <p>In data preprocessing step, we remove some less important terms
from page titles, and less informative properties from the product
description text. Specifically, from table 1 we can see that there are
diferences between product profiles. For example, the first product
possesses some property feature while the second product contains
neither this property nor the corresponding value. We also observe
that for the same products, their model names are the same. So, we
try to find model names for entity matching. Before finding the
model name, there are two problems to deal with, as given below:
• Which property contains the model name
• How to deal with the situation that the extracted model
words cannot be extracted from the predetermined key value
or the extracted model names</p>
      <p>To solve the above problems, at first some preprocessing steps are
necessary, such as lowercasing strings and removing some special
symbols. Generally, the model names have at least one number
and one non-numeric character. Hence, we use regular expression
to match the model name. We find that the model name will be
obtained precisely in the properties, like model, model name and so
on. And we retain these properties as new descriptions of product.
When one is unable to find these properties, we consider property
’&lt;page title&gt;’, because there is part of information which need to
be removed, such as resolution and screen size in the ’&lt;page title&gt;’.
On the other hand, we consider the situation that the model name
is separated by spaces, so we will remove the space between
nonnumeric characters and numeric characters to create a model word
(i.e. the model name is something like ’P 230’, we will change it to
’p230’).
2.2</p>
    </sec>
    <sec id="sec-4">
      <title>Block Scheme and Scheme Aggregation</title>
      <p>
        After data preprocessing step, the processed data will be passed to
submodule Block Scheme and Scheme Aggregation, through which
each product is assigned to a block. Referring to Figure 1, this
submodule consists of two parts: first, the products are classified
based on the brand list that obtained from the Internet [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] and
supplemented and modified manually. Just as [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] said, the brand
list provides the algorithm with specific task information. Then, for
the products of each brand, we classify products to diferent blocks,
by extracting model word and using the blocks aggregator [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
      </p>
      <p>In this challenge, the model word is defined as a word that
contains at least one number and one non-numeric character, and the
entire word is completely extracted as one model word. We adopt
two block schemes, i.e., extracting a single model word for title and
description, and then aggregating the two schemes by the union
aggregator. Eventually, all documents of each brand will be mapped
to multiple product entities and each document will only be mapped
to one product entity.
2.3</p>
    </sec>
    <sec id="sec-5">
      <title>Entity Similarity within Blocks</title>
      <p>The method we proposed in this paper for computing entity
similarity is based on model words and set judgment. The definition
of model word is as described in Section 2.2, and we compare the
model words set of product  and the model words set of product
, which measures the similarity of two products. Our proposed
similarity function consists of two parts.</p>
      <p>The first part evaluates whether the models of product  and
 are the same, by using function     (, , ). Here,  is
a list we constructed from product descriptions, which consists
of attributes where the model may appear. We count the model
words extracted from the attributes in the list , and select the
model word that appears the most frequently as the product model.
Moreover, if there is no any model word, then we take the first
model word from ’&lt;page title&gt;’ as the model. The rationale is that
the product model in the title usually appears first.</p>
      <p>The second part determines whether synonymous attributes
of product  and product  are similar, by calling the function
 (, , ,  ) multiple times. Here, parameter  = [1, ,  ],
where  ∈  contains synonymous attributes, and  = [1, ,  ],
where operator  ∈  is either ′ ′ or ′ ′, which is applied to
 . Each time  (, , ,  ) is invoked, for the model word
set extracted from all the attributes of the product in list  , we
determine the relationship between two sets, according to the content
of operator  . Specifically, if  is ′ ′, then the two sets must
be the same, otherwise one set must be the subset of the other set.
For example, a parameter configuration is shown below:
 (, , [′&lt;  &gt;′,′  ′,′  ′],′  ′)
Algorithm 1 shows a high-level overview of how to compute
product similarity. Specifically, if the model names of the two
products are the same, the algorithm will compare whether certain
attributes of the product are similar according to the parameter 
and .</p>
      <sec id="sec-5-1">
        <title>Algorithm 1 Product Similarity Method</title>
        <p>Input: Product profile  and ; List  = [1, , ], where  ∈ 
contains some synonyms attributes; List  = [1, , ], where
operator  ∈  is either ′ ′ or ′ ′, which corresponds to
 ; Attributes list ; Furthermore, the following functions are
used:</p>
        <p>-    (, ) is true if models of product  and  are
diferent</p>
        <p>- (, , ,  ) the model words similarity between
the products  and  using the key list  and operator  .
Output: True if product  and product  are the same; otherwise,</p>
        <p>False.
1: function ProdSim(, , , , )
2: if     (, , ) then return False
3: end if
4: for all ,  in ,  do
5: if not  (, , ,  ) then return False
6: end if
7: end for
8: return True
9: end function</p>
        <p>Algorithm 2 judges whether the two products have the same
model. It regards the most frequently occurring model word or the
ifrst model word in the title as the model name, and compares the
model names of the two products.</p>
        <p>Function  (, , ,  ) in Algorithm 3 is used to compute
the similarity between product description of  and , according to
some special product attributes. The number of times this function
is called depends on the length of the parameter  and  . In this
algorithm, the model words from some attributes of product  and
 are compared. If  is ‘ ′, the model words must be the same,
otherwise, one model word set must be the subset of the other set.</p>
        <p>Due to transitivity property between products, if A is similar to
B, and B is similar to C, then we regard it that A is similar to C.
We perform clustering while calculating the similarity, instead of
clustering after calculating the similarity between all products. This
may sacrifice accuracy a little bit, but can significantly improve
eficiency.
3</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>EXPERIMENT RESULTS</title>
      <p>To evaluate performance of our proposed method, we conduct
experiments on the challenge datasets provided by DI2KG. We
summarize the best experiment results of our proposed method in Table
3, i.e., on training Dataset Y the Precision, Recall and F-Measure are
1.000, 0.964 and 0.982, respectively, whereas on Dataset X Precision,
Recall and F-Measure are 0.915, 0.967 and 0.940, respectively.</p>
      <p>
        In addition, we tested our algorithm on the camera dataset and
the Precision, Recall and F-Measure are 0.98, 0.97 and 0.98 [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. In
general, we can see that our algorithm achieved good performance
      </p>
      <sec id="sec-6-1">
        <title>Algorithm 2 Model Comparison Method</title>
      </sec>
      <sec id="sec-6-2">
        <title>Input: Product profile  and ; Attributes list ;</title>
        <p>- (, ) extracts the model words from the key-value
pair of product a if the key appears in list .</p>
        <p>- () find the model word appear most
frequently in the model word list .</p>
        <p>- () true if  is empty.</p>
        <p>Output: True if the models of product  and product  are diferent;
otherwise, False.
1: function diffModel(, , )
2:  =  (, )
3:  =  (, )
4:  =  (, [′&lt;page title&gt;′])
5:  =  (, [′&lt;page title&gt;′])
6: if  ( ) then
7: if  [0] in  then return False
8: end if
9:  =  [0]
10: else
11:  =  ( )
12: end if
13: if  ( ) then
14: if  [0] in  then return False
15: end if
16:  =  [0]
17: else
18:  =  ( )
19: end if
20: return not ( == )
21: end function</p>
      </sec>
      <sec id="sec-6-3">
        <title>Algorithm 3 Model Word Similarity Method</title>
        <p>Input: Product profile  and ; Synonyms attributes list  ;
Operator  is either ′ ′ or ′ ′, which corresponds to  ;  ( )
extracts the model words for a given set of words  .</p>
        <p>Output: True if the model words of product  and  extracted from
 are the same under operator  ; otherwise, False.
1: function mwSim(, , ,  )
2: ,   =  (,  ),  (,  )
3: if  ==′  ′ then
4: if . ( ) and  . () then
5: return True
6: end if
7: end if
8: if  ==′  ′ then
9: if . ( ) or  . () then
10: return True
11: end if
12: end if
13: return False
14: end function
on both data sets, that is, it has good extensivity. In order to be
suitable for diferent datasets, we can set the parameters such as
brand list, product descriptions list and synchronous attributes list,
which can be obtained based on rules or machine learning. It is
worth mentioning that our algorithm is mainly based on model
words, thus, it is better for data sets that mainly rely on product
models for matching, such as cameras, displays and other electronic
products.</p>
        <p>Our observation is that the key to data preprocessing is to remove
some redundant information. Since in Algorithm 2, we try to use
the first model word in ’&lt;page title&gt;’ for comparison, it is highly
recommended to make the first model word in the ’&lt;page title&gt;’ to
be the model number of the product.</p>
        <p>On the other hand, in the block scheme the acquisition of brand
information requires some manual intervention. Although it can
be obtained through machine learning or rules-based methods, we
found that there are some special circumstances that need to deal
with. For instance, Alienware was acquired by Dell, so Alienware
and Dell belong to the same brand. Since brand classification is
the first step in the BS-SA, manual intervention for such special
situations can improve the recall rate at lower cost.
4</p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>CONCLUSION</title>
      <p>In this paper, we proposed an extensible block-scheme based method
for entity resolution. Specifically, our method consists of three
components, i.e., data preprocessing, block-scheme and scheme
aggregation, and similarity and clustering. Experiments on DI2KG
challenge datasets show that our method can achieve 0.982 and 0.94
F-measure values on Dataset X and Dataset Y, respectively.</p>
      <p>
        In our future work, we intend to combine machine learning
techniques and consider weighting key properties, so as to find as
many as possible the best &lt;key, value&gt; pairs of products. Because
by using those strategies, we can make full use of training datasets,
by mapping product similarity to the range [
        <xref ref-type="bibr" rid="ref1">0, 1</xref>
        ].
      </p>
    </sec>
    <sec id="sec-8">
      <title>ACKNOWLEDGMENTS</title>
      <p>The authors would like to thank the reviewers for their comments.
This paper is partially supported by NSFC under grant Number
61972177.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1] [n.d.].
          <source>ACM SIGMOD</source>
          <year>2020</year>
          <article-title>Programming Contest Leaders</article-title>
          . http://www.inf. uniroma3.it/db/sigmod2020contest/leaders.html.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2] [n.d.]. Wikipedia:
          <article-title>The free encyclopedia</article-title>
          . https://en.wikipedia.org/wiki/Category: Lists_of_consumer_electronics_manufacturers.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Youssef</given-names>
            <surname>Aassem</surname>
          </string-name>
          , Imad Hafidi, and
          <string-name>
            <given-names>Noureddine</given-names>
            <surname>Aboutabit</surname>
          </string-name>
          .
          <year>2020</year>
          .
          <article-title>Enhanced Duplicate Count Strategy: Towards New Algorithms to Improve Duplicate Detection</article-title>
          .
          <source>In Proceedings of the 3rd International Conference on Networking, Information Systems &amp; Security. 1-7.</source>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>P</given-names>
            <surname>Christen</surname>
          </string-name>
          . [n.d.].
          <article-title>Data matching: concepts and techniques for record linkage, entity resolution, and duplicate detection</article-title>
          .
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Gianni</given-names>
            <surname>Costa</surname>
          </string-name>
          , Giuseppe Manco, and
          <string-name>
            <given-names>Riccardo</given-names>
            <surname>Ortale</surname>
          </string-name>
          .
          <year>2010</year>
          .
          <article-title>An incremental clustering scheme for data de-duplication</article-title>
          .
          <source>Data Mining and Knowledge Discovery</source>
          <volume>20</volume>
          ,
          <issue>1</issue>
          (
          <year>2010</year>
          ),
          <fpage>152</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Chaitanya</given-names>
            <surname>Gokhale</surname>
          </string-name>
          ,
          <string-name>
            <surname>Sanjib Das</surname>
          </string-name>
          ,
          <string-name>
            <surname>AnHai Doan</surname>
          </string-name>
          , Jefrey F Naughton,
          <string-name>
            <surname>Narasimhan Rampalli</surname>
            ,
            <given-names>Jude</given-names>
          </string-name>
          <string-name>
            <surname>Shavlik</surname>
            , and
            <given-names>Xiaojin</given-names>
          </string-name>
          <string-name>
            <surname>Zhu</surname>
          </string-name>
          .
          <year>2014</year>
          .
          <article-title>Corleone: hands-of crowdsourcing for entity matching</article-title>
          .
          <source>In Proceedings of the 2014 ACM SIGMOD international conference on Management of data. 601-612.</source>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Jungo</given-names>
            <surname>Kasai</surname>
          </string-name>
          , Kun Qian, Sairam Gurajada,
          <string-name>
            <given-names>Yunyao</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>and Lucian</given-names>
            <surname>Popa</surname>
          </string-name>
          .
          <year>2019</year>
          .
          <article-title>Low-resource deep entity resolution with transfer and active learning</article-title>
          .
          <source>arXiv preprint arXiv:1906</source>
          .
          <volume>08042</volume>
          (
          <year>2019</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Selasi</given-names>
            <surname>Kwashie</surname>
          </string-name>
          , Lin Liu, Jixue Liu, Markus Stumptner,
          <string-name>
            <given-names>Jiuyong</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>and Lujing</given-names>
            <surname>Yang</surname>
          </string-name>
          .
          <year>2019</year>
          .
          <article-title>Certus: an efective entity resolution approach with graph diferential dependencies (GDDs)</article-title>
          .
          <source>Proceedings of the VLDB Endowment 12</source>
          ,
          <issue>6</issue>
          (
          <year>2019</year>
          ),
          <fpage>653</fpage>
          -
          <lpage>666</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Guoliang</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Jiannan</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Yudian</given-names>
            <surname>Zheng</surname>
          </string-name>
          , and
          <string-name>
            <surname>Michael</surname>
          </string-name>
          J Franklin.
          <year>2016</year>
          .
          <article-title>Crowdsourced data management: A survey</article-title>
          .
          <source>IEEE Transactions on Knowledge and Data Engineering</source>
          <volume>28</volume>
          ,
          <issue>9</issue>
          (
          <year>2016</year>
          ),
          <fpage>2296</fpage>
          -
          <lpage>2319</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>George</surname>
            <given-names>Papadakis</given-names>
          </string-name>
          , Ekaterini Ioannou, Themis Palpanas, Claudia Niederee, and
          <string-name>
            <given-names>Wolfgang</given-names>
            <surname>Nejdl</surname>
          </string-name>
          .
          <year>2012</year>
          .
          <article-title>A blocking framework for entity resolution in highly heterogeneous information spaces</article-title>
          .
          <source>IEEE Transactions on Knowledge and Data Engineering</source>
          <volume>25</volume>
          ,
          <issue>12</issue>
          (
          <year>2012</year>
          ),
          <fpage>2665</fpage>
          -
          <lpage>2682</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Tomer</surname>
            <given-names>Sagi</given-names>
          </string-name>
          , Avigdor Gal, Omer Barkol, Ruth Bergman, and
          <string-name>
            <given-names>Alexander</given-names>
            <surname>Avram</surname>
          </string-name>
          .
          <year>2017</year>
          .
          <article-title>Multi-source uncertain entity resolution: Transforming holocaust victim reports into people</article-title>
          .
          <source>Information Systems</source>
          <volume>65</volume>
          (
          <year>2017</year>
          ),
          <fpage>124</fpage>
          -
          <lpage>136</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Ronald</surname>
            <given-names>Van Bezu</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sjoerd Borst</surname>
            , Rick Rijkse, Jim Verhagen, Damir Vandic, and
            <given-names>Flavius</given-names>
          </string-name>
          <string-name>
            <surname>Frasincar</surname>
          </string-name>
          .
          <year>2015</year>
          .
          <article-title>Multi-component similarity method for web product duplicate detection</article-title>
          .
          <source>In Proceedings of the 30th annual ACM symposium on applied computing</source>
          .
          <volume>761</volume>
          -
          <fpage>768</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Damir</surname>
            <given-names>Vandic</given-names>
          </string-name>
          , Flavius Frasincar, Uzay Kaymak, and
          <string-name>
            <given-names>Mark</given-names>
            <surname>Riezebos</surname>
          </string-name>
          .
          <year>2020</year>
          .
          <article-title>Scalable entity resolution for Web product descriptions</article-title>
          .
          <source>Information Fusion</source>
          <volume>53</volume>
          (
          <year>2020</year>
          ),
          <fpage>103</fpage>
          -
          <lpage>111</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>