Prof. Bach. Kryscia Ramírez Benavides 30/03/2005

Slides:



Advertisements
Presentaciones similares
SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR
Advertisements

1 Datos sobre webloggers Datos extraidos de la encuesta a webloggers disponibles en la web de los autores.
IBD Plan 90 y 2003 Clase 10.
Los números del 0 al cero uno dos tres cuatro cinco 6 7 8
Universidad San Martín de Porres
1 LA UTILIZACION DE LAS TIC EN LAS MICROEMPRESAS GALLEGAS. AÑO mayo 2005.
1 LA UTILIZACION DE LAS TIC EN LAS PYMES GALLEGAS AÑO de Junio de 2005.
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS ( Resumen PYMES ) Noviembre de 2004.
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS (MICROEMPRESAS, resultados provisionales) 29 de julio de 2004.
© Dr. Iván E. Calimano Formas, usos, etc.
AYUDA A LA FUNCIÓN DOCENTE Internet
TEMA 2 MÚLTIPLOS Y DIVISORES
02- Plan Organización Docente v.2 Noviembre 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
02- PLAN DOCENTE Febrero 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
01- OFERTA FORMATIVA v.2 Noviembre 2009 SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR.
Aladdín-respuestas 1.Vivía 2.Era 3.Amaba 4.Quería 5.Gustaban 6.Se sentía 7.Salía 8.Tenía 9.Decidió 10.escapó 11. Se vistió 12. Conoció 13. Vio 14. Pensó
Respuestas Buscando a Nemo.
ABECEDARIO FIGURAS GEOMÉTRICAS NÚMERO
MOVIMIENTO ARMÓNICO SIMPLE MOVIMIENTO ARMÓNICO SIMPLE
SIMATICA V2.0. Automatización de Viviendas con Simatic S7-200
Objetivo: Los estudiantes van a usar vocabulario del desayuno para comprender un cuento. Práctica: 1. ¿Te gusta comer? 2. ¿Te gusta beber Mt. Dew.
Mulán /75 puntos. 1.Querían 2.Gustaban 3.Escuchó 4.Dijo 5.Tenía 6.Ayudaron 7.Maquillaron 8.Arreglaron 9.Dio 10.Estaba 11.Iba 12.Quería 13.Salió 14.Gritó
Ontologías: Conversión a Clases Java
1 XML Extensible Markup Language HTML HyperText Markup Language normas06_01.xml.
C ONFIGURACIÓN C UENTAS D E C ORREO ZTE N281. C ONFIGURACIÓN C UENTAS D E C ORREO ZTE N281 1-Ingrese a menú 2-Ingrese a Mensajes 3-Ingrese a Correo 4-Seleccione.
60 razones para seguir vivo
Distribuciones de probabilidad bidimensionales o conjuntas
Campus virtual Autoevaluaciones Teletutorías Salas de estudio Clases en línea Contratos didácticos Proyecto E.D.U.F. Universidad Universidad.
1 Reporte Componente Impacto Por Orden Territorial Por Departamento No Disponible ND *Los indicadores para el año 2008 no fueron calculados.
1 Modulo de Administradores Licencia Nacional de la Web of Knowledge Año 2013.
Phone2Wave-Server Manual de Operación.
TELEFONÍA IP.
50 principios La Agenda 1.- Presentar un único interlocutor a los clientes. 2.- Tratar de modo distinto a las diferentes clases de clientes. 3.- Saber.
Parte 3. Descripción del código de una función 1.
UNIDAD 2: FUNCIONES.
FUNCIONES DE UNA VARIABLE REAL
EL OSO APRENDIZ Y SUS AMIGOS
Ontologías y Bases de Datos
50 principios 1. Los clientes asumen el mando.
1 PROYECTO DE PRESUPUESTO DE EGRESOS DE LA FEDERACION 2002 COORDINACIÓN DE POLITICA ECONOMICA GP-PRD.
Hacer click Hacer click en cualquiera de estos links.
Modelo de Evaluación Institucional
Clasificación de los indicadores por categoría
INTELIGENCIA ARTIFICIAL
Indicadores CNEP Escuela
XXI Reunión del Foro de Directores y Responsables de Unidades de Información Documental Julio/2005 La explotación cooperativa de contenidos en el contexto.
Ecuaciones Cuadráticas
C REACIÓN DE B LOGS EN ESPOL Profesora: Eva María Mera Intriago Escuela Superior Politécnica del Litoral Impulsando la sociedad del conocimiento Instituto.
Estadística Computacional I
Lenguajes de Ontologías Gustavo Núñez, Alvaro Rodriguez, Oscar Sena.
¡Primero mira fijo a la bruja!
¿Qué es un conjunto? Un conjunto es una colección de objetos considerada como un todo. Los objetos de un conjunto son llamados elementos o miembros del.
© Manuel ColladoVersiones-1 Control de versiones, configuración y cambios VCS: Version Control System SCM: Software Configuration Management.
Control de versiones, configuración y cambios
0 1 ¿Qué hora es? By: Craig Tillmann Revised by: Malinda Seger Coppell High School Coppell, TX.
La transformada de Laplace
CAPITULO 2 La Representación del Conocimiento
Realimentacion de la salida
SUCESIONES Y PROGRESIONES.
Estructuras de control
Herramienta FRAX Expositor: Boris Inturias.
FUNDAMENTOS DE CALIDAD EN LA GESTIÓN PÚBLICA
Web Semántica M. Andrea Rodríguez Tastets DIIC - Universidad de Concepción
Representación del conocimiento
Ingeniería de Software
Web Semántica Borja A. Espejo García. ¿Cuál es el aula de la asignatura de Sistemas de Información Distribuidos del Máster de la Universidad de Zaragoza?
Web Semántica La Web Semántica es la nueva generación de la Web, que intenta realizar un filtrado automático preciso de la información. Para ello, es necesario.
Web Ontology Language (OWL)
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
OWL: Ontology Web Language Asignatura Doctorado 2007 (Francisco José Galán Morillo)
Transcripción de la presentación:

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

