sábado, 20 de outubro de 2012

Lógica e Inferência com Protégé utilizando Pellet


Pellet é um OWL DL reasoner (raciocinador OWL DL) é open-source e baseado em Java, o Pellet atua basicamente como um raciocinador lógico, tem como objetivo, verificar a consistência de ontologias, classificar a taxonomia, verificar vínculos e responder a um subconjunto de consultas RDQL (conhecidas como consultas ABOX em  terminologia DL) é baseado nos algoritmos tableaux desenvolvido para Lógica Descritiva Expressiva. Ele suporta a expressividade completa OWL DL incluindo raciocínio sobre nominais (classes enumerados). 

Características especiais

Pellet tem uma série de características ou orientados por requisitos OWL ou questões da Web Semântica.

Análise e Reparação de Ontologias - OWL  possui dois dialetos principais, OWL DL e OWL Full, com OWL DL sendo um subconjunto de OWL Full. Todas as bases de conhecimento OWL são codificados como RDF / XML. OWL DL impõe uma série de restrições sobre grafos RDF, alguns dos quais são substanciais (por exemplo, que o conjunto de nomes de classe e individuais ser disjuntos) e outros menos (que cada item tem um rdf: tipo triplo). Garantir que um documento RDF / XML atende a todas as restrições é uma tarefa relativamente difícil para os autores, e muitos documentos OWL existentes são nominalmente OWL Full, mesmo que seus autores pretendem que eles sejam OWL DL. Pellet incorpora uma série de heurística para detectar "DLizable" OWL documentos completos "reparação" deles.

Vinculação em Web Semântica, vinculação é um ponto chave e o Pellet possui suporte a vinculação para satisfazer melhor as necessidades de seus usuários.

Raciocina Multi-Ontologias usando E-Connections - Uma E-Connection é uma linguagem de representação do conhecimento definida como uma combinação de outros formalismos lógicos. E-Connection são usadas como uma linguagem para definir e instanciar combinações de ontologias OWL-DL como uma forma de KBs combinando, ao invés de lógicas. Esta abordagem fornece uma alternativa para importações owl, pois sempre trará todas as axiomas da ontologia importada, permitindo a identificação das sub-partes de uma ontologia, proporcionando um quadro bem fundado e lógica de raciocínio com ontologias múltiplas. 

segunda-feira, 8 de outubro de 2012

Ontologias

Introdução

As Ontologias tem como objetivo a estruturação organizada de informações sobre algo, causando uma reflexão semântica de situações do mundo real.

Onde são utilizadas?
Em inteligência artificial, web semântica, engenharia de software e arquitetura da informação e outras áreas de informática.

Ontologias geralmente descrevem, Indivíduos - que são os objetos básicos; Classes - que são conjuntos, coleções ou tipos de objetos; Atributos - que são propriedades, características ou parâmetros que os objetos podem ter e compartilhar ou Relacionamentos - que são as formas como os objetos podem se relacionar com outros objetos.

OntoNegli - Uma ontologia no domínio das doenças negligenciadas
Domínio que a ontologia cobrirá: abrangerá o domínio das doenças negligenciadas; 
Definição do uso da ontologia: será utilizada por médicos ou profissionais da área da saúde para o compartilhamento do conhecimento estruturado na ontologia; 
Profissional que ficará responsável pela  manutenção  da ontologia: deverá ser um profissional que esteja devidamente capacitado. 

Na criação da OntoNegli, os termos tidos como os mais importantes foram: paciente, doença negligenciada, dengue, tuberculose, esquistossomose, leishmaniose, hanseníase, malária, doença de Chagas, sintomas, tratamento, agente etiológico, vetor, reservatório, período de transmissibilidade, imunidade, período de incubação, região, nome, bairro, município, estado, fase de doença, foco, modo de transmissão, período de transmissão, diagnóstico diferencial, exame, dentre  outros. A importância dos termos foi considerada mediante o domínio a ser representado e as necessidades apontadas pelo especialista. 

Classes e Hierarquia de Classes Uma vez estabelecidos os termos mais importantes, o próximo passo foi transfomá-los em classes. Esta etapa foi realizada basicamente em 2 passos: inicialmente foram definidas as classes de maior abrangência e, em seguida, suas subclasses. No entanto, não foi possível seguir um roteiro rígido nesta definição, pois houve casos que após definir uma classe, necessitou-se criar uma superclasse para a classe já existente. A definição de classes e subclasses é uma etapa que sofre alterações e exige correções constantes no decorrer da modelagem. Demanda conhecimento da ferramenta e do domínio de conhecimento. A aquisição do conhecimento foi intensa até a definição das classes e, apesar de reduzir o volume de aquisição, ainda assim, foi persistente durante todo o restante do desenvolvimento da OntoNegli. 

