SlideShare a Scribd company logo
1 of 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
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 dados
o 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árquico
o 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árquico
o 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 MinPts
Um 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 Atributos
o 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 Tokens
o 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
• Blocagem
o Recebe de entrada:
o Lista de Tokens de Comparação
o Tamanho da Janela
o 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 tokens
o 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
• Blocagem
o Retorna:
o Lista de valores de similaridade entre dois Tokens de Comparação
o Possibilita a construção do grafo de Similaridade
o Gera arestas para o Grafo de Similaridade
o Para cada objeto inserido após primeira iteração
o Ordena com a lista de Tokens de Comparação
o Token do novo objeto fica na primeira posição da janela
o 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értices
o Cada vértice corresponde a um dos objetos contido nas instâncias
• Arestas
o 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 algoritmo
o 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 algoritmo
o 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 algoritmo
o Grafo Incremental
• Inserção: Um caso especial de blocagem
o Cria os tokens do novo objeto
o Token de Comparação é inserido na lista
o 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 algoritmo
o 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 esperados
o 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

More Related Content

Similar to [TCC] Apresentacao - Agrupamento de Instâncias

Java: Introdução à Orientação a Objetos
Java: Introdução à Orientação a ObjetosJava: Introdução à Orientação a Objetos
Java: Introdução à Orientação a ObjetosArthur Emanuel
 
Coleções Propriedade, Resources e Strings
Coleções Propriedade, Resources e StringsColeções Propriedade, Resources e Strings
Coleções Propriedade, Resources e StringsDenis L Presciliano
 
Aprendizagem Automática
Aprendizagem AutomáticaAprendizagem Automática
Aprendizagem Automáticabutest
 
Sessao 6.pdf para aproveitametno em sessões
Sessao 6.pdf para aproveitametno em sessõesSessao 6.pdf para aproveitametno em sessões
Sessao 6.pdf para aproveitametno em sessõesJoaquimOliveiraBapti1
 
Data Mining - Clustering
Data Mining - ClusteringData Mining - Clustering
Data Mining - Clusteringiaudesc
 
Trabalho de algoritmos
Trabalho de algoritmosTrabalho de algoritmos
Trabalho de algoritmosSandro Arpi
 
Classe integer-float-byte-short-long-double
Classe integer-float-byte-short-long-doubleClasse integer-float-byte-short-long-double
Classe integer-float-byte-short-long-doublePAULO Moreira
 
Desenvolvimento Delphi
Desenvolvimento DelphiDesenvolvimento Delphi
Desenvolvimento Delphihildebertomelo
 
Aula 3 técnicas de teste de software1
Aula 3   técnicas de teste de software1Aula 3   técnicas de teste de software1
Aula 3 técnicas de teste de software1Tiago Vizoto
 
6.3 Clustering_338ca79f26242f5b9b48a218cfc35819.pdf
6.3 Clustering_338ca79f26242f5b9b48a218cfc35819.pdf6.3 Clustering_338ca79f26242f5b9b48a218cfc35819.pdf
6.3 Clustering_338ca79f26242f5b9b48a218cfc35819.pdfDavidLarronda1
 
Descoberta de Conhecimento em Bancos de Dados e Mineração de Dados
Descoberta de Conhecimento em Bancos de Dados e Mineração de DadosDescoberta de Conhecimento em Bancos de Dados e Mineração de Dados
Descoberta de Conhecimento em Bancos de Dados e Mineração de DadosEduardo de Lucena Falcão
 
LINQ - Language Integrated Query
LINQ - Language Integrated QueryLINQ - Language Integrated Query
LINQ - Language Integrated QueryDalton Valadares
 
Uso Do Arena Em Simulacao
Uso Do Arena Em SimulacaoUso Do Arena Em Simulacao
Uso Do Arena Em SimulacaoPrydigo
 
Web Data Mining em R: agrupamento de mensagens do twitter
Web Data Mining em R: agrupamento de mensagens do twitterWeb Data Mining em R: agrupamento de mensagens do twitter
Web Data Mining em R: agrupamento de mensagens do twitterFabrício Barth
 
Tutorial aed iii 006 - algoritmo de ordenação quicksort
Tutorial aed iii   006 - algoritmo de ordenação quicksortTutorial aed iii   006 - algoritmo de ordenação quicksort
Tutorial aed iii 006 - algoritmo de ordenação quicksortFlávio Freitas
 

Similar to [TCC] Apresentacao - Agrupamento de Instâncias (20)

Trabalho e agrupamento.pdf
Trabalho e agrupamento.pdfTrabalho e agrupamento.pdf
Trabalho e agrupamento.pdf
 
Java: Introdução à Orientação a Objetos
Java: Introdução à Orientação a ObjetosJava: Introdução à Orientação a Objetos
Java: Introdução à Orientação a Objetos
 
Programação aula002
Programação aula002Programação aula002
Programação aula002
 
