<!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>Automatic Identification of Best Attributes for Indexing in Data Deduplication</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Levy Souza</string-name>
          <email>levysouza@dcc.ufmg.br</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Fabricio Murai</string-name>
          <email>murai@dcc.ufmg.br</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ana Paula C. da Silva</string-name>
          <email>ana.coutosilva@dcc.ufmg.br</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mirella M. Moro</string-name>
          <email>mirella@dcc.ufmg.br</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Universidade Federal de Minas Gerais</institution>
          ,
          <addr-line>Belo Horizonte</addr-line>
          ,
          <country country="BR">Brazil</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>We introduce an approach that selects relevant attributes to the indexing step of data deduplication, reducing the whole processing time and improving the deduplication effectiveness. We evaluate the proposed method on synthetic and real datasets over distinct domains. We also evaluate the impact of choosing the indexing attributes over the other steps of the deduplication process, then concluding our solution is both efficient (time cost) and effective (results quality) as a whole.</p>
      </abstract>
      <kwd-group>
        <kwd>Duplicate Detection</kwd>
        <kwd>Deduplication</kwd>
        <kwd>Indexing</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Data deduplication identifies and eliminates duplicate records from datasets and
databases. Duplicate records are data instances that represent the same object
in the real world. Data deduplication has several applications. For example, it
helps identifying duplicate products in online stores [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], duplicate professionals
in healthcare [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] and duplicate contacts in mobile devices [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. On broader
contexts, in information retrieval, it is important for removing duplicate documents
(e.g., web pages and bibliographic citations) from the results returned by search
engines, digital libraries and automatic text indexing systems [
        <xref ref-type="bibr" rid="ref10 ref14 ref2 ref7">2,7,10,14</xref>
        ].
      </p>
      <p>
        The process of identifying and eliminating duplicate records is composed
by three steps: indexing (defines a key per record), record comparison (groups
records according to key values), and classification (compares records within the
groups). Our focus is on the indexing step, which creates block keys (BKs)
structures to group similar values [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Indexing is paramount because it avoids
the need to compare all (n (n 1))=2 record pairs for a source with n records.
      </p>
      <p>
        Existing approaches use BKs for different purposes, such as sorting and
clustering. Examples include standard blocking [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], sorted neighborhood [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], canopy
[
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], and adaptive sorted neighborhood algorithms [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. Nonetheless, in all these
cases, BK values are defined based on the available attributes. Ideally, such
indexing attributes should be effective (as to better distinguish the values) and
efficient (as to allow faster deduplication runtime). For instance, the time to
deduplicate a synthetic dataset with a million records ranges from 15 hours to
more than a day, depending on the indexing attribute (Section 5). Next, we
present a motivating example to better justify our work followed by a summary
of current solutions and our contributions.
Motivating Example. Table 1 presents a toy example with five data instances
that come from two sources and are identified by the ID column. Such instances
refer to three music CDs identified by the CD-ID column. The goal is to identify
and remove the duplicate records from these two sources. At indexing step,
records are indexed by an attribute to avoid comparing all 10 pairs of records.
Then, depending on the selected indexing attribute, the following could occur:
(i ) indexing by Source defines one block for the records of Atlantic Records and
another for J Records – CDs 1 and 2 are not compared against each other, then
jeopardizing effectiveness; (ii ) indexing by Year defines two blocks with CDs
{1,2} and {5} – the process then compares CDs 1 and 2, but fails to compare
4 and 5; (iii ) indexing by Category, Genre and Extra is equally ineffective due
to the same reasons, and different sources may have distinct interpretations for
category and genre; (iv ) indexing by Artist or Title may potentially result in
more effectiveness, as it compares CDs 1 and 2, as well as 4 and 5.
Overview of Current Solutions. Initially, the indexing attribute selection
process was purely arbitrary [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. Nowadays, it is based on expert knowledge
about the data domain [
        <xref ref-type="bibr" rid="ref12 ref6">6,12</xref>
        ]. There are two main strategies that use
available attributes to define BKs: schema-agnostic, which uses the entire values of
attributes; and schema-based configurations, which combine rules of values
extracted from each attribute [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. In either case, experts are required to choose the
best attributes. Also, most studies focus on selecting the best attributes for the
classification step [
        <xref ref-type="bibr" rid="ref13 ref2 ref4">2,4,13</xref>
        ]. In that step, the goal is to choose the best attributes
to compare the values. Current solutions include machine learning approaches
[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] and strategies using data information [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Nonetheless, there is no solution
tailored for the initial indexing step.
      </p>
      <p>Our Contributions. We propose a new method for indexing-oriented attribute
selection and assess its performance through an extensive experimental
evaluation. We measure the efficiency and effectiveness of the proposed strategy in
real and synthetic datasets. The datasets cover a wide spectrum of data domains
including bibliographic records, music CDs, personal information and restaurant
data. Results show that using the best-ranked attribute by the proposed method
yields the best F-Measure results on 10 out of 13 datasets. The deduplication
outcome improves by about 88% in terms of F-Measure when using the best
attribute instead of the worst one. Finally, the implementations of the methods
and the datasets are publicly available1.
1 Sources: http://www.dcc.ufmg.br/~mirella/projs/deduplica</p>
    </sec>
    <sec id="sec-2">
      <title>Data Deduplication Process</title>
      <p>
        Let D be a dataset containing i records, such that D = fr1; r2; ::; rig. Each
record r is defined by a set of attributes Ar = fa1; a2; ::; aj g. Then, the data
deduplication process is composed of three steps: indexing, record comparison
and classification, each generating input to the following one. Next, we describe
such steps and the most commonly used algorithms to process each one [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
Indexing Step. Here, the goal is to assign a block key value to each record.
First, one attribute is chosen from the available set. Next, the BK value is set
to be the attribute value or an encoding applied to the attribute value. After
indexing, each r 2 D is associated with a BK value. One popular technique
is Soundex [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]: it encodes attribute values by keeping the first character and
converting the others to digits between 0 and 6. For instance, the values Rock,
Jazz and Classical (Table 1) are encoded as R200, J 200 and C422.
Record Comparison Step. After the indexing step, the records are grouped
based on BK values using (one of) two main approaches.
      </p>
      <p>The Standard Blocking Algorithm creates a set of blocks where each block
groups similar records. Hence, records within a block are compared only against
each other (i.e, reducing the original quadratic complexity). These groupings are
defined according to the BK values generated for each record. For instance, in
Table 1, when indexing records 1, 2, 3, 4 and 5 through the Artist column and
using the Soundex encoding, three groups are created: K520 with records 1 and
2; E626 with 3; and A534 with records 4 and 5.</p>
      <p>
        The Sorted Neighborhood Algorithm [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] combines the records through a
sorting key, which is similar to a BK. However, before performing the comparisons,
all records are sorted according to their BK values. Then, a sliding window of size
w &gt; 1 traverses all records of D, and the first record of the window is compared
to all others in the same window.
      </p>
      <p>
        Classification Step. For evaluating how similar two values are, a similarity
function usually calculates the correspondence between them and returns a
number in [0; 1], where 1 means “perfect match”. The Jaro Winkler algorithm (a
popular extension of Jaro algorithm proposed by Winkler [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]) considers the size of
strings and the types of errors that commonly occur with alphanumeric variables
to calculate the similarity. At the end of this step, the records are classified as
match, non-match and possible match based on a similarity threshold applied to
all attributes values (e.g., Source, Title, Artist, Category, Genre, Extra, Year ) or
just to the most descriptive attributes of D (e.g.,Title and Artist ) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Identification of Best Attributes for Indexing</title>
      <p>We now introduce our method for selecting the best indexing attribute. It creates
a ranking for each attribute a 2 Ar based on a combination of metrics described
ahead. It does not use machine learning algorithms, being adaptable to any
data domain without needing a training dataset. It also works without requiring
intervention of experts, huge advantage over existing approaches.
Metrics Definition. Our proposed method is based on four metrics, computed
for each attribute a 2 Ar: (1 ) Duplicity is the ratio between number of duplicate
values and number of not-null instances; (2 ) Distinctiveness is the ratio between
number of distinct values and number of not-null instances; (3 ) Density is the
fraction of non-null instances; and (4 ) Repetition is the ratio between number
of repeated records and number of distinct values, defined as follows.</p>
      <p>Dup(a) = dupValues(a) (1) Dist(a) = distValues(a) (2)
notNull(a) notNull(a)
Dens(a) = (3) Rep(a) = T disdtiVstaVluaelus(eas)(a) (4)
notNull(a)</p>
      <p>T
where notNull(a) is the number of valid, non-null instances for an attribute a,
dupValues(a) is the number of duplicate values for a, distValues(a) is the total of
distinct values for a, and T is the total of instances. We normalize each metric by
its maximum over Ar and denote them by Dup(a), Dist(a), Dens(a) and Rep(a).</p>
      <p>
        One advantage is that our metrics can be easily computed over any relational
dataset, being commonly present in the histogram features of relational systems.
Hence, the proposed method can be adaptable for several data domains. Also,
density and repetition are used by others to select relevant attributes for the
classification step [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] (but this is the first time for the indexing step).
Attribute Relevance Calculation. Our solution defines a relevance score for
each attribute based on the metric values. The unnormalized relevance score of
attribute a is defined as
      </p>
      <p>R(a) = Dens(a) + Dup(a) + ((1</p>
      <p>Dist(a))</p>
      <p>Dens(a)) + (1</p>
      <p>Rep(a)):
(5)
Intuitively, density and duplicity improve efficacy. High repetition and distinct
values lead to large run times because they create few blocks with many records
(i.e., many comparisons) or many blocks with few records (i.e., several accesses
to the database to retrieve the records of each distinct BK). Hence, we consider
their complement to improve efficiency, as attributes without much repetition
and distinctiveness perform faster. Also, we multiply (1 Dist(a)) by Dens(a) to
avoid that low distinctiveness and density have high scores. Last, we normalize
R(a) by its maximum value to obtain the attribute relevance score R(a).
Example. For the example in Table 1, we compute the metrics for each
attribute a 2 {Source, Title, Artist, Category, Genre, Extra, Year } and calculate
its relevance using Equation 5. Next, we sort each attribute a 2 Ar by its
relevance R(a). Table 2 summarizes the resulting metric values and relevance of
each attribute, making Artist the best attribute for the indexing step. Hence, we
expect that using Artist in the indexing step will yield the best results (w.r.t.
efficiency and efficacy) in data deduplication; whereas Extra will yield the worst
ones (confirmed later on Figure 3(a) in Section 5).
4</p>
    </sec>
    <sec id="sec-4">
      <title>Experimental Setup</title>
      <p>
        Experimental Methodology. We implemented the data deduplication
algorithms from Section 2 in Java and performed the experiments on a Intel i7
(2:3 GHz) desktop computer with 16GB of RAM, running MAC OS X 10.11.3.
The experimental methodology consists in performing the complete data
deduplication process with different indexing setups for each attribute available in
the dataset. For the other steps, we use standard blocking or the sorted
neighborhood algorithm for record comparison, and the Jaro Winkler algorithm for
classification. In the classification step, we compute the similarity among the
most descriptive attributes of each dataset. Then, we compute efficiency and
effectiveness for each attribute. Specifically, at efficiency, we compute the time
to retrieve the distinct BK values and perform the data deduplication process
and, in effectiveness, we consider the F-Measure. Our goal is to evaluate whether
the most efficient and effective data deduplication results are achieved using the
best ranked attributes by the proposed method. We use 95% confidence interval
and 5% of maximum error to define replications as shown in Table 3.
Datasets. We use synthetic and real datasets with a variety of contexts and
attribute types. The synthetic datasets are created by the Data Set Generator
Program [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. It creates original and duplicate records according to the parameters
set by the user. Each record has the following attributes: names, addresses, dates,
phone numbers, and identifier numbers. In particular, our evaluation considers
eight attributes: Given Name, Surname, Address1, Address2, Suburb, Culture,
State and Title. To generate the synthetic datasets, the input parameters are set
to the same values used in previous work [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] that uses this software: maximum
amount of duplicates per record = 3, maximum amount of changes per field =
5, maximum amount of changes per instance = 5, probability distribution is set
to “uniform”, type of change is set to “all”, and number of households = 1. The
number of original and duplicate records per dataset is in Table 3.
      </p>
      <p>
        We also use three real datasets available from the DuDe toolkit2: CORA,
Restaurant and CD Information. These are widely used on data deduplication
research, e.g., [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] and [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. CORA consists of bibliographical information about
scientific papers, providing 1; 879 instances. Restaurant data is a collection of 864
restaurant records from the Fodor’s and Zagat’s restaurant guides and contains
2 Duplicate Detection (DuDe) toolkit: https://hpi.de/naumann/projects/
data-quality-and-cleansing/dude-duplicate-detection.html
112 duplicates. CD information includes 9; 763 CDs randomly extracted from
freeDB. Table 3 summarizes all datasets statistics.
      </p>
      <p>
        Parameter Tuning and Evaluation Metrics. Regarding parameter tuning,
we empirically evaluated different setups to choose the values that provide the
best results. Overall, for Jaro Winkler the similarity threshold is 0:9, and for
sorted neighborhood the window sizes vary from 1% to 5% depending on the
dataset size. We compute the commonly used Precision, Recall and F-Measure to
evaluate the data deduplication process, attribute effectiveness and the proposed
method [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. For conciseness, we only show the F-Measure results as it considers
a harmonic mean of Precision and Recall.
5
      </p>
    </sec>
    <sec id="sec-5">
      <title>Experimental Results</title>
      <p>In this section we present experimental results on the performance of the
proposed method on several domains of synthetic datasets and on the three real
datasets. The deduplication results are described in terms of F-Measure and
runtime. Let F (ai) be the F-measure yield by attribute ai 2 Ar and Fmax =
maxai2Ar F (ai). We consider as candidates to best attribute the set B = faj 2
Ar : Fmax F (aj ) &lt; 0:1g. The best attribute is defined as the candidate in B
that has the smallest runtime. With this approach, we can guarantee efficiency
without jeopardizing effectiveness. Due to space constrains, only the results in
Standard Blocking algorithm are shown.</p>
      <p>Synthetic Datasets Evaluation. This experimental evaluation with synthetic
data aims to verify if: (i) the proposed method selects efficient and effective
attributes in all datasets for various amounts of duplicate records; and (ii) the
proposed method scales well for large datasets.</p>
      <p>First, we measure the performance of the data deduplication process by using
the standard blocking algorithm and varying the amount of duplicate records
in the dataset (10%, 30%, 50%, 70% and 90% of duplicate records). Figure 1
presents the results in terms of F-measure (Y-axis) and runtime (X-axis)
obtained by each possible choice of attribute in Ar for the indexing step. We only
show the results in the datasets with 10%, 50% and 90% of duplicate records
because the outcomes are similar in the others (i.e., 30% and 70%). The best
data deduplication results are located on attributes near the top left of each
chart (faster and more effective attributes). In this case, the performance of
each attribute was consistent across datasets.</p>
      <p>Next, we calculate the metrics defined in Section 2 for each attribute in each
dataset. Then, Table 4 shows the normalized attribute relevance (Equation (5))
combining such metrics. We note that the proposed method selects the best
attributes for all datasets, i.e., the most relevant attributes (largest R(a)) are those
with the best data deduplication results (Figure 1). Similar to the attributes’
performance, the ranking obtained by R(a) was also consistent across datasets.</p>
      <p>In all datasets, the best attribute is the Given Name. Specifically, in the
dataset with 10% of duplicate records, Given Name has an F-Measure of 0:7467
(0:0101) and runtime of 4:184 (0:0350) seconds, and is almost two times more
GivenName
Surname
Address1
Address2
Suburb
Culture
State</p>
      <p>Title
0.00 10 20 R3U0NTIM4E(0s) 50 60 70
GivenName
Surname
Address1
Address2
Suburb
Culture
State</p>
      <p>Title
0.00 10 20 R3U0NTIM4E(0s) 50 60 70
(a) 10% of Duplicates
(b) 50% of Duplicates
(c) 90% of Duplicates
effective than Address2 and six times faster than State. In addition, the worst
attributes (Title and Address2 ), i.e., fast but ineffective, are the least relevant
attributes according to the proposed method for all datasets. These results
indicate that the proposed solution selects efficient and effective attributes for
datasets with various amount of duplicate data.</p>
      <p>To address the second point, we evaluate the proposed method when using
the standard blocking algorithm and varying the total number of instances in
f102 106g instances. Figure 2 presents the performance results obtained by
each possible choice of attribute in Ar for the indexing step. Note that we do
not fix the X-axis scale because the goal is to pinpoint the best attributes for
each dataset, instead of comparing the runtimes across datasets. Table 5 shows
the attribute relevance ranking for each dataset.</p>
      <p>We note that the proposed method selects the best attributes for all datasets
except for those with 103 and 106 instances. In those datasets, the second most
relevant attribute has the best data deduplication results. In addition, the worst
attributes (Title and Address2 ) are ranked as the least relevant by the proposed
method in all datasets. Address2 is fast but ineffective, whereas Title is
ineffective in all datasets. In the dataset containing 106 instances, there are attributes
that yield runtimes longer than one day (State), while others take approximately
15 hours. This highlights the importance of selecting the best attributes for the
indexing step. These results indicate that the proposed method is efficient and
effective for datasets of very different scales.</p>
      <p>Real Datasets Evaluation. We now evaluate the proposed method in three
real datasets from different domains – Cora, CDs and the Restaurant datasets,
all of which are widely used in data deduplication experiments. We investigate
whether the proposed method selects efficient and effective attributes for real
datasets from different domains. Figure 3 presents the data deduplication results
in terms of F-Measure and runtime, and Table 6 shows the attributes ranking
in the corresponding datasets. We use the standard blocking algorithm for the
record comparison step.</p>
      <p>We observe that the proposed method also identifies the best performing
attributes in the real datasets. For the CDs dataset, the most relevant attribute is
Artist (Table 6), which has the best data deduplication result (Figure 3a). For the
Restaurant dataset, the proposed method does not identify the best attribute.
However, the second most relevant attribute (Address1 ) has significant efficiency
and effectiveness in the data deduplication process. For CORA, the most relevant
attributes (Author and Title) have the best results in deduplication. Overall,
our results indicate that the best performing attributes in real datasets tend to
be ranked first or at least high, regardless of the data domain. Hence, it can
0.00.0 0.2 0R.U4NTIME0(s.6) 0.8
(b) Restaurant Dataset
1.0
0.00.0 0.5 1.0 1.5</p>
      <p>RUNTIME(s)
(c) Cora Dataset</p>
      <p>Author
Title
Booktitle
Journal
Publisher
Address
Editor</p>
      <p>Tech
2.0
2.5
be applied to other relational datasets, being advantageous relative to machine
learning algorithms, since it does not require training data.</p>
      <p>Results Discussion. This evaluation showed the indexing attribute has a large
impact on the efficiency and effectiveness of data deduplication. Regarding
effectiveness, in the 10% of duplicate records dataset, attributes Culture and Address2
differ by about 88% (F-Measure of 0:7857 vs. 0:4179). Furthermore, there may
be at least four attribute scenarios in the data deduplication results: efficient
and effective attribute (Given Name); efficient and ineffective attributes (Title
and Address2 ); inefficient attribute (State); and effective but less efficient
attributes (Address1, Surname, Suburb and Culture). Regarding runtime, using
inefficient attributes for deduplication can take more than one day to run for
large datasets, while using more efficient attributes allows it finish in about 15
hours. Thus, selecting the best attribute for indexing is a crucial step.
6</p>
    </sec>
    <sec id="sec-6">
      <title>Concluding Remarks</title>
      <p>In this work, we presented a method for automatically selecting the best
attributes for the first step on data deduplication processing: indexing. The goal
was to rank attributes, enabling to identify those that would provide more
efficient and effective deduplication. In the experimental evaluation, we evaluated
the proposed method on synthetic and on real datasets. Moreover, we assessed
questions related to: the efficiency and effectiveness of the indexing attribute
considering two of the main methods for record comparison (blocking and neighbor);
the indexing functions (agnostic and configurations-based), and the combination
of indexing attributes. Due to space constraints, we only showed the results in
standard blocking algorithm. Finally, we also verified the effectiveness of the
proposed method for selecting relevant attributes.</p>
      <p>Our main conclusion is the most efficient and effective data deduplication
results are achieved by using the best ranked attributes as given by our method.
We are in the process of comparing the proposed method against baselines. In
the future, we plan to evaluate our solution over other datasets, analyze cases
of failures in which it does not identify the best attribute (Restaurant Dataset)
as well as evaluate metrics of false positives and negatives.</p>
      <p>Acknowledgments. Research partially funded by CNPq and FAPEMIG, Brazil.
The authors also thank PPGCC/UFMG for financial support.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Borges</surname>
            ,
            <given-names>E.N.</given-names>
          </string-name>
          , et al.:
          <article-title>Contact deduplication in mobile devices using textual similarity and machine learning</article-title>
          .
          <source>In: ICEIS</source>
          . pp.
          <fpage>64</fpage>
          -
          <lpage>72</lpage>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Canalle</surname>
            ,
            <given-names>G.K.</given-names>
          </string-name>
          , et al.:
          <article-title>A strategy for selecting relevant attributes for entity resolution in data integration systems</article-title>
          .
          <source>In: ICEIS</source>
          . pp.
          <fpage>80</fpage>
          -
          <lpage>88</lpage>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Carvalho</surname>
            ,
            <given-names>L.F.M.</given-names>
          </string-name>
          , et al.:
          <article-title>Entity matching: A case study in the medical domain</article-title>
          .
          <source>In: AMW</source>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , et al.:
          <article-title>A learning method for entity matching</article-title>
          .
          <source>In: QDB</source>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Christen</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Data Matching: Concepts and Techniques for Record Linkage</article-title>
          , Entity Resolution, and Duplicate Detection. Springer, Berlin (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Christen</surname>
            ,
            <given-names>P.:</given-names>
          </string-name>
          <article-title>A survey of indexing techniques for scalable record linkage and deduplication</article-title>
          .
          <source>TKDE</source>
          <volume>24</volume>
          (
          <issue>9</issue>
          ),
          <fpage>1537</fpage>
          -
          <lpage>1555</lpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Davis</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          , et al.:
          <article-title>Methods for precise named entity matching in digital collections</article-title>
          .
          <source>In: JCDL</source>
          . pp.
          <fpage>125</fpage>
          -
          <lpage>127</lpage>
          (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Fellegi</surname>
            ,
            <given-names>I.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sunter</surname>
            ,
            <given-names>A.B.</given-names>
          </string-name>
          :
          <article-title>A theory for record linkage</article-title>
          .
          <source>Journal of the American Statistical Association</source>
          <volume>64</volume>
          (
          <issue>328</issue>
          ),
          <fpage>1183</fpage>
          -
          <lpage>1210</lpage>
          (
          <year>1969</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Hernández</surname>
            ,
            <given-names>M.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stolfo</surname>
            ,
            <given-names>S.J.:</given-names>
          </string-name>
          <article-title>The merge/purge problem for large databases</article-title>
          .
          <source>In: ACM SIGMOD</source>
          . pp.
          <fpage>127</fpage>
          -
          <lpage>138</lpage>
          (
          <year>1995</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Levin</surname>
            ,
            <given-names>F.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heuser</surname>
            ,
            <given-names>C.A.</given-names>
          </string-name>
          :
          <article-title>Using genetic programming to evaluate the impact of social network analysis in author name disambiguation</article-title>
          .
          <source>In: AMW</source>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>McCallum</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , et al.:
          <article-title>Efficient clustering of high-dimensional data sets with application to reference matching</article-title>
          .
          <source>In: ACM SIGKDD</source>
          (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Papadakis</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          , et al.:
          <article-title>Schema-agnostic vs schema-based configurations for blocking methods on homogeneous data</article-title>
          .
          <source>PVLDB</source>
          <volume>9</volume>
          (
          <issue>4</issue>
          ),
          <fpage>312</fpage>
          -
          <lpage>323</lpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Su</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          , et al.:
          <article-title>Record matching over query results from multiple web databases</article-title>
          .
          <source>TKDE</source>
          <volume>22</volume>
          (
          <issue>4</issue>
          ),
          <fpage>578</fpage>
          -
          <lpage>589</lpage>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Vieira</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          , et al.:
          <article-title>A query-driven, incremental process for entity resolution</article-title>
          .
          <source>In: AMW</source>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Winkler</surname>
          </string-name>
          , W.E.:
          <article-title>String comparator metrics and enhanced decision rules in the fellegi-sunter model of record linkage</article-title>
          .
          <source>In: Proceedings of the Section on Survey Research</source>
          . pp.
          <fpage>354</fpage>
          -
          <lpage>359</lpage>
          (
          <year>1990</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Yan</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , et al.:
          <article-title>Adaptive sorted neighborhood methods for efficient record linkage</article-title>
          .
          <source>In: JCDL</source>
          . pp.
          <fpage>185</fpage>
          -
          <lpage>194</lpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>