Recuperação
de Informação
Estrutura de Dados II
Mariella Berger
1
Roteiro
 Tarefas
de Recuperação de Informação
 Modelos
de Recuperação de Documentos
cv
Modelo Booleano
Modelo Espaço Vetorial
Recuperaçãocvde Informação
Sistemas de Recuperação de
Informação

Um sistema automático para RI pode ser visto como a parte do
sistema de informação responsável pelo armazenamento ordenado
dos documentos em um BD e sua posterior recuperação para
responder a consulta do usuário

Etapas principais:
cv
Preparação dos documentos
Indexação dos documentos
Busca (casamento com a consulta do usuário)
Ordenação dos documentos recuperados
Representação do Documento
Visão Lógica
 Cada
documento da base pode ser representado
por:
um conjunto de termos (ou palavras) que melhor
cv
representam seus tópicos (geralmente, substantivos e verbos)
seu texto completo (todos os termos que aparecem no
documento, incluindo artigos, preposições,...)
seu texto completo + estrutura (títulos, fonte (negrito,
itálico), hiperlinks...)
Modelos Clássicos de
Recuperação de Documentos
 Veremos
inicialmente os seguintes modelos:
Modelo Booleano e Modelo Espaço Vetorial
 Para
cada modelo, veremos: cv
A representação do documento
A representação da consulta
A noção de relevância dos documentos em relação à
consulta utilizada na recuperação
pode ser binária (sim/não) ou ordenada
Modelos Clássicos
Conceitos Básicos
 Considere
uma base qualquer de documentos
 Cada
documento na base é representado por um
conjunto de n termos (ou palavras isoladas)
cv
k1, k2,...,kn
 Esses
termos são escolhidos a partir da base de
documentos completa
cada base terá seu conjunto de termos
representativos
Modelos Clássicos
Conceitos Básicos
 Cada
documento (dj) é representado por termos da base
associados a pesos
d1 = k1 (w1), k2 (w2),..., kn (wn)
 Peso
cv
Importância da palavra para descrever o documento
Quando o termo não aparece no documento, o peso
associado é zero
Cada modelo de recuperação define pesos de uma
maneira diferente
Modelos Clássicos
Conceitos Básicos
 As
consultas podem ser representadas pelo mesmo
conjunto de termos da base
 Alguns
modelos permitem
cvassociar pesos aos termos
da consulta
Modelo cvBooleano
Modelo Booleano
Representação do documento

Dado o conjunto de termos representativos para a base em questão
K = {k1, k2,...,kn}

Os documentos são representados como vetores de pesos binários de
tamanho n
cv
Cada posição no vetor corresponde a um termo usado na
indexação dos documentos da base
A representação indica apenas se o termo está ou não presente
no documento
d1 = {1,1,0}
documento d1 contém os termos k1 e k2, e não contém o termo k3
Modelo Booleano
Representação da consulta

Consulta:
Termos conectados por AND, OR e/ou NOT
Exemplo: k1 AND (k2 OR NOT k3)
cv

A consulta é transformada em uma fórmula normal disjuntiva (DNF)
objetivo: facilitar o casamento entre documento e consulta
Exemplo: (1,1,1) OR (1,1,0) OR (1,0,0)

Documento casa com a consulta se ele casa com algum dos
componentes da consulta
O documento d1 = {1,1,0} casa com a consulta
Modelo Booleano
Relevância
 Relevância
“binária”:
O documento é considerado relevante se seu
“casamento” com a consulta é verdadeiro
cv
Não é possível ordenar os documentos recuperados
 Exemplo
Base de
Documentos
de consulta
K1
k2
Consulta
k 1  k2  k3
k3
Documentos
apresentados ao
usuário
Modelo Booleano
Vantagens
 Modelo
simples baseado em teoria bem
fundamentada
 Fácil
de implementar
cv
Modelo Booleano
Desvantagens
 Não
permite casamento parcial entre consulta e
documento
 Não
