Você está na página 1de 10

IME

Monografias em Sistemas e Computao


n 01/2012

Deduplicao de Dados:
Uma Anlise Comparativa entre Abordagens
Ana Paula de C. Fernandes
Patrick B. A. de Lara

Seo de Engenharia de Computao

INSTITUTO MILITAR DE ENGENHARIA


PRAA GENERAL TIBRCIO 80 CEP 22290-270
RIO DE JANEIRO BRASIL

Monografias em Sistemas e Computao, No. 01/2012


Editor: Prof. Maria Claudia Cavalcanti

Maio, 2012

Deduplicao de Dados: Anlise Comparativa entre


Abordagens
Ana Paula de Carvalho Fernandes e Patrick Baptista Amaral de Lara
anap.fernandes29@gmail.com e patricklara@gmail.com

Abstract. Databases performance an important role in the economy and society. The
quality of information retrieval is based on a database without inconsistency. And this
search speed retrieval. The process of deduplication is the task of helping to identify
data repository replicas that relate to the same entity in the real world. Our work aims
to make a comparative analysis of the approaches proposed in related work. The focus
was a step in the process of deduplication, the comparison of records, but also quoted
the classification stage. The comparison was made up using the approaches and machine learning similarity metric.
Keywords: Deduplication, Genetic Programming, Classification, Similarity, Comparison of Records.
Resumo. Bancos de dados desempenham um papel importante na economia e na sociedade. A qualidade da recuperao das informaes tem como base um banco de dados sem inconsistncia. E busca rapidez nesta recuperao. O processo de deduplicao tem a tarefa de ajudar a identificar em repositrio de dados rplicas que refiram-se
a mesma entidade no mundo real. Nosso trabalho visa fazer uma anlise comparativa
sobre as abordagens propostas nos trabalhos relacionados. O foco foi em uma etapa
especfica do processo de deduplicao, a comparao de registros, mas citamos tambm a etapa de classificao. A comparao foi realizada em cima das abordagens que
utilizam aprendizagem de mquinas e mtricas por similaridade.
Palavras-chave: Deduplicao, Programao Gentica, Classificao, Similaridade,
Comparao de Registros.

1 Introduo
Os Bancos de Dados desempenham um importante papel na atual economia, baseada
em Tecnologia da Informao. Muitas indstrias e sistemas dependem da eficincia de
seus bancos de dados para conduzirem as suas operaes [1].
Entretanto, a falta de qualidade nas informaes armazenadas em bancos de dados
pode ter um custo significativo para as organizaes, e implicaes para os sistemas
que tratam as informaes de maneira a impossibilitar a conduo de seus negcios.
Em um sistema livre de erro e com dados perfeitamente limpos, a construo de uma
viso compreensiva dos dados consiste em ligaes, em termos de relacionais, unindo
duas ou mais tabelas com seus prprios campos-chave [1].
Porm, muitas vezes os dados no tm um nico identificador global que poderia
permitir estas operaes. Alm disso, os dados no possuem um controle de qualidade
cuidadoso e nem so definidas as fontes de dados de forma consistente. Assim, a qualidade dos dados comprometida por muitos fatores, incluindo erros de digitao,
como por exemplo, Ptrick ao invs de Patrick, e a falta de padronizao no armazenamento de informaes, como por exemplo, R. Mario Agostinelli, 50 e Rua Mario Agostinelli n. 50. Para tornar as coisas pior, em bancos de dados independentes,
no somente os valores, mas tambm a estrutura, a semntica, e diversas caractersticas
sobre os dados podem se diferenciar tambm. Muitas vezes, a integrao de dados de
diferentes fontes para implementar uma data warehouse, ocorre de forma cautelosa nas
organizaes, com um grande potencial de conflitos. Estes problemas so relacionados
no tema data heterogeneity [2].
O trabalho ser focado no problema de tratamento de dados duplicados de forma
Estrutural ou Lxica, ou seja, estudaremos duas dentre as vrias tcnicas que j foram
desenvolvidas para a abordagem e resoluo destes problemas especficos de deduplicao de dados, comparando as abordagens propostas pelos trabalhos relacionados.
No iremos estudar outras tcnicas que possuem soluo para outros problemas de
duplicao, como as tcnicas de mirror detection, onde o objetivo detectar pginas Web
idnticas ou similares [3], [4]. Tambm no vamos estudar solues para anaphora resolution [5], onde o problema consiste em localizar menes diferentes para uma mesma
entidade em um texto livre, como exemplo temos a palavra Presidenta, que se refere
mesma entidade que a atual presidente Dilma Rousseff. Existem algoritmos desenvolvidos para as solues de mirror detection e de anaphora resolution, que so aplicados
para tarefas de deteco de dados duplicados [1], [6].
O problema que ns vamos estudar j conhecido por mais de cinquenta anos como
the record linkage ou the record matching problem [7], [8], [9], [10], [11], [12] na comunidade de estatstica. O objetivo do record matching identificar os registros, na mesma base
ou em uma base de dados diferente, que se referem a uma mesma entidade no mundo
real, mesmo que os seus registros no sejam idnticos. Este mesmo problema possui
mltiplos nomes nas comunidades de pesquisas cientficas. Na comunidade de banco
de dados, o problema conhecido como merge-purge [13], data deduplication [14], e instance identification [15]. Na comunidade de Inteligncia Artificial, o mesmo problema
descrito como database hardening [16] e name matching [17]. Os nomes coreference resolution, identity uncertainty, e duplicate detection tambm so utilizados para esta tarefa.
Neste trabalho ns utilizaremos os termos duplicao e deduplicao de dados.

