cin-ufpe1 recuperação de informação eduardo amaral - efas frederico fernandes - fbf2 juliano...
Post on 21-Apr-2015
106 Views
Preview:
TRANSCRIPT
CIn-UFPE 1
Recuperação de Informação
Eduardo Amaral - efas
Frederico Fernandes - fbf2
Juliano Rabelo - jcbr
Flávia Barros – fab (participação especial)
CIn-UFPE
2
Roteiro
Introdução
Aquisição
Pré-Processamento
Indexação
Recuperação
Ordenação
Avaliação e Validação
Categorizaçã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
CasamentoCasamento
Documento
s
indexação
ConsultaCaracterização
formulação
Motivação
Introdução- Motivação- Definição- Histórico- Arquitetura
CIn-UFPE
4
Recuperaçã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órico
1ª 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órico
2ª 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órico
3ª 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ção
Pré-Processador
Docs
Recuperador
Ordenador
21
34
Motor deIndexação
Browser
CIn-UFPE
10
Aquisição de Documentos
Manual, 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 modelo
Fases 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 TextoRepresentação
Doc : www.filosofia.com Doc : www.filosofia.comDoc : www.filosofia.com
Pré-Processamento
CIn-UFPE
12Pré-Processamento:Operações sobre o texto
Análise léxica Converte uma cadeia de caracteres em
uma cadeia de palavras/termos
Eliminação de stopwords Palavras consideradas irrelevantes
Ex.: artigos, pronomes, alguns verbos, “WWW”...
Pré-Processamento-
CIn-UFPE
13Pré-Processamento:Operações sobre o texto
Stemming 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 -> 0
ing -> 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údo
Representar 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óideCentró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 documento
Modelo 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 desempenho
Documentos 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 NOT
Relevância “binária”: O documento é considerado relevante sse seu
“casamento” com a consulta é verdadeiro Não é possível ordenar os documentos recuperados
k1 k2 k3
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 SidneyBrasil 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)()(
DF
DTFTFIDF
TF(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 position
hit:
CIn-UFPE
21
Indexação dos Documentos
Objetivo: facilitar busca dos documentos no
repositório digital
Opçã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: Estrutura
Composição: vocabulário (em ordem alfabética) e posição de ocorrência no texto
Possibilita consulta/busca por proximidade e por termo composto
Espaç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çoStemming (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ências
Google: 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 Invertidos
Algoritmos 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, 19
words: 33, 40
l
m
t
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 Índices
Arquivos 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ção
Obtençã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ção
Procurar termos da Consulta no vocabulário
Tabelas 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ção
Consultas 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ção
Ordenar os documentos de acordo com sua relevância em relação à Consulta
Relevâ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ção
Cobertura: total de documentos relevantes retornados sobre o número total dos relevantes existentes
Precisã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ção
Teste do sistema num corpus conhecido e etiquetado manualmente Sabe-se a relevância de um documento em
relação a uma Consulta
TREC, 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ção
Pré-Processador
Docs
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 2
futebol -> 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
r
Motor 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óideCentró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
Bibliografia
Baeza-Yates & Ribeiro-Neto - Modern Information Retrielval
Sparck Jones & Petter Willett - Reading in Information Retrieval
Brin, Sergey & Page, Lawrence - Anatomy of a large Scale Search Engine
Ray Denenberg - Structuring and indexing the Web
Heydon and Najork - Mercator : A Scalable, Extensible Web Crawler
top related