Internet

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

10 Comentários

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:

  • 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).

Também pode gostar

Comentários

10

Responder a André Cancelar resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

  1. Avatar de Mandela
    Mandela

    Quem não sabia o que era… Continuou sem saber, confuso como tudo.

    1. Avatar de André
      André

      Concordo… Cheguei a meio e desisti, porque já não estava a perceber nada.

    2. Avatar de Vítor M.

      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.

  2. Avatar de Cristiano Alves
    Cristiano Alves

    Não consegui perceber o que é partir do artigo, tive de ir pesquisar mais. É realmente pareceu interessante. Se puderem revejam o artigo.

    1. Avatar de Vítor M.

      Irá perceber nos seguintes, mais práticos.

      O artigos está revisto e não foi detectado qualquer problema, reparou em algum?

  3. Avatar de Miguel Costa
    Miguel Costa

    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.

    1. Avatar de Vítor M.

      Esta é apenas a introdução, artigos mais práticos serão apresentados a seguir, mas esta teoria era necessária.

      1. Avatar de Miguel Costa
        Miguel Costa

        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 😉

  4. Avatar de P3dro Gamer
    P3dro Gamer

    Esta informação é muito interessante, até porque estou a dar este assunto nas aulas. Quem diria que encontraria aqui este assunto.

  5. Avatar de Carlos Duarte
    Carlos Duarte

    ola pplware obrigado pelo artigo mas sinceramente nao se percebe nada, estava a espera de melhor
    bom trabalho a todos