Post on 28-Jul-2015
description
1
UMA PROPOSTA PARA EXPANSÃO SEMÂNTICA DE
CONSULTAS BASEADA EM ONTOLOGIA DE
DOMÍNIO ESPECÍFICO
id2901500 pdfMachine by Broadgun Software - a great PDF writer! - a great PDF creator! - http://www.pdfmachine.com http://www.broadgun.com
2
C.E.S.A.R
Centro de Estudos e Sistemas Avançados do Recife
Dissertação de Mestrado
UMA PROPOSTA PARA EXPANSÃO SEMÂNTICA DE
CONSULTAS BASEADA EM ONTOLOGIA DE
DOMÍNIO ESPECÍFICO
Átila Andrade Bittencourt Paula
Simone Santos
Orientadora
Vinicius Garcia
Co-Orientador
Mestrado Profissional em Engenharia de Software
Março, 2010
3
Agradecimentos
A minha orientadora, professora Simone Santos, e meu co-orientador, Vinicius
Garcia, pela disponibilidade e contribuições de opinião e decisão.
Aos colegas do C.E.S.A.R. pelo compartilhamento de conhecimento e pela
contribuição durante a preparação e desenvolvimento deste estudo.
Aos meus pais, Eronides França e Semadar Bittencourt, pelo exemplo de vida,
sempre me apoiando e ensinando a lutar pela minha carreira acadêmica e
profissional.
Aos meus amigos e familiares que sempre torceram pelo meu sucesso.
A minha namorada Rafaella e sua avó (dona Teresinha) por ter paciência e me
incentivar nos momentos difíceis.
4
Sumário
1. INTRODUÇÃO...................................................................................................................................11
1.1 DESCRIÇÃO DO PROBLEMA ...........................................................................................................13 1.2 PRINCIPAIS ENGENHOS DE BUSCA ................................................................................................15 1.3 VISÃO GERAL DA SOLUÇÃO PROPOSTA ........................................................................................16 1.4 OBJETIVOS DO TRABALHO ............................................................................................................16
1.4.1 Objetivo Geral .........................................................................................................................16 1.4.2 Objetivos Específicos ...............................................................................................................16
1.5 DELIMITAÇÕES DA PESQUISA ........................................................................................................17 1.6 ESTRUTURA DA DISSERTAÇÃO......................................................................................................18
2. RECUPERAÇÃO DE INFORMAÇÃO............................................................................................20
2.1 FUNDAMENTAÇÃO TEÓRICA .........................................................................................................20 2.2 CONCEITOS BÁSICOS EM RI ..........................................................................................................22
2.2.1 Indexação ................................................................................................................................22 2.2.2 Recuperação e Consulta ..........................................................................................................23 2.2.3 Avaliação do desempenho de pesquisa ....................................................................................25
2.3 RECUPERAÇÃO DA INFORMAÇÃO X RECUPERAÇÃO DE DADOS .....................................................29 2.4 CONSIDERAÇÕES FINAIS ...............................................................................................................30
3. ONTOLOGIA .....................................................................................................................................31
3.1 DEFINIÇÃO ....................................................................................................................................31 3.1.1 Ontologias e Tesauros .............................................................................................................33 3.1.2 Classificação (Tipos) ...............................................................................................................34
3.2 CARACTERÍSTICAS E ESTRUTURA .................................................................................................36 3.3 APLICAÇÃO EM RI ........................................................................................................................39 3.4 ANOTAÇÃO SEMÂNTICA ...............................................................................................................41 3.5 CONSIDERAÇÕES FINAIS ...............................................................................................................42
4. EXPANSÃO SEMÂNTICA DE CONSULTAS UTILIZANDO ONTOLOGIA ...........................43
4.1 PROCESSO DE CONSULTA ..............................................................................................................43 4.2 EXPANSÃO DE CONSULTA .............................................................................................................45 4.3 TRABALHOS RELACIONADOS ........................................................................................................48
4.3.1 FoQuE .....................................................................................................................................48 4.3.2 PICSEL ....................................................................................................................................49 4.3.3 Experimento de Voorhees ........................................................................................................50 4.3.4 Ontologies Manager Framework (OMF) ................................................................................50
4.4 CONSIDERAÇÕES FINAIS ...............................................................................................................51
5. PROPOSTA E PROTÓTIPO: PROCESSO DE EXPANSÃO UTILIZANDO ONTOLOGIA...53
5.1 CONTEXTUALIZAÇÃO DA PROPOSTA .............................................................................................54 5.2 ESPECIFICAÇÃO DO PROCESSO PROPOSTO ....................................................................................54 5.3 ETAPA DE INFERÊNCIA E BUSCA NA ONTOLOGIA ..........................................................................59 5.4 PROTÓTIPO QUESO ......................................................................................................................65
5.4.1 Funcionamento ........................................................................................................................65 5.4.2 Tecnologias utilizadas .............................................................................................................68 5.4.3 Modelo Funcional do Protótipo ..............................................................................................70
5.5 CONSIDERAÇÕES FINAIS ...............................................................................................................72
6. EXPERIMENTO: UM ESTUDO DE CASO ...................................................................................73
5
6.1 DEFINIÇÃO DO ESTUDO ................................................................................................................73 6.2 FRAMEWORK DE AVALIAÇÃO .......................................................................................................75 6.3 PREPARAÇÃO PARA O EXPERIMENTO ............................................................................................78 6.4 ANÁLISE E INTERPRETAÇÃO DOS RESULTADOS ............................................................................80
6.4.1 Hipótese utilizando precisão geral ..........................................................................................81 6.4.2 Hipótese utilizando medida-F ..................................................................................................83
6.5 PONTOS DE MELHORIA ..................................................................................................................88 6.6 CONSIDERAÇÕES FINAIS ...............................................................................................................90
7. CONCLUSÕES ...................................................................................................................................92
7.1 OBJETIVOS ALCANÇADOS .............................................................................................................94 7.2 TRABALHOS FUTUROS ..................................................................................................................95
REFERÊNCIAS BIBLIOGRÁFICAS .......................................................................................................97
APÊNDICES ..............................................................................................................................................102
APÊNDICE A - EXEMPLO DE CONCEITOS E RELACIONAMENTOS DA ONTOLOGIA UTILIZADA. ...................103 APÊNDICE B - EXEMPLO DE CONSULTAS APLICADAS E SUAS EXPANSÕES ................................................108
6
Lista de Figuras
Figura 2.1 � Processo de Recuperação (Google) ................................................. 23
Figura 2.2 � Fórmulas dos indicadores de revocação e precisão........................ 24
Figura 2.3 � Processo de avaliação de um SRI (CARDOSO, 1996) ...................... 25
Figura 2.4 � Métrica medida-F............................................................................. 26
Figura 3.1 � Representação gráfica de uma ontologia ....................................... 36
Figura 4.1 � Funcionamento padrão de um SRI.................................................. 42
Figura 4.2 � Classificação para expansão de consultas (EFTHIMIADIS, 1996) ... 46
Figura 5.1 � Hierarquia de conceitos em uma ontologia.................................... 55
Figura 5.2 � Processo de expansão de consulta ................................................. 56
Figura 5.3 � Trecho da ontologia (relacionamento de hierarquia) .................. 59
Figura 5.4 � Trecho da ontologia (relacionamento de restrição) ...................... 60
Figura 5.5 � Trecho da ontologia (instâncias) .................................................... 61
Figura 5.6 � Exemplo de estrutura de uma classe ............................................. 64
Figura 5.7 � Protótipo: Tela Principal................................................................. 65
Figura 5.8 � Modelo Funcional do QuESO........................................................... 68
Figura 6.1 � Precisão geral por tipo de consulta................................................ 80
Figura 6.2 � Medida de precisão e revocação por tipo de consulta................... 82
Figura 6.3 � Medida-F nas consultas simples e expandidas................................ 84
Figura A.1 � Representação gráfica ontologia utilizada................................... 101
Figura A.2 � Trecho da ontologia utilizada....................................................... 102
7
Lista de Tabelas
Tabela 3.1 � Classificação ontológica - adaptado de Almeida e Bax (2003)..... 34
Tabela 6.1 � Perfil dos Participantes................................................................. 78
Tabela 6.2 � Precisão Geral: Exemplo de uma consulta e sua expansão......... 80
Tabela 6.3 � Precisão Geral: Descrição Estatística........................................... 81
Tabela 6.4 � Precisão e Revocação para as duas abordagens........................... 82
Tabela 6.5 � Medida-F: Descrição Estatística.................................................... 85
Tabela B.1 � Consultas simples e medidas obtidas no experimento................ 104
Tabela B.2 � Consultas expandidas e medidas obtidas no experimento......... 107
8
Glossário
GQM Goal Question Metric
IA Inteligência Artificial
NI Necessidade de Informação
OWL Web Ontology Language
RI Recuperação de Informação
SADT Structured Analysis and Design Technique
SMART System for the Mechanical Analysis and Retrieval of Text
SQL Structured Query Language
SRI Sistema de Recuperação de Informação
TREC Text REtrieval Conference
URI Uniform Resource Identifier
W3C World Wide Web Consortium
WEB World Wide Web
9
RESUMO
A área de Recuperação de Informação trata essencialmente de indexação,
busca e classificação de documentos, normalmente textuais, com o objetivo de
satisfazer necessidades de informação de seus usuários, expressas através de
consultas. No entanto, encontrar a informação relevante não é uma tarefa
trivial. Isso porque a consulta, em nosso contexto, é formulada utilizando um
conjunto de palavras-chave. Tendo esse cenário, esta proposta pretende
auxiliar o usuário na formulação de suas consultas através da aplicação de
técnicas de expansão semântica de termos, utilizando ontologias como
conteúdo estruturado de um domínio específico. Para validação da proposta,
foi realizado um estudo de caso voltado para a área da ciência da computação.
Sendo assim, foi utilizada uma coleção de referência como base, composta por
artigos publicados em conferências da área, além de uma ontologia de domínio
público, onde foi avaliado o mecanismo de expansão de consulta acoplado a um
sistema de Recuperação de Informação. Os resultados indicam que a
combinação do conteúdo de uma consulta e a informação proveniente da
ontologia de domínio possibilita ganhos no desempenho geral de um sistema de
recuperação de informação.
Palavras-chave: expansão de consultas, recuperação de informação, ontologia,
seleção de termos.
10
ABSTRACT
The information retrieval is an area based essentially on indexing, searching
and sorting documents, usually textual. Ones the main goal of this area is to
find useful information in a large number of documents. However, this is not a
trivial task. The query in this context is formulated using a set of keywords. In
this scenario, this study aims to help users create queries by the application of
techniques of semantic expansion of terms using ontologies from a specific
domain as structured content. Own proposal was validated through a case study
focused on the area of computer science. A reference collection which consists
of papers published in conferences and a public domain ontology were used as
a benchmark for this analyze. The query expansion engine was added to a
system of information retrieval to evaluate its performance. As a result, the
combination of the content of a query with the information from domain
ontology provided an improvement on the system performance.
Keywords: query expansion, information retrieval, ontology, term selection.
11
1. Introdução
Hoje, recuperar informações armazenadas é uma necessidade para pessoas de
todas as áreas e com os mais variados interesses, como acessar o histórico do
seu correio eletrônico ou buscar conteúdo relacionado à sua atividade
profissional. Com o advento da WEB 2.0, os sites colaborativos e as redes
sociais promovem a interatividade e assim tanto facilitam o acesso quanto à
publicação de conteúdo cada vez mais heterogêneo. Além disso, vemos hoje
um crescente número de bibliotecas digitais sendo disponibilizadas. Por isso, a
quantidade de informação disponível para os internautas tem aumentado a
cada dia.
Esse crescimento, de certa forma não controlado, gerou um enorme problema
quando se procura recuperar informações contidas na rede. Além do mais,
apesar de vários serviços da WEB 2.0 possuir mecanismos de classificação da
informação através da utilização de tags, normalmente as bases de informações
não realizam a categorização das informações no momento de armazená-las.
Com este cenário, percebemos que se tornou humanamente impossível
recuperar manualmente a informação desejada.
Um fator importante que aumenta a complexidade da atividade de recuperar
informações é o fato dos usuários não conhecerem a forma como as
informações são estruturadas e representadas nos repositórios de busca em que
estão acessando (PRINCE and ROCHE, 2009). No entanto, mesmo quando o
utilizador do sistema possui conhecimento sobre um determinado domínio, as
informações armazenadas podem não corresponder à forma como as
informações estão representadas. Logo, uma grande quantidade de informação
desestruturada e sem classificação motivou o surgimento de ferramentas e
12
recursos desenvolvidos e estudados pela área denominada de Recuperação de
Informação (RI).
Normalmente o usuário formula uma primeira consulta e verifica se o resultado
atende à sua necessidade. Na maioria das vezes é preciso analisar uma grande
quantidade de documentos retornados como resultado de sua consulta. Em
outro cenário, o usuário restringe tanto sua consulta que não consegue obter a
informação que precisa. Por isso, formulação de consultas com poucos termos e
a escolha errônea dos mesmos são dificuldades freqüentemente encontradas na
utilização de ferramentas de busca (YATES and NETO, 1999).
Como normalmente não é possível formular consultas objetivas em sua primeira
tentativa, o usuário precisa refazê-las até encontrar o conteúdo de seu
interesse. Essa reformulação de termos pode ser frustrante pela quantidade de
tentativas necessárias para obter a informação desejada (ALLAN et al., 2005;
LUCRÉDIO et al., 2004). Nesse contexto, a expansão de consultas se propõe a
manipular os termos da consulta inicial para torná-la mais eficaz, seja
diminuindo a quantidade de informações irrelevantes, seja influenciando no
processo de consulta para que resultados relevantes não sejam desprezados
(TOMONARI et al., 2005).
Para realização do nosso estudo levantou-se como questão central �como um
usuário pode se beneficiar com a expansão de consultas aplicadas a uma base
específica de domínio?�. No intuito de tentarmos solucionar o problema que
limita a tradução da necessidade do usuário em um conjunto de termos
isolados, a nossa proposta é utilizar ontologias como mecanismo para
relacionar semanticamente conceitos de um mesmo domínio para adicionar
contexto e sugerir termos durante o processo de formulação de consulta.
Alguns sistemas de expansão de consultas discutidos na academia têm utilizado
ontologia como fonte de informação semântica (BARROS et al., 1998; BIDAULT
et al., 2000; NECIB and FREYTAG, 2004; YAGUINUMA et al., 2007; BARTH and
13
TIMOSZCZUNK, 2008). Neste âmbito, a ontologia tem sido utilizada para lidar
com problemas de conflitos semânticos, como por exemplo, termos
polissêmicos (termo com vários sentidos dependendo do contexto). Contudo,
este trabalho se restringe ao uso de ontologias de domínio específico para
sugestão de termos durante a formulação de uma consulta.
1.1 Descrição do Problema
A área de RI tem progredido consideravelmente nos últimos anos (BEPPLER,
2008). Porém, alguns problemas persistem e refletem diretamente na
experiência de uso dos sistemas de recuperação de informação (SRIs). No
âmbito do nosso estudo, os usuários dos sistemas de busca utilizam linguagem
natural para se expressar, dando espaço para ambigüidade no entendimento da
necessidade. Além disso, pesquisas indicam que normalmente consultas
realizadas pelos usuários contêm em média apenas dois termos (YATES and
NETO, 1999). Isso ocorre porque, normalmente, o próprio usuário não tem uma
visão completa do problema a ser resolvido, não conseguindo definir
claramente sua necessidade de informação (SILVEIRA, 2003). No entanto, a
falta de clareza e objetividade de uma consulta construída dessa forma
contribui para aumentar a quantidade de documentos não relevantes
retornados por consulta.
As bases que serão analisadas para este estudo são acessadas através de
consultas baseadas em palavras-chave. Entretanto, essa abordagem apresenta
diversos problemas de ambigüidade na definição da relevância dos documentos
recuperados a partir de uma consulta realizada (HSIEH-YEE, 1997; YATES and
NETO, 1999; ZOBEL and MOFFAT, 2006). Como normalmente as consultas são
analisadas apenas sintaticamente1, os engenhos de busca não permitem a
recuperação de documentos que contém termos semanticamente relacionados.
1 A sintática investiga como algo é escrito assim como as funções básicas de uma linguagem como: sujeito
e predicado; enquanto a semântica refere-se ao estudo do significado, buscando todos os sentidos de um termo.
14
O autor Soergel (1989) classifica alguns desses problemas por atividade de
busca. Para ele, um sistema de recuperação desempenha três atividades
básicas:
a) determinar qual a necessidade de informação;
b) buscar informações; e
c) utilizar a informação recuperada.
O problema inicial, segundo ele, é auxiliar o usuário a analisar o problema,
determinar as necessidades de informação (NI) e formular uma consulta
contendo apenas palavras-chave. Esse problema ocorre porque existe uma
distância entre a necessidade do usuário e o entendimento computacional de
uma consulta, conhecido como gap semântico ou ainda �Semantic Conceptual
Gap� (YE and FISCHER, 2002; LUCRÉDIO et al., 2004; GARCIA et al. apud
HENNINGER, 2006). Logo, quando uma consulta referente a um contexto é
formulada utilizando uma linguagem poderosa como a linguagem natural, esta
não é propriamente traduzida em uma representação formal (DURÃO, 2008). A
grande questão é que a semântica de uma consulta está diretamente ligada ao
contexto que ela está sendo aplicada.
Normalmente, a composição de termos para formar uma expressão de busca
não consegue representar de forma clara a informação desejada. Isso acontece
porque o usuário precisa primeiramente realizar uma atividade não trivial:
traduzir sua necessidade para um conjunto de termos ou palavras-chave
(FRAKES and YATES, 1992; YATES and NETO, 1999; GAMMA, 2005). Essa consulta
é comumente denominada de query. Portanto, o objetivo principal para um SRI
é recuperar qualquer tipo de informação que seja útil ou relevante para o
usuário, por meio de uma query fornecida.
Levando esses problemas em consideração, este trabalho pretende mitigá-los
oferecendo o mínimo de contexto e auxiliando o usuário durante a formulação
15
de uma consulta através da recomendação de termos baseado em informações
providas por uma ontologia de domínio.
1.2 Principais Engenhos de Busca
Alguns estudos comparam, com os mais diversos parâmetros e variáveis, o
desempenho geral dos principais mecanismos de busca comercialmente
disponibilizados na Internet (RIECKEN, 2008). Por trás de uma infinidade de
algoritmos que em geral possuem o mesmo objetivo principal, recuperar
apenas documentos relevantes, existe um interesse comercial que pode desviar
ou distorcer qualquer avaliação realizada.
Normalmente é difícil avaliar e comparar esses engenhos de busca (como
Google2, Yahoo!
3, Bing
4) por eles atuarem em um ambiente não controlado,
diferentemente das bases específicas de domínio ou bibliotecas digitais. Por
isso, segundo Griffiths e Brophy (2005) não é adequado aplicar o modelo
tradicional de avaliação, mensurando medidas de revocação e precisão, para
analisar o desempenho desses SRIs. Para um melhor entendimento, estas
medidas serão detalhadas na Seção 2.2.3. Outra característica relevante do
ambiente em que estes motores de busca atuam é que a web é essencialmente
dinâmica, ou seja, tem o seu conteúdo freqüentemente atualizado.
Entretanto, é importante destacar que o cenário em que esses SRIs atuam é
bastante diferente do pretendido para este estudo, normalmente em um
domínio irrestrito. Com isso, as estratégias de RI aqui utilizadas e avaliadas não
têm intenção de serem aplicadas no ambiente descrito anteriormente, apesar
de possivelmente serem úteis para melhorar seus resultados.
2 Google: www.google.com 3 Yahoo!: www.yahoo.com 4 Bing: www.bing.com
16
1.3 Visão Geral da Solução Proposta
A solução proposta consiste em módulo de expansão de consulta que pode ser
acoplado a um SRI com o intuito de auxiliar o usuário a satisfazer sua
necessidade de informação com mais eficácia. Embora o processo de busca
envolva um ciclo completo de tratamento das informações contidas no texto
como definição lógica dos documentos (índice), formulação da consulta,
execução da pesquisa e, finalmente, ordenação por relevância dos documentos
recuperados, a solução proposta pretende avaliar apenas a fase de formulação
de consulta. No entanto, os benefícios obtidos com o enriquecimento dessa
fase podem ser refletidos no processo de busca como um todo.
1.4 Objetivos do Trabalho
Nesta seção será abordado o objetivo geral e específico utilizados como
direcionamento para o trabalho.
1.4.1 Objetivo Geral
Este trabalho tem como principal objetivo investigar a utilização de ontologias
de domínio específico quando aplicadas para fornecer subsídio aos mecanismos
de expansão de consultas baseadas em palavra-chave.
1.4.2 Objetivos Específicos
Para atingir o objetivo geral, alguns objetivos específicos são requeridos:
a) Através da investigação do estado da arte em RI, utilizar conceitos
discutidos na academia para verificar como os recursos providos por uma
ontologia de domínio podem orientar pesquisas e localizar informações
relevantes com mais eficácia;
b) Caracterizar o problema para formulação de consultas utilizando apenas
palavras-chave através de trabalhos relacionados e propostas que
17
abordam a utilização de técnicas de expansão de consultas para mitigá-
lo;
c) Construir um protótipo que viabilize a interação direta com o
conhecimento especificado em uma ontologia para sugerir termos que
podem ser selecionados para ajudar na objetividade da pesquisa. Através
desse protótipo será possível desenvolver um estudo de caso capaz de
validar a efetividade da proposta;
d) Avaliar o desempenho da abordagem proposta através da definição e
realização de um experimento baseado em estudo de caso. Dados
estatísticos e percentuais devem ser coletados para fundamentar e
discutir os resultados do experimento de forma conclusiva.
1.5 Delimitações da pesquisa
Para este trabalho será considerado fora do escopo da investigação:
a) Indexação e recuperação. Para este estudo foi utilizado um engenho de
busca de código aberto baseado no Lucene5. Por isso, está fora do
escopo desta pesquisa investigar qualquer parâmetro de eficiência ou
eficácia referente ao mecanismo de indexação e recuperação realizado
pelo framework;
b) Impacto em outras áreas do processo de RI. Nossa proposta está
preocupada com a fase de formulação da consulta no processo de busca.
Assim, estamos interessados em como esta fase pode ser melhorada
através da solução proposta. Logo, está fora do âmbito da nossa análise
verificar o seu impacto ou melhoria em outras fases do processo; e
c) Criação de ontologia. Fazemos uso de uma ontologia de domínio como
um dos principais componentes da proposta. Entretanto, cabe ressaltar
que este trabalho não está focado em métodos ou técnicas para a
construção de ontologias. Algumas discussões envolvendo este assunto
podem ser encontradas no trabalho de López et al. (1999).
5 Lucene: framework Java para indexação e pesquisa de documentos. http://lucene.apache.org/
18
1.6 Estrutura da Dissertação
Além desta introdução, este documento está organizado em mais seis capítulos:
a) O Capítulo 2, Recuperação de Informação, descreve em linhas gerais
alguns conceitos básicos relacionados a essa área, assim como a
estrutura geral e as principais atividades necessárias para compor um
SRI. Além disso, nesse capítulo serão descritos alguns mecanismos para
avaliar o desempenho de recuperação;
b) No Capítulo 3 são apresentados os principais conceitos relacionados a
ontologias, incluindo conceitos básicos, elementos estruturais,
classificação e as suas possíveis aplicações na área de RI;
c) No Capítulo 4 descrevemos alguns problemas encontrados em soluções
de RI convencionais e como os mesmos podem ser mitigados utilizando
expansão de consultas. Foram abordadas as características e o
funcionamento da expansão semântica de consultas baseada em
ontologias, sendo apresentados alguns trabalhos relevantes existentes na
literatura;
d) No Capítulo 5 especificamos o modelo de expansão de consulta proposto
enfatizando o comportamento do mecanismo de inferência aplicado a
ontologia de domínio. Na seqüência documentamos o protótipo QuESO,
onde foram descritos seus módulos e o modelo funcional;
e) O Capítulo 6 apresenta o estudo de caso detalhando como ele foi
concebido e executado. Além disso, através da análise dos resultados
obtidos com o experimento foi possível avaliar os resultados alcançados
com a aplicação da proposta; e
f) Por último, no Capítulo 6 descrevemos as contribuições obtidas com a
utilização da proposta, a relevância do trabalho e sugestões para
trabalhos futuros.
19
20
2. Recuperação de Informação
Neste capítulo fizemos uma pesquisa bibliográfica e documental para
contextualizar a solução proposta dentro da área de RI como um todo. Para
isso, a Seção 2.1 investiga de forma analítica o estado da arte dessa área de
conhecimento. Na Seção 2.2 analisamos alguns dos conceitos básicos e
introduzimos alguns conceitos utilizados para avaliar sistemas de RI. A Seção
2.3 faz uma comparação distinguindo a área de recuperação de informação e a
recuperação de dados. E por último, uma breve conclusão do que foi discutido
neste capítulo.
2.1 Fundamentação Teórica
Como em qualquer outro tipo de sistema, normalmente usuários de sistemas de
busca preferem não perder muito tempo para localizar a informação de que
necessitam (BEPPLER, 2008). Com isso, ao verificar a complexidade para
manipular informações, foram definidos alguns mecanismos para estruturar as
informações de forma que fosse possível acessá-las de forma suficientemente
rápida e com qualidade. Esses mecanismos são estudados e discutidos por uma
disciplina definida como recuperação de informação. Essa disciplina trata da
representação, armazenamento, organização e acesso as informações (YATES
and NETO, 1999).
Estimar ou definir a relevância de cada documento em relação à consulta de
um usuário é a tarefa base dos sistemas de RI. Essa estimativa é feita
associando-se uma importância a cada documento da resposta, usualmente
referido como o rank do documento (SILVEIRA, 2003). Este rank é o que
possibilita a ordenação dos documentos por similaridade com relação à
consulta. Diferentes algoritmos de ordenação são utilizados em sistemas de RI,
21
como os baseados em álgebra booleana, modelagem probabilística e em
representações vetoriais (SILVEIRA, 2003). Maiores informações sobre o
funcionamento desses algoritmos podem ser encontradas em Yates e Neto
(1999).
O mecanismo mais importante para auxiliar o processo de recuperação de
informações é denominado de índice. Índice é definido como uma coleção de
termos que indicam o local onde a informação desejada pode ser facilmente
localizada (FRAKES and YATES, 1992). Porém, utilizar apenas a técnica de
busca por palavra-chave para acesso ao índice, como acontece na maioria das
soluções de busca convencionais na web, normalmente compromete a
eficiência da busca (CROFT, 1993). Isso ocorre pela dificuldade em organizar e
co-relacionar semanticamente, e não apenas sintaticamente, os termos de
forma a facilitar sua recuperação. Como as palavras em um índice são tratadas
de forma isolada, é fácil perceber que o contexto em que uma determinada
palavra se encontra no texto é completamente perdido (YATES and NETO,
1999). Com o intuito de enfatizar a importância e complexidade da utilização
de uma estrutura de índice, na Seção 2.3 descrevemos a diferença chave entre
sistemas para recuperação de informação e sistemas de recuperação de dados.
Além disso, a Seção 2.2.1 apresenta um processo genérico de indexação com o
objetivo de exemplificar como essa estrutura é criada.
As técnicas utilizadas para recuperação da informação na web como um todo
normalmente não são eficazes, pois realizam busca em informações não
estruturadas (NUNES and FILETO, 2005). A eficácia de um mecanismo de busca
normalmente é medida pela quantidade de documentos relevantes retornados
nos primeiros resultados (YATES and NETO, 1999). Com o surgimento do
conceito de web semântica, onde cada palavra utilizada na internet possui um
significado associado a ela, é possível que o conteúdo seja processado, ou
ainda, �entendido pelos computadores�. A importância desse conceito está em
possibilitar a recuperação da informação na web utilizando conteúdo
22
semanticamente relacionado (CANTELE and FEREIRA, 2008). Porém, é preciso
que se tenham fontes comuns de informações, sendo um vocabulário de dados
organizado para cada domínio de aplicação. Por isso, surge a necessidade de
compreender o conceito de ontologias. Na web semântica, o significado e o
relacionamento das palavras de um determinado domínio são principalmente
obtidos através do uso deste conceito.
2.2 Conceitos Básicos em RI
Alguns dos conceitos utilizados para este estudo serão abordados nas seções a
seguir. O entendimento destes conceitos será útil para a compreensão da
proposta.
2.2.1 Indexação
O índice é uma lista de termos que apontam para uma segunda lista de
documentos correspondentes. Esse é considerado o componente mais
importante na arquitetura de um SRI (YATES and NETO, 1999). Diferentes
estruturas de índices podem ser criadas, mas a estrutura de índice invertido
(inverted file) é a mais popular. Podemos dizer que um índice invertido é uma
lista ordenada de palavras-chave, onde cada palavra tem uma lista de
apontadores para os documentos que contêm essa palavra em seu conteúdo
(ZOBEL and MOFFAT, 2006). Para Yates e Neto (1999) essa lista de palavras-
chave representa uma visão lógica dos documentos que será manipulado pelos
engenhos de busca.
Para que essa estrutura seja criada, o processo de indexação consiste na
criação de estruturas de dados associadas aos termos contidos nos documentos,
com o objetivo de acelerar seu processo de recuperação. Normalmente existe
um pré-processamento aplicado aos termos que compõem um índice, onde são
extraídos os termos que irão compor os índices de um determinado documento
da coleção. Como um conjunto de termos indexados representará um
23
documento, uma preocupação está em não indexar palavras que não tragam
representação semântica ao documento. Algumas operações são executadas no
pré-processamento, tais como eliminação de stopwords e stemming.
A primeira operação trata de filtrar as palavras que aparecem com muita
freqüência ou são consideradas irrelevantes para identificação de documentos.
Artigos, preposições e conjunções são candidatos naturais à lista de stopwords,
não sendo necessário indexá-los. Como essa operação é capaz de comprimir o
tamanho do índice em 40% ou mais, é relevante incrementar esta lista e tratar
alguns verbos, advérbios e adjetivos como stopwords (YATES and NETO, 1999).
Assim como no processo de indexação, a eliminação de stopwords pode ser
utilizada no processo de pesquisa.
A operação de stemming analisa as características gramaticais das palavras,
como grau, gênero e número, a fim de encontrar sua forma primitiva. Para
isso, os algoritmos de stemming removem os sufixos e prefixos das palavras.
Além disso, pode ser analisado o tempo verbal do termo e quanto a sua forma
no gerúndio (YATES and NETO, 1999). Dessa forma, variações em uma palavra
de mesmo valor semântico são reduzidas a um radical comum. Assim como a
remoção de stopwords, a utilização de stems (radical comum) reduz o tamanho
do índice e melhoram o seu desempenho. Isso porque as variações de um
mesmo conceito são reduzidas a uma única entrada no índice. A Seção 4.1
descreve, de forma genérica, um processo completo de busca.
2.2.2 Recuperação e Consulta
Utilizando a estrutura descrita na seção anterior, é possível recuperar
informações com bastante eficiência. O processo comum de recuperação inicia
com a submissão de uma consulta. Em seguida, os termos que compõe essa
consulta serão comparados com a estrutura de índice. De forma simplificada,
24
essa comparação apenas procura pelos documentos que utilizam os termos
especificados na consulta. Na Figura 2.1 temos a representação gráfica
utilizada pelo Google6 para descrever seu processo de consulta.
Figura 2.1 � Processo de Recuperação (Google Inc.).
Sob o ponto de vista da busca, no primeiro passo é executada a operação de
similaridade (matching) entre os termos da consulta e a estrutura de índice. No
segundo momento, além das atividades descritas na figura, é realizada a
operação de ordenação (scoring) dos documentos identificados como relevantes
6 Google Tecnologia: http://www.google.com/corporate/tech.html
25
no passo 1. Por último, uma lista ordenada de documentos é exibida para o
usuário.
2.2.3 Avaliação do desempenho de pesquisa
Para avaliação da qualidade de um SRI, as medidas mais utilizadas são a
revocação (recall) e precisão (precision) (YATES and NETO, 1999). Estas
medidas são baseadas na condição de relevância para o usuário, de acordo com
a necessidade de informação em questão. A revocação mede a proporção de
documentos relevantes que foram recuperados avaliando a base como um todo.
Por outro lado, a precisão calcula a proporção de documentos relevantes
contidos no resultado da pesquisa.
Para obter o valor de revocação de uma consulta é preciso calcular a relação
entre a quantidade de itens relevantes retornados e a quantidade total de itens
relevantes contidos na coleção. Já a o valor de precisão é obtido através da
relação entre a quantidade de itens relevantes recuperados e a quantidade
total de itens recuperados. Logo, o ideal almejado por um SRI é reduzir a
quantidade de respostas irrelevantes, tendo assim uma alta precisão, e garantir
que resultados relevantes não sejam desconsiderados, garantindo assim uma
alta revocação. Na Figura 2.2 podemos visualizar a fórmula dos dois indicadores
citados, onde |RR| são os itens relevantes recuperados, |TR| é o total de itens
relevantes da coleção e |RE| é o resultado da pesquisa retornado pelo SRI.
Figura 2.2 � Fórmulas dos indicadores de revocação e precisão.
A avaliação de um SRI pode ser observada utilizando um gráfico com as médias
de precisão x revocação, como podemos verificar na Figura 2.3. Neste
exemplo, o sistema de avaliação compara o resultado do SRI a um conjunto
26
ideal de resultados. Nesta comparação é possível calcular os indicadores de
precisão e revocação e assim gerar um gráfico relacionando as duas medidas.
Figura 2.3 � Processo de avaliação de um SRI (CARDOSO, 1996).
Contudo, a decisão de quais medidas a serem utilizadas em uma avaliação
depende da aplicação, havendo sempre discussões sobre a confiabilidade de
tais medidas. Por exemplo, para Yates e Neto (1999) o gráfico relacionando
precisão e revocação deve ser aplicado na avaliação de algoritmos de
ordenação (ranking). Algumas dessas medidas citadas nesta seção serão
utilizadas para avaliação do experimento aplicado a esta proposta, como
apresentado na Seção 6.2.
27
2.2.3.1 Revocação Relativa
Devido ao tamanho e dinamismo das bases disponíveis para consulta é inviável
avaliar a qualidade de recuperação pela medida padrão de revocação. Para
obter a medida de revocação, como mencionado na seção anterior, em cada
consulta todos os documentos da coleção teriam de ser inspecionados por um
ser humano e marcado como relevantes ou irrelevantes. Como alternativa,
pode ser utilizado a revocação relativa (Gonçalves et al., 1998). Relativa
porque são valores calculados com base no número de documentos relevantes
de uma dada consulta, número esse gerado a partir de uma amostra de
documentos da coleção. Para a obtenção da revocação relativa é necessário
apenas elaborar um conjunto de consultas sobre um determinado tema e
considerar o resultado como sendo o todo. Todos os documentos relevantes
recuperados por este conjunto de consultas é considerado como "o conjunto de
documentos relevantes existentes na coleção". Dessa forma, apenas é
necessário consultar os documentos recuperados para o referido conjunto de
consultas, em vez de toda a coleção.
Para a avaliação desta proposta, pretendemos utilizar a medida de revocação
relativa para medir a abrangência da proposta.
2.2.3.2 Medida-F
Para Barros et al. (1998) a métrica mais conveniente para avaliar o
desempenho global de um SRI é a �Medida-F� ou média harmônica, dada por:
Figura 2.4 � Métrica medida-F.
Como podemos ver na Figura 2.4 esta métrica utiliza tanto a medida de
precisão quanto a de revocação. O objetivo desta métrica é se manter o mais
28
próximo possível de (F = 1). Note que esta métrica apenas se aproxima de (F =
1) quando ambos, precisão e revocação, se mantêm alto. Para se obter uma
boa medida-F é preciso ter uma boa precisão assim como uma boa revocação
(GARCIA et al., 2006).
2.2.3.3 TREC (Text REtrieval Conference)
Conferência formada por um grupo de pesquisadores da área de RI que provê
várias coleções de dados homologadas por especialistas. O seu objetivo é
apoiar a investigação de novas técnicas sugeridas pela comunidade de
pesquisadores, fornecendo a infra-estrutura necessária para a avaliação em
larga escala de metodologias aplicadas a RI. O intuito desta conferência é
incentivar o desenvolvimento de pesquisas nessa área.
A maioria das coleções disponibilizadas pela TREC é composta por três partes:
a) o conjunto de documentos ou base de informações;
b) exemplos de consultas a serem aplicadas à base (chamado de tópicos
na nomenclatura do TREC); e
c) o conjunto de documentos relevantes para cada exemplo de
consulta. Usualmente este conjunto de documentos são os 100 mais
relevantes, de acordo com o julgamento de vários participantes
durante a definição da base.
Para o desenvolvimento deste trabalho optou-se pela construção de uma
coleção de referência em detrimento da utilização de uma coleção
disponibilizada pelo TREC. A decisão foi tomada porque essas bases possuem os
resultados classificados e contabilizados com base em uma consulta específica
e já previamente construída. No entanto, o intuito desta proposta é oferecer
subsidio para que o usuário possa, com auxilio de conhecimento semântico,
construir sua própria consulta. Segundo Yates e Neto (1999), bases como as
definidas pelo TREC, conhecida como bases de referência, são criadas,
29
principalmente, para avaliar algoritmos de indexação e até mesmo algoritmos
de �rankeamento� (ordenação do resultado da consulta). Contudo, para o
experimento aplicado a este trabalho foi construído manualmente uma base de
documentos utilizando alguns critérios que serão discutidos na Seção 6.3.
2.3 Recuperação da Informação x Recuperação de dados
No contexto da RI, a recuperação de dados consiste principalmente em
determinar quais documentos de uma coleção contêm as palavras-chave que
aparecem na consulta. Por outro lado, os sistemas de recuperação de
informação devem retornar conteúdo que seja relevante para o usuário (YATES
and NETO, 1999). Por isso, os SRI têm como tarefa básica comparar consultas
de usuários com um conjunto de documentos armazenados em uma coleção,
sempre por ordem de relevância ao pedido de busca.
Entretanto, a recuperação de informação busca interpretar a necessidade de
um usuário que procura sobre um determinado assunto, enquanto a
recuperação de dados está focada em satisfazer as restrições de uma
especificação. Apesar dessa distinção, as duas abordagens têm como principal
objetivo prover aos usuários acesso facilitado ao conteúdo de seu interesse.
A recuperação de informação é mais fácil de ser entendida, pois trata da
recuperação de um assunto ou de um documento relacionado a uma consulta
fornecida, normalmente utilizando linguagem natural. Por outro lado, a
recuperação de dados se propõe a recuperar objetos que satisfaçam
claramente uma condição definida, tal como uma expressão regular ou uma
expressão algébrica (YATES and NETO, 1999). Neste último, um único objeto
errado encontrado em um conjunto de milhões de objetos retornados significa
uma falha completa da busca. Um objeto �errado� significa algo que não
satisfaça as condições de uma consulta. Já em sistemas de recuperação de
informação, pequenos erros são completamente aceitáveis. A eficácia desse
30
tipo de abordagem pode ser dimensionada através da quantidade de
documentos relevantes em relação à quantidade total de documentos
retornados. Isso quer dizer que embora pequenos erros durante o processo de
recuperação sejam aceitáveis, a precisão dos resultados é algo fundamental.
Contudo, como este estudo está interessado em ajudar o usuário a traduzir seu
interesse em um conjunto de palavras-chave, utilizaremos conceitos
relacionados a RI.
2.4 Considerações Finais
Neste capítulo foi possível evidenciar que a área de RI se preocupa,
principalmente, com a organização da informação e mecanismos que facilitem
o processo de recuperar a informação requerida. Além da análise teórica da
área, utilizaremos os conceitos básicos discutidos para o entendimento da
proposta.
Como apoio a área de RI, pretendemos utilizar uma ontologia de domínio como
coleção independente de conhecimento para dar suporte ao enriquecimento
das consultas aplicadas a um SRI. Para tal, esta proposta tem como base
ontologias abordadas no próximo capítulo.
31
3. Ontologia
Neste capítulo discutiremos sobre o que vem a ser uma ontologia dentro do
contexto utilizado nesse trabalho. Serão abordadas as principais vantagens de
seu uso, suas possíveis aplicações, sua classificação e a importância das
anotações semântica. Além disso, realizaremos um breve comparativo com
outra conhecida tecnologia que utiliza conceito semântico, os tesauros. Essas
atividades são essenciais para contextualizar o problema e verificar o potencial
do uso das ontologias de domínio na análise semântica de termos.
3.1 Definição
Na filosofia, a palavra ontologia significa uma teoria sobre a natureza do ser.
Ainda nesse contexto, a ontologia é definida como uma consideração
sistemática da existência e da essência. O objetivo dessa técnica é organizar as
informações que são ligadas a um determinado domínio. Sendo assim, a
ontologia tem sua estrutura baseada na descrição de conceitos e dos
relacionamentos semânticos entre eles, gerando uma especificação formal e
explícita de uma conceitualização compartilhada (BORST, 1997). Entretanto,
esse mesmo termo foi aproveitado pela área de IA (Inteligência Artificial)
dando resultado a uma mistura de significados. De acordo com Gruber, no
contexto da IA, tudo o que existe é o que pode ser representado. O que a
ontologia possui em comum entre o conceito filosófico e computacional é a
representação das entidades, idéias, e eventos, juntamente com as suas
propriedades e relações, de acordo com um sistema de categorias (SOUZA,
2008). Uma definição clara e bastante difundida sobre o significado da
ontologia no contexto da ciência da computação pertence ao próprio Gruber.
Uma ontologia é uma especificação explícita e compartilhada de uma
conceitualização formal. É uma descrição dos conceitos e dos
32
relacionamentos que podem existir para um agente ou para uma
comunidade de agentes (BORST apud GRUBER, 1997).
Para entender essa definição, primeiramente é preciso entender o significado
de alguns termos aplicado a esse contexto. Conceitualização representa a
interpretação de uma parte do mundo, para que pessoas possam utilizá-la para
pensar e se comunicar de forma uniforme (ALMEIDA and BAX, 2003). Ou ainda,
trata-se de um modelo abstrato que especifica uma hierarquia de conceitos
relevantes para algum domínio de conhecimento (SOUZA, 2008). Com relação
ao compartilhamento, significa que o conhecimento deve existir através de um
consenso e aceito por toda comunidade (PICKLER, 2007). Quanto à
formalidade, significa que a ontologia deve ser um padrão passível de
processamento através de máquinas (ALMEIDA and BAX, 2003).
Outra definição bastante aceita entre os pesquisadores é que as ontologias
geram uma especificação formal e explícita de uma conceitualização
compartilhada (BERNERS-LEE and HENDLER, 2001). Esta definição enfatiza a
existência de um acordo comum no aceite da conceituação especificada. Logo,
a informação contida nas ontologias tende a ser de alta credibilidade.
Guarino (1998) revê a definição de conceitualização aplicado a ontologia como
sendo um artefato construído por termos utilizado para descrever certa
realidade, somado a uma série de fatos explícitos e aceitos que dizem respeito
ao sentido pretendido para um determinado conjunto de termos (vocabulário).
Esses termos são co-relacionados e a ontologia então define as regras que
regulam a combinação entre os termos e suas relações.
Entretanto, apesar de serem criadas por especialistas é necessário que uma
ontologia seja �homologada� para que ela tenha capacidade de reutilização. A
falta de uma definição consensual do que de fato é uma ontologia de domínio,
tende a gerar expectativas irreais a respeito do que as ontologias podem
33
alcançar (SCHULZ and STENZHORN, 2009). As seções subseqüentes irão detalhar
as principais características de uma ontologia e como esta pode ser aplicada.
3.1.1 Ontologias e Tesauros
Para efetiva organização do conhecimento foi identificada a necessidade da
adoção de uma linguagem documentária que buscasse uma padronização da
linguagem natural. O intuito seria eliminar o principal problema da utilização
da linguagem natural em qualquer que seja sua aplicação, a polissemia (uma
única palavra com vários significados). Com isso, os tesauros foram criados para
formalizar a padronização de termos de uma determinada área de
conhecimento, não permitindo ambigüidades (PICKLER, 2007).
Um tesauro define um conjunto de termos e seus relacionamentos. Porém, a
única relação possível de ser definida é a de generalização, ou seja, os
conceitos partem do geral para o específico (BREITMAN, 2005). Segundo
Breitman (2005), os tesauros contam com alguns tipos de relacionamentos
estruturais, como de hierarquia (termos genéricos e específicos) e associação
(termos relacionados), que auxiliam na organização dos dados. Entretanto,
esses relacionamentos são pré-definidos, ou seja, não podem ser estendidos ou
modificados. Logo, os tesauros são bastante úteis na criação de vocabulários e
dicionários controlados, mas não são suficientes para modelar aspectos do
mundo real (PICKLER, 2007).
Reforçando a definição citada na seção anterior, o emprego do termo ontologia
na área de ciência da computação denomina uma estrutura de termos e as
relações entre eles em um determinado domínio. Com base nas definições
descritas nessa seção para ontologias e tesauros, fica clara a confusão entre a
definição desses dois termos, uma vez que estes, da mesma forma, podem ser
considerados estruturas de termos e as relações entre eles (PICKLER, 2007).
Contudo, a afirmação de Breitman (2005) deixa clara a distinção os dois
conceitos.
34
Muitas vezes é necessário relacionar conceitos utilizando
relacionamentos do tipo parte-de, membro-conjunto, causa-efeito, entre muitos outros. Um tesauro não permite a seus usuários
a criação destes e novos tipos de relacionamento, para tal é
necessário utilizar uma ontologia (BREITMAN, 2005).
Sendo assim, podemos considerar que as ontologias são mais completas,
complexas e flexíveis por possibilitarem que novos relacionamentos sejam
criados. No entanto, apesar de existirem pontos comuns entre ontologias e
tesauros e ainda alguns autores classificarem os tesauros como um tipo
simplificado de ontologia, tratam-se de ferramentas distintas e com propósitos
distintos (PICKLER, 2007). Para Moreira (2003) o tesauro nasceu como um
instrumento prático para auxiliar na indexação e busca de documentos
enquanto a ontologia surgiu da necessidade de descrever os objetos digitais e
suas relações.
3.1.2 Classificação (Tipos)
Um ponto importante na conceitualização de uma ontologia são os seus tipos,
que podem ser classificados quanto ao seu conteúdo, grau de formalismo,
aplicação, estrutura ou função. Como podemos verificar na Tabela 3.1, cada
classificação foi definida por um autor na literatura (ALMEIDA and BAX, 2003).
A que nos parece mais interessante, por utilizar uma característica chave das
ontologias, é o sistema de classificação por conteúdo.
Para realização deste estudo estamos interessados nas ontologias classificadas
como sendo de domínio. Isso porque a abordagem definida para este estudo
trata de sugerir termos relacionados semanticamente dentro de um mesmo
domínio durante a formulação de uma consulta. Em destaque na Tabela 3.1,
este tipo de classificação pode estar associado a sua função, estrutura ou
conteúdo. Entretanto, de forma resumida podemos sintetizar como sendo uma
representação e especificação de um �micro-mundo�, independente da
classificação utilizada.
35
Tabela 3.1 � Classificação ontológica - adaptado de Almeida e Bax (2003).
Abordagem Classificação Descrição
Quanto à função Mizoguchi, Vanwelkenhuysen & Ikeda (1995)
Domínio Reutilizáveis no domínio fornecem vocabulários sobre
conceitos, seus relacionamentos, sobre atividades e regras que os governam.
Tarefa Fornecem um vocabulário sistematizado de termos,
especificando tarefas que podem ou não estar no
mesmo domínio. Gerais Incluem um vocabulário relacionado a coisas, eventos,
tempo, espaço, casualidade, comportamento, funções e
etc. Quanto ao grau de
formalismo Uschold & Gruninger (1996)
Altamente Informais Expressa livremente em linguagem natural. Semi-informais Expressa em linguagem natural de forma restrita e
estruturada. Semiformais Expressa em uma linguagem artificial definida
formalmente. Rigorosamente Formais Os termos são definidos com semântica formal,
teoremas e provas. Quanto à estrutura Haav & Lubi (2001)
Alto Nível Descrevem conceitos gerais relacionados a todos os elementos da ontologia (espaço, tempo, matéria,
objeto, evento, ação etc.) os quais são independentes do
problema ou domínio. Domínio Descrevem o vocabulário relacionado a um domínio,
como, por exemplo, medicina ou automóveis. Tarefa Descrevem uma tarefa ou atividade, como, por
exemplo, diagnósticos ou compras, mediante inserção
de termos especializados na ontologia. Quanto ao Conteúdo
Van-Heijist, Schreiber & Wielinga (2002)
Modelagem do Conhecimento
Especificam conceitualizações do conhecimento, têm
uma estrutura interna semanticamente rica e são
refinadas para uso no domínio do conhecimento que
descrevem. Domínio Expressam conceitualizações que são específicas para
um determinado domínio do conhecimento. Genéricas Similares às ontologias de domínio, mas os conceitos
que as definem são considerados genéricos e comuns a vários campos.
Ainda uma subclassificação pode ser feita com relação a ontologias de domínio
específico ou de domínio geral. Segundo Gruber (1993), a classificação das
ontologias pode ser simplificada em dois domínios de investigação:
a) a engenharia ontológica sendo definida por um trabalho empírico,
onde são definidas as categorias e as relações no domínio a ser
representado; e
b) o trabalho mais abstrato sobre a teoria ontológica, que visa
classificar todos os objetos existentes no mundo, bem como os
aspectos de tempo, espaço, causalidade, etc.
36
Como exemplo do primeiro tipo de ontologia temos o MeSH (Medical Subject
Headings) e UMLS (Unified Medical Language System) que são ontologias ligadas
à área biomédica. No caso das ontologias de domínio geral, podemos citar a
WordNet7 e EuroWord-Net
8.
3.2 Características e Estrutura
As ontologias não apresentam sempre a mesma estrutura, mas existem
características e componentes básicos comuns presentes em grande parte
delas. Na prática a ontologia tem com estrutura principal um catálogo das
definições do vocabulário formal de um determinado domínio. Além do
vocabulário aplicado a um domínio, uma ontologia também trabalha os
relacionamentos entre esses conceitos, instâncias desses conceitos e
relacionamentos entre instâncias (ALMEIDA and BAX, 2003). Normalmente as
relações entre os termos são criadas por especialistas, e os usuários formulam
consultas na ontologia usando os conceitos especificados. Uma descrição
relevante sobre o que compõe de fato uma ontologia foi proposta por Gómez-
Pérez (1999) que a dividiu em cinco componentes:
a) Conceitos agrupados em uma hierarquia (taxonomia). Os conceitos
podem ser abstratos (por ex.: lar), concretos (por ex.: casa) ou
fictícios. Para exemplificar a característica de hierarquia podemos
dizer que o conceito casa é uma subclasse do conceito lar;
b) Além do relacionamento de hierarquia (filho/pai/irmão), existe um
conjunto de relacionamentos específicos entre os conceitos. O
relacionamento faz-parte entre os conceitos garagem e casa é
um exemplo de relacionamento. Como exemplos de relacionamentos
predefinidos podemos citar os inversos, transitivos e simétricos;
7 WordNet: http://wordnet.princeton.edu/ 8 EuroWord-Net: http://www.illc.uva.nl/EuroWordNet/
37
c) Um conjunto de funções. Uma função é um caso especial de
relacionamento em que um conjunto de elementos tem uma relação
única com outro elemento;
d) Um conjunto de axiomas, ou seja, regras que são sempre verdade.
Um exemplo de axioma é afirmar que toda pessoa tem uma mãe;
e) Um conjunto de instâncias que são um conhecimento prévio
existente na ontologia. Por exemplo, o elemento Fortaleza é uma
instância do conceito Cidade, considerando o domínio referente a
uma república.
Na Figura 3.1 temos representação gráfica de uma ontologia, mostrando como
os conceitos podem se relacionar, assim como os recursos disponíveis.
Figura 3.1 � Representação gráfica de uma ontologia.
Neste exemplo temos os três recursos básicos de uma ontologia: conceitos,
relacionamentos e instâncias. Os elementos é_um, tem_parte e subClasse,
representados por uma seta, são relacionamentos predefinidos e genéricos na
ontologia que podem ser modificados ou até incrementados com a adição de
38
relacionamentos transitivos. Já os relacionamentos dirido_por e
produzido_por são relacionamentos específicos do domínio em questão, ou
melhor, são relacionamentos com significado próprio dentro do domínio
aplicado. Por fim, o elemento Ferrari, com cor diferenciada na figura,
representa uma instância do conceito Montadora, ou seja, é considerado um
termo previamente conhecido dentro do domínio de automóveis.
Alguns autores discordam que as instâncias fazem parte da ontologia, mas sim
fazem parte da base de conhecimento (YAGUINUMA, 2007). Entretanto, é fato
que algumas instâncias são inerentes ao próprio conhecimento prévio do
domínio. Apesar de a ontologia possuir estes elementos típicos, eles não são
obrigatórios. Com isso, uma ontologia pode assumir várias formas, entretanto,
necessariamente, deve incluir um vocabulário de termos (conceitos) e alguma
especificação do significado de suas definições.
Além dos elementos citados, outro recurso importante das ontologias são as
restrições. As restrições são basicamente condições impostas às entidades.
Qualquer individuo que satisfaça as condições predefinidas pode ser
considerado uma instância dessa entidade (GÓMEZ-PÉREZ, 1999). Por exemplo,
para ser um carro é necessário que possua rodas, tenha um motorista e
possua um motor. Logo, essas são as restrições para que um conceito seja
considerado um carro.
Segundo Gruber (1993) existem alguns critérios a serem observados para avaliar
as ontologias:
a) ser clara e objetiva na definição dos termos e descrição das classes;
b) ser extensível o bastante para suportar a incorporação de novos
termos sem revisar conceitos já definidos; e
c) permitir seu compartilhamento e reuso.
39
Existem várias propostas na literatura sobre como construir uma ontologia de
forma a atender esses e outros critérios desejáveis. López et al. (1999) realizou
um estudo comparativo das principais metodologias já publicadas para tentar
destacar os pontos fortes e de melhoria para cada uma. Como já mencionado
na delimitação do escopo deste trabalho, apenas a utilização (e não a criação)
de ontologias é relevante para nossa proposta.
3.3 Aplicação em RI
Muitas bases não-estruturadas estão sendo desenvolvidas para armazenar
informações. Porém, não se tem um acesso eficiente a essas informações
(PRINCE and ROCHE, 2009). Uma das estratégias inclui o uso de recursos
lingüísticos para melhorar o acesso as informações. Segundo Almeida e Bax
(2003) alguns desses tipos de estruturas utilizados na organização dessas
informações são:
a) glossários e dicionários, estruturas que se organizam a partir da
utilização de termos;
b) taxonomias, estruturas que se organizam com a classificação e a
criação de categorias e;
c) ontologias e tesauros, estruturas que se organizam a partir de
conceitos e de seus relacionamentos.
Em última instância, o que se busca com a utilização dessas estruturas são
melhorias nos processos de recuperação da informação. Uma abordagem que
tem recebido atenção é a utilização de ontologia para organização do conteúdo
das bases de informação (ALMEIDA and BAX, 2003). Para Barth e Timoszczunk
(2008), o ponto crítico na utilização de ontologia é estruturar adequadamente
os termos do domínio tal como empregados nas fontes de informação
utilizadas.
Exemplificando como a ontologia pode ser aplicada podemos descrever um caso
prático. Por exemplo, para um engenheiro mecânico, uma ferramenta pode ser
40
classificada em grupos denominados como cortantes, ajuste em parafusos,
hidráulica, entre outros. O agrupamento ocorreu porque as ferramentas
pertencentes ao mesmo grupo possuem manuseio semelhante, por exemplo.
Além disso, cada um desses grupos pode ser subcategorizado dependendo do
material a que se deve ser aplicado, como madeira ou metal. Contudo, para
uma área diferente desta, uma ferramenta provavelmente não terá esses
grupos, nem muito menos haverá essas subcategorias para classificação de uma
ferramenta. O entendimento e conceituação do termo ferramenta podem
variar de acordo com o domínio ao qual é aplicado.
A justificativa para a utilização de ontologia está em aplicar a mesma estrutura
de informação entre softwares e pessoas, compartilhando de forma uniforme o
conhecimento do domínio. Com relação a RI, na formação de uma ontologia os
sinônimos contribuem para uma maior abrangência na cobertura do domínio.
Por outro lado, a hierarquia gerada pela decomposição de um domínio pode ser
utilizada para fazer uso de conceitos mais específicos ou mais genéricos,
dependendo da necessidade. Neste contexto, o uso de ontologia em sistemas
de busca vem para melhorar os resultados obtidos através da formulação de
consultas que utilizam linguagem natural, ou seja, não possuem um vocabulário
controlado. Portanto, a aplicação deste tipo de estrutura em sistemas de busca
torna realidade a recuperação de informação semanticamente relacionadas. Ao
fazer uso de termos adicionais do próprio domínio para expandir uma consulta,
a ontologia vem para aumentar a probabilidade de recuperação de documentos
que seriam ignorados pela consulta original ou ainda reforçar o seu índice de
relevância. Contudo, este trabalho tem o objetivo de usufruir de duas
características providas por uma ontologia: o conhecimento estruturado e
independente.
41
3.4 Anotação Semântica
A principal utilidade de uma anotação semântica é fornecer uma ligação entre
uma informação armazenada em um documento e uma estrutura semântica
associada a ele. Uma anotação semântica identifica, formalmente, conceitos e
relações presentes nos recursos com a finalidade de facilitar a descoberta,
localização e utilização deles por máquinas (NUNES and FILETO, 2005). Para a
aplicação neste trabalho, utilizaremos os conceitos de anotação semântica
especificamente aplicada a ontologias.
Uma anotação semântica deve ser bem definida, não ambígua e fácil de ser
compreendida pelos especialistas de domínio. Apenas assim uma anotação pode
ser útil no processo de recuperação de informação (NUNES and FILETO, 2005).
Usualmente, a referência aos termos contidos em uma ontologia é realizada
através de uma anotação semântica. Como boa prática do processo de
anotação, os especialistas normalmente seguem uma hierarquia ontológica para
facilitar o seu entendimento. Uma entidade, termo contido no texto analisado,
possui relação direta com um ou mais conceitos da ontologia. A identificação
das entidades de um texto é o primeiro passo do processo de anotação.
Logo depois é preciso ligar as entidades identificadas no documento com as
suas respectivas descrições semânticas contidas na ontologia. A ligação de uma
entidade com sua descrição no repositório semântico pode ser feita de forma
rápida e precisa através de uma URI9 (Uniform Resource Identifier). Depois
disso, o resultado do processo de anotação é associado a uma ontologia e
gravado em um repositório através de uma representação que pode ser
intrusiva ou não. Como o nome já diz, a anotação intrusiva insere as
informações de relacionamento com o repositório semântico no próprio
documento. Por outro lado, a não-intrusiva utiliza ponteiros externos para
9 URI: Padrão definido pela W3C para identificar recursos. http://www.w3.org/TR/uri-clarification/
42
referenciar os termos do repositório e as entidades identificadas no texto
(NUNES and FILETO, 2005).
3.5 Considerações Finais
Neste capítulo foram discutidos os principais conceitos, elementos estruturais e
classificações referentes à ontologia. As ontologias possibilitam adicionar
semântica aos documentos de uma coleção de forma que as ferramentas de
inferência possam �raciocinar� sobre os mesmos. Além disso, falamos sobre as
anotações semânticas que são mapeamentos diretos entre os termos contidos
em uma coleção e os conceitos definidos em uma ontologia.
Conforme abordado na Seção 3.3, através do uso de ontologia aplicado a RI
podemos utilizar sua estrutura de sinônimos para obter uma maior abrangência
na cobertura do domínio como também fazer uso de sua hierarquia para obter
conceitos mais específicos ou mais genéricos, definindo o nível de precisão
ideal para quem realiza a consulta.
Os mecanismos e recursos necessários para aplicar a expansão semântica de
consultas em um SRI serão apresentados no próximo capítulo.
43
4. Expansão semântica de consultas utilizando ontologia
Na primeira seção deste capítulo será apresentado um processo de consulta
genérico para que seja possível identificar como, e em que parte do processo,
os mecanismos de expansão de consulta podem ajudar a trazer melhores
resultados. Além disso, será descrito o funcionamento de um processo de
expansão convencional assim como a classificação definida pela academia para
tais mecanismos de expansão, como poderemos verificar na Seção 4.2.
Na Seção 4.3 serão discutidos alguns trabalhos relacionados com o objetivo de
identificar semelhanças e divergências com as soluções propostas pela
academia. Por último, no Capítulo 4.4, faremos as considerações finais
enfatizando a expectativa quanto aos benefícios obtidos com a utilização de
ontologia no processo de expansão de consultas.
4.1 Processo de Consulta
Segundo Croft (1993), existem três processos básicos em um sistema de
recuperação de informação:
a) representação do conteúdo dos documentos (processo de indexação,
como especificado na Seção 2.2.1);
b) representação das necessidades de informação do usuário
(processamento da consulta, foco do nosso trabalho); e
c) comparação entre as duas representações (tarefa executada pelos
engenhos de busca).
Através da Figura 4.1 podemos visualizar cada um dos três processos básicos
representados graficamente pelos retângulos com bordas arredondadas. Os
retângulos normais representam os recursos necessários para que este processo
funcione. Por último, o retângulo em vermelho representa a atividade foco do
nosso trabalho. Ela está associada a etapa de processamento e reformulação de
44
consulta com o objetivo de realizar operações que transformem a necessidade
do usuário em uma consulta bem formada, utilizando apenas um conjunto de
palavras-chave.
Figura 4.1 � Funcionamento padrão de um SRI.
Em uma ferramenta de RI convencional, para cada consulta enviada, o sistema
devolve uma lista de documentos ordenados de acordo com a sua pertinência
em relação à consulta. Os documentos que contém os termos da consulta são
retornados independentemente do contexto em que são utilizados. O usuário
então analisa esta lista de documentos, retira os documentos relevantes e
descarta os não relevantes. Este cenário se trata de uma recuperação de
informação perfeita, onde o usuário em sua primeira tentativa consegue
localizar a informação desejada.
A princípio, parece ser trivial armazenar e recuperar a informação desejada
através de uma consulta fornecida, assim como a solução descrita
anteriormente. Entretanto, na prática esta solução é obviamente inviável, uma
vez que nenhum usuário consegue em tempo hábil ler e identificar, dentre uma
45
coleção de milhares de documentos, quais os documentos de seu interesse
(YATES and NETO, 1999).
Para explicar de forma simples a estrutura principal de um sistema de busca na
WEB, podemos separá-la em duas partes: (a) um robot conhecido como crawler
que captura o conteúdo das páginas a serem indexadas; e (b) uma página WEB
para realização de consultas aos documentos indexados (BEPPLER, 2002). A
primeira parte alimenta a estrutura de índice e a segunda apenas provê uma
interface simples para entrada de termos ou palavras-chave. Embora esta seja
a estrutura utilizada pela maioria dos mecanismos de busca, ainda existem
problemas como volume de documentos e resultados não customizados
(BEPPLER, 2008). Com relação ao último, isto é causado pela falta de
interatividade que sistemas de busca oferecem, onde uma mesma consulta
feita por pessoas diferentes tem o mesmo resultado como retorno.
4.2 Expansão de Consulta
A expansão de consulta é definida como uma fase do processo de RI onde a
consulta inicial do usuário é reforçada pela adição de termos de pesquisa para
melhorar o rendimento da recuperação. A expansão de consulta é centrada no
fato que a formulação inicial da consulta nem sempre reflete a necessidade de
informação exata do usuário. Como mencionado no Capítulo 1, o processo de
selecionar documentos relevantes pode exigir várias interações e
reformulações da consulta inicial, tornando-se uma atividade trabalhosa e
demorada. Além de tentar melhorar o contexto da consulta, a utilização de
expansão de consulta tende minimizar o problema de diferenças no uso das
palavras contidas na consulta e os termos utilizados pelos autores na escrita
dos documentos (ANDREOU, 2005).
Uma forma clássica de expansão de consulta se baseia na co-ocorrência
estatística de palavras-chave em documentos do domínio considerado,
adicionando à consulta termos que frequentemente ocorrem em conjunto com
46
os termos da consulta original (BEPPLER, 2002). Esta abordagem aumenta a
revocação, por recuperar documentos relevantes que não seriam retornados
pela consulta original, mas prejudicam a precisão, pois não consideram a
semântica dos termos durante a verificação das ocorrências.
Em RI, como citado na Seção 2.2.3, revocação e precisão são freqüentemente
objetivos contraditórios (YATES and NETO, 1999). Isso porque, a flexibilidade
de uma consulta, com o objetivo de obter um resultado com mais informação
relevante, prejudica a precisão por retornar também informação irrelevante.
Com isso, ontologia aplicada à expansão de consulta vem para balancear essas
duas medidas e lidar com os problemas das técnicas de co-ocorrências de
palavras chave. Segundo Neto et al. (2000), a aplicação de ontologias nesse
sentido tornou-se uma área de interesse crescente.
Diversos métodos para expansão de consultas têm sido propostos. Estes
métodos são divididos por Yates e Neto (1999) em três categorias:
a) os que utilizam a interação com o usuário (user feedback, user-
assisted);
b) os que possuem informações recuperadas a partir dos documentos
inicialmente recuperados (local approach); e
c) os que possuem informações recuperadas de todos os documentos
armazenados (global approach).
Outro tipo de classificação pode ser visualizado na Figura 4.2. De acordo com a
figura, o primeiro nível de classificação especifica a metodologia usada, assim
como a classificação anterior.
No segundo nível, a classificação é feita de acordo com a fonte de informação
utilizada para prover subsidio ao processo de expansão de consultas. As
informações baseadas nos resultados da consulta fazem uso dos documentos
recuperados como também da análise de consultas anteriores realizadas por
outros usuários. Segundo o autor Efthimiadis (1996), os tipos de expansão de
47
consultas em destaque na Figura 4.2 são os mais comumente utilizados pelos
mecanismos de busca.
Figura 4.2 � Classificação para expansão de consultas (EFTHIMIADIS, 1996).
Várias abordagens fazem uso de diferentes fontes de termos de pesquisa e
ainda uma variedade de técnicas de expansão (EFTHIMIADIS, 1996). A utilização
de conhecimento estruturado manipula informações contidas em bases
específicas como tesauros e ontologias. No caso de ontologia, utilizada para a
validação do nosso estudo, classificamos ainda como sendo uma coleção
independente, ou seja, se trata de uma especificação formal que independe de
instâncias de bases de dados. No caso da aplicação de ontologias para realizar
o processamento de consultas, os termos são alterados, adicionados ou
removidos utilizando conceitos e relacionamentos que estejam
semanticamente associados aos termos especificados na consulta original. Para
obter esses conceitos, são aplicados mecanismos de raciocínio automático
(inferência) sobre ontologias. Portanto, é interessante que um sistema de
expansão de consultas seja capaz de efetuar diversos tipos de expansão
semântica, com o intuito de obter resultados aproximados que sejam tanto
relevantes como também abrangentes (BEPPLER, 2002).
48
Os experimentos aqui relatados são baseados na abordagem de expansão de
consulta com assistência ao usuário (user-assisted). Assim, esta investigação
situa-se na categoria "interativa". Nesse tipo de expansão, os usuários são
responsáveis pela seleção dos termos sugeridos pelo SRI. No entanto, os termos
são sugeridos e não impostos ou expandidos automaticamente (SPINK and
SARACEVIC, 1993).
4.3 Trabalhos Relacionados
Nesta seção iremos descrever alguns trabalhos que são diretamente
relacionados à expansão semântica de consultas baseadas em ontologias.
Trataremos sobre alguns trabalhos e conceitos discutidos na academia como
também algumas ferramentas existentes no mercado.
4.3.1 FoQuE
Realiza expansão de consultas com base na análise de conceitos e
relacionamentos difusos. Através da ontologia difusa é possível representar a
intensidade dos relacionamentos e axiomas por meio de graus difusos. A autora
Yaguinuma (2007) defende também que a utilização de ontologias tradicionais
(crisp) não considera informações imprecisas como a intensidade ao qual um
conceito está relacionado com outro ou o grau de pertinência de uma instância
da ontologia para uma determinada classe. Para isso, a autora utiliza lógica
difusa, a fim de aumentar a expressividade da representação do domínio.
Com relação às características comuns a esta proposta, o sistema FoQuE
implementa as regras semânticas utilizadas para capturar informações
relevantes ao processamento das consultas (NECIB and FREYTAG, 2004). Por
outro lado, o sistema FoQuE utiliza SQL como linguagem para as consultas a
serem expandidas, quando este trabalho está focado na expansão de consultas
baseadas em palavras-chave e utilizando a linguagem natural. Além disso,
49
apesar dos ganhos obtidos com a utilização de ontologias difusas, em relação
ao controle do nível de intensidade dos conceitos e relacionamentos, nem
todos os mecanismos de inferência suportam conceitos de lógica difusa, pois
aumentam a complexidade do mecanismo de raciocínio. Por último, o FoQuE
expande a consulta manipulando termos automaticamente sem a intervenção
do usuário.
4.3.2 PICSEL
Assim como o sistema FoQuE descrito na seção anterior, o sistema PICSEL é um
sistema de integração de dados que se baseia em ontologias para modificar
consultas. Para este trabalho os autores identificaram conflitos semânticos e os
caracterizam como sendo os causadores de insatisfação dos resultados de uma
consulta (BIDAULT et al., 2000). Então, construíram um conceito denominado
de �reparo�. Este conceito consiste na geração de em uma consulta sem
conflitos e semanticamente próxima a consulta original. Para isso, os termos da
consulta, que são mapeados com os conceitos da ontologia, são generalizados
com base na hierarquia de generalização/especialização da ontologia.
Embora o sistema PICSEL considere somente a generalização de conceitos para
reparar consultas, as ontologias possibilitam que outros tipos de expansões
sejam realizadas. Exatamente nesse ponto esta proposta pretende se
diferenciar por utilizar outros tipos de relacionamentos da ontologia para
prover conteúdo semântico ao processo de expansão de consulta. Além disso, o
PICSEL é focado na aplicação de ontologia em outra área da RI através de
mecanismos de integração de dados.
Além das características exploras pelo PICSEL, existem alguns trabalhos que se
propõem a solucionar expansão de consulta de forma mais abrangente, não se
limitando a análise da taxonomia de conceitos e sinônimos. Mas sim
50
considerando também outros tipos de relacionamentos semânticos e casos de
ambigüidade em consultas (NECIB and FREYTAG, 2004).
4.3.3 Experimento de Voorhees
O experimento utilizou o WordNet como apoio semântico às expansões de
consultas e a base TREC como coleção de testes. Foram utilizadas as relações
léxicas de sinonímia, hiperonímia, hiponímia e relacionado_a presentes na
ontologia para expansão. O experimento foi realizado sobre o sistema de
recuperação de informação SMART, que é baseado no modelo vetorial clássico
(YATES and NETO, 1999). De forma a selecionar os termos corretos para a
expansão, os conjuntos de sinônimos foram escolhidos manualmente e sendo
levado em consideração todo o contexto da consulta. Ou seja, um mecanismo
semi-automático de expansão de consultas (VOORHEES, 1994).
De acordo com a classificação de ontologia descrita na Seção 3.1.2, o WordNet
é uma ontologia de domínio geral. Nossa proposta pretende utilizar ontologias
de domínio específico para tentar extrair informações pertencentes ao
domínio, como descrito na �Regra de Característica� descrita na Seção 5.2.
Além disso, esse experimento realiza expansão automática das consultas,
enquanto nossa abordagem propõe que o próprio utilizador da ferramenta
selecione os termos sugeridos pelo mecanismo de expansão.
4.3.4 Ontologies Manager Framework (OMF)
O OMF é um sistema flexível que possibilita a expansão de consultas através da
navegação dos conceitos na ontologia. Segundo Barros et al. (1998) o sistema é
flexível pois possibilita a seleção de diversos mecanismos de busca, seleção de
qualquer ontologia pública e ainda criar ontologias privadas, na própria
ferramenta, que podem ser integradas com as ontologias públicas.
51
No mecanismo de expansão, é apresentada aos usuários uma hierarquia de alto
nível dos conceitos definidos na ontologia para orientar pesquisas e permitir a
construção de consultas com a adição de contexto (BARROS et al., 1998). Com
relação a nossa proposta, a principal diferença identificada é a técnica
utilizada para manipulação da ontologia, a navegação (browsing).
Diferentemente da nossa proposta que sugere termos baseado na consulta
inicial fornecida ao sistema, o OMF permite que o usuário navegue nos
conceitos da ontologia para então expandir a consulta utilizando os conceitos
selecionados durante a navegação.
4.4 Considerações Finais
O objetivo principal deste capítulo foi investigar o real potencial de uso ou
ainda quais os possíveis ganhos a serem obtidos com a utilização de uma
ontologia no processo de expansão de consultas. Além disso, baseado na
proposta deste trabalho algumas comparações foram realizadas para analisar os
resultados obtidos em trabalhos que utilizam abordagem, de certa forma,
similar a nossa.
Como descrito na Seção 4.2 deste capítulo, a aplicação de ontologias para
expansão de consulta podem ser classificados, além de outras classificações,
em dois grupos básicos:
a) baseado em resultados da pesquisa. O usuário classifica quais
documentos, dentre os documentos retornados, são relevantes em
sua concepção e realimenta o processo de busca ou
b) baseado em alguma forma estruturada de conhecimento, como é o
caso das ontologias.
O primeiro grupo depende plenamente do processo de pesquisa e utiliza o
conceito de retorno de relevância (relevance feedback) como recurso para
identificar os termos a serem adicionados a consulta seguinte. Por outro lado, o
segundo grupo independe do processo de pesquisa e adiciona termos baseado
52
unicamente na estrutura do conhecimento. No entanto, nossa proposta
pretende utilizar ontologia como �meta-conhecimento� de um domínio
específico e utilizar este recurso para expandir semanticamente termos de uma
consulta, independente do processo de pesquisa.
Os trabalhos discutidos neste capítulo foram analisados e confrontados com a
proposta deste estudo sob o ponto de vista da abordagem utilizada para
expandir semanticamente as consultas. O ponto em comum entre os trabalhos
é que todos utilizaram ontologia para auxiliar o mecanismo de expansão. No
entanto, os métodos de avaliação utilizados nos trabalhos não foram
investigados durante essa análise. Para isso, o Capítulo 6 apresenta o
framework de avaliação definido nesta proposta, referenciando os resultados
alcançados por alguns trabalhos publicados.
No próximo capítulo descrevemos o processo de busca que pretende adicionar
contexto às consultas fornecidas a um SRI independente do seu mecanismo de
pesquisa.
53
5. Proposta e Protótipo: Processo de expansão
utilizando ontologia
Neste capítulo apresentamos o modelo proposto com o objetivo de melhorar os
resultados gerados para uma consulta utilizando os recursos providos por uma
ontologia de domínio. Como já discutido no capítulo anterior, a ontologia será
utilizada para expandir semanticamente os termos de uma consulta inicial com
o objetivo de adicionar conceito a essa consulta. A ontologia é utilizada, neste
trabalho, como fonte estruturada de informação. Uma justificativa para a
utilização dos seus conceitos e relacionamentos é que estes recursos permitem
a formulação de consulta com termos que o próprio usuário julga útil para
resolver sua necessidade de informação. Através da ontologia, sugerimos novos
termos relacionados à consulta original, isto é, inferimos o que o usuário
poderia estar querendo dizer baseado no contexto provido pela ontologia de
domínio.
Detalhando o conteúdo deste capítulo, a Seção 5.1 contextualiza a solução
proposta dentro da área de RI em uma visão macro, reforçando a discussão
realizada na Seção 4.2. A Seção 5.2 documenta o processo de expansão
detalhando as entradas, saídas e o que influencia cada etapa da proposta.
Enfatizando o funcionamento do núcleo da proposta, a Seção 5.3 detalha o
funcionamento do mecanismo de inferência aplicado a ontologia.
Adicionalmente, um protótipo foi desenvolvido com o objetivo de instanciar e
validar o processo proposto, o QuESO (Query Expansion Search using Ontology).
Os detalhes de seu funcionamento, as tecnologias utilizadas e a arquitetura em
alto nível serão apresentados na Seção 5.4. Por último, na Seção 5.5
descrevemos as considerações finais obtidas após a definição do processo.
54
5.1 Contextualização da proposta
Durante um processo de recuperação de informação convencional, não existe
uma resposta exata para uma consulta, sendo necessário obter aproximações
que satisfaçam a necessidade do usuário (YAGUINUMA, 2007). Então, a
expansão de consulta objetiva modificar a consulta original com o objetivo de
torná-la mais abrangente e eficaz. A literatura abrange duas das principais
abordagens existentes, a probabilística e a utilização de relacionamentos
semânticos (YATES and NETO, 1999; ANDREU, 2005). Como já mencionado na
Seção 4.2, a abordagem probabilística normalmente efetua cálculos a partir da
co-ocorrência em documentos da coleção e selecionam os termos que mais se
relacionam aos termos da consulta (BEPPLER, 2002; ANDREU, 2005). A segunda
abordagem utiliza relacionamentos semânticos extraídos de uma fonte de
conhecimento estruturado para selecionar ou sugerir os novos termos.
Seguindo a segunda abordagem como fonte de conhecimento e para lidar com
problemas relacionados a divergência semântica dos termos, utilizaremos uma
ontologia de domínio como fonte de informação semântica.
5.2 Especificação do Processo Proposto
Considerando uma consulta qualquer e utilizando seus termos como entrada,
um processo de inferência na ontologia de domínio deve ser realizado a fim de
identificar sinônimos, anotações semânticas ou qualquer tipo de
relacionamento referente a cada um dos termos. Além disso, termos com
pouco valor de discriminação10
para o contexto serão removidos da consulta.
Este é o procedimento de eliminação de stopwords, mencionado na Seção
2.2.1. Caso nenhuma referência dos termos da consulta inicial seja encontrada
10 Termos com pouco valor de discriminação são aqueles presentes em quase todos os documentos. São
fortes candidatos os artigos, preposições e até mesmo termos muito comuns para um determinado domínio.
55
na ontologia, o processo de análise e expansão semântica da consulta será
finalizado e o mecanismo de consulta segue sem qualquer intervenção.
Para manipulação dos dados semânticos de uma ontologia de domínio,
propomos aplicar algumas das regras semânticas definidas por Necib e Freytag
(2004) em seu framework:
a) Regra de Vocabulário: deriva informações da ontologia utilizando
informações dos relacionamentos de sinônimos e especialização de
conceitos. Exemplo: carro é sinônimo de automóvel e veículo.
(Além disso, possui relacionamentos de especialização com os
conceitos utilitário e passeio);
b) Regra de Característica: explorar relacionamentos específicos do
domínio para obter características adicionais dos objetos contidos na
base. Através de um mecanismo de raciocínio que infere novas
informações de um objeto, obter mais informações a serem aplicadas
no processamento de consultas. Exemplo: Em uma ontologia que
descreve carros, uma regra de domínio pode estabelecer que
caminhonetes classificadas como esporte, são caminhonetes com
mais de 300hp. Assim, caso o usuário deseje buscar as instâncias de
caminhonetes esporte, a consulta deve ser expandida para recuperar
instâncias de carros que são classificados como caminhonetes e estão
associadas ao atributo maior que 300hp. As restrições contidas na
ontologia, especificado na Seção 3.2, determinam esses
relacionamentos específicos da ontologia;
c) Regra de Sensibilidade: utilizada para identificar consultas ambíguas.
Como exemplo de consulta ambígua, podemos formular uma consulta
contendo um termo que possui homônimos homógrafos (termos com
significado diferentes e com a mesma grafia). O objetivo da regra é
identificar qual o contexto, dentro do domínio, que a palavra deve
ser aplicada.
56
No caso em que um termo seja classificado como �ambíguo�, utilizando a regra
de sensibilidade, a exibição dos resultados deverá conter quais os contextos,
dentro do domínio, que o termo pode ser aplicado. Na Figura 5.1, podemos
visualizar como o termo monitor pode ter vários relacionamentos e
significados dependendo do contexto. Para exibição dos contextos podemos
apresentar uma lista de termos diretamente relacionados à hierarquia definida
pela ontologia. Assim, o usuário pode decidir em qual contexto o termo é mais
adequado para a consulta.
Figura 5.1 � Hierarquia de conceitos em uma ontologia.
O intuito é controlar o nível de abstração da consulta, focalizando ou
generalizando, para reduzir a quantidade de tentativas na obtenção da
informação desejada. Com isso, o sistema juntamente com o usuário será capaz
de manipular os termos para compor a nova consulta. Embora sejam fornecidos
recursos para tentar definir o contexto de uma consulta, a forma como as
57
informações estão armazenadas na estrutura de índice, assim como os
mecanismos de ranking a serem utilizados, não são levados em consideração.
Logo, documentamos apenas o processo de expansão propriamente dito.
Para documentação do processo utilizamos práticas do SADT (Structured
Analysis and Design Technique), uma metodologia de desenvolvimento de
software utilizada para descrever e ajudar a entender o funcionamento de
sistemas computacionais (KITCHENHAM and CHARTERS, 2007). Na Figura 5.2,
podemos verificar a representação gráfica do processo proposto utilizando o
SADT.
Figura 5.2 � Processo de expansão de consulta.
58
Esta representação permite que sejam visualizadas as entradas, saídas e os
processos intrínsecos que influenciam cada parte do processo de reformulação
de consulta. O processo pode ser separado em quatro módulos:
a) �Busca�, etapa de pré-processamento que recebe a consulta do
usuário e realiza operações textuais como eliminação de stopwords e
stemming, a fim de obter uma representação mais aproximada e
clara da necessidade da consulta. Além disso, este módulo decompõe
a consulta em partes para que o módulo de inferência seja capaz de
identificar quais conceitos podem ter relação com a consulta;
b) �Inferência�, através de regras e mapeamentos realiza o raciocínio
sobre os relacionamentos e conceitos contidos na ontologia para
obter termos semanticamente relacionados aos termos originais da
consulta. Antes de retornar a estrutura de conceitos identificados
como relevantes para consulta, o processo de inferência ordena os
conceitos utilizando dois critérios, como podemos verificar na Seção
5.3;
c) �Exibição dos Resultados�, nesta etapa ocorre a construção da árvore
de conceitos retornados pelo processo de inferência. Esta árvore
contém o conceito localizado como raiz, os tipos de relacionamentos
como nós intermediários e os termos identificados como nó folha. A
estrutura e conteúdo da árvore poderão ser melhor visualizados na
Seção 5.4, onde são detalhados os componentes do protótipo; e
d) �Conceitos�, etapa que permite a navegação na árvore de conceitos
e a seleção dos termos adequados para o contexto da consulta. Os
termos selecionados são utilizados na expansão da consulta.
Este é o processo criado para sugerir termos e possibilitar que eles sejam
selecionados e adicionados a consulta. Reforçando a definição do processo, a
Seção 5.3 descreve em detalhes o módulo de inferência assim como o
mecanismo de ordenação aplicado às classes definidas como relevantes durante
a execução desse módulo. Com o objetivo de investigar a efetividade da
59
proposta, instanciamos este processo através de um protótipo que pretende
prover contexto a consultas aplicadas em um ambiente mais próximo possível
do cenário real. A estrutura do protótipo assim como o seu comportamento
está descrito na Seção 5.4.
Utilizando um mecanismo de expansão que substitui ou adiciona novos termos
de forma automática, sem intervenção do usuário, pode gerar um efeito
conhecido como query-drift para a nova consulta gerada. Query-drift nada
mais é do que gerar uma nova consulta que seja distante do interesse inicial do
usuário. Um meio comum de gerar esse tipo de efeito é expandir
automaticamente a consulta inicial com termos relacionados a um dos termos
específico da consulta e não a consulta como um todo. Para evitar esse tipo de
engano, em nossa abordagem todas as palavras adicionadas à consulta são
efetivamente escolhidas pelo usuário.
5.3 Etapa de Inferência e Busca na Ontologia
Por definição, temos por inferência a derivação de novos dados, fatos ou
conhecimentos, a partir de um segundo conjunto de dados (BEPPLER Apud
PEARL, 2008). No âmbito da ontologia, um processo de inferência representa
derivar relações implícitas, verificar quais conceitos são especializações,
generalizações ou sinônimos de outros e ainda identificar instâncias e as
possíveis relações entre elas (BEPPLER, 2008).
Para documentação de uma ontologia, dentre as diversas linguagens baseadas
no formalismo de descrição, a OWL (Web Ontology Language) é uma das mais
difundidas por ser uma codificação ontológica recomendada pelo consórcio
W3C. Para Beppler (2008), quanto maior a expressividade oferecida pela
linguagem, ou seja, quanto mais recursos a ontologia oferece, mais complexa e
poderosa uma máquina de inferência deve ser. Em nosso trabalho, optamos por
utilizar uma ontologia escrita com a versão mais simples de codificação OWL, a
60
OWL Lite. Apesar de ser menos complexa, atende as nossas necessidades por
representar os relacionamentos necessários para o processo de expansão. Mais
detalhes sobre a ontologia utilizada será descrita na próxima seção que detalha
os elementos utilizados no protótipo.
A etapa de inferência do nosso processo de expansão é responsável por buscar
conceitos que são semanticamente relacionados aos termos da consulta
fornecidos como entrada. Durante esta busca, ao identificar um conceito ou
classe, que menciona em sua descrição um dos termos fornecido como entrada,
esta classe é analisada quanto aos seus relacionamentos de hierarquia e
restrição, como também as suas instâncias.
A análise da hierarquia naturalmente recupera os conceitos que possuem
relacionamento de é_filho_de e é_pai_de. Para esses dois relacionamentos
não existe limite de quantidade, ou seja, é possível que um conceito tenha
vários pais e filhos. Porém, todos os nós da ontologia possuem
obrigatoriamente pelo menos um relacionamento é_filho_de, com exceção
do nó raiz da ontologia (LÓPEZ et al., 1999). Na Figura 5.3 apresentamos um
trecho da ontologia utilizada para exemplificar como esse tipo de
relacionamento é codificado utilizando a linguagem OWL (utilizando a notação
XML da linguagem).
61
Figura 5.3 � Trecho da ontologia (relacionamento de hierarquia).
Neste exemplo, o processo de inferência identificou o conceito Reuse como
sendo relevante para a consulta. Como podemos ver na primeira parte da
figura, este conceito possui relacionamento é_filho_de ou subClassOf com
os conceitos Object-Oriented_Programming, Requirements_
Management e Software_Design, ou seja, o conceito Reuse é filho de
todos esses conceitos. Por outro lado, na segunda parte da figura podemos ver
o conceito Reuse sendo referenciado em outro ponto da ontologia. Nesse caso,
o conceito Reuse é pai do conceito Design_Patterns.
62
Figura 5.4 � Trecho da ontologia (relacionamento de restrição).
Na análise de restrições, o mecanismo de inferência procura por
relacionamentos específicos definidos pela ontologia. Para exemplificar esse
tipo de relacionamento podemos utilizar os conceitos Secondary_Storage e
WSDL.
Como podemos ver na Figura 5.4, no primeiro exemplo a relação de restrição
define que um dispositivo físico de armazenamento tem como característica
usar um armazenamento secundário (Characteristics_of_Physical_
Storage_Devices uses Secondary_Storage). Isso quer dizer que para ser
63
um dispositivo físico de armazenamento é preciso usar um mecanismo de
armazenamento secundário. No segundo exemplo, define que a tecnologia
WebService tem como parte a linguagem WSDL (Web_Services hasPart
WSDL). Segundo Beppler (2008) essa característica permite a criação de novos
relacionamentos entre os conceitos, além dos definidos pela hierarquia,
também conhecido como relacionamento indireto.
Além dos relacionamentos, as ontologias também oferecem o recurso de
determinar as instâncias de um determinado conceito. Este é um recurso
interessante que permite descrever as particularidades de um determinado
domínio através da associação de uma entidade a um conceito definido pela
ontologia.
Figura 5.5 � Trecho da ontologia (instâncias).
No exemplo da Figura 5.5 temos as entidades ODBC e JDBC como instâncias do
conceito Database_Application_Interface e as entidades HTML, SGML e
XML como instâncias do conceito Markup_Languages. Hierarquia, restrições e
instâncias são exemplos de recursos simples que os mecanismos de inferência
podem navegar e localizar conceitos relacionados contidos na ontologia.
Após o processamento executado pela ontologia temos como resultado uma
lista de classes identificadas como sendo relacionada semanticamente à
consulta. Como o processo de inferência pode retornar um número razoável de
classes, surgiu a necessidade de ordenar essas classes por relevância. Isso
ocorre quando a consulta contém um termo bastante genérico, mesmo dentro
64
do domínio. Por exemplo, o termo �requirements� sendo aplicado ao
processo de inferência retorna 45 classes relacionadas.
Para a ordenação utilizamos dois critérios, a identificação da classe na
ontologia e a quantidade de termos recuperados após a análise dos seus
relacionamentos e instâncias. De acordo com a abordagem, a identificação da
classe foi considerada como recurso principal durante a ordenação. Utilizando
a consulta �functional requirements� como exemplo, temos dentre os
resultados as classes Analyzing_Functional_Requirements e
Analyzing_Non-functional_Requirements_External_Features.
Vemos que a composição do identificador da primeira classe é formada por três
termos, onde dois deles fazem parte da consulta original. Enquanto o
identificador da segunda classe possui cinco termos que distorce bastante o
objetivo principal da consulta. Sendo assim, a exibição das classes será
ordenada pelo maior nível de �semelhança� entre o identificador da classe e os
termos que compõem a consulta. Já o segundo critério seria pela quantidade
de termos obtidos a partir dos relacionamentos e instancias de cada classe. Ou
seja, serão exibidas primeiramente as classes com maior quantidade de
conexões com outros termos da ontologia, o que conseqüentemente gera uma
maior quantidade de termos sugeridos. Assim, utilizando estes dois critérios é
possível exibir primeiramente as classes que possivelmente serão mais
utilizadas pelos usuários, tanto por terem identificadores mais objetivos em
relação à consulta, quanto pela quantidade de termos sugeridos.
Logo, mesmo com uma grande quantidade de classes relacionadas, essa
abordagem permite que sejam utilizadas primeiramente as classes
possivelmente mais relevantes sem que as demais classes também sejam
analisadas.
65
5.4 Protótipo QuESO
O processo de expansão discutido até agora neste capítulo foi instanciado
através do protótipo QuESO. Construímos uma ferramenta WEB utilizando a
tecnologia JAVA para efetuar as seguintes atividades: (a) expandir os termos
inicialmente aplicados a consulta utilizando conteúdo semântico; e (b)
recuperar documentos utilizando uma consulta baseada em palavras-chave.
Durante sua execução, cada atividade é desempenhada por um módulo
independente do protótipo. Por disso, podem ser executadas simultaneamente
durante a realização da busca.
Como já mencionado, o objetivo principal do protótipo é auxiliar o usuário a
obter o maior número de documentos relevantes possíveis. Sendo assim, o
QuESO foi concebido para que o estudo de caso, definido no Capítulo 6, seja
realizado em um ambiente de busca mais próximo de um cenário real. O
funcionamento de cada módulo do QuESO, as tecnologias utilizadas e a
arquitetura em alto nível do protótipo serão detalhadas nas próximas seções.
5.4.1 Funcionamento
O módulo de expansão, foco deste trabalho, utiliza o framework Jena11
como
máquina de inferência para manipulação e localização dos conceitos contidos
na ontologia de domínio. Este framework nos possibilita certo nível de
abstração com relação à atividade de utilização de URIs para localizar os
recursos da ontologia assim como identificar relacionamentos e instâncias. O
funcionamento deste módulo inicia com uma requisição do usuário para
expandir a consulta utilizando os termos da consulta inicial. Antes de utilizar
de fato a máquina de inferência, o QuESO recebe a consulta a ser expandida e
realiza o tratamento dessas informações, eliminando stopwords e caracteres
especiais por exemplo. Logo depois é efetuado de fato o processamento da
11 Jena: http://jena.sourceforge.net/
66
ontologia utilizando o Jena, assim como descrito na Seção 5.3. A saída desse
processamento é uma lista ordenada de classes. Como podemos ver na Figura
5.6, cada classe recuperada possui uma estrutura contendo uma lista de
termos, classificados pela fonte de onde foram obtidos.
Figura 5.6 � Exemplo de estrutura de uma classe. Essa estrutura é aplicada a cada conceito recuperado pelo processo de
inferência sendo utilizada para que o usuário possa navegar e procurar os
termos que julga adequado para o contexto de sua consulta. Considerando a
hierarquia de conceitos exemplificada na seção anterior, o elemento PARENTS
lista os termos extraídos das classes com relacionamento é_pai_de enquanto
o elemento SUB_CLASSES lista os termos extraídos das classes com
relacionamento é_filho_de. O elemento SENTENCE apenas decompõe a
descrição da própria classe para que o usuário possa selecionar, caso
necessário, partes de sua descrição. Por exemplo, para a classe
Database_Application_Interface temos em SENTENCE a lista de termos
contendo database, application e interface. Considerando o exemplo
de restrições citado na seção anterior, o conceito web_service teria em seu
elemento RESTRICTIONS o termo WSDL. Por último, durante a análise do
conceito Markup_Languages o elemento INSTANCES teria em seu conteúdo
os termos HTML, SGML e XML.
67
Na Figura 5.7 apresentamos a tela principal da ferramenta para tentar
exemplificar o mecanismo de seleção de termos utilizados para expandir uma
consulta. Como destacado com as letras na figura, os principais campos são:
a) Barra de pesquisa: esta é a parte da ferramenta em que os usuários
podem inserir suas consultas. É também nesse campo, onde os termos
selecionados na árvore de conceitos são adicionados;
b) Árvore de conceitos: utilizando o protótipo é possível expandir a
estrutura de árvore apresentada e selecionar os termos listados. Ao
clicar em algum dos termos esse é adicionado à barra de pesquisa;
c) Resultado da pesquisa: como mecanismo secundário do protótipo, o
módulo de recuperação realiza a busca nos documentos contidos no
índice. O funcionamento deste módulo inicia com uma requisição de
consulta utilizando os termos contidos na barra de pesquisa. Para
realizar o mecanismo de pesquisa propriamente dito utilizamos o
framework Lucene/Solr12
, nosso protótipo apenas apresenta os
documentos recuperadas como mostra a figura.
Figura 5.7 � Protótipo: Tela Principal.
12 Lucene/Solr: http://lucene.apache.org/solr/
68
Neste exemplo, o usuário está procurando por informações relacionadas a
requisitos não funcionais. Em sua consulta inicial, ele apenas forneceu o termo
�non-funcional�. O usuário então solicitou a expansão da consulta e obteve
duas classes como resposta. Na primeira classe sugerida, utilizando os termos
da própria sentença, ele selecionou o termo requirements. Ainda na
primeira classe, utilizando os termos providos pelas subclasses o usuário
selecionou o termo safety. Ou seja, de acordo com a expansão o usuário, ele
estava a procura de informações relacionadas a requisitos não funcionais, no
entanto, durante a navegação, selecionou o termo relacionado a segurança por
provavelmente fazer parte de seu interesse.
Além desses campos, durante a apresentação dos resultados informamos os
dados comumente exibidos em um SRI como número de documentos retornados
e os mecanismos de paginação. Os detalhes das tecnologias utilizadas para
construção do protótipo serão apresentados na próxima seção.
5.4.2 Tecnologias utilizadas
Para a construção desse protótipo utilizamos três tecnologias entre linguagens
e frameworks, aplicando-as em cada uma das atividades discutidas na seção
anterior.
A tecnologia JAVA foi utilizada como base para construção do background do
protótipo. A escolha da linguagem deve-se ao uso de duas bibliotecas, uma
aplicada ao processo de indexação e consulta (Solr/Lucene) e a outra ao
processo de expansão (Jena framework).
O Lucene é uma das mais famosas e mais usadas bibliotecas para indexação e
consulta de textos, disponível em código aberto. Sob o domínio da Apache
69
Foundation13
, a biblioteca contempla duas etapas principais do processo de
busca: indexação e pesquisa. A indexação processa os dados originais gerando
uma estrutura de dados inter-relacionada eficiente para a pesquisa baseada em
palavras-chave. A pesquisa, por sua vez, consulta o índice pelas palavras
digitadas em uma consulta e organiza os resultados pela similaridade do texto
com a consulta. Portanto, a biblioteca Lucene é responsável por indexar e
recuperar documentos utilizando um algoritmo de ordenação baseado no
modelo vetorial clássico, segundo a classificação de Yates e Neto (1999).
Entretanto, o Lucene contém apenas o núcleo do "motor" de busca, não
incluindo qualquer parser para diferentes formatos de documentos ou
mecanismos de acesso através da WEB. Para isso, utilizamos o Solr como
plataforma de pesquisa e utilizamos seus parsers nativos para indexar
documentos do tipo PDF. Além disso, utilizamos o Solr como um servidor
independente de pesquisa. Através de uma simples requisição HTTP/GET ao
servidor de pesquisa é possível ter como resposta um objeto do tipo XML ou
JSON14
.
Por último, utilizamos a biblioteca Jena como máquina de inferência para
buscar termos relacionados a uma consulta fornecida. Jena é um projeto
originado do núcleo de pesquisa em Web Semântica da Hewlett-Packard15
. Seu
objetivo é proporcionar um framework para dar suporte à manipulação de
ontologias documentadas utilizando, dentre outras linguagens, a linguagem
OWL. Com isso, aplicamos essa biblioteca na ontologia de domínio e
construímos o objeto contendo a lista de termos classificados pelo tipo de
relacionamento que foram recuperados, assim como especificado na Seção
5.4.1.
13 Apache: http://www.apache.org/ 14 JSON: http://www.json.org/ 15 HP Labs: http://www.hpl.hp.com/
70
A importância ao descrever as tecnologias utilizadas para construção do QuESO
está em delimitar as responsabilidades atribuídas a cada módulo a fim de
atender as necessidades de um processo completo de recuperação de
informação. O modelo funcional do protótipo, apresentado na próxima seção,
servirá para reforçar a idéia de independência entre os módulos.
5.4.3 Modelo Funcional do Protótipo
O QuESO utiliza uma ontologia de domínio como artefato principal para a
criação de módulos e componentes que se comunicam entre si. Sendo composto
por dois módulos principais, as responsabilidades são divididas da seguinte
forma: (a) indexar e recuperar documentos; e (b) expandir semanticamente os
termos da consulta original baseado na ontologia de domínio. A Aplicação como
um todo é responsável por interagir com esses dois módulos e apresentar
componentes interativos em uma página WEB. No entanto, os módulos foram
concebidos com base nas definições e necessidades discutidas pelo modelo
proposto. A Figura 5.8 mostra uma estrutura em alto nível do protótipo
enfatizando a independência entre os processos de consulta e expansão.
71
Figura 5.8 � Modelo Funcional do QuESO.
O processo de expansão começa com a solicitação do usuário em expandir os
termos iniciais de sua consulta. O módulo de análise e expansão então realiza o
processo de inferência utilizando a ontologia de domínio. Como reposta a esse
processo temos uma estrutura, em árvore, contendo os conceitos e instâncias
inferidos como relevantes para o contexto da consulta. O usuário então
seleciona os termos que deseja expandindo sua consulta para atender a sua
necessidade de informação. A partir desse ponto, é possível executar um
processo convencional de recuperação onde o usuário aplica sua consulta
expandida e o engenho de busca utilizado realiza a recuperação e ordenação
dos resultados. O processo de consulta então finaliza com a exibição da lista
ordenada de documentos.
Assim, o protótipo foi projetado de forma não acoplada, para que tanto a base
de dados, utilizada no módulo de indexação e consulta, quanto à ontologia de
72
domínio, utilizada no módulo de expansão, pudessem ser facilmente
substituídos e aplicados a novos estudos. No entanto, esta foi a infra-estrutura
definida para atender os requisitos de um processo completo de RI que utiliza
expansão semântica de consulta. Além disso, foi necessária a construção de
uma interface de interação e fornecimento de dados, mostrado na Figura 5.7,
uma vez que o experimento realizado neste trabalho contou com a participação
de usuários, como veremos na Seção 6.3.
5.5 Considerações Finais
Como pudemos ver, neste capítulo apresentamos uma proposta possibilitando
que o usuário realize suas próprias classificações controlando o contexto da
consulta através da manipulação de termos sugerido durante o processo de
consulta. O QuESO foi construído para colocar em prática o uso de uma
ontologia de domínio aplicado a expansão de termos com o objetivo de auxiliar
o usuário a formular a consulta mais adequada para sua necessidade de
informação.
Alguns trabalhos têm sido difundidos na academia utilizando coleções
independentes de conhecimento estruturado, como ontologias e tesauros,
aplicados a categorização de informação (MOREIRA, 2003; PICKLER, 2007). Essa
categorização normalmente é feita durante o processo de indexação, onde os
documentos contidos em uma coleção são previamente classificados por
categorias também previamente definidas. Diferentemente dessa abordagem,
nossa proposta realiza a classificação do conteúdo no momento da realização
da consulta, utilizando conhecimento estruturado de um domínio para expandir
semanticamente os termos da consulta
O próximo capítulo apresenta um estudo de caso executado em um ambiente
experimental para avaliar os resultados obtidos com a utilização do módulo de
expansão em um processo de busca.
73
6. Experimento: Um Estudo de Caso
No capítulo anterior abordamos uma proposta para expansão de consultas
utilizando ontologia de domínio como estrutura independente de
conhecimento. Neste capítulo apresentamos o framework de avaliação definido
para analisar a eficácia da proposta. Nossa validação é baseada em um estudo
de caso na área da ciência da computação. Para realizar a validação do modelo
proposto, um protótipo foi desenvolvido e um ambiente foi montado para
execução do experimento, como descrito na Seção 5.4 do capítulo anterior.
Este capítulo, essencialmente, busca validar a utilidade da expansão de
consulta aplicada na RI. Na Seção 6.1 serão apresentadas as hipóteses que
pretendemos confirmar assim como a definição do estudo utilizado para avaliar
a proposta. Na Seção 6.2 mostramos o framework de avaliação utilizado,
detalhando os parâmetros e métricas a serem aplicados no estudo. Na Seção
6.3 mostrados como foi feita a preparação do ambiente de execução do estudo,
como também os recursos utilizados. Na Seção 6.4 apresentamos os resultados
experimentais assim como uma análise crítica desses resultados. A Seção 6.5
foi destinada a discussão de alguns pontos de melhorias identificados antes e
durante a execução do experimento. Por último, na Seção 6.6 apresentamos as
considerações finais obtidas com a execução e avaliação do experimento.
6.1 Definição do Estudo
O método Goal Question Metric (GQM) (BASILI et al., 1986) foi utilizado para
fornecer direcionamento ao estudo de caso. Segundo Basili, o GQM consiste na
definição de um objetivo para o estudo, um conjunto de perguntas a serem
respondidas e as métricas relacionadas que devem ser coletadas para ajudar a
responder as perguntas. Com essa estrutura tivemos recursos para embasar a
pesquisa.
74
O objetivo do estudo foi analisar a efetividade de um módulo para seleção de
termos, semanticamente relacionados, durante a formulação de consultas em
um ambiente de busca baseado em palavras-chave. O intuito foi compreender
quais fatores podem impactar na recuperação de informação, considerada
como relevante, durante um processo de expansão de consulta. Contudo,
temos como questão central do experimento: utilizando uma mesma
necessidade de informação, o protótipo retorna mais resultados relevantes com
a utilização do módulo de expansão? Este é o ponto de partida do nosso estudo.
Para atingir o objetivo pretendido, quatro métricas já comentadas na Seção
2.2.3 foram consideradas: revocação, precisão, precisão geral e medida-F. Em
resumo, estas medidas são utilizadas para avaliar a eficácia de um SRI. Através
delas é possível mensurar a habilidade do sistema em recuperar documentos
relevantes ao mesmo tempo em que evita os não relevantes (SILVEIRA, 2003).
De acordo com o estudo de caso, estabelecemos as hipóteses nulas e
alternativas. As hipóteses nulas são aquelas que o pesquisador quer rejeitar,
enquanto as hipóteses alternativas são aquelas que se deseja confirmar
(CAVALCANTI apud WOHLIN et al.,2008).
Definimos como hipóteses nulas:
- H0a: o uso do módulo de expansão aumenta a precisão absoluta das
pesquisas
- H0b: o uso do módulo de expansão prejudica o desempenho geral do
sistema (medida-F)
Para rejeitar essas hipóteses, nós esperamos as seguintes hipóteses
alternativas:
- H1: o uso do módulo de expansão prejudica a precisão absoluta das
pesquisas
75
- H2: o uso do módulo de expansão aumenta o desempenho geral do
sistema (medida-F)
Se a hipótese nula H0a for rejeitada, os resultados indicarão que o uso do
mecanismo de expansão abrange demasiadamente a consulta. Por outro lado, o
que se espera é que utilizando os termos sugeridos pelo módulo de expansão,
aumente o rank dos resultados de fato relevantes, trazendo-os para os mais
bem classificados da consulta (top 20, por exemplo). Portanto, o principal
resultado esperado vem da hipótese nula H0b. Caso seja rejeitada, os resultados
indicam que o uso do módulo de expansão produz um resultado melhor no
geral.
6.2 Framework de Avaliação
O framework de avaliação foi definido baseado nos trabalhos de Garcia et al.
(2006) e Barros et al. (1998). O procedimento de avaliação consiste nos
seguintes passos:
a) Escrita das necessidades de informação (NI): Foi definido um grupo
de participantes para escrever um conjunto de necessidades de
informações específicas do domínio. Cada necessidade ni do
conjunto NI tem uma descrição utilizando linguagem natural com o
conteúdo dos documentos que devem ser considerados relevantes
para a ni. Essas necessidades foram cuidadosamente selecionadas
para avaliar o comportamento da solução para o tratamento de
tópicos amplos e restritos;
b) Definição prévia do conjunto de documentos relevantes para cada
necessidade R(ni): Esta atividade deve ser executada por um grupo
de pessoas com experiência no domínio em questão. Na Seção 6.3
detalhamos como a base de informações como um todo foi montada,
assim como a estratégia utilizada para inserir documentos
previamente conhecidos no repositório;
76
c) Escrita das consultas: para cada ni, o usuário deve escrever uma
consulta c(ni) que será submetida ao mecanismo de pesquisa.
Vamos nos referir a essa consulta como �consulta simples�;
d) Associação de contexto às consultas definidas no passo 2: Para cada
consulta c(ni) o usuário deve expandi-la e selecionar os termos
sugeridos pelo processo de inferência para que seja adicionado algum
tipo de contexto. Nós chamaremos esta nova consulta gerada de
�consulta expandida�. Uma lista contendo todas as consultas
aplicadas e suas expansões são apresentadas no Apêndice B -
Exemplo de consultas aplicadas e suas expansões;
e) Limitação de documentos avaliados: como o mecanismo de pesquisa
realiza a ordenação dos documentos por relevância exibindo os de
melhor rank primeiro, analisaremos apenas os L primeiros
documentos classificados. Assumindo também que os usuários, na
maioria dos casos, não avançam mais do que a segunda página de
documentos durante a análise dos resultados (SILVERSTEIN et al.,
1998), para nosso estudo definimos L=20. Além disso, para um
melhor embasamento desta abordagem, foi investigado que os
trabalhos de Barros et al. (1998), Silva et al. (2003) e Andreou (2005)
utilizaram esta mesma abordagem durante o processo de avaliação; e
f) Efetuar duas execuções: (a) aplicar o conjunto de consultas simples
CS(ni); e (b) aplicar o conjunto de consultas expandidas CE(ni).
Durante a execução de cada consulta c(ni), seja simples ou
expandida, contabilizar o número de documentos relevantes
recuperados, que chamamos de nrr(c(ni)). Além disso,
contabilizar a número de documentos recuperados na execução da
c(ni), que chamamos de ntr(c(ni)). No entanto, é importante
lembrar que serão analisados apenas os L primeiros resultados da
consulta.
77
Uma das métricas utilizadas é a revocação relativa. Para cada consulta c(ni),
calcular a razão entre nrr(c(ni)) e a quantidade de documentos da coleção
R(ni), que chamamos de nR(ni). Com isso, temos:
Em outras palavras, dado uma ni, temos o número de documentos relevantes
recuperados para a consulta, pelo número de documentos previamente
conhecidos como relevantes. A segunda métrica a ser coletada é a precisão.
Para cada consulta c(ni), calcular a razão entre nrr(c(ni)) e
ntr(c(ni)). Calculamos da seguinte forma:
Utilizando o ntr(c(ni)) ou número total de documentos retornados
aplicando o limite L, temos a precisão considerada como relativa ou precisão
normalizada, onde a precisão é calculada apenas sobre os L documentos de
maior rank (BARROS et al., 1998; HIEMSTRA and MIHAJLOVIC, 2005). Dessa
forma, essas medidas não dependem do número total de itens relevantes e sim
do número de itens relevantes que são conhecidos. Segundo Hiemstra e
Mihajlovic (2005), essa abordagem também é utilizada em vários trabalhos do
TREC para reportar a precisão normalizada de uma consulta, sendo conhecida
como precision cut-off.
Por outro lado, adotando o ntr(c(ni)) sem a normalização, ou seja,
considerando todos os documentos retornados, temos a precisão absoluta ou
geral. Para este trabalho, foi decidido calcular as duas medidas de precisão.
Então, a precisão tradicional será utilizada para avaliar se ocorre uma variação
expressiva quando o processo de expansão de termos é utilizado, de acordo
com a hipótese H1, enquanto a normalizada será combinada a revocação
relativa para gerar uma nova métrica, a medida-F. Durante esta avaliação
78
chamaremos a precisão normalizada simplesmente de precisão, enquanto a
segunda chamaremos de precisão geral.
Por último, a medida-F, também conhecida como média harmônica, é utilizada
para mensurar o desempenho geral de um mecanismo de busca. Dessa forma, o
desempenho geral do mecanismo de busca proposto será calculado para apoiar
a hipótese H2. Na Seção 2.2.3.2 foi detalhado como essa métrica pode ser
obtida.
Concluindo, essas são as medidas utilizadas para mensurar a eficácia do
mecanismo de busca utilizando consultas semanticamente expandidas como
também as consultas sem adição de contexto.
6.3 Preparação para o experimento
Como participantes do experimento, selecionamos colaboradores do
C.E.S.A.R.16
para elaboração das consultas e utilização dos termos sugeridos
pelo processo de expansão. As instruções sobre a execução do experimento
foram detalhadas previamente para os participantes. Além da definição das
consultas, os integrantes mais experientes deste grupo também colaborou para
a seleção dos documentos adotados como relevantes para cada NI definida. Na
Tabela 6.1 contém o perfil de cada participante do experimento. As
informações contidas na tabela são um indicativo de que os usuários do
protótipo possuem afinidades e interesses na área de ciência da computação,
ou seja, não se comportam como usuários convencionais. Logo, os termos
sugeridos, referentes ao domínio de atuação, puderam ser julgados e utilizados
de forma coerente pelos utilizadores do protótipo.
16 C.E.S.A.R: Recife Center For Advanced Studies and Systems. Uma empresa com CMMi nível 3 e aproximadamente 400 funcionários. http://www.cesar.org.br
79
Tabela 6.1 � Perfil dos Participantes.
ID Idade
(anos)
Tempo desde
a graduação
(anos)
Participações
em projetos
na área
Formação
1 24 4 6 Graduado em Sistemas de Informação, Mestrando em
Engenharia de software
2 27 5 3 Graduado em Ciência da Computação
e Especialização em Teste de
Software
3 32 10 15 Graduado em Ciência da Computação
e Mestre em Engenharia da Computação
4 30 4 8 Graduado em Sistemas de Informação, Mestrando em
Engenharia de software
5 31 10 20 Graduado em Matemática e Nível
técnico em Ciência da Computação
6 26 4 4
Graduado em Ciência da
Computação, Especialista em
Engenharia de Software e Mestrando em Engenharia de Requisitos
Em relação a coleção de documentos a serem pesquisados, foi montada uma
base de dados experimental contendo artigos publicados em diversas
conferências na área de ciência da computação17
. A base montada contém 889
documentos abrangendo informações das mais variadas subáreas dentro da
ciência da computação como linguagens de programação, banco de dados, rede
de computadores, redes neurais, entre outros.
Como relatado na seção anterior, uma tarefa bastante complexa é obter uma
medida precisa da revocação, uma vez que é necessário saber exatamente
quantos componentes relevantes existe no repositório para cada consulta. Para
contornar este problema um conjunto de documentos inseridos no repositório,
17 Conferências: SBC 2005 (www.sbc.org.br/sbc2005), IJCNN07(www.ijcnn2007.org), SBBD-SBES 2008 (sbbdes.ic.unicamp.br).
80
chamado de documentos conhecidos, foi selecionado para cada NI definida. A
seleção destes documentos foi feita em conjunto por parte do grupo de
participantes do experimento e por alguns pesquisadores com domínio nas
áreas que o experimento abrange. Desta forma, para cada NI, foi possível
fornecer um número de componentes relevantes com alguma garantia, já que
um grupo de pessoas da área selecionou os documentos. Essa mesma estratégia
foi utilizada no trabalho de Garcia et al. (2006).
Por último, utilizamos uma ontologia de domínio para ser aplicada ao
mecanismo de expansão. O Apêndice A - Exemplo de Conceitos e
Relacionamentos da ontologia utilizada � apresenta um trecho dessa ontologia
de domínio, além de representar graficamente como os conceitos se
relacionam. Essa ontologia foi construída utilizando a ferramenta Protegé18
,
uma plataforma open-source para construções de modelos de conhecimentos
baseados em ontologias. Ela especifica termos utilizados na área de ciência da
computação, onde 2966 conceitos são codificados utilizando a linguagem OWL
(COMPUTING-ONTOLOGY, 2009). Apesar de trabalhar com um domínio restrito,
poderia ter sido escolhido qualquer outra ontologia, contanto que seja
referente ao domínio especificado. Porém, é importante lembrar que a
qualidade dos termos propostos é baseada na qualidade da ontologia como um
todo. Apesar de não fazer parte do escopo de nosso trabalho, a qualidade de
uma ontologia pode ser aferida utilizando as características ideais descritas na
Seção 3.2.
6.4 Análise e Interpretação dos Resultados
Esta avaliação está principalmente focada em medir o desempenho geral de um
sistema de RI comparando a utilização de consultas e consultas expandidas. De
acordo com o framework de avaliação descrito na Seção 6.2, nós tivemos 6
usuários para escrever consultas relacionadas a 13 NIs, com um total de 156
18 Protegé; http://protege.stanford.edu
81
consultas. Assim, nós calculamos a relevância para os 20 primeiros documentos
retornados referente a cada consulta, simples e expandida, considerando as
métricas definidas no framework de avaliação (precisão, revocação e medida-
F). Entretanto, além dessa abordagem, calculamos também a precisão geral,
ou seja, calculada através da relação do número de documentos relevantes
pela quantidade total de documentos recuperados pelo processo de busca.
Essas duas abordagens são utilizadas para apoiar as hipóteses definidas na
Seção 6.1.
Além disso, é importante destacar que esta avaliação está focada na qualidade
dos resultados obtidos, medindo a efetividade da utilização de um módulo de
expansão semântica de consulta. Parâmetros como tempo de pesquisa,
usabilidade ou quantidade de clicks, não fazem parte do foco desta avaliação.
Por isso, nosso estudo esteve focado principalmente nos resultados das
pesquisas em vez de avaliar o processo de pesquisa como um todo.
6.4.1 Hipótese utilizando precisão geral
Com a adição de novos termos, naturalmente se aumenta a abrangência da
consulta. No entanto, a expansão de consulta pode vir a prejudicar a precisão
ou objetividade da consulta, dependendo dos termos selecionados. Por
exemplo, como podemos ver nos dados da Tabela 6.2, a consulta simples
utilizando o termo �wsdl� obteve uma precisão geral de 84% em relação ao
total de documentos retornados. Após a expansão da consulta, adicionando
apenas o termo �services� foi possível aumentar de 11 para 13 o número de
documentos relevantes retornados, ou seja, temos um aumento da abrangência
da consulta. Contudo, a nova consulta obteve uma precisão geral de 7% em
relação ao total de documentos retornados.
82
Tabela 6.2 � Precisão Geral: Exemplo de uma consulta e sua expansão.
Abordagem Consulta Relevantes Total Precisão
Simples Wsdl 11 13 0,8462 Expandida wsdl services 13 166 0,0783
Assim, considerando que este é o pior caso de degradação, temos uma queda
na ordem de 91% na precisão geral da consulta expandida em relação à
consulta inicial. Ainda analisando o prejuízo na precisão utilizando consultas
expandidas, na Figura 6.1 apresentamos a precisão geral para todas as NIs
comparando o desempenho obtido por cada abordagem.
Figura 6.1 � Precisão geral por tipo de consulta.
Observando o gráfico podemos destacar os assuntos NI(�agile�,
�data_security�,�web_service�). Especificamente para essas três
necessidades, ao utilizar a consulta simples temos níveis de precisão acima da
média. Entretanto, para essas mesmas necessidades, a consulta expandida
prejudicou consideravelmente a precisão geral das consultas. Por isso,
consultas iniciais com boas taxas de precisão podem ser prejudicadas pela
seleção de novos termos sugeridos durante o processo de expansão.
83
Calculando a média para as duas abordagens é possível concluir de fato que a
expansão de consulta é capaz de prejudicar a precisão geral do sistema.
Levando em consideração a precisão geral para as duas abordagens, a Tabela
6.3 mostra algumas estatísticas sobre o resultado do experimento através da
média de todas as consultas aplicadas, o desvio padrão e a variância. Para
consultas simples temos uma média de 5% na precisão geral, com um desvio
padrão de 0,10. Já as consultas expandidas obtiveram uma média de apenas 1%
com desvio padrão de 0,01. Com isso, mesmo considerando o melhor caso de
desvio padrão para as consultas expandidas, a hipótese nula H0a - o uso do
módulo de expansão aumenta a precisão absoluta das pesquisas � deixa de ser
rejeitada se existe a possibilidade da expansão de consulta aumentar a
precisão absoluta do sistema.
Tabela 6.3 � Precisão Geral: Descrição Estatística.
Abordagem Precisão
Média Desv. Pad. Variância Simples 0,0596 0,1006 0,0101
Expandida 0,0104 0,0100 0,0001
No entanto, com os dados da Tabela 6.3 podemos concluir estatisticamente que
a hipótese nula H0a é rejeitada, favorecendo assim a hipótese alternativa H1 -
o uso do módulo de expansão prejudica a precisão absoluta das pesquisas.
6.4.2 Hipótese utilizando medida-F
Utilizando informações de precisão e revocação relativa, a Figura 6.2 mostra as
medidas para todas as 13 NIs, distinguindo-as em consultas simples e
expandidas.
Como podemos ver na descrição do eixo horizontal, cada barra do gráfico
representa a média obtida para o conjunto de consultas referentes a uma NI
específica. Por exemplo, para a NI(�agile�) foram aplicadas 12 consultas, 6
do tipo simples e 6 do tipo expandida. Logo, tomando o gráfico de Precisão
84
como exemplo, a primeira barra do gráfico representa a média de precisão
(0,47) para as 6 consultas simples aplicadas para atender a NI(�agile�). Já a
segunda barra, representa a média de precisão (0,35) para as 6 consultas
expandidas para a mesma NI. Evidentemente o gráfico de revocação segue
esse mesmo raciocínio.
Figura 6.2 � Medida de precisão e revocação por tipo de consulta.
85
Na Tabela 6.4 podemos observar o resultado para a precisão e revocação
relativa calculada para as duas abordagens. Assim, a tabela apresenta os
valores médios de precisão e revocação considerando todas as consultas.
Tabela 6.4 � Precisão e Revocação para as duas abordagens.
Abordagem Precisão Revocação
Simples 0,2328 0,4395 Expandida 0,2514 0,5213
Observando as informações da tabela, foi conseguido um ganho em torno de 9%
na precisão das consultas. Isso quer dizer que, observando apenas os L
primeiros resultados, identificamos uma proporção maior de documentos
relevantes quando aplicadas as consultas expandidas. Com relação à revocação,
foi possível obter um ganho de 19%, uma vez que os termos selecionados
conseguiram fazer com que o mecanismo de busca retornasse um subconjunto
maior dos documentos classificados como relevantes, considerando também os
L primeiros resultados. Isso ocorre porque através da seleção de termos o
usuário consegue expressar melhor suas necessidades. Logo, fornecendo uma
consulta com termos mais específicos, o mecanismo de busca pode aumentar
rank dos documentos relevantes melhorando assim tanto a revocação quanto a
precisão.
Diferentemente dos resultados obtidos por Pizzato (2003) que enquanto
conseguiram aumentar a revocação tiveram prejuízo na precisão dos
resultados, nosso experimento obteve tanto uma melhoria na abrangência
quanto na precisão. Já o trabalho de Barros et al. (1998), assim como o nosso,
obteve melhores resultados nas duas medidas quando utilizadas as consultas
expandidas. Contudo, uma vez que entendemos essas duas medidas como tendo
objetivos contraditórios (YATES and NETO, 1999), uma melhoria conjunta pode
ser considerada como um bom resultado.
86
É importante destacar que essas duas medidas foram úteis para o cálculo da
medida-F, utilizada para medir o desempenho geral de um SRI e apoiar a
hipótese H2. A Figura 6.3 mostra a média de medida-F calculada para cada NI
com o objetivo de observar e comparar o comportamento do mecanismo de
busca quando consultas simples e expandidas são utilizadas.
Figura 6.3 � Medida-F nas consultas simples e expandidas.
Com base na figura percebemos que em apenas dois pontos do gráfico o
desempenho geral do sistema foi inferior para consultas expandidas. Isso
demonstra a uniformidade da melhoria provida pelo processo de expansão de
consultas utilizando ontologias de domínio.
Durante a execução do experimento, 10 consultas simples não retornaram
qualquer resultado relevante, não podendo assim calcular as medidas de
precisão e revocação. Dessas consultas, que podemos chamar de consultas
nulas, 4 delas obtiveram pelo menos um resultado relevante após a expansão
de consulta. Sendo assim, podemos considerar que essas consultas nulas
representam o pior caso da análise aumentando consideravelmente a
87
variabilidade dos resultados. Mesmo assim, decidimos utilizar essas amostras
contendo as consultas nulas para manter a consistência do experimento.
Ainda referente à superioridade da medida-F para as consultas expandidas, a
Tabela 6.5 mostra algumas estatísticas sobre o resultado do experimento para
todas as consultas aplicadas utilizando a média, o desvio padrão e a variância.
Tabela 6.5 � Medida-F: Descrição Estatística.
Abordagem Medida-F
Média Desv. Pad. Variância Simples 0,2951 0,1624 0,0264
Expandida 0,3340 0,1833 0,0336 Expandida
x Simples
13,18% --- ---
Essas medidas mostram uma melhoria consistente no desempenho qualitativo
do sistema pelo uso de ontologias para expandir semanticamente as
consultas. Embora as métricas de revocação e precisão geralmente sejam
conflitantes, como já citado nesta seção, a aplicação da técnica proposta pôde
proporcionar um crescimento conjunto o que refletiu um aumento de 13,18% na
média da medida-F. Com isso, considerando a hipótese nula H0b - o uso do
módulo de expansão prejudica o desempenho geral do sistema � poderíamos
rejeitá-la apenas utilizando os valores médios, comparando diretamente as
duas abordagens. No entanto, se consideramos o pior caso de desvio padrão
descrito na Tabela 6.5 para a abordagem expandida, a média para a medida-F
pode mudar radicalmente sendo a abordagem simples superior à abordagem
expandida.
Assim, considerando o ganho médio de 13,18% na medida-F com a utilização do
mecanismo de expansão semântica de consultas, nossa decisão favoreceria a
hipótese alternativa H2 - o uso do módulo de expansão aumenta o desempenho
geral do sistema. Porém, estatisticamente falando a hipótese nula H0b não
88
pode ser rejeitada, uma vez que existe a possibilidade da abordagem simples
superar a abordagem expandida no desempenho geral do nosso experimento.
Contudo, para fornecer uma confirmação mais sólida a esta hipótese são
necessários mais experimentos ou até algumas modificações e adaptações
neste mesmo experimento. A próxima seção descreve alguns pontos
considerados como frágeis ou que poderiam ser melhorados para que as
hipóteses sejam mais bem fundamentadas.
6.5 Pontos de melhoria
Com base no experimento definido neste capítulo alguns pontos de melhoria
foram identificados como segue:
a) Utilizar mais de uma ontologia de domínio durante o experimento
para identificar a importância da qualidade da ontologia para o
processo de inferência e conseqüentemente para a qualidade dos
termos sugeridos;
b) A definição dos documentos conhecidos como relevantes deve ser
feita por um especialista para cada área de uma NI. Esta atividade foi
considerada como um risco do nosso experimento e, caso ajustada,
pode aumentar a credibilidade do experimento além de garantir a
consistência das medidas coletadas;
c) Número de documentos utilizados na base de informações do
experimento. Quanto maior o número de documentos em uma
coleção, melhores e mais condizentes com a realidade serão as
métricas extraídas do experimento;
d) Computar também as consultas que não obtiveram termos sugeridos.
Esta informação seria importante para avaliar a real utilidade do
mecanismo de expansão, calculando o percentual de consultas que
foram auxiliados de fato pelo mecanismo de expansão. Uma
explicação para a constatação de quantas buscas foi modificada
poderia ser o fato de que em um ambiente de pesquisa com auxílio
89
de ontologia, onde os usuários dispõem de termos semanticamente
relacionados a seus termos de pesquisa inicial, tendem a selecionar e
adicionar, ou não, termos de suas consultas;
e) Assim como o experimento de Shiri e Revie (2006), Andreou (2005) e
Tomonari et al. 2005, contabilizar a quantidade de termos utilizados
para expandir as consultas. Experimentos indicam que o melhor
desempenho foi alcançado com adições entre 20 e 40 termos
(CARDOSO apud HARMAN, 1996). Evidentemente que este número
depende da coleção e da técnica de expansão utilizada. Sendo assim,
a intenção é identificar se existe alguma relação entre a quantidade
de termos selecionados e qualidade dos resultados obtidos; e
f) Calcular as medidas de revocação e precisão separadamente para
cada fonte de informação da ontologia em que o termo utilizado na
expansão foi selecionado. Isso quer dizer que seria possível distinguir
qual tipo de relacionamento da ontologia foi mais relevante durante
a seleção de termos dentre os relacionamentos de restrição,
hierarquia ou instância, por exemplo. Essa abordagem foi utilizada
por Silveira (2003) como também no Shiri e Revie (2006).
Com relação aos pontos de melhoria para a solução em si, identificamos que a
utilização de operadores booleanos na geração das consultas expandidas
poderia ajudar a controlar melhor os níveis de abrangência e precisão das
consultas. Os trabalhos de Shiri e Revie (2006), e Andreou (2005), utilizaram
operadores lógicos na geração de suas consultas.
Outro ponto de melhoria para a solução seria permitir que usuário, além de
navegar nas classes inferidas, utilizasse a própria ontologia para procurar o
conceito de seu interesse. O trabalho de Barros et al. (1998) tornou possível
esta abordagem e obteve bons resultados.
90
Portanto, esses são os pontos de melhoria, tanto do experimento quanto da
solução, levantados para fornecer um direcionamento às investigações
aplicadas à área de RI e especificamente a expansão e reformulação semântica
de consultas utilizando ontologia de domínio.
6.6 Considerações Finais
Este capítulo apresentou a definição, preparação, análise e interpretação do
experimento executado para avaliar a utilidade do mecanismo de expansão
proposto. O experimento foi conduzido por 6 participantes que produziram um
total de 156 consultas baseada em 13 necessidades de informação (NI). As
estatísticas apresentadas mostraram que a utilização do processo de expansão
de consulta teve um desempenho melhor do que a busca baseada apenas em
palavras-chave, as consultas simples. Entretanto, a abordagem utilizada para
comparar o desempenho geral do sistema não obteve dados estatisticamente
suficientes para rejeitar a nossa principal hipótese nula H0b e chegar de fato a
uma conclusão. Apesar disso, foi identificado que na maioria das consultas os
termos selecionados foram úteis para melhorar tanto a abrangência quanto a
precisão da busca.
Considerando a média para todas as consultas, as taxas de revocação e precisão
foram muito próximas aos valores obtidos por outros autores que fizeram uso
de ontologia no processo de expansão, 50% e 20% respectivamente (BARROS et
al., 1998; SILVEIRA, 2003; ANDREOU, 2005). No entanto, apesar de facilitar a
execução e análise do experimento como também ser vastamente utilizado na
avaliação dos SRIs, um ponto de risco pode ser a utilização da precisão
normalizada (precision cut-off). Essa abordagem pode distorcer as medidas
para o estudo, uma vez que, dada uma consulta, documentos mais relevantes
do que os documentos conhecidos podem ser sempre retornados. Sendo assim,
há possibilidade dos documentos conhecidos ficarem sempre em uma posição
acima do limite L especificado e por sua vez não fazerem parte dos
91
documentos classificados como relevantes para a consulta. Neste cenário, a
medida de precisão pode não representar a realidade das respostas.
As principais dificuldades encontradas durante a execução do experimento
estão relacionadas a definição da coleção de dados utilizada. Considerando que
o conceito de relevância é bastante abstrato, é difícil construir uma base de
informações e classificar quais documentos são relevantes considerando apenas
uma necessidade de informação como referência. Além disso, o número de
participantes e conseqüentemente o número de consultas aplicadas a coleção
de referência pode ser julgado como insuficiente para obtenção de dados
conclusivos. Logo, esses podem ser considerados como pontos negativos da
avaliação.
Portanto, mais experimentos devem ser realizados aplicando os pontos de
melhoria levantados anteriormente, como também os descritos na seção
anterior. Com estes ajustes, acreditamos que novos experimentos possam obter
conclusões mais concretas quanto a eficácia da utilização de um módulo de
expansão de consultas apoiado por uma ontologia de domínio.
No próximo capítulo apresentamos as conclusões alcançadas e as propostas de
trabalhos futuro para essa dissertação.
92
7. Conclusões
Este trabalho propôs e avaliou uma solução para o problema de formulação de
consultas utilizando apenas palavras-chave. Os SRIs convencionais tentam
estabelecer diretamente um padrão entre as palavras-chave da consulta e os
termos contidos no índice (coleção de documentos). Como já descrito, esse
mecanismo acarreta um problema recorrente, uma vez que o usuário tem a
tarefa de traduzir sua necessidade de informação em um conjunto de palavras-
chave para formar sua consulta. Sendo assim, a distância entre a necessidade
do usuário e o entendimento computacional de uma consulta é conhecida na
academia como gap semântico, tendo em vista que as consultas normalmente
não representam o real interesse do usuário. Com isso, a principal
conseqüência deste problema é uma quantidade excessiva de tentativas na
busca pela informação desejada. Em outras palavras, os usuários desse tipo de
ferramenta são desencorajados a utilizá-las por não conseguir expressar sua
necessidade de forma objetiva e eventualmente não obter o resultado
esperado.
Nesse trabalho foi proposto um modelo que utiliza ontologias para orientar
consultas aplicadas a uma coleção de documentos referente a um domínio
restrito e controlado. Portanto, o objetivo foi melhorar a abrangência e a
precisão das consultas através da associação de contexto durante a atividade
de busca. A idéia foi utilizar o conhecimento codificado na ontologia para
tentar especificar as consultas de forma a encontrar a maior quantidade de
documentos relevantes possível nos primeiros resultados. Além do mais, por se
tratar de um conhecimento compartilhado e difundido, a ontologia pode ser
considerada uma fonte de informação confiável para qualquer procedimento na
área de RI, ou em qualquer área. No entanto, o foco específico do trabalho
93
tratou da seleção de novos termos de pesquisa para expandir consultas baseado
em conteúdo estruturado provido por uma ontologia de domínio.
Para verificar a viabilidade da proposta foi desenvolvido um protótipo que
fornece mecanismo de interação e seleção de termos para expansão de
consultas, o QuESO. Embora seja possível aplicar nossa proposta de expansão
de consultas utilizando ontologias de domínio a diferentes áreas, este trabalho
verificou experimentalmente a qualidade e eficácia da proposta para uma área
específica do conhecimento, a área de ciência da computação. A ontologia
utilizada é conhecida como ontologia computacional (Computing Ontology) e os
experimentos foram executados sobre uma coleção de documentos da área,
montada especificamente para este trabalho.
Respondendo a pergunta central da proposta - como um usuário pode se
beneficiar com a expansão de consultas aplicadas a uma base específica de
domínio? - podemos concluir que a utilização de ontologia pode melhorar os
resultados das buscas utilizando texto livre e aplicados a uma coleção de
documentos destinada a um domínio específico. Foi possível demonstrar a
utilidade da ontologia ao proporcionar termos alternativos (sinônimos) e
adicionais (hierarquia) na expansão de consultas. Porém, assim como o
trabalho de Voorhees (1994), não foi possível oferecer qualquer benefício ao
mecanismo de busca quando as consultas já são bastante especificadas, ou
seja, possuem termos suficientes para atender a necessidade pretendida.
Os resultados avaliados neste trabalho indicam que a expansão semântica de
consultas, através da seleção de termos sugeridos por um processo de
inferência, possibilita a recuperação de respostas relevantes para o usuário de
forma melhorada. Considerando as consultas expandidas, obtivemos um
resultado 13,18% melhor do que os obtidos com as consultas simples. Esse
ganho foi identificado na medida-F, métrica que mede o desempenho geral de
um SRI. Embora esse valor seja considerado baixo, é um valor próximo do
94
obtido na avaliação dos trabalhos de Barros et al. (1998), Silveira (2003) e
Garcia et al. (2006). Além disso, o valor máximo para medida-F pode ser
interpretado como a tentativa de encontrar o melhor resultado tanto para a
revocação quanto para a precisão, ou seja, retornar todos (e apenas)
resultados relevantes (YATES and NETO, 1999). No entanto, como já
mencionado na Seção 2.2.3, essas métricas são conflitantes e difíceis de serem
melhoradas em conjunto. Sendo assim, benefícios obtidos em medidas que
unem esses dois conceitos já podem ser consideradas como relevantes.
Então, através da definição de um estudo de caso, este trabalho conseguiu
utilizar hipóteses e métricas, vastamente utilizadas em avaliações de sistemas
de recuperação, para investigar os benefícios obtidos com a adição de contexto
durante a formulação de consultas.
7.1 Objetivos alcançados
Como resultado do desenvolvimento deste trabalho, foi possível atingir os
seguintes objetivos:
a) Estado da arte: considerando a área de RI, foi realizado um trabalho
de contextualização da proposta destacando qual a etapa de atuação
e os possíveis benefícios obtidos com a utilização de técnicas de
expansão de consulta dentro de um processo completo de busca.
Posteriormente, foram discutidas várias abordagens utilizadas na
literatura para técnicas de expansão propriamente dita confrontando
com a proposta deste trabalho;
b) Caracterização do problema: através da explanação de dados
difundidos na academia, foi discutido se a ausência de contexto
durante a formulação de uma consulta é considerado um problema
real. Além disso, investigamos qual o impacto deste problema através
da análise de resultados obtidos por trabalhos relacionados e
compreensão das soluções utilizadas para este problema,
95
considerando especificamente como solução as técnicas de expansão
semântica de consultas;
c) Protótipo: construção de um protótipo que expande consultas
baseadas em palavras-chave de forma não intrusiva, por independer
da forma como as informações são armazenadas no índice. Esse
protótipo utiliza ontologia como recurso e viabiliza interação direta
com o conhecimento do domínio. Além disso, oferece uma infra-
estrutura modular que possibilita a substituição da ontologia ou até
mesmo da coleção de dados, sem impactar na atividade de expansão
de consulta. Portanto, é possível também aplicar a infra-estrutura
definida para a expansão de consultas em qualquer outro domínio;
d) Experimento e estudo de caso: após o desenvolvimento do protótipo,
foi definido um estudo de caso para avaliar a eficácia do mecanismo
de expansão de consulta proposto. Após esta definição um
experimento foi executado com o objetivo de identificar os pontos
fortes e os pontos de melhoria da proposta. Os resultados desse
experimento foram apresentados e discutidos através de dados
estatísticos e verificação de hipóteses, definidas pelo estudo de caso.
7.2 Trabalhos Futuros
Durante o desenvolvimento da proposta, diversos estudos que podem ser
desenvolvidos foram identificados como continuidade a este trabalho:
Assim como identificado em um dos pontos de melhoria da aplicação,
utilizar operadores lógicos durante o mecanismo de expansão. Além
disso, definir um algoritmo para realização de expansão automática
da consulta. Utilizando a infra-estrutura proposta, o usuário deve
poder optar por utilizar operadores lógicos e expandir
semanticamente a consulta inicial de forma automática;
96
Um trabalho secundário ao descrito anteriormente seria a
comparação entre a técnica de expansão utilizada neste trabalho e a
técnica de expansão automática de consulta;
Análise da complexidade da consulta antes de ativar o processo de
expansão. Segundo Voorhees (1994), o uso de recursos lingüísticos
externos como tesauros e ontologias apresentam pouca contribuição
para consultas �completas� ou bem construídas. Contudo, vários
autores investigam o comportamento de um processo de expansão de
consulta baseado na complexidade da consulta inicial (SHIRI and
REVIE, 2006). Segundo esses autores, os usuários interagem muito
mais com o sistema quando as consultas são consideradas complexas,
uma vez que o sistema será mais útil na sugestão de termos. Uma
forma de mensurar a complexidade de uma consulta pode ser pela
quantidade de termos da consulta inicial ou pela quantidade de
operadores lógicos utilizados;
Além das medidas convencionais de precisão e revocação, utilizar
parâmetros como tempo de pesquisa e usabilidade durante a
avaliação do mecanismo de expansão. A intenção é avaliar não
somente a qualidade dos resultados de pesquisa, mas a qualidade do
processo de pesquisa como um todo. Com isso, deveríamos avaliar
também como o usuário utiliza e interage com o mecanismo de
expansão e como isso afeta a seleção de termos durante a expansão.
Os autores Robertson e Beaulieu (1997) enfatizaram a importância de
levar em consideração a interação do usuário, a percepção e
satisfação do processo de pesquisa para avaliação de qualquer SRI.
Eles sugerem que a avaliação de um SRI não apenas considere a
questão de quão bom ou ruim é um sistema, observando friamente os
índices de precisão e revocação, mas sim analise empiricamente a
satisfação do usuário considerando sua experiência de uso em uma
ferramenta de RI.
97
Referências Bibliográficas
Almeida, M. B. and Bax, M. P. Uma visão geral sobre ontologias: pesquisa sobre
definições, tipos, aplicações, métodos de avaliação e de construção. Ciência da
Informação, Brasília, v.32, n. 3, pp. 7-20, 2003.
Allan, J.; B. Carterette.; Joshua, L. When will Information Retrieval be "Good
Enough?". Proceedings of the 28th annual ACM SIGIR, 2005.
Andreou, A. Ontologies and Query expansion. 2005. 81f. Dissertação (Mestrado
em Ciências) � Universidade de Edimburgo, Escócia.
Barros, F. A.; Goncalves, P. F. and Santos, T. L. V. L. Providing Context to Web
Searches: The Use of Ontologies to Enhance Search Engine's Accuracy. J. Braz.
Comp. Soc. [online], vol.5 n.2, 1998.
Barth, F. J. and Timoszczunk, A. P. Expansão Automática de Consultas
utilizando Ontologias, Fundação Atech Tecnologias Críticas, 2008.
Basili, V.; Selby, R. and Hutchens, D. Experimentation in software engineering.
IEEE Transactions on Software Engineering, pp. 733�743, 1986.
Beppler, F. D. Emprego de RBC para Recuperação Inteligente de Informações.
2002. 112f. Dissertação (Mestrado em Engenharia de Produção) - Universidade
Federal de Santa Catarina (UFSC), Santa Catarina.
Beppler, F. D. Um Modelo para Recuperação e Busca de Informação Baseado em
Ontologia e no Círculo Hermenêutico. 2008. 135f. Dissertação (Doutorado em
Engenharia e Gestão do Conhecimento) - Universidade Federal de Santa
Catarina (UFSC), Santa Catarina.
Berners-Lee, T. and Hendler, J. The semantic web. Scientific American, 2001.
Bidault, A.; Froidevaux, C. and Safar, B. Repairing Queries in a Mediator
Approach, Proc. 14th European Conf. Artificial Intelligence, pp. 406-410, 2000.
Borst, W. Construction of Engineering Ontologies for Knowledge Sharing and
Reuse, 1997. Disponível em http://doc.utwente.nl/17864/1/t0000004.pdf.
Acessado em: 05 de dezembro de 2008.
Breitman, K. K. Web Semântica: a Internet do futuro. Rio de Janeiro: LTC,
2005.
98
Cantele, R. C. and Fereira, M. A. G. V. Web Semântica na Educação: de
metadados a ontologias, 2008. Disponível em: http://www.grow.ic.ufal.br/
events/accepted-full-and-short-papers-second-brazilian-wswed/web-
semantica-na-educacao-de-metadados-a-ontologias, acessado em dezembro de
2008. Acessado em: 30 de março de 2009.
Cardoso, O. N. P. Recuperação de Informação, Universidade Federal de Larvas,
Larvas (MG), 1996.
Cavalcanti, Y. C. A Bug Report Analysis and Search Tool. 2009. 124 f.
Dissertação (Mestrado em Ciência da Computação) � Universidade Federal de
Pernambuco, Recife.
Computing-Ontology. Disponível em: <http://www.owl-ontologies.com/
ComputingOntology.owl>. Acesso em: 28 julho 2009.
Croft, W. B. Knowledge-based and statistical approaches to text retrieval. IEEE
Intelligent Systems and Their Applications, pp. 8-12, 1993.
Efthimiadis, E. N. A user-centred evaluation of ranking algorithms for
interactive query expansion. In R. Korfhage, E. Rasmussen, & P. Willett (Eds.),
Proceedings of the 16th annual conference on Research and Development in
Information Retrieval of the Association for Computing Machinery Special
Interest Group on Information Retrieval (ACM/SIGIR), pp. 146�159, 1993.
Efthimiadis, E. N. Query expansion. In M.E. Williams (Ed.), Annual review of
information science and technology, pp. 121�187,1996.
Chen, H.; Ng T. D.; Martinez, J. and Schatz, B. R. A concept space approach to
addressing the vocabulary problem in scientific information retrieval: na
experiment on the worm community system. MIS Department, University of
Arizona, 1996.
Durão, F. A. Applying a Semantic Layer in a Source Code Search Tool, MSc.
Dissertation, Federal University of Pernambuco, Recife, Pernambuco, Brazil,
February, 2008.
Frakes, W. B. and Yates, R. B. Information Retrieval Data Structures &
Algorithms, Prentice Hall, 1992.
Gamma, E; Helm, R; Johnson, R and Vlissides, J. Design Patterns: Elements of
Reusable Object-Oriented Software, Addison-Wesley, MA, USA, 2005.
Garcia, V. C.; Lucrédio, D.; Durão, F. A.; Santos, E. C. R.; Almeida, E. S.;
Fortes, R. P. M. and Meira, S. R. L. From Specification to the Experimentation:
A Software Component Search Engine Architecture, In The 9th International
99
Symposium on Component-Based Software Engineering (CBSE), Lecture Notes in
Computer Science, Springer-Verlag, Sweden, 2006.
Gómez-Pérez, A. Tutorial on Ontological Engineering. International Joing
Conference on Artificial Inteligence. IJCAI�1999, Estocolmo, Suécia, 1999.
Gonçalves, P. F.; Robin, J.; Santos,T. L. V. L.; Miranda, O. and Meira, S. L.
Measuring the Effect of Centroid Size on Web Search Precision and Recall. In
Proceedings 8th Annual Conference of the Internet Society (INET�98). Geneva,
Switzerland, July, 1998.
Griffiths, J. R. and Brophy, P. Student Searching Behavior and the Web: Use of
Academic Resources and Google. Library Trends, v. 53 n. 4, pp.539-54, 2005.
Gruber, T. R. Towards principles for the design of ontologies used for
knowledge sharing, In Guarino and Poli, R., Eds. International Workshop on
Formal Ontology. N. Padova, Italy, 1993. http://www-
ksl.stanford.edu/people/gruber/publications.html
Guarino, N. Formal Ontology and Information Systems. In: Proceedings of
FOIS'98, N. Guarino (ed.), IOS Press, 1998.
Harman, D. Relevance Feedback Revisited, Proceedings of the 15th ACM
Conference on Research and Development in Information Retrieval (SIGIR),
1992.
Henninger, S. Using Iterative Refinement to Find Reusable Software. IEEE
Software, 11(5), pp 48�59, 1994.
Hiemstra, D. and Mihajlovic, V. The simplest evaluation measures for XML
information retrieval that could possibly work. In: Proceedings of the INEX
2005 Workshop on Element Retrieval Methodology, Glasgow, UK, 2005.
Hsieh-Yee, I. Effects of search experience and subject knowledge on the search
tactics of novice and experienced searchers. Journal of the American Society
for Information Science, pp 161�174, 1993.
Kitchenham, B. A. and Charters, S. Guidelines for performing Systematic
Literature Reviews in Software Engineering, Version 2.3, Keele University,
EBSE Technical Report, EBSE-2007-01, 2007.
López, M. F.; G.-P. Asunción, et al. Building a Chemical Ontology Using
Methontology and the Ontology Design Environment. Intelligent Systems and
their Applications IEEE, v.14, n.1, p.37-46. 1999.
100
Lucrédio, D.; Almeida, E, S. and Prado, A, F. A Survey on Software Components
Search and Retrieval, In the 30th IEEE EUROMICRO Conference, Component-
Based Software Engineering Track, 2004, Rennes - France. IEEE Press,2004.
MOREIRA, A. Tesauros e Ontologias: estudo de definições presentes na
literatura das áreas das Ciências da Computação e da Informação, utilizando-
se o Método Analítico-Sintético. 2003. 150 f. Dissertação (Mestrado em Ciência
da Computação) - Escola de Ciência da Informação da UFMG, Belo Horizonte.
Necib, C. B. and Freytag, J. C. Using Ontologies for Database Query
Reformulation. In: East European Conference on Advances in Databases and
Informations Systems (ADBIS), 2004.
Neto, B. R.; Silva, I. and Muntz, R. Soft Computing in Information Retrieval
Techniques and Applications, chapter Bayesian Network Models for IR, pp 259-
291. Springer Verlag, 2000.
Nunes, A. M. and Fileto, R. Uma Arquitetura para Recuperação de Informação
Baseada em Semântica e sua Aplicação no Apoio a Jurisprudência, UFSC, 2005.
Pearl, J. Probabilistic Reasoning in Intelligent Systems: Networks of Plausible
Inference: Morgan Kaufmann, 1988.
Pickler, M. E. V. Web Semântica: ontologias como ferramentas de
representação do conhecimento referencia. Perspectivas em Ciência da
Informação, v. 12, n. 1, pp. 65-83, 2007.
Pizzato, L. A. S. Estrutura Multitesauro para Recuperação de Informações.
2003. 112f. Dissertação (Mestrado em Ciência da Computação) - Pontifícia
Universidade Católica do Rio Grande do Sul, Porto Alegre.
Prince, V. and Roche, M. Information Retrieval in Biomedicine. Medical
Information Science Reference, 1 edition, 2009.
Riecken, R. F. Estudo comparativo entre diferentes modelos de organização de
acervos de dados eletrônicos. Perspectivas em Ciência da Informação v. 13, n.
2, 2008.
Robertson, S. E. and Beaulieu, M. Research and evaluation in information
retrieval. Journal of Documentation, 53(1), 51�57, 1997.
Schulz, S. and Stenzhorn, H. Vantagens e limitações das ontologias formais na
área biomédica. RECIIS � R. Eletr. de Com. Inf. Inov. Saúde. Rio de Janeiro, v.3
n.1, pp.33-48, 2009.
101
Shiri, A. and Revie, C. Query expansion behavior within a thesaurus-enhanced
search environment: A user-centered evaluation, Journal of the American
Society for Information Science and Technology, v.57 n.4, pp.462-478, 2006.
Silva, M. J.; Martins, B. and Costa, M. Avaliação de Sistemas de Recuperação de
Informação da Web em Português: Proposta Inicial à Comunidade. Universidade
de Lisboa, Portugal, Avalon'03, 2003.
Silveira, M. L. Recuperação Vertical de Informação Um Estudo de Caso na Área
Jurídica. 2003. 114f. Dissertação (Doutorado em Ciência da Computação) -
Universidade Federal de Minas Gerais, Minas Gerais.
Silverstein, C.; Henzinger, M.; Marais, H. and Moricz, M. Analysis of a very
large altavista query log. Technical Report 1998-014, Digital SRC, 1998.
Soergel, D. Important problems in information retrieval. University of
Maryland, College of Library and Information Services, 1989.
Souza, A. Ontologias � filosofia versus ciências cognitivas, s.d. Disponível em:
http://co-labor.blogspot.com/2007/10/ontologias-filosofia-versus-incias.html.
Acessado em: 21 de dezembro de 2008.
SPINK, A.; SARACEVIC, T. Dynamics of search term selection during mediated
online searching. In: ASIS ANNUAL MEETING, 56th, v. 30, p. 63-72, 1993.
Tomonari, M.; Teruhito, K.; Atsuhiro, T. and Jun, A. Improving Web Search by
Query Expansion with a Small Number of Terms. Proceedings of NTCIR-5
Workshop Meeting, Tokyo, Japan, 2005.
Voorhees, E. M. Query expansion using lexical-semantic relations. In:
Proceedings of the 17th annual international ACM SIGIR conference on Research
and development in information retrieval, 1994.
Yaguinuma, C. A. ; Biajiz, M. and Santos, M. T. P. Sistema FOQuE para
Expansão Semântica de Consultas Baseada em Ontologias Difusas. In: XXII
Simpósio Brasileiro de Banco de Dados, v.1, pp. 208-222, 2007.
Yates, R. B. and Neto, B. R. Modern Information Retrieval: ACM Press, Addison-
Wesley, 513p, 1999.
Ye, Y. and Fischer, G. Supporting Reuse By Delivering Task-Relevant and
Personalized Information, ICSE 2002 � 24th
International Conference on
Software Engineering, pp. 513-523, 2002.
Wohlin, C.; Runeson, P.; Martin Höst, M. C. O.; Regnell, B. and Wesslén, A.
Experimentation in Software Engineering: An Introduction. The Kluwer
102
Internation Series in Software Engineering. Kluwer Academic Publishers,
Norwell, Massachusets, USA, 2000.
Zobel, J. and Moffat, A. Inverted Files for Text Search Engines, ACM Computing
Surveys, 2006.
Apêndices
103
Apêndice A - Exemplo de Conceitos e Relacionamentos da ontologia utilizada.
Para melhor compreender a estrutura da ontologia utilizada, nesta seção
mostraremos trechos da ontologia que representa uma parte da hierarquia de
classes e os recursos para o conceito Collision Resolution Techniques
(técnicas de resolução de colisão). De acordo com a Figura A.1, as elipses são
os conceitos, as setas são os relacionamentos e os quadrados são as instâncias.
O relacionamento destacado na cor vermelha representa uma restrição entre os
conceitos Hashing e Hashed File Organization. Já a Figura A.2
apresenta um trecho da ontologia especificado utilizando a linguagem OWL, a
Computing Ontology.
Figura A.1 � Representação gráfica ontologia utilizada
104
<owl:Class rdf:ID="Collision_Resolution_Techniques"> <rdfs:subClassOf rdf:resource="#Hashing"/>
</owl:Class> <owl:Class rdf:about="#Hashing">
<rdfs:subClassOf> <owl:Restriction> <owl:someValuesFrom>
<owl:Class rdf:ID="Hashed_File_Organization"/> </owl:someValuesFrom> <owl:onProperty>
<owl:TransitiveProperty rdf:ID="UsedBy"/> </owl:onProperty> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf>
<owl:Classrdf:about="#Important_Instruction..."/> </rdfs:subClassOf>
</owl:Class> <owl:Class rdf:about="#Hashed_File_Organization">
<rdfs:subClassOf> <owl:Restriction> <owl:onProperty>
<owl:TransitiveProperty rdf:about="#Uses"/> </owl:onProperty> <owl:someValuesFrom rdf:resource="#Hashing"/> </owl:Restriction> </rdfs:subClassOf> <rdfs:subClassOf rdf:resource="#File_Organization"/>
</owl:Class> <owl:Class rdf:about="#Important_Instruction...">
<rdfs:subClassOf> <owl:Class rdf:ID="Algorithms"/>
</rdfs:subClassOf> </owl:Class> <!-- Instances --> <Collision_Resolution_Techniques rdf:ID="Clustering"/> <Collision_Resolution_Techniques rdf:ID="Probing"/> <Collision_Resolution_Techniques rdf:ID="Chaining"/>
Figura A.2 � Trecho da ontologia utilizada
105
Apêndice B - Exemplo de consultas aplicadas e suas expansões
As tabelas seguintes demonstram as consultas iniciais e as consultas na forma
expandida, com o resultado de precisão, precisão geral, abrangência e medida-
F, quando aplicadas a coleção utilizada no experimento. As consultas estão
agrupadas por necessidade de informação.
Tabela B.1 � Consultas simples e medidas obtidas no experimento.
NI: agile Consulta Revocação Precisão
Geral Precisão Medida-F
Agile method 0,7778 0,0094 0,3500 0,4828
agile 0,7778 0,5000 0,5000 0,6087
scrum 0,6667 1,0000 1,0000 0,8000
extreme programming 0,6667 0,0124 0,3000 0,4138
agile methods 0,7778 0,0094 0,3500 0,4828
tests agile 0,7778 0,0113 0,3500 0,4828
NI: data_base Consulta Revocação Precisão
Geral Precisão Medida-F
Data base 0,0000 0,0000 0,0000 0,0000
trigger 0,0000 0,0000 0,0000 0,0000
data transaction 0,5385 0,0090 0,3500 0,4242
data base 0,0000 0,0000 0,0000 0,0000
database convertion 0,4615 0,0151 0,3000 0,3636
concurrency transaction 0,6154 0,0203 0,4000 0,4848
NI: data_security Consulta Revocação Precisão
Geral Precisão Medida-F
security data 1,0000 0,0121 0,4500 0,6207
cryptography 0,3333 0,3750 0,3750 0,3529
public key 0,3333 0,0082 0,1500 0,2069
security biometrics 0,7778 0,0551 0,3500 0,4828
cryptography methods 0,3333 0,0040 0,1500 0,2069
digital signature 0,2222 0,0079 0,1000 0,1379
NI: fuzzy Consulta Revocação Precisão
Geral Precisão Medida-F
Fuzzy 0,7143 0,0338 0,2500 0,3704
set theory 1,0000 0,0086 0,3500 0,5185
fuzzy logic 1,0000 0,0225 0,3500 0,5185
106
fuzzy algorithm 0,4286 0,0045 0,1500 0,2222
mathematic 0,2857 0,0065 0,1000 0,1481
fuzzy description 0,5714 0,0093 0,2000 0,2963
NI: image_process Consulta Revocação Precisão
Geral Precisão Medida-F
process image 0,5455 0,0076 0,3000 0,3871
face recognition 0,0000 0,0000 0,0000 0,0000
imaging 0,5455 0,0186 0,3000 0,3871
neighbor 0,0909 0,0063 0,0500 0,0645
linear algebra 0,0909 0,0020 0,0500 0,0645
segmentation algorithms 0,0909 0,0015 0,0500 0,0645
NI:
language_programming Consulta Revocação
Precisão
Geral Precisão Medida-F
Program language 0,8182 0,0188 0,4500 0,5806
methods 0,0000 0,0000 0,0000 0,0000
programming 0,7273 0,0204 0,4000 0,5161
development ide 0,0000 0,0000 0,0000 0,0000
big o 0,0000 0,0000 0,0000 0,0000
scope variable 0,2727 0,0059 0,1500 0,1935
NI: network_hardware Consulta Revocação Precisão
Geral Precisão Medida-F
Computers networks 0,2727 0,0036 0,1500 0,1935
tcp 0,3636 0,1429 0,2000 0,2581
Network 0,0909 0,0014 0,0500 0,0645
ethernet topology 0,7273 0,0457 0,4000 0,5161
peer to peer 0,1818 0,0556 0,1000 0,1290
bridge configuration 0,2727 0,0112 0,1500 0,1935
NI: neural_network Consulta Revocação Precisão
Geral Precisão Medida-F
neural network 0,2500 0,0027 0,1000 0,1429
artificial 0,1250 0,0026 0,0500 0,0714
neural 0,1250 0,0016 0,0500 0,0714
agents 0,0000 0,0000 0,0000 0,0000
neural learning environment 0,2500 0,0026 0,1000 0,1429
NI: object_oriented Consulta Revocação Precisão
Geral Precisão Medida-F
Object oriented 0,3333 0,0052 0,1500 0,2069
107
abstract 0,2222 0,0025 0,1000 0,1379
inheritance 0,5556 0,1000 0,2500 0,3448
java 0,2222 0,0213 0,1000 0,1379
object instance 0,2222 0,0032 0,1000 0,1379
multiple inheritance 0,5556 0,0108 0,2500 0,3448
NI: project_managment Consulta Revocação Precisão
Geral Precisão Medida-F
project manager 1,0000 0,0121 0,3000 0,4615
business 0,1667 0,0083 0,0500 0,0769
tracking 0,0000 0,0000 0,0000 0,0000
human resources 0,5000 0,0068 0,1500 0,2308
project goals 1,0000 0,0112 0,3000 0,4615
risk management 0,6667 0,0120 0,2000 0,3077
NI: quality_software Consulta Revocação Precisão
Geral Precisão Medida-F
Quality software 0,9091 0,0227 0,5000 0,6452
Code coverage 0,0909 0,0027 0,0500 0,0645
commitment 0,0909 0,0145 0,0500 0,0645
quality assurance 0,6364 0,0228 0,3500 0,4516
configuration management 0,2727 0,0075 0,1500 0,1935
quality software audit 0,8182 0,0200 0,4500 0,5806
NI: systems_distributed Consulta Revocação Precisão
Geral Precisão Medida-F
systems distributed 0,6250 0,0062 0,2500 0,3571
clusters 0,0000 0,0000 0,0000 0,0000
distributed 0,6250 0,0095 0,2500 0,3571
message driven beans 0,1250 0,0042 0,0500 0,0714
storage 0,5000 0,0323 0,2000 0,2857
remote procedure call 0,3750 0,0043 0,1500 0,2143
NI: web_service Consulta Revocação Precisão
Geral Precisão Medida-F
web service 0,7857 0,0476 0,5500 0,6471
wsdl 0,7857 0,8462 0,8462 0,8148
service 0,8571 0,0745 0,6000 0,7059
soap 1,0000 0,8235 0,8235 0,9032
web service classification 0,8571 0,0234 0,6000 0,7059
108
interface generation 0,4286 0,0088 0,3000 0,3529
Tabela B.2 � Consultas expandidas e medidas obtidas no experimento.
NI: agile Consulta Revocação Precisão
Geral Precisão Medida-F
Agile method scrum extreme programming development 0,7778 0,0084 0,3500 0,4828
agile scrum extreme programming 0,7778 0,0144 0,3500 0,4828
scrum development 0,7778 0,0111 0,3500 0,4828
extreme programming development 0,7778 0,0095 0,3500 0,4828
agile methods extreme programming file management 0,7778 0,0085 0,3500 0,4828
tests agile reliability artifacts strategy 0,7778 0,0099 0,3500 0,4828
NI: data_base Consulta Revocação Precisão
Geral Precisão Medida-F
Data base stored procedures sql triggers persistent semistructured information query 0,6154 0,0092 0,4000 0,4848
trigger database 0,3077 0,0122 0,2000 0,2424
database failure recovery concurrency control integrity 0,5385 0,0094 0,3500 0,4242
data base query performance 0,1538 0,0023 0,1000 0,1212
database convertion backup recovery relational 0,4615 0,0078 0,3000 0,3636
concurrency transaction management 0,6154 0,0150 0,4000 0,4848
NI: data_security Consulta Revocação Precisão
Geral Precisão Medida-F
security data attacks protection malware 1,0000 0,0119 0,4500 0,6207
cryptography algorithms encryption 0,7778 0,0105 0,3500 0,4828
public key signatures 0,3333 0,0077 0,1500 0,2069
security biometrics authentication penetration 0,6667 0,0423 0,3000 0,4138
cryptography methods access file management 0,5556 0,0062 0,2500 0,3448
digital signature cryptosystems key 0,3333 0,0070 0,1500 0,2069
NI: fuzzy Consulta Revocação Precisão
Geral Precisão Medida-F
Fuzzy possibility theory uncertainty 1,0000 0,0092 0,3500 0,5185
109
set theory set theory structures discrete possibility 0,8571 0,0070 0,3000 0,4444
fuzzy logic uncertainty 1,0000 0,0194 0,3500 0,5185
fuzzy algorithm theory uncertainty 1,0000 0,0094 0,3500 0,5185
mathematic logics uncertainty deduction complexity 1,0000 0,0099 0,3500 0,5185
fuzzy description representation theory 0,8571 0,0084 0,3000 0,4444
NI: image_process Consulta Revocação Precisão
Geral Precisão Medida-F
process image computer vision 0,2727 0,0035 0,1500 0,1935
face recognition object 0,0909 0,0015 0,0500 0,0645
imaging preservation 0,1818 0,0051 0,1000 0,1290
neighbor algorithm learning 0,0000 0,0000 0,0000 0,0000
linear algebra operations manipulation 0,2727 0,0040 0,1500 0,1935
segmentation algorithms region-based layer parsing 0,0000 0,0000 0,0000 0,0000
NI:
language_programmi
ng
Consulta Revocação Precisão
Geral Precisão Medida-F
Program language markup procedural 0,8182 0,0137 0,4500 0,5806
methods abstracting 0,0909 0,0012 0,0500 0,0645
programming algorithms problem-solving procedural 0,5455 0,0076 0,3000 0,3871
development ide software tools 0,0000 0,0000 0,0000 0,0000
big o complexity analysis 0,0000 0,0000 0,0000 0,0000
scope variable control declarations 0,4545 0,0071 0,2500 0,3226
NI: network_hardware Consulta Revocação Precisão
Geral Precisão Medida-F
Computers networks topologies architecture physical 0,4545 0,0059 0,2500 0,3226
tcp network 0,3636 0,0055 0,2000 0,2581
Network topologies hardware switches routers 0,7273 0,0104 0,4000 0,5161
ethernet topology protocol examples 0,6364 0,0097 0,3500 0,4516
peer to peer architectural styles 0,1818 0,0046 0,1000 0,1290
bridge configuration network 0,2727 0,0039 0,1500 0,1935
NI: neural_network Consulta Revocação Precisão
Geral Precisão Medida-F
neural network machine learning 0,2500 0,0025 0,1000 0,1429
artificial intelligence 0,1250 0,0018 0,0500 0,0714
110
neural net architectures 0,3750 0,0039 0,1500 0,2143
agents robotic multi-agent state-of-the-art 0,0000 0,0000 0,0000 0,0000
neural learning environment supervised 0,0000 0,0000 0,0000 0,0000
NI: object_oriented Consulta Revocação Precisão
Geral Precisão Medida-F
Object oriented encapsulation polymorphism inheritance 0,6667 0,0101 0,3000 0,4138
abstract methods 0,1111 0,0012 0,0500 0,0690
inheritance object-oriented 0,5556 0,0490 0,2500 0,3448
java languages examples 0,1111 0,0014 0,0500 0,0690
object instance programming classifications 0,2222 0,0026 0,1000 0,1379
multiple inheritance polymorphism 0,4444 0,0086 0,2000 0,2759
NI:
project_managment Consulta Revocação
Precisão
Geral Precisão Medida-F
project manager estimation scheduling planning software 1,0000 0,0081 0,3000 0,4615
business information management philosophy 0,3333 0,0026 0,1000 0,1538
tracking milestones scheduling 1,0000 0,0256 0,3000 0,4615
human resources management training staffing 0,8333 0,0066 0,2500 0,3846
project goals metrics reporting analysis milestones effort risk 1,0000 0,0074 0,3000 0,4615
risk management contingency planning analysis 0,6667 0,0054 0,2000 0,3077
NI: quality_software Consulta Revocação Precisão
Geral Precisão Medida-F
Quality software attributes organizational standards 0,8182 0,0133 0,4500 0,5806
Code coverage coverage-based 0,1818 0,0054 0,1000 0,1290
commitment theory 0,0909 0,0021 0,0500 0,0645
quality assurance concepts culture process 0,5455 0,0074 0,3000 0,3871
configuration management version control evolution 0,4545 0,0068 0,2500 0,3226
quality software audit overview process 0,7273 0,0098 0,4000 0,5161
NI:
systems_distributed Consulta Revocação
Precisão
Geral Precisão Medida-F
111
systems distributed storage replication fragmentation 0,7500 0,0073 0,3000 0,4286
clusters clusters grid 0,1250 0,0032 0,0500 0,0714
distributed design organization detection 0,2500 0,0025 0,1000 0,1429
message driven beans communications management 0,1250 0,0021 0,0500 0,0714
storage replication vertical fragmentation allocation distributed databases 0,6250 0,0071 0,2500 0,3571
remote procedure call middleware 0,3750 0,0043 0,1500 0,2143
NI: web_service Consulta Revocação Precisão
Geral Precisão Medida-F
web service wsdl soap 1,0000 0,0591 0,7000 0,8235
wsdl services 0,9286 0,0783 0,6500 0,7647
service uddi wsdl soap application 1,0000 0,0192 0,7000 0,8235
soap web services 1,0000 0,0591 0,7000 0,8235
web service classification soap retrieval performance 0,8571 0,0152 0,6000 0,7059
interface generation web services 0,8571 0,0167 0,6000 0,7059