cin-ufpe1 recuperação de informação eduardo amaral - efas frederico fernandes - fbf2 juliano...
TRANSCRIPT
CIn-UFPE 1
Recuperação de Informação
Eduardo Amaral - efasFrederico Fernandes - fbf2Juliano Rabelo - jcbrFlávia Barros – fab (participação especial)
CIn-UFPE
2
RoteiroIntroduçãoAquisiçãoPré-ProcessamentoIndexaçãoRecuperaçãoOrdenaçãoAvaliação e ValidaçãoCategorização
CIn-UFPE
3
“Morrendo ignorante num mar de informações”
- Dificuldade de localizar documentos relevantes !!
Como funciona?
Web Pages 1870 found.
Usuário
Necessidade deInformação
Casamento
Documento
s
indexaçãoConsultaCaracterização
formulação
Motivação
Introdução- Motivação- Definição- Histórico- Arquitetura
CIn-UFPE
4Recuperação de Informação: Definição
Área de pesquisa e desenvolvimento que investiga métodos e técnicas para a representação, a organização, o armazenamento, a busca e a recuperação de itens de informação
Objetivo principal: facilitar o acesso a documentos (itens de informação) relevantes à necessidade de informação do usuário Geralmente representada através de consultas
baseadas em palavras-chaves Introdução- Motivação- Definição- Histórico- Arquitetura
CIn-UFPE
5
Introdução- Motivação- Definição- Histórico- Arquitetura
Histórico1ª Fase: computadores – cartão perfurado
Dec. 50: Aplicações: sistemas de recuperação de referências
bibliográficas e outros serviços para bibliotecas. Técnicas: indexação manual
documentos indexados por termos de um vocabulário restrito montado manualmente (tesaurus = dicionário de sinônimos).
Dec. 60: Aplicações: sistemas de recuperação de documentos off-
line Sistemas DIALOG e MEDLARS Técnicas: início da indexação automática
título e abstract Algoritmos de busca
CIn-UFPE
6
Introdução- Motivação- Definição- Histórico- Arquitetura
Histórico2ª Fase: Decs. de 70 e 80
Aumento do poder computacional Aplicações:
Sistemas de Pergunta-Resposta Técnicas: RI + Processamento de Linguagem
Natural Evoluíram para interfaces em Linguagem Natural
para BDs Sistemas de RI on-line
Técnicas: estatística e probabilidade, Modelo de Espaço Vetorial (Salton 71)
SMART: 1º sistema de RI automático para o conteúdo usando Espaço Vetorial
Avaliação do desempenho do sistema pelo usuário
CIn-UFPE
7
Introdução- Motivação- Definição- Histórico- Arquitetura
Histórico3ª Fase: Web - Dec. 90 até ...
Técnicas tradicionais de RI foram adaptadas ao caso da Web Web: gigabytes de dados não estruturados
Alguns problemas: Escalabilidade das soluções Velocidade de atualização da Web Velocidade de acesso aos documentos
armazenados Explosão de serviços + agentes TREC (Text REtrieval Conference)
CIn-UFPE
8Etapas de processamento de Sistemas para RI
Um sistema para RI automático 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 consultas de usuários.Etapas principais: Aquisição (seleção) dos documentos Representação (preparação) dos documentos Indexação dos documentos Busca (casamento com a consulta) Recuperação
Introdução- Motivação- Definição- Histórico- Arquitetura
CIn-UFPE
9Sistemas de RI na Web Arquitetura
WebWeb
Consulta
Resposta
Base deÍndices
Engenho de Busca
Usuário
Spider
Indexador
Representação dos Docs
Servidor de Consultas
AquisiçãoPré-
ProcessadorDocs
Recuperador
Ordenador
21
34
Motor deIndexação
Browser
CIn-UFPE
10
Aquisição de DocumentosManual, para sistemas gerais de RI Ex., sistemas de bibliotecas
Automática, para sistemas na Web Uso de crawlers (spiders)
Programas que navegam pela Web e fazem download das páginas para um servidor
Partem de um conjunto inicial de links Executam busca em largura ou em profundidade
Crawler do Google Executa em várias máquinas em paralelo Indexou 26 Milhões de páginas em 8 dias
Aquisição
CIn-UFPE
11Pré-Processamento dos Documentos
Objetivo Criar uma representação computacional do
documento seguindo algum modeloFases Operações sobre o texto Criação da representação
“Se o desonesto soubesse a vantagem de ser honesto, ele seria honesto ao menos por desonestidade.”Sócrates
Doc original
desonesto / soubesse /vantagem / honesto /seria / honesto /menos/desonestidade/socrates
honesto 2desonesto 1soubesse 1vantagem 1seria 1menos 1desonestidade 1socrates 1
Operações de Texto Representação
Doc : www.filosofia.com Doc : www.filosofia.comDoc : www.filosofia.com
Pré-Processamento
CIn-UFPE
12Pré-Processamento:Operações sobre o textoAnálise léxica Converte uma cadeia de caracteres em
uma cadeia de palavras/termosEliminação de stopwords Palavras consideradas irrelevantes
Ex.: artigos, pronomes, alguns verbos, “WWW”...
Pré-Processamento-
CIn-UFPE
13Pré-Processamento:Operações sobre o textoStemming Redução de uma palavra ao seu radical
Geralmente, apenas eliminação de sufixos Possibilita casamento entre variações de
uma mesma palavra
engineer engineer engineer
engineering engineered engineer
Term Stem Regras de redução:ed -> 0ing -> 0
Pré-Processamento-
CIn-UFPE
14
Pré-Processamento:Representação do
DocumentoTexto Completo Difícil (caro) de manipular computacionalmente
Dado um documento, identificar os conceitos que melhor descrevem o seu conteúdoRepresentar o documento como um Centróide Lista de termos com pesos associados ou não Problema: perda da semântica
“Se o desonesto soubesse a vantagemde ser honesto, ele seria honestoao menos por desonestidade.”
Sócrates
honesto 2desonesto 1soubesse 1vantagem 1seria 1menos 1desonestidade 1socrates 1
Centróide
CIn-UFPE
15Modelos de Representação de Documentos
Modelo Booleano Centróide sem pesos associados A representação indica apenas se o termo
está ou não presente no documentoModelo Espaço Vetorial Centróide com pesos associados
Outros modelos: Booleano Estendido, Difuso, Semântica
Latente, Probabilístico, etc…
CIn-UFPE
16Modelo Booleano:sem pesos associados
Simples de implementar e usar, porém de baixo desempenhoDocumentos e consultas representados como vetores binários de tamanho n (e.g., D = {1,0,1,1,1})
Cada posiçao corresponde a um termo usado na indexação dos documentos sendo considerados
Consulta: termos conectados por AND, OR e NOTRelevância “binária”:
O documento é considerado relevante sse seu “casamento” com a consulta é verdadeiro
Não é possível ordenar os documentos recuperados
k1 k2 k3Consulta:Documentos apresentados ao usuário
k1k2
k3
Base de Documentos
CIn-UFPE
17
Olimpíadas
Brasil
Sidney
d0.4
0.50.3
qBrasil Olimpíadas SidneyConsulta q :
Documento d :Brasil em Sidney 2000 O Brasil não foi bem no quadra das medalhas da Olimpíada de Sidney 2000 ...
Brasil 0.4Olimpíadas 0.3Sidney 0.3
Brasil 0.5Olimpíadas 0.3Sidney 0.2
Representação de q
Representação de d
Modelo Espaço Vetorial:com pesos associados
Consultas (q) e Documentos (d) são representados como vetores em um espaço n-dimensional
Onde n é o número total de termos usados para indexar os documentos sendo considerados
Relevância: co-seno do ângulo entre q e d Quanto maior o co-seno, maior é a relevância de d para q
Ordenação: dada pelo co-seno do ângulo entre q e d
CIn-UFPE
18Representação do Documento com Pesos
Centróide Pesos associadas aos termos como indicação de
relevância: Freqüência de ocorrência do termo no documento TF-IDF = Term Frequency x Inverse Document
Frequency
TF-IDF também considera palavras com baixa ocorrência na base de documentos como melhores discriminantes
)(log)()(
DFD
TFTFIDFTF(w): freqüência da palavra w no doc.DF(w): freqüência de w em DD = total de documentos
Pré-Processamento- Fases- Operações sobre o texto- Representação do documento
CIn-UFPE
19Representação do Documento com Pesos
Centróide Limitar tamanho do centróide em 50
mantendo apenas termos com maior peso Aumenta a eficiência do sistema Estudos mostram que isso não altera
muito o seu poder de representação do centróide
Pré-Processamento- Fases- Operações sobre o texto- Representação do documento
CIn-UFPE
20Representação do Documento com Pesos
Enriquecendo a representação: Considerar formatação do texto como
indicação da importância dos termos título, início, negrito,...
Adicionar informação sobre a localização do termo no documento
Pré-Processamento- Fases- Operações sobre o texto- Representação do documento
Representação de documentos usada pelo Google
word : z - hit hit hit hitword : y - hit hit hit ...word : w - hit
Doc :xxx1bit capitalization; 3bit font size; 12 bit positionhit:
CIn-UFPE
21
Indexação dos DocumentosObjetivo: facilitar busca dos documentos no
repositório digitalOpção imediata: varrer o texto completo Busca seqüencial on-line Textos pequenos ou muito voláteis
Para bases maiores: indexar os documentos Índices invertidos Vetores e árvores de sufixos Arquivos de assinatura
Indexação
CIn-UFPE
22
Índices Invertidos: EstruturaComposição: vocabulário (em ordem alfabética) e posição de ocorrência no textoPossibilita consulta/busca por proximidade e por termo compostoEspaço requerido: pequeno para vocabulário, porém grande parte para ocorrências
This is a text. A text has many words. Words are made from letters.1 6 9 11 17 19 24 28 33 40 46 50 55 60
lettersmademanytextwords
Vocabulário60502811, 1933, 40
Ocorrências
Indexação
CIn-UFPE
23Índices Invertidos:
Técnicas para redução de espaço
Stemming (reduz vocabulário)Ocorrências dos termos endereçadas por: blocos no texto endereço do documento inteiro
Engenhos de busca na Web Poucos ponteiros, ponteiros menores e menos
ocorrênciasGoogle: endereçamento “hierárquico” de blocos Bloco + posição relativa da palavra dentro do
bloco
This is a text. A text has many words. Words are made from letters.
Bloco 1 Bloco 2 Bloco 3 Bloco 4
CIn-UFPE
24
Busca em Índices InvertidosAlgoritmos de busca em índices invertidos seguem 3 etapas: Busca as palavras da consulta no vocabulário
Hashing, tries, B-trees Recupera as ocorrências de todas as
palavras da consulta encontradas no vocabulário
Combina as ocorrências recuperadas de acordo com a consulta: Termos compostos Proximidade Operações booleanas
CIn-UFPE
25Índices Invertidos: Construção
Baixo de busca custo O(número de caracteres)
Palavras inseridas em uma árvore do tipo Trie
letters: 60
many: 28
made: 50
text: 11, 19words: 33, 40
lmt
w
ad
n
Indexação
CIn-UFPE
26Índices Invertidos: Construção
Tries: muito espaço requerido Para bases grandes: paginação
Índices parciais persistentes Merge dos índices
...
Indexação
CIn-UFPE
27Índices Invertidos: Construção
Ao final do processo: Um arquivo de ocorrências Outro do vocabulário com ponteiro para
ocorrências Pode ser mantido na memória
Indexação
CIn-UFPE
28
Outras Estruturas de ÍndicesArquivos de assinatura Menos eficientes que Índices Invertidos Pouco espaço requerido
10% a 20% do original Baseados em hashing Busca seqüencial
aceitável para bases pequenasÁrvores e vetores de sufixos Mais rápidos para buscar trechos do texto Mais difíceis de construir e manter
Indexação
CIn-UFPE
29
RecuperaçãoObtenção dos documentos que satisfazem uma consulta (query)Índices Invertidos Custos de busca e armazenamento
sublinear O (n0.85)
Recuperação
CIn-UFPE
30
RecuperaçãoProcurar termos da Consulta no vocabulárioTabelas hash, tries, ... O(tamanho da palavra)
Lista em ordem alfabética O(log (tamanho do texto)) Mais barato em espaço
Recuperação
CIn-UFPE
31
RecuperaçãoConsultas simples Recupera documentos onde a palavra ocorre
pelo menos uma vez Consultas compostas (booleanas) Recupera documentos onde cada palavra da
Consulta ocorre pelo menos uma vez Merge de listas
Combina as listas de documentos recuperados de acordo com o operador booleano da consulta
Recuperação
CIn-UFPE
32
OrdenaçãoOrdenar os documentos de acordo com sua relevância em relação à ConsultaRelevância: difícil de medir
Mede-se a similaridade entre cada documento e a consulta
Modelo “Espaço Vetorial” Similaridade é proporcional ao co-seno do ângulo
formado Tende a retornar documentos pequenos
Google Proximidade das palavras da Consulta no documento Tamanho da fonte, texto de links, ... PageRank
CIn-UFPE
33
AvaliaçãoCobertura: total de documentos relevantes retornados sobre o número total dos relevantes existentesPrecisão: documentos relevantes retornados sobre o número total de retornados
Todos os Documentos
Documentos Relevantes
Documentos Retornados
Relevantes Retornados
Avaliaçãoe Validação
CIn-UFPE
34
ValidaçãoTeste do sistema num corpus conhecido e etiquetado manualmente Sabe-se a relevância de um documento em
relação a uma ConsultaTREC, Reuters, ...
Avaliaçãoe Validação
CIn-UFPE
35Sistemas de RI na Web Arquitetura
WebWeb
Consulta
Resposta
Base deÍndices
Engenho de Busca
Usuário
Spider
Indexador
Representação dos Docs
Servidor de Consultas
AquisiçãoPré-
ProcessadorDocs
Recuperador
Ordenador
21
34
Motor deIndexação
Browser
CIn-UFPE
36
Base de Índices
Usuário
Servidor de Consultas
Recuperador
OrdenadorBrowser
desonesto -> doc1 peso 1;
socrates -> doc1 peso 1; doc 3 peso 2futebol -> doc3 peso 3; doc 2 peso 5
honesto -> doc1 peso 2; doc 3 peso 1
Servidor de consultas
2
resultados1 - doc12 - doc3
Resposta4 honesto 2
socrates 1
doc1honesto 1socrates 1
doc3
3
Relevancia (Consulta, doc3) = 2 Relevancia (Consulta, doc1) = 3
Consulta 1 (socrates AND honesto)
CIn-UFPE
37
Base deÍndicesIndexado
rMotor deIndexação
Pré-Processador
Motor de Indexação
Operações de Texto Representação
desonesto / soubesse /vantagem / honesto /seria / honesto /menos/desonestidade/socrates
Doc : www.filosofia.com honesto 2desonesto 1soubesse 1vantagem 1seria 1menos 1desonestidade 1socrates 1
Doc : www.filosofia.com
Centróide
Doc: www.filosofia.comPeso : 2
Word : honestoDoc: www.filosofia.comPeso : 1
Word : desonesto
Doc: www.filosofia.comPeso : 1
Word : socrates...
Se o desonesto soubesse a vantagem de ser honesto, ele seria honesto ao menos por desonestidade.” Sócrates
Doc originalDoc : www.filosofia.com
Representação Invertida
CIn-UFPE
38
BibliografiaBaeza-Yates & Ribeiro-Neto - Modern Information RetrielvalSparck Jones & Petter Willett - Reading in Information RetrievalBrin, Sergey & Page, Lawrence - Anatomy of a large Scale Search EngineRay Denenberg - Structuring and indexing the WebHeydon and Najork - Mercator : A Scalable, Extensible Web Crawler