Java 14
Java 14Java 14
Java 14
 
Coleções Propriedade, Resources e Strings
Coleções Propriedade, Resources e StringsColeções Propriedade, Resources e Strings
Coleções Propriedade, Resources e Strings
 
Aprendizagem Automática
Aprendizagem AutomáticaAprendizagem Automática
Aprendizagem Automática
 
Sessao 6.pdf para aproveitametno em sessões
Sessao 6.pdf para aproveitametno em sessõesSessao 6.pdf para aproveitametno em sessões
Sessao 6.pdf para aproveitametno em sessões
 
Data Mining - Clustering
Data Mining - ClusteringData Mining - Clustering
Data Mining - Clustering
 
Trabalho de algoritmos
Trabalho de algoritmosTrabalho de algoritmos
Trabalho de algoritmos
 
Classe integer-float-byte-short-long-double
Classe integer-float-byte-short-long-doubleClasse integer-float-byte-short-long-double
Classe integer-float-byte-short-long-double
 
Desenvolvimento Delphi
Desenvolvimento DelphiDesenvolvimento Delphi
Desenvolvimento Delphi
 
Aula 3 técnicas de teste de software1
Aula 3   técnicas de teste de software1Aula 3   técnicas de teste de software1
Aula 3 técnicas de teste de software1
 
6.3 Clustering_338ca79f26242f5b9b48a218cfc35819.pdf
6.3 Clustering_338ca79f26242f5b9b48a218cfc35819.pdf6.3 Clustering_338ca79f26242f5b9b48a218cfc35819.pdf
6.3 Clustering_338ca79f26242f5b9b48a218cfc35819.pdf
 
Descoberta de Conhecimento em Bancos de Dados e Mineração de Dados
Descoberta de Conhecimento em Bancos de Dados e Mineração de DadosDescoberta de Conhecimento em Bancos de Dados e Mineração de Dados
Descoberta de Conhecimento em Bancos de Dados e Mineração de Dados
 
LINQ - Language Integrated Query
LINQ - Language Integrated QueryLINQ - Language Integrated Query
LINQ - Language Integrated Query
 
Agrupamento com K-Means
Agrupamento com K-MeansAgrupamento com K-Means
Agrupamento com K-Means
 
Uso Do Arena Em Simulacao
Uso Do Arena Em SimulacaoUso Do Arena Em Simulacao
Uso Do Arena Em Simulacao
 
Java 05 Oo Basica
Java 05 Oo BasicaJava 05 Oo Basica
Java 05 Oo Basica
 
Web Data Mining em R: agrupamento de mensagens do twitter
Web Data Mining em R: agrupamento de mensagens do twitterWeb Data Mining em R: agrupamento de mensagens do twitter
Web Data Mining em R: agrupamento de mensagens do twitter
 
Tutorial aed iii 006 - algoritmo de ordenação quicksort
Tutorial aed iii   006 - algoritmo de ordenação quicksortTutorial aed iii   006 - algoritmo de ordenação quicksort
Tutorial aed iii 006 - algoritmo de ordenação quicksort
 

[TCC] Apresentacao - Agrupamento de Instâncias

  • 1. 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
  • 2. 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
  • 3. CIn.ufpe.br Motivação • Grande volume de dados o 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
  • 4. 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
  • 5. CIn.ufpe.br Algoritmos de Agrupamentos Existentes • São divididos em dois métodos de classificação: o Hierárquico o 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árquico o 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
  • 6. 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 MinPts Um 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
  • 7. CIn.ufpe.br Implementação do Algoritmo Guloso • Transformação de dados e Seleção de Atributos o 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
  • 8. 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
  • 9. CIn.ufpe.br • Gerando Tokens o 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
  • 10. CIn.ufpe.br • Blocagem o Recebe de entrada: o Lista de Tokens de Comparação o Tamanho da Janela o 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 tokens o 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
  • 11. CIn.ufpe.br • Blocagem o Retorna: o Lista de valores de similaridade entre dois Tokens de Comparação o Possibilita a construção do grafo de Similaridade o Gera arestas para o Grafo de Similaridade o Para cada objeto inserido após primeira iteração o Ordena com a lista de Tokens de Comparação o Token do novo objeto fica na primeira posição da janela o Janela não necessita deslizar nesse processo Similaridade Agrupamento de Instâncias no Processo de Identificação de Dados Duplicados
  • 12. CIn.ufpe.br Grafo de Similaridade • Vértices o Cada vértice corresponde a um dos objetos contido nas instâncias • Arestas o 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
  • 13. CIn.ufpe.br Grafo de Similaridade • Etapas do Grafo durante o algoritmo o 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
  • 14. CIn.ufpe.br • Etapas do Grafo durante o algoritmo o 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
  • 15. CIn.ufpe.br • Etapas do Grafo durante o algoritmo o Grafo Incremental • Inserção: Um caso especial de blocagem o Cria os tokens do novo objeto o Token de Comparação é inserido na lista o 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
  • 16. CIn.ufpe.br • Etapas do Grafo durante o algoritmo o 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 esperados o Grande maioria esteja atualizada Grafo de Similaridade Agrupamento de Instâncias no Processo de Identificação de Dados Duplicados
  • 17. CIn.ufpe.br Recuperação do Grafo Agrupamento de Instâncias no Processo de Identificação de Dados Duplicados
  • 18. 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
  • 19. CIn.ufpe.br Resultados Agrupamento de Instâncias no Processo de Identificação de Dados Duplicados
  • 20. 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

