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
Recapitulação sobre Ontologias
Daniel Barbosa e Jacques RobinCIn-UFPE
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
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
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
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-...
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
Exemplos de restrições OCL
PersonsocialSecurityNumber
Context Person inv:person.allInstances->forAll(p1, p2 | p1 <> p2 implies p1.socialSecurityNumber <>
p2.socialSecurityNumber)
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
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)
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
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>
Exemplos de extensões de UML inspiradas de DAML-OIL
Ontologia básica para negócios representada em UML
Exemplos de extensões de UML inspiradas de DAML-OIL
Extensão da ontologia para comércio eletrônico
Exemplos de extensões de UML inspiradas de DAML-OIL
Parte da ontologia e a tradução em DAML
Exemplos de extensões de UML inspiradas de DAML-OIL
Notação gráfica de uma “instância” e a tradução em DAML
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
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;
};
Consultas de ontologias UML/OCL
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/
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
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)
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
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
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
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
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
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)
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
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
-
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
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
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 -
Quadro comparativo geral das linguagens de ontologia
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
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
Como construir ontologias?
Construir do zero
Reengenharia de ontologias
Construção cooperativa de ontologia
Ontology learning ontologies
Ontology merge
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
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
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