GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf ·...

41
UFU/FACOM/BSI 6-Modelo Vetorial GSI024 - Organiza¸ ao e Recupera¸ ao da Informa¸c˜ ao Ilm´ erio Reis da Silva [email protected] UFU/FACOM/BSI Arquivo 6 - Modelo Vetorial GSI024-ORI Pg:6. 1

Transcript of GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf ·...

Page 1: GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf · Obter lista de documentos da uni~ao das listas dos termos da consulta Tentar inicialmente

UFU/FACOM/BSI 6-Modelo Vetorial

GSI024 - Organizacao e Recuperacao daInformacao

Ilmerio Reis da Silva

[email protected]

UFU/FACOM/BSI

Arquivo 6 - Modelo Vetorial

GSI024-ORI Pg:6. 1

Page 2: GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf · Obter lista de documentos da uni~ao das listas dos termos da consulta Tentar inicialmente

UFU/FACOM/BSI 6-Modelo Vetorial

6-Modelo Vetorial

• Ranking baseado no modelo vetorial

• Consideracoes de desempenho

GSI024-ORI Pg:6. 2

Page 3: GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf · Obter lista de documentos da uni~ao das listas dos termos da consulta Tentar inicialmente

UFU/FACOM/BSI 6-Modelo Vetorial

(Relembrando) Documento como vetor de termos

• cada documento pode ser visto como um vetor de termos (coluna namatriz termo-documento)

• cada termo e um eixo no espaco vetorial

• documentos sao vetores nesse espaco

• o espaco tem milhares de eixos (dimensoes)

GSI024-ORI Pg:6. 3

Page 4: GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf · Obter lista de documentos da uni~ao das listas dos termos da consulta Tentar inicialmente

UFU/FACOM/BSI 6-Modelo Vetorial

Aplicacoes de Vetores de documentos

• Query by Example:“Encontre documentos similares a um dado documento”

• Busca aproximada“Encontre documentos proximos a um dado vetor de documento”

GSI024-ORI Pg:6. 4

Page 5: GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf · Obter lista de documentos da uni~ao das listas dos termos da consulta Tentar inicialmente

UFU/FACOM/BSI 6-Modelo Vetorial

Intuicao

GSI024-ORI Pg:6. 5

Page 6: GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf · Obter lista de documentos da uni~ao das listas dos termos da consulta Tentar inicialmente

UFU/FACOM/BSI 6-Modelo Vetorial

Propriedades essenciais para proximidade no espaco vetorial

• if d1 esta proximo de d2 entao d2 esta proximo de d1 (simetria)

• if d1 esta proximo de d2 e d2 esta proximo de d3 entao d1 nao esta distantede d3 (transitividade)

• Nenhum documento esta mais proximo de di do que ele mesmo (reflex-ividade)

GSI024-ORI Pg:6. 6

Page 7: GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf · Obter lista de documentos da uni~ao das listas dos termos da consulta Tentar inicialmente

UFU/FACOM/BSI 6-Modelo Vetorial

Primeiro corte

• distancia euclidiana: distancia(d1, d2) = |~d1 − ~d2|

• porque nao e uma boa ideia para busca?

– tamanho do documento tem grande influencia– todos os documentos muito pequenos serao similares– necessita normalizacao, por exemplo, observando angulo e nao distancia

euclidiana

GSI024-ORI Pg:6. 7

Page 8: GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf · Obter lista de documentos da uni~ao das listas dos termos da consulta Tentar inicialmente

UFU/FACOM/BSI 6-Modelo Vetorial

Cosenonao satisfaz transitividade

GSI024-ORI Pg:6. 8

Page 9: GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf · Obter lista de documentos da uni~ao das listas dos termos da consulta Tentar inicialmente

UFU/FACOM/BSI 6-Modelo Vetorial

CosenoNormalizacao de pesos

• Como tornar todos os vetores com tamanho igual a 1

• ~dj = (w1,j, w2,j, · · · , wt,j), onde t e o numero de termos do vocabulario,logo, a dimensao do espaco vetorial

• Norma de dj:

|~dj| =

√√√√ t∑i

w2i,j

• Peso normalizado:Wi,j =

wi,j

|~dj|

GSI024-ORI Pg:6. 9

Page 10: GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf · Obter lista de documentos da uni~ao das listas dos termos da consulta Tentar inicialmente

UFU/FACOM/BSI 6-Modelo Vetorial

Vetor de pesos normalizados

• Tamanho do vetor normalizado

| ~Dj| =

√√√√ t∑i

W 2i,j =

√√√√√√ t∑i

wi,j√∑tiw

2i,j

2

= 1

• Com isso, documentos grandes nao levarao vantagem

