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.
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:
- Um conjunto de conceitos (ou classes) usados para classificar os elementos (i.e., instâncias) do domínio;
- Um conjunto de relações de interesse que são possíveis de estabelecer entre as instâncias desses conceitos;
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:
- Ontologias de Alto Nível (Top Ontology): descrevem de uma forma extremamente genérica conceitos como o espaço, o tempo, eventos e regras independentemente do domínio ou da aplicação;
- Ontologias de Domínio (Domain Ontology): descrevem elementos específicos da linguagem de um determinado domínio como, por exemplo, a saúde ou a eletrónica. Este tipo de ontologia faz uso das ontologias de alto nível;
- Ontologias de Tarefa (Task Ontology): descrevem elementos conceptuais de ações ou tarefas genéricas como o controlo de qualidade, a manutenção, o planeamento e o agendamento. Este tipo de ontologias também faz uso dos elementos das ontologias de alto nível de forma a especificá-los;
- Ontologias de Aplicação (Application Ontology): combina ontologias de domínio e de tarefa de modo a especificar esses mesmos elementos para uma aplicação concreta.
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:
- Sistemas de informação e, em particular, em sistemas de informação distribuídos e/ou descentralizados, sendo a este nível a WWW o expoente máximo;
- Comércio eletrónico, seja este de empresas para empresas (B2B – Business-to-Business) ou entre empresas e consumidores finais (B2C – Business-to-Consumer);
- Sistemas de processamento de língua natural (NLP – Natural Language Processing);
- Sistemas e processos relacionados com a gestão do conhecimento (Knowledge Management);
- Sistemas de recuperação de informação (IR – Information Retrieval);
- Sistemas baseados em agentes ou sistemas multiagente (MAS – Multi-Agent Systems).
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).
Este artigo tem mais de um ano
Quem não sabia o que era… Continuou sem saber, confuso como tudo.
Concordo… Cheguei a meio e desisti, porque já não estava a perceber nada.
Há temas e temas… e há uns que serão necessários mais artigos práticos para se perceber a profundidade da informação. Nos próximos será provavelmente mais simples perceber.
Não consegui perceber o que é partir do artigo, tive de ir pesquisar mais. É realmente pareceu interessante. Se puderem revejam o artigo.
Irá perceber nos seguintes, mais práticos.
O artigos está revisto e não foi detectado qualquer problema, reparou em algum?
Gosto que abordem estas áreas também, bom trabalho!
Eu sei o que são ontologias porque já fiz trabalhos nessa área, porque na minha opinião este artigo está um pouco confuso e com parágrafos muitos longos, o que acaba por tornar a leitura um pouco maçadora.
Para exemplo eu costumo utilizar o exemplo dos filmes, em que um filme pode ter uma categoria (drama, terror…), tem uma classificação e tem vários atores. Utilizando as ontologias nós conseguimos responder a perguntas como “Que atores participarem em filmes de terror em que o filme tem classificação maior ou igual a 7?”
Resumindo, aqui está demasiada teoria e falta algo mais prático para realmente as pessoas ficarem a perceber o que é e para quer serve.
Esta é apenas a introdução, artigos mais práticos serão apresentados a seguir, mas esta teoria era necessária.
Claro que a teoria é sempre necessária, mas não se pode apresentar um artigo enorme só com teoria e nenhuma prática, isso afasta os leitores, é preciso saber intercalar teoria e prática.
Isto é a minha opinião, tens todo o direito em não concordar, mas vê a minha opinião como uma sugestão e não uma crítica negativa 😉
Esta informação é muito interessante, até porque estou a dar este assunto nas aulas. Quem diria que encontraria aqui este assunto.
ola pplware obrigado pelo artigo mas sinceramente nao se percebe nada, estava a espera de melhor
bom trabalho a todos