Avaliaç ˜ao de Técnicas Paralelas de Blocagem para Resoluç ˜ao

Propaganda
IV Workshop em Algoritmos e Aplicações de Mineração de Dados
Avaliação de Técnicas Paralelas de Blocagem para
Resolução de Entidades e Deduplicação
Charles F. Gonçalves� , Walter Santos� , Luis F. D. Flores� ,
Matheus S. Vilela� , Carla Machado2 , Wagner Meira Jr.� , Altigran Silva 3
Depto. de Ciência da Computação
2
Departamento de Demografia
Universidade Federal de Minas Gerais
�
3
Depto. de Ciência da Computação
Universidade Federal do Amazonas
Abstract. Data quality in databases is fundamental to many information management applications. One key criterion while measuring quality is the occurrence of duplicated records in a database, justifying the development of deduplication and entity resolution techniques. In deduplication, the main challenge
is the high complexity involved in comparing every single register in a database.
In order to minimize such problem, blocking techniques are used to reduce the
number of comparisons, using fast and cheap metrics to identify the similarity
between each pair of records. In the present study, we evaluate some existing
blocking techniques implemented in a distributed, parallel and high scalable
deduplication framework. We analyze them comparatively and identify the main
advantages and disadvantages achieved by a parallel execution.
Resumo. A qualidade da informação nas bases de dados é fundamental para
diversas aplicações na área de gestão da informação. Um critério fundamental
para medir qualidade é a ocorrência de registros duplicados em uma base de
dados, justificando o desenvolvimento de técnicas de deduplicação e resolução
de entidades. No problema de deduplicação, o principal desafio é a alta complexidade envolvida para comparar todos registros na base de dados. Assim,
técnicas de blocagem são empregadas para diminuir o número de comparações
efetivamente realizadas utilizando métricas simples e rápidas para identificar
a similaridade entre os registros. Neste trabalho, avaliamos algumas técnicas
tradicionais de blocagem num arcabouço paralelo e distribuı́do, altamente escalável. Analisamos estas técnicas de forma comparativa, identificando as vantagens e desvantagens da sua paralelização.
1. Introdução
A existência de bases de dados confiáveis e consistentes são premissas importantes para
a realização de muitas tarefas, como inteligência de negócios, detecção de fraudes e diversas análises em mineração de dados e KDD (Knowledge-Discovery in Databases).
Entretanto, com o intenso uso da web e de geração automática de documentos, cada vez
mais as bases de dados apresentam problemas como dados inválidos, campos ausentes
ou mesmo dados duplicados. A identificação de duplicidades em uma base de dados é
fundamental para melhorar a qualidade dos dados que se deseja extrair de um sistema de
informação.
Uma entidade é a representação de um conceito real em determinado contexto,
como autores, artigos, pacientes e clientes em uma representação qualquer, como em
55
IV Workshop em Algoritmos e Aplicações de Mineração de Dados
um banco de dados. O problema de deduplicação consiste no processo de eliminação
de réplicas em um dado conjunto de registros, i.e. detectar o subconjunto disjunto de
entidades aos quais estes registros estão associados.
O processo de deduplicação ideal realiza uma quantidade quadrática de comparações, pois, potencialmente, cada registro de uma dada base de dados deve ser comparado
com todos os outros. As bases de dados podem conter um grande número de registros,
sendo necessário a utilização de sistemas computacionais que permitam a realização do
processo de deduplicação de forma automatizada, garantindo o máximo de precisão e
eficiência. Neste contexto, precisão se relaciona com o número de réplicas encontradas e
eficiência com a duração do processo de deduplicação. Além disso, estes dois conceitos
são concorrentes: se aumentamos a precisão, aumentamos o número de comparações e a
eficiência diminui.
Na tentativa de reduzir o número de comparações efetivamente realizadas, os algoritmos de deduplicação utilizam técnicas de blocagem, que agrupam registros com algum
tipo de semelhança por meio de métricas simples e rápidas [Baxter et al. 2003] em conjuntos denominados blocos. Com a utilização de técnicas de blocagem, são realizadas
apenas comparações de registros que estiverem no mesmo bloco.
Mesmo empregando métodos de blocagem, a resolução de entidades ainda é
um problema computacionalmente dispendioso, que tem sido melhorado por meio da
utilização de arquiteturas paralelas [Santos et al. 2007]. Neste trabalho, retomamos o
estudo dos métodos de blocagem, porém, diferentemente dos estudos realizados em
[Baxter et al. 2003, Christen 2007], estamos interessados na aplicação destas técnicas
num ambiente paralelo e distribuı́do. Para tal, utilizaremos o sistema de deduplicação
Pareia [Santos et al. 2007]1 .
O restante do trabalho é organizado como descrito a seguir. Na próxima seção
explicamos o arcabouço usado para a realização do estudo, na seção 3 explicamos as
técnicas de blocagem usadas bem como a paralelização destas. Os experimentos e resultados são discutidos na seção 4 e finalmente concluı́mos o estudo e apresentamos futuros
trabalhos na seção 5.
2. Ambiente de Execução
2.1. Pareia
O Pareia é um ambiente escalável, eficiente e extensı́vel para o processo de pareamento de registros e suporta o processamento paralelo de grandes volumes de dados
[Santos et al. 2007] e foi implementado utilizando o arcabouço Anthill (explicado no item
2.2). O Pareia provê uma maneira de separar as etapas do processo de pareamento em um
pipeline, proporcionando um arcabouço ideal para o desenvolvimento de novas metodologias ou mesmo modificação de aspectos desejados no processo.
O funcionamento do Pareia é dividido em seis estágios principais: (1) leitura dos
dados; (2) blocagem; (3) eliminação de pares redundantes; (4) divisão dos pares gerados
entre as diferentes instâncias de comparação; (5) comparação dos pares; (6) geração dos
resultados. Esta divisão, bem delimitada, favorece a extensão ou substituição de um ou
1
No trabalho de [Santos et al. 2007] o ambiente ainda possuı́a o nome de FERAPARDA
56
IV Workshop em Algoritmos e Aplicações de Mineração de Dados
mais algoritmos responsáveis por cada etapa. Neste trabalho, implementamos diferentes
algoritmos para a etapa de blocagem, mantendo o restante do processo sem modificações.
O ambiente de execução do projeto Pareia, conhecido como Anthill [Ferreira et al. 2005],
provê recursos para programação e controle de execução de aplicações paralelas, suportando o paradigma de programação filtros-fluxos identificados.
2.2. Anthill
No modelo filtro-fluxo, filtros representam estágios da computação onde os dados são
transformados, enquanto fluxos representam a comunicação entre tais estágios, permitindo a transferência de buffers de dados de tamanho fixo de um filtro para outro. Assim, a criação de uma aplicação em tal modelo se resume a sua decomposição em filtros
que transformam os dados e encaminham o resultado para o próximo estágio, formando
uma espécie de pipeline. O ambiente Anthill se distingue de outras plataformas por duas
caracterı́sticas fundamentais: (1)Cópias transparentes: Os filtros podem ser replicados
de forma transparente, o que proporciona um mecanismo de particionamento natural e escalável dos dados; (2)Fluxos identificados:2 O mecanismo de fluxos identificados permite
que dados com o mesmo identificador sejam sempre enviados para o mesmo lugar.
Há três possibilidades de paralelismo exploradas pelo Anthill: (1) de tarefa; (2)
de dados; e (3) assincronia. A divisão da computação em vários estágios, como em um
pipeline (paralelismo de dados), faz com que possamos ter um paralelismo de grão-fino
e, como tudo isto acontece de forma assı́ncrona, a execução estará livre de gargalos.
3. Técnicas de Blocagem
As técnicas de blocagem têm como objetivo limitar o número de comparações a serem
realizadas no processo de deduplicação. A despeito do pior caso quadrático em termos
de comparação, o que se observa é que a maior parte dos registros comparados possuem
pouca ou nenhuma relação, sendo a comparação desnecessária. Mais ainda, o número de
pares encontrados cresce linearmente com o tamanho da base [Baxter et al. 2003].
O predicado de blocagem [Hernandez and Stolfo 1998] é utilizado para definir
quais os atributos dos registros e quais transformações serão aplicadas nas técnicas de
blocagem. Um predicado é uma disjunção de conjunções, onde cada termo da conjunção
define uma função de transformação sobre o registro. Um exemplo de predicado é P =
�nome ∧ ano de nascimento) ∪ �sobrenome ∧ cidade). Quando aplicado a um registro,
o predicado de blocagem é capaz de gerar uma chave de blocagem para cada conjunção.
A definição do predicado de blocagem deve considerar tanto os erros em campos
quanto a freqüência dos valores dos atributos, pois são aspectos que influenciam diretamente o número de pares gerados e a qualidade do resultado final. Erros nos atributos
podem prejudicar a qualidade dos pares gerados, ao levar à exclusão de pares que seriam, de fato, verdadeiros. Assim, a escolha dos atributos deve levar em conta a qualidade da informação ali contida. Idades, por exemplo, podem ser declaradas com erro ou
arredondadas para zero ou cinco (último dı́gito); nomes podem ser escritos de diferentes
maneiras, o que pode dificultar a formação de pares verdadeiro. Outro problema se refere
ao fato de alguns atributos, mesmo aqueles de qualidade adequada, assumirem poucos
2
label-stream
57
IV Workshop em Algoritmos e Aplicações de Mineração de Dados
valores, o que os torna pouco discriminativos. Esse é o caso do atributo sexo, que ajuda
pouco na decisão sobre qual par seria verdadeiro. Por estas razões, a avaliação do campo
da chave de blocagem é um aspecto crucial neste processo.
Cabe observar que um predicado mais restritivo conduz à geração de um número
maior de pequenos blocos, e um número menor de pares potenciais. Neste caso, os erros, ainda que pequenos, poderão fazer com que pares verdadeiros sejam excluı́dos da
comparação. Por outro lado, com um predicado menos restritivo, teremos blocos de
tamanho maior, possivelmente cobrindo mais pares verdadeiros, mas com crescimento
relevante (e provavelmente desnecessário) do número de pares totais gerados, bem como
aumento no tempo de processamento.
Os métodos de blocagem apresentados na seção 3.1 a 3.3 utilizam as chaves geradas pelo predicado de blocagem, ou uma transformação destas chaves, com a finalidade
de agrupar os registros que deverão ser comparados.
3.1. Standard Blocking
A blocagem padrão, referenciada na literatura como Standard Blocking[Christen 2007]
(SB) , é uma técnica tradicional e simples, que agrupa os registros de acordo com uma
chave de blocagem predefinida. A Figura 1 apresenta um exemplo desta técnica. Em tal
exemplo, o predicado de blocagem utilizado é a concatenação do ano e da cidade. Para
cada registro lido, gera-se um conjunto de chaves de blocagem. Ao final, apenas registros
que geraram pelo menos uma chave de blocagem em comum serão comparados e cada
par de registros gerado é, então, chamado de par candidato.
Supondo uma função bloco��� bi ) que retorna todos os identificadores dos registros de um bloco b gerado da base de dados
� �, o número de pares candidatos gerados
empregando-se o SB é dado pela equação bi ∈�� |bloco��� bi )| × �|bloco��� bi )| − 1)/2
[Christen 2007]. Já o número de exato de comparações efetivamente realizadas depende
diretamente da distribuição das chaves de blocagem no conjunto de dados. No melhor
n�
,o
caso, todos os blocos contêm o mesmo número de registros, i.e |bloco��� bi )| = �B
��
n�
na
número de registros a serem comparados é dado pela equação |�� | × ��� � × � �� − 1) × �2 .
2
Neste caso, a complexidade é O� nb ), onde n é o número de registros e b o número de
blocos.
Técnica de Bigram
Limite
Blocos
0.2
10190
0.3
83177
0.4
223856
1
5402
Figura 1. Geração de pares
Blocagem Padrão
Blocos Caracteres
88
2
1182
4
3851
6
5419
8
Tabela 1. Número de blocos
gerados para o BI e o SB numa
base de 50 mil registros
O SB foi implementado de forma paralela no Pareia como filtros de blocagem.
Cada filtro pode estar instanciado em uma máquina diferente e é responsável por uma
porção das chaves de blocagem, o que é garantido de forma transparente pelo Anthill.
58
IV Workshop em Algoritmos e Aplicações de Mineração de Dados
3.2. Bigram Indexing
O método Bigram Indexing (BI) [Baxter et al. 2003, Bilenko et al. 2006] permite uma
abordagem difusa da blocagem (fuzzy blocking), possibilitando que alguns erros tipográficos possam ser captados. A idéia básica é converter a chave de blocagem em uma
lista de bigramas (sub-strings de dois caracteres), por exemplo, uma chave de blocagem
com o valor ‘priscila’ gera os bigramas (‘pr’,‘ri’,‘is’,‘sc’,‘ci’,‘il’,‘la’). A partir desta lista
de bigramas sub-listas serão geradas usando todas as permutações possı́veis sob um limite t com valor entre 0 e 1. As listas resultantes são convertidas em chaves de blocagem
e o processo de blocagem continua da mesma forma do que o SB. Utilizando o exemplo anterior, se aplicarmos o método já descrito com um limite de valor 0.8, teremos as
seguintes chaves geradas: prisscciilla, prriisciilla, prriisscciil, prriissccila, prriisscilla, prriscciilla, riisscciilla. Dessa forma, todos os registros com a chave de blocagem
‘priscila’ serão inseridos em 7 blocos diferentes, um para cada chave resultante.
De �
forma análoga ao SB, o número de pares candidatos gerados para a deduplicação é
bi ∈�� |bloco��� bi )| × �|bloco��� bi )| − 1)/2, sendo a complexidade com2
putacional também de O� nb ) (para blocos de tamanhos iguais). Porém, notem-se dois
fatores: (1) uma vez que chaves de blocagem diferentes podem gerar sub-listas de bigramas idênticos, pares serão formados entre registros que possuem chaves diferentes,
aumentando o número de pares gerados (veja a Figura 2); (2) o número de blocos criados
pelo BI é muito maior se comparado ao SB, como pode ser visto na Tabela 1. Em tal
tabela, apresentamos o número de blocos gerados para o SB e o BI usando-se parâmetros
similares. No BI, foi utilizada uma chave de tamanho 8 que, sob o limite especificado,
gera chaves de tamanho correspondente ao do SB da mesma linha. Também é apresentado o caso em que o limite do BI é 1 e este se degenera para o SB (porém as chaves são
diferentes).
O BI é apenas uma metodologia diferente de se gerar blocos utilizando o mesmo
princı́pio de blocagem do SB e a sua paralelização seguiu a mesma estratégia deste.
3.3. Sorted Neighbourhood
O Sorted Neighbourhood (SN) [Hernandez and Stolfo 1998, Bilenko et al. 2006] é uma
técnica que se baseia na ordenação dos registros pela sua chave de blocagem e na
utilização de uma janela deslizante de tamanho fixo w (parâmetro). Somente registros dentro da mesma janela formarão pares candidatos. Desta forma, o número de
comparações realizadas tem sua complexidade reduzida de O�n2 ) para O�wn) com w
sendo o tamanho da janela. Nessa técnica, o conceito de blocos é difuso, visto que um
bloco é formado por todos os registros contidos em uma janela deslizante. Assim, são
n − w + 1 blocos, onde n é número total de registros a serem analisados.
A principal vantagem do SN é a grande redução no número total de comparações
que fica limitado pela janela w. Mas, no caso do número de valores possı́veis para uma
chave de blocagem ser superior ao tamanho da janela, o método falha por não gerar todos
os possı́veis pares. Outro problema correlacionado à técnica do SN é que registros que
possuem erros em sua chave de blocagem podem não ser comparados com todos os seus
redundantes. Por exemplo, se os registros com nomes Queli e Keli representarem a mesma
entidade diferenciados apenas devido a um erro de grafia, estes ficarão distantes depois
da ordenação e, muito provavelmente, não serão comparados.
59
IV Workshop em Algoritmos e Aplicações de Mineração de Dados
O principal desafio para a implementação do SN no Pareia é a ordenação das
chaves, que faz com que a geração de pares só se inicie após a ordenação total dos registros. Dessa forma, a estratégia de paralelização proposta é particionar os dados de forma
estática e anteriormente à execução pelo usuário. Cada filtro receberá uma partição das
chaves de blocagem, de forma que todas estas chaves possam ser ordenadas localmente
mantendo a ordenação global dos registros. Por exemplo, considerando dois filtros, o filtro
A recebe as chaves do intervalo de 0-9A-H e o filtro B recebe I-Z. A ordenação local será
realizada de forma direta, através da inserção dos elementos que vão chegando do filtro
leitor em uma árvore binária que insere registros de forma ordenada. Após as ordenações
em cada filtro de blocagem, os pares serão gerados utilizando-se a janela deslizante, de
tal forma que os pares das extremidades intermediárias da partição da ordenação serão
gerados através de mensagens entre os filtros de blocagem.
4. Experimentos e Resultados
Nesta seção, serão apresentadas as avaliações das diferentes técnicas de blocagem implementadas no ambiente Anthill/Pareia, bem como o comportamento do speedup na
paralelização de cada uma delas. Na área de computação paralela, o speedup mede o
quanto um algoritmo paralelo é mais rápido que o seu algoritmo correspondente seqüencial. Todos os experimentos foram executados em um cluster com máquinas de processadores Intel(R) Core(TM)2 CPU 2.13GHz e 2GB de memória RAM.
Em função da dificuldade de se obter bases de dados reais, em que o número de réplicas sejam conhecidas, os testes foram executados a partir de bases
sintéticas geradas pelo DsGen [Christen 2007], um gerador de bases muito utilizado na
literatura[Baxter et al. 2003, Bilenko et al. 2006] capaz de fornecer a relação de réplicas
das bases geradas.
A qualidade e a complexidade das técnicas de blocagem vêm tradicionalmente
sendo avaliadas usando-se as métricas Completitude dos Pares (CP) e a Taxa de Redução
(TR) [Elfeky et al. 2002]. Além dessas métricas tradicionais, alguns trabalhos sobre
blocagem também utilizam o F-score(FS) e a Qualidade dos Pares (QP). As equações
de tais métricas podem ser vistas na Figura 3. A CP avalia a taxa dos pares verdadeiros
que se encontram; Pe representa o número de pares redundantes encontrados, enquanto Pv
é a quantidade de réplicas realmente existentes na base de dados. A TR avalia a redução
do número de pares a serem comparados que se obtém com o uso da blocagem; Pg é o
número de pares gerados pela blocagem e Pp representa a quantidade de possı́veis pares
em toda a base (|A| × �|A| − 1)/2 no caso da deduplicação). O FS é a média harmônica do
CP e TR e serve para analisar o melhor compromisso entre estas duas. Já a QP é um indicador da qualidade da blocagem utilizada, ao obter a taxa de pares realmente redundantes
encontrados (Pe ) dentre aqueles que foram gerados pelo método de blocagem (PG ).
A complexidade do problema de deduplicação se encontra na comparação dos
registros. Assim, o primeiro ponto a se observar é o número de pares gerados nas três
técnicas. Várias execuções foram feitas para cada técnica, variando-se os parâmetros de
configuração e, para cada tamanho de base, utilizamos a média de pares gerados em cada
uma das blocagens. Conforme pode ser visto na Figura 2, o número de pares gerados
pelo BI é praticamente o dobro dos pares do SB, enquanto para o SN o crescimento é
linear com o tamanho da base. De fato, o número de pares gerados depende diretamente
60
IV Workshop em Algoritmos e Aplicações de Mineração de Dados
da dimensão da janela, que comumente é de ordens de grandeza inferior ao tamanho da
base.
Comparativo de Pares Gerados
16000
Milhares de Pares Gerados
14000
Standard Blocking
Bigram
Sorted Neighbourhood
CP =
12000
10000
FS =
8000
6000
2000
15000
20000
25000
30000
35000
40000
45000
TR = 1 −
2 × CP × T R
�
CP + T R
Pg
Pp
QP =
P�
Pg
P� : Pares encontrados
Pv : Pares verdadeiros
Pg : Pares gerados
Pp : Pares possı́veis
4000
0
10000
P�
�
Pv
50000
Tamanho da Base (registros)
Figura 2. Comparativo do número
de Pares Gerados
Figura 3. Equações para
as métricas utilizadas
A Tabela 2 mostra o desempenho das técnicas para a base de 50 mil registros
gerada pelo DsGen. Em cada coluna temos a média e o desvio padrão das execuções
variando o parâmetro de blocagem. Para o SB variou-se o tamanho da chave de 2 a 10
caracteres, para o BI o limite variou 0,2 a 0,9 e para o SN o tamanho da janela variou de
3 a 30. Esta tabela reflete, de forma sintética, o comportamento padrão de cada técnica
durante os experimentos. Resultados muito semelhantes foram obtidos para outras bases
de menor tamanho. Das três técnicas, o BI é a que gera o maior número de pares e,
portanto, a menor TR.
O SN possui a melhor TR o que o torna extremamente rápido. Porém, este apresentou uma CP muito baixa. Este fato não necessariamente desqualifica a técnica. Os
valores baixos para este indicador se devem ao fato de termos decidido utilizar parâmetros
iguais para realizar uma comparação mais uniforme e não tendenciosa, uma vez que a
forma como as chaves de blocagem são escolhidas alteram muito o processo. Entretanto,
como SN se baseia em ordenação, a qualidade e o fator discriminativo da chave são fundamentais, podendo levar a taxas de PC de até 98% [Christen 2007]. Um bom indı́cio
dessa potencialidade do SN é que este apresentou a maior taxa de QP, o que mostra que
mesmo gerando poucos pares, é capaz de encontrar uma boa razão de pares verdadeiros
dentro dessa quantia. Outro fator a destacar é o fato de a execução ser muito rápida e, por
isso, o método poder ser aplicado várias vezes variando a chave de blocagem.
Técnica de Blocagem
Standard Blocking
Bigram Indexing
Sorting Neighbourhood
TR (%)
99,41 ± 0,50
98,72 ± 0,91
99,94 ± 0,03
CP (%)
60,84 ± 11,00
69,65 ± 1,93
19,91 ± 8,04
QP (%)
0,37 ± 0,1
0,24 ± 0,13
1,01 ± 0,17
Tabela 2. Comparativo entre as técnicas para Base de 50000 registros
61
IV Workshop em Algoritmos e Aplicações de Mineração de Dados
SpeedUp
6
Relação do F−score entre as Técnicas
0.95
Linear
Standard Blocking
Bigram
Sorted Neighbourhood
0.9
F−score( 2*RR*PC / RR+PC )
SpeedUp
5
4
3
2
0.85
0.8
0.75
0.7
0.65
0.6
0.55
0.5
1
1
2
3
4
5
6
Instancias de ReaderComparator
Figura 4. Speedup da deduplicação
0.45
10000
Standard Blocking (k=2)
Bigram (t=0.4)
Sorted Neighbourhood (w=30)
15000
20000
25000
30000
35000
40000
45000
50000
Tamanho da Base (registros)
Figura 5. Compromisso entre a
Taxa de Redução e a Completitude dos Pares
De forma geral o SB apresenta resultados mais satisfatórios, onde todas as
métricas mostraram bons resultados e uma melhor CP. Analisando a Figura 5 que mostra
o F-score dos experimentos, confirmamos que, para os experimentos efetuados, o SB apresentou melhores resultados qualitativos. Notamos que o FS do SN é reduzido com o
crescimento da base. Este fato é conseqüência direta do que discutimos anteriormente.
Como a chave de ordenação não foi bem definida a relação entre o tamanho da janela e o
tamanho da base é o principal fator discriminante para o FS. Isso se deve ao fato de que o
RR para o SN é sempre alto para tamanhos de janela pequena como as do testes.
Para avaliar como se comporta a escalabilidade do programa para cada uma das
três técnicas de blocagem, utilizamos uma base de dados contendo 250 mil registros gerada pelo dsGen e variamos o número de processadores que realizam as comparações
(onde reside a complexidade do processo). O predicado de blocagem para as três técnicas
foram os mesmos. O limite t do BI foi 0.6, a janela para o SN possuı́a tamanho 100. O
motivo da escolha desses valores é o fato de terem gerado um tempo relativamente grande
de execução para a instanciação do Pareia em uma máquina.
Analisando o gráfico de speedup na Figura 4 vemos que a técnica escala quase que
linearmente para todos os três métodos. Este resultado não é inesperado, tendo em vista
que o sistema Pareia torna a computação paralela uma abordagem natural à deduplicação.
O speedup das técnicas de blocagem não foi avaliado por dois motivos: (1) o tempo
isolado da blocagem não causa impacto no processo como um todo; (2) o objetivo do
paralelismo implementado não é aumentar o tempo de resposta da blocagem mas, sim,
aumentar a qualidade dos pares gerados por meio das oportunidades que surgem com o
paralelismo.
5. Conclusão e Trabalhos Futuros
Neste trabalho avaliamos a paralelização de três técnicas tradicionais de blocagem no
ambiente de pareamento de registros Pareia. Ao contrário de outros estudos na literatura,
as técnicas de blocagem são implementadas e avaliadas usando um arcabouço paralelo o
que muda o perfil da aplicação por existir dependência de dados e comunicações entre
módulos no processo de blocagem. Neste ambiente, avaliamos as principais vantagens
e desvantagens de cada uma das três técnicas, contrastando-as e mostrando que o SB é
a técnica de blocagem mais estável entre as três, apresentando resultados razoáveis para
62
IV Workshop em Algoritmos e Aplicações de Mineração de Dados
os dados de teste. Mostramos que o BI pode ser uma técnica um pouco mais precisa na
detecção de réplicas desde que configurado corretamente e, finalmente, que o SN é uma
técnica rápida, com grandes potenciais, mas que deve ser aplicada com cautela e de posse
de conhecimento suficiente dos dados.
Os experimentos realizados sugerem uma série de possı́veis melhorias nos processos de blocagem. Dentre estas pretendemos, como trabalhos futuros, efetuar a
paralelização e a implementação de outras técnicas de blocagem como as citadas em
[Christen 2007], um estudo comparativo maior e mais completo abordando aspectos como
tempo de criação dos blocos, tempo de geração dos pares, número de mensagens trocadas entre os filtros e o balanceamento de carga na blocagem. Além deste tipo de
complementação, dado que o Pareia é paralelo e distribuı́do, esperamos que um grande
avanço seja incorporar um processo de múltiplas blocagens simultâneas, onde técnicas
distintas sejam aplicadas, na qual cada uma aborde um aspecto discriminativo dos dados.
Acreditamos que todas as métricas do processo de blocagem possam ser melhoradas se
implementada esta abordagem.
Referências
Baxter, R., Christen, P., and Churches, T. (2003). A comparison of fast blocking methods
for record linkage.
Bilenko, M., Kamath, B., and Mooney, R. J. (2006). Adaptive blocking: Learning to scale
up record linkage. In ICDM ’06: Proceedings of the Sixth International Conference
on Data Mining, pages 87–96, Washington, DC, USA. IEEE Computer Society.
Christen, P. (2007). Performance and scalability of fast blocking techniques for deduplication and data linkage. In VLDB 2007: 33rd International Conference on Very Large
Data Bases, Vienna, Austria. ACM.
Elfeky, M. G., Verykios, V. S., and Elmagarmid, A. K. (2002). TAILOR: A record linkage
toolbox. In ICDE.
Ferreira, R. A., Wagner Meira, J., Guedes, D., Drummond, L. M. A., Coutinho, B.,
Teodoro, G., Tavares, T., Araujo, R., and Ferreira, G. T. (2005). Anthill: A scalable
run-time environment for data mining applications. In SBAC-PAD ’05: Proceedings
of the 17th International Symposium on Computer Architecture on High Performance
Computing, pages 159–167, Washington, DC, USA. IEEE Computer Society.
Hernandez, M. A. and Stolfo, S. J. (1998). Real-world data is dirty: Data cleansing and
the merge/purge problem. Data Mining and Knowledge Discovery, 2(1):9–37.
Santos, W., Teixeira, T., Machado, C., da Silva, W. M. A. S., and Guedes, R. F. D. (2007).
A scalable parallel deduplication algorithm. Computer Architecture and High Performance Computing, (1):79–86.
63
Download