Recuperação de informação em documentos XML
Desde 2000, quando aconteceu o primeiro workshop sobre XML e Recuperação de Informação,
este tema tem estado presente nas conferências ACM SIGIR, mostrando o interesse da comunidade de
Recuperação de Informação em explorar melhor as informações semi-estruturadas, dando a estas um
enfoque de RI, em contrapartida ao enfoque de Banco de Dados que sempre receberam. Esta abordagem é
importante para estender o papel do XML além do objetivo de troca de dados na Web , tornando-o
interessante para troca de informação, dentro de toda a flexibilidade e liberdade que caracterizam a Web.
Em 2002, na Finlândia, durante o 2° workshop sobre o tema, debates sobre o sentido da
recuperação de documentos XML, levaram a conclusão de que é importante trata-la desvinculada de
operações de Banco de Dados.
Tendo estudado a Web Semântica anteriormente, e concluído ser uma proposta ambiciosa demais
para a diversidade da Web e pouco disseminada até o momento, optamos por recuar um passo atrás e
estudar de que forma as informações semi-estruturadas, e mais especificamente o XML, podem contribuir
para melhorar a precisão e revocação das máquinas de busca. Fomos motivados pelo entendimento de que
as
tags ajudam a definir o significado dos termos que delimitam, podendo, conseqüentemente, contribuir
para a precisão dos resultados de uma pesquisa.
Com este objetivo, os principais artigos encontrados sobre o assunto foram estudados e
comparados, permitindo algumas conclusões que servirão de base para a escolha de futuros caminhos.
Apresentaremos um breve apanhado de cada um dos artigos abordando suas características mais
marcantes, os principais avanços e limitações, seguido de um quadro comparativo. E fechando o presente
trabalho apresentaremos nossas conclusões e uma proposta para trabalhos futuros.
Artigo [1] - Searching Text-rich XML Documents with Relevance Ranking
Assumindo o compromisso de utilizar o máximo possível as técnicas convencionais de
Recuperação de Informação, seu principal objetivo é permitir a recuperação de documentos XML
ordenados por relevância, em contraposição às diversas linguagem que tratam apenas as pesquisas
exatas. As consultas serão genéricas, e os resultados não serão exatos, permitindo a ordenação por
relevância, calculada a partir do grau de similaridade entre a consulta e o documento.
O Artigo considera intratável a recuperação de documentos XML com estruturas arbitrárias e
impõe restrições aos tipos de sub-estruturas dos documentos que poderão ser especificadas na consulta. É
definido o conceito de “campos de pesquisa “ mapeados em sub-estruturas dos documentos.A partir
dessa decisão de projeto, somente sub-estruturas especificas, chamadas de
tag-path, poderão ser
apontadas por uma consulta.
Os trechos em negrito na figura 1.0 correspondem a
tag-paths.
Fig 1.0
Os princípios básicos do projeto são:
·
O sistema indexa e pesquisa documentos XML bem-formados, sem considerar as DTDs;
·
Um número finito de sub-estruturas pesquisáveis serão definidas previamente à indexação . A
associação entre campos de pesquisas e
tag-paths será definida em um arquivo chamado Format
File;
·
O indexador verifica o Format File e cria um arquivo para cada “campo de pesquisa”;
·
Um serviço de aplicação deverá formular uma consulta aceitável pela máquina de busca a partir da
informação requisitada pelo usuário. Para isso, este serviço deverá conhecer os “campos de
pesquisa“ e sua associação semântica com as sub -estruturas dos documentos XML.
A implementação da máquina de busca possui a arquitetura mostrada na figura 2.0 , cujos módulos
funcionais detalhamos a seguir:
Fig 2.0
Format File
- Este arquivo destina-se a definir os índices que serão criados para um conjunto de
documentos da coleção. Em sua estrutura ele traz o nome e o formato dos arquivos de índices, as
associações entre
tag-paths e “campos de pesquisas” e a localização de processadores específicos para o
idioma dos documentos.
Indexer –
É o módulo responsável pela interpretação do Format File e posterior criação dos índices nele
definidos. Os termos contidos em cada campo de um documentos receberão pesos utilizando a fórmula
tradicional de TFxIDF. Neste módulo ocorrerá a leitura, extração dos termos e o cálculo de seus pesos .
Query Engine -
A máquina de pesquisa foi implementada acrescentando-se extensões a uma máquina de
busca de texto já existente. Ela permite a busca por termos ou
tags.
Aplication Service
– É o módulo responsável pela interpretação da estrutura da consulta proposta pelo
usuário, para identificar o “campo de pesquisa” e o respectivo arquivo de índice.
Não há esclarecimentos sobre como o Format File será criado, nem como consultas sem indicação
de sub-estrutura serão tratadas. Os resultados apresentados referem-se apenas ao tempo de processamento
necessário à geração dos índices e ao tamanho dos mesmos, mas nenhuma análise sobre a precisão dos
resultados é apresentada.
A grande limitação desta proposta é a pré-definição da estrutura dos índices através dos Format
Files, diminuindo a flexibilidade das pesquisas, mas representa a primeira tentativa de explorar a estrutura
XML em benefício da recuperação de informação.
Artigo [2] – Generating Vector Spaces On-the-fly for Flexible XML Retrieval
O foco dessa proposta é criar mecanismos que permitam ao usuário de uma máquina de busca
compor consultas que explorem a estrutura dos documentos XML, obtendo resultados ordenados por
relevância de acordo com uma granularidade desejada. Em busca deste objetivo, rompe as barreiras da
máquina de busca tradicional que enxergam os documentos de forma plana e também as limitações das
linguagens de consulta de XML que efetuam basicamente pesquisas exatas.
A ordenação por relevância leva em conta a estrutura do documento e as restrições que a consulta
impõe sobre esta estrutura. Mais especificamente, os conteúdos em diferentes níveis da árvore que
representam o documento terão importância diferente para consultas diferentes. Os autores utilizam a
idéia de Fuhr [4] que introduz pesos chamados de
augmentation weights atribuídos a estatísticas como
TFxIDF de cada termo, conforme a sua posição na árvore. Os elementos presentes na estrutura de cada
documento são agrupados em nós de indexação que implementam as listas invertidas (vide fig 3.0)
Fig 3.0
As consultas são agrupadas em três tipos diferentes, conforme o escopo da árvore que pretendem
abranger:
Single_category
– consultas que buscam termos em apenas uma sub-árvore. Por exemplo consultas
interessada apenas em livros de medicina, na arvore mostrada na fig 3.
Multi-category
– consultas que buscam termos em mais de uma sub-árvore. Por exemplo consultas
interessadas em livros sobre medicina e biologia.
Nested- category
– consultas que buscam termos em toda uma sub-árvore mas cujos elementos possuem
diferentes relevâncias para uma mesma consulta. Por exemplo o elemento título e parágrafo no exemplo.
(a presença de um termo no título certamente será mais relevante que a presença do mesmo termo num
parágrafo.)
Para cada uma das três categorias de consulta os termos terão pesos diferentes, dependendo da
estrutura da consulta. Estes pesos deverão ser calculados dinamicamente a partir de um índice básico précalculado.
Os índice básicos serão criados para cada elemento da árvore que possuem conteúdo textual ,
sendo que o artigo não detalha como isso ocorrerá, mas apenas sugere que poderão ser criados a partir de
técnicas padrões de RI como extração de termos e eliminação de
stop words. Partindo destes índices
básicos ,cada tipo de consulta terá uma fórmula especifica obtidas a partir do Modelo Vetorial.
Eq.1.0 – Single-category
Eq. 2.0 - Multi-category
Eq. 3.0 – Nested_category
Em todas as equações observa-se que as estatísticas são calculadas para cada elemento na estrutura
do documento e não para cada documento, como na fórmula original do Modelo Vetorial. Na equação 2.0
a freqüência do elemento na coleção será a somatória da freqüência do elemento nas diversas categorias
abrangidas pela consulta (
ief mcat). Para a consulta aninhada (equação 3.0) a relevância será a soma
ponderada da relevância para uma categoria simples, onde os pesos serão os
augmentation weights
O grande avanço deste artigo é a flexibilidade admitida no processo de indexação, criando índices
específicos para cada documento sem restrições em sua estrutura. Em contrapartida o processamento da
consulta torna-se mais demorado tendo em vista a maior complexidade das fórmulas especialmente para
consultas em multi-categorias e categorias aninhadas.
A intenção de tratar diferentes granularidades de consulta, por outro lado, exigem do usuário um
conhecimento da estrutura do documento ou a sua dedução. Não há a possibilidade de uma busca
integrada em documentos XML ou não, uma vez que os índices trazem estatísticas a nível de elemento e
não de documento. Destina-se portanto, exclusivamente à recuperação de informação em documentos
XML.
Artigo [3] – An Extension of the Vector Space Model for Querying XML Documents via XML
Fragments
Esta proposta busca criar uma ferramenta de pesquisa mais amigável, onde usuários possam
expressar suas consultas na forma de texto livre ou através de consultas mais complexas dependendo do
conhecimento que possuem das DTDs. O resultado também será ordenado por relevância colocando no
topo do
ranking documentos cuja estrutura mais se aproxime daquela proposta na consulta.
O
ranking será gerado a partir de uma extensão do modelo vetorial que utilizará como unidades de
indexação não apenas termos, mas pares da forma
(ti,ci), onde os termos serão qualificados pelo contexto
onde aparecem. Na equação 4.0, o peso de termos individuais será substituído pelo peso dentro de uma
contexto,
wd(t,c). Mas além disso o modelo vetorial deixa de ter dimensões ortogonais entre t e c,
passando a considerar diferentes níveis de semelhança entre os contexto da consulta e do documento,
representada pelo fator
cr(ci,ck), conforme equação 5.0.
RVS(q,d) =
å wq(ti)*wd(ti)/ |Q|*|D| Eq. 4.0
RVS(q,d) =
åci åck wq(ti,ci)*wd(ti,ck)*cr(ci,ck)/ |Q|*|D| Eq. 5.0
Durante a indexação os documentos XML serão percorridos e um vetor de pares
(t,c) será extraído
para criar o perfil de cada documento. Armazenando os termos e seus contextos, a lista invertida do
termo
t, contendo todos os documentos onde t aparece, será divida em diversas listas, uma para cada
contexto, permitindo assim a recuperação do termo em determinado contexto. A estrutura dos
indexadores armazenará
t e c como uma única chave t#c e no momento da recuperação o sistema poderá
identificar ocorrências precisas de
t dentro de um contexto c. Poderá, também, recuperar todos os
contextos onde
t aparece fazendo uma junção de todas as listas através do sufixo t#. As consultas poderão
ser formuladas contendo os termos dentro de contextos ou apenas termos, como numa máquina de busca
tradicional, ou poderá também conter uma mistura das duas situações, como por ex:
XML tutorial <title><article> relating to XPath XQquery.</p><p> </p></font><p></p></font><p></p></b><p><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"></font></font></p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"><p align="LEFT">Gerando o seguinte conjunto </p></font><p align="LEFT"></p></font><p align="LEFT"><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">(t,c) , </font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">para pesquisa:</font></font></p><p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"> </font></font><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font></b></p><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"><p align="LEFT">{(xml,article/title), (tutorial, article/title), (relating, null), (Xpath, null), (XQuery, null)}</p><p> </p></font><p></p></font><p></p></b><p><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"></font></font></p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"><p align="LEFT">O Algoritmo de ordenação levará em conta o peso do termo no contexto, bem como a semelhança</p><p> </p><p align="LEFT">entre os contextos.O Cálculo de </p></font><p align="LEFT"></p></font><p align="LEFT"><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">wd(t,c) </font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">é trivial e utiliza as estatísticas da chave </font></font><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">t#c </font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">, </font></font><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">t#c’</font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">, etc. Para o</font></font></p><p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"> </font></font></p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"><p align="LEFT">cálculo de </p></font><p align="LEFT"></p></font><p align="LEFT"><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">cr </font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">foram definidos alguns critérios e para cada um foi criado um fator. Observe o efeito de</font></font></p><p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"> </font></font></p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"><p align="LEFT">cada um deles para a consulta </p></font><p align="LEFT"></p></font><p align="LEFT"><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">Q=/book/chapter/title</font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">:</font></font></p><p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"> </font></font><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font></b></p><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"><p align="LEFT">LCS(Q,A)</p></font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"><p align="LEFT"></p></font><p align="LEFT"></p></font><p align="LEFT"><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">: Longest Common Subsequence - Maior seqüência comum entre os contextos Q e A</font></font></p><p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"> </font></font></p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"><p align="LEFT">A </p></font><p align="LEFT"></p></font><p align="LEFT"><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">LCS </font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">POS GAPS LD CR</font></font></p><p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"> </font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"></font></font></p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"><p align="LEFT">media/</p></font><p align="LEFT"></p></font><p align="LEFT"><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">book/chapter/title/</font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">number </font></font><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">3 </font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">3 0 2 0.84</font></font></p><p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"> </font></font></p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"><p align="LEFT">media/</p></font><p align="LEFT"></p></font><p align="LEFT"><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">chapter/book/title/</font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">number </font></font><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">2 </font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">3 0 3 0.53</font></font></p><p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"> </font></font></p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"><p align="LEFT">media/</p></font><p align="LEFT"></p></font><p align="LEFT"><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">title/chapter/book/</font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">number </font></font><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">1 </font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">2 0 4 0.29</font></font></p><p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"> </font></font></p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"><p align="LEFT">magazine/volume/article/</p></font><p align="LEFT"></p></font><p align="LEFT"><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">title/</font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">number </font></font><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">1 </font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">4 0 4 0.19</font></font></p><p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"> </font></font><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font></b></p><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"><p align="LEFT">POS(Q,A): </p></font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"><p align="LEFT"></p></font><p align="LEFT"></p></font><p align="LEFT"><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">Average Optimal Position – Posição média ótima</font></font></p><p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"> </font></font></p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"><p align="LEFT">A LCS </p></font><p align="LEFT"></p></font><p align="LEFT"><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">POS </font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">GAPS LD CR</font></font></p><p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"> </font></font></p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"><p align="LEFT">/</p></font><p align="LEFT"></p></font><p align="LEFT"><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">book/chapter/title/</font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">subtitle/number 3 </font></font><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">2 </font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">0 2 0.92</font></font></p><p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"> </font></font></p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"><p align="LEFT">media/</p></font><p align="LEFT"></p></font><p align="LEFT"><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">book/chapter/title/</font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">number 3 </font></font><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">3 </font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">0 2 0.84</font></font></p><p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"> </font></font></p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"><p align="LEFT">media/catolog/</p></font><p align="LEFT"></p></font><p align="LEFT"><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">book/chapter/title </font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">3 </font></font><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">4 </font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">0 2 0.75</font></font></p><p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"> </font></font><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font></b></p><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"><p align="LEFT">GAPS(Q,A)</p></font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"><p align="LEFT"></p></font><p align="LEFT"></p></font><p align="LEFT"><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">: Número de saltos existentes entre os elementos comuns aos contextos Q e A</font></font></p><p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"> </font></font></p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"><p align="LEFT">A LCS POS </p></font><p align="LEFT"></p></font><p align="LEFT"><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">GAPS </font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">LD CR</font></font></p><p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"> </font></font></p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"><p align="LEFT">Media/catalog /</p></font><p align="LEFT"></p></font><p align="LEFT"><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">book/chapter/title/</font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">subtitle</font></font><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">/</font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">number 3 4 </font></font><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">0 </font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">4 0.78</font></font></p><p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"> </font></font></p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"><p align="LEFT">catolog/</p></font><p align="LEFT"></p></font><p align="LEFT"><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">book/</font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">chapters</font></font><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">/chapter/</font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">section</font></font><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">/title/</font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">numbe</font></font></p><p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"> </font></font></p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"><p align="LEFT">r</p><p> </p><p align="LEFT">3 4 </p></font><p align="LEFT"></p></font><p align="LEFT"><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">2 </font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">4 0.68</font></font></p><p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"> </font></font><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font></b></p><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"><p align="LEFT">LD(Q,A): </p></font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"><p align="LEFT"></p></font><p align="LEFT"></p></font><p align="LEFT"><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">Length Difference – diferença de tamanho entre os contextos Q e A</font></font></p><p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"> </font></font></p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"><p align="LEFT">A LCS POS GAPS </p></font><p align="LEFT"></p></font><p align="LEFT"><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">LD </font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">CR</font></font></p><p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"> </font></font></p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"><p align="LEFT">/</p></font><p align="LEFT"></p></font><p align="LEFT"><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">book/chapter/title/</font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">subtitle</font></font><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">/</font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">subtitle</font></font><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">/</font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">number/bulle</font></font></p><p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"> </font></font></p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"><p align="LEFT">t</p><p> </p><p align="LEFT">3 2 0 </p></font><p align="LEFT"></p></font><p align="LEFT"><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">4 </font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">0.88</font></font></p><p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"> </font></font><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font></b></p><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"><p align="LEFT">book/chapter/title/</p></font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"><p align="LEFT"></p></font><p align="LEFT"></p></font><p align="LEFT"><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">subtitle 3 2 0 </font></font><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">1 </font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">0.95</font></font></p><p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"> </font></font></p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"><p align="LEFT">A fórmula final de </p></font><p align="LEFT"></p></font><p align="LEFT"><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">cr </font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">é dada por: </font></font><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">cr(Q,A) = </font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Symbol"><font size="3" face="Symbol">a</font></font><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">LCS(Q,A) + </font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Symbol"><font size="3" face="Symbol">b</font></font><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">POS(Q,A) - ?GAPS(Q,A) – dLD(Q,A)</font></font></b></p><p><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"> </font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"></font></font></p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"><p align="LEFT">Cujos valores poderão variar entre 0 e 1.</p><p> </p></font><p></p></font><p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"></font></font></p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"><p align="LEFT">Os documentos recuperados serão mostradas de forma semelhante a uma máquina de busca</p><p> </p><p align="LEFT">tradicional exceto pelo fato de permitir ao usuário a escolha de elementos dos documento que deseja</p><p> </p><p align="LEFT">mostrar no ranking.</p><p> </p><p align="LEFT">O artigo também não apresenta curvas de precisão e revocação, apesar de ter utilizado a coleção</p><p> </p><p align="LEFT">INEX [http//qmir.dcs.qmw.ac.uk/inex] para testes.</p><p> </p><p align="LEFT">Constata-se aqui um avanço ao permitir que sejam pesquisados documentos XML ou não. Há um</p><p> </p><p align="LEFT">tratamento dinâmico da semelhança entre os diversos contextos. Mas para que a estrutura dos documentos</p><p> </p><p align="LEFT">possam contribuir para a ordenação, as consultas deverão informar os elementos desejados, caso</p><p> </p><p align="LEFT">contrário todas as listas de um termo, em todos os contextos, serão aglutinadas constituindo-se assim um</p><p> </p><p align="LEFT">caso especial de consulta do Modelo Vetorial tradicional. Ou seja, a estrutura do documento não é</p><p> </p><p align="LEFT">avaliada para contribuir para a ordenação dos documentos a menos que o usuário tenha uma noção da</p><p> </p><p align="LEFT">estrutura dos mesmos e resolva explorar isso na formulação da consulta.</p><p> </p></font><p></p></font><p><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font></b></p><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"><p align="LEFT">Conclusão</p><p> </p></font><p></p></font><p></p></b><p><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"></font></font></p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"><p align="LEFT">Concluindo o trabalho apresentamos abaixo um quadro comparativo das três propostas,</p><p> </p><p align="LEFT">enfatizando aspectos de funcionalidade de cada um:</p><p> </p></font><p></p></font><p><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font></b></p><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"><p align="LEFT">Item Artigo [1] Artigo[2] Artigo[3]</p><p> </p></font><p></p></font><p></p></b><p><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"></font></font></p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"><p align="LEFT">Usuário deve conhecer a</p><p> </p><p align="LEFT">estrutura dos documentos</p><p> </p><p align="LEFT">Não</p><p> </p><p align="LEFT">Não</p><p> </p><p align="LEFT">Não</p><p> </p><p align="LEFT">Há restrição na estrutura dos</p><p> </p><p align="LEFT">Documentos</p><p> </p><p align="LEFT">Sim</p><p> </p><p align="LEFT">Não</p><p> </p><p align="LEFT">Não</p><p> </p><p align="LEFT">Pesquisa documentos não XML</p><p> </p><p align="LEFT">Não</p><p> </p><p align="LEFT">Não</p><p> </p><p align="LEFT">Sim</p><p> </p><p align="LEFT">Ordenação por relevância</p><p> </p><p align="LEFT">Sim</p><p> </p><p align="LEFT">Sim</p><p> </p><p align="LEFT">Sim</p><p> </p><p align="LEFT">Explora a estrutura do</p><p> </p><p align="LEFT">documento independente da</p><p> </p><p align="LEFT">consulta</p><p> </p><p align="LEFT">Sim</p><p> </p><p align="LEFT">Não</p><p> </p><p align="LEFT">Não</p><p> </p><p align="LEFT">Observamos que todas ordenam os documentos por relevância, ou seja, propiciam a busca</p><p> </p><p align="LEFT">aproximada, enquadrando-se como uma alternativa para as linguagens que trabalham apenas com busca</p><p> </p><p align="LEFT">exata.</p><p> </p><p align="LEFT">A primeira proposta restringe a estrutura dos documentos da coleção àquela prevista no Format</p><p> </p><p align="LEFT">File, já as outras duas alternativas trabalham amplamente com qualquer estrutura de documento da</p><p> </p><p align="LEFT">coleção.</p><p> </p><p align="LEFT">A proposta 3 permitem a busca em documentos não XML podendo, portanto, ser implementadas</p><p> </p><p align="LEFT">em máquinas de busca de uso geral.</p><p> </p><p align="LEFT">Nenhuma das alternativas exige que o usuário conheça a estrutura do documento. A primeira</p><p> </p><p align="LEFT">identifica os campos de pesquisa a partir da requisição do usuário, no módulo Serviço de Aplicação. Nas</p><p> </p><p align="LEFT">demais alternativas, caso o usuário não insira elementos da estrutura dos documentos na formulação da</p><p> </p><p align="LEFT">consulta a pesquisa recaíra no Modelo Vetorial tradicional.</p><p> </p></font><p></p></font><p><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font></b></p><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"><p align="LEFT">Trabalhos futuros</p><p> </p></font><p></p></font><p></p></b><p><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"></font></font></p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"><p align="LEFT">Estudando as três alternativas e observando os aspectos de funcionalidade que seriam desejáveis</p><p> </p><p align="LEFT">em uma máquina de busca para documentos XML, consideramos que uma ferramenta com este propósito</p><p> </p><p align="LEFT">deveria explorar a estrutura dos documentos independente de estar explícito na formulação da consulta ,</p><p> </p><p align="LEFT">ou seja, explorar esta estrutura como uma fonte adicional de evidência, sem exigir do usuário qualquer</p><p> </p><p align="LEFT">noção sobre a mesma.</p><p> </p><p align="LEFT">Analisando o problema , dividimos o universo de busca em três componentes básicos:</p><p> </p><p align="LEFT">O termo (</p></font><p align="LEFT"></p></font><p align="LEFT"><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">t</font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">), o elemento (</font></font><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">e</font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">) e o documento (</font></font><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">d</font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">). A partir daí podemos seguir três linhas básica:</font></font></p><p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"> </font></font><font size="3" face="Symbol"><font size="3" face="Symbol"></font></font></p><font size="3" face="Symbol"><font size="3" face="Symbol"><p align="LEFT">· </p></font><p align="LEFT"></p></font><p align="LEFT"><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">Combinamos termos e elementos, e calculamos TF e IDF sobre esta combinação como-se os</font></font></p><p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"> </font></font></p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"><p align="LEFT">termos do Modelo Vetorial fossem na verdade um termo composto, t#c;</p><p> </p></font><p></p></font><p><font size="3" face="Symbol"><font size="3" face="Symbol"></font></font></p><font size="3" face="Symbol"><font size="3" face="Symbol"><p align="LEFT">· </p></font><p align="LEFT"></p></font><p align="LEFT"><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">Consideramos o elemento como uma subdivisão do documento e calculamos as estatísticas do</font></font></p><p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"> </font></font></p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"><p align="LEFT">Modelo Vetorial sobre o elemento, ao invés de trata-la sobre o documento;</p><p> </p></font><p></p></font><p><font size="3" face="Symbol"><font size="3" face="Symbol"></font></font></p><font size="3" face="Symbol"><font size="3" face="Symbol"><p align="LEFT">· </p></font><p align="LEFT"></p></font><p align="LEFT"><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">Combinarmos as duas opções anteriores, e trabalharmos com todas as estatísticas envolvendo </font></font><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">t </font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">, </font></font><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">e</font></font></b></p><p><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"> </font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"></font></font></p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"><p align="LEFT">e </p></font><p align="LEFT"></p></font><p align="LEFT"><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">d.</font></font></b></p><p><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"> </font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"></font></font></p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"><p align="LEFT">No primeiro caso o </p></font><p align="LEFT"></p></font><p align="LEFT"><i><font size="3" face="Times-Italic"><font size="3" face="Times-Italic">ranking </font></font></i><font size="3" face="Times-Italic"><font size="3" face="Times-Italic"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">de um documento será dado pela somatória das contribuições de cada</font></font></p><p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"> </font></font></p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"><p align="LEFT">contexto onde os termos da pesquisa aparecem.</p><p> </p><p align="LEFT">No segundo caso o </p></font><p align="LEFT"></p></font><p align="LEFT"><i><font size="3" face="Times-Italic"><font size="3" face="Times-Italic">ranking </font></font></i><font size="3" face="Times-Italic"><font size="3" face="Times-Italic"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">de um documento será dado pela somatória dos </font></font><i><font size="3" face="Times-Italic"><font size="3" face="Times-Italic">rankings </font></font></i><font size="3" face="Times-Italic"><font size="3" face="Times-Italic"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">de cada</font></font></p><p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"> </font></font></p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"><p align="LEFT">elemento. Documentos com elementos raros na coleção e documentos com elementos onde o termo</p><p> </p><p align="LEFT">aparece com maior freqüência terão maior </p></font><p align="LEFT"></p></font><p align="LEFT"><i><font size="3" face="Times-Italic"><font size="3" face="Times-Italic">ranking. </font></font></i><font size="3" face="Times-Italic"><font size="3" face="Times-Italic"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">Mas documentos com maior número de elementos</font></font></p><p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"> </font></font></p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"><p align="LEFT">contendo os termos da pesquisa também serão favorecidos.</p><p> </p><p align="LEFT">As propostas anteriores assemelham-se ao terceiro e segundo artigo respectivamente, exceto pelo</p><p> </p><p align="LEFT">fato de trabalhar sem a especificação de contexto na consulta.</p><p> </p><p align="LEFT">No terceiro caso </p></font><p align="LEFT"></p></font><p align="LEFT"><i><font size="3" face="Times-Italic"><font size="3" face="Times-Italic">o ranking </font></font></i><font size="3" face="Times-Italic"><font size="3" face="Times-Italic"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">de um documento será dado pela somatória da contribuição de cada</font></font></p><p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"> </font></font></p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"><p align="LEFT">termo, que levará em conta a freqüência de cada termo nos elementos, de cada elemento nos documentos,</p><p> </p><p align="LEFT">e também da freqüência dos elementos na coleção e dos documentos que contem os elementos na coleção.</p><p> </p><p align="LEFT">Casos especiais onde termos e elementos só aparecem juntos deverão ser favorecidos no </p></font><p align="LEFT"></p></font><p align="LEFT"><i><font size="3" face="Times-Italic"><font size="3" face="Times-Italic">ranking</font></font></i><font size="3" face="Times-Italic"><font size="3" face="Times-Italic"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">,</font></font></p><p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"> </font></font></p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"><p align="LEFT">caracterizando um acréscimo de semântica ao termo, devido a um contexto bem definido.</p><p> </p><p align="LEFT">Acreditamos que uma formulação correta das estatísticas envolvendo </p></font><p align="LEFT"></p></font><p align="LEFT"><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">t</font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">, </font></font><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">e </font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">e </font></font><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold">d </font></font></b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman">poderão levar a</font></font></p><p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"> </font></font></p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"><p align="LEFT">resultados interessantes, sem a necessidade de especificação de contexto pelo usuário, como acontece</p><p> </p><p align="LEFT">nas três propostas apresentadas.</p><p> </p></font><p></p></font><p><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font></b></p><b><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"><p align="LEFT">Referências</p><p> </p></font><p></p></font><p></p></b><p><font size="3" face="Times-Bold"><font size="3" face="Times-Bold"></font></font><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"></font></font></p><font size="3" face="Times-Roman"><font size="3" face="Times-Roman"><p align="LEFT">[1] Y. Hayashi, J. Tomita e G. Kikul, “Searching Text -rich XML Documents with Relevance Ranking”,</p><p> </p><p align="LEFT">ACM SIGIR 2000 Workshop on XML and Information Retrieval, Atenas, Grécia , 28 de Julho de 2000 .</p><p> </p><p align="LEFT">[2]T. Grabs e H. J. Schek, “Generating Vector Spaces On -the-fly for Flexible XML Retrieval”, ACM</p><p> </p><p align="LEFT">SIGIR 2002 Workshop on XML and Information Retrieval, Tampere, Finlândia, Agosto 2002.</p><p> </p><p align="LEFT">[3] D. Carmel, N. Efraty, G. Landau, Y. Maarek e Y. Mass, “An Extension of the Vector Space Model for</p><p> </p><p align="LEFT">Querying XML Documents via XML Fragments”, ACM SIGIR 2002 Whorkshop on XML and</p><p> </p><p align="LEFT">Information Retrieval, Tampere, Finlândia, Agosto de 2002.</p><p> </p><p align="LEFT">[4] N. Fuhr e K. Grojohann. “XIRQL: A Query Language for Information Retrieval in XML documents”,</p><p> </p><p align="LEFT">ACM SIGIR Conference on Research and Development in Information Retrieval, páginas 172-180 ACM</p><p> </p><p>Press , 2001.</p></font></font></DIV></body>
Sem comentários:
Enviar um comentário