Pplware

Vamos Ligar e Partilhar? – Introdução às Ontologias

Um dos conceitos fundamentais da Web Semântica é o conceito de “ontologia”. Assim, o artigo de hoje é dedicado essencialmente a descrever o que é uma ontologia, quais são as suas principais características e, por fim, onde são utilizadas e para que servem as ontologias. rdf_1

O que é uma ontologia?

De uma forma simples, no contexto das ciências da computação, uma ontologia é um artefacto de engenharia constituído por um:

Vocabulário: é utilizado para descrever um determinado domínio de conhecimento. Tipicamente, um vocabulário compreende:

Conjunto de Restrições: visa capturar conhecimento adicional sobre o domínio de conhecimento e, para tal, explora e estende o vocabulário existente.

Como exemplo considere-se uma ontologia sobre animais. Esta, ao nível do vocabulário, poderá contemplar conceitos como Animal, Planta e Herbívoro e a relação come. Neste caso, como restrição pode-se acrescentar que são membros da classe Herbívoro todos os Animais (i.e., instâncias da classe Animal) que comem apenas Plantas (i.e., instâncias da classe Planta).

Uma ontologia é muitas vezes vista como sendo o artefacto que especifica o esquema dos dados que se pretende capturar. Contudo, esta perspetiva reflete apenas a componente terminológica da ontologia, sendo esta componente vulgarmente designada de TBox. Numa perspetiva mais abrangente, uma ontologia contem também dados descritos de acordo com o esquema especificado (i.e., TBox). Esta componente da ontologia (i.e., dos dados) é vulgarmente designada de ABox.

De um ponto de vista mais científico [1][2], uma ontologia é, por um lado, uma conceptualização no sentido em que captura/representa um modelo abstrato e cognitivo de um domínio de conhecimento, identificando os conceitos e as características desse mesmo domínio. Essa conceptualização é (ou deve ser) partilhada de modo a representar o conhecimento consensual de um grupo e não apenas o conhecimento privado de um indivíduo ou organização. Da mesma forma, esta também é vista como parcial no sentido de refletir a impossibilidade de capturar de forma completa todo o conhecimento do domínio em causa.

Por outro lado, uma ontologia é também uma especificação no sentido em que através de uma linguagem de representação de ontologias (e.g. RDFS, OWL) a mesma torna-se tangível (i.e., tem uma existência física). Esta especificação deve ser formal no sentido de ser legível por computador (machine-readable) e explícita no sentido em que as entidades da ontologia (e.g. conceitos e relações) são/estão claramente definidas, distintas e inter-relacionadas entre si.

Principais Características

As ontologias podem ser qualificadas tendo em consideração diferentes características. De seguida, introduz-se brevemente algumas dessas características e, em particular, aquelas que são tradicionalmente consideradas como sendo as mais relevantes.

A generalidade é a capacidade que a ontologia tem de ser genérica. Quanto mais genérica for a ontologia maior será o número de organizações com possibilidade de compreender e aceitar os elementos descritos do domínio de conhecimento em causa. Em contraponto, a especificidade limita a aceitação e a compreensão da caracterização em causa por parte das organizações. Esta característica está diretamente relacionada com a reutilização da ontologia. Comummente, identificam-se quatro tipos de ontologias de acordo com o grau de generalidade:

A granularidade (ou granulosidade) é a característica que representa a capacidade de conceptualização em diferentes níveis de abstração ou do nível de detalhe ou de precisão com que o domínio de conhecimento em causa está modelado. Quando o nível de detalhe é muito grande diz-se que a granularidade é fina. Em contraponto, quando o nível de detalhe é pequeno diz-se que a granularidade é grossa (ou grosseira). Neste sentido, a granularidade é avaliada num espectro contínuo em que num extremo a granularidade é fina e no outro é grossa.

A formalidade (ou expressividade) de uma ontologia é uma característica herdada da linguagem de representação de ontologias usada para realizar a especificação da mesma. Esta relaciona-se com a necessidade de prevenir que o conhecimento expresso numa ontologia seja alvo de interpretações ambíguas. Neste sentido, considera-se que quanto maior o grau de formalidade menor será a possibilidade de se efetuar uma interpretação ambígua e, pelo contrário, quanto menor o grau de formalidade maior será a possibilidade de uma interpretação ambígua acontecer.

A este respeito é importante ainda salientar duas coisas. Primeiro, quanto maior for o grau de formalidade de uma ontologia maior será o esforço despendido na sua elaboração. Segundo, a relevância desta característica depende do cenário de aplicação e será tanto maior quanto maior for a necessidade de se efetuar uma interpretação computacional da ontologia.