permite ordenação dos documentos
cv
recuperados
A
necessidade de informação do usuário deve ser
expressa em termos de uma expressão booleana
(nem todo usuário é capaz disso)
 Em
consequência, este modelo geralmente retorna
ou poucos documentos ou documentos demais
Modelo Espaço
vetorial
cv
Modelo Espaço Vetorial
 Associa
pesos positivos não-binários aos termos,
permitindo o casamento “parcial” entre consulta e
documento
Esses pesos são usadoscv
para calcular um “grau de
similaridade” entre consulta e documento
O
usuário recebe um conjunto ordenado de
documentos como resposta à sua consulta
Mais interessante do que apenas uma lista
desordenada de documentos
Modelo Espaço Vetorial
 Este
modelo pode utilizar diferentes fórmulas para:
Calcular os pesos dos vetores
Freqüência de ocorrência do termo no documento
cv
TF-IDF (mais usado)
Calcular a medida de similaridade entre consulta e
documentos
Co-seno (mais usado)
Jaccard, Coeficiente de Pearson, etc...
Representação do documento
e da consulta
 Dado
o conjunto de termos representativos para a
base em questão K = {k1, k2,...,kn}
cada termo de K é um eixo de um espaço vetorial
cv
 Consultas (q) e documentos (d) são representados
como vetores nesse espaço n-dimensional
Representação do documento
e da consulta
cv
Representação do documento
e da consulta
Consulta q
:
Brasil Olimpíadas Sidney
Documento d
Brasil em Sidney 2000
:
O Brasil não foi bem no quadra
das medalhas da Olimpíada de
Sidney 2000 ...
Sidne
y
Representação de
cv Brasil q 0.4
q
Olimpíadas 0.3
Sidney
0.3
Representação de
Brasil d 0.5
Olimpíadas 0.3
Sidney
0.2
0.
2
0.
3
Olimpíada
s
d
0.
5
Brasi
l
Modelo Espaço Vetorial
Pesos
 Os
pesos são usados para computar a similaridade
O
peso de um termo em um documento pode ser
calculado de diversas formas:
cv
Frequência no documento
Balancear características em comum (intradocumentos) e características para fazer a distinção
entre documentos (inter-documentos)
Pesos - Frequência
 Exemplo
Documento A: “A dog and a cat.”
cv
Documento B: “A frog.”
Pesos - Frequência
O
vocabulário contém todas as palavras utilizadas
a, dog, and, cat, frog
cv
 O vocabulário necessita ser ordenado
a, and, cat, dog, frog
Pesos - Frequência
 Documento
A: “A dog and a cat.”
Vetor: (2,1,1,1,0)
cv
 Documento
B: “A frog.”
Vetor: (1,0,0,0,1)
Pesos - Frequência
 Queries
também podem ser representadas como
vetores:
Dog = (0,0,0,1,0)
cv
Frog = (0,0,0,0,1)
Dog and frog = (0,1,0,1,1)
Pesos - Frequência
Doc original
Doc : www.filosofia.com
“Se o desonesto soubesse a
vantagem de ser honesto,
ele seria honesto ao menos
por desonestidade.”
Sócrates
Operações de Texto
Doc : www.filosofia.com
desonesto / soubesse /
cv /
vantagem / honesto
seria / honesto /
menos/desonestidade/
socrates
Representação
Doc : www.filosofia.com
honesto
desonesto
soubesse
vantagem
seria
menos
desonestidade
socrates
2
1
1
1
1
1
1
1
Pesos – TF-IDF

Método TF-IDF leva em consideração:
Frequência do termo no documento
Term Frequency (TF)
cv
Quanto maior, mais relevante é o termo para descrever o documento
Inverso da frequência do termo entre os documentos da coleção
Inverse Document Frequency (IDF)
Termo que aparece em muitos documentos não é útil para distinguir
relevância
Peso associado ao termo tenta balancear esses dois fatores
Pesos – TF-IDF

tf_i(frequência do termo) = o número de vezes que o termo i ocorre
no documento (reflete a informação local)

