BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

170
INSTITUTO MILITAR DE ENGENHARIA 1º Ten WALLACE ANACLETO PINHEIRO BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM BASEADA EM ONTOLOGIAS Dissertação de Mestrado apresentada ao curso de Mestrado em Sistemas e Computação do Instituto Militar de Engenharia, como requisito parcial para a obtenção do título de Mestre em Ciências em Sistemas e Computação. Orientadora: Prof. Ana Maria de Carvalho Moura – Dr. Ing. Rio de Janeiro 2004

Transcript of BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

Page 1: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

INSTITUTO MILITAR DE ENGENHARIA

1º Ten WALLACE ANACLETO PINHEIRO

BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM BASEADA EM ONTOLOGIAS

Dissertação de Mestrado apresentada ao curso de

Mestrado em Sistemas e Computação do Instituto

Militar de Engenharia, como requisito parcial para a

obtenção do título de Mestre em Ciências em

Sistemas e Computação.

Orientadora: Prof. Ana Maria de Carvalho Moura –

Dr. Ing.

Rio de Janeiro

2004

Page 2: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

2

c2004

INSTITUTO MILITAR DE ENGENHARIA

Praça General Tibúrcio, 80 – Praia Vermelha

Rio de Janeiro – RJ CEP: 22290-270

Este exemplar é de propriedade do Instituto Militar de Engenharia, que poderá incluí-lo

em base de dados, armazenar em computador, microfilmar ou adotar qualquer forma de

arquivamento.

É permitida a menção, reprodução parcial ou integral e a transmissão entre bibliotecas

deste trabalho, sem modificação de seu texto, em qualquer meio que esteja ou venha a ser

fixado, para pesquisa acadêmica, comentários e citações, desde que sem finalidade comercial

e que seja feita a referência bibliográfica completa.

Os conceitos expressos neste trabalho são de responsabilidade do(s) autor(res) e do(s)

orientador(res).

P654 Pinheiro, Wallace Anacleto Busca em Portais Semânticos: Uma Abordagem Baseada em

Ontologias / Wallace Anacleto Pinheiro. -- Rio de Janeiro: Instituto Militar de Engenharia, 2004.

170 p.: il., graf., tab.

Dissertação (mestrado): Instituto Militar de Engenharia - Rio de Janeiro, 2004.

1. Portais Semânticos. 2. Ontologia. 3. Semântica. 4. Recuperação de

Informação. 5. Máquina de Busca. I. Instituto Militar de Engenharia. II. Título.

CDD 029

Page 3: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

3

INSTITUTO MILITAR DE ENGENHARIA

1º Ten WALLACE ANACLETO PINHEIRO

BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM BASEADA

EM ONTOLOGIAS

Dissertação de Mestrado apresentada ao curso de Mestrado em Sistemas e Computação

do Instituto Militar de Engenharia, como requisito parcial para a obtenção do título de Mestre

em Ciências em Sistemas e Computação.

Orientadora: Profª. Ana Maria de Carvalho Moura – Dr. Ing.

Aprovada em 19 de fevereiro de 2004 pela seguinte Banca Examinadora:

__________________________________________________________________

Profª. Ana Maria de Carvalho Moura – Dr. Ing., IME – Presidente

__________________________________________________________________

Prof. Fábio André Machado Porto–D. Sc., IME

__________________________________________________________________

Marco Antônio Casanova – Ph. D., PUC-RJ

__________________________________________________________________

Paulo César Coelho Ferreira – Dr., IME/PRODERJ

Rio de Janeiro

2004

Page 4: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

4

A Deus, responsável por tudo.

Bárbara, minha querida esposa, pelo amor,

compreensão, por estar sempre ao meu lado e ser a

razão do meu viver.

Meus pais, pelo carinho e dedicação com que me

guiaram em todos os momentos da minha vida.

Page 5: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

5

AGRADECIMENTOS

Agradeço a todas as pessoas que me incentivaram, apoiaram e possibilitaram esta

oportunidade.

À minha Professora Orientadora Dr. Ana Maria de Carvalho Moura, por sua atenção e

paciência.

Meus familiares, mestres e colegas de turma que, de forma direta ou indireta, contribuíram na

preparação e construção desse trabalho.

Page 6: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

6

SUMÁRIO

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

1.1 MOTIVAÇÃO...........................................................................................................11

1.2 OBJETIVOS GERAIS E ESPECÍFICOS..................................................................12

1.3 JUSTIFICATIVA E RELEVÂNCIA DO TRABALHO...........................................13

1.4 ORGANIZAÇÃO DA DISSERTAÇÃO...................................................................14

2 A WEB SEMÂNTICA E TECNOLOGIAS ASSOCIADAS................................16

2.1 TESAUROS...............................................................................................................16

2.2 ONTOLOGIAS..........................................................................................................19

2.3 TESAURO VERSUS ONTOLOGIA........................................................................23

2.4 TECNOLOGIAS PARA REPRESENTAÇÃO E USO DE ONTOLOGIAS............26

2.4.1 LINGUAGENS..........................................................................................................26

2.4.1.1 RDF E ESQUEMA RDF...........................................................................................26

2.4.1.2 LINGUAGEM DAML+OIL......................................................................................27

2.4.1.3 OWL...........................................................................................................................30

2.4.2 FERRAMENTAS PARA O DESENVOLVIMENTO DE ONTOLOGIAS.............31

2.4.2.1 PROTÉGÉ-2000........................................................................................................31

2.4.2.2 OILED……................................................................................................................33

2.4.2.3 KAON OI-MODELER..............................................................................................35

2.4.3 COMPARAÇÃO DOS EDITORES DE ONTOLOGIAS.........................................37

2.5 CONSIDERAÇÕES FINAIS.....................................................................................39

3 PORTAIS..................................................................................................................41

3.1 CONCEITUAÇÃO....................................................................................................41

3.2 ARQUITETURA DOS PORTAIS.............................................................................45

3.3 PORTAIS SEMÂNTICOS........................................................................................49

3.3.1 KA2............................................................................................................................50

3.3.2 SESAME...........................................….....................................................................53

3.3.3 SEAL..........................................................................................................................55

3.3.4 KAON........................................................................................................................58

3.3.5 ROSA.........................................................................................................................63

3.4 CONSIDERAÇÕES FINAIS.....................................................................................63

Page 7: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

7

4 MECANISMOS DE BUSCA...................................................................................65

4.1 BUSCAS NA WEB...................................................................................................65

4.2 SERVIÇOS DE BUSCA NA WEB...........................................................................67

4.2.1 ARQUITETURA DAS MÁQUINAS DE BUSCA...................................................68

4.2.2 MODELOS CLÁSSICOS PARA RECUPERAÇÃO DE INFORMAÇÃO..............71

4.2.2.1 MODELO BOOLEANO............................................................................................71

4.2.2.2 MODELO VETORIAL..............................................................................................72

4.2.2.3 MODELO PROBABILÍSTICO.................................................................................74

4.2.3 MODELOS DE RECUPERAÇÃO DE INFORMAÇÃO PARA O AMBIENTE

WEB..........................................................................................................................................75

4.2.3.1 ANÁLISE DE LINKS...............................................................................................75

4.2.3.1.1 PAGERANK..............................................................................................................76

4.2.3.1.2 HYPERTEXT INDUCED TOPIC SEARCH (HITS) .............................................77

4.2.3.2 ANÁLISE DE HIPERTEXTO E PROXIMIDADE..................................................79

4.3 EVOLUÇÃO DAS MÁQUINAS DE BUSCA.........................................................80

4.3.1 MÁQUINAS DE BUSCA DE 1ª GERAÇÃO...........................................................80

4.3.2 MÁQUINAS DE BUSCA DE 2ª GERAÇÃO...........................................................80

4.3.3 MÁQUINAS DE BUSCA DE 3ª GERAÇÃO...........................................................81

4.4 MECANISMOS DE BUSCA DA ATUALIDADE...................................................81

4.4.1 ALTAVISTA.............................................................................................................82

4.4.2 GOOGLE..............................................................................................................….83

4.4.3 PROJETO NUTCH....................................................................................................87

4.4.4 MNOGOSEARCH.....................................................................................................87

4.4.5 COMPARAÇÃO ENTRE OS MECANISMOS DE BUSCA...................................87

4.5 USO DE ONTOLOGIAS NOS MECANISMOS DE BUSCA.................................88

4.6 CONSIDERAÇÕES FINAIS.....................................................................................89

5 DESENVOLVIMENTO DO PASS........................................................................91

5.1 ESPECIFICAÇÃO DA ARQUITETURA DO SISTEMA........................................91

5.2 ONTOPASS: FERRAMENTA DE EDIÇÃO DE ONTOLOGIAS..........................93

5.3 TOSS: FERRAMENTA DE BUSCA SEMÂNTICA NA WEB...............................98

5.3.1 TÉCNICAS UTILIZADAS NO AMBIENTE PASS..............................................100

5.3.1.1 MODELO DO USUÁRIO.......................................................................................100

5.3.1.2 RECOMENDAÇÃO COLABORATIVA............;..................................................103

Page 8: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

8

5.3.1.3 EXPANSÃO DOS TERMOS DA BUSCA.............................................................104

5.3.1.3.1 GRUPO DOS CONCEITOS ASSOCIADOS E SUBORDINADOS......................107

5.3.1.3.2 GRUPO DOS PREDICADOS E CONCEITOS ASSOCIADOS............................108

5.3.1.3.3 GRUPO DAS SEQÜÊNCIAS INVERSAS.............................................................110

5.4 TECNOLOGIAS E FERRAMENTAS UTILIZADAS...........................................111

5.4.1 PLATAFORMA JAVA 2 ENTERPRISE EDITION (J2EE)....................................111

5.4.2 FERRAMENTA DE DESENVOLVIMENTO ECLIPSE.......................................112

5.4.3 API GOOGLE..........................................................................................................112

5.5 CONSIDERAÇÕES FINAIS...................................................................................115

6 AVALIAÇÃO DA FERRAMENTA TOSS.........................................................117

6.1 AVALIAÇÃO DE SISTEMAS DE RECUPERAÇÃO DE INFORMAÇÃO........117

6.1.1 PRECISÃO E REVOCAÇÃO.................................................................................118

6.1.2 PRECISÃO-R E HISTOGRAMAS DE PRECISÃO..............................................121

6.1.3 PRECISÃO MÉDIA................................................................................................122

6.1.4 TÉCNICA DE "POOLING"....................................................................................123

6.2 RESULTADOS EXPERIMENTAIS.......................................................................123

6.2.1 AVALIAÇÃO USANDO PRECISÃO VERSUS REVOCAÇÃO..........................125

6.2.2 AVALIAÇÃO USANDO A PRECISÃO MÉDIA..................................................128

6.2.3 AVALIAÇÃO USANDO HISTOGRAMAS DE PRECISÃO E PRECISÃO-R....130

6.3 CONSIDERAÇÕES FINAIS...................................................................................134

7. CONCLUSÃO........................................................................................................136

7.1 PRINCIPAIS CONTRIBUIÇÕES DA DISSERTAÇÃO........................................137

7.2 SUGESTÕES PARA TRABALHOS FUTUROS...................................................138

8 REFERÊNCIAS BIBLIOGRÁFICAS.................................................................141

9 APÊNDICES...........................................................................................................150

9.1 APÊNDICE 1: LINGUAGEM DE CONSULTA KAON.......................................151

9.2 APÊNDICE 2: ONTOLOGIA DOS USUÁRIOS DO PASS..................................160

9.3 APÊNDICE 3: TRECHO DA ONTOLOGIA SOBRE CIÊNCIA DA

INFORMAÇÃO......................................................................................................................164

Page 9: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

9

RESUMO Os portais fornecem pontos de acesso a informações personalizadas de seus usuários e

têm se popularizado nos últimos anos na internet. Os portais semânticos surgiram como uma extensão natural dos portais e têm atraído a atenção de pesquisadores e empresas como uma forma inovadora de fornecer informações aos seus usuários. As ontologias são a base dos portais semânticos e uma de suas funções precípuas tem sido categorizar as informações contidas nos mesmos. Porém os usuários ainda sentem falta de aplicações práticas que demonstrem o uso das ontologias. Este trabalho perpassa por todos estes temas e demonstra como as ontologias podem contribuir de forma prática na solução de alguns dos problemas atuais, através de um dos componentes mais importantes do portal, o componente busca.

Neste trabalho é criado um ambiente de um portal semântico, denominado PASS (Portal with Access to Semantic Search), dando-se enfoque a sua ferramenta de busca. Esse ambiente permite a criação, edição e armazenamento de ontologias. A ferramenta de busca utiliza os componentes das ontologias de domínio específico desse ambiente para realizar o processo de expansão dos termos de busca digitados pelo seu usuário. Na etapa final, essa ferramenta é avaliada, através da comparação com outras ferramentas de busca existentes na Web.

Page 10: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

10

ABSTRACT

Portals have become very popular on the internet. They allow users to have access to

many online transactions and customized information. The semantic portals arose as a natural extension of the portals and they have attracted the attention of researchers and enterprises as a new way to offer information to their users. Ontologies are the bases of the semantic portals and one of their main functions is to categorize the information inside portals. However, users feel the lack of practical applications showing the use of ontologies. This work covers these issues and shows how ontologies can contribute, in a practical way, to solve some of the current problems, in one of the most important portal component, the search component.

This work has developed a semantic portal environment, called PASS (Portal with Access to Semantic Search), where special attention is given to its search tool. This environment allows the creation, edition and storage of ontologies. The search tool uses components of specified domain ontologies stored in this environment to execute the expansion process of search terms chosen by the users. In the final stage of this work, the semantic search tool is valued by comparing it with other traditional search tools on the Web.

Page 11: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

11

1 INTRODUÇÃO

1.1 MOTIVAÇÃO

Conhecimento e informação são elementos que sempre foram essenciais na vida do

homem moderno. Atualmente, o valor do conhecimento é muito maior do que o valor das

riquezas materiais. O conhecimento nos permite ter o poder de identificar oportunidades, de

saber enfrentar os desafios, de tomar as decisões mais corretas. Porém, conseguir informações

não é o suficiente. A verdadeira conquista está na capacidade de acessar, analisar e associar

todas elas. O sucesso de uma empresa ou instituição pode ser medido pela qualidade de suas

decisões, que vai depender da sua habilidade no gerenciamento das informações.

Há cerca de cinco anos emergiu o conceito de portal (DIAS, 2001). Inicialmente os

portais funcionavam como máquinas de buscas mais sofisticadas, que tinham o objetivo de

reduzir o tempo despendido em procuras na internet e auxiliar os usuários menos experientes

com a inclusão de categorias e páginas personalizadas.

É importante estabelecer o fato do portal não ser uma simples tecnologia, mas uma

aplicação que integra um conjunto de tecnologias, seguindo um desenho altamente

individualizado da informação. Cada configuração ou desenho de portal deriva dos requisitos

únicos de negócio de uma organização e do seu contexto de informação, onde a maioria das

organizações precisará selecionar e implementar uma série de componentes para atender suas

exigências específicas, tanto internas quanto externas.

Um portal estabelece um ponto único que oferece aos usuários acesso a dados de fontes

estruturadas, tais como aplicações de bancos de dados, planilhas e Enterprise Resource

Planning (ERP), assim como dados não estruturados de documentos, e-mail e páginas Web.

Inclui uma ferramenta de pesquisa e listas com milhares de páginas de informações baseadas

em intranet, divididas em categorias e classificadas de maneira inteligente. Enfim, um portal

não é apenas uma página Web com vários links para sites interessantes.

Com o aumento cada vez maior do número de documentos publicados na Web, notou-se

a necessidade de uma representação semântica mais rica dos dados publicados, de tal forma

que essa semântica pudesse ser também interpretada por máquinas e não somente por

humanos, o que não é fornecido com o uso de HTML (HiperText Markup Language), ou

mesmo XML (Extensible Markup Language). As páginas publicadas na Web atualmente são

feitas para serem interpretadas por pessoas, porém o tratamento desses dados se tornou

Page 12: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

12

humanamente impossível. O próprio Berners-Lee, considerado o pai da Web (TIME.COM,

1999), vislumbrava, desde a sua criação, o desenvolvimento de uma estrutura e um

significado semântico ao conteúdo das páginas, permitindo que pessoas e computadores

interpretassem o seu conteúdo e trabalhassem cooperativamente (BERNERS-LEE, 2001).

Esse novo paradigma recebeu o nome de Web Semântica.

Dentro desse contexto, surgiram os Portais Semânticos. Segundo MAEDCHE (2001a),

portais semânticos são aqueles que exploram a semântica para construir e manter o próprio

portal, bem como para fornecer e acessar informação. Além disso, esses portais devem

basear-se em ontologias. Uma ontologia pode ser vista, no ambiente de um portal, como uma

taxonomia, ou classificação, incluindo o relacionamento entre os termos dessa taxonomia e

um conjunto de regras de inferência. A taxonomia define as classes de objetos e suas relações.

A aplicação de ontologias permite o compartilhamento e o entendimento comum de um

domínio que pode ser estabelecido entre pessoas e sistemas de aplicação. Dessa forma,

procura-se promover uma estrutura e o significado semântico aos documentos que o portal

semântico acessa e armazena em seus repositórios ou na Web. Outra aplicação para

ontologias está relacionada ao seu uso em máquinas de busca. Este uso pode ser visto como

uma forma de melhor caracterizar as buscas realizadas pelos seus usuários através da

determinação do contexto da busca.

Ferramentas e tecnologias que tratam esses temas são objetos de estudo nas comunidades

de pesquisa (W3C). Neste trabalho foram utilizadas de forma integrada as tecnologias

associadas aos portais, ontologias e máquinas de busca voltadas principalmente para a

melhoraria da relevância dos resultados apresentados nas buscas realizadas dentro de um

portal semântico.

1.2 OBJETIVOS GERAIS E ESPECÍFICOS

Os Portais semânticos são uma evolução natural dos portais tradicionais da Web, onde o

uso de ontologias é um requisito importante para explorar a capacidade semântica de acesso e

uso do portal.

Neste trabalho, procura-se discutir as fases de construção de uma ontologia em um portal

semântico com o auxílio de um tesauro para um domínio específico e de informações

consideradas relevantes para o componente busca e para a personalização das buscas

realizadas.

Page 13: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

13

O objetivo deste trabalho consiste na construção de um mecanismo de busca que visa

melhorar a relevância dos resultados retornados por um portal semântico, através do uso de

ontologias. As ontologias de domínio são utilizadas pela ferramenta de busca desse ambiente

com o fim de realizar a melhoria quanto a relevância dos resultados apresentados pela

ferramenta de busca Google (BRIN, 1998). Além disso, é realizado o estudo dos componentes

de uma arquitetura de portais baseados em ontologias. Abordar-se-ão conceitos que envolvam

a construção de uma ontologia, através do auxílio de: tesauros, metadados e da busca de

informações na Web. A partir de um estudo detalhado das tecnologias relacionadas a portais e

Web Semântica e ferramentas de busca, foi construído um portal semântico, chamado PASS

(Portal with Access to Semantic Search), que inclui componentes básicos de personalização

de usuários, construção e edição de ontologias, e busca baseada em termos e associações de

ontologias de domínio. Para isto foi utilizado o framework KAON (KAON, 2003). Este

framework suporta o desenvolvimento do portal, simplificando enormemente o trabalho de

infra-estrutura requerido para o desenvolvimento da presente proposta. O seu módulo KAON

Portal foi estendido de modo a possibilitar a criação e edição de ontologias.

Por fim é feito um estudo de avaliação do mecanismo de busca desse portal, denominado

TOSS (TOol for Semantic Search). Esta avaliação visa fazer uma análise comparativa

detalhada com outras ferramentas tradicionais da Web, apontando os pontos positivos e

negativos trazidos pela abordagem proposta.

Este trabalho não se propõe a desenvolver todos os componentes da arquitetura de

portais, nem tampouco analisar todos os problemas relacionados ao desenvolvimento e

manutenção de portais, o que certamente exigiria, além de um número maior de profissionais

da área, um tempo consideravelmente maior. Além disso, nem todas as etapas necessárias à

construção de um portal serão abordadas, já que o foco pretendido por este trabalho não visa

substituir por completo o trabalho de construção, armazenamento e análise de metadados em

um portal. Entretanto, procurar-se-á abordar os componentes mais relevantes desta arquitetura

de forma a entender o inter-relacionamento entre esses componentes e sua arquitetura

funcional como um todo.

1.3 JUSTIFICATIVA E RELEVÂNCIA DO TRABALHO

Os serviços de busca atualmente não têm a preocupação de guardar informações a

respeito do usuário que o está acessando. Isto ocorre devido ao enorme número de usuários

Page 14: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

14

que acessam esses serviços, dificultando o armazenamento de informações a respeito de

todos. Uma solução proposta por COSTA (2002) para tal problemática poderia ser a criação

de cookies (arquivo criado na máquina do usuário, com capacidade de armazenar diversas

informações). A solução proposta neste trabalho busca armazenar esses resultados em

ontologias. Assim, informações sobre as preferências dos usuários do portal podem ser

compartilhadas com outros sistemas. A personalização de assuntos dos usuários na chamada

“minha página”, outro fator de importância, também é discutida e apresentada.

Nos atuais serviços de busca, normalmente as consultas não são associadas a nenhum

contexto específico, retornando respostas muito genéricas. A ontologia pode auxiliar o usuário

a associar determinada palavra a um contexto, permitindo buscas mais eficazes. O processo de

expansão dos termos da busca, onde novas palavras são acrescentadas à busca original

realizada pelo usuário, pode contribuir nestes casos. Outro ponto interessante é a criação de

mecanismos de recomendação colaborativa entre os usuários, permitindo aos mais experientes

indicar referências interessantes para outros.

A construção de metadados auxilia o portal a cumprir as suas funções, sendo um dos

pontos fundamentais no seu desenvolvimento. A aplicação de ontologias para descrever tais

metadados torna-se uma alternativa interessante, assim como a utilização tecnologias e

repositórios que viabilizem a criação, o armazenamento e a edição dessas ontologias, bem

como sua utilização em aplicações práticas como no caso de suporte a busca na Web.

1.4 ORGANIZAÇÃO DA DISSERTAÇÃO

Além da introdução, o restante desse trabalho está organizado da seguinte forma:

No capítulo 2 é abordada a Web Semântica e tecnologias associadas. É introduzido o

conceito de tesauro, ontologia, a diferença entre esses conceitos, sendo também apresentadas

as linguagens e ferramentas para representação, edição e uso de ontologias. Ao final é feita a

comparação dos três editores de ontologias discutidos no capítulo.

No capítulo 3 são introduzidos os portais e suas diversas classificações. Destaca-se o

conceito de portal semântico e as iniciativas desenvolvidas na direção de desenvolvimento

desses portais. O ponto de destaque é o framework KAON, utilizado para desenvolver a

ferramenta proposta neste trabalho.

No capítulo 4 são descritos os principais mecanismos de busca com foco para a Web. São

descritos os modelos clássicos de recuperação de informação, os algoritmos de recuperação

Page 15: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

15

utilizados na Web, tais como o PageRank, e as características principais das três gerações de

máquinas de busca para Web existentes até agora.

No capítulo 5 é apresentado o ambiente PASS que utiliza o framework disponibilizado

pelo KAON para construir um portal semântico. Sua principal característica é voltada para o

seu componente de busca que se diferencia dos portais tradicionais existentes atualmente na

Web pelo emprego de ontologias.

O capítulo 6 é dedicado à avaliação da ferramenta TOSS com outras três ferramentas

existentes atualmente na Web. Os resultados demonstram como o uso de ontologias e técnicas

de expansão de consultas pode contribuir para melhorar a relevância dos resultados

apresentados pelas máquinas de busca no ambiente Web.

Finalmente, o capítulo 7 apresenta as contribuições deste trabalho, assim como sugestões

para trabalhos futuros.

Page 16: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

16

2 A WEB SEMÂNTICA E TECNOLOGIAS ASSOCIADAS

A Web Semântica é uma extensão da Web corrente, cujo objetivo principal é adicionar

aos dados uma semântica bem definida, ajudando computadores e pessoas a cooperarem de

uma forma mais fácil (BERNERS-LEE, 2001). Trata-se de um esforço colaborativo liderado

pelo W3C, com participação de um grande número de pesquisadores e parceiros industriais.

Está baseada no Resource Description Framework (RDF), que integra uma variedade de

aplicações usando XML para sintaxe e URIs para endereçamento (SEMANTIC WEB, 2003).

Esta seção tem por objetivo fazer uma apresentação geral das tecnologias relacionadas à

área de Web Semântica. Inicialmente são estudados os tesauros, considerados no âmbito desse

trabalho como um importante recurso auxiliar na construção de ontologias, após o qual se

inicia o estudo das ontologias, que se destaca como o assunto principal desse capítulo.

2.1 TESAUROS

O termo tesauro tem origem no dicionário analógico de Peter Mark Roger, intitulado

“Thesaurus of English words and phrases”, publicado, pela primeira vez, em Londres, em

1852 (GOMES, 1990). O termo tesauro é definido por CAVALCANTI (1978) como uma lista

estruturada de termos associados, empregada para descrever um documento com a desejada

especificidade e para permitir aos pesquisadores a recuperação da informação.

Um princípio importante utilizado nos tesauros é o princípio da contextualização, que

especifica o significado do termo, designando dois termos diferentes para evitar

ambigüidades, tais como: “tênis (esporte)” e “tênis (calçado)”. Termos deste tipo são

chamados polissêmicos ou homógrafos e precisam de um contextualizador (esporte e calçado)

para evitar a ambigüidade. Os termos que são únicos e expressivos são conhecidos como

termos monossêmicos. O termo ou descritor guarda independência do contexto, isto é, ao ser

usado na indexação ou recuperação de informação já carrega consigo o significado relevante

para o sistema.

São componentes de um tesauro os termos, a estrutura entre eles e o conjunto de

remissivas (palavras que não foram escolhidas para representar os termos). O conjunto de

remissivas é formado por sinonímias ou termos equivalentes.

O tesauro cobre termos de um domínio específico do conhecimento, não havendo,

portanto um tesauro de domínio geral. Além disso, deve ser dinâmico, permitindo alterações

Page 17: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

17

no significado dos termos e inserção de novos termos. Ainda em GOMES (1990), tesauro é

definido como “uma linguagem documentária dinâmica que contém termos relacionados

semântica e logicamente, cobrindo de modo compreensivo um domínio do conhecimento”.

Segundo o autor, os tesauros podem ser classificados em:

• Monolingües e Multilingües;

• Macrotesauros (representam conceitos mais amplos) e Microtesauros (representam

conceitos específicos);

• Multidisciplinares e de Disciplina Específica.

Num tesauro existem os seguintes tipos de relacionamentos entre os conceitos:

• Relacionamento Lógico: especifica relacionamentos de similaridade, porque compara

dois conceitos entre si e verifica se possuem algumas características em comum. Divide-se

em:

� Relacionamento Genérico/Específico: os conceitos podem ser estruturados em

forma de hierarquia, pois os termos subordinados apresentam as características do

termo a que se subordinam, acrescidas de pelo menos uma característica a mais.

Esta hierarquia é vertical, pois liga termos superordenados a termos subordinados.

Ex.: arquivos e arquivos correntes.

� Relacionamento Analítico: são relações associativas entre dois conceitos quando

um deles for uma característica do outro e ambos não fizerem parte da mesma

hierarquia. Exemplo: gestão de documentos e arquivos correntes.

� Relacionamento de Oposição: englobam os relacionamentos de oposição

contraditória (numérico/não-numérico, presente/ausente), os relacionamentos de

oposição contrária (amizade/inimizade) e os relacionamentos

positivo/indiferente/negativo (muito valioso/valioso/pouco valioso).

• Relacionamento Ontológico: são relações indiretas entre os conceitos. Divide-se em:

� Relacionamento Partitivo: são relacionamentos que caracterizam o todo e as suas

partes componentes. Ex.: carro e roda.

� Relacionamento de Sucessão: caracterizam relação de proximidade. Ex.: entre três

planos nacionais de desenvolvimento, pode-se estabelecer esta relação.

� Relacionamento de material-produto: mostra diferentes estágios na produção de

bens, que vão desde a matéria prima até o produto final. Ex. filme fotográfico e

fotografia.

Page 18: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

18

• Relacionamentos de Efeito:

� Casualidade: representa relações de causa e efeito. Ex.:pista molhada e acidente.

� Instrumental: relaciona o instrumento e sua ação. Ex.: broca e broca de perfuração.

� Descendência: relaciona conceitos que guardam entre si uma relação genealógica,

ontogenética ou de estágios da substância. Ex.: larva e crisálida ou urânio I e

urânio II.

Os tesauros caracterizam esses relacionamentos por meio de códigos. Por exemplo, os

tesauros de língua portuguesa, nas relações genérico/específicas utilizam os códigos “TG”

(Termo Genérico), “TGP” (Termo Genérico Partitivo), “TE” (Termo Específico) e “TEP”

(Termo Específico Partitivo) respectivamente. Os demais relacionamentos são indicados pelo

código “TA” (Termo Associado) ou TR (Termo Relacionado). Existem ainda os termos

equivalentes e sinonímias. Este tipo de relacionamento é indicado no tesauro pelos códigos

“UP” (usado por) e “USE”, antecedendo o termo preferido. Percebe-se, portanto que, de modo

geral, todos os relacionamentos entre termos podem ser resumidos a três grandes grupos:

todo-parte (agregação), categorização (ou classificação, daí o termo classes) e associação.

Um outro conceito importante, pois caracteriza e diferencia diferentes instrumentos de

indexação existentes, é o de pós-coordenação e pré-coordenação. De acordo com (JESUS,

2002), o tesauro é muito usado nos sistemas pós-coordenados, pois as palavras de conceito

composto são separadas em seus componentes, formando conceitos simples, sendo assim

indexados. Portanto, pode-se observar que estes conceitos são combinados apenas no

momento da recuperação da informação. Já nos sistemas pré-coordenados, os conceitos são

combinados na indexação, não sendo possível combinar seus componentes posteriormente, no

momento da busca. Essa combinação, portanto, não é desfeita por ocasião da busca no

sistema. Isto significa que a forma do termo a ser procurado deve ser idêntica à forma sob a

qual foi utilizado na indexação.

O tesauro é bastante similar às tradicionais listas de cabeçalhos de assunto, pois ambos

controlam sinônimos e homógrafos. Para GOMES (1996), a principal diferença é que o

cabeçalho de assuntos tem como unidades: conceitos ou assuntos, ou seja, utilizam o conceito

da pré-coordenação. Já os tesauros utilizam o conceito da pós-coordenação permitindo uma

infinidade de arranjos e combinações necessárias para representar qualquer assunto.

VIEIRA (1999) ressalta que, atualmente, os instrumentos de indexação em uso dividem-

se em:

Page 19: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

19

• Tesauro: lista estruturada em categorias e associações de termos;

• Vocabulário Controlado: lista de termos selecionados e padronizados;

• Palavra-Chave: lista de termos significativos extraídos do texto e utilizados na forma

original;

• Cabeçalhos de Assunto: lista de termos pré-coordenados;

• Catalogação na Fonte: informações pré-existentes no documento.

Portanto, a importância do tesauro como recurso auxiliar num sistema de recuperação da

informação, aliado ao grande volume de dados existentes atualmente na Web, sugerem que

esta pode ser uma forma de organização viável de informações pertinentes a um domínio

específico, facilitando as buscas realizadas pelos usuários desse domínio. Uma outra aplicação

é o fornecimento de termos alternativos, expressando o mesmo conceito já definido no

tesauro.Tais termos podem ser utilizados para sugerir aos usuários um conjunto maior de

palavras que podem ser usadas em suas buscas na Web.

Porém, um tesauro apenas não é suficiente para expressar totalmente as restrições entre

os conceitos de um domínio. Tais restrições são possíveis quando agregadas ao vocabulário

organizacional de um tesauro, permitindo uma descrição mais completa da área de

conhecimento, ao qual denomina-se ontologia.

2.2 ONTOLOGIAS

Ontologia é um tema que tem sido estudado em diversas áreas como: Filosofia,

Linguagem e Cognição, Ciência da Informação e Ciência da Computação. Diferentes

definições podem ser encontradas para a ontologia, dependendo da área em que esse conceito

esteja sendo utilizado. Mesmo dentro de uma mesma área podem ser encontradas diferentes

definições. CORCHO (2003) ressalta que muitas definições têm sido criadas para ontologias e

que tais definições têm mudado e evoluído ao longo do tempo. Algumas definições são

apresentadas a seguir:

• Na área de Sistemas de Informação, é definida como um conjunto de conceitos e

termos que podem ser usados para descrever alguma área do conhecimento ou construir uma

representação para o conhecimento (SWATOUT, 1999).

Page 20: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

20

• Na área de Linguagem e Cognição: a ontologia refere-se a tudo que existe no mundo

composto por objetos, mudanças e relações entre eles. Pode ser baseada no mundo, na

mente/intelecto, na cultura ou na linguagem (DAHLGREN, 1995).

• Na área de Inteligência Artificial: GUARINO (1997) define ontologia como uma

caracterização axiomática do significado do vocabulário lógico. Já para SOWA (2000), a

ontologia define os tipos de coisas que existem ou podem existir em um mesmo domínio.

• Na área de Banco de Dados: conhecimento genérico que pode ser reusado em

aplicações de tipos diferentes (MEERSMAN, 2002).

Berners-Lee, considerado o pai da Web, prefere uma definição mais técnica: “ontologia é

um documento ou arquivo que formalmente define os relacionamentos entre termos”. Nota-se,

a partir desta definição, a preocupação em relacionar ontologias com o problema prático de

uso de ontologias na Web.

Uma das definições mais encontradas na literatura e cotadas pela comunidade de

ontologia é a de GRUBER (1993) que define ontologia como “a especificação explícita de

uma conceitualização”. OLIVEIRA (1999) acrescenta que apenas propor uma taxonomia ou

um conjunto de termos básicos não constitui uma ontologia. Axiomas devem ser acrescidos

para definir a semântica dos termos, especificando definições de termos na ontologia e

restrições sobre sua interpretação.

CORCHO (2003) comenta que a comunidade de ontologia distingue dois tipos principais

de ontologias: leves e pesadas. As ontologias leves incluem conceitos, taxonomia de

conceitos, relações entre conceitos e as propriedades que os descrevem. Neste sentido, os

tesauros podem ser considerados ontologias leves. Já as ontologias pesadas acrescentam

axiomas e restrições às ontologias leves.

Outras definições interessantes encontradas na literatura relacionam bases de

conhecimento e ontologias e estão mais fortemente relacionadas à sua forma de construção.

SWARTOUT (1997) descreve ontologia como um conjunto estruturado de termos para a

descrição de um domínio que pode ser usado como um esquema para uma base de

conhecimento. Por esta definição nota-se que uma mesma ontologia poderia ser usada para

construir várias bases de conhecimento. Já SCHREIBER (1995) descreve que uma ontologia

fornece o significado para descrever explicitamente a conceitualização por trás do

conhecimento representado em uma base de conhecimento. Esta aproximação segue uma

estratégia “bottom-up”, que abstrai de uma base de conhecimento a ontologia. Os métodos

para gerar ontologias podem, de forma geral, ser sumarizados em “bottom-up” (da

Page 21: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

21

especificação para a generalização), “top-down” (da generalização para a especificação) e

middle-out (dos conceitos mais importantes para a generalização ou especialização).

NOY (2001) esclarece que uma ontologia juntamente com um conjunto de instâncias de

conceitos constitui uma base de conhecimento. No entanto, afirma que uma linha tênue separa

estes conceitos, delimitando os pontos onde uma ontologia acaba e onde uma base de

conhecimento começa. Em (MAEDCHE, 2003) encontra-se um conjunto de propriedades que

objetivam caracterizar as diferenças entre base de conhecimento e ontologia. Estas idéias

podem ser visualizadas na TAB.2.1.

TAB.2.1 Diferenças entre ontologia e base de conhecimento

Ontologia Base de Conhecimento

Possui Conjunto de Declarações

Lógicas

Sim Sim

Tipo de Teoria Teoria Geral Teoria Circunstancial

Declarações são predominantemente Intencionais Extensões de idéias

Construção da Teoria No momento da

construção e

manutenção.

Baseada em mudança

contínua.

STAAB (2001) identifica o processo de construção de uma ontologia como sendo

ortogonal ao processo de construção do conhecimento. Segundo esse autor, ontologias

constituem o elo que liga os subprocessos de conhecimento, permitindo que seus itens sejam

ligados, combinados e usados. As ontologias fornecem a infra-estrutura que, de forma

coerente, une diferentes subprocessos que guiam o desenvolvimento e uso de aplicações de

gerenciamento do conhecimento.

BÉZIVIN (1998) enfatiza que as principais propriedades de uma ontologia são o

compartilhamento e filtragem. O compartilhamento se baseia em um acordo sobre o

entendimento comum de um conceito, ou seja, o uso de uma ontologia comum entre dois ou

mais agentes diferentes. A filtragem é vista sob o ponto de vista da abstração. Geralmente as

pessoas consideram modelos da realidade. Estes modelos, por definição, expressam somente

uma parte da realidade. A ontologia define o que poderia ser extraído dessa realidade

(características mais relevantes para aquele domínio do problema) de modo a se construir um

modelo para aquele sistema.

Page 22: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

22

Este autor comenta ainda que uma ontologia pode conter informações de diferentes

naturezas e, geralmente, possui três tipos de informação:

• Terminológica: conjunto de conceitos e relações entre esses conceitos;

• Axiomática: regras de inferência aplicadas aos conceitos e relações;

• Pragmática: informações adicionais sobre os conceitos, como por exemplo, a forma

de imprimir diferentes conceitos e relações de uma ontologia.

GUARINO (1997) classifica as ontologias em duas dimensões: nível de detalhe e nível

de dependência de uma tarefa particular ou ponto de vista. A primeira classificação mostra o

nível de profundidade na especificação de um vocabulário. Podem existir ontologias com

termos genéricos, expressando o consenso de uma maioria de pessoas que usam este

vocabulário e ontologias que detalham tais termos, através de termos específicos. No

segundo nível existem quatro tipos distintos: ontologia de alto-nível, ontologia de domínio,

ontologia de tarefa e ontologia de aplicação. Isto pode ser visto na FIG. 2.1.

Pode-se entender uma ontologia de alto-nível como uma descrição de conceitos

genéricos, tais como espaço, tempo, objeto, ação, etc., que são conceitos independentes do

domínio. Uma ontologia de domínio e uma ontologia de tarefa procuram descrever uma

conceitualização para um domínio genérico (automóveis, medicina, conferências, por

exemplo) ou uma tarefa genérica (diagnósticos, vendas, leitura de artigos, por exemplo),

especializando conceitos da ontologia de nível superior. Uma ontologia de aplicação

especifica conceitos da ontologia de domínio e da ontologia de tarefa para uma certa

atividade dentro desses domínios. Define regras a serem seguidas por conceitos do domínio

quando uma certa tarefa é realizada (avaliação de um artigo para uma conferência, por

exemplo).

FIG. 2.1: Classificação de ontologias (GUARINO, 1997).

Page 23: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

23

Outro ponto importante diz respeito às características desejáveis em uma ontologia.

HWANG (1999) comenta que é impossível construir uma ontologia suficientemente rica para

