<!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>EMBench: Generating Entity-Related Benchmark Data</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Ekaterini Ioannou</string-name>
          <email>ioannou@softnet.tuc.gr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Yannis Velegrakis</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Technical University of Crete</institution>
          ,
          <country country="GR">Greece</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Trento</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The entity matching task aims at identifying whether instances are referring to the same real world entity. It is considered as a fundamental task in data integration and cleaning techniques. More recently, the entity matching task has also become a vital part in techniques focusing on entity search and entity evolution. Unfortunately, the existing data sets and benchmarking systems are not able to cover the related evaluation requirements. In this demonstration, we present EMBench; a system for benchmarking entity matching, search or evolution systems in a generic, complete, and principled way. We will discuss the technical challenges for generating benchmark data for these tasks, the novelties of our system with respect to existing similar efforts, and explain how EMBench can be used for generating benchmarking data.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        The entity matching task aims at identifying instances representing the same real world
entity, such as an author or a conference [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Existing matching approaches are
typically based on some similarity function that measures syntactic and semantic proximity
of two instances. Depending on the results of this comparison, it is decided whether the
two instances are matching or not. More advance matching approaches exploit
relationships between instances [
        <xref ref-type="bibr" rid="ref1 ref2">1,2</xref>
        ], the use of blocking for reducing the required processing
time [
        <xref ref-type="bibr" rid="ref7 ref8">7,8</xref>
        ], and using information encoded in the available schemata [
        <xref ref-type="bibr" rid="ref3 ref4">3,4</xref>
        ].
      </p>
      <p>Despite the many different techniques for entity matching there is no evaluation
methodology that covers all the aspects of matching tasks or at least giving the user the
ability to test the aspects of interest. Most matching techniques have followed their own
ad-hoc evaluation approach, tailored to their own specific goals. Comparison among
entity matching systems and selection of the best system for a specific task at hand is
becoming a challenge. Developers can not easily test the new features of the products
they develop against competitors, practitioners can not make informative choices for
the most suitable tool to use, and researchers can neither compare the techniques they
are developing against those already existing, neither identify existing limitations that
can serve as potential research directions.</p>
      <p>
        In this demonstration, we will present and discuss the EMBench system for
benchmarking entity matching systems in a generic, complete, and principled way [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. The
system provides a series of scenarios that cover the majority of the matching
situations that are met in practice and which the existing matching systems are expected to
support. EMBench is fully configurable and allows the dynamic (i.e., on-the-fly)
generation of the different test cases in terms of different sizes and complexities both at the
schema and at the instance level. The fact that the entity matching scenarios are created
in a principled way, allows the identification of the actual type of heterogeneities that
the under evaluation matching system does not support. This is a fundamental
difference from other existing benchmark or competition-based approaches that come with a
static set of cases that do not always apply in all the real world scenarios.
      </p>
      <p>
        The following URL provides an online access to the system as well as the sources
code and binary file, and the details can be found in the full version of the paper [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]:
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Entity Matching Scenarios</title>
      <p>To generate test cases in a systematic way, we introduce the notion of a scenario. A
scenario is a tuple hen; I; eri where en is an entity, I is an entity collection, and er an
entity from I referred to as the ground truth. The scenario is said to be successfully
executed by an entity matching technique if the technique returns the entity er as a
response when provided as input the pair hen; Ii, i.e., returns er as the best match of en
in the entity collection I.</p>
      <p>EMBench creates a scenario by first selecting an entity er from the collection I and
a series of modifiers f1, f2, . . . , fn. It then applies the modifiers over the selected entity,
i.e., er !f1 e1, !f2 . . . !fn en, and generates as a scenario the triple hen; I; eri.</p>
      <p>Each modifier reflects a specific heterogeneity that matching tasks are frequently
requested to detect. An example of such a category of modifiers is Syntactic Variations
and it includes modifiers such as misspellings, word permutations, aliases,
abbreviations, and homonymity. Structural Variations is another category of modifiers. These
modifiers exploit variations on the attribute level. For example, we might have entities
that use a set of attributes to describe some information while others entities use just
one attribute (e.g., human names might be split into first name and last name, or may
not). Another category is Entity Evolution simulating scenarios in which the entities
have modifications due to time. These modifications can be, for example, changes in
the attribute values, elimination of attributes, or addition of new attributes.</p>
      <p>An important feature of the system is that the data engineer that created the scenarios
can choose not only the case but also the size of data instance to generate. In this way
the matching algorithm is tested not only in terms of effectiveness but also in terms of
efficiency (scalability).
3</p>
    </sec>
    <sec id="sec-3">
      <title>The EMBench System</title>
      <p>Figure 1(a) illustrates the architecture of the system. As shown, EMBench maintains a
Repository that contains the data used during the collection generation. The synthetic
data generated by EMBench are not completely random strings but are based on real
world values following realistic scenarios. This is achieved by Shredders, i.e., software
components that receive a source and shreds it into a series of Column Tables. The
system incorporates general purpose shredders (e.g., relational databases, XML files) as
well as shredders specifically designed for popular systems (e.g., Wikipedia, DBPedia,
Amazon, IMDb, DBLP, OKKAM).</p>
      <p>The system also supports cleaning the repetitive, overlapping, or complementary
information in the resulted column tables. Among the processes incorporated for this
functionality, we have rules that specify how the values of the column tables are to be
combined together or modified and guide the creation of a new set of column tables,
referred to as the Derived Column Tables. Note that a derived column table may be
created through an identify function rule, meaning that it is considered a derived table
without any modification.</p>
      <p>There is no need to shred the original sources or to create the derived column
tables every time the benchmark needs to run. Once they are created, they remain in the
repository until deleted or overwritten. Actually, the current version of EMBench
contains a Default Data Collection that is considered sufficient for the realistic evaluation
of matching tasks. For instance, it contains 49299 feminine names, 74079 masculine
names, 4003 diseases, 84847 companies, and 11817 universities.</p>
      <p>The Entity Generator creates an entity collection I of N entities by constructing an
entity for every tuple of the populated table R. Each such entity will have M attributes,
one for every of the M attributes of the table R. EMBench provides two options for
selecting the N values from the derived column table: (i) a random selection with or
without repetitions, and (ii) select values following the Zipfian distribution.</p>
      <p>As mentioned in Section 2, EMBench includes a set of Entity Modifiers that modify
in various ways the data of an entity collection and construct a new entity collection
with a high degree of heterogeneity. The used modifiers, their order and the
modification degree is something that is specified by a set of configuration parameters. These
parameters have some default values in the system but can also be modified by the user.</p>
      <p>Overall, EMBench offers three main functionalities. The first is to create a source
repository by importing data using shredders. The second is to generate entity
collections using the data from the source repository. The third functionality is to evaluate
matching algorithms. To ease the use of these functionalities, EMBench is in general
fully parametrized through a configuration file. In addition, EMBench is accompanied
with a user interface that allows the specification of the parameters that build the
configuration file on-the-fly and run EMBench (shown in Figure 1(b)).</p>
    </sec>
    <sec id="sec-4">
      <title>4 Demonstration Highlights</title>
      <p>In the proposed demonstration we will discuss with the audience the functionalities and
abilities of EMBench. We will particularly focus on the following four parts.</p>
      <p>A. Using EMBench. During the first part we will discuss the two available ways
for using EMBench. The first is the usage through a configuration file, which allows
providing a description of the functionallities that can be executed, for example which
shredders to run, or which matching tasks to evaluate. The second usage is through the
EMBench GUI (shown in Figure 1(b)). The GUI provides an alternative mechanism for
selecting EMBench’s configuration and executing the functionalities of EMBench.</p>
      <sec id="sec-4-1">
        <title>B. Repository and Default Data Collection. The second part of the demonstration</title>
        <p>focuses on the repository. We will present the data included in the default data
collection, and illustrate how to use existing EMBench shredders for importing additional
data. We will also explain how to create, configure, and execute new shredders.</p>
        <p>C. Creating Entity Collections. In the subsequent part of the demonstration we
will present the creation of collections. This includes describing the schema for the
entities to be generated (e.g., maximum number of entity attributes, value distribution,
column tables). It also includes the specification and configuration of the modifiers.</p>
      </sec>
      <sec id="sec-4-2">
        <title>D. Evaluating Algorithms using EMBench. The last part of the demonstration</title>
        <p>focuses on illustrating how EMBench can be used for evaluating algorithms. We will
discuss the metrics that are currently incorporated in EMBench and how additional ones
can be easily implemented. Furthermore, we will present and illustrate the supported
matching-related tasks (i.e., one-to-one matching and blocking).</p>
        <p>The demonstration is intended for researchers and practitioners alike. The
conference participant will have the opportunity to understand the principles behind the
benchmark. This will help the participants in evaluating and testing new matching systems in
order to select the one that bests fits a task at hand, but will also give valuable insight
on how to design and improve matching systems.</p>
        <p>References</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>I.</given-names>
            <surname>Bhattacharya</surname>
          </string-name>
          and
          <string-name>
            <given-names>L.</given-names>
            <surname>Getoor</surname>
          </string-name>
          .
          <article-title>Deduplication and group detection using links</article-title>
          .
          <source>In LinkKDD</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>X.</given-names>
            <surname>Dong</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Halevy</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Madhavan</surname>
          </string-name>
          .
          <article-title>Reference reconciliation in complex information spaces</article-title>
          .
          <source>In SIGMOD</source>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>J.</given-names>
            <surname>Euzenat</surname>
          </string-name>
          and
          <string-name>
            <given-names>P.</given-names>
            <surname>Shvaiko</surname>
          </string-name>
          . Ontology matching. Springer-Verlag,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>F.</given-names>
            <surname>Giunchiglia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Shvaiko</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Yatskevich</surname>
          </string-name>
          . S-Match:
          <article-title>an algorithm and an implementation of semantic matching</article-title>
          .
          <source>In Semantic Interoperability and Integration</source>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>E.</given-names>
            <surname>Ioannou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Rassadko</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Velegrakis</surname>
          </string-name>
          .
          <article-title>On generating benchmark data for entity matching</article-title>
          .
          <source>J. Data Semantics</source>
          ,
          <volume>2</volume>
          (
          <issue>1</issue>
          ),
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>E.</given-names>
            <surname>Ioannou</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Staworko</surname>
          </string-name>
          .
          <article-title>Management of inconsistencies in data integration</article-title>
          .
          <source>In Data Exchange, Information, and Streams</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>G.</given-names>
            <surname>Papadakis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Ioannou</surname>
          </string-name>
          , C. Niedere´e, T. Palpanas, and
          <string-name>
            <given-names>W.</given-names>
            <surname>Nejdl</surname>
          </string-name>
          .
          <article-title>Beyond 100 million entities: large-scale blocking-based resolution for heterogeneous data</article-title>
          .
          <source>In WSDM</source>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>S.</given-names>
            <surname>Whang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Menestrina</surname>
          </string-name>
          , G. Koutrika,
          <string-name>
            <given-names>M.</given-names>
            <surname>Theobald</surname>
          </string-name>
          , and
          <string-name>
            <given-names>H.</given-names>
            <surname>Garcia-Molina</surname>
          </string-name>
          .
          <article-title>Entity resolution with iterative blocking</article-title>
          .
          <source>In SIGMOD</source>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>