Recuperação de Informação

Slides:



Advertisements
Apresentações semelhantes
Modelo Probabilístico
Advertisements

Operações sobre o Texto
Introdução à Programação: uma Abordagem Funcional PD I – Engenharia Elétrica Prof.ª Claudia Boeres 2008/2.
Construção de listas de decisão Os tópicos anteriores tratam de indução de conceitos que podem ser descritos usando uma única região de decisão Neste tópico.
Métodos Iterativos.
Análise de Voz e Vídeo Reconhecimento de voz baseado em modelos de palavras conectadas André Vitor de Almeida Palhares.
Banco de Dados Prof. Antonio.
Introdução à Programação uma Abordagem Funcional Programação I Prof.ª Claudia Boeres CT VII - Sala 32 Departamento de Informática Centro.
Indexação Automática de Documentos
Especificação de Consultas
Modelos de Recuperação de Informação
Eveline Alonso Veloso PUC-MINAS
Computação Evolutiva: Programação Genética
Pesquisa em Memória Primária
Ontologias para Melhorar Precisão e Cobertura de Buscas na Web
Estrutura de indexação Modelos de RI
Descoberta de Conhecimento:
A FAST APRIORI implementation
Análise Léxica Supondo o trecho de programa abaixo:
Construção de Compiladores
Construção de Compiladores
Simulação de Sistemas Prof. MSc Sofia Mara de Souza AULA2.
SIMULAÇÃO EM COMPUTADOR: O PENSAMENTO COMO PROCESSAMENTO DE INFORMÇÕES
ESTRUTURA DE COMUNICAÇÃO DE DADOS
Capítulo 10 Strings & File I/O. Strings Strings são um conjunto de Caracteres ASCII. No Controle de Instrumentação pode-se converter valores numéricos.
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012.
Aprendizado de Máquina
Inteligência Artificial
Aula 03 – BCC202 Análise de Algoritmos (Parte 1) Túlio Toffolo www
Sistemas de Apoio à DecisãoMárcio MoreiraUnidade 5 – Decisões Não Estruturadas – Recuperação de Informações – Slide 1 5Decisões Não Estruturadas 5.1Recuperação.
Introdução à Classificação de Texto
Mineração da Web Recuperação de Informação
Preparação dos documentos Flávia Barros
Sistema de equações lineares
Recuperação de Informação
Mineração da Web Recuperação de Informação
Mineração na Web Introdução a Recuperação de Informação
Recuperação de Informação Clássica
Título do projeto Equipe Local Data.
1. Aprenda o básico sobre o Google
ALGORITMOS Intensivo Janeiro e Fevereiro de 2011
Sistemas Operacionais
Classificacao de Texto Projeto Spam Filter
A abordagem de banco de dados para gerenciamento de dados
Aula prática 7 Strings Monitoria de Introdução à Programação
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
Projeto Final MCI 2004 Filtragem de s Agente de Classificação de SPAM.
1 Introdução aos Agentes Inteligentes Inventando Funções Heurísticas Flávia Barros.
Recuperação Inteligente de Informação
Fundamentos de linguagens de programação
Linguagem SQL Prof. Juliano.
Classificação de Texto Baseada na aula de Henrique Borges e Ícaro Medeiros Alterada por Flávia Barros.
CIn-UFPE1 Recuperação de Informação Modelos de Recuperação de Documentos Flávia Barros.
Classificação de Texto
ENIA 2001/SBC Fortaleza, CE 30/07 a 03/ ActiveSearch Um Agente Pró-ativo para Recuperação de Documentos Similares em Repositórios Digitais.
CIn-UFPE1 Recuperação de Informação Modelos de Recuperação de Documentos Flávia Barros.
Classificação de Textos
Mineração da Web Recuperação de Informação
Algoritmos e Programação I
Sintaxe de uma Linguagem
Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem.
Abordagem Sistemática Guilherme Amaral Avelino Avaliação e Controle de Sistemas de Informação.
tópicostópicos itens 01. Terminologia 02. Operações básicas 03. Representação de linguagens 04. Formalização de gramáticas 05. Processo de derivação 06.
CIn-UFPE1 Recuperação Inteligente de Informação Agrupamento de Texto.
Recuperação de Informação Eduardo Amaral - efas Frederico Fernandes - fbf2 Juliano Rabelo - jcbr Flávia Barros - fab.
1 Database Systems, 8 th Edition Sistemas de Banco de Dados: Projeto, Implementação e gestão Oitava Edição Capítulo 2 Modelo de Dados.
Array e ArrayList LPOO – 01/09/14.
COMPILADORES 03 Prof. Marcos.
Arrays Outline 7.1 Introdução 7.2 Arrays 7.3 Declarando e Criando Arrays 7.4 Exemplos usando arrays 7.5 Ordenando arrays 7.6 Procurando em.
Busca Heurística Prof. Valmir Macário Filho. 2 Busca com informação e exploração Capítulo 4 – Russell & Norvig Seção 4.1 Estratégias de Busca Exaustiva.
Transcrição da apresentação:

