Você está na página 1de 17

{kristhy, jufafran, olinda}@comp.ufla.

br

V SECICOM
Semana de Ciência da Computação
Departamento de Ciência da Computação
Universidade Federal de Lavras

1
ÍNDICE

1 Introdução _______________________________________________________ 4

2 Recuperação de Informação – Passado, Presente e Futuro ________________ 5

3 Recuperação de Informação vs. Recuperação de Dados ___________________ 6

3.1 A Tarefa do Usuário___________________________________________ 6

3.2 Visão Lógica dos Documentos ___________________________________ 7

4 O Processo de Desenvolvimento de Recuperação de Informação____________ 9

5 Recuperação de Informação nas Bibliotecas ____________________________ 9

5.1 A Web e as Bibliotecas Digitais _________________________________ 10

6 Modelos para Recuperação de Informação ____________________________ 10

6.1 Modelo Booleano ____________________________________________ 11

6.2 Modelo Vetorial _____________________________________________ 12

6.3 Modelo Probabilístico ________________________________________ 16

7 Bibliometria _____________________________________________________ 19

7.1 Recall ______________________________________________________ 20

7.2 Precision____________________________________________________ 20

7.3 Avaliação Recall / Precision____________________________________ 20

8 Operações sobre Texto_____________________________________________ 21

8.1 Pré-processamento dos Documentos_____________________________ 22


8.1.1 Análise Léxica ___________________________________________ 22
8.1.2 Eliminação de stopwords ___________________________________ 22
8.1.3 Stemming _______________________________________________ 22
8.1.4 Seleção de Termos de Indexação _____________________________ 23
8.1.5 Construção de Estruturas de Categorização de Termos ____________ 23

9 Recuperação de Informações na Web ________________________________ 23

9.1 Modelando e pesquisando na Web ______________________________ 25

10 Linguagens de Consulta _________________________________________ 25

2
10.1 Consultas Baseadas em Palavras Chaves _________________________ 26

10.2 Consultas Single-word ________________________________________ 26

10.3 Consultas Estruturais_________________________________________ 26


10.3.1 Estruturas Fixadas na Forma ________________________________ 27
10.3.2 Estrutura de Hipertexto_____________________________________ 28
10.3.3 Estrutura Hierárquica ______________________________________ 28
PAT Expressions________________________________________________ 28
Listas Sobrepostas ______________________________________________ 29
Listas de Referências ____________________________________________ 29

10.4 Linguagens que seguem o paradigma de banco de dados____________ 31


10.4.1 XML ___________________________________________________ 31
Mecanismos de Indexação e Busca em Documentos XML: ______________ 31
XML-QL______________________________________________________ 32
XQL _________________________________________________________ 33
10.4.2 Sistemas de Recuperação de Informação para Documentos XML ___ 34
XYZFind______________________________________________________ 35
Xyleme _______________________________________________________ 36
XMLFS_______________________________________________________ 37

11 Bibliografia ___________________________________________________ 38

3
1 Introdução

O ser humano necessita de conhecimento para viver e para adquirir


conhecimento o homem necessita obter informações, interagindo com outros homens e
objetos. Esse é um fato implantado em nossa cultura. A prova disso é que
historicamente os homens vêm acumulando grandes quantidades de objetos capazes de
transmitir informação.
Grandes bibliotecas foram criadas ao longo da história da humanidade e
continuam sendo grandes centros de informação populares. Técnicas de suporte foram
elaboradas para que os ambientes propostos pelos centros de informação se tornassem
viáveis. Isso deu origem à grande maioria dos métodos de armazenamento, localização e
manipulação de informações que existem atualmente.
Com o surgimento da informática, os computadores passaram a ser utilizados no
auxílio à busca e manipulação de informações. Com os demais adventos da computação,
o homem foi capaz de criar a Internet. Depois de alguns anos de implantação da
Internet, a World Wide Web (WWW ou web) mostrou-se capaz de oferecer mais opções
do que as inicialmente previstas, além de atingir proporções mundiais, interligando
pessoas de diversas culturas.
Dentro desses ambientes de manipulação e troca de informações automatizadas,
novas técnicas de suporte se tornaram necessárias. Assim surgiu a área de Recuperação
de Informação ou Information Retrieval (RI ou IR), que lida com representação,
armazenamento, organização e acesso a itens de informação (documentos). A
representação e a organização da informação devem dar ao usuário de um Sistema de
Recuperação de Informação (SRI) um acesso fácil a informação de seu interesse.
A área de RI é relativamente nova na ciência da computação e, devido a isto,
ainda possui muitas questões em aberto. Alguns problemas ainda têm que ser
solucionados, como por exemplo, o problema da caracterização da necessidade de
informação do usuário.
Considere uma busca na Internet, imagine que o interesse do usuário seja por
páginas (documentos) contendo informações sobre times de futebol do Brasil, que
tenham convênios com empresas privadas e participem de torneios nacionais. Além
disso, para ser de interesse a página deve conter informações sobre a classificação deste
time no âmbito nacional e regional, o endereço e telefone de contato.

