• Nenhum resultado encontrado

O que se entende por ontologia foi introduzido pelo filósofo grego Aristóteles, no século 4 A.C. Aristótele, que em seu estudo de Metafísica e Categorias, já tratava os primórdios da discussão sobre como descrever a natureza e a estrutura da realidade. Em Organon, Aristóteles tentou criar a primeira forma de lógica, apresentando categorias como uma taxonomia de objetos (25). Um dos pontos cruciais do trabalho de Aristóteles foi a utilização da lógica para descrever as coisas como elas são compreendidas pela mente humana, possibilitando o entendimento e a interpretação do conteúdo representado da mesma forma independente da linguagem natural. Entretanto, ele frisou que a lógica por si só não seria suficiente para representar tudo.

O termo ontologia (em si) foi criado em 1606 por Jacob Lorhard, em Ogdoas Scholastica, sendo melhor descrito em 1613 por Rudolf Göckel, em Lexicon philosophicum. Apesar disso, a popularização aconteceu por volta do ano 1930, por Christian Wolff em Philosophia prima sive ontologia(26). Segundo a definição, “ontologia” (para a filosofia) é utilizada para descrever uma investigação filosófica sobre a existência, englobando os conceitos de ser e o que existe (27).

De maneira geral, as Ontologias são tratadas como um ramo da filosofia que estuda como os objetos são interpretados e organizados levando em consideração o mundo real, os diferentes tipos e estruturas dos objetos, propriedades, eventos, processos e as relações que as coisas guardam entre si (28). Na prática, ontologias são descritas por meio de conceitos comuns, como composição, tempo, espaço, processos, além de vários outros (26).

Em tempos recentes, as ontologias vêm sendo estudadas pela Ciência da Computação, mais especificamente, a Inteligência Artificial, como meio simulador de teorias sobre como funciona o conhecimento, sendo auxiliado por mecanismos de raciocínio automatizado (29). Com a padronização dos mecanismos de raciocínio por meio da lógica formal, as ontologias (por vezes chamadas Base de Conhecimento –BC), passaram a ser descritas como uma coleção de termos (classes) descritos por sentenças escritas em algum tipo de lógica na forma de axiomas, que são

postulados primitivos assumidos como verdadeiros (30). Os “termos” e “axiomas” são criados para representar como um determinado conjunto de indivíduos é compreendido na realidade (3).

Tudo filipe ‘Objeto Material’ Humano Processo ‘Registrar dado’ registrar FormulárioA1 Função ‘Alimentação de Banco de dados’ alimentação BDA1 ‘Entidade de Informação’ ‘Banco de dados’ bdA1 Ontologia Indivíduos ‘é portador de’ ‘tem realização’ ‘tem participante’

‘tem participante’

Figura 3 – Exemplo de ontologia

Por exemplo, em uma ontologia são colecionadas diversas classes que descrevem como indivíduos (ou instâncias) são compreendidos. Por exemplo, uma classe Humano engloba todas as ocorrências individuais de seres humanos, como filipe ou eliane. UmBDindividual bdA1, por exemplo, é uma ‘Entidade de informação’, da subclasse ‘Banco de Dados’; e assim sucessi- vamente. Entre os indivíduos que compõem as classes é possível determinar relações, como por exemplo para descrever que filipe é portador da função de alimentar um bdA1.

No início do século 20, o termo “ontologias formais” foi introduzido por Edmund Husserl. As ontologias formais têm como princípio a aproximação com a lógica formal para representar como as entidades são e como suas ocorrências (indivíduos) se relacionam. A distinção descrita por Husserl (entre ontologias formais e as não-formais) reside no fato da lógica formal estar diretamente relacionada à verdade das interconexões (sentido proposicional) (31) (figura4). Em outras palavras, além da ontologia ser uma descrição aproximada de uma determinada porção da realidade, deve ser representada utilizando a lógica formal.

