<!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>Record Linkage as a Multiobjective Optimization Problem solved by Evolutionary Computation</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Francesco Cusmai SAPIENZA - Univ. Roma</string-name>
          <email>carola.aiello@dis.uniroma1.it</email>
          <email>catarci@dis.uniroma1.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>ITALY cusmai.francesco@gmail.com</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Monica Scannapieco</string-name>
          <email>scannapi@istat.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Carola Aiello SAPIENZA - Univ. Roma</institution>
          ,
          <country country="IT">ITALY</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>ISTAT and SAPIENZA - Univ. Roma</institution>
          ,
          <country country="IT">ITALY</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Tiziana Catarci SAPIENZA - Univ. Roma</institution>
          ,
          <country country="IT">ITALY</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Record linkage is an important problem to be solved in all contexts in which data integration is to be performed under the hypothesis of data sources that can exhibit errors. In this paper we formulate the record linkage problem as a multiobjective optimization problem and we propose an algorithm for solving it based on evolutionary computation. This computational paradigm has a stochastic, adaptive and intrinsically parallel nature that makes it particularly suitable for a peer-to-peer integration context. Experiments on real datasets proved the effectiveness and efficiency of this novel approach.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>INTRODUCTION</title>
      <p>Peer data management systems (PDMSs) are distributed
data management systems where peers interact according to
a peer-to-peer paradigm. Differently from traditional data
integration systems, no centralized global schema is present,
but each peer maps its own schema to schemas of other peers
on a local basis. These systems are characterized by large
scale, high dinamicity and openness.</p>
      <p>Query answering in these systems is realized by
exploiting peer mappings that describe the semantic relationships
between the schemas of pairs (or small sets of) peers. In
order to specify such mappings, it is important to join the
different sources on identifying attributes. In real
integration scenarios, such attributes may be affected by errors,
that is joins cannot be performed in an exact way, but some
approximation must be introduced.</p>
      <p>In order to implement approximate joins for the purpose
of integrating data, a record linkage activity must be
performed. Given two (or more records) record linkage (RL)
has the purpose of comparing them on some common
attributes and deciding if they are a match or not, on the
basis of the result of such a comparison. The record linkage
problem has been studied since more than five decades, but
Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are
not made or distributed for profit or commercial advantage and that copies
bear this notice and the full citation on the first page. To copy otherwise, to
republish, to post on servers or to redistribute to lists, requires prior specific
permission and/or a fee.</p>
      <p>Copyright 2008 ACM X-XXXXX-XX-X/XX/XX ...$5.00.
in the context of peer data management systems, it presents
new research challenges.</p>
      <p>
        More specifically, record linkage techniques can be
