Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
ferramentas e linguagens
E. A. M. Morais
Technical Report
A. P. L. Ambrsio
INF_001/07
December
2007
Relatrio Tcnico
Dezembro
The contents of this document are the sole responsibility of the authors.
O contedo do presente documento de nica responsabilidade dos autores.
Instituto de Informtica
Universidade Federal de Gois
www.inf.ufg.br
edison@inf.ufg.br
apaula@inf.ufg.br
Abstract. The objective of this technical report is describe the ontologie concepts, its
main uses, types, development methodologies, specification tools and representation
languages.
Keywords: Ontologie.
Resumo. O objetivo deste relatrio tcnico descrever os conceitos de ontologia,
seus principais usos, tipos, metodologias de desenvolvimento, ferramentas de especificao e linguagens de representao.
Palavras-Chave: Ontologia.
Introduo
Ontologia
2.1
Sentido Filosfico
Em seu sentido filosfico, ontologia possui diversas definies. De acordo com Almeida
et al. [2], o ramo da metafsica1 que estuda os tipos de coisas que existem no mundo. A
palavra derivada do grego ontos, ser, e logos, palavra. Entretanto, seu termo de origem a
palavra aristotlica categoria, termo este utilizado no sentido de classificao. Neste sentido,
Aristteles2 apresenta categorias que servem de base para classificar entidades, e introduz o
termo differentia (Figura 1) para propriedades diferentes na classificao de espcies de mesmo
gnero (categoria).
um ramo da filosofia que estuda o mundo como ele , ou seja, o estudo do ser ou da realidade. a cincia
do ser como ser, ou dos princpios e das causas do ser e de seus atributos essenciais. Ela abrange ainda o ser imvel
e incorpreo, princpio dos movimentos e das formas do mundo, bem como o mundo mutvel e material, mas em
seus aspectos universais e necessrios [5].
2
Filsofo grego nascido em Estagira, colnia grega da Trcia, no litoral setentrional do mar Egeu, em 384 a.C,
foi um dos maiores pensadores de todos os tempos e considerado o criador do pensamento lgico [5].
refere-se ao termo como a cincia do o que ? ou o estudo das coisas que existem, da descrio de tipos e estruturas de objetos, suas propriedades, eventos, processos e relacionamentos
em cada rea do mundo real.
Entretanto, apesar dos filsofos utilizarem ontologias durante anos para descrever domnios naturais do mundo, ainda no h um consenso, principalmente na rea de Cincia da
Computao, sobre a real semntica do termo ontologia [25].
2.2
Alm de serem utilizadas em diversas reas, o uso de ontologias traz diversas vantagens.
De acordo com Guizzardi [25], os principais benefcios relacionados utilizao de ontologias
so:
Comunicao
As ontologias possibilitam a comunicao entre pessoas acerca de determinado conhecimento, pois permitem raciocnio e entendimento sobre um domnio. Essa relao auxilia
na obteno de consenso, principalmente sobre termos tcnicos, entre comunidades profissionais, de pesquisa, etc.
Formalizao
A formalizao est relacionada especificao da ontologia, que permite eliminar contradies e inconsistncias na representao de conhecimento, alm de no ser ambga.
Alm disso, essa especificao pode ser testada, validada e verificada.
Representao de Conhecimento e Reutilizao
As ontologias formam um vocabulrio de consenso que permite representar conhecimento
de um domnio em seu nvel mais alto de abstrao, possuindo, desta forma, potencial de
reutilizao.
Apesar de vrios usos e benefcios, as ontologias ainda apresentam alguns problemas
[25], dentre eles:
Escolha das Ontologias
A escolha de uma ontologia pode se tornar um processo poltico, uma vez que uma ontologia pode no ser totalmente adequada a todos os indivduos ou grupos relacionados a
algum domnio especfico.
Criao e Evoluo das Ontologias
Ontologias precisam ser criadas e evoluir. Poucos trabalhos, entretanto, tm enfocado
este aspecto, principalmente na lngua portuguesa. Alguns trabalhos sobre ontologias de
domnio podem ser obtidos em [11].
Bibliotecas de Ontologias
A noo de biblioteca de ontologias est relacionada independncia entre elas. Desta
forma, a interface entre estas ontologias se constitui em um problema, uma vez que cada
uma delas pode ter sido desenvolvida em um contexto diferente.
Metodologia de Desenvolvimento
Este considerado o principal problema relacionado s ontologias, principalmente pela
falta de trabalhos descrevendo metodologias para seu desenvolvimento. Existe uma ausncia de atividades padronizadas, ciclos de vida e mtodos sistemticos de desenvolvimento, assim como um conjunto de critrios de qualidade, tcnicas e ferramentas. Isso
faz com que o processo de criao de ontologias seja uma atividade quase artstica.
Mais detalhes sobre como construir ontologias esto descritos na Seo 5.
Tipos de Ontologias
Ontologias podem ser classificadas quanto ao seu grau de formalismo, aplicao, contedo ou funo (estrutura) [2].
Quanto ao grau de formalismo, as ontologias podem ser categorizadas em altamente informais, quando expressas em linguagem natural; semi-informais, quando expressas em linguagem
natural de forma restrita e estruturada; semi-formais, expressas em linguagem artificial definida
formalmente; e rigorosamente formais, onde os termos so definidos com semntica formal,
teoremas e provas.
Em relao aplicao, as ontologias podem ser de autoria neutra, quando, por exemplo, um aplicativo descrito em uma nica lngua e depois convertido para o uso em diversos
Construo de Ontologias
A construo de ontologias de domnio envolve, primeiramente, a definio de seu domnio e escopo. Uma vez definidos estes elementos, devem ser escolhidos uma metodologia
(Seo 5.1), uma ferramenta (Seo 5.2) e uma linguagem (Seo 5.3) para sua especificao.
Na prtica, as metodologias, ferramentas e as linguagens so utilizadas na definio da
estrutura da ontologia. Nem todas as ontologias tm a mesma estrutura [2], mas a maioria delas
possui alguns elementos bsicos, como:
Classes
Normalmente organizadas em taxonomias, as classes representam algum tipo de interao
da ontologia com um determinado domnio (Figura 3).
Relaes
Representam o tipo de interao entre os elementos do domnio (classes).
Axiomas
So utilizados para modelar sentenas consideradas sempre verdadeiras [2].
Instncias
So utilizadas para representar elementos especficos, isto , os prprios dados da ontologia.
Funes
Eventos podem ocorrer no contexto da ontologia.
5.1
Figura 5: Methontology.
On-To-Knowledge [46]
Esta metodologia baseada em quatro fases (Figura 6): kick-off, refinamento, avaliao e
manuteno.
No kick-off os requisitos para construo da ontologia so capturados e especificados,
questes de competncia so identificadas, ontologias potencialmente reutilizveis so
estudadas e uma primeira verso da ontologia construda.
No refinamento, uma ontologia mais madura construda a partir da primeira verso.
Na avaliao, os requisitos e as questes de competncia so checados e a ontologia
colocada em ambiente de produo. A manuteno envolve atividades de adaptao da
ontologia s mudanas nos requisitos e correo de erros.
Figura 6: On-to-Knowledge.
10
Existem outras metodologias alm das descritas nesta Seo. Mais informaes sobre
estas metodologias podem ser obtidas em [2] e [30].
Pelo fato das metodologias descritas nesta Seo ainda no demonstrarem um processo
suficientemente estruturado a ponto de suportar a construo de ontologias como uma verdadeira disciplina de engenharia, Guizzardi [25] sugere uma abordagem sistemtica para sua
construo. Essa metodologia, inicialmente proposta por Falbo [14], baseada em seis fases:
identificao de propsito e especificao de requisitos, captura da ontologia, formalizao da
ontologia, integrao com ontologias existentes, avaliao e documentao.
Ainda segundo Guizzardi [25], esta abordagem une as principais caractersticas das metodologias descritas nesta Seo. Seu ciclo de vida iterativo, e alguns processos, como avaliao
da qualidade e documentao, ocorrem durante todo o ciclo de vida (atividades guarda-chuva).
A figura 7 mostra o diagrama de atividades que ilustra esta metodologia.
11
um domnio que podem ser representados em uma ontologia, com base nas questes de
competncia relacionadas a esta.
A captura envolve a identificao e especificao de conceitos (classes), seus relacionamentos e todos os demais elementos necessrios para a representao da ontologia, tais
como propriedades, axiomas, instncias, etc. Falbo [14] sugere ainda que esta especificao seja acompanhada de um vocabulrio de termos, que auxiliem no seu entendimento,
e seja representada atravs de uma linguagem grfica, no sentido de facilitar sua futura
comunicao com especialistas de domnio.
Alguns conceitos que no podem ser obtidos a partir de outros conceitos da ontologia
(conceitos primitivos) devem se especificados utilizando-se linguagem natural, com o mnimo de ambigidade e inconsistncia possvel. J os conceitos no primitivos devem ser
especificados com referncia clara aos conceitos primitivos. A utilizao de taxonomias
(organizao em categoria e sub-categorias) tambm deve ser utilizada na representao
dos conceitos, pois auxilia sua organizao, facilitando seu entendimento.
Os conceitos, suas propriedades e relacionamentos formam a base de qualquer ontologia.
Entretanto, para definir a semntica de seus termos devem ser construdos os axiomas,
que so utilizados para modelar sentenas sempre verdadeiras [2].
Na prtica, os axiomas especificam definies de termos na ontologia e restries sobre
sua interpretao. Geralmente especificados em linguagem natural (Falbo [14] cita que
os axiomas tambm podem ser especificados atravs de lgica de primeira ordem, como
sentenas de primeira ordem usando os predicados da ontologia), os axiomas podem ser
divididos em dois tipos: axiomas de derivao e axiomas de consolidao.
Axiomas de derivao so aqueles que permitem explicitar informaes a partir do conhecimento previamente existente. Axiomas de consolidao descrevem a coerncia das
informaes existentes, isto , definem condicionantes para o estabelecimento de uma
relao ou para a definio de um objeto como instncia de um conceito [14].
O axiomas de derivao, por sua vez, se dividem em dois tipos [14]: axiomas epistemolgicos e axiomas ontolgicos. Os axiomas epistemolgicos so descritos para mostrar
restries impostas pela forma de estruturao dos conceitos. J os ontolgicos descrevem restries de significao impostas no domnio.
Esta classificao dos axiomas uma boa diretriz para guiar quais so os tipos que devem
ser capturados em uma ontologia, ou seja, axiomas que considerem a estruturao dos
conceitos e relaes (epistemolgicos), seus significados e restries (ontolgicos) e as
leis de integridade que os regem (consolidao) [14].
O processo de definio de axiomas deve ser fortemente guiado pelas questes de competncia. Estes axiomas devem ser necessrios e suficientes para expressar estas questes e
para caracterizar suas solues. Alm disso, qualquer soluo para uma questo de competncia deve ser descrita pelos axiomas da ontologia e deve ser consistente com eles.
Caso os axiomas propostos no sejam suficientes para responder s questes de competncia, novos axiomas devem ser introduzidos na ontologia, at que esta condio seja
verdadeira, assim como axiomas redundantes devem ser eliminados. Desta forma, o processo de captura da ontologia iterativo e fortemente ligado avaliao de axiomas.
Formalizao da ontologia
12
5.2
13
Figura 8: Protg
WebODE [3]
Foi desenvolvido no laboratrio de inteligncia artificial da Universidade Politcnica de
Madri (http://www.fi.upm.es/). uma aplicao Web (Figura 9), onde as ontologias so armazenadas em bases de dados relacionais.
Possui servios de documentao, avaliao e fuso de ontologias. D suporte para
Methontology (Seo 5.1). Atualmente importa/exporta, dentre outras linguagens, para
XML, RDF(S) [33], OIL, DAML + OIL [28], Flogic e Prolog.
Figura 9: WebODE
14
OntoEdit [35]
um ambiente grfico para edio de ontologias que permite inspeo, navegao, codificao e alterao de ontologias. Foi desenvolvido pela AIFB (Institut fr Angewandte Informatik und Formale Beschreibungsverfahren) na Universidade de Karlsruhe [31]. Possui arquitetura extensvel baseada em plugins e atualmente est disponvel nas seguintes
verses: OntoEdit Free e OntoEdit Professional (Figura 10).
Possui suporte para On-to-Knowledge (Seo 5.1) e importa/exporta para Flogic, XML,
RDF(S), DAML+OIL.
5.3
15
RDF [36]
Foi desenvolvido pelo W3C como uma linguagem baseada em rede semntica para descrever recursos da Web. RDF(S) a combinao de RDF e RDF Schema, que tambm foi
desenvolvido pela W3C como uma extenso do RDF com primitivas baseadas em frame.
RDF(S) bastante expressiva, pois permite a representao de conceitos, taxonomias de
conceitos e relaes binrias. Algumas mquinas de inferncia tm sido criadas para esta
linguagem, principalmente para checar restries.
Exemplo:
Cdigo 2 Especificao em RDF
1
2
3
4
<Class ID="Female">
<subClassOf resource="#Animal"/>
<disjointWith resource="#Male"/>
</Class>
16
<owl:AllDifferent>
<owl:distinctMembers rdf:parseType="Colecao">
<vin:VinhoCor rdf:about="#Tinto" />
<vin:VinhoCor rdf:about="#Branco" />
<vin:VinhoCor rdf:about="#Rose" />
</owl:distinctMembers>
</owl:AllDifferent>
<owl:AllDifferent>
<owl:distinctMembers rdf:parseType="Colecao">
<vin:VinhoCorpo rdf:about="#Leve" />
<vin:VinhoCorpo rdf:about="#Mdio" />
<vin:VinhoCorpo rdf:about="#Cheio" />
</owl:distinctMembers>
</owl:AllDifferent>
<owl:AllDifferent>
<owl:distinctMembers rdf:parseType="Colecao">
<vin:VinhoSabor rdf:about="#Suave" />
<vin:VinhoSabor rdf:about="#Moderado" />
<vin:VinhoSabor rdf:about="#Forte" />
</owl:distinctMembers>
</owl:AllDifferent>
<owl:AllDifferent>
wine.xml
Para construir uma ontologia, primeiro necessrio estabelecer o que a aplicao precisa em termos de expressividade. Nem todas as linguagens permitem representar os mesmos
componentes e raciocnio do mesmo modo.
Tradutores entre linguagens ainda no so suficientes para assegurar que a informao
no ser perdida no processo. Por isso, tomar uma boa deciso sobre o uso de uma linguagem
especfica para representar ontologia importante para desenvolver aplicaes baseadas em
ontologias.
Atualmente, uma das linguagens mais utilizadas para representao de ontologias a
XML. Apesar de ser menos expressiva, se comparada a OWL, a linguagem XML mais popular no ambiente da Internet, seja para a construo de arquivos de configurao, seja para o
intercmbio de dados entre aplicaes na Web ou estruturao e armazenamento de dados, alm
de ser suportada pela ferramenta Protg, que tambm utilizada neste trabalho.
Acredita-se que no futuro [9], com a contnua expanso da Web, e o advento da WebSemntica, XML se tornar a linguagem universal para representao de dados. Logo, todas as
aplicaes sero capazes de se comunicar, uma vez que elas podero entender os vocabulrios
e/ou marcaes de outros documentos produzidos por outras aplicaes.
17
XML (Extensible Markup Language) uma linguagem que permite a construo de documentos legveis para seres humanos e que podem ser facilmente tratados por mquinas. um
conjunto de regras para a definio de marcadores semnticos, que dividem um documento em
partes identificveis. uma meta-linguagem que define uma sintaxe para ser utilizada na criao de outras linguagens de marcao para um domnio especfico, com estrutura e semntica
prprias [27].
O cdigo 4 mostra um exemplo de especificao em XML.
Cdigo 4 Especificao em XML
1
2
3
4
5
6
7
8
9
10
11
12
Mais detalhes sobre a linguagem XML podem ser obtidos em [9] e [8].
Concluso
18
Mtricas formais que comparam similaridade semntica e distncia semntica entre termos da mesma ontologia ou em ontologias diferentes;
Softwares que permitam incremental, consistente e seletivas atualizaes da ontologia, a
qual est sendo usada por uma dada aplicao;
Mdulos de queries para consultar ontologias;
Acesso remoto para sistemas de bibliotecas de ontologias;
Softwares que facilitem a integrao da ontologia com sistemas de herana e bases de
dados.
Agradecimento
Ao Prof. Dr. Cedric Luiz de Carvalho, pela avaliao do presente texto e pelas sugestes
feitas, as quais muito contribuiram para a melhoria do texto original.
Referncias
[1] AGUADO, G. E. A. Ontogeneration: reusing domain and linguistic ontologies for
spanish text generation? In: EUROPEAN CONFERENCE ON ARTIFICIAL INTELLIGENCE, BRIGHTON, ENGLAND, p. 2328, 1998.
[2] ALMEIDA, M; BAX, M. Uma viso geral sobre ontologias: pesquisa sobre definies,
tipos, aplicaes, mtodos de avaliao e de construo. Revista Cincia da Informao,
32(3), 2003.
[3] ARPREZ, J. C; CORCHO, O; FERNNDEZ-LPEZ, M; GMEZ-PREZ, A. Webode: a scalable workbench for ontological engineering. In: INTERNATIONAL CONFERENCE ON KNOWLEDGE CAPTURE. Victoria, British Columbia, Canad, 2001.
[4] BERNERS-LEE, T; HENDLER, J; O., L. The semantic web. Scientific American, 05
2001.
[5] BLACKBURN, S; MARCONDES, D. Dicionrio Oxford de Filosofia. Traduo de
Murcho et al., Rio de Janeiro, Jorge Zahar, 1997.
[6] BORGO, S; GUARINO, N; MASOLO, C; VETERE, G. Using a large linguistic ontology for internet-based retrieval of object-oriented components.
[7] BORST, W. Construction of Engineering Ontologies for Knowledge Sharing and
Reuse. PhD thesis, University of Twente, P.O. Box 217 - 7500 AE Enschede - The Netherlands, 1997.
[8] BOSAK, J. XML, java, and the future of the web. World Wide Web Journal, 2(4):219
227, 1997.
[9] BRAY, T; PAOLI, J; SPERBERG-MCQUEEN, C; MALER, E; YERGEAU, F. Extensible markup language (xml) 1.0. Disponvel em http://www.w3.org/TR/2004/
REC-xml-20040204/, acessado em abr/2007, 2 2004.
19
20
21