Ontologias formais são poli-hierarquias de classes descritas segundo relações para repre- sentar uma porção da realidade (32). Ao utilizar uma lógica formal, a estrutura e a linguagem ganham padronização, clareza e capacidade de ser processado por máquinas. Por exemplo, a representação esquemática da figura4pode ser descrita tanto em linguagem natural quanto utili- zando uma construção padronizada, em que indivíduos são relacionados por relações declaradas (figura3) e traduzidos em axiomas (simplificado para o entendimento).

filipe é um tipo de Humano que é portador da função ‘alimentação

de bd

A1

’ (‘Alimentação de Bancos de Dados’)

,

cuja realização

decorre o processo do tipo ‘alimentar bd

A1

’ (Processo) que tem

como participante o próprio filipe e o bd

A1

(‘Banco de dados’).

filipe ‘é portador de’ pelo menos uma ‘alimentação de bdA1

‘alimentação de bdA1 ‘tem realização’ pelo menos uma‘alimentar bdA1

‘alimentar bdA1’ ‘tem participante’ pelo menos um filipe

‘alimentar bdA1’ ‘tem participante’ pelo menos um bdA1

L ó g ic a fo rm al

Figura 4 – Interpretação formal da figura3a partir da leitura das relações entre os indivíduos descritos.

Sob uma ótica estritamente computacional, ontologias são compreendidas como uma especificação explícita e formal de uma conceitualização compartilhada (33). Uma “conceituali- zação” se refere a um modelo abstrato de algum fenômeno, evidenciando as principais entidades desse fenômeno. “Explícita” se refere às classes e as restrições impostas serem explicitamente definidas, geralmente por meio de axiomas.

Ainda, o termo “formal” é utilizado para descrever que tais artefatos devem apresentar semântica explícita, sendo amplamente reconhecidos e utilizados com o sentido que foi criado e excluindo a ambiguidade inerente à linguagem natural. Para isso, deve ser utilizada uma linguagem de representação formal, como aDL(9). Por fim, “compartilhada” significa que a entidade representada e as relações descritas devem demonstrar uma determinada porção de conhecimento aceito por uma comunidade (33).

Entre as ontologias criadas para sistemas computacionais e as ontologias formais reside uma diferença importante: as ontologias formais são criadas para descrever (estritamente) fatos reais e naturais, em detrimento do que pode ser representado apenas com lógica (nas ontologias computacionais) (34). As ontologias formais, assim, tem como princípio aproximar as ontologias filosóficasdas ontologias computacionais, com o foco na representação do conteúdo respeitando um engajamento ontológico (32,22,35,36).

Em uma ontologia computacional, é possível (logicamente) descrever o que é um unicór- nio. Todavia, do ponto de vista ontológico (filosófico, real, natural), unicórnios nunca seriam instanciados como uma entidade real (34) (até que alguém consiga provar a existência desse tipo de animal fictício). Exemplos de ontologias computacionais são as criadas para servir como base de conhecimento de um agente inteligente (37,38) ou para descrever o ambiente para aplicações ubiquas (39,40). Exemplos de ontologias formais são a Basic Formal Ontology (BFO) (22), a

General Formal Ontology (GFO) (35), BioTopLite2 (BTL2) (32), entre muitas outras1.

Na prática, ontologias (não restritas apenas ao contexto fomal) são aplicadas em diversas áreas como:

• Informática biomédica.18,41descreveram uma ontologia para a representação do processo infeccioso relacionado às Doenças Tropicais Negligenciadas;

• e-learning.42descreve um sistema em que utiliza ontologias para indexar uma coleção de documentos no domínio de e-learning.

• Recuperação em bancos de dados integrados.8e13descrevem abordagens em que ontolo- gias são utilizadas como vocabulário de consulta em tarefas de integração semântica;

• Raciocínio Baseado em Casos de Conhecimento Intensivo (RBC-CI).43,44,20descrevem a aplicação de ontologias como parte da base de conhecimento utilizada para recuperação de problemas em sistemas deRBC-CI.

