BLOCAGEM ADAPTATIVA E
FLEXÍVEL PARA O
PAREAMENTO APROXIMADO
DE REGISTROS
Luiz Evangelista, Eli Cortez, Altigran Soares – UFAM
Wagner Meira - UFMG
ROTEIRO

Introdução


Definição do Problema e exemplo.
Trabalhos relacionados

Métodos estáticos e dinâmicos

O Método BGP

Resultados experimentais

Conclusões e trabalhos futuros.
INTRODUÇÃO

Um dos principais problemas encontrados em integração de
dados é: identificar registros que correspondam a
mesma entidade no mundo real.


Record Linkage (RL) ou Pareamento de Registros

Mesma fonte ou distintas fontes de dados

Registros com múltiplos atributos
Problema comum em tarefas de..

..Junção de registros de fontes diferentes;

..Deduplicação de registros;

..Data cleaning.
3
INTRODUÇÃO - EXEMPLO

Falta de Padrão de Representação (Abreviação, Pontuação, etc)
4
INTRODUÇÃO

Cenário não possibilita casamento exato de strings


Técnicas de Silimaridade Textual
Abordagem ingênua considerando 2 arquivos de banco
de dados com 5.000 registros:

25 milhões de pares de registros;

Estimando o tempo de 0.01s para a verificação de cada
par de registros:
25 milhões de verificações → 250.000 seg → ~3 dias.
5
INTRODUÇÃO

Diminuição do número de verificações:

Solução: Seleção de pares candidatos.
Possível abordagem:
Blocagem de registros.
6
INTRODUÇÃO - BLOCAGEM



Os registros são agrupados usando algum critério
de processamento rápido
Os pares candidatos são formados com os
registros de cada bloco
Em agrupamentos considerados bons:

Os pares de registros duplicados podem ser
identificados com maior facilidade em pares
candidatos;

Os pares candidatos são conjuntos menores e podem
ser analisados com maior rigor após a blocagem.
7
INTRODUÇÃO - BLOCAGEM

Blocagem como etapa de pareamento de registros:
Conjunto(s)
de
registros
Dados
Blocos de
Registros
pares
candidatos
de
registros
Blocagem
(pares com
alta
probabilidade
de registros
duplicados)
Deduplicação,
junção
aproximada de
registros,
data cleaning
8
TRABALHOS RELACIONADOS
TRABALHOS RELACIONADOS

Métodos estáticos:


Baseados em regras predefinidas para a comparação
e agrupamento de registros.
Métodos dinâmicos e adaptativos:

Parte da coleção de registros é usada como amostra
para Aprendizagem de Máquina (Machine Learning).
10
TRABALHOS RELACIONADOS

Métodos estáticos:

Canopy Blocking [McCallum et al, KDD’00]
Agrupamento de registros em 2 etapas.
 Entidades diferentes podem apresentar registros
semelhantes, fazendo com que sejam associadas aos
mesmos blocos


Soft TF-IDF [Cohen et al, AAAI’03]
Técnica de similaridade de texto
 Regra de termos em comum para a verificação de freqüência
dos termos;


Registros de mesma entidade sem termos em comum não são
comparados.
11
TRABALHOS RELACIONADOS

Métodos dinâmicos:

DNF Blocking [Bilenko et al, ICDM’06]




Baseado em várias regras para comparação e agrupamento de
registros. Termos em comum, Casamento exato de strings, etc.
As regras são associadas a atributos, formando predicados de
blocagem: {nome, termosEmComum}.
Os melhores predicados são escolhidos, formando um esquema
de blocagem na forma normal disjuntiva (FND):
Exemplo:
( {name, termosEmComum} && {address, casamentoExato} ) ||
( {surname, casamentoExato} ).
12
TRABALHOS RELACIONADOS

Métodos dinâmicos:

BSL Blocking [Michelson and Knoblock, AAAI’06]



