Title: Sistemas de Recupera
1Sistemas de Recuperação da Informação
UNIVERSIDADE FEDERAL DE CAMPINA GRANDE CENTRO DE
ENGENHARIA ELÉTRICA E INFORMÁTICA DEPARTAMENTO DE
SISTEMAS E COMPUTAÇÃO
Prof. Ulrich Schiel
2Sistemas de Recuperação da Informação
ROTEIRO
1. INTRODUÇÃO 2. TÓPICOS DA RECUPERAÇÃO DA
INFORMAÇÃO 2.1. Estruturas de arquivos 2.2.
Indexação 2.3. Consultas
3Sistemas de Recuperação da Informação
- 3. INDEXAÇÃO DE INFORMAÇÃO
- 3.1 Filtragem
- 3.2 Análise léxica
- 3.3 Stoplist
- 3.4 Stemming ou truncagem
- 3.5 Construção de thesaurus
- 3.6 Indexação
-
- ARMAZENAMENTO DE INFORMAÇÃO
- 4.1. Arquivos invertidos
- 4.2. Arquivos de assinatura
- 4.3. Retângulos ótimos
-
4Sistemas de Recuperação da Informação
- 5. CONSULTAS
- 5.1 modelo booleano
- 5.2 modelo vetorial
- 5.3 .modelo probabilístico
- 5.4 .modelos alternativos
-
- DOCUMENTOS MULTIMÍDIA
- EXTRAÇÃO DA INFORMAÇÃO
-
- MINERAÇÃO DE TEXTOS
- 9. BIBLIOTECAS DIGITAIS E A WEB
5Sistemas de Recuperação da Informação
BIBLIOGRAFIA
LIVROS TEXTO R. Baeza-Yates e B. Ribeiro-Neto
Modern Information Retrieval,
Addison-Wesley, 1999 M.-F. Moens Information
Extraction Algorithms and Prospects in a
Retrieval Context Springer Verlag, 2006. S.
Weiss, N. Indurkhya, T. Zhang e F. Damerau Text
Mining Predictive Methods for Analyzing
Unstructured Information Springer Verlag,
2005
6Sistemas de Recuperação da Informação
OUTROS C.D. Manning, P.Raghavan and H.Schütze,
Introduction to Information Retrieval,
Cambridge University Press. 2007. Download
em "http//www-csli.stanford.edu/schuetze/info
rmation-retrieval-book.html W. B. Frakes, R.
Baeza-Yates Information Retrieval Data
Structures and Algorithms, Prentice Hall,
1992 W. Y.Arms, Digital Libraries, MIT Press,
2000
7INTRODUÇÃO
INTRODUÇÃO
Dados estruturados X dados (semi-)estruturados
8INTRODUÇÃO
Uma consulta
Uma base de documentos
coleção
Documentos relevantes (R)
Documentos recuperados (A)
Documentos relevantes recuperados (Ra)
9INTRODUÇÃO
- Alfabeto
- Palavras
- Termos
- Conceitos
- Documentos
Objetos dos SRI
10INTRODUÇÃO
Alfabeto
A,B,C,.. a,b,c,.. acentuação
romano
hebraico
Aleph Beith
árabe
Samaku smk (???) , (peixe)
?? ? ? ? ? ? ??? un b a t i k
/kitabun/ um livro
11INTRODUÇÃO
Alfabeto
A,B,C,.. a,b,c,.. acentuação
romano
hebraico
Aleph Beith
árabe
Samaku smk (???) , (peixe)
grego
? a (alfa), ? ß (beta), G ? (gamma), ? d (delta)
12INTRODUÇÃO
Alfabeto
? ? ?.
Japonês
nihongo
? ?/ ? ?
Hànyu,
Chinês (monosilábica)
? ?,
Huáyu
13INTRODUÇÃO
- É uma seqüência de caracteres terminada
- Por um branco ou um sinal (. , -)
Palavras
neill oneill oneill o neill o neill ?
arent arent are nt aren t are not?
Mr. ONeill thinks that the boys stories about
Chiles capital arent amusing.
mantê la mantê-la manter ela
Dever-se-ia mantê-la.
Guarda-chuva
Guarda chuva Guarda-chuva
14INTRODUÇÃO
Palavras
- É uma seqüência de caracteres terminada
- por um branco ou um sinal
B12 OS/2 MP3 W3C
Quais caracteres?
3D 3FN
C INGRES
- excluir números, tabelas, figuras, etc.
- considerar gowords
15INTRODUÇÃO
Palavras
Maiúsculas e minúsculas?
Palavra e palavra Geomedia GeoMedia GEOMEDIA
acentuação
acentuação acentuacao pelo pêlo ?
siglas
Object Constraint Language
OCL
Organisation Communiste Libertaire
16INTRODUÇÃO
Termos
Guarda-chuva
Cada palavra é um termo
bancos de dados
1, 2 ou 3 termos?
Termos compostos
bancos dados
? termos
banco de dados distribuído
Pesquisa sobre o anarquismo
Recherches sur lanarchism
Anarchismusforschung
17INTRODUÇÃO
Conceitos
Sinonímia
Efetuar fazer cumprir executar realizar
Synset classe de equivalência de sinônimos
Termo representativo 1 elemento do Synset
18INTRODUÇÃO
Conceitos
- Grosso
- volumoso (livro grosso)
- áspero (mãos grossas)
- pastoso (caldo grosso)
- grosseiro (mal-educado)
Homonímia
- Banco
- instituição financeira (negócios e finanças)
- objeto para sentar (mobília)
- conjugação do verbo bancar ()
- repositório (Informática)
19INTRODUÇÃO
TermoSignificadoContexto
Conceito
20INTRODUÇÃO
Thesaurus
Termo
hipernímia
sinonímia
Termo
relacionado
Termo
Termo
Termo
meronímia
hiponímia
Termo
Termo
21INTRODUÇÃO
Thesaurus
Veículo
Frota
hipernímia
meronímia
motorista trânsito rodovia dirigir
relacionado
Termo
sinonímia
Automóvel
Carro
meronímia
hiponímia
Motor
Fiat Uno
22INTRODUÇÃO
Documentos
- Um arquivo eletrônico
- Um hipertexto
- Uma enciclopédia
- Um e-mail com anexos
- Um artigo em Anais
- Os anais
23INTRODUÇÃO
Documentos
- doc, pdf, doc, txt
- Romano, Chinês, árabe
- Português, ...
- Qual o formato?
- Qual o alfabeto?
- Qual o idioma?
24INTRODUÇÃO
Processo da Recuperação da informação
25INTRODUÇÃO
Processo da recuperação da informação
palavras
Docu- mento
radicais
texto
extração
stoplist
palavras
radicais
associação
Banco de Dados
usuário
radicais
extração
consulta
palavras
radicais
lista ordenada
operadores Booleanos
Lista de documentos
ranking
26TÓPICOS DA RECUPERAÇÃO DA INFORMAÇÃO
Indexação
Estruturas de arquivos
Recuperação
27TÓPICOS DA RECUPERAÇÃO DA INFORMAÇÃO
Estruturas de arquivos
- Texto puro
- Pesquisa em texto
- Arquivo de índices
- Arquivos invertidos
- hashing
- Retângulos ótimos
OPÇÕES
- Árvores Patrícia (sufixos)
- Também para tabelas, etc.
- Grafos (redes semânticas, ontologias,.)
28TÓPICOS DA RECUPERAÇÃO DA INFORMAÇÃO
Consultas e recuperação
- Modelos baseados em teoria dos conjuntos
- Booleano e Booleano extendido
- Conjuntos Fuzzy
- Modelos algébricos
- Vetorial básico e generalizado
- Contextual
- Redes Neurais
- Modelos probabilísticos
- básico
- Redes Bayesianas
29TÓPICOS DA RECUPERAÇÃO DA INFORMAÇÃO
Consultas e recuperação
- Modelos sobre textos estruturados
- Consideram a estrutura do documento (itálico,
negrito, figuras, proximidades) - Listas disjuntas (Capítulos, seções, parágrafos)
- proximidades
- Modelos de Browsing
- Browsing plano
- Browsing com diretórios
- Hipertextos
30INDEXAÇÃO DA INFORMAÇÃO
- Filtragem
- Análise léxica
- Stoplist
- Truncagem (stemming)
- Construção do thesaurus
- Indexação
31INDEXAÇÃO DA INFORMAÇÃO
- Filtragem
- Conversão para um formato padrão
- Remover macros do editor
- Remover símbolos especiais
- Hipertextos
- doc, rtf, pdf, ps, tex, ...
- html
- xml etc (rdf, dc, xmlschema, owl,..).
32INDEXAÇÃO DA INFORMAÇÃO
Semi-estruturado
EXEMPLO
Rtf
\rtf1\ansi\ansicpg1252\uc1\ \\generator
Microsoft Word 10.0.2627\info\title
Semi-\author Ulrich Schiel \operator Ulrich
Schiel Semi\insrsid3955129\charrsid8669994
-\insrsid8669994\charrsid8669994
e \insrsid3955129 struturado \par
33INDEXAÇÃO DA INFORMAÇÃO
Semi-estruturado
EXEMPLO
html
lt!-- / Style Definitions / p.MsoNormal,
li.MsoNormal, page Section1 ....... div.Sectio
n1 pageSection1 --gt lt/stylegt lt!--if gte mso
10gt ltstylegt / Style Definitions /
....... lt/stylegt lt!endif--gt lt/headgt ltdiv
classSection1gt ltp classMsoNormalgtltbgtSemilt/bgt-est
ruturadolt/pgt lt/divgt lt/bodygt lt/htmlgt
lthtml xmlnso"urnschemas-microsoft-comofficeof
fice" xmlnsw"urnschemas-microsoft-comofficewo
rd" xmlns"http//www.w3.org/TR/REC-html40"gt lthea
dgt lttitlegtSemi-estruturadolt/titlegt lt!--if gte
mso 9gtltxmlgt ltwWordDocumentgt
ltwZoomgt150lt/wZoomgt ltwGrammarStategtCleanlt/wGr
ammarStategt ltwHyphenationZonegt21lt/wHyphenation
Zonegt ltwBrowserLevelgtMicrosoftInternetExplorer4
lt/wBrowserLevelgt lt/wWordDocumentgt lt/xmlgtlt!endi
f--gt ltstylegt
34INDEXAÇÃO DA INFORMAÇÃO
Semi-estruturado
EXEMPLO
Em pdf
35INDEXAÇÃO DA INFORMAÇÃO
- Filtragem análise léxica
- Conversão para um formato padrão
- Remover macros do editor
- Remover não-palavras
- Remover maiúsculas/minúsculas
- Remover acentuação
36INDEXAÇÃO DA INFORMAÇÃO
Stopwords
- Critérios
- Classificação gramatical (artigos, determinantes,
pronomes, numerais, advérbios, preposições) - Palavras mais frequentes
Stopwords Palavras mais frequentes
37INDEXAÇÃO DA INFORMAÇÃO
Stopwords
- Problemas
- Termos compostos
- Frases
- Siglas
- Especiais
banco de dados ? banco dados ser ou não
ser ?? ser OCL ? Object Constraint
Language B12, 3D, 007 ? B12, tridimensional,
James Bond
- Solução
- Dicionários de termos compostos, frases, siglas e
de gowords
38INDEXAÇÃO DA INFORMAÇÃO
Stopwords
- Como remover stopwords de forma eficiente?
- Após a análise léxica
- Junto com a análise léxica
39INDEXAÇÃO DA INFORMAÇÃO
Stopwords
- Considere uma lista SWCW contendo stopwords e
palavras compostas - 1. Ler, sequencialmente, o documento de entrada
até delimitar uma palavra p.(considerar regras
básicas de construção de palavras e exceções
(gowords)) - se (p ocorre em SWCW) OU (é o início de um termo
composto em SWCW) - se p é o início de um termo composto em
SWCWentão avançar no documento para verificar
se é o composto se for o composto - então gravar o termo composto na saída,
voltar para 1. senão manter a
primeira palavra e voltar para 1. - senão desconsiderar esta palavra e voltar
para 1. - senão gravar a palavra identificada na saída e
voltar para 1.
40INDEXAÇÃO DA INFORMAÇÃO
Filtragem - Exercício
- Baseado no texto a seguir, construir
- regras de identificação de palavras
- uma tabela de gowords
- uma tabela de stopwords
- uma tabela de palavras compostas
Acompanhar o algoritmo de filtragem e mostrar o
resultado
41INDEXAÇÃO DA INFORMAÇÃO
Filtragem - Exercício
Term-frequency (tf) é uma medida que utiliza o
número de ocorrências do termo tj no documento
di. Porém quando termos com alta freqüência
aparecem na maioria dos documentos da coleção
eles não fornecem informação útil para
diferenciar documentos. A medida inverse
document frequency (idf) favorece termos que
aparecem em poucos documentos da coleção. Tal
medida varia inversamente ao número x de
documentos que contem o termo tj em uma coleção
de documentos e é definida como log (n/x).
Baseado nessas duas medidas de freqüência
pode-se definir a medida tfidf, combinando-as,
como mostra a tabela a seguir
42INDEXAÇÃO DA INFORMAÇÃO
Stemming (normalização/truncagem)
- OPÇÕES
- Truncar os termos
- Expandir a consulta
- Processo de remover variantes morfológicas
aumentando a abrangência de um termo - Variantes de escrita, erros ? normalização
- variações de número e gênero, conjugações de
verbos ? lemmatization/normalização - Definição de radicais ? Stemming
43INDEXAÇÃO DA INFORMAÇÃO
Stemming (normalização/truncagem)
OPÇÕES
- Substituir
- s ?
- aria ?
- eiro ?
- mento ?
Regras genéricas
Processos individuais (com dicionários, análise
gramatical, etc.)
- Substituir
- casa, verbo ? casar
- casa, substantivo ? casa
- casamento ? casa (??)
- (ing) theses ? thesis (??)
44INDEXAÇÃO DA INFORMAÇÃO
Stemming (normalização/truncagem)
- Normalização (lemmatization)
- Verbos conjugados ? infinitivo
- substantivos ? para o singular masculino
- Variantes, erros ? dicionário, análise sintática
Se tu casas comigo nossas casas serão vendidas e
teremos uma cama de casal.c
você casar casa ser vender ter cama casal.
45INDEXAÇÃO DA INFORMAÇÃO
Stemming (normalização/truncagem)
- Algoritmos de Truncagem (stemming)
46INDEXAÇÃO DA INFORMAÇÃO
Stemming (normalização/truncagem)
- Algoritmos de Truncagem (stemming)
47INDEXAÇÃO DA INFORMAÇÃO
Stemming (normalização/truncagem)
- Algoritmos de Truncagem (stemming)
Se tu casas comigo, nossas casas serão
vendidas e teremos uma cama de casal
v(c) 2 v(ca) 2 v(cas) 1 v(casa) 2
48INDEXAÇÃO DA INFORMAÇÃO
Stemming (normalização/truncagem)
- Truncagem (stemming)
- Remover sufixos baseado em regras
pré-estabelecidas
- Calcular a medida m do radical segundo
- Seja C uma sequência de consoantes da palavra
- Seja V uma sequência de vogais da palavra,
- Então m é determinado por
- C(VC)mV
Exemplos m0 ? la, cha m1 ? lar, casa m2 ?
chave m3 ? largar, Brasil
49INDEXAÇÃO DA INFORMAÇÃO
Stemming (normalização/truncagem)
- Truncagem (stemming)
- Remover sufixos baseado em regras
pré-estabelecidas
- Exemplos
- casas ? casas
- padaria ? pad
- padeiro ? pad
- casamento ? casa
- casar ? casa
- Substituir
- (mgt1) s ?
- (mgt0) aria ?
- (mgt0) eiro ?
- (mgt1) mento ?
- (mgt1) ar ? a
50INDEXAÇÃO DA INFORMAÇÃO
Stemming (normalização/truncagem)
- Truncagem (stemming)
- Remover sufixos baseado em regras
pré-estabelecidas
você casar casa ser vender ter cama casal.
você casa casa ser vender ter cama casa.
51INDEXAÇÃO DA INFORMAÇÃO
Stemming (normalização/radicalização)
Desambiguação
você casa casa ser vender ter cama casa.
dicionário
Desambiguação por dicionário
52INDEXAÇÃO DA INFORMAÇÃO
Indexação semântica - conceitos
Desambiguação por dicionário
Termos
Contexto
Conceito
Significado
53INDEXAÇÃO DA INFORMAÇÃO
Indexação semântica - conceitos
- Vetor de todos conceitos V ltc1,..cngt
- Cada termo t é instanciado neste vetor, com
Vtltt1,..tngt - Para cada conceito cj em V
- tj é positivo se é relacionado a cj
- tj é zero se não é relacionado a cj
- tj é negativo se contradiz cj
54INDEXAÇÃO DA INFORMAÇÃO
Indexação semântica - conceitos
Desambiguação Análise Semântica Latente (LSA)
Descobre o contexto de palavras analisando
matrizes termo X documento
55INDEXAÇÃO DA INFORMAÇÃO
Indexação semântica - LSA
56INDEXAÇÃO DA INFORMAÇÃO
Indexação semântica - LSA
Fontes
Análise Semântica Latente (LSA) - Fontes
- http//www.intelliwise.com/reports/info2004.pdf
(em português) - http//lsa.colorado.edu/papers/dp1.LSAintro.pdf
57INDEXAÇÃO DA INFORMAÇÃO
Ponderação
Cálculo da importância de um termo em um documento
tf freq (k,D) (freqüência do termo k no
documento D)
idf log (N / nk) (inverse document frequency),
onde N é o número de termos na coleção e nk
número de vezes que o termo ocorre na coleção.
tfidf freq (k,S) log (N / nk) (inverse document
frequency), é o peso do termo k no documento D
58INDEXAÇÃO DA INFORMAÇÃO
Ponderação
Cálculo da importância de um termo em um
documento considerando o tamanho dos documentos
59INDEXAÇÃO DA INFORMAÇÃO
EXEMPLO
Ponderação
- um novo documento contém as palavras
- petróleo 4 vezes
- Brasil 8 vezes
- refinaria 10 vezes
- na base de 2048 as palavras ocorrem
- petróleo 128 vezes
- Brasil 16 vezes
- refinaria 1024 vezes
teríamos os cálculos Vetor com tf
ltpetróleo 4, Brasil 8, refinaria 10gt
cálculo com tfitf (petróleo) 4log(2048/128)
41,2 4,8 tfitf (Brasil) 8log(2048/16)
82,1 16,87 tfitf (refinaria)
10log(2048/1024) 100,3 3 Logo temos o vetor
lt4.8, 16.87, 3gt
60INDEXAÇÃO DA INFORMAÇÃO
Ponderação
- EXTENSÕES
- tfidf não leva em consideração
- a distribuição do item nos outros documentos
ponderação por sinal - a importância do termo no todo valor de
discriminação - DISCRIMi SimMédiai SimMédia
- SimMédia similaridade média dos termos da
base SimMédiai similaridade média dos
termos da base retirando i - peso(ki) tfi DISCRIMi
61INDEXAÇÃO DA INFORMAÇÃO
Ponderação
PROBLEMAS COM O CÁLCULO DE PESOS Mudanças na
base de documentos alteram os valores
- SOLUÇÕES
- desconsiderar as mudanças e refazer os cálculos
periódicamente - refazer os cálculos após um fator de mudanças
ser alcançado - usar fórmulas que desconsideram a base de
documentos
62INDEXAÇÃO DA INFORMAÇÃO
Inclusão no Thesaurus (tesauro)
63INDEXAÇÃO DA INFORMAÇÃO
Inclusão no Thesaurus (tesauro)
64INDEXAÇÃO DA INFORMAÇÃO
Inclusão no Thesaurus (tesauro)
Computational linguistics Broader
Terms Linguistics Narrower Terms Machine
Translation Related Terms Automatic
Indexing Computer Science Language
Processing Linguistic Theory Mathematical
Linguistics Mathematical Logic Programming
Languages Semantics Statistics Structural
Analysis (Linguistics) Word Frequency
Thesaurus ERIC Descriptors
65INDEXAÇÃO DA INFORMAÇÃO
Inclusão no Thesaurus (tesauro)
- Cada nó do thesaurus representa um CONCEITO
- Dado um termo deve-se encontrar o conceito
adequado
- SOLUÇÃO
- um dicionário Termo ? Conceito
PROBLEMA Homônimos
- SOLUÇÃO
- um dicionário Termo X contexto X significado ?
Conceito
66INDEXAÇÃO DA INFORMAÇÃO
Thesaurus relações entre os termos
- Relações Hierarquicas é-um
- ? subclasse (Automóvel ? Veículo)
- ? instância (João da Silva ? Pessoa)
- Relação Hierarquicas parte-de (meronímia)
- ? agregado (Motor ? Automóvel)
- ? conjunto (Estudante ? Turma)
- Relação Horizontais
- ? sinonímia (Carro ? Automóvel)
- ? antonímia (Empregado ? Desempregado)
- ? relacionado (Carro ? motorista ? estrada)
67INDEXAÇÃO DA INFORMAÇÃO
Inclusão no Thesaurus (tesauro)
- NORMALIZAÇÃO do vocabulário -
- formas nominativas
- poucos adjetivos
- questões de maiúsculas, notações, abreviações,
acentuação, etc
- CONSTRUÇÃO -
- manual
- (definir domínio, definir estrutura, coletar
termos, incluir termos, inverter estrutura
criando ordem alfabética) - automática (one shot ou incremental)
- semi-automática
68INDEXAÇÃO DA INFORMAÇÃO
Thesaurus
- Construção Automática de um Thesaurus
Construção automática baseada em termos compostos
Banco de Dados
Banco de Dados Temporal
Banco de Dados Espacial
Banco de Dados Espaço-temporal
69INDEXAÇÃO DA INFORMAÇÃO
Thesaurus
- Construção Automática de um Thesaurus
Construção automática baseada em frequências
Níveis de Frequência 0 1 2
T1 com f(t1) n
T2 com f(t2) n1 ltn0
T3 com f(t3) n2 lt n1
70INDEXAÇÃO DA INFORMAÇÃO
Thesaurus
Construção automática de thesauri
- análise de co-ocorrências para formar termos
compostos. - usa LSA ou outra técnica para encontrar palavras
relacionadas - espaço de conceitos
- FILTRAGEM Extrair todos termos de uma coleção de
documentos de um domínio. usar dicionários,
stop-words, stemming e criaçao de termos
compostos baseado em termos adjacentes - ANÁLISE DE CO-OCORRÊNCIAS
- Associações baseadas em modelos cognitivos de
redes de conceitos do usuário
71INDEXAÇÃO DA INFORMAÇÃO
Thesaurus
Construção automática de thesauri
- Redes Bayesianas
- è criado um grafo dirigido acíclico modelando
situações de causa e efeito
- EXEMPLO
- Quando a família sai de casa acendo a luz da
varanda e deixo o cachorro solto no jardim. O
cachorro no jardim nota quando alguém está no
portão. Quando ouço alguém no portão, vou até lá.
cachorro fora
vou ao portão
família sai
alguém no portão
luz acesa
72ESTRUTURAS DE ARQUIVOS
Thesaurus retangular de relações termo X documento
SIM
73INDEXAÇÃO DA INFORMAÇÃO
Thesaurus
Construção manual de thesauri
- definir o domínio
- definir atributos dos objetos a serem indexados
(título, resumo, índice, etc.) - definir relacionamentos (sinonímia, proximidade,
termlos relacionados, termos compostos,
hierarquias, etc. - aplicar algoritmo de indexação e clustering
- KWICKWACKWOC banco de dados
- KWOC palavra-chave fora de contexto (banco
assento) - KWIC palavra-chave no contexto (banco
repositório) - KWAC palavra-chave e contexto (banco banco de
dados)