• Todos estarao proximos.

GSI024-ORI Pg:6. 10

Page 11: GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf · Obter lista de documentos da uni~ao das listas dos termos da consulta Tentar inicialmente

UFU/FACOM/BSI 6-Modelo Vetorial

Similaridade baseada no coseno

• coseno do angulo entre os vetores

• denominador normaliza os vetores

GSI024-ORI Pg:6. 11

Page 12: GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf · Obter lista de documentos da uni~ao das listas dos termos da consulta Tentar inicialmente

UFU/FACOM/BSI 6-Modelo Vetorial

Similaridade baseada no cosenoPara documentos normalizados o coseno e o proprio produto interno

GSI024-ORI Pg:6. 12

Page 13: GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf · Obter lista de documentos da uni~ao das listas dos termos da consulta Tentar inicialmente

UFU/FACOM/BSI 6-Modelo Vetorial

Exemplo

GSI024-ORI Pg:6. 13

Page 14: GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf · Obter lista de documentos da uni~ao das listas dos termos da consulta Tentar inicialmente

UFU/FACOM/BSI 6-Modelo Vetorial

Consultas no espaco vetorial

• Considere a consulta como um documento no espaco vetorial

• Seja ~dq o vetor relativo a consulta q

• Entao:

sim(dj, q) =∑t

i=1wi,q × wi,j(∑ti=1

√w2

i,d

)×(∑t

i=1

√w2

i,j

)• Obs: o vetor ~dq em geral e esparso, pois normalmente a consulta tem

poucos termos.

GSI024-ORI Pg:6. 14

Page 15: GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf · Obter lista de documentos da uni~ao das listas dos termos da consulta Tentar inicialmente

UFU/FACOM/BSI 6-Modelo Vetorial

Caracterısticas do Modelo Vetorial

• um espaco algebrico bem formado

• a consulta pode ser vista como um documento pequeno

• a consulta tambem e um vetor no mesmo espaco

• possibilidade de medir a proximidade de todos os documentos com aconsulta

• score/ranking natural

• possilidade de varias medidas de similaridade, ver survery emhttp://www.lans.ece.utexas.edu/ strehl/diss/node52.html

GSI024-ORI Pg:6. 15

Page 16: GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf · Obter lista de documentos da uni~ao das listas dos termos da consulta Tentar inicialmente

UFU/FACOM/BSI 6-Modelo Vetorial

Modelo Vetorial na Web - Problemas

• indexacao baseada em colecao estatica

• a Web e uma colecao dinamica

GSI024-ORI Pg:6. 16

Page 17: GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf · Obter lista de documentos da uni~ao das listas dos termos da consulta Tentar inicialmente

UFU/FACOM/BSI 6-Modelo Vetorial

Modelo Vetorial e Frases

• indexar as frases com tf.idf para, por exemplo, “tangerine trees”

• ha problemas com a dimensao do vocabulario

• que palavras combinar?

• uma alternativa sao os ındices posicionais

GSI024-ORI Pg:6. 17

Page 18: GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf · Obter lista de documentos da uni~ao das listas dos termos da consulta Tentar inicialmente

UFU/FACOM/BSI 6-Modelo Vetorial

Consultas booleanas e Modelo Vetorial

• concepcoes diferentes do espaco

• o modelo booleano observa um retangulo e o vetorial um cırculo.

GSI024-ORI Pg:6. 18

Page 19: GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf · Obter lista de documentos da uni~ao das listas dos termos da consulta Tentar inicialmente

UFU/FACOM/BSI 6-Modelo Vetorial

Modelo Booleano Extendido (MIR)qor = k1 ∨ k2: o ponto (0, 0) e o alvo a ser evitado

sim(dj, qor) =

√w2

1,j + w22,j

2

GSI024-ORI Pg:6. 19

Page 20: GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf · Obter lista de documentos da uni~ao das listas dos termos da consulta Tentar inicialmente

UFU/FACOM/BSI 6-Modelo Vetorial

Modelo Booleano Extendido (MIR)qand = k1 ∧ k2: o ponto (1, 1) e o alvo a ser alcancado

sim(dj, qand) = 1−√

(1− w1,j)2 + (1− w2,j)2

2

GSI024-ORI Pg:6. 20

Page 21: GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf · Obter lista de documentos da uni~ao das listas dos termos da consulta Tentar inicialmente

UFU/FACOM/BSI 6-Modelo Vetorial

Wildcards e Modelo Vetorial

• transformar consultas em termos associados a wildcard query

• pesos podem influenciar e descaracterizar a consulta

GSI024-ORI Pg:6. 21

Page 22: GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf · Obter lista de documentos da uni~ao das listas dos termos da consulta Tentar inicialmente