df_i(frequência do documento) = o número de documentos que
contém o termo i.
cv

D = número total de documentos
Pesos – TF-IDF

A fração df_i/D é a probabilidade de selecionar um documento que
contém o termo i.

log(D/df_i) é o Inverse Document Frequency (IDFi ) e reflete a
informação global
cv

Se o termo aparece pouco nos documentos, então este é mais
relevante.
Pesos – TF-IDF
cv
Similaridade
cv
Similaridade
cv
Similaridade
 Cada
dimensão corresponde a um termo, e o valor
do documento em cada dimensão varia entre 0
(irrelevante ou não presente) e 1 (totalmente
relevante).
cv
 As
distâncias entre um documento e outro indicam
seu grau de similaridade, ou seja, documentos que
possuem os mesmos termos acabam sendo
colocados em uma mesma região do espaço e, em
teoria, tratam de assuntos similares.
Similaridade - consulta
 Os
vetores dos documentos podem ser comparados
com o vetor da consulta e o grau de similaridade
entre cada um deles pode ser identificado.
cv
 Os documentos mais similares (mais próximos no
espaço) à consulta são considerados relevantes
para o usuário e retornados como resposta
Similaridade - consulta
 Uma
das formas de calcular a proximidade entre os
vetores é testar o ângulo entre estes vetores.
 No
modelo original, é utilizada
uma função batizada
cv
de cosine vector similarity
K
d
1

Similaridade(q,d) = cos()
q
K
2
Relevancia
 Similaridade
pode ser medida pelo coseno do
ângulo entre q e d
Quanto menor é o ângulo
cventre os documentos, maior
o coseno (E maior é a similaridade entre d e q)
 Exemplo:
para 2 vetores d e d’, a similaridade é
calculada pelo coseno, ou seja:
d d'
d d'
Relevancia
 Depois
dos graus de similaridade terem sido
calculados, é possível montar uma lista ordenada
(ranking) de todos os documentos e seus respectivos
graus de relevância à consulta,
da maior para a
cv
menor relevância
Similaridade
cv
Similaridade
 Similaridade
= produto interno / produto das normas
0.2

0
.4

0.4

0
.1

0.1

0
.2

0
.3

0
.3
sim


0
.
83
2
2 2 2
2 2 2 2


(0.2)

(0.4)

(0.1)

(0.3)

(0.4)

(0.1)

(0.2

(0.





cv

Exemplo 1
 Query:
"gold silver truck"
A
coleção possui 3 documentos (D = 3)
cv
 D1: "Shipment of gold damaged in a fire"
 D2:
"Delivery of silver arrived in a silver truck"
 D3:
"Shipment of gold arrived in a truck"
cv
Similaridade
cv
Similaridade
cv
Similaridade
cv
Similaridade
Resultado
 Rank
1: Doc 2 = 0.8246
 Rank
2: Doc 3 = 0.3271
 Rank
3: Doc 1 = 0.0801
cv
Vantagens
 Oferecer
 Atribuir
um framework simples e elegante
pesos aos termos melhora o desempenho
É
uma estratégia de encontrocv
parcial (função de similaridade),
que é melhor que a exatidão do modelo booleano;
 Os
documentos são ordenados de acordo com seu grau de
similaridade com a consulta.
 Em
geral, seu desempenho (precisão e recall) supera todos os
outros modelos
Desvantagens
 Ausência
de ortogonalidade entre os termos. Isso poderia
encontrar relações entre termos que aparentemente não têm
nada em comum;
É
um modelo generalizado;
cv
 Um
documento relevante pode não conter termos da
consulta;
 Documentos
similaridade.
muito longos podem dificultar na medida da
Ideias para melhorar o modelo
 Apontar
um conjunto de palavras-chaves nos
documentos
 Eliminar
artigos)
palavras muito comuns
(como exemplo
cv
 Limitar
o vetor espaço em substantivos e poucos
verbos ou adjetivos
 Criar
subvetores para documentos muito grandes
Download

consulta