Recuperação Inteligente de Informações

50
Recuperação Inteligente de Informações Prof. Dr. Celso A. A. Kaestner Pontifícia Universidade Católica do Paraná Programa de Pós-Graduação em Informática Aplicada

Transcript of Recuperação Inteligente de Informações

Page 1: Recuperação Inteligente de Informações

Recuperação Inteligente de Informações

Prof. Dr. Celso A. A. Kaestner

Pontifícia Universidade Católica do ParanáPrograma de Pós-Graduação em Informática Aplicada

Page 2: Recuperação Inteligente de Informações

Modelos Formais em IR

Parte I

Page 3: Recuperação Inteligente de Informações

Representação de documentos

• Os sistemas de IR tradicionais utilizam conjuntos de índices para representar os documentos;

• A idéia é que a semântica dos documentos seja representada por seus índices;

• Modelos mais utilizados: – booleano;– vetorial;– probabilista.

Page 4: Recuperação Inteligente de Informações

Modelos usados em IR

Non-Overlapping ListsProximal Nodes

Structured Models

Retrieval: Adhoc Filtering

Browsing

U s e r

T a s k

Classic Models

boolean vector probabilistic

Set Theoretic

Fuzzy Extended Boolean

Probabilistic

Inference Network Belief Network

Algebraic

Generalized Vector Lat. Semantic Index Neural Networks

Browsing

Flat Structure Guided Hypertext

Page 5: Recuperação Inteligente de Informações

Aspectos distintos: modelo de IR, visão

lógica dos docs., tarefa de recuperação.

Index Terms Full Text Full Text +Structure

RetrievalClassic

Set TheoreticAlgebraic

Probabilistic

ClassicSet Theoretic

AlgebraicProbabilistic

Structured

Browsing FlatFlat

HypertextStructure Guided

Hypertext

LOGICAL VIEW OF DOCUMENTS

USER

TASK

Page 6: Recuperação Inteligente de Informações

Definição formal deum sistema de IR

• Quádrupla (D,Q,F,R(qi,dj)) com– D: conjunto das representações dos docs. na coleção;– Q: conjunto das representações das consultas;– F: framework (arcabouço) para a modelagem dos

documentos, consultas e seu relacionamento;– R(qi,dj): função de ordenamento que associa a cada qi

ε Q e a cada dj ε D um número real que representa a similaridade entre o documento e a consulta.

Page 7: Recuperação Inteligente de Informações

Modelos clássicos em IR

• Nem todos os termos são úteis para representar o conteúdo dos docs.: termos menos freqüentes permitem identificar conjuntos mais restritos.

• A importância de um índice é representada pelos pesos a ele associados;

• Se ki é um índice, dj é um documento, wij é o peso associado a (ki,dj), que quantifica a importância do índice na descrição do conteúdo do documento.

Page 8: Recuperação Inteligente de Informações

Modelos clássicos em IR

Sejam: – ki: índice, dj: documento, N: número total de docs. – K = (k1, k2, …, kT) conjunto de índices; onde T:

número total de termos na coleção;– wij >= 0 : peso associado a (ki,dj); wij = 0 : indica

que o termo (índice) não pertence ao documento;– dj = (w1j, w2j, …, wTj) é o vetor formado pelos pesos

associados ao documento dj; – gi(dj) = wij é a função que retorna o peso associado

ao par (ki,dj).

Page 9: Recuperação Inteligente de Informações

O modelo booleano

• Modelo simples baseado na teoria dos conjuntos;• Consultas especificadas como expressões booleanas:

– semântica precisa;– formalismo elegante, framework simples.

• Termos presentes ou ausentes, ou seja wij ε {0,1};• Considerando:

– q = ka ∧ (kb ∨ ¬kc)– q (na f.n.d.) = (1,1,1) ∨ (1,1,0) ∨ (1,0,0)– cada componente de q (e.g. qcc=(1,1,0)) é

conjuntivo.

Page 10: Recuperação Inteligente de Informações

O modelo booleano

q = ka ∧ (kb ∨ ¬kc)

sim(q,dj) = 1 se ∃ (qcc) | (qcc ε q (f.n.d.)) ∧

(∀ki, gi(dj) = gi(qcc)) 0 no outro caso.

(1,1,1)(1,0,0)

(1,1,0)

Ka Kb

Kc

Page 11: Recuperação Inteligente de Informações

Deficiências do modelo booleano