4
É obvio que a descrição completa da necessidade deste usuário, contendo todas
as palavras, não pode ser diretamente escrita numa máquina de busca nos modelos
atuais. Primeiro o usuário deve traduzir o que deseja numa forma de consulta (query),
que possa ser processada por um SRI. Na sua forma mais comum, esta consulta é escrita
utilizando palavras-chave (ou termos de indexação) que resumem a descrição da
necessidade de informação do usuário. Isto leva a um outro problema: como um usuário
pode ter a certeza de que termos escolher?
Dada uma consulta, o principal objetivo do SRI é retornar informações úteis
(relevantes) ao usuário. A ênfase é na recuperação de informação e não na recuperação
de dados.

2 Recuperação de Informação – Passado, Presente e Futuro

Por aproximadamente 4000 anos o homem tem organizado informações para


serem recuperadas e usadas posteriormente. Por exemplo, uma tabela de conteúdo de
um livro. Como o acervo de livros cresceu, uma estrutura teve de ser criada para acessar
de forma mais rápida as informações armazenadas nos livros. Uma estrutura de dados
antiga e muito utilizada para rápida RI, é uma coleção de palavras selecionadas ou
conceitos, com as quais estão ligados apontadores às informações relacionadas – o
índice.
Por séculos índices foram criados manualmente como uma categorização de
hierarquias, isto nos dá uma idéia de ordenação. Mais recentemente, o advento dos
computadores tornou possível a construção automática de índices. Índices criados
automaticamente produzem uma visão do problema de RI que é mais relacionado ao
sistema do que a necessidade do usuário. Existem duas diferentes visões do problema de
RI: uma centrada no computador e outra centrada no homem.
Na visão centrada no computador, o problema consiste principalmente em
construir índices eficientes, processar consultas de usuários com o melhor desempenho
possível, e desenvolver algoritmos de ordenação que possam trazer qualidade à resposta
do usuário. Na visão centrada no homem, o problema principalmente consiste no estudo
da conduta do usuário, no entendimento de suas principais necessidades, e em como
este entendimento afeta a organização e as operações do SRI.
Atualmente o mercado está mais interessado em solucionar o primeiro tipo de
problema centrado no computador, e esta é a visão tratada no curso.

5
3 Recuperação de Informação vs. Recuperação de Dados

Recuperação de dados num SRI consiste apenas em determinar que documentos


de uma coleção contêm as palavras-chave que aparecem na consulta de um usuário, e
isto não é o suficiente para satisfazer as suas necessidades de informação, na maioria
das vezes.
O usuário de um SRI prefere que informações sejam recuperadas sobre
determinado assunto, que contenha os dados que aparecem na consulta. O SRI deve de
alguma forma “interpretar” o conteúdo das informações encontradas nos documentos de
uma coleção e ordená-los de acordo com um grau de relevância para o usuário.
Relevância é a palavra central de um SRI. É objetivo do SRI recuperar todos os
documentos que são relevantes a uma consulta de um usuário, e o menor número
possível de documentos não relevantes.
A recuperação eficaz de informações relevantes está diretamente ligada tanto
pela tarefa do usuário, quanto pela visão lógica dos documentos.

3.1 A Tarefa do Usuário


O usuário de um SRI tem que traduzir sua necessidade de informações em uma
consulta, escrita na linguagem fornecida pelo sistema. Geralmente, isso implica em
especificar um conjunto de palavras que conduzam à semântica de sua necessidade.
Nesse caso, o usuário está buscando por informações úteis executando uma tarefa de
recuperação. A Figura 1 ilustra esta tarefa.

Figura 1: A tarefa do usuário.


Em outro caso, imagine um usuário que não possua uma consulta com interesses
muito específicos. Por exemplo, interesse em “carros velozes”, tanto faz se forem carros