Recuperação de Informação Consulta: Linguagens e Operações Flavia Barros

Roteiro – 1a parte Tipos de consultas Palavras-chaves Com contexto Booleanas Em Linguagem Natural Casamento de Padrão Com estrutura

Consultas baseadas em Palavras-chave keyword query É o tipo de consulta mais simples que pode ser feita em um sistema de RI Consiste em uma lista de palavras Funcionamento geral O sistema de RI recupera todos os documentos que contem pelo menos uma das palavras da consulta Em seguida, modelos de RI são usados para ordenar os documentos recuperados

Consultas com Contexto Posição das palavras Alguns sistemas de RI sao capazes de buscar palavras dentro de algum contexto Palavras que aparecem próximas uma da outra podem ter maior relevância na recuperacao e ordenacao do que quando ocorrem separadas Ex.: “recuperação” e “informação” dentro do contexto de documentos sobre o tema de Recuperação de Informação A consulta também é formulada como uma lista de palavras Contudo, a ordenação dos documentos depende da posição das palavras nesses documentos

Consultas com Contexto Grupos Nominais Consultas baseadas em grupos nominais recuperam documentos com um grupo nominal específico i.e. uma lista ordenada de palavras contíguas no texto do documento ex., “inteligência artificial” Pode levar em consideração stopwords e/ou stemming Exemplo - “venda carro” casa com “venda de carros” “vendendo carro”,…

Consultas com Contexto Grupos Nominais Para possibilitar consultas com GNs, os sistemas de RI devem ter um arquivo invertido que armazena as posições de cada palavra no documento Processo Recuperar documentos que contém as palavras da consulta e as posições de cada palavra nos docs fazer a intersecção dos documentos Para eliminar redundâncias verificar a ocorrência de palavras contíguas E melhor iniciar a verificação de contigüidade com a palavra menos comum no grupo

Consultas com Contexto Busca de Grupos Nominais 1. Encontre o conjunto de documentos D que contem todas as palavras-chave (k1…km) no grupo nominal (usando o operador AND) 2. Inicialize com zero o conjunto R de documentos recuperados 3. Para cada documenro d em D: Verifique o vetor Pi de posições de ocorrência de cada termo ki em d Encontre o vetor mais curto Ps entre os Pi’s Para cada posição p da palavra ks em Ps Para cada palavra ki exceto ks Use binary search para encontrar a posição (p – s + i) no vetor Pi Se a posição correta de cada palavra for encontrada, adicione d a R 4. Retorne R

Consultas com Contexto Proximidade das Palavras Lista de palavras com uma distância máxima permitida entre elas Exemplo: “carro” e “corrida” com 4 palavras casa com “…carro que ganhou a corrida…” As palavras não precisam estar na mesma ordem em que foram definidas na consutla Exemplo: “…corrida terminou com carro…” Pode também levar em conta stemming e/ou stopwords