• A recuperação é baseada numa decisão binária sem noção de matching parcial;

• Nenhuma ordenação de documentos é fornecida;• A passagem da necessidade de informação do usuário à

expressão booleana é considerada complicada;• As consultas booleanas formuladas pelos usuários são

freqüentemente simplistas;• Em conseqüência o modelo booleano retorna poucos ou

muitos documentos em resposta às consultas.

Page 12: Recuperação Inteligente de Informações

O modelo vetorial

• O uso de pesos binários é limitante;• Pesos não binários podem considerar mais

adequadamente matchings parciais;• Estes pesos são utilizados para calcular um grau de

similaridade entre a consulta e o documento;• Um conjunto ordenado de documentos é retornado,

fornecendo uma melhor resposta à consulta.

Page 13: Recuperação Inteligente de Informações

O modelo vetorial• Define-se:

– wij > 0 quando ki ∈ dj; – wiq >= 0 associado ao par (ki,q)– dj = (w1j, w2j, ..., wTj), q = (w1q, w2q, ..., wTq);– a cada termo ki está associado um vetor unitário i;– os vetores unitários i e j são considerados

ortonormais (i.e., são considerados como de ocorrência independente nos documentos) e formam uma base ortonormal para o espaço T-dimensional;

• Neste espaço, consultas e documentos são representados por vetores ponderados.

Page 14: Recuperação Inteligente de Informações

O modelo vetorial• Documentos são representados como “bags of words”;• Representados como vetores quando usados

computacionalmente:– Coordenadas: números em ponto flutuante;– Têm direção e magnitude;– Cada vetor reserva um lugar (dimensão) para cada

termo na coleção;– Portanto, muitos vetores são esparsos.

Page 15: Recuperação Inteligente de Informações

Exemplo em modelo vetorial

a: System and human system engineering testing of EPS

b: A survey of user opinion of computer system response time

c: The EPS user interface management system

d: Human machine interface for ABC computer applications

e: Relation of user perceived response time to error measurement

f: The generation of random, binary, ordered trees

g: The intersection graph of paths in trees h: Graph minors IV: Widths of trees and

well-quasi-ordering i: Graph minors: A survey

a b c d e f g h IInterface 0 0 1 0 0 0 0 0 0User 0 1 1 0 1 0 0 0 0System 2 1 1 0 0 0 0 0 0Human 1 0 0 1 0 0 0 0 0Computer 0 1 0 1 0 0 0 0 0Response 0 1 0 0 1 0 0 0 0Time 0 1 0 0 1 0 0 0 0EPS 1 0 1 0 0 0 0 0 0Survey 0 1 0 0 0 0 0 0 1Trees 0 0 0 0 0 1 1 1 0Graph 0 0 0 0 0 0 1 1 1Minors 0 0 0 0 0 0 0 1 1

Page 16: Recuperação Inteligente de Informações

nova galaxy heat h’wood film role diet fur

10 5 3

5 10

10 8 7

9 10 5

10 10

9 10

5 7 9

6 10 2 8

7 5 1 3

A

B

C

D

E

F

G

H

I

Exemplo em modelo vetorialDocument ids

terms

Frequency of terms on each document

Page 17: Recuperação Inteligente de Informações

Plotagem dos vetores

Star

Diet

Doc about astronomyDoc about movie stars

Doc about mammal behavior

Page 18: Recuperação Inteligente de Informações

Documentos no espaço 3D

Page 19: Recuperação Inteligente de Informações

• A similaridade ou proximidade de um documento d = (w1, …, wi, …, wT ) em relação a uma consulta

q = (q1, …, qi, …, qT ) é calculada pela função de

similaridade.• Existem muitas funções de similaridade:

- Produto interno: sim(q, d) = = q1 ∗ w1 + … + qT ∗ wT

Exemplo: Se d = (0.2, 0, 0.3, 1) e q = (0.75, 0.75, 0, 1), então sim(q, d) = 0.15 + 0 + 0 + 1 = 1.15

Exemplo em modelo vetorial

Page 20: Recuperação Inteligente de Informações

Observações:• Documento que têm mais termos em comum com a

consulta tendem a ter maior similaridade;• Para termos que aparecem em q e d, aqueles com

maiores pesos contribuem mais para sim(q, d) do que os que têm menores pesos;

• Documentos maiores são favorecidos;• A similaridade calculada não tem um limite superior

definido.

