[tcc] apresentacao - agrupamento de instâncias

20
CIn.ufpe.br Agrupamento de Instâncias no Processo de Identificação de Dados Duplicados Augusto Juvenal F. G. Costa (ajfgc) Orientadora: Ana Carolina Salgado (acs) Recife – PE 2015 Universidade Federal de Pernambuco Trabalho de Graduação

Upload: augusto-giles

Post on 14-Apr-2017

136 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: [TCC] Apresentacao - Agrupamento de Instâncias

CIn.ufpe.br

Agrupamento de Instâncias no Processo de Identificação de Dados Duplicados

Augusto Juvenal F. G. Costa (ajfgc)Orientadora: Ana Carolina Salgado (acs)

Recife – PE2015

Universidade Federal de PernambucoTrabalho de Graduação

Page 2: [TCC] Apresentacao - Agrupamento de Instâncias

CIn.ufpe.br

Sumário Motivação Identificação de Dados Duplicados

Métodos de Agrupamento e Exemplos Hierárquico Não-Hierárquico

Implementação Pré-Processamento

Gerando Tokens Similaridade Grafo de Similaridade

Algoritmo Guloso Resultados

Agrupamento de Instâncias no Processo de Identificação de Dados Duplicados

Page 3: [TCC] Apresentacao - Agrupamento de Instâncias

CIn.ufpe.br

Motivação

• Grande volume de dadoso Crescimento de 90% de 2013 a 2015 (Fonte: IBM)

• Interesse das empresas em utilizar dados

• Agrupamento de dados semelhantes

• Resolução de Entidades

Agrupamento de Instâncias no Processo de Identificação de Dados Duplicados

Page 4: [TCC] Apresentacao - Agrupamento de Instâncias

CIn.ufpe.br

Identificação de Dados Duplicados

• Dado um conjunto de objetos coletados de instâncias de dados distintas, como analisar suas semelhanças?

• Data cleasing – minimiza ruídos dentro de cada objeto de cada instância.

• Cluster – Objetos que se assemelham agrupados.

• Clusterização – Classificação dos objetos em clusters.

Agrupamento de Instâncias no Processo de Identificação de Dados Duplicados

Page 5: [TCC] Apresentacao - Agrupamento de Instâncias

CIn.ufpe.br

Algoritmos de Agrupamentos Existentes• São divididos em dois métodos de classificação:

o Hierárquicoo Dado um conjunto de n indivíduos, o ponto de partida para os métodos de

classificação hierárquicos em geral será, uma matriz n x n cujo elemento genérico (i, j) é uma medida de semelhança (ou diferença) entre i e j. Pode ser considerada inicialmente os n localizados em n agrupamentos diferentes. Em cada etapa, fusões divisões nos agrupamentos são realizadas e o número de agrupamentos tende a diminuir.

o Não-Hierárquicoo Pré-define um número k (constante) de classes. Seu objetivo é determinar uma

classificação para os n objetos nas k classes, onde cada classe seja ótima de acordo com um critério utilizado para se analisar.

o Outros métodos apresentados são apenas variações dos métodos acima.

Agrupamento de Instâncias no Processo de Identificação de Dados Duplicados

Page 6: [TCC] Apresentacao - Agrupamento de Instâncias

CIn.ufpe.br

Algoritmo Recebe como parâmetro Agrupamento Objetivo

K-means Constante k = # de centroides

Os pontos mais próximos a uma das k centroides

Minimizar a soma das distâncias dos pontos mais próximos a uma

centroide

DBSCAN ε(raio) e MinPtsUm certo ponto P que

possua uma quantidade de pontos p’ ≥ MinPts

Criação de clusters em regiões densas em formatos abstratos. Pode

haver sobreposição de Clusters.

Guloso Grafo (não-direcionado)

Cada Vértice Inicialmente é considerado um Cluster

Criação de Clusters reorganizáveis, onde todos os clusters buscam a

maior média de similaridade possível

Algoritmos Existentes

Agrupamento de Instâncias no Processo de Identificação de Dados Duplicados

Page 7: [TCC] Apresentacao - Agrupamento de Instâncias

CIn.ufpe.br

Implementação do Algoritmo Guloso• Transformação de dados e Seleção de