Consultas com Contexto Busca com Proximidade das Palavras Usa uma abordagem semelhante à busca com grupos nominais Encontra todos os documentos em que todas as palavras da consulta ocorrem Em um contexto que satisfaz as restrições de proximidade Durante a busca pela posição das palavras restantes Encontra a posição mais próxima de ki a p E verifica se está dentro da distância máxima permitida

Consultas com Contexto Documentos que satisfazem uma consulta por grupos nominais e proximidade podem ser ordenados da mesma forma que a consulta básica Para consultas por proximidade, a distância poderia ser levada em consideração para definir a relevância do documento Ex.: documento com o texto “…corrida de carro…” seria mais relevante que documento com texto “…carro que ganhou a corrida…”

Consultas Booleanas Palavras combinadas com operadores booleanos: OR: (e1 OR e2) AND: (e1 AND e2) BUT: (e1 BUT e2) Satisfaz e1 but not e2 Em geral, sistemas de RI não usam o operador NOT Uma vez que um número muito grande de documentos poderia ser recuperado Operador BUT restringe o universo de documentos Problema Usuários inexperientes têm dificuldades com lógica booleana

Consultas Booleanas Recuperação com índices invertidos Palavra isolada Recupera documentos contendo essa palavra OR Recursivamente recupera e1 e e2, e faz a união dos resultados AND Recursivamente recupera e1 e e2, e faz a interseção dos resultados BUT Recursivamente recupera e1 e e2, e utiliza o conjunto complementar dos resultados

Consultas em Linguagem Natural Consultas de texto completo consideradas com strings arbitrárias Tipicamente: São tratadas como um “bag” de palavras pelo modelo Espaço Vetorial São processadas usando métodos padrão de recuperação com Espaço Vetorial Ex.: Active Search pode ser considerado consulta em linguagem natural

Casamento de Padrão Permite consultas que casam com strings, em lugar de apenas palavras isoladas Um padrão é descrito por um conjunto de características sintáticas Padrão simples: ex., uma palavra Padrão complexo: ex., expressões regulares Estamos interessados em documentos que contêm segmentos de texto que casam com o padrão especificado Requer estruturas de dados e algoritmos mais sofisticados do que índices invertidos para uma recuperação eficiente

Casamento de Padrão Padrões Simples Prefixos Padrão que casa com o inicio da palavra “anti” casa com “antiguidade”, “anticorpos”, etc. Sufixos Padrão que casa com o final da palavra “ções” casa com “canções”, “infecções”, etc. Substrings Padrão que casa seqüências quaisquer de caracteres “cid” casa com “capacidade”, “genocídio” etc. Intervalos Pares de strings que casam com qualquer palavra alfabeticamente entre eles “tin” to “tix” casa com “tipo”, “tiro”, “tísico”, etc.

Casamento de Padrões Simples Tratamento de Erros Permite a recuperação de documentos com palavras “similares” a uma dada palavra Caso de consulta ou documentos com erros Erros de edição, erros de OCR, espaço no meio da palavra, dentre outros Recupera documentos que são similares até um dado limite, medido por Distância de edição Levenstein distance Subseqüência comum mais longa Longest Common Subsequence (LCS)

Casamento de Padrões Simples Tratamento de Erros Distância de edição - Levenstein distance Numero mínimo de caracteres deletados, adicionados ou substituídos necessários para tornar os 2 strings equivalentes “casamento” para “casmento” tem distância = 1 “casamento” para “casammentto” tem distância = 2 “casamento” para “cazammeno” tem distância = 3 Pode ser eficientemente computado usando programação dinâmica

Casamento de Padrões Simples Tratamento de Erros Subseqüência comum mais longa Computa o tamanho da subseqüência de caracteres mais longa comum aos dois strings Uma subseqüência de um string é obtida pela eliminação de zero ou mais caracteres Exemplos: “casamento” e “asamento” = 8 “casamento” e “casammentto” = 5