Es más que apto para la construcción de ontologías 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

Ejemplo: Ontología de Pizzas

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

Lo primero es… Instalar Protégé, completo Colocar el ejecutable de RACER en la ruta deseada Abrir Protégé Seleccionar OWL Files como formato para el nuevo proyecto New para empezar un proyecto nuevo, o Build… para usar un archivo OWL existente

Lo primero es… (cont.) Seleccionar en el menú Project la opción Configure y marcar: OWLViz ezOWL Seleccionar en el menú OWL la opción OWL Preferences y, en la pestaña General en la parte llamada Language Profile escoger OWL DL Guardar el proyecto como pizzaOntology-v1 Poner a ejecutar RACER

Jerarquía de Clases de la Ontología Pizza

Construcción de la ontología Primeras clases a crear: DomainEntity SelfStandingEntity (subclase de DomainEntity) Con el Wizard hacer el grupo de clases: Pizza – PizzaBase – PizzaTopping (subclases de SelfStandingEntity) ThinBase – HeavyBase (subclases de PizzaBase) VegetableTopping – MeatTopping – FishTopping - CheeseTopping - FruitTopping (subclases de PizzaTopping)

Construcción de la ontología Primeras clases a crear: Con el Wizard hacer el grupo de clases: Mushroom – Tomato – HotPepper – Onion (subclases de VegetalTopping) Pepperoni – Jam – SpicyBeef (subclases de MeatTopping) Anchovies – Tuna (subclases de FishTopping) Mozzarella – Parmesan (subclases de CheeseTopping) Pineapple (subclase de FruitTopping)

Construcción de la ontología Propiedades a crear: hasPart, dominio Pizza Subpropiedades de hasPart: hasBase, dominio Pizza y rango PizzaBase, único valor, por lo menos una base, funcional y funcional inversa hasTopping, dominio Pizza y rango PizzaTopping, multiple, al menos un ingrediente hasFatContent, dominio PizzaTopping y rango FatContent hasSpiciness, dominio PizzaTopping y rango Spiciness

Construcción de la ontología Clases a crear (subclases de Pizza): MargheritaPizza: mozzarella y tomato SpicyBeefPizza: mozarrella, tomato y spicy beef ProteinLoversPizza: MeatTopping – FishTopping – CheeseTopping (clase definida, anaranjado) HotSpecialPizza: mozzarella, tomato, hot pepper y spicy beef CheesePizza: CheeseTopping (clase definida, anaranjado) VegetarianPizza: VegetableTopping – CheeseTopping (clase definida, anaranjado)

Construcción de la ontología Clase a crear: ValuePartition (los valores son disjuntos), usar Wizard – Create Value Partition: Spiciness, valores: Hot, Medium, Bland FatContent, valores: LowFat, HighFat

Ejemplo con BeanGenerator Guardar y cerrar el proyecto, si se encuentra abierto Si se gusta se puede guardar con otro nombre Incluir el proyecto OWLSimpleJADEAbstractOntology.pprj Abrir con un editor de texto (ej. TextPad) el archivo pizzaOntology-V1.pprj Buscar el apartado que inicia: [PROJECT] of Project Agregar debajo de ese apartado: (included_projects "OWLSimpleJADEAbstractOntology.pprj") Guardar y cerrar Abrir el proyecto donde realizó la modificación anterior

Jerarquía de Clases de la Ontología Pizza

Referencias RDF, DAML+OIL y OWL: Protégé: RACER: http://www.w3.org http://www.daml.org Protégé: http://protege.stanford.edu RACER: http://www.sts.tu-harburg.de/~r.f.moeller/racer/