Nosso trabalho est organizado da seguinte maneira: na Seo 2, ns discutimos a


motivao para o estudo e os desafios encontrados na rea de deduplicao de dados.
Ento, a Seo 3 descreve as duas abordagens estudadas, as tcnicas de aprendizagem
de mquina, e as combinaes de pontuaes de mtricas de similaridade, apresentando um comparativo entre estas abordagens. A Seo 4 conclui o estudo e apresenta a
possibilidade de temas para trabalhos futuros nesta rea de pesquisa. Para finalizar, a
Seo 5 apresenta as referncias bibliogrficas utilizadas para a inicializao ao nosso
estudo em deduplicao de dados.

2 Deduplicao de Dados
2.1 Motivao
A identificao e a remoo de rplicas em repositrios de dados so essenciais para
manter o funcionamento com qualidade dos servios onde so disponibilizadas as informaes inseridas em seus bancos de dados. Sistemas que so dependentes da integridade das informaes para oferecer servios com qualidade, como as bibliotecas
digitais e os sistemas de comrcio eletrnico, podem ser afetados pela existncia de
rplicas em seus repositrios. Com isso, atualmente dada grande importncia aos
estudos de desenvolvimento de mtodos eficazes para remoo de dados duplicados,
ou rplicas, em grandes repositrios de dados [18], [19].

2.2 Desafios
Por ser um estudo bastante complexo, onde a tarefa de tratamento das informaes
requer muito tempo e poder de processamento, devido grande quantidade de comparaes de registros necessrias, as tcnicas de aprendizagem de mquina tm sido
utilizadas com notrio sucesso no tratamento do problema de deduplicao. Estas tcnicas necessitam de um treinamento, onde so gerados manualmente exemplos de dados replicados, para o aprendizado da tarefa de deduplicao. A etapa de gerao manual das rplicas dificulta a utilizao dessa tcnica em muitos casos, devido ao grande
custo e tempo que so necessrios para a criao de uma base de treinamento [20].
Os desafios deste trabalho so o estudo e a comparao entre as abordagens de tcnicas determinsticas, para sugerir de forma automtica exemplos de treino para um
mtodo de deduplicao baseado em programao gentica [21], [22] e as combinaes
de pontuaes de mtricas de similaridade [23].

