Representación de Información Angela C. Carrillo Ramos Agenda El problema de la representación de la información Conocimiento Representación de Conocimiento Reglas Ontologías 1
Problema de Representación de Información Diferentes representación modelos de Mecanismos de resolución de problemas Solucionar un problema Conocimiento Mecanismos para representarlo y manipularlo Problema de Representación de Información Conocimiento Hecho Un hecho es Una Verdad en un cierto mundo Lo que se quiere representar Hechos perro (capricho) mamífero (perro) Representaciones internas Representaciones en lenguaje natural x: perro (x) mamifero(x) Un perro es un mamífero 2
Representación de la información Características Suficiencia de la representación Representar todos elementos necesarios del dominio Suficiencia deductiva Manipular las estructuras de representación Eficiencia deductiva Incorporar fácilmente información adicional Eficiencia en la adquisición Adquirir nueva información con facilidad Definición de Hechos (deftemplate conexión (slot IDUsuario) (slot tipodm) (slot estado) (slot tiempoinicio) (multislot actividades)) (assert (conexión (IDUsuario " Angela") (tipodm "Pocket PC 5500") (estado "conectado") (tiempoinicio "8 :00") (actividades "consultar mensajes" "pedir citas")) 3
Otras Representaciones (deftemplate SI (slot nom) (slot IDAgent) (slot dispositif) (slot localisationd) (multislot items_information)) SI +nom: String +IDAgent: String +dispositif: String +localisationd: String +items_information: List Cómo representar A es prima de B En qué? madre, padre, hijo, hija, hermano, hermana Progenitor, descendiente directo, hermano, hombre, mujer Adith fue a Andrés Carne de Res anoche. Pidió una Punta de Anca grande, pagó la cuenta y se fue. 4
Reglas Mecanismo de inferencia de conocimiento [Ross03 03] [Golb04 04]. Restricción explícita sobre el comportamiento y el estado de un sistema. Reglas Ejemplos: (defrule dos_usuarios_simultáneamente conectados (conexion_usuario (usuario?x)) (DM?y) (estado?s)) (test (eq (eq (eq?x "Angela")) (eq?s "conectado")) (eq (eq?x "Fernando")) (eq?s "conectado")) )) => (printout t Están conectados!!" crlf)) 5
Ontología «una especificación explícita de una conceptualización» Gruber «una especificación explícita»: los conceptos y las relaciones de un modelo abstracto reciben nombres y definiciones explícitas. «conceptualización»: modelo abstracto que representa la manera en la cual las personas conciben las cosas reales del mundo Ontología Un nuevo tipo de diccionario formal y consensual (Jean et al. 2006). Se usa para Compartir Información Unificar lenguaje Conocer el modelo del dominio Búsqueda e integración de datos 6
Ontología Resolver problemas de heterogeneidad de la información: Estructural: diferentes modelos de datos Sintáctica: diferentes lenguajes y representaciones de datos Sistémica: diferentes configuraciones de Hw y Sw. Semántica: diferentes conceptos y sus interpretaciones Ontología Conceptos semánticamente Equivalentes Diferentes términos Mismo concepto Ej: ancho y alto definidos en mts, pulgadas, pixeles Ligados Diferentes clasificaciones Mismo término Ej: Persona se clasifica en hombre, mujer 7
Ontología Conceptos semánticamente No ligados Un término Diferentes conceptos Ej: JAVA puede ser un café, una danza, un lenguaje de programación y una isla en Indonesia Ejemplo 1: Contexto de grupo Modelo de Kirsch [Kirs06] 8
Ejemplo 2: Contexto Modelo de Bucur [Bucu06] Ejemplo 3: Una sesión de usuario 9
Ejemplo: Localización GML GML : Geography Markup Language : http://www.opengeospatial.org/standards/gml Lenguajes de Ontologías OWL (Ontology Web Language) Propuesto por el W3C OWL Lite, OWL DL,, et OWL Full 10
Ejemplo de OWL Uso de Ontologías y Reglas Lenguajes estándares definidos para la Web que expresan reglas y ontologías. Por ejemplo OWL para las ontologías, y SWRL y RuleML para las reglas ; Herramientas que facilitan la definición de ontologías (por ejemplo Protégé) y la formulación y la evaluación de reglas (por ejemplo, el lenguaje y el motor de inferencia JESS) ; Varias librerías que permiten integrar reglas y ontologías a plataformas de desarrollo de agentes. Por ejemplo, las clases de la plataforma JADE que permiten a los programadores definir las ontologías de las aplicaciones, e integrar JESS para definir y evaluar reglas ; 11
Uso de Ontologías y Reglas «plug-ins» que permiten definir ontologías y reglas y las integra a una aplicación. Por ejemplo, se puede definir una ontología en Protégé y convertirla en una ontología JADE utilizando el plug-in «OntologyBeanGenerator» de Protégé ; Herramientas que permiten integrar ontologías y reglas. Por ejemplo, los plug- ins «JadeJessProtege» y «JessTab» de Protégé integran JADE, JESS y Protégé. 12