todos os fins e domínios, e cita cinco características desejáveis em uma ontologia:

• Aberta e Dinâmica: para se ajustar às mudanças e novos desenvolvimentos em um

domínio, uma ontologia deve ser aberta e dinâmica, tanto em termos de seus algoritmos

quanto da sua estrutura. Os sistemas deveriam ser capazes de “criar” conceitos com o mínimo

de ajuda humana;

• Escalável e Interoperável: deve ser facilmente escalável, considerando um domínio

amplo e adaptável a novos requisitos. Deve também ser possível integrar várias ontologias em

uma nova ontologia quando o tratamento de diferentes vocabulários conceituais é requerido;

• Fácil Manutenção: deve ter uma estrutura simples, limpa e modular para ser de fácil

entendimento pelas pessoas, o que facilita a sua manutenção;

• Semanticamente Consistente: o domínio a ser abordado deve guiar a escolha dos

termos escolhidos;

• Independente do Contexto: não deve conter termos muito específicos para não

tornar complexa a associação com as fontes de dados e futuras integrações com outras

ontologias.

USCHOLD (1996) destaca três categorias principais de uso para ontologias:

comunicação (entre pessoas e organizações), interoperabilidade (entre sistemas) e a

construção de sistemas (especificação, confiabilidade e reuso de componentes). Ele também

classifica o grau de formalidade usado na definição dos termos que podem ir de altamente

informal (linguagem natural), passando pela semi-informal (linguagem natural restrita e

estruturada de forma a reduzir ambigüidades) e semiformal (linguagem artificial definida

formalmente) até chegar ao rigorosamente formal (termos definidos meticulosamente através

de semântica formal, teoremas e provas de propriedades, tais como validade e completeza).

2.3 TESAURO VERSUS ONTOLOGIA

Na literatura, o termo tesauro é freqüentemente confundido com ontologia. O tesauro

pode ser utilizado como uma ferramenta de apoio à construção de ontologias no que se refere

à informação terminológica, ou seja, a informação associada ao conjunto de conceitos e

relações existentes entre esses conceitos. O desenvolvimento de uma ontologia deve basear-se

Page 24: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

24

numa metodologia bem definida de forma a permitir sua construção, recuperação e

compartilhamento. Neste sentido, os tesauros são de especial importância na constituição

terminológica de uma ontologia, pois são construídos objetivando a organização, acesso e

recuperação de informação com termos de um determinado domínio. Porém, um tesauro não

permite o armazenamento de regras de inferência e nem tão pouco é construído para o

armazenamento de informações pragmáticas, como, por exemplo, desenhar um conceito na

tela ou no papel na forma de um quadrado com cantos arredondados. A TAB. 2.2, mostra a

representação alfabética do trecho de um tesauro.

Neste ponto é importante levar em consideração o conceito de Lógicas de descrição.

Lógicas de descrição (description logics) ou LDs são uma família de linguagens de descrição

de conhecimento que podem ser usadas para descrever o conhecimento de um domínio de

maneira estruturada e bem formada. As lógicas de descrição são candidatas ideais para as

linguagens de ontologias (BAADER, 2003).

TAB. 2.2: Trecho de um tesauro usando a representação alfabética

Curso

TR (Termo Relacionado) Professor

Pessoa NE (Nota de Escopo) ser na sociedade, seja ele humano ou representativo.

TE (Termo Específico) Professor

Professor

TG (Termo Genérico) Pessoa

TR (Termo Relacionado) Curso

SN (Sinônimo) Mestre

As LDs utilizam um formalismo para descrição de conceitos atômicos (predicados

unários ou C) e papéis atômicos (predicados binários ou R). Os construtores em geral estão

associados à teoria dos conjuntos, como por exemplo o construtor conjunção ( ח ), que

equivale à interseção de conjuntos, ou o construtor negação ( ¬ ), equivalente ao complemento

de conjuntos. Existem também os construtores de restrição existencial (∃ R.C), os construtores

de restrição de valor ( ∀ R.C )e os construtores de restrição de número ( ≥n R ).

Um exemplo simples pode ilustrar uma descrição:

Pessoa ח ∃ ministra.Curso,

que representa o conceito de “pessoa que ministra um curso”.

Page 25: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

25

Pode-se nomear esse conceito de Professor. Observe que o tesauro não afirma isso

explicitamente, apenas relaciona o termo professor com o termo curso. Aqui, tem-se: um

conceito (Pessoa), e um papel (ministra), que é um predicado binário, pois relaciona Pessoa a

outro conceito Curso.

As LDs também utilizam um formalismo terminológico e de afirmações. Pode-se criar

axiomas terminológicos, a exemplo de:

∃ ministra.Curso ⊆ Professor,

que restringe ministra Curso ao conceito de Professor, isto é, apenas professores podem

ministrar curso.

Também há o formalismo afirmativo, para afirmações sobre indivíduos:

Professor(ANA MARIA), ministra(ANA MARIA, BANCO DE DADOS)

O ponto mais interessante das lógicas descritivas é a capacidade de inferência e deduti-

bilidade, que são características desejáveis em linguagens de descrição de ontologias. DING

(2002) concorda que uma ontologia acrescenta valor ao tesauro tradicional, enriquecendo

relacionamentos entre classes e conceitos, conjunção e disjunção de várias classes e conceitos,

formulação de regras de inferência, entre outros. O mesmo autor afirma que um tesauro não

trata de dados descritivos como: título, autor, editor, etc.

Como pode ser visto nos exemplos, as lógicas de descrição são mais expressivas que um

tesauro e se encaixam naquilo que se deseja de uma ontologia. Pode-se considerar um tesauro

como uma ontologia leve, ou ainda que uma ontologia suporta um tesauro, porém um tesauro

não suporta uma ontologia.

O processo de criação de um tesauro gera um conjunto consistente de termos e

relacionamentos de um domínio específico. Por este motivo, justifica-se o seu uso como base

importante de uma ontologia, ao invés de partir da difícil e demorada tarefa de selecionar os

termos e seus relacionamentos. Além disso, o seu uso permite estabelecer uma forte base para

a criação de uma ontologia, já que este é calcado no estudo dos termos feitos por

pesquisadores de um domínio específico e, de certa forma, aceito pela comunidade daquele

domínio.

Outros termos freqüentemente confundidos na literatura são ontologia e metadados.

MEERSMAN (2002) discute essa diferença e define metadados como a representação da

estrutura e integridade entre elementos de dados de uma aplicação específica. Este autor

define ontologia como um conhecimento genérico que pode ser reusado em aplicações de

Page 26: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

26

tipos diferentes. Estas considerações indicam uma separação clara entre os objetivos dos

metadados e das ontologias.

2.4 TECNOLOGIAS PARA REPRESENTAÇÃO E USO DE ONTOLOGIAS

A Web Semântica ainda não é uma realidade. De fato, ainda exite um longo caminho a

ser percorrido. Para alcançar esse objetivo, o W3C vem desenvolvendo diferentes tecnologias.

Atualmente, pode-se destacar:

• O Extensible Markup Language (XML, 1998), que provê a sintaxe para documentos

estruturados, mas sem qualquer imposição de restrições semânticas ao significado dos

documentos;

• O Extensible Markup Language Schema (XML SCHEMA, 2001) que restringe a

estrutura de um documento XML;

• O Resource Description Framework (RDF, 1999) que é um modelo de dados para

descrever recursos e as relações entre eles, também baseado na sintaxe XML;

• O Resource Description Framework Schema (RDF SCHEMA, 1999), um vocabulário

para permitir a descrição de propriedades e classes, embora com alguma expressividade

limitada.

• O Ontology Web Language (OWL), originado a partir da linguagem DAML-OIL, que

acrescenta vocabulário e definições mais formais para a descrição de ontologias, tais como

relações entre classes, cardinalidade, igualdade, tipos de propriedades complexos, etc. A

OWL é proposta pelo W3C como um padrão de linguagem ontológica e atualmente apresenta

o status de recomendação (OWL, 2003).

Esta seção tem por objetivo fazer uma apresentação geral das tecnologias relacionadas à

área de ontologia na Web, onde é possível destacar as linguagens de descrição de ontologias

DAML-OIL (CONNOLLY, 2001), e OWL, assim como as ferramentas utilizadas para

construção das mesmas, a exemplo de OIL-EDIT, PROTEGÉ e KAON.

2.4.1 LINGUAGENS

2.4.1.1 RDF E ESQUEMA RDF

Resource Description Framework (RDF, 1999) é um modelo para representação de

recursos na Web que utiliza o XML como sintaxe de intercâmbio. O RDF utiliza os conceitos

Page 27: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

27

de recurso, propriedade e valor para representar associações entre recursos na Web. Além

disso, permite definir coleções de recursos, podendo expressar, por exemplo, que um trabalho

foi feito por mais de uma pessoa ou por uma lista de estudantes em um curso. As coleções

RDF são usadas para manter tais listas de recursos ou literais. As coleções podem ser de três

tipos: Bag, Sequence e Alternative, onde Bag e Sequence permitem valores duplicados. O

RDF não permite definir um conceito central de Set (Bag sem duplicações), já que o RDF não

fornece em seu modelo um mecanismo que obrigue o cumprimento dessa regra no caso de

violação de tais restrições.

O Esquema RDF (RDF SCHEMA, 1999) define um sistema de tipos básicos para

modelos RDF. Permite alguns tipos de restrições tais como valores possíveis que podem ser

usados com um predicado ou especificar quais predicados podem ser usados com quais tipos

de recursos. No entanto, algumas restrições não podem ser atendidas como, por exemplo: se

uma pessoa possui informação de telefone em seu metadado, então ela também deve ter um

endereço.

O Esquema RDF não consegue expressar toda a semântica associada ao documento,

fazendo somente a sua descrição no nível estrutural. O esquema RDF define o significado da

estrutura usando os tags estabelecidos em seu modelo. Neste modelo não foram previstos

mecanismos para dedução de novas relações existentes no mundo, necessárias para descrever

determinadas propriedades, tais como inferência e associações lógicas, tais como:

transitividade, simetria, etc. Por exemplo, se uma “pessoa” é “membro” da “organização 1” e

a “organização 1” é uma “filial” da “organização 2” e a “pessoa” “não é membro” de

“nenhuma outra organização”, então a pessoa é membro da “organização 2”. Portanto, notou-

se a necessidade de linguagens mais ricas, que permitissem expressar associações de caráter

semântico entre conceitos. Com o objetivo de suprir tais deficiências, algumas iniciativas do

W3C levaram ao desenvolvimento de linguagens de representação de ontologias, a exemplo

de DAML-OIL e OWL, descritas brevemente a seguir.

2.4.1.2 LINGUAGEM DAML+OIL

DAML-OIL é uma linguagem de representação de ontologia criada com o objetivo de

expressar a semântica de um documento baseado em sua descrição lógica, descrevendo

relacionamentos entre objetos (CONNOLLY, 2001). A linguagem DAML+OIL estende o

RDF e o esquema RDF, herdando muitas características da linguagem OIL (FENSEL, 2001).

Page 28: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

28

No processo de pesquisa de uma linguagem de ontologia para a Web Semântica, o

RDF/RDFS se tornou padrão de sintaxe, já que estava sendo bem aceito e usado para outras

atividades. Em meados da década de 90, dois grandes projetos se iniciaram paralelamente, o

