UMA PROPOSTA PARA EXPANSÃO SEMÂNTICA DE CONSULTAS BASEADA EM ONTOLOGIA DE DOMÍNIO ESPECÍFICO

1

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
2

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.

3

Sumário

1. 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. 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. 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. 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. 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 PROPOSTA E PROTÓTIPO: PROCESSO DE EXPANSÃO UTILIZANDO ONTOLOGIA...53 EXPANSÃO SEMÂNTICA DE CONSULTAS UTILIZANDO ONTOLOGIA ...........................43 ONTOLOGIA .....................................................................................................................................31 RECUPERAÇÃO DE INFORMAÇÃO............................................................................................20

INTRODUÇÃO...................................................................................................................................11

4

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. 7.1 7.2 OBJETIVOS ALCANÇADOS .............................................................................................................94 TRABALHOS FUTUROS ..................................................................................................................95 CONCLUSÕES ...................................................................................................................................92

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

5

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

36

Figura 5.2 – Processo de expansão de consulta
..................

56 Figura 5.3 – Trecho da ontologia (relacionamento de hierarquia)
...................... 60

59 Figura 5.4 – Trecho da ontologia (relacionamento de restrição) Figura 5.5 – Trecho da ontologia (instâncias) .................................................... 61
............................................. 64

Figura 5.6 – Exemplo de estrutura de uma classe 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

6

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

7

Glossário
GQM IA NI OWL RI SADT SMART SQL SRI TREC URI W3C WEB World Wide Web World Wide Web Consortium Uniform Resource Identifier Text REtrieval Conference Sistema de Recuperação de Informação Structured Query Language System for the Mechanical Analysis and Retrieval of Text Structured Analysis and Design Technique Recuperação de Informação Web Ontology Language Necessidade de Informação Inteligência Artificial Goal Question Metric

8

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.

9

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.

10

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

11

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 12

TIMOSZCZUNK, 2008). Neste âmbito, a ontologia tem sido utilizada para lidar com 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. problemas de conflitos semânticos, como por exemplo, termos

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.

13

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 14

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, Bing4) 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 3

Google: www.google.com Yahoo!: www.yahoo.com 4 Bing: www.bing.com

15

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

Objetivo Geral

1.4.2 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

Objetivos Específicos

16

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 Para este trabalho será considerado fora do escopo da investigação:

Delimitações da pesquisa

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/

17

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, 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. incluindo conceitos básicos, elementos estruturais,

18

19

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,

20

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 21

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

Conceitos Básicos em RI

2.2.1 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 palavraschave representa uma visão lógica dos documentos que será manipulado pelos engenhos de busca.

Indexação

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

22

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,

23

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

24

no passo 1. Por último, uma lista ordenada de documentos é exibida para o usuário.

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

Avaliação do desempenho de 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

25

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.

26

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

27

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,

28

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

29

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 relacionados a RI. em um conjunto de palavras-chave, utilizaremos conceitos

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.

30

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

31

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

32

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

Ontologias e Tesauros

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.

33

Muitas vezes é necessário relacionar conceitos utilizando relacionamentos do tipo parte-de, membro-conjunto, causaefeito, 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.

34

Tabela 3.1 – Classificação ontológica - adaptado de Almeida e Bax (2003).
Abordagem
Domínio Quanto à função Mizoguchi, Vanwelkenhuysen & Ikeda (1995) Reutilizáveis no domínio fornecem vocabulários sobre conceitos, seus relacionamentos, sobre atividades e regras que os governam. Fornecem um vocabulário sistematizado de termos, especificando tarefas que podem ou não estar no mesmo domínio. Incluem um vocabulário relacionado a coisas, eventos, tempo, espaço, casualidade, comportamento, funções e etc. Expressa livremente em linguagem natural. Expressa em linguagem natural de forma restrita e estruturada. Expressa em uma linguagem artificial definida formalmente. Os termos são definidos com semântica formal, teoremas e provas. 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. Descrevem o vocabulário relacionado a um domínio, como, por exemplo, medicina ou automóveis. Descrevem uma tarefa ou atividade, como, por exemplo, diagnósticos ou compras, mediante inserção de termos especializados na ontologia. 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. Expressam conceitualizações que são específicas para um determinado domínio do conhecimento. Similares às ontologias de domínio, mas os conceitos que as definem são considerados genéricos e comuns a vários campos.

Classificação

Descrição

Tarefa

Gerais

Quanto ao grau de formalismo Uschold & Gruninger (1996)

Altamente Informais Semi-informais Semiformais Rigorosamente Formais Alto Nível

Quanto à estrutura Haav & Lubi (2001)

Domínio Tarefa

