Recuperação de Dado X Informaçãoif685/Recuperacao-informacao-red.pdf · Recuperação de...
Transcript of Recuperação de Dado X Informaçãoif685/Recuperacao-informacao-red.pdf · Recuperação de...
1
CIn.ufpe.br
Fernando Fonseca
Ana CarolinaRobson Fidalgo
Gerenciamento de Dados e Informação
Recuperação de Informação
CIn.ufpe.br
Recuperação de Dado X Informação
Recuperação deDados
Recuperação deInformação
Comparação(matching)
Exata Aproximada
Dados Estruturados Não estruturados
Inferência Dedução Indução
Modelo Determinístico Probabilístico
Ling Consulta Artificial Natural
Esp da Consulta Completa Incompleta
2
CIn.ufpe.br
Recuperação de Informação
Área de pesquisa e desenvolvimento queinvestiga métodos e técnicas para arepresentação, a organização, oarmazenamento, a busca e a recuperação deitens de informação
Objetivo principalFacilitar o acesso a documentos (itens deinformação) relevantes à necessidade de
informação do usuário
3
CIn.ufpe.br
Histórico
1ª Fase: computadores – cartãoperfurado
Década de 1950Aplicações: sistemas de recuperação dereferências bibliográficas e outros serviçospara bibliotecasTécnicas: indexação manual
Documentos indexados por termos deum vocabulário restrito montadomanualmente (thesaurus = dicionáriode sinônimos)
4
CIn.ufpe.br
Histórico
1ª Fase: computadores – cartão perfurado (Cont.)
Década de 1960Aplicações: sistemas de recuperação dedocumentos off-line
Sistemas DIALOG e MEDLARSTécnicas: início da indexação automática
Título e abstractAlgoritmos de busca
5
CIn.ufpe.br
Histórico
2ª Fase: Décadas de 1970 e 1980Aumento do poder computacionalAplicações
Sistemas de Pergunta-RespostaTécnicas: RI + Processamento deLinguagem NaturalEvoluíram para interfaces emLinguagem Natural para BD
6
2
CIn.ufpe.br
Histórico
2ª Fase: Décadas de 1970 e 1980 (Cont.)
AplicaçõesSistemas de RI on-line
Técnicas: Estatística e Probabilidade,Modelo de Espaço Vetorial (Salton71)SMART: 1º sistema de RI automáticopara o conteúdo usando EspaçoVetorialAvaliação do desempenho dosistema pelo usuário
7
CIn.ufpe.br
Histórico
3ª Fase: Web – Década de 1990 emdiante
Técnicas tradicionais de RI foram adaptadasao caso da Web
Web: terabytes de dados não estruturadosAlguns problemas
Escalabilidade das soluçõesVelocidade de atualização da WebVelocidade de acesso aos documentosarmazenados
Explosão de serviços + agentes autônomos
8
CIn.ufpe.br
Engenhos de Busca
A primeira ferramenta usada para consultar aWeb
Baseados na busca de índices de palavrase frases que aparecem em documentosPosteriormente foi incluída a exploração daestrutura de links para aumentar aqualidade das respostas
9
CIn.ufpe.br
Engenhos de Busca
Web & engenhos de buscaFacilidade de criação de novos documentosDocumentos heterogêneos, semi-estruturadosGrande número de informações disponíveisInformação dinâmicaMaior número de pessoas interagindo com osistemaNecessidade definida por meio de consulta
10
CIn.ufpe.br
Engenhos de Busca
documentos+ urls
bases de índices
Crawlers
11
CIn.ufpe.br
Engenhos de Busca
Interação usuário-engenho de buscaConsultas por palavra-chave, linguagemnaturalDificuldade em formular consultas adequadasConsultas mal formuladas, resultados de baixaprecisão
12
3
CIn.ufpe.br
Recuperação de Informação
Sistemas de Recuperação de Informação (SRI)Um sistema para RI automático pode servisto como a parte do sistema de informaçãoresponsável pelo armazenamento ordenadodos documentos em um BD, e sua posteriorrecuperação, para responder a consultas deusuários
13
CIn.ufpe.br
Recuperação de Informação
Avaliando SRIRelevância (R)Relevância na resposta (Ra)Precisão (Ra/R) Cobertura (Ra/A)
relevantes (R)
resposta (A)
relevantes na resposta(Ra)
200
100
40
14
CIn.ufpe.br
Engenho de Busca
Servidor de Consultas
Motor deIndexação
Sistemas de RI na Web Arquitetura
Indexador
Representação dos Docs
Pré-Processador
Base deÍndices
2Consulta Recuperador1
Resposta 4
Usuário
BrowserOrdenador
3
Web
Spider
AquisiçãoDocs
15
CIn.ufpe.br
Sistemas de Recuperação de Informação
Etapas principaisAquisição (seleção) dos documentosRepresentação (preparação) dos documentosIndexação dos documentosBusca (casamento com a consulta)Recuperação
16
CIn.ufpe.br
Etapa 1: Aquisição (seleção) de Documentos
Manual ⇒⇒⇒⇒ Para sistemas gerais de RIE.g.: Sistemas de bibliotecas
Automática ⇒⇒⇒⇒ Para sistemas na WebUso de crawlers (spiders)
Programas que navegam pela Web efazem download das páginas para umservidorPartem de um conjunto inicial de links
Executam busca em largura ou emprofundidade
17
CIn.ufpe.br
Etapa 1: Aquisição (seleção) de Documentos
Automática (cont)
Crawler do GoogleExecuta em várias máquinas emparaleloIndexa milhões de páginas por dia
18
4
CIn.ufpe.br
Etapa 2: Pré-Processamento dos Documentos
ObjetivoCriar uma representação computacional do documento seguindo algum modelo
FasesOperações sobre o textoCriação da representação
19
CIn.ufpe.br
Etapa 2: Pré-Processamento dos Documentos
“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
20
CIn.ufpe.br
Pré-Processamento:Operações sobre o texto
Análise léxicaConverte uma cadeia de caracteres em umacadeia de palavras/termos
Eliminação de stopwords
Palavras consideradas irrelevantesEx.: artigos, pronomes, alguns verbos,“WWW”...
21
CIn.ufpe.br
Pré-Processamento:Operações sobre o texto
Stemming
Redução de uma palavra ao seu radicalGeralmente, apenas eliminação de sufixos
Possibilita casamento entre variações de uma mesma palavra
22
CIn.ufpe.br
Pré-Processamento:Operações sobre o texto
engineer engineer engineer
engineeringengineeredengineer
Termo Stem Regras de redução:
ing -> 0
ed -> 0
Stemming
23
CIn.ufpe.br
Pré-Processamento:Representação do Documento
Texto CompletoDifícil (caro) de manipularcomputacionalmente
Dado um documento, identificar os conceitosque melhor descrevem o seu conteúdoRepresentar o documento como um Centróide
Lista de termos com pesos associados ounãoProblema: perda da semântica
24
5
CIn.ufpe.br
Pré-Processamento:Representação do Documento
Representação do documento como umCentróide
“Se o desonesto soubesse a vantagem
de ser honesto, ele seria honesto
ao menos por desonestidade.”
Sócrates
honesto 2desonesto 1soubesse 1vantagem 1seria 1menos 1desonestidade 1socrates 1
CentróideCentróide
25
CIn.ufpe.br
Modelos de Representação de Documentos
Clássicos
Alternativos
Teoria dos conjuntos
Álgebra
Teoria da Probabilidade
Fuzzy
Booleano Estendido
Semântica Latente
. . .26
CIn.ufpe.br
Modelo Booleano
Baseado na Teoria dos Conjuntos
Documentos e consultas são representadoscomo conjuntos de termos de índices
Centróide sem pesos associados
A representação indica apenas se o termo estáou não presente no documento
27
CIn.ufpe.br
Modelo Booleano:sem pesos associados
Simples de implementar e usar, porém de baixodesempenhoDocumentos e consultas representados comovetores binários de tamanho n (e.g., D = {11,1})
Cada posição corresponde a um termo usadona indexação dos documentos sendoconsideradosConsulta: termos conectados por AND, OR eNOT
28
CIn.ufpe.br
Modelo Booleano:sem pesos associados
Relevância “binária”O documento é considerado relevante sse seu“casamento” com a consulta é verdadeiroNão é possível ordenar os documentosrecuperados
k1 ∧ k2 ∧ k3Consulta:Documentos apresentados ao usuário
k1
k3
Base de Documentos
k2
29
CIn.ufpe.br
Modelo Espaço Vetorial
Modelo Algébrico
Centróide com pesos associados
30
6
CIn.ufpe.br
Modelo Espaço Vetorial:com pesos associados
Consultas (q) e Documentos (d) sãorepresentados como vetores em um espaço n-dimensional
Onde n é o número total de termos usadospara indexar os documentos sendoconsiderados
Relevância: cosseno do ângulo entre q e d
Quanto maior o cosseno, maior é a relevânciade d para q
31
CIn.ufpe.br
Modelo Espaço Vetorial:com pesos associados
Ordenação: dada pelo cosseno do ânguloentre q e d
Olimpíadas
Brasil
Sidney
d
qBrasil Olimpíadas SidneyConsulta q :
Documento d :Brasil em Sidney 2000
O Brasil não foi bem no quadro 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
32
CIn.ufpe.br
Representação do Documento com Pesos
CentróidePesos associados aos termos comoindicação de relevância
Frequência de ocorrência do termo nodocumentoTF-IDF = Term Frequency x Inverse
Document Frequency
33
CIn.ufpe.br
Representação do Documento com Pesos
TF-IDF também considera palavras com baixaocorrência na base de documentos comomelhores discriminantes
⋅=
)(log)()(
ω
ωω
DF
DTFTFIDF
TF(w): frequência da palavra w no docD = total de documentosDF(w): frequência de w em D
34
CIn.ufpe.br
Representação do Documento com Pesos
CentróideLimitar tamanho do centróide em 50mantendo apenas termos com maior peso
Aumenta a eficiência do sistemaEstudos mostram que isso não altera muitoo poder de representação do centróide
35
CIn.ufpe.br
Representação do Documento com Pesos
Enriquecendo a representaçãoConsiderar formatação do texto comoindicação da importância dos termos
Título, início, negrito,...Adicionar informação sobre a localizaçãodo termo no 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:
36
7
CIn.ufpe.br
Etapa 3: Indexação dos Documentos
ObjetivoFacilitar busca dos documentos no repositóriodigital
Opção imediata: varrer o texto completoBusca sequencial on-line
Textos pequenos ou muito voláteis
37
CIn.ufpe.br
Etapa 3: Indexação dos Documentos
Para bases maiores: indexar os documentosÍndices invertidosVetores e árvores de sufixosArquivos de assinatura
38
CIn.ufpe.br
Índices Invertidos: Estrutura
Composição: vocabulário (em ordem alfabética)e posição de ocorrência no textoPossibilita consulta/busca por proximidade e portermo compostoEspaço requerido: pequeno para vocabulário,porém grande parte para ocorrências
39
CIn.ufpe.br
Índices Invertidos: Estrutura
Exemplo
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
40
CIn.ufpe.br
Índices Invertidos:Técnicas para redução de espaço
Stemming (reduz vocabulário)Ocorrências dos termos endereçadas por
Blocos no textoEndereço do documento inteiro
Engenhos de busca na WebPoucos ponteiros, ponteiros menores emenos ocorrências
41
CIn.ufpe.br
Índices Invertidos:Técnicas para redução de espaço
Google: endereçamento “hierárquico” deblocos
Bloco + posição relativa da palavra dentrodo bloco
This is a text. A text has many words. Words are made from letters.
Bloco 1 Bloco 2 Bloco 3 Bloco 4
42
8
CIn.ufpe.br
Busca em Índices Invertidos
Algoritmos seguem 3 etapasBusca as palavras da consulta novocabulário: Hashing, tries, B-treesRecupera as ocorrências de todas aspalavras da consulta encontradas novocabulárioCombina as ocorrências recuperadas deacordo com a consulta
Termos compostosProximidadeOperações booleanas
43
CIn.ufpe.br
Índices Invertidos: Construção
Baixo custo de busca 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
44
CIn.ufpe.br
Índices Invertidos: Construção
Tries: muito espaço requeridoPara bases grandes, usa-se paginação
Índices parciais persistentesMerge dos índices
...
45
CIn.ufpe.br
Índices Invertidos: Construção
Ao final do processo, tem-seUm arquivo de ocorrências dos termosOutro arquivo do vocabulário com ponteiropara ocorrências
Pode ser mantido na memória
46
CIn.ufpe.br
Índices Invertidos: Construção
Relembrando o exemplo dado anteriormente:
lettersmademanytextwords
Vocabulário60502811, 1933, 40
Ocorrências
47
CIn.ufpe.br
Etapa 4: Recuperação
Obtenção dos documentos que satisfazem umaconsulta (query)Índices Invertidos
Procurar termos da consulta no vocabulárioCusto de busca e armazenamento é sublinear
O (n0.85)
48
9
CIn.ufpe.br
Etapa 4: Recuperação
Tabelas hash, tries, ...O(tamanho da palavra)
Lista em ordem alfabéticaO(log (tamanho do texto))Mais barato em termo de espaço
49
CIn.ufpe.br
Etapa 4: Recuperação
Consultas simplesRecupera documentos nos quais a palavraocorre pelo menos uma vez
Consultas compostas (booleanas)Recupera documentos nos quais cadapalavra da consulta ocorre pelo menos umavezMerge de listas
Combina as listas de documentosrecuperados de acordo com o operadorbooleano da consulta
50
CIn.ufpe.br
String Matching
Método usado em vários sistemasBusca por palavras, comparação entrearquivos
Encontrar todas as ocorrências de umadeterminada string (padrão) em um textoVárias soluções existentes
51
CIn.ufpe.br
String Matching Aproximado
Dado um padrão P de tamanho m, um texto Tde tamanho n, onde m,n>0, um inteiro k>0 euma função de distância d, encontrar todas assubstrings S de T tal que d(P,S)<=k
d - número de operações necessárias paratransformar S em P“Um texto qualquer”“Eu testo..”
“texto” (d=1)
52
CIn.ufpe.br
String Matching Aproximado
Várias Soluções existentesForça bruta (BF)Landau-VishkenBoyer-Moore (BM)Shift-Or (SO)...
53
CIn.ufpe.br
String Matching Aproximado
No RadixImplementação e adaptação dos algoritmos(BF,BM,SO)Número de erros permitidos baseia-se notamanho do termo a ser comparado
“Mp3” – 1 erro é permitido“Download” – 3 erros são permitidos
54
10
CIn.ufpe.br
Etapa 5: Ordenação
Ordenar os documentos recuperados deacordo com sua relevância em relação àconsultaRelevância: difícil de medir
Mede-se a similaridade entre cadadocumento e a consulta
Modelo “Espaço Vetorial”Similaridade é proporcional ao cosseno doângulo entre o vetor que representa odocumento e o vetor da consultaTende a retornar documentos pequenos
55
CIn.ufpe.br
Etapa 5: Ordenação
GoogleProximidade das palavras da consulta nodocumento
Tamanho da fonte, texto de links, ...PageRank
56
CIn.ufpe.br
Base deÍndicesIndexadorMotor de
Indexaçã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
57
CIn.ufpe.br
Base de Índices
UsuárioServidor de Consultas
Recuperador
OrdenadorBrowser
desonesto -> doc1 peso 1;
socrates -> doc1 peso 1; doc 3 peso 1
futebol -> doc3 peso 3; doc 2 peso 5
honesto -> doc1 peso 2; doc 3 peso 1
Servidor de consultas
2
resultados1 - doc12 - doc3
Resposta 4
honesto 2socrates 1
doc1honesto 1socrates 1
doc3
3
Relevancia (Consulta, doc3) = 2 Relevancia (Consulta, doc1) = 3
Consulta 1 (socrates AND honesto)
58
CIn.ufpe.br
Dados do Google (2013)
100 bilhões de buscas na Web por mês30 trilhões de páginas individuais (aumentou 30vezes em 5 anos)
Índice correspondente: 1000 TerabytesBusca feito em aproximadamente 1/8 de segundosPara verificar a qualidade dos resultados -buscadores humanos: 40 mil vezes por anoSpam: 40.000 a 60.000 notificações por mês aosdonos dos sites
59
CIn.ufpe.br
Ranking das respostas considera
Atualidade dos resultados
Qualidade do website
Confiança e adequação do conteúdo
Contexto do usuário: localização, buscasanteriores, conexões no Google+
http://www.google.com/insidesearch/howsearchworks/thestory/
Dados do Google (2013)
60
11
CIn.ufpe.br
Como a busca do google funciona?
http://www.youtube.com/watch?v=BNHR6IQJGZs
61