OnToKnowledge (http://www.ontoknowledge.org) e o DAML (http://www.daml.org),

financiado pela agência de projetos de defesa americana, DARPA (Defense Advanced

Research Projects Agency), com o objetivo principal de definir linguagens, ferramentas, e

aplicações para a Web Semântica.

O primeiro resultado do projeto OnToKnowledge foi o OIL, ou Ontology Inference

Layer. O OIL é uma proposta de linguagem baseada na Web para representação e inferência

de ontologias, que combina primitivas de modelagem das linguagens baseadas em frames

com funcionalidades fornecidas pela lógica de descrições. Inicialmente, a linguagem foi

desenvolvida com uma sintaxe simples, sem nenhuma ligação com a Web, sendo que com o

tempo passou a se encaixar no padrão RDF/RDFS.

Nos sistemas baseados em frames, as primitivas principais do modelo são classes (ou

frames) com certas propriedades chamados atributos. Muitos sistemas e linguagens baseados

em frames têm surgido e têm sido renomeados como orientados a objetos (FENSEL, 2001).

Com esta combinação, a linguagem OIL usufrui tanto dos benefícios da representação por

frames quanto da lógica de descrições, a qual fornece a semântica formal para o conhecimento

armazenado e o mecanismo de inferência sobre o mesmo.

Enquanto isso, a pesquisa do DAML também se baseava nessa sintaxe e adicionava

conceitos semelhantes ao OIL, como classe, restrições locais, e outras construções inerentes

das lógicas de descrições. Um esforço foi realizado para a união de experiências e

características de ambas as linguagens, a OIL e a DAML. O resultado final desse esforço foi a

especificação chamada DAML+OIL. A comparação entre os construtores da linguagem

DAML-OIL e a sintaxe de LD pode ser vista na TAB. 2.3.

Page 29: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

29

TAB. 2.3: Construtores DAML-OIL

(BAADER, 2003)

A linguagem DAML-OIL consiste de um conjunto de axiomas, sumarizados na TAB.

2.4. Estes axiomas tornam possível estabelecer, entre outros:

• Classificações ou equivalências com respeito a classes ou propriedades

• Disjunções de classes

• Equivalência ou não equivalência de recursos individuais

• Propriedades de propriedades (unique, unambiguous, transitive)

TAB. 2.4: Axiomas DAML-OIL

(BAADER, 2003)

Page 30: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

30

A linguagem DAML-OIL divide o universo em duas partes disjuntas: domínio de objeto

e domínio de tipo de dado. Sua sintaxe consiste de um ou mais objetos do tipo: headers,

class elements, property elements e instances (CONNOLLY, 2001). As instâncias de classes e

de propriedades DAML+OIL são escritas através da sintaxe RDF. Pode-se considerar que

DAML+OIL estende RDF, como pode ser visto na FIG. 2.2.

FIG. 2.2: A DAML-OIL estende RDF

Esta linguagem combina os méritos da descrição lógica, lógica formal e padrões Web

(DING, 2002). DEAN (2002) acredita existir uma certa tensão entre o uso de restrições para

validações versus o uso em “oportunidades de inferências”. De fato a linguagem favorece o

uso de inferências. Por exemplo, quando se especifica que toda pessoa tem dois pais, podem

existir instâncias em uma base de conhecimento que não satisfaçam essa restrição. Dessa

forma, pode-se usar a restrição para inferir quais instâncias da base de conhecimento são

pessoas.

2.4.1.3 OWL

OWL (OWL, 2003) é uma linguagem de marcação semântica para publicação e

compartilhamento de ontologias da internet. É a linguagem recomendada atualmente pelo

W3C (http://www.w3.org/News/2003#item203).

Ela é derivada da linguagem DAML-OIL e construída sobre o RDF. Sua sintaxe tem

poucas diferenças em relação à sintaxe DAML-OIL, podendo se destacar a remoção da

restrição do número de qualificadores e a habilidade de declarar diretamente que propriedades

podem ser simétricas.

Assim como a DAML-OIL, a sintaxe da linguagem OWL consiste de objetos do tipo:

headers, class elements, property elements e instances. A OWL é subdividida em três

Page 31: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

31

linguagens: OWL Lite, OWL DL, e OWL Full. A OWL Lite é um subconjunto da OWL DL,

que é subconjunto da OWL Full, e qualquer OWL Lite é uma ontologia OWL DL. Qualquer

ontologia OWL DL é uma ontologia OWL Full.

A OWL Lite é específica para necessidades básicas dos usuários, com restrições simples.

Cardinalidade é suportada apenas com valores 0 ou 1. A OWL Lite é a mais simples a ser

implementada, e pode ser uma boa alternativa para migração de tesauros e taxonomias.

A OWL DL e OWL Full têm o mesmo vocabulário (um superconjunto da OWL Lite),

mas diferem nas restrições à linguagem. A OWL DL impõe a separação de tipos (uma classe

não pode ser uma propriedade ou uma instância, e uma propriedade não pode ser uma classe

ou uma instância). Portanto, restrições não podem ser aplicadas aos elementos da própria

linguagem. Já na OWL Full, essas flexibilidades são permitidas. Outra diferença básica é que

na OWL DL tem-se a distinção entre tipos de dados e objetos.

As propriedades são ou ObjectProperties ou DatatypeProperties. A intenção da definição

da OWL DL é deixá-la o mais próximo de uma lógica de descrição para o aproveitamento de

todas as ferramentas e implementação relacionadas a esse campo de pesquisa.

2.4.2 FERRAMENTAS PARA O DESENVOLVIMENTO DE ONTOLOGIAS

A seguir serão descritas algumas ferramentas para o desenvolvimento de ontologias

existentes atualmente. Serão abordadas as características mais importantes dessas ferramentas,

sendo que ao final é apresentado um quadro comparativo das mesmas.

2.4.2.1 PROTÉGÉ-2000���

É um projeto desenvolvido na Universidade de Standford, Estados Unidos, pelo

Departamento de Informática Médica da Escola de Medicina (SMI - Stanford Medical

Informatics). Tem por objetivo permitir a interoperabilidade com outros sistemas de

representação do conhecimento, além de ser extensível.

É um ambiente de edição de base de conhecimento compatível com OKBC (Open

Knowledge-Base Connectivity protocol), protocolo que facilita a interoperabilidade por prover

uma API (Application Program Interface) que serve como uma interface de consulta e

construção comum para sistemas baseados em frames.

Page 32: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

32

O Protégé (PROTÉGÉ, 2000) usa a linguagem PAL (Protégé Axiom Language), baseada

em lógica de primeira ordem, que é uma variante da linguagem KIF (Knowledge Interface

Format). A linguagem KIF foi desenvolvida em 1990 como uma sintaxe padrão para lógica

de primeira ordem (GENESERETH, 1998).

Uma ontologia Protégé consiste de:

• Classes: são conceitos no domínio de discurso, que constituem uma hierarquia

taxonômica;

• Slots: descrevem propriedades de classes e instâncias;

• Facets: descrevem propriedades de slots, sendo uma forma de especificar restrições

(constraints) nos valores de slots;

• Axiomas: especificam regras adicionais.

Esse ambiente permite a importação e exportação de representações em formato texto,

RDF Schema e bases de dados através do JDBC, usando a arquitetura de metaclasse (extensão

do OKBC) que permite o uso de modelos de conhecimento diferentes do existente no Protégé.

Metaclasse (classe cujas instâncias são também classes) é um modelo (template) usado para

definir novas classes em uma ontologia. Além disso, permite a especificação de herança

múltipla e classes abstratas. A FIG. 2.3 mostra o layout da interface do Protégé. Na janela

superior esquerda é possível selecionar a classe desejada, pois na mesma aparecem as classes

da ontologia e sua hierarquia. Na janela inferior esquerda, estão destacadas as superclasses da

classe selecionada. Na janela à direita aparecem detalhes da classe selecionada como seu

nome, restrições (constraints), descrição (documentation) e propriedades (slots). As

propriedades (Slots), instâncias (Instances) e formulários padronizados para o preenchimento

de instâncias (Forms) podem ser acessados através de abas na parte superior da FIG. 2.3.

Page 33: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

33

FIG. 2.3: Interface da ferramenta Protege

2.4.2.2 OILED

OilEd (BECHHOFER, 2002) é um editor de ontologias que permite ao usuário construir

ontologias usando DAML-OIL, desenvolvido pelo Information Management Group da

Universidade de Manchester, Inglaterra. As versões atuais não fornecem um ambiente

completo de desenvolvimento de ontologias, já que não suportam migração, integração,

versionamento, ontologias extensas, entre outras características desejáveis para o suporte a

ontologias. Uma característica interessante do OilED é o uso de serviços de raciocínio para

verificar a consistência dos conceitos na ontologia e inferir sobre associações implícitas. Os

serviços de raciocínio são proporcionados pelo sistema FaCT (Fast Classification of

Terminologies), um classificador de lógica de descrição que também pode ser utilizado para

testes de verificação de modelos lógicos, além de possuir arquitetura cliente-servidor baseada

em CORBA (BECHHOFER, 2001). O sistema FaCT inclui dois raciocinadores:

Page 34: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

34

• para a lógica descritiva SHFSHFSHFSHF (S4 with transitive roles, role Hierarchies and Functional

Restrictions): semelhante à lógica ALC ALC ALC ALC (Attributive concept description Language with

Complements), acrescida de funções transitivas, funcionais e hierárquicas (HORROCKS,

1998);

• para a lógica descritiva SHIQSHIQSHIQSHIQ (SHF augmented with Inverse roles and Qualified

number restrictions): semelhante à lógica SHFSHFSHFSHF, acrescida de funções inversas (HORROCKS,

1999). A linguagem de lógica descritiva SHIQSHIQSHIQSHIQ se destaca por permitir a construção de papéis

bastante expressivos, ao invés de se concentrar apenas nas construções de conceitos.

Para a realização do processo de raciocínio, o usuário conecta o OilEd ao raciocinador e

requer a verificação da ontologia. O sistema FaCT possui máquinas de raciocínio tanto para

bases de conhecimento SHIQSHIQSHIQSHIQ, quanto SHFSHFSHFSHF. No momento do pedido de verificação, a ontologia

é traduzida para seu equivalente nas bases de conhecimento fornecidas pelo FaCT. Em

seguida, são enviadas as bases para o raciocinador realizar a classificação. A seguir, o OilEd

consulta a base de conhecimento classificada, na procura por conceitos inconsistentes e pela

criação de relações implícitas. O sistema não oferece nenhuma explicação a respeito de suas

inferências. Assim, o FaCT realiza a classificação de conceitos em uma ontologia por meio da

utilização de lógica de descrição, sem a preocupação de descrever ao usuário os processos que

foram realizados para atingir seus resultados. O layout da interface do OilEd é mostrado na

FIG. 2.4. Na janela à esquerda desta interface são mostradas as classes da ontologia. Esta

janela também permite o acesso à hierarquia das classes, com a aplicação de dois cliques do

mouse, e a busca de elementos dessa ontologia (botão Find). As classes que apresentam

inconsistências nos seus dados, verificadas atraves do FaCT, são destacadas em cor vermelha

nesta janela. Na janela da direita são mostrados os detalhes da classe selecionada, tais como

nome, propriedades (properties), descrição (documentation), a classe a qual é subordinada

(classes) e restrições(restrictions). No caso, a FIG. 2.4 mostra o conceito “EMPLOYEES”

sendo definido como uma subclasse de “Social-Role”. “EMPLOYEES” tem como restrição o

relacionamento com “JOBS5” através da propriedade “PARTICIPANT_IN”. Isto significa que

as instâncias (Individuals) de “EMPLOYEES” têm que estar relacionadas a “JOBS5” através

da propriedade “PARTICIPANT_IN”.

Page 35: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

35

FIG. 2.4: Interface da ferramenta OilEd

Através das abas apresentadas na parte superior da FIG. 2.4 é possível editar as

propriedades (Properties), instâncias (Individuals) e Axiomas (Axioms) das classes. Além

disso, é possível acessar as ontologias tratadas pelo editor (Container), editar namespaces

usados dentro das ontologias (Namespaces) e incluir ontologias já existentes (Imports).

2.4.2.3 KAON OI-MODELER

O OI-Modeler (MAEDCHE, 2002) é um dos componentes da arquitetura KAON (KAON

, 2003) que permite a edição de ontologias, permitindo a edição das ontologias no modelo

RDF/RDFS estendido. Estas extensões compreendem o acréscimo de: uma camada léxica,

além de propriedades inversas, transitivas e simétricas.

A ontologia KAON consiste de conceitos, propriedades e instâncias. Estes elementos

podem ser agrupados e manipulados em unidades reutilizáveis chamadas OI-models

Page 36: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

36

(ontology-instance models). A divisão entre conceitos e instâncias não é rigorosa, sendo que

um conceito ou propriedade pode ser interpretado como uma instância, dependendo do ponto

de vista do observador. O OI-modeler permite a importação de outros modelos e, dessa forma,

tem-se acesso a todas as definições do modelo incluído. O novo modelo gerado passa então a

ser dependente do modele incluído. O layout da interface do OI-Modeler pode ser visto na

FIG. 2.5.

Na janela superior esquerda (Gráfico) são mostrados as classes, propriedades e conceitos

da ontologia na forma de um gráfico. É possível editar qualquer desses elementos através da

aplicação de cliques do mouse sobre o mesmo. A janela inferior esquerda (Inspetor) permite

visualizar as características do elemento da ontologia selecionado no gráfico, tais como

propriedades, superclasses, subclasses. Na janela superior direita (OI-Models Incluídos) é

possível visualizar e importar outros modelos KAON contendo ontologias. Na janela central

esquerda, é possível realizar consultas sobre as ontologias, utilizando a linguagem de consulta

KAON (ver APÊNDICE 1). Na janela inferior esquerda (Área de Transferência), elementos

da ontologia podem ser armazenados temporariamente.

FIG. 2.5: Interface da ferramenta OI-Modeler do framework KAON

Page 37: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

37

Mudanças em ontologias podem corromper instâncias e ontologias dependentes. O OI-

modeler possui a opção de definir uma estratégia no caso de mudanças em ontologias, como

por exemplo, a deleção de conceitos. Além disso, permite a manutenção de um log de

evolução que salva todas as mudanças realizadas no desenvolvimento e evolução de uma

ontologia. A tela de configuração da estratégia de evolução é mostrada na FIG. 2.6.

FIG. 2.6: Configuração da estratégia de evolução de ontologias

2.4.3 COMPARAÇÃO DOS EDITORES DE ONTOLOGIAS

Esta seção tem por objetivo realizar a comparação das principais características dos

editores de ontologia vistos anteriormente. Como visto na tabela 2.5, cada uma das

ferramentas apresentadas possuem pontos fortes e fracos que podem ser destacados. O

Protégé se destaca por utilizar a linguagem PAL, baseada em lógica de primeira ordem. Além

disso permite a inclusão de axiomas e verificações de consistências, através de plugins. Tem

como pontos fracos não permitir o suporte a vários usuários simultaneamente, a integração de

ontologias e um fraco suporte para a Web. O OilED, com sua ontologia descrita em DAML-

OIL, pode ser ressaltado pelos serviços de raciocínio proporcionados pelo sistema FaCT.

Apresenta como pontos negativos a falta de suporte a múltiplos usuários simultaneamente, o

Page 38: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

38

fraco suporte léxico e a impossibilidade de migração ou integração de ontologias. O OI-

Modeler pode ser destacado por possuir um bom suporte léxico multilingüe (sinônimos,

descrições, labels, termos derivados) suporte a múltiplos usuários concorrentemente,

possibilitar o reuso de ontologias em novas ontologias, além da extração de informações de

documentos, através da ferramenta TEXT-TO-ONTO do framework KAON. Apresenta como

ponto fraco a impossibilidade de descrever axiomas, somente permitindo as propriedades

simétrica, transitiva e inversa na criação de inferências.

TAB. 2.5: Comparativo entre os editores discutidos

Ferramenta Protégé OilEd KAON OI-Modeler

Versão Atual 1.9 (2.0 versão

Beta)

3.5 1.2

Tipo de

Licença

GPL (General

Public License)

GPL GPL

Desenvolvedor Universidade de

Standford, Estados

Unidos.

Universidade de

Manchester,

Inglaterra.

Universidade de Karlsruche,

Alemanha.

Linguagem

Nativa

Modelo OKBC DAML-OIL RDF/RDFS + extensões

proprietárias

Suporte Web Namespaces

limitados (pode ser

executado como

applet ou acessado

através de servlets)

URIs RDF;

Namespaces

limitados; XML

Schema limitado.

Consultas a ontologias via

KAON Portal, um dos

módulos do framework KAON

Formatos de

Importação/

Exportação

RDFS; XML

Schema; DAML-

OIL, OWL

RDFS; SHIQ RDFS

Verificação de

Consistência

Plugins para somar

e testar restrições de

axiomas (PAL).

FaCT Configuração da estratégia de

evolução de ontologias

Suporte Multi-

usuário

Não Não Controle de acesso

concorrente, via APIs KAON.

Merging de Não Não Múltiplas ontologias podem

Page 39: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

39

ontologias ser importadas e seus termos

reutilizados na nova ontologia.

Suporte

Léxico

Plugin Word-net Somente sinônimos Representação léxica explícita

no modelo. Sinônimos,

palavras derivadas, suporte

multilingüe.

Extração de

Informações

Não Não Ferramenta TEXT-TO-ONTO

que extrai ontologias semi-

automaticamente.

2.5 CONSIDERAÇÕES FINAIS

No contexto do presente trabalho pretende-se utilizar uma ontologia que auxilie na

representação, organização e recuperação de informações no ambiente Web. Assim, uma

ontologia pode ser vista como uma taxonomia ou classificação, acrescida do relacionamento

entre os termos dessa taxonomia e de um conjunto de regras de inferência. A taxonomia

define as classes de objetos e suas relações, e as regras de inferência determinam como essa

taxonomia deve ser aplicada. A aplicação de ontologias permite definir a forma de

compartilhamento de conhecimento entre os seus usuários e determinar como o entendimento

comum de um domínio pode ser estabelecido entre pessoas e sistemas de aplicação, levando

em consideração a semântica embutida nas associações definidas entre os conceitos da

ontologia, a exemplo das propriedades inversas, transitivas e simétricas.

Neste trabalho serão construídas duas diferentes ontologias com finalidades distintas. A

ontologia de domínio, baseada num tesauro, fornecerá a base de termos utilizada pela

ferramenta tanto na busca quanto na organização do conhecimento a ser armazenado. Esta

ontologia contém os conceitos, propriedades e instâncias referentes ao domínio de Ciência da

Informação. Contém também os relacionamentos e a hierarquia entre os conceitos. Os

relacionamentos correspondem às propriedades, tendo como pontos de destaque as

propriedades transitivas, inversas e simétricas. A outra ontologia desenvolvida armazenará

informações importantes sobre os usuários do portal, tais como dados pessoais, classificação

do nível de experiência do usuário em um determinado domínio, e suas categorias preferidas.

Isto será discutido em mais detalhes no capítulo 5.

Page 40: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

40

O uso separadamente de uma ontologia de domínio e de uma ontologia do portal permite,

ao mesmo tempo, compartilhar o conhecimento comum, bem como tratar problemas

específicos dos usuários do portal e dos domínios que esse portal acessa de modo

independente.

Page 41: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

41

3 PORTAIS

Há cerca de seis anos, o que hoje é chamado de portal era conhecido como máquina de

busca, cujo objetivo era facilitar o acesso às informações contidas em documentos espalhados

pela internet. Inicialmente, as máquinas de busca possibilitavam ao usuário da internet

localizar documentos a partir de pesquisas booleanas e navegação associativa entre links.

Para reduzir ainda mais o tempo de busca na internet e auxiliar os usuários menos

experientes, vários sites de busca incluíram categorias, isto é, passaram a filtrar sites e

documentos em grupos pré-configurados de acordo com seu conteúdo: esportes,

meteorologia, turismo, finanças, notícias, cultura etc. O passo seguinte foi a integração de

outras funções, como por exemplo, as comunidades virtuais e suas listas de discussão, chats

em tempo real, possibilidade de personalização dos sites de busca (My Yahoo!, My Excite,

etc.) e acesso a conteúdos especializados e comerciais. Essa nova concepção de máquina de

busca passou a ser chamada de Portal.

Este capítulo tem por objetivo apresentar os diferentes tipos de portais, suas arquiteturas e

o seu relacionamento com as ontologias. Inicialmente serão apresentados os diferentes tipos

de portais existentes, e em seguida serão analisados, com maior profundidade, os portais

semânticos.

3.1 CONCEITUAÇÃO

TOLEDO (2002) considera os portais corporativos como ferramenta para a gestão do

conhecimento, fundamentada na noção de conhecimento tácito e explícito, usada por

NONAKA (1997). Segundo este autor, o conhecimento é definido de duas formas: tácito e

explícito, para o qual a chave da criação de conhecimento está na mobilização e conversão do

conhecimento tácito. O conhecimento explícito e o conhecimento tácito são as unidades

estruturais básicas que se complementam, sendo a interação entre elas a principal dinâmica de

criação do conhecimento organizacional.

O conhecimento explícito pode ser expresso em palavras e números, e é facilmente

processado, comunicado e compartilhado sob a forma de dados brutos, fórmulas científicas,

procedimentos codificados ou princípios universais.

Page 42: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

42

O conhecimento tácito é derivado da experiência pessoal, crenças e valores. O

processamento de informações pelo cérebro humano produz o conhecimento tácito, que, por

sua natureza, é difícil de ser formulado e comunicado.

A essência do modelo de NONAKA consiste em dividir o processo de criação do

conhecimento em quatro modos de conversão:

• Socialização – conversão de conhecimento tácito em conhecimento tácito;

• Externalização – conversão de conhecimento tácito em conhecimento explicito;

• Combinação – conversão de conhecimento explícito em conhecimento explícito;

• Internalização – conversão de conhecimento explícito em conhecimento tácito.

Os portais contribuem na Socialização, na medida em que facilmente lidam com material

multimídia que simula a comunicação face-a-face, ambiente ideal para a transmissão desse

conhecimento. Os grupos de discussão, existentes num portal, podem apoiar o processo de

Externalização, ao esclarecer o que era originalmente confuso e obscuro. A Combinação é a

transformação de conhecimento explícito individual em conhecimento explícito para o grupo.

Ela pode ser realizada através do compartilhamento de documentos, envio de e-mails e

treinamento oferecido dentro desse ambiente. Sistemas de busca, categorização e

personalização são ferramentas valiosas no processo de Internalização, pois permitem um

processo iterativo de experimentação do conhecimento explícito, o que possibilita a

aprendizagem e a criação do conhecimento tácito.

Segundo (TOLEDO, 2002), os portais atualmente podem ser classificados, com relação

ao contexto de sua utilização, em: portais públicos e portais corporativos; e, com relação às

suas funções, em: portais com ênfase em suporte à decisão, portais com ênfase em

processamento colaborativo e portais de suporte à decisão e processamento

colaborativo.

De acordo com o contexto de utilização, tem-se:

• Portal público: também conhecido por portal Web, portal internet ou portal de

consumidores, provê ao usuário uma única interface à imensa rede de servidores que

compõem a internet. Sua função é atrair o público em geral que utiliza a internet,

estabelecendo um relacionamento com seus visitantes e constituindo-se em uma mídia

adicional para o marketing de produtos;

• Portal corporativo: pode ser considerado como uma evolução das intranets,

incorporando novas tecnologias que possibilitam identificação, captura, armazenamento,

Page 43: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

43

recuperação e distribuição de grandes quantidades de informações de múltiplas fontes,

internas e externas, para as pessoas e equipes de uma organização.

• De acordo com as funções, tem-se:

• Portais com ênfase em suporte à decisão: auxiliam executivos, gerentes e analistas a

acessar as informações corporativas para a tomada de decisões;

• Portais com ênfase em processamento colaborativo: lidam com informações tanto da

cadeia produtiva tradicional, armazenadas e manipuladas por aplicativos corporativos, quanto

com informações geradas por pessoas ou grupos fora dessa cadeia;

• Portais de suporte à decisão e processamento colaborativo: sendo os mais

abrangentes, conectam os usuários a todas as informações e pessoas necessárias para a

realização de seus negócios. São consolidados, em um mesmo ambiente, aplicativos de

gerenciamento de conteúdo, processamento de decisões, groupware, workflow, correio

eletrônico, business intelligence, sistemas especialistas, etc.

Já GURUGE (2003), classifica os portais de acordo com o espectro de assuntos que o

portal aborda (FIG. 3.1). Quando cobrem um amplo espectro de tópicos de interesse geral, são

chamados de portais horizontais, enquanto aqueles que tratam de assuntos específicos e bem

delimitados podem ser chamados de portais verticais ou “Vortals”. Pelas suas características

intrínsecas de relacionamento aos processos das corporações que representam, os portais

corporativos são classificados como portais verticais. Já nos casos dos portais públicos, isto

pode variar de acordo com a finalidade do portal. O autor subdivide ainda os portais

corporativos de acordo com o tipo de acesso fornecido ao público, sendo estes: abertos ao

público e privados. Os portais privados, por sua vez, são subdivididos em portais que

permitem acesso somente a funcionários da corporação, através de intranets, e portais que

permitem acesso a corporações parceiras, através de extranets.

Deve ficar claro que cada portal, seja ele público ou privado, tem suas funções ditadas

pelas necessidades e propósitos que seus grupos de usuários objetivam alcançar. ECKERSON

(1999) destaca que os portais corporativos sofreram um desenvolvimento maior e mais

acelerado que os portais públicos até 1999. Atualmente os portais públicos vêm recebendo

atenção especial, principalmente por iniciativas de governos de diversos países que observam

um grande potencial na automação de diversos serviços oferecidos aos seus cidadãos. O

Brasil tem se esforçado no sentido de acompanhar este rápido desenvolvimento, oferecendo

serviços de governo eletrônico a nível nacional (E-GOV, 2003), estadual (FIRJAN, 2003a) e

municipal (FIRJAN, 2003b). O principal desafio agora é a integração e divulgação desses

Page 44: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

44

serviços, de forma coerente e sem impacto para os seus usuários. Nota-se neste ponto, que a

ontologia pode contribuir em muito para superar esse desafio, pois uma de suas funções é o

compartilhamento de informações.

FIG. 3.1: Classificação de Portais (GURUGE, 2003).

MESQUITA (2001) destaca que os portais corporativos também estão evoluindo

rapidamente no Brasil, onde se pode destacar o ComprasNET. “O ComprasNet realiza

pregões eletrônicos, cotações (compras de até oito mil reais), pregão presencial e simulações

para os cerca de 140 mil fornecedores de bens e serviços comuns cadastrados hoje – como

empresas vendedoras de material de escritório, computadores e mobiliário. Entre os serviços

oferecidos está o de informações por celular sobre a abertura e o andamento de licitações,

além do aviso via e-mail de pagamentos que devem ser mantidos em dia para que a empresa

possa participar das licitações. Existe também uma seção para consultas de informações gerais

abertas à sociedade. Ao contrário de tantos portais que pouco sobreviveram às custas de muita

publicidade, afundando com a ressaca da internet, o ComprasNet é uma iniciativa efetiva

porque reúne ferramentas tecnológicas de futuro. Dispositivos que são úteis e indispensáveis

para a redução de custos, simplificação dos processos e saúde dos negócios. Afinal, o sucesso

da empresa depende da vida longa e da funcionalidade das tecnologias aplicadas”

(MESQUITA, 2001).

Page 45: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

45

3.2 ARQUITETURA DOS PORTAIS

O portal serve como um ponto único de acesso e administração de fontes de informação,

permite a categorização dessa informação e diversos serviços. Não existe atualmente uma

arquitetura única para os portais, no entanto existe um conjunto de funcionalidades comuns

normalmente encontrados nos portais atualmente. Serão discutidas a seguir essas

características e algumas arquiteturas propostas.

Segundo THE DELPHI GROUP (2000), para a realização de seus serviços, o portal deve

considerar em sua arquitetura nove componentes básicos: Integração, Categorização,

Mecanismos de Busca, Publicação e Distribuição, Processos, Colaboração,

Personalização, Apresentação e Ciclo de Aprendizado. A FIG. 3.2 ilustra cada um desses

componentes.

FIG. 3.2: Componentes dos Portais (THE DELPHI GROUP, 2000).

Tais componentes podem ser entendidos da seguinte forma:

• Integração: permite a integração das diversas fontes de dados. É constituído de

ferramentas para acessar fontes de dados diferentes, tais como bancos de dados relacionais e

Page 46: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

46

pacotes ERP (Enterprise Resource Planning), bem como ferramentas que permitam a

utilização de serviços externos, como notícias ou cotações de ações. Outra característica é a

indexação de dados estruturados e não estruturados de sistemas de arquivos, Web-servers e

email;

• Categorização: trata da organização e estruturação da informação contida no portal.

Incorpora ferramentas para criar e manter categorias. As categorias têm que ser variadas para

audiências diferentes que examinam os mesmos documentos e dados de maneiras diferentes;

• Mecanismos de Busca: localizam diferentes informações das fontes acessadas pelo

portal. Têm-se como exemplos, ferramentas de busca full-text e as que pesquisam descrições

de documentos e outro tipo de conteúdo;

• Publicação e Distribuição: caracteriza a existência de um suporte a criação de

conteúdo, autorização, inclusão e distribuição online em múltiplos formatos;

• Processos: são constituídos de tecnologias que suportam transações online de

diversos processos de negócios ou workflow que permite monitorar, gerenciar, disparar

triggers e tarefas;

• Colaboração: permite a comunicação entre os usuários do portal. Devem ser

utilizadas ferramentas síncronas e assíncronas a exemplo de: correio eletrônico, fóruns de

discussão, sistemas de gerenciamento de documentos, videoconferências e bibliotecas de

projetos, entre outros;

• Personalização: trata da personalização das informações fornecidas pelo portal, de

acordo com as características de cada usuário. É realizada por agentes que filtram

informações para cada usuário, podendo sugerir os focos de interesse dos usuários e aprender

a partir do que eles fazem;

• Apresentação: considera a aparência ou layout do portal. Precisar-se-á considerar a

integração das tecnologias de exibição na Web, permitindo um layout de exibição consistente

e agradável;

• Ciclo de Aprendizado: importante na identificação das contínuas mudanças de

necessidade de informação dos diversos tipos de profissionais e no provimento de ajustes e

atualizações com a rapidez exigida pelos usuários do sistema.

Terra (2002) caracteriza um conjunto de funcionalidades que podem ser tipicamente

integrados em uma arquitetura de portal de conhecimento corporativo, ou seja, portais que se

tornam ferramentas de gestão de conhecimento. Os componentes dessa arquitetura podem ser

agrupados da seguinte maneira:

Page 47: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

47

• Camada de apresentação e personalização: define como os usuários visualizam e

personalizam a informação disponibilizada ou acessada pelo portal;

• Solução de Busca: permite aos usuários acessar informação relevante baseada em um

conjunto de critérios de busca;

• Aplicações Web: aplicações baseadas em ferramentas Web e sistemas legados com

interface internet ou possuidores de API que disponibilizam, através de conectores, acesso à

informação.

Nota-se que, nesta proposta, a maior parte dos componentes sugeridos pelo THE

DELPHI GROUP (2000) é introduzida na forma de conectores dessa estrutura extensível. Tal

arquitetura é mostrada na FIG. 3.3.

FIG. 3.3: Componentes-chave da Arquitetura de Portais (TERRA, 2002).

GURUGE (2003) ressalta que, para implementar um portal bem sucedido, não é

necessário implementar todas as funcionalidades de uma só vez. Pode-se começar com

pequenas ofertas de alguns serviços iterativos, podendo o portal ser gradualmente e

sistematicamente expandido. Este autor acredita que os principais componentes existentes em

portal são os sete introduzidos na FIG. 3.4.

Page 48: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

48

FIG. 3.4: Arquitetura de Portais (GURUGE, 2003).

Funções como agregação, pesquisa (mecanismos de busca), colaboração, organização,

gerenciamento de documentos, integração de bussiness inteligence e gerenciamento de

workflow podem ser sistematicamente incluídas dentro do componente “serviços de

gerenciamento de dados” para atualizar esta arquitetura. Similarmente, o componente

“interface para Web”, pode ser estendido para incluir serviços Web, habilitando protocolos

tais como SOAP, WSDL e UDDI. Nota-se claramente que a idéia é fornecer uma arquitetura

básica, onde novos componentes e/ou funcionalidades podem ser integrados. Considerando

este ponto, percebe-se uma convergência entre essa proposta e a feita por TERRA (2002),

quando menciona a utilização de conectores em sua arquitetura.

As similaridades entre as propostas de arquiteturas apresentadas até agora se aprofundam

quando se coloca o foco nas funcionalidades sugeridas pelos componentes das arquiteturas.

Por exemplo, quando as funcionalidades dos sete componentes da arquitetura proposta por

GURUGE (2003) é comparada aos componentes descritos pelo THE DELPHI GROUP

(2000), temos:

• Interface para Web: executa algumas das funcionalidades dos componentes

“integração” e “processos” simultaneamente;

Page 49: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

49

• Gerenciamento da interface do usuário: executa as funcionalidades do componente

“apresentação”;

• Mecanismos de acesso a dados externos: apresentam funcionalidades similares ao

do componente “integração”;

• Serviços de gerenciamento de dados: executam simultaneamente algumas das

funcionalidades dos componentes “integração”, “categorização”, “colaboração”, “publicação

e distribuição” e “mecanismos de busca” (pesquisa);

• Segurança, autenticação e personalização: executam as funcionalidades do

componente “personalização” e parte das funcionalidades do componente “processos”;

• Ferramentas para o desenvolvimento dos portais: possibilitam realizar as

funcionalidades do componente “ciclo de aprendizado”;

• Administração e gerenciamento do portal: representa parte das funcionalidades

encontradas no componente “processos”.

O que se observa é que, apesar de nomes diferentes, de modo geral, as funcionalidades

básicas são as mesmas nas três arquiteturas vistas. O que varia na realidade é o nome do

componente da arquitetura ao qual pertencem, bem como sua disposição ao longo das

mesmas.

3.3 PORTAIS SEMÂNTICOS

Os Portais Semânticos têm como objetivo explorar a semântica para fornecer e acessar

informação, bem como construir e manter um portal, para o qual fundamentam-se no uso de

ontologias (MAEDCHE, 2001a). Uma ontologia pode ser vista, no ambiente de um portal,

como uma taxonomia ou classificação, e um conjunto de regras de inferência. A taxonomia

define as classes de objetos e suas relações. A aplicação de ontologias permite o

compartilhamento e o entendimento comum de um domínio que pode ser estabelecido entre

pessoas e sistemas de aplicação. Dessa forma, procura-se oferecer, através do uso de

ontologias, uma estrutura e significado semântico aos documentos acessados pelo portal,

armazenando-os em seus repositórios ou na Web.

Manter em sintonia as páginas, fontes de informações e serviços que um portal acessa

constitui-se uma tarefa complicada e desafiadora. O ideal é que esse trabalho seja feito

automaticamente, através de ferramentas que possam examinar o conteúdo dos portais e

Page 50: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

50

atualizar os seus metadados. O planejamento do portal deve prever tais ferramentas, caso

contrário este portal não funcionará adequadamente, trazendo frustração a seus usuários.

O processo de rotular ou categorizar atua tanto no sentido de assegurar que os

mecanismos de buscas encontrarão os documentos e informações solicitadas, como para

distribuir os documentos com base em regras de personalização (TERRA, 2002). Neste

contexto, conclui-se que a aplicação de ontologias permite o compartilhamento e o

entendimento comum de um domínio entre pessoas e sistemas de aplicação, de forma a

contribuir com a semântica e a categorização tão importante nos portais. Além disso, as

ontologias podem armazenar informações acerca do usuário, seus gostos e preferências,

permitindo assim que os documentos possam ser distribuídos pelos usuários, seguindo

critérios específicos e mais personalizados.

Visando prover mais significado semântico ao conteúdo dos portais, sobretudo na

representação das informações armazenadas e na recuperação das mesmas pelos serviços de

busca, diversas iniciativas de pesquisa têm sido desenvolvidas na direção dos portais

semânticos. Na próxima seção serão apresentadas a arquitetura, as características e principais

funcionalidades de cinco dessas iniciativas: KA2, SESAME, SEAL, KAON e ROSA.

3.3.1 KA2

Um projeto que engloba esse tema é o KA2 - Knowledge Annotation Initiative of

Knowledge Acquisition Community (BENJAMINS, 1998). Este se destina a proporcionar

recursos, métodos e ferramentas a serem usadas no desenvolvimento de ontologias por

comunidades heterogêneas de pesquisa, distribuídas geograficamente. Como um dos seus

resultados, foi criado o portal KA2 com uma ontologia simples e centralizada (STUDER,

2000).

Os especialistas do grupo KA2 construíram experimentalmente uma ontologia para o seu

grupo específico, a denominada Comunidade de Aquisição de Conhecimentos (KAC), como

forma de representar o mapa de conhecimento da comunidade. O objetivo é que as ontologias

assim obtidas fiquem disponíveis para a comunidade da área, estabelecendo a semântica

comum a seus participantes. Como uma ontologia deve permitir que haja um conhecimento

consensual entre pesquisadores de uma mesma área de conhecimento, esta ontologia foi

construída por diversos pesquisadores, em diferentes locais, garantindo assim que este seria

Page 51: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

51

aceita pela maioria dos pesquisadores. O KA2 utiliza como linguagem de definição de

ontologia o F-Logic (STAAB, 1999).

A ontologia da comunidade KA2 consiste de sete ontologias relacionadas: uma ontologia

da organização, uma de projetos, uma de pessoas, uma de produtos de pesquisa, uma de

publicações, uma de eventos, e uma de tópicos de pesquisa. Destas, as seis primeiras são

particularmente genéricas, enquanto que a última é específica para o domínio investigado.

O KA2 procura estabelecer quais etapas devem ser seguidas no desenvolvimento e

manutenção de portais, a saber:

• Descoberta de Requisitos (Requeriment Elicitation): nesta fase são coletadas as

preferências ou as expectativas dos usuários a respeito da estrutura e da disposição da

informação apresentada, e os tópicos importantes a serem abordados dentro do domínio

desejado;

• Projeto do Web Site (Web Site Design): a partir do levantamento das exigências dos

usuários, pode-se saber que visões e consultas serão úteis para os usuários do portal, quais

trajetos de navegação são esperados, como as páginas serão relacionadas através de links e

quais funcionalidades são fornecidas nas diferentes áreas do portal;

• Construção da Ontologia (Ontology Engineering): em paralelo ao desenvolvimento da

estrutura e da disposição do Web site, deve ser iniciado um processo de construção da

ontologia. A fase de “Descoberta das Exigências” levanta os termos relevantes do domínio

que necessitam ser refinados e acertados nesta fase. Primeiro, as partes estáticas da ontologia,

isto é, a hierarquia dos conceitos, os atributos e relações entre conceitos são definidos

formalmente (terminologia). Depois disso, as regras e as restrições são desenvolvidas. O

desenvolvimento da regra pode necessitar de uma revisão da hierarquia dos conceitos. Por

exemplo, novos subconceitos podem ser necessários, os atributos podem se transformar em

relações ou em outros conceitos, ou as relações podem ter que se transformar em conceitos.

Este ciclo deve ser executado até que a ontologia resultante torne-se suficientemente estável;

• Formulação de Consultas (Query Formulation): aqui as visões e consultas são

formalizadas. Sua funcionalidade pode ser testada, independentemente da fase de “Projeto do

Web Site”. Para expressar a informação necessária formalmente, o desenvolvedor tem que

acessar a ontologia. Regras ou relações adicionais podem se tornar necessárias para facilitar a

definição das consultas. Durante esse processo, inconsistências na ontologia podem ser

detectadas, levando novamente à fase de “Construção da Ontologia”;

Page 52: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

52

• Criação de Páginas Web Dinâmicas (Creating Dinamic WebPages): finalmente, as

páginas Web são povoadas, isto é as consultas e as visões desenvolvidas (fase de Projeto do

Web Site), formalizadas e testadas (fase de Formalização das Consultas) são integradas ao

portal. Isto permite que as informações possam ser acessadas através do portal;

• Provisão de Informações (Providing Facts): os usuários do portal fornecem

informações que alimentam o portal e sua ontologia usando, por exemplo, ferramentas de

edição de ontologias; e

• Manutenção do Portal (Mantain): as informações fornecidas podem conter erros, fatos

não desejados ou inconsistências, como resultado da integração de diversas fontes de dados.

Um editor de manutenção dessa ontologia deve ser responsável por detectar esses casos e

atuar apropriadamente.

Essas idéias são demonstradas na FIG. 3.5.

FIG. 3.5: Etapas de Desenvolvimento e Manutenção de Portais (STAAB, 1999).

Procura-se estabelecer também uma arquitetura genérica de uso da ontologia em um

portal. Esta arquitetura tem como estrutura básica o uso da ontologia, como pode ser visto na

FIG. 3.6.

Page 53: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

53

FIG. 3.6: Arquitetura dos Portais (STAAB, 1999).

3.3.2 SESAME

O Sesame (http://sesame.aidministrator.nl/), desenvolvido pelo projeto OnToKnowledge

em conjunto com as empresas Aidministrator e OntoText, é uma proposta para a camada de

persistência e inferência das ontologias (BROEKSTRA, 2001).

RDF e RDFS são utilizados para armazenamento e consulta. Utiliza-se da linguagem

Java, permitindo fácil migração para a maioria dos sistemas operacionais. A arquitetura do

sistema é modular. Possui ainda um módulo principal para o encapsulamento do

armazenamento, chamado RAL (Repository Abstract Layer), módulos funcionais para

extração, segurança, consultas e administração dos dados e, separadamente, inclui as

interfaces para acesso a esses módulos. Esses módulos funcionais são esboçados na FIG. 3.7 e

descritos a seguir:

• módulo de administração para adição e remoção de dados;

• módulo de exportação, para extração de dados em diversos formatos de documentos;

• um sistema de consultas RQL, para consultas nessa linguagem;

• um sistema de consultas RDQL, para consultas também nessa linguagem

(desenvolvida por um grupo na HP);

Page 54: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

54

• um sistema de consultas para uma nova linguagem de consulta RDF/RDFS, chamada

SeRQL ("Sesame RDF Query Language", pronunciada "circle"). Esta linguagem combina as

características das linguagens RQL, RDQL, entre outras, além de acrescentar as suas próprias.

• módulo de segurança;

• módulo de versão para versões de ontologias.

FIG. 3.7: Arquitetura do SESAME (BROEKSTRA, 2001).

A camada de repositório foi projetada para realizar o armazenamento do conteúdo RDF e

as inferências sobre os dados armazenados a partir de uma interface independente e pré-

Page 55: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

55

definida. É possível alterar apenas o módulo de armazenamento, permitindo a troca de banco

de dados ou mesmo de meio (memória, sistema de arquivos, etc).

3.3.3 SEAL

O objetivo do SEAL (SEmantic portAL) é fornecer um framework para o

desenvolvimento de portais semânticos. A comunidade de desenvolvimento de sites Web tem

manifestado duas necessidades dominantes: integrar muitas fontes de informação diferentes e

gerenciar adequadamente seus sites. SEAL é um modelo conceitual que explora ontologias.

Propõe o armazenamento da base de conhecimento na forma de declarações F-Logic, onde e

as ontologias constituem o fundamento dessa aproximação (MAEDCHE, 2001b).

O processo de construção da ontologia é composto de quatro fases, detalhadas a seguir:

• Na primeira fase, denominada fase inicial, é levantada a especificação de requisitos

que a ontologia deve suportar, após o qual são analisadas as fontes de entrada de informações

pertinentes e confeccionado um dicionário com os termos léxicos mais relevantes;

• Na fase de refinamento é desenvolvida a ontologia básica formada por uma

taxonomia baseada em conceitos/relações obtidos a partir dos termos léxicos levantados

anteriormente. Novos termos, extraídos de domínios específicos e axiomas, são acrescentados

a essa ontologia básica, modificando-a. Essa ontologia agora é formalizada através de

linguagens como F-logic (KIFFER, 1995). Durante o processo de formalização, o construtor

da ontologia deve separar o conhecimento pertencente à ontologia do da base de

conhecimento;

• Na fase de avaliação é verificado se a ontologia satisfaz à especificação de requisitos

levantada na primeira fase. A ontologia é povoada com instâncias da base de conhecimento e

testada no ambiente de aplicação. Isto é feito até que todos os eventuais problemas sejam

corrigidos;

• Na última fase, correspondente à fase de manutenção, reflete as mudanças que

normalmente acontecem com o passar do tempo, a fim de manter a ontologia em consonância

com os processos aos quais está incorporada. A FIG. 3.8 ilustra essas fases.

Page 56: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

56

FIG. 3.8: Etapas de Construção de uma Ontologia (MAEDCHE, 2001a).

Sua arquitetura é mostrada na FIG. 3.9.

FIG. 3.9: Arquitetura do SEAL (MAEDCHE, 2001a).

Um componente interessante dessa arquitetura é o “Semantic Ranking”, que tem por

objetivo atribuir uma ordenação (ranking) aos resultados retornados pelo módulo de consulta.

Essa ordenação se baseia na reinterpretação das consultas e de seus resultados como bases de

conhecimento. Depois é realizada a atribuição de uma medida de similaridade das bases

retornadas em relação à base que originou a consulta. Isto serve na prática para ordenar os

resultados retornados.

Page 57: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

57

Como se pode observar, o SEAL usa o Ontobroker para procurar e compartilhar

conhecimento na Web. O Ontobroker é uma ferramenta baseada em ontologias da

Universidade de Karlsruhe, Alemanha, que processa documentos especificados em linguagens

de marcação como HTML e XML, provendo recuperação inteligente de informação. Para

MAEDCHE (2001b), o sistema Ontobroker é um banco de dados dedutivo orientados a

objetos, operando na memória principal ou sobre um banco de dados relacional via JDBC. A

ferramenta possui uma arquitetura formada pelos seguintes componentes que interagem com

ontologias:

• Uma máquina de consulta, que recebe consultas e as responde, verificando o

conteúdo de uma base de conhecimento;

• Um agente de informação, responsável pela coleta de conhecimento factual da Web e

armazenamento no banco de dados, lidando com vários estilos de metas-anotações diretas,

como XML e HTML-A;

• Uma máquina de inferência, que usa fatos, terminologia e axiomas das ontologias

para derivar conhecimento factual adicional, que também é armazenado na base de

conhecimento. As ontologias são o princípio geral de estruturação de dados: o agente de

informação as utiliza para extrair fatos, a máquina de inferência para inferir fatos, o

gerenciador do banco de dados para estruturar os dados e a máquina de consulta para formular

consultas.

A arquitetura do Ontobroker é mostrada na FIG. 3.10.

FIG. 3.10: Arquitetura do Ontobroker (DECKER, 1998).

Page 58: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

58

3.3.4 KAON

É um framework de código aberto para o gerenciamento de ontologias voltadas para

aplicações de negócios. Está sendo desenvolvido na Universidade de Karlsruche, Alemanha,

pelo Knowledge Management Group (pertencente ao Institute AIFB) e pelo Research Group

Knowledge Management (pertencente ao Research Center for Information Technologies).

Permite a fácil criação e gerenciamento de ontologias, assim como a geração de aplicações

baseadas em ontologias.

A linguagem de ontologia do KAON é baseada no modelo RDF, porém contém algumas

extensões proprietárias. Estas extensões incluem:

• Propriedades Simétricas: se A “é-amigo-de” B, e “é-amigo-de” é simétrica, então o

KAON pode inferir que B “é-amigo-de” A.

• Propriedades Transitivas: se A “é-amigo-de” B, B “é-amigo-de” C, e “é-amigo-de” é

transitiva, então o KAON pode inferir que A “é-amigo-de” C.

• Propriedades Inversas: se A “é-pai-de” B, e “é-filho-de” é uma propriedade inversa de

“é-pai-de”, então o KAON pode inferir que B “é-filho-de” A.

• Modularização: uma ontologia pode reusar definições de conceitos e instâncias de

outras ontologias.

• Meta-modelo: O KAON permite tratar conceitos e propriedades como instâncias de

meta-modelos. Isto significa que podem existir um conceito ou propriedade e uma instância

com a mesma URI no mesmo modelo. Essas instâncias são chamadas instâncias estendidas

(spanning instances). Quando um conceito ou propriedade é acrescido ao modelo, sua

instância estendida é acrescida simultaneamente. Isto permite ao usuário observar um

componente da ontologia como um conceito ou propriedade ou como uma instância com a

mesma URI, dependendo da sua necessidade.

• Camada Léxica: informações léxicas sobre a ontologia podem ser explicitamente

armazenadas e manipuladas dentro da própria ontologia.

Em linhas gerais, pode-se dizer que as ontologias KAON são formadas por entidades que

podem ser conceitos (representam um conjunto de instâncias), propriedades (representam um

conjunto de pares de objetos, que podem ser instâncias ou valores) e instâncias. Os valores

(constantes) são considerados conceitos com uma única instância. As propriedades são

orientadas ligando um objeto origem a um objeto destino. Além disso, um conceito ou

propriedade pode ser interpretado como uma instância, dependendo da necessidade do

Page 59: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

59

usuário. As ontologias KAON tratam conceitos e propriedades como instâncias de meta-

modelos.

A arquitetura KAON vem sendo desenvolvida na tecnologia Java, o que a torna

independente do sistema operacional. O KAON utiliza um framework que permite a

incorporação de novos componentes, conhecidos como extensões ou plugins, o que possibilita

o desenvolvimento de novos componentes que podem ser adicionados a um núcleo comum,

garantindo modularidade, extensibilidade e flexibilidade a arquitetura. Sua arquitetura é

mostrada na FIG. 3.11.

FIG. 3.11: Arquitetura KAON (OBERLE, 2002).

O KAON também pode ser visto como uma arquitetura de três camadas, possuindo

diversos componentes dos quais faz parte o portal KAON, como mostrado na FIG. 3.12. Estas

camadas são explicadas detalhadamente a seguir.

Page 60: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

60

FIG. 3.12: Arquitetura em camadas do framework KAON

• Camada do Cliente

� OI-Modeler: é uma ferramenta para manutenção e criação de ontologias

(MAEDCHE, 2002). O OI-Modeler permite a edição de ontologias através de uma

interface gráfica de fácil uso com a utilização das funções fornecidas pela API

KAON e API RDF.

� KAON Portal: é uma ferramenta simples para gerar portais Web baseados em

ontologias. Para criar o portal, o usuário necessita construir uma ontologia que

contém a informação que será apresentada na Web. O KAON Portal pode ser

usado para fornecer a visualização e a navegação através desta ontologia.

Ontologias multilingües também podem ser visualizadas. As páginas para a

visualização da informação podem facilmente ser customizadas. Nesse caso, é fácil

estender o KAON Portal com uma página customizada para personalizar a

exibição. Isto é conseguido estritamente separando a apresentação e o acesso aos

dados, através de uma abrangente biblioteca de tags.

• Camada de Gerenciamento

� API KAON: é um conjunto de interfaces que fornecem acesso a ontologia KAON.

Contém classes tais como Concept, Property e Instance. Estas interfaces separam

Page 61: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

61

os usuários dos mecanismos de persistência da ontologia. Existem diferentes

implementações para tornar as ontologias acessíveis: a API RDF e o Servidor de

Engenharia (Engineering Server).

� API RDF e suas implementações: é um conjunto de interfaces que podem ser

usadas para manipular modelos RDF. A API é estruturada para suportar diferentes

implementações. Dessa forma, os clientes da API RDF são separados dos módulos

de armazenamento RDF. Os módulos que manipulam o armazenamento são:

� Implementação RDF em Memória Principal (RDF Mainmemory

Implementation): manipula modelos RDF através da serialização do arquivo

XML que contém o modelo, para a memória principal.

� Servidor RDF (RDF Server): permite o armazenamento e gerenciamento de

modelos RDF em banco de dados relacionais. Os dados são representados

usando quatro tabelas, mostradas na FIG. 3.13. A tabela Model representa os

diferentes modelos RDF. A tabela Statement representa declarações RDF. A

tabela Resource armazena ou o Recurso, através do relacionamento Subject, ou

a propriedade, através do relacionamento Predicate, da tripla Recurso-

Propriedade-Valor do modelo RDF. O último componente da tripla, valor, é

armazenado na tabela Literal.

FIG. 3.13: Modelo ER usado pelo KAON para expressar RDF

(OBERLE, 2002).

Page 62: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

62

� Servidor de Engenharia (Engineering Server)

Esta implementação fornece operações que são comuns durante a construção da

ontologia, tais como somar e remover conceitos pela aplicação de transações. Um número

fixo de relações representa a estrutura que é usada pela linguagem de ontologia, ou seja, o

esquema de armazenamento representa um meta-modelo da linguagem de ontologia,

considerando conceitos, propriedades e instâncias. Este esquema, detalhado a seguir, é

mostrado na FIG. 3.14, onde:

� Ontology representa as diferentes ontologias criadas no esquema;

� Concept representa os conceitos existentes em uma ontologia;

� Property representa as diferentes propriedades que ligam os conceitos;

� Instance representa as instâncias de conceitos existentes no modelo;

� Property Instance representa as propriedades que ligam instâncias.

FIG. 3.14: Esquema usado pelo Servidor de Engenharia do KAON para construção de

ontologias (OBERLE, 2002).

• Camada de Armazenamento

� Bancos de Dados Relacionais ou Sistema de Arquivos: esta camada representa o

meio de armazenamento da ontologia, que pode ser um arquivo contendo o modelo

RDF estendido do KAON, ou um banco de dados relacional que suporte o padrão

SQL2 completamente, tais como MS SQL Server 2000, PostgreSQL, IBM DB2

7.2 ou Oracle 9i.

Page 63: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

63

3.3.5 ROSA

ROSA/e-learning (Repositório de Objetos com Acesso Semântico para e-learning)

permite o armazenamento de Objetos de Aprendizagem (OA) (MOURA, 2003). É um projeto

desenvolvido pelo Instituto Militar de Engenharia (http://www.des.ime.eb.br/~Rosa) em

parceria com a empresa Consist. Um OA é uma coleção reutilizável de material usado para

apresentar e dar apoio a um único objetivo de aprendizagem (FRIESEN, 2001). Pode

representar um módulo ou lição que ensina um conceito específico, fato, procedimento,

processo ou princípio. Estes objetos permitem guardar conteúdos acrescidos de um conjunto

de características e propriedades, além de um conjunto de associações (ou predicados) que

expressam os relacionamentos que um OA tem com outros OAs. A partir de um modelo de

dados e de uma arquitetura bem definida, consultas de conotação mais semântica podem ser

feitas ao sistema, além das mais simples, tais como as de recuperação de OAs a partir de suas

propriedades mais específicas. Atualmente, este projeto está voltado para a área de Ensino a

Distância (EAD) cujo objetivo é auxiliar profissionais da área educacional, ajudando-lhes a

descobrir conteúdos didáticos armazenados no sistema, que forneçam subsídios para a

preparação de suas aulas ou conteúdos instrucionais.

O sistema ROSA está especificado em três níveis, segundo a arquitetura tradicional de

bancos de dados: modelo conceitual; modelo lógico e modelo físico. O modelo conceitual

define os conceitos e os relacionamentos entre eles em um certo domínio de aplicação. O

nível lógico corresponde aos objetos de aprendizagem e seus metadados. Finalmente, no nível

físico encontram-se os arquivos físicos (.ppt, .pdf,...).

3.4 CONSIDERAÇÕES FINAIS

O trabalho envolvido na construção de um portal requer uma grande alocação de recursos

materiais, humanos e de tempo. Este capítulo apresentou uma visão geral das tecnologias

empregadas para o desenvolvimento de portais, e como o uso de ontologias pode ser

empregado para aumentar a semântica na organização e busca de seus conteúdos.

É importante destacar o nível alcançado pelo framework KAON, que permite a integração

das várias tecnologias relacionadas à área de ontologia no desenvolvimento dos chamados

portais semânticos. Uma tendência observada é que a linguagem KAON passe a incorporar

todos os recursos da linguagem OWL, que está sendo desenvolvida pelo W3C.

Page 64: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

64

De maneira geral, a padronização de uma linguagem comum para descrição de

ontologias, a exemplo da OWL, trará muitos benefícios à Web Semântica: possibilitará uma

linguagem comum para intercâmbio das diversas ontologias; e viabilizará um mecanismo de

suporte à consultas que inclua regras de inferência. O objetivo é que tal procedimento,

atualmente realizado por ferramentas de gerenciamento de ontologias, a exemplo do KAON,

acabe sendo transferido para os próprios bancos de dados que armazenam as ontologias,

semelhante ao que acontece hoje com XML para banco de dados nativos XML. Isto implicará

em ganhos de desempenho, confiabilidade e consistência no manuseio de ontologias.

No contexto desse trabalho o uso de ontologias será explorado no procedimento de busca

de um portal, de forma a melhorar a qualidade semântica dos objetos retornados após uma

pesquisa. Para tal, é necessário analisar os mecanismos e arquiteturas dos serviços de busca

utilizados atualmente no âmbito da Web, conforme descrito no próximo capítulo.

Page 65: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

65

4 MECANISMOS DE BUSCA

O componente busca de um portal representa o seu ponto central, a partir do qual

usuários podem localizar informações das fontes disponíveis no mesmo ou na Web. A

dificuldade consiste em tornar essas buscas mais eficientes. Muitos usuários se frustram com

os atuais mecanismos de busca na internet, que se mostram ineficazes pois retornam um

grande número de informações irrelevantes. Um dos focos do presente trabalho está centrado

na melhoria deste aspecto num portal semântico.

Neste capítulo serão apresentados os diferentes serviços de busca existentes atualmente

na Web, suas principais características e de que forma o estudo em questão pretende

contribuir com sua melhoria.

4.1 BUSCAS NA WEB

Normalmente, as pessoas que buscam informação na Web iniciam a sua atividade

acionando uma máquina de busca. De maneira geral, o usuário fornece uma consulta formada

a partir de uma lista de palavras e recebe uma lista de páginas Web que podem ser relevantes

por conter tais palavras. A maioria dos algoritmos clássicos da área de recuperação de

informação foi desenvolvida para um universo restrito e com coleções de documentos

coerentes, tais como catálogos de livros em uma biblioteca, sendo que muitos mecanismos de

busca para a Web ainda se baseiam nos mesmos. Devido à diversidade, volume e falta de

descrição (metadados) dos recursos publicados na internet, existe uma grande dificuldade em

encontrar informações que sejam realmente relevantes para o usuário. É preciso desenvolver

novas técnicas algorítmicas de recuperação de informação e extensões voltadas para esse

ambiente tão heterogêneo.

Para superar essas dificuldades, TOLEDO (2002) ressalta quatro requisitos que devem

guiar o desenvolvimento do mecanismo de busca na Web, de modo a oferecer um resultado

mais eficaz:

• indexação contextual;

• acesso a metadados;

• acesso completo a descrições de documentos;

• busca baseada em conceitos.

Page 66: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

66

Entretanto, TERRA (2002) destaca que as pessoas variam a forma de efetuar buscas de

acordo com diversos fatores. Logo, para atender as várias circunstâncias individuais e ao

rápido crescimento da quantidade de informação e tipos de fontes de dados e conhecimento,

as ferramentas de busca devem incluir desde mecanismos simples a complexos, tais como:

• buscas por palavra-chave e frase exata;

• buscas booleanas;

• buscas baseadas no modelo vetorial;

• buscas com inferência bayesiana,

• buscas conceituais (utilizam dicionários ou abordagem estatística);

• busca por contexto (retornam resultados baseados no contexto do usuário que realizou

a busca);

• busca em linguagem natural (permite ao usuário submeter uma consulta usando a

estrutura de perguntas da língua falada);

• buscas com filtros colaborativos (supõem que indivíduos que compartilham interesses

semelhantes consideram documentos similares como relevantes),

• busca baseada em redes neurais, entre outras.

Pode-se vislumbrar a utilização de ontologias em alguns desses tipos de buscas, tais como

as buscas conceituais, por contexto e linguagem natural.

Neste trabalho, as ontologias são utilizadas com o objetivo de melhorar a relevância dos

resultados apresentados pela ferramenta de busca Google. Isto é feito através do processo de

expansão dos termos da busca, onde novas palavras, relacionadas às palavras-chave

escolhidas pelo usuário, são acrescidas à pesquisa. Este processo, explicado detalhadamente

no capítulo 5, visa fornecer um melhor contexto para a busca inicial realizada pelo usuário.

Esse novo conjunto de palavras é acessado através do framework KAON.

Page 67: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

67

4.2 SERVIÇOS DE BUSCA NA WEB

Atualmente destacam-se quatro categorias de ferramentas de pesquisa na Web: os

diretórios, as máquinas de busca, os diretórios com máquinas de busca e as ferramentas de

metabusca (PEREIRA, 2001).

Os diretórios organizam os sites da Web em categorias hierarquizadas, sendo esta

categorização realizada por humanos ou máquinas, dentro de um ou mais repositórios.

Normalmente, os diretórios fornecem respostas de relevância para os usuários que as

procuram, no entanto sua cobertura da Web é pequena.

As máquinas de busca realizam a coleta de documentos automaticamente e realizam

grande cobertura dos documentos encontrados na Web. Quando comparada às ferramentas de

pesquisa em diretório, seu conteúdo de informação é substancialmente maior e mais

atualizado, porém com menor índice de relevância.

Os diretórios com máquinas de busca reúnem as características dos diretórios e máquinas

de busca numa só ferramenta. Os seus diretórios são organizados de forma hierárquica, sendo

oferecida a opção de máquina de busca que permite ao usuário efetuar sua pesquisa por

palavra-chave.

As ferramentas de metabusca utilizam os recursos de várias máquinas de busca em

paralelo. Uma lista de informações é obtida de acordo com cada mecanismo de busca

envolvido ou de forma integrada.

Uma diferenciação importante a ser feita para estes mecanismos é a de Recuperação de

Dados e Recuperação de Informação. A Recuperação de Dados não envolve a interpretação

do significado do que está sendo buscado e as respostas buscadas devem ser corretas. Já a

Recuperação de Informação, caso considerado para os serviços de busca na Web, envolve

tarefas imprecisas que buscam modelar o significado do que está sendo buscado com o

objetivo de melhorar a relevância das respostas. Portanto, não existe o conceito de resposta

certa, mas sim de relevância da resposta, sendo este o enfoque dado nesta dissertação.

Nos tópicos seguintes serão apresentados, com mais detalhes, os vários conceitos e

elementos associados mais especificamente às máquinas de busca na Web, foco de maior

relevância neste trabalho.

Page 68: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

68

4.2.1 ARQUITETURA DAS MÁQUINAS DE BUSCA

O primeiro passo a ser dado para o entendimento das técnicas empregadas pelas

máquinas de busca é o conhecimento da sua arquitetura. A FIG. 4.1 exibe uma arquitetura

genérica dos engenhos de busca com seus elementos mais comuns.

FIG. 4.1: Arquitetura das Máquinas de Busca (ARASU, 2001).

Os robôs são pequenos programas que navegam pela Web com o objetivo de seguir os

links e passar pelas diferentes páginas. Dado um conjunto de URLs, os robôs recuperam as

páginas correspondentes na Web e, em seguida, repassam essa informação para o módulo

“Controlador de Robôs”. Este módulo determina quais links serão visitados na próxima vez, e

quais serão retornados pelos robôs (algumas dessas funcionalidades atualmente são

implementadas nos próprios robôs). Ou seja, através deste módulo pode-se controlar o

conjunto de URLs que deverão ser visitadas periodicamente, bem como captar, através dos

próprios robôs, novas URLs passíveis de serem visitadas no futuro. Eles também são

Page 69: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

69

responsáveis por armazenar as páginas dentro do repositório de páginas e continuar visitando

exaustivamente a Web.

Os robôs podem ter como orientação visitar o maior número possível de páginas

relacionadas dentro de cada site em profundidade ou largura. Também podem se especializar

em sites de um domínio específico, a exemplo das páginas governamentais. O módulo

“Controlador de Robôs” é responsável por direcionar a operação dos robôs. Ele pode, por

exemplo, usar um link gráfico detectado anteriormente na estrutura dos índices, para decidir

que links serão visitados ou não no próximo ciclo de pesquisa. Pode também usar padrões

obtidos através de pesquisas realizadas anteriormente para guiar o processo de pesquisa,

comunicando-se diretamente com o módulo “Máquina de Consulta”.

Um dos desafios é não sobrecarregar sites com pesquisas realizadas pelos robôs e não

coletar páginas não autorizadas. Para isso, em junho de 1994 foi definido o Protocolo de

Exclusão de Robôs que, além de estabelecer as permissões do coletor em um determinado

site, determina o número máximo de visitas em cada site estipulada em uma por minuto

(KOSTER, 1994). As permissões do coletor são descritas em um arquivo texto, chamado

“robots.txt”, localizado no servidor Web acessado.

Outro problema enfrentado é o das páginas que não podem ser indexadas pois apresentam

alguma política de autenticação ou se escondem por trás de formulários (LAWRENCE,

1999). Existem também as páginas dinâmicas (cgis, jsps, asp), que se popularizaram muito

nos últimos anos e que podem gerar um número infinito de novas páginas. Atualmente,

existem duas políticas para o tratamento dessas páginas: simplesmente não coletá-las ou

impor um limite sobre o número de páginas coletadas como, por exemplo, só coletar páginas

dinâmicas que são apontadas por páginas estáticas (GOLGHER, 2003).

O módulo “Indexador” extrai todas as palavras-chaves de cada página, e as grava com a

sua respectiva URL, sendo o seu objetivo acelerar o processamento de consultas. A técnica

mais usada é a criação de arquivos invertidos. Um arquivo invertido desta arquitetura contém

o vocabulário, composto por cada termo distinto da coleção, e as listas invertidas, que

indicam, para cada termo, a freqüência com que o termo ocorre em cada documento da

coleção. Também são coletadas de cada página Web informações como data de criação,

tamanho, título e as primeiras linhas da página ou o cabeçalho. A FIG. 4.2 exemplifica o

método usado.

Page 70: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

70

FIG. 4.2: Exemplo de Lista Invertida.

Para localizar todos os documentos com o termo “A”, inicialmente esse termo é acessado

no vocabulário, que fica em memória principal e possui indicadores para a posição das listas

no disco. A seguir, as listas dos discos deverão ser acessadas, pois contêm indicadores para a

posição de todos os documentos com o termo “A”. E, na última etapa, são recuperados os

documentos selecionados. Na técnica denominada Lista Invertida Completa também é

indexada a posição da palavra no texto, o que permite a busca por proximidade ou por frases,

apesar disto acarretar aumento do espaço ocupado e tamanho do índice (BAEZA-YATES,

1999).

Devido aos fatores mencionados anteriormente, tais como o tamanho da Web e a rapidez

de crescimento e renovação das páginas, esse índice de texto possui um alto grau de

dificuldade para ser mantido adequadamente atualizado. Uma ressalva importante é que

stopwords, ou palavras de ligação auxiliares como: artigos, conjunções, preposições, em

virtude da sua elevada freqüência nos documentos, não possuem valor de indexação e

portanto não são indexadas. Apesar disso, stopwords são importantes pois muitas máquinas de

busca utilizam a freqüência de ocorrência de algumas dessas palavras para identificar o

idioma de uma determinada página (GOLGHER, 2003).

Não bastando essas dificuldades, concomitantemente aos fatos supracitados, existe a

problemática dos vários tipos de índices na Web. Por exemplo, o Módulo “Indexador” pode

criar uma estrutura de índices para refletir os links entre as páginas. Tais índices não seriam

apropriados para uma coleção de textos que não possuíssem esses links. O módulo “Análise

de Coleção” é responsável justamente por criar essa variedade de índices. Este módulo cria os

Page 71: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

71

“Índices Utilitários”. Por exemplo, um índice utilitário pode ter páginas de um determinado

tamanho e importância, ou com um certo número de imagens.

Outra dificuldade enfrentada hoje em dia pelas máquinas de busca é a enorme quantidade

de documentos existentes na Web, a sua diversidade e constante mudança, o que torna quase

impossível coletar e manter atualizados os índices para essas páginas. Em virtude desse fato,

somente são armazenadas as páginas mais requisitadas.

O módulo “Máquina de Consulta” é responsável por receber e preencher os pedidos de

busca dos usuários. Esse módulo usa algoritmos baseados nos modelos clássicos de

recuperação de informação (RI). A maioria dessas técnicas utiliza a estratégia de medir a

similaridade entre o texto da consulta e os textos originais dos documentos de uma coleção.

Em virtude do tamanho da Web, quando o usuário entra somente com uma ou duas

palavras-chaves, os resultados são muito numerosos. O módulo “Ranking” tem,

conseqüentemente, a tarefa de classificar esses resultados. Dessa forma, no topo da lista, são

apresentados os resultados mais prováveis de satisfazerem o usuário.

4.2.2 MODELOS CLÁSSICOS PARA RECUPERAÇÃO DE INFORMAÇÃO

Os modelos clássicos utilizados no processo de recuperação de informação (booleano,

vetorial e probabilístico) apresentam estratégias de busca de documentos relevantes para uma

consulta. Estes modelos consideram que cada documento é descrito por um conjunto de

palavras-chave, chamadas termos de indexação. A cada termo de indexação em um

documento associa-se um peso que quantifica a correlação entre os termos e o documento.

Além dos modelos clássicos, modelos muito mais avançados de recuperação de informação

têm sido propostos ao longo dos anos, dentre os quais destacam-se modelos baseados em

bases de conhecimento (BIWAS, 1987), lógica fuzzi (BOOKSTEIN, 1980) e redes neurais

(KWOK,1995).

4.2.2.1 MODELO BOOLEANO

No modelo booleano os documentos recuperados são aqueles que contém os termos que

satisfazem a expressão lógica da consulta. Uma consulta é considerada como uma expressão

booleana convencional formada a partir dos conectivos lógicos AND, OR e NOT. No modelo

booleano um documento é considerado relevante ou não relevante a uma consulta. Não existe

resultado parcial e não há informação que permita a ordenação do resultado da consulta. Os

Page 72: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

72

principais problemas do modelo booleano são a ausência de ordem na resposta, e as respostas

podem conter poucos ou muitos documentos. As vantagens desse modelo são a facilidade de

implementação e a expressividade completa das expressões.

4.2.2.2 MODELO VETORIAL

O modelo vetorial foi proposto em 1968 e continua sendo muito empregado.

Originalmente foi concebido para resolver problemas de busca em bibliotecas digitais, mas

alcançou sucesso devido a sua eficiência e aos bons resultados obtidos. Os elementos a serem

modelados são representados como vetores dentro de um espaço vetorial e a dimensão do

espaço é dada pelo número de palavras distintas (vocabulário). As consultas e os documentos

são modelados como vetores, sendo suas coordenadas determinadas pelas palavras (termos)

que os descrevem.

Termos que trazem mais informação devem ter maior prioridade. Esta contribuição é

medida neste modelo através da contribuição da palavra buscada dentro da coleção de

documentos considerados (medida Idf) e da freqüência da palavra em cada documento.

A medida Idf depende do número de vezes que o termo aparece nos documentos da

coleção. Quanto mais raro o termo, maior deve ser o seu Idf. O valor de Idf é assim

especificado:

)/log()( ntNtIdf = , onde:

• N corresponde ao número total de documentos de uma coleção;

• nt corresponde ao número de documentos onde a palavra “t” ocorreu.

A determinação das coordenadas dos vetores é dada pela fórmula:

)(),(),( tidftdtftdw ×= , onde:

• w(d,t) corresponde à coordenada do documento “d” no eixo “t”;

• tf(d,t) corresponde à freqüência da palavra “t” no documento “d”.

Um documento “d” é representado por um vetor )),();...2,();1,(( tndwtdwtdwd = . A

consulta é representada por um vetor de consulta )),();...2,();1,(( tnqwtqwtqwq = . O cálculo

de w(q,t) é similar ao cálculo de w(d,t).

A similaridade ou proximidade de um documento d em relação a uma consulta q é

calculada por uma função de similaridade. Existem diversos cálculos que podem ser aplicados

para medidas de similaridade entre vetores. De forma a exemplificar o seu uso, é apresentado

a seguir o coeficiente do co-seno.

Page 73: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

73

A normalização é realizada para evitar que documentos grandes, que possuem um

número maior de palavras do que documentos pequenos, tenham uma maior probabilidade de

serem recuperados do que os menores.

Se considerarmos, por exemplo, os valores de Q = (0.4, 0.8); D1= (0.8, 0.3) e D2 = (0.2,

0.7), obtém-se um melhor resultado para D2 em relação a D1, ou seja, D2 é mais similar à

consulta Q que D1, conforme demonstrado nos cálculos a seguir.

74.0584.056.0

])8.0()4.0[(])3.0()8.0[()8.03.0()4.08.0(),1(

2222==

+∗+

∗+∗=QDsim ;

98.042.0

64.0])8.0()4.0[(])7.0()2.0[(

)8.07.0()4.02.0(),2(2222

==+∗+

∗+∗=QDsim .

Este resultado pode ser visualizado graficamente pela FIG. 4.3, onde ),1(cos 1 QDsim=α

e ),2(cos 2 QDsim=α .

FIG. 4.3: Coeficiente do Co-seno entre Vetores.

Como resultado tem-se que:

• Documentos contendo um maior número de termos em comum com a consulta

tendem a ter maior similaridade;Para os termos que aparecem em q e d, aqueles com maiores

Idf(t) contribuem mais para a similaridade de “Q” e “D” do que os que têm menores Idf(t);As

principais vantagens observadas no modelo vetorial são: a sua simplicidade; a facilidade que

ele provê para computar similaridades com eficiência; e o fato de o modelo se comportar bem

com coleções genéricas.

Page 74: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

74

4.2.2.3 MODELO PROBABILÍSTICO

Neste modelo, busca-se saber a probabilidade de um documento ser ou não relevante para

uma consulta. Tal informação pode ser obtida considerando-se que a distribuição de termos na

coleção seja capaz de informar a provável relevância para um documento qualquer da

coleção. O modelo probabilístico considera pesos binários que representam a presença ou

ausência de termos para descrever documentos. O vetor resultado gerado pelo modelo tem

como base o cálculo da probabilidade de que um documento seja relevante para uma consulta.

A principal ferramenta matemática do modelo probabilístico é o teorema de Bayes

(RIJSBERGEN, 1979). Tem como base o princípio probabilístico de ordenação (Probability

Ranking Principle), que estabelece que este modelo pode ser usado de forma ótima. Este

princípio é baseado na hipótese de que a relevância de um documento para uma determinada

consulta é independente de outros documentos. O princípio é o seguinte: “Se a resposta de um

sistema de recuperação de referência a cada requisição é uma ordem de documentos

classificada de forma decrescente pela probabilidade de relevância para o usuário que

submeteu a requisição, onde as probabilidades são estimadas com a melhor precisão com base

nos dados disponíveis, então a efetividade geral do sistema para o seu usuário será a melhor

que pode ser obtida com base naqueles dados”. O modelo probabilístico considera um

processo iterativo de estimativas da probabilidade de relevância, onde devem ser calculados:

• P(+Rq\d) - a probabilidade de que um documento “d” seja relevante para uma

consulta “q”;

• P(-Rq\d) a probabilidade de que um documento “d” não seja relevante para uma

consulta “q”.

O documento “d” é considerado relevante para a consulta “q” se P(+Rq\d)> P(-Rq\d), e o

vetor resultado é decidido com base num fator Wd\q. Assim, dada uma consulta “q”, o modelo

probabilístico atribui a cada documento “d” (como medida de similaridade) um peso Wd/q,

como sendo:

)|()|(

/ dRPdRP

Wq

qqd −

+=

Essa fórmula calcula a probabilidade de observação aleatória de “d”, que pode ser tanto

relevante quanto irrelevante. A Teoria de Bayes auxilia a identificar o grau de relevância e de

irrelevância do documento para cada termo da consulta, selecionando o mais adequado (o que

produz menor erro) para o somatório final, já que o grau final de probabilidade de relevância é

Page 75: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

75

dado pelo somatório dos graus de relevância de cada termo. O modelo não faz uso da

freqüência dos termos no documento, mas somente da presença ou ausência do termo no

documento. Através do Teorema de Bayes e estimativas de relevância baseadas nos termos da

consulta, pode-se chegar à seguinte equação:

qi

t

iiqd WxWqdsim ×== ∑

=1/),( , onde:

• xi ∈ {0, 1};

• )1(

)1(log

qiqi

qiqiqi rs

srW

−−

=

• rqi é a probabilidade de que um termo de indexação i ocorra no documento, dado que

o documento é relevante para a consulta q; e

• sqi é a probabilidade de que um termo de indexação i ocorra no documento, dado que

o documento não é relevante para a consulta q.

O modelo probabilístico oferece como vantagem o princípio probabilístico de ordenação

que, uma vez garantido, resulta em um comportamento ótimo do método. Entretanto, a

desvantagem é que este comportamento depende da precisão das estimativas de

probabilidade. Além disso, o método não explora a freqüência do termo no documento.

4.2.3 MODELOS DE RECUPERAÇÃO DE INFORMAÇÃO PARA O AMBIENTE WEB

Os algoritmos de busca clássicos classificam uma página a partir de uma análise apenas

dos termos que compõem a página, não levando em consideração a análise de hipertextos das

páginas (links, tamanho da fonte, estrutura, etc), e nem do contexto no qual está inserida, entre

outros. Por esta razão, os algoritmos de busca clássicos mostram-se insuficientes no processo

de busca por páginas Web.

4.2.3.1 ANÁLISE DE LINKS

Diferentemente de outras coleções textuais, os documentos Web são conectados por links.

Os links possuem diferentes utilidades (DAVISON, 2001):

• estrutural - permitem ao usuário navegar pelas páginas de um site, ou de um domínio

específico;

Page 76: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

76

• funcional - conectam sites de diferentes domínios que possuem conteúdos

relacionados, e possivelmente “importantes”, segundo a opinião do autor do documento

origem do link;

• comercial - links de propaganda presentes nos banners.

A análise de links caracteriza uma tentativa de inferir o grau de relevância de uma página

a partir da análise da estrutura de links da Web. Existem vários algoritmos na literatura que

propõem a análise da estrutura de links de uma coleção de documentos Web, com o objetivo

de extrair desta estrutura a opinião coletiva dos seus usuários. A abordagem simplista da

análise da estrutura de links envolve contabilizar o número de páginas que apontam para ela.

Quanto maior esse número, maior a importância da página. Um problema surge a partir da

análise da abordagem simplista: é mais importante ser apontado por sites anônimos ou ser

apontado por um site conhecido na Web? Para solucionar esse problema, surgiram dois

algoritmos: PageRank e o HITS.

4.2.3.1.1 PAGERANK

Para o PageRank, uma página tem importância se a soma das importâncias das páginas

que apontam para ela é alta. A FIG. 4.4 dá uma idéia intuitiva de como esse algoritmo

funciona.

FIG. 4.4: Cálculo Simplificado do PageRank (PAGE, 1998).

Page 77: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

77

A FIG. 4.4 supõe que a página “A” e “B” apresentam os valores 100 e 9 respectivamente

correspondentes aos seus PageRanks. Também supõe que “C” e “D” tenham seus PageRanks

calculados a partir de “A” e “B”. “A” contribui no cálculo do PageRank de “C” e “D” com o

valor do seu PageRank dividido pelo seu número de links (100/2 = 50). Já “B” contribui para

o PageRank de “C” com o valor do seu PageRank dividido pelo seu número de links (9/3 = 3),

porém não contribui no PageRank de “D”. Portanto, o PageRank calculado de “C” é igual a

soma das contribuições de “A” e “B”, enquanto o de “D” recebe apenas a contribuição de

“A”. A fórmula do PageRank considera também um fator de decaimento d, que no caso do

exemplo mostrado é igual a 1. Essa fórmula é assim definida (BRIN, 1998):

PR(A) = (1-d) + d (PR(T1)/C(T1) + ... + PR(Tn)/C(Tn)), onde:

• d é um valor entre 0 e 1, normalmente com valor igual a 0,85. Isto significa que,

mesmo que uma página não tenha nenhum link apontando para ela, seu PageRank mínimo

será 0,15;

• Ti corresponde às páginas que apontam para A (1< i <n);

• Ci corresponde à quantidade de links em Ti.

O PageRank forma uma distribuição probabilística sobre as páginas Web, forçada pelo

fator d. Assim a soma normalizada dos PageRanks de todas as páginas Web é constante e

igual a 1.

O valor PR(A) é calculado através de um algoritmo iterativo que converge para um valor

final. Os valores dos outros PR, a princípio, não conhecidos, devem ser dados aleatoriamente,

como por exemplo “0”, de tal forma que a soma normalizada dos PageRanks de todas as

páginas convirja para 1. Valores com tolerância razoável, para 322 milhões de links, são

alcançados, em média, após 52 iterações. Já para 166 milhões de links são necessárias 45

iterações em média (PAGE, 1998).

4.2.3.1.2 HYPERTEXT INDUCED TOPIC SEARCH (HITS)

O algoritmo HITS foi proposto por (KLEINBERG, 1998). Ele associa a cada página dois

valores de ranking (ordenação) dependentes da consulta: o peso de autoridade e o peso de

hub. Cada hub de uma página é dado em função dos valores de autoridade das páginas para

onde ela aponta. Autoridade de uma página é dada em função dos valores de hub das páginas

que apontam para ela. Uma página é considerada uma boa autoridade se é apontada por bons

hubs, e uma página é considerada um bom hub se aponta para boas autoridades.

Page 78: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

78

Quanto ao PageRank, existe somente um nível de propagação. Esse algoritmo consegue,

através dessa propagação, encontrar páginas importantes em um determinado conjunto. No

caso do HITS, existe uma propagação em dois níveis, fazendo com que seja possível

encontrar tanto páginas importantes pelo seu conteúdo quanto páginas importantes pelo seu

conjunto de referências.

O HITS associa um peso de autoridade e um peso de hub para cada página pertencente

ao subgrafo analisado. Inicialmente os pesos de hub e autoridade são inicializados com pesos

arbitrários. O algoritmo de análise de links é um algoritmo iterativo que desempenha dois

tipos de operação em cada iteração: a operação I, e a operação O. Na operação I, o peso de

autoridade de cada página pertencente ao grafo é atualizado de forma a receber o somatório

dos pesos de hub de todas as páginas que apontam para ela. Na operação O, o peso de hub de

cada página recebe o somatório dos pesos das páginas autoridade que são apontadas por ele.

Estas operações são representadas pelas fórmulas de cálculo da autoridade e do hub, dadas na

TAB 4.1, onde B(i) representa o conjunto de links que chegam à página i e F(i) representa o

número de links que saem da pagina i.

TAB. 4.1:Fórmulas dos Cálculos de Autoridade e Hub do Algoritmo HITS

Cálculo da Autoridade a(i) = ∑ h (j), onde: j ∈ B(i)

Cálculo do Hub h(i) = ∑ a (j), onde:j ∈ F (i)

Na FIG. 4.5 são apresentados os cálculos simplificados de uma página hub e uma página

autoridade. Percebe-se que uma página pode ser ao mesmo tempo um bom hub e uma boa

autoridade. O algoritmo repete iterativamente as operações I e O, realizando a cada iteração a

normalização dos pesos de autoridade e hub, até que os pesos de hub e autoridade cheguem a

convergir, isto é, até que estes pesos não variem acima de um valor pré-determinado.

Page 79: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

79

FIG. 4.5: Representação gráfica de uma página autoridade e uma página hub.

Algumas extensões do algoritmo HITS que adicionaram análise de conteúdo à análise

puramente estrutural foram desenvolvidas pelo projeto CLEVER da IBM (CHAKRABARTI,

1999), e pelo grupo de pesquisas em Web Archaeology da Compaq (BHARAT, 1998).

4.2.3.2 ANÁLISE DE HIPERTEXTO E PROXIMIDADE

A análise de hipertexto procura analisar a estrutura das páginas HTML para gerar

evidências para a busca. Ela faz a análise de fontes e layout para determinar os trechos de

texto mais relevantes. Assim, o texto de um título de página tem maior peso do que o texto

encontrado no corpo da página. Considere, por exemplo, que alguém numa biblioteca solicite

livros sobre o Japão. Caso o bibliotecário não possua conhecimento sobre os (bons) livros

referentes ao assunto, faz sentido supor que ele iniciará a busca procurando por todos os livros

que contenham a palavra “Japão” no título. Mecanismos de busca operam de maneira similar.

Consideram o título da página (texto entre os tags <title>...</title>) como o local mais

importante para a determinação do assunto da página.

A análise de links e hipertextos pode ser combinada na técnica conhecida como Texto

Âncora. Textos de rótulos de links são analisados e considerados como parte da página que é

apontada, pois o rótulo dos links serve como uma descrição relevante das páginas apontadas.

A análise de proximidade privilegia páginas que contenham os termos das consultas em

posições próximas. Por exemplo, supondo que se deseje buscar a sentença “máquina de

busca” em dois documentos contendo os textos apresentados na TAB. 4.2.

Page 80: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

80

TAB. 4.2: Textos contidos em dois documentos hipotéticos da Web

Documento 1 “A máquina de busca é importante para ...”

Documento 2 “O homem utilizava a máquina para serrar a árvore, enquanto realizava a

busca das suas ...”

O texto do primeiro documento terá um maior peso, pois apresenta maior proximidade

com os termos da sentença de busca desejada.

4.3 EVOLUÇÃO DAS MÁQUINAS DE BUSCA

Quando a internet começou a se tornar popular, várias empresas começaram a investir

na tecnologia virtual. Logo as máquinas de busca se tornaram ferramentas essenciais para

localizar as informações disponibilizadas na desorganizada Web. Podem-se destacar três

grandes gerações das máquinas de busca desenvolvidas até hoje para o ambiente Web

(GOLGHER, 2003). Tais gerações possuíam características próprias, destacadas nas próximas

seções.

4.3.1 MÁQUINAS DE BUSCA DE 1ª GERAÇÃO

Foram as primeiras a aparecerem na Web. Suas principais características são:

• Tratavam dezenas de milhões de documentos;

• Possuíam baixa cobertura e precisão;

• O processamento de consultas e documentos era realizado principalmente através do

modelo vetorial.

4.3.2 MÁQUINAS DE BUSCA DE 2ª GERAÇÃO

No final do ano de 1997, somente uma das quatro máquinas de busca mais usadas da

Web procurava a si própria (BRIN, 1998). Tornou-se evidente que seriam necessárias

máquinas de busca mais eficientes e precisas, incrementando novas características para

auxiliar o usuário nas suas consultas. Novas funcionalidades foram introduzidas, surgindo

então a geração atual de máquinas de busca cujas principais características são:

• Análise de links, com a utilização do algoritmo PageRank, HITS e combinações e

extensões desses algoritmos;

Page 81: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

81

• Análise de hipertexto, Texto Âncora e Proximidade;

• Sugestão de consultas relacionadas, através da análise de logs de consultas. Consulta

que ocorrem juntas com freqüência podem ser consideradas correlacionadas;

• Correção Ortográfica e

• Busca Multimídia baseada em:

� texto: existe um texto descritivo de cada conteúdo multimídia. Por exemplo, uma

figura do escudo do time “Vasco da Gama”, terá em seu texto descritivo a palavra

“Vasco da Gama”.

� conteúdo: o usuário provê um modelo do conteúdo que deseja, sendo seu conteúdo

analisado e os similares retornados. Por exemplo, o usuário forneceria uma figura

do escudo do time “Vasco da Gama” e pela análise de suas cores, formato, etc,

figuras similares seriam retornadas.

4.3.3 MÁQUINAS DE BUSCA DE 3ª GERAÇÃO

Apesar dos bons resultados alcançados pelas máquinas de busca de 2ª geração as buscas

ainda retornam grande quantidade de informação não relevante. Consultas não

contextualizadas são um dos problemas enfrentados por esses dispositivos. Por exemplo, se o

usuário digitar “jaguar”, não se sabe ao certo se o usuário deseja informações sobre o

automóvel, a equipe de fórmula 1 ou o animal. Para solucionar esse problema, as pesquisas

estão voltadas para a organização e contextualização do conhecimento através de um modelo

conceitual. Os estudos atualmente abordam a descrição desse conhecimento através de uma

rede semântica que possa descrever a hierarquia e o relacionamento entre os conceitos desse

relacionamento, como por exemplo é o caso da AkwanMed (http://akwanmed.com.br/por/),

apresentado por GOLGHER (2003). A tendência observada é a descrição do conhecimento

através de domínios específicos, conhecidos também como domínios verticais, assim como o

serviço de personalização das buscas.

4.4 MECANISMOS DE BUSCA DA ATUALIDADE

Encontrou-se grande dificuldade na descrição das ferramentas disponíveis na Web.

Apesar da maioria das máquinas de busca seguirem a arquitetura apresentada na FIG. 4.1

(COSTA, 2002), as melhores ferramentas, por serem comerciais, não divulgam informações

Page 82: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

82

detalhadas e atualizadas sobre os seus algoritmos e características. As ferramentas de código

aberto ainda são raras e estão num estágio muito precoce de desenvolvimento. A seguir serão

detalhadas duas ferramentas comerciais conhecidas: o AltaVista e o Google. Serão

brevemente apresentadas outras duas iniciativas: o Projeto Nutch, que é uma proposta de

ferramenta de busca de código aberto, e o MnoGoSearch, que disponibiliza um software de

busca para internet e intranet que pode ser instalado em máquinas servidoras.

4.4.1 ALTAVISTA

O AltaVista, desenvolvido nos laboratórios de pesquisa da Digital Equipament

Corporations (KOBAYASHI, 2000), possui, em linhas gerais, a arquitetura da máquina de

busca apresentada na FIG 4.1. Considera o texto inteiro das páginas Web no processo de

indexação, tratando cada página como uma seqüência de palavras. Uma palavra pode ser

qualquer conjunto de letras e dígitos delimitados por pontuação ou qualquer outro sinal não-

alfabético. O AltaVista utiliza o esquema de stopwords dinâmico, onde a relação de

stopwords não é cadastrada manualmente. Porém o número de vezes que cada palavra aparece

no documento é contado e, se atingir um valor previamente determinado, a palavra passa a ser

considerada uma stopword e não é indexada.

A lei Zipf de distribuição de valores, que tem sido utilizada para caracterizar a

distribuição de palavras em uma linguagem natural, é considerada na distribuição dos termos

no índice do AltaVista (COSTA, 2002). Segundo essa lei, uma linguagem apresenta:

• poucas palavras que são usadas muito freqüentemente;

• um grande número de palavras é usado constantemente;

• um grande número de palavras quase não é usado.

Inicialmente, uma consulta no AltaVista tem os seus termos comparados a uma lista de

valores compostos previamente cadastrados na sua base de índices. Esta etapa visa averigüar

se a consulta coincide com algum termo composto, tal como “Estados Unidos” ou “banco de

dados”. Estes termos compostos representam palavras com maior probabilidade de

aparecerem juntas nos documentos. O objetivo é aumentar a relevância dos documentos

retornados para o usuário. Após essa etapa, é realizada a extração de stopwords, pois essas

palavras trazem pouca relevância na diferenciação das páginas. Finalmente, o processador de

consulta submete a consulta à base de índices e obtém sua resposta na forma de um conjunto

Page 83: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

83

de links ordenados, de acordo com um valor de classificação (ranking) anteriormente

cadastrado.

4.4.2 GOOGLE

O Google foi a primeira máquina de busca a implementar o algoritmo do PageRank. Foi

desenvolvido inicialmente como um projeto acadêmico da Universidade de Stanford e

atualmente faz parte da companhia Google Inc. Ele implementa a maioria das características

das máquinas de 2ª geração, e já começa a trabalhar na aplicação das características das

máquinas de 3ª geração com a compra da empresa de software Applied Semantics no início

de 2003 (TYLER, 2003). Apesar de no início, por ser tratar de um projeto acadêmico, seus

algoritmos de indexação e classificação terem sido disponibilizadas para o público, isto não

mais ocorre em virtude de sua transformação em ferramenta comercial.

FIG. 4.6 Arquitetura do Google (BRIN, 1998).

Na FIG. 4.6 é apresentada a arquitetura do Google (BRIN, 1998). A busca por páginas

para a indexação é feita com a utilização de robôs distribuídos. Inicialmente o Servidor de

Page 84: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

84

URL envia listas de URLs para os robôs. As páginas Web recuperadas são enviadas para o

Servidor de Armazenamento, que as comprime e armazena num repositório. Cada página

Web, no repositório, possui um número associado, chamado de docID, que é criado sempre

que uma nova URL é analisada em uma página Web. Esse número tem a função de identificar

a URL dentro da base de URLs mantida pelo Google. No caso do robô não encontrar uma

página já cadastrada anteriormente, ela é apagada do índice Google.

A função de indexação é executada pelo Indexador e pelo Ordenador. O Indexador

executa várias funções, incluindo a leitura do repositório, a descompressão e análise dos

documentos. A análise de páginas é feita através da utilização de um analisador léxico próprio

que trata de problemas relacionados à indexação de páginas na Web. Cada palavra do

documento é convertida em um wordID (identificador de palavra) usando o Léxico, que

consiste em uma tabela hash em memória contendo todas as palavras já indexadas. Após ser

encontrado o wordID da palavra, as ocorrências da palavra no documento são traduzidas em

uma lista de hits e estes são escritos na lista de indexação direta de documentos. Cada hit

grava a palavra, sua posição no documento, uma aproximação do tamanho da fonte da

palavra, e o tipo de caixa da palavra. O Indexador distribui esses hits em um conjunto

formado por uma estrutura de dados, chamado de “forward barrels”. Essa estrutura de dados

é descrita na FIG. 4.7.

FIG. 4.7 Forward Barrels (BRIN, 1998).

Outra função executada pelo Indexador consiste na análise dos links em cada página

Web. Essa análise extrai informações sobre o texto relacionado a cada link e para qual página

ele aponta (técnica do Texto Âncora). Essas informações são armazenadas no Repositório de

Âncoras.

O Resolvedor de URL interpreta o arquivo contendo as âncoras e converte as URLs

relativas às páginas em URLs absolutos e, neste momento, cada URL absoluto recebe o seu

identificador de documento (docID). Nesse módulo, o texto da âncora é armazenado em um

Page 85: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

85

índice direto que possui ainda outro campo contendo a identificação do documento (docID)

para o qual este aponta. O Resolvedor de URL gera também um banco de dados de links

formado por pares de docIDs. Um dos componentes do par identifica a página onde o link está

e o outro indica o endereço para o qual esse link aponta. Esse banco de dados de links é

utilizado, principalmente, para calcular o PageRank para todos os documentos indexados pelo

Google.

O Ordenador é utilizado para gerar índices invertidos a partir dos “forward barrels”, que

são organizados pelo docID. O ordenador pega cada elemento da lista de indexação direta

(docID) e os organiza por seu identificador de palavra (wordID). Ele produz uma lista

invertida simplificada por título e hits de âncora e a armazena em uma estrutura de dados

denominada “short inverted barrel” e uma lista invertida com um índice para o texto

completo, armazenando-a em uma estrutura de dados denominada “full inverted barrel”. A

FIG. 4.8 mostra essa estrutura de dados.

FIG. 4.8 Inverted Barrels (BRIN, 1998).

Existe ainda um módulo chamado de “DumpLexicon” que usa esta lista invertida junto

com o Léxico, que é um dicionário de palavras geradas pelo indexador do Google, gerando

um novo Léxico a ser usado pelo Buscador. O módulo “Buscador” é executado em um

servidor Web. Usa o Léxico construído pelo DumpLexicon junto com o índice invertido e o

PageRank para processar as consultas.

Do ponto de vista do processamento da consulta do usuário, o Google segue o seguinte

algoritmo:

1. A consulta é analisada e dividida em palavras;

2. As palavras da consulta são convertidas em identificadores de palavras (wordID),

utilizando o léxico;

3. Cada palavra é procurada no início das listas de documentos no short inverted

barrel;

Page 86: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

86

4. Procura a lista de documentos até encontrar um documento que atenda a todos os

termos da busca;

5. Caso o documento exista, calcula o rank (valor) do documento para a consulta;

6. Se o algoritmo estiver pesquisando o short inverted barrel e a lista de documentos

tiver terminado, a busca é realizada pelo início da lista de documentos no “full

inverted barrel” para cada palavra da consulta;

7. Enquanto não tiver terminado a lista de documentos, continua a execução do passo

4;

8. Ordenar os links retornados de acordo com o algoritmo de ranking. Depois são

retornados os “k” primeiros para o usuário.

No caso da busca de apenas uma palavra-chave, o Google procura na lista de hits de cada

documento as palavras desejadas. Considera-se existam diferentes tipos de hits. Esses tipos

são: título, âncora, tamanho da fonte de texto, etc. Cada tipo possui um peso e esses pesos dos

tipos formam um vetor indexado pelo tipo, conhecido como vetor dos pesos dos tipos, sendo

o valor dos elementos do vetor conhecido previamente.

O Google conta o número de hits para cada tipo, cujo valor é convertido em um peso para

cada tipo. Esse novo conjunto de valores forma o vetor dos pesos dos hits por tipo.

O produto vetorial do vetor dos pesos dos tipos e do vetor dos pesos dos hits por tipo é

usado para calcular um valor do documento.

Para consultas com mais de uma palavra-chave a proximidade entre as palavras no texto

do documento também é considerada. Inicialmente, é criado um vetor indexado pelo par tipo-

proximidade, nomeado vetor tipo-proximidade. Nesse vetor cada par tipo-proximidade

recebe um peso, previamente conhecido, similar ao vetor dos pesos dos hits por tipo. Depois

o Google realiza a contagem de valores para cada par tipo-proximidade. Esses valores são

convertidos em peso para cada par tipo-proximidade. Como resultado desse processo é gerado

o vetor dos pesos dos hits por tipo-propriedade, que é função da freqüência dos hits

(convertidas para peso) por tipo-proximidade. O cálculo do produto vetorial do vetor dos

pesos dos hits por tipo-propriedade com o vetor tipo-proximidade gera o valor usado para

calcular um valor do documento.

Tanto no caso das buscas por apenas uma palavra-chave, quanto nas buscas mais

complexas, o valor gerado para o documento é combinado com o valor obtido para a página

no algoritmo de PageRank. Este resulta em um valor final para cada documento, que é usado

na ordenação da resposta. Após essa ordenação as respostas são retornadas para o usuário.

Page 87: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

87

4.4.3 PROJETO NUTCH

O projeto Nutch é um esforço para implementar uma máquina de busca para Web de

código aberto. É patrocinado pelo laboratório Overture Research

(http://research.overture.com/) e pelo The Internet Archive (http://www.archive.org/). Ele

fornece uma alternativa transparente em relação às máquinas de busca comerciais. Um de

seus objetivos é eliminar, ou pelo menos deixar explícito ao público, a parcialidade nos

resultados apresentados por uma busca. Este projeto encontra-se em fase de desenvolvimento

e disponibiliza uma versão do seu código para desenvolvedores

(http://www.nutch.org/release/).

4.4.4 MNOGOSEARCH

O MnoGoSearch é um projeto da empresa Lavtech.Com Corp (http://search.mnogo.ru/)

que disponibiliza um software de máquina de busca para intranet e internet. O processo de

busca neste software é dividido em duas etapas:

• inicialmente o mecanismo indexador navega através dos diversos endereços da Web

ou a locais e, recursivamente, recolhe os metadados e as URLs dos diversos documentos

encontrados, armazenando-os num banco de dados SQL;

• realização da pesquisa na base criada, via uma interface Web.

O software pode ser instalado em servidores de redes, indexando tanto informações sobre

a internet quanto sobre a intranet, muitas vezes não acessada pelos serviços de busca em

virtude dos firewalls. Sua versão para Unix/Linux é fornecida gratuitamente.

4.4.5 COMPARAÇÃO ENTRE OS MECANISMOS DE BUSCA

As ferramentas discutidas anteriormente apresentam uma arquitetura, de modo geral,

bastante similar. Um ponto diferencial está nos algoritmos de ordenação (ranking) utilizados

em cada uma delas. A ferramenta fornecida pelo projeto Nutch fornece pouca documentação

sobre os seus algoritmos, em virtude do estágio ainda muito inicial de desenvolvimento. Além

disso, os detalhes desses algoritmos não são divulgados pelas ferramentas comerciais o que

torna o processo de comparação deveras difícil.

Page 88: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

88

Outra importante medida de comparação é o número de documentos indexados. Este

dado, mais facilmente encontrado, indica a liderança da ferramenta Google em setembro de

2003 com cerca de 3,3 bilhões de documentos indexados, enquanto o AltaVista apresenta

cerca de 1 bilhão (SULLIVAN, 2003). Nem a máquina de busca do projeto Nutch e nem o

MnoGoSearch apresentam dados a esse respeito. Quando pesquisado na internet, mais uma

vez o Google sai na frente como a ferramenta mais popular, considerada a melhor máquina de

busca existente na atualidade por diversas fontes, tais como BARKER (2003) e CLETO

(2003). Além disso, disponibiliza uma API que facilita o acesso aos seus resultados através de

programação. Em virtude desses fatores, o Google será utilizado, no contexto desse trabalho,

para a realização das buscas na Web, funcionando como uma ferramenta de busca primária,

ou seja, aquela ferramenta que efetivamente realiza a busca na Web.

4.5 USO DE ONTOLOGIAS NOS MECANISMOS DE BUSCA

No que diz respeito ao uso de ontologias nas atuais máquinas de busca na internet,

verificou-se que, atualmente, as pesquisas nessa área ainda estão num estágio inicial e poucas

máquinas são disponibilizadas, a exemplo da máquina de busca SHOE. Os seguintes

resultados podem ser destacados:

• máquina de busca baseada na linguagem SHOE: a linguagem SHOE (Simple HTML

Ontology Extensions) é uma pequena extensão para o HTML que permite a autores de páginas

Web anotar seus documentos com conhecimento passível de ser interpretado por máquinas. A

máquina de busca SHOE (http://www.cs.umd.edu/projects/plus/SHOE/search.html) utiliza

essas marcações para realizar uma consulta SHOE. O problema é que poucos documentos na

Web são anotados de acordo com esse padrão e, além disso, a linguagem SHOE não é

atualmente recomendada pelo W3C.

• A proposta apresentada por BARROS (1998) discute a utilização de hierarquias em

ontologias no auxílio à contextualização da busca. Nesta proposta é apresentada a utilização

tanto de superconceitos, subconceitos quanto de sinônimos. Os superconceitos e sinônimos

eram propostos para a melhoria da cobertura dos documentos procurados na Web. Já os

subconceitos eram propostos como uma forma de melhorar a precisão. Infelizmente a

máquina de busca proposta pelo autor não foi encontrada para testes.

Page 89: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

89

A ferramenta SHOE utiliza uma técnica totalmente diferente da ferramenta proposta nesta

dissertação, já que exige anotações utilizando a linguagem SHOE nas páginas que são

buscadas.

A técnica proposta por BARROS se aproxima da utilizada no presente trabalho.

Entretanto podem ser destacadas algumas diferenças fundamentais:

• BARROS propõe a utilização dos superconceitos, subconceitos e sinônimos no

processo de expansão dos termos da busca. Além disso, sugere que, somente no caso dos

subconceitos, a busca seja restrita pela utilização do operador booleano AND. Nestes casos, o

termo digitado pelo usuário e o termo extraído da ontologia formam um novo conjunto de

termos a serem buscados, unidos pelo operador AND. Por exemplo, suponha que o usuário

digite “carro” e, dentro da ontologia, “fusca” seja um subconceito de “carro”. Dessa forma,

obtém-se com o uso dessa proposta a associação: “carro AND fusca”. Nos outros casos, os

termos são associados com a utilização do operador OR. Por exemplo, se “professor” é o

termo digitado pelo usuário e “pessoa” é o seu superconceito, então a associação “professor

OR pessoa” é obtida;

• A presente proposta utiliza subconceitos, conceitos associados e propriedades no

processo de expansão dos termos da busca. Em todos os casos o termo digitado pelo usuário é

associado aos termos ou conjunto de termos encontrados na ontologia com a utilização do

operador AND. Isto é melhor detalhado no capítulo 5.

4.6 CONSIDERAÇÕES FINAIS

A Web possibilitou a construção de mecanismos que passaram a analisar novas

informações auxiliares que vão além do conteúdo textual, tais como, a estrutura e o texto dos

hiperlinks. Os principais desafios a serem enfrentados por estes novos engenhos de busca são

principalmente os relativos à precisão, cobertura e falsas referências.

A precisão procura retornar em primeiro lugar os documentos mais importantes para a

consulta submetida. O desafio da cobertura é enfrentado quando existe uma pequena

quantidade de documentos na Web para uma dada consulta. Estas consultas são chamadas de

consultas por tópicos específicos. Nestes casos os engenhos de busca enfrentam o desafio de

tentar encontrar os documentos que respondem à consulta entre os milhares de documentos

existentes na base de dados do engenho de busca. Novas técnicas, utilizadas pelas máquinas

de busca de 3ª geração estão buscando utilizar as informações que podem ser armazenadas

Page 90: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

90

nas ontologias de modo a encontrar documentos, relacionados semanticamente com o que está

sendo procurado, melhorando a precisão e aumentado a cobertura da consulta realizada. Para

alcançar este objetivo são utilizados os relacionamentos entre conceitos, hierarquias,

sinonímias, entre outras técnicas que possam expandir e especificar para domínios específicos

uma consulta realizada pelo usuário. A especialização das consultas através de máquinas de

busca de domínio específico é uma das tendências das máquinas de busca da nova geração.

As falsas referências são utilizadas nas páginas Web, com o intuito de manipular as funções

de ranking. A técnica do PageRank surgiu exatamente como um dos meios de tornar os

engenhos de busca imunes a tais técnicas. Novas técnicas objetivando manipular a valoração

das páginas (rankeamento) certamente irão surgir, sendo portanto necessário um esforço

contínuo na pesquisa de técnicas que possam manter o retorno dos engenhos de busca o mais

isento e imparcial possível.

Outra categoria dos serviços de busca que se destaca é a de metabusca. Estes serviços

podem filtrar e combinar os resultados de diversos serviços de busca, num determinado

contexto, permitindo uma melhoria significativa dos resultados apresentados pelos serviços de

busca individuais. A ferramenta desenvolvida neste trabalho, apesar de realizar a busca

utilizando apenas o Google como ferramenta de busca primária, pode ser facilmente adaptada

para trabalhar com outras máquinas de busca, podendo-se classificar nesta categoria. Na

realidade, por utilizar as ontologias que possibilitam a organização hierárquica das

informações capturadas da Web, essa ferramenta já apresenta as características dos diretórios

e máquinas de busca conjuntamente.

O foco dessa dissertação está no estudo das características de contextualização da busca

realizada pelo usuário através de uma ontologia de domínio específico, que fornece uma

hierarquia de conceitos, conceitos associados e propriedades que auxiliam o usuário na sua

busca. O objetivo é melhorar a relevância dos resultados apresentados para o usuário, através

da melhoria da precisão dos mesmos. Além da utilização de termos da hierarquia, mais

especificamente os subconceitos, relacionamentos semânticos são utilizados para fornecer

novos conjuntos de sentenças que são utilizados para uma melhoria na contextualização da

busca, sendo estes fatores objeto de estudo do próximo capítulo.

Page 91: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

91

5 DESENVOLVIMENTO DO PASS

O ambiente PASS (Portal with Access to Semantic Search) proposto nesta dissertação

objetiva criar uma infra-estrutura básica para auxiliar o usuário a realizar buscas no ambiente

Web com o auxílio de ontologias de domínio específico. Para alcançar este objetivo, o PASS

apresenta duas funcionalidades principais: a do editor de ontologias para o ambiente Web,

denominado ONTOPASS (ONTOlogies for the PASS), e a da ferramenta de busca semântica

denominada TOSS (TOol for Semantic Search). O ONTOPASS permite a criação e edição

das ontologias. A ferramenta TOSS utiliza os termos presentes nas ontologias desenvolvidas

para orientar as buscas realizadas pelos usuários.

O PASS apresenta outras funcionalidades que podem ser destacadas:

• armazenamento de informações sobre os usuários e suas preferências (personalização

da página), de forma a agilizar consultas posteriores a elementos da ontologia;

• recomendação colaborativa, onde usuários mais experientes podem recomendar links

para outros usuários menos experientes;

Nas próximas seções serão apresentados os detalhes dessa ferramenta. Inicialmente será

vista a arquitetura dessa ferramenta, criada como um módulo adicional do framework KAON.

Após serão detalhadas as diversas funcionalidades da ferramenta, cujo editor de ontologias e

ferramenta de busca merecem destaque. Por fim são apresentadas a visão geral das

tecnologias e ferramentas utilizadas como meios auxiliares de desenvolvimento e as principais

conclusões do capítulo.

5.1 ESPECIFICAÇÃO DA ARQUITETURA DO SISTEMA

O PASS apresenta duas funcionalidades principais: a primeira, correspondente ao editor

de ontologias, e a segunda a ferramenta de busca. O framework KAON, apresentado no

capítulo 3, foi utilizado como suporte no seu desenvolvimento. O KAON pode ser descrito

como um framework extensível para gerenciamento de ontologias. A FIG. 5.1 a seguir mostra

a arquitetura em camadas do framework KAON, acrescida do ambiente PASS. Sua descrição

simplificada é apresentada a seguir.

Page 92: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

92

FIG. 5.1: Arquitetura em camadas do framework KAON

Em destaque na cor amarela são mostrados o ONTOPASS e a ferramenta TOSS que

estendem o KAON Portal. O KAON portal original permite apenas a navegação por

diferentes ontologias. O acréscimo do editor de ontologias ONTOPASS torna possível a

criação e edição de ontologias através do ambiente Web, permitindo a evolução e manutenção

das ontologias ao longo do tempo. O acréscimo da ferramenta de busca TOSS permite que

termos existentes na ontologia sejam empregados no processo de expansão dos termos da

busca, objetivando aumentar a relevância dos resultados, além de categorizar os resultados

obtidos, através do sistema de recomendação colaborativa. A ferramenta TOSS executa

buscas externas ao portal com o auxílio do Google, acessado através de sua API. O PASS

utiliza a API KAON da camada de gerenciamento para acessar essas ontologias. A API

KAON trabalha com o formato RDF, utilizando a API RDF e seus módulos associados

possuindo também um formato proprietário, baseado em RDF, gerenciado pelo Servidor de

Projetos. Dentre as extensões fornecidas por esse formato, pode-se destacar as propriedades

simétricas, transitivas e inversas. As ontologias são armazenadas em um banco de dados

relacional e em arquivos texto, presentes na camada de armazenamento.

Page 93: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

93

5.2 ONTOPASS: FERRAMENTA DE EDIÇÃO DE ONTOLOGIAS

Uma das grandes vantagens da utilização do PASS é a possibilidade de utilizar seu editor

de ontologias, o ONTOPASS, através do ambiente Web, sem a necessidade de instalação de

nenhum software nas máquinas clientes, além de um navegador Web. Aliás, todo o processo

de edição de ontologias no ONTOPASS é realizado através da navegação entre os conceitos,

propriedades e instâncias existentes nas ontologias. As ontologias KAON são grafos

interconectados de objetos, cujos elementos podem ser acessados através da navegação.

A ontologia utilizada neste trabalho foi construída a partir do tesauro sobre Ciência da

Informação encontrado na Web (http://www.asis.org/Publications/Thesaurus/tnhome.htm). Os

termos desse tesauro foram transformados em conceitos ou sinônimos e o relacionamento

entre os termos foram transformados em propriedades associativas ou relações hierárquicas,

dependendo do tipo de propriedade. Como apresentado na seção 2.1, os tesauros caracterizam

os relacionamentos entre termos por meio de códigos que são: “TG” (Termo Genérico),

“TGP” (Termo Genérico Partitivo), “TE” (Termo Específico), “TEP” (Termo Específico

Partitivo), “TA” (Termo Associado), “TR” (Termo Relacionado), “UP” (usado por) e “USE”.

Dessa forma, os tesauros não permitem uma diversidade maior para tipos (nomes) de

relacionamentos. Isto limita a semântica, principalmente no caso dos termos associados ou

relacionados (TA ou TR). Nas ontologias é possível declarar esses relacionamentos com

outros nomes que podem trazer maior sentido semântico. Assim sendo, os nomes das

propriedades associativas na ontologia foram adaptados considerando o tipo de

relacionamento fornecido pelo tesauro e o sentido semântico do relacionamento. Por exemplo,

o termo “redes” no tesauro estava associado ao termo “tráfego (rede)”, como termo associado

(TA). Na passagem para a ontologia do presente trabalho, “redes” e “tráfego (rede)” foram

considerados conceitos, sendo sua associação feita através da propriedade “possui”. Uma

ressalva a ser feita é que os parênteses dos elementos contextualizadores dos tesauros foram

substituídos por pontos. Por exemplo, “tráfego (rede)” passou para a ontologia como “tráfego

.rede.”. Isto foi feito em virtude da limitação do modelo RDF estendido do KAON com

relação ao uso de parênteses nos nomes dos conceitos. Outro fator considerado foi não causar

interferência com a utilização desses sinais na realização da busca na Web, já que pontos são

desprezados na busca.

Page 94: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

94

Para acessar o ambiente PASS, o usuário deve realizar primeiramente sua identificação.

A FIG. 5.2. mostra a tela inicial desse ambiente.

FIG. 5.2: Tela Inicial do PASS

Conforme descrito na seção 3.3.3, as ontologias KAON são formadas por entidades que

podem ser conceitos (representam um conjunto de instâncias), propriedades (representam um

conjunto de pares de objetos, que podem ser instâncias ou valores) e instâncias. Os valores

(constantes) são considerados conceitos com uma única instância. Caso estejam associados a

um conceito, são denominados de atributos deste conceito. As propriedades são orientadas e

associam dois conceitos, ou um conceito e um atributo. Os conceitos podem ser organizados

de maneira hierárquica, estabelecendo um relacionamento de superconceitos e subconceitos.

Depois de acessar o sistema, o usuário pode ter acesso às ontologias de domínio

existentes através do ONTOPASS. A FIG. 5.3 mostra detalhes do conceito “redes” existentes

na ontologia do domínio de Ciência da Informação, apresentados a um usuário classificado

como “administrador” neste domínio. No lado direito são apresentadas as características da

entidade escolhida, tais como: os superconceitos, subconceitos, propriedades e instâncias.

Observe que existe a possibilidade do usuário personalizar os conceitos apresentados como

categorias de sua preferência.

Page 95: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

95

FIG. 5.3: Interface do ONTOPASS

Na parte superior esquerda da FIG. 5.3, destaca-se a possibilidade de visualização de

ontologias em outros idiomas. O usuário pode escolher o idioma desejado pressionando a

qualquer momento no link que identifica o seu idioma. No caso do presente trabalho, a

ontologia foi desenvolvida em português e em inglês. A FIG. 5.4 mostra a mesma tela

apresentada na FIG.5.3 na sua versão em inglês.

Page 96: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

96

FIG. 5.4: Versão em inglês da interface do ONTOPASS

Ainda na parte esquerda da FIG. 5.3 podem-se observar os links que possibilitam a edição

de ontologias. Por exemplo, a FIG. 5.5 demonstra como é o processo de inclusão de um

subconceito. No caso, é demonstrado como o conceito “telecomunicações” pode ser incluído

no conceito “redes” selecionado anteriormente. A inclusão de outros elementos da ontologia é

feita de forma similar.

FIG. 5.5: Inclusão de um subconceito

Page 97: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

97

Outro item que merece atenção é a configuração das propriedades dos conceitos. Depois

de incluídas as propriedades, o usuário pode realizar a configuração dessa propriedade,

caracterizando-as como transitivas, simétricas e inversas. Para isso, basta o usuário clicar na

propriedade desejada, como por exemplo, a propriedade “são formadas por” do lado direito da

FIG. 5.3, e aparecerá uma nova tela que apresenta as características dessa propriedade, como

a apresentada na FIG. 5.6. Nesta tela o usuário deve escolher o link “Configurar Propriedade”

para alterar as características dessa propriedade. No caso de propriedades inversas o usuário

deve fornecer o nome da propriedade inversa desejada.

FIG. 5.6: Inclusão de um subconceito

As ontologias existentes no PASS podem ser armazenadas tanto em banco de dados

quanto em arquivos textos nos computadores escolhidos como servidores e representadas

segundo um modelo RDF/RDFS estendido oferecido pelo framework KAON. As extensões

oferecidas compreendem a camada léxica, além de propriedades simétricas, transitivas e

inversas. A camada léxica permite acrescentar informações adicionais sobre as entidades

(conceitos, propriedades e instâncias) da ontologia em diversos idiomas, tais como sinônimos,

descrições sobre as entidades e labels.

Page 98: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

98

Outra funcionalidade encontrada no ONTOPASS são as consultas utilizando a linguagem

de consulta experimental oferecida pelo framework KAON (KAON, 2003) (ver APÊNDICE

1). As consultas KAON são similares às consultas que usam lógicas de descrição com um

número limitado de funcionalidades. Para as próximas versões já existe a previsão de

incorporação nas consultas de novas características das lógicas de descrição, além da

integração de regras de inferência.

De modo geral, o ONTOPASS apresenta funcionalidades similares aos do OI-modeler,

apresentado na seção 2.4.2.3, com exceção da parte referente à importação de ontologias e

configuração da estratégia de evolução. Nesse sentido, o ONTOPASS não permite entidades

órfãs e para a deleção de um superconceito, seus subconceitos devem ser deletados

primeiramente. Entretanto, é importante ressaltar que o ONTOPASS, em contraste com o OI-

Modeler, permite o trabalho com ontologias na internet, através de um navegador Web,

utilizando uma arquitetura cliente-servidor, sem a necessidade de instalação de nenhum

software adicional nas máquinas clientes.

5.3 TOSS: FERRAMENTA DE BUSCA SEMÂNTICA NA WEB

Pesquisar a Web não é uma ciência exata. Muitos usuários despendem enorme esforço

para encontrar o assunto que desejam. Na realidade, isto se deve principalmente à forma como

o usuário realiza a pesquisa. Eles usam palavras vagas e muitas vezes não têm a exata idéia do

que estão procurando.

Silveira (2003) comenta que o processo de formulação de consultas se dá em quatro

diferentes etapas. No primeiro momento, a necessidade de informação pode não ter expressão

em palavras, é uma necessidade visceral. No segundo, ela pode ser consciente, com expressão

interna no cérebro, mas ainda sem palavras. No terceiro, ela pode ser formalizada em frases e

expressões e, no quarto momento, pode ser transformada em palavras-chave. Ademais, a

necessidade de informação se altera à medida que o usuário obtém as primeiras respostas e

passa a conhecer melhor a coleção. Esse fenômeno ocorre devido à característica dinâmica e

evolutiva do conhecimento.

Neste processo, surgem problemas relacionados à dificuldade de transformação da

necessidade de informação em uma consulta, usualmente expressa como uma seqüência de

palavras-chave, conectadas ou não por operadores booleanos. Além disso, a necessidade de

informação se dá em um contexto específico, que também é perdido na formulação da

Page 99: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

99

consulta realizada na maior parte das ferramentas hoje existentes. Outro ponto importante é a

incerteza envolvida na recuperação de documentos relevantes, já que existe uma limitação na

possibilidade de recuperação desses documentos nos sistemas de Recuperação de Informação

(RI). Por outro lado, a necessidade de informação se altera à medida que o usuário obtém as

primeiras informações, seja porque não é totalmente especificado ou porque um documento

pode atender apenas parcialmente à necessidade de informação representada na consulta.

Como conseqüência, uma longa lista de documentos é apresentada ao usuário e sua tarefa

passa a ser então selecionar os que são relevantes à sua necessidade de informação. Nesse

contexto, encontrar documentos de interesse pode exigir várias interações e reformulações da

consulta inicial, tornando-se um processo trabalhoso. Uma alternativa para simplificar esse

processo é expandir a consulta do usuário com termos adicionais que forneçam um melhor

contexto para a consulta.

O processo de expansão dos termos de busca consiste na pesquisa não somente do

conceito escolhido pelo usuário, mas também dos subconceitos e dos conceitos associados

através de algum predicado (propriedade). A idéia é associar automaticamente esses termos de

forma a criar uma seqüência de palavras-chave associadas por operadores booleanos. Outro

fator que pode ser considerado na montagem dessas palavras-chave são os predicados

(propriedades) e seus significados semânticos. As propriedades simétricas, transitivas e

inversas de uma ontologia podem ser utilizadas para ordenar e associar as palavras-chaves de

uma busca.

Outro ponto a ser ressaltado é a não preocupação por parte dos serviços de busca em

guardar informações a respeito do usuário que o está acessando ou permitir que o usuário

armazene informações sobre as consultas que já realizou. Este fato é resultante do enorme

número de usuários que acessam esses serviços, o que dificulta o armazenamento de

informações a respeito de todos. Esse armazenamento de informações permitiria ao usuário

personalizar os assuntos de seu interesse para um acesso mais rápido e eficaz posteriormente.

Outro ponto interessante é a criação de mecanismos de colaboração entre os usuários,

permitindo aos mais experientes indicar referências interessantes para outros.

Vislumbrando a solução dos problemas apresentados anteriormente, o ambiente PASS

utiliza um conjunto de técnicas que são apresentadas nas próximas seções.

Page 100: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

100

5.3.1 TÉCNICAS UTILIZADAS NO AMBIENTE PASS

Para realizar as buscas na Web, o PASS utiliza um conjunto de técnicas que objetiva

aumentar a relevância dos documentos encontrados pela ferramenta TOSS e diminuir o

esforço despendido ao se procurar por determinado assunto. Primeiramente, procura-se

armazenar um conjunto de informações e preferências dos usuários de modo a permitir a

personalização de sua página principal e controlar o acesso a determinadas funcionalidades do

sistema. Procura-se também permitir o compartilhamento de recomendações dos usuários

mais experientes com os outros usuários da ferramenta. Por último, realiza-se o processo de

expansão dos termos da busca com dados provenientes da ontologia. Estas etapas serão

detalhadas nas seções a seguir.

5.3.1.1 MODELO DO USUÁRIO

Por ser tratar de um portal, um ponto importante a ser considerado é a camada de

personalização. Ela estabelece as informações fornecidas pelo portal de acordo com as

características de cada usuário. No PASS tal camada tem por objetivo principal selecionar e

apresentar os assuntos de interesse do usuário na sua página inicial no sistema. No PASS

tanto os assuntos de interesse, quanto às demais informações sobre os usuários, são

armazenados em uma ontologia. Esta ontologia é separada das ontologias de domínio

específico que o sistema pode tratar. Esta separação foi necessária pois as ontologias de

domínio e as que contêm informações sobre os usuários do sistema tratam de assuntos

diferentes, proporcionando assim a possibilidade de compartilhamento dessas ontologias com

outros sistemas, sem o comprometimento da qualidade das mesmas. A FIG. 5.7 esboça

exemplos de ontologias de domínio através da interface do ONTOPASS.

FIG. 5.7: Exemplos de domínios de ontologias, através da interface do ONTOPASS

Page 101: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

101

O usuário pode personalizar os conceitos de seu interesse nas diversas ontologias de

domínio tratadas pelo sistema e armazená-los na ontologia que contém as suas informações

pessoais. Essas informações são apresentadas na forma de categorias e os usuários podem

acessá-las mais rapidamente através da sua página inicial. A FIG. 5.8 mostra um exemplo de

algumas categorias escolhidas para serem mostradas na página inicial de um usuário dentro do

ambiente PASS.

FIG. 5.8: Exemplos de categorias selecionadas por um usuário.

Nesta ontologia, onde são guardadas as categorias preferenciais dos usuários, também são

armazenadas informações adicionais para identificação do usuário, tais como: nome, email e

informações sobre seu grau de conhecimentos nos diversos domínios existentes (visitante,

usuário, especialista e administrador). Estas informações permitem montar os diferentes perfis

dos usuários do sistema, oferecendo acesso a diferentes funcionalidades e páginas

personalizadas. Outra característica interessante é que, por ser tratar de uma ontologia, todas

essas informações podem ser compartilhadas com outros sistemas, que podem enriquecer o

seu conhecimento sobre as preferências dos usuários do PASS. A FIG. 5.9 mostra o grafo

orientado da ontologia que guarda as informações sobre os usuários do sistema apresentados

pelo OI-Modeler do framework KAON. Esta ontologia é armazenada no formato RDF

estendido do KAON (ver APÊNDICE 2).

Page 102: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

102

FIG. 5.9: Grafo orientado da ontologia que guarda as informações dos usuários do PASS.

Na FIG. 5.9 os conceitos são representados por retângulos amarelos e as propriedades e

atributos pelas formas geométricas verdes. O retângulo em azul kaon:Root corresponde ao

conceito base a partir do qual todos as entidades da ontologia são criadas. As linhas em cinza

representam relações hierárquicas. Assim sendo, “categoria”, “pessoa” e “uri” são

subconceitos do conceito “Root”.

As propriedades e atributos são diferenciados pelo número de conceitos a que se ligam.

Dessa forma, “categorias” e “consultas” são propriedades, pois associam dois conceitos

(“consultas” associa “pessoa” a “uri” e “categorias” associa “pessoa” a “categoria”). Caso

exista apenas uma relação, tem-se um atributo. Portanto “nome”, “email” e “papel” são

atributos de “pessoa” e “contexto” é atributo de “categoria”.

O conceito “pessoa” agrega as informações “nome”, “email” e “papel” da pessoa. O

atributo “papel” informa se a pessoa é um visitante, usuário comum, especialista ou

administrador para cada um dos domínios tratados pelo PASS. A pessoa pode possuir

diferentes papéis, dependendo do domínio. O conceito “categoria” armazena o nome dos

diversos conceitos selecionados pelos usuários na forma de instâncias. Estas informações são

conectadas a cada um dos usuários através da propriedade “categorias”. O atributo contexto

informa a qual domínio pertence aquele conceito. Isto tem o objetivo de identificar os

Page 103: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

103

conceitos de mesmo nome pertencentes a diferentes domínios. O conceito “uri” armazena as

URIs das páginas recomendadas por usuários com autorização suficiente, sendo essa

informação associada a estes usuários através da propriedade “consultas”.

No que concerne às ontologias de domínio, somente usuários administradores ou

especialistas de um domínio podem recomendar páginas para esse domínio específico. Essas

recomendações são vistas sob a forma de instâncias de um determinado conceito. Por

exemplo, o conceito “redes” poderia conter o endereço de várias páginas na Web que

tratassem sobre esse assunto. Da mesma forma, somente usuários administradores ou

especialistas têm acesso à edição de ontologias de domínio, sendo que a criação de ontologias

é exclusividade dos administradores. Todos os usuários novos que se cadastram no sistema

são classificados como “usuários comuns”, e usuários sem cadastro acessam o sistema como

visitantes. Somente usuários administradores podem modificar a ontologia que trata sobre as

informações dos usuários do sistema, ou mais especificamente, somente os administradores

podem mudar a classificação dos outros usuários para especialistas ou administradores.

5.3.1.2 RECOMENDAÇÃO COLABORATIVA

A Recomendação Colaborativa (COSTA, 2002) é uma técnica baseada na recomendação

de links entre usuários. Essa colaboração cria uma coleção de links, que são inseridos por

usuários considerados especialistas, possuindo um profundo conhecimento a respeito do

domínio em questão. Esses links são compartilhados com outros usuários menos experientes.

O objetivo é auxiliar os usuários a executarem as suas buscas. Certamente os links

recomendados apresentam alto grau de relevância para os assuntos escolhidos.

O PASS armazena links importantes a respeito do domínio como instâncias de um

conceito na ontologia. Este procedimento pode ser comparado ao processo de seleção de

páginas interessantes realizado manualmente pelos diretórios de busca, como por exemplo o

Yahoo. Os conceitos servem como bookmarks e podem ser personalizados pelos usuários

como seus assuntos preferidos. O especialista de domínio da ontologia é responsável por

selecionar os links que serão compartilhados com os outros usuários, sendo o cadastro desses

links feito de forma explícita.

A FIG. 5.10 demonstra como o usuário especialista do PASS pode recomendar links de

uma busca realizada neste ambiente. Os links são armazenados como instâncias do conceito

que gerou essa busca, após o usuário selecionar os endereços de interesse e clicar no botão de

Page 104: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

104

recomendação. A partir desse momento sempre que qualquer usuário dessa ontologia acessar

aquele conceito, os endereços selecionados serão apresentados como suas instâncias.

FIG. 5.10: Possibilidade da recomendação de links na ferramenta TOSS a partir do resultado

de um busca originada a partir do conceito “redes”.

5.3.1.3 EXPANSÃO DOS TERMOS DA BUSCA

O processo de expansão dos termos digitados pelo usuário da ferramenta TOSS pode ser

visto como um pré-processamento da consulta realizada pelo usuário. O conjunto de

palavras digitadas pelo usuário desta ferramenta passa por um pré-processamento que

corresponde à agregação de novas palavras extraídas da ontologia e que estão de alguma

Page 105: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

105

forma associadas ao conjunto de palavras digitadas pelo usuário. Este novo conjunto de

palavras é buscado na Web.

Com o objetivo de tornar o trabalho possível de ser executado dentro do tempo permitido,

foram consideradas algumas restrições. Primeiramente, resolveu-se que as palavras digitadas

ou escolhidas pelo usuário só participam do processo de expansão dos termos da busca se

fizerem parte da ontologia na forma de um conceito. O usuário pode escolher o conceito da

ontologia por navegação ou digitando seu nome no campo de busca. Caso o usuário digite

uma seqüência de palavras que não correspondam a um conceito da ontologia, a busca recai

na pesquisa tradicional realizada pelo Google, e uma mensagem é emitida informando ao

usuário que a palavra digitada não é um conceito da ontologia.

Conforme explicado, os conceitos em uma ontologia KAON podem possuir

superconceitos, subconceitos, propriedades que associam conceitos, e conceitos associados

através de propriedades, sendo ainda permitido o uso de três tipos especiais de propriedades:

simétricas, transitivas e inversas.

Os superconceitos não foram levados em consideração na expansão dos termos da busca,

visto que a utilização de palavras mais genéricas torna a seqüência de palavras-chave mais

vaga em relação ao conteúdo inicialmente escolhido pelo usuário. No entanto, optou-se por

utilizar frases considerando os subconceitos, já que estes especializam um determinado

conceito e aumentam a profundidade (verticalização) da busca requerida pelo usuário.

Independentemente da utilização de subconceitos, conceitos associados ou predicados no

processo de expansão, considerou-se importante que tais termos viessem sempre associados

ao termo escolhido pelo usuário. Essa associação se daria através de conectores booleanos,

que são permitidos pela máquina Google.

O processo de expansão dos termos da busca atentou para as recomendações e restrições

existentes nos atuais mecanismos de busca no que concernem à montagem de seqüências de

palavras-chave. As máquinas de busca atuais consideram como mais importantes as palavras

que surgem em primeiro lugar em uma seqüência de palavras-chave. Outro ponto a considerar

é que a proximidade entre palavras-chave na consulta implicará numa maior relevância dos

documentos que contenham essas palavras-chave próximas no seu texto.

Em virtude do grande número de possibilidades de associação entre esses termos, optou-

se por dividi-los em três grandes grupos, detalhados a seguir:

Page 106: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

106

• Grupo dos Conceitos Associados e Subordinados: formado pelo conceito principal,

acrescido dos conceitos associados através de algum predicado e dos conceitos subordinados;

• Grupo dos Predicados e Conceitos Associados: formado pelo conceito principal,

mais predicado e conceito associado;

• Grupo das Seqüências Inversas: formado pelas seqüências inversas, ou seja,

conceito associado, mais predicado e conceito principal, desde que o predicado seja uma

propriedade simétrica ou inversa.

A ontologia usada neste trabalho para a criação das diferentes seqüências de palavras-

chave anteriormente descritas foi gerada partir de um tesauro da área de Ciência da

Informação disponível na Web (http://www.asis.org/Publications/Thesaurus/tnhome.htm),

escolhido pela facilidade de acesso e disponibilidade. Este tesauro possui 1466 conceitos,

divididos em 16 categorias principais. Por se encontrar disponível somente em inglês, foi feita

a tradução dos conceitos para o Português, de modo a possibilitar ao PASS trabalhar nos dois

idiomas, já que a arquitetura KAON oferece suporte a tal funcionalidade. É importante

mencionar que, após concluir o processo de montagem das seqüências de palavras-chave, é

feito o uso da API Google para a realização das buscas na Web.

Nas próximas seções será mostrado detalhadamente o esquema de criação de cada uma

das seqüências que compõem estes grupos, ressaltando que os termos indicativos de variação

de número ou gênero e sinônimos são considerados elementos intrínsecos em qualquer dos

grupos. Nestes exemplos é considerado o grafo orientado da FIG. 5.11, que seleciona alguns

conceitos e seus relacionamentos apresentados na FIG. 5.3. Nesta, as elipses são tratadas

como vértices do grafo, representando os conceitos da ontologia. A setas são tratadas como

arcos do grafo e representam as propriedades orientadas que associam os conceitos. É

importante ressaltar que os conceitos, propriedades e instâncias são armazenados de fato em

uma ontologia que obedece ao formato RDF estendido do KAON (ver APÊNDICE 3).

Page 107: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

107

FIG. 5.11: Grafo orientado do conceito “redes” e seus conceitos associados

5.3.1.3.1 GRUPO DOS CONCEITOS ASSOCIADOS E SUBORDINADOS

Inicialmente, a partir do relacionamento entre conceitos formadas as seqüências de

palavras. Mais especificamente das palavras que indicam nomes de conceitos e suas variações

(sinônimos e variações de número ou gênero). Por exemplo, suponha que o usuário deseje

buscar a palavra “redes”. Considere também que na ontologia a palavra “rede” seja uma

variação de “redes” e a palavra “malha” seja seu sinônimo. Como “redes” foi a palavra

principal escolhida pelo usuário, esta sempre aparecerá na seqüência de palavras-chave

gerada, unida pelo operador booleano “AND” aos outros termos. Como as palavras “rede” e

“malha” são variações, estas aparecerão logo a seguir, separadas uma da outra por OR. Logo:

• redes AND rede OR malha

Observa-se que, na realidade, são procurados dois conjuntos de seqüências

separadamente:

• redes AND rede

• redes AND malha

A colocação do AND impõe a presença do termo seguinte no documento a ser procurado,

enquanto a utilização do OR permite uma abordagem mais flexível. As variações dos nomes

dos conceitos (sinônimos e variações de número e gênero) são consideradas em todos os

grupos montados pela ferramenta TOSS, não somente no caso dos grupos dos conceitos

associados e subordinados. Na ordenação dos documentos retornados, outros critérios são

levados em consideração como o algoritmo do PageRank, discutido na seção 4.2.3.1.1.

Page 108: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

108

Suponha agora que conectados a “redes” existam mais dois conceitos: “rede pessoal”,

conectado através da propriedade “abrangem” e “tráfego”, associado através da propriedade

“possui”. Duas seqüências de palavras adicionais são então criadas:

• redes AND rede pessoal

• redes AND tráfego

Estes seqüências são então utilizadas na montagem de uma seqüência única, juntamente

com as variações dos nomes dos conceitos mostrados anteriormente, a exemplo de:

• redes AND rede OR malha OR rede pessoal OR tráfego

Além disso, considere que “redes” tenha como subconceitos diretamente associados

“nós” e “computadores”. Isto gera mais duas possibilidades:

• redes AND nós

• redes AND computadores

O que resultaria na seguinte seqüência de palavras-chave:

• redes AND rede OR malha OR rede pessoal OR tráfego OR nós OR computadores

Esta seqüência de palavras, apesar de parecer complexa, na realidade está somente

associando a palavra “redes” ao nome de outro conceito, pois o “OR” associa por vez apenas

um dos trechos de seqüências de palavras adicionais. É importante destacar que a inclusão

dessa seqüência adicional cria o contexto que pode se tornar essencial no retorno das páginas

que o usuário deseja. Neste exemplo, os termos adicionais procuram contextualizar a palavra

“redes” como sendo uma rede de computadores e não uma rede de arame ou de tecido,

justificando a importância da ontologia no contexto da busca. A seguir será explicada a lógica

de montagem do segundo grupo de seqüência de palavras-chave. Neste segundo grupo não

existe uma seqüência única, mas sim várias seqüências que poderão ser escolhidas pelo

usuário de acordo com a sua necessidade.

5.3.1.3.2 GRUPO DOS PREDICADOS E CONCEITOS ASSOCIADOS

É possível observar que ao se montar o conjunto de palavras do primeiro grupo, os

predicados não foram considerados neste processo. Naquele tipo de montagem, o enfoque foi

dado à busca de dois conjuntos de palavras: o conceito principal escolhido pelo usuário e a

associação aos seus termos associados, através do operador “OR”. Agora o enfoque passa a

ser a busca por três termos: o conceito principal, o predicado associado a esse conceito

principal e o conceito associado. Por exemplo, considere o caso de “redes” e dos conceitos

Page 109: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

109

associados “computadores” e “tráfego” conectados respectivamente através das propriedades

“são formadas por” e “possuem”, confome a FIG. 5.12.

FIG. 5.12: Grafo orientado com conceitos associados

A partir desses dados, podem-se montar as seguintes seqüências de palavras:

• redes AND são formadas por AND computadores

• redes AND possuem AND tráfego

Nestes casos, não é fornecida a possibilidade de junção das buscas, pois o Google

somente permite unir as buscas através de operadores booleanos sem o uso de parênteses, ou

qualquer sinal que permita agrupar dois conjuntos de seqüências de palavras. Dessa forma,

usuário deve especificar qual(is) busca(s) deseja realizar. Observe que só são considerados os

conceitos e predicados diretamente associados ao conceito principal. Suponha agora que se

tenha um outro conceito associado denominado “dados”, através do predicado “distribuem”,

que na realidade é uma propriedade transitiva. Suponha também que exista o conceito

“informação” ligado ao conceito “dados” através do predicado transitivo “distribuem”,

conforme mostrado na FIG. 5.13.

FIG. 5.13: Grafo orientado com conceitos e predicado transitivo

Page 110: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

110

Considerando o sentido semântico da propriedade transitiva “distribuem”, pode-se dizer

que “redes distribuem dados” e “rede distribuem informação”, apesar de “redes” e

“informação” não estarem diretamente conectados. Neste caso, considerando a propriedade

transitiva “distribuem”, pode-se montar um novo conjunto de palavras que contém conceitos

não diretamente associados à rede, mas indiretamente associados através de propriedades

transitivas. Logo, tem-se:

• redes AND distribuem AND dados

• redes AND distribuem AND informação

Estas seqüências podem ser unidas em uma única, como a seguir:

• redes AND distribuem AND dados OR informação

Mais uma vez nota-se que o objetivo é contextualizar a busca realizada, através do uso de

propriedades e conceitos existentes na ontologia, com o mínimo de esforço para o usuário.

5.3.1.3.3 GRUPO DAS SEQÜÊNCIAS INVERSAS

O último grupo de seqüências de palavras faz uso da semântica das propriedades

simétricas e inversas. Considerando a seguinte propriedade “são formadas por” que liga os

conceitos “redes” e “computadores” (FIG. 5.12), tendo como inversa a propriedade

“formam”, é possível montar a seguinte seqüência de termos para a composição da busca:

• computadores formam redes

que representa a inversa de:

• redes são formadas por computadores

Um outro tipo de propriedade poderia ser utilizado para conectar “redes” a outros

conceitos, a exemplo da propriedade simétrica. Nesse caso, a propriedade “usam” poderia ser

considerada como simétrica, ligando “redes” a “telecomunicações”. Neste caso, as seguintes

seqüências podem ser apuradas:

• redes usam telecomunicações

• telecomunicações usam redes

As propriedades formadas por seqüências de palavras através do uso de propriedades

simétricas e transitivas, com a inversão entre o conceito escolhido pelo usuário e os

encontrados na ontologia, podem oferecer uma variação interessante da busca. Isto porém

deve ser considerado com cautela, já que os conceitos encontrados na ontologia passam a

Page 111: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

111

obter maior importância do que o conceito escolhido pelo usuário, já que ocupam o primeiro

lugar na seqüência de palavras montadas.

5.4 TECNOLOGIAS E FERRAMENTAS UTILIZADAS

Este tópico tem por objetivo fazer uma apresentação geral das tecnologias envolvidas na

programação dos componentes e ferramentas desenvolvidas como auxiliares no

desenvolvimento da presente dissertação.

Para implementação do presente trabalho, optou-se por utilizar ferramentas gratuitas,

disponíveis na Web e de código aberto sempre que possível.

5.4.1 PLATAFORMA JAVA 2 ENTERPRISE EDITION (J2EE)

A plataforma J2EE (http://java.sun.com/) possibilita acesso a serviços de nível de

sistema, como gerenciamento de transação, segurança, conectividade entre cliente e servidor,

além de acesso a bancos de dados. Ao fornecer tais serviços, esta plataforma permite ao

desenvolvedor se concentrar na lógica do negócio, e não em solucionar problemas

relacionados a tais serviços. O desenvolvedor pode codificar a lógica de aplicação através de

três tipos de módulos: enterprise beans, componentes Web e aplicações clientes J2EE.

Dentro desse contexto, pode-se classificar o JBOSS (http://www.jboss.org) integrado

com o TomCat (http://jakarta.apache.org/tomcat/) como um servidor de aplicação, que atua na

camada do meio. O JBOSS foi escolhido, pois é um servidor de código aberto, compatível

com a especificação J2EE e implementado totalmente em Java.

No presente trabalho, optou-se por utilizar o banco de dados PostgreSQL

(http://www.postgresql.org/). Optou-se por tal banco porque, além de poder ser baixado

gratuitamente na Web, é reconhecidamente um banco de dados confiável e de bom

desempenho, que pode ser comparado ao Oracle, como pode ser visto em KIRKWOOD

(1999) e DBEXPERTS (2001).

A versão do KAON utilizada neste trabalho é a versão 1.2.5, que trabalha com o JDK

1.4.1_01, ou superior.

Page 112: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

112

5.4.2 FERRAMENTA DE DESENVOLVIMENTO ECLIPSE

É um software de desenvolvimento de código aberto dedicado a fornecer uma plataforma

robusta para desenvolvimento de sistemas usando ferramentas altamente integradas

(ECLIPSE, 2003). É composto de três subprojetos: a plataforma propriamente dita, o Java

Development Toolkit (JDT) e o Plugins Development Environment (PDE). O eclipse é uma

plataforma universal que fornece uma Interface Development Enviroument (IDE) extensível,

ou seja, permite programar em Java, C, C++ ou outras linguagens, desde que existam os

plugins necessários. É necessário ter instalado o JRE 1.3 ou o Kit de Desenvolvimento Java

equivalente ou superior.

Neste trabalho utilizou-se o plugin Lomboz v2.1 para o eclipse, que permite a

programação dos componentes da arquitetura J2EE, além do Kit de Desenvolvimento Java,

versão j2sdk1.4.1_02. O servidor de aplicação usado foi o JBOSS integrado com o TomCat,

versão jboss-3.0.4_tomcat-4.1.12. O plugin Lomboz v2.1 permite a integração do servidor de

aplicação com o eclipse, permitindo a rápida distribuição e correção de erros de aplicações

J2EE, ou seja, ela monta a aplicação no servidor de aplicações e retorna os erros, caso

existam.

5.4.3 API GOOGLE

Os responsáveis pelo Google disponibilizaram desde 2002 uma API para consulta no seu

mecanismo de busca (KRILL, 2002). Ela é usada para realizar as buscas semânticas feitas

pela ferramenta.

Essa API foi desenvolvida para plataformas dotnet, java e soap. Na construção do PASS

foi utilizada a API JAVA em uma máquina com o sistema operacional Windows. Para

realização dessa fase foram realizados os seguintes passos:

• Download e instalação do JAVA;

• Download da API Google (http://www.google.com/apis );

• Criação de uma conta no Google que permite realizar até mil consultas ao dia. Caso

seja necessário um número maior de consultas, é necessária a criação de novas contas;

• Cópia dos arquivos da API, através da ferramenta eclipse, no diretório do KAON

Portal;

Page 113: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

113

• Geração e execução do programa.

A API Google impõe algumas limitações em suas consultas, dentre as quais pode-se

destacar:

• Tamanho máximo da string de consulta: 2048 bytes

• Número máximo de palavras por consulta: 10

• Número máximo de resultados por busca: 10

A API impõe um formato para a realização das consultas. Esses parâmetros utilizados

durante a realização de uma consulta são dados na tabela 5.1.

TAB. 5.1: Parâmetros utilizados em consultas

Parâmetro Descrição

Key Chave fornecida pelo Google no momento da criação da conta.

Q Termos da busca.

Start Índice da primeira página a ser retornada.

maxResults Número de resultados desejados por consulta. O valor máximo é dez.

Filter Ativa ou desativa utilização de filtro. Quando ativado retorna somente o

primeiro resultado no caso de múltiplos resultados conterem títulos e idênticos

fragmentos de texto armazenados, ou se forem originados do mesmo provedor

Web.

restricts Restringe a busca por um subgrupo do Google, tal como um país como

“Brasil”, ou um tópico como “Linux”.

safeSearch Habilita ou não conteúdo adulto nas consultas.

Lr Restringe a busca em um ou mais idiomas específicos.

O parâmetro “q” pode ainda ser utilizado com operadores especiais que ajudam a realizar

uma busca mais específica. A TAB. 5.2 apresenta a relação desses operadores.

TAB. 5.2: Operadores especiais em consultas

Operadores especiais Descrição Exemplo

+termo Inclui um termo essencial na consulta. +redes

-termo Exclui um termo na consulta. -redes

“busca por frase” Busca uma frase exata se as palavras “redes de computadores”

Page 114: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

114

estiverem entre aspas na consulta.

termoA OR termoB Operador lógico OR, busca por um

termoA ou um termoB.

“redes” OR

“computadores”

termo site:

endereço do site

Restringe a busca a um determinado

site.

redes site:www.ime.eb.br

termo daterange:

<DataInício><DataFim>

Busca somente páginas publicadas no

intervalo de data especificado. É

utilizada a data juliana para especificar

os intervalors. A data julina é calculada

pelo número de dias desde 1º de janeiro

de 4713 a.c.

redes daterange:

2452122-2452234

intitle:termo Busca somente páginas que tenham o

termo especificado no título.

intitle:redes

allintitle:

termoA termoB

Busca somente páginas que tenham

todos os termos especificados no título.

allintitle:

redes computadores

inurl:termo Busca somente páginas que tenham o

termo especificado na URL.

inurl:redes

allinurl:termoA termoB Busca somente páginas que tenham

todos os termos especificados na URL.

allinurl:redes

computadores

allintext:

termoA termoB

Busca somente páginas em que todos

os termos especificados estejam no

corpo do texto.

allintext:

redes computadores

allinlinks:termoA termoB Busca somente páginas em que todos

os termos especificados estejam em

links.

allinlinks: redes

computadores

termo filetype:doc

OR filetype:pdf

Busca a somente arquivos da extensão

especificada.

redes filetype:doc OR

filetype:pdf

termo -filetype:doc

OR -filetype:pdf

Exclui arquivos da extensão

especificada na busca.

redes -filetype:doc OR

-filetype:pdf

info:

endereço do site

Retorna somente a URL especificada. info:www.ime.eb.br

link: Retorna páginas que tenham links link: www.ime.eb.br

Page 115: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

115

endereço do site apontando para a URL especificada.

Related:

endereço do site

Retorna páginas similares a URL

especificada.

Related: www.ime.eb.br

cache:

endereço do site

Retorna a versão da página em cache

no Google.

cache: www.ime.eb.br

É importante ressaltar que no Google o conectivo booleano AND, utilizado para ilustrar

os exemplos desse capítulo, é substituído por um espaço em branco. Por exemplo, em invés

de:

“redes AND distribuem AND dados”, tem-se:

“redes distribuem dados”.

5.5 CONSIDERAÇÕES FINAIS

O uso de ontologias tem sido discutido intensamente no meio acadêmico, porém pode se

dizer que as aplicações práticas ainda são muito incipientes. Procurou-se mostrar neste

capítulo a aplicabilidade dos conhecimentos teóricos na solução de alguns dos problemas

apresentados através de uma solução prática viável. Buscou-se mostrar como o uso de

ontologias, portais e máquinas de busca pode ser combinado de forma a produzir uma relação

simbiótica entre esses organismos na solução de problemas presentes principalmente na

camada de busca de um portal. Para isso, foi proposto o ambiente PASS que apresenta as

seguintes funcionalidades principais:

• armazenar informações sobre os usuários e suas preferências, de forma a agilizar

consultas posteriores;

• personalizar a página inicial do usuário;

• realizar a recomendação colaborativa, onde usuários mais experientes podem

recomendar links para outros usuários menos experientes;

• criar e editar ontologias através do ONTOPASS, um editor de ontologias para o

ambiente Web. Isto possibilita ao sistema a manutenção das ontologias e permite exemplificar

o ciclo de aprendizado que deve existir nos portais;

• auxiliar e diminuir o esforço realizado pelo usuário na busca de determinados

assuntos na Web, através do processo de expansão dos termos da busca, realizado pela

Page 116: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

116

ferramenta TOSS. O que se procura é fornecer um melhor contexto para a busca realizada

pelo usuário.

No próximo capítulo será realizada uma avaliação da ferramenta de busca TOSS. Esse

capítulo discute os resultados apresentados pela ferramenta TOSS, quando comparado a

outras ferramentas de busca disponíveis na Web.

Page 117: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

117

6 AVALIAÇÃO DA FERRAMENTA TOSS

Normalmente, antes da implementação final de um sistema de recuperação de

informações, a exemplo das máquinas de busca existentes na Web, é necessário executar uma

avaliação do sistema. O tipo de avaliação a ser realizada dependerá dos objetivos do sistema

de informação. Este capítulo é dedicado à avaliação da máquina de busca TOSS desenvolvida

neste trabalho, que utiliza ontologias de domínio específico com vistas a melhorar a qualidade

das respostas retornadas pelos atuais mecanismos de busca na Web. Inicialmente serão vistos

os principais métodos de avaliação desses sistemas, cujo maior enfoque é dado à precisão dos

resultados retornados.

Uma importante ressalva é que o processo de expansão dos termos digitados corresponde

a um pré-processamento da busca, onde os termos digitados pelo usuário são analisados e

agregados a outros termos extraídos de uma ontologia. Foram consideradas na avaliação dos

resultados três máquinas de busca sem o pré-processamento: o Altavista, o TodoBR e o

Google. Somente a máquina de busca Google (através de sua API) é utilizada no processo de

consulta com pré-processamento. As consultas com pré-processamento serão nomeadas de

consultas realizadas pela máquina TOSS.

6.1 AVALIAÇÃO DE SISTEMAS DE RECUPERAÇÃO DE INFORMAÇÃO

As medidas mais comuns de desempenho dos sistemas de Recuperação de Informação

(RI) são tempo e espaço. O espaço pode ser entendido como o universo a partir do qual a

informação é recuperada. O tempo está relacionado ao tempo de resposta despendido pela

máquina na busca dos resultados solicitados. O enfoque deste trabalho considera estas duas

métricas como importantes, porém objetiva melhorar uma terceira métrica detalhada nos

próximos parágrafos, a precisão.

Em um sistema projetado para fornecer recuperação de dados, o tempo de resposta e o

espaço requerido são, com freqüência, métricas de grande interesse e as normalmente

adotadas para avaliar um sistema. Neste caso, procura-se otimizar as estruturas de indexação

(utilizadas para acelerar a consulta), melhorar a interação com o sistema operacional,

minimizar a demora nos canais de comunicação e a sobrecarga induzida pelas várias camadas

de software presentes no mecanismo de busca (BAEZA-YATES, 1999).

Page 118: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

118

É importante considerar também que outras métricas, além do tempo e espaço, são

também utilizadas para avaliar um sistema de recuperação de informação, tais como a

precisão e revocação. Na realidade, uma vez que a solicitação de consulta feita por um usuário

é inerentemente vaga, os documentos recuperados não são respostas exatas e têm que ser

ordenados de acordo com a relevância de cada um à consulta. A classificação por relevância

introduz um componente ainda não presente em sistemas de recuperação de dados e que têm

um papel importante nesse processo de recuperação. Assim, sistemas de recuperação de

informações necessitam da avaliação do quão preciso é o conjunto resposta. Este tipo de

avaliação é denominado avaliação de desempenho na recuperação. Este ponto é exatamente o

que se pretendeu melhorar com a utilização da camada de software adicional proposta por este

trabalho. A idéia é que, apesar de um tempo de resposta maior, as respostas retornadas terão

maior relevância para cada consulta feita, desde que a consulta esteja contida no domínio ou

domínios de busca fornecidos pela ferramenta. Portanto esses serão os fatores que nortearão a

avaliação desse novo sistema. A seguir serão discutidas as medidas mais comuns de avaliação

de sistemas de recuperação de informação.

6.1.1 PRECISÃO E REVOCAÇÃO

Precisão e revocação são conceitos amplamente utilizados em RI para avaliar o

desempenho desses sistemas. São medidas utilizadas para avaliar a eficácia de um sistema de

RI, ou seja, elas medem a habilidade do sistema de recuperar os documentos relevantes e, ao

mesmo tempo, evitar os não relevantes.

Essas medidas podem ser avaliadas em sistemas de RI através de um conjunto de

consultas, também denominada coleção de referência. Um exemplo é a conhecida coleção

TIPSTER, usada na Text REtrieval Conference (TREC), descrita em (HARMAN, 1993). A

TIPSTER é uma coleção de cerca de um milhão de documentos, obtidos de várias fontes, tais

como o Wall Street Journal. Nesta coleção existe um conjunto de consultas, onde para cada

consulta é fornecido um conjunto ideal de documentos resposta, criado por especialistas nos

temas envolvidos. Esse método é realizado como segue:

Considere, como exemplo, um pedido de informação P (de uma coleção de referência) e

seu conjunto R de documentos relevantes. Seja |R| o número de documentos neste conjunto.

Assumindo que uma dada estratégia de recuperação (que está sendo avaliada) processa o

pedido de informação P e gera um conjunto de documentos resposta A, considere |A| o

Page 119: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

119

número de documentos neste conjunto. Além disso, seja |Ra| o número de documentos na

interseção dos conjuntos R e A, conforme mostrado na FIG. 6.1.

FIG. 6.1: Exemplo de pedido de informação

Revocação é a fração dos documentos relevantes (o conjunto R) que foi recuperada. Por

exemplo, se há 8 respostas relevantes para uma dada consulta e a máquina de busca retornou

somente 2 destas dentre suas 10 primeiras respostas, dizemos que a revocação é de 25% (isto

é, um quarto dos documentos relevantes foi recuperado). Precisão é a fração dos documentos

recuperados (conjunto A) que é relevante. Por exemplo, se 2 entre 10 respostas retornadas são

relevantes, dizemos que a precisão é de 20%. As fórmulas a seguir demonstram o que foi dito:

Revocação:||||

RRaR =

Precisão: ||||

ARaP =

Uma forma mais comum de apresentar os resultados é gerando o gráfico de precisão

versus revocação para vários níveis de revocação, ou seja, a precisão é calculada quando 10%

dos documentos relevantes são analisados, quando 20% dos documentos relevantes são

analisados, assim por diante, até que 100% dos documentos relevantes são analisados. Assim,

Page 120: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

120

esses gráficos são obtidos através do cálculo da precisão média em pontos padrão de

revocação, tais como 10%, 20%, ..., 100%. É importante considerar que quanto maior o valor

da precisão, para um mesmo valor de revocação, melhor é a máquina de busca naquele ponto

de revocação.

A FIG. 6.2 ilustra a forma geral de um gráfico “Precisão versus Revocação”.

FIG. 6.2: Curva Precisão versus Revocação para uma consulta hipotética q

(SILVEIRA, 2003).

Até agora, foram mostrados cálculos de precisão e revocação para uma única consulta.

No entanto, geralmente, as máquinas de busca são avaliadas considerando várias consultas

distintas. Nestes casos, pode-se avaliar o desempenho de recuperação da máquina de busca

sobre todas essas consultas, relacionando os cálculos de precisão a cada nível de revocação

como:

∑=

=Nq

i NqrPirP

1

)()( ,

onde )(rP é a precisão média no nível de recuperação r, Nq é o número de consultas

usadas, e Pi(r) é a precisão no nível de revocação r para a i-ésima consulta.

Como dito anteriormente, normalmente se estabelecem níveis de revocação fixos, onde

são calculados os valores de precisão. Esses valores normalmente são 10%, 20%, ...100%.

Page 121: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

121

Como se pode perceber, valores distintos de precisão podem existir nestes intervalos, o que

freqüentemente torna necessário um processo de interpolação. Suponha, por exemplo, que no

intervalo de 10% a 20% de revocação existam três valores de precisão dados por 60%, 65% e

70% respectivamente. Esses valores são interpolados segundo a regra que segue.

Seja rj, j ∈ {0, 1, 2, ..., 10}, uma referência para o j-ésimo nível de revocação:

)()( 1 rPmáxrPjj rrrj +≤≤= ,

que indica que a precisão interpolada no j-ésimo nível de revocação é a máxima precisão

conhecida em qualquer nível de revocação entre o j-ésimo nível de revocação e o (j+1)ésimo

nível de revocação, ou seja usa-se uma técnica otimista para o cálculo da precisão.

Portanto, no caso do exemplo anterior, o valor de precisão escolhido é 70%, considerando

o intervalo de 10% a 20% para a revocação.

6.1.2 PRECISÃO-R E HISTOGRAMAS DE PRECISÃO

Os gráficos da média de precisão versus revocação são importantes na comparação do

desempenho de recuperação das máquinas de busca, porém muitas vezes anomalias em

consultas específicas podem ser camufladas. Além disso, pode haver o interesse de saber qual

entre duas máquinas de busca possui o melhor desempenho para cada consulta de um dado

conjunto de consultas, ou seja, realizar a comparação do desempenho entre duas máquinas

consulta a consulta Nestes casos, a utilização de um valor único de precisão para cada

consulta torna-se uma estratégia interessante. A precisão R permite gerar um valor único de

abstração, calculando a precisão na R-ésima posição na classificação, onde R é o número total

de documentos relevantes para a consulta corrente. Por exemplo, considere a análise da

primeira página com 10 respostas retornadas por uma máquina de busca. Se dentre essas 10

respostas, 4 forem relevantes, o valor da precisão-R será 0,4. O comportamento da precisão-R

é interessante para observar o comportamento de uma máquina de busca para uma consulta

individual em um experimento. Essas medidas podem ser úteis para comparar o histórico de

recuperação de dois algoritmos (BUENO, 2001).

Sejam RPA(i) e RPB(i) os valores da precisão-R de duas máquinas de busca A e B para a

i-ésima consulta. Define-se a diferença RPA/B(i) como:

RPA/B(i) = RPA(i) - RPB(i)

Um valor de RPA/B(i) igual a 0 indica que ambas as máquinas têm desempenho

equivalente (em termos de precisão-R) para a i-ésima consulta. Um valor positivo de RPA/B(i)

Page 122: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

122

indica um melhor desempenho na recuperação da máquina A (para a i-ésima consulta)

enquanto um valor negativo indica um melhor desempenho na recuperação da máquina B. A

FIG. 6.3 ilustra os valores de RPA/B(i) (rotulada Precisão-R A/B) para duas máquinas de busca

hipotéticas sobre dez consultas exemplos. A máquina A é superior em oito consultas,

enquanto a máquina B atua melhor em outras duas consultas (numeradas por 4 e 5). Este tipo

de gráfico de barra é chamado de histograma de precisão e permite comparar rapidamente o

histórico de desempenho na recuperação de duas máquinas através de inspeção visual.

FIG. 6.3: Histograma de precisão para dez consultas hipotéticas

6.1.3 PRECISÃO MÉDIA

Considere, por exemplo, uma máquina de busca à qual são submetidas 20 consultas de

teste. Ao observar a primeira (ou melhor) resposta para cada uma das 20 consultas, nota-se

que ela pode ser relevante ou não relevante. Assim, para cada consulta, a precisão quando se

observa somente a primeira resposta é 0% ou 100%. Para as 20 consultas, a precisão média

para a primeira resposta é calculada através da média dos 20 valores de precisão

correspondentes. Se forem observadas as duas primeiras respostas para cada uma das 20

consultas, distinguem-se três situações possíveis: as duas respostas são relevantes, uma

resposta é relevante e a outra não é, as duas respostas não são relevantes. Assim, para cada

consulta, a precisão quando observada somente as duas primeiras respostas é de: 0%, 50%, ou

100%. Para as 20 consultas, a precisão média das duas primeiras respostas é calculada através

Page 123: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

123

da média dos valores de precisão correspondentes. De modo análogo, pode-se repetir este

procedimento para obter a precisão média para as três primeiras respostas, para as quatro

primeiras respostas, e assim por diante.

6.1.4 TÉCNICA DE “POOLING”

Considere que se deseje comparar o resultado apresentado por “m” máquinas de busca

realizando “c” consultas. Cada consulta deve ser executada em todas as “m” máquinas.

Considere também que serão consideradas somente as “r” primeiras respostas. Portanto, o

número máximo de respostas distintas para cada consulta será “m x r”. Note que isso somente

acontece se os conjuntos de respostas das “m” máquinas de busca forem inteiramente

disjuntos. O conjunto de todas as respostas distintas para uma dada consulta forma um “pool”.

Esse “pool”, equivalente à coleção de referência utilizada nos cálculos de precisão e

revocação, deve ser analisado por um agente humano, que a priori não sabe qual máquina

gerou a busca. Esse agente avalia quais respostas são relevantes ou não para uma dada

consulta. Isto garante um processo de avaliação isento e imparcial. Essa técnica, conhecida

como técnica de “pooling”, foi adotada nos procedimentos de avaliação da TREC e será

adotada no presente trabalho para avaliar o desempenho da máquina de busca confeccionada,

através da comparação com outras máquinas de busca.

Uma vez que o conjunto de documentos relevantes para cada consulta de teste é

conhecido, procede-se a uma avaliação da qualidade das respostas geradas por cada máquina

de busca considerada. Isto é feito comparando-se as respostas retornadas pela máquina de

busca com o conjunto de respostas relevantes para cada consulta. Quanto mais respostas

relevantes uma máquina de busca incluir, maior é a qualidade das respostas por ela geradas.

As avaliações de quais respostas são relevantes é guiada por uma definição objetiva de

um critério de relevância. Por exemplo, considere uma consulta que procura por páginas sobre

"redes" de computadores. Para ser considerada relevante, a página deve discorrer

explicitamente sobre redes relacionadas a computadores e não sobre redes feitas de tecidos ou

arames.

6.2 RESULTADOS EXPERIMENTAIS

A ferramenta TOSS foi comparada com as máquinas de busca TodoBr, AltaVista e

Google. Conforme já mencionado na seção 4.4.5, o Google foi apontado como a melhor

Page 124: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

124

ferramenta de busca existente atualmente na Web por diversas fontes, a exemplo de BARKER

(2003) e CLETO (2003). SULLIVAN (2003) acrecescenta ainda que o Google é a máquina de

busca que mais indexa documentos, razão pela qual este mecanismo foi escolhido como uma

das ferramentas a ser comparada. A ferramenta AltaVista, uma das pioneiras nos serviços de

busca para Web, foi escolhida por se destacar na área de pesquisa das tecnologias de busca.

Além disso, ela é uma das ferramentas de busca mais populares na Web, apresentando cerca

de 1 bilhão de documentos indexados (SULLIVAN, 2003) e resultados que podem ser

comparados aos do Google (AKWAN, 2003). O TodoBr foi escolhido por ser uma ferramenta

genuinamente nacional e apresentada como uma das melhores para a busca no contexto da

Web brasileira (AKWAN, 2003). O processo de busca da ferramenta TOSS gera várias

seqüências de palavras-chave. Estas seqüências podem ser dispostas em três grupos distintos,

já detalhados na seção 5.3.1.3, a saber:

• conceitos associados e subordinados;

• predicados e conceitos associados;

• predicados simétricos (propriedades simétricas), predicados inversos (propriedades

inversas) e conceitos associados. Nomearam-se as sequências de palavras-chave geradas desta

forma de “grupo das seqüências inversas”.

Como a ferramenta TOSS realiza o processo de busca por três grupos distintos, optou-se

também por fazer uma análise comparativa das respostas envolvendo esses três diferentes

grupos, como se fossem máquinas de busca distintas. Logo, pode se considerar que seis

máquinas de busca foram comparadas.

Avaliou-se a qualidade das 10 primeiras respostas oriundas de cada máquina de busca, ou

seja, os esforços foram concentrados nas respostas que aparecem na primeira página. Para

efetuar a comparação, utilizaram-se 20 consultas para teste, previamente selecionadas. É

importante salientar que a utilização de expressões de busca não contidas na ontologia, não

traria nenhum benefício em termos de ganho de relevância da resposta, já que não seriam

encontrados termos associados ou subordinados e nem tão pouco os predicados (propriedades)

que associam esses termos. Caso o usuário necessite realizar uma busca por termos fora do

escopo da ontologia utilizando o PASS, o processo será equivalente ao de uma pesquisa

realizada pela máquina Google. As consultas selecionadas para realização dos testes versam

sobre temas variados contidos na ontologia, tais como os apresentados na TAB. 6.1.

Page 125: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

125

TAB. 6.1 - Palavras-chave (temas) utilizadas nas 20 consultas de teste

1. bancos de dados 11. planejamento estratégico

2. controle de qualidade 12. psicologia

3. detecção de erro 13. redes

4. drogas 14. reuso de software

5. espaço aéreo 15. segurança de dados

6. fibra ótica 16. sensores

7. ftp 17. sistemas cliente-servidor

8. ISBN 18. socioeconomia

9. livros infantis 19. tesauro

10. modelos estocásticos 20. transferência de tecnologia

A metodologia utilizada na comparação é baseada na técnica de "pooling" adotada pela

comunidade internacional de recuperação de informação, conforme descrito nos vários anais

da Text REtrieval Conference (TREC).

A partir de seis máquinas de busca, 20 diferentes consultas e 10 respostas para cada

consulta, chega-se um total de 1200 páginas a serem avaliadas em termos de relevância (cada

máquina de busca contribuiu com 200 respostas). Porém, excluindo os endereços repetidos, o

número de páginas caiu para 1073. De posse desses dados, foram usadas as técnicas e

medidas descritas anteriormente neste capítulo, com o intuito de avaliar e comparar a

ferramenta TOSS e as outras três ferramentas selecionadas da Web. Estas avaliações são

realizadas nas seções seguintes.

6.2.1 AVALIAÇÃO USANDO PRECISÃO VERSUS REVOCAÇÃO

A partir das 1073 páginas obtidas (coleção de referência) foram criados a TAB. 6.2 e o

gráfico precisão versus revocação da FIG. 6.4, utilizando a técnica de “pooling” e o cálculo da

precisão versus revocação apresentado anteriormente (vale lembrar que foram consideradas

apenas as 10 primeiras respostas). Normalmente, os valores de precisão são calculados

somente a intervalos de 10% de revocação, conforme discutido na seção 6.1.1. Porém, para

obter uma melhor apresentação das curvas do gráfico, foram calculados os valores de precisão

a cada intervalo de 3% da revocação. Vale ressaltar que, apesar de importante, os artigos

Page 126: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

126

pesquisados sobre comparação entre máquinas de busca para a Web não utilizaram a análise

da revocação.

TAB. 6.2 – Precisão das Máquinas de Busca por faixas de revocação

Faixa Revocação

AltaVista Google TodoBR Conceitos Associados e Subordinados

Predicados e Conceitos

Associados

Seqüências Inversas

3% 86% 84% 65% 90% 86% 93%6% 84% 83% 66% 86% 87% 93%9% 81% 89% 67% 90% 89% 88%

12% 80% 83% 54% 84% 88% 81%15% 77% 85% 44% 85% 84% 78%18% 61% 78% 33% 85% 77% 72%21% 32% 41% 0% 49% 49% 56%24% 0% 15% 0% 26% 29% 20%27% 0% 0% 0% 8% 4% 0%30% 0% 0% 0% 9% 5% 0%33% 0% 0% 0% 2% 5% 0%39% 0% 0% 0% 3% 0% 0%41% 0% 0% 0% 0% 0% 0%

A TAB. 6.2 apresenta na sua primeira coluna os valores de revocação em porcentagem

para os quais foram calculados os valores de precisão em porcentagem das máquinas de busca

avaliadas. Por exemplo, para o valor de revocação de 3%, o valor da precisão da máquina de

busca AltaVista foi de 86% das respostas retornadas. A partir dessa tabela, usando a técnica

de interpolação mostrada na seção 6.1.1, foi montado o gráfico da precisão versus revocação

da FIG. 6.4.

Page 127: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

127

0%10%20%30%40%50%60%70%80%90%

100%

1 5 9 13 17 21 25 29 33 37

Revocação (%)

Prec

isão

(%)

AltaVista

Google

TodoBR

ConceitosAssociados eSubordinadosPredicados eConceitosAssociadosSeqüências Inversas

FIG. 6.4: Gráfico Precisão x Revocação das máquinas de busca avaliadas

O gráfico da FIG. 6.4 apresenta no seu eixo x os valores de revocação em porcentagem,

enquanto no eixo y estão os valores de precisão em porcentagem.

Antes de se iniciar a análise, vale lembrar que quanto maior o valor de precisão para um

mesmo valor de revocação, melhor é a máquina de busca naquele ponto de revocação. A

partir de análise do gráfico e da TAB. 6.2, nota-se claramente que a ferramenta TodoBr teve

um desempenho inferior ao das outras máquinas de busca, já que apresentou menores valores

de precisão, para todos os valores de revocação considerados. A ferramenta AltaVista segue

em penúltimo lugar, superando levemente a ferramenta Google nos primeiros 6% de

revocação, mas sendo superada por esta em todo o restante da curva. Não é possível afirmar,

através dos dados de revocação e precisão, quem ocupa o quarto e terceiro lugares, pois as

curvas apresentadas pelo Google e “Seqüências Inversas” alternam seus valores de precisão e

revocação várias vezes, para cada valor de revocação. Não há neste caso uma curva

predominante. Quem ocupa o segundo lugar é a curva referente a “Predicados e Conceitos

Associados”. Esta curva apresenta valores maiores de precisão para a maior parte dos pontos

de revocação, quando comparada à curva gerada pelo Google, apesar de ter desempenho

levemente inferior ao da máquina Google para os valores de 15% e 18%. Quando

comparamos a curva de “Predicados e Conceitos Associados” à curva gerada pelas

“Seqüências Inversas” notamos que ela ganha em 8 pontos da curva, somente apresentando

desempenho levemente inferior em três pontos(3%, 6% e 21%). Em primeiro lugar vem a

Page 128: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

128

curva gerada pelos “conceitos associados e subordinados” que apresenta valores maiores de

precisão para cada valor de revocação que as outras curvas geradas pelas máquinas avaliadas,

apesar de ser superada em alguns pontos pelas curvas geradas pelas “Sequências Inversas”

(3%, 6% e 21%) e pelos “Predicados e Conceitos Associados” (6%, 12% e 24%).

Considerando as outras curvas ela não perde em nenhum ponto ou apresenta desempenho

superior.

Apesar de representar uma boa análise inicial, considerou-se importante analisar os dados

apresentados por outros ângulos. Isto é feito nas análises que se seguem.

6.2.2 AVALIAÇÃO USANDO A PRECISÃO MÉDIA

De posse dos dados descritos anteriormente, realizou-se o cálculo da precisão média por

ordenação da resposta, cujos resultados são apresentados na TAB. 6.3. Essa tabela apresenta

na sua primeira coluna o valor correspondente à ordem da resposta da máquina de busca

considerada. As outras colunas demonstram o valor da precisão média de cada máquina de

busca de acordo com a ordem da resposta retornada. Por exemplo, a máquina AltaVista

apresenta 80% de precisão média para a primeira resposta de todas as 20 consultas

executadas.

TAB. 6.3 – Precisão Média para as dez primeiras respostas das seis máquinas de busca Ordem da Resposta

AltaVista Google TodoBR Conceitos Associados e Subordinados

Predicados e Conceitos Associados

Seqüências Inversas

1 80% 80% 50% 90% 80% 95%2 80% 82% 60% 85% 82% 88%3 75% 83% 58% 83% 82% 87%4 75% 81% 58% 86% 82% 82%5 77% 82% 57% 84% 83% 82%6 74% 82% 56% 85% 83% 81%7 75% 79% 55% 86% 82% 79%8 75% 79% 55% 86% 83% 78%9 73% 79% 53% 86% 83% 78%

10 72% 78% 53% 84% 82% 78%

Esses dados também podem ser visualizados sob a forma de um gráfico, onde o eixo y

contém a porcentagem de precisão média e o eixo x o número da resposta retornada pela

ferramenta.

Page 129: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

129

0%10%20%30%40%50%60%70%80%90%

100%

1 2 3 4 5 6 7 8 9 10

Ordem da Resposta

Prec

isão

Méd

iaAltaVista

Google

TodoBR

Conceitos Associados eSubordinadosPredicados e ConceitosAssociadosSeqüências Inversas

FIG. 6.5: Comparação da precisão média por ordem de resposta das máquinas de busca

avaliadas

O gráfico da FIG. 6.5 confirma os resultados apresentados pelas curvas de precisão

versus revocação. Pode-se observar que o melhor resultado pode ser atribuído às buscas

realizadas utilizando os “conceitos associados e subordinados” com um ganho médio total de

7,7%, já que, neste caso, o TOSS obteve um total de 168 respostas consideradas relevantes

entre 200 retornadas, contra 156 do Google. Destacou-se em segundo lugar o TOSS

utilizando “predicados e conceitos associados” com ganho médio total de 5,75%,

considerando que, neste caso, obteve um total de 165 respostas consideradas relevantes,

contra 156 do Google. Em terceiro lugar houve um empate entre o Google e a ferramenta

usando as “seqüências inversas”, ambas com 156 respostas consideradas relevantes.

Analisando as duas primeiras respostas, nota-se que tanto “Conceitos Associados e

Subordinados” quanto “Seqüências Inversas” apresentam um resultado superior ao da

ferramenta Google em termos de relevância. Estes são exatamente os resultados mais

procurados pelos usuários.

Com relação às 3 máquinas de busca existentes utilizadas a título de comparação, pode-se

notar a superioridade da ferramenta Google em relação às outras duas ferramentas: TodoBR e

AltaVista. O Google apresentou um ótimo desempenho, pois das suas 200 respostas, 156

foram consideradas relevantes, ou seja 78% das suas respostas foram consideradas relevantes.

Isto equivale a dizer que, em média, de cada 10 respostas, o Google retorna quase 8 respostas

relevantes na primeira página. O AltaVista apresentou um bom desempenho com 144

Page 130: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

130

respostas relevantes para os 200 resultados retornados, ou seja, obteve 72% das respostas

consideradas relevantes. O terceiro lugar das ferramentas selecionadas da Web ficou com o

TodoBr. Este máquina obteve 106 respostas relevantes de um total de 200 resultados

retornados. Isto equivale a 53% das respostas consideradas relevantes.

6.2.3 AVALIAÇÃO USANDO HISTOGRAMAS DE PRECISÃO E PRECISÃO-R

Como o Google foi a ferramenta que obteve os melhores resultados dentre as três

máquinas analisadas anteriormente, ela será utilizada como base de comparação para a

ferramenta TOSS, de modo a analisar mais detalhadamente o desempenho desta última. As

análises feitas utilizando os histogramas de precisão, que analisam a precisão-R de acordo

com cada consulta, permitem identificar anomalias nos resultados apresentados pelas

máquinas em cada consulta realizada.

A primeira análise envolvendo histogramas de precisão se refere à comparação das

buscas realizadas utilizando os “conceitos associados e subordinados” da ferramenta TOSS.

Cada consulta considera somente o conceito principal utilizando a máquina Google. Quando a

busca utilizando “conceitos associados e subordinados” é melhor que a do Google, este

resultado é apresentado acima do eixo x. Isto pode ser visto no gráfico da FIG. 6.6.

Comparação entre TOSS (Conceitos Associados e Subordinados) e Google

-0,6

-0,4

-0,2

0

0,2

0,4

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Número da Consulta

Prec

isão

R

TOSS

/Goo

gle

FIG. 6.6: Comparação entre “Conceitos Associados e Subordinados” e Google

Page 131: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

131

Apesar de mais simples, as buscas utilizando os “conceitos associados e subordinados”

obtiveram o melhor desempenho dentre os três grupos de seqüências. Quando a busca

realizada através desse método é comparada mais detalhadamente com a busca simples da

máquina Google, é possível observar que a maioria das buscas obteve ganho de precisão. O

número de respostas relevantes para o TOSS, considerando os conceitos associados e

subordinados, foi de 168 contra 156 do Google, indicando um ganho de aproximadamente

7,7% no número de respostas relevantes. Das 20 consultas realizadas, 10 consultas obtiveram

ganho de precisão, 6 mantiveram o mesmo nível e 4 consultas foram menos precisas que a

busca realizada usando somente a conceito principal no Google (este foi o caso ocorrido com

as consultas 5, 16, 18 e 19). Os resultados negativos foram devido ao baixo PageRank das

páginas contendo os conceitos principais. Quando uma nova palavra-chave foi incluída, outras

páginas com maior PageRank contendo essas palavras e consideradas não relevantes para o

conceito principal foram apresentadas. Vamos analisar mais detalhadamente um exemplo

específico. O pior resultado apresentado envolve a busca 16 com a palavra “sensores”.

Utilizando somente essa palavra no Google, o número de resultados relevantes foi de nove

entre dez. Apenas a segunda resposta retornada foi considerada não relevante. No caso da

busca realizada pela máquina TOSS, foi gerada a seguinte seqüência de palavras-chave a

partir dos conceitos associados e subordinados da ontologia:

• “sensores coleção de dados OR captura de dados OR aquisição de dados OR análise

de dados OR equipamento de entrada”.

Essa seqüência apresentou quatro resultados relevantes entre dez resultados buscados.

Neste caso específico, parece que a seqüência gerada retirou ênfase dada a palavra “sensores”

e considerou mais importante os termos que a acompanham. Na realidade, as páginas

encontradas, apesar de possuírem muitas ocorrências da palavra “sensores” no seu texto, dão

enfoque aos outros assuntos associados. Pode-se concluir que neste caso específico, a

ontologia não oferece uma boa combinação de palavras-chave para a busca na Web.

Vislumbrando a capacidade da ontologia poder ser modificada, estes resultados poderiam ser

melhorados com a intervenção do usuário especialista da ferramenta, que poderia incrementar

ou modificar a ontologia acrescentando e associando conceitos que pudessem tornar esses

resultados ainda mais precisos. Dessa forma, a ontologia poderia sofrer constante evolução, e

a tendência de resultados relevantes aumentaria à medida que seus usuários especialistas

identificassem relações e conceitos interessantes para aquele domínio. Por exemplo, ao invés

Page 132: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

132

de utilizar a seqüência de palavras-chave apresentada anteriormente, poder-se-ia modificar a

ontologia e obter a seguinte seqüência:

“sensores eletrônica OR dispositivos”

Reaplicando essa nova seqüência de termos ao sistema, obteve-se dez dos dez resultados

relevantes, invertendo o resultado dessa consulta em favor da ferramenta TOSS, com uma

vantagem de 0,1 para a precisão-R.

É importante considerar que o uso de ontologias gerou um ganho geral na precisão dos

resultados das consultas realizadas. Na maioria dos casos, as consultas realizadas

apresentaram ganho na sua precisão, apesar de em alguns casos haver perda em relação à

ferramenta Google. Isto de forma nehuma invalida o processo, mas sim demonstra que,

embora bem construída, a ontologia gerada a partir do tesauro pode sofrer algumas

modificações para gerar melhores resultados nas buscas realizadas através do processo de

expansão.

A segunda análise compara as buscas considerando “predicados e conceitos associados”

com a máquina Google, similar à análise anterior. Quando a busca utilizando “predicados e

conceitos associados” é melhor que a do Google, este resultado é apresentado acima do eixo

x. Esta comparação pode ser visualizada no gráfico da FIG. 6.7.

Comparação entre TOSS (predicados e conceitos associados) e Google

-0,4-0,3-0,2-0,1

00,10,20,30,40,5

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Número da Consulta

Prec

isão

R

TOSS

/Goo

gle

FIGURA 6.7: Comparação entre “predicados e conceitos associados” e Google

A comparação mostra novamente que a inclusão de novas palavras pode melhorar o

resultado da busca. Desta vez, a melhora é mais discreta, porém ainda pode ser observada

Page 133: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

133

pelo número de consultas que obtiveram melhora em sua precisão. O TOSS obteve um total

de 165 respostas consideradas relevantes, contra 156 do Google, o que indica um ganho

aproximado de 5,75% no total de resultados relevantes. Das 20 consultas realizadas, 11

obtiveram melhores resultados, 2 empates e 7 consultas que obtiveram resultados menos

precisos. Observa-se aqui, que apesar da introdução do nome do predicado, houve uma piora

na precisão dos resultados apresentados quando comparados à utilização das buscas

envolvendo “conceitos associados e subordinados” da ferramenta TOSS. Certamente a

escolha dos nomes dos predicados consistiu num fator importante para a obtenção desses

resultados. Para exemplificar, foram usados nomes tais como: compreende, abrange, é base

para, possui, requer, entre outros. Provavelmente, com a utilização da ferramenta e

observação de relacionamentos que pudessem melhor caracterizar o contexto de cada

conceito, essa ontologia poderia ser melhorada, beneficiando por conseguinte, os resultados

da busca. Porém é importante enfatizar que, mesmo sem um estudo profundo dos melhores

nomes para os relacionamentos, houve uma melhora geral da precisão dos resultados.

A terceira análise considera as buscas realizadas usando as “Seqüências Inversas” da

ferramenta TOSS e o Google. Quando a busca utilizando “Seqüências Inversas” é melhor que

a do Google, este resultado é apresentado acima do eixo x. O gráfico da FIG. 6.8 apresenta

esses resultados.

Comparação entre TOSS (Seqüências Inversas) e Google

-0,5-0,4-0,3-0,2-0,1

00,10,20,30,4

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Número da Consulta

Prec

isão

R

TOSS

/Goo

gle

FIG. 6.8: Comparação entre “Seqüências Inversas” e Google

Page 134: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

134

Os resultados obtidos neste caso não indicam necessariamente uma melhora na precisão

dos resultados retornados. Dos resultados obtidos, 156 respostas retornadas foram relevantes,

o mesmo resultado obtido pelo Google, ou seja, não houve ganho nem perda no número total

de resultados retornados. Isto em parte pode ser explicado pela inversão do conceito principal

com os conceitos associados na montagem da seqüência de palavras-chave a serem buscadas.

De certa forma, os conceitos associados assumem o lugar principal na consulta e, apesar de

estarem relacionados ao conceito principal, nem sempre expressam com tanta clareza o que o

usuário realmente está buscando. Por exemplo, no caso da consulta 13, ao invés da palavra

“redes” na frente da seqüência de palavras-chave, o TOSS, considerando as seqüências

inversas, colocou a palavra “tráfego (rede)” na frente da seqüência gerada.

Apesar disso, um fato interessante deve ser observado quanto à diversidade das páginas

encontradas. Nenhuma das consultas que realizaram a busca inversa apresentou resultados

repetidos quando comparada à busca realizada usando somente o conceito principal no

Google. Nas demais buscas, a média de resultados repetidos ficou em torno de 10%. Esta

diversidade se torna importante a partir do momento em que a necessidade de informação do

usuário se modifica e que seu conhecimento evolui (SILVEIRA, 2003). Como conseqüência,

ele passa a entender melhor o que esta procurando e a considerar opções de busca que a

princípio não pareciam relevantes ou simplesmente não tinha considerado.

6.3 CONSIDERAÇÕES FINAIS

Após a análise dos dados comparativos entre três ferramentas de buscas existentes

atualmente na Web e a ferramenta TOSS, que utiliza o pré-processamento da consulta

realizada pelo usuário, alguma conclusões interessantes podem ser extraídas. A mais

importante certamente é a comprovação do potencial da utilização de ontologias de domínios

específicos na melhoria da relevância dos resultados apresentados pelas máquinas de busca.

Pelos resultados apresentados neste trabalho, verifica-se que, de modo geral, vale a pena pré-

processar as consultas com a utilização dos termos existentes em uma ontologia. Outro ponto

importante é o cuidado que deve ser dispensado na construção da ontologia, pois a escolha

correta dos conceitos e predicado é que vai determinar o quanto vai se ganhar ou perder com a

utilização dos métodos de expansão de busca anteriormente explicitados. Foi observado que a

organização de conhecimento através da construção de uma ontologia adequada e a sua

evolução podem impactar sobremaneira nos resultados das buscas. Por exemplo, a inclusão de

Page 135: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

135

novos conceitos e predicados na ontologia pode influenciar positivamente nas buscas

realizadas pelos usuários. Dessa forma, os usuários especialistas devem poder interagir

durante a busca, sugerindo modificações de forma a melhorar os resultados apresentados. Isto

claramente exemplifica o ciclo de aprendizado tão importante nos portais, discutido no

capítulo 3.

Deve-se considerar que, apesar de todos os testes terem sido realizados considerando o

idioma português, as ontologias utilizadas no framework KAON são multilingües, ou seja,

nada impediria que os testes tivessem sido realizados em inglês ou em outro idioma qualquer

(sendo que neste último caso, seria necessário traduzir a ontologia para o idioma desejado).

Outro fator interessante é que a expansão dos termos da busca permite uma variação

interessante dos resultados retornados pelas ferramentas. A consideração dos conceitos

associados e predicados pode suscitar no usuário da ferramenta novas idéias que podem

agilizar o processo de busca. Além disso, como a ferramenta permite a apresentação de

resultados de buscas simultâneos para buscas diferentes, isto pode auxiliar o usuário a

encontrar com mais facilidade o assunto de seu interesse.

Vale observar, no entanto, que nos testes realizados, o tempo de resposta apresentado

pela ferramenta TOSS foi maior que o Google, ao mesmo tempo em que os resultados da

ferramenta TOSS foram mais precisos. Isto se deve ao acréscimo da camada adicional no

processo de busca. Antes de ser realizada a busca na Web, esta camada pertencente à

ferramenta TOSS, analisa a solicitação do usuário, e através do framework KAON, recupera

os conceitos associados e predicados. Somente depois dessa análise, é feita a busca na Web

utilizando a API Google. Isto na prática tornou a máquina Google em média três vezes mais

lenta. Naturalmente esse tempo varia conforme o número de conceitos associados e

predicados a serem recuperados. Como a ferramenta possibilita que sejam realizadas diversas

buscas simultâneas, o tempo total depende do número de buscas simultâneas que o usuário

solicita.

Page 136: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

136

7. CONCLUSÃO

Diversas tecnologias têm sido desenvolvidas para a Web, visando proporcionar novas

funcionalidas para os seus usuários finais. Muitas vezes o que falta é a integração dessas

diferentes tecnologias na solução de seus problemas comuns. Este trabalho explorou o

ambiente de um portal, mais especificamente o componente busca, sob um novo ponto de

vista, vislumbrando-se como o uso de ontologias poderia contribuir neste ambiente. Durante o

caminho de exploração, foram estudadas as ontologias e como um tesauro poderia contribuir

na sua construção. Também foram estudados os portais, com ênfase nos portais semânticos,

ou seja, portais que fazem uso de ontologias. Neste contexto foram estudados os componentes

e diferentes propostas de arquiteturas de um portal, assim como suas funcionalidades. Na

parte final de revisão dos assuntos relacionados, foram vistas as ferramentas de busca para

Web. Foram detalhadas a arquitetura, características dos algoritmos, funcionalidades e as

diferentes gerações de ferramentas de busca na Web.

O estudo preliminar descrito forneceu o arcabouço necessário ao desenvolvimento do

ambiente PASS (Portal with Access to Semantic Search), do editor ONTOPASS

(ONTOlogies for the PASS) e da ferramenta TOSS (TOol to Semantic Search). Foi utilizado

neste processo o framework KAON (KAON, 2003). Este framework possui originalmente um

modulo, chamado KAON Portal, que foi estendido de modo a possibilitar a criação e edição

de ontologias.

O ambiente PASS, desenvolvido no contexto deste trabalho, integra as tecnologias de

ontologias, portais e ferramentas de busca. Ela fornece meios para que usuários possam

acessar informações recomendadas por especialistas, personalizar as categorias, além de

construir, editar e armazenar ontologias que podem ser compartilhadas no ambiente Web,

através do editor de ontologias ONTOPASS, disponibilizado nesse ambiente.

A ferramenta TOSS, pertencente ao ambiente PASS, permite realizar buscas utilizando

termos presentes em ontologias. As palavras-chave buscadas pelos usuários, enriquecidas pelo

acréscimo de novas palavras-chave extraídas de uma ontologia de domínio, visam fornecer

um melhor contexto à busca realizada por um usuário, ao mesmo tempo em que aumenta a

relevância das respostas retornadas por uma ferramenta de busca primária. A ferramenta de

busca primária escolhida foi o Google.

Page 137: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

137

Foram demonstradas, através da avaliação do TOSS, que existem mais vantagens do que

desvantagens com a utilização da técnica proposta, através da verificação do ganho relativo de

relevância dos resultados apresentados. Esta avaliação objetivou fazer uma análise

comparativa detalhada com outras ferramentas tradicionais da Web, apontando os pontos

positivos e negativos trazidos pela abordagem proposta.

Certamente ainda existe um longo caminho a ser trilhado para a melhoria das técnicas de

busca na Web, bem como no desenvolvimento de portais semânticos e ontologias, ficando

claro que, com a conclusão desse trabalho, apenas mais um passo foi dado. Estes assuntos, tão

desafiadores e interessantes, merecem total atenção dos pesquisadores, pois a tendência é que

venham guiar o desenvolvimento das novas tecnologias para Web, na tentativa de satisfazer o

sonho de seu criador: uma melhor integração homem-máquina.

7.1 PRINCIPAIS CONTRIBUIÇÕES DA DISSERTAÇÃO

Ao longo dessa dissertação, revisaram-se assuntos relacionados a ontologias, portais e

máquinas de busca.

Na área de ontologia foram analisados as tecnologias associadas e os seus problemas

comuns. Os resultados sumarizados desta análise foram:

• diferenciação entre os conceitos de ontologias, tesauros e metadados;

• avaliação da possibilidade de construção de ontologias a partir de tesauros;

• análise comparativa de três editores de ontologias: o Protégé, o OilEd e o KAON OI-

Modeler.

A análise de portais apresentou o estudo de algumas arquiteturas de portais existentes.

Verificou-se que, apesar da utilização de diferentes componentes, as funcionalidades

propostas nas diferentes arquiteturas são muito similares.

A etapa de análise das ferramentas de busca, apresentou como principal contribuição

esclarecer as funcionalidades das ferramentas de busca atuais, chamadas de 2ª geração, e

análisar as perspectivas e necessidades reservadas para a próxima geração de ferramentas de

busca na Web.

A principal contribuição, resultado das análises anteriores, foi a construção do ambiente

PASS. Este ambiente permite:

• criar, editar, armazenar e compartilhar ontologias na internet, através do editor

ONTOPASS, não exigindo dos usuários a instalação de nada além de um navegador Web.

Page 138: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

138

• acessar a ferramenta de busca TOSS, também desenvolvida ao longo deste trabalho.

Esta ferramenta utiliza os termos presentes nas ontologias de domínio desenvolvidas para

criar três tipos de buscas expandidas. Estas buscas visam orientar o usuário no seu processo

de pesquisa na Web, aumentando a relevância dos resultados retornados;

• armazenar informações sobre os usuários e suas preferências (personalização da

página), de forma a agilizar consultas posteriores a elementos da ontologia. Isto é feito em

uma ontologia separada das ontologias de domínio, que podem ser disponibilizadas pelo

portal;

• realizar uma recomendação colaborativa, onde usuários mais experientes podem

recomendar links para outros usuários menos experientes.

Outra contribuição importante é a avaliação comparativa da ferramenta TOSS com outras

três ferramentas existentes na Web: o AltaVista, o TodoBR e o Google. Esta avaliação

também comparou os resultados de expansões de termos da busca realizadas pelo TOSS,

quais sejam por:

• conceitos associados e subordinados;

• predicados e conceitos associados;

• seqüências inversas.

Através da avaliação dos resultados, verificou-se que a busca por conceitos associados e

subordinados traz os melhores resultados em relação às outras buscas analisadas. A busca por

predicados e conceitos associados ficou em segundo lugar e em terceiro ficaram o Google e a

busca por seqüências inversas. Finalmente, ocupando os dois próximos lugares, ficaram o

AltaVista seguido pelo TodoBr.

7.2 SUGESTÕES PARA TRABALHOS FUTUROS

Um importante trabalho a ser desenvolvido futuramente seria integrar no ambiente PASS

a filtragem colaborativa descrita por COSTA (2002). Para isso o perfil do usuário necessitaria

ser incrementado, de forma a permitir criar o seu próprio esteriótipo. Assim as buscas também

poderiam ser armazenadas pelos esteriótipos dos seus usuários e àqueles de mesmo esteriótipo

também poderiam compartilhar resultados de buscas já realizadas.

No que concerne ao editor ONTOPASS, as funcionalidades de importação de ontologias

e configuração da estratégia de evolução poderiam ser adicionadas, o que permitira utilizar

outras características do framework KAON.

Page 139: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

139

A ferramenta TOSS poderia ser melhorada permitindo a ordenação (ranking) das

propriedades que associam conceitos. Isto seria útil, pois poderia sugerir aos usuários quais

conceitos associados e propriedades são mais importantes na busca. Os valores dessas

propriedades poderiam ser configurados por usuários especialistas daquele domínio.

Similarmente, as páginas recomendadas por estes usuários também poderiam ser classificadas

de acordo com o número de votos dos mesmos.

Outra proposta interessante seria a integração da ferramenta TOSS com outros

mecanismos de busca. Isto aumentaria a cobertura da ferramenta, transformando-a numa

ferramenta de metabusca. Além disso, o sistema poderia automaticamente selecionar e

integrar somente os melhores resultados das ferramentas utilizadas ou, então, manualmente

deixar o usuário selecionar as ferramentas desejadas, podendo seus resultados serem

integrados ou não.

A generalização ou o aumento de cobertura da pesquisa realizada pelo usuário, apesar de

não ser o objetivo do presente trabalho, pode ser relevante em determinadas situações e

certamente deve ser pesquisada. Os testes realizados consideraram a melhoria de relevância

dos resultados apresentados, ou seja, procurou-se melhorar a precisão desses resultados. Um

ponto interessante de estudo, está não na melhora da precisão, mas sim da cobertura. Por

exemplo, considere que o usuário digite “ferrari”. Suponha também que ferrari tenha como

superconceito “carros de luxo”. A seguinte seqüência de palavras poderia ser retornada:

“ferrari OR carros de luxo”. Temos neste caso a generalização do que o usuário está buscando

e, conseqüentemente, o aumento de cobertura do assunto buscado. Neste trabalho foram

utilizados elementos da ontologia para “restringir” o resultado da busca. Por exemplo,

suponha que o usuário tenha digitado “carro de luxo”, utilizando a abordagem dos

subconceitos, ter-se-ía: “carros de luxo AND ferrari”.

Outro estudo que poderia contribuir com a presente proposta envolve a análise de

expressões mais complexas digitadas pelo usuário no momento da busca. Na presente

dissertação, essa análise se limitou a verificar se a seqüência de termos digitados pelo usuário

fazia parte do domínio da ontologia (como nome ou variações do nome do conceito). Poder-

se-ia analisar mais profundamente o que foi digitado pelo usuário, verificando se um ou mais

conceitos da ontologia fazem parte da seqüência digitada. Se isso for verdade, essa análise

discutiria como a seqüência digitada pelo usuário poderia ser associada aos termos extraídos

da ontologia de forma a contribuir no processo de busca.

Page 140: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

140

Um outro trabalho futuro interessante seria a adaptação do PASS para trabalhar com

outras ferramentas que possibilitam o acesso a ontologias, como é o caso do sistema ROSA,

apresentado na seção 3.3.5. Todavia, para que isso seja possível, é necessário que algumas

alterações sejam realizadas na camada de acesso do PASS ao framework KAON. Este realiza

o acesso às APIs KAON para representação e armazenamento das ontologias, enquanto que o

ROSA desfruta de um modelo próprio, baseado no RDF estendido, para armazenar sua base

de conhecimento.

Page 141: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

141

8 REFERÊNCIAS BIBLIOGRÁFICAS AKWAN. Análise Comparativa de Máquinas de Busca para a Web brasileira. 2003.

Akwan Information Technologies. Disponível em: http://www.akwan.com.br/mix_analise.shtml. [capturado em nov 2003].

ARASU, Arvind et al. Searching the Web. 2001. ACM Transactions on Internet

Technology. Disponível em: http://www-db.stanford.edu/~rsram/pubs/toit01/toit01.pdf. [capturado em out 2003].

BAADER, Franz et al. Description logics as ontology languages for the semantic web.

2003. Lecture Notes in Artificial Intelligence.Springer. disponível em: http://www.cs.man.ac.uk/~horrocks/Publications/download/2003/BaHS03.pdf. [capturado em: out 2003].

BAEZA-YATES, Ricardo, RIBEIRO-NETO, B. Modern Information Retrieval. 1999.

Addison Wesley, New York, NY, USA. BARKER, Joe. Google - the BEST search engine. UC Berkeley - Teaching Library Internet

Workshops. 2003. Disponível em: http://www.lib.berkeley.edu/TeachingLib/Guides/Internet/Google.html. [capturado em jan 2004].

BARROS, Flavia A. et al. Providing Context to Web Searches: The Use of Ontologies to

Enhance Search Engine's Accuracy. 1998. Jornal da Sociedade Brasileira de computação. número 2, Vol. 5, pp 45-55. November 1998. Disponível em: http://www.di.ufpe.br/~fab/publications/jbcs98.html. [capturado em jan 2004].

BECHHOFER, S. et al. OILEd: a reason-able ontology editor for the semantic web. 2001.

In KI2001, Joint German/Austrian conference on Artificial Intelligence, volume LNAI Vol. 2174, pp. 396-408, Vienna. Disponível em: http://citeseer.nj.nec.com/rd/0,452035,1,0.25,Download/http://citeseer.nj.nec.com/cache/papers/cs/22472/http:zSzzSzwww.cs.man.ac.ukzSz~horrockszSzPublicationszSz.zSzdownloadzSz2001zSzoiled-dl.pdf/bechhofer01oiled.pdf. [capturado em out 2003].

BECHHOFER, Sean. OilEd 3.4 Manual. 2002. Disponível em:

http://oiled.man.ac.uk/docs/Manual.pdf. [capturado em jun 2003]. BERNERS-LEE, Tim et al. The Semantic Web. 2001. Scientific American. Disponível em:

http://www.sciam.com/article.cfm?articleID=00048144-10D2-1C70-84A9809EC588EF21. [capturado em mar 2003].

BENJAMINS, V. Richard et al. The Knowledge Annotation Initiative of the Knowledge

Acquisition Community (KA)2. 1998. Disponível em: http://www.aifb.uni-karlsruhe.de/WBS/dfe/KA2.html. [capturado em mar 2003].

BÉZIVIN, Jean. Who's Afraid of Ontologies? 1998. LRSG, Université de Nantes, Faculté

des sciences et Techniques. Disponível em: http://www.metamodel.com/oopsla98-cdif-workshop/bezivin1/. [capturado em mar 2003].

Page 142: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

142

BHARAT, K., HENZINGER M. R. Improved Algorithms for Topic Distillation in

Hyperlinked Environments. 1998. Proc. of the 21st International ACM SIGIR Conference on Research and Development in Information Retrieval (SIGIR), 104--111. Disponível em: http://citeseer.nj.nec.com/rd/48189249,176389,1,0.25,Download/http://citeseer.nj.nec.com/cache/papers/cs/92/http:zSzzSzwww.research.digital.comzSzSRCzSzpersonalzSzmonikazSzpaperszSzsigir98.pdf/bharat98improved.pdf. [capturado em out 2003].

BISWAS, G. et al. Knowledge-Assisted Document Retrieval: II. The Retrieval Process.

1987. Journal of the American Society for Information Science (JASIS), Vol. 38, N 2. BOOKESTEIN, A. Fuzzy Requests: An Approach to Weighted Boolean Searches. 1980.

Journal of the American Society for Information Science (JASIS), Vol. 31, N 7. BRIN, S., Page, L. The Anatomy of a Large-Scale Hypertextual Web Search Engine.

1998. Computer Networks and ISDN Systems. Disponível em: http://www-db.stanford.edu/pub/papers/google.pdf. [capturado em out 2003].

BROEKSTRA, Jeen et al. Sesame: A generic Architecture for Storing and Querying RDF

and RDF Schema. 2001. Disponível em: http://sesame.aidministrator.nl/publications/del10.pdf. [capturado em nov 2002].

BUENO, Josiane M. Suporte a Recuperação de Imagens Médicas Baseada em Conteúdo

através de Histogramas Médicos. 2001. Tese de Doutorado. Universidade de São Paulo – São Carlos. Disponível em: www.teses.usp.br/teses/disponiveis/55/55134/tde-02122002-091055/ publico/tese_final_corrigido.pdf. [capturado em dez 2003].

CAVALCANTI, Cordelia R. Indexação & Tesauro; metodologia & técnica. Brasília: 1978.

Associação de Bibliotecários do D. Federal. CHAKRABARTI, S. et al. Focused crawling: a new approach to topic specific Web

resource Discovery. 1999. Proc. of 8th WWW Conference, 31 (11-16), 1623--1640. Disponível em: http://citeseer.nj.nec.com/rd/64584303,293642,1,0.25,Download/http://citeseer.nj.nec.com /cache/papers/cs/14830/http:zSzzSzwww.cs.berkeley.eduzSz~soumenzSzdoczSzwww1999fzSzpdfzSzwww1999f.pdf/chakrabarti99focused.pdf. [capturado em out 2003].

CLETO, Nivaldo. Busca Detalhada. 2002. FENACOM, Edição 76 - Ano VII - Abril/2002.

Diponível em: http://www.fenacon.org.br/fenaconservicos/revista76/tecinfo.htm. [capturado em: jan 2004].

CONNOLLY, Dan. Reference Description. 2001. Disponível em:

http://www.w3.org/TR/2001/NOTE-daml+oil-reference-20011218. [capturado em fev 2003].

CORCHO; Oscar et al. Methodologies, Tools and Languages for Building Ontologies.

Where is Their Meeting Point? 2003. Data & Knowledge Engineering pp. 46.

Page 143: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

143

COSTA, Marcelo Nascimento. COMPAGENT: uma ferramenta para apoio à busca e recuperação de informações orientadas a domínio na Web. 2002. Rio de Janeiro, RJ: UFRJ. Dissertação de Mestrado.

DBEXPERTS. Comparativo. 2001. Disponível em:

http://www.dbexperts.com.br/documentos/comparativo. [capturado em mai 2003]. DECKER, Stefan et al. Ontobroker: Ontology based Access to Distributed and Semi-

Structured Information. 1998. Disponível em: http://www-db.stanford.edu/~stefan/paper/1999/ds8/ontobroker.pdf. [capturado em fev 2003].

DTD. Document Type Definition. Proceedings TC2/WG 2.6 8th Working Conference on

Database Semantics (DS-8). 1999. Disponível em: http://www.w3.org/TR/REC-html40/sgml/dtd.html. [capturado em mar 2003].

DAHLGREN, Kathleen. A Linguistic Ontology. 1995. International Journal of Human-

Computer Studies. Disponível em: http://www.ladseb.pd.cnr.it/infor/Ontology/IJHCS/Dahlgren_ps.z. [capturado em mar 2003].

DAVISON, B. D. Recognizing nepotistic links on the Web. 2001. Artificial Intelligence for

Web Search Technical Report,WS-00-01, 23-28. DEAN, Mike. daml: UnambiguousProperty. 2002. Disponível em:

http://www.daml.org/2002/03/tutorial/Overview.html. [capturado em fev 2003]. DIAS, Cláudia Augusto. Portal Corporativo: Conceitos e Características. 2001. Revista

Ciência da Informação. Instituto Brasileiro de Informação em Ciência e Tecnologia - IBICT, Brasília. Vol. 30, nº 1. Disponível em: http://www.ibict.br/cionline/300101/30010107.pdf. [capturado em mar 2003].

DING, Ying. Ontology Research and Development, Part 1 – A Review of Ontology

Generation. 2002. Journal of Information Science, 28(2), 123-136. Disponível em: http://islab.sas.ntu.edu.sg:8000/user/schubert/publications/2002/02jis01_fmt.PDF.

DORNELES, C. Extração de dados semi-estruturados com base em uma ontologia. 2000.

Porto Alegre, RS: PPGC-UFRGS. Dissertação de Mestrado. ECKERSON, Wayne W. Plumtree blossoms: new version fullfills enterprise portal

requirements. 1999. Disponível em: http://www.e-global.es/017/017_eckerson_plumtree.pdf. [capturado em mar. 2003].

ECLIPSE. Eclipse.org Main Page. 2003. Disponível em: http://www.eclipse.org/. [capturado

em mai 2003] E-GOV. Governo Eletrônico. 2003. Ministério do Planejamento. Disponível em:

http://www.governoeletronico.e.gov.br/. [capturado em set 2003].

Page 144: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

144

ERDMANN, M. et al. Ontology-aware XML-Queries. Submission for WebDB 2000. 2000. Disponível em: http://www.aifb.uni-karlsruhe.de/~mer/Pubs/semantic-xql.webdb00.pdf. [capturado em mar 2003].

FENSEL, Dieter; HARMLEN, Frank van; HORROCKS, Ian et al. OIL: An Ontology

Infrastructure for Semantic Web. 2001. In: IEEE Intelligent System. Disponível em: http://citeseer.nj.nec.com/rd/0,445347,1,0.25,Download/http://citeseer.nj.nec.com/cache/papers/cs/22554/http:zSzzSzwww.cs.vu.nlzSz~frankhzSzpostscriptzSzIEEE-IS01.pdf/fensel01oil.pdf. [capturado em out 2003].

FIRJAN. Desburocratização Eletrônica nos Estados Brasileiros. 2003a. Assessoria de

Infra-estrutura e Novos Investimentos – Instituto Euvaldo Lodi. Disponível em: http://www.firjan.org.br/notas/media/Desburocrat_estados.PDF. [capturado em set 2003].

FIRJAN. Desburocratização Eletrônica nos Municípios do Rio de Janeiro. 2003b.

Federação das Indústrias do Estado do Rio de Janeiro. Disponível em: http://www.firjan.org.br/notas/media/DesburocratizacaoEletronica_b.pdf. [capturado em set 2003].

FRIESEN, Norman. What are Educational Objects. Interactive Learning Environments.

Vol 9, Nº 3, Dez 2001. GARCIA, Simone de Souza. Extensões do RDF para Representação do Conhecimento.

2002. Disponível em http://genesis.nce.ufrj.br/dataware/tebd20021/ seminarios/RDF.pdf. [capturado em dez 2002].

GENESERETH, Michael R. Knowledge Interchange Format. 1998. Draft proposed

American National Standard (dpANS) -NCITS.T2/98-004. Disponível em: http://logic.stanford.edu/kif/dpans.html. [capturado em out 2003].

GOMES, Hagar Espanha et al. Manual de Elaboração de Tesauros Monolingües. 1990.

Programa Nacional de Bibliotecas de Ensino Superior, Brasília. GOMES, Hagar Espanha. Classificação, Tesauro e terminologia. 1996. Biblioteca da

Informação e tecnologia da Informação. Disponível em: http://www.conexaorio.com/biti/tertulia/tertulia.htm. [capturado em fev 2003].

GOLGHER, Paulo Brás et al. Busca na Web. 2003. Mini-curso apresentado no 18º Simpósio

Brasileiro de Banco de Dados. GRUBER, T. R. A translation approach to portable ontologies. 1993. J. on Knowledge

Acquisition, Vol. 5(2), 199-220. Disponível em: ftp://ftp.ksl.stanford.edu/pub/KSL_Reports/KSL-92-71.ps. [capturado em nov 2002].

GUARINO, Nicola. Semantic Matching:Formal Ontological Distinctions for Information

Organization, Extraction, and Integration. Summer School on Information Extraction, Frascati. 1997. Disponível em: http://www.ladseb.pd.cnr.it/infor/ontology/Papers/SCIE97.pdf [capturado em fev 2003].

Page 145: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

145

GURUGE, Anura. Corporate Portals Empowered with XML and Web Services. 2003. Digital Press. ISBN: 155558280x.

HARMAN, D. The First Text Retrieval Conference (TREC-1). Gaithersburg: National

Institute of Standards and Technology. (NIST Spec. Publ. 500-207). 1993. HEUSER, Carlos Alberto et al. Dados Semi-Estruturados. 2000. SBBD - XV Brazilian

Database Symposium, João Pessoa, Paraíba, Brasil. Disponível em http://metropole.inf.ufrgs.br/grupo_heuser/groupPublications.html. [capturado em dez 2002].

HEUSER, Carlos Alberto et al. Recuperação de Informações em Coleções de Documentos

por Similaridade de Conteúdo. 2002. Instituto de Informatica/UFRGS, Projeto IDoc. Disponível em http://www.its.org.br/std2002/stii2.ppt. [capturado em dez 2002].

HORROCKS, I. Using an Expressive Description Logic: FaCT or Fiction? 1998. In A. G.

Cohn, L. Schubert, and S. C. Shapiro, editors, Principles of Knowledge Representation and Reasoning: Proceedings of the Sixth International Conference (KR'98). Morgan Kaufmann Publishers, São Francisco, Califórnia, 1998, p. 636-647. Disponível em: http://citeseer.nj.nec.com/rd/51444168,101980,1,0.25,Download/http://citeseer.nj.nec.com/cache/papers/cs/3912/ftp:zSzzSzmighp0.cs.man.ac.ukzSzpubzSztheseszSzhorrockszSzkr98.pdf/horrocks98using.pdf. [capturado em out 2003].

HORORCKS, I.; SATTLER, U.; TOBIES, S. Practical reasoning for description logics

with functional restrictions, inverse and transitive roles, and role hierarchies. 1999. In Proceedings of the first workshop on Methods for Modalities (M4M-1). Disponível em: http://citeseer.nj.nec.com/rd/0,81040,1,0.25,Download/http://citeseer.nj.nec.com/cache/papers/cs/6316/ftp:zSzzSzwww-lti.informatik.rwth-aachen.dezSzpubzSzpaperszSz1999zSzHorrocks Sattler Tobies-M4M-99.pdf/horrocks99practical.pdf. [capturado em out 2003].

HWANG, Chung Hee. Incompletely and Imprecisely Speaking :Using Dynamic

Ontologies for Representing and Retrieving Information. 1999. Proceedings of the 6th International Workshop on Knowledge Representation meets Databases (KRDB’99), Sweden. Disponível em: http://sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-21/hwang.ps. [capturado em fev 2003].

JESUS, Jerocir Botelho Marques de. Tesauro: um instrumento de representação do

conhecimento em sistemas de recuperação da informação. 2002. Seminário Nacional de Bibliotecas Universitárias, Universidade Federal Fluminense. Disponível em: http://acd.ufrj.br/sibi/snbu/snbu2002/oralpdf/68.a.pdf. [capturado em fev 2003].

KADE, Adrovane Marques. Uma linguagem visual de consulta a XML baseada em

ontologias. 2002. Disponível em http://www.fw.uri.br/~adrovane/disserta.pdf. [capturado em dez 2002].

KANT, Immanuel. Crítica da razão pura. 1997. Trad. Manuela Pinto dos Santos e

Alexandre Fradique Morujão. 4.ed. Lisboa, Fundação Calouste Gulbenkian, 1997.

Page 146: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

146

KAON. Developers Guide for KAON 1.2.5. 2003. Universidade de Karlsruhe, Alemanha. Disponível em: http://kaon.semanticweb.org/Members/rvo/KAON_Dev_Guide.pdf. [capturado em abril 2003].

KIFER, Michael et al L. Logical Foundations of Object-Oriented and Frame-Based

Languages. 1995. Journal of the ACM. 42: 741–843. KIRKWOOD, Mark. Linux in Brazil. Banco de Dados: Uma Comparação entre 4 Bancos

de Dados – versão traduzida. 1999. Disponível em: http://brlinux.linuxsecurity.com.br/artigos/ sgbds_intro.htm. [capturado em mai 2003].

KLEINBERG, Jon M. Authoritative sources in a hyperlinked environment. 1998. Proc. of

the 9th ACM-SIAM Symposium on Discrete Algorithms, 668--677. Disponível em: http://www.cs.cornell.edu/home/kleinber/auth.pdf. [capturado em out 2003].

KOBAYASHI, Mei, TAKEDA, Koichi. Information Retrieval on the Web. 2000. ACM

Computing Surveys. Disponível em: http://citeseer.nj.nec.com/rd/78588347,353010,1,0.25,Download/http://citeseer.nj.nec.com/cache/papers/cs/16806/http:zSzzSzwww.trl.ibm.co.jpzSzprojectszSzs7710zSzdlzSztrlrepzSzrt347.pdf/kobayashi00information.pdf. [capturado em jan 2004].

KOSTER, Martijn et al. A Standard for Robot Exclusion. 1994. Disponível em:

http://www.robotstxt.org/wc/norobots.html. [capturado em out 2003] KRILL, Paul. Google Revela API para Consulta em Mecanismo de Busca. 2002.

InfoWorld, EUA, com tradução de PC World. Disponível em: http://idgnow.terra.com.br/idgnow/internet/2002/04/0028. [capturado em dez 2003].

KWOK, K. L. A Network Approach to Probabilistic Information Retrieval. 1995. ACM

Transactions on Information Systems, Vol. 13, N 3. LAWRENCE, S., GILES, C. Searching the Web: General and Scientific Information

Access. 1999. IEEE Communications, N 37, Vol. 1, pp. 116–122. Disponível em: http://www.neci.nec.com/~lawrence/papers/search-ieee99/search-ieee99.pdf. [capturado em: out 2003].

LUKE, Sean et al. Simple HTML Ontology Extensions: Proposed Specification. 2000.

Disponível em: http://www.cs.umd.edu/projects/plus/SHOE/spec.html. [capturado em fev 2003].

MAEDCHE, Alexander et al. SEmantic portAL — The SEAL approach. In Creating the

Semantic Web. D. Fensel, J. Hendler, H. Lieberman, W. Wahlster (eds.) MIT Press, MA, Cambridge. 2001a. Disponível em: http://www.aifb.uni-karlsruhe.de/WBS/ysu/publications/2001_mit-book.pdf. [capturado em mar 2003].

MAEDCHE, Alexander et al. SEmantic portAL — The SEAL approach. In Spinning the

Semantic Web: Bringing the World Wide Web to Its Full Potential. D. Fensel, J. Hendler, H. Lieberman, W. Wahlster (eds.) MIT Press, MA, Cambridge. 2003. ISBN: 0262062321.

Page 147: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

147

MAEDCHE, Alexander et al. SEAL: A Framework for Developing SEmantic Web PortALs. Lecture Notes in Computer Science – 2097. 2001b. Disponível em: http://citeseer.nj.nec.com/442128.html. [capturado em mar 2003].

MAEDCHE, Alexander. OI-Modeler User´s Guide. 2002. Disponível em:

http://kaon.semanticweb.org/docus/Manual_KAON-OI-Modeler_November_2002.pdf. [capturado em mar 2003].

MEERSMAN, Robert et al. Data Modelling Versus Ontology Engineering. 2002. SIGMOD

Record vol 31, n0 4, Dez 2002. Disponível em: http://www.acm.org/sigmod/record/issues/0212/SPECIAL/2.Meersman.pdf. [capturado em mai 2003].

MESQUITA, Renata V. Que Caminho a Seguir?. 2001. Informationweek, 19 de dezembro

de 2001. Disponível em: http://www.sit.com.br/SeparataGTI119.htm. [capturado em fev 2003].

MOURA, Ana Maria de C., PORTO, Fábio A. M., et al. ROSA: A Data Model and Query

Language for e-Leraning Objects. I Conferência PGL de Pesquisa em Banco de Dados para E-Learning " (PGLDB'2003), PUC, RJ, 10-11 abril 2003.

NOY, Natalya F. et al. Ontology Development 101: A Guide to Creating Your First

Ontology. 2001. Knowledge Systems Laboratory, March, 2001. Disponível em: http://protege.stanford.edu/publications/ontology_development/ontology101.pdf.

NONAKA, I et al. Criação de Conhecimento na Empresa: Como as Empresas Japonesas

Geram a Dinâmica da Inovação. 1997. 8. ed.. Rio de Janeiro: Editora Campus. OLIVEIRA, K. Modelo para a Construção de Ambientes de Desenvolvimento de

Software Orientados a Domínio. 1999. Tese de Doutorado. UFRJ/COPPE Sistemas, outubro 1999.

OBERLE, Daniel et al. KAON SERVER Prototype. 2002.

http://kaon.semanticweb.org/Members/dob/Module.2002-12-13.1051/D6.pdf. [capturado em fev 2003].

OWL. OWL Web Ontology Language - W3C Proposed Recommendation. 2003.

Disponível em: http://www.w3.org/TR/2003/PR-owl-features-20031215/. [capturado em jan 2004].

PAGE, LARRY et al. The PageRank citation ranking: Bringing order to the web. 1998.

Stanford Digital Libraries Working Paper. Disponível em: http://citeseer.nj.nec.com/rd/44950222,368196,1,0.25,Download/http://citeseer.nj.nec.com/cache/papers/cs/7144/http:zSzzSzwww-db.stanford.eduzSz~backrubzSzpageranksub.pdf/ page98pagerank.pdf. [capturado em out 2003].

PEREIRA, Genelice Paiva da Costa. Sistema de Gerenciamento de Documentos e Coleções na Web (SGDC-W). 2001. 22 p. Dissertação (Mestrado em Sistemas e Computação) – Instituto Militar de Engenharia, 2001.

Page 148: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

148

PROTÉGÉ. User's Guide. 2000. http://protege.stanford.edu/publications/UserGuideA4.pdf.

[capturado em jun 2003]. RDF. Resource Description Framework (RDF) Model and Syntax Specification. 1999.

Disponível em: http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/. [capturado em mar 2003].

RDF SCHEMA. Resource Description Framework (RDF) Schema Specification. 1999.

Disponível em: http://www.w3.org/TR/1998/WD-rdf-schema/. [capturado em mar 2003]. RIJSBERGEN, C. J. Van. Information Retrieval, Butterworths. 1979. 2 edition. SCHREIBER, ATH. et al. The KACTUS view on the “O” word. 1995. Technical Report,

ESPRIT Project 8145 KACTUS, University of Amsterdam,The Netherlands. SEMANTIC WEB. Semantic Web Activity. 2003. http://www.w3.org/2001/sw/. [capturado

em agosto de 2003]. SILVEIRA, Maria de L. Recuperação Vertical de Informação Um Estudo de Caso na

Área Jurídica. 2003. Tese de Doutorado. Universidade Federal de Minas Gerais. Disponível em: http://www.ip.pbh.gov.br/revista0501/ip0501silveira.pdf. [capturado em jan 2004].

SOWA, John F. Knowledge Representation: logical, philosophical and computational

foundations. 2000. Brooks Cole Publishing Co. STAAB, Steffen et al. Semantic Community Web Portals. 2000. In WWW9 / Computer

Networks (Special Issue: WWW9 - Proceedings of the 9th International World Wide Web Conference, Amsterdam, The Netherlands, Maio, 15-19, 2000). Disponível em: http://www9.org/w9cdrom/134/134.html. [capturado em mar 2003]

STAAB; Steffen et al. Knowledge Processes and Ontologies. 2001. IEEE Inteligent

Systems, Special Issue on Knowledge Management, 16(1), jan/fev 2001. STUDER, Rudi. Semantic Community Web Portals. WWW9 / Computer Networks

(Special Issue: WWW9 - Proceedings of the 9th International World Wide Web Conference, Amsterdam, The Netherlands, May, 15-19). 2000. Disponível em: http://www.semanticweb.org/events/dagstuhl2000/rstuder.ppt. [capturado em mar 2003].

SULLIVAN, Danny. Search Engine Sizes. 2003. Search Engine Watch. Disponível em:

http://www.searchenginewatch.com/reports/article.php/2156481. [capturado em jan 2004]. SUN. Sun Microsystems. 2003. Disponível em: http://www.sun.com/. [capturado em mai

2003]. SWARTOUT, Bill et al. Toward Distributed Use of Large-Scale Ontologies. 1997. AAAI

Symposium on Ontological Engineering,Stanford. Disponível:

Page 149: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

149

http://ksi.cpsc.ucalgary.ca/KAW/KAW96/swartout/Banff_96_final_2.html. [capturado em jun 2003].

SWATOUT, W. et al. Ontologies. 1999. IEEE Inteligent Systems & their applications, vl 14

n. 1, jan/fev 1999. TERRA, J. C. C et al. Portais Corporativos: A Revolução na Gestão do Conhecimento.

2002. São Paulo: Editora Campus. THE DELPHI GROUP. Building Enterprise-Class E-Business Portals. 2000. Disponível

em: http://www.kmadvantage.com/docs/km_articles/Building_Enterprise-Class_e-Bus_Portals.pdf. [capturado em jul. 2003].

TIME.COM. Tim Berners-Lee: World Wide Web Inventor. 1999. Time.com. Disponível

em: http://www.time.com/time/community/transcripts/1999/092999berners-lee.html. [capturado em: mar 2003].

TOLEDO, Aline Maria. Portais Corporativos: uma ferramenta estratégica de apoio a

Gestão do Conhecimento. 2002. Rio de Janeiro, RJ: UFRJ. Dissertação de Mestrado. TYLER, Nathan et al. Google Acquires Applied Semantics. 2003. Disponível em:

http://www.google.com/intl/pt/press/pressrel/applied.html. [capturado em out 2003]. USHOLD, Mike et al. Ontologies: Principles, Methods and Applications. 1996. The

Knowledge Engineering Review, Vol 11:2. VIEIRA, Maria da Graça Camargo et al. Perfil dos Sistemas de Indexação de documentos

utilizados nas bibliotecas e centros de documentação voltados à educação na América Latina e países de língua portuguesa. 1999. Departamento de Pesquisas Educacionais, Bilbioteca Ana Maria Poppovi, Relatório Final. Disponível em: http://www.inep.gov.br/download/comped/mapeamento/Relat%C3%B3rio_Final_linguagem_documental.doc. [capturado em fev 2003].

XML. Extensible Markup Language (XML) 1.0W3C Recommendation. 1998. Disponível

em: http://www.w3.org/TR/1998/REC-xml-19980210. [capturado em mar 2003]. XML. Architecture Domain. 2003.Disponível em: http://www.w3.org/XML/. [capturado em

mar 2003]. XML SCHEMA. Architecture Domain. 2001. Disponível em:

http://www.w3.org/XML/Schema#dev. [capturado em mar 2003].

Page 150: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

150

9 APÊNDICES

Page 151: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

151

9.1 APÊNDICE 1: LINGUAGEM DE CONSULTA KAON

1.1 INTRODUÇÃO

O framework KAON fornece uma linguagem experimental de consulta conceitual que

permite localizar os elementos que constituem a sua ontologia. As consultas KAON são

similares às consultas que usam lógicas de descrição com um número limitado de

funcionalidades.

As ontologias KAON são grafos interconectados de objetos, cujos elementos podem ser

acessados através da navegação, um dos componentes intrínseco das consultas KAON.

Outro ponto que deve ser considerado é o descrito na seção 3.3.3. Esta seção esclarece

que as ontologias KAON são formadas por entidades que podem ser conceitos (representam

um conjunto de instâncias), propriedades (representam um conjunto de pares de objetos, que

podem ser instâncias ou valores) e instâncias. Existem também os valores (constantes) que

são considerados conceitos com uma única instância. Caso uma constante esteja associada a

um conceito, ela passa a ser denominada de atributo. As propriedades são orientadas ligando

um objeto origem a um objeto destino. Além disso, um conceito ou propriedade pode ser

interpretado como uma instância, dependendo da necessidade do usuário, as ontologias

KAON tratam conceitos e propriedades como instâncias de meta-modelos.

Os resultados das consultas KAON são formados de conceitos, propriedades e instâncias,

de forma a assegurar a propriedade de fechamento a essas consultas.

1.2 SINTAXE DAS CONSULTAS

Não foi previsto para a sintaxe de consultas produzidas pelas atuais versões KAON, o uso

de variáveis para selecionar subconjuntos do modelo. As consultas consistem de expressões

de conceitos e propriedades que podem ser combinadas para criar expressões mais complexas

(KAON, 2003).

Page 152: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

152

1.3 EXPRESSÕES DE CONCEITO

Uma expressão de conceito pode ser pensada como um novo conceito definido ao se

realizar a consulta. Os resultados de uma expressão de conceito são um conjunto de instâncias

que podem ser consideradas membros do conceito definido pela expressão. A TAB. 1.1

mostra as expressões de conceito do KAON.

TAB. 1.1 – Expressões de Conceitos Expressão Significado Exemplo

[URI do conceito] Considera uma URI que identifica o conceito.

Retorna todas as instâncias de um conceito.

Caso o prefixo da URI do conceito seja igual a

URI da ontologia o prefixo pode ser omitido.

Conjunto de todas as instâncias que são

membros do conceito Pessoa, na ontologia

http://wim.fzi.de/vision:

[http://wim.fzi.de/vision#Pessoa]

Caso o prefixo da URI do conceito seja o

mesmo da ontologia:

[#Pessoa]

WITH prefixo AS Especifica um “namespace”. Caso o prefixo do

conceito não seja igual ao da ontologia, pode-

se declarar esse “namespace” e utilizá-lo, em

vez do endereço completo da URI do conceito.

WITH prefixo AS

‘http://me.com/ontologia/nome’

( [prefixo:Person] )

ROOT Expressão de conceito que se refere ao

conceito raiz da ontologia. Retorna todas as

instâncias existentes na ontologia

Conjunto de todas as instâncias existentes na

ontologia:

ROOT

SOME Considera dois parâmetros: uma expressão de

propriedade e uma expressão de conceito.

Retorna o conjunto de todas as instâncias para

as quais pelo menos um dos valores da

instância da propriedade esteja na expressão de

conceito.

Todos as coisas que vivem em uma cidade:

SOME (<#vive-em>, [#Cidade])

AND Considera duas expressões de conceito.

Retorna as instâncias que pertencem a ambas

as expressões de conceitos simultaneamente.

Pessoas que vivem em cidades:

[#Pessoa] AND SOME(<#vive-em>,

[#cidade])

{ ! #objeto! } Denota uma única instância, listada entre os

sinais de exclamação. As chaves podem ser

omitidas.

Todos as coisas que vivem em Manaus:

SOME (<#vive-em>={ !#Manaus! })

ou

SOME (<#vive-em>=!#Manaus!)

‘objeto’ Denota uma constante. Serve para delimitar Coisas com nome igual a João:

Page 153: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

153

objetos com propriedades tendo um

determinado valor. Uma constante é

equivalente a um conceito contendo somente

um elemento.

SOME(<#nome>=‘João’)

ALL Considera uma expressão de propriedade e

uma expressão de conceito. Retorna o conjunto

de todos as instâncias para os quais, se a

instância da propriedade existe, todos os seus

valores estão na expressão de conceito. Se a

instância da propriedade não existe, esse valor

também é retornado.

Coisas que vivem em Manaus e em Manaus

somente ou não vivem em lugar nenhum:

ALL(<#vive-em>=!#Manaus!)

Coisas que vivem em Manaus e em Manaus

somente (exclusão das propriedades vazias):

SOME ALL(<#vive-em>=!#Manaus!)

AND ALL(<#vive-em>=!#Manaus!)

MUST BE Considera uma expressão de propriedade e

uma expressão de conceito. Retorna o conjunto

de todos as instâncias para os quais, se a

instância da propriedade existe, todos os seus

valores estão na expressão de conceito.

Coisas que vivem em Manaus e em Manaus

somente:

MUST BE(<#vive-em>=!#Manaus!)

OR Considera duas expressões de conceito.

Retorna a união das instâncias contidas nas

duas expressões

Coisas que são Pessoa ou Gato:

[#Pessoa] OR [#Gato]

NOT Considera uma expressão de conceito. Retorna

o complemento das instâncias contidas no

conceito.

Todas as coisas que não são pessoas:

NOT [#Pessoa]

FROM Considera uma expressão de propriedade.

Transforma propriedades em conceitos,

selecionando todos os objetos origem da

propriedade.

Todos as coisas que são origens da

propriedade vive-em:

FROM(<#vivem-em>)

TO Considera uma expressão de propriedade.

Transforma propriedades em conceitos,

selecionando todos os objetos destino da

propriedade.

Todos as coisas que são destino da

propriedade vive-em:

TO(<#vivem-em>)

A FIG. 1.1 mostra um exemplo de consultas, utilizando expressões de conceitos,

realizada no ambiente PASS, através da ferramenta ONTOPASS.

Page 154: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

154

FIG. 1.1 Consulta utilizando expressões de conceitos

1.4 EXPRESSÕES DE PROPRIEDADE

Uma expressão de propriedade pode ser considerada como uma nova propriedade

definida ao se realizar a consulta. O resultado de uma expressão de propriedades é um

conjunto de tuplas, onde cada tupla contém duas instâncias ou uma instância e um valor. A

TAB. 1.2 mostra as expressões de propriedades do KAON.

Page 155: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

155

TAB. 1.2 – Expressões de Propriedades Expressão Significado Exemplo

<#p> Considera um nome que identifique a

propriedade (“p”). Retorna um conjunto de

tuplas, onde cada tupla contém duas instâncias

ou uma instância e um valor.

Todas as coisas conectadas com coisas onde

vivem:

<#vive-em>

INVERSE Considera uma expressão de propriedade.

Retorna um conjunto de tuplas, com os objetos

destino e origem trocados de lugar.

Todas as coisas onde vivem conectadas às

coisas que vivem:

INVERSE(<#vive-em>)

<#p1>.<#p2> Representa expressões de caminho construídas

com base em expressões de propriedade.

Todas as pessoas que vivem em uma cidade

(p1=vive-em), que pertence a um país

(p2=pertence):

<#vive-em>.<#pertence>

<#p> IN:x [#c] Considera uma expressão de propriedade (

<#p> ), uma expressão de conceito ( [#c] ) e a

posição do conceito na propriedade: x=1

(conceito origem) ou x=2 (conceito destino).

Retorna um subconjunto da propriedade para o

qual o objeto na posição x (1 ou 2) é membro

do conceito especificado.

Considerando, que de modo geral <#vive-

em> conecta pessoas com cidades. Para

obter-se o subconjunto da propriedade

<#vive-em>, que conecta pessoas com

cidades interessantes, faz-se:

<#vive-em> IN:2 [#CidadesInteressantes]

CROSS Considera duas expressões de conceito.

Retorna uma propriedade contendo todas as

combinações de instâncias, onde a primeira

instância vem da primeira expressão de

conceito e a segunda instância vem da segunda

expressão de conceito.

Propriedade que conecta todas as pessoas

interessantes com as cidades interessantes:

CROSS

([#PessoasInteressantes],

[#cidadesInteressantes])

A FIG. 1.2 mostra um exemplo de consultas, utilizando expressões de propriedades,

realizada no ONTOPASS.

Page 156: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

156

FIG. 1.2 Consulta utilizando expressões de propriedades

1.5 INFORMAÇÃO LÉXICA

O KAON fornece um modelo que contém definições utilizadas na sua camada léxica, tais

como labels ou sinônimos. Este modelo define um conceito chamado “LexicalEntry” que

contém subconceitos para cada tipo de informação léxica (Labels, Sinônimos, etc.). Estas

informações léxicas são instanciadas e conectadas automaticamente a qualquer instância da

ontologia criada pelo usuário, através da propriedade “references”. O exemplo a seguir mostra

como recuperar os elementos da ontologia com um determinado “label”:

SOME(INVERSE(<kaon:references>),

[kaon:Label] AND

SOME(<kaon:value>=‘Meu Projeto’) AND

SOME(<kaon:inLanguage>=!kaon:pt!)

O primeiro “SOME” seleciona todos os elementos que são inversos da propriedade

“references” (kaon é um namespace para a ontologia onde esses elementos estão definidos).

Estes elementos estão conectados a um objeto “label”, que tem o valor ‘Meu Projeto’ e tem

Page 157: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

157

como linguagem o português (!kaon:pt!). Para facilitar as consultas associadas à camada

léxica, foram definidas duas novas expressões, vistas na TAB. 1.3

TAB. 1.3 – Consultas Relacionadas à Camada Léxica Expressão Significado Exemplo

HAS_LABEL Recupera as entidades (conceitos, propriedades

e instâncias) que satisfazem a linguagem e ao

valor do label fornecidos como parâmetros.

Recuperar todas as entidades que têm label igual

a ‘Meu Projeto’ na língua portuguesa:

HAS_LABEL(‘Meu Projeto’, ‘pt’)

HAS_LEXICON Recupera as entidades (conceitos, propriedades

e instâncias) que satisfazem ao tipo de léxico

(Label, Synonym, Documentation, Stem), valor

do léxico e linguagem fornecidos como

parâmetros.

Recuperar todas as entidades que têm o tipo de

léxico igual a “Synonym”, valor igual a ‘Meu

Projeto’ na língua portuguesa:

HAS_LEXICON(‘Synonym’,‘Meu Projeto’,

‘pt’)

A FIG. 1.3 mostra um exemplo de consultas relacionadas à camada léxica realizada no

ONTOPASS.

FIG. 1.3 Consulta utilizando expressões da camada léxica

1.6 CONSULTAS AO ESQUEMA

Adicionalmente, é possível executar consultas relacionadas à estrutura formada entre

conceitos, propriedades e instâncias nas ontologias KAON. Por exemplo, pode-se perguntar

quais são os superconceitos do conceito “empresa”: SUPERCONCEPTS(!#empresa!). Já a

Page 158: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

158

consulta SUPERCONCEPTS^(!#empresa!), retornará todos os superconceitos diretamente

ligados ao conceito empresa.

Observa-se que, nestes exemplos, o conceito é tratado como se fosse uma instância

estendida e não como conceito. Isto está relacionado à forma de funcionamento da expressão

SUPERCONCEPTS. No primeiro passo, essa expressão gera uma ou mais instâncias

estendidas a partir do argumento dado pelo usuário. Caso esse argumento seja uma instância,

essa instância é considerada uma instância estendida. Caso seja um conceito, todas as

instâncias desse conceito são consideradas instâncias estendidas. Num segundo passo, todas

as instâncias estendidas são consideradas como conceitos e seus superconceitos são

determinados. Por exemplo, se considerarmos a consulta SUPERCONCEPTS([#empresa]), o

resultado não seria os superconceitos de “empresa”, mas os superconceitos dos conceitos que

são obtidos interpretando as instâncias de “empresa” como conceitos. Outros tipos de

consultas similares podem ser vistas na TAB. 1.4:

TAB. 1.4 – Consultas Relacionadas ao Esquema definido na Ontologia SUPERCONCEPTS Retorna os superconceitos

SUPERCONCEPTS^ Retorna os supeconceitos diretos

SUBCONCEPTS Retorna os subconceitos

SUBCONCEPTS^ Retorna os subconceitos diretos

INSTANCES Retorna as instâncias de um conceito

INSTANCES^ Retorna as instâncias diretas de um conceito

PARENT_CONCEPTS Retorna os conceitos ancestrais (pais, avós, etc) de uma instância

PARENT_CONCEPTS^ Retorna os conceitos pais de uma instância

PROPERTIES FROM Retorna as propriedades que saem do conceito

PROPERTIES TO Retorna as propriedades que chegam a um conceito

DOMAIN CONCEPTS Retorna os conceitos origem de uma propriedade

RANGE CONCEPTS Retorna os conceitos destino de uma propriedade

A FIG. 1.4 mostra um exemplo de consultas utilizando expressões de esquema realizada

no ONTOPASS.

Page 159: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

159

FIG. 1.4 Consulta utilizando expressões de esquema da ontologia

Page 160: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

160

9.2 APÊNDICE 2: ONTOLOGIA DOS USUÁRIOS DO PASS

<?xml version='1.0' encoding='UTF-8'?> <?include-rdf logicalURI="http://kaon.semanticweb.org/2001/11/kaon-root"?> <?include-rdf logicalURI="http://kaon.semanticweb.org/2001/11/kaon-lexical"?> <!DOCTYPE rdf:RDF [ <!ENTITY kaon 'http://kaon.semanticweb.org/2001/11/kaon-lexical#'> <!ENTITY a 'file:/D:/Mestrado_IME/Tese/Softwares/arquivos/portalSemantico.kaon#'> <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'> <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'> ]> <rdf:RDF xml:base="file:/D:/Mestrado_IME/Tese/Softwares/arquivos/portalSemantico.kaon" xmlns:kaon="&kaon;" xmlns:a="&a;" xmlns:rdf="&rdf;" xmlns:rdfs="&rdfs;"> <!--conceitos e seus relacionamentos hierárquicos--> <rdfs:Class rdf:ID="person"> <rdfs:subClassOf rdf:resource="&kaon;Root"/> </rdfs:Class> <rdfs:Class rdf:ID="category"> <rdfs:subClassOf rdf:resource="&kaon;Root"/> </rdfs:Class> <rdfs:Class rdf:ID="uri"> <rdfs:subClassOf rdf:resource="&kaon;Root"/> </rdfs:Class> <!--propriedades--> <rdf:Property rdf:ID="person_categories"> <rdfs:domain rdf:resource="#person"/> <rdfs:range rdf:resource="#category"/> </rdf:Property> <rdf:Property rdf:ID="person_consults"> <rdfs:domain rdf:resource="#person"/> <rdfs:range rdf:resource="#uri"/> </rdf:Property> <rdf:Property rdf:ID="person_email"> <rdfs:domain rdf:resource="#person"/> <rdfs:range rdf:resource="&rdfs;Literal"/> </rdf:Property> <rdf:Property rdf:ID="person_name"> <rdfs:domain rdf:resource="#person"/> <rdfs:range rdf:resource="&rdfs;Literal"/> </rdf:Property> <rdf:Property rdf:ID="person_role"> <rdfs:domain rdf:resource="#person"/> <rdfs:range rdf:resource="&rdfs;Literal"/> </rdf:Property>

Page 161: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

161

<rdf:Property rdf:ID="category_context"> <rdfs:domain rdf:resource="#category"/> <rdfs:range rdf:resource="&rdfs;Literal"/> </rdf:Property> <!--instâncias--> <a:person rdf:ID="person_visitante" a:person_email="person_visitante: [email protected]" a:person_name="visitante" a:person_role="person_visitante: Banco-de-Dados.kaon: visitante"> <a:person_role>person_visitante: informationScience.kaon: visitante</a:person_role> <a:person_role>person_visitante: portalSemantico.kaon: visitante</a:person_role> </a:person> <a:person rdf:ID="person_usuario" a:person_email="person_usuario: [email protected]" a:person_name="usuario" a:person_role="person_usuario: Banco-de-Dados.kaon: usuario"> <a:person_role>person_usuario: informationScience.kaon: usuario</a:person_role> <a:person_role>person_usuario: portalSemantico.kaon: usuario</a:person_role> </a:person> <a:person rdf:ID="person_especialista" a:person_email="person_especialista: [email protected]" a:person_name="especialista" a:person_role="person_especialista: Banco-de-Dados.kaon: especialista"> <a:person_role>person_especialista: informationScience.kaon: especialista</a:person_role> <a:person_role>person_especialista: portalSemantico.kaon: especialista</a:person_role> </a:person> <a:person rdf:ID="person_administrador" a:person_email="person_administrador: [email protected]" a:person_name="administrador" a:person_role="person_administrador: Banco-de-Dados.kaon: administrador"> <a:person_role>person_administrador: informationScience.kaon: administrador</a:person_role> <a:person_role>person_administrador: portalSemantico.kaon: administrador</a:person_role> </a:person> <!--léxico da ontologia--> <!--labels dos conceitos--> <kaon:Label rdf:ID="1075502072439-1060268305" kaon:value="pessoa"> <kaon:inLanguage rdf:resource="&kaon;pt"/> <kaon:references rdf:resource="#person"/> </kaon:Label> <kaon:Label rdf:ID="1075501468080-1551256168" kaon:value="person"> <kaon:inLanguage rdf:resource="&kaon;en"/> <kaon:references rdf:resource="#person"/> </kaon:Label>

Page 162: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

162

<kaon:Label rdf:ID="1075502117364-2044815172" kaon:value="uri"> <kaon:inLanguage rdf:resource="&kaon;pt"/> <kaon:references rdf:resource="#uri"/> </kaon:Label> <kaon:Label rdf:ID="1075501494979-1759499124" kaon:value="uri"> <kaon:inLanguage rdf:resource="&kaon;en"/> <kaon:references rdf:resource="#uri"/> </kaon:Label> <kaon:Label rdf:ID="1075502138725-1592371718" kaon:value="categoria"> <kaon:inLanguage rdf:resource="&kaon;pt"/> <kaon:references rdf:resource="#category"/> </kaon:Label> <kaon:Label rdf:ID="1075501515589-431686693" kaon:value="category"> <kaon:inLanguage rdf:resource="&kaon;en"/> <kaon:references rdf:resource="#category"/> </kaon:Label> <!--labels das propriedades e atributos--> <kaon:Label rdf:ID="1075502250936-1049262964" kaon:value="categorias"> <kaon:inLanguage rdf:resource="&kaon;pt"/> <kaon:references rdf:resource="#person_categories"/> </kaon:Label> <kaon:Label rdf:ID="1075501835008-1196225855" kaon:value="categories"> <kaon:inLanguage rdf:resource="&kaon;en"/> <kaon:references rdf:resource="#person_categories"/> </kaon:Label> <kaon:Label rdf:ID="1075502224398-1150171599" kaon:value="consultas"> <kaon:inLanguage rdf:resource="&kaon;pt"/> <kaon:references rdf:resource="#person_consults"/> </kaon:Label> <kaon:Label rdf:ID="1075501845673-561316374" kaon:value="consults"> <kaon:inLanguage rdf:resource="&kaon;en"/> <kaon:references rdf:resource="#person_consults"/> </kaon:Label> <kaon:Label rdf:ID="1075502169799-1667074633" kaon:value="email"> <kaon:inLanguage rdf:resource="&kaon;pt"/> <kaon:references rdf:resource="#person_email"/> </kaon:Label> <kaon:Label rdf:ID="1075501864751-54732141" kaon:value="email"> <kaon:inLanguage rdf:resource="&kaon;en"/> <kaon:references rdf:resource="#person_email"/> </kaon:Label> <kaon:Label rdf:ID="1075502183539-1859740656" kaon:value="nome"> <kaon:inLanguage rdf:resource="&kaon;pt"/> <kaon:references rdf:resource="#person_name"/> </kaon:Label> <kaon:Label rdf:ID="1075501875666-1597004398" kaon:value="name"> <kaon:inLanguage rdf:resource="&kaon;en"/> <kaon:references rdf:resource="#person_name"/>

Page 163: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

163

</kaon:Label> <kaon:Label rdf:ID="1075502196538-1205669429" kaon:value="papel"> <kaon:inLanguage rdf:resource="&kaon;pt"/> <kaon:references rdf:resource="#person_role"/> </kaon:Label> <kaon:Label rdf:ID="1075501885961-2114908531" kaon:value="role"> <kaon:inLanguage rdf:resource="&kaon;en"/> <kaon:references rdf:resource="#person_role"/> </kaon:Label> <kaon:Label rdf:ID="1075502288250-1018982743" kaon:value="contexto"> <kaon:inLanguage rdf:resource="&kaon;pt"/> <kaon:references rdf:resource="#category_context"/> </kaon:Label> <kaon:Label rdf:ID="1075502017871-482529724" kaon:value="context"> <kaon:inLanguage rdf:resource="&kaon;en"/> <kaon:references rdf:resource="#category_context"/> </kaon:Label> <!--labels das instâncias--> <kaon:Label rdf:ID="1075502588321-2046021351" kaon:value="visitante"> <kaon:inLanguage rdf:resource="&kaon;en"/> <kaon:references rdf:resource="#person_visitante"/> </kaon:Label> <kaon:Label rdf:ID="1075819552063-1047021863" kaon:value="usuario"> <kaon:inLanguage rdf:resource="&kaon;en"/> <kaon:references rdf:resource="#person_usuario"/> </kaon:Label> <kaon:Label rdf:ID="1075502674555-136700292" kaon:value="administrador"> <kaon:inLanguage rdf:resource="&kaon;en"/> <kaon:references rdf:resource="#person_administrador"/> </kaon:Label> <kaon:Label rdf:ID="1075819218193-2089068353" kaon:value="especialista"> <kaon:inLanguage rdf:resource="&kaon;en"/> <kaon:references rdf:resource="#person_especialista"/> </kaon:Label> </rdf:RDF>

Page 164: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

164

9.3 APÊNDICE 3: TRECHO DA ONTOLOGIA SOBRE CIÊNCIA DA INFORMAÇÃO

<?xml version='1.0' encoding='UTF-8'?> <?include-rdf logicalURI="http://kaon.semanticweb.org/2001/11/kaon-root"?> <?include-rdf logicalURI="http://kaon.semanticweb.org/2001/11/kaon-lexical"?> <!DOCTYPE rdf:RDF [ <!ENTITY kaon 'http://kaon.semanticweb.org/2001/11/kaon-lexical#'> <!ENTITY a 'file:/D:/Mestrado_IME/Tese/Softwares/arquivos/informationScience.kaon#'> <!ENTITY rdf 'http://www.w3.org/1999/02/22-rdf-syntax-ns#'> <!ENTITY rdfs 'http://www.w3.org/2000/01/rdf-schema#'> ]> <rdf:RDF xml:base="file:/D:/Mestrado_IME/Tese/Softwares/arquivos/informationScience.kaon" xmlns:kaon="&kaon;" xmlns:a="&a;" xmlns:rdf="&rdf;" xmlns:rdfs="&rdfs;"> <!--conceitos e seus relacionamentos hierárquicos--> <rdfs:Class rdf:ID=".networks."> <rdfs:subClassOf rdf:resource="&kaon;Root"/> </rdfs:Class> <rdfs:Class rdf:ID="networks"> <rdfs:subClassOf rdf:resource="#.networks."/> </rdfs:Class> <rdfs:Class rdf:ID="telecommunications-networks"> <rdfs:subClassOf rdf:resource="#networks"/> </rdfs:Class> <rdfs:Class rdf:ID="neural-networks"> <rdfs:subClassOf rdf:resource="#artificial-intelligence"/> <rdfs:subClassOf rdf:resource="#networks"/> </rdfs:Class> <rdfs:Class rdf:ID="semantic-networks"> <rdfs:subClassOf rdf:resource="#networks"/> </rdfs:Class> <rdfs:Class rdf:ID="nodes"> <rdfs:subClassOf rdf:resource="#networks"/> </rdfs:Class> <rdfs:Class rdf:ID="library-networks"> <rdfs:subClassOf rdf:resource="#networks"/> </rdfs:Class> <!--propriedades--> <rdf:Property rdf:ID="networks_distribuem” kaon:transitive="true"> <kaon:inverse rdf:resource="#networks_s%C3%A3o-distribu%C3%ADdos-por"/> <rdfs:domain rdf:resource="#networks"/> <rdfs:range rdf:resource="#data"/> </rdf:Property> <rdf:Property rdf:ID="networks_s%C3%A3o-distribu%C3%ADdos-por">

Page 165: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

165

<kaon:inverse rdf:resource="#networks_distribuem"/> <rdfs:domain rdf:resource="#data"/> <rdfs:range rdf:resource="#networks"/> </rdf:Property> <rdf:Property rdf:ID="networks_s%C3%A3o-formadas-por"> <kaon:inverse rdf:resource="#networks_formam"/> <rdfs:domain rdf:resource="#networks"/> <rdfs:range rdf:resource="#computers"/> </rdf:Property> <rdf:Property rdf:ID="networks_formam"> <kaon:inverse rdf:resource="#networks_s%C3%A3o-formadas-por"/> <rdfs:domain rdf:resource="#computers"/> <rdfs:range rdf:resource="#networks"/> </rdf:Property> <rdf:Property rdf:ID="networks_traffic-.network.” kaon:transitive="true"> <kaon:inverse rdf:resource="#traffic-.network._networks"/> <rdfs:domain rdf:resource="#networks"/> <rdfs:range rdf:resource="#traffic-.network."/> </rdf:Property> <rdf:Property rdf:ID="traffic-.network._networks"> <kaon:inverse rdf:resource="#networks_traffic-.network."/> <rdfs:domain rdf:resource="#traffic-.network."/> <rdfs:range rdf:resource="#networks"/> </rdf:Property> <rdf:Property rdf:ID="networks_spreading-activation” kaon:symmetric="true"> <rdfs:domain rdf:resource="#networks"/> <rdfs:range rdf:resource="#spreading-activation"/> </rdf:Property> <rdf:Property rdf:ID="spreading-activation_networks"> <rdfs:domain rdf:resource="#spreading-activation"/> <rdfs:range rdf:resource="#networks"/> </rdf:Property> <rdf:Property rdf:ID="networks_personal-networking"> <kaon:inverse rdf:resource="#personal-networking_networks"/> <rdfs:domain rdf:resource="#networks"/> <rdfs:range rdf:resource="#personal-networking"/> </rdf:Property> <rdf:Property rdf:ID="personal-networking_networks"> <kaon:inverse rdf:resource="#networks_personal-networking"/> <rdfs:domain rdf:resource="#personal-networking"/> <rdfs:range rdf:resource="#networks"/> </rdf:Property> <rdf:Property rdf:ID="networks_usam” kaon:symmetric="true"> <rdfs:domain rdf:resource="#networks"/> <rdfs:range rdf:resource="#telecommunications"/> </rdf:Property> <!--instâncias--> <a:networks rdf:ID="http%3A%2F%2Fwww.zdnet.pt%2Fredes%2F"/>

Page 166: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

166

<!--léxico da ontologia--> <!--labels dos conceitos--> <kaon:Label rdf:ID="1070609061302-1609061302” kaon:value=".redes."> <kaon:inLanguage rdf:resource="&kaon;pt"/> <kaon:references rdf:resource="#.networks."/> </kaon:Label> <kaon:Label rdf:ID="1054306982358-332956868” kaon:value=".networks."> <kaon:inLanguage rdf:resource="&kaon;en"/> <kaon:references rdf:resource="#.networks."/> </kaon:Label> <kaon:Label rdf:ID="1070442597859-1442597859” kaon:value="redes"> <kaon:inLanguage rdf:resource="&kaon;pt"/> <kaon:references rdf:resource="#networks"/> </kaon:Label> <kaon:Label rdf:ID="1054307083358-332956868” kaon:value="networks"> <kaon:inLanguage rdf:resource="&kaon;en"/> <kaon:references rdf:resource="#networks"/> </kaon:Label> <kaon:Label rdf:ID="1070313818810-1313818810” kaon:value="redes de telecomunicações"> <kaon:inLanguage rdf:resource="&kaon;pt"/> <kaon:references rdf:resource="#telecommunications-networks"/> </kaon:Label> <kaon:Label rdf:ID="1054305002359-332956868” kaon:value="telecommunications networks"> <kaon:inLanguage rdf:resource="&kaon;en"/> <kaon:references rdf:resource="#telecommunications-networks"/> </kaon:Label> <kaon:Label rdf:ID="1070599752709-1599752709” kaon:value="redes neurais"> <kaon:inLanguage rdf:resource="&kaon;pt"/> <kaon:references rdf:resource="#neural-networks"/> </kaon:Label> <kaon:Label rdf:ID="1054304702358-332956868” kaon:value="neural networks"> <kaon:inLanguage rdf:resource="&kaon;en"/> <kaon:references rdf:resource="#neural-networks"/> </kaon:Label> <kaon:Label rdf:ID="1070396077994-1396077994” kaon:value="redes semânticas"> <kaon:inLanguage rdf:resource="&kaon;pt"/> <kaon:references rdf:resource="#semantic-networks"/> </kaon:Label> <kaon:Label rdf:ID="1054304902359-332956868” kaon:value="semantic networks"> <kaon:inLanguage rdf:resource="&kaon;en"/> <kaon:references rdf:resource="#semantic-networks"/> </kaon:Label> <kaon:Label rdf:ID="1070822210571-1822210571” kaon:value="redes de biblioteca"> <kaon:inLanguage rdf:resource="&kaon;pt"/> <kaon:references rdf:resource="#library-networks"/>

Page 167: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

167

</kaon:Label> <kaon:Label rdf:ID="1054307184358-332956868” kaon:value="library networks"> <kaon:inLanguage rdf:resource="&kaon;en"/> <kaon:references rdf:resource="#library-networks"/> </kaon:Label> <kaon:Label rdf:ID="1070658756289-1658756289” kaon:value="dados"> <kaon:inLanguage rdf:resource="&kaon;pt"/> <kaon:references rdf:resource="#data"/> </kaon:Label> <kaon:Label rdf:ID="1054306116169-332956868” kaon:value="data"> <kaon:inLanguage rdf:resource="&kaon;en"/> <kaon:references rdf:resource="#data"/> </kaon:Label> <kaon:Label rdf:ID="1070336509193-1336509193” kaon:value="computadores"> <kaon:inLanguage rdf:resource="&kaon;pt"/> <kaon:references rdf:resource="#computers"/> </kaon:Label> <kaon:Label rdf:ID="1054306739058-332956868” kaon:value="computers"> <kaon:inLanguage rdf:resource="&kaon;en"/> <kaon:references rdf:resource="#computers"/> </kaon:Label> <kaon:Label rdf:ID="1070475597212-1475597212” kaon:value="tráfego .rede."> <kaon:inLanguage rdf:resource="&kaon;pt"/> <kaon:references rdf:resource="#traffic-.network."/> </kaon:Label> <kaon:Label rdf:ID="1054306318159-332956868” kaon:value="traffic .network."> <kaon:inLanguage rdf:resource="&kaon;en"/> <kaon:references rdf:resource="#traffic-.network."/> </kaon:Label> <kaon:Label rdf:ID="1070471396399-1471396399” kaon:value="ativação de disseminação "> <kaon:inLanguage rdf:resource="&kaon;pt"/> <kaon:references rdf:resource="#spreading-activation"/> </kaon:Label> <kaon:Label rdf:ID="1054304839368-332956868” kaon:value="spreading activation"> <kaon:inLanguage rdf:resource="&kaon;en"/> <kaon:references rdf:resource="#spreading-activation"/> </kaon:Label> <kaon:Label rdf:ID="1070386533811-1386533811” kaon:value="rede pessoal"> <kaon:inLanguage rdf:resource="&kaon;pt"/> <kaon:references rdf:resource="#personal-networking"/> </kaon:Label> <kaon:Label rdf:ID="1054306275059-332956868” kaon:value="personal networking"> <kaon:inLanguage rdf:resource="&kaon;en"/> <kaon:references rdf:resource="#personal-networking"/> </kaon:Label> <kaon:Label rdf:ID="1070744209155-1744209155” kaon:value="telecomunicações"> <kaon:inLanguage rdf:resource="&kaon;pt"/> <kaon:references rdf:resource="#telecommunications"/>

Page 168: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

168

</kaon:Label> <kaon:Label rdf:ID="1054307184059-332956868” kaon:value="telecommunications"> <kaon:inLanguage rdf:resource="&kaon;en"/> <kaon:references rdf:resource="#telecommunications"/> </kaon:Label> <!--sinônimos dos conceitos--> <kaon:Synonym rdf:ID="1036335421773-1335421773” kaon:value="redes de informação"> <kaon:inLanguage rdf:resource="&kaon;pt"/> <kaon:references rdf:resource="#telecommunications-networks"/> </kaon:Synonym> <kaon:Synonym rdf:ID="1055877722479-1877722479” kaon:value="information networks"> <kaon:inLanguage rdf:resource="&kaon;en"/> <kaon:references rdf:resource="#telecommunications-networks"/> </kaon:Synonym> <kaon:Synonym rdf:ID="1036381979807-1381979807” kaon:value="redes de comunicações"> <kaon:inLanguage rdf:resource="&kaon;pt"/> <kaon:references rdf:resource="#telecommunications-networks"/> </kaon:Synonym> <kaon:Synonym rdf:ID="1055564186701-1564186701” kaon:value="communications networks"> <kaon:inLanguage rdf:resource="&kaon;en"/> <kaon:references rdf:resource="#telecommunications-networks"/> </kaon:Synonym> <!--labels das propriedades e atributos--> <kaon:Label rdf:ID="1074960638310-1176906921” kaon:value="distribuem"> <kaon:inLanguage rdf:resource="&kaon;pt"/> <kaon:references rdf:resource="#networks_distribuem"/> </kaon:Label> <kaon:Label rdf:ID="1074972352995-1859927816” kaon:value="distribute"> <kaon:inLanguage rdf:resource="&kaon;en"/> <kaon:references rdf:resource="#networks_distribuem"/> </kaon:Label> <kaon:Label rdf:ID="1074960943118-282755102” kaon:value="são distribuÃ-dos por"> <kaon:inLanguage rdf:resource="&kaon;pt"/> <kaon:references rdf:resource="#networks_s%C3%A3o-distribu%C3%ADdos-por"/> </kaon:Label> <kaon:Label rdf:ID="1074972693184-430836139” kaon:value="are distributed by"> <kaon:inLanguage rdf:resource="&kaon;en"/> <kaon:references rdf:resource="#networks_s%C3%A3o-distribu%C3%ADdos-por"/> </kaon:Label> <kaon:Label rdf:ID="1074961174150-60688174” kaon:value="são formadas por"> <kaon:inLanguage rdf:resource="&kaon;pt"/> <kaon:references rdf:resource="#networks_s%C3%A3o-formadas-por"/> </kaon:Label>

Page 169: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

169

<kaon:Label rdf:ID="1074972552912-394796486” kaon:value="are constituted by"> <kaon:inLanguage rdf:resource="&kaon;en"/> <kaon:references rdf:resource="#networks_s%C3%A3o-formadas-por"/> </kaon:Label> <kaon:Label rdf:ID="1074961291259-363019499” kaon:value="formam"> <kaon:inLanguage rdf:resource="&kaon;pt"/> <kaon:references rdf:resource="#networks_formam"/> </kaon:Label> <kaon:Label rdf:ID="1074972615933-1917764947” kaon:value="constitute"> <kaon:inLanguage rdf:resource="&kaon;en"/> <kaon:references rdf:resource="#networks_formam"/> </kaon:Label> <kaon:Label rdf:ID="1090429325828-1429325828” kaon:value="possui"> <kaon:inLanguage rdf:resource="&kaon;pt"/> <kaon:references rdf:resource="#networks_traffic-.network."/> </kaon:Label> <kaon:Label rdf:ID="1055383572312-1383572312” kaon:value="related with"> <kaon:inLanguage rdf:resource="&kaon;en"/> <kaon:references rdf:resource="#networks_traffic-.network."/> </kaon:Label> <kaon:Label rdf:ID="1090962483124-1962483124” kaon:value="é possuÃ-do por"> <kaon:inLanguage rdf:resource="&kaon;pt"/> <kaon:references rdf:resource="#traffic-.network._networks"/> </kaon:Label> <kaon:Label rdf:ID="1055076545622-1076545622” kaon:value="related with"> <kaon:inLanguage rdf:resource="&kaon;en"/> <kaon:references rdf:resource="#traffic-.network._networks"/> </kaon:Label> <kaon:Label rdf:ID="1090485687199-1485687199” kaon:value="relaciona-se com"> <kaon:inLanguage rdf:resource="&kaon;pt"/> <kaon:references rdf:resource="#networks_spreading-activation"/> </kaon:Label> <kaon:Label rdf:ID="1055489035465-1489035465” kaon:value="related with"> <kaon:inLanguage rdf:resource="&kaon;en"/> <kaon:references rdf:resource="#networks_spreading-activation"/> </kaon:Label> <kaon:Label rdf:ID="1090544165669-1544165669” kaon:value="relaciona-se com"> <kaon:inLanguage rdf:resource="&kaon;pt"/> <kaon:references rdf:resource="#spreading-activation_networks"/> </kaon:Label> <kaon:Label rdf:ID="1055796710483-1796710483” kaon:value="related with"> <kaon:inLanguage rdf:resource="&kaon;en"/> <kaon:references rdf:resource="#spreading-activation_networks"/> </kaon:Label> <kaon:Label rdf:ID="1090975106380-1975106380” kaon:value="abrangem"> <kaon:inLanguage rdf:resource="&kaon;pt"/> <kaon:references rdf:resource="#networks_personal-networking"/> </kaon:Label> <kaon:Label rdf:ID="1055013563871-1013563871” kaon:value="related with">

Page 170: BUSCA EM PORTAIS SEMÂNTICOS: UMA ABORDAGEM …

170

<kaon:inLanguage rdf:resource="&kaon;en"/> <kaon:references rdf:resource="#networks_personal-networking"/> </kaon:Label> <kaon:Label rdf:ID="1090475475803-1475475803” kaon:value="é abrangida por"> <kaon:inLanguage rdf:resource="&kaon;pt"/> <kaon:references rdf:resource="#personal-networking_networks"/> </kaon:Label> <kaon:Label rdf:ID="1055056913108-1056913108” kaon:value="related with"> <kaon:inLanguage rdf:resource="&kaon;en"/> <kaon:references rdf:resource="#personal-networking_networks"/> </kaon:Label> <kaon:Label rdf:ID="1074961739974-2002088200” kaon:value="usam"> <kaon:inLanguage rdf:resource="&kaon;pt"/> <kaon:references rdf:resource="#networks_usam"/> </kaon:Label> <kaon:Label rdf:ID="1074972288552-177546671” kaon:value="use"> <kaon:inLanguage rdf:resource="&kaon;en"/> <kaon:references rdf:resource="#networks_usam"/> </kaon:Label> <!--labels das instâncias--> <kaon:Label rdf:ID="1074960450450-550919805” kaon:value="http://www.zdnet.pt/redes/"> <kaon:inLanguage rdf:resource="&kaon;en"/> <kaon:references rdf:resource="#http%3A%2F%2Fwww.zdnet.pt%2Fredes%2F"/> </kaon:Label> </rdf:RDF>