1
2 Ontologías y Agentes Curso de doctorado “Sistemas de Información Distribuidos” Curso 2006-2007 Eduardo Mena http://www.cps.unizar.es/~mena/ Dpto. de Informática e Ingeniería de Sistemas Universidad de Zaragoza
3 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Grupo de Sistemas de Información Distribuidos (SID) Desarrollo de proyectos I+D en el área de gestión de datos –Bases de datos distribuidas y heterogéneas –Sistemas de información globales, Web Semántica –Servicios de datos en entornos móviles Contacto: Eduardo Mena ([email protected])[email protected] –http://sid.cps.unizar.es/ –En cooperación con el Grupo de Bases de Datos Interoperantes (BDI), Universidad del País Vasco, http://siul02.si.ehu.es/
4 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Áreas de Aplicación (1/2) Bases de datos distribuidas y federadas Sistemas de información globales, Web semántica
5 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Áreas de Aplicación (2/2) Servicios de datos en entornos móviles Sistemas de agentes inteligentes (móviles)
6 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Índice (1/2) Ontologías –Representación del conocimiento Descripciones semánticas Lenguajes de representación del conocimiento –Sistemas Terminológicos Lógica de descripciones Ejemplos de sistemas –Aplicación de las ontologías Bases de datos federadas Sistemas de información globales Sistemas de agentes inteligentes
7 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Índice (2/2) Sistemas de agentes inteligentes –Agentes inteligentes Características Agentes móviles –Aplicación de los agentes a sistemas de información A nivel de diseño A nivel de comunicaciones remotas Ejemplos de sistemas basados en agentes
8 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Ontologías
9 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" ¿De qué hablaremos? Ontologías: desde la IA y BD Definiciones y estado del arte Reglas prácticas para la creación de ontologías Ejemplos de aplicación de las ontologías –Distintos campos de aplicación –Distintos sistemas Uso de ontologías: Problemas principales
10 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Datos, Metadatos, Conocimiento Datos –(BD) Hechos, estado de las cosas Metadatos –Datos sobre los datos Información –Datos + semántica Conocimiento –(Epistemología, Chisholm 1977) C sabe k k es cierto C acepta k k es evidente para C –(IA) Permite comportamiento inteligente
11 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" También es: Conocimiento Descripciones semánticas Metainformación ¿ Base de conocimientos ? ¿ Taxonomía ? ¿ Jerarquía de clases ? Sistema de gestión del conocimiento Representación ¿ Expresividad ? ¿ Lenguaje interrogación ? ¿ Capacidades Deductivas ? “Especificación de una conceptualización” (T. Gruber) ¿Qué es una ontología?
12 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Ventajas Depende del contexto, en sistemas de información: Mejor consultar una ontología que los depósitos de datos Visión homogénea de toda la información (heterogénea) disponible Alto nivel semántico Conocimiento compartido Metainformación sobre los datos Ej. Ontología biblioteca
13 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Biblio-Thing Document Book Edited-Book Technical-Report Periodical-Publication Journal MagazineNewspaper Miscellaneous-Publication Technical-ManualComputer-Program Multimedia-Document ArtworkCartographic-Map Thesis Doctoral-Thesis Master-ThesisProceedings Conference Agent Person Author Organization PublisherUniversity http://www-ksl.stanford.edu/knowledge-sharing/ontologies/html/bibliographic-data/ Ejemplo: Stanford-I
14 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Print-Media PressPublication Journalism Newspaper Magazine Book Periodical Trade-Book Brochure TextBook Reference-Book SongBook PrayerBook Pictorial Series Journals CookBookInstruction-BookWordBookHandBookDirectory Annual EncyclopediaManualBibleGuideBookInstructionsReference-Manual http://www.cogsci.princeton.edu/~wn/w3wn.html Ejemplo 2: subconjunto de WordNet 1.5
15 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Problemas con las Ontologías Fuerte carga filosófica No olvidar contexto aplicación Difícil definición/explotación Elegir bien el sistema de representación del conocimiento Ingeniería del conocimiento, no automatizable Experiencia Complejidad del sistema ¿Realmente necesitamos una ontología? Tamaño (Ej: Cyc) Conocimiento distribuido: ontologías especializadas en dominios
16 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Ontologías Distribuidas vs. Ontología Global ontología Ontología Global
17 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Construcción de ontologías Lenguaje (signos + semántica) Términos (conceptos, atributos), relaciones, reglas, instancias Representan un punto de vista/dominio No hay lugar para la redundancia
18 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Sistemas de Representación del conocimiento Permiten: Crear ontologías/bases de conocimiento Y algunos: Manipular/interrogar ontologías Incluso otros: Introducir/recuperar instancias (datos) Lenguajes Ontolingua, KIF, KQML, DL, DAML, OWL ¿Cuál necesitamos? ¿qué esperamos de él? Expresividad Razonadores
19 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Lenguajes de Representación del Conocimiento RDF (Resource Description Framework): –XML, herencia de clases (RDF-class, RDF-property) –Expresividad similar a OO OIL (Ontology Inference Layer) –No XML, API basado en Lisp DAML (DARPA Agent Markup Language) –RDF+OIL, XML, lógica SHIQ (roles inversos, roles transitivos, cjtos.) –Pensado para Lógica Descriptiva (necesita un razonador) –DAML-S OWL (Ontology Web Language) –Pensado para la Web Semántica –Nivel Lite (similar RDF), DL (SHIQ), OWL full (autoextensible) –OWL-S –Estándar de W3C (Febrero 2004) OILed: editor de ontologías (RDF, DAML, OWL)
20 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Sistemas Basados en Lógica Descriptiva (Sistemas Terminológicos) Distintas expresividades Operadores muy expresivos: ALL, jerarquías de roles, roles inversos, roles transitivos, disjoint Mundo abierto vs. mundo cerrado Conceptos y roles Términos primitivos (cond. necesarias) y definidos (cond. necesarias y suficientes) Subsumisión Mecanismo de clasificación detección de inconsistencias simplificación de expresiones Tbox, Abox Las preguntas son expresiones (clasificables)
21 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Ejemplo 1: Familia.pl (BACK) :- backinit, backtell(personas:
22 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Ejemplo 2: Proyectos.pl (1/2) :- backinit, backstate(verbosity=silent), backtell(personas:
23 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Ejemplo 2: Proyectos.pl (2/2) extension :- backtell(jonni::personas and nombre:jonni and ocupacion:currito), backtell(josito::personas and nombre:josito and ocupacion:currito), backtell(nestor::personas and nombre:nestor and ocupacion:especialista), backtell(edu::personas and nombre:edu and ocupacion:jefe), backtell(josemi::personas and nombre:josemi and ocupacion:encargado). backtell(aims::proyectos and titulo:aims and miembros:allknown(personas and nombre:(edu or josito or josemi))).
24 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Ejemplos de Sistemas Terminológicos Clásicos –CLASSIC, BACK, FaCT, Loom CICLOP –API en Java, poco expresivo Utilizados para la Web Semántica –CORBA-FaCT, RACER (servicio web) –Enlace con DAML y OWL Interoperabilidad –Acceso OWL a través de servicio Web –DIG (Description logic Implementation Group): interfaz DL en XML http://www.ida.liu.se/labs/iislab/people/patla/DL/index.html
25 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Algunos campos de aplicación de las ontologías Bases de datos federadas Sistemas de información globales Agentes inteligentes
26 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Problema Telnet IP WWW FTP Archie C C++ Java Formularios Interfaces ad hoc Oracle Sybase Informix Semántica, formatos, etc.
27 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Objetivo Semántica Formatos
28 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Bases de Datos Federadas (BDF) Esquema global (ontología) Datos Bases de datos autónomas, diseño bottom-up Enlace BDs – Ontología (GAV vs. LAV) ?
29 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" BDF: Arquitectura de 5 niveles Esquema BD 1 Esq. Exportado 1 Esquema integrado (ont. integrada) Esquema BD n Esq. Exportado n Vista 1Vista m Esq. Export. canónico n (ont2)Esq. Export. canónico 1 (ont1)..... Traducción Integración.....
30 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Sistemas de Información Globales Muchos depósitos de datos (miles, millones) Gran heterogeneidad a todos los niveles Altamente dinámico y cambiante Un ejemplo: La Web Adaptación de las técnicas conocidas a dicho contexto Aún es objeto de investigación
31 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Aproximaciones: clasificación Sistemas de Acceso a Información Basados en Ontologías Basados en palabras clave Altavista, Yahoo!, Google Basados en Agentes TSIMMIS, DISCO Una Ontología Global Carnot, Information Manifold Varias Ontologías SIMS, InfoSleuth, OBSERVER
32 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Aproximaciones relevantes SIMS (Univ. de California del Sur, 1992) TSIMMIS (Univ. de Stanford & IBM, 1993) Information Manifold (AT&T Bell Lab., 1994) OBSERVER (Univ. Pais Vasco & UGA, 1995) InfoSleuth (MCC, 1996)
33 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Aproximaciones: Comparativa Depósitos heterogéneos Generación de wrappers Capacidad de respuesta Descr. semántica de datos Interop. entre ontologías Vocabulario compartido Respuestas imprecisas TSIMMIS InfoSleuth IM OBSERVER SIMS
34 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Ejemplo: El sistema OBSERVER Sistema de Información Global –gran numero de fuentes de datos (con cualquier organización de datos) –múltiples ontologías (indepen. del sistema DL) –depósitos de datos y ontologías reales Interoperación entre ontologías (división del espacio de información) –relaciones semánticas interontología –traducción de preguntas con o sin cambio de semántica –estimación del cambio de semántica
35 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Arquitectura de OBSERVER O ntology B ased S ystem E nhanced with R elationships for V ocabulary h E terogeneity R esolution Query ProcessorOntology Server IRM Relaciones Interontología Ontology Server Enlaces
36 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Si Expansión incremental a otra ontología Acceso a los datos Construcción de la pregunta Procesamiento de Preguntas (Query Processor) Seleccionar Ontología Usuario Editar pregunta Acceder datos subyacentes Correlacionar y mostrar respuesta Seleccionar ontología destino Integrar nueva ont. y ont. usuario Elegir plan con menor pérdida Generar Planes Más datos? Comienzo Final No
37 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Multiples ontologías: Transformaciones de la pregunta Pregunta del usuario expresada en términos de la Ontología Usuario Pregunta expresada en términos de la Ontología Destino Pregunta expresada en Enlaces Respuesta expresada según la semántica de los depósitos Respuesta expresada según la semántica de la Ontología Destino Respuesta expresada según la semántica de la Ontología Usuario Acceso a los datos subyacentes Rel. del IRM F. Trans. Inv. del IRM Traducción a Enlaces F. Trans. Inv. de enlaces Correlación F. Trans. de enlaces Correlación F. Trans. del IRM Query ProcessorOntology Server
38 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" OBSERVER: aportaciones Uso de ontologías pre-existentes Descripción de los depósitos de datos Manejo de relaciones interontología Manejo de distintos vocabularios Procesamiento incremental Acceso a gran número de depósitos Respuestas con pérdida de información Estimación de la pérdida
39 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Pérdida semántica en respuestas Respuesta relevante Pérdida semántica Pérdida en Precision Pérdida en Recall Respuesta obtenida Respuesta relevante y obtenida
40 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" OBSERVER: limitaciones Especificación manual de conocimiento –Ontologías, relaciones interontología –Información de enlace Enlaces estáticos (rel. interontología, inf. enlace) –Sensible a nuevas ontologías/depósitos de datos No relaciones entre los datos (constantes) –Ej. (tema=“Marte”) (tema=“sistema solar”) Selección manual de la ontología del usuario Pregunta formulada en DL –¿palabras clave, lenguaje natural?
41 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Web Semántica Problemas con la Web actual –HTML –Orientado a humanos –Búsquedas sintácticas (palabras clave) Objetivos –Separar contenido de visualización –Orientado a humanos y a programas (servicios) –Búsquedas semánticas (expresar qué se está buscando)
42 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Web Semántica Definición –Proyecto W3C desde aprox. 1999 –Nueva filosofía –Red de ordenadores Espacio compartido –Documentos autodescritos –Procesable por máquinas (ni lenguaje natural, ni GUIs) –Enlaces indirectos (independencia de la localización) Claves –XML –Ontologías –Servicios Web
43 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Niveles de la Web Semántica La arquitectura de la Web Semántica tiene tres capas: De la mas baja a la más alta: 1.Resource Description Framework (RDF): permite afirmar hechos ej. La persona X se llama “Pepe". 2.RDF Schema: permite describir vocabularios y usarlos para describir cosas conceptos ej. La persona X es una persona viva 3.Web Ontology Language (OWL): permite describir relaciones entre vocabularios ej. Las personas del esquema A son la misma cosa que los usuarios del esquema B.
44 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Arquitectura de la Web Semántica
45 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Sistemas de Agentes Inteligentes
46 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Agentes inteligentes Son programas: –Autónomos –Actúan en representación de alguien –Tienen una agenda de objetivos –“Inteligentes”, aprenden Pueden también ser: –Cooperativos –Móviles Nuevo paradigma de diseño de software
47 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Agentes móviles Programa que se ejecuta en un cierto contexto de ejecución o place, y viaja de place a place –Capaces de transportarse a sí mismos entre ordenadores –Necesita cierta infraestructura (plataforma de agentes) –Agentes móviles código móvil Alternativa a RPC
48 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Movilidad: cómo funciona Los agentes móviles se crean en places –Viajan entre places moveTo(newHost) –Se interrumpe la ejecución del thread –Se serializa el código y el estado del agente –El agente se reconstruye en el place destino –Se continúa la ejecución a partir de donde se interrumpió
49 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Movilidad fuerte vs. Movilidad débil Movilidad fuerte –moveTo(newHost) –En el destino se continúa con la siguiente instrucción –La JVM no permite continuar a mitad de un método Alternativa: cambiar la JVM incompatibilidad con otras JVM Movilidad débil –moveTo(newHost, callback) –En el destino se continúa con el método callback Se recomienda que el moveTo sea la última instr. del método –Permitido por la JVM
50 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Control de los saltos Problemas con el moveTo (red, permisos, etc.) –excepción place origen (política de reintento) Notificación de movimiento (Ej: Voyager) –preDeparture() En el origen, antes de iniciar el viaje –preArrival() En el destino, antes de la reconstrucción –postArrival() En el destino, agente reconstruido correctamente, justo antes del callback –postDeparture() En el origen, en paralelo con el callback del destino
51 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Utilizando agentes móviles Robustez frente a desconexiones Mejor diseño: delegación de tareas Facilidad de programación Plataformas de agentes Interoperabilidad Fiabilidad Escalabilidad Eficiencia? RPC 0,1 M 0,2 M 0,45 M 1 M 2 M 4 M 8 M 16 M 33 M
52 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Plataformas de agentes móviles Aglets –Buen API para agentes móviles –JDK 1.1 código abierto Java 2 Voyager –CORBA + mobilidad + activación + agentes –Problemas con los clones Grasshopper –Llamadas remotas (¿la mejor hasta ahora?) –Problemas de escalabilidad en el modelo de comunicación Tryllian –Miles de agentes (en la misma máquina) –Más lento
53 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Referencias S. Franklin et al, “Is it an Agent or just a Program?: a Taxonomy for Autonomous Agents”, 3rd Workshop on Agent Theories, Architectures and Languages, 1996 C. Harrison et al, “Mobile Agents: Are They a good idea?”, research report IBM (desclasificado como confidencial en 1995) J. Altman et al, “Using Mobile Agents in Real World: A Survey and Evaluation of Agent Platforms”.
54 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Ejemplos de sistemas basados en agentes Servicio de obtención de Software (SRS) Procesamiento de preguntas dependientes de la localización Generación adaptativa de interfaces gráficos Recopilación de citas bibliográficas
55 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Servicio de Obtención de Software Alternativa a sistemas tipo Tucows Uso de una ontología de software –Construida automáticamente Vista común al usuario del software disponible Sensible a las necesidades de distintos usuarios Tecnología de agentes: creación, explotación (gestión del conocimiento)
56 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Servicio de Obtención de Software
57 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Procesamiento de preguntas dependientes de la localización El usuario se mueve Los objetos relevantes se mueven Ej: “Muestrame los taxis más cercanos” (formulada mientras andamos por la ciudad) La pregunta depende de la posición de algunos objetos móviles La respuesta se debe actualizar periodicamente
58 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Despliegue de la red de agentes BS2 BS5 BS6BS4 BS3 BS1 Monitor BS0 (1) (3) (2) (3)
59 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos"
60 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Generación adaptativa de interfaces gráficos GUI’s distintos para dispositivos distintos Descripciones XML del GUI Prototipo: agente móvil que genera GUI’s Java Swing, HTML, y WML
61 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" GUIs en Java Swing, HTML y WML
62 Recopilación de citas bibliográficas SIUL02.SI.EHU.ES SIPL17.SI.EHU.ES VIERNES.CPS.UNIZAR.ES SISF00.SI.EHU.ES BibTeX San Sebastián Zaragoza BD publications ORDENADOR DEL USUARIO Almagro Voyager:9900 Navegador web Apache Tomcat Bib2DB PostScript ShowPub ShowBibTeX
63 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos"
64 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Carta a los reyes Necesitamos herramientas para –Especificación formal de sistemas móviles –Especificación de comportamiento complejo y sensible a distintos entornos (imprevisibles) Mejores plataformas de agentes –Más robustas –Para PDAs –Para redes inalámbricas (Bluetooth, WiFi) –Interoperables
65 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" ¿Futuro? Mucho trabajo por hacer –Mejorar aproximaciones tipo SIMS, OBSERVER –Papel de las ontologías –DAML OWL ??? –Considerando: –La Web –Nuevos dominios (computación móvil) –Nueva tecnología software (agentes, OWL, etc.) –Nuevo objetivo: Web semántica
66 Eduardo Mena Curso de doctorado "Sistemas de Información Distribuidos" Fin de la presentación Gracias por su atención http://www.cps.unizar.es/~mena/