Mineração da Web Recuperação de Informação Tipos de Consultas & Operações sobre Consultas Flávia Barros
Aulas passadas Modelos de RI Preparação dos documentos Booleano, Espaço Vetorial, ... Preparação dos documentos Operações sobre o texto Criação da Visão Lógica do documento Lista de termos usado para representar o documento Criação da representação do documento Com base em algum Modelo de RI
Roteiro – 1a parte Tipos de Consultas Consultas baseadas em Palavras-Chaves Baseadas em palavras isoladas Com contexto Booleanas Em Linguagem Natural Com casamento de Padrão Com estrutura
Tipos de Consultas Existem diversos tipos de consultas que podem ser submetidas aos sistemas de RI Contudo... Nem todos os tipos podem ser usados em todos os sistemas Isso vai depender do modelo de RI adotado pelo sistema
Consultas baseadas em Palavras-chave Tipos Baseadas em palavras isoladas Com contexto Booleanas Em Linguagem Natural Permitem ordenamento das respostas segundo a função de relevância do modelo de RI adotado Segundo algum outro critério adicional
Consulta baseada em Palavras-chave isoladas Single Keyword query Tipo mais simples de consulta a um sistema de RI Consiste em uma lista de palavras Sem operadores booleanos explícitos Porém funciona como OR Funcionamento geral O sistema de RI recupera todos os documentos que contêm pelo menos uma das palavras da consulta Em seguida, os documentos recuperados são ordenados de acordo com o modelo de RI implementado pelo sistema
Consultas com Contexto Posição das Palavras Alguns sistemas de RI são capazes de buscar palavras dentro de algum “contexto” Documentos onde as palavras da consulta aparecem próximas uma da outra podem ser mais relevantes do que aqueles onde as palavras aparecem distantes Ex.: “recuperação” e “informação” no contexto de docs. 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 Busca pela Posição das Palavras Como verificar essa proximidade? Depende da implementação do sistema de RI E.g., Bases de índices invertidos que guardam a posição onde cada palavra ocorre em cada documento
Consultas com Contexto Grupos Nominais (GN) Consultas baseadas em Grupos Nominais recuperam documentos com um GN específico i.e., lista 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 A Base de índices do sistema de RI deve armazenar as posições de cada palavra no documento Processo de recuperação Recuperar os documentos que contêm todas as palavras da consulta Registrando as posições de cada palavra nos docs Fazer a intersecção entre documentos recuperados Para eliminar redundâncias Verificar a ocorrência do GN (palavras contíguas)
Consultas com Contexto Busca de Grupos Nominais 1. Encontre o conjunto de documentos D que contém 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 consulta Exemplo: “…corrida terminou com carro…” Pode também levar em conta stemming e/ou stopwords
Consultas com Contexto Busca com Proximidade das Palavras Semelhante à busca por grupos nominais Recupera os documentos que contêm todas as palavras da consulta Em um contexto que satisfaz as restrições de proximidade
Consultas com Contexto Busca com Proximidade das Palavras Processo de recuperação Dada uma consulta com 2 termos ki e kj E o vetor P de posições dos termos em d O sistema de RI Localiza no vetor P a ocorrência de ki Localiza a posição mais próxima de kj a ki e verifica se está dentro da distância máxima permitida
Consultas com Contexto Documentos que satisfazem uma consulta com Contexto podem ser ordenados da mesma forma que no caso das consultas básicas i.e., de acordo com o modelo de RI implementado pelo sistema Para consultas por proximidade, a distância entre os termos também pode ser levada em conta 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: (ki OR kj ) AND: (ki AND kj ) BUT: (ki BUT kj ) Satisfaz ki but not kj 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 Recupera docs. com ki e kj , e faz a união dos resultados AND Recupera docs. com ki e kj , e faz a interseção dos resultados BUT Recupera docs. com ki e kj , e utiliza o conjunto complementar dos resultados
Consultas em Linguagem Natural Em geral, consultas de texto completo são consideradas como strings arbitrárias pelos sistemas de RI de propósito geral Excluímos aqui os sistemas de Pergunta-Resposta, e os sistema de RI com interface em Linguagem Natural No modelo Espaço Vetorial, essas consultas São tratadas como um “bag” de palavras São processadas usando métodos padrão de recuperação com Espaço Vetorial
Casamento de Padrão Alguns sistemas de RI permitem 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, um prefixo, um sufixo, etc Padrão complexo ex., expressões regulares
Casamento de Padrão Estamos interessados em documentos que contêm segmentos de texto que casam com o padrão especificado Isso 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 início 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 Número 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
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
Roteiro - 2a parte Operações sobre as Consultas Expansão de Consultas Feedback de Relevância
Expansão de Consultas Objetivo: Motivação Adicionar novos termos à consulta Termos correlacionados Motivação Aumentar a quantidade de documentos recuperados Cobertura do sistema de RI
Expansão de consultas usando Tesauros Tesauros contêm sinônimos e termos semanticamente relacionados às suas entradas (palavras) Exemplo: physician syn: ||croaker, doc, doctor, MD, medical, mediciner, medico, ||sawbones rel: medic, general practitioner, surgeon,
Expansão de consultas usando Tesauros Para cada termo t da consulta, expande a consulta com os sinônimos e palavras relacionadas a t contidos no tesauro Esse método geralmente aumenta a cobertura da recuperação Recupera mais documentos Porém, 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 Tesauro Estatístico Análise Automática Global Tesauros 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 a co-ocorrência (ou freqüência comum) dos termos em todos os documentos do corpus Matriz de correlação métrica considera a distância entre os termos nos documentos do corpus 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 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 (correlaçã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 correlacionados 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
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 com base em repesagem de pesos
Feedback de relevância Repesagem de Termos Reformulação de consulta para o Modelo Vetorial Nesse modelo, 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étodos: Método Rochio Padrão Método Ide Método Ide “Dec Hi” Ocultei os slides pq era muita fórmula……..
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
Próxima aula Construção de bases de índices Definição das equipes e dos projetos