Quanto ao Conteúdo Modelagem do Van-Heijist, Schreiber Conhecimento & Wielinga (2002) Domínio Genéricas

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.

35

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

3.2 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 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ómezPé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; entre esses conceitos, instâncias desses conceitos e

Características e Estrutura

7 8

WordNet: http://wordnet.princeton.edu/ EuroWord-Net: http://www.illc.uva.nl/EuroWordNet/

36

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

37

dirido_por relacionamentos 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. transitivos. Já os relacionamentos e

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.

38

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

39

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.

40

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/

41

referenciar os termos do repositório e as entidades identificadas no texto (NUNES and FILETO, 2005).

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

Considerações Finais

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.

42

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 (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 das necessidades de informação do usuário

43

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 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 de uma consulta fornecida, assim como a solução descrita

44

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 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). documentos relevantes pode exigir várias interações e

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

45

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, userassisted); 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 46

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 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). utilizando conceitos e relacionamentos que estejam

47

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,

48

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

49

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.

50

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 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. para manipulação da ontologia, a navegação (browsing).

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

51

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.

52

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.

53

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 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 sinônimos, anotações semânticas ou qualquer tipo de

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.

54

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, 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. especificado na Seção 3.2, determinam esses

55

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

56

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.

57

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 58

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

59

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 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 relacionamento é codificado utilizando a linguagem OWL (utilizando a notação XML da linguagem). da ontologia utilizada para exemplificar como esse tipo de pais e filhos. Porém, todos os nós da ontologia possuem

60

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 Object-Oriented_Programming, os 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. conceitos Requirements_

61

Figura 5.4 – Trecho da ontologia (relacionamento de restrição).

Na relacionamentos específicos definidos pela ontologia. Para exemplificar esse tipo de relacionamento podemos utilizar os conceitos Secondary_Storage e WSDL.

análise

de

restrições,

o

mecanismo

de

inferência

procura

por

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

62

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

63

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 Analyzing_Functional_Requirements resultados 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. as classes e

Logo, mesmo com uma grande quantidade de classes relacionadas, essa abordagem possivelmente mais relevantes sem que as demais classes também sejam analisadas. permite que sejam utilizadas primeiramente as classes

64

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

Funcionamento

Jena: http://jena.sourceforge.net/

65

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, 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. partes de sua descrição. Por exemplo, para a classe

66

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/

67

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

Tecnologias utilizadas

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

68

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 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. qualquer parser para diferentes formatos de documentos ou

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 14

Apache: http://www.apache.org/ JSON: http://www.json.org/ 15 HP Labs: http://www.hpl.hp.com/

69

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

Modelo Funcional do Protótipo

70

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

71

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.

72

6. Experimento: Um Estudo de Caso
No capítulo anterior abordamos uma proposta para expansão de consultas utilizando 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. ontologia de domínio como estrutura independente de

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.

73

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 alternativas: - H1: o uso do módulo de expansão prejudica a precisão absoluta das pesquisas rejeitar essas hipóteses, nós esperamos as seguintes hipóteses

74

- 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 previamente conhecidos no repositório; como a estratégia utilizada para inserir documentos

75

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 L melhor 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, nrr(c(ni)). recuperados, 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. que chamamos de Além disso, contabilizar o número de documentos relevantes rank primeiro, analisaremos apenas os primeiros

76

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. c(ni), Para ntr(c(ni)). Calculamos da seguinte forma: cada consulta calcular a razão entre e nrr(c(ni))

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

77

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

participantes

do

experimento,

selecionamos

colaboradores

do

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

78

ID

Idade (anos) 24

Tabela 6.1 – Perfil dos Participantes. Tempo desde Participações a graduação em projetos Formação (anos) na área 4 6 Graduado em Sistemas de Informação, Mestrando em Engenharia de software Graduado em Ciência da Computação e Especialização em Teste de Software Graduado em Ciência da Computação e Mestre em Engenharia da Computação Graduado em Sistemas de Informação, Mestrando em Engenharia de software Graduado em Matemática e Nível técnico em Ciência da Computação Graduado em Ciência da Computação, Especialista em Engenharia de Software e Mestrando em Engenharia de Requisitos

1

2

27

5

3

3

32

10

15

4

30

4

8

5

31

10

20

6

26

4

4

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

79

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

80

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 medidaF). 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 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.

Hipótese utilizando precisão geral

81

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.

NI(“agile”, Observando “data_security”,“web_service”). Especificamente 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. para essas três o gráfico podemos destacar os assuntos

82

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. Precisão Abordagem 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

83

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.

84

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.

85

É 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

