Aluno: Jorge Machado RI Syntactic Clustering of the Web Jorge Machado Recuperação de Informação Prof. Pável Calado
Aluno: Jorge Machado RI Syntactic Clustering of the Web Motivação do autor Objectivos Definições Algoritmo Problemas e Melhoramentos Aplicações práticas
Aluno: Jorge Machado RI Motivação do autor Detectar documentos sintacticamente similares –Versões de um mesmo documento –Instabilidade de URL’s –Mirrors –Perdidos e Achados –Documentação em linha para programas populares –Violações de direitos de autor –Problemática do URN
Aluno: Jorge Machado RI Objectivos Detectar dois tipos de fenómenos –Documentos similares no seu todo –Documentos contidos noutros documentos
Aluno: Jorge Machado RI Definições Sketching Impressão Digital Completa Impressão Digital Selectiva –Problemas com grandes variações Token Shingle
Aluno: Jorge Machado RI Definições Sensivelmente o Mesmo (resemblance ) –Medida entre 0 e 1 para a semelhança total de dois documentos Sensivelmente Contido (containment ) –Medida entre 0 e 1 para a semelhança total dos conteúdos de um documento A com um documento B * Estas medidas podem ser calculadas com base num scketch
Aluno: Jorge Machado RI Algoritmo (Cálculo de Similaridade) w-shingling S (D, w) –conjunto de todos os shingles de tamanho w para o documento D Exemplo D = (a,rose,is,a,rose,is,a,rose) w = 4 S(D,w) = { (a,rose,is,a), (rose,is,a,rose), (is,a,rose,is) }
Aluno: Jorge Machado RI Algoritmo (Cálculo de Similaridade) Resemblance entre dois documentos A e B.
Aluno: Jorge Machado RI Algoritmo (Cálculo de Similaridade) Containment do documento A em B.
Aluno: Jorge Machado RI Algoritmo (Cálculo de Similaridade) Distância entre o documento A em B.
Aluno: Jorge Machado RI Algoritmo (Estimativas das Métricas) Amostrar aleatoriamente os primeiros s shingles aleatórios –princípio assumido por Heintze Para os mesmos documentos deveremos retornar os mesmos shingles iguais Ordenação (Hashing) Amostrar um conjunto uniformemente distribuído de shingles
Aluno: Jorge Machado RI Algoritmo (Estimativas das Métricas) Função de extracção dos primeiros s elementos de W
Aluno: Jorge Machado RI Algoritmo (Estimativas das Métricas) Função de extracção distribuída de elementos de m em m shingles
Aluno: Jorge Machado RI Algoritmo (Estimativas das Métricas) Teorema de definição dos métodos F(A) e V(A) para obter os sketches dos documentos
Aluno: Jorge Machado RI Algoritmo (Estimativas das Métricas) Estimativa de resemblance –Pode usar ambas F e V
Aluno: Jorge Machado RI Algoritmo (Estimativas das Métricas) Estimativa de containement –Apenas resulta bem o segundo
Aluno: Jorge Machado RI Algoritmo (Estimativas das Métricas) Proposta de limitação do tamanho de V mantendo ainda assim uniformidade
Aluno: Jorge Machado RI Algoritmo (Dados de Teste) We canonicalize documents by removing HTML formatting and converting all words to lowercase. –The shingle size w is 10. –We use a 40-bit fingerprint function, based on Rabin fingerprints [7], enhanced to behave as a random permutation. (When we refer to a shingle or shingle value in the rest of this paper, we will mean this fingerprint value.) We use the "modulus" method for selecting shingles with an m of ,000,000 HTML and text documents retrieved from the Web.
Aluno: Jorge Machado RI Algoritmo (Teórico) Download de todos os documentos da WEB Cálculo dos sketches para cada documento Comparar os sketches para cada par de documentos para verificar se excedem o treshold de reasemblance. Combinar os pares de documentos similares para agrupar em clusters.
Aluno: Jorge Machado RI Algoritmo (Teórico - Resultados) Quadriliões de comparações 800 bytes por sketche 24 Gb de espaço de memória para scketches 1 Milisegundo levaria 8 horas no total
Aluno: Jorge Machado RI Algoritmo (Solução prática) Dividir, Processar, Juntar bocados de tamanho m Processamento totalmente em Memória Merge consome I/O e tempo Consegue-se tempo mais ou menos lenear n log(n/m) sendo m o tamanho dos blocos
Aluno: Jorge Machado RI Algoritmo (Novo Algoritmo) Na primeira fase foi calculado o sketch de cada documento. ordenada pelo shingle. Agrupados todos os pares de documentos que partilhavam algum shingle. –Linear (Ordenação por shingle) – ordenadas pelo primeiro ID de documento. Na última fase calcula-se para cada cluster aqueles que excedem o treshold mínimo de reasemblance com base nos shingles comuns criando a lista final de clusters.
Aluno: Jorge Machado RI Algoritmo (Suporte a queries) Encontrar um ID dado um URL (Query invisível ao utilizador final) Encontrar um URL dado um ID (Query invisível ao utilizador final) Encontrar o cluster de um documento dado o ID Encontrar todos os documentos de um cluster
Aluno: Jorge Machado RI Problemas e Melhoramentos Shingles Comuns Documentos equivalentes Super Shingles
Aluno: Jorge Machado RI Problemas e Melhoramentos (Shingles Comuns) HTML tags identificando editor Cabeçalhos e Rodapés partilhados Sequências de texto comuns (os números de 3-12,...) Paginas iguais com links internos alterados
Aluno: Jorge Machado RI Problemas e Melhoramentos (Documentos Equivalentes) Assinaturas iguais a nível de conteúdos. Assinatura iguais para forma canónica. Assinaturas iguais aplicadas directamente aos shingles obtidos
Aluno: Jorge Machado RI Problemas e Melhoramentos (SuperShingles) Idéia meta-sketch’s –sketch do sketch Forma de o fazer: super-shingles dos shingles –ordenar os shingles pelo seu ID e aplicar o algoritmo de shingling aos shingles ordenados
Aluno: Jorge Machado RI Aplicações práticas Clustering de resultados para buscas em linha, Clustering este que poderá ser feito on the fly Possibilidades de serviços de perdidos e achados Caracterizar a evolução das páginas com o tempo Encontrar plágios e violações dos direitos de autor.
Aluno: Jorge Machado RI Resultados PhaseTime (CPU-days)Parallelizable Sketching4.6YES Duplicate Elimination0.3 Shingle Merging1.7YES ID-ID Pair Formation0.7 ID-ID Merging2.6YES Cluster Formation0.5 Total~ % resemblance3.6 mihões clusters num total de 12.3 milhões de docs 2.1 milhões clusters contendo apenas docs idênticos (5.3 milhões docs) 1.5 milhões clusters contendo 7 milhões de documentos 150 Gbytes (5k por doc)30,000,000 HTML 1.8 Gbytes (u maédia de 60 bytes por URL) 10 palavras para shingles para 40 bit (5 byte) shingle fingerprints 600M shingles3 Gbytes (5 bytes por shingle) 5.5 Gbytes (9 bytes por entrada - 5 bytes por shingle e 4 bytes por document ID)
Aluno: Jorge Machado RI Questões ???????????