Atributoso Tokenization - partes dos atributos de um objeto são

selecionados, compondo uma nova string (token).o Normalização - Eliminação de estilo fonte, letras

maiúsculas, pontuações, ordenações e caracteres que não estejam no alfabeto.

o Remoção de stop words - neste caso excluímos as abreviações e/ou artigos definidos ou indefinidos (an, a, the, os, as, o, a, um, uma, uns, umas, etc)

Agrupamento de Instâncias no Processo de Identificação de Dados Duplicados

Page 8: [TCC] Apresentacao - Agrupamento de Instâncias

CIn.ufpe.br

Implementação do Algoritmo Guloso• Gerando Tokens

o A cada novo objeto inserido no processo, é gerado dois tipos de tokens: Token de Identificação e Token de Comparação.

o Para o gerar o Token de Identificação:o Campos numéricos, são adicionados sem cortes;

o Campo de data, caso seja apenas o ano, deixamos apenas os campos da dezena e unidade, caso seja uma data completa (YYYY-MM-DD) preservamos o mês e o dia. O caractere que separa os campos da data são eliminados e como definido acima, o campo do ano é cortado. Por fim, o campo da data é agrupado numa única string (por exemplo YYYY-MM-DD torna-se YYMMDD);

o Campos de textos (título de livro, nome, sobrenome, endereço) é feita a varredura no texto, selecionando até 3 palavras iniciais de cada subdivisão do texto que são agrupadas em uma única string (Ana Carolina torna-se AnaCar).

Agrupamento de Instâncias no Processo de Identificação de Dados Duplicados

Page 9: [TCC] Apresentacao - Agrupamento de Instâncias

CIn.ufpe.br

• Gerando Tokenso Para gerar o Token de Comparação:

o atributos que se repetem em vários objetos, ou atributos que contêm muitas vezes seu valor nulos, não são indicados para serem utilizados como entrada.

o Datas não são relevantes para este processo

o Utilizado para cálculo de similaridade entre os objetos a serem agrupados

Agrupamento de Instâncias no Processo de Identificação de Dados Duplicados

Implementação do Algoritmo Guloso

Page 10: [TCC] Apresentacao - Agrupamento de Instâncias

CIn.ufpe.br

• Blocagemo Recebe de entrada:

o Lista de Tokens de Comparação

o Tamanho da Janelao Limitante de iteração com elementos da lista

o Ordena as entradas

o Compara primeiro elemento da janela par a par com os outros elementos contidos na janela.

o Desliza a janela na lista de tokenso Até que o fim da janela alcance o fim da lista de tokens.

o Janela deslizante funciona como um bloqueio com a premissa de que os elementos internos são lexicograficamente semelhantes para que eles tendem a ser localizados dentro da mesma janela

Similaridade

inicio

fim

Agrupamento de Instâncias no Processo de Identificação de Dados Duplicados

Page 11: [TCC] Apresentacao - Agrupamento de Instâncias

CIn.ufpe.br

• Blocagemo Retorna:

o Lista de valores de similaridade entre dois Tokens de Comparação

o Possibilita a construção do grafo de Similaridadeo Gera arestas para o Grafo de Similaridade

o Para cada objeto inserido após primeira iteraçãoo Ordena com a lista de Tokens de Comparaçãoo Token do novo objeto fica na primeira posição da janelao Janela não necessita deslizar nesse processo

Similaridade

Agrupamento de Instâncias no Processo de Identificação de Dados Duplicados

Page 12: [TCC] Apresentacao - Agrupamento de Instâncias

CIn.ufpe.br

Grafo de Similaridade

• Vérticeso Cada vértice corresponde a um dos objetos contido nas

instâncias

• Arestaso Cada aresta corresponde a um par de vértices

o Onde a Similaridade ≥ 0.75

Agrupamento de Instâncias no Processo de Identificação de Dados Duplicados

Page 13: [TCC] Apresentacao - Agrupamento de Instâncias

CIn.ufpe.br

Grafo de Similaridade

• Etapas do Grafo durante o algoritmoo Grafo Inicial

• Primeira iteração • executando algoritmo pela primeira vez com um conjunto

de objetos• Forma a primeira estrutura de grafo de todo processo• Preparado para receber grande volume de dados• É uma das etapas mais custosas (processamento)