86

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. Medida-F Abordagem Média Desv. Pad. Variância Simples 0,2951 0,1624 0,0264 Expandida 0,3340 0,1833 0,0336 Expandida x 13,18% ----Simples

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

87

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

Pontos de melhoria

88

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.

89

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

90

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.

91

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 palavraschave 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

92

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 93

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,

94

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 infraestrutura 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 semanticamente a consulta inicial de forma automática; optar por utilizar operadores lógicos e expandir

95

Um  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.

trabalho

secundário

ao

descrito

anteriormente

seria

a

96

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.

97

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/websemantica-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

98

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://wwwksl.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.

99

Lucrédio, D.; Almeida, E, S. and Prado, A, F. A Survey on Software Components Search and Retrieval, In the 30th IEEE EUROMICRO Conference, ComponentBased 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, utilizandose 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 259291. 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.

100

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, AddisonWesley, 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

101

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

102

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 apresenta um trecho da ontologia especificado utilizando a linguagem OWL, a Computing Ontology. File Organization. Já a Figura A.2

Figura A.1 – Representação gráfica ontologia utilizada

103

<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

104

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 medidaF, 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 Agile method agile scrum extreme programming agile methods tests agile 0,7778 0,7778 0,6667 0,6667 0,7778 0,7778 Consulta Revocação Precisão Geral 0,0094 0,5000 1,0000 0,0124 0,0094 0,0113 Precisão 0,3500 0,5000 1,0000 0,3000 0,3500 0,3500 0,4828 0,6087 0,8000 0,4138 0,4828 0,4828 Medida-F

NI: data_base Data base trigger data transaction data base database convertion concurrency transaction 0,0000 0,0000 0,5385 0,0000 0,4615 0,6154

Consulta

Revocação

Precisão Geral 0,0000 0,0000 0,0090 0,0000 0,0151 0,0203

Precisão 0,0000 0,0000 0,3500 0,0000 0,3000 0,4000 0,0000 0,0000 0,4242 0,0000 0,3636 0,4848

Medida-F

NI: data_security security data cryptography public key security biometrics cryptography methods digital signature 1,0000 0,3333 0,3333 0,7778 0,3333 0,2222

Consulta

Revocação

Precisão Geral 0,0121 0,3750 0,0082 0,0551 0,0040 0,0079

Precisão 0,4500 0,3750 0,1500 0,3500 0,1500 0,1000 0,6207 0,3529 0,2069 0,4828 0,2069 0,1379

Medida-F

NI: fuzzy Fuzzy set theory fuzzy logic 0,7143 1,0000 1,0000

Consulta

Revocação

Precisão Geral 0,0338 0,0086 0,0225

Precisão 0,2500 0,3500 0,3500 0,3704 0,5185 0,5185

Medida-F

105

fuzzy algorithm mathematic fuzzy description

0,4286 0,2857 0,5714

0,0045 0,0065 0,0093

0,1500 0,1000 0,2000

0,2222 0,1481 0,2963

NI: image_process process image face recognition imaging neighbor linear algebra segmentation algorithms 0,5455 0,0000 0,5455 0,0909 0,0909 0,0909

Consulta

Revocação

Precisão Geral 0,0076 0,0000 0,0186 0,0063 0,0020 0,0015

Precisão 0,3000 0,0000 0,3000 0,0500 0,0500 0,0500 0,3871 0,0000 0,3871 0,0645 0,0645 0,0645

Medida-F

NI: language_programming

Consulta

Revocação

Precisão Geral 0,0188 0,0000 0,0204 0,0000 0,0000 0,0059

Precisão

Medida-F

Program language methods programming development ide big o scope variable

0,8182 0,0000 0,7273 0,0000 0,0000 0,2727

0,4500 0,0000 0,4000 0,0000 0,0000 0,1500

0,5806 0,0000 0,5161 0,0000 0,0000 0,1935

NI: network_hardware Computers networks tcp Network ethernet topology peer to peer bridge configuration 0,2727 0,3636 0,0909 0,7273 0,1818 0,2727

Consulta

Revocação

Precisão Geral 0,0036 0,1429 0,0014 0,0457 0,0556 0,0112

Precisão 0,1500 0,2000 0,0500 0,4000 0,1000 0,1500 0,1935 0,2581 0,0645 0,5161 0,1290 0,1935

Medida-F

NI: neural_network neural network artificial neural agents neural learning environment 0,2500 0,1250 0,1250 0,0000 0,2500

Consulta

Revocação

Precisão Geral 0,0027 0,0026 0,0016 0,0000 0,0026

Precisão 0,1000 0,0500 0,0500 0,0000 0,1000 0,1429 0,0714 0,0714 0,0000 0,1429