Casamento de Padrões Complexos Expressões Regulares Linguagem para compor padrões complexos a partir de padrões simples Um caracter individual é uma expressão regular (ER) União Se e1 e e2 são ERs, então (e1 | e2 ) é uma ER que casa com tudo que e1 ou e2 casam Concatenação Se e1 e e2 são ERs, então e1 e2 é uma ER que casa com um string que consiste em um substring que casa com e1 imediatamente seguido de um substring que casa e2 Repetição (Kleene closure): Se e1 é uma ER, então e1* é uma ER que casa com uma seqüência de zero ou mais strings que casam com e1

Casamento de Padrões Complexos Expressões Regulares Exemplos de Expressões Regulares (u|e)nabl(e|ing) casa com unable unabling enable enabling (un|en)*able casa com able unenable enununenable

Consultas com Estrutura Assumem que o documento possui uma estrutura que pode ser explora na busca A estrutura poderia ser: Conjunto fixo de campos e.g. título, autor, resumo, etc. Estruturas hierárquicas em forma de árvore livro capítulo capítulo título seção título seção título subseção

Consultas com Estrutura Permitem consultas por textos que ocorrem em campos específicos: “inteligência artificial” aparecendo no título do capítulo SFQL: Relational database query language SQL aumentada com busca “full text” Select abstract from journal.papers where author contains “Teller” and title contains “nuclear fusion” and date < 1/1/1950

Operações sobre as Consultas Roteiro: Feedback de relevância Expansão de consultas

Feedback de relevância Após apresentar os resultados de uma consulta, o sistema de RI pode permitir ao usuário fornecer feedback sobre um ou mais documentos recuperados Esse feedback pode ser usado para reformular a consulta inicial Novos resultados serão produzidos com base na consulta reformulada Processo é interativo e iterativo

Arquitetura para Feedback de Relevância documentos Consultainicial Reformulação da consulta Consulta revisada Sistemas de RI Rankings Documentos reordenados 1. Doc2 2. Doc4 3. Doc5 . Documentos ordenados 1. Doc1 2. Doc2 3. Doc3 . 1. Doc1  2. Doc2  3. Doc3  . Feedback

Feedback de relevância Repesagem de Termos Term reweighting Objetivo: Aumentar o peso dos termos que aparecem em documentos relevantes e diminuir o peso de termos que aparecem em documentos irrelevantes Existem diversos algoritmos para reformular consultas

Feedback de relevância Repesagem de Termos Reformulação de Consulta para o Modelo Vetorial: No modelo vetorial, consultas e documentos são representados como vetores de pesos Modelo vetorial recupera documentos que são similares à consulta do usuário Se soubéssemos a priori que documentos são relevantes, saberíamos quais consultas seriam as mais adequadas As consultas ideais seriam aquelas mais similares aos documentos relevantes no espaço vetorial

Feedback de relevância Repesagem de Termos Reformulação de Consulta para o Modelo Vetorial: Adicione à consulta inicial os vetores dos documentos considerados com relevantes Subtraia da consulta inicial os vetores dos documentos considerados com irrelevantes Desta forma, os pesos da consulta são reformulados, aproximando-se dos documentos relevantes

Feedback de relevância Repesagem de Termos Método Rochio Padrão Seja Dr o conjunto dos documentos relevantes, Dn o conjunto dos documentos irrelevantes e q a consulta inicial. : parâmetro associado à consulta inicial. : parâmetro associado aos documentos relevantes : parâmetro associado aos documentos irrelevantes

Método Rochio Padrão Exemplo w1 [7;4] = Consulta inicial (q1) [5;3] [6;2] = Documentos considerados relevantes após a consulta [2;3] [3;2] q1 = [6;3] = Documentos considerados irrelevantes após a consulta [1;1] w2 Consulta não é boa para recuperar documentos relevantes (obs.: documento irrelevante [3;2] é ordenado logo na 2a posição, ou seja, é o segundo mais similar à consulta q1) Consulta mal formulada com peso pequeno para termo w1

