620 likes | 1.03k Views
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
E N D
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 • RDF/RDF-S • DAML+OIL • OWL • Herramientas • Protégé • RACER • Agentes y ontologías • Ejemplo: Ontología de Pizzas
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
¿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
¿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
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
Elementos de una ontología • Conceptos Clases Categorías • Relaciones Propiedades Slots • Funciones • Instancias • Axiomas
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
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
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
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
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
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
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
RDF (Resource Description Framework) (cont.) • RDF es un conjunto de tripletas: sujeto (recurso), predicado (propiedad) y objeto (valor de la propiedad)
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
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)
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
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
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
OWL (Web Ontology Language) (cont.) • Elementos básicos: • Clases (conceptos) • Propiedades (relaciones) • Individuos (instancias)
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
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
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
OWL (Web Ontology Language) (cont.) • Elementos de OWL Lite: • Igualdad y desigualdad • equivalentClass • equivalentProperty • sameAs • differentFrom • AllDifferent • distinctMembers
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
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
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
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
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
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
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
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
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
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)
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
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
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
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
Requisitos de los lenguajes • Los requisitos que cumplen los lenguajes RDF/RDF-S, DAML+OIL y OWL son:
Funcionalidades de los lenguajes • Las funcionalidades ofrecidas por los lenguajes RDF/RDF-S, DAML+OIL y OWL son:
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
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
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
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.
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)
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
¿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