Uschold e Gruninger (1996) definiram enfoques  no desenvolvimento de hierarquia, sendo eles o processo  top-down, o  bottom-up  e um processo de desenvolvimento formado pela combinação entre os dois  anteriores. Uma vez que o domínio da ontologia é doenças negligenciadas e o foco principal é as doenças, os conceitos que receberam maior importância foram concretizados em classes e subsequentemente em subclasses. Para exemplificar, tem-se a doença dengue que é uma especialização da classe doença e que possui a subclasse febre hemorrágica dengue (FHD) e dengue clássico (DC). A Figura abaixo ilustra a classe e a subclasse da doença dengue. Por meio da enfermidade dengue, pode-se ilustrar que a ontologia criada utilizou os dois processos de desenvolvimento, o  top-down  e  botton-up. Ao criar a classe dengue, houve a necessidade de criar suas subclasses, as quais receberam o nome de FHD e DC. Esta ação caracterizou o processo  top-down,  pois primeiro foi criada a superclasse Dengue e, posteriormente, foram criadas as subclasses filhas (FHD e DC). Ao criar a nova classe de doença Tuberculose, observou-se que novas classes de doenças deveriam ser adicionadas e que essas necessitariam de uma classe mais genérica, a qual posteriormente foi criada e denominada de Doença, caracterizando, assim, o processo  botton-up. A Figura abaixo ilustra o exemplo dado. 


   Classe e Subclasses da Doença Dengue (top-down) 


 Classe Doença e Subclasses mais Especializadas de Doenças (botton-up)



Na ferramenta Protégé, uma nova ontologia contém uma classe chamada  owl:Thing. 
As classes OWL são interpretadas como conjuntos de indivíduos (ou conjunto de objetos). A classe owl:Thing é a classe que  representa o conjunto que contém todos os indivíduos, uma vez que todas as classes são subclasses de owl:Thing  (Horridge  et al., 2005). A Figura abaixo, gerada com recursos da ferramenta Protégé,  apresenta a classe  owl:Thing  com as demais classes e subclasses da OntoNegli. Ainda nesta figura são apresentadas todas as classes de doenças presentes na ontologia. Embora a ontologia tenha o foco em doenças negligenciadas, foi necessário criar classes e instanciar objetos de doenças não negligenciadas para que fosse possível realizar o levantamento de diagnóstico diferencial e, assim, identificar quais  são as outras doenças que possuem os mesmos sintomas, possibilitando assim novas investigações ou descarte de suspeita para alguma enfermidade. A OntoNegli não cobriu  todas as doenças que são apresentadas na Figura abaixo, pois este trabalho está limitado ao domínio de doenças negligenciadas. 

Completa Hierarquia de Classes da OntoNegli 

A partir da classe  owl:Thing, as demais classes foram criadas, representando os principais conceitos do domínio das doenças negligenciadas. A seguir são descritas as principais classes da OntoNegli: 

  • Agente_etiológico: Representa o agente causador de uma doença; 
  • Bairro: Representa o bairro de cada município;  
  • Doença: É a superclasse para todas as doenças. Esta classe possui um maior número de propriedades e atributos. Possui especializações e diversos atributos. Ela é considerada uma classe fundamental para a ontologia.
  • Estado: Representa o estado, que é formado por municípios. Esta classe é necessária para que seja possível distinguir municípios homônimos e também representa parte que compõe uma região; 
  • Exame:  Representa os exames a serem realizados para o correto diagnóstico da doença; 
  •  Manifestacoes_clinicas: Representa as manifestações clínicas que um paciente pode apresentar. Essas manifestações podem mostrar o quadro que o paciente se encontra em uma determinada fase da doença. Com esta sugestão tem-se uma resposta com maior precisão; 
  • Municipio: Representa os municípios de cada estado:
  • Regiao:  Representa a composição de alguns estados, formando uma determinada região geográfica, por exemplo a região Sul, composta pelos estado do Paraná, Santa Catarina e Rio Grande do Sul;   
  • Reservatorio:  A definição corrente de reservatório abrange qualquer ser humano, animal, artrópode, planta ou matéria inanimada onde vive e se multiplica um agente infeccioso do qual depende para sua sobrevivência, reproduzindo-se de maneira que possa ser transmitido a um hospedeiro suscetível; 
  • Sintoma: Representa os sintomas detectados pelo profissional da saúde ou informados pelo paciente. Por meio desta classe que é possível suspeitar qual a enfermidade do paciente. 
  • Transmissibilidade:  Esta é a superclasse das classes Modo_de_transmissao e Periodo_de_Transmissibilidade; 
  • Modo_de_transmissao: Representa os modos como uma doença pode ser transmitida; 
  • Periodo_de_Transmissibilidade: Representa o período em que uma doença pode ser transmitida; 
  • Classe Vetor: são seres que servem de intermediário para a transmissão de doenças como, por exemplo, o aedes aegipty é o mosquito vetor da dengue, pois é preciso esse inseto para a propagação da doença nos seres humanos. 
  • As subclasses de doença, nomeadas como: Amebíase,  Ancilostomose,  Calazar, Cirrose,  Dermatite,  Escarlatina,  Esplenomegalia,  Estrongiloidiase,  Febre_Amarela, Febre_Tifoide,  Giardiase,  Gripe,  Hepatite,  Influenza,  Leptospirose,  Leucemia,  Linfoma¸ Mononucleose, Rubéola, Salmonelose, Sarampo, Sífilis e Toxoplasmose, estão presentes na ontologia para o diagnóstico diferencial da propriedade temDiagnosticoDiferencialDe.





Referências: