1 / 61

Ontologías

Ontologías. Prof. Bach. Kryscia Ramírez Benavides 30/03/2005. Agenda. Introducción ¿Qué es una ontología? Aplicaciones Elementos de una ontología Beneficios de las ontologías Principios de construcción Pasos para construir ontologías. Agenda. Desarrollo de ontologías Lenguajes

riordan
Download Presentation

Ontologías

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. Ontologías Prof. Bach. Kryscia Ramírez Benavides 30/03/2005

  2. Agenda • Introducción • ¿Qué es una ontología? • Aplicaciones • Elementos de una ontología • Beneficios de las ontologías • Principios de construcción • Pasos para construir ontologías

  3. Agenda • Desarrollo de ontologías • Lenguajes • RDF/RDF-S • DAML+OIL • OWL • Herramientas • Protégé • RACER • Agentes y ontologías • Ejemplo: Ontología de Pizzas

  4. Introducción • Nuevas tecnologías Web proponen nuevas técnicas y paradigmas para la representación de conocimiento que faciliten localizar, compartir e integrar recursos • Conocimiento semántico explícito que describe y estructura la información y los servicios disponibles • Creciente interés en la reutilización, para reducir recursos, costos y tiempo

  5. ¿Qué es una ontología? • El término es tomando de la filosofía y se refiere a existencia • Para la IA, lo que “existe” es aquello que puede ser representado • Definición más completa y utilizada es la de Gruber (1993) y extendida por Studer (1998): Una especificación explícita y formal de una conceptualización compartida

  6. ¿Qué es una ontología? (cont.) • Conceptualización: Una forma de entender o describir un dominio, modelo abstracto • Explícita: Satisface la necesidad de especificar de forma consciente los distintos conceptos que conforman una ontología • Formal: Sigue alguna especificación formal de un lenguaje de representación • Compartida: Conocimiento aceptado como mínimo por el grupo de personas que van a usarla

  7. Aplicaciones • Comercio electrónico • Gestión de conocimientos • Sistemas de agentes • Portales de páginas Web • Indexación de páginas Web • Recuperación de información • Procesamiento de lenguaje natural • Web semántica

  8. Elementos de una ontología • Conceptos  Clases  Categorías • Relaciones  Propiedades  Slots • Funciones • Instancias • Axiomas

  9. Beneficios de las ontologías • Proporcionan una forma de representar y compartir el conocimiento utilizando un vocabulario común • Permiten reutilización del conocimiento • Permiten usar un formato de intercambio de conocimiento • Proporcionan un protocolo específico de comunicación • Mantienen la semántica de la información

  10. Principios de construcción • Claridad y Objetividad • Completitud • Coherencia • Máxima Extensibilidad Monótona • Principio de Distinción Ontológica • Diversificación • Estandarización • Minimización

  11. Pasos para construir ontologías • Determinar el dominio y el alcance de la ontología • Considerar reutilizar ontologías existentes • Enumerar los términos importantes del dominio • Definir las clases y la jerarquía de las clases • Definir las propiedades (slots) de las clases • Definir las restricciones de las propiedades • Crear instancias

  12. Lenguajes • Es la forma en que se representa un contexto en particular • Garantiza que la ontología sea una especificación formal explícita • Existen muchos lenguajes que van a permitir esa definición • No todos van a permitir el mismo nivel de expresividad a la hora de definir ontologías

  13. Lenguajes (cont.) • Honrubia expone que un lenguaje debe tener los siguientes requisitos: • Sintaxis bien definida • Semántica bien definida • Suficiente expresividad • Fácilmente maleable • Eficiente a la hora de realizar razonamiento

  14. Lenguajes (cont.) • El lenguaje a utilizar para modelar ontologías depende de las características y condiciones que se necesiten • Existen lenguajes para definición de ontologías clasificados de acuerdo a su representatividad y objetivo • Algunos son: • RDF/RDF-S • DAML+OIL • OWL

  15. RDF (Resource Description Framework) • Especificación propuesta por W3C • Declara meta-información de forma global (URI) • Información manejable por una máquina • Basado en XML • Modelo simple (grafo dirigido) • Modelo de datos básico consta: • Recursos • Propiedades • Declaraciones

  16. RDF (Resource Description Framework) (cont.) • RDF es un conjunto de tripletas: sujeto (recurso), predicado (propiedad) y objeto (valor de la propiedad)

  17. RDF-S (RDF Schema) • Proporciona un sistema entendible por la máquina para definir esquemas para vocabularios específicos • Permite especificar clases de tipos de recursos y propiedades • Es un conjunto de recursos RDF (incluyendo clases y propiedades), y las restricciones en sus relaciones

  18. RDF/RDF-S • RDF/RDF-S: • Ofrece los mínimos requerimientos para el desarrollo de una ontología • Expresividad es limitada • Es un lenguaje semántico que une la información de una página a semántica legible por máquinas • Ofrece pocas restricciones y muy poco razonamiento (casi no ofrece mecanismos de inferencia)

  19. DAML+OIL (DARPA Agent Markup Language + Ontology Inference Layer) • Lenguaje de marcado semántico para los recursos Web • Basado en estándares de W3C como RDF/Esquema RDF, y extiende estos lenguajes modelando primitivas más poderosas • DAML+OIL une RDF/RDF-S con una capa de inferencias para ontologías brindado: • Una semántica precisa para la descripción de significados de los términos • Un buen razonamiento

  20. DAML+OIL (DARPA Agent Markup Language + Ontology Inference Layer) (cont.) • Surge de la unión: • DARPA Agent Mark-Up Language (DAML) • Ontology Inference Layer (OIL) • DAML+OIL toma lo mejor de DAML y OIL e intenta combinarlos en un lenguaje que: • Proporciona una manera de buscar información en la Web • “Entienda” la información que se encuentra en la Web • Es más que apto para la construcción de ontologías

  21. OWL (Web Ontology Language) • Basado en RDF y DAML+OIL • Último estándar en los lenguajes para construir ontologías, desarrollado por W3C • Tiene fundamentos matemáticos formales basados en las Lógicas Descriptivas • Eso permite usar un razonador (RACER) para comprobar la ontología según se construya

  22. OWL (Web Ontology Language) (cont.) • Elementos básicos: • Clases (conceptos) • Propiedades (relaciones) • Individuos (instancias)

  23. OWL (Web Ontology Language) • Representa el significado de términos explícitamente en vocabularios y las relaciones entre esos términos • Es la representación de conocimiento más expresiva para la Web Semántica • Proporciona tres lenguajes expresivos: • OWL Lite • OWL DL • OWL Full

  24. OWL (Web Ontology Language) (cont.) • No le agrega más funcionalidades a DAML+OIL, toma los elementos que este lenguaje proporciona para adecuarlos y mejorarlos: • Agrega más elementos para enriquecer la representación semántica e inferencia • Elimina algunos elementos cuyo significado era opaco para agentes que utilizan el RDF/RDF-S, y los elementos de restricciones de cardinalidad calificadas • Cambia el nombre de otros elementos manteniendo su función • Es el lenguaje de representación de conocimiento más expresivo para la Web Semántica

  25. OWL (Web Ontology Language) (cont.) • Elementos de OWL Lite: • RDF-S (Esquema RDF) • Class • rdfs:subClassOf • rdf:Property • rdfs:subPropertyOf • rdfs:domain • rdfs:range • Individual

  26. OWL (Web Ontology Language) (cont.) • Elementos de OWL Lite: • Igualdad y desigualdad • equivalentClass • equivalentProperty • sameAs • differentFrom • AllDifferent • distinctMembers

  27. OWL (Web Ontology Language) (cont.) • Elementos de OWL Lite: • Combinaciones booleanas de expresiones de clase • intersectionOF • Características de propiedad • ObjectProperty • DatatypeProperty • inverseOf • TransitiveProperty • SymmetricProperty • FunctionalProperty • InverseFunctionalProperty

  28. OWL (Web Ontology Language) (cont.) • Elementos de OWL Lite: • Restricciones de propiedad • Restriction • onProperty • allValuesFrom • someValuesFrom • Restricciones de cardinalidad (sólo pueden ser 0 ó 1) • minCardinality • maxCardinality • Cardinality

  29. OWL (Web Ontology Language) (cont.) • Elementos de OWL Lite: • Propiedades de anotaciones • rdfs:label • rdfs:comment • rdfs:seeAlso • rdfs:isDefinedBy • Elementos para definir la información de la versión, la información del encabezado y otras propiedades de anotación

  30. OWL (Web Ontology Language) (cont.) • Elementos de OWL DL y OWL Full: • Axiomas de clase • oneOf • disjointWith • equivalentClass • rdfs:subClassOf • Combinaciones booleanas de expresiones de clase • intersectionOF • unionOF • complementOF • Rasgos de información de relleno • hasValue

  31. OWL (Web Ontology Language) (cont.) • Lógica Descriptiva (DL): • La rama lógica dentro de la familia de los marcos (frames) • Subconjuntos de la lógica de primer orden computacionalmente tratables • Describen relaciones entre conceptos (clases) • Los individuos (instancias) son secundarios, las ontologías no son bases de datos • Conceptos (clases), Individuos (instancias o ejemplares de las clases) y Relaciones entre los individuos

  32. OWL (Web Ontology Language) (cont.) • Clases Definidas versus Clases Primitivas: • Clases Definidas: Se define un conjunto de condiciones suficientes para reconocer cualquier subclase o instancia de la clase • Clases Primitivas: Se define sólo, se indican, las condiciones necesarias que se aplican a todas las instancias de la clase • Dominio versus Rango: • Dominio: Una o más clases que se les asigna una propiedad • Rango: Una o más clases donde se obtienen los valores de una propiedad

  33. OWL (Web Ontology Language) (cont.) • Construir Ontologías en OWL-DL: • Se comienza por una taxonomía de clases primitivas • Deben formar árboles • Recordar que la condición de clases disjuntas debe establecerse explícitamente • Hay que tener cuidado • Hacer las disyunciones explícitamente • Razonamiento del mundo abierto • Restricciones universales y existenciales • Restricciones de dominio y rango

  34. OWL (Web Ontology Language) (cont.) • El principio básico para ontologías normalizadas • Construir ontologías a partir de árboles puros de clases primitivas • Cada clase primitiva tiene sólo un padre primitivo

  35. OWL (Web Ontology Language) (cont.) • Errores frecuentes en OWL: • Olvidar hacer explícito que las clases sean disjuntas • No comprender las implicaciones del razonamiento del mundo abierto • (Mal) Usar restricciones universales en vez de restricciones existenciales • Confundir dominio y rango

  36. OWL (Web Ontology Language) (cont.) • Razonamiento Mundo Cerrado versus Razonamiento Mundo Abierto: • Mundo Cerrado: • La negación como fallo • Si no lo encuentro (o no puedo probarlo) en este mundo, se asume que es falso • Se usa en sistemas de BD, en programación lógica, lenguajes de restricciones, entre otros. • Mundo Abierto: • La negación como contradicción • Si no lo encuentro en este mundo, se asume que es posible, a no ser que sea imposible en cualquier mundo (es una contradicción). La negación debe ser explícita • Se usa en los demostradores automáticos de teoremas y en los razonadores DL (y en OWL)

  37. OWL (Web Ontology Language) (cont.) • Razonamiento del Mundo Abierto: • OWL utiliza la hipótesis de mundo abierto: Open World Assumption (OWA) • Muchos usuarios de OWL provienen de sistemas de mundo cerrado como las bases de datos • La información que no se haya añadido de forma explícita a la base de conocimiento se asume que es información pérdida o desconocida que podría ser añadida en el futuro • Para eso se usan los axiomas de cierre sobre el atributo

  38. OWL (Web Ontology Language) (cont.) • Restricciones Universales versus Restricciones Existenciales: • Las restricciones se usan para limitar las relaciones válidas entre individuos • La mayoría de los usuarios tienden a usar las restricciones universales (que afectan todos los valores) • Sin embargo, la mayoría de las veces, el tipo de restricción corresponde con las restricciones existenciales • Cualquier restricción existencial (someValuesFrom, ) que se rellene con una contradicción es en sí misma una contradicción • Una restricción universal (allValuesFrom, ) que se rellene con una contradicción puede ser cumplida de forma trivial

  39. OWL (Web Ontology Language) (cont.) • Dominio y Rango: • Confusión típica porque el dominio y el rango no son restricciones que se comprueban • Son axiomas que se utilizan para que el razonador haga ciertas inferencias • Violar una restricción de dominio y rango no significa necesariamente que la ontología sea inconsistente o que contenga errores • Las restricciones de dominio y rango son axiomas, en OWL son equivalentes a restricciones de tipo allValuesFrom • En la mayoría de los sistemas violar una restricción de dominio y rango provoca un error. En OWL provoca reclasificación y posiblemente inconsistencias

  40. OWL (Web Ontology Language) (cont.) • Otros aspectos que suelen ser fuente de confusión: • Aspectos lógicos clásicos • Uso lingüístico frente al uso lógico AND y OR • Diferencias entre las clases primitivas y definidas • Herencia múltiple: • Los conceptos primitivos deberían (idealmente) tener sólo un concepto padre

  41. Requisitos de los lenguajes • Los requisitos que cumplen los lenguajes RDF/RDF-S, DAML+OIL y OWL son:

  42. Funcionalidades de los lenguajes • Las funcionalidades ofrecidas por los lenguajes RDF/RDF-S, DAML+OIL y OWL son:

  43. Herramientas • Las herramientas para desarrollar ontologías son tan variadas como los lenguajes • Las herramientas que serán discutidas y utilizadas son: • Protégé • RACER

  44. Protégé • Es gratis, open source • Está basado en Java, es extendible • Es un editor de ontologías y marco de trabajo de bases de conocimiento • Define la estructura de una ontología • Define y administra instancias

  45. Protégé • Integrado con GUI y plugins: • OWLWizard – Plugin para guiar paso a paso en la construcción de clases, propiedades, etc. • OWLViz — Plugin para el despliegue gráfico de las jerarquías de las clases • ezOWL – Plugin para el despliegue gráfico de las jerarquías de las clases, las propiedades y restricciones de cada clase • JADEBean Generator — Plugin para producir clases Java a partir de la ontología, para que JADE puede utilizar y entender la ontología

  46. RACER • Razonador (clasificador) basado en lógicas descriptivas • Sistema de razonamiento de lógica descriptiva • Motor de inferencia semántico para desarrollar ontologías • Proveedor de la lógica modal KM con calificadas modalidades y axiomas.

  47. Agentes y ontologías • Una ontología se escribe en algún lenguaje de formalización de ontologías que la hace independiente del contexto de uso • Varios agentes pueden compartir conocimiento si están de acuerdo en la semántica dada por una cierta ontología • Una ontología común define el vocabulario con el que los agentes intercambian mensajes (consultas y asertos)

  48. Agentes y ontologías (cont.) • Que dos agentes compartan un vocabulario no significa: • Que compartan la misma base de conocimiento • Que sea capaz de contestar cualquier pregunta formulada con ese vocabulario • Un compromiso de un agente con una cierta ontología garantiza la consistencia pero no la completitud respecto a las consultas y asertos utilizando el vocabulario de la ontología

  49. Ejemplo:Ontología de Pizzas

  50. ¿Qué se necesita? • Lenguaje OWL • Protégé, versión 3.0 • Plugin OWL • Plugin OWLWizard • Plugin OWLViz • Plugin ezOWL • Plugin BeanGenerator • RACER • Graphviz, versión 1.12

More Related