O conceito de ontologia surgiu com Aristóteles em Metafísica, IV, a

Propaganda
Ontologias na Computação
Claudio Akio Namikata, Henrique Sarmento, Marcio Valença Ramos
[email protected], [email protected], [email protected]
Resumo: Este trabalho tem como objetivo apresentar os principais conceitos de
Ontologias na Computação, a sua estrutura geral assim como principais abordagens e
metodologias para sua criação, além de introduzir quais são as principais aplicações
atuais de uma Ontologia seja no mercado ou em áreas de pesquisa.
Ao final da apresentação, a elaboração prática de uma Ontologia será
abordada com a utilização do software Protégé (ver. 3.1).
1. O que é ontologia.
O conceito de ontologia surgiu com Aristóteles em Metafísica (IV A.C.) a
principal característica da ontologia é a composição de grupos (domínios) e a relação
que esses estabelecem entre si. Na ciência da computação ontologias são utilizadas em
inteligência artificial, web semântica, engenharia de software e arquitetura da
informação.
As ontologias são uma forma de criar critérios que são fundamentais na
organização de um domínio que possuem características em comum e sempre terão
valor verdade para o seu domínio, ou seja, as ontologias permanecerão sempre
inalteradas (enquanto seu domínio não mudar) e por isso elas devem ser formais.
As ontologias podem gerar uma base de conhecimentos (que é um subconjunto
das ontologias) que fornece informações em “níveis” de especificação. Quanto mais
ramificada vai ficando a ontologia, mais parte do conceito genérico para o caso
singular.
1.1 Na Filosofia
“O termo ontologia tem origem na filosofia, onde é o nome de um ramo da
metafísica ocupado da existência. De acordo com Tom Gruber da Universidade de
Stanford, no entanto, o significado de ontologia para a ciência da computação é "uma
descrição de conceitos e relacionamentos que podem existir para um agente ou uma
comunidade de agentes”. Ele especifica ainda que uma ontologia é geralmente escrita
“como um conjunto de definições de um vocabulário formal” .
2. Vantagens de uso
Como a ontologia requer um vocabulário formal, é possível processá-la em uma
máquina, portanto ontologias não podem ter duas ou mais interpretações, sendo
informações exatas sem ambigüidades, diferente da linguagem natural.
Uma ontologia de determinado domínio, pode ser aplicada em vários outros
indivíduos desde que esses indivíduos correspondam aos critérios estabelecidos pela
ontologia.
Ontologias podem ser utilizadas para se obter bases de conhecimentos diferentes
e até outros tipos de ontologias.
3. Composição das ontologias
I. Conceitos: podem representar uma tarefa, uma função, etc;
II. Relações entre os conceitos;
III. Funções: são as próprias relações obtidas entre as relações e elementos;
IV. Axiomas: sentenças que são sempre verdadeiras;
V. Instâncias: são conhecimentos prévios das ontologias.
4. Classificações de ontologias
Um dos principais critérios utilizados hoje na classificação de ontologias segue
um termo chamado “Conceitualização”, ou seja, estabelecer o nível de generalização
necessário que uma ontologia precisa. Assim, surgem as:
Ontologias de alto nível - Que descrevem os conceitos mais gerais, como
espaço, tempo ou evento. São conceitos independentes e que podem ser compartilhadas
com grandes comunidades de usuários.
Ontologias de domínio- Descrevem o “modo de comunicação” de um domínio
genérico, surgem da especificação dos domínios de alto nível.
Ontologias de tarefa - Relacionam os “passos” que devem ser tomados na
realização de uma tarefa, surgem da especificação dos conceitos das ontologias.
Ontologias de Aplicação - São as ontologias mais especificas de todas. Tratam
de características das ontologias de domínio e as de tarefa, definindo-as desse modo.
5. Principais áreas de Aplicação das ontologias
5.1 Web Semântica
A classificação da informação utilizada nas buscas dos sites de busca é
“Heurística”, ou seja, um algoritmo inexato que pode ou não se aproximar da aplicação
ideal, tais como são organizadas as paginas pelo numero de “clicks” que recebem
diariamente. A ontologia, assim como as Tecnologias XML (Extended Markup
Language) E RDF (Resource Description Framework), buscam minimizar esses
problemas utilizando suas próprias visões conceituais diferente sobre a questão.
5.2 Processamento de linguagem natural (Inteligência Artificial)
O processamento da linguagem natural, assim como o seu próprio “aprendizado”
podem ser áreas de grande aplicação para ontologias, uma vez que estas auxiliam na
compreensão coerente do texto. Sua utilização nesse contexto é focada na elucidação de
ambigüidades, por exemplo: a palavra Globo pode ter vários significados, um deles é o
da forma geométrica e outro pode ser o da rede de transmissão brasileira de televisão. A
ontologia nesse caso também é utilizada como um dicionário de conceitos em
inteligência artificial.
5.3 Gestão de Conhecimento
No contexto empresarial, onde a velocidade na busca de informações internas de
bancos de dados é cada vez mais precisa e de maior velocidade, as ontologias são
introduzidas nos "esqueletos" das bases de conhecimento, organizando assim o
montante de dados e melhorando a velocidade das pesquisas de informação.
6. Construção de uma Ontologia
A construção de uma ontologia depende fundamentalmente das circunstâncias
particulares para as quais ela vai ser designada. Mesmo assim, existem três pilares
fundamentais em que se estruturam as Ontologias. Os "tipos" de ontologias são
caracterizados a partir do modo como esses pilares são divididos. São eles:
Formalidade: É o nível de formalidade com o qual cada vocabulário é
especificado. Pode ser altamente formal, estruturadamente formal ou semi-formal. A
diferença entre cada um está no uso da linguagem natural. A altamente formal usa
pouca linguagem natural, o que é o contrário da formalidade estruturada, e em meio
termo em relação à semi-formal.
Propósito: Qual será o uso/aplicação da ontologia. A comunicação, autochecagem do sistema, especificidade ou generalidade, são alguns exemplos de
propósitos que devem ser assumidos por uma ontologia.
Assunto: Define o assunto sobre o qual vai tratar a ontologia, a princípio pode
ser caracterizado em diferentes áreas de atuação, tal como finanças, informática ou
medicina. Logo depois deve conter a definição de qual será o problema abordado.
Exemplo de uma estruturação de uma Ontologia empresarial:
Nível de formalidade: estruturada informal.
Propósito: Facilitar a comunicação entre membros de um projeto que trabalham
em setores diferentes de uma empresa. Facilitando o seu relacionamento.
Assunto: Empresas de criação de jogos de computador (fracamente genérico)
Partindo desse principio básico, surgem as abordagens e metodologias, que
buscam definir passos para esse processo de construção.
7. Abordagens
7.1 Inspirada
O desenvolvedor começa com a premissa de porque a ontologia é necessária. A
sua vantagem é que pode ser a melhor solução de um problema, porém pode ser de
difícil compreensão para outras pessoas.
7.2 Indutiva
A abordagem indutiva é criada através de analise e dados externos. Sua principal
desvantagem reside no fato de que ao mesmo tempo em que cuida de todos ou quase
todos os problemas de um domínio ela não funciona corretamente para outros.
7.3 Dedutiva
Essa abordagem constrói ontologias especificas a partir de ontologias ou regras
genéricas. Seu intuito básico é o de "filtrar para especificar". Sua desvantagem é que
precisa partir de uma ontologia pré-existente.
7.4 Sintética
Estabelece um conjunto inicial de ontologias que servem como padrões a serem
utilizados em formulações mais complexas, e então unificados. Seu ponto negativo
encontra-se no fato de que esse processo torna-se muitas vezes demorado pela
dificuldade em estabelecer entre grandes ontologias.
8. Metodologias para Construção de Ontologias
Na segunda metade do século 20 vários filósofos se dispuseram a pensar e
debater sobre métodos de construção de ontologias, sem de fato construí-las, enquanto
cientistas da computação estavam criando ontologias largas e robustas sem muita
preocupação no método utilizado. Metodologias surgiram para criar uma forma
eficiente e madura de se construir uma ontologia. A seguir são citadas duas das mais
importantes metodologias usadas atualmente.
8.1 Metodologia de Mike Ushold e Martin King
São necessários quatro passos para se construir uma ontologia segundo este
método:
1. Identificar o propósito
É importante ter noção do motivo pelo qual a ontologia está sendo criada, e
quais serão os usos desta.
2. Construir a ontologia
Esta etapa é dividida em três partes:
2.1. Captura da ontologia
> Identificar os conceitos e relacionamentos no domínio de interesses
> Produção de descrições precisas e sem ambiguidade de tais conceitos e
relacionamentos.
> Encontrar palavras que representarão esses conceitos e relacionamentos.
Os autores usam uma aproximação chamada de middle-out, que consiste em
partir do meio do nosso problema e trabalhá-lo de lá até o mais especifico e até o mais
abrangente depois de ser feita uma estrutura no centro.
2.2 Código
Esse sub-passo consiste em escrever o conhecimento adquirido no sub-passo
anterior em uma linguagem formal.
2.3 Integração com ontologias existentes.
Durante qualquer um ou ambos dos passos anteriores deve-se questionar como
usar as ontologias existentes.
2.4 Ter coesão com todos acima.
3. Avaliação
Os autores usam uma definição existente de avaliação que consiste no seguinte:
“Fazer um julgamento técnico das ontologias, seu software envolvido e documentação
respeitando um ponto de vista. Tal ponto de vista pode ser a especificação de
requerimentos, questões de competência, ou o mundo real”.
4. Documentação
É desejável ter uma linha coesa para guiar a documentação, tal linha
possivelmente variando de acordo com o tipo e objetivo da ontologia.
Os autores citam Skuce, dizendo que uma das principais barreiras de
compartilhamento de conhecimento é a documentação inadequada de bancos de
conhecimento e ontologias existentes. Ainda segundo este, todas as assunções
importantes devem ser documentadas, assim como os principais conceitos da ontologia
e os primitivos desta.
8.2 Methontology
Esta metodologia é considerada muito eficiente e compreensível, com suporte a
construção de ontologias do zero, continuação de ontologias já existentes ou para
aplicar um método chamado de re-engineering. Nascida na Universidade Politécnica de
Madrid, mais especificamente no Laboratório de AI desta. De acordo com Roberto
García (e este por si citando outros nomes como Férnandes e Shultz) Methontology é
uma metodologia para a construção de ontologias [5]. Nesta, para efeitos de aumento de
aplicabilidade, foram adotadas algumas idéias da matéria mais antiga e desenvolvida, a
Engenharia de Software. Mais especificamente, teremos o processo de construção de
ontologias baseado nos padrões da IEEE para desenvolvimento de software.
Seguem assim três atividades a serem executadas quando se está construindo
uma ontologia.
Atividades de administração da ontologia:
Isso inclui planejamento, controle e checagem de qualidade. Planejamento se
refere a identificar quais tarefas devem ser executadas, sua ordem e o tempo e recursos
necessários. Tal tarefa é especialmente prezada para o uso em ontologias que farão uso
de outras já existentes, ou que requerem um nível extra de abstração. Controle se refere
a garantia de execução de tarefas como estas eram pretendidas. E a checagem de
qualidade se refere a checagem de qualidade de cada saída da metodologia (A ontologia,
o software e a documentação).
Atividades de desenvolvimento da ontologia:
Agrupada em pré, durante e pós desenvolvimento. Durante o prédesenvolvimento é feito um estudo sobre o ambiente de uso da ontologia e um estudo de
praticabilidade. Durante o desenvolvimento a atividade de especificação declara por que
a ontologia está sendo construída, seus usos desejados e os usuários finais desta. A
conceitualização estrutura o domínio de conhecimento a modelos num nível acessível.
A formalização transforma esse modelo conceitual a um nível formal ou semicomputável. Por fim na Implementação são construídos modelos de fato computáveis.
Durante o pós-desenvolvimento é feita a manutenção que atualiza e corrige a ontologia.
Atividades de suporte da ontologia:
São atividades usadas simultaneamente no desenvolvimento. Elas abrangem a
aquisição de conhecimento, adquirido de entendedores do assunto ou por um processo
(semi) automático de aprendizado por ontologias. Avaliação, tarefa que avalia a
ontologia feita. Integração, usada se a ontologia usar/partir de outra. Documentação, que
documenta cada estágio e produto e por fim Administração de configuração, que
arquiva as versões das ontologias, software e documentação.
Referências Bibliográficas:
[1] HORRIDGE, MATTHEW. A Practical Guide To Building OWL Ontologies
Using The Protégé -OWL Plugin and CO-ODE Tools. Edition 1.0 . The University
Of Manchester. 2004. Disponível em:
<www.co-ode.org/resources/tutorials/ProtegeOWLTutorial.pdf>
Acesso em: 13 mar. 2009.
[2] ZAMITH, FRANCISCO JOSÉ. 4. Ontologia. PUC-RIO. Certificação Digital Nº
0024134/CA. Disponível em:
<www2.dbd.puc-rio.br/pergamum/tesesabertas/0024134_02_cap_04.pdf>
Acesso em: 10 abr. 2009.
[3] USCHOLD, MIKE. Towards a Unified Methotodology. AIAI-TR-197. The
University of Edinburg. 1998. Disponível em: <www.formatex.org/micte2005/161.pdf>
Acesso em: 20 abr. 2009.
[5] GARCIA, ROBERTO. Methontology. Disponível em:
<http://rhizomik.net/~roberto/thesis/html/Methodology.html>. Acesso em: 20 abr. 2009
[6] FERNÁNDEZ LÓPEZ, Overview Of Methodologies For Building Ontologies
Universidad Politécnica de Madrid. Disponível em:
<http://sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-18/4fernandez.pdf>. Acesso em: 25 abr. 2009.
[7] GRUBER, TOM. What is an Ontology. Universidade de Stanford. 1992.
Disponível em: <http://www-ksl.stanford.edu/kst/what-is-an-ontology.html>
Acesso em: 25 abr. 2009.
[8] WIKIPEDIA.Ontologia (ciência da computação). Disponível em:
<http://pt.wikipedia.org/wiki/Ontologia_(ci%C3%AAncia_da_computa%C3%A7%C3
%A3o)>.2009 Acesso em: 9 abr. 2009.
Download