3 Abordagens
Entre os pioneiros na rea de deduplicao, Felegi e Sunter formalizaram em um trabalho, a soluo para o problema de reconhecer registros duplicados (pessoas, aes ou
objetos idnticos) em dois arquivos de dados diferentes atravs de um modelo matemtico [11].
O mtodo proposto exige a definio de dois valores para o limiar. Aps definidos
os valores, uma funo de similaridade aplicada a um par de registros e o valor que
foi retornado ento comparado com os dois limiares anteriormente definidos. Se o
valor de similaridade for maior que ambos os limiares, os registros so considerados
duplicatas, ou rplicas. Caso o valor de similaridade seja menor do que ambos os limi-

ares, os registros so ento diferentes, e so determinados como no-rplicas. Os registros tambm podem ser classificados como possveis casamentos, ou possveis rplicas.
Isto ocorre quando o valor de similaridade retornado estiver entre os dois limiares.
Neste caso, necessria a interveno humana para julgar e decidir a similaridade.
A partir do trabalho de Fellegi e Sunter, a comunidade cientfica criou alternativas
que podem ser classificadas, de uma forma geral, sob dois principais aspectos: os que
utilizam mtodos baseados em tcnicas de aprendizagem de mquina e aqueles que
combinam os valores de pontuaes dos atributos atravs de alguma mtrica definida
de similaridade.

Figura 1: A Comparao de Registros uma etapa no processo de deduplicao.

3.1 Tcnicas de Aprendizagem de Mquinas


A aprendizagem de mquina est relacionada ao desenvolvimento de algoritmos e as
tcnicas que possibilitem ao computador aprender, isto , permitam ao computador
aperfeioar seu desempenho em alguma tarefa, atravs da experincia.
Programao Gentica (PG) uma tcnica de aprendizagem de mquina [24], [25],
que ajuda a encontrar respostas para um dado problema, onde o espao de busca
muito grande e h mais do que um objetivo a ser alcanado.
Em um passado recente, M.G. de Carvalho et al. [20] apresentaram uma abordagem
inovadora que identifica os registros duplicados em repositrios de dados utilizando a
PG, atravs desta abordagem, os registros so deduplicados utilizando evidncias extradas do contedo dos dados, criando uma funo de similaridade com a capacidade
de determinar os registros do repositrio que so rplicas.
Borges et al. estendem seu trabalho anterior [27], de modo que ao contrrio de definir os limites baseados na pontuao retornada pela semelhana das funes, eles
utilizam pontuaes para treinar algoritmos de classificao que identificam
automaticamente as referncias duplicadas [28]. Os experimentos, segundo os autores,
mostram que os classificadores aumentam a qualidade dos resultados, quando
comparados com a abordagem utilizada no trabalho anterior.

Em M.G. de Carvalho et al., os autores propem uma abordagem baseada na PG para a identificao automtica de rplica que combina evidncia com base no teor dos
dados, a fim de encontrar uma funo de similaridade que seja capaz de identificar se
duas entradas de um repositrio so rplicas ou no [21]. Os autores afirmam que esta
abordagem supera um mtodo basedo em SVM, alm disso as funes sugeridas so
computacionalmente menos exigentes, pois utilizam menos evidncias. E citam a capacidade de adaptao automtica a qualquer limite informado na identificao da rplica.
Recentemente, M.G. de Carvalho et al. propem uma abordagem de programao
gentica, para gravar a deduplicao que combina vrias partes de evidncias diferentes extradas a partir do contedo dos dados, a fim de encontrar uma funo de deduplicao que capaz de identificar se duas entradas de um repositrio so rplicas, ou
no-rplicas. Os experimentos demonstrados nessa abordagem supera alguns mtodos
considerado estado-da-arte, existente na literatura, como o de Fellegi e Sunter. Alm
disso, as funes sugeridas so computacionalmente menos exigentes, j que utilizam
menos evidncia. Alm de que, os autores afirmam que esta abordagem capaz de
adaptar automaticamente estas funes para um limite fixo de identificao dado
rplica, liberando o usurio do fardo de ter que escolher e ajustar este parmetro [22].

