Recuperação de Informação Estrutura de Dados II Mariella Berger 1
Roteiro Tarefas de Recuperação de Informação Modelos de Recuperação de Documentos Modelo Booleano Modelo Espaço Vetorial
Recuperação de Informação
Sistemas de Recuperação de Informação Um sistema automático para RI 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 consulta do usuário Etapas principais: Preparação dos documentos Indexação dos documentos Busca (casamento com a consulta do usuário) Ordenação dos documentos recuperados
Representação do Documento Visão Lógica Cada documento da base pode ser representado por: um conjunto de termos (ou palavras) que melhor representam seus tópicos (geralmente, substantivos e verbos) seu texto completo (todos os termos que aparecem no documento, incluindo artigos, preposições,...) seu texto completo + estrutura (títulos, fonte (negrito, itálico), hiperlinks...)
Modelos Clássicos de Recuperação de Documentos Veremos inicialmente os seguintes modelos: Modelo Booleano e Modelo Espaço Vetorial Para cada modelo, veremos: A representação do documento A representação da consulta A noção de relevância dos documentos em relação à consulta utilizada na recuperação pode ser binária (sim/não) ou ordenada
Modelos Clássicos Conceitos Básicos Considere uma base qualquer de documentos Cada documento na base é representado por um conjunto de n termos (ou palavras isoladas) k1, k2,...,kn Esses termos são escolhidos a partir da base de documentos completa cada base terá seu conjunto de termos representativos
Modelos Clássicos Conceitos Básicos Cada documento (dj) é representado por termos da base associados a pesos Peso d1 = k1 (w1), k2 (w2),..., kn (wn) Importância da palavra para descrever o documento Quando o termo não aparece no documento, o peso associado é zero Cada modelo de recuperação define pesos de uma maneira diferente
Modelos Clássicos Conceitos Básicos As consultas podem ser representadas pelo mesmo conjunto de termos da base Alguns modelos permitem associar pesos aos termos da consulta
Modelo Booleano
Modelo Booleano Representação do documento Dado o conjunto de termos representativos para a base em questão K = {k1, k2,...,kn} Os documentos são representados como vetores de pesos binários de tamanho n Cada posição no vetor corresponde a um termo usado na indexação dos documentos da base A representação indica apenas se o termo está ou não presente no documento d1 = {1,1,0} documento d1 contém os termos k1 e k2, e não contém o termo k3
Modelo Booleano Representação da consulta Consulta: Termos conectados por AND, OR e/ou NOT Exemplo: k1 AND (k2 OR NOT k3) A consulta é transformada em uma fórmula normal disjuntiva (DNF) objetivo: facilitar o casamento entre documento e consulta Exemplo: (1,1,1) OR (1,1,0) OR (1,0,0) Documento casa com a consulta se ele casa com algum dos componentes da consulta O documento d1 = {1,1,0} casa com a consulta
Relevância binária : Modelo Booleano Relevância O documento é considerado relevante se seu casamento com a consulta é verdadeiro Não é possível ordenar os documentos recuperados Exemplo de consulta Base de Documentos Consulta k 1 k 2 k 3 K 1 k 2 k 3 Documentos apresentados ao usuário
Modelo Booleano Vantagens Modelo simples baseado em teoria bem fundamentada Fácil de implementar
Modelo Booleano Desvantagens Não permite casamento parcial entre consulta e documento Não permite ordenação dos documentos recuperados A necessidade de informação do usuário deve ser expressa em termos de uma expressão booleana (nem todo usuário é capaz disso) Em consequência, este modelo geralmente retorna ou poucos documentos ou documentos demais
Modelo Espaço vetorial
Modelo Espaço Vetorial Associa pesos positivos não-binários aos termos, permitindo o casamento parcial entre consulta e documento Esses pesos são usados para calcular um grau de similaridade entre consulta e documento O usuário recebe um conjunto ordenado de documentos como resposta à sua consulta Mais interessante do que apenas uma lista desordenada de documentos
Modelo Espaço Vetorial Este modelo pode utilizar diferentes fórmulas para: Calcular os pesos dos vetores Freqüência de ocorrência do termo no documento TF-IDF (mais usado) Calcular a medida de similaridade entre consulta e documentos Co-seno (mais usado) Jaccard, Coeficiente de Pearson, etc...
Representação do documento e da consulta Dado o conjunto de termos representativos para a base em questão K = {k1, k2,...,kn} cada termo de K é um eixo de um espaço vetorial Consultas (q) e documentos (d) são representados como vetores nesse espaço n-dimensional
Representação do documento e da consulta
Representação do documento e da consulta Consulta q Brasil Olimpíadas Sidney : Documento d Brasil em Sidney 2000 : O Brasil não foi bem no quadra das medalhas da Olimpíada de Sidney 2000... Representação de Brasil q 0.4 Olimpíadas 0.3 Sidney 0.3 Representação de Brasil d 0.5 Olimpíadas 0.3 Sidney 0.2 0. 3 0. 2 Sidne y Olimpíada s q d 0. 5 Brasi l
Modelo Espaço Vetorial Pesos Os pesos são usados para computar a similaridade O peso de um termo em um documento pode ser calculado de diversas formas: Frequência no documento Balancear características em comum (intradocumentos) e características para fazer a distinção entre documentos (inter-documentos)
Pesos - Frequência Exemplo Documento A: A dog and a cat. Documento B: A frog.
Pesos - Frequência O vocabulário contém todas as palavras utilizadas a, dog, and, cat, frog O vocabulário necessita ser ordenado a, and, cat, dog, frog
Pesos - Frequência Documento A: A dog and a cat. Vetor: (2,1,1,1,0) Documento B: A frog. Vetor: (1,0,0,0,1)
Pesos - Frequência Queries também podem ser representadas como vetores: Dog = (0,0,0,1,0) Frog = (0,0,0,0,1) Dog and frog = (0,1,0,1,1)
Pesos - Frequência Doc original Doc : www.filosofia.com Se o desonesto soubesse a vantagem de ser honesto, ele seria honesto ao menos por desonestidade. Sócrates Operações de Texto Doc : www.filosofia.com desonesto / soubesse / vantagem / honesto / seria / honesto / menos/desonestidade/ socrates Representação Doc : www.filosofia.com honesto 2 desonesto 1 soubesse 1 vantagem 1 seria 1 menos 1 desonestidade 1 socrates 1
Pesos TF-IDF Método TF-IDF leva em consideração: Frequência do termo no documento Term Frequency (TF) Quanto maior, mais relevante é o termo para descrever o documento Inverso da frequência do termo entre os documentos da coleção Inverse Document Frequency (IDF) Termo que aparece em muitos documentos não é útil para distinguir relevância Peso associado ao termo tenta balancear esses dois fatores
Pesos TF-IDF tf_i(frequência do termo) = o número de vezes que o termo i ocorre no documento (reflete a informação local) df_i(frequência do documento) = o número de documentos que contém o termo i. D = número total de documentos
Pesos TF-IDF A fração df_i/d é a probabilidade de selecionar um documento que contém o termo i. log(d/df_i) é o Inverse Document Frequency (IDFi ) e reflete a informação global Se o termo aparece pouco nos documentos, então este é mais relevante.
Pesos TF-IDF
Similaridade
Similaridade
Similaridade Cada dimensão corresponde a um termo, e o valor do documento em cada dimensão varia entre 0 (irrelevante ou não presente) e 1 (totalmente relevante). As distâncias entre um documento e outro indicam seu grau de similaridade, ou seja, documentos que possuem os mesmos termos acabam sendo colocados em uma mesma região do espaço e, em teoria, tratam de assuntos similares.
Similaridade - consulta Os vetores dos documentos podem ser comparados com o vetor da consulta e o grau de similaridade entre cada um deles pode ser identificado. Os documentos mais similares (mais próximos no espaço) à consulta são considerados relevantes para o usuário e retornados como resposta
Similaridade - consulta Uma das formas de calcular a proximidade entre os vetores é testar o ângulo entre estes vetores. No modelo original, é utilizada uma função batizada de cosine vector similarity K 1 d q Similaridade(q,d) = cos( ) K 2
Relevancia Similaridade pode ser medida pelo coseno do ângulo entre q e d Quanto menor é o ângulo entre os documentos, maior o coseno (E maior é a similaridade entre d e q) Exemplo: para 2 vetores d e d, a similaridade é calculada pelo coseno, ou seja: d d d d ' '
Relevancia Depois dos graus de similaridade terem sido calculados, é possível montar uma lista ordenada (ranking) de todos os documentos e seus respectivos graus de relevância à consulta, da maior para a menor relevância
Similaridade
Similaridade Similaridade = produto interno / produto das normas 00.2.4 00.4 0.1.2 0.3 sim 2 2 2 2 (0.2) (0.4) (0.1) (0.3).0 83 2 2 2 2 (0.4) (0.1) (0.2
Exemplo 1 Query: "gold silver truck" A coleção possui 3 documentos (D = 3) D1: "Shipment of gold damaged in a fire" D2: "Delivery of silver arrived in a silver truck" D3: "Shipment of gold arrived in a truck"
Similaridade
Similaridade
Similaridade
Similaridade Resultado Rank 1: Doc 2 = 0.8246 Rank 2: Doc 3 = 0.3271 Rank 3: Doc 1 = 0.0801
Vantagens Oferecer um framework simples e elegante Atribuir pesos aos termos melhora o desempenho É uma estratégia de encontro parcial (função de similaridade), que é melhor que a exatidão do modelo booleano; Os documentos são ordenados de acordo com seu grau de similaridade com a consulta. Em geral, seu desempenho (precisão e recall) supera todos os outros modelos
Desvantagens Ausência de ortogonalidade entre os termos. Isso poderia encontrar relações entre termos que aparentemente não têm nada em comum; É um modelo generalizado; Um documento relevante pode não conter termos da consulta; Documentos muito longos podem dificultar na medida da similaridade.
Ideias para melhorar o modelo Apontar um conjunto de palavras-chaves nos documentos Eliminar palavras muito comuns (como exemplo artigos) Limitar o vetor espaço em substantivos e poucos verbos ou adjetivos Criar subvetores para documentos muito grandes