39
Recapitulação sobre Ontologias Daniel Barbosa e Jacques Robin CIn-UFPE

Recapitulação sobre Ontologias

  • Upload
    tavita

  • View
    28

  • Download
    2

Embed Size (px)

DESCRIPTION

Recapitulação sobre Ontologias. Daniel Barbosa e Jacques Robin CIn-UFPE. Roteiro. UML como linguagem de especificação de ontologias OCL (Object Constraint Language) Extensões de UML para representar ontologias DAML-OIL KIF e Ontolingua - PowerPoint PPT Presentation

Citation preview

Page 1: Recapitulação sobre Ontologias

Recapitulação sobre Ontologias

Daniel Barbosa e Jacques RobinCIn-UFPE

Page 2: Recapitulação sobre Ontologias

Roteiro

1. UML como linguagem de especificação de ontologias

2. OCL (Object Constraint Language)3. Extensões de UML para representar ontologias

DAML-OIL4. KIF e Ontolingua5. Comparação entre UML/OCL, DAML-OIL/RuleML,

F-Logic, CARIN e Ontolingua6. Outras linguagens de representação de ontologias 7. Catálogo de ontologias importantes8. Metodologias de desenvolvimento de ontologias

Page 3: Recapitulação sobre Ontologias

UML como linguagem de especificação de ontologias

Diagramas relevantes

Diagrama de classesModelagem estática, adequada para

representar ontologias

Diagrama de objetosModelagem das instâncias da ontologia

Page 4: Recapitulação sobre Ontologias

OCL (Object Constraint Language):

Definição Linguagem formal para expressar restrições

sobre objetos.

Motivação UML não provê todos aspectos relevantes da

especificação do sistema Linguagem Natural é ambígua Linguagens formais requerem forte

conhecimento matemático Utilizada para expressar regras em UML

Page 5: Recapitulação sobre Ontologias

Construtores de OCL

Context c : Customer inv MinimumAge:c.age() >= 18

Context Customer inv:self.age() >= 18

<<invariant>>Context Customer inv:self.age() >= 18

Customername : Stringtitle : Stringismale : BooleandateofBirth : date

age()

Context LoyaltyProgram::enroll(c : Customer)

pre: not customer->includes(c)

post: customer = customer@pre->including(c)

LoyaltyProgram

enroll()

<<precondition>>not customer->includ...

<<postcondition>>customer = customer@pre-...

Page 6: Recapitulação sobre Ontologias

Refinamento com OCL da ontologia acadêmica abaixo da

ontologia geral do AIMA

Anything

name : string

AbstractObjects

Sets Numbers RepresentationalObjects Intervals

duration : time

Places

address : stringProcessesPhysicalObjects

weight : measurements

Events

Product

developedBy : OrganizationproducedBy : Project

<<invariant>>Context product inv:self.oclIsTypeOf(Intervals) = false

Page 7: Recapitulação sobre Ontologias

Exemplos de restrições OCL

PersonsocialSecurityNumber

Context Person inv:person.allInstances->forAll(p1, p2 | p1 <> p2 implies p1.socialSecurityNumber <>

p2.socialSecurityNumber)

Page 8: Recapitulação sobre Ontologias

Exemplos de restrições OCL

Context Stove inv:temperature <= 200

Context ElectricStove inv:temperature <= 300

ElectricStove

Stovetemperature : Integerstatus : enum{on, off}isOpen : Boolean

open()

Context EletronicStove inv:

temperature <= 150

Page 9: Recapitulação sobre Ontologias

Limitações de UML/OCL como linguagem de especificação de

ontologias UML carece de uma definição formal. Sua

semântica é definida por um metamodelo, restrições em OCL e descrições em linguagem natural.

Não existe motor de inferência usando ontologias UML/OCL como base de conhecimento: Nem serviços de lógicas descritivas

(subsumption, entailment, verificação de consistência, classificação)

Nem dedução automática baseada em regras (como F-Logic)

Page 10: Recapitulação sobre Ontologias

Extensões de UML para representar ontologias DAML-OIL

Utilização de stereotypes e tagged values

Profile UML para DAML Objetivo primário – converter diagramas de classes em

ontologias DAML, supondo que esses diagramas representam ontologias DAML

Objetivo secundário – converter ontologias DAML em diagramas de classes

Objetivo futuro – converter qualquer diagrama de classe em DAML

É um trabalho em progresso, nem todos os conceitos DAML são facilmente mapeados para UML

Maiores informações http://ubot.lockheedmartin.com/ubot/details/uml_to_daml.html