Exemplo em modelo vetorial

Page 21: Recuperação Inteligente de Informações

Métrica de similaridade normalizada

• Sim(q,dj) = cosΘ = [dj • q] / |dj| * |q|

= [Σ wij * wiq] / |dj| * |q|• Já que wij > 0 e wiq > 0, 0 <= sim(q,dj) <=1• Um documento é recuperado se realiza match parcial

com os termos da consulta.

i

j

dj

Page 22: Recuperação Inteligente de Informações

Exemplo em modelo vetorial

system

interfaceuser

a

c

b

||||)cos(

BA

BAAB

⋅=θ

a b cInterface 0 0 1User 0 1 1System 2 1 1

Page 23: Recuperação Inteligente de Informações

Respondendo a uma consulta no modelo vetorial

• Representa-se a consulta como vetor;

• Calcula-se as distâncias a todos os docs.;

• Ordenação pela distância;

• Exemplo:– “computer system”

Query a b c d e f g h IInterface 0 0 0 1 0 0 0 0 0 0User 0 0 1 1 0 1 0 0 0 0System 1 2 1 1 0 0 0 0 0 0Human 0 1 0 0 1 0 0 0 0 0Computer 1 0 1 0 1 0 0 0 0 0Response 0 0 1 0 0 1 0 0 0 0Time 0 0 1 0 0 1 0 0 0 0EPS 0 1 0 1 0 0 0 0 0 0Survey 0 0 1 0 0 0 0 0 0 1Trees 0 0 0 0 0 0 1 1 1 0Graph 0 0 0 0 0 0 0 1 1 1Minors 0 0 0 0 0 0 0 0 1 1

Page 24: Recuperação Inteligente de Informações

Modelo vetorial

• Sim(q,dj) = [Σ wij * wiq] / |dj| * |q|• Como calcular os pesos wij e wiq ?

– freqüências simples tendem a favorecer palavras comuns • E.g. Query: The Computer Tomography

• Um peso adequado deve considerar 2 efeitos:– quantificação intra-documentos (similaridade)

• fator tf (term frequency) no documento;– quantificação inter-documentos (dissimilaridade)

• fator idf (inverse document frequency)– Usa-se o peso tf*idf : wij = tf(i,j) * idf(i).

Page 25: Recuperação Inteligente de Informações

Sejam: • N : número total de docs. na coleção;• ni: número de docs. contendo ki;• freq(i,j) freqüência simples de ki em dj;

O fator tf normalizado é f(i,j) = freq(i,j) / max(freq(l,j))onde o máximo é calculado sobre os termos que ocorrem em dj;

O fator idf é calculado como idf(i) = log (N/ni)onde log é usado para tornar os valores de tf e idf comparáveis, e pode ser interpretado como a quantidade de informação associada ao termo ki.

Modelo vetorial

Page 26: Recuperação Inteligente de Informações

• Os melhores esquemas de pesos são dados porwij = f(i,j) * log(N/ni)cuja estratégia é denominada tf-idf .

• Para uma consulta ponderada, uma sugestão é usar wiq = (0.5 + [0.5 * freq(i,q) / max(freq(l,q)]) * log(N/ni)

• O modelo vetorial com pesos tf-idf é uma boa estratégia para coleções gerais;

• Quanto aos resultados, o modelo vetorial é comparável às outras alternativas de ordenação, além de ser simples e rápido para calcular.

Modelo vetorial

Page 27: Recuperação Inteligente de Informações

Vantagens:• o uso de ponderação parcial melhora a qualidade

da resposta;• o matching parcial permite a recuperação de docs.

Que aproximam os requisitos da consulta;• a fórmula de ordenação pelo cosseno ordenada os

docs. de acordo com a similaridade com a consulta.Desvantagens:

• assume a independência dos termos índices (??); não fica claro se é má idéia.

Modelo vetorial

Page 28: Recuperação Inteligente de Informações

Modelo vetorial - exemplo I

k1 k2 k3 q • djd1 1 0 1 2d2 1 0 0 1d3 0 1 1 2d4 1 0 0 1d5 1 1 1 3d6 1 1 0 2d7 0 1 0 1

q 1 1 1

d1

d2

d3d4 d5

d6d7

k1k2

k3

Page 29: Recuperação Inteligente de Informações

d1

d2

d3d4 d5

d6d7

k1k2

k3

k1 k2 k3 q • djd1 1 0 1 4d2 1 0 0 1d3 0 1 1 5d4 1 0 0 1d5 1 1 1 6d6 1 1 0 3d7 0 1 0 2

q 1 2 3

Modelo vetorial - exemplo II

Page 30: Recuperação Inteligente de Informações

d1

d2

d3d4 d5

d6d7

k1k2

k3

k1 k2 k3 q • djd1 2 0 1 5d2 1 0 0 1d3 0 1 3 11d4 2 0 0 2d5 1 2 4 17d6 1 2 0 5d7 0 5 0 10

q 1 2 3

Modelo vetorial - exemplo III

Page 31: Recuperação Inteligente de Informações

Refinamentos

Resumo:

• A ponderação (wij ), é a combinação de 3 componentes:

1) Componente freqüência do termo:- 1.0 (b)

- fij (t)

- 0.5 + 0.5 (fij/maxi fij) ∈ [0.5,1] (n) ou K+ (1-K) (fij/maxi fij) com K ∈ [0,1]

Page 32: Recuperação Inteligente de Informações

Refinamentos

2)Componente freqüência na coleção: - 1.0 (x)