Semelhante ao DNF Blocking:
Cada conjunção de blocagem é obtida em uma etapa de
aprendizagem de máquina.
Requer somente pares verdadeiros de registros.
13
MÉTODO BGP
BLOCKING USING GENETIC
PROGRAMMING
MÉTODO BGP

Adaptativo (aprendizagem de máquina);

Baseado em programação genética:


Vantagens: Escalabilidade + Flexibilidade;

Maior eficiência na identificação de registros
duplicados.
Resultados: Índices de acertos acima de 90% na
detecção de registros duplicados.
15
MÉTODO BGP
GERAÇÃO
INICIAL
Esquemas de
blocagem
gerados
aleatoriamente
Melhores
esquemas
Operadores
genéticos
Fim do
processo
PRÓXIMA
GERAÇÃO
Esquemas de
blocagem
melhores
Melhores
esquemas
Operadores
genéticos
Melhor
esquema de
blocagem
16
MÉTODO BGP


Esquemas de blocagem são representados como
árvores ao longo do processo de evolução
Maior flexibilidade na extração de segmentos das
expressões de esquemas de blocagem
17
MÉTODO BGP - FUNÇÃO DE FITNESS

Avaliação de esquemas com maiores chances de
produzir bons resultados.

Resultado em função de dois fatores:

Cobertura de Pares Verdadeiros
PVidC
PC 
,
PVt

• PVidC é o número de pares verdadeiros identificados
corretamente;
• PVt é o número de pares verdadeiros existentes.
Redução de Pares Candidatos
PV
RR  1  [ idV ],
Pt
• PVidV é o número de pares candidatos
• Pt é o número de pares formados com todos
registros disponíveis.
18
MÉTODO BGP - FUNÇÃO DE FITNESS


A avaliação ocorre com a análise do conjunto de
pares candidatos de registros;
Um bom conjunto de pares candidatos deve
apresentar:

O maior número possível de pares de mesma entidade
(boa cobertura de pares verdadeiros de registros);

O menor número possível de pares de entidades
diferentes (pares falsos), reduzindo o número de pares
candidatos de registros.
19
MÉTODO BGP - FUNÇÃO DE FITNESS


Os melhores esquemas são os que apresentam
maiores índices de acertos de pares verdadeiros e
falsos registros;
Esquemas de blocagem com maiores números de
conjunções são favorecidos.
Fitness 
Onde:
2
1
1

PC RR

C
,
100
C = Número de conjunções em esquemas de blocagem.
20
20
MÉTODO BGP

Experimentado em duas versões:

BGP-SR (Blocking using GP – Simple/Specific Rules)

Mesmas regras da técnica DNF Blocking:


{autor, bigramasEmComum} && {titulo, termosEmComum}.
BGP-PR (Blocking using GP – Parameter-based Rules)

Regras: N-gramas e termos em comum:

{autor, nGramas-9} && {titulo, termosEmComum-4}.
21
MÉTODO BGP
22
MÉTODO BGP
• Vantagens: Combinação de atributos + regras +
parâmetros para formar esquemas de blocagem.
•
Escalável: É possível verificar uma quantidade maior de
predicados para formação de esquemas de blocagem;
•
Flexível: Usando conjuntos maiores de predicados, e
regras mais flexíveis, podem ser definidos esquemas
mais adaptados aos dados.
• Desvantagem: Risco de overfitting.
23
EXPERIMENTOS
MÉTRICAS DE AVALIAÇÃO

Critérios usados para avaliação:

Pairs Completeness – PC (Cobertura de pares
verdadeiros)

Reduction Ratio – RR (Redução do número de pares
candidatos).
25
COLEÇÕES

Coleções utilizadas:

Cora [Bilenko et al, ICDM’06];

CiteSeer [Sarawagi et al, KDD’02];

Evolbase [Carvalho et al, JCDL’06].
26
COLEÇÕES
Coleção
Cora
Citesser
Evolbase
No. Total
de
Registros
Registros
no Treino
(%)
No.
Pares
Média de
Pares
Verdadeiros
1.295
5%
2.016
75
154
30%
1.035
17
1.000
5%
1.225
5
5% de registros apresentavam poucos exemplos de duplicatas,
prejudicial ao BSL Blocking
27
EXPERIMENTOS