Método Rochio Padrão Exemplo q2 w1 [7;4] = [9;7] = Documentos considerados relevantes após a consulta [5;3] [6;2] = Documentos considerados irrelevantes após a consulta [2;3] [3;2] q1 = [6;3] = Consulta reformulada (q2) [1;1] w2 Usando Rochio com  =  =  = 1 temos q2 = [6;3] + [5;6] – [2;2] = [9;7] Consulta reformulada se distancia dos documentos irrelevantes

Feedback de relevância Repesagem de Termos Método Ide Aumenta o grau de reformulação eliminando a divisão pelo número de documentos avaliados : parâmetro associado à consulta inicial. : parâmetro associado aos documentos relevantes : parâmetro associado aos documentos irrelevantes

Feedback de relevância Repesagem de Termos Método Ide “Dec Hi” Considera apenas o documento irrelevante melhor ordenado pela consulta inicial : parâmetro associado à consulta inicial. : parâmetro associado aos documentos relevantes : parâmetro associado aos documentos irrelevantes

Feedback de relevância Repesagem de Termos Comparação dos Métodos Todos os métodos, de uma forma geral, melhoram os resultados da RI Resultados experimentais não indicam uma dominância clara de nenhum método Geralmente, parâmetros são definidos como constantes iguais a 1 Alguns autores usam apenas o conjunto dos documentos relevantes (ou seja  = 0 ) Método de Feedback Positivo

Feedback de relevância Porque Feedback não é largamente usado Usuários algumas vezes relutam em fornecer feedback explícito Requer maior tempo de computação Às vezes, dificulta o entendimento de porque um determinado documento foi recuperado

Pseudo-Feedback Usa feedback de relevância sem uma entrada explícita do usuário. Apenas assume que os top m documentos recuperados são relevantes, e então reformulam a consulta É um método de feedback positivo Melhorou o desempenho de RI no corpus do TREC

Arquitetura de Pseudo-Feedback Corpus de Documentos Consulta inicial Consulta Reformulada Sistema RI Rankings Documentos reordenados 1. Doc2 2. Doc4 3. Doc5 . Documentos Ordenados 1. Doc1 2. Doc2 3. Doc3 . Reformulação da consulta 1. Doc1  2. Doc2  3. Doc3  . Pseudo Feedback

Expansão de Consultas Objetivo: Motivação Adicionar novos termos à consulta Termos correlacionados Motivação Aumentar a quantidade de documentos recuperados

Expansão de consultas usando thesaurus Um thesaurus fornece informação sobre sinônimos e termos semanticamente relacionados a uma palavra Exemplo: physician syn: ||croaker, doc, doctor, MD, medical, mediciner, medico, ||sawbones rel: medic, general practitioner, surgeon,

Expansão de consultas usando thesaurus Para cada termo t da consulta, expande a consulta com os sinônimos e palavras relacionadas a t contidos no thesaurus Esse método geralmente aumenta cobertura da recuperação Recupera mais documentos Porem, pode diminuir significativamente a precisão Recuperar documentos irrelevantes Particularmente para termos ambíguos

WordNet O mais elaborado banco de dados de relacionamentos semânticos de palavras em inglês Desenvolvido pelo famoso psicólogo cognitivo George Miller e um grupo da universidade de Princeton Contém cerca de 144,000 palavras em inglês Substantivos, adjetivos, verbos, e advérbios agrupados em cerca de 109,000 sinônimos chamados de synsets.

Synset no WordNet Antonym: front  back Attribute: benevolence  good (noun to adjective) Pertainym: alphabetical  alphabet (adjective to noun) Similar: unquestioning  absolute Cause: kill  die Entailment: breathe  inhale Holonym: wheel  bicycle (part-of) Meronym: computer  cpu (whole-of) Hyponym: plant  tree (specialization) Hypernym: apple  fruit (generalization)

Expansão de Consulta com WordNet Adiciona sinônimos no mesmo synset Adiciona hipônimos para inserir termos especializados Adiciona hiperônimos para generalizar uma consulta Adiciona outros termos relacionados para expandir a consulta