3.2 Combinaes de Pontuaes de Mtricas de Similaridade


Chaudhuri et al. [23] manipulam os registros como vetores de palavras. proposta
uma funo de similariade que considera os pesos das palavras utilizando o mtodo
Inverse Document Frequency (IDF) [29]. Atravs da similaridade proposta, um registro
de entrada comparado a um conjunto de registros de referncia.
Carvalho e Silva [30] utilizam o modelo vetorial que calcula a similaridade entre objetos de mltiplas fontes. Esta abordagem pode ser utilizada para deduplicar objetos
com estrutura complexa, como, por exemplo, arquivos XML.
Borges et al. apresentam uma abordagem para identificar metadados duplicados em
bibliotecas digitais distintas. A deduplicao realizada atravs do mapeamento entre
os rtulos dos metadados em diferentes formatos e de funes de similaridade
aplicadas sobre o contedo dos metadados. As principais contribuies do trabalho,
segundos os autores, so a melhora na qualidade da identificao de metadados de
objetos digitais duplicados e a especificao das funes de similaridade para o
domnio das bibliotecas digitais. A qualidade da deduplicao avaliada atravs de
uma serie de experimentos onde os resultados mostram que as funes propostas
melhoram a qualidade da deduplicao de metadados utilizando um algoritmo de
complexidade linear para a comparao de nomes de autores [26].
Borges et al. propem uma abordagem que identifica os registros de metadados
bibliogrficos duplicados de uma forma eficiente e eficaz. Propondo funes de
similaridade especialmente concebidas para o domnio de biblioteca digital, e
experimentos [27]. Ainda segundo os autores, os resultados mostram melhora na
qualidade da deduplicao dos metadados em comparao a outras linhas de
pesquisas diferentes, alm de equivaler estatisticamente quando comparados a um
mtodo estado-da-arte (SVM) para identificao de rplica baseado em programao
gentica. Isto sem o custo de qualquer processo de formao.

3.3 Comparativo entre as abordagens


Uma anlise comparativa entre as abordagens apresentadas anteriormente realizada
nesta seo. So descritos a seguir os critrios utilizados na comparao, e a tabela abaixo apresenta o comparativo entre as abordagens selecionadas.
Mtrica por Similaridade - Indica como ocorre o processo de combinao dos valores de pontuao gerados para os atributos de um objeto aconteceu, atravs da mtrica
por similaridade e especifica qual.
Aprendizagem de Mquina - Indica como ocorre o processo de combinao dos valores de pontuao gerados para os atributos de um objeto aconteceu, atravs de aprendizagem de mquinas e especifica qual.
Funo - Indica qual a funo (funes) de similaridade utilizada para comparar
os atributos de um objeto;
Aplicao - Mostra em qual rea de aplicao o trabalho utilizado;
Atributos - indica quais os atributos so comparados durante o processo. So colocadas duas alternativas: atributos comuns (C) aos dois objetos comparados ou todos (T)
os atributos;
Porcentagem (%) - Quantifica, atravs da porcentagem, a melhora que os experimentos trouxeram em comparao a outras abordagens especificadas em seus respectivos trabalhos.
Comparativo entre as Abordagens Selecionadas
Trabalho

Mtrica de
Similaridade

Aprendizagem
de Mquina

Funo

Aplicao

Chaudhuri
et al. [23]

Algoritmo
Fuzzy

NA

NA

Limpeza
dados

de

NA

Carvalho e
Silva (2003)
[30]

NA

Programao
Gentica

NA

Deduplicao
em arquivos
XML

75%

de Carvalho
et al. [20]

NA

Programao
Gentica

Geradas automaticamente

Bibliotecas
digitais

12%

de Carvalho
et al. [21]

NA

Programao
Gentica

NA

Bibliotecas
digitais

6,5%

Borges et al.
(2006) [26]

Algoritmo de
complexidade linear para
a comparao

NA