10 execuções de experimentos realizados com
amostras de 5% (Cora e Evolbase) 30% (CiteSeer)
dos registros;
Configuração GP
Parâmetro
Valor usado
Número de gerações
5
Profundidade máxima da árvore de representação dos indivíduos
4
Número de indivíduos em cada geração
Número de melhores indivíduos copiados para geração posterior
Probabilidade de ocorrência de mutação
Profundidade máxima em segmentos de mutação
100
4
95%
3
28
TÉCNICAS DE REFERÊNCIA

Como baseline, foram usadas os métodos:
DNF Blocking [Bilenko et al, ICDM’06]; e
 BSL Blocking [Michelson et al, AAAI’06].


Nos experimentos realizados:

BGP-SR, DNF Blocking e BSL Blocking foram
testados com o mesmo conjunto de regras simples;

BGP-PR foi usado com regras baseadas em
parâmetros para formar os esquemas de blocagem.
29
AVALIAÇÃO DE QUALIDADE
BGP Apresenta melhores resultados devido à grande eficácia
do algoritmos de programação genética na combinação dos
predicados
30
ESCALABILIDADE
Cobertura de pares duplicados de registros
(Pairs Completeness - PC)
(%)
BGP-PR
BGP-SR
DNF Blocking
BSL Blocking
100
98
96
94
92
90
88
86
84
82
1000
2000
3000
4000
5000
6000
7000
8000
(# registros)
Método BGP PR e SR mantiveram alta qualidade mesmo com
DNF
Blocking
alcança
BGP
poucos
registros
na fonte
desomente
dados após 4 ml registros
31
ESCALABILIDADE
Redução do número de pares candidatos de registros
(Reduction Ratio - RR)
BGP-PR
BGP-SR
DNF Blocking
BSL Blocking
120
100
(%)
80
60
40
20
0
1000
2000
3000
4000
5000
6000
7000
8000
(# registros)
BSL Blocking foi o método menos estável
BGP continuou sendo o método mais eficaz
32
ESCALABILIDADE
Tempos de agrupamento de registros
(segundos)
BGP-PR
BGP-SR
DNF Blocking
BSL Blocking
10000
9000
8000
7000
6000
5000
4000
3000
2000
1000
0
1000
2000
3000
4000
5000
6000
7000
8000
(# registros)
Métodos
baseados em
Programação
Genéticaapós
se monstram
BGP-PR aumentou
tempo
de processamento
7 mil
tão
escaláveis
quanto
DNF
e BSLde predicados utilizando
registros
devido
grande
número
regra de ngramas.
33
RESULTADOS

BGP apresentou os melhores resultados:

Escalabilidade: Não há restrições para o número de
regras de blocagem que pode ser usado;

Flexibilidade: Usando regras flexíveis e em maior
número.
34
CONCLUSÕES



Nova Abordagem de Blocagem utilizando
programação genética
Técnica baseada em parâmetros que dá maior
flexibilidade a tarefa de blocagem (BGP-PR)
Experimentos realizados demonstram efetividade
da proposta em comparação a métodos da
literatura corrente.
35
TRABALHOS FUTUROS

Redução do tamanho das amostras de
aprendizagem de máquina:


Uso de técnicas de Aprendizagem Ativa (Active
Learning) [Sarawagi et al, KDD’02].
Verificação de abordagem híbrida:

Uso de um conjunto híbrido de regras (BGP-SR +
BGP-PR) como solução para o problema de blocagem.
36
Perguntas..
37
Método BGP:
http://vitoria.dcc.ufam.edu.br/~projetos/bgp
38
BLOCAGEM BASEADA EM PREDICADOS
BOLEANOS – REGRAS DE BLOCAGEM
39
Download

BGP - Eli Cortez