Modelo Booleano Wendel Melo

Documentos relacionados
Modelo Booleano Wendel Melo

Indexação e Modelos Clássicos

Modelo Probabilístico

Ponderação de termos

Segundo trabalho de Organização e Recuperação da Informação

Primeiro trabalho de Organização e Recuperação da Informação

Avaliação da Recuperação

Segundo trabalho de Organização e Recuperação da Informação FACOM- UFU Professor: Wendel Melo

Organização e Recuperação da Informação

Profª Ana Lúcia Lima Marreiros Maia Profª Fabiana Cristina Bertoni

Realimentação de Relevância

Organizaçãoe Recuperaçãode Informação GSI521. Prof. Dr. Rodrigo Sanches Miani FACOM/UFU

Recuperação de Informações por Álgebra Linear Computacional

Matrizes esparsas: definição

23/05/12. Agenda. Introdução. Introdução. Introdução. Álgebra. Relacional. Cálculo. Relacional

Recuperação de Informações

Lógica para Computação

Recuperação de Dado X Informação. Gerenciamento de Dados e Informação. Histórico. Recuperação de Informação. Histórico. Histórico

Algoritmos e Estruturas de Dados. Prof. Marcelo Zorzan Profa. Melissa Zanatta

Arquivos invertidos 39

Ambiente de Data Warehouse Para Imagens Médicas Baseado Em Similaridade

Prof. Leandro Tonietto Introdução a computação e suas aplicações Curso de Segurança da Informação UNISINOS jun-09

Desenvolvimento de um Web Crawler para indexação de documentos científicos


GRAFOS Aula 03 Representações de Grafos Max Pereira

Pré-Processamento de Documentos

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

4. Algoritmos de Busca em Vetores

Unidade IV. Unidade III. Na álgebra booleana, estão todos os fundamentos da eletrônica digital.

Dicionários. Prof. César Melo

3 Satisfação de Restrições

4 Recuperação de Informação

Capítulo 7. Expressões e Sentenças de Atribuição

Introdução a Ciência da Computação Estrutura e Organização das Informações PROFESSORA CINTIA CAETANO

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas

Universidade de São Paulo

Conceitos Básicos Sistemas de banco de dados; Sistemas de gerência de banco de dados.

Douglas Matheus de Souza Prof. Marcel Hugo, Mestre - Orientador

Lógica para Computação. Álgebra de Boole

Lógica para computação - Propriedades Semânticas da Lógica Proposicional (parte 2/2) Alfabeto Simplificado e Formas Normais

CINEMAN.ULTRA. Manual de usuário

Relações semânticas entre os conectivos da Lógica Proposicional(Capítulo 5)

Introdução a Sistemas Gerenciadores de Banco de Dados

Compressão de Textos. Introdução. Introdução. Introdução. O volume de informação textual disponível on-line é imenso:

Matemática Discreta 12

TGR BCC Representação Computacional de Grafos. Prof. Ricardo José Pfitscher

Linguagem de Montagem. Objetos e classes. Métodos e parâmetros. Linguagem de Montagem. Profs. Marcelo Nogueira / Fábio Amaral 1

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

1 OBJETIVOS 2 HORÁRIO DE AULAS 3 PROGRAMA

Objetos e classes. Linguagem de Montagem. Métodos e parâmetros. Outras observações. Valores de retorno. Código-fonte. Linguagem de Montagem CC/SI 1

Aula 2 BD Introdução. Profa. Elaine Faria UFU

Programação Orientada a Objetos

CAP. VI ANÁLISE SEMÂNTICA

Hashing: conceitos. Hashing

Estrutura de Condição, Escolha e Repetição

Lista de Exercícios. Av. Trabalhador São-carlense, 400. centro. São Carlos - SP cep Brasil.

Eletrônica Digital. Funções lógicas, álgebra de boole e circuitos lógicos combinacionais básicos. Professor: Francisco Ary

Arquivos Seqüenciais: Intercalação

Protótipo tipo de um sistema de arquivos para ambiente distribuído

Linguagem de Maquina II. Visão Geral