Outras características também tidas normalmente em consideração dizem respeito (i) ao tamanho da comunidade a quem a ontologia se destina; (ii) ao tamanho da ontologia, sendo este determinado pelo número de elementos conceptuais do domínio capturado; e (iii) à dinâmica conceptual do domínio, sendo esta obtida pela quantidade de novos elementos conceptuais introduzidos e pelas mudanças de significado dos elementos já existentes num período de tempo decorrido. Relativamente a estas características pode-se dizer que as ontologias mais pequenas são tipicamente adotadas mais rapidamente e adquirem uma popularidade maior do que as ontologias maiores. Por outro lado, quanto maior for a comunidade a quem a ontologia se destina, mais fácil de entender e melhor documentada deve estar a ontologia devendo também o seu tamanho ser limitado. As restrições quanto à facilidade de compreensão bem como à qualidade da documentação e tamanho da ontologia podem ser relaxadas para comunidades mais pequenas. Por fim, a dinâmica do domínio influencia a capacidade de manter a ontologia atualizada. Neste caso, quanto maior a dinâmica for, mais difícil será de manter a ontologia atualizada.

Onde são utilizadas e para que servem as ontologias?

Atualmente pode-se dizer que as ontologias são utilizadas em praticamente todos os domínios de conhecimento. A título de exemplo destaca-se o uso de ontologias em:

Independentemente do domínio de conhecimento em causa, as ontologias são maioritariamente usadas em processos relacionados com a aquisição e representação de informação, bem como com a partilha e integração de informação entre sistemas. Para além disto, são usadas em processos relacionados com a manutenção e/ou evolução dos próprios sistemas.  Neste contexto, as ontologias potenciam e facilitam a realização de tarefas como (i) capturar e formalizar conhecimento acerca de um domínio de aplicação; (ii) partilhar terminologia, estrutura e semântica de um determinado domínio entre pessoas, organizações e sistemas; (iii) suportar uma correta e unívoca interpretação dos conteúdos permutados entre pessoas, organizações e sistemas; (iv) estabelecer a interoperabilidade entre sistemas; (v) reutilizar conhecimento de domínio já existente, nomeadamente noutras ontologias; (vi) separar o conhecimento de domínio do conhecimento operacional; entre outras.

Conclusões

Conclui-se esta breve introdução às ontologias salientando duas ideias-chave. A primeira prende-se com o facto de uma ontologia (dever) refletir a conceptualização de uma comunidade relativamente a um domínio de conhecimento. Neste perspetiva, uma ontologia representa um contrato entre todos os membros dessa comunidade e, portanto, é o resultado de um processo social que requer contínuos mapeamentos entre as conceptualizações individuais de cada membro (i.e., inicialmente cada membro possui a sua própria conceptualização do domínio) e, posteriormente, entre as conceptualizações dos vários subgrupos de membros que se vão naturalmente formando até se alcançar uma conceptualização única e consensual para toda a comunidade. Para além disso, quando o conhecimento da comunidade, relativamente ao domínio da ontologia, evolui ou a ontologia se revela insuficiente para os objetivos pretendidos este processo deverá ocorrer novamente, conduzindo naturalmente a uma nova versão da ontologia.

A segunda ideia-chave refere-se às características de cada ontologia. Neste particular, as características mais adequadas a cada ontologia estão diretamente relacionadas com o papel (ou função) a desempenhar por esta no(s) sistema(s) e/ou processo(s) em que participa. Por exemplo, em cenários no qual a exatidão dos sistemas é negligenciada em favor da conformidade e da usabilidade do sistema, a granularidade da ontologia tenderá a ser grosseira.
 Pelo contrário, em cenários no qual a exatidão é fortemente requerida, a granularidade tenderá a ser fina. Assim, de modo a melhor satisfazer os requisitos do cenário, torna-se necessário encontrar um equilíbrio entre todas as características da ontologia. Encontrar esse equilíbrio é uma das principais dificuldades do processo de desenvolvimento de ontologias.

Em função destas duas ideias, considera-se que apesar de ser importante uma ontologia refletir a “verdade” e o máximo de conhecimento existente sobre o domínio em causa, é ainda mais importante que esta reflita o consenso entre uma comunidade relativamente a esse domínio e, consequentemente, sirva eficazmente os propósitos que conduziram ao seu desenvolvimento.

Por hoje é tudo! Esperamos que tenha gostado e deixe a sua opinião.

Referências Bibliográficas

[1] Silva, N. Multi-dimensional service-oriented ontology mapping. (Universidade de Trás-os-Montes e Alto Douro, 2004).

[2] Studer, R., Benjamins, R. & Fensel, D. Knowledge Engineering: Principles and Methods. Data and Knowledge Engineering 25, 161―197 (1998).

Exit mobile version