Page 11: Recapitulação sobre Ontologias

Exemplo de Ontologia acadêmica em DAML-OIL

<?xml version='1.0' encoding='ISO-8859-1'?><!--DAML+OIL Language, version 03/2001, generated by OntoEdit v2.0, ontoprise GmbH--><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" >. . . <rdfs:Class rdf:ID="PhDStudent"> <rdfs:subClassOf rdf:resource="#Researcher"/> <rdfs:subClassOf rdf:resource="#Student"/> <rdfs:subClassOf> <daml:Restriction daml:mincardinality="n" daml:maxcardinality="1"> <daml:onProperty rdf:resource="#supervisor"/> <daml:toClass rdf:resource="#AcademicStaff"/> </daml:Restriction> </rdfs:subClassOf> </rdfs:Class>. . . <PhDStudent rdf:ID="Franklin"> <name> Franklin Ramalho </name> <supervisor rdf:resource="Jacques"/> <researchInterest rdf:resource="Ontology"/> <studiesAt rdf:resource="UFPe"/> </PhDStudent>

Page 12: Recapitulação sobre Ontologias

Exemplos de extensões de UML inspiradas de DAML-OIL

Ontologia básica para negócios representada em UML

Page 13: Recapitulação sobre Ontologias

Exemplos de extensões de UML inspiradas de DAML-OIL

Extensão da ontologia para comércio eletrônico

Page 14: Recapitulação sobre Ontologias

Exemplos de extensões de UML inspiradas de DAML-OIL

Parte da ontologia e a tradução em DAML

Page 15: Recapitulação sobre Ontologias

Exemplos de extensões de UML inspiradas de DAML-OIL

Notação gráfica de uma “instância” e a tradução em DAML

Page 16: Recapitulação sobre Ontologias

Semântica formal de UML/OCL

UML/OCL ainda não possui uma semântica formal, a OMG fornece uma descrição informal em linguagem natural.

Pesquisadores vêm propondo diferentes formas semânticas para UML: Modelo matemático direto; Descrição utilizando a linguagem de especificação Z;