Aula 3 Bytes e Bits. DIM0103 Introdução à Informática. Profº Pedro Alexandre

Linguagens Documentárias. Profa. Lillian Alvares Faculdade de Ciência da Informação, Universidade de Brasília

ÁRVORE B+ Vanessa Braganholo Estruturas de Dados e Seus Algoritmos

TÉCNICAS DE PROGRAMAÇÃO. Estrutura de dados

Conteúdo da Apresentação

Métodos de Busca Parte 1

Classificação Externa: Intercalação de Partições Classificadas

Classificação Externa: Geração de Partições Classificadas

Trabalho Prático. Primeira Parte do Trabalho (Parte I): peso 40%

Organização de Arquivos. Leandro C. Cintra M.C.F. de Oliveira Thiago A. S. Pardo Cristina D. A. Ciferri

Paradigmas de Linguagem de. Programação Profª. Roberta B Tôrres de programação referem-se a:

ORDENAÇÃO EXTERNA DE ARQUIVOS: GERAÇÃO DE PARTIÇÕES CLASSIFICADAS. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos

Algoritmos de pesquisa. Tabelas de dispersão/hash

TÉCNICAS DE PROGRAMAÇÃO. Estrutura de dados

Prototipação de Sistemas Digitais. Síntese Lógica Cristiano Araújo

Tipos Algébricos. Programação Funcional. Capítulo 11. José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto

3. CAPÍTULO LÓGICAS DIGITAIS

Semana 10: Vetores. Material Didático Unificado.

Organização e Arquitetura de Computadores I

ÁRVORE B+ Vanessa Braganholo Estruturas de Dados e Seus Algoritmos

ÁRVORES BINÁRIAS DE BUSCA. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos

Organizaçãoe Recuperaçãode Informação GSI521. Prof. Dr. Rodrigo Sanches Miani FACOM/UFU

CONJUNTO DE INSTRUÇÕES

Dicionário de Dados Organização Direta de Arquivos

INE5408 Estruturas de Dados

UNIDADE ACADÊMICA: Faculdade de

Organizaçãoe Recuperaçãode Informação GSI521. Prof. Dr. Rodrigo Sanches Miani FACOM/UFU

BUSCA EM ARRAYS. Prof. André Backes. Ato de procurar por um elemento em um conjunto de dados

aula 01 (Lógica) Ementa Professor: Renê Furtado Felix Site:

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

PORTAS NOR e NAND OR - AND - NOT. Considerando as entradas A e B, teremos na saída a complementação ou negação das mesmas.

Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula

3 Plano de Execução de Consultas

Sumário. Definição do Plano de Execução

Programação de Computadores I Dados, Operadores e Expressões PROFESSORA CINTIA CAETANO

PMR2560 Visão Computacional Imagens binárias. Prof. Eduardo L. L. Cabral

Estrutura de Dados. Aleardo Manacero Jr.

Transcrição:

Wendel Melo Faculdade de Computação Universidade Federal de Uberlândia Recuperação da Informação Adaptado do Material da Profª Vanessa Braganholo - IC/UFF

Modelo simples; Baseado em teoria dos conjuntos e álgebra booleana; Documentos e consultas são representados como vetores binários; Consultas são especificadas como expressões booleanas 2

Cada documento é representado logicamente por um vetor de pesos binários ; Seja w ij o peso do termo k i no documento d j. Assim: w ij = 1, se k i aparece em d j, 0, caso contrário Desse modo, o número de componentes do vetor de pesos é dado pelo número de termos do vocabulário da base; Consultas também são representadas por vetores de pesos binários. 3

Exemplo 1 O índice invertido terá os seguintes termos (supondo eliminação de stopwords): amarela campo carro casa é linda marcelo 4

Exemplo 1 O índice invertido terá os seguintes termos (supondo eliminação de stopwords): amarela campo carro casa é linda marcelo Cada documento será modelado como um vetor de pesos binários: amarela campo carro casa é linda marcelo = (1, 1, 1, 0, 1, 1, 1, 0) = (0, 1, 0, 1, 0, 1, 0, 1) 5

