recuperação de dado x informaçãoif685/recuperacao-informacao-red.pdf · recuperação de...

11
1 CIn.ufpe.br Fernando Fonseca Ana Carolina Robson Fidalgo Gerenciamento de Dados e Informação Recuperação de Informação CIn.ufpe.br Recuperação de Dado X Informação Recuperação de Dados Recuperação de Informaçã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 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 3 CIn.ufpe.br Histórico Fase: computadores cartão perfurado Década de 1950 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 (thesaurus = dicionário de sinônimos) 4 CIn.ufpe.br Histórico 1ª Fase: computadores – cartão perfurado (Cont.) Década de 1960 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 5 CIn.ufpe.br Histórico 2ª Fase: Décadas de 1970 e 1980 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 BD 6

Upload: others

Post on 22-Aug-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Recuperação de Dado X Informaçãoif685/Recuperacao-informacao-red.pdf · Recuperação de Informação Área de pesquisa e desenvolvimento que investiga métodos e técnicas para

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

Page 2: Recuperação de Dado X Informaçãoif685/Recuperacao-informacao-red.pdf · Recuperação de Informação Área de pesquisa e desenvolvimento que investiga métodos e técnicas para

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

Page 3: Recuperação de Dado X Informaçãoif685/Recuperacao-informacao-red.pdf · Recuperação de Informação Área de pesquisa e desenvolvimento que investiga métodos e técnicas para

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

Page 4: Recuperação de Dado X Informaçãoif685/Recuperacao-informacao-red.pdf · Recuperação de Informação Área de pesquisa e desenvolvimento que investiga métodos e técnicas para

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

Page 5: Recuperação de Dado X Informaçãoif685/Recuperacao-informacao-red.pdf · Recuperação de Informação Área de pesquisa e desenvolvimento que investiga métodos e técnicas para

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

Page 6: Recuperação de Dado X Informaçãoif685/Recuperacao-informacao-red.pdf · Recuperação de Informação Área de pesquisa e desenvolvimento que investiga métodos e técnicas para

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

Page 7: Recuperação de Dado X Informaçãoif685/Recuperacao-informacao-red.pdf · Recuperação de Informação Área de pesquisa e desenvolvimento que investiga métodos e técnicas para

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

Page 8: Recuperação de Dado X Informaçãoif685/Recuperacao-informacao-red.pdf · Recuperação de Informação Área de pesquisa e desenvolvimento que investiga métodos e técnicas para

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

Page 9: Recuperação de Dado X Informaçãoif685/Recuperacao-informacao-red.pdf · Recuperação de Informação Área de pesquisa e desenvolvimento que investiga métodos e técnicas para

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

Page 10: Recuperação de Dado X Informaçãoif685/Recuperacao-informacao-red.pdf · Recuperação de Informação Área de pesquisa e desenvolvimento que investiga métodos e técnicas para

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

Page 11: Recuperação de Dado X Informaçãoif685/Recuperacao-informacao-red.pdf · Recuperação de Informação Área de pesquisa e desenvolvimento que investiga métodos e técnicas para

11

CIn.ufpe.br

Como a busca do google funciona?

http://www.youtube.com/watch?v=BNHR6IQJGZs

61