Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
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
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
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
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.
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.
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
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
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
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.
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.
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
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.
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
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
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.
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
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.
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:
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).
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
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.
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).
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
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”.
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
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
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).
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.
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)
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
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.
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.
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:
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”.
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
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
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
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
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.
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.
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.
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,
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
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).
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
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:
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.
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;
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
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
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”;
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.
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);
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é-
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.
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.
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).
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
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.
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
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).
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.
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.
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.
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.
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.
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.
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
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.
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
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
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.
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.
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 é
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;
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).
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.
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.
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.
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;
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
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
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
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
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;
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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
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.
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
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.
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
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).
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
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
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
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:
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).
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.
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
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
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
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.
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;
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”
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
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
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.
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).
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
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,
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%.
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)
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
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
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.
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
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.
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
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
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.
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
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
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
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
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
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
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
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.
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.
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.
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.
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.
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.
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].
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.
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].
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].
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.
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.
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.
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:
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].
150
9 APÊNDICES
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).
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:
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.
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.
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.
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
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
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.
159
FIG. 1.4 Consulta utilizando expressões de esquema da ontologia
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>
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>
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"/>
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>
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">
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"/>
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"/>
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"/>
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>
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">
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>