Recuperação de Informação em Dados Semi

Transcrição

Recuperação de Informação em Dados Semi
Universidade Federal de Uberlândia
RENATO DE AQUINO LOPES
Recuperação de Informação em Dados Semiestruturados Utilizando o Modelo Vetorial
Uberlândia
2003
RENATO DE AQUINO LOPES
Recuperação de Informação em Dados Semi-estruturados
Utilizando o Modelo Vetorial
Dissertação apresentada ao programa de
pós-graduação em Ciência da Computação da
Universidade Federal de Uberlândia, como
requisito parcial para a obtenção do título de
mestre em Ciência da Computação.
Área de concentração: Banco de Dados
Orientador: Professor Dr. Ilmério Reis Silva
UBERLÂNDIA – MG
Universidade Federal de Uberlândia – UFU
2003
Renato de Aquino Lopes
Recuperação de Informação em Dados Semi-estruturados
Utilizando o Modelo Vetorial
Dissertação apresentada ao Programa
de Pós graduação em Ciência da Computação
da Universidade Federal de Uberlândia, para
obtenção do grau de Mestre em Ciência da
Computação.
Área de concentração: Banco de Dados
Banca Examinadora:
Uberlândia, 15 de Dezembro de 2003.
Prof. Dr. Ilmério Reis da Silva – Orientador – UFU
Prof. Dr. João Nunes de Souza Co-Orientador – UFU
Prof. Dr. Berthier Ribeiro de Araújo Neto – UFMG
Prof. Dr. Autran Macêdo – UFU
Aos meus pais, pelo apoio
dedicação, carinho e por
estarem sempre ao meu
lado.
AGRADECIMENTOS
A Deus pela vida.
À Universidade Federal de Uberlândia e à Faculdade de Computação pela
oportunidade de realizar este curso.
Aos meu pais pelo estímulo e companheirismo.
Ao grupo de Recuperação de Informação da Universidade Federal de
Uberlândia.
A todas as pessoas que direta ou indiretamente contribuíram para a
concretização dessa dissertação.
Resumo
A recuperação de informação tradicional propõe modelos que definem como representar
consultas e documentos sem estrutura e uma métrica para calcular a similaridade entre eles.
Dentre esses modelos, o modelo vetorial clássico é o mais popular da recuperação de
informação tradicional, em função de seu desempenho e fácil implementação. Por outro lado,
em coleções de documentos semi-estruturados, o uso da informação de estrutura dos
documentos no cálculo do ranking pode aumentar a precisão da resposta. Neste trabalho,
documentos semi-estruturados são documentos XML representados como árvores onde os nós
internos representam informação de estrutura e as folhas informação de conteúdo. Os modelos
clássicos da recuperação de informação não consideram essa informação de estrutura. Neste
sentido a motivação deste trabalho é aliar as vantagens de uma coleção de documentos semiestruturados à simplicidade de implementação e desempenho do modelo vetorial. Para atingir
esse objetivo, a proposta aqui apresentada é acrescentar informação de contexto ao domínio
de termos. Entretanto, o acréscimo desses termos pode levar a um crescimento exponencial na
quantidade de termos do vocabulário. Para evitar esse aumento de termos, são propostas
estratégias para diminuir a quantidade de termos a serem adicionados. Essas estratégias
consistem no descarte de alguns termos e na indexação de conjuntos de termos. Dessa
maneira, viabiliza-se a extensão do modelo vetorial para utilizar a informação de estrutura no
cálculo da similaridade entre documentos e consultas. Assim, a principal contribuição deste
trabalho é ampliar o domínio de termos do modelo vetorial, inserindo termos com informação
de contexto sem causar o aumento exponencial na quantidade de termos do vocabulário da
coleção.
Abstract
The models of traditional information retrieval define how to represent queries and documents
without structure and a metric to calculate the similarity among them. The classic vector space
model is the most popular one in traditional information retrieval because of its good
performance and easy implementation. On the other hand, in semi-structured document
collections the use of information obtained from the structure to calculate the ranking can
increase the precision of the answer set. In this work, semi-structured documents are XML
documents which are represented as trees. In these trees the internal nodes represent the
context information and the leaves nodes represent content information. The classical models
of information retrieval ignore this kind of information. The motivation of this work is to join
the advantages of semi-structured document collection to the simplicity and performance of
the vector space model. To reach this goal we propose to add terms with structured
information in the traditional information retrieval term domain. However, the addition of this
type of terms can lead to an exponential increase of the number of terms in the vocabulary. To
avoid this problem we propose strategies to decrease the number of terms that will be added
in the term domain. These strategies consist of discarding some terms and indexing sets of
terms instead of the terms themselves. So, it is viable to extend the vector model to use
information about the structure of documents to calculate the similarity among queries and
documents. Then, the main contribution of this work is to enlarge the terms domain of vector
space model, adding terms with context information without to produce an exponential
number of terms in the vocabulary of the collection.
Sumário
CAPÍTULO 1....................................................................................................................................................... 11
INTRODUÇÃO...................................................................................................................................................... 11
CAPÍTULO 2....................................................................................................................................................... 16
FUNDAMENTOS DE XML E RECUPERAÇÃO DE INFORMAÇÃO ............................................................................. 16
2.1 – Linguagens de Marcação ..................................................................................................................... 17
2.2 – Recuperação de Informação................................................................................................................. 20
2.2.1 – Conceitos Clássicos da Recuperação de Informação........................................................................................21
2.2.2 – Modelo Vetorial ...............................................................................................................................................22
2.3 – XML e Recuperação de Informação ..................................................................................................... 24
2.4 – Linguagens para Consulta a Documentos XML................................................................................... 26
2.5 –Árvores: Propriedades e Notação ......................................................................................................... 28
2.6 – Trabalhos Relacionados ....................................................................................................................... 30
CAPÍTULO 3....................................................................................................................................................... 36
UMA PROPOSTA PARA RECUPERAÇÃO DE INFORMAÇÃO EM DADOS SEMI-ESTRUTURADOS ............................... 36
3.1 – Extensão do Vocabulário da Recuperação de Informação Tradicional............................................... 37
3.2 – Aumento na Quantidade de Termos do Índice...................................................................................... 41
3.2.1 – Descarte de Termos Compostos sem Informação de Conteúdo .......................................................................42
3.2.2 – Descarte de Termos Derivados dos Termos Complexos que não são Sub-árvores ..........................................42
3.2.3 – Conjunto de Termos como Unidade de Indexação...........................................................................................45
CAPÍTULO 4....................................................................................................................................................... 49
APLICAÇÃO DO ALGORITMO CHARM EM DOCUMENTOS XML ........................................................................ 49
4.1 – Notação ................................................................................................................................................ 50
4.2 – Árvore de Pesquisa Termset-Tidset ...................................................................................................... 52
4.3 – Propriedades Básicas dos pares Termset-Tidset.................................................................................. 53
4.4 – Algoritmo CHARM na Recuperação de Informação em Dados Semi-estruturados ............................. 55
4.4 - Cálculo da Similaridade no Modelo Proposto ...................................................................................... 67
4.4.1 – Estruturas Necessárias para o Cálculo da Similaridade...................................................................................67
4.4.2 – Exemplo do Cálculo da Similaridade...............................................................................................................68
CAPÍTULO 5....................................................................................................................................................... 74
EXPERIMENTOS .................................................................................................................................................. 74
5.1 – Estrutura da Coleção de Documentos .................................................................................................. 75
5.2 – Cálculo dos Closed termsets................................................................................................................. 76
CAPÍTULO 6....................................................................................................................................................... 80
CONCLUSÃO ....................................................................................................................................................... 80
REFERÊNCIAS BIBLIOGRÁFICAS............................................................................................................... 82
Lista de Figuras
Figura 1: Estrutura Básica de um Documento XML................................................................ 19
Figura 2: Visualização de um Documento XML...................................................................... 19
Figura 3: Exemplo de uma Estrutura de Árvore....................................................................... 29
Figura 4: Termo Complexo ...................................................................................................... 39
Figura 5: Domínio dos Termos................................................................................................. 39
Figura 6: Relação entre os Conjunto de Termos Complexos, Compostos, Estendidos,
Complementares e Termos que não Possuem Informação de Conteúdo........................... 45
Figura 7: Coleção D de Documentos........................................................................................ 51
Figura 8: Árvore de Pesquisa Termset-Tidset do Exemplo 1................................................... 54
Figura 9: Pseudo Código do Algoritmo CHARM .................................................................... 56
Figura 10: Coleção o D de documentos Semi-estruturados do Exemplo 2. ............................. 59
Figura 11: Vocabulário do Exemplo 2 ..................................................................................... 60
Figura 12: Processo de Busca para o Exemplo 2 Usando Tidsets............................................ 62
Figura 13: Coleção D’ de documentos semi-estruturados do Exemplo 3 ................................ 64
Figura 14: Vocabulário do Exemplo 3 ..................................................................................... 65
Figura 15: Árvore Termset-Tidset para os termos da consulta q. ............................................ 69
Figura 16: Lista Invertida da Coleção de Documentos D’. ...................................................... 72
Figura 18: Estrutura da Coleção de Documentos do BDPT..................................................... 78
Figura 19: Estrutura Interna da Coleção de Documentos do BDPT......................................... 78
Figura 20: Esquema para o cálculo dos closed termsets para a coleção de documentos do
BDPT ................................................................................................................................. 79
Lista de Tabelas
Tabela 1: Diferenças Principais entre SQL e XQL .................................................................. 27
Tabela 2: Frequent, Closed e Maximal Termsets para a Coleção de Documentos .................. 51
Tabela 3: Comparação da Quantidade de Termos Indexados do Exemplo 2........................... 63
Tabela 4: Comparação da Quantidade de Termo Indexados do Exemplo 3 ............................ 66
Tabela 5: Índices dos termos da consulta q .............................................................................. 68
Tabela 6: Estatísticas da Aplicação do Algoritmo CHARM no BDPT.................................... 77
11
Capítulo 1
Introdução
Antes do surgimento da informática, em geral, os dados eram registrados em papel. Isto
acarretava grandes dificuldades de armazenamento, conservação e, principalmente, de
recuperação da informação. Com o desenvolvimento do computador e meios de
armazenamento modernos, as pessoas passam a ter a possibilidade de produzir documentos
digitais além de documentos em papel. Então, a quantidade de informação produzida pela
sociedade cresce de forma exponencial. A internet é um exemplo desse crescimento. Neste
cenário, a pesquisa pela informação em um grande volume de dados pode ser muito custosa
do ponto de vista computacional. Portanto, o aperfeiçoamento das técnicas de
armazenamento e pesquisa são pontos fundamentais para a disponibilizar informação de
forma eficaz.
Um dos objetivos da tecnologia de banco de dados é propor maneiras de estruturar,
pesquisar e gerenciar dados que se encontram no formato digital. Por exemplo, nos bancos de
dados relacionais os dados são gravadas em tabelas que possuem um relacionamento entre si.
A pesquisa é efetuada através de uma linguagem de consulta, por exemplo, o SQL. A resposta
dessas consultas é uma tabela. Por outro lado, um Sistema de Recuperação de Informação
(SRI) propõe a pesquisa por informação que não esteja estruturada. Estas informações são
textos sem estrutura armazenados em um formato digital que na recuperação de informação é
chamado documento.
Na área de recuperação de informação o objetivo é propor maneiras (modelos) de
pesquisar documentos e fornecer ao usuário, como resposta a suas consultas, uma lista de
12
documentos (ranking) que atendam a necessidade de informação do usuário. Um modelo de
recuperação de informação propõe uma representação e uma métrica para calcular a
similaridade entre documentos e consultas. Quanto maior a importância do documento para
uma dada consulta, maior será a sua medida de similaridade com relação a essa consulta. O
ranking é construído em ordem decrescente de similaridade.
A representação do documento em um SRI tradicional é feita de forma plana, ou seja,
sem informação de estrutura (contexto). Ele é representado por um conjunto de palavras
(termos). Este conjunto de palavras é o domínio de termos da recuperação de informação
tradicional. Portanto, um SRI tradicional não é capaz de utilizar a informação de estrutura de
uma consulta contextualizada no cálculo da similaridade. Neste trabalho, uma consulta
contextualizada é aquela na qual o usuário especifica em que parte da estrutura do documento
XML ele deseja que os termos consultados ocorram. Por exemplo, o usuário deseja pesquisar
por artigos que contenham os termos recuperação, informação e XML em seu título, em uma
coleção de documentos.
A utilização da informação de estrutura pelo SRI melhora a precisão do ranking,
conforme mostra o trabalho apresentado em [32]. Esta característica aliada ao crescente uso
da linguagem XML (eXtended Markup Language) têm direcionado os esforços na pesquisa da
recuperação de informação em dados semi-estruturados para a recuperação de informação em
documentos XML. Vário trabalhos estão sendo propostos nesta área [7, 18, 22, 31, 35, 37].
Há quatro tópicos de interesse na recuperação de informação em documentos XML [17]:
1. Modelos de Recuperação de Informação: O foco dos grupos classificados neste tópico é
a extensão de modelos de recuperação de informação tradicional para serem aplicados em
documentos XML. Essa extensão significa acrescentar a esses modelos a característica de
utilizar a informação de contexto dos documentos na resposta às consultas dos usuários;
2. Banco de Dados: Nesta área, há um crescente interesse em acrescentar aos gerenciadores
de banco de dados a característica de manipular dados semi-estruturados. Essa
característica consiste em
incorporar a pesquisa que considere a relevância entre
documentos e consulta para produzir um ranking;
3. XML Específico: Os grupos classificados neste tópico têm o objetivo de desenvolver
novos modelos e sistemas especificamente para XML;
4. Sistemas/Estrutura de Dados: Há vários grupos mais interessados nos aspectos
orientados a sistemas. Por exemplo, no desenvolvimento de novas estruturas de dados e
algoritmos para XML.
13
Este trabalho se insere no contexto do tópico 1, isto é, extensão do modelo vetorial
clássico para trabalhar coleções de documentos XML, empregando a informação de contexto
dos documentos para calcular o ranking.
Os SRI’s, em geral, utilizam estatísticas de ocorrência de termos nos documentos para
representá-los. Na recuperação de informação tradicional, estas estatísticas são pré-calculadas.
Dessa maneira, são construídos índices considerando todos os termos do vocabulário. Por
outro lado, quando se trabalha com documentos semi-estruturados, um dos problemas
encontrados é representar estas estatísticas de forma que elas considerem informação de
contexto. Esta representação pode levar ao crescimento exponencial de termos. Portanto,
existem duas linhas de pesquisa na recuperação de informação em dados semi-estruturados de
acordo com o momento em que esses cálculos são realizados. Na primeira, as abordagens
propostas geram as estatísticas necessárias para o cálculo da similaridade em tempo de
consulta. Assim, o conjunto de termos considerados para calcular as estatísticas é restringido,
observando a consulta do usuário. Na segunda, as estatísticas são geradas em uma fase de
pré-processamento, quando ocorre a indexação da coleção de documentos (como ocorre na
recuperação de informação tradicional). Nesta última linha de pesquisa são estudadas
estratégias para representar os termos com informação de estrutura e evitar seu aumento
exponencial. Apesar da vantagem de restringir o conjunto de termos durante o processamento
da consulta, em geral, esta estratégia apresenta um tempo de processamento da consulta
maior, se comparado com a segunda linha de pesquisa. A proposta apresentada nesta
dissertação calcula as estatísticas durante o pré-processamento da coleção de documentos.
O objetivo deste trabalho é propor uma metodologia para acrescentar termos com
informação de contexto ao domínio de termos da recuperação de informação tradicional e
aplicar o modelo vetorial considerando esse novo domínio de termos. Assim, o usuário poderá
utilizar a informação de contexto para melhorar a qualidade das respostas geradas pelo SRI.
Neste trabalho, os documentos são representados pela linguagem XML (eXtended Markup
Language). Esta representação possibilita que sejam criadas estruturas em forma de árvores
onde que cada nó identifica uma parte do documento. Na árvore, os nós internos representam
informação de estrutura e nós folha representam informação de conteúdo.
Os termos acrescentados ao domínio de termos da recuperação de informação
tradicional são derivados de forma a possuírem informação de contexto (representados como
nós internos das árvores) e informação de conteúdo (representados pelas folhas das árvores).
Assim, além de conseguir responder consultas sem contexto (como ocorre na recuperação de
14
informação tradicional) a abordagem aqui proposta possibilita o uso da informação de
contexto para responder as consultas.
A derivação dos termos com informação de contexto, representada pelos nós internos
das árvores XML, pode gerar uma quantidade exponencial de termos a serem acrescentados
ao domínio de termos. Para diminuir essa quantidade de termos, este trabalho propõe
descartar alguns desses termos de duas formas. A primeira considera aspectos referentes às
informações de contexto e de estrutura do termo, por exemplo, descartar termos que
representam apenas informação de contexto. A segunda consiste em indexar conjuntos de
termos em vez de termos.
A proposta de aumentar o domínio dos termos com novos termos que possuam
informação de contexto, tem o objetivo de aliar a contextualização oferecida por uma coleção
de documentos semi-estruturados com a simplicidade e eficiência do modelo vetorial clássico.
Assim, a contribuição central deste trabalho é definir um domínio de termos com informação
de contexto, aplicando o modelo vetorial neste domínio estendido sem gerar um aumento
exponencial na quantidade de termos do vocabulário.
Os artigos apresentados em [30] e [31] são originados desse trabalho. Em [31] é mostrado
como são gerados os termos com informação de contexto a partir dos documentos XML.
Além disso, discute o crescimento exponencial de termos causado pelo acréscimo dos termos
com informação de contexto. Em [30], além do exposto em [31], é apresentado um exemplo
para ilustrar a diferença entre a quantidade de termos e a quantidade de conjunto de termos a
serem indexados.
Esta dissertação está dividida da seguinte maneira: no Capitulo 2, é relatado um breve
histórico das linguagens de marcação e, depois, são descritos os conceitos básicos da
recuperação de informação e do modelo vetorial clássico. Também são descritas algumas
formas de aplicar a XML na recuperação de informação. Em seguida, são mostradas algumas
linguagens de consultas a documentos XML. Por fim, são apresentados alguns conceitos e
propriedades da estrutura de dados em árvores e alguns trabalhos relacionados ao tema dessa
dissertação que utilizam a informação de estrutura do documento no cálculo do ranking. No
Capítulo 3, é apresentada a proposta deste trabalho para incorporar a pesquisa contextualizada
ao modelo vetorial. Além disso, esse capítulo descreve estratégias para diminuir a quantidade
de termos a serem adicionados ao domínio dos termos. No Capítulo 4, é descrito como são
calculados os conjuntos de termos que são indexados ao invés dos termos. Em seguida são
apresentados dois exemplos que consideram pequenas coleções de documentos para ilustrar
como são obtidos esses conjuntos de termos. Também são mostradas tabelas comparando a
15
quantidade de conjunto de termos com a quantidade de termos da recuperação de informação
tradicional e com a quantidade de termos da recuperação de informação estruturada,
considerando a indexação de termos dos exemplos referidos no capítulo. Este capítulo
apresenta, ainda, uma proposta para o cálculo da similaridade entre documentos e consultas
utilizando os conjuntos de termos como unidades de indexação. O Capítulo 5, mostra os
experimentos realizados na coleção de peças teatrais da Universidade Federal de Uberlândia.
Por fim, o Capítulo 6 apresenta as conclusões.
Capítulo 2
Fundamentos de XML e Recuperação de Informação
A recuperação de informação tradicional não considera a estrutura dos textos para fazer a
pesquisa em documentos. Essa pesquisa é feita utilizando apenas termos contidos no texto
como apostila, tutorial, linguagem etc. Esses termos não possuem informações de contexto,
ou seja, informações sobre em que parte do documento eles estão localizados. Por outro lado,
a recuperação de informação em dados semi-estruturados emprega informações de contexto
para fazer a pesquisa em documentos. Uma das maneiras de estruturar um documento é por
meio de uma linguagem de marcação.
Este capítulo apresenta conceitos, notações e propriedades que são utilizados ao longo
desta dissertação. Considerando que neste trabalho é empregada a linguagem XML (eXtended
Markup Language) [2] para representar dados semi-estruturados, é mostrado um pequeno
histórico das linguagens de marcação e seus principais conceitos. Em seguida, mostra os
conceitos da recuperação de informação e do modelo vetorial. Além disso, mostra como a
XML pode ser empregada na recuperação de informação em dados semi-estruturados e
algumas linguagem de consulta a documentos XML. Por fim, apresenta conceitos sobre
árvores e alguns trabalhos que usam a informação de contexto na pesquisa a documentos
XML.
17
2.1 – Linguagens de Marcação
Quando é utilizado um editor de texto para produzir um documento, são armazenadas
informações adicionais, além das palavras digitadas. Essas informações são compostas de
instruções para controlar a aparência do documento e são conhecidas como marcação
(markup). Antes da existência dos documentos eletrônicos, os profissionais de editoração
escreviam nos textos instruções de marcação. Essas instruções tinham o objetivo de informar
a pessoa responsável pela impressão dos textos como ele desejava a aparência final do
documento impresso. Tais indicações eram do tipo “coloque esta palavra em itálico”,
“sublinhe esta frase” etc. Com o advento do mundo digital, essas marcas passaram a ser
gerenciadas pelos processadores de texto.
Uma marcação em um documento é tudo aquilo que não acrescenta conteúdo a ele. As
marcações utilizadas para informar ao digitador como o texto deve ser diagramado e que tipo
de letra ele deve usar é chamada de marcação de procedimentos. O outro tipo de marcação
existente é a marcação descritiva. Neste último tipo de marcação, o autor não se preocupa
com a aparência do texto, mas sim com as entidades que ele representa. Em um sistema de
marcação de procedimentos, define-se tamanho da letra, tipo de fonte etc, enquanto em um
sistema descritivo, identificam-se a parte do texto que representa o título do documento, a
parte do texto que representa um capítulo etc. Portanto, a marcação descritiva é a responsável
por fornecer meios para a estruturação de um texto.
Atualmente, não é necessário preocupar-se com o gerenciamento dessas marcações,
porque os editores de texto eletrônicos incorporaram essa funcionalidade. Algumas vezes, não
é possível abrir um documento em um editor diferente (tecnologia ou fabricantes diferentes)
daquele em que o documento foi editado. Um dos motivos pelos quais este fato ocorre é
porque os editores de texto usam padrões de marcação proprietários ou interpretam de forma
diferente as marcações do texto. Essas diversidades de marcações motivaram iniciativas de
padronização dessas marcações.
O SGML (Standard Generalized Markup Language) [2] é um padrão internacional
(ISO 8879), não proprietário e de código aberto, publicado em 1986. Ele apresenta um padrão
para o uso de marcações descritivas em um documento. Um dos objetivos do SGML é
garantir que documentos codificados de acordo com suas regras possam ser transportados de
um ambiente para outro sem perda de informação. A linguagem SGML pode ser chamada de
“linguagem mãe”, pois dela derivam outras linguagens de marcação como, HTML (Hypertext
Markup Language) [2] e XML (eXtended Markup Language) [2].
18
A linguagem HTML possui um grupo de marcações (tags) pré-definidas, tais como
títulos, cabeçalhos, parágrafos, listas, tabelas etc. A função dessas marcações é organizar a
informação a ser exposta por meio de páginas Web. O documento HTML contém em sua
estrutura informações que definem a apresentação e o conteúdo da página. Não há uma
separação ou estruturação precisa dessas informações. Quanto às suas limitações, a HTML
não permite que seus usuários determinem suas próprias marcações ou atributos. Portanto,
não pode ser classificada como uma linguagem extensível. Ela também não permite definir
estruturas de informações que representem hierarquia e não realiza validações de sua
estrutura.
A linguagem XML é o resultado do trabalho de um grupo de especialistas estabelecido
em 1996 pelo W3C (World Wide Web Consortium), com o objetivo de propor uma
simplificação do SGML que fosse voltada às necessidades específicas da Web. A XML é uma
versão simplificada do SGML. Um documento XML pode conter, simultaneamente, os dados
e a descrição de sua estrutura. A XML consiste em um padrão utilizado para a marcação de
documentos que contenham informações estruturadas, ou seja, documentos que contenham
uma estrutura clara e precisa da informação que é armazenada em seu conteúdo.
Os principais aspectos que diferenciam a XML da HTML são:
•
O programador pode definir seu próprio conjunto de elementos, marcações e atributos
utilizando a linguagem XML. Assim, ele não fica preso às marcações pré-definidas, como
ocorre na HTML;
•
A definição da estrutura do documento pode ser feita em documentos diferentes. Desta
maneira, o conteúdo e sua estrutura podem ser criados em arquivos separados, oferecendo
maior clareza no entendimento dos documentos XML;
•
A forma como o conteúdo do documento XML é apresentado pelo browser depende de
como a folha de estilo (XSL – eXtensible Stylesheet Language) do documento foi
definida. A preocupação principal da HTML é a exposição visual da informação enquanto
a XML, além da apresentação, possibilita a estruturação da informação.
Portanto, um documento XML é formado por três elementos básicos. Essa divisão é
feita considerando as funções de armazenamento, estruturação e apresentação do conteúdo de
um documento. A Figura 1 mostra a estrutura básica de um documento XML.
As DTDs (Document Type Definition) consistem nas definições das regras, hierarquias
e marcações criadas para caracterizar a estrutura das informações do documento. A validação
da estrutura de um documento XML é feita pela DTD, ou seja, é ela quem fornece as
19
informações de estrutura para serem verificadas. O SCHEME [] foi elaborado pela Microsoft
e possui a mesma função da DTD. Ela fornece mais recursos do que as DTDs.
XML
(conteúdo)
SCHEME
XSL
(apresentação)
DTD
(estrutura)
Figura 1: Estrutura Básica de um Documento XML
XML
(conteúdo)
XSL
HTML
XSL
.DOC
XSL
.PDF
Figura 2: Visualização de um Documento XML
A divisão do documento XML em três partes, separando conteúdo, estrutura e
apresentação permite, por exemplo, que um mesmo documento XML possa ser visualizado
em formatos diferentes. Observe-se a Figura 2, são construídas diferentes XSLs para um
mesmo documento XML. A primeira XSL apresenta o conteúdo do documento XML no
formato HTML, a segunda XSL no formato word, e a terceira no formato pdf.
As aplicações capazes de aproveitar as características oferecidas pela XMLpodem ser
definidas em quatro categorias [6]:
•
Aplicações em que o cliente Web tenha que obter informações de bases de dados
heterogêneas.
•
Aplicações que permitam a distribuição de parte do processamento de informações dos
servidores para os clientes.
20
•
Aplicações que requeiram a apresentação de uma mesma informação em diferentes formas
e para diferentes usuários,
•
Aplicações em que agentes inteligentes possam descobrir informações precisas e de
qualidade na Web.
A XML pode ser empregada nas mais variadas áreas do conhecimento, desde
computação à música, como também biblioteconomia, biologia, matemática etc. Em [25],
podem ser encontrados várias propostas e iniciativas da indústria com XML. Para esta
dissertação, a XML é utilizada para fornecer um meio de estruturar textos. Assim, essa
informação de estrutura pode ser usada para que o usuário de um sistema de recuperação de
informação contextualize suas consultas. A criação de estruturas em árvore a partir de
documentos XML é ideal para a representação de documentos que possuam informações de
estrutura como livros, relatórios, catálogos, roteiros etc.
A seguir, apresentam-se os fundamentos da recuperação de informação e, em seguida,
algumas iniciativas de recuperação de informação usando documentos XML.
2.2 – Recuperação de Informação
O usuário de um Sistema de Recuperação de Informação busca obter documentos que
atendam à sua necessidade de informação. Para isto, ele, geralmente, expressa sua
necessidade por meio de uma consulta. O sistema então realiza o casamento da consulta com
seus documentos por meio de um modelo de recuperação de informação. Um modelo para
recuperação de informação propõe uma representação para documentos e consultas e define
como calcular a similaridade entre os mesmos. O modelo, então, é capaz de quantificar a
relevância de cada documento da coleção em relação à consulta do usuário e, com base nesta
relevância, apresentar-lhe os documentos que melhor atendam à sua necessidade de
informação i.e., os mais similares à consulta. Por fim, o modelo apresenta um ranking de
documentos que aparecem em ordem decrescente de similaridade.
Para realizar a tarefa de recuperar documentos, um SRI trabalha com modelos de
representação de documentos e consultas. A seguir, são apresentados alguns conceitos usados
nestes modelos.
21
2.2.1 – Conceitos Clássicos da Recuperação de Informação
Esta seção descreve os principais conceitos da recuperação de informação que serão utilizados
ao longo deste trabalho.
Definição 2.1 (Documento).
Um documento d é um registro de dados armazenado em algum formato, mas, usualmente,
incluindo uma parte textual. O j-ésimo documento em uma coleção de documentos é
denotado por dj.
Definição 2.2 (Termo e Vocabulário).
Um termo é uma palavra que, semanticamente, contribui para definir o tema principal do
documento. O conjunto de termos presentes nos documentos de uma coleção é chamado
vocabulário. O i-ésimo termo do vocabulário é denotado por ki.
Definição 2.3 (Dimensão de uma Coleção de Documentos)
Seja C = {d1, ..., dz} uma coleção de documentos. A dimensão de C é o número de termos
(vocabulário) usados para definir todos os documentos na coleção de documentos. Então
K = {k1, ..., kt} é o conjunto de todos os termos de uma coleção de documentos com dimensão
t.
Definição 2.4 (Peso)
O peso associado com o par (ki, dj) quantifica a importância do termo ki para descrever a
semântica do conteúdo do documento dj. Este peso é denotado por wij.
Definição 2.5 (Representação de Documentos e Consultas).
Seja C uma coleção de documentos e K = {k1, ..., kt} seus termos. Neste caso, a dimensão de
C é t. Um documento em C é representado por um vetor em Rt,
d j = (w1 j , K , w tj )
onde wij é o peso associado com o par (ki, dj). Analogamente, uma consulta é representada por
um vetor em Rt,
q = (w1 q , K , w tq )
22
onde wiq é o peso associado com o par (ki, q).
Definição 2.6 (Função Peso).
Sejam C = {d1, ..., dz} uma coleção de documentos, K = {k1, ..., kt} um conjunto de termos.
A função peso
g : K ×{C ∪{q}} → R
é tal que g(ki, dj) retorna o peso associado com o par (ki, dj), e g(ki, q) retorna o peso associado
ao par (ki, q).
Por conveniência, é adotada, uma notação simplificada. Seja gj : K → R uma função
unária que retorna o peso de cada termo no documento dj. Então, gj(ki) retorna o peso
associado com o par (ki, dj). Analogamente, seja gq: K → R uma função unária que retorna o
peso na consulta q. Então, gq(ki) retorna o peso associado com o par (ki, q).
2.2.2 – Modelo Vetorial
Os modelos clássicos da recuperação de informação são o Modelo Probabilístico, o Modelo
Booleano e o Modelo Vetorial [3]. Neste trabalho, a recuperação de informação tradicional é
representada pelo modelo vetorial clássico. Esta seção apresenta os principais conceitos desse
modelo.
O modelo vetorial representa consultas e documentos como vetores em um espaço
t-dimensional onde t é o número de termos da coleção. Cada dimensão desse espaço é
associada com um vetor de termos kj distintos. Esses vetores de termos são ortogonais
entre si, assim:
i ≠ j ⇒ k i • k j = 0,
onde “•” é o produto interno entre os vetores ki e kj. Isto denota que os termos ocorrem
independentemente nos documentos e consultas. Além disso, o modelo vetorial assinala pesos
para termos em consultas e documentos. Uma abordagem comum para calcular esses pesos é
balancear a importância do termo intra e inter documentos.
23
Sejam N o número total de documentos na coleção, ni o número de documentos em
que o termo ki aparece e freqij a freqüência do termo ki no documento dj. O fator freqij
quantifica a importância do termo ki para o documento dj e, usualmente, é chamado de
freqüência do termo (tf). O fator
N
log 
 ni