Exemplo 1 O índice invertido terá os seguintes termos (supondo eliminação de stopwords): amarela campo carro casa é linda marcelo Cada documento será modelado como um vetor de pesos binários: = (1, 1, 1, 0, 1, 1, 1, 0) = (0, 1, 0, 1, 0, 1, 0, 1) Peso do termo campo em amarela campo carro casa é linda marcelo 6

Em situações reais, com uma base razoável, cada vetor de pesos pode englobar muito mais zeros do que um s; Para otimizar o armazenamento desses vetores, pode ser utilizada alguma estrutura de dados que considere esparsidade: É possível, por exemplo, armazenar apenas os índices dos vetores onde o peso 1 aparece. Pode-se usar uma estrutura eficiente como tabela hash ou árvore para armazenar esses índices. 7

O modelo booleano suporta o uso de operadores lógicos na escrita de consultas; 8

O modelo booleano suporta o uso de operadores lógicos na escrita de consultas; Por exemplo, considerando uma consulta q envolvendo os termos ka, kb e kc: q = ka (kb kc) Como um documento pode satisfazer à consulta acima? 9

O modelo booleano suporta o uso de operadores lógicos na escrita de consultas; Por exemplo, considerando uma consulta q envolvendo os termos ka, kb e kc: q = ka (kb kc) Como um documento pode satisfazer à consulta acima? Se ka, kb e kc estiverem presentes, OU Se ka e kb estiverem presentes, OU Se ka estiver presente e kc não estiver presente. 10

O modelo booleano suporta o uso de operadores lógicos na escrita de consultas; Por exemplo, considerando uma consulta q envolvendo os termos ka, kb e kc: q = ka (kb kc) Como um documento pode satisfazer à consulta acima? Se ka, kb e kc estiverem presentes (1,1,1), OU Se ka e kb estiverem presentes (1,1,0), OU Se ka estiver presente e kc não estiver presente (1,0,0). 11

q = ka (kb kc) Esta consulta pode ser representada na forma normal disjuntiva da seguinte forma: ka (1,0,0) (1,1,0) (1,1,1) kb kc 12

q = ka (kb kc) Esta consulta pode ser representada na forma normal disjuntiva da seguinte forma: q = (ka kb) (ka kc) ka (1,0,0) (1,1,0) (1,1,1) kb Assim: kc q = (1,1,1) (1,1,0) (1,0,0) 13

Para que um documento seja classificado como relevante, basta que seu vetor de pesos case com o de alguma das disjunções da FND da consulta. Não há ranqueamento entre os documentos. Cada documento é apenas classificado como relevante ou não relevante. 14

Exemplo 2 Consulta q 15

Exemplo 2 = (1, 1, 1, 0, 1, 1, 1, 0) = (0, 1, 0, 1, 0, 1, 0, 1) q Consulta q = (_, 1, _, _, _, _, _, _) amarela campo carro casa é linda marcelo 16

Exemplo 2 = (1, 1, 1, 0, 1, 1, 1, 0) = (0, 1, 0, 1, 0, 1, 0, 1) q Consulta q = (_, 1, _, _, _, _, _, _) amarela campo carro casa é linda marcelo Resposta: e 17

Exemplo 3 Consulta q campo ^ é 18

Exemplo 3 = (1, 1, 1, 0, 1, 1, 1, 0) = (0, 1, 0, 1, 0, 1, 0, 1) q Consulta q campo ^ é = (_, _, 1, _, _, 1, _, _) amarela campo carro casa é linda marcelo 19

Exemplo 3 = (1, 1, 1, 0, 1, 1, 1, 0) = (0, 1, 0, 1, 0, 1, 0, 1) q Consulta q campo ^ é = (_, _, 1, _, _, 1, _, _) Resposta: amarela campo carro casa é linda marcelo 20

Exemplo 4 Consulta q ^ linda 21

Exemplo 4 = (1, 1, 1, 0, 1, 1, 1, 0) = (0, 1, 0, 1, 0, 1, 0, 1) q Consulta q ^ linda = (_, 1, _, _, _, _, 0, _) amarela campo carro casa é linda marcelo 22