UFU/FACOM/BSI 6-Modelo Vetorial

Linguagem de consulta e score

• Linguagens: texto livre, frases, wildcard, etc.

• Miscelania - considere para consultas texto livre:

– topo do ranking formado por documentos onde a frase esta 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

Page 23: GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf · Obter lista de documentos da uni~ao das listas dos termos da consulta Tentar inicialmente

UFU/FACOM/BSI 6-Modelo Vetorial

Eficiencia no calculo do coseno

• O problema: encontrar os k topdocs

• E possıvel obter os k topdocs sem calcular todos os cosenos?

• Indices sao projetados para obter esse conjunto em consultas pequenas(poucos termos)

GSI024-ORI Pg:6. 23

Page 24: GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf · Obter lista de documentos da uni~ao das listas dos termos da consulta Tentar inicialmente

UFU/FACOM/BSI 6-Modelo Vetorial

Calculo eficiente do coseno

• Armazene tfi,j para todo documento dj na lista invertida do termo ki

Opcionalmente, armazena-se pesos baseados em tf.idf

• No processamento da consulta use acumuladores Aj para obter o so-matorio

• acumuladores para todo documento que possua pelo menos um termo daconsulta

• pode ser inviavel se a consulta possui termos muito frequentes

GSI024-ORI Pg:6. 24

Page 25: GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf · Obter lista de documentos da uni~ao das listas dos termos da consulta Tentar inicialmente

UFU/FACOM/BSI 6-Modelo Vetorial

Lista invertida com frequencias

• tft,j foi adicionado a lista

• codigo unario ou γ podem ser usados

• em geral sao valores pequenos

GSI024-ORI Pg:6. 25

Page 26: GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf · Obter lista de documentos da uni~ao das listas dos termos da consulta Tentar inicialmente

UFU/FACOM/BSI 6-Modelo Vetorial

Obtendo os k − topdocsUso de selecao baseada em heap

• heap: arvore binaria onde o no tem similaridade maior que de seusdecendentes

GSI024-ORI Pg:6. 26

Page 27: GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf · Obter lista de documentos da uni~ao das listas dos termos da consulta Tentar inicialmente

UFU/FACOM/BSI 6-Modelo Vetorial

Obtendo os k − topdocsUso de selecao baseada em heap

• construıdo em 2n operacoes (O(n))

• selecao do topo e O(1)

• selecao dos k = log n top em 2 log n

• para n = 1M e k = 100 custo de construcao e selecao 10% do sorting

GSI024-ORI Pg:6. 27

Page 28: GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf · Obter lista de documentos da uni~ao das listas dos termos da consulta Tentar inicialmente

UFU/FACOM/BSI 6-Modelo Vetorial

Gargalo

• Necessidade de calcular todos os cosenos

• Considerar apenas documentos com coseno diferente de zero

• Obter lista de documentos da uniao das listas dos termos da consulta

• Tentar inicialmente consulta conjuntiva (interseccao das listas-Google)

• Se inteseccao das listas dos x termos da consulta e vazia,tente conjuncoes de (x− 1) termos

GSI024-ORI Pg:6. 28

Page 29: GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf · Obter lista de documentos da uni~ao das listas dos termos da consulta Tentar inicialmente

UFU/FACOM/BSI 6-Modelo Vetorial

Limitando os acumuladoresEcolhendo os melhores

• Obtenha o topo da lista de cada termo

• Calcule a uniao dos topdocs de cada termo

• Calcule o coseno para os documentos na uniao

• Obtenha os topdocs baseado no coseno

GSI024-ORI Pg:6. 29

Page 30: GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf · Obter lista de documentos da uni~ao das listas dos termos da consulta Tentar inicialmente

UFU/FACOM/BSI 6-Modelo Vetorial

Ordenando a lista invertida por tfi,j

• Ideia: obter documentos com altos valores de wfi,j

• Ordenar listas invertidas por wfi,j

• Obter termos por ordem de idf

• Obter blocos de documentos para cada termo

• Obter novos blocos ate completar o numero suficiente de acumuladores

• Anh et al. 2001

GSI024-ORI Pg:6. 30

Page 31: GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf · Obter lista de documentos da uni~ao das listas dos termos da consulta Tentar inicialmente

UFU/FACOM/BSI 6-Modelo Vetorial

Poda por agrupamentos pre-processados.

• Obtenha aleatoriamente√n documentos chamados lıderes

• Para cada documento assinale os documentos mais proximos, chamadosseguidores

• Provavelmente cada lıder tera√n seguidores

• Obtenha o lıder mais proximo da consulta

• Obtenha os k − topdocs da consulta baeado na similaridade com osseguidores de L

