Sistemas de
Recuperação da
Informação (SRI)
Recuperação da Informação
Roteiro
Interface de SRI Construção de SRI Modelos de SRI
Sistemas de RI
Um sistema de recuperação de informação (SRI) pode ser visto
como
a parte do sistema de informação responsável pelo
armazenamento ordenado dos documentos em base de dados,
e sua posterior recuperação
para responder a expressão de busca usuário.
4
Interface de SRI: Recursos de Busca
5
Interface de SRI: Recursos de Busca
Motivos para uso do Autocompletar (sugestão de busca):
Os usuários da web estão familiarizados com o
autocompletar no endereço na barra dos navegadores
Reduz o número de letras digitadas permitindo
uma entrada rápida da consulta
Previne erros de digitação
Fornece um retorno ao usuário sobre a validade
da consulta digitada
Revela assuntos existentes no índice que casam
com o que o usuário está digitando
6
Interface de SRI: Recursos de Busca
7
Interface de SRI: Recursos de Busca
Motivos para uso de Hit Highlights (destaque de ocorrência):
Explica para o usuário porque o documento foi
retornado como resultado da busca
Permite visualizar no extrato do conteúdo do
documento (snippet) trechos que contém os termos buscados mais próximos ou em maior frequência.
Requisito: o índice deve guardar a posição de ocorrência das palavras
8
Interface de SRI: Recursos de Busca
Outros recursos de busca:
Você quis dizer? (Did you mean?) – útil na
formulação da consulta, permitindo
correção de erros ortográficos na consulta
Operadores lógicos booleanos: AND, OR,
NOT, ANDNOT.
Operadores de obrigatoriedade de
ocorrência (+,-)
Operadores de busca por campo,
geralmente escritos no formato:
nomedocampo: expressão de busca
9
Interface de SRI: Recursos de Busca
Outros recursos de busca:
Operador de busca por radical (*) – útil na
formulação da consulta, permitindo casamento com variações sintáticas de um radical de palavra que denota o mesmo conceito.
Operador de caracter coringa (?)
Operador de busca por frase (“”) – útil na
formulação da consulta, permitindo casamento com uma sequência de palavras que definem um conceito ou contexto.
Operador de proximidade de palavras (NEAR,
10
Interface de SRI: Recursos de filtragem
11
Interface de SRI: Recursos de filtragem
Motivos para uso da Busca Facetada:
Fornece meios para os usuários navegarem pelo
catálogo, ou discriminarem os resultados de busca através de facetas (categorias)
Encoraja a exploração do catálogo de forma
rápida através da seleção de facetas
Requisito: Categorias definidas e catalogadas no
Exercício
Para o SRI descrito anteriormente, especifique:
Recursos de busca
Recursos de filtragem
Construção de SRI
Etapas principais na construção do SRI:
Aquisição (coleta, seleção) dos documentos Criação de índice para busca
Indexação e catalogação de documentos Preparação dos documentos
Construção e armazenamento do índice
Recuperação (Consulta ao índice)
Busca (casamento com a representação da expressão de busca
do usuário)
Ordenamento dos documentos recuperados (do inglês ranking)
14
Exemplo: Mecanismos de Busca
Web Consulta Resposta Base de Índices Engenho de Busca Usuário Spider Indexador
Representação dos Docs
Servidor de Consultas Aquisição Pré-Processador Docs Recuperador Ordenador 2 1 3 4 Motor de Indexação Browser
Fases e Etapas de um SRI
Etapas da Fase 1 - Criação da Base de índices
Aquisição (coleta, seleção) dos documentos Indexação e catalogação de documentos Preparação dos documentos
Construção de índice invertido
Etapas da Fase 2 - Consulta à Base de índices
Preparação da consulta (query)
Busca e Recuperação (casamento com a consulta do
usuário)
Ordenação dos documentos recuperados Apresentação dos resultados
Sistemas de RI:
Criação da base de índices
Base de documentos Armazenamento dos documentos Construção de índices
Preparação dos documentos
Base de indices Representação do documento (visão lógica) Arquivo de índices invertido Documentos
Sistemas de RI:
Consulta à Base de índices
Busca e recuperação Ordenação Preparação da consulta Interface do usuário Base de índices Índices-docs recuperados Índices-docs ordenados Expressão de busca Resultado de busca Representação da consulta (visão lógica)
18
Como funcionam os Sistemas de Recuperação de Informação? Usuário Necessidade de Informação Função de busca Documentos Representação Representação Consulta
Modelos de Recuperação de
Informação
Sistema de Recuperação de Informação Resultado Armazenamento do Índice Casamento, OrdenaçãoModelos de Recuperação de Informação
Os SRIs adotam modelos de recuperação de
informação que definem principalmente:
A representação dos documentos
A visão lógica dos documentos, sua representação no
sistema
A representação da consulta
A visão lógica da expressão de busca ou consulta, sua
representação no sistema
A função de busca: como as duas representações são
comparadas, e como ordenar os documentos que casam (a lista de resultado).
Além do modo de operação os modelos definem a
Exercício
Quais são as fases e respectivas etapas presentes na
construção de um SRI?
O que definem os modelos computacionais de
recuperação nos SRIs?
Modelos Clássicos de
Recuperação de Documentos
Veremos inicialmente os seguintes modelos:
Modelo Booleano
Modelo Espaço Vetorial Modelos Probabilistas
Para cada modelo, veremos:
A representação do documento A representação da consulta
A função de busca – determina 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 D uma base qualquer de documentos
Chamamos de Vocabulário da Base o conjunto K de
termos representativos da base em questão
K = {k1, k2,...,kn}
Esses termos são escolhidos a partir da base de
documentos completa
Selecionando-se os termos mais representativos
(importantes) da base
Modelos Clássicos
Conceitos Básicos
Cada documento dj em D é representado pelos
termos de K associados a pesos
dj = k1 (w1), k2 (w2),..., kn (wn)
Peso
Importância da palavra para descrever o documento Quando o termo não aparece no documento, o peso
associado é zero
Cada modelo de RI define pesos de uma maneira
diferente
Modelos Clássicos
Conceitos Básicos
As consultas também podem ser representadas
usando-se os termos em K
Alguns modelos permitem associar pesos aos termos
da consulta
Veremos fórmula mais tarde...
Modelo Booleano
Representação do documento
Dado K, vocabulário da base em questão
Os documentos são representados como vetores de
pesos binários de tamanho n
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
e.g., 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 ou ANDNOT Exemplos: K1 OR k2 K1 AND k2 k1 AND (k2 OR k3) K1 ANDNOT K3 26
Modelo Booleano
Função de busca
Um documento casa com a consulta se ele torna
VERDADEIRO o valor verdade da consulta
Exemplo: O documento d1 = {1,1,0} casa com a
consulta: k1
AND
(k2 OR k3)
Relevância “binária”:
O documento é considerado relevante sse seu
“casamento” com a consulta é verdadeiro
Não é possível ordenar os documentos recuperados
28 k1 k2 k3 AND d1 1 0 1 0 d2 1 0 0 0 d3 0 1 1 0 d4 0 0 1 0 d5 1 1 1 1 d6 1 1 0 0 d7 0 1 0 0 d1 d2 d3 d4 d5 d6 d7 k1 k2 k3
Exemplo
Modelo Booleano
Consulta: k1 AND k2 AND k3 Documentos apresentados ao usuárioModelo Booleano
Vantagens
Modelo simples baseado em teoria bem fundamentada Fácil de implementar
Desvantagens
Não permite casamento parcial entre consulta e
documento
Não permite ordenação dos documentos 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 conseqüência, este modelo geralmente retorna ou
poucos documentos, ou documentos demais
Modelo Espaço Vetorial
Representação do documento e da consulta
Dado K, Vocabulário da Base em questão
cada termo de K = {k1,...,kn} é um eixo em um espaço vetorial Consultas (q) e documentos (d) são representados como
vetores nesse espaço n-dimensional
30 Olimpíadas Brasil Londres d 0.2 0.5 0.3 q
Brasil Olimpíadas Londres Consulta q :
Documento d : Brasil 2012
O Brasil não foi bem no quadra de medalhas da Olimpíada de Londres 2012 ... Brasil 0.5 Olimpíadas 0.3 Londres 0.2 Visão Lógica de d Brasil 0.4 Olimpíadas 0.3 Londres 0.3 Visão Lógica de q
Modelo Espaço Vetorial
Representação do Documento e da consulta
Este Modelo associa pesos positivos não-binários aos
termos
Isso permite casamento “parcial” entre consulta e
documento
Esses pesos são usados 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
Cálculo dos Pesos
Método TF-IDF leva em consideração:
Freqüência do termo no documento Term Frequency (TF)
Quanto maior, mais relevante é o termo para
descrever o documento
Inverso da freqüê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
Modelo Espaço Vetorial
Cálculo dos Pesos com TF-IDF
Definições
dj: documento; ki:termo
freqi,j: freqüência do termo ki no documento dj ni: número de documentos que contêm termo ki N: número total de documentos da base
maxl freql,j : a freqüência do termo mais freqüente no
documento TF: IDF: 33 N ni idfi= log
Inverso da freqüência do termo nos documentos da base
freqi,j maxl freql,j tfi,j=
Freqüência (normalizada) do termo no documento
Modelo Espaço Vetorial
Cálculo dos Pesos com TF-IDF
Definição do peso
nos documentos
:
wi,j: peso associado ao termo ki no documento dj wi,j = tfi,j X idfi
Para definição dos pesos dos termos
nas
consultas
, Berthier sugere:
34 N ni X log 0.5 freqi,q maxl freql,q wi,j = 0.5 +
Modelo Espaço Vetorial
Função de busca
O modelo EV ordena os documentos recuperados de
acordo com sua similaridade em relação à consulta
Similaridade pode ser medida pelo cosseno do ângulo
entre q e d 35 K2 K1 d q Similaridade(q,d) = cos()
Modelo Espaço Vetorial
Função de busca
Função cosseno
Função inversamente relacionada ao ângulo entre
os vetores
Quanto menor é o ângulo entre os vetores, maior o valor
do cosseno
E maior é a similaridade entre d e q
Varia entre 0 e 1
Independe do tamanho do vetor
Considera apenas sua direção
Existem outras medidas de similaridade usadas com o
modelo EV, porém o cosseno é a mais usada
Modelo Espaço Vetorial
Função de busca
Cosseno Exemplo: 37 Brasil Olimpíadas Londres d q Prata
n i i n i i n i i id
q
d
q
sim
1 2 1 2 1)
(
)
(
)
(
d
q
d
q
sim
0.97 36 . 0 35 . 0 38 . 0 34 . 0 35 . 0 (0.2) (0.3) (0.5) (0.3) (0.3) (0.4) .2 0 0.3 .3 0 0.3 .5 0 0.4 2 2 2 2 2 2 sim38 k1 k2 k3 q dj d1 2 0 1 5 d2 1 0 0 1 d3 0 1 3 11 d4 0 0 2 6 d5 1 2 4 17 d6 1 2 0 5 d7 0 5 0 10 q 1 2 3
Exemplo
Espaço Vetorial usando
Numerador do Co-seno
Consulta: k1 k2 k3
39
Modelo Espaço Vetorial
Vantagens
Permite casamento parcial dos documentos com a
consulta
Ordena documentos de acordo com o grau de
similaridade com a consulta
Consultas e documentos são representados de forma
homogênea pelo sistema
Desvantagens:
Assume independência entre os termos usados na
indexação
q1: professor ; q2: professores
Resultados das consultas q1 e q2 são diferentes É menos intuitivo que o modelo booleano.
Mecanismos de Busca na Web
40
Todos adotam uma variação do modelo espaço vetorial Google https://www.google.com.br/about/company/history/ http://www.google.com/intl/pt-BR/insidesearch/ http://www.google.com/intl/pt-BR/insidesearch/howsearchworks/crawling-indexing.html http://static.googleusercontent.com/media/www.google. com/pt-BR//intl/pt-BR/insidesearch/howsearchworks/assets/searchInfographi c.pdf Bing
Modelo Probabilista
Representação de documentos e consulta
Cada documento (dj) é representado por termos da
base associados a pesos binários (wi,j)
i.e., é um vetor de pesos binários dj = k1 (w1j), k2 (w2j),..., kn (wnj)
A Consulta (q) é representada como um
subconjunto de termos também associados a pesos binários (wi,q)
Modelo Probabilista
Funçao de busca
Idéia fundamental
Dada uma consulta, existe um conjunto que
contém exatamente os documentos relevantes para o usuário
O Conjunto resposta ideal
O Modelo estima a probabilidade dos documentos
pertencerem ao conjunto ideal
Modelo Probabilista
Função de busca
Como o conjunto ideal não é conhecido, as
probabilidades são estimadas usando um conjunto inicial de documentos avaliados pelo usuário
Um conjunto inicial de documentos é recuperado
através de uma consulta
O usuário inspeciona esses documentos e determina
aqueles que são relevantes e não-relevantes
O Modelo usa essa informação para tentar
caracterizar o conjunto ideal (em termos probabilísticos)
44
Modelo Probabilista
Modelo Probabilista
Função de busca
Seja R o conjunto de documentos relevantes
considerando uma consulta q
R é um subconjunto da base de documentos
Seja R o complemento de R
ou seja, documentos não-relevantes para a
consulta q
Modelo Probabilista
Função de busca
Como calcular a similaridade entre query e
documento?
Seja P(dj|R) a probabilidade de que dj seja
selecionado entre os documentos relevantes
Seja P(dj|R) a probabilidade de que dj seja
selecionado entre os documentos não-relevantes
Sim(dj,q) ~
46 P(dj|R)
Modelo Probabilista
Função de busca
Definindo em função dos termos nos documentos:
P(ki | R) indica a probabilidade do termo ki estar
presente entre os documentos relevantes
Valor alto aumenta a probabilidade de relevância de
documentos que contêm o termo ki
P(ki|R) indica a probabilidade do termo ki estar
presente nos documentos não-relevantes
Valor alto diminui a probabilidade de relevância de
documentos que contêm o termo ki
Se dj contém um termo ki que aparece com muita
freqüência em R e pouca freqüência em R então dj
Modelo Probabilista
Função de busca
As duas probabilidades são combinadas no cálculo do peso de cada termo e consequentemente da
similaridade: P(ki | R) e P(ki | R)
Essa fórmula considera apenas a contribuição dos
termos que aparecem ao mesmo tempo na
consulta e no documento (qi * di 0)
Se nenhum termo da consulta aparece no documento
então a similaridade é zero.
Função de Busca
Estimando as probabilidades por meio de
contagens
Dados:
t termos presentes na consulta e no documento
N documentos na coleção
n documentos contendo o termo ti
R documentos marcados como relevantes
r documentos relevantes contendo o termo ti
Função de busca
A similaridade entre documentos e consulta pode então
ser calculada para os t termos da consulta utilizando a fórmula
Onde wik é o peso de cada termo, sendo:
Na primeira interação
Nas demais interações
(com feedback de relevância)
50
t i i i ikq
d
w
d
q
sim
1)
(
)
,
(
n
N
IDF
w
i0 ilog
)
(
)
(
log
r
R
r
n
r
n
R
N
r
w
ikExemplo
51 d1 d2 d3 d4 d5 d6 d7 Brasil Olimpíada LondresBrasil Olimpíada Londres Consulta q : Brasil 1 Olimpíada 1 Londres 1 Brasil 1 Olimpíada 1 Londres 1 Representação de q Representação de d5 Brasil 0.5 Olimpíada 0.2 Londres 0.1
Peso dos termos
Exemplo
Consulta: k1 k2 k3 52 k1 k2 k3 Sim d1 1 0 1 0,51 d2 1 0 0 0,15 d3 0 1 1 0,61 d4 1 0 0 0,15 d5 1 1 1 0,76 d6 1 1 0 0,39 d7 0 1 0 0,24 q 1 1 1 n 5 4 3 peso 0,15 0,24 0,37 k1 k2 k3 IDF 0,15 0,24 0,37 Similaridade(q, d1) = 1 x 1 x 0.15 + 1 x 0 x 0.24 + 1 x 1 x 0.37 = 0.51Modelo Probabilista
Vantagens
Trabalha com o conceito de probabilidade de relevância de
documentos em relação à expressão de busca
Ordena a lista de documentos: documentos ordenados em
ordem decrescente de probabilidade de relevância
Permite ao usuário selecionar os documentos relevantes e
usa esta marcação para melhorar a ordenação dos
resultados (relevance feedback), através da atribuição de pesos aos termos na busca
Desvantagens
Assume independência entre os termos usados na
indexação
Assume que a distribuição dos termos de indexação nos
documentos é uniforme => probabilidade de ocorrer é igual
Todos os termos de indexação tem a mesma importância
na descrição de um documento
Outros Modelos Probabilistas
Okapi BM25 modelo não-binário com suporte a feedback de
relavância (geralmente utilizado de forma implícita tomando os primeiros documentos retornados numa busca).
Criado para pesquisa em texto completo Leva em conta a frequência de termo e
comprimento dos documentos
As fórmulas de ponderação de termo BM25 têm sido
usadas de forma bastante ampla e com bastante sucesso em uma variedade de coleções e tarefas de pesquisa.
Outros Modelos Probabilistas
Okapi BM25 Detalhes em: https://nlp.stanford.edu/IR- book/html/htmledition/okapi-bm25-a-non-binary-model-1.html Jones, Karen Spärck; Walker, S.; Robertson , S. E. A
probabilistic model of information retrieval: Development and comparative experiments. Information Processing and
Management 36 (6): 779-808, 809-840, 2000.
Robertson, S. E.; Zaragoza, H. The Probabilistic Relevance
Framework: BM25 and Beyond. Foundations and Trends in Information Retrieval, Vol. 3, No. 4 (2009) 333–389.
Open source Search Engines
suportando Okapi BM25
Lemur https://www.lemurproject.org/ Lucene http://lucene.apache.org/ https://opensourceconnections.com/blog/2015/10/16/bm25-the-next-generation-of-lucene-relevation/ MG4J http://mg4j.di.unimi.it/ Terrier http://terrier.org/ Zettair http://www.seg.rmit.edu.au/zettair/ Xapian https://xapian.org/ Wumpus http://www.wumpus-search.org/ OKAPI-PACK http://www.staff.city.ac.uk/~andym/OKAPI-PACK/ 56Referências
BAEZA-YATES, R.; RIBEIRO-NETO, B.
Recuperação de informação: conceitos e
tecnologia das máquinas de busca. 2. ed. Porto Alegre: Bookman, 2013