Medida-F

NI: object_oriented Object oriented 0,3333

Consulta

Revocação

Precisão Geral 0,0052

Precisão 0,1500 0,2069

Medida-F

106

abstract inheritance java object instance multiple inheritance

0,2222 0,5556 0,2222 0,2222 0,5556

0,0025 0,1000 0,0213 0,0032 0,0108

0,1000 0,2500 0,1000 0,1000 0,2500

0,1379 0,3448 0,1379 0,1379 0,3448

NI: project_managment

Consulta

Revocação

Precisão Geral 0,0121 0,0083 0,0000 0,0068 0,0112 0,0120

Precisão

Medida-F

project manager business tracking human resources project goals risk management

1,0000 0,1667 0,0000 0,5000 1,0000 0,6667

0,3000 0,0500 0,0000 0,1500 0,3000 0,2000

0,4615 0,0769 0,0000 0,2308 0,4615 0,3077

NI: quality_software Quality software Code coverage commitment quality assurance configuration management quality software audit 0,9091 0,0909 0,0909 0,6364 0,2727 0,8182

Consulta

Revocação

Precisão Geral 0,0227 0,0027 0,0145 0,0228 0,0075 0,0200

Precisão 0,5000 0,0500 0,0500 0,3500 0,1500 0,4500 0,6452 0,0645 0,0645 0,4516 0,1935 0,5806

Medida-F

NI: systems_distributed systems distributed clusters distributed message driven beans storage remote procedure call 0,6250 0,0000 0,6250 0,1250 0,5000 0,3750

Consulta

Revocação

Precisão Geral 0,0062 0,0000 0,0095 0,0042 0,0323 0,0043

Precisão 0,2500 0,0000 0,2500 0,0500 0,2000 0,1500 0,3571 0,0000 0,3571 0,0714 0,2857 0,2143

Medida-F

NI: web_service web service wsdl service soap web service classification 0,7857 0,7857 0,8571 1,0000 0,8571

Consulta

Revocação

Precisão Geral 0,0476 0,8462 0,0745 0,8235 0,0234

Precisão 0,5500 0,8462 0,6000 0,8235 0,6000 0,6471 0,8148 0,7059 0,9032 0,7059

Medida-F

107

interface generation

0,4286

0,0088

0,3000

0,3529

Tabela B.2 – Consultas expandidas e medidas obtidas no experimento.

NI: agile Agile method scrum extreme programming development agile scrum extreme programming scrum development extreme programming development agile methods extreme programming file management tests agile reliability artifacts strategy

Consulta

Revocação

Precisão Geral 0,0084 0,0144 0,0111 0,0095 0,0085 0,0099

Precisão

Medida-F

0,7778 0,7778 0,7778 0,7778 0,7778 0,7778

0,3500 0,3500 0,3500 0,3500 0,3500 0,3500

0,4828 0,4828 0,4828 0,4828 0,4828 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 trigger database database failure recovery concurrency control integrity data base query performance database convertion backup recovery relational concurrency transaction management

0,6154 0,3077 0,5385 0,1538 0,4615 0,6154

0,0092 0,0122 0,0094 0,0023 0,0078 0,0150

0,4000 0,2000 0,3500 0,1000 0,3000 0,4000

0,4848 0,2424 0,4242 0,1212 0,3636 0,4848

NI: data_security

Consulta

Revocação

Precisão Geral 0,0119 0,0105 0,0077 0,0423 0,0062 0,0070

Precisão

Medida-F

security data attacks protection malware cryptography algorithms encryption public key signatures security biometrics authentication penetration cryptography methods access file management digital signature cryptosystems key

1,0000 0,7778 0,3333 0,6667 0,5556 0,3333

0,4500 0,3500 0,1500 0,3000 0,2500 0,1500

0,6207 0,4828 0,2069 0,4138 0,3448 0,2069

NI: fuzzy Fuzzy possibility theory uncertainty 1,0000

Consulta

Revocação

Precisão Geral 0,0092

Precisão 0,3500 0,5185

Medida-F

108

set theory set theory structures discrete possibility fuzzy logic uncertainty fuzzy algorithm theory uncertainty mathematic logics uncertainty deduction complexity fuzzy description representation theory

0,8571 1,0000 1,0000 1,0000 0,8571

0,0070 0,0194 0,0094 0,0099 0,0084

0,3000 0,3500 0,3500 0,3500 0,3000

0,4444 0,5185 0,5185 0,5185 0,4444

NI: image_process process image computer vision face recognition object imaging preservation neighbor algorithm learning linear algebra operations manipulation segmentation algorithms region-based layer parsing 0,2727 0,0909 0,1818 0,0000 0,2727 0,0000