YearSim; IniSim;
NameMatch;
MetadataMatch

Bibliotecas
digitais

31,5%

Borges et al.
(2011a) [27]

Heurstica
no supervisionada

NA

Especficas para
o domnio

Bibliotecas
digitais

188%

Borges et al.
(2011b) [28]

NA

Programao
Gentica

YearSim; IniSim;
NameMatch;
MetadataMatch

Bibliotecas
digitais

11%*

de Carvalho
et al. (2012)
[22]

NA

Programao
Gentica

Funes especficas para cada


domnio

Bibliotecas
digitais

6,52%

Legenda:
a) * 11% de melhora em relao ao percentual alcanado anteriormente (2011a) [27]; e

b) NA = No Aplicvel.

4 Concluses e Trabalhos Futuros


A deduplicao de dados de dados segue como foco para buscar melhorias na recuperao da informao, atingir um repositrio limpo e livre de rplicas, e trazer dados
mais concisos.
A etapa de comparao de registros foi o foco deste trabalho de anlise comparativa. Mas a etapa de classificao tambm entra no contexto, por ser a posterior a de
comparao. Etapa onde os valores de similaridade obtidos anteriormente so classificados.
Alguns trabalhos propem o uso de mtricas de similaridade, enquanto outros propem mtodos que utilizam tcnicas de aprendizado de mquina. Ambos buscam alcanar melhora objetiva na deduplicao dos dados. As abordagens estudadas mostram leve tendncia tcnica de aprendizagem de mquinas. O alto custo computacional serve de desvantagem desta tcnica, porm tambm serve de incentivo para buscar
a diminuio. Os trabalhos que propem o uso de mtrica tambm apresentaram resultados animadores.
Como trabalhos futuros, podemos citar a busca de outros domnios de pesquisa, j
que mais de 60% dos artigos pesquisados possuem o foco nas bibliotecas digitais, alm
da busca por realizar comparaes em outras etapas do processo de deduplicao.

5 Referncias Bibliogrficas
[1] A. K. Elmagarmid, P. G. Ipeirotis and V. S. Verykios, Duplicate Record Detection:
A Survey, IEEE Transactions on Knowledge and Data Engineering, vol. 19, no. 1, Jan.
2007.
[2] A. Chatterjee and A. Segev, Data Manipulation in Heterogeneous Databases,
ACM SIGMOD Record, vol. 20, no. 4, pp. 64-68, Dec. 1991.
[3] A.Z. Broder, S.C. Glassman, M.S. Manasse, and G. Zweig, Syntactic Clustering of
the Web, International World Wide Web Conference (WWW6), pp. 1157-1166, 1997.
[4] J. Cho, N. Shivakumar, and H. Garcia-Molina, Finding Replicated Web Collections, ACM SIGMOD Intl Conf. Management of Data (SIGMOD 00), pp. 355-366,
2000.
[5] R. Mitkov, Anaphora Resolution, first ed., Longman, Aug. 2002.
[6] A. McCallum, Information Extraction: Distilling Structured Data from Unstructured Text, ACM Queue, vol. 3, no. 9, pp. 48-57, 2005.