Exemplo 4 = (1, 1, 1, 0, 1, 1, 1, 0) = (0, 1, 0, 1, 0, 1, 0, 1) q Consulta q ^ linda = (_, 1, _, _, _, _, 0, _) Resposta: amarela campo carro casa é linda marcelo 23

Exemplo 5 Consulta q ^ ( casa v linda ) 24

Exemplo 5 Consulta q ^ ( casa v linda ) Passamos a consulta à forma normal disjuntiva 25

Exemplo 5 Consulta q ^ ( casa v linda ) q ^ casa q ^ linda 26

Exemplo 5 Consulta q amarela campo carro casa é linda = (1, 1, 1, 0, 1, 1, 1, 0) = (0, 1, 0, 1, 0, 1, 0, 1) q = (_, 1, _, _, 0, _, _, _) ^ ( casa v linda ) marcelo q ^ casa q ^ linda 27

= (1, 1, 1, 0, 1, 1, 1, 0) = (0, 1, 0, 1, 0, 1, 0, 1) q = (_, 1, _, _, 0, _, _, _) Resposta q : Exemplo 5 Consulta q amarela campo carro casa é linda ^ ( casa v linda ) marcelo q ^ casa q ^ linda 28

Exemplo 5 Consulta q amarela campo carro casa é linda = (1, 1, 1, 0, 1, 1, 1, 0) = (0, 1, 0, 1, 0, 1, 0, 1) ^ ( casa v linda ) marcelo q ^ casa q ^ linda amarela campo carro casa = (1, 1, 1, 0, 1, 1, 1, 0) = (0, 1, 0, 1, 0, 1, 0, 1) é linda marcelo q = (_, 1, _, _, 0, _, _, _) q = (_, 1, _, _, _, _, 1, _) Resposta q : 29

Exemplo 5 Consulta q amarela campo carro casa é linda = (1, 1, 1, 0, 1, 1, 1, 0) = (0, 1, 0, 1, 0, 1, 0, 1) ^ ( casa v linda ) marcelo q ^ casa q ^ linda amarela campo carro casa = (1, 1, 1, 0, 1, 1, 1, 0) = (0, 1, 0, 1, 0, 1, 0, 1) é linda marcelo q = (_, 1, _, _, 0, _, _, _) q = (_, 1, _, _, _, _, 1, _) Resposta q : Resposta q : 30

Exemplo 5 Consulta q amarela campo carro casa é linda = (1, 1, 1, 0, 1, 1, 1, 0) = (0, 1, 0, 1, 0, 1, 0, 1) ^ ( casa v linda ) marcelo q ^ casa q ^ linda amarela campo carro casa = (1, 1, 1, 0, 1, 1, 1, 0) = (0, 1, 0, 1, 0, 1, 0, 1) é linda marcelo q = (_, 1, _, _, 0, _, _, _) q = (_, 1, _, _, _, _, 1, _) Resposta q : Resposta q : Resposta final:, 31

Vantagens do Fácil compreensão e implementação; Semântica precisa: resultados previsíveis Suporte nativo ao operador NOT: Muitas vezes, sistemas de RI baseados em outros modelos implementam a operação de MENOS em vez de NOT devido a dificuldade de fornecer suporte a esse operador. 32

Desvantagens do A semântica precisa faz com que o casamento entre documento e consulta precise ser exato para o documento ser considerado relevante; Isto torna este modelo mais próximo a recuperação de dados que recuperação de informação. O critério binário de decisão pode implicar em qualidade ruim para a recuperação: Se uma consulta incluir 10 termos e um documento d contiver apenas 9, a simples falta de um termo fará com que ele não entre no resultado; Talvez d ainda fosse relevante ao usuário, especialmente se não houver nenhum documento que case exatamente com a consulta. 33

Desvantagens do Usuários podem se confundir com uso de operadores lógicos; Consultas booleanas formuladas pelos usuários frequentemente são simplistas; Em consequência, a quantidade de resultados retornado pode ser muito pequena ou muito grande; A falta de ranqueamento torna o modelo não prático; 34