quantifica a importância do termo ki como um fator discriminante em relação a todos os
documentos da coleção. Ele é denominado de freqüência inversa de documentos (idf).
Uma estratégia comum para calcular o peso do termo ki em relação ao documento dj,é
N
wij = freqij × log 
 ni 
que é, comumente, chamado de esquema de pesagem tf-idf. Este esquema balanceia as
características intra (tf) e inter (idf) documentos.
Para o cálculo do peso do termo ki,em relação à consulta q, pode ser adotado
N
wiq = freqiq × log 
 ni 
onde freqiq é a freqüência do termo ki associada com a consulta q.
Os vetores de pesos do documento dj e da consulta e q são representados
respectivamente por:
d j = (w1j , w2 j ,K, wij )
q = (w1q , w2q ,K, wiq )
onde t é o número total de termos na coleção. Usualmente, a similaridade entre um documento
dj e a consulta q é calculada como o coseno do ângulo θ entre os vetores do documento e da
consulta no espaço t-dimensional. A medida do coseno é dada por
24
sim(d j , q) =
d j •q
| d j |×| q |
∑
t
=
i =1
∑
t
i =1
w
2
ij
wij • wiq
•
∑
t
i =1
(Equação 1)
w
2
iq
A sim(dj, q) mostra a proximidade dos vetores dj e q .
2.3 – XML e Recuperação de Informação
Na recuperação de informação tradicional a busca por informações relevantes é feita em
textos sem considerar a sua estrutura. Uma busca é contextualizada quando o usuário de um
sistema de recuperação de informação expressa, em sua consulta, a preferência relativa à
localização da palavra pesquisada no documento. Os sistemas baseados na busca em textos
sem estrutura não conseguem lidar com a busca contextualizada com base na estrutura, pois
eles não possuem mecanismos capazes de incorporar essa característica no cálculo da
similaridade. Os modelos clássicos da recuperação de informação tradicional são utilizados
para pesquisar dados textuais sem estrutura. A representação e consulta em dados semiestruturados são desafios para a comunidade científica de recuperação de informação. A
linguagem XML surge como uma solução para permitir a representação de estrutura para
esses dados. A Integração da recuperação de informação e das técnicas de busca em XML
permitirá pesquisas mais sofisticadas tanto na estrutura como no conteúdo destes documentos
[11]. A recuperação de informação em documentos XML vem despertando um grande
interesse dos pesquisadores. Várias soluções têm sido propostas na literatura para trabalhar
nessa área, por exemplo [8, 18, 22, 32, 36, 38], . Este interesse é justificado porque a XML
vem se tornando um padrão para o armazenamento, troca e apresentação de dados [11].
Portanto, são necessários sistemas que possibilitem uma busca eficiente da informação em
documentos XML.
Uma pesquisa sobre várias técnicas de indexação e busca para documentos XML
permitiu a classificação de três abordagens [11]:
•
Abordagem Orientada a Banco de Dados – Os dados indexados derivados de banco de
dados são convertidos para documentos XML usando XSL. A abordagem orientada a
banco de dados revela as seguintes vantagens: (i) as relações dos dados e integridade
podem ser modeladas e verificadas; (ii) as operações padrões a banco de dados podem ser
usadas; (iii) a linguagem de consulta é similar à linguagem padrão de banco de dados
25
(SQL). A desvantagem está na dificuldade de exportar dados XML para um banco de
dados e fazer mudanças em seus schemas.
•
Abordagem Orientada à Recuperação de Informação – Nesta abordagem, técnicas de
recuperação de informação são diretamente aplicadas para processar e recuperar
documentos XML. Cada documento XML é considerado um documento texto com tags
adicionais. Vários métodos têm sido sugeridos para trabalhar com as tags XML [11].
Essas sugestões vão de simplesmente descartar todas as tags, selecionar algumas tags
importantes e inseri-las no índice, até indexar todas as tags como se elas fossem termos de
índice.
•
Abordagem Híbrida – Nesta abordagem, um método mais simples é usado para especificar
os elementos do documento XML. A idéia básica é indexar as listas invertidas de todos os
termos e seus caminhos. Assim, os resultados das buscas são mais satisfatórios, desde que
a especificação dos caminhos limite os casamentos possíveis. A desvantagem é a
necessidade do usuário possuir conhecimento adicional sobre a estrutura do documento
XML para obter melhores resultados.
Há dois tipos de abordagens em recuperação de informação que lidam com
documentos estruturados [16].
•
A abordagem estruturada – Esta abordagem enriquece a pesquisa no texto mediante
condições relativas à estrutura do documento. Por exemplo, procurar palavra que ocorre
em certas partes do documento.
•
Abordagem baseada em conteúdo – Esta abordagem tem o objetivo de recuperar a parte
mais relevante do documento que melhor satisfaça a consulta.
Uma diferença fundamental entre a recuperação de informação tradicional e a
recuperação de informação em XML é a unidade de recuperação. Na recuperação de
informação tradicional, a unidade de recuperação é fixa, ela é o documento completo. Na
recuperação de informação em XML, além de possibilitar a recuperação de todo o documento,
cada elemento do documento XML é uma unidade de recuperação em potencial. Em [21], é
mostrado um estudo comparativo entre essas duas abordagens. O trabalho apresentado nesta
dissertação utiliza o documento como unidade de recuperação e é classificado como uma
abordagem estruturada.
26
2.4 – Linguagens para Consulta a Documentos XML
O crescimento do emprego da XML motivou o aparecimento das linguagens de consulta a
documentos XML. Podem-se dividir essas linguagens em duas abordagens. Na primeira, as
linguagens são usadas para acessar elementos de dados XML, filtrar estes elementos baseados
em certos critérios ou transformar os elementos XML em novas estruturas. Essas linguagens
suportam a álgebra relacional e foram desenvolvidas pela comunidade de banco de dados. Na
segunda, as linguagens empregam os conceitos de recuperação de informação na busca em
documentos XML.
As linguagens XML-QL [15], XQL [28] e Lorel [1] são exemplos da primeira
abordagem. A XML-QL é apoiada pela W3C. Essa linguagem propõe uma solução para a
extração, transformação e integração de dados para documentos XML. Ela considera
documentos XML como um banco de dados e a DTD como esquema do banco de dados. Ela
propõe uma cláusula WHERE-CONSTRUCT similar à cláusula SELECT-WHERE da SQL.
Também possibilita a extração de partes de um documento XML. As principais características
da XML-QL são: (i) é uma linguagem declarativa; (ii) suporta as operações da álgebra
relacional e em particular possibilita joins; (iii) é simples, pois técnicas de banco de dados
conhecidas para otimização de consulta, estimativas de custo e re-escrita de consulta podem
ser estendidas à XML-QL; (iv) pode extrair dados de documentos XML existentes e construir
novos documentos XML e (v) pode suportar as visões em um documento XML.
A XQL é uma notação para endereçamento e filtragem dos elementos de documentos
XML. Ela é uma extensão natural da XSL. A XQL fornece uma notação para apontar
elementos específicos e buscar nós com características particulares [11]. Essa linguagem é
uma notação para recuperar a informação em um documento XML. Essa informação deve ser
um conjunto de nós ou informações sobre o relacionamento desses nós ou valores derivados.
A especificação não indica o formato de saída. O resultado da consulta pode ser um nó, uma
lista de nós, um documento XML, um array ou alguma outra estrutura. A XQL fornece
algumas funcionalidades, tais como: (i) funcionalidade equivalente à declaração SQL
SELECT; (ii) funcionalidade equivalente à declaração SQL WHERE; (iii) operadores lógicosbooleanos (and, or, not); (iv) operadores de comparação (maior que, menor que, igual a). As
principais diferenças entre SQL e XQL são apresentadas na Tabela 1.
A Lorel é uma linguagem desenvolvida para o protótipo de um sistema gerenciador de
banco de dados (SGBD) para dados XML do projeto Lore. Essa linguagem foi, originalmente,
27
desenvolvida para consultas em dados semi-estruturados e, posteriormente, estendida para
dados XML. O projeto Lore foca a definição de uma linguagem de consulta declarativa para
XML, o desenvolvimento de uma nova tecnologia para a interação das buscas em dados XML
e a construção de um processador de consultas XML eficientes.
Tabela 1: Diferenças Principais entre SQL e XQL
SQL
O banco de dados é um conjunto de tabelas.
XQL
O banco de dados é um conjunto de um ou mais
documentos XML.
As consultas são feitas em SQL, uma
Consultas são feitas em XQL, uma linguagem
linguagem de consulta que usa tabelas como um de consulta que usa a estrutura de XML como
modelo básico.
um modelo básico.
A cláusula FROM determina as tabelas que são Uma consulta é determinada como um conjunto
examinadas pela consulta.
de nós de entrada de um ou mais documentos.
O resultado de uma consulta é uma tabela que
O resultado de uma consulta é uma lista de nós
contém um conjunto de linhas. Essa tabela pode de documentos XML que podem ser utilizados
ser utilizada em outras consultas
em outras consultas.
As linguagens ELIXIR [12] e XIRQL [16] são exemplos das abordagens que usam
conceitos de recuperação de informação. A ELIXIR estende a XML-QL com o operador “~”
de similaridade textual, que gera as respostas em ordem decrescente de similaridade. Ela usa a
XML-QL para consultar os dados XML em sua forma nativa. O resultado dessa consulta é,
então, submetido ao WHIRL[13, 14] para avaliar os predicados de similaridade. Uma consulta
WHIRL é uma conjunção de relações, predicados relacionais e predicados de similaridade. A
definição de similaridade do WHIRL é baseada no modelo vetorial clássico. Uma das
contribuições da ELIXIR é a definição das junções dos predicados de similaridade entre
variáveis (variável ~ variável). Assim, por exemplo, é possível pesquisar por livros e CDs
com títulos similares. Portanto, o algoritmo para responder a uma consulta na ELIXIR
consiste em: (i) re-escrever as consultas originais da ELIXIR e uma série de consultas em
XML-QL, que, por sua vez, geram dados intermediários; (ii) técnicas de banco de dados
relacional são usadas para avaliar os operadores de similaridade no dados intermediários
produzindo um documento XML com um ranking de nós.
A XIRQL é uma linguagem de consulta para a recuperação de informação em
documentos XML. Ela utiliza as características do modelo probabilístico da recuperação de
informação combinadas com conceitos da área de banco de dados para integrar as
características de pesagem e ranking, busca orientada à relevância e tipo de dados com
predicados vagos. Além disso, para o processamento de consultas XIRQL, é definida uma
28
álgebra de caminho.
Existem várias outras linguagens de consulta como por exemplo, XML-GL, XSLT,
Quilt etc. Um estudo comparativo sobre estas linguagens pode ser encontrado em [5]. Os
trabalhos descritos nesta seção definem linguagem para consultas a dados XML. Algumas
dessas linguagens procuram fornecer características e funcionalidades semelhantes a
linguagem SQL. Outras linguagens empregam conceitos de recuperação de informação para a
pesquisa em documentos XML. O foco do trabalho apresentado nesta dissertação é diferente
do foco dos trabalhos descritos nesta seção. o trabalho aqui apresentado têm o objetivo de
propor uma maneira para o modelo vetorial incorporar a informação de estrutura do
documento no cálculo do ranking. A seção2.6 descreve trabalhos com abordagem semelhante
a deste trabalho
A próxima seção mostra propriedades e notação de árvores em virtude da XML propor
a estruturação dos documentos utilizando a estrutura de árvores. O objetivo é apresentar a
notação utilizada neste trabalho.
2.5 –Árvores: Propriedades e Notação
A estrutura dos documentos XML é baseada em árvores. Vários trabalhos na área de
recuperação de informação em dados semi-estruturados utilizam as propriedades e a notação
de árvores em suas abordagens. A proposta apresentada nesta dissertação está incluída nesses
trabalhos. Portanto, esta seção apresenta uma notação e algumas propriedades das árvores.
Os elementos em uma estrutura de árvores obedecem a uma relação de hierarquia que
pode ser empregada para estruturar textos. Esta é a característica principal utilizada na
recuperação de informação estruturada. A terminologia desse tipo de estrutura é intuitiva e se
baseia na nomenclatura utilizada nas famílias, como os termos "pai", "filho", "ascendentes" e
"descendentes". A árvore é um tipo abstrato de dados cujos elementos (nós) estão dispostos
hierarquicamente. Na representação gráfica de árvores, os nós são ligados por ramos, também
conhecidos como arcos ou arestas.
Com exceção do elemento do topo, cada elemento têm um elemento pai e zero ou mais
elementos filhos. O elemento de topo é chamado de raiz. Portanto, o elemento raiz não tem
elemento pai e nem ascendentes. Por sua vez, os elementos que não possuem filhos são
designados nós folhas. Os outros nós da árvore são denominados nós internos.
29
A ligação de um nó para os seus descendentes faz-se por um único caminho. Os
ascendentes de um nó X são todos os nós que existem no caminho, desde a raiz até o nó X. A
profundidade de um nó é o número de ramos existentes no caminho entre o nó e a raiz. A
altura de uma árvore é definida como a máxima profundidade apresentada pelos nós. O grau
de um nó é o número de filhos que esse nó tem e o grau de uma árvore, o máximo dos graus
dos seus nós.
Uma sub-árvore S de uma árvore A é uma árvore cujos nós pertencem ao conjunto de
nós da árvore A e que mantém as relações de descendência, ascendência, pai e filho da árvore
A. Uma árvore é ordenada, se existe uma ordem entre os filhos de cada nó, de tal maneira que
é possível identificar os filhos de um nó como sendo o primeiro, o segundo, o terceiro e assim
por diante. O rótulo de um nó é o nome que o identifica.
carro
fiat
chevrolet
uno
preço
cor
ano
2000
palio
exterior
azul
interior
acessorios
12.000
ano
sim
ford
ka
corsa
ano
km
preço
peso
1998 2001 50.000 120
azul
Figura 3: Exemplo de uma Estrutura de Árvore
A Figura 3 mostra um exemplo de árvore onde:
1) A raiz é o nó com o rótulo carro;
2) A sub-árvore com a raiz fiat possui dois nós filhos uno e palio;
3) A sub-árvore com raiz palio possui 3 nós folhas 12.000, sim e 1998;
4) A altura da árvore com raiz carro é 5;
5) O grau do nó cor é 2.
2
potencia
1.0
preço
15.000
30
2.6 – Trabalhos Relacionados
Esta seção descreve alguns trabalhos que propõem incorporar a informação de estrutura para
calcular a similaridade entre documentos e consultas no contexto de recuperação de
informação. Esses trabalhos consideram que os documentos semi-estruturados são
representados utilizando a linguagem XML.
O trabalho apresentado em [18] propõe a definição de um escopo para o cálculo dos
pesos dos termos. Esse escopo é definido pela consulta. Assim, as estatísticas para o cálculo
da similaridade entre documentos e consulta são obtidas em tempo de consulta. A idéia
principal deste trabalho é manter um índice apenas com termos que contenham a parte textual
(conteúdo). Esses elementos são chamados de elementos básicos. Quando são necessárias
outras informações para o cálculo da similaridade, elas são derivadas desses elementos
básicos em tempo de consulta. Essa derivação depende do tipo da consulta que pode ser:
single-category, multi-categories ou nested retrieval. Single-category é o tipo de consulta em
que o usuário deseja referenciar apenas parte de um documento. Por exemplo, considere-se a
árvore da Figura 3, se o usuário está interessado em consultar somente sobre os carros da
marca fiat, a sua consulta será do tipo single-category, pois ele faz referência a uma parte
(categoria) do documento XML. Por outro lado, se o usuário deseja consultar sobre carros da
marca fiat e ford, então, a sua consulta será do tipo multi-categories, pois ele faz referência a
mais de uma parte (categoria) do documento XML. Consultas do tipo nested retrieval são
aquelas em que importâncias diferentes são consideradas para cada nível da árvore XML.
Essa importância é maior, se o termo ocorre mais próximo da raiz da sub-árvore considerada
ou menor, caso contrário. Por exemplo, na sub-árvore com a raiz uno, o termo (folha) 2000 é
considerado mais importante do que o termo (folha) azul, pois o termo (folha) 2000 está mais
próximo da raiz uno. A flexibilidade na granularidade da recuperação de informação é
conseguida por meio dessas formas de derivação. Essa abordagem gera, dinamicamente, o
espaço vetorial apropriado para o escopo da consulta.
Em [18] não é apresentado
experimentos que utilizam a abordagem descrita. A flexibilidade na granularidade de
recuperação, a geração dinâmica do espaço vetorial e o cálculo das estatísticas em tempo de
consulta são as contribuições descritas em [18].
Um outro trabalho em que o escopo da consulta é definido pelo usuário em tempo de
consulta, é apresentado em [32]. Neste caso, os autores definem esse escopo como
documentos admissíveis. Essa abordagem propõe a representação de documentos e consultas
como árvores. Assim, a tarefa de recuperação de informação torna-se encontrar as árvores de
31
documentos que mais se aproximem da árvore de consulta informada pelo usuário. O escopo
considerado para calcular os pesos dos termos é definido pela raiz da árvore de consulta. A
técnica de indexação utilizada é inspirada em partial index, introduzida por Navarro [24]. O
modelo vetorial pode ser simulado, ajustando alguns parâmetros no processo de recuperação
de informação para que sejam consideradas apenas as folhas das árvores dos documentos.
Essa abordagem também possibilita que o usuário forneça pesos para os termos da consulta de
acordo com sua necessidade de informação. Em [32], são descritos experimentos feitos em
uma coleção com 22 documentos usando técnicas definidas em [24]. Esses experimentos
mostram a diferença do posicionamento no ranking dos documentos em relação às consultas
nas quais são feitas referências à estrutura dos documentos (consultas estruturadas) e
consultas em que essas referências não são feitas (consultas planas). Observa-se que há uma
melhora na precisão, quando são feitas referências à estrutura dos documentos.
Na abordagem apresentada em [38], os pesos dos termos são calculados em tempo de
indexação. A idéia principal é ter como unidade de recuperação os elementos lógicos de um
documento XML. Elementos lógicos são partes do documento XML, por exemplo: título,
parágrafo, resumo etc. Esses elementos são representados em um modelo de árvore ordenada.
Nesta árvore os nós filhos de um mesmo pai são ordenados ascendentemente. A técnica de
busca empregada é baseada em Proximity Seach [29]. O objetivo dessa técnica é gerar um
ranking por meio de um conjunto de objetos baseados no caminho mais curto entre esses
objetos (elementos lógicos). Um documento, ou um componente de um documento, é
considerado como melhor casamento, se os termos da consulta são vizinhos aos termos do
documento. Alguns mecanismos são necessários para armazenar informações para todos os
níveis dos nós no modelo de árvore ordenada. Dessa maneira, é possível recuperar
componentes de documentos com várias granularidades. Para isso, é criado um índice cuja
entrada é definida como <term, frequency, position>, onde position é uma estrutura do tipo
<Section_ID, Para_ID>, usada para localizar um componente em um documento. São
descritos experimentos em uma coleção com cerca de 40.000 documentos e com um índice de
500MB. Uma das conclusões dos autores desse trabalho é que essa abordagem gera um índice
que pode consumir mais recursos de tempo e espaço, se comparado à indexação tradicional
por arquivos invertidos. Não é apresentada uma estratégia para melhorar a eficiência dessa
abordagem
Em [8], a idéia principal é permitir que o usuário formule consultas simples ou
complexas, dependendo do conhecimento que ele possua da estrutura do documento XML.
Para isso, é proposto que a consulta seja feita utilizando partes dos documentos XML
32
(fragmentos XML). Essa abordagem estende o modelo vetorial, usando como unidade de
indexação pares da forma (ti, ci), onde ti é o i-ésimo termo do vocabulário e ci é o contexto em
que ti aparece. Por exemplo, na Figura 3, tem-se o par (2000, ano/uno/fiat/carro), na qual
ano/uno/fiat/carro é o contexto em que o termo 2000 ocorre. Assim, os termos são
qualificados pelo contexto no qual aparecem. A relevância do termo é incrementada, quando
o mesmo par (ti, ci) é encontrado na consulta e no documento ou quando ti aparece em um
contexto relacionado cj. Portanto, no cálculo da similaridade, é introduzida a característica cr
para quantificar o relacionamento entre os contextos. Por exemplo, na Figura 3, o termo 2000
ocorre nos contextos ano/uno/fiat/carro e ano/palio/fiat/carro. A característica cr quantifica a
relação entre os contextos onde o termo 2000 aparece. A estratégia de indexação utilizada em
[8] cria um perfil contendo um vetor dos pares (t, c) para cada documento. O sistema de
recuperação de informação em texto completo, chamado Juru [10], foi estendido para
armazenar esse esquema de indexação. Em [8], são descritos experimentos utilizando o Juru e
a coleção de documentos INEX [19]. Os autores de [10] comentam que os experimentos
preliminares são bons para consultas simples e que o próximo passo é verificar o impacto da
característica cr na qualidade do ranking. Para alguns usuários, a sintaxe de um documento
XML pode não ser simples. Portanto, a idéia de utilizar esta sintaxe para fazer a consulta pode
dificultar o uso dessa abordagem. Por exemplo, se o usuário deseja consultar por documentos
que possuam os termos XML e tutorial no título de um capítulo, a sintaxe dessa consulta
nessa abordagem seria <capitulo><titulo> XML tutorial </titulo></chapter>.
O trabalho apresentado em [36] aproveita a estrutura de árvore dos documentos XML
e propõe um relaxamento no casamento de padrão entre árvores de consultas e documentos.
Esse relaxamento é no sentido de procurar, por exemplo, um livro que tenha o elemento isbn
como descendente e não como filho. Essa abordagem emprega os conceitos de pesos e
ranking da recuperação de informação. Entretanto, deixa em aberto o método para o cálculo
da similaridade entre documentos e consulta. Uma possível métrica para o cálculo do ranking,
sugerida em [36], é baseada no número de relaxamentos aplicados na consulta. Dada uma
consulta q, é obtida uma consulta q’ por meio das aplicações de um ou mais relaxamentos
definidos em [36]. Nessa abordagem, a consulta é uma árvore onde cada nó e arco, que liga
um nó pai a um nó filho, ao qual é associado com um número inteiro não negativo (peso).
Esse número pode ser definido pelo usuário ou automaticamente. As duas principais
contribuições dessa abordagem são: uma representação algébrica em que todos os
relaxamentos podem ser codificados usando junções em uma estrutura binária e o
desenvolvimento de um algoritmo que elimina respostas irrelevantes (o quanto antes possível)
33
durante a avaliação da consulta. Em [36], não são apresentados experimentos em relação ao
cálculo do ranking, pois este não é seu foco principal. O trabalho explora e propõe algoritmos
para casamento de padrões em árvores segundo algumas considerações (relaxamentos).
Portanto, o trabalho pode ser utilizado na recuperação de informação em dados semiestruturados como uma solução para o casamento de padrão entre árvores.
A abordagem apresentada em [22] emprega uma classe de consultas que suporta
expressões de caminho e utiliza um índice que combina arquivo invertido com índice de
estrutura. Para construir o índice dos documentos XML, é criada uma árvore de resumo XML,
que, em geral, é menor do que o documento XML original. A árvore de resumo é construída
especificando qual termo deve ser indexado nos documentos XML. Após essa especificação,
devem ser removidas as stop words e calculadas as estimativas de distribuição de todos os
termos (literais e tags). Quaisquer caminhos ou termos repetidos são removidos. A árvore
resumo é a entrada para a construção da estrutura do índice. Depois da construção da árvore
resumo, o próximo passo é separar os dados de conteúdo e estrutura. Desta maneira, é gerado
o índice de estrutura e o arquivo invertido. A pesquisa no índice consiste em duas etapas: uma
pesquisa para identificar os documentos XML que possuam o caminho do termo da consulta e
uma pesquisa para identificar os documentos XML que contenham o texto (conteúdo) dos
termos da consulta. Na primeira pesquisa, é identificada uma lista de candidatos A de
documentos e uma lista de candidatos T de termos do vocabulário. Esses termos são as folhas
dos caminhos (ramos) da árvore XML. Os termos da consulta são comparados com a lista T e
quando houver o casamento, os documentos são recuperados da lista invertida. Nessa
abordagem, o ranking combina os pesos dos termos baseados na distribuição dos termos (tf e
itf) e a posição do termo na estrutura do documento. Por exemplo, um literal que se encontra
no caminho jornal/topico/artigo/titulo, provavelmente, deve ter um coeficiente maior do que
o literal que se encontra no caminho jornal/topico/artigo/resumo. Isso mostra que o literal que
aparece no título é mais importante do que o literal que aparece no resumo. O peso final de
um termo i em um documento j é dado pela multiplicação desses dois componentes. Em [22]
são descritos experimentos em uma coleção com 1239 documentos com um índice de 2.5MB.
Segundo o autor de [22], a precisão conseguida é alta. Uma limitação dessa abordagem é que
o usuário deve informar o caminho completo, desde a raiz até a folha, na sua consulta. Por
exemplo, para uma árvore que possua o ramo jornal/topico/artigo/titulo, o usuário não pode
informar em sua consulta apenas o contexto artigo/titulo Além disso, o coeficiente que
especifica a importância do contexto em que o termo ocorre pode não refletir a vontade do
usuário. Por exemplo, para um determinado usuário o termo que aparece em
34
jornal/topico/artigo/resumo pode ser mais importante do que o termo que aparece em
jornal/topico/artigo/titulo. Um problema identificado pelo autor de [22] é que documentos
XML diferentes podem utilizar tags diferentes para descrever a mesma parte da informação,
como, por exemplo, revista e periódicos.
A abordagem proposta nesta dissertação diferencia-se de [18] e [32] em relação à
estratégia para o cálculo das estatísticas, pois, aqui, elas são calculadas em tempo de
indexação. Os trabalhos [18] e [32] propõem definir um escopo em tempo de consulta para o
cálculo das estatísticas utilizadas para produzir o ranking. Esta estratégia possui um overhead
maior, se comparada às estratégias que fazem esses cálculos em tempo de consulta [18]. Os
trabalho [18], [38] e [8] propõem que a granularidade na unidade de recuperação de
informação seja baseada nos elementos do documento XML em vez do documento inteiro,
como acontece na recuperação de informação tradicional. Nesta dissertação, a granularidade é
o documento inteiro. Isto ocorre para evitar a indexação de estatísticas adicionais dos
elementos dos documentos XML. Assim, considerando esta granularidade descarta-se um
fator que poderia aumentar significativamente o tamanho do índice. As características da
estrutura de árvore, dos documentos XML, são aproveitadas pelos trabalhos [32], [36] e [38]
para utilizar o casamento em árvores no cálculo da similaridade entre documentos e consultas.
Na abordagem proposta nesta dissertação, os termos da coleção de documentos XML contêm
informações de estrutura, porém são tratados como os termos da recuperação de informação
tradicional. A estrutura de árvore dos documentos XML é usada para a derivação de termos.
A forma de indexação utilizada nos diferentes trabalhos descritos nesta seção depende das
abordagens propostas. Por exemplo, as abordagens que permitem a recuperação de parte de
um documento utilizam índices com estatísticas dos elementos do documento XML, como se
observa em [18]. Alguns trabalhos propõem índices separados para a informação de conteúdo
e de contexto, como ocorre em [22]. Em [38], é adicionada a informação da posição do
elemento XML na indexação tradicional com arquivos invertidos. Em [32], é utilizada uma
estrutura de indexação que considera as características da estrutura em árvores dos
documentos XML. A abordagem proposta nesta dissertação usa a estrutura de indexação da
recuperação de informação tradicional. Entretanto, a unidade de indexação é um conjunto de
termos. A unidade de indexação também é um diferencial entre esta dissertação e o trabalho
apresentado em [8], pois a unidade de indexação em [8] é o par (t, c), como já foi descrito.
Outro diferencial importante entre o trabalho apresentado nesta dissertação dos
trabalhos descritos nesta seção é a motivação. A motivação desses trabalhos é propor uma
forma para trabalhar a recuperação de informação em dados semi-estruturados. A motivação
35
da proposta desta dissertação é inserir a característica de contextualização da recuperação de
informação estruturada ao modelo vetorial. Por exemplo, em [32], o modelo vetorial pode ser
simulado ajustando algumas restrições no processo de recuperação de informação. Em [8], o
espaço vetorial pode ser obtido, se a pesquisa for feita em um mesmo contexto. Em [18], o
espaço vetorial é gerado em tempo de consulta. Isso mostra que o modelo vetorial é uma
consequência e não o objetivo final. Em resumo, as principais contribuições são:
•
Estender o modelo vetorial para utilizar a informação de contexto no cálculo da
similaridade entre documentos e consultas.
•
Propor estratégias para diminuir a quantidade de termos a serem acrescentados ao domínio
de termos da recuperação de informação tradicional.
O Capítulo 3 apresenta a proposta desta dissertação para inserir a pesquisa
contextualizada no modelo vetorial clássico.
Capítulo 3
Uma Proposta para Recuperação de Informação em
Dados Semi-estruturados
A recuperação de informação em dados semi-estruturados vem recebendo uma atenção
crescente por parte da comunidade científica. Várias abordagens foram propostas na literatura
para trabalhar a recuperação de informação em dados semi-estruturados. Essas abordagens
podem ser divididas em duas categorias distintas: abordagens onde o cálculo das freqüências e
pesos dos termos é realizado em tempo de consulta e abordagens nas quais estes cálculos são
realizados em tempo de indexação. A primeira abordagem apresenta um tempo de resposta
durante o processamento da consulta maior, se comparado com a segunda e, em geral, os
métodos de indexação e pesquisa são mais complexos. O trabalho descrito nesta dissertação
calcula as freqüências e os pesos dos termos durante a indexação da coleção de documentos.
Em recuperação de informação, uma das vantagens de se trabalhar com dados semiestruturados em vez de dados não estruturados é fornecer ao usuário condições de
contextualizar a sua necessidade de informação. Por outro lado, é necessário que o usuário
tenha um certo conhecimento da estrutura da coleção para aproveitar esta vantagem. Essa
contextualização é conseguida por meio da estrutura dos documentos. Assim, por exemplo, o
usuário pode preferir documentos que possuam a palavra XML em seu título a documentos
que contenham a palavra XML na conclusão. Na recuperação de informação tradicional, essa
contextualização não é usada. Por outro lado, o modelo vetorial clássico apresenta uma
solução simples, eficiente e de fácil implementação para recuperar informação em dados não
estruturados [3]. Ao fazer o modelo vetorial clássico utilizar informações de estrutura
37
(informação de contexto) dos dados semi-estruturados, combina-se essa característica de
contextualização às vantagens do modelo vetorial. Dessa maneira, o usuário pode
contextualizar a sua necessidade de informação nas consultas a coleções de documentos semiestruturados mediante um sistema de recuperação de informação que implemente o modelo
vetorial. A motivação principal deste trabalho é aproveitar a simplicidade de implementação
e o desempenho do modelo vetorial para o cálculo do ranking, em coleções de documentos
semi-estruturados, preservando a noção de contextualização fornecida pela estrutura dos
documentos.
Este capítulo apresenta o modelo proposto nesta dissertação para acrescentar a
pesquisa contextualizada ao modelo vetorial. Em seguida, discute o problema do crescimento
do índice causado pelo aumento do domínio de termos da recuperação de informação
tradicional. Por fim, descreve estratégias para lidar com esse problema.
3.1 – Extensão do Vocabulário da Recuperação de Informação Tradicional
Os termos que formam o vocabulário da recuperação de informação tradicional não possuem
informação de estrutura. Por outro lado, a estrutura em árvores dos documentos XML
possibilita a estruturação de um texto, como foi visto no Capítulo 2. As folhas das árvores de
um documento XML são os termos que não possuem estrutura. A contextualização desses
termos (folhas) é fornecida pelos ramos das árvores das quais fazem parte. Portanto, as folhas
das árvores XML representam os termos da recuperação de informação tradicional e esses
termos, associados aos seus respectivos ramos, são os termos que contêm informação de
estrutura. Considere-se por exemplo, a sub-árvore com raiz uno da árvore mostrada na Figura
3, o termo 2000 apresenta apenas informação de conteúdo (folha da árvore). O termo
uno[ano[2000]] contém informação de contexto (uno[ano[]]) e de conteúdo (2000). A idéia
principal para inserir a noção de contextualização ao modelo vetorial é aumentar o seu
domínio com termos que possuam informação de estrutura. Assim, essa informação de
contexto poderá ser utilizada pelo SRI no cálculo da similaridade entre documentos e
consultas.
Para um melhor entendimento da proposta descrita neste capítulo, são apresentadas a
seguir, algumas definições de termos. Estas definições consideram os aspectos dos termos
terem ou não estrutura e como podem ser derivados das sub-árvores dos documentos XML.
38
As notações Termo Complexo e Termo Atômico foram inspiradas na notação utilizada em
[32].
Definição 3.1 (Termo Complexo).
Um termo complexo Tx é uma sub-árvore que possui informação de estrutura, ou seja, têm
grau maior ou igual a um. As folhas das árvores XML não são consideradas termos
complexos, visto que não possuem informação de estrutura (o grau da folha de uma árvore é
zero). O termo da Figura 4 é um exemplo de termo complexo. Um documento XML também
pode ser considerado como um termo complexo.
Definição 3.2 (Termo Composto).
Um termo composto Ts é uma string produzida com base nos rótulos do termo complexo
correspondente. O termo complexo apresentado na Figura 4, por exemplo, é associado ao
termo composto Livro[Titulo[Consulta, XML]].
Definição 3.3 (Termo Atômico).
Um termo atômico Ta é um termo derivado dos rótulos das folhas dos termos complexos. Os
termos XML e Consulta são termos atômicos derivados do termo complexo mostrado na
Figura 4.
Definição 3.4 (Termo Plano).
Um termo plano Tp é um termo que não contém informação de estrutura. É a definição de
termo comumente usada na recuperação de informação tradicional.
A Figura 5 mostra a relação entre os termos atômicos, planos, complexos e compostos.
Observa-se que o Domínio A é dividido em dois subconjuntos: conjunto dos termos atômicos
e o conjunto dos termos complexos. O Domínio B também é dividido em dois subconjuntos:
conjunto dos termos planos e conjunto dos termos compostos. Além disso, existe uma relação
biunívoca entre os elementos do Domínio A e os elementos do Domínio B.
O conjunto dos termos planos é o domínio da recuperação de informação tradicional,
pois os termos planos não apresentam estrutura. Os conjuntos dos termos atômicos e termos
complexos formam o domínio da recuperação de informação em dados semi-estruturados
(Domínio A). Para simular o modelo vetorial, o trabalho descrito em [32] restringe, em tempo
de consulta, o seu domínio de atuação para o conjunto dos termos atômicos. Os termos
39
atômicos não possuem estrutura e têm um termo plano correspondente. Portanto, essa
restrição possibilita à abordagem descrita em [32] trabalhar em um domínio equivalente ao
domínio da recuperação de informação tradicional.
A Figura 5 mostra, ainda, que os termos compostos são os correspondentes aos termos
complexos no Domínio B. O conjunto de termos complexos é composto por termos que
possuem estrutura (Definição 3.1). Portanto, ao se estender o domínio dos modelos de
recuperação de informação tradicional com termos que possuam informação de estrutura
(termos compostos), obtém-se o Domínio B = {termos planos} ∪ {termos compostos}. Dessa
maneira, é possível fazer o modelo vetorial utilizar a informação de estrutura no cálculo do
ranking.
Livro
Titulo
Consulta
XML
Figura 4: Termo Complexo
Ta1
Ta2
.
.
.
Taz
Tp1
Tp2
.
.
.
Tpz
Termos atômicos
Txz+1
Txz+2
.
.
.
Txn
Tsz+1
Tsz+2
.
.
.
Tsn
Termos planos
Termos compostos
Termos complexos
Domínio A
Domínio B
Figura 5: Domínio dos Termos
Os termos pertencentes ao conjunto de termos compostos fornecem a contextualização
da informação para o modelo vetorial. A necessidade de informação de um usuário é chamada
40
de topic pela TREC. Nesta dissertação, é adotada a mesma notação da TREC. Portanto,
considere-se o tópico.
TC 1 = “Livros que possuem as palavras Consulta e XML em seu título”.
Neste caso, o usuário está procurando por documentos (livros) que possuam a ocorrência do
termo composto Livro[Titulo[Consulta, XML]]. Se o tópico mudar para
TC 2 = “Documentos que possuam as palavras Consultas e XML em seu título”,
para satisfazer este segundo tópico, o usuário procura por documentos com o termo composto
Titulo[Consulta, XML], que pode ser derivado do termo composto Livro[Titulo[Consulta,
XML]]. Para um terceiro tópico,
TC 3 = “Documentos que possuem as palavras Consultas e XML”,
basta que as palavras procuradas ocorram em qualquer parte do documento. Os termos
Consulta e XML também podem ser derivados do termo composto Livro[Titulo[Consulta,
XML]]. Observando esses três exemplos de tópicos, nota-se que, nos dois primeiros
exemplos, o usuário necessita de um sistema de recuperação de informação em que ele possa
expressar um contexto para a sua pesquisa. Por outro lado, o terceiro tópico pode ser satisfeito
por um sistema de recuperação de informação tradicional, pois o usuário está interessado
apenas na ocorrência das palavras sem se preocupar com o contexto na qual elas apareçam.
Na abordagem aqui proposta, a flexibilidade de responder TC 1, TC 2 e TC 3 é conseguida,
porque o Domínio B (ver Figura 5) possui termos sem estrutura (termos planos) e termos
com estrutura (termos compostos).
A quantidade de termos complexos de um documento é igual a quantidade de subárvores, com grau maior ou igual a um, possíveis de serem derivadas desse documento (não
são consideradas as folhas). Para uma coleção de documentos D, a quantidade de termos
complexos é igual a soma de todas as sub-árvores distintas de todos os documentos. Cada
termo composto possui um termo complexo correspondente. Portanto, a quantidade de
termos compostos acrescentadas ao domínio de termos da recuperação de informação
tradicional é igual a quantidade de sub-árvores distintas com grau maior ou igual a um da
coleção de documentos considerada. Esse acréscimo de termos pode causar um aumento
41
exponencial de termos do índice. Por exemplo, considere-se o termo complexo da Figura 5
como sendo um documento XML, suas possíveis sub-árvores são: Livro[Titulo[Consulta,
XML]],
Livro,
Titulo,
Consulta,
XML,
Livro[Titulo],
Livro[Titulo[Consulta]],
Livro[Titulo[XML]], Titulo[Consulta], Titulo[XML], Titulo[Consulta, XML]. Os termos
Consulta e XML são termos que não possuem estrutura (termos planos). Os demais termos
(termos compostos) correspondem aos termos que contêm informação de estrutura. Portanto,
são acrescentados ao domínio da recuperação de informação tradicional nove termos
compostos. Se o termo complexo deste exemplo fosse considerado como um documento, ele
seria representado por dois termos na recuperação de informação tradicional e onze termos na
recuperação de informação em que o domínio de termos é acrescido com os termos
compostos.
3.2 – Aumento na Quantidade de Termos do Índice
A inclusão de termos compostos ao conjunto de palavras-chave no vocabulário da coleção é
uma estratégia simples e intuitiva, se comparada às abordagens propostas na seção 2.4.
Entretanto, ela pode provocar um aumento exponencial de termos no índice em virtude da
combinação dos elementos do documento XML. Este aumento é gerado pelo mapeamento dos
termos complexos para os termos compostos e está relacionado à profundidade da árvore
XML. Observe-se que a quantidade de ramos de uma árvore XML, que representa um
documento, é igual à quantidade de termos planos desse documento. Por exemplo, um
documento que é representado na recuperação de informação tradicional por dez termos
planos, ao ser estruturado por uma árvore XML, a quantidade de ramos dessa árvore também
é dez. Isto ocorre porque é associado a cada termo plano um contexto (ramo da árvore XML).
A quantidade de níveis de uma árvore XML é definida pelo usuário e pelo tipo de informação.
A linguagem XML não restringe uma
quantidade máxima de níveis. Quanto maior a
profundidade e ramificação maior a quantidade de termos compostos. Assim, dependendo da
profundidade da árvore XML, pode ser gerada uma quantidade de termos que torne essa
abordagem computacionalmente inviável.
Para lidar com esse problema, são propostas, nesta dissertação, três estratégias. A
primeira é descartar os termos compostos sem informação de conteúdo. A segunda é descartar
os termos que não obedeçam a hierarquia das árvores dos documentos XML, por exemplo, o
termo Livro[XML] não obedece a hierarquia da árvore do apresentada na Figura 4, pois entre
42
o nó Livro e XML existe o nó Titulo. A terceira é adotar uma estratégia de indexação que
minimize o tamanho do índice.
3.2.1 – Descarte de Termos Compostos sem Informação de Conteúdo
Em um documento XML, a informação de conteúdo está armazenada nas folhas da árvore que
o representa e a informação de contexto é todo caminho da raiz até o último nó não folha. Por
exemplo, no termo complexo mostrado na Figura 4, as informações de conteúdo, Consulta e
XML, estão armazenadas nas folhas e a informação de contexto é o caminho Livro[Titulo].
Quando é feito o mapeamento das sub-árvores desse termo complexo, observa-se que algumas
de suas sub-árvores não apresentam utilidade para o usuário de um sistema de recuperação de
informação. Por exemplo, os termos Livro, Titulo, Livro[Titulo] contêm apenas informação de
estrutura (contexto).
Os termos que possuem apenas informação de contexto não têm utilidade na
recuperação de informação, pois, em geral, o usuário expressa sua necessidade de informação
mediante termos que conjugam informação de contexto e de conteúdo
ou apenas de
conteúdo. Além disso, uma coleção pode ter uma mesma estrutura para todos os seus
documentos. Neste caso, os termos derivados que representarem apenas informação de
contexto podem ser descartados sem causar prejuízo à contextualização oferecida ao usuário.
Na prática, um termo complexo é mapeado para um termo composto somente se estiver
associado a um termo plano (folha da árvore XML).
3.2.2 – Descarte de Termos Derivados dos Termos Complexos que não são Sub-árvores
Observa-se que, ao mapear o termo complexo da Figura 4, não foram considerados os termos
Livro[Consulta], Livro[XML], Livro[Consulta, XML]. Esses termos possuem a característica
de não obedecerem à hierarquia do termo complexo. A Figura 4 mostra que, entre o nó Livro
e Consulta, existe o nó Titulo. Apesar desses termos conterem informações de contexto e de
conteúdo, eles não são sub-árvores de seu respectivo termo complexo. Esta é uma restrição
imposta pela definição de termos complexo (Definição 3.1), pois ela está associada ao
conceito de sub-árvore. Essa restrição causa um prejuízo para a contextualização da
43
necessidade de informação do usuário. Por exemplo, considere-se uma coleção cujos
documentos possuam a estrutura do termo complexo da Figura 4, o tópico
NI 4 = “Livros que possuam a palavra XML”
não pode ser contextualizado, pois o termo Livro[XML] não está indexado. Para este caso, o
usuário pode considerar duas alternativas. A primeira é fazer uma pesquisa mais restrita
considerando
os
livros
que
possuam
a
palavra
XML
em
seu
título
(termo
Livro[Titulo[XML]]). A segunda é fazer uma pesquisa mais ampla considerando todos os
documentos que contenham a palavra XML (termo XML). A decisão de não indexar os termos
compostos que possuam informações de contexto e de conteúdo, mas que não sejam
derivados de uma sub-árvore de seu respectivo termo complexo, pode levar em consideração
a coleção de documentos. Por exemplo, se uma coleção contém documentos com uma
estrutura igual à árvore mostrada na Figura 3(pg 28) e documentos com estrutura igual ao
termo complexo da Figura 4(pg 38), acrescentando um filho com o rótulo ano ao nó livro,
então, para esse tipo de coleção, a indexação dos termos que diferenciam esses dois tipos de
documentos facilita a pesquisa do usuário. Considere-se os tópicos
TC 5 = “Carros com ano de fabricação 2000”
TC 6 = “Livros publicados em 2000”,
usuários com os tópicos TC 5 e TC 6, ao fazerem uma consulta pelo termo plano 2000, obtêm
como resposta documentos referentes a livros publicados no ano 2000 e carros fabricados no
ano 2000. Neste caso, a indexação dos termos livro[2000] e carro[2000] diferenciaria TC 5 e
TC 6. Portanto, a indexação dos termos planos associados ao rótulo da raiz da árvore XML
diferencia os tipos de documentos existentes na coleção. Essa estratégia de redução do
número de termos pode ser adotada de forma parcial, ou seja, descartar apenas os termos que,
após um estudo prévio da estrutura da coleção e do perfil do usuário, não representem uma
perda importante na contextualização das consultas do usuário. Este estudo pode ser realizado
considerando quais são os termos complexos que são potencialmente relevantes para os
usuários e as características da coleção (homogênea ou heterogênea).
Após a discussão apresentada nas seções 3.2.1 e .3.2.2, nota-se que existe um
subconjunto dos termos compostos (termos que possuem apenas informação de contexto) que
44
podem ser descartados e um subconjunto derivado dos termos compostos (termos que não são
sub-árvores dos seus respectivos termos complexos) que pode ou não ser descartado. Para
uma melhor identificação desses termos, são definidos a seguir os termos estendidos e termos
complementares.
Definição 3.5 (Termo Estendido).
Um termo estendido é um termo derivado de um termo composto que possui informação de
contexto e de conteúdo e é obtido de uma sub-árvore de seu respectivo termo complexo. Por
exemplo, considerando o termo complexo da Figura 4 e seu termo composto correspondente
Livro[Titulo[Consulta, XML]], os termos estendidos derivados são: Livro[Titulo[Consulta]],
Livro[Titulo[XML]],
Titulo[Consulta],
Titulo[XML],
Titulo[Consulta,
XML],
Livro[Titulo[Consulta, XML]].
Definição 3.6 (Termo Complementar).
Um termo complementar é um termo que contém informação de estrutura e de conteúdo e não
é sub-árvore de seu respectivo termo complexo. Por exemplo, os termos Livro[Consulta],
Livro[XML], Livro[Consulta, XML] são termos complementares derivados do termo
complexo da Figura 4.
A abordagem proposta nesta dissertação possibilita uma flexibilidade na escolha dos
termos que serão indexados. Caso sejam adotadas as estratégias de descartar os termos que
não possuam informação de conteúdo e termos que não sejam sub-árvores de seus respectivos
termos complexos, então, os termos indexados serão os termos estendidos e os termos planos.
Caso seja adotada apenas a estratégia de descartar os termos que não contenham informação
de conteúdo, então, os termos indexados serão os termos estendidos, termos planos e os
termos complementares. Existe, também, a possibilidade de indexar os termos estendidos,
termos planos e alguns termos complementares, e, por fim, indexar apenas os termos
complementares. Esta última escolha pode deixar de considerar vários termos relevantes para
a consulta contextualizada do usuário. A escolha dos termos a serem indexados, como já foi
dito, pode ser feita em função de um estudo prévio da estrutura da coleção e do perfil do
usuário. Nesta dissertação, é considerada a indexação dos termos estendidos e termos planos.
A Figura 6 mostra que os conjuntos de termos compostos, estendidos, complementares
e os termos que não possuem informação de conteúdo são derivados dos termos complexos.
45
Além disso, mostra que o conjunto de termos compostos é a união dos conjuntos de termos
estendidos e termos que não contêm informação de conteúdo. Os termos estendidos são
obtidos dos termos complexos pela Derivação 1. Essa derivação considera que apenas as subárvores do conjunto dos termos complexos, com informação de conteúdo e contexto, ou
somente de conteúdo (folhas), são mapeadas para o conjunto dos termos estendidos. Os
termos que não possuem informação de conteúdo são obtidos dos termos complexos pela
Derivação 2. Esta derivação considera que somente as sub-árvores com informação de
contexto são mapeadas. Os termos complementares são obtidos dos termos complexos pela
Derivação 3. Esta derivação considera que apenas termos que não contêm uma sub-árvore
correspondente no conjunto dos termos complexos e que possuem informação de contexto e
de conteúdo são mapeados para o conjunto dos termos complementares.
Conjunto dos
Termos Compostos
Derivação 1
Conjunto dos
Termos Estendidos
Derivação 2
Derivação 3
Conjunto dos
Termos Complexos
Conjunto dos termos
que não possui
informação de
conteúdo
Conjunto dos Termos
Complementares
Figura 6: Relação entre os Conjunto de Termos Complexos, Compostos, Estendidos, Complementares e Termos
que não Possuem Informação de Conteúdo.
3.2.3 – Conjunto de Termos como Unidade de Indexação
Após o descarte dos termos compostos, conforme descrito nas seções 3.2.1 e 3.2.2, há uma
redução na quantidade de termos. Esses descartes devem ser considerados como estratégias de
projeto do SRI, de acordo com a coleção de documentos e perfil do usuário. Empregando
46
essas duas estratégias no termo complexo da Figura 4, obtém-se uma redução de seis termos
(considerando o descarte dos termos complementares), restando, ainda, oito termos para
serem indexados. A estratégia proposta nesta seção consiste em indexar termos de forma a
diminuir a quantidade de termos a serem indexados. Observe-se que esses termos podem ser
qualquer uma das variações descritas na seção 3.2.2. Várias técnicas para indexar documentos
semi-estruturados são apresentadas na literatura. Estas técnicas
enfatizam minimizar o
tamanho do índice e otimizar a pesquisa.
Algumas dessas estratégias de indexação usam banco de dados para armazenar os
índices. Assim, elas utilizam as funcionalidade do banco de dados para auxiliar na construção
e pesquisa do índice. São exemplos dessa estratégia os trabalhos apresentados em [4], [20]e
[37]. Em [20], a idéia principal é oferecer um mecanismo eficiente, que permita a atualização
do índice, quando o conteúdo do documento muda. Essa abordagem é indicada para coleções
de documentos cujo conteúdo sofre mudanças freqüentes. Ela cria várias tabelas de índices
organizadas essencialmente para o emprego da estratégia BUS (Bottom Up Scheme). Além
disso, os autores de [20] sugerem a implementação da estratégia BUS em um sistema
gerenciador de banco de dados relacional para facilitar a atualização incremental do índice.
Em [4], também é apresentada uma estratégia de indexação que permite a atualização do
índice. Essa abordagem propõe esquemas de codificação e compressão que possibilitam a
construção do índice para a implementação da busca por proximidade (proximity search).
Essa técnica de indexação é voltada para banco de dados nativos XML (foi testada em Soda2
– banco de dados nativo XML). Em [37], são propostas a integração da pesquisa em texto
completo e a tecnologia de banco de dados para armazenar e recuperar documentos XML.
Para a pesquisa em texto completo, essa abordagem utiliza um índice para a estrutura e outro
para o texto. A principal idéia dessa técnica de indexação é alocar um campo ID para cada
item texto de um elemento XML e registrá-lo no índice de estrutura e no índice de texto. O
índice de estrutura gerencia a hierarquia de cada campo e o índice de texto gerencia o ID do
campo e o ID do documento nos quais as palavras da consulta aparecem.
Existem também estratégias que empregam a hierarquia proveniente da estrutura em
árvores do documento XML e das linguagens de navegação nessa estrutura. Por exemplo, em
[7], são apresentadas novas estruturas de indexação baseadas nos PIDs (Path Identifiers). PID
é um esquema de identificação de nós usado em dois índices diferentes. Essa técnica de
indexação utiliza um índice para dados e outro para estrutura. Em [23], é proposto um
sistema de indexação e armazenamento de dados XML baseado em um esquema de
numeração para elementos. Este esquema determina a relação antecessor-descendente entre
47
elementos pertencentes à hierarquia dos dados XML. Além disso, propõe algoritmos para
processar consultas XML por meio de expressões regulares.
A técnica de indexação descrita em [9] propõe reduzir o tamanho do índice por meio
da eliminação de entradas do índice. Ela é baseada em dois métodos de poda: static index e
term-based. No primeiro, todas as entradas do índice, cujas contribuições para o score da
relevância estejam abaixo de um dado limite, são removidas do índice. No segundo, o limite
para a poda depende do termo. A idéia é remover as entradas do índice cujas contribuições
para o score da relevância de um documento sejam tão pequenas, que o efeito na precisão do
sistema não seja relevante. Essa técnica é baseada na abordagem de compressão com perdas
(lossy compression approach). Nessa abordagem, algumas informações são descartadas. Este
descarte reduz o tamanho do índice do sistema de busca, removendo as entradas menos
importantes do índice. Além disso, é apresentada, em [9], uma simulação em que é mostrado
que essa abordagem é capaz de atingir 35% de diminuição do índice com um decréscimo
médio da precisão de 7% e com efeito algum na precisão dos 10 primeiros resultados. Essa
técnica de indexação é utilizada por Juru [10], que é um mecanismo de pesquisa em texto
completo desenvolvido em java. O Juru, por sua vez, é adaptado e empregado para indexação
em [8].
Em [26], é proposta uma nova técnica para calcular pesos de termos chamada Set
Based Model. A idéia principal é agrupar os termos que aparecem em um mesmo conjunto de
documentos. Assim, a unidade de indexação passa de termo para conjunto de termos (closed
termsets). Esses conjuntos de termos são calculados utilizando o algoritmo chamado CHARM
[39]. Essa abordagem descreve experimentos que mostram a sua eficiência, se comparada ao
modelo vetorial clássico e ao modelo vetorial generalizado. Essa nova estratégia para calcular
pesos de termos, apresentada em [26], é empregada na recuperação de informação tradicional.
Uma das principais contribuições em [26] é propor um modelo em que o custo computacional
de considerar a correlação de termos é viável para grandes coleções de documentos. Vários
modelos que consideram a correlação de termos não podem ser aplicados nem mesmo a
coleções de médio porte devido ao aumento exponencial do vocabulário.
A proposta desta dissertação, de aumentar o domínio dos termos, tem como objetivo
inserir a característica de contextualização em um modelo de recuperação de informação
tradicional (modelo vetorial). Entretanto, a idéia de indexar conjuntos de termos em vez de
termos pode ser utilizada para lidar com o problema de crescimento da quantidade de termos
do índice.
48
As características que contribuíram para a escolha da idéia de indexar conjunto de
termos apresentada em [26] são:
•
Trata o termo estendido como um termo plano;
•
Possui eficiência comprovada na recuperação de informação tradicional;
•
Diminui o tamanho do índice em virtude da indexação dos conjuntos de termos;
Os termos estendidos, que representam as sub-árvores de um termo complexo,
possuem a característica de, geralmente, estar em um mesmo conjunto de termos. Essa
característica é aproveitada para minimizar o crescimento da quantidade de termos,
agrupando-os em um mesmo conjunto de termos. As técnicas de indexação que separam
informação de contexto e conteúdo são descartadas porque nos termos estendidos, essas
informações estão juntas.
O Capítulo 4 apresenta algumas propriedades desses conjuntos de termos utilizados
pelo algoritmo CHARM. Além disse, descreve o algoritmo e mostra, por meio de exemplos,
como ocorre a redução na quantidade de termos a serem indexados.
Capítulo 4
Aplicação do Algoritmo CHARM em Documentos
XML
A estratégia de redução de termos descrita na Seção 3.2.3, é indexar conjunto de termos em
vez de termos. Esta abordagem é apresentada em [26], como uma técnica para calcular pesos
dos termos, baseada na teoria de conjuntos. Os experimentos realizados em [26] comparam o
modelo vetorial, o modelo vetorial generalizado e o set-based model. Os resultados obtidos
mostram que o set-based model melhora a precisão média do ranking se comparado com os
outros dois modelos. Para calcular os conjuntos de termos a serem indexados, é utilizado o
algoritmo CHARM [39]. Este algoritmo tem origem na área de mineração de dados. O seu
objetivo é agrupar os itens que ocorram em um mesmo conjunto de transações. Além disso, a
teoria de regras de associação proporciona a semântica da co-ocorrência de termos que, às
vezes, não está presente na abordagem tf x idf [26].
Após aplicar os descartes de termos propostos nas seções 3.2.1 e 3.2.2, a unidade de
indexação considerada são os termos estendidos e os termos planos. Vale lembrar que a
estratégia descrita em 3.2.2 pode ser empregada de forma total ou parcial, portanto, a unidade
de indexação pode também incluir os termos complementares. Essa variação depende de
como essa estratégia é aplicada. O algoritmo CHARM é aqui empregado para agrupar os
termos (estendidos, planos e/ou complementares) que ocorrem em um mesmo conjunto de
documentos. O objetivo de indexar conjunto de termos é diminuir a quantidade de termos a
serem indexados.
Este capítulo mostra o algoritmo CHARM e uma notação para descrever seus
conceitos. Em seguida, mostra como o algoritmo CHARM realiza o agrupamento dos termos
50
segundo algumas propriedades. Por fim, é apresentado como ele é empregado na recuperação
de informação em dados semi-estruturados mediante dois exemplos.
4.1 – Notação
Para adaptar a notação empregada em [39] ao contexto da recuperação de informação, as
referências a itens e transações foram substituídas em [26] por termos e documentos,
respectivamente. A notação aqui utilizada é:
•
D uma coleção de documentos onde cada documento tem um identificador chamado tid;
•
I o conjunto de termos de uma coleção D;
•
T o conjunto de todos os tids;
•
Um conjunto X ⊆ I é chamado termset;
•
Um conjunto Y ⊆ T é chamado tidset;
•
Um termset com k itens é chamado k-termset;
•
Para um tidset Y, i(Y) corresponde aos termos presentes em todos os documentos do
conjunto Y;
•
Para um termset X, t(X) corresponde aos documentos onde os termos presentes em X
ocorrem;
•
X x t(X) representa o par termset x tidset;
•
σ(X) é o número de documentos em que X ocorre como um subconjunto. Por
exemplo, σ(X) = |t(X)|;
•
O suporte de um termset X é o número de documentos em que ele está presente.
•
sup_min (suporte mínimo) de um termset X é o número mínimo de documentos em que
X deve ocorrer para ser considerado freqüente.
Definição 4.1 (Frequent Termset).
Um termset X é freqüente se sua freqüência é maior ou igual ao sup_min especificado pelo
usuário, ou seja, σ(X) ≥ sup_min.
Definição 4.2 (Maximal Termset).
Um termset X é máximo quando ele não é subconjunto de nenhum outro frequent termset.
51
Definição 4.3 (Closed Termset).
Um closed termset X é um frequent termset, se não existe um super conjunto Y ⊃ X com
σ(X) = σ(Y). A notação utilizada é c(X).
Para exemplificar os conceitos de frequent, maximal e closed termsets, é apresentado
um exemplo adaptado de [39] e [26].
Exemplo 1 (Gerando closed termsets à partir de uma coleção de documentos): Considerese um vocabulário de cinco termos I = {a, t, c, d, w} e uma coleção D de seis documentos dj,
1 ≤ j ≤ 6. A distribuição dos termos nos documentos da coleção D ocorre da seguinte maneira,
D = {(a, t, c, w), (c, d, w), (a, t, c, w), (a, c, d, w), (a, t, c, d, w), (t, c, d)}, como mostra a
Figura 7. O suporte mínimo considerado é de 50%, o que significa que um termset é
freqüente, se ele aparece em pelo menos três dos seis documentos. A Tabela 2 mostra todos os
frequent, closed e maximal termsets para a coleção de documentos D.
d1
d3
d2
at
cw
d4
cd
w
d5
ac
dw
at
cw
d6
tc
d
atc
dw
Figura 7: Coleção D de Documentos
Tabela 2: Frequent, Closed e Maximal Termsets para a Coleção de Documentos
Freqüência
100%
83%
67%
67%
67%
50%
50%
Frequent Termset
c
w, cw
a, ac, aw, acw
t, tc
d, cd
at, atc atw, tw, tcw
atcw
dw, cdw
Closed Termset
Maximal Termset
c
cw
acw
tc
cd
atcw
atcw
cdw
cdw
52
A Tabela 2 mostra os frequent, closed, maximal termsets e suas respectivas
freqüências na coleção de documentos apresentada na Figura 7. Por exemplo, a primeira
coluna da primeira linha denota que o conjunto {c} ocorre em todos os documentos da
coleção. A segunda coluna da primeira linha aponta que o conjunto {c} é freqüente, pois seu
suporte (número de documentos que ele ocorre) e maior do que o suporte mínimo (neste
exemplo é igual a três). A terceira coluna da primeira linha indica que o termo c é um closed
termset uma vez ele é freqüente e não existe um conjunto Y tal que, Y ⊃ {c} e σ(Y) = σ({c}).
Observe-se que o conjunto {c} é subconjunto de vários outros conjuntos, entretanto, os
suportes destes conjuntos são diferentes. Portanto, pode-se afirmar que {c} é um closed
termset. A quarta coluna da sexta linha mostra que o conjunto {atcw} é um maximal termset,
pois ele não é subconjunto de nenhum frequent termset. Em [26], é apresentado uma
discussão sobre a escolha dos closed termsets como unidade de indexação em detrimento aos
frequent e maximal termsets. Essa escolha é justificada, porque, se comparado aos frequent
termsets, os closed termsets são gerados em menor número como mostra a Tabela 2. No
Exemplo 1, há dezenove frequent termsets e apenas sete closed termsets. Por outro lado, os
maximal termsets não possuem a mesma quantidade de informação que os closed termsets, o
que torna difícil sua utilização para encontrar co-ocorrênca de termos. Isto acontece porque
ocorrências de padrões de cada termset são descartadas. Assim como em [26], aqui também
são considerados os closed termsets como unidades de indexação.
Para calcular os closed termsets de uma coleção de documentos é, empregado um
algoritmo para mineração de dados chamado CHARM. Ele é basicamente um algoritmo de
enumeração que usa uma árvore de pesquisa chamada itemset-tidset. Ele evita várias
comparações na pesquisa, produzindo, assim, uma estratégia eficiente de poda. Este algoritmo
é aqui adaptado para trabalhar com termos e documentos.
A seção 4.2 descreve como é construída a árvore Termset-Tidset na qual o algoritmo
CHARM realiza a pesquisa pelos closed termsets. Em seguida, a seção 4.3 descreve o pseudo
código do algoritmo CHARM e as propriedades utilizadas para otimizar o agrupamento de
termos.
4.2 – Árvore de Pesquisa Termset-Tidset
Os nós da árvore de pesquisa Termset-Tidset representam as combinações dos termos
da coleção de documentos segundo uma relação de equivalência (Definição 4.5). O Algoritmo
53
CHARM realiza a busca por closed itemsets na árvore de pesquisa Itemset-Tidset. Com a
adaptação para o contexto da recuperação de informação essa árvore passa a ser chamada
Temset-Tidset. Para facilitar a notação, um termset {a, b, c} é denotado por abc e um tiset {2,
4, 5} por 245.
Definição 4.4 (Função Prefixo).
Uma função prefixo p é definida como p(X, k) = X[1:k] onde k é o comprimento do prefixo
do termset X. Por exemplo, considere-se o termset X = abcd, então, p(X, 2) = ab.
Definição 4.5 (Relação de Equivalência).
A relação de equivalência θk entre dois termsets X e Y é definida como:
∀X, Y ⊆ I, X ≡θk Y ⇔ p(X, k) = p(Y, k),
ou seja, dois termsets pertencem a mesma classe se eles possuem um prefixo de comprimento
k em comum. Por exemplo, considere-se X = abcd e Y = abef, então, X ≡θ2 Y pois
p(X,2) = p(Y,2). Entretanto, X ≡θ3 Y, pois p(X,3) ≠ p(Y,3).
A Figura 8 é a árvore de pesquisa Termset-Tidset do Exemplo 1. Cada nó na árvore
Termset-Tidset é representado pelo par termset-tidset (X x t(X)). Todos os filhos de um dado
nó (X x t(X)) pertencem à classe de equivalência de X, pois todos eles compartilham do
mesmo prefixo de X. Uma classe de equivalência P é denotada por [P] = {l1, l2, ..., ln},
onde P é o nó pai (prefixo) e cada li é um termo, assim, um nó da árvore Termset-Tidset pode
ser representado por Pli x t(Pli). Por exemplo, a raiz da árvore da Figura 8 corresponde à
classe [] = {a, c, d, t, w}, e o filho mais à esquerda desta árvore representa a classe [a] de
todos os termos que contêm o termo “a” como prefixo.
4.3 – Propriedades Básicas dos pares Termset-Tidset
Para encontrar o closed termset de um termset X, são executados dois passos:
1 – Calcular a imagem no espaço dos documentos para obter t(X) – Conforme especificado na
seção 4.1 t(X) representa os documentos em que o termset X ocorre. Portanto, nesse passo,
são calculados os documentos nos quais X ocorre. Esses documentos formam uma imagem no
espaço dos documentos.
54
2 – Mapear t(X) para a sua imagem no espaço dos termos a fim de obter i(t(X)) – Uma vez
calculado t(X), o segundo passo consiste em calcular os termsets que ocorrem nos
documentos representados por t(X), ou seja, aplicar a função i( ) nos documentos que
compõem a imagem calculada no primeiro passo por t(X).
Desse modo, c(X) = i(t(X)). Um termset X é closed se, e somente se, X = c(X). Por
exemplo, o termset acw do Exemplo 1, é closed, porque c(acw) = i(t(acw)) = i(1345) = acw.
O suporte de um termset X é igual ao suporte de seu fecho, ou seja, σ(X) = σ(c(X)).
Para quaisquer dois nós da árvore Termset-Tidset, Xi x t(Xi) e Xj x t(Xj), se Xi ⊆ Xj
então t(Xi) ⊆ t(Xj). Por exemplo, para acw ⊆ actw, t(acw) = 1345 ⊇ 135 = t(actw).
[ ]x123456
a x1345
ac x1345
acd x45
act x135
acdt x5 acdw x45
c x123456
ad x45 at x135 aw x1345
acw x1345
actw x135
adw x45
adtw x5
cd x2456 ct x1356
adt x5 atw x135
d x2456
t x1356
cw x12345 dt x56
dw x245
w x12345
tw x135
cdt x56 cdw x245 ctw x135 dtw x5
cdtwt x5
acdtw x45
Figura 8: Árvore de Pesquisa Termset-Tidset do Exemplo 1
Definição 4.6 (Função Ordenação).
Seja f : ρ (I) → N um mapeamento um-para-um dos termsets para os inteiros. Dado dois
termsets Xi e Xj, então Xi ≤f Xj se, e somente se, f(Xi) ≤ f(Xj). A função f define uma ordem
sobre todos os elementos do conjunto de todos os termsets.
Neste trabalho, f representa
a ordem lexicográfica para os termos. Há quatro
propriedades básicas do par termset-tidset, que são exploradas pelo algoritmo CHARM para
55
promover uma busca eficiente dos closed termsets. Sejam Xi x t(Xi) e Xj x t(Xj) quaisquer dois
membros de uma classe [P], com Xi ≤f Xj onde f é a ordem adotada entre os termos. As
propriedades são:
1 – Se t(Xi) = t(Xj) então c(Xi) = c(Xj) = c(Xi ∪Xj);
2 – Se t(Xi) ⊂ t(Xj) então c(Xi) ≠ c(Xj), mas c(Xi) = c(Xi ∪Xj);
3 – Se t(Xi) ⊃ t(Xj) então c(Xi) ≠ c(Xj), mas c(Xj) = c(Xi ∪Xj);
4 – Se t(Xi) ≠ t(Xj) então c(Xi) ≠ c(Xj) ≠ c(Xi ∪Xj).
Estas propriedades comparam os documentos em que Xi e Xj aparecem. Desta
maneira, são obtidas informações sobre seus closed termsets. Por exemplo, se a propriedade 1
é verificada, isto significa que os Xi e Xj aparecem no mesmo conjunto de documentos,
portanto, eles podem ser agrupados (união entre esses dois conjuntos) em um mesmo
conjunto. Observe-se que a rotina CHARM-PROPERTY, apresentada a seguir, utiliza essa
propriedade para excluir Xj e, assim, evitar uma comparação com Xj nas próxima iterações do
algoritmo.
Essas propriedades são provadas e discutidas em [39]. O pseudo código do algoritmo
CHARM é apresentado na Figura 9. Ele está dividido em 3 rotinas. A primeira (CHARM) é
responsável por iniciar a classe [P], retirando os pares termset-tidset que possuam um suporte
menor que o mínimo e, em seguida, chamando a rotina CHARM-EXTEND. A segunda rotina
(CHARM-EXTEND) é responsável por comparar cada par termset-tidset presente em [P] com
os demais elementos de [P] para calcular os closed termsets. A terceira rotina (CHARMPROPERTY) é responsável por testar as propriedades descritas neste capítulo. Dependendo
da propriedade verificada, é executada uma operação para otimizar o cálculo dos closed
termsets.
4.4 – Algoritmo CHARM na Recuperação de Informação em Dados Semiestruturados
O índice tende a aumentar de forma exponencial ao considerar os termos estendidos no
modelo vetorial. Para lidar com esse problema, a proposta aqui é indexar os closed termsets
em vez de termos como apresentado em [26]. O algoritmo CHARM é usado para obter os
closed termsets.
56
CHARM (D, sup_min):
1.
[P] = {Xi x t(Xi) : Xi ∈I ∧ σ(Xi) ≥ sup_min}
2.
CHARM-EXTEND ([P], C = ∅)
3.
return C // all closed sets
CHARM-EXTEND ([P], C):
4.
for each Xi x t(Xi) in [P]
5.
[Pi] = ∅ and X = Xi
6.
for each Xj x t(Xj) em [P], with Xj ≥f Xi
7.
X = X ∪ Xj and Y = t(Xi) ∩ t(Xj)
8.
CHARM-PROPERTY ([P], [Pi])
9.
if ([Pi] ≠∅) then CHARM-EXTEND ([Pi], C)
10.
delete [Pi]
11.
C=C∪X
// if X is not subsumed
CHARM-PROPERTY ([P], [Pi]):
12.
13.
if (σ(X) ≥ sup_min) then
if t(Xi) = t(Xj) then // Property 1
14.
Remove Xj from [P]
15.
Replace all Xi with X
16.
else if t(Xi) ⊂ t(Xj) then
17.
Replace all Xi with X
18.
else if t(Xi) ⊃ t(Xj) then // Property 3
19.
Remove Xj from [P]
20.
Add X xY to [Pi]
21.
22.
// Property 2
// Use ordering f
else if t(Xi) ≠ t(Xj) then // Property 4
Add X xY to [Pi]
// Use ordering f
Figura 9: Pseudo Código do Algoritmo CHARM
Para que os termos estendidos possam ser ordenados segundo a ordem lexicográfica
das folhas de seus termos complexos correspondentes, é adotada uma notação simplificada.
Considere-se o termo composto Livro[Titulo[Consulta, XML]] e o seu termo complexo
correspondente (Figura 4), as sub-árvores deste termo complexo são representadas pelos
seguintes termos estendidos e termos planos: Livro[Titulo[Consulta]], Livro[Titulo[XML]],
Titulo[Consulta], Titulo[XML], Titulo[Consulta, XML], Livro[Titulo[Consulta, XML]],
Consulta, XML. Observe-se que o termo estendido Titulo[Consulta, XML] denota que os
57
termos Consulta e XML ocorrem no título do documento. Essa notação pode ser simplificada
invertendo o sentido dos elementos que compõem o termo estendido. Assim, o termo
estendido passa a iniciar sempre com a folha do termo complexo correspondente. Por
exemplo, a notação simplificada dos termos estendidos acima é: Consulta, XML,
Consulta\Titulo\Livro, XML\Titulo\Livro, Consulta\Titulo, XML\Titulo. Note-se que a
quantidade de termos diminuiu de oito para seis. A semântica do termo Titulo[Consulta,
XML] é obtida consultando os termos Consulta\Titulo e XML\Titulo, por isso, ele é
desconsiderado nessa notação simplificada. Analogamente, a semântica do termo
Livro[Titulo[Consulta, XML]] é obtida consultando os termos Consulta\Titulo\Livro e
XML\Titulo\Livro. Observe-se que, ao aplicar as estratégias para redução de termos descritas
nas seções 3.2.1 e 3.2.2 e a adoção da notação simplificada, o documento XML, representado
pelo termo complexo da Figura 4, passa a gerar seis termos em vez de onze termos, como
inicialmente (sem considerar os termos complementares). Uma redução de quase 50%.
Para um melhor entendimento do algoritmo CHARM e de sua aplicação na
recuperação de informação em dados semi-estruturados, são descritas, a seguir, dois
exemplos. Esses exemplos consideram pequenas coleções de documentos, para que seja
possível explicar passo a passo a execução do algoritmo CHARM na obtenção dos closed
termsets.
Uma coleção de documentos estruturada em uma árvore XML possui algumas
características que influenciam na quantidade de termos estendidos. Apresentam-se a seguir
as definições de nível de um documento e de uma coleção, coleção homogênea e macro
contexto para estabelecer uma relação entre essas propriedades e a quantidade de termos
estendidos acrescentados ao domínio de termos do modelo vetorial.
Definição 4.7 (Nível de um Documento).
O nível de um documento XML é dado pelo somatório dos nós pertencentes ao maior
caminho entre o nó raiz e o nó folha, ou seja, é a profunidade da árvore XML mais 1. Por
exemplo, todos os documentos da coleção D (ver Figura 10) possuem o mesmo nível, que é
igual a 3.
Definição 4.8 (Nível de uma Coleção). O nível de uma coleção de documentos é igual ao
nível do documento que possui o maior nível dentre os documentos da coleção. Por exemplo,
o nível da coleção de documento D
documentos tem o mesmo nível.
(ver Figura 10) é igual a 3, pois todos os seus
58
Definição 4.9 (Coleção Homogênea).
Um coleção de documentos é homogênea, se todas as raízes de seus documentos possuem o
mesmo rótulo. Por exemplo, a coleção D (ver Figura 10) é homogênea, porque todos os
documentos possuem o rótulo livro em sua raízes.
Definição 4.9 (Macro Contexto).
Um macro contexto é definido pelo rótulo da raiz de um documento. Por exemplo, na coleção
D (ver Figura 10), todos dos documentos possuem os rótulos da raízes iguais, então, a
coleção D tem um macro contexto. A coleção de documentos D’ (ver Figura 13) possui 2
macro contextos visto que seus documentos possuem raízes com dois diferentes rótulos.
Exemplo 2 (Gerando closed termsets de uma coleção homogênea de documentos):
Considere-se uma coleção de documentos semi-estruturados D com cinco documentos
D = {d1, d2, d3, d4, d5}. As árvores XML dos documentos são apresentadas na Figura 10.
A Figura 10 mostra as árvores XML de uma coleção de livros. Nota-se que é uma
coleção de livros, porque a raiz de todos os documentos têm o rótulo livro. Ela está
estruturada da seguinte forma:
•
Cada documento da coleção tem um nó em sua árvore, que possui o rótulo título. As
folhas deste nó correspondem ao título do livro.
•
Cada documento da coleção tem uma nó em sua árvore, que possui o rótulo autor. As
folhas deste nó correspondem ao autor do livro.
•
Cada documento da coleção tem um nó em sua árvore, que possui o rótulo anoP. As
folhas deste nó correspondem ao ano de publicação do livro.
A Figura 11 mostra o vocabulário da coleção de documentos D. Observa-se que o
conjunto de termos Tp = {1, 4, 7, 10, 13, 16, 19, 22, 25, 28, 31, 34, 37, 40, 43, 46, 49} são os
termos correspondentes às folhas das árvores XML dos documentos da coleção D (termos
planos). Estes são os termos que contêm apenas a informação de conteúdo. Eles representam
o vocabulário dessa coleção de documentos para a recuperação de informação tradicional. Os
termos que não estão presentes no conjunto Tp possuem informação de contexto e de
conteúdo (termos estendidos). Observe-se que eles são representados em uma notação
simplificada e seguem as regras de derivação descritas no Capitulo 3. O vocabulário da
coleção de documentos D possui 17 termos planos e 34 termos estendidos em um total de 51
termos. Os termos planos são utilizados na recuperação de informação tradicional. Os termos
59
estendidos representam o aumento do domínio dos termos proposto neste trabalho para
permitir a contextualização da consulta do usuário.
d1
titulo
homem
anoP
autor
calculava
d3
titulo
crise
d2
livro
malba
tahan
d4
anoP
d5
titulo
tabagismo
1985 crise
malba
tahan
anoP
autor
maxismo
perry
livro
anoP
autor
jose
rosemberg
1962
livro
titulo
anderson
perry
anoP
autor
matematica
1998 didatica
livro
autor
maxismo
titulo
livro
1985
Figura 10: Coleção o D de documentos Semi-estruturados do Exemplo 2.
anderson
1988
60
1 – 1962
2 – 1962\anoP
3 – 1962\anoP\livro
4 – 1985
5 – 1985\anoP
6 – 1985\anoP\livro
7 – 1988
8 – 1988\anoP
9 – 1988\anoP\livro
10 – 1998
11 – 1998\anoP
12 – 1998\anoP\livro
13 – anderson
14 – anderson\autor
15 – anderson\autor\livro
16 – calculava
17 – calculava\titulo
18 – calculava\titulo\livro
19 – crise
20 – crise\titulo
21 – crise\titulo\livro
22 – didatica
23 – didatica\titulo
24 – didatica\titulo\livro
25 – homem
26 – home\titulo
27 – homem\titulo\livro
28 – jose
29 – jose\autor
30 – jose\autor\livro
31 – malba
32 – malba\autor
33 – malba\autor\livro
34 – matematica
35 – matematica\titulo
36 – matematica\titulo\livro
37 – maxismo
38 – maxismo\titulo
39 – maxismo\titulo\livro
40 – perry
41 – perry\autor
42 – perry\autor\livro
43 – rosemberg
44 – rosemberg\autor
45 – rosemberg\autor\livro
46 – tabagismo
47 – tabagismo\titulo
48 – tabagismo\titulo\livro
49 – tahan
50 – tahan\autor
51 – tahan\autor\livro
Figura 11: Vocabulário do Exemplo 2
Portanto, para o Exemplo 2, o domínio seria aumentado de 34 termos. Pode-se
verificar que, para cada termo plano, são derivados 2 termos estendidos (34 = 17 × 2) e a
quantidade total de termos do vocabulário é 3 vezes a quantidade de termos estendidos
(51 = 17 × 3). A coleção de documentos D apresenta duas características que permitem
estabelecer essa proporção. Primeiro, todas as árvores de documentos XML possuem o
mesmo nível. Segundo, a coleção de documentos D é uma coleção homogênea.
As proporções identificadas para a coleção de documentos desse exemplo podem ser
generalizadas para a × n (quantidade de termos da coleção de documentos) e a × (n-1)
(quantidade de termos estendidos) onde a é a quantidade de termos planos e n é o nível da
coleção de documentos. Essa generalização é possível, pois um termo estendido deve,
necessariamente, conter informação de conteúdo (folha da árvore) e ser sub-árvore de seu
respectivo termo complexo (Definição 3.5). Se a coleção de documentos é homogênea e
possui documentos com níveis diferentes, então, a quantidade de termos estendidos
acrescentados ao domínio da recuperação de informação tradicional é menor do que a × (n-1).
Por exemplo, a coleção D de documentos, mostrada na Figura 10, possui todos os documentos
com nível igual a três, suponha-se que um ou mais de seus documentos tenha nível menor que
três. Neste caso, o número de termos da coleção seria menor do que 51, pois a quantidade de
termos estendidos gerados é menor. Portanto, se a coleção de documentos for homogênea, no
pior caso, é gerado a × (n-1) termos estendidos para cada termo plano da coleção.
Para gerar os closed termsets do Exemplo 2, é considerado um suporte mínimo de
40%, ou seja, para que o termo seja considerado pelo algoritmo CHARM, é necessário que ele
61
ocorra em pelo menos 2 documentos da coleção D. A escolha do suporte mínimo é um
ponto crítico, pois, se o suporte mínimo for alto, termos relevantes para o processo de
recuperação de informação podem ser descartados. Em [26], é apresentado um gráfico que
mostra o impacto da variação do suporte mínimo em relação a precisão na TreC-3. Os termos
do conjunto de termos TD = {1, 2, 3, 7, 8, 9, 10, 11, 12, 16, 17, 18, 22, 23, 24, 25, 26, 27,
28, 29, 30, 34, 35, 36, 43, 44, 45, 46, 47, 48} possuem um suporte mínimo menor que 40%,
por isso, não são considerados pelo algoritmo. O suporte mínimo de 40% foi escolhido para
exemplificar esse descarte de termos. O conjunto de termos submetido ao algoritmo
CHARM é TR = {4, 5, 6, 13, 14, 15, 19, 20, 21, 31, 32, 33, 37, 38, 39, 40, 41, 42, 49, 50, 51}.
Na primeira linha do algoritmo CHARM, o vocabulário é reduzido aos termos do
conjunto TR. A rotina CHARM-EXTEND faz as combinações entre os termos e verifica se o
resultado é um closed termset por meio da rotina CHARM-PROPERTY. O primeiro termo a
ser considerado é o termo 4. O laço da linha 6 é responsável por combinar todos os outros
termos do conjunto TR com o termo 4. Dentro desse laço, existe uma chamada à rotina
CHARM-EXTEND, na linha 8, que verifica se o resultado da combinação é um close termset
e aponta que ação deve ser executada. O termo 4 é, assim, combinado com o termo 5. O
resultado dessa combinação é o par termset-tidset 4,5xd3d5. Essa notação denota que os
termos 4 e 5 ocorrem nos documentos d3 e d5. A rotina CHARM-EXTEND verifica que o
termset-tidset 4,5xd3d5 satisfaz a primeira propriedade. Portanto, o termo 5 é removido e todas
as ocorrências do termset-tidset 4xd3d5 são substituídas pelo termset-tidset 4,5xd3d5. Voltando
para o laço da linha 6, o próximo termo a ser considerado é o termo 6 (o termos 5 foi
descartado). O termo 5 é descartado, porque ele ocorre no mesmo conjunto de documentos
que o termset-tidset 4,5xd3d5. O termset-tidset gerado, então, é o 4,5,6xd3d5. Também é
verificada a propriedade 1 para o termset-tidset 4,5,6xd3d5. O próximo termo é o 13, logo, o
termset-tidset gerado é 4,5,6,13xd3. Neste, o teste da linha 12 falha por o termset-tidset
4,5,6,13xd3 esta presente apenas no documento d3, ou seja, em menos de dois documentos o
que é abaixo do suporte mínimo exigido. O suporte é reduzido, por que, na linha 7, é feita a
interseção dos documentos onde o termo 13 (d3, d4) e o termset-tidset 4,5,6x d3d5 ocorrem.
Portanto, o termo 13 não é incorporado ao termset 4,5,6xd3d5. Todos os demais termos, ao
serem combinados com o termset-tidset 4,5,6xd3d5, também terão suporte menor que o
mínimo. O primeiro closed termset é C1 = {4, 5, 6xd3d5}.
O próximo termo é o 13, porque o 5 e 6 foram descartados conforme descrito no
parágrafo anterior. O termo 13 é combinado como o termo 14, gerando o termset-tidset
62
13,14xd3d4. É verificada a primeira propriedade para esse termset-tidset. Então, é descartado
o termo 14 e todas as ocorrências do termset-tidset 13xd3d4 são substituídas pelo termsettidset 13,14xd3d4. Este fato repete-se para os termos 15, 16, 19, 20, 21, 38, 39, 40, 41 e 42.
Para os termos 31, 32, 33, 49, 50 e 51, o suporte do termset-tidset gerado é menor do que o
mínimo. Portanto, o segundo closed termset é C2 = {13, 14, 15, 16, 19, 20, 21, 38, 39, 40, 41,
42x d3d4}. O próximo é o termo 31, que será comparado com os termos 32, 33, 49, 50 e 51. É
verificada a propriedade 1 para as combinações com esses termos. O terceiro e último
closed termset é C3 = {31, 32, 33, 49, 50, 51x d1d2}. A Figura 12 mostra como o Algoritmo
CHARM é executado para o Exemplo 2.
{}
4xd3d5
13xd3d4
31xd1d2
4,5xd3d5
13,14xd3d4
31,32xd1d2
4,5,6xd3d5
13,14,15xd3d4
31,32,33xd1d2
13,14,15,19xd3d4
31,32,33,49xd1d2
13,14,15,19,20xd3d4
31,32,33,49,50xd1d2
13,14,15,19,20,21xd3d4
31,32,33,49,50,51xd1d2
13,14,15,19,20,21,37xd3d4
13,14,15,19,20,21,37,38xd3d4
13,14,15,19,20,21,37,38,39xd3d4
13,14,15,19,20,21,37,38,39,40xd3d4
13,14,15,19,20,21,37,38,39,40,41xd3d4
13,14,15,19,20,21,37,38,39,40,41,42xd3d4
Figura 12: Processo de Busca para o Exemplo 2 Usando Tidsets
Após aplicar o algoritmo CHARM ao conjunto de termos TR, são gerados três closed
termsets C1, C2 e C3. A Tabela 3 mostra uma comparação entre a quantidade de termos na
recuperação de informação tradicional, na recuperação de informação considerando o domínio
aumentado dos termos ({termos planos} ∪ {termos estendidos}) e empregando o conceito de
closed termsets.
A quantidade de termos estendidos nos closed termsets é o número de termos do
vocabulário menos os termos que não possuem suporte mínimo maior do que o determinado
(conjunto TD). Entretanto, como a unidade de indexação é o closed termset, então, o índice
63
para a coleção de documentos D tem apenas 3 entradas a saber C1 = {4, 5, 6xd3d5}, C2 = {13,
14, 15, 16, 19, 20, 21, 38, 39, 40, 41, 42x d3d4} e C3 = {31, 32, 33, 49, 50, 51x d1d2}.
Tabela 3: Comparação da Quantidade de Termos Indexados do Exemplo 2
Abordagens
Recuperação de Informação tradicional
Recuperação de informação com o domínio aumentado
Recuperação de informação com o domínio aumentado empregando o
conceito de conjunto de termos
Quantidade de termos
indexados
17
51
3
Conclui-se que a indexação dos closed termsets diminui consideravelmente a
quantidade de termos a serem indexados. Observando no Exemplo 2, verifica-se que os
termos estendidos que contêm um determinado termo plano como sua
informação de
conteúdo estão no mesmo closed termset. Por exemplo, o termo 4 é um termo plano, pois não
contém informação de contexto, os termos estendidos 5 e 6 são termos que possuem
informação de contexto e de conteúdo. A informação de conteúdo dos termos estendidos 5 e 6
é exatamente o termo 4. Os termos 4, 5, 6 estão no mesmo closed termset. Esta é uma
tendência natural, pois esses termos, geralmente, estão presentes em um mesmo conjunto de
documentos. A explicação para este fato é simples, o termo 4 (termo plano) ocorre nos
documentos d3 e d5. Além disso, a estrutura (\anop\livro) que contextualiza o termo 4 é a
mesma para os dois documentos. Por isso, os termos 4, 5 e 6 estão no mesmo closed termset.
Essa característica faz com que seja gerado um número menor de closed termsets. Isto ocorre,
porque os termos que possuem informação de contexto e conteúdo tendem a ser agrupados no
mesmo conjunto no qual está o termo que representa a sua informação de conteúdo.
A quantidade de closed termsets é menor do que a quantidade de termos planos (ver
Tabela 3). Portanto, para o Exemplo 2, o número de termos planos indexados na recuperação
de informação tradicional, para a coleção de documentos D, é maior do que o número de
closed termsets. Isso quer dizer que, neste caso, é possível acrescentar a contextualização à
consulta do usuário e, ainda, construir um índice menor do que na recuperação de informação
tradicional. Assim, a estratégia de indexar conjunto de termos em vez de termos mostra-se
eficiente para lidar com o problema de crescimento do índice. Vale lembrar que
características com nível da coleção de documentos, ramificação das árvores XML e
quantidade de macro contextos da coleção influenciam no número de
gerados.
closed termsets
64
Exemplo 3 (Gerando closed termsets de uma coleção não homogênia de documentos):
Considere-se uma coleção de documentos semi-estruturados D’ com 3 documentos D’ = {d1,
d2, d3}. As árvores XML dos documentos são apresentadas na Figura 13.
A Figura 13 mostra as árvores XML de uma coleção de documentos D’. Esta coleção
de documentos possui a mesma estrutura da coleção D. Entretanto, D’ é uma coleção de livros
e CDs, ou seja, D’ não é homogênea. A Figura 14 mostra o vocabulário da coleção D’.
Para gerar os closed termsets do Exemplo 3, é considerado um suporte mínimo de
33,33%. Assim, todos os termos do vocabulário do Exemplo 3 são iguais ou estão acima do
suporte mínimo. No Exemplo 2, foi considerado um suporte de 40%, que limitou os termos da
coleção de documentos D que foram processados pelo algoritmo CHARM para o conjunto de
termos de TR. Portanto, dependendo do suporte mínimo escolhido, termos do vocabulário
podem ser descartados. A execução do algoritmo CHARM inicia-se pelo termo 1. Ao entrar
no laço da linha 6, o termo 1 é combinado com o termo 2, gerando o termset-tidset 1,2xd1d2.
É verificada a primeira propriedade para este termset-tidset, assim, o termo 2 é descartado e o
termo termset-tidset 1xd1d2 é substituído pelo termset-tidset 1,2xd1d2.
d1
titulo
1980
livro
d2
anoP
autor
marcos
titulo
jesus
1980
d3
titulo
futuro
futuro
anoP
autor
computador
silva
1980
livro
anoP
autor
computador
CD
silva
1990
Figura 13: Coleção D’ de documentos semi-estruturados do Exemplo 3
A próxima combinação é com o termo 3, gerando o termset-tidset 1,2,3xd2. É
verificada a terceira propriedade, então, o termo 3 é apagado e o termset-tidset 1,2,3xd2 é
65
acrescentado a P1. Este processo ser repete para os termos 4, 5, 6, 10, 11, 12, 14, 15, 16 18,
19, 20, 21, 22, 23, 24, 25 e 26. Para os termos 7, 8, 9, 13, 17, 27, o teste da linha 12 falha. Ao
final da combinação do termo 1 com os demais termos do vocabulário, é encontrado o
primeiro closed termset C’1 = {1, 2xd1d2}. O próximo passo é chamar recursivamente a rotina
CHARM-EXTEND para P1 ={1,2,3xd2; 1,2,4xd1; 1,2,5xd1; 1,2,6xd1; 1,2,10xd2; 1,2,11xd2;
1,2,12xd2; 1,2,14xd2; 1,2,15xd2; 1,2,16xd2; 1,2,18xd1; 1,2,19xd1; 1,2,20xd1; 1,2,21xd1;
1,2,22xd1; 1,2,23xd1; 1,2,24xd2; 1,2,25xd2; 1,2,226xd2;}. Ao combinar 1,2,3xd2 com os
termset-tidset de P1 que está presente apenas em d1, a condição da linha 12 falha. Quando a
combinação é feita com os termset-tidset, que também ocorrem em d2, a propriedade 1 é
verificada e, então, é obtido o segundo closed termset C’2 = {1, 2, 3, 10, 11, 12, 14, 15, 16,
24, 25, 26xd2}.
1 – 1980
2 – 1980 \anoP
3 – 1980 \anoP\CD
4 – 1980 \anoP\livro
5 – 1980 \titulo
6 – 1980 \titulo\livro
7 – 1990
8 – 1990\anoP
9 – 1990\anoP\livro
10 – computador
11 – computador\titulo
12 – computador\titulo\CD
13 – computador\titulo\livro
14 – futuro
15 – futuro\titulo
16 – futuro\titulo\CD
17 – futuro\titulo\livro
18 – jesus
19 – jesus\autor
20 – jesus\autor\livro
21 – marcos
22 – marcos\autor
23 – marcos\autor\livro
24 – silva
25 – silva\autor
26 – silva\autor\CD
27 – silva\autor\livro
Figura 14: Vocabulário do Exemplo 3
O próximo passo é combinar o termset-tidset 1,2,4xd1 com os demais termos. Ao
combinar 1,2,4xd1 com os termset-tidset de P1 que está presente apenas em d2, a condição da
linha 12 falha. Quando a combinação é feita com os termset-tidset, que também ocorrem em
d1, a propriedade 1 é verificada e é obtido o terceiro closed termset C’3 = {1, 2, 4, 5, 6, 18,
19,20, 21, 22, 23xd1}. O termo 7 é o próximo termo a ser combinado com os termos restantes
de P. Ao combinar o termo 7 com o termo 8, a propriedade 1 é verificada, gerando o termsettidset 7,8xd3. Este processo repete-se para os termos 9, 13, 17 e 27. Para a combinação do
termo 7 com os termos 10, 11, 14, 15, 24, 25, é verificada a propriedade 2. Ao final das
combinações com o termo 7, é encontrado o quarto closed termset C’4 = {7, 8, 9, 10, 11, 13,
66
14, 15, 17, 24, 25, 27xd3}. O termo 10 é o próximo termo a ser combinado. Ele é combinado
com o termo 11 e é verificada a propriedade 1. O processo repente-se para os termos 14, 15,
24, 25. Ao final das combinações com o termo 10 é encontrado o quinto closed termset
C’5 = {10, 11, 14, 15, 24, 25xd2d3}.A Figura 15 mostra como o Algoritmo CHARM é
executado para o Exemplo 3.
As proporções a × n e a × (n – 1) verificadas no Exemplo 2 não acontecem no
Exemplo 3. A quantidade total de termos é 27 e 7 × 3 = 21, onde 7 é a quantidade de termos
planos e 3 o nível da coleção de documentos D’. A quantidade de termos estendidos gerados é
igual a 20 e 7 × 2 = 14, onde 7 é a quantidade de termos planos e 2 o nível da coleção de
documentos menos 1. Esse fato, ocorre porque a coleção D’ não é homogênea (livros e CDs).
Portanto, para coleções de documentos heterogêneas, a quantidade de termos estendidos
obtidos é maior do que n - 1 vezes a quantidade de termos planos. Entretanto, pode-se
observar que a quantidade de closed termsets gerada ainda é menor do que a quantidade de
termos planos. Observa-se, também, que, apesar da coleção D ter um número maior de
documentos (5) do que a coleção D’ (3), a quantidade closed termsets de D é menor do que
D’. Coleções homogêneas produzem um número menor de closed termsets, uma vez que
contêm uma quantidade menor de macro contextos. Por exemplo, a coleção D possui apenas o
macro contexto livro e a coleção D’ os macros contextos livro e CD. A comparação entre a
quantidade de termos a serem indexados do Exemplo 2 é apresentada na Tabela 3.
Tabela 4: Comparação da Quantidade de Termo Indexados do Exemplo 3
Abordagens
Recuperação de Informação tradicional
Recuperação de informação com o domínio aumentado
Recuperação de informação com o domínio aumentado empregando
o conceito de conjunto de termos
Quantidade de termos
indexados
7
27
5
Como pode ser observado nos Exemplo 2 e Exemplo 3 a quantidade de closed
termsets é menor do que a quantidade de termos planos. Portanto, nesses dois exemplos, a
quantidade de closed termsets é menor do que a quantidade de termos indexados na
recuperação de informação tradicional. Isso mostra que a proposta de indexar conjunto de
termos em vez de termos é uma estratégia capaz de diminuir a quantidade de termos do
índice. Em [26] foram realizados experimentos para calcular os closed termsets para algumas
coleções de documentos. Dentre essas coleções, encontra-se a Trec-3 com, aproximadamente,
67
1 milhão de termos e um milhão de documentos. O resultado desse cálculo mostra que foram
obtidos aproximadamente, quatro mil closed termsets, isto é, 0,4%. Além disso, os termos
derivados de um mesmo ramo de uma árvore XML, por exemplo, os termos jose, jose/autor e
jose/autor/livro tendem a permanecer em um mesmo closed termset. Esta característica é
importante, porque, na abordagem proposta nesta dissertação, os termos que possuem
informação de estrutura e de conteúdo são derivados do mesmo ramo em que a sua
informação de conteúdo (folha) está localizado. Assim, esses termos geralmente são
agrupados em um mesmo conjunto.
A próxima seção apresenta uma proposta de como o modelo vetorial pode ser aplicado
no cálculo da similaridade entre documentos e consultas, considerando os closed termsets
como unidade de indexação
4.4 - Cálculo da Similaridade no Modelo Proposto
No modelo vetorial clássico, os documentos e consultas são representados por vetores e a
medida de similaridade mais empregada é o coseno do ângulo entre os vetores do documento
e da consulta (ver Equação 1 Capítulo 2). A proposta apresentada neste trabalho é utilizar o
mesmo cálculo da similaridade do modelo vetorial, aumentando o domínio dos termos da
recuperação de informação tradicional com os termos estendidos para possibilitar a pesquisa
contextualizada. Para lidar com o crescimento na quantidade de termos, são propostas três
estratégias conforme discutido na seção 3.2. A primeira é descartar termos estendidos com
informação apenas de contexto, entendendo que o usuário pesquisará por pelo menos uma
informação de conteúdo. A segunda é descartar os termos complementares porque se fossem
considerados a quantidade de termos cresceria de forma exponencial, embora este descarte
limite a representatividade da semântica do documento. A terceira é mudar a unidade de
indexação de termos para conjunto de termos, pois considerando conjunto de termos a
quantidade de unidades de indexação é menor e, conforme apresentado em [26], há um ganho
de qualidade na resposta. Esta seção apresenta uma proposta baseada em [26] para calcular a
similaridade entre documentos e consultas considerando os closed termsets.
4.4.1 – Estruturas Necessárias para o Cálculo da Similaridade
Para calcular a similaridade entre documentos e consultas indexando closed termsets, são
usadas as seguintes estruturas de dados:
68
1- Vocabulário: O vocabulário é o conjunto de termos estendidos
e termos planos(na
notação simplificada) distintos que estão presentes nos documentos da coleção. Esses
termos são armazenadas em ordem lexicográfica. A Figura 11 (pg. 59) e a Figura 14 (pg.
64), são exemplos de vocabulários;
2- Lista Invertida de Termos: Armazena, para cada termo plano e estruturado, um vetor de
documentos e a freqüência do termo no documento para cada termo da coleção;
3- Lista Invertida de Closed Termsets: Armazena, para cada closed termset os documentos e
a freqüência do closed termset no documento;
4- Vetor de Norma: Armazena a norma de cada documento;
4.4.2 – Exemplo do Cálculo da Similaridade
Para exemplificar o cálculo da similaridade, considere-se a coleção de documentos da Figura
13 (pg. 63), o vocabulário da Figura 14 (pg. 64) e o seguinte tópico
TC 7: “Documentos que tenham o nome Marcos como autor, a palavra computador no título e
a número 1980 em qualquer parte do documento.”
O TC 7 pode ser representado por q = (1980, marcos\autor, computador\titulo)1. A
consulta q representa a necessidade de informação do usuário relativo a TC7.
Primeiro passo:
Verificar os índices dos termos procurados no vocabulário, q = {1, 11, 22}.
Tabela 5: Índices dos termos da consulta q
Termo Estendido
1980
Computador\titulo
Marcos\autor
Índice no Vocabulário
1
11
22
Segundo Passo:
1
As estratégias para transformação de TC 7 em q não são discutidas neste trabalho.
69
Calcular os closed termsets dos termos da consulta. Cada termo da consulta é
considerado 1-termset, ou seja, um
conjunto com
apenas
1 termo. Verificar se
σ(termsets) ≥ sup_mim. Considerando sup_mim = 1 (33,33%), então se o termo está no
vocabulário, ele tem um suporte maior ou igual a sup_mim. Observe-se que os termos que não
estão no vocabulário não são processados pelo algoritmo CHARM. Por exemplo, considere-se
que a consulta q tenha o termo “flores”, como este termo não pertence ao vocabulário da
coleção de documentos o seu suporte é menor do que o suporte mínimo, portanto, o termo
“flores” não é analisado pelo algoritmo CHARM. A Figura 16 apresenta a árvore TermsetTidset dos termos da consulta gerada pelo CHARM.
Os closed termsets cq1 ={1xd1d2}, cq2 ={1,11xd2}, cq3 ={1,22xd1} e cq4 = {11xd3}
são gerados conforme descrito no Capítulo 4. Portanto, a consulta q = Cq = (cq1, cq2, cq3,
cq4).
[]
1xd1d2
1,11xd2
11xd3
1,22xd2
Figura 15: Árvore Termset-Tidset para os termos da consulta q.
Terceiro Passo:
Calcular a similaridade. No modelo vetorial clássico, a similaridade entre documentos
e consulta é dada pela Equação 1. Considerando o conjunto de termos ao invés de termos, a
Equação 1 pode ser escrita
sim(d j , q) =
dj • q
| dj | × | q |
=
∑c∈C
t
∑i=1 w
q
wc, j • wc,q
2
i, j
•
t
(Equação 2)
∑i=1 w
2
i ,q
onde wc,j é o peso associado com o closed termset c no documento dj, wc,q é o peso associado
com o closed termset c na consulta q, Cq é o conjunto de todos os closed termsets c ⊆ q, wi,j é
o peso do termo i no documento dj e wi,q é o peso do termo i na consulta q. Observe-se que
70
como em [26], neste trabalho, a normalização é feita usando as normas do documento e da
consulta ao invés de closed termsets. Isto é feito para reduzir o custo computacional de
calcular a norma de um documento d, usando os closed termsets. A Equação 2 é a mesma
utilizada em [26]. Os vetores da coleção dos documentos e da consulta são:
q = (c1 , c 2 , c3 , c 4 ,0)
d 1 = (c1 ,0, c3 ,0,0)
d 2 = (c1 , c 2 ,0,0, c5 )
d 3 = (0,0,0, c 4 , c5 )
Observe-se que os closed termsets da consulta são subconjuntos dos closed termsets
indexados da coleção de documentos D’ (ver Figura 15). Por exemplo, cq1 = {1xd1d2} o termo
estendido de índice 1 é subconjunto de C’1, C’2 e C’3. Entretanto, apenas C’1 ocorre no
mesmo conjunto de documentos d1d2, então, cq1 corresponde à C’1. Logo, a frequência do
closed termset cq1 no documento j da consulta q é a mesma freqüência do closed termset C’1
no documento j que está armazenada no índice. Para calcular o peso de um closed termset c
associado a um documento j, tem-se
 N