GSI024-ORI Pg:6. 31

Page 32: GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf · Obter lista de documentos da uni~ao das listas dos termos da consulta Tentar inicialmente

UFU/FACOM/BSI 6-Modelo Vetorial

Visualizacao - Poda por agrupamentos pre-processados.

GSI024-ORI Pg:6. 32

Page 33: GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf · Obter lista de documentos da uni~ao das listas dos termos da consulta Tentar inicialmente

UFU/FACOM/BSI 6-Modelo Vetorial

Variacoes - Poda por agrupamentos pre-processados.

• Associe cada seguidor a tres lıderes

• Obtenha os quatro lıderes mais proximos a consulta

GSI024-ORI Pg:6. 33

Page 34: GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf · Obter lista de documentos da uni~ao das listas dos termos da consulta Tentar inicialmente

UFU/FACOM/BSI 6-Modelo Vetorial

Reducao de Dimensionalidade

• Reduzir dimensoes preservando distancias

• Melhoraria calculo do coseno

• Dois metodos

– Projecao aleatoria– Latent Semantic Indexing (LSI)

GSI024-ORI Pg:6. 34

Page 35: GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf · Obter lista de documentos da uni~ao das listas dos termos da consulta Tentar inicialmente

UFU/FACOM/BSI 6-Modelo Vetorial

Projecao aleatoria em k << m eixos

Escolha aleatoriamente uma dimensao x1

Para i = 2 to k

Escolha aleatoriamente uma dimensao xi ortogonal a x1, · · · , xi−1

Projete cada vetor de documentos no subespaco formado por{x1, x2, · · · , xk}

GSI024-ORI Pg:6. 35

Page 36: GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf · Obter lista de documentos da uni~ao das listas dos termos da consulta Tentar inicialmente

UFU/FACOM/BSI 6-Modelo Vetorial

Reduzindo de 3 para 2 dimensoes

GSI024-ORI Pg:6. 36

Page 37: GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf · Obter lista de documentos da uni~ao das listas dos termos da consulta Tentar inicialmente

UFU/FACOM/BSI 6-Modelo Vetorial

Garantias

• Alta probabilidade de que as distancias relativas sejam mantidas

• Teoria nas referencias

GSI024-ORI Pg:6. 37

Page 38: GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf · Obter lista de documentos da uni~ao das listas dos termos da consulta Tentar inicialmente

UFU/FACOM/BSI 6-Modelo Vetorial

Calculando uma projecaoProjecao de n vetores de m dimensoes em k dimensoes:

• inicie com a matriz A m× n de termos e documentos

• obtenha a matriz R k ×m, uma projeco ortogonal de A

• calcule W = R×A

• a coluna jth da matriz W e o documento dj em k dimensoes

GSI024-ORI Pg:6. 38

Page 39: GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf · Obter lista de documentos da uni~ao das listas dos termos da consulta Tentar inicialmente

UFU/FACOM/BSI 6-Modelo Vetorial

Custo computacional

• Total de k ×m× n multiplicacoes

• Existem tecnicas de otimizacao (vide referencias)

• Vantagem: a reducao dimensional e pre-processada

• O calculo do coseno em k << m dimensoes e mais rapido

GSI024-ORI Pg:6. 39

Page 40: GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf · Obter lista de documentos da uni~ao das listas dos termos da consulta Tentar inicialmente

UFU/FACOM/BSI 6-Modelo Vetorial

Reducao baseada em LSI

• Reducao dependente dos dados

• Elimina eixos redundantes

• Colapsa eixos relacionados, por exemplo, car, automobile

• Capıtulo 18 e/ou seminarios

GSI024-ORI Pg:6. 40

Page 41: GSI024 - Organiza˘c~ao e Recupera˘c~ao da Informa˘c~aoilmerio/ori/ori_s6_modelo_vetorial.pdf · Obter lista de documentos da uni~ao das listas dos termos da consulta Tentar inicialmente

UFU/FACOM/BSI 6-Modelo Vetorial

Referencias

IIR 7; MIR 2.5 e 2.7.2; MG 4

Ranking with Effective Early Termination”, Proc. 24th Annual InternationalACM SIGIR Conference, 35-42.

Anh, V.N. and A. Moffat. 2006. Pruned query evaluation using pre-computed impacts. SIGIR 2006, 372-379.

Random projection theorem, Dasgupta and Gupta. An elementary proof ofthe Johnson-Lindenstrauss Lemma (1999).

Faster random projection - A.M. Frieze, R. Kannan, S. Vempala.

Fast Monte-Carlo Algorithms for finding low-rank approximations. IEEESymposium on Foundations of Computer Science, 1998.

GSI024-ORI Pg:6. 41