1 / 39

Recapitulação sobre Ontologias

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

tavita
Download Presentation

Recapitulação sobre Ontologias

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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 • Comparação entre UML/OCL, DAML-OIL/RuleML, F-Logic, CARIN e Ontolingua • Outras linguagens de representação de ontologias • Catálogo de ontologias importantes • Metodologias de desenvolvimento de ontologias

  3. UML como linguagem de especificação de ontologias • Diagramas relevantes • Diagrama de classes • Modelagem estática, adequada para representar ontologias • Diagrama de objetos • Modelagem das instâncias da ontologia

  4. 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

  5. Construtores de OCL Context c : Customer inv MinimumAge: c.age() >= 18 Context Customer inv: self.age() >= 18 Context LoyaltyProgram::enroll(c : Customer) pre: not customer->includes(c) post: customer = customer@pre->including(c)

  6. Refinamento com OCL da ontologia acadêmica abaixo da ontologia geral do AIMA

  7. Exemplos de restrições OCL Context Person inv: person.allInstances->forAll(p1, p2 | p1 <> p2 implies p1.socialSecurityNumber <> p2.socialSecurityNumber)

  8. Exemplos de restrições OCL Context Stove inv: temperature <= 200 Context ElectricStove inv: temperature <= 300 Context EletronicStove inv: temperature <= 150

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

  10. 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

  11. 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>

  12. Exemplos de extensões de UML inspiradas de DAML-OIL • Ontologia básica para negócios representada em UML

  13. Exemplos de extensões de UML inspiradas de DAML-OIL • Extensão da ontologia para comércio eletrônico

  14. Exemplos de extensões de UML inspiradas de DAML-OIL • Parte da ontologia e a tradução em DAML

  15. Exemplos de extensões de UML inspiradas de DAML-OIL • Notação gráfica de uma “instância” e a tradução em DAML

  16. 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

  17. 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; };

  18. Consultas de ontologias UML/OCL

  19. Ferramentas de raciocínio automáticocom 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/

  20. 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

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

  22. 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

  23. 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

  24. 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

  25. 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 UML/OCL como linguagem de ontologia

  26. 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 Avaliação de F-Logiccomo linguagem de ontologia • 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

  27. 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 CARINcomo linguagem de ontologia

  28. 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 Avaliação de XMLScomo linguagem de ontologia

  29. 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 Avaliação de RDFScomo linguagem de ontologia

  30. 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 Avaliação de DAML-OILcomo linguagem de ontologia

  31. 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 RuleMLcomo linguagem de ontologia

  32. 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 Avaliação de Ontolinguacomo linguagem de ontologia

  33. Quadro comparativo geral das linguagens de ontologia

  34. 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

  35. 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

  36. Como construir ontologias? • Construir do zero • Reengenharia de ontologias • Construção cooperativa de ontologia • Ontology learning ontologies • Ontology merge

  37. Questões geraisda 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

  38. 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

  39. 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

More Related