Introduction to Information Retrieval
Introduction to
Information Retrieval
CS276
Information Retrieval and Web Search
Christopher Manning and Prabhakar Raghavan
Lecture 1: Boolean retrieval
Introduction to Information Retrieval
Definições
 Técnicas para encontrar documentos de natureza não
estruturada(texto em geral) que satisfaça uma
necessidade de informação de um usuário a partir de
grande quantidade de documentos.
 Coleção: Conjunto de documentos
 Objetivo: Recuperar os documentos com
informações que são relevantes para a necessidade
do usuário.
2
Introduction to Information Retrieval
Desestruturado (texto) vs. Estruturado
(banco de dados) em 1996
Empresa de
dados
estatísticos
3
Introduction to Information Retrieval
Desestruturado (texto) vs. Estruturado
(banco de dados) em 2009
4
Introduction to Information Retrieval
Técnicas RI
 Recuperação Booleana;




Modelo Clássico;
Matriz de Incidência;
Índice Invertido;
Otimização de consultas.
Introduction to Information Retrieval
The classic search model
TASK
Info Need
Verbal
form
Query
SEARCH
ENGINE
Query
Refinement
Results
Corpus
Sec. 1.1
Introduction to Information Retrieval
Matriz Incidência (Termos x Documentos)
Antony and Cleopatra
Julius Caesar
The Tempest
Hamlet
Othello
Macbeth
Antony
1
1
0
0
0
1
Brutus
1
1
0
1
0
0
Caesar
1
1
0
1
1
1
Calpurnia
0
1
0
0
0
0
Cleopatra
1
0
0
0
0
0
mercy
1
0
1
1
1
1
worser
1
0
1
1
1
0
Brutus AND Caesar BUT NOT
Calpurnia
1 se documento
contem termo, 0
caso contrario
Introduction to Information Retrieval
Sec. 1.1
Matriz de Incidência





Cada linha representa um termo.
Cada coluna representa um documento.
Cada posição do vetor pode assumir 0/1.
Onde: 0  Ausencia no texto e 1  aparece no texto.
Exemplo consulta: Brutus, Caesar and not Calpurnia
(complemento);
 Fazer uma operacao AND nas linhas Brutus, Caesar e
Calpurnia.
 Exemplo:
 110100 AND 110111 AND 101111
= 100100
(Brutus)
(Caesar)
(Calpurnia)
(Resposta)
8
Sec. 1.2
Introduction to Information Retrieval
Índice Invertido
 Para cada termo t, nos devemos criar uma lista com
os números onde o termo t aparece;
 Onde: docID, representa um número de documento;
Brutus
1
Caesar
1
Calpurnia
2
2
2
31
4
4
11 31 45173 174
5
6
16 57 132
54 101
9
Sec. 1.2
Introduction to Information Retrieval
Índice Invertido
 Em memória, podemos usar listas ligadas ou arrays de
tamanhos variáveis;
Listas
Brutus
1
Caesar
1
Calpurnia
Dicionário
2
2
2
4
11 31 45 173
4
5
6
16 57 132
31 54 101
Listas
Ordenado pelo by docID
10
Sec. 1.2
Introduction to Information Retrieval
Construção Índice Invertido
Documentos para
indexar.
Friends, Romans, countrymen.
Tokenizer
Token stream.
More on
these later.
Friends Romans
Linguistic
modules
Tokens modificados.
Índice Invertido
Countrymen
friend
roman
countryman
Indexer friend
2
4
roman
1
2
countryman
13
16
Sec. 1.2
Introduction to Information Retrieval
Passos Indexador: Token
 Dividir os documentos em pares (termos, Document
ID).
Doc 1
I did enact Julius
Caesar I was killed
i' the Capitol;
Brutus killed me.
Doc 2
So let it be with
Caesar. The noble
Brutus hath told you
Caesar was ambitious
Introduction to Information Retrieval
Passos Indexador: Ordenação
 Ordenar termos.
 Ordem alfabética
Sec. 1.2
Introduction to Information Retrieval
Sec. 1.2
Passos Indexador: Dicionário & Listas
 Criar dicionário de
termos;
 Adicionar na lista os
documentos que o
termos aparecem;
 Adicionar a
freqüência do
termo;
Sec. 1.2
Introduction to Information Retrieval
Custo de Armazenamento
Listas
dos
docIDs
Termos
e
freqüên
cias
Ponteiros
15
Sec. 1.3
Introduction to Information Retrieval
Consulta com operador: AND
 Considere a consulta:
Brutus AND Caesar
 Recuperar a lista do termo Brutus;
 Recuperar a lista do termo Caesar;
 Interseção (“Merge”) das duas listas:
2
4
8
16
1
2
3
5
32
8
64
13
128
21
Brutus
34 Caesar
16
Introduction to Information Retrieval
Interseção de duas listas
(“merge” algorithm)
17
Sec. 1.3
Introduction to Information Retrieval
Exemplo: merge algorithm
2
8
2
4
8
16
1
2
3
5
32
8
64
13
Brutus
34 Caesar
128
21
Obs: As listas devem estar ordenadas pelo docID.
18
Introduction to Information Retrieval
Sec. 1.1
Conclusões Modelo Booleano
 Ainda e utilizado em sistemas:
 E-mail, catalogo de Bibliotecas;
 Modelo de RI utilizado por 3 décadas.
 Processamento lento para consultar grande volume
de termos e documentos
 Exemplo: Um milhão de documentos, cada documento
aproximadamente com 1000 termos.
 Exatidão nas consultas
 Exemplo:
 a) Procurar palavra Brutus;
 b) Procurar palavras iniciadas com a letra B. (impossível)
19
Sec. 1.3
Introduction to Information Retrieval
Otimização de consultas
 Qual a melhor maneira de realizar a consulta
abaixo?
Brutus
2
Caesar
1
Calpurnia
4
2
8
16 32 64 128
3
5
8
16 21 34
13 16
Query: Brutus AND Calpurnia AND Caesar
20
Sec. 1.3
Introduction to Information Retrieval
Exemplo de otimização de consultas
 Inicie com os termos com as menores freqüências, ou seja,
que possuem as menores listas.
Por isso e importante
armazenar a freqüência dos
termos
Brutus
2
Caesar
1
Calpurnia
4
2
8
16 32 64 128
3
5
8
16 21 34
13 16
Execute a consulta como (Calpurnia AND Brutus) AND Caesar.
21
Introduction to Information Retrieval
Sec. 1.3
Otimização mais geral
 e.g., (madding OR crowd) AND (ignoble OR
strife)
 Pegue freqüência dos documentos para todos os
termos.
 Estime o tamanho de cada OR pela soma das
freqüências dos documentos.
 Processar em ordem crescente pelo tamanho das
listas (OR).
22
Introduction to Information Retrieval
Course staff
 Professor: Christopher Manning
Office: Gates 158
[email protected]
 Professor: Prabhakar Raghavan
pragh@yahoo-
inc.com
 TAs: Andrey Guev, Shakti Sinha, Roshan Sumbaly
 In general, don’t use the above addresses, but:
 Newsgroup: su.class.cs276
[preferred]
 [email protected]
23
Download

capitulo_1