Introduction to Information Retrieval
Introduction to
Information Retrieval
CS276
Information Retrieval and Web Search
Christopher Manning and Prabhakar Raghavan
Lecture 16: Web search basics
(Fundamentos da busca Web)
Eduardo Augusto Silvestre
Introduction to Information Retrieval
História breve (não-técnica)
Engines baseadas em palavras chave ca. 19951997
Altavista, Excite, Infoseek, Inktomi, Lycos
Ranking de busca paga: Goto (transformado
em Overture.com Yahoo!)
Sua busca no ranking dependente de quanto você
pagou
Leilão para palavras chave: casino era caro!
Introduction to Information Retrieval
História breve (não-técnica)
1998+: Ranking baseado em link, guiado pelo Google
Jogue longe todas as outras engines de antes salvo Inktomi
Grande experiência do usuário de um modelo de negócios
Enquanto isso os ganhos anuais do Goto/Overture’s foram próximos
de $1 bilhão
Resultado: Google adicionou busca paga “ads”, independente
dos resultados de busca
Yahoo seguiu se adaptando, adquirindo Overture (para busca paga) e
Inktomi (para busca)
2005+: Google ganha parte da busca, dominando na Europa e
muito forte na América do Norte
2009: Yahoo! eMicrosoft propõem oferecer busca paga combinada
Introduction to Information Retrieval
Paid
Search Ads
Algorithmic results.
Sec. 19.4.1
Introduction to Information Retrieval
Fundamentos da busca Web
Sponsored Links
CG Appliance Express
Discount Appliances (650) 756-3931
Same Day Certified Installation
www.cgappliance.com
San Francisco-Oakland-San Jose,
CA
User
Miele Vacuum Cleaners
Miele Vacuums- Complete Selection
Free Shipping!
www.vacuums.com
Miele Vacuum Cleaners
Miele-Free Air shipping!
All models. Helpful advice.
www.best-vacuum.com
Web
Results 1 - 10 of about 7,310,000 for miele. (0.12 seconds)
Miele, Inc -- Anything else is a compromise
Web spider
At the heart of your home, Appliances by Miele. ... USA. to miele.com. Residential Appliances.
Vacuum Cleaners. Dishwashers. Cooking Appliances. Steam Oven. Coffee System ...
www.miele.com/ - 20k - Cached - Similar pages
Miele
Welcome to Miele, the home of the very best appliances and kitchens in the world.
www.miele.co.uk/ - 3k - Cached - Similar pages
Miele - Deutscher Hersteller von Einbaugeräten, Hausgeräten ... - [ Translate this
page ]
Das Portal zum Thema Essen & Geniessen online unter www.zu-tisch.de. Miele weltweit
...ein Leben lang. ... Wählen Sie die Miele Vertretung Ihres Landes.
www.miele.de/ - 10k - Cached - Similar pages
Herzlich willkommen bei Miele Österreich - [ Translate this page ]
Herzlich willkommen bei Miele Österreich Wenn Sie nicht automatisch
weitergeleitet werden, klicken Sie bitte hier! HAUSHALTSGERÄTE ...
www.miele.at/ - 3k - Cached - Similar pages
Search
Indexer
The Web
Indexes
Ad indexes
Sec. 19.4.1
Introduction to Information Retrieval
Usuário precisa
Need [Brod02, RL04]
Informational– quer aprender sobre alguma coisa (~40% / 65%)
Low hemoglobin
Navigational – quer ir para uma página (~25% / 15%)
United Airlines
Transactional – quer fazer alguma coisa (web-mediated) (~35% / 20%)
Acessar um serviço
Downloads
Shop
Seattle weather
Mars surface images
Canon S410
Gray areas
Encontrar um bom centro Car rental Brasil
Busca exploratória “ver o que mais”
Introduction to Information Retrieval
Quão longe as pessoas olham os resultados ?
(Source: iprospect.com WhitePaper_2006_SearchEngineUserBehavior.pdf)
Introduction to Information Retrieval
Avaliação empírica dos usuários dos
resultados
Qualidade de páginas varia amplamente
Relevância não é suficiente
Outras qualidades desejadas (não relacionadas a RI !!)
Conteúdo: Confiável, diverso, não-duplicado, bem mantido
Legibilidade Web : mostrar corretamente e rápido
S/ aborrecimentos: pop-ups, etc
Precision vs. recall
Na web, recall raramente importa
O que importa
Precisão de 1?
Compreensividade – deve ser capaz de lidar com consultas obscuras
Recall importa quando o número de resultados é muito pequeno
Percepção do usuário pode não ser científica, mas é
signficante sobre um grande agregado
Introduction to Information Retrieval
Avaliação empírica dos usuários dos
resultados
Relevância e validade dos resultados
UI – Simples, sem bagunça, tolerante a erros
Confiança – Resultados são objetivos
Cobertura de tópicos para consultas polissêmicas
Ferramentas fornecidas para Pre/Pós processo
Mitigar erros do usuário (verificação ortográfica automática, auxílio na
busca,…)
Explícito: Busca dentro dos resultados, mais disso, refinar ...
Antecipativa: buscas relacionadas
Tratar excentricidade
Vocabulário específico da Web
Impacto sobre stemming, verificação ortográfica, etc
Endereço Web digitado na caixa de busca
“O primeiro, o último, o melhor e o pior …”
Sec. 19.2
Introduction to Information Retrieval
A coleção de documentos Web
A Web
S/ projeto/coordenação
Criação de conteúdo distribuído, linking,
democratização da publicação
Conteúdo inclui verdades, mentiras,
informações obsoletas, contradições …
Não estruturado (texto, html, …), semiestruturado (XML), estruturado (banco de
dados)…
Escala muito maior que a coleção de
texto anterior … mas registros de
corporações estão alcançando
Crescimento – “volume dobra em poucos
meses”, ainda continua expandindo
Conteúdo pode ser gerado
dinamicamente
Introduction to Information Retrieval
Spam
SEO – Search Engine Optimization
(Otimização da máquina de busca)
Introduction to Information Retrieval
Sec. 19.2.2
O problema com busca paga ads …
Custa dinheiro. Qual alternativa?
SEO (Search Engine Optimization):
“Tuning” sua página p/ aparercer nas primeiras posições
nos resultados de algoritmos de busca p/ palavras
chaves selecionadas
Alternativa p/ não ter de pagar
Assim, uma função de marketing
Realizado por companias, webmasters e
consultores (“Search engine optimizers”) para seus
clientes
Alguns perfeitamente legitimados, alguns sombrios
Introduction to Information Retrieval
Sec. 19.2.2
Search engine optimization (Spam)
Motivos
Comercial, político, religioso, lobbies
Promoção consolidada pela propaganda
Operadores
Contratantes (Search Engine Optimizers) para lobbies, companias
Web masters
Provedor de serviços
Forums
Isto é, Web master world ( www.webmasterworld.com )
Truques para máquinas de busca específicas
Discussão sobre papers acadêmicos
Introduction to Information Retrieval
Sec. 19.2.2
Forma mais simples
Primeira geração de máquinas confiavam em tf/idf
As páginas do topo do ranking p/ consulta maui resort foram
aquelas contendo mais maui’s e resort’s
SEOs responderam com densa repetição dos termos
escolhidos
Isto é, maui resort maui resort maui resort
Frequentemente, as repetições seriam da mesma cor como o
plano de fundo da página
Termos repetidos indexados pelos crawlers
Mas não visível p/ humanos ou browsers
Densidade de palavras
puramente não pode ser
confiável como um sinal de RI
Introduction to Information Retrieval
Sec. 19.2.2
Variantes de keyword stuffing
Meta-tags “enganosas”, repetição excessiva
Texto escondido com cores, truques de folha de
estilo, etc.
Meta-Tags =
“… London hotels, hotel, holiday inn, hilton, discount,
booking, reservation, sex, mp3, britney spears, viagra, …”
Sec. 19.2.2
Introduction to Information Retrieval
Cloaking
Conteúdo falso serve à maquinas de busca spider
DNS cloaking: Troca de endereço IP.
Y
SPAM
Is this a Search
Engine spider?
Cloaking
N
Real
Doc
Introduction to Information Retrieval
Sec. 19.2.2
Mais técnicas spam
Doorway pages (Páginas de portal)
Páginas otimizadas p/ uma única palavra chave que
redirecionadas para página alvo de fato
Link spamming
Mutual admiration societies, links ocultos, prêmios –
mais um desse depois
Domain flooding: numerosos domínios que apontam ou
redirecionam para uma página alvo
Robôs
Falsa stream de consulta – rank checking programs
“Curve-fit” ranking programs of search engines
Milhões de submissões via Add-Url
Introduction to Information Retrieval
A guerra contra spam
Sinais de qualidade – Prefira Reconhecimento de
páginas autoritárias
spammers por
aprendizado de máquinas
baseadas em:
Votos dos autores (sinais de
ligação)
Votos dos usuários (sinais de
uso)
Policiando das submissões
da URL
Teste anti-robô
Limites sobre as meta
palavras chave
Análise robusta de links
Ignore ligações estatísticas
improváveis (ou texto)
Use análise de link para detectar
Treinando um conjunto
baseado no conhecimento de
spam
Filtros amigavelmente
familiares
Análise linguística, técnicas de
classificação, etc.
Para imagens: flesh tone
detectors, análise do texto
fonte, etc.
Intervenção editorial
Listas negras
Top queries audited
Queixa de endereço
Detecção de padrão suspeito
Introduction to Information Retrieval
Mais sobre spam
Máquinas de busca Web tem políticas das práticas
SEO que eles toleram/bloqueiam
http://help.yahoo.com/help/us/ysearch/index.html
http://www.google.com/intl/en/webmasters/
Adversário da RI: a interminável (técnico) batalha
entre SEO’s e máquinas de busca Web
Pesquisa http://airweb.cse.lehigh.edu/
Introduction to Information Retrieval
Tamanho da Web
Introduction to Information Retrieval
Sec. 19.5
Qual é o tamanho da Web ?
Questões
A Web é realmente infinita
Conteúdo dinâmico, isto é, calendário
Soft 404: www.yahoo.com/<qualquer_coisa> é uma página válida
Web estática contém duplicação sintática, principalmente
devido a mirroring (~30%)
Alguns servidores são raramente conectados
Quem preocupa?
Mídia e consequentemente o usuário
Projetos de máquinas
Engine crawl policy. Impacto sobre recall.
Introduction to Information Retrieval
Sec. 19.5
O que podemos tentar medir?
O tamanho relativo das máquinas de busca
A noção de página sendo indexada é ainda razoavelmente
bem definida
Já existem problemas
Extensão de documento: isto é, máquinas indexam páginas não
ainda crawled, pela indexação anchortext.
Restrição de documento: Todas engines restringem qual é
indexado (primeiras n palavras, somente palavras relevantes, etc.)
A cobertura de uma máquina de busca relativa a
outro processo particular crawling.
Introduction to Information Retrieval
Sec. 19.5
Nova definição ?
(IQ é qualquer medida de teste IQ)
A Web indexável estaticamente é qualquer
índice de máquina de busca.
Diferentes máquinas tem diferentes preferências
max url depth, max count/host, regras anti-spam, regras
de prioridade, etc.
Diferentes indexes de máquinas diferentes coisas
sobre a mesma URL:
frames, meta palavras chaves, restrições de documentos,
extensões de documentos, ...
Sec. 19.5
Introduction to Information Retrieval
Tamanho relativo do Overlap
Dado duas máquinas A e B
Exemplo URLs de A aleatoriamente
AB
Checar se contido em B e viceversa
A B = (1/2) * Tamanho A
A B = (1/6) * Tamanho B
(1/2)* Tamanho A = (1/6)*
Tamanho B
\ Tamanho A / Tamanho B =
(1/6)/(1/2) = 1/3
Cada teste envolve: (i) Amostra (ii) Verificação
Introduction to Information Retrieval
Sec. 19.5
URLs de amostra
Estratégia ideal: Gerar uma URL aleatoriamente e checar
a restrição (containment) em cada índice.
Problema: URLs aleatórias são difíceis de econtrar!
Suficiente gerar uma URL aleatória contida em uma
dada máquina.
Abordagem 1: Gerar uma URL aleatória contida em uma
dada máquina
Suficiente para a estimar o tamanho relativo
Abordagem 2: Random walks / IP addresses
Na teoria: poderia nos dar uma estimativa verdadeira do tamanho da web
Introduction to Information Retrieval
Métodos estatísticos
Abordagem1
Consultas aleatórias
Buscas aleatórias
Approach 2
Endereços de IP aleatórios
Passeio aleatório (Random walks)
Sec. 19.5
Introduction to Information Retrieval
Sec. 19.5
URLs aleatórias de consultas aleatórias
Gerar uma consula aleatória: como ?
Vocabulário: 400,000+ palavras de um web crawl
Consultas conjuntivas: w1 e w2
Isto é, vocalists AND rsi
Pegue 100 URLs de resultado da máquina A
Escolha uma URL aleatória como candidata para checar a
presenção na máquina B
Isso distribuição induz a um peso de probabilidade W(p)
para cada página
Conjetura: W(SEA) / W(SEB) ~ |SEA| / |SEB|
Introduction to Information Retrieval
Sec. 19.5
Verificação baseada na consulta
Strong Query para checar se uma máquina B tem um
documento D:
Download D. Pegue a lista de palavras.
Use 8 palavras de baixa frequencia como AND da consulta
para B
Cheque se D está presente no conjunto de resultados.
Problemas:
Duplicações próximas
Frames
Redirecionamentos
Time-outs das máquians
Consultas de 8 palavras são de um bom tamanho ?
Introduction to Information Retrieval
Sec. 19.5
Vantagens e desvantagens
Statistically sound under the induced weight.
Biases induced by random query
Query Bias: Favors content-rich pages in the language(s) of the lexicon
Ranking Bias: Solution: Use conjunctive queries & fetch all
Checking Bias: Duplicates, impoverished pages omitted
Document or query restriction bias: engine might not deal properly
with 8 words conjunctive query
Malicious Bias: Sabotage by engine
Operational Problems: Time-outs, failures, engine inconsistencies,
index modification.
Introduction to Information Retrieval
Sec. 19.5
Buscas aleatórias
Escolha buscas aleatórias extraídas de um registro
local [Lawrence & Giles 97] ou construir “buscas
aleatórias” [Notess]
Use somente consultas com um pequeno conjunto de
resultados.
Conte URLs normalizadas no conjunto de resultados.
Use estatísticas
Introduction to Information Retrieval
Sec. 19.5
Vantagens e desvantagens
Vantagem
Pode ser uma melhor percepção humana da cobertura
Questões
Exemplos são relacionados com o fonte do registro
Duplicados
Problemas estatísticos técnicos (deve ter resultados,
ratio average not statistically sound)
Introduction to Information Retrieval
Sec. 19.5
Buscas aleatórias
575 e 1050 queries from the NEC RI employee logs
6 Engines in 1998, 11 in 1999
Implementação:
Restrito a consultas com < 600 resultados no total
URLs contadas da máquina de busca depois da verificação
do emparelhamento da consulta
Razão do tamanho computada & overlap para consultas
individuais
Tamanho estimado do índice & overlap pela média de
todas as consultas
Sec. 19.5
Introduction to Information Retrieval
Consultas do estudo de Lawrence e Giles
adaptive access control
neighborhood preservation
topographic
hamiltonian structures
right linear grammar
pulse width modulation neural
unbalanced prior probabilities
ranked assignment method
internet explorer favourites
importing
karvel thornber
zili liu
softmax activation function
bose multidimensional system
theory
gamma mlp
dvi2pdf
john oliensis
rieke spikes exploring neural
video watermarking
counterpropagation network
fat shattering dimension
abelson amorphous computing
Introduction to Information Retrieval
Endereços de IP aleatórios
Gere endereços de IP aleatórios
Encontre um servidor web do endereço dado
Se existir um
Pegue todas as páginas do servidor
Dessas, escolha uma aleatoriamente
Sec. 19.5
Introduction to Information Retrieval
Sec. 19.5
Endereços de IP aleatórios
Requisição HTTP p/ um endereço de IP aleatório
Ignorada: vazio or autorização requerida ou excluída
[Lawr99] Estima-se que 2.8M de endereços de IP
executando em servicores web crawlable (16 milhões no
total) dos 2500 servidores observados
OCLC usando IP de amostra encontrou 8.7 M hosts em
2001
Netcraft [Netc02] acessou 37.2 milhões hosts em Julho 2002
[Lawr99] crawled exaustivamente 2500
Estimou o tamanho da web como 800 milhões de páginas
Estimou o uso de metadados descritores:
Meta tags (palavra chave, descrição) em 34% das páginas
Introduction to Information Retrieval
Sec. 19.5
Vantagens e desvantagens
Vantagens
Estatísticas claras
Independente das estratégias de crawling
Desvantagens
Não trata duplicação
Muitos hosts podem compartilhar um IP, ou não aceitar
requisições
Não tem garantia que todas as páginas estão linkadas para
uma página raiz
Lei do poder para páginas #/hosts geraram bias em direção a
sites com poucas páginas.
Mas bias podem ser quantificados precisamente
Influenciado potencialmente por spamming (múltiplos IPs para
um mesmo servidor para evitar bloqueio de IP)
Introduction to Information Retrieval
Sec. 19.5
Passeio aleatório (Random walks)
Veja a Web como um grafo dirigido
Construa um passeio aleatório nesse grafo
Inclua várias regras de “pulo” para voltar a sites já visitados
Não fique presos em spider traps!
Pode seguir todos os links!
Convirja para uma distribuição estacionária
Deve assumir o grafo como finito e independente do caminho.
Condições não estão satisfeitas (cookie crumbs, flooding)
Tempo para convergência não é realmente conhecido
Exemplo de distribuição estacionária do passeio
Use o método da “consulta forte” para checar a cobertura
pelos SE (Search Engines)
Introduction to Information Retrieval
Sec. 19.5
Vantagens e desvantagens
Vantagens
Método “estatisticamente claro” pelo menos na teoria!
Podia trabalhar até mesmo para uma web infinita
(assumindo convergência) sobre certas métricas.
Desvantagens
Lista de “sementes” é um problema.
Aproximação prática pode não ser válida.
Distribuiçã não uniforme
Subject to link spamming
Introduction to Information Retrieval
Sec. 19.5
Conclusão
Sem soluções perfeitas
Várias novas idéias ...
....mas o problema está ficando difícil
Estudos quantitativos são fascinantes e um bom
problema de pesquisa
Introduction to Information Retrieval
Detecção de duplicações
Sec. 19.6
Introduction to Information Retrieval
Sec. 19.6
Documentos duplicados
A Web é cheia de conteúdo duplicado
Detecção de duplicação restrito = exata
Não é comum
Mas muitos, muitos casos perto de duplicação
Isto é, última data de modificação a única
diferença entre duas cópias de uma página
Introduction to Information Retrieval
Sec. 19.6
Duplicado/Detecção de duplicação próxima
Duplicação: Emparelhamento idêntico, pode ser
detectado com impressão digital (fingerprints)
Duplicação próxima: Emparelhamento próximo
Visão geral
Calcula a similaridade estática com uma edit-distance
measure
Use similaridade limiar para detectar duplicações
próximas
Isto é, similaridade > 80% => Documentos são
“aproximadamente duplicados”
Introduction to Information Retrieval
Sec. 19.6
Calculando similaridade
Características:
Segmentos de um documento (breakpoints naturais ou
artificiais)
Shingles (Word N-Grams)
a rose is a rose is a rose →
a_rose_is_a → rose_is_a_rose →
is_a_rose_is → a_rose_is_a
Medida de similaridade entre dois documentos (= conjuntos de
shingles)
Conjunto de interseção
Especificamente (Tamanho_interseção / Tamanho_união)
Sec. 19.6
Introduction to Information Retrieval
Shingles + Conjunto de intersecção
Calcular o conjunto exato de interseção de shingles
entre todos os pares de documentos é caro
Aproximar utilizando um conjunto de esclha inteligente of
shingles de cada (um esboço)
Estimativa(tamanho da intersecção / tamanho da
união) baseado em um pequeno esboço
Doc
A
Shingle set A
Doc
B
Shingle set B
Sketch A
Jaccard
Sketch B
Introduction to Information Retrieval
Sec. 19.6
Esboço de um documento
Crie um “sketch vector” (tamanho ~200) para
cada documento
Documentos que partilham ≥ t (digo 80%)
elementos correspondentes do vetor são
aproximadamente duplicados
Para doc D, esboçoD[ i ] é como segue:
Seja f map todos shingles em um universo de 0..2m (isto
é, f = impressão digial)
Seja pi uma permutação aleatória em 0..2m
Escolha MIN {pi(f(s))} todos shingles s em D
Sec. 19.6
Introduction to Information Retrieval
Calculando Sketch[i] para Doc1
Documento 1
264
Comece com 64-bit f(shingles)
264
Permute no número da linha com
264
264
pi
Escolha o valor mínimo
Sec. 19.6
Introduction to Information Retrieval
Teste se Doc1.Sketch[i] = Doc2.Sketch[i]
Documento 2
Documento 1
A
264
264
264
264
264
264
264
B
264
São iguais?
Teste para 200 permutações aleatórias: p1, p2,… p200
Sec. 19.6
Introduction to Information Retrieval
Entretanto…
Documento 1
Documento 2
264
264
264
264
A
264
264
B
264
264
A = B se o shingle com o valor MIN na união de Doc1 e
Doc2 é comum para ambos (isto é, mentem na
intersecção)
Why?
Reivindicação: Isso acontece com probabilidade
Tamanho da intersecção / Tamanho da união
Introduction to Information Retrieval
Similaridade de conjunto dos
conjuntos Ci , Cj
Jaccard(C i , C j )
Sec. 19.6
Ci C j
Ci C j
Olhe conjuntos com uma coluna da matriz A; uma linha
para cada elemento no universo. aij = 1 indica presença
do item i no conjunto j
C1 C2
Exemplo
0
1
1
0
1
0
1
0
1
0
1
1
Jaccard(C1,C2) = 2/5 = 0.4
Introduction to Information Retrieval
Sec. 19.6
Observação chave
Para colunas Ci, Cj, quatro tipos de linhas
A
B
C
D
Ci
1
1
0
0
Cj
1
0
1
0
Notação de sobrecarga: A = # das linhas do tipo A
Reivindicação
A
Jaccard(C i , C j )
A BC
Introduction to Information Retrieval
Sec. 19.6
“Min” Hashing
Randomly permute rows
Hash h(Ci) = índice da primeira linha com 1 na
coluna Ci
Propriedade surpreendente
P h(C i ) h(C j ) Jaccard Ci , C j
Por que?
Ambos são A/(A+B+C)
Look down columns Ci, Cj until first non-Type-D row
h(Ci) = h(Cj) type A row
Introduction to Information Retrieval
Sec. 19.6
Min-Hash sketches
Pick P random row permutations
MinHash sketch
SketchD = list of P indexes of first rows with 1 in column C
Similarity of signatures
Let sim[sketch(Ci),sketch(Cj)] = fraction of permutations
where MinHash values agree
Observe E[sim(sig(Ci),sig(Cj))] = Jaccard(Ci,Cj)
Sec. 19.6
Introduction to Information Retrieval
Example
R1
R2
R3
R4
R5
C1
1
0
1
1
0
C2
0
1
0
0
1
C3
1
1
0
1
0
Signatures
S1
Perm 1 = (12345) 1
Perm 2 = (54321) 4
Perm 3 = (34512) 3
S2
2
5
5
S3
1
4
4
Similarities
1-2
1-3 2-3
Col-Col 0.00 0.50 0.25
Sig-Sig 0.00 0.67 0.00
Introduction to Information Retrieval
Sec. 19.6
Implementação de truque
Permuting universe even once is prohibitive
Row Hashing
Pick P hash functions hk: {1,…,n}{1,…,O(n)}
Ordering under hk gives random permutation of rows
One-pass Implementation
For each Ci and hk, keep “slot” for min-hash value
Initialize all slot(Ci,hk) to infinity
Scan rows in arbitrary order looking for 1’s
Suppose row Rj has 1 in column Ci
For each hk,
if hk(j) < slot(Ci,hk), then slot(Ci,hk) hk(j)
Sec. 19.6
Introduction to Information Retrieval
Exemplo
R1
R2
R3
R4
R5
C1
1
0
1
1
0
C2
0
1
1
0
1
h(x) = x mod 5
g(x) = 2x+1 mod 5
C1 slots
h(1) = 1
g(1) = 3
C2 slots
1
3
-
h(2) = 2
g(2) = 0
1
3
2
0
h(3) = 3
g(3) = 2
1
2
2
0
h(4) = 4
g(4) = 4
h(5) = 0
g(5) = 1
1
2
1
2
2
0
0
0
Introduction to Information Retrieval
Sec. 19.6
Comparando assinaturas
Assinatura Matriz S
Linhas = Funções Hash
Colunas = Colunas
Entradas = Assinaturas
Pode calcular – Pair-wise similarity of any
pair of signature columns
Introduction to Information Retrieval
Sec. 19.6
Todos os pares de assinatura
Agora temos um método extremamente eficiente
para estimar o coeficiente de Jaccard para um único
par de documentos
Mas ainda temos de estimar coeficientes N2 onde N
é o número de páginaw web
Still slow
Uma solução: locality sensitive hashing (LSH)
Outra solução: sorting (Henzinger 2006)
Introduction to Information Retrieval
More resources
IIR Chapter 19