- log (N / fdi) (f)

- log ((N - fdi) / fdi) (p)

3) Componente de normalização do vetor:- nenhuma (x)

- pj / (||pj||) (c)

- Obs.: ||pj|| é a norma euclidiana do vetor pj

• Possível combinação dos 3 elementos: bxx, bxc,...

Page 33: Recuperação Inteligente de Informações

No tratamento da consulta

• A melhor combinação depende da aplicação;

1) Componente freqüência do termo:

- consulta curta, poucos termos => todos os

termos são importantes;

0.5 + 0.5 (fij/maxi fij) ∈ [0.5,1] (n)

- muitos termos, necessidade de maior

discriminação: fij (t)

Page 34: Recuperação Inteligente de Informações

No tratamento da consulta

2) Componente freqüência na coleção:

performance similar para f e p

- log (N / fdi) (f)

- log ((N - fdi) / fdi) (p)

3) Componente de normalização do vetor:

pouco importante:

- nenhuma (x)

Page 35: Recuperação Inteligente de Informações

No tratamento dos documentos

1) Componente freqüência do termo:

- vocabulário técnico, termos significativos:

0.5 + 0.5 (fij/maxi fij) ∈ [0.5,1] (n)

- vocabulário variado:

fij (t)

- documentos curtos, vocabulário controlado:

1.0 (b)

Page 36: Recuperação Inteligente de Informações

No tratamento dos documentos

2) Componente freqüência na coleção:

performance similar para f e p

log (N / fdi) (f)

log ((N - fdi) / fdi) (p)

coleções dinâmicas, necessidade de atualização:

1.0 (x)

Page 37: Recuperação Inteligente de Informações

No tratamento dos documentos

3) Componente normalização do vetor:

- se o comprimento for muito variável:

pj / (||pj||) (c)

senão: nenhuma (x)

• Melhores combinações (dependentes da aplicação)- documentos: tfc, nfc ou tpc,npc;- consultas: nfx, tfx, bfx ou (npx, tpx, bpx).

Page 38: Recuperação Inteligente de Informações

Modelo Probabilista

Problemas com o modelo vetorial:• Sem base semântica:

– Palavras-chave são plotadas como eixos;• São realmente independentes ?• São ortogonais ?

– Sem suporte para consultas booleanas:• Como encontrar docs. que não contém uma certa

palavra-chave ?

Page 39: Recuperação Inteligente de Informações

• Objetivo: capturar o problema de IR usando um formalismo probabilista;

• Dada a consulta do usuário, existe um conjunto resposta ideal– Consultas podem ser consideradas como

especificações das propriedades deste conjunto ideal de respostas (clustering);

• Quais são estas propriedades ? – Adivinhação inicial do conjunto (i.e., tentativa

inicial de encontrar o conjunto ideal);– Melhoria por iteração.

Modelo Probabilista

Page 40: Recuperação Inteligente de Informações

Modelo Probabilista

• Um conjunto inicial de docs. é recuperado;• O usuário inspeciona os docs. e indica os relevantes (em

geral somente os 10-20 iniciais são analisados);• O sistema de IR usa esta informação para refinar a

descrição do usuário em busca do conjunto resposta ideal;

• Repetindo o processo espera-se que a descrição do conjunto resposta ideal melhore;