6
de Fórmula 1, ou outro tipo de corrida, ou se forem carros velozes para uso doméstico,
etc. Uma ferramenta que auxilie esse usuário a navegar por diversos documentos de
uma coleção de documentos é mais interessante, pois será mais abrangente.
Existe uma distinção entre duas tarefas que podem ser executadas pelo usuário
de um SRI: a recuperação de informação ou a navegação entre documentos, como
mostra a Figura 2.

Recuperação

Navegação Banco de Dados

Figura 2: Recuperação de informações vs. Navegação entre documentos

SRI clássicos normalmente permitem recuperação de informação rápida.


Sistemas de hipertexto são geralmente criados para permitir navegação rápida.
Bibliotecas digitais modernas e interfaces para a web devem tentar combinar essas duas
tarefas, entretanto esta ainda não é uma abordagem estabelecida e não é o principal
paradigma desta área.

3.2 Visão Lógica dos Documentos


Por motivos históricos, documentos em uma coleção não são armazenados
diretamente num banco de dados, é preciso que estes passem por algum processo de
abstração e são geralmente representados por um conjunto de termos de indexação ou
palavras-chaves, como ilustrado na Figura 4.

Figura 4: O processo de abstração das informações.

7
Essas palavras podem ser automaticamente extraídas dos documentos ou
selecionadas por especialistas humanos. De qualquer forma, isso gera uma visão lógica
dos documentos.
Computadores modernos estão tornando possível a representação de um
documento por seu conjunto completo de palavras, é a chamada representação total do
texto (full text).
A representação full text é a mais completa visão lógica de um documento, mas
seu uso implica em custos computacionais altíssimos. Um conjunto menor de palavras
selecionadas por especialistas humanos é a visão lógica mais concisa do documento,
mas seu uso pode levar a uma recuperação de informação de baixa qualidade.

Existem diversas outras formas intermediárias que podem ser adotadas por SRI:

texto + estrutura documento

reconhecimento
estrutura
da estrutura
espaçamento,
acentos, etc. texto
full text
stopwords

grupos de
substantivos

stemming

indexação
automática
ou manual

termos de indexação
Figura 4: Visão lógica dos documentos

8
4 O Processo de Desenvolvimento de Recuperação de
Informação

O processo de desenvolvimento de um SRI envolve várias etapas, que estão


sendo representadas na Figura 3.

Texto
Interface do
Usuário
Necessidade Texto
do usuário
Operações sobre Textos

Visão Visão

Operações sobre Indexação Módulo do


User Feedback
Consulta SGBD
Arquivo
Consulta Invertido

Busca Índice

Documentos
BD de Texto
Recuperados
Ordenação
Documentos
Ordenados

Figura 3: O processo de recuperação de informação.

5 Recuperação de Informação nas Bibliotecas

As bibliotecas estão entre os primeiros tipos de instituição a adotar sistemas de


RI. A primeira geração de sistemas apenas automatizava tecnologias já utilizadas, como
uso de catálogos. Na segunda geração foram acrescentadas funções de busca, pelo uso
de palavras-chaves e alguns tipos de consultas mais complexas. Na terceira geração, que
é a que está sendo atualmente desenvolvida, o principal foco está em criar interfaces
gráficas, formulários eletrônicos, características de hipertexto, e arquiteturas de sistemas
abertos.

9
Exemplos de empresas que desenvolvem sistemas de gerenciamento de
bibliotecas: Endeavor Information System Inc., Innovative Interfaces Inc., e EOS
International. Exemplos de sistemas desenvolvidos como pesquisa em bibliotecas
acadêmicas: Okapi (na City University, Londres), MELVYL (na Universidade da
Califórnia), e Cheshire II (em Berkeley).

5.1 A Web e as Bibliotecas Digitais


Se considerarmos as máquinas de busca da web atualmente, concluímos que elas
continuam usando índices similares aos utilizados por bibliotecários há séculos atrás. O
que mudou então?
Três mudanças drásticas ocorreram durante o avanço da tecnologia
computacional e no crescimento da web:
1ª) tornou-se muito mais barato ter acesso a várias fontes de informação. Isso
permite que seja realizado um número de pesquisas tão grande, como nunca foi possível
anteriormente.
2ª) o avanço em todos os tipos de comunicação digital produziu um acesso ainda
maior às redes. Isso implica que as fontes de informações estão disponíveis, mesmo que
localmente distantes e que o acesso pode ser realizado rapidamente.
3ª) a liberdade de divulgar qualquer tipo de informação que uma pessoa julgue
útil. Isso aumenta cada vez mais a popularidade da web. Pela primeira vez na história,
muitas pessoas têm acesso livre a uma enorme quantidade de publicações de médio e
pequeno porte. Basicamente baixo custo, maior acesso, e liberdade para publicações têm
permitido às pessoas usarem a web e as bibliotecas digitais modernas como a forma
mais interativa de comunicação.