The precise UML (pUML) group (http://www.cs.york.ac.uk/puml/index.html)

O mesmo acontece para OCL

Page 17: Recapitulação sobre Ontologias

Consultas de ontologias UML/OCL Linguagens:

OCL; OQL (Object Query Language) – sobre um

subconjunto de UML com mapeamento completo para o modelo da ODMB (Object Data Management Group)

Declaração ODL para a classe “customer”

Interface customer {attribute numeric cust_id not null;attribute numeric name not null;attribute numeric address not null;attribute numeric city not null;attribute numeric country not null;

};

Page 18: Recapitulação sobre Ontologias

Consultas de ontologias UML/OCL

Page 19: Recapitulação sobre Ontologias

Ferramentas de raciocínio automático

com ontologias UML/OCL OCL é um poderoso mecanismo para expressar

regras de inferência (expressividade x complexidade computacional)

Recentes pesquisas mostram que regras de inferência em UML podem ser expressadas como transformações gráficas sobre diagramas UML. http://www.cs.york.ac.uk/puml/papers/evanswift.pdf http://citeseer.nj.nec.com/gogolla00graph.html

Existe ferramentas UML emergentes que armazenam instâncias e checam se estas estão de conformidade com as restrições OCL www.boldsoft.com/products/modelrun/ www.db.informatik.uni-bremen.de/projects/USE/

Page 20: Recapitulação sobre Ontologias

KIF e Ontolingua: definição e motivação

KIF (Knowledge Interchange Format) Linguagem projetada para uso em troca de conhecimento

entre agentes Utilizada em multiagentes (KQML) Semântica declarativa, baseada no cálculo de predicado

de primeira ordem

Ontolingua Desenvolvida em 1992 na Universidade de Stanford Linguagem para representar ontologias com semântica

lógica baseada em KIF Combina paradigmas de KR – Frame e Cálculo Predicado

Primeira Ordem A mais representativa das linguagens Considerada como padrão

Page 21: Recapitulação sobre Ontologias

Construtores de KIF

Definições de objetos, funções e relações 4 categorias de constantes: objeto, função, relação, lógica Não há diferença sintática entre as categorias acima, as

diferenças são semânticas (habilidade p/ 2a. ordem) 3 tipos de expressões: termos, sentenças e definições

Termos denotam objetos Sentenças expressam fatos Definições definem constantes

Uma base de conhecimento é um conjunto finito de sentenças e definições

6 tipos de sentenças: constante | equação | desigualdade | relacional | lógica | quantificada

3 tipos de definições: completa, parcial e irrestrita Para cada tipo, 4 casos, um para cada categoria de constantes

Detalhes : KIF homepage (http://logic.stanford.edu/kif/kif.html)

Page 22: Recapitulação sobre Ontologias

Ferramentas paraontologias Ontolingua

Ontolingua Construção e compartilhamento de ontologias http://ontolingua.stanford.edu/

Protégé-2000 Contém plug-ins para mecanismos de inferência para

verificação de restrições em lógica de primeira ordem, aquisição de informação de origens remotas (UMLS e Wordnet), etc

http://protege.stanford.edu/

Ontosaurus Exporta KIF e Ontolingua http://www.isi.edu/isd/ontosaurus.html

Page 23: Recapitulação sobre Ontologias

Características desejáveis de uma linguagem de ontologia

Expressividade e Mecanismo de inferência

Comtemplar todos os elementos de uma ontologia Hierarquia de conceitos (taxionomia) Restrições sobre os valores dos atributos dos

conceitos (parte dos axiomas) Regras dedutivas sobre os conceitos (outra

parte dos axiomas) Instâncias dos conceitos

Page 24: Recapitulação sobre Ontologias

Comparação das filosofias das linguagens de ontologia

Filosofia UML/OCL Utilização de uma interface gráfica padrão com ampla

aceitação. Filosofia F-Logic

Integra frames e cálculo de predicados de primeira ordem. Filosofia CARIN

Combinação de Datalog (regras de Horn não recursivas sem fuções) com Lógicas Descritivas ALN.

Filosofia DAML-OIL/RuleML DAML-OIL - Linguagem para Web criada de um esforço conjunto

das comunidades Européia e Americana para criação de uma linguagem padrão para Web Semântica. Construída sobre RDFS

RuleML - Oferece sintaxe XML para regras de representação do conhecimento

Filosofia Ontolingua Construída sobre KIF, combina paradigmas de KR – Frame e

Cálculo Predicado Primeira Ordem

Page 25: Recapitulação sobre Ontologias

Avaliação de UML/OCL como linguagem de ontologia

Pontos fortes UML é largamente utilizada

tanto na indústria como no meio acadêmico

Diferente do formalismo de LDs, há um padrão gráfico para representação de modelos em UML

OCL é poderosa e permite a expressão de restrições que não podem ser descritas em LDs.

Grande variedade de ferramentas disponíveis

UML é um padrão mantido pela OMG

OCL também já é padrão

Pontos fracos Não possui mecanismos de

inferência Alta Complexidade

computacional para raciocínio devido ao poder expressivo de OCL

Não possui semântica formal

Page 26: Recapitulação sobre Ontologias

Avaliação de F-Logiccomo linguagem de ontologia

Pontos fortes Possui um motor de

inferência que pode ser usado para checagem de restrições e dedução de novas informações

Existe ferramentas disponíveis: OntoEdit, Ontobroker, Protege, Flora, LoPiX, SiRLI, ...

integra estruturas de modelagem conceituais (classes, atributos, restrições de domínio, herança, axiomas) em um sistema lógico coerente.

Semântica formal declarativa baseada na lógica de Horn

Permite consultas dedutivas

Conceitos +

Relações +/-

Funções +/-

Procedimentos -

Instâncias +

Axiomas +

Regras de Produção

-

Pontos fracos Não tem suporte para Web Não suporta regras de

produção nem procedimentos Suporta apenas lógica de Horn

de 1a. Ordem

Page 27: Recapitulação sobre Ontologias

Avaliação de CARINcomo linguagem de ontologia

Pontos fortes Integra regras e LD Expressividade da LD Semântica definida Um mecanismo de

inferência completo para declarações não-recursivas (ALCNR)

Pontos fracos Sem suporte para Web Poucas ferramentas

encontradas (WebODE)

Page 28: Recapitulação sobre Ontologias

Avaliação de XMLScomo linguagem de ontologia

Pontos fortes É um padrão Existe ferramentas

Pontos fracos Não possui semântica Não possui inferência Expressa ontologias através

de DTDs Não possui herança DTD define a ordem das tags Representação de metadados

formal semantics

inheritance

inference

bounded lists

cardinality constraints

X

class expressions

data types X

defined classes

enumerations X

equivalence

extensibility

local restrictions

qualified constraints

reification

Page 29: Recapitulação sobre Ontologias

Avaliação de RDFScomo linguagem de ontologia

Pontos fortes Sintaxe padrão para escrita

de ontologias Conjunto padrão de

primitivas de modelagem como relacionamentos instance of e subclass of

Pontos fracos Expressividade limitada Falta um padrão para

definição de axiomas lógicos Não possui mecanismos de

inferência

Conceitos +

Relações +

Funções -

Procedimentos -

Instâncias +

Axiomas -

Regras de Produção

-

Page 30: Recapitulação sobre Ontologias

Avaliação de DAML-OILcomo linguagem de ontologia

Pontos fortes Linguagem para Web Frame + Lógica Descritiva Herança Semântica Formal Inferência Ferramentas: OntoEdit,

WebODE, OILed, OntoBuilder

Pontos fracos Não possui regras

formal semantics X

inheritance X

inference X

bounded lists X

cardinality constraints

X

class expressions X

data types X

defined classes X

enumerations X

equivalence X

extensibility X

local restrictions X

qualified constraints X

reification X

Page 31: Recapitulação sobre Ontologias

Avaliação de RuleMLcomo linguagem de ontologia

Pontos fortes Permite regras forward

(bottom-up) e backward (top-down) em XML para dedução

Base para padronização da abordagem rule markup

Deve se tornar um padrão da indústria

semântica declarativa

Pontos fracos Expressividade da lógica

de primeira ordem Baseado em DTD Base de regras não

referencia um modelo de informação onde possa atuar

Page 32: Recapitulação sobre Ontologias

Avaliação de Ontolinguacomo linguagem de ontologia

Pontos fortes Alta expressividade Herança Checagem de restrições Ferramentas: Ontolingua

(permite construção colaborativa), Protege

Pontos fracos Dificuldade de construção

de mecanismos de inferência

Não suporta regras de produção

Conceitos +

Relações +

Funções +

Procedimentos +

Instâncias +

Axiomas +

Regras de Produção -

Page 33: Recapitulação sobre Ontologias

Quadro comparativo geral das linguagens de ontologia

Page 34: Recapitulação sobre Ontologias

Outras linguagens de ontologia

Tradicionais (especificamente criadas para representar ontologias) LOOM OCML OKBC

Baseadas na Web (baseadas em XML) SHOE (exceção, baseada em HTML) XOL OML OIL

Outras (especificação de ontologias específicas) CycL GRAIL NKRL

Page 35: Recapitulação sobre Ontologias

Catálogo de ontologias importantes

DAML repository http://www.daml.org/ontologies

Ontolingua Server repository www-ksl-svc.stanford.edu:5915

Universal repository http://www.ist-universal.org

SHOE repository http://www.cs.umd.edu/projects/plus/SHOE/onts

WebODE http://babage.dia.fi.upm.es/webode

WebONTO http://kmi.open.ac.uk/projects/webonto

Ontosaurus http://www.isi.edu/isd/ontosaurus.html

Page 36: Recapitulação sobre Ontologias

Como construir ontologias?

Construir do zero

Reengenharia de ontologias

Construção cooperativa de ontologia

Ontology learning ontologies

Ontology merge

Page 37: Recapitulação sobre Ontologias

Questões gerais da engenharia de ontologias

Divisão: como delimito as classes e os atributos? quais são as distinções que trazem valor agregado?

Escopo: qual conhecimento incluir? qual a fronteira do meu domínio?

Granularidade: até que nível de detalhe modelar o domínio? problema da ramificação?

Validação: como avalio a qualidade do modelo? como escolho entre várias modelagem alternativas (as

vezes propostas por pessoas diferentes)? como identificar aspectos importantes que estão

faltando? Cooperação

Page 38: Recapitulação sobre Ontologias

Algumas metodologias de engenharia de ontologia

Construir do zero Cyc, KACTUS, SENSUS, Methontology, ...

Reengenharia de ontologias Método do Grupo de IA Lab. at UPM

Construção cooperativa de ontologia CO4, (KA)2

Ontology learning ontologies (Projeto de ontologias para textos) Aussenac-Gille´s and colleagues, Maedche and colleagues

Ontology merge FCA-merge, PROMPT

Page 39: Recapitulação sobre Ontologias

Conclusões sobre ontologias

Ontologia é uma área de pesquisa em crescimento

Grandes grupos estão trabalhando na tentativa de criar padrões para ontologias

Com o uso de ontologias, trabalhos de relação e integração de ontologias serão necessários e com isso a Web pode evoluir de um Repositório de Documentos para uma Base de conhecimento

Essencial para o desenvolvimento da Web Semântica