Editor's Notes

  1. Segundo a IBM, 90% dos dados virtuais foram produzidos nos últimos dois anos, decorrente da inserção de grandes empresas à internet, como também da criação de várias redes sociais, dados de dispositivos móveis, GPS, entre outros. Um dos desafios é agrupar dados... Conseguindo agrupar dados semelhantes de uma forma eficiente, é possível ir para um nível maior de análise. identificar dados de diferentes fontes que pertençam a uma mesma entidade; (Resolução de Entidades)
  2. Apresentação de conceitos Dado um conjunto de informações, a relação de similaridade de dados é essencial ao problema de agrupamento de dados, onde cada cluster contém dados que se assemelham a uma única e distinta entidade.
  3. Para agrupar os dados, existem vários algoritmos de clusterização de acordo com a necessidade que se dividem em Hierarquicos e não-hierárquicos... Citaremos alguns métodos a seguir...
  4. As transformações de dados e seleção de atributo aplicados na implementação podem ser descritas por estas 3 técnicas. Basicamente as 3 técnicas são aplicadas na etapa que o token é gerado.
  5. A Transformação de dados descrita no slide passado pode ser detalhada Gerando token (tokenization), e seleção de atributos (e remoção de stop words), normalização dos atributos
  6. Para tokens de comparação NÃO é relevante atributos que se repetem em vários objetos ou atributos que se apresentem muitas vezes nulos. Portanto, datas não são relevantes para este processo (se repete igualmente em vários objetos) Removendo possíveis e distoantes atributos (nesse slide) e stop words(mencionado anteriormente)
  7. não é imposto um método de blocagem para ser utilizado na formação do grafo de similaridade utilizado
  8. é utilizada para gerar a similaridade par a par dentro da mesma janela, verificando se o valor de similaridade gerado está contido dentro do valor aceitável para gerar uma aresta Similaridade utilizada para construir o grafo de similaridade Para cada objeto inserido... (Slide)
  9. Uma vez que é sabido a similaridade entre cada par de objetos, é possível construir um grafo de similaridade com o universo representado por todos os dados contidos nas instâncias dos bancos de dados. Entre os objetos e δ ≥ 0.75 (threshold), simplificando e otimizando o gráfico para a proposta de agrupamento por similaridade. Em paralelo com a etapa da geração de similaridade, descrita na Seção 4.4, o grafo é criado ou incrementado, dependendo de qual etapa da iteração o processo se encontra. A seguir, serão descritos os passos do algoritmo durante a primeira iteração, as iterações incrementais e a continuidade do processo por meio de recuperação do grafo salvo em arquivo.
  10. é a primeira vez que o processo será executado É formado o primeiro grafo de todo o processo Preparado para receber grande volume de dados É a primeira vez que se roda o algoritmo, existe uma quantidade desconhecida de dados. Como a proposta é trabalhar com grande volume de dados Será a etapa mais custosa, dependendo da quantidade de dados que é processada nesta etapa
  11. Dado que temos o grafo inicial ou o grafo em qualquer passo do algoritmo, para cada Cluster na fila QC os 3 processos descritos são visitados Se o grafo estiver no seu momento inicial, o tamanho da fila de cluster é 1 ou seja, todos as arestas e vértices se encontram em um único Cluster. A tendência é um particionamento, que não espera-se que seja perfeito, por isso que existem as funções de Merge e Move, que pode recuperar dados que foram classificados de maneira equivocada em alguma iteração passada. Segundo o autor da proposta, a ordem destas funções importa pois: Ocorrem mais merges do que Split Move é a mais cara dentre as funções Cada função dessa retorna uma flag que indica se algo foi atualizado, caso essa flag não seja acionada em nenhuma das funções, o cluster vai para uma outra fila que será utilizada na próxima iteração
  12. Falar que foram separadas 1500 objetos em duas instâncias (bases de dados) diferentes
  13. Como contribuição deste trabalho temos: O esclarecimento do Pré-processamento A Implementação de todo o processo (disponível no github) Um dos trabalhos a serem realizados é a análise da implementação descrita comparada com outros algoritmos existentes, demonstrando o comportamento, em um mesmo cenário, dos algoritmos e definir a qual a melhor finalidade de cada um.