[TCC] Apresentacao - Agrupamento de Instâncias
-
Upload
augusto-giles -
Category
Technology
-
view
136 -
download
3
Transcript of [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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
CIn.ufpe.br
Recuperação do Grafo
Agrupamento de Instâncias no Processo de Identificação de Dados Duplicados
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
CIn.ufpe.br
Resultados
Agrupamento de Instâncias no Processo de Identificação de Dados Duplicados
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