6 Modelos para Recuperação de Informação

Os modelos clássicos de recuperação de informação apresentam estratégias de


busca de documentos relevantes para uma consulta. Tanto a consulta feita pelo usuário,
quanto os documentos que compõem a coleção a ser pesquisada, são representados
pelos seus termos. Os modelos clássicos são: booleano, vetorial e probabilístico.

10
6.1 Modelo Booleano
O modelo booleano é um dos modelos clássicos que considera uma consulta
como uma expressão booleana convencional, que liga seus termos através de conectivos
lógicos AND, OR e NOT. No modelo booleano um documento é considerado relevante
ou não relevante a uma consulta, não existe resultado parcial e não há informação que
permita a ordenação do resultado da consulta.
Este modelo é muito mais utilizado para recuperação de dados do que para
recuperação de informação. É bom para quem entende bem de álgebra booleana, mas o
usuário, na maioria dos casos, não entende.
Exemplo: Numa consulta com 3 termos t1, t2 e t3, as possibilidades de ocorrência
desses termos em documentos, pertence a uma das seguintes opções:
m1 = t1 t2 t3 m5 = t1’t2’t3
m2 = t1’t2t3 m6 = t1t2’t3’
m3 = t1t2’t3 m7 = t1’t2t3’
m4 = t1t2t3’ m8 = t1’t2’t3’
Onde m1..m8 são min-termos, conjuntos que descrevem todas as possibilidades
para o conjunto resposta da consulta. Com 4 termos isso fica bem mais complicado, e
assim por diante. O número de min-termos cresce exponencialmente (número de min-
termos = 2n, onde n é o número de termos da consulta).
As consultas são construídas como uma combinação dos min-termos.
Geralmente, para n termos, temos k=2n min-termos e 2k consultas. Por exemplo, para 4
termos são 24 = 16 min-termos e 216 = 65.536 possíveis consultas.
O tamanho da base de dados afeta tanto as estratégias de consultas, quanto os
resultados obtidos usando o método booleano.

Vantagens do modelo booleano:


• Expressividade completa se o usuário souber exatamente o que quer;
• É facilmente programável e exato.

Desvantagens do modelo booleano:


• Pessoas lidam com conhecimento parcial;
• Saída pode ser nula, ou haver overload (problema que dá um falso senso de
segurança);

11
• Saída não é ordenada.

Apesar de tudo, o modelo é altamente utilizado em sistemas comerciais.


Algumas formas de tentar melhorar os resultados gerados nesse modelo:
• Atribuindo pesos aos termos. A carga semântica dos termos é
completamente diferente, quando se tem, por exemplo, uma consulta com
dois termos ou duas consultas distintas com um termo cada.
• Usando conjuntos fuzzy. A pertinência ou não de um elemento a um
conjunto varia entre 0 e 1, não é exata.
• Categorização em IR. Dividir a consulta em classes e conceitos, tentar
encontrar os documentos baseados nos conceitos.
• Passage retrieval. O conjunto de termos a ser procurado deve aparecer o
mais próximo possível, por exemplo, da mesma página (uma possível
passagem). É uma técnica mais eficiente que a de “document retrieval”,
porém muito mais difícil de ser implementada. A proximidade é importante.
• Ordenando a saída. Uma vez que haja alguma forma de determinar que
termos são mais importantes para determinada consulta é possível ordenar o
resultado.

6.2 Modelo Vetorial


O modelo espaço-vetorial (ou simplesmente vetorial) foi desenvolvido por
Gerard Salton, para ser utilizado num SRI chamado SMART.
No modelo vetorial, cada documento é representado como um vetor de termos e
cada termo possui um valor associado que indica o grau de importância (peso - weight)
deste no documento. Em outras palavras, cada documento possui um vetor associado
que é constituído por pares de elementos na forma {(palavra_1, peso_1), (palavra_2,
peso_2),..., (palavra_n, peso_n)}.
Estes documentos podem ser organizados, por exemplo, num arquivo invertido:

cadeira D3, 0.9 D10, 0.8 ... DX, 0.0


...

mesa D7, 0.8 D10, 0.6 ... DY, 0.0

vocabulário