Agrupamento de Instâncias no Processo de Identificação de Dados Duplicados

Page 14: [TCC] Apresentacao - Agrupamento de Instâncias

CIn.ufpe.br

• Etapas do Grafo durante o algoritmoo Grafo Incremental

• Se grafo inicial foi realizado no tempo t,grafo incremental é feito em tempo t’ > t

• Realizado a cada nova inserção, remoção ou atualização de um objeto

Grafo de Similaridade

Agrupamento de Instâncias no Processo de Identificação de Dados Duplicados

Page 15: [TCC] Apresentacao - Agrupamento de Instâncias

CIn.ufpe.br

• Etapas do Grafo durante o algoritmoo Grafo Incremental

• Inserção: Um caso especial de blocagemo Cria os tokens do novo objetoo Token de Comparação é inserido na listao Novo token (já na lista) é comparado com os w - 1 tokens

(anteriores e posteriores), onde w é o tamanho da janela• Remoção: remove um nó v (objeto) e as arestas que o

conecta a outros nós.• Atualização: Equivale a uma Remoção seguida de Inserção

Grafo de Similaridade

Agrupamento de Instâncias no Processo de Identificação de Dados Duplicados

Page 16: [TCC] Apresentacao - Agrupamento de Instâncias

CIn.ufpe.br

• Etapas do Grafo durante o algoritmoo Recuperação do Grafo

• Reutiliza o processo já realizado (similaridades, grafo)

• Evita um retrabalho em caso de uma baixa do sistema

• Proposta pensada esperando dados que sejam inseridos em um curto espaço de tempo

• Dados obsoletos são esperadoso Grande maioria esteja atualizada

Grafo de Similaridade

Agrupamento de Instâncias no Processo de Identificação de Dados Duplicados

Page 17: [TCC] Apresentacao - Agrupamento de Instâncias

CIn.ufpe.br

Recuperação do Grafo

Agrupamento de Instâncias no Processo de Identificação de Dados Duplicados

Page 18: [TCC] Apresentacao - Agrupamento de Instâncias

CIn.ufpe.br

Algoritmo Guloso• Início: Todos os objetos localizados em um Cluster (|Qc| = 1)• Merge (apenas entre pares):

1. Para cada vizinho C’ de C, avalie se fundir C com C’ gera um cluster melhor. 2. Ao encontrar o melhor agrupamento, (I) fundir C com C’, (II) adicionar C U C’ na fila Qc, e (III)

remover C’ de Qc se C’ pertence a Qc. • Split (divide apenas em dois):

1. Para cada nó v de um cluster C, avalie se tirando v, um cluster melhor é gerado. 2. Ao encontrar um nó v que satisfaça o passo 1, crie um cluster novo C’ = {v} e vá para os

passos 3 e 4. 3. Para cada nó remanescente v’ que pertença a C, avalie se movendo v’ para C’, um cluster

melhor é obtido. Se for, mova v’ para C’ e repita o passo 3. 4. Adicione C e C1 a QC se eles são conectados a outro cluster.

• Move (apenas entre pares):1. Para cada vizinho C’ do cluster C, faça os passos 2-3. 2. Para cada nó v pertencente a C que é conectado com C’ e para cada v pertencente a C’

conectado a C, avalie se movendo v para outro cluster gera um cluster melhor. Ao encontrar um nó v que satisfaça, mova-o para o outro cluster.

3. Repita 2 até que não haja mais nós para serem movidos. Então (1) adicione os dois novos clusters a fila Qc , e (2) tire da fila C’ se C’ estiver na fila.

• Qc: Lista de Clusters

Agrupamento de Instâncias no Processo de Identificação de Dados Duplicados

Page 19: [TCC] Apresentacao - Agrupamento de Instâncias

CIn.ufpe.br

Resultados

Agrupamento de Instâncias no Processo de Identificação de Dados Duplicados

Page 20: [TCC] Apresentacao - Agrupamento de Instâncias

CIn.ufpe.br

• Contribuição– Especificar o Pré-Processamento

– Implementar o Algoritmo Guloso

– Trabalhos Futuros:• Análise da implementação proposta com outros algoritmos

Resultados

Agrupamento de Instâncias no Processo de Identificação de Dados Duplicados