GSI024 - Organização e Recuperação da Informação Ilmério Reis da Silva ilmerio@facom.ufu.br UFU/FACOM/BSI Arquivo 6 - Modelo Vetorial GSI024-ORI Pg:6. 1
Ranking baseado no modelo vetorial Considerações de desempenho GSI024-ORI Pg:6. 2
(Relembrando) Documento como vetor de termos cada documento pode ser visto como um vetor de termos (coluna na matriz termo-documento) cada termo é um eixo no espaço vetorial documentos são vetores nesse espaço o espaço tem milhares de eixos (dimensões) GSI024-ORI Pg:6. 3
Aplicações de Vetores de documentos Query by Example: Encontre documentos similares a um dado documento Busca aproximada Encontre documentos próximos a um dado vetor de documento GSI024-ORI Pg:6. 4
Intuição GSI024-ORI Pg:6. 5
Propriedades essenciais para proximidade no espaço vetorial if d 1 está próximo de d 2 então d 2 está próximo de d 1 (simetria) if d 1 está próximo de d 2 e d 2 está próximo de d 3 então d 1 não está distante de d 3 (transitividade) Nenhum documento está mais próximo de d i do que ele mesmo (reflexividade) GSI024-ORI Pg:6. 6
Primeiro corte distância euclidiana: distancia(d 1, d 2 ) = d 1 d 2 porque não é uma boa idéia para busca? tamanho do documento tem grande influência todos os documentos muito pequenos serão similares necessita normalização, por exemplo, observando ângulo e não distância euclidiana GSI024-ORI Pg:6. 7
Coseno não satisfaz transitividade GSI024-ORI Pg:6. 8
Coseno Normalização de pesos Como tornar todos os vetores com tamanho igual a 1 d j = (w 1,j, w 2,j,, w t,j ), onde t é o número de termos do vocabulário, logo, a dimensão do espaço vetorial Norma de d j : d j = t i w 2 i,j Peso normalizado: W i,j = w i,j d j GSI024-ORI Pg:6. 9
Vetor de pesos normalizados Tamanho do vetor normalizado D j = t Wi,j 2 = i t i w i,j t i w2 i,j 2 = 1 Com isso, documentos grandes não levarão vantagem Todos estarão próximos. GSI024-ORI Pg:6. 10
Similaridade baseada no coseno coseno do ângulo entre os vetores denominador normaliza os vetores GSI024-ORI Pg:6. 11
Similaridade baseada no coseno Para documentos normalizados o coseno é o próprio produto interno GSI024-ORI Pg:6. 12
Exemplo GSI024-ORI Pg:6. 13
Consultas no espaço vetorial Considere a consulta como um documento no espaço vetorial Seja d q o vetor relativo à consulta q Então: sim(d j, q) = ( t i=1 t i=1 w i,q w i,j ) ( t wi,d 2 i=1 ) wi,j 2 Obs: o vetor d q poucos termos. em geral é esparso, pois normalmente a consulta tem GSI024-ORI Pg:6. 14
Características do Modelo Vetorial um espaço algébrico bem formado a consulta pode ser vista como um documento pequeno a consulta também é um vetor no mesmo espaço possibilidade de medir a proximidade de todos os documentos com a consulta score/ranking natural possilidade de várias medidas de similaridade, ver survery em http://www.lans.ece.utexas.edu/ strehl/diss/node52.html GSI024-ORI Pg:6. 15
Modelo Vetorial na Web - Problemas indexação baseada em coleção estática a Web é uma coleção dinâmica GSI024-ORI Pg:6. 16
Modelo Vetorial e Frases indexar as frases com tf.idf para, por exemplo, tangerine trees há problemas com a dimensão do vocabulário que palavras combinar? uma alternativa são os índices posicionais GSI024-ORI Pg:6. 17
Consultas booleanas e Modelo Vetorial concepções diferentes do espaço o modelo booleano observa um retângulo e o vetorial um círculo. GSI024-ORI Pg:6. 18
Modelo Booleano Extendido (MIR) q or = k 1 k 2 : o ponto (0, 0) é o alvo a ser evitado sim(d j, q or ) = w 2 1,j + w2 2,j 2 GSI024-ORI Pg:6. 19
Modelo Booleano Extendido (MIR) q and = k 1 k 2 : o ponto (1, 1) é o alvo a ser alcançado sim(d j, q and ) = 1 (1 w1,j ) 2 + (1 w 2,j ) 2 2 GSI024-ORI Pg:6. 20
Wildcards e Modelo Vetorial transformar consultas em termos associados à wildcard query pesos podem influenciar e descaracterizar a consulta GSI024-ORI Pg:6. 21
Linguagem de consulta e score Linguagens: texto livre, frases, wildcard, etc. Miscelânia - considere para consultas texto livre: topo do ranking formado por documentos onde a frase está presente (com ou sem ranking) segundo grupo de documentos com todas as palavras da consulta (com ou sem ranking) terceiro grupo, para casamento parcial, um ranking baseado em tf.idf GSI024-ORI Pg:6. 22
Eficiência no cálculo do coseno O problema: encontrar os k topdocs É possível obter os k topdocs sem calcular todos os cosenos? Índices são projetados para obter esse conjunto em consultas pequenas (poucos termos) GSI024-ORI Pg:6. 23
Cálculo eficiente do coseno Armazene tf i,j para todo documento d j na lista invertida do termo k i Opcionalmente, armazena-se pesos baseados em tf.idf para obter o so- No processamento da consulta use acumuladores A j matório acumuladores para todo documento que possua pelo menos um termo da consulta pode ser inviável se a consulta possui termos muito frequentes GSI024-ORI Pg:6. 24
Lista invertida com freqüencias tf t,j foi adicionado à lista código unário ou γ podem ser usados em geral são valores pequenos GSI024-ORI Pg:6. 25
Obtendo os k topdocs Uso de seleção baseada em heap heap: árvore binária onde o nó tem similaridade maior que de seus decendentes GSI024-ORI Pg:6. 26
Obtendo os k topdocs Uso de seleção baseada em heap construído em 2n operações (O(n)) seleção do topo é O(1) seleção dos k = log n top em 2 log n para n = 1M e k = 100 custo de construção e seleção 10% do sorting GSI024-ORI Pg:6. 27
Gargalo Necessidade de calcular todos os cosenos Considerar apenas documentos com coseno diferente de zero Obter lista de documentos da união das listas dos termos da consulta Tentar inicialmente consulta conjuntiva (intersecção das listas-google) Se intesecção das listas dos x termos da consulta é vazia, tente conjunções de (x 1) termos GSI024-ORI Pg:6. 28
Limitando os acumuladores Ecolhendo os melhores Obtenha o topo da lista de cada termo Calcule a união dos topdocs de cada termo Calcule o coseno para os documentos na união Obtenha os topdocs baseado no coseno GSI024-ORI Pg:6. 29
Ordenando a lista invertida por tf i,j Idéia: obter documentos com altos valores de wf i,j Ordenar listas invertidas por wf i,j Obter termos por ordem de idf Obter blocos de documentos para cada termo Obter novos blocos até completar o número suficiente de acumuladores Anh et al. 2001 GSI024-ORI Pg:6. 30
Poda por agrupamentos pré-processados. Obtenha aleatoriamente n documentos chamados ĺıderes Para cada documento assinale os documentos mais próximos, chamados seguidores Provavelmente cada ĺıder terá n seguidores Obtenha o ĺıder mais próximo da consulta Obtenha os k topdocs da consulta baeado na similaridade com os seguidores de L GSI024-ORI Pg:6. 31
Visualização - Poda por agrupamentos pré-processados. GSI024-ORI Pg:6. 32
Variações - Poda por agrupamentos pré-processados. Associe cada seguidor a três ĺıderes Obtenha os quatro ĺıderes mais próximos à consulta GSI024-ORI Pg:6. 33
Redução de Dimensionalidade Reduzir dimensões preservando distâncias Melhoraria cálculo do coseno Dois métodos Projeção aleatória Latent Semantic Indexing (LSI) GSI024-ORI Pg:6. 34
Projeção aleatória em k << m eixos Escolha aleatoriamente uma dimensão x 1 Para i = 2 to k Escolha aleatoriamente uma dimensão x i ortogonal a x 1,, x i 1 Projete cada vetor de documentos no subespaço formado por {x 1, x 2,, x k } GSI024-ORI Pg:6. 35
Reduzindo de 3 para 2 dimensões GSI024-ORI Pg:6. 36
Garantias Alta probabilidade de que as distâncias relativas sejam mantidas Teoria nas referências GSI024-ORI Pg:6. 37
Calculando uma projeção Projeção de n vetores de m dimensões em k dimensões: inicie com a matriz A m n de termos e documentos obtenha a matriz R k m, uma projeçõ ortogonal de A calcule W = R A a coluna j th da matriz W é o documento d j em k dimensões GSI024-ORI Pg:6. 38
Custo computacional Total de k m n multiplicações Existem técnicas de otimização (vide referências) Vantagem: a redução dimensional é pré-processada O cálculo do coseno em k << m dimensões é mais rápido GSI024-ORI Pg:6. 39
Redução baseada em LSI Redução dependente dos dados Elimina eixos redundantes Colapsa eixos relacionados, por exemplo, car, automobile Capítulo 18 e/ou seminários GSI024-ORI Pg:6. 40
Referências IIR 7; MIR 2.5 e 2.7.2; MG 4 Ranking with Effective Early Termination, Proc. 24th Annual International ACM SIGIR Conference, 35-42. Anh, V.N. and A. Moffat. 2006. Pruned query evaluation using precomputed impacts. SIGIR 2006, 372-379. Random projection theorem, Dasgupta and Gupta. An elementary proof of the Johnson-Lindenstrauss Lemma (1999). Faster random projection - A.M. Frieze, R. Kannan, S. Vempala. Fast Monte-Carlo Algorithms for finding low-rank approximations. Symposium on Foundations of Computer Science, 1998. IEEE GSI024-ORI Pg:6. 41