classified into: probabilistic, knowledge-based and empirical
[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. The main reference for the probabilistic RL
literature is the Fellegi and Sunter model [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]; many different
methods have been proposed to estimate the parameters
of such a model, most of them based on the
ExpectationMaximization method [
        <xref ref-type="bibr" rid="ref12 ref22">12, 22</xref>
        ]. The probabilistic approaches
have problems with respect to the estimation of the Fellegi
and Sunter model’s parameters with large data sets [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ].
      </p>
      <p>
        In knowledge-based techniques (e.g., [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]) the RL process
is based on the use of rules. These rules represent the
domain knowledge that is extracted from the data sources to
be matched, and reasoning strategies are applied to make
the process more effective. These techniques are typically
based on the usage of training sets to learn rules, hence this
is a scenario difficult to implement due to the dinamicity
and openness features of a PDMS.
      </p>
      <p>
        Empirical techniques (see e.g., [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]) focus mainly on the
search space reduction problem and are typically used in
conjunction with techniques of the cited paradigms.
      </p>
      <p>To overcome these limitations, we propose to solve the
record linkage in a PDMS setting by using a completely
novel approach, based on evolutionary computation.
Evolutionary algorithms have all the features desired for this
specific setting: they are stochastic, adaptive and
intrinsically parallel search algorithms. Indeed, the stochastic
feature and the intrinsic parallelism can help to face problems
deriving from large scale; adaptiveness is very important for
the dinamicity and openness of PDMSs.</p>
      <p>More specifically, in this paper, we first formulate the
record linkage problem as a multiobjective optimization
problem. Then, we extend an evolutionary algorithm named
NSGA-II, used for solving multiobjective optimization
problems, in order to solve our problem. We experimentally show
that our algorithm has good performance, both in terms of
effectiveness and efficiency.</p>
      <p>The rest of the paper is organized as follows. After some
background definitions, provided in Section 2, Section 3
describes two formulations of the record linkage problem.
Then, in Section 4, we describe the details of the proposed
algorithm. Finally, we present our experimental results in
Section 5 and we draw some conclusions in Section 7. The
related work is presented in Section 6.</p>
    </sec>
    <sec id="sec-2">
      <title>DEFINITIONS</title>
      <p>
        Before presenting the details of our algorithm we provide
some background definitions. In general, multiobjective
optimization problems can be defined in the following way [
        <xref ref-type="bibr" rid="ref3 ref4">4,
3</xref>
        ]:
      </p>
      <p>M in/M ax fm(x)</p>
      <p>m = 1, 2, ..., M
gj &gt; 0 j = 0, ..., J
hk = 0 k = 1, ..., K
xiL 6 xi 6 xi</p>
      <p>U
i = 1, ..., n.</p>
      <p>(1)
(2)
(3)
(4)</p>
      <p>Where f is the function to optimize, (2) and (3) represent
constraints to be satisfied and (4) is the interval of values
that xi can assume.</p>
      <p>The differences between multiobjective optimization
problems and the single-objective ones are:
• M objectives instead of a single one;
• beside the n-dimensional space of the admissible
solutions (which is also present in single-objective
optimization problems), there is a further M-dimensional
space whose coordinates correspond to the M
objectives of the problem;
• generation of a set of solutions.</p>
      <p>In a multiobjective optimization scenario a different
definition of optimum is needed. In the following we introduce
the notion of Pareto optimum that is the one mainly adopted
in these cases.</p>
      <p>Definition - Pareto Optimality A solution x ∈ Ω is
Pareto optimal in Ω if and only if there is no y ∈ Ω :
v = F (y) = f1(y), f2(y), ..., fk(y) dominates u = F (x) =
f1(x), f2(x), ..., fk(x).</p>
      <p>To state if a solution x is better than a solution y we refer
to the following definition:</p>
      <p>Definition - Pareto Dominance A vector u =
(u1, ..., uk) dominates a vector v = (v1, ..., vk) (u v) if and
only if ∀i ∈ {1, .., k} ui 6 vi and ∃i ∈ {1, .., k} ui &lt; vi.
With this ordering relation between the solutions an
optimal set will be defined in the following way:
Definition - Pareto Optimal Set Let us consider an
optimization problem where F (x) is the function to be
optimized, the Pareto Optimal Set P is: P = {x ∈ Ω | ∄y ∈
Ω F (y) F (x)}.</p>
      <p>For each decision variable belonging to the Pareto
Optimal Set there is a correspondent vector in the space of the
objective function as stated by the following definition:</p>
      <p>Definition - Pareto Front Let us consider an
optimization problem with an objective function F (x) and a Pareto
Optimal Set P, the Pareto Front F is defined as:
F = {u = F (x) | x ∈ P}.</p>
      <p>
        Multiobjective optimization problems can be solved with
evolutionary algorithms [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Evolutionary computation is a
paradigm inspired by the biological evolution process that is
ruled by natural selection [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]; it includes techniques of
genetic algorithms, evolution strategies and evolutionary
programming [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. The use of evolutionary algorithm to solve
multioptimization problems is mainly due to the
populationbased nature of these algorithms which allows the generation
of several elements of the Pareto Optimal Set in a single run.
A formal definition for an evolutionary algorithm is provided
in the following.
      </p>
      <p>Definition - Evolutionary Algorithm An evolutionary
algorithm is defined as an 8-tuple
EA = (I, Φ, Ω, μ, λ, s, ι, Ψ)
where:
• I = Ax × As is the space of the individuals with Ax e</p>
      <p>As arbitrary sets.
• Φ : I 7−→ R denotes the fitness function which assigns
real values to the individuals.
• Ω = {ωΘi, ..., ωΘz | ωΘi : Iλ 7→ Iλ} ∪ {ωΘ0 : Iμ 7→
Iλ} is a set of probabilistic genetic operators ωΘi,
each one controlled by specific parameters contained
in Θi ⊂ R. λ is the number of son-individuals and μ
is the number of father-individuals.
• sΘi : (Iλ ∪ Iμ+λ) 7→ Iμ denotes the selection
operator that can change the number of individuals from
λ to μ + λ where λ = μ is allowed. A further set of
parameters Θs can be used by the selection operator.
• Finally ι : Iμ 7→ {true, f alse} is an ending condition
for the evolutionary algorithm and the transition
function Ψ : Iμ 7→ Iμ describes the transformation process
of a population P into the next one by applying the
genetic operators and the selection:
– Ψ = s ◦ ωΘ1 ◦ ... ◦ ωΘj ◦ ωΘ0
– Ψ(P) = sΘi(Q S ωΘi1 (...(ωΘij (ωΘ0(P)))...))
– {i1, ..., ij} ⊆ {1, ...z}</p>
      <p>Q ∈ {∅, P}
3.</p>
    </sec>
    <sec id="sec-3">
      <title>PROBLEM FORMULATION</title>
      <p>Let us consider two files, say A and B, of dimension n and
m respectively. Without loss of generality we assume that
n 6 m.</p>
      <p>In our work we formulate the RL problem as a
multiobjective optimization problem, according to two distinct
formulations, detailed in the following.</p>
      <sec id="sec-3-1">
        <title>FORMULATION I</title>
        <p>m n
max X X F (yiA, yjB) · xij
i=1 j=1
m
X xij 6 1
j=1
n
X xij 6 1
i=1
Variables xij are equal to 1 when record j of file B
has been assigned/matched to record i of file A and 0
otherwise.</p>
        <p>
          The function F (yiA, yjB) calculates the distances between
fields of record i of file A and fields of record j of file B and
it is composed by the functions f1(yiA1, yjB1), ..., fn(yiAn, yjBn).
These functions can be chosen among a set of comparison
functions between strings such as Edit Distance, Jaro and
others [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]. Note that a different function can be used for
comparing different fields.
        </p>
        <p>Constraints (6) and (7) assure that the match is one to
one. Specifically, a record of the file A can be matched with
at most one record of the file B and viceversa.</p>
        <p>The goal is to maximize the total values for comparison
functions.</p>
        <sec id="sec-3-1-1">
          <title>Example.</title>
          <p>Let us suppose to run a RL procedure between table 1
and table 2, shown in the following. As a first step we focus
on the common attributes of file A and file B thus obtaining
files A’ and B’ shown in tables 3 e 4.</p>
          <p>The problem formulation for this input is:</p>
          <p>Notice that for both Surname and Address we have chosen
the edit distance as comparison function.</p>
          <p>An optimal solution for this case is obtained with the
following assignment of the variables:</p>
          <p>x11 = 1 x22 = 1 x33 = 1
∀ij (1 ≤ i ≤ 3 ∧ 1 ≤ j ≤ 4 ∧ i 6= j) → xij = 0.</p>
          <p>Formulation I does not take into account any threshold value
when comparing different record fields on the basis of
similarity functions. However, this is a common input to
several record linkage procedures; therefore, we include these
thresholds in a second problem formulation, detailed in the
following.</p>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>FORMULATION II</title>
        <p>m n
max X X(F (yiA, yjB) · xij) · tij
i=1 j=1
(12)
The objective of this problem formulation is the
maximization of the global similarity values of those match that
satisfy the condition F (yiA, yjB) &gt; V and xij = 1 where V is
a vector of similarity thresholds that a match must exceed
or at least be equal in order to be considered a true match.
For this second formulation of the problem we developed
an algorithm that uses a specific mutation genetic operator
in order to focus the search. The genes of the individual of
the population that is submitted to mutation are changed
in a selective way. The mutated genes are those that
correspond to matches that do not satisfy the condition
F (yiA, yjB) &gt; V and xij = 1 .</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>EARL: AN EVOLUTIONARY</title>
    </sec>
    <sec id="sec-5">
      <title>RITHM FOR RECORD LINKAGE</title>
    </sec>
    <sec id="sec-6">
      <title>ALGO</title>
      <p>In this section we describe the algorithm we propose for
record linkage, called EARL (Evolutionary Algorithm for
Record Linkage). The aim of the algorithm is to generate a
matching of records where the total distance between each
attribute selected for the match is maximized, according to
the given problem formulations.</p>
      <p>The algorithm is composed by the phases shown in Figure
1, which are described in the following.
4.1</p>
    </sec>
    <sec id="sec-7">
      <title>Phase I: Initialization and Creation of the</title>
    </sec>
    <sec id="sec-8">
      <title>First Population</title>
      <p>The parameters that are input to EARL are:
• The dimension of the initial population, the number of
generations and a parameter, named x, which is a
negative integer that supports the creation of individuals
(as better detailed in the following). All these
parameters are set on the basis of the results we have obtained
from tests on real datasets, detailed in Section 5.
• Matching attributes, that is those attributes of the
input files that will be actually compared for taking the
EARL</p>
      <p>In the following, we will indicate as donor file, the file which
has the highest number of records; instead, we will indicate
as receiving file the other one. The donor and receiving
files are read in two multidimensional arrays, with a number
of rows equal to the records of each file and a number of
columns equal to the number of attributes selected for the
match. The first population is generated in a random way
starting from the files which are input to the record linkage
procedure. Let m be the dimension of the donor file and
n be the dimension of the receiving file. Each individual
of the initial population, say v, is represented by an array
of objects with dimension n. Each object is a vector of k
values corresponding to values of the comparison function
function for each attribute in case of a match, it is vector of
zero otherwise. The following pseudocode shows how each
individual is created.
for i =1 to n
z =randomGen(x,m)
if z &lt;0
else if z =q&gt;0</p>
      <p>The function randomGen generates a random value
between x and m, where x is a parameter set in dependence
of the value of m (see Section 5); the idea is to select
randomly the index of the record of the donor file to match (or
not) with the current index of the record of the receiving file.
The variable z has a negative value in the case of a decision
of not assigning a match for the corresponding records which
have been compared; it has a positive value otherwise.</p>
      <p>In order to satisfy the RL one-to-one constraint, when
creating the new individual a preventive check is performed
to avoid the creation of inadmissible solutions.
2. Evaluation of the individuals for each objective
3. Assignment of a rank to each individual in function of a
ranking based on the Pareto dominance principle
4. Generation of individuals from P1 in order to obtain a
population P1′ of size 2N
(a) Extraction of individuals from P1 with a selection
(b) Crossover and mutation of the extracted individuals
5. f or i = 1 to g</p>
      <p>For each individual of population Pi′ with i &gt; 1
(a) According to the Pareto dominance principle,
assignment of a rank to each individual and
conforming partition of the population into
nondominated fronts Fk
(b) Creation of a new population Pi+1 of size N from
Pi′
for j = 0 to j &lt; k Fj.size &lt; N − Pi+1.size
sorting the solutions of Fj by the so-called</p>
      <p>crowding distance 1</p>
      <p>Pi+1 = Pi+1 ∪ Fj
(c) If N − Pi+1.size &gt; 0
sorting of the solutions of Fj according to the</p>
      <p>crowding distance
adding of the first N − Pi+1.size of FJ to Pi+1
(d) Creation of Pi′+1 through selection, crossover and
mutation on Pi+1</p>
      <p>The algorithm creates a population of individuals, it sorts
each individual according to its level of non-domination then
it applies the evolutionary operators to the population. The
favorite individuals for the new population are those with
the best rank and with the best crowding distance (elitism).</p>
      <sec id="sec-8-1">
        <title>4.2.2 Input Parameters to NSGA-II</title>
        <p>The algorithm NSGA-II is initialized in the following way:
• N is the initial population where each individual
represents a linkage between the receiving file and the donor
file;
• g is the number of generations;
1The crowding distance is computed for each objective i in
the following way:
• sorting of the solutions according to the objective i;
• computation of the distance of the individual s as the
difference between the values of fi assumed by the previous
and by the next individual of s, this value is normalized
with the difference that the first and the last individuals
assume for objective i;
• he crowding distance of individual s will be the sum of
these distances obtained for each objective i.
• the function to be optimized is:</p>
        <p>n
F (v) = X[vi1, . . . , vik] = [v1, . . . , vk]
i=1
(16)
where v1 denotes (a value for) the global similarity
between the strings of the field that corresponds to the
first matching attribute of the record of the receiving
file and of the donor file of the individual v.</p>
        <p>• the genetic operators defined in the following section.</p>
      </sec>
      <sec id="sec-8-2">
        <title>4.2.3 Definition of the Genetic Operators</title>
        <p>In this section we describe the genetic operators used in
EARL. The selection operator is binary tournament, as
typically used in NSGA-II.</p>
        <p>The binary tournament genetic operator selects the
individuals of the population in the following way:
1. a sorted array whose length is equal to the dimension
of the population is created, each field of the array
contains an integer that represents an individual of the
population, the array can contain the same elements;
2. it takes the individual i and the individual i + 1,
selected between the followings:
• the individual with the best rank;
• the individual with the best crowding distance,</p>
        <p>when having the same rank;
• the individual is randomly selected, when having</p>
        <p>the same rank and the same crowding distance.</p>
        <p>The crossover and mutation operators have been newly
defined in order to fit our specific problem.</p>
        <p>Our crossover operator takes as input two individuals and
returns two individuals built with the best genes of the
starting individuals. To perform this kind of crossover
the genes of the starting individuals are compared one by
one, if there exists a gene that dominates (according to
the Pareto Dominance principle) the other, this gene is
selected to create the new individual, otherwise, if none of
the individuals dominate another one, the choice will be
random.</p>
        <p>Our mutation operator changes those genes that correspond
to values of the similarity function that will probably lead
to false-matching. Specifically the similarity functions
assume values between 0 and 1 and if the value computed
between any two attributes of two records is 0 then with a
high probability the two records don’t represent the same
entity.</p>
        <p>The genes of the individual submitted to mutation are
changed in part according to the described mutation
operator and in part randomly. The described mutation is
mainly performed in the first generations and becomes less
frequent in the next generations when the ratio between
nongood genes and the total genes is less significant. On the
other hand the random mutation, that is always applied to
the same part of the population during all the generations,
avoids the risk of a too premature convergence and the risk
of falling into local maxima of the function.</p>
        <p>In order to satisfy the RL one-to-one constraint, when
creating the new individual a repairing action is performed.
1 7 5 0
a no uf imn ibtiea rl po fo ipn udlaiv tiido un ls</p>
      </sec>
    </sec>
    <sec id="sec-9">
      <title>EXPERIMENTS</title>
      <p>This section describes a set of experiments performed with
the objective of testing the effectiveness and efficiency of
EARL.</p>
      <p>We have used real data sets about personal data related to
Rome citizens, owned by an Italian public administration.
Specifically, we have run experiments on two datasets that
were populated by different processes, each of size of about
8000 records. On these datasets, in the following dataset A
and dataset B, a record linkage activity had already been
performed in the context of a project lasted several months
and involving both deterministic and probabilistic
procedures. A significant human intervention was also necessary
in order to decide the status of matching of records. We used
these already available results as a benchmark for evaluating
the effectiveness of EARL.</p>
      <p>
        As far as the technological platform, we ran experiments
on a PC with CPU of 2 Ghz and RAM of 1 GB, with OSX
operating system. EARL was developed in Java. A tool
called jmetal [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] supported the development of the
evolutionary algorithm, and an open source java library was used
for string comparison functions [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ].
5.1
      </p>
    </sec>
    <sec id="sec-10">
      <title>Effectiveness and Efficiency Experiments</title>
      <p>In order to better study the behavior of EARL, we
extracted 3 subsets of data from datasets A and B, respectively
of sizes 300, 600, and 1000.</p>
      <p>First of all we studied how to set up the dimension of the
initial population.</p>
      <p>Figure 2 shows how the number of true matches increases
with the dimension of the initial population for the two
problem formulations we have provided. Specifically, algorithm
EARL 1 corresponds to the first problem formulation: the
curve consistently grows up with number of individuals.
Algorithm EARL 2 corresponds to the second problem
formulation, in which thresholds on the matching attributes have
all been fixed to 0.8. As it is shown, the EARL 2 curve
is constant when varying the number of individuals of the
initial population, which is a quite interesting finding. In
order to understand the effect on the time behavior of this
result, we have studied the execution times, when varying
the number of individuals of the population. In Figure 3,
we report the execution time for the dataset of 1000 records:
obviously the time increases with the dimension of the initial
population, though quite slowly, confirming the substantial
independence of the EARL 2 algorithm from the dimension
of the initial population.</p>
      <p>A second set of experiments was made in order to consider
how to fix the number of generations. Such experiments
(that we do not report for lack of space) allowed to study
the number of evaluations, defined as the product between
the number of individuals and the number of generations.
The experiments showed:
• A few number of generations was necessary for the
convergence of EARL 1. 2
• how to fix the number of generations of EARL 2, in
dependence of the behavior of the number of evaluations
when varying the dimensions of the input datasets.</p>
      <p>A third set of experiments allowed us to choose a value
for the x parameter (see Section 4). We have observed that
the parameter has an impact on how fast the algorithm
converges, and hence on effectiveness and efficiency. More
specifically, high values of x leads to a low effectiveness,
remaining constant the number of generations and the
dimension of the population. Hence, a rule of thumb for the
choice of x is to consider quite low values, between 2% and
5% of the dataset with the highest dimension.</p>
      <p>Finally, in Figure 4, we report the effectiveness
performance of EARL 1 and EARL 2 that must be compared to
the real performance figures we had for our benchmark data.
The number of true matches is reported for EARL 1, EARL
2 and the real data. We can notice that:
• the performance of EARL 1 are quite good for datasets
of 300, 600 and 1000 records, while become
dramatically low for the 8000 record data set. This is mainly
due to the fact that for such data set it was not
possible, due to memory limitations of the experimental
environment, to increase the number of individuals of
the initial population in order to have better
performance.
• the performance of EARL 2 (which are independent
on the number of individuals of the initial population)
are instead very good, even when compared with exact
methods for record linkage, being the percentage of the
true matches always higher than 80% of the real true
matches with peaks of more than the 90%.</p>
      <p>In synthesis, algorithm EARL 1 is really independent on
the data, and does not need to fix parameters like threshold
values that require an accurate analysis of the data at hand.
2Actually we verified that the behavior of EARL 1 can lead
to a premature convergence to local maxima independent on
the number of generations.
On the other hand it can have performance that are not
acceptable (but can be refined by appropriate tuning some
parameters). Algorithm EARL 2 exhibits very good
performance but threshold values must be fixed for the matching
attributes.</p>
      <p>Finally, we ran an experiment with the objective to test
the time efficiency of the two algorithms (EARL 1 and
EARL 2 of course have the same time performance,
implementing the same computational steps). In Figure 5, we
show the time necessary for the execution versus the
dimensions of the input datasets, to which we added a 20000 record
datasets, obtained synthetically from the 8000 record one.
We can observe that the such performance are really good:
for the maximum size datasets, that is 20000 records each,
the time is of slightly more than one hour.</p>
    </sec>
    <sec id="sec-11">
      <title>RELATED WORK</title>
      <p>In this section, we briefly review some works of the area
of multiobjective optimization through evolutionary
algorithms.</p>
      <p>
        In 1985 Schaffer [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] implemented VEGA (Vector
Evaluated Genetic Algorithm), the first multiobjective genetic
algorithm to find a non-dominate solution set. On one hand
this algorithm has the advantage of an easy implementation,
on the other the algorithm could, with an high probability,
prefer in the selection step solutions that are near the
optimum only for one single objective. In 1993 Hajela e Lin [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]
proposed a genetic algorithm based on weights (WBGA).
Each objective function is multiplied by a certain weight;
the sum of these weighted objective functions represents the
fitness function. The algorithm has a low complexity, but it
is difficult to obtain a uniform diversity of non-dominated
solutions, because a uniform diversity of the weights doesn’t
necessarily correspond to a uniform diversity of solutions.
Fonseca and Fleming in 1993 [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] introduced a
multiobjective genetic algorithm (MOGA) that uses non-domination
population classification. At each individual of the
population a rank is assigned. This rank is calculated as a function
of the number of individuals that dominate it. In this way
non-dominated individuals have the same rank. In
particular cases, the algorithm can produce an unexpected bias in
the direction of some solutions in the search space. In 1989
Goldberg proposed to use the concept of non-dominated
sorting for genetic algorithms. This idea was implemented
by Srinivas and Deb in 1994 [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] in Non-dominated Sorting
Genetic Algorithm (NSGA). The algorithm performance is
strongly dependent on the minimum distance that two
solutions must have in order that one doesn’t influence the
other’s fitness value. In 1998 Zitler e Thiele [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ] proposed
an elitist evolutionary algorithm (SPEA). In each iteration
the external population is populated with the best
individuals. In case that the insertion of new individuals makes the
external population exceed a certain dimension, it will be
reduced with clustering techniques. Fitness assignment
procedure is easy to calculate and a clustering algorithm ensures
a good spread but a large external population increases the
selection pressure for the elites and a small external
population cancels the effect of elitism. Moreover there is a bias in
fitness assignment dependent on the exact population and
densities of solutions in the search space. In 2000 Knowles
e Corne [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] proposed Pareto-Archived Evolution Strategy
(PAES). The approach consists in keeping a small/limited
archive of non-dominated solutions. The archive is updated
in the next generations in order to keep non-dominated
solutions with a good degree of diversity. The problem of this
algorithm is the definition of the archive’s size: if too small it
can loose optimal solutions, if too big it can make the
algorithm inefficient. The algorithm used in this paper, namely
NSGA-II [
        <xref ref-type="bibr" rid="ref5 ref6">5, 6</xref>
        ], implements a specific strategy in order to
keep the best individuals, and a mechanism for preserving
the diversity among the different solutions. We have
chosen this algorithm as a basis for EARL because it allows to
have a Pareto ordering of the individuals in the population,
without creating a unique, artificial macro-objective as a
linear combination of the single objectives. This feature fits
perfectly with the nature of our problem. Moreover, with
respect to other algorithms similarly using Pareto-based
ordering, a better efficiency is obtained by NSGA-II .
      </p>
      <p>
        As far as we know, genetic algorithms haven’t been used
expressly for the RL process, but some of the approaches
proposed for database merging provided a useful
contribution to such a usage. In [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] a genetic algorithm is used for
the constrained statistical matching3. In this work the
con3Statistical matching is a procedure used to link two files or
strained statistical matching is reduced to the balanced
linear transportation problem. The function to be minimized
is the sum of the squares of the distances between the fields
of the matched records. This approach is similar to WBGA
where each objective has equal weights. For this reason
it’s hard to know between two solutions with equal fitness
which solution is better in which objective. Zhu and Ungar
[
        <xref ref-type="bibr" rid="ref24">24</xref>
        ] propose a technique for database merging that uses the
dynamic programming to compute the distance between a
couple of strings. This approach has a good accuracy after
150 generations, but it needs to define, for each domain, a
dictionary in order to standardize data, otherwise the
accuracy decreases significantly.
      </p>
    </sec>
    <sec id="sec-12">
      <title>CONCLUSION AND FUTURE WORK</title>
      <p>In this paper we have presented an original formulation of
the record linkage problem as a multiobjective optimization
problem, and we have proposed an evolutionary algorithm,
EARL, for solving it. The context in which we see the
major application of this algorithm is the one of peer-to-peer
management systems. In its current implementation, EARL
has the following advantages if used in this context:
• first, it is a one-shot algorithm. Specifically, record
linkage is typically implemented as a process with
different algorithms for each of its phases, such as a
search space reduction phase which involves sorting
algorithms, a phase where the appropriate comparison
functions must be chosen, a decision phase with related
algorithms, etc. Instead, EARL is a single algorithm
that can be easily run even in complex contexts like
PDMSs.
• Second, as it is based on an evolutionary paradigm,
it depends just on data, that is EARL automatically
adapts to data at hand with limited human knowledge
required.</p>
      <p>However, it still needs an accurate design in order to be
deployed on a P2P platform. We plan to address the issues
regarding such design in the future. These issues include:
• the integration of the algorithm within the query
answering process;
• the design of distributed mechanisms for enacting the
algorithm in a peer to peer context;
• the physical distributed implementation of the
algorithm.
datasets where each record from one of the files is matched
with a record from the second file that generally does not
represent the same unit, but does represent a similar unit.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Thomas</given-names>
            <surname>Ba</surname>
          </string-name>
          <article-title>¨ck, Evolutionary algorithms in theory and practice: evolution strategies, evolutionary programming, genetic algorithms</article-title>
          , Oxford University Press, Oxford, UK,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>C.</given-names>
            <surname>Batini</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Scannapieco</surname>
          </string-name>
          ,
          <article-title>Data quality: Concepts, methods</article-title>
          and techniques,
          <source>Series on Advanced Database Applications</source>
          , Springer,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Gary</surname>
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Lamont Carlos A. Coello Coello</surname>
            and
            <given-names>David A. Van Veldhuizen</given-names>
          </string-name>
          ,
          <article-title>Evolutionary algorithms for solving multi-objective problems</article-title>
          , Springer,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>K.</given-names>
            <surname>Deb</surname>
          </string-name>
          <article-title>, Multi-objective optimization using evolutionary algorithms</article-title>
          ,
          <source>Wiley-Interscience Series in Systems and Optimization</source>
          , John Wiley &amp; Sons,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Kalyanmoy</given-names>
            <surname>Deb</surname>
          </string-name>
          , Samir Agrawal, Amrit Pratab, and
          <string-name>
            <given-names>T.</given-names>
            <surname>Meyarivan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A Fast</given-names>
            <surname>Elitist</surname>
          </string-name>
          <article-title>Non-Dominated Sorting Genetic Algorithm for Multi-Objective Optimization: NSGA-II, Proc. of the Parallel Problem Solving from Nature VI Conference</article-title>
          (Paris, France),
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Kalyanmoy</given-names>
            <surname>Deb</surname>
          </string-name>
          , Samir Agrawal, Amrit Pratap, and
          <string-name>
            <given-names>T.</given-names>
            <surname>Meyarivan</surname>
          </string-name>
          ,
          <article-title>A fast and elitist multiobjective genetic algorithm: Nsga-ii</article-title>
          ,
          <source>IEEE Trans. Evolutionary Computation</source>
          <volume>6</volume>
          (
          <year>2002</year>
          ),
          <source>no. 2.</source>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>A.K.</given-names>
            <surname>Elmagarmid</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.I.</given-names>
            <surname>Panagiotis</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.V.</given-names>
            <surname>Verykios</surname>
          </string-name>
          ,
          <article-title>Duplicate record detection: A survey</article-title>
          ,
          <source>IEEE Trans. on Knowledge and Data Engineering</source>
          <volume>19</volume>
          (
          <year>2007</year>
          ),
          <source>no. 1.</source>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Ivan</surname>
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Fellegi and Alan B. Sunter</surname>
          </string-name>
          ,
          <article-title>A theory for record linkage</article-title>
          ,
          <source>Journal of the American Statistical Association</source>
          <volume>64</volume>
          (
          <year>1969</year>
          ), no.
          <volume>328</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Giovanni</surname>
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Flores</surname>
          </string-name>
          and
          <article-title>Eliezer A. Albacea, A genetic algorithm for constrained statistical matching</article-title>
          ,(
          <year>2007</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>D.B. Fogel</surname>
          </string-name>
          ,
          <article-title>Evolutionary computation. towards a new philosophy of machine intelligence</article-title>
          ,
          <source>The Institute of Electrical and Electronic Engineers</source>
          , New York,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Carlos</surname>
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Fonseca</surname>
          </string-name>
          and
          <string-name>
            <surname>Peter J. Fleming</surname>
          </string-name>
          ,
          <article-title>Genetic algorithms for multiobjective optimization: Formulation, discussion and generalization</article-title>
          ,
          <source>Genetic Algorithms: Proc. of the Fifth International Conference</source>
          ,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>M.A.</given-names>
            <surname>Jaro</surname>
          </string-name>
          ,
          <article-title>Advances in record linkage methodologies as applied to matching the 1985 census of tampa,florida</article-title>
          , JASS-
          <volume>84</volume>
          ,
          <year>1985</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>J.H.</given-names>
            <surname>Holland</surname>
          </string-name>
          ,
          <source>Adaptation in natural and artificial systems</source>
          , The MIT Press, Cambridge,
          <year>1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>[14] jmetal, http://mallba10.lcc.uma.es/wiki/index.php/JMetal.</mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Joshua</surname>
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Knowles</surname>
            and
            <given-names>David W.</given-names>
          </string-name>
          <string-name>
            <surname>Corne</surname>
          </string-name>
          ,
          <article-title>Approximating the nondominated front using the pareto archived evolution strategy</article-title>
          ,
          <source>Evol. Comput</source>
          .
          <volume>8</volume>
          (
          <issue>2000</issue>
          ), no.
          <issue>2</issue>
          ,
          <fpage>149</fpage>
          -
          <lpage>172</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Nick</surname>
            <given-names>Koudas</given-names>
          </string-name>
          , Sunita Sarawagi, and Divesh Srivastava,
          <article-title>Record linkage: similarity measures and algorithms</article-title>
          , SIGMOD Conference,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>Wai</given-names>
            <surname>Lup</surname>
          </string-name>
          <string-name>
            <surname>Low</surname>
          </string-name>
          ,
          <article-title>Mong Li Lee, and Tok Wang Ling, A knowledge-based approach for duplicate elimination in data cleaning</article-title>
          ,
          <source>Inf. Syst</source>
          .
          <volume>26</volume>
          (
          <year>2001</year>
          ), no.
          <issue>8</issue>
          ,
          <fpage>585</fpage>
          -
          <lpage>606</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>P.</given-names>
            <surname>Hajela</surname>
          </string-name>
          and
          <string-name>
            <given-names>C.Y.</given-names>
            <surname>Lin</surname>
          </string-name>
          ,
          <article-title>Genetic search strategies in multi-criterion optimal design</article-title>
          ,
          <source>Structural Optimization</source>
          ,
          <year>1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Sam's String</surname>
            <given-names>Metrics</given-names>
          </string-name>
          , http://www.dcs.shef.ac.uk/ sam/stringmetrics.html.
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>J. David</given-names>
            <surname>Schaffer</surname>
          </string-name>
          ,
          <article-title>Multiple objective optimization with vector evaluated genetic algorithms</article-title>
          ,
          <source>Proc. of the 1st International Conference on Genetic Algorithms (Mahwah</source>
          , NJ, USA),
          <year>1985</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>N.</given-names>
            <surname>Srinivas</surname>
          </string-name>
          and
          <string-name>
            <given-names>Kalyanmoy</given-names>
            <surname>Deb</surname>
          </string-name>
          ,
          <article-title>Multiobjective optimization using nondominated sorting in genetic algorithms</article-title>
          ,
          <source>Evolutionary Computation</source>
          <volume>2</volume>
          (
          <year>1994</year>
          ),
          <source>no. 3.</source>
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>W.E.</given-names>
            <surname>Winkler</surname>
          </string-name>
          ,
          <article-title>Using the EM Algorithm for Weight Computation in the Fellegi and Sunter Modelo of Record Linkage</article-title>
          ,
          <source>Proceedings of the Section on Survey Research Methods</source>
          , American Statistical Association,
          <year>1988</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>W.E.</given-names>
            <surname>Yancey</surname>
          </string-name>
          ,
          <article-title>Improving em algorithm estimates for record linkage parameters</article-title>
          ,
          <source>RESEARCH REPORT SERIES</source>
          , Statistics no.
          <year>2004</year>
          -
          <volume>01</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>J. J.</given-names>
            <surname>Zhu</surname>
          </string-name>
          and
          <string-name>
            <given-names>L. H.</given-names>
            <surname>Ungar</surname>
          </string-name>
          ,
          <article-title>String edit analysis for merging databases</article-title>
          ,
          <source>Proceedings of the KDD-2000 Workshop on Text Mining</source>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>Eckart</given-names>
            <surname>Zitzler</surname>
          </string-name>
          and
          <string-name>
            <given-names>Lothar</given-names>
            <surname>Thiele</surname>
          </string-name>
          ,
          <article-title>An evolutionary algorithm for multiobjective optimization: The strength pareto approach</article-title>
          ,
          <source>Tech. Report 43</source>
          , CH-8092
          <string-name>
            <surname>Zurich</surname>
          </string-name>
          , Switzerland,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>