wc , j = cf i , j × ids i = cf i , j × log
 dsi



(Equação 3)
onde N é o número de documentos na coleção, sfi,j é o número de ocorrências do closed
termset i no documento j (sfi,j tem a mesma semântica de tfi,j), idsi é a freqüência inversa das
ocorrências dos closed termsets na coleção (idsi tem a mesma semântica de idfi). A sfi,j é dada
pela menor freqüência dos termos pertencentes ao closed termset i no documento j. Por
exemplo, sf1,1 = 2 pois é a menor freqüência dentre os termos do closed termset C1 associado
ao documento d1 (Figura 17). A idsi é dada pela lista invertida de closed termsets. Por
exemplo, o closed termset C1 ocorre em 2 documentos da coleção D’ (Figura 13).
Efetuando-se os cálculos conforme descrito nesta seção, obtém-se o seguinte ranking:
1° - d1
2° - d2
71
3° - d3
O documento d1 é o mais similar à consulta q. Observe-se que o documento d1 possui
dois dos três termos da consulta, 1980 e marcos/titulo. O documento d2 têm os termos 1980,
computador/titulo e o documento d3 possui computador/titulo. A diferença dos pesos dos
closed termsets é que determina que d1 esteja em primeiro lugar no ranking.
A estratégia de indexação e de cálculo do ranking proposta em [26] pode ser aplicada
utilizando a abordagem proposta nesta dissertação. Isto acontece porque os termos estendidos
são tratados como os termos planos da recuperação de informação tradicional.
72
1
d1 3
d2 4
2
d1 2
d2 1
3
d2 1
4
d1 2
5
d1 1
6
d1 1
7
d3 6
8
d3 2
9
d3 1
10
d2 18
d3 20
11
d2 2
d3 2
12
d2 1
13
d3 1
14
d2 7
d3 10
15
d2 1
d3 1
16
d2 1
17
d3 1
18
d1 3
19
d1 1
20
d1 1
21
d1 4
22
d1 1
23
d1 1
24
d2 2
d3 3
25
d2 1
d3 1
26
d2 1
27
d3 1
Figura 16: Lista Invertida da Coleção de Documentos D’.
73
[]
1 xd1d2
1,2 xd1d2
1,2,3xd
1,2,4xd 1,2,5xd 1,2,6xd1 1,2,10xd 1,2,11xd 1,2,12xd2 1,2,14xd2 1,2,15xd2 1,2,16xd2 1,2,18xd1 1,2,19xd 1,2,20xd 1,2,21xd 1,2,22xd 1,2,23xd1 1,2,24xd2 1,2,25xd2 1,2,26xd2
2
1,2,3,10xd2
1,2,3,10,11xd
1,2,310,11,12xd2
1,2,310,11,12,14xd2
1,2,3,10,11,12,14,15xd2
1,2,3,10,11,12,14,15,16xd2
1,2,3,10,11,12,14,15,16,24xd2
1,2,3,11,12,14,15,16,24,25x
d
2
1,2,3,11,12,14,15,16,24,25,26xd
2
1
1
1,2,4,5xd1
1,2,4,5,6xd1
1,2,4,5,6,18xd1
1,2,4,5,6,18,19xd1
1,2,4,5,6,18,19,20xd1
1,2,4,5,6,18,19,20,21xd1
1,2,4,5,6,18,19,20,21,22xd1
1,2,4,5,6,18,19,20,21,22,23xd1
[]
7 xd3
10,11 x
d d xdd
10,11
2 3
7,8 xd3
7,8,9xd3
10,11,14 x d2d3
7,8,9,10 xd3
10,11,14,15 x d2d3
7,8,9,10,11 xd3
10,11,14,15,24 x d2d3
7,8,9,10,11,12 xd3
7,8,9,10,11,12,13 xd3
10,11,14,15,24,25 x d2d3
7,8,9,10,11,12,13,14 xd3
7,8,9,10,11,12,13,14,15
xd
7,8,9,10,11,12,13,14,15,17 xd3
7,8,9,10,11,12,13,14,15,17,24 xd3
7,8,9,10,11,12,13,14,15,17,24,25 xd3
7,8,9,10,11,12,13,14,15,17,24,25,27 xd3
Figura 17: Processo de Busca para o Exemplo 3 Usando Tidsets
Capítulo 5
Experimentos
Existem algumas iniciativas com o objetivo de dar suporte às pesquisas realizadas pela
comunidade de recuperação de informação, provendo uma estrutura necessária para a
avaliação em larga escala de suas metodologias. A TREC [34] (Text REtrieval Conference) é
um exemplo para a recuperação de informação tradicional. A INEX [19] (Initiative for the
Evaluation of XML retrieval) apresenta um papel semelhante a TREC para a recuperação de
informação em dados semi-estruturados. Ela é uma iniciativa recente (2002), que foi motivada
pelo crescente uso da XML na área de recuperação de informação.
Além da coleção de documentos XML, a INEX também possui um conjunto de
consultas (tarefas) para que os usuários possam ser capazes de julgar a qualidade das
respostas retornadas pelos sistemas de recuperação de informação. No início de 2002, a
coleção de documentos da INEX era composta por textos completos da IEEE Computer
Society de 1995 até o início de 2002. A coleção inclui os artigos de 12 volumes de revistas e 6
transactions. Detalhes da coleção INEX podem ser encontrados em [17].
Em virtude do grupo de recuperação de informação da Universidade Federal de
Uberlândia – UFU – não fazer parte da INEX, optou-se por uma coleção de documentos XML
local para realizar os experimentos, empregando a abordagem proposta nesta dissertação. O
objetivo desses experimentos é mostrar que a quantidade de closed termsets é menor do que a
quantidade de termos do vocabulário estendido (termos planos e termos estendidos) proposto
neste trabalho.
75
A Universidade Federal de Uberlândia possui uma coleção de peças teatrais em sua
Biblioteca Central. Esta coleção é constituída de 778 textos de peças teatrais. Para possibilitar
a conservação e pesquisa desse acervo por meio de um sistema informatizado, está sendo
desenvolvido um projeto para a construção de uma Biblioteca Digital de Peças Teatrais
(BDPT), conjuntamente pelo Sistema de Bibliotecas da Universidade Federal de Uberlândia,
Faculdade de Computação e o curso de Artes Cênicas. No momento da execução dos
experimentos haviam 72 peças digitalizadas e formatadas.
A forma de armazenamento e estruturação dessa coleção é XML. A escolha da coleção
de peças teatrais para a realização dos experimentos da abordagem proposta nesta dissertação
foi motivada, principalmente, pela complexidade de sua estrutura e pela disponibilidade da
mesma.
5.1 – Estrutura da Coleção de Documentos
Uma das primeiras dificuldades no projeto do BDPT foi encontrar uma estrutura
genérica que atendesse a todo o acervo de peças. Para essa definição, foram necessários os
conhecimentos específicos dos professores do curso de artes cênicas e dos funcionários da
biblioteca. A estrutura básica da peça é dividia em duas partes:
•
Registro Marc: Marc é um padrão usado na biblioteconomia para a catalogação de acervos
bibliográficos. Dentro desse padrão, foram escolhidas algumas informações para formar
um padrão específico para a catalogação de peças teatrais.
•
Texto da Peça: Nesta parte da estrutura do BDPT, foi definida uma estrutura genérica para
peças teatrais. Portanto, todo conteúdo da peça é armazenado nessa estrutura definida.
A informação contida no registo MARC tem uma estrutura bem definida. Por
exemplo, autores da peça, gênero, idioma etc. Para esse tipo de informação, a solução
oferecida por
um sistema gerenciador de banco de dados atende às necessidades de
informação do usuário. Portanto, foi definido que esta parte seria armazenada em um banco
de dados (MySQL). Por outro lado, o conteúdo da peça não possui uma estrutura bem
definida. A XML foi o padrão escolhido para armazenar e estruturar o conteúdo dessas peças.
As Figura 18 e Figura 19 mostram a estrutura definida para o conteúdo das peças
teatrais. Na Figura 18, observa-se que a peça é dividida em duas partes o registro-marc e
76
texto_peca. O resgisto_marc é armazenado em um banco de dados, e o texto_peca é
estruturado e armazenado utilizando a XML, conforme descrito anteriormente. O texto_peca
também está dividido em duas partes, divisao e prologo. No prologo, é armazenado todo texto
que não faz parte da dramatização da peça. O nó divisao tem os filhos ato, episodio, parte,
cena, outro. Esses nós representam a estrutura básica de uma peça. Cada uma dessas
estruturas são divididas em cena, monologo, dialogo, letra_musica, poesia, outro_texto. Esses
elementos possuem duas divisões texto e rubrica. No elemento texto, é armazenado o texto
referente ao ramo da árvore de que ele faz parte. Na rubrica, é armazenado o texto que indica
a interferência direta do autor na dramatização da peça. Observa-se que o elemento
outro_texto e outro foram definidos para armazenar as informações que não são classificadas
nos outros elementos. Cada elemento do nó divisao, com exceção do elemento cena, possui
uma estrutura conforme mostra a Figura 19. O elemento cena possui a estrutura mostrada na
Figura 19 sem o nó cena (referência recursiva).
5.2 – Cálculo dos Closed termsets
O BDPT encontra-se no início da fase em que as peças estão sendo digitadas. Os
experimentos realizados para o cálculo dos closed termsets dessa coleção foram realizados em
72 peças. A derivação dos termos estendidos foi feita seguindo 4 passos:
•
Passo 1: Com base nos documentos XML digitados são gerados novos documentos
filtrando as stopwords apresentadas em [33] e [27] Este filtro realizado, utilizando XSL e
JAVA;
•
Passo 2: A partir dos documentos filtrados do Passo 1, é construído o vocabulário
utilizando JAVA. Este vocabulário contém os termos planos (folhas) e os termos
estendidos segundo a notação simplificada definida no Capítulo 4.
•
Passo 3: Neste passo, é gerado, a lista invertida de termos para a coleção de documentos
de peças teatrais.
•
Passo 4: Com base nesta lista invertida, é aplicado o algoritmo CHARM para obter os
closed termosets.
A Figura 20 mostra o esquema descrito nos passos 1 à 4.
77
No Passo 1, também são tratadas acentuação e letras em maiúsculo. O Algoritmo
CHARM foi implementado empregando a linguagem C no ambiente windows. Em [39], são
descritas duas estratégias para melhorar a performance do algoritmo CHARM, são elas:
•
A utilização de diffsets: Um diffset é a diferença entre dois termsets, ou seja,
d(PXY) = t(PX) – t(PY), onde P é a classe de equivalência (prefixo) dos termsets X e Y
(ver Capítulo 4). A idéia é armazenar a diferença entre dois termsets em vez de sua
intercessão (t(X) ∩ t(Y)). Segundo [39], essa estratégia reduz a quantidade de memória
necessária para armazenar resultados intermediários.
•
Combinar dois termsets Xi e Xj somente se Xi Xj for freqüente: Isto é feito calculando o
conjunto de termsets de tamanho 2 para verificar se eles são freqüentes. Essa otimização
baseia-se no fato de que muitos termsets de tamanho 2 não são freqüentes.
A implementação do algoritmo proposto nesta dissertação não considerou estas duas
estratégias para melhoria de performance em decorrência do tamanho da coleção de
documentos. O algoritmo utilizado foi o CHARM descrito na Figura 9 O resultado do
algoritmo CHARM aplicado a 72 documentos da coleção de peças teatrais é mostrado na
Tabela 6. O suporte mínimo utilizado foi de 1,38%, ou seja, todos os termos da coleção foram
considerados.
Tabela 6: Estatísticas da Aplicação do Algoritmo CHARM no BDPT
Nro. Documentos
Nro. de termos do vocabulário
(termos planos e termos
estendidos)
Nro. de closed termsets
72
300.870
264
Observa-se que há uma grande diferença entre a quantidade de termos do vocabulário
e a quantidade de closed termsets. Assim, o problema do tamanho do índice gerado pela
quantidade de termos inseridos no vocabulário (termos estendidos), pode ser tratado
utilizando a estratégia de indexar conjunto de termos (closed termsets). Este trabalho não
abordou a eficácia do uso de closed termsets, pois segundo os experimentos apresentados em
[26], a indexação dos closed termsets provê uma maior precisão na recuperação de
informação se comparado com a indexação tradicional.
78
peca
texto _peca
registro
marc
divisao
outro
cena
prologo
parte
episodio
campo
ato
subcampo
Figura 18: Estrutura da Coleção de Documentos do BDPT
ato/episodio/parte/outro
outro_texto
texto
rubrica
texto
poesia
rubrica
letra_musica
texto
rubrica
diálogo
texto
monologo
rubrica
Figura 19: Estrutura Interna da Coleção de Documentos do BDPT
texto
cena
rubrica
texto
rubrica
lider
79
XSL
+
JAVA
documentos
XML
digitados
JAVA
documentos
XML
filtrados
Vocabulário
JAVA
Algoritmo
CHARM
Closed
Termsets
Lista
Invertida de
termos
Figura 20: Esquema para o cálculo dos closed termsets para a coleção de documentos do BDPT
Capítulo 6
Conclusão
A recuperação de informação em documentos semi-estruturados tem recebido uma crescente
atenção desde o surgimento da linguagem XML. Várias abordagens propostas pela literatura
utilizam a informação de contexto dos documentos no cálculo do ranking. Esta dissertação
apresentou uma extensão ao modelo vetorial com o objetivo de se utilizar a informação de
contexto no cálculo da similaridade entre documentos e consultas. Dessa maneira, foi possível
aliar a simplicidade e desempenho do modelo vetorial às vantagens da consulta
contextualizada. A abordagem para se atingir esse objetivo, foi acrescentar ao domínio de
termos da recuperação de informação tradicional os termos estendidos.
A derivação dos termos complexos é feita observando as possíveis sub-árvores desde a
raiz até os nós folhas da árvore do documento XML. A quantidade de termos compostos
derivado dos termos complexos é exponencial. Portanto, um domínio de termos onde fosse
acrescentado os termos compostos torna-se computacionalmente inviável. Para evitar este
problema alguns trabalhos calculam as estatísticas necessárias para calcular o ranking durante
a consulta.
A contribuição central desta dissertação é definir um domínio de termos com
informação de contexto onde o cálculo das estatísticas é feito durante a indexação da coleção
de documentos. Para lidar com o problema do aumento exponencial de termos, foi proposto
descartar os termos que possuem somente informação de contexto e indexar conjunto de
termos em vez de termos. Essas duas estratégias não oferecem prejuízo à contextualização
oferecida ao usuário. Por outro lado, o descarte dos termos complementares traz prejuízo a
81
essa contextualização. Portanto, o descarte dos termos complementares pode ser feito de
forma parcial ou total, dependendo das características da coleção de documentos.
Ao considerar apenas os termos estendidos, nota-se que a quantidade de termos
acrescentados ao domínio da recuperação de informação tradicional é a × (n – 1), onde a é a
quantidade de termos planos da coleção de documentos (folhas das árvores XML), e n é o
nível da coleção de documentos. A quantidade total de termos do vocabulário é a × n. A
quantificação desses termos é possível pelo fato dos termos estendidos necessariamente
estarem associados a um termo plano e também serem sub-árvores de seus respectivos termos
complexos. Assim, considerando termos planos e termos estendidos a quantidade de termos
adicionados ao domínio de termos da recuperação de informação tradicional deixa de ser
exponencial.
A principal diferença entre a recuperação de informação em dados semi-estruturados
e a recuperação de informação tradicional é a utilização da informação de estrutura no cálculo
da similaridade entre documentos e consultas. Esta informação de contexto é utilizada para
aumentar a precisão do ranking. Entretanto, para que o usuário de um SRI tire proveito dessa
vantagem, é desejável que ele tenha noções de como os documentos, da coleção pesquisada,
estão estruturados. Assim, os SRI’s de coleções de documentos específicas, tais como
coleções jurídicas, médicas e etc, são os mais indicados a usarem a informação de contexto no
cálculo do ranking. Isto porque seus usuários geralmente conhecem a coleção de documentos
que estão pesquisando.
Os trabalhos futuros concentram-se na implementação do modelo proposto em uma
coleção de documentos maior para avaliação dos resultados e comparar com outras
abordagens que utilizam a informação de contexto dos documentos no cálculo do ranking.
82
Referências Bibliográficas
[1]
ABTEBOUL, S.; QUASS, D.; McHUGH, J.; WIDOM, J.; WIENER, J. The Lorel
Query Language for Semistrucutred Data. International Journal on Digital Libraries,
v. 1, n.1, p.68-88, Apr. 1997.
[2]
ALMEIDA, M. B. Uma introdução ao XML, sua utilização na Internet e alguns
conceitos complemetares. CIÊNCIA DA INFORMAÇÃO, Brasília, v.31, n.2, p. 5-13,
maio/agosto. 2002.
[3]
BAEZA-YATES, R.; RIBEIRO-NETO, B. Modern Information retrieval. New york:
ACM Press, 1999.
[4]
BARG, M.; WONG, R. K. Structural Proximity Searching for Large Collections of
Semi-Structured Data. In: ACM CONFERENCE ON INFORMATION AND
KNOWLEDGE MANAGEMENT (CIKM), 2001, Atlanta. Proceedings... Atlanta:
ACM, p. 175-182, 2001.
[5]
BONIFATI, A.; LEE, D. Technical Survey of XML Schema and Query Languages.
January, 2001. Disponível em: < http://www.icar.cnr.it/angela/publications.shtml>.
Acesso em: Jun. 2003.
[6]
BOSAK, J. XML. Java, and the future of the Web, USA, 1997. Disponível em:
<http://www.ibiblio.org/pub/sun- info/standards/ xml/why /xmlapps.htm>. Acesso em: Mar. 2003.
[7]
BREMER, J. M.; GERTZ, M. An Efficient XML Node Identification and Indexing
Scheme. California: Department of Computer Science, University of California,
January 2003. Technical Report CSE-2003-04. Disponível em:
< http://www.db.cs.ucdavis.edu/~bremer/TR_CSE-2003-04_BremerGertz.pdf >.
Acesso em: Fev. 2003.
83
[8]
CARMEL, D.; EFRATY, N.; LANDAU, G. M.; MAAREK, Y. S.; MASS, Y. An
extension of the Vector Space Model for Querying XML Documents via XML
Fragments. In: ACM SIGIR, 2002, Finland. Workshop on XML and IR. Finland:
ACM, 2002.
[9]
CARMEL, D.; COHEN, D.; FAGIN, R.; FARCHI, E.; HERSCOVICI, M.;
MAAREK, Y. S.; SOFFER, A. Static Index Pruning for Information Retrieval
Systems. In: ACM SIGIR, p. 43-50, 2001, Louisiana. Proceedings... Lousiana, 2001.
[10]
CARMEL, D.; AMITAY, E.; HERSCOVICI, M.; MAAREK, Y.; PETRUSCHKA, Y.
Juru at TREC 10 - Experiments with Index Pruning. In: TEXT RETRIEVAL
CONFERENCE (TREC), 10., 2001. Proceedings..., 2001.
[11]
CERQUEIRA, A. G.; SILVA, G. B.; CARDOSO, O. N. P. Uma visão Geral de XML
em Recuperação de Informação. Revista eletrônica de iniciação científica, v.2, n.2,
jun.2002. Disponível em: < http://www.sbc.org.br/reic/edicoes/2002e2/>. Acesso em:
Mar. 2003.
[12]
CHINENYANGA, T. T.; KUSHMERICK, N. Expressive Retrieval from XML
Document. In: SIGIR, 2001, New Orleans. Proceedings... New orleans, 2001.
[13]
COHEN, W. WHIRL: A Word-Based Information Representation Language. J.
Artificial Intelligence, v. 118, p.163-196, 2000.
[14]
COHEN, W. Integration of heterogeneous databases without common domains using
queries based on textual similarity. In: SIGMOD, 1998, Proceedings..., 1998. p.201211.
84
[15]
DEUTSCH, A.; FERNANDEZ, M.; FLORESCU, D.; LEVY, A.; SUCIU, D. XMLQL: A Query Language for XML. In: INT. WORLD WIDE WEB CONF., 8. p. 1116,1999, Proceedings..., 1999.
[16]
FUHR, N.; GROBJOHANN, K. XIRQL: A Query Language for Information
Retrieval in XML Documents. In: SIGIR, p.172-180, 2001, Lousiana.
Proceedings...Lousiana, 2001.
[17]
FUHR, N.; GOVERT, N.; KAZAI, G.; LALMAS, M. INEX: Intitiative for the
Evaluation of XML Retrieval. In: ACM SIGIR WORKSHOP ON XML AND
INFORMATION RETRIEVAL, 2002, Tampere. Proceedings..., Tampere, editor,
2002.
[18]
GRABS, T.; SCHEK, H.-J. Generating Vector Spaces On-the-fly for Flexible XML
Retrieval. XML and Information Retrieval Workshop. In: ANNUAL
INTERNATIONAL ACM SIGIR CONFERENCE ON RESEARCH AND
DEVELOPMENT IN INFORMATION RETRIEVAL, 25., 2002, Finland.
Proceedings... Finland: ACM, 2002.
[19]
INEX (Initiative for the Evaluation of XML Retrieval). Disponível em:
<http://qmir.dcs.qmw.ac.uk/INEX>. Acesso em: Out. 2003.
[20]
JANG, H.; KIM, Y.; SHIN, D. An Effective Mechanism for Index Update in
Structured Documents. In: ACM CONFERENCE ON INFORMATION AND
KNOWLEDGE
MANAGEMENT
(CIKM),
p.383-390,
1999,
Kansas
City.
Proceedings... Kansas City: ACM, 1999.
[21]
KAMPS, J.; MARX, M.; RIJKE, M.; SIGURBJORNSSON, B. XML Retrieaval: What
to Retrieve?. In: SIGIR, 2003, Toronto. Proceedings...Toronto: ACM, p. 409-410
2003.
85
[22]
KOTSAKIS, E. Structured Information Retrieval in XML Documents. In
Proceedings of the seventeenth. In: ACM SYMPOSIUM ON APPLIED
COMPUTING (SAC), 2002, Madrid. Proceedings... Madrid: ACM, 2002. p. 663-667
[23]
LI, Q.; MOON, B. Indexing and Querying XML Data for Regular Path Expressions.
In: VLDB CONFERENCE, 27., p. 351-360, 2001, Roma. Proceedings... Roma, 2001.
Disponível em: < http://www.cs.arizona.edu/~bkmoon/papers/vldb01.pdf >. Acesso
em: Jan. 2003.
[24]
NAVARRO, G. A Language for Queries for Structure and Contents of Textual
Databases. Master’s Thesis - Department of Computer Science, University of Chile.
[25]
Online
Resource
for
Markup
Language
Technologies.
Disponível
em:
<http://www.oasis-open.org/cover/xml.html#applications>. Acesso em: Fev. 2003.
[26]
PÔSSAS, B.; MEIRA, W. J.; ZIVIANI, N.; RIBEIRO-NETO, B. Set-Based Model: A
New Approach for information Retrieval. In: ACM SIGIR CONFERENCE ON
RESEARCH AND DEVELOPMENT IN INFORMATION RETRIEVA, 2002,
Tampere. Proceedings... Tempere: ACM, 2002.
[27]
RANKS.nl Portuguese Stopwords. Disponível em:
<http://www.ranks.nl/stopwords/portugese.html>. Acesso em Set. de 2003.
[28]
ROBIE, J. XQL(XML Query Language). Aug. 1999. Disponível em:
<http://www.ibiblio.org/xql/xql-proposal.html>. Acesso em: Jun. 2003.
[29]
ROY, G.; NARAYANAN, S.; SURESH, V.; HECTOR, G. Proximity Search in
Databases. In: VLDB CONFERENCE, 24, p. 26-37,1998, local. Proceedings...Local,
1998.
86
[30]
SILVA, I. R. SOUZA, J. N. LOPES, R. A. Recuperação de informação em dados
semi-estruturados utilizando o modelo vetorial. In: INTERNATIONAL
INFORMATION AND TELECOMMUNICATION TECHNOLOGIES
SYMPOSIUM, 2., 2003, Florianópolis. Proceedings...Florianópolis: Faculdades
Barddal, 2003. 1 CD-ROM.
[31]
SILVA, I. R. SOUZA, J. N. LOPES, R. A. Information Retrieval in Semi-Structured
Data Using Vector Space Model. In: INFORMATION RESOURCES
MANAGEMENT ASSOCIATION (IRMA) INTERNATIONAL CONFERENCE,
15., 2004, Louisiana, New Orleans, USA, 2004. To appear.
[32]
SCHLIEDER, T.; MEUSS, H. Querying and Ranking XML Documents. Journal of
the American Society for Informations Systems, v.53, n.6, p.489-503, Apr. 2002.
[33]
Tribunal de Contas da União: Tabela de Palavras Reservadas. Disponível em:
<http://www.tcu.gov.br/Consultas/BRS/stdstop.html>. Acesso em Set. de 2003.
[34]
TREC (Text REtrieval Conference). Disponível em: <http://trec.nist.gov>. Acesso em:
Abr. 2003.
[35]
XML SCHEMA. Disponível em <http://www.w3.org/XML/Schema>. Acesso em Jan.
de 2003.
[36]
YAHIA-AMER, S.; CHO, S.; SRIVASTAVA, D. Tree Pattern Relaxion, In
International Conference on Extending Database Technology (EDBT), 2002,
Proceedings ... 2002. p. 496-513.
[37]
YAMANE, Y.; IGATA, N.; NAMBA, I. High-performance XML Storage/Retrieval
System. Fujitsu Scientific & Technical Journal(Fstj), v. 36, n. 2, p. 185-192, Dec.
2000.
87
[38]
WANG, X.-L.; DONG, Y.-S.; WEN, J.-R.; YIN, L. W. Enhancive Index for
Structured Document Retrieval. In: INTERNATIONAL WORKSHOP ON
RESEARCH ISSUES IN DATA ENGINEERING: ENGINEERING ECOMMERCE/E-BUSINESS SYSTEMS (RIDE), 12., p. 256-264, 2002, Califórnia.
Proceedings... California, 2002.
[39]
ZAKI, M. J.; HSIAO, C. Charm: An efficient algorithm for closed association rule
mining. In: SIAM INTERNATIONAL CONFERENCE ON DATA MINING, 2., p.
457-473, 2002, Arlington. Proceedings... Arlington, 2002.

Documentos relacionados