12
Os arquivos invertidos são formados por listas invertidas. Se a consulta procura
documentos onde aparecem as palavras “cadeira” e “mesa”, o primeiro passo é fazer a
interseção entre as listas.
Observações:
• Documentos são representados como vetores no espaço de termos.
- Termos são ocorrências únicas nos documentos.
- Documentos são representados pela presença/ausência de um termo.
- Todos os termos combinados podem definir cada documento.
• As consultas são representadas da mesma forma.
• Aos termos das consultas e documentos são acrescentados pesos. Os pesos
especificam o tamanho e a direção de sua especificação como vetor.
• A distância entre vetores pode medir a sua “relação” com uma consulta.

O peso de um termo em um documento pode ser calculado de diversas formas.


Os pesos são usados para computar a similaridade entre cada documento armazenado e
uma consulta feita pelo usuário. Esses métodos de cálculo de peso geralmente se
baseiam no número de ocorrências do termo no documento (freqüência).
Uma das formas de se calcular o peso, dada por Salton e Buckey, tenta balancear
características em comum nos documentos (intra-document) e características para fazer
a distinção entre os documentos (inter-document).

Definição:
freq (k,S) TF (freqüência do termo k no documento/consulta S).
log (N / nk) IDF (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.
TF reflete características intra-documentos e IDF dá uma medida de distinções
inter-documento. Pesos baseados no produto freq (k,S) × log (N / nk), são chamados de
abordagem tf-idf.
Cada elemento do vetor de termos é considerado uma coordenada dimensional.
Assim, os documentos podem ser colocados em um espaço euclidiano de n dimensões

13
(onde n é o número de termos) e a posição do documento em cada dimensão é dada pelo
seu peso. A Figura 5 ilustra o modelo espaço-vetorial.

Figura 5: Modelo Vetorial

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). A Figura
6 apresenta um espaço com duas dimensões (2 termos) representando os documentos.
Nesse caso só dois termos são considerados importantes na descrição dos documentos -
todos os outros termos são desconsiderados na representação e indexação.

Figura 6: Representação de documentos em duas dimensões

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.
A consulta do usuário também é representada por um vetor. Desta forma, os
vetores dos documentos podem ser comparados com o vetor da consulta e o grau de
similaridade entre cada um deles pode ser identificado.

14
Os documentos mais similares (mais próximos no espaço) à consulta são
considerados relevantes para o usuário e retornados como resposta para ela.
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 que calcula o produto dos vetores de documentos através da fórmula:

Onde,
• Q representa o vetor de termos da consulta;
• D é o vetor de termos do documento;
• Wqk são os pesos dos termos da consulta; e
• Wdk são os pesos dos termos do documento.

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.

Vantagens do modelo vetorial:


• 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.

Desvantagens do modelo vetorial:


• 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.

15
6.3 Modelo Probabilístico
O modelo probabilístico possui esta denominação justamente por trabalhar com
conceitos provenientes da área de probabilidade e estatística. Neste modelo, os termos
indexados dos documentos e das consultas não possuem pesos pré-definidos. A
ordenação dos documentos é calculada pesando dinamicamente os termos da consulta
relativamente aos documentos.
É baseado no princípio da ordenação probabilística (Probability Ranking
Principle). Nesse modelo, busca-se saber a probabilidade de um documento D ser ou
não relevante para uma consulta Qa. Tal informação pode ser obtida assumindo-se que a
distribuição de termos na coleção seja capaz de informar a relevância provável para um
documento qualquer da coleção.

Princípio da Ordenação Probabilística


• +Ra → o documento é relevante para a consulta Qa
• –Ra → o documento não é relevante para a consulta Qa
• D → documento
• P(+Ra/D) → probabilidade que o documento D seja relevante para a consulta Qa
• P(–Ra/D) → probabilidade que o documento D seja relevante para a consulta Qa

Assumindo que a relevância de um documento é independente da relevância de


todos os outros (isso não é verdade), um documento D é relevante a uma consulta Qa
quando: P(+Ra /D) > P(–Ra /D). Assim, dada uma consulta Qa, o modelo probabilístico
atribui a cada documento D (como medida de similaridade) um peso WD/Qa, como
sendo:

Essa fórmula calcula a probabilidade de observação aleatória de D que pode ser


tanto relevante quanto irrelevante. A teoria de Bayes auxilia a identificar, para cada
termo da consulta, o grau de relevância e de irrelevância do documento, selecionando o
mais adequado (o que produz menor erro) para o somatório final, já que o grau final de
probabilidade de relevância é dado pelo somatório dos graus de relevância de cada
termo. Assim, aplicando a regra de Bayes:

16
ERROR: syntaxerror
OFFENDING COMMAND: --nostringval--

STACK:
/grf4

Você também pode gostar