[7] H.B. Newcombe, J.M. Kennedy, S. Axford, and A. James, Automatic Linkage of
Vital Records, Science, vol. 130, no. 3381, pp. 954-959, Oct. 1959.
[8] H.B. Newcombe and J.M. Kennedy, Record Linkage: Making Maximum Use of the
Discriminating Power of Identifying Information, Comm. ACM, vol. 5, no. 11, pp. 563566, Nov. 1962.
[9] H.B. Newcombe, Record Linking: The Design of Efficient Systems for Linking Records into Individual and Family Histories, Am. J. Human Genetics, vol. 19, no. 3, pp.
335-359, May 1967.
[10] B.J. Tepping, A Model for Optimum Linkage of Records, J. Am. Statistical
Assoc., vol. 63, no. 324, pp. 1321-1332, Dec. 1968.
[11] I.P. Fellegi and A.B. Sunter, A Theory for Record Linkage, J. Am. Statistical
Assoc., vol. 64, no. 328, pp. 1183-1210, Dec. 1969.
[12] H.B. Newcombe, Handbook of Record Linkage. Oxford Univ. Press, 1988.
[13] M.A. Hernandez and S.J. Stolfo, Real-World Data Is Dirty: Data Cleansing and
the Merge/Purge Problem, Data Mining and Knowledge Discovery, vol. 2, no. 1, pp.
9-37, Jan. 1998.
[14] S. Sarawagi and A. Bhamidipaty, Interactive Deduplication Using Active Learning, ACM SIGKDD International Conference Knowledge Discovery and Data Mining,
pp. 269-278, 2002.
[15] Y.R. Wang and S.E. Madnick, The Inter-Database Instance Identification Problem
in Integrating Autonomous Systems, IEEE International Conference Data Engineering
(ICDE 89), pp. 46-55, 1989.
[16] W.W. Cohen, H. Kautz, and D. McAllester, Hardening Soft Information Sources,
ACM SIGKDD International Conference Knowledge Discovery and Data Mining, pp.
255-259, 2000.
[17] M. Bilenko, R.J. Mooney, W.W. Cohen, P. Ravikumar, and S.E.
[18] R. Bell and F. Dravis, Is data ditty? (And does that matter?), Accenture White
Papper (http://www.accenture.com), 2006.
[19] M. Wheatley, Operation Clean Data, CIO Asia Magazine (http://www.cioasia.com), Aug. 2004.
[20] M.G. de Carvalho, M.A. Gonalves, A.H. F. Laender and A.S. da Silva, Learning
to deduplicate, ACM/IEEECS Joint Conf. on Digital Libraries, pp. 4150, 2006.
[21] M.G. de Carvalho, A.H.F. Laender, M.A. Gonalves and A.S. da Silva, Replica
identification using genetic programming, Annual ACM Symposium on Applied
Computing, pp. 18011807, 2008.
[22] M. G. de Carvalho, A.H.F. Laender, Marcos Andr Gonalves, and A. S. da Silva,
A Genetic Programming Approach to Record Deduplication, IEEE Transactions on
Knowledge and Data Engineering, vol. 24, no. 3, pp. 399-412, Mar. 2012.

[23] S. Chaudhuri, K. Ganjam, V. Ganti and R. Motwani, Robust and efficient fuzzy
match for online data cleaning, ACM SIGMOD: International Conference on Management of Data, pp. 313324, 2003.
[24] W. Banzhaf, P. Nordin, R. E. Keller and F. D. Francone, Genetic Programming
And Introduction: on the Automatic Evolution of Computer Programs and Its Applications, Morgan Kaufmann Publishers, 1998.
[25] J. R. Koza, Genetic Programming: on the Programming of Computers by Means
of Natural Selection, MIT Press, 1992.
[26] E.N. Borges, R.M. Galante, M.A. Gonalves, Uma Abordagem Efetiva e Eficiente
para Deduplicao de Metadados Bibliogrficos de Objetos Digitais, XXIII Simpsio
Brasileiro de Banco de Dados, 2008.
[27] E.N. Borges, K. Becker, C.A. Heuser, R. Galante (2011a), A Classification-based
Approach for Bibliographic Metadata Deduplication, ADIS International Conference,
pp. 221-228, 2011.
[28] E.N. Borges, M.G. de Carvalho, R. Galante, M.A. Gonalves, A.H.F. Laender
(2011b), An unsupervised heuristic-based approach for bibliographic metadata
deduplication, Information Processing and Management, 47(5), pp. 706718, 2011.
[29] R.A. Baeza-Yates and B.A. Ribeiro Neto, Modern Information Retrieval, ACM
Press/Addison-Wesley, 1999.
[30] J. C. P. Carvalho and A. S. Silva, Finding similar identities among objects from
multiple web sources, ACM International Workshop on Web Information and Data
Management , pp. 90 93, 2003.