Expansão com Thesaurus Estatístico Análise Automática Global Thesaurus produzidos manualmente não são facilmente encontrados para todas as línguas são limitados no tipo de relações semânticas que representam Termos semanticamente relacionados podem ser descobertos a partir de análises estatísticas em um corpus de documentos

Análise Automática Global Constrói matrizes que quantificam associações entre termos Matriz de associação considera as freqüências dos termos nos documentos do corpus Matriz de correlação métrica considera a distância entre os termos nos documentos do corpus Expande consultas usando os termos mais similares estatisticamente i.e. com maior associação

Análise Automática Global Matriz de Associação w1 w2 w3 …………………..wn w1 w2 w3 . wn c11 c12 c13…………………c1n c21 c31 cn1 Cij : Correlação entre termo i e termo j fik : Freqüência do termo i no documento k Obs.: Correlação quantifica a co-ocorrência ou freqüência comum dos termos em todos os documentos do corpus

Análise Automática Global Matriz de Associação Normalizada Para evitar favorecimento de termos muito freqüentes em todos os documentos, a matriz de associação pode ser normalizada Fator de associação normalizado: Fator normalizado é 1 se dois termos têm a mesma freqüência em todos os documentos

Análise Automática Global Matriz de Correlação Métrica Matriz de associação não considera a proximidade dos termos nos documentos Apenas a co-ocorrência (freqüência comum) dos termos Correlação métrica considera a proximidade dos termos

Análise Automática Global Matriz de Correlação Métrica Vi : Conjunto de ocorrências do termo i em qualquer documento r(ku,kv): Distância em palavras entre as ocorrências ku e kv Obs: as distâncias entre todas as ocorrências desses termos no mesmo documento são contadas, o que indiretamente quantifica a co-ocorrência dos termos

Análise Automática Global Matriz de Correlação Métrica Para evitar favorecimento de termos muito freqüentes em todos os documentos, a matriz pode ser normalizada

Análise Automática Global Expansão da Consulta Regra Geral Para cada termo i da consulta, expanda a consulta com os n termos j com maior valor de cij (ou sij – normalização) Mais de um fator de correlação pode ser combinado para escolher os termos para a expansão Por exemplo, pegar os n maiores termos de ambas as matrizes e fazer a interseção determinando que termos estão relacionados em ambas as matrizes

Expansão da Consulta Problemas com a Análise Global Ambigüidade pode introduzir termos estatisticamente relacionados que, mesmo assim, são irrelevantes para a consulta “Apple computer”  “Apple red fruit computer” apple e red fruit estão relacionados no corpus de docs. Porém, red fruit não é relevante para a consulta original Redundância Uma vez que os termos adicionados são correlacionados aos termos da consulta original, a expansão pode não recuperar muitos documentos adicionais

Expansão da Consulta Análise Automática Local Após a consulta inicial, determina termos similares analisando os m primeiros documentos recuperados i.e. de melhor ranking Esta análise se baseia apenas em um conjunto “local” de documentos específico para uma consulta Evita ambigüidade, uma vez que considera apenas documentos relevantes em um contexto “Apple computer”  “Apple computer Powerbook laptop”

Análise Global vs. Local requer computação intensiva off-line durante a construção da matriz de correlações entre termos Análise Local requer menos computação para cálculo das correlações Entretanto, esse cálculo é refeito para cada consulta em tempo de execução Análise local tem gerado melhores resultados experimentais

Refinamento da Análise Global Expande apenas com os termos que são similares a todos os termos da consulta O termo “fruit” não é adicionado a “Apple computer”, uma vez é pouco correlacionado a “computer” “fruit” é adicionado a “apple pie”, uma vez que “fruit” tanto é correlacionado a “apple” como a “pie”

Expansão de Consultas Conclusões Expansão de consultas com termos relacionados pode melhorar desempenho do sistema de RI particularmente a cobertura Contudo, termos similares devem ser escolhidos com cuidado para evitar perda de precisão