entre várias outras aplicações.

2.1.1

Níveis de Abstração

Considerando que ontologias podem apresentar diversos tipos de abstrações e glanurali- dade, é possível organizá-las como uma biblioteca, e.g. seguindo os níveis de abstração utilizados na representação. Esse detalhamento é relacionado ao escopo de utilização definido para uma ontologia. Alguns autores sugerem formas de organizar ontologias de acordo com o nível de abstração e a forma como o conteúdo é representado.

Guarino (45), por exemplo, descreveu um modelo organizado em quatro níveis (Figura5) intercomunicáveis. Esses são:

• Topo, indicando ontologias com classes mais genéricas, como espaço, tempo, processos, entre outros, independente do domínio. Exemplos são aBFO, Descriptive Ontology for Linguistic and Cognitive Engineering (DOLCE) (46) eGFO;

• Domínio, com as classes específicas de um domínio de conhecimento, como seres vivos, metabolismo, genética, entre outros. Exemplos são aGO,ChEBIePRO;

• Tarefa, com classes e relações destinadas a realizar uma tarefa ou atividade, como: gestão de configuração (47) e busca por serviços de informação geográfica para gestão em desastres (48);

1 Neste trabalho, adotamos a ideia das ontologias formais para a representação de conteúdo ontológico. Dessa

forma, deste ponto em diante utilizaremos o tempo ontologia com o sentido de ontologia formal para tornar a leitura mais simples.

• E, Aplicação, com entidades dependentes do domínio e de tarefa que exercem papel exclusivo na execução de uma aplicação. Exemplos são o uso de ontologias para recuperar automaticamente dados sobre o ciclo celular em bancos de dados biológicos (49) e para auxiliar na gestão de imagens médicas radiológicas (50).

Figura 5 – Hierarquia de ontologias, segundo Guarino (45).

Ontologia de Topo Ontologia de Aplicação Ontologia de Domínio Ontologia de Tarefa

Outra abordagem, apresentada por Freitas25, introduziu uma visão hierarquizada para a organização de ontologias. Nesta abordagem, a granularidade e complexidade define o nível de abstração de cada ontologia (Figura6).

Topo Supra-domínio Domínio Aplicação/ Tarefa 0000000000000 0000000000000 0000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 0000000000000 0000000000000 0000000000000 00000000000000 00000000000000 00000000000000 00000000000000 0000000000000 0000000000000 0000000000000 0000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 0000000000000 0000000000000 0000000000000 00000000000000 00000000000000 00000000000000 0000000000000 0000000000000 0000000000000 00000000000000 00000000000000 00000000000000 0000000000000 0000000000000 0000000000000 00000000000000 00000000000000 00000000000000 0000000000000 0000000000000 0000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 0000000000000 0000000000000 0000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 0000000000000 0000000000000 0000000000000 00000000000000 00000000000000 00000000000000 0000000000000 0000000000000 0000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000 00000000000000

Figura 6 – Biblioteca de ontologias organizada em quatro níveis hierarquizados: topo, supra- domínio, domínio e tarefa/aplicação.

A abordagem apresentada por 25 engloba os níveis de Topo, Domínio e Aplicação. Entretanto, a organização dos níveis é hierarquizada e evidencia as possíveis interconexões

possíveis dentro e entre os níveis. Por exemplo, ontologias de topo como aBFO(22) apresenta classes genéricas que servem para especificar uma grande área (supra-domínio), como as ciências biológicas.

Ontologias supra-domínio são construídas de forma a englobar uma grande área do conhecimento, como a biologia ou a computação. Exemplos de ontologia supra-domínio são a

BTL2(32) e a General Formal Ontology - Biology (GFO-Bio) (51), as quais apresentam classes e relações genéricas para organizar ontologias do domínio biomédico. A partir das ontologias supra-domínio, então, são construídas e organizadas ontologias de domínio, como a GOou a

PRO.