Consulta

Revocação

Precisão Geral 0,0035 0,0015 0,0051 0,0000 0,0040 0,0000

Precisão 0,1500 0,0500 0,1000 0,0000 0,1500 0,0000 0,1935 0,0645 0,1290 0,0000 0,1935 0,0000

Medida-F

NI: language_programmi ng

Consulta

Revocação

Precisão Geral 0,0137 0,0012 0,0076 0,0000 0,0000 0,0071

Precisão

Medida-F

Program language markup procedural methods abstracting programming algorithms problem-solving procedural development ide software tools big o complexity analysis scope variable control declarations

0,8182 0,0909 0,5455 0,0000 0,0000 0,4545

0,4500 0,0500 0,3000 0,0000 0,0000 0,2500

0,5806 0,0645 0,3871 0,0000 0,0000 0,3226

NI: network_hardware Computers networks topologies architecture physical tcp network Network topologies hardware switches routers ethernet topology protocol examples peer to peer architectural styles bridge configuration network

Consulta

Revocação

Precisão Geral

Precisão

Medida-F

0,4545 0,3636 0,7273 0,6364 0,1818 0,2727

0,0059 0,0055 0,0104 0,0097 0,0046 0,0039

0,2500 0,2000 0,4000 0,3500 0,1000 0,1500

0,3226 0,2581 0,5161 0,4516 0,1290 0,1935

NI: neural_network neural network machine learning artificial intelligence 0,2500 0,1250

Consulta

Revocação

Precisão Geral 0,0025 0,0018

Precisão 0,1000 0,0500 0,1429 0,0714

Medida-F

109

neural net architectures agents robotic multi-agent state-of-the-art neural learning environment supervised

0,3750 0,0000 0,0000

0,0039 0,0000 0,0000

0,1500 0,0000 0,0000

0,2143 0,0000 0,0000

NI: object_oriented Object oriented encapsulation polymorphism inheritance abstract methods inheritance object-oriented java languages examples object instance programming classifications multiple inheritance polymorphism

Consulta

Revocação

Precisão Geral 0,0101 0,0012 0,0490 0,0014 0,0026 0,0086

Precisão

Medida-F

0,6667 0,1111 0,5556 0,1111 0,2222 0,4444

0,3000 0,0500 0,2500 0,0500 0,1000 0,2000

0,4138 0,0690 0,3448 0,0690 0,1379 0,2759

NI: project_managment

Consulta project manager estimation scheduling planning software business information management philosophy tracking milestones scheduling human resources management training staffing project goals metrics reporting analysis milestones effort risk risk management contingency planning analysis

Revocação

Precisão Geral

Precisão

Medida-F

1,0000 0,3333 1,0000 0,8333 1,0000

0,0081 0,0026 0,0256 0,0066 0,0074

0,3000 0,1000 0,3000 0,2500 0,3000

0,4615 0,1538 0,4615 0,3846 0,4615

0,6667

0,0054

0,2000

0,3077

NI: quality_software Quality software attributes organizational standards Code coverage coverage-based commitment theory quality assurance concepts culture process configuration management version control evolution quality software audit overview process

Consulta

Revocação

Precisão Geral 0,0133 0,0054 0,0021 0,0074 0,0068 0,0098

Precisão

Medida-F

0,8182 0,1818 0,0909 0,5455 0,4545 0,7273

0,4500 0,1000 0,0500 0,3000 0,2500 0,4000

0,5806 0,1290 0,0645 0,3871 0,3226 0,5161

NI: systems_distributed

Consulta

Revocação

Precisão Geral

Precisão

Medida-F

110

systems distributed storage replication fragmentation clusters clusters grid distributed design organization detection message driven beans communications management

0,7500 0,1250 0,2500 0,1250

0,0073 0,0032 0,0025 0,0021

0,3000 0,0500 0,1000 0,0500

0,4286 0,0714 0,1429 0,0714

storage replication vertical fragmentation allocation distributed databases remote procedure call middleware

0,6250 0,3750

0,0071 0,0043

0,2500 0,1500

0,3571 0,2143

NI: web_service web service wsdl soap wsdl services service uddi wsdl soap application soap web services web service classification soap retrieval performance interface generation web services 1,0000 0,9286 1,0000 1,0000 0,8571 0,8571

Consulta

Revocação

Precisão Geral 0,0591 0,0783 0,0192 0,0591 0,0152 0,0167

Precisão 0,7000 0,6500 0,7000 0,7000 0,6000 0,6000 0,8235 0,7647 0,8235 0,8235 0,7059 0,7059

Medida-F

111