• O conjunto ideal é modelado em termos probabilistas.

Page 41: Recuperação Inteligente de Informações

Modelo Probabilista

• Dada uma consulta q e um documento dj: – Estima-se a probabilidade que o usuário considere o

documento dj interessante (i.e., relevante). • O modelo assume que a probabilidade de relevância

depende somente das representações de q e dos dj;• O conjunto resposta ideal é denotado por R e deve

maximizar a probabilidade de relevância, e conter os documentos previstos como relevantes.

• Como computar as probabilidades ? Qual o espaço amostral ?

Page 42: Recuperação Inteligente de Informações

Modelo Probabilista

• O ordenamento probabilista é computado por:– sim(q,dj) = P(dj relevante-para q) /

P(dj não-relevante-para q)• Esta é a regra para um documento dj ser relevante;• Minimiza a probabilidade de um julgamento errôneo.

• Definição:– wij ∈ {0,1}– P(R | dj) : probabilidade que o doc seja relevante;– P(¬R | dj) : probabilidade que o doc seja não relevante.

Page 43: Recuperação Inteligente de Informações

Modelo Probabilista

• sim(q,dj) = P(R | dj) / P(¬R | dj) = [P(dj | R) * P(R)]

[P(dj | ¬R) * P(¬R)]~ P(dj | R)

P(dj | ¬R)

– P(dj | R) : probabilidade de selecionar randomicamente o documento dj do conjunto R de documentos relevantes.

Regra de Bayes

P(R ) e P(¬R )

igual para todos os docs.

Page 44: Recuperação Inteligente de Informações

Modelo Probabilista

• sim(q,dj) = [(Π g(dj)=1 P(ki|R)) *

(Π g(dj)=0 P(~ki|R))] /

[(Π g(dj)=1 P(ki|~R)) *

(Π g(dj)=0 P(~ki|~R))]• P(ki|R): probabilidade do índice ki pertencer a

um d ∈ R;• P(~ki|R): probabilidade do índice ki não estar

presente em d ε R.• P(ki|~R), P(~ki|~R): idem para d ∉ R.

Page 45: Recuperação Inteligente de Informações

Modelo Probabilista

• Usando log e considerando P(ki|R)+P(~ki|R)=1:

sim(q,dj) ~= Σ i=1,T wiq * wij *

{log [P(ki|R)/(1-P(ki|R))] +

log [(1-P(ki|~R)) / P(ki|~R)]}

• Inicialmente P(ki|R) = 0,5 e P(ki|~R)= ni / N – ni: número de docs. que contém ki;– N: número total de docs.

Page 46: Recuperação Inteligente de Informações

Modelo Probabilista

• Se V é conjunto de documentos inicialmente recuperados e Vi é o subconjunto de V que contém ki :– P(ki|R) = Vi / V ; e – P(ki|~R)= (ni -Vi) / (N - V) .

• O processo é repetido recursivamente.

Page 47: Recuperação Inteligente de Informações

Modelo Probabilista

• Correção para pequenos valores:– P(ki|R) = (Vi + 0,5) / (V + 1) ; e – P(ki|~R)= (ni -Vi + 0,5) / (N - V + 1).

• Ou então:– P(ki|R) = (Vi + (ni / N)) / (V + 1) ; e – P(ki|~R)= (ni -Vi + (ni / N)) / (N - V + 1).

Page 48: Recuperação Inteligente de Informações

Modelo Probabilista

• Vantagens:– Docs. ordenados em ordem decrescente de

probabilidade de relevância;• Desvantagens:

– necessidade de “adivinhação” inicial para

P(ki | R);– o método não considera os fatores tf e idf.

Page 49: Recuperação Inteligente de Informações

Comparação entre os modelos

• Modelo booleano: simples, não fornece matchings parciais e é considerado mais fraco;

• Experimentos de Salton e Buckley: o modelo vetorial tem em média desempenho superior ao modelo probabilista;

• Atualmente este é o pensamento dominante entre os pesquisadores da área.

Page 50: Recuperação Inteligente de Informações

Outros modelos• Modelos baseados em conjuntos difusos (fuzzy);• Extensões do modelo booleano: , adotando pesos

contínuos normalizados entre 0 e 1;• Modelos baseados em análise semântica latente

(LSA);• Modelos baseados em redes neurais;• Uso de redes bayesianas.

• Modelos para documentos estruturados;• Modelos para browsing.