650 likes | 821 Views
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. Grupo de Sistemas de Información Distribuidos (SID).
E N D
Ontologías y AgentesCurso 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
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 (emena@unizar.es) • 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/ 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 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) 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 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 Curso de doctorado "Sistemas de Información Distribuidos"
Ontologías 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 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 Curso de doctorado "Sistemas de Información Distribuidos"
¿Qué es una ontología? “Especificación de una conceptualización” (T. Gruber) • 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 ? 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 Curso de doctorado "Sistemas de Información Distribuidos"
Biblio-Thing Document Technical-Report Book Miscellaneous-Publication Proceedings Edited-Book Technical-Manual Cartographic-Map Computer-Program Doctoral-Thesis Multimedia-Document Artwork Newspaper Journal Master-Thesis Magazine Ejemplo: Stanford-I Conference Agent Person Organization Author Publisher University Thesis Periodical-Publication http://www-ksl.stanford.edu/knowledge-sharing/ontologies/html/bibliographic-data/ Curso de doctorado "Sistemas de Información Distribuidos"
Print-Media Journalism Press Publication Periodical Newspaper Magazine Book Journals Pictorial Series Trade-Book Brochure TextBook SongBook Reference-Book PrayerBook CookBook Encyclopedia WordBook HandBook Directory Instruction-Book Annual GuideBook Manual Bible Instructions Reference-Manual Ejemplo 2: subconjunto de WordNet 1.5 http://www.cogsci.princeton.edu/~wn/w3wn.html 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 Curso de doctorado "Sistemas de Información Distribuidos"
ontología Ontología Global ontología ontología ontología Ontologías Distribuidas vs. Ontología Global 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 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 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) 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) Curso de doctorado "Sistemas de Información Distribuidos"
Ejemplo 1: Familia.pl (BACK) :- backinit, backtell(personas:<anything), backtell(conoce_a:<domain(personas) and range(personas)), backtell(padre:<conoce_a), backtell(conocidos:=trans(conoce_a)), backtell(padre_conocidos:=conocidos.padre), backtell(conocidos_lejanos:=conocidos and trans(padre)), backtell(hijos:=inv(padre)). extension :- backtell(edu::personas and conoce_a:(josito and jonni) and padre:papaedu), Curso de doctorado "Sistemas de Información Distribuidos"
Ejemplo 2: Proyectos.pl (1/2) :- backinit, backstate(verbosity=silent), backtell(personas:<anything), backtell(nombre:<domain(personas) and range(string)), backtell(ocupacion:<domain(personas) and range(string)), backtell(jefes:=personas and ocupacion:'jefe'), backtell(proyectos:<anything), backtell(titulo:<domain(proyectos) and range(string)), backtell(miembros:<domain(proyectos) and range(personas)), backtell(superpro:=proyectos and atleast(3,miembros)), backtell(jefe:=miembros and range(jefes)). 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))). 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 Curso de doctorado "Sistemas de Información Distribuidos"
Algunos campos de aplicaciónde las ontologías • Bases de datos federadas • Sistemas de información globales • Agentes inteligentes Curso de doctorado "Sistemas de Información Distribuidos"
Semántica, formatos, etc. Telnet IP WWW FTP Archie C C++ Java Formularios Interfaces ad hoc Oracle Sybase Informix Problema Datos Curso de doctorado "Sistemas de Información Distribuidos"
Objetivo Formatos Datos Semántica 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) ? Curso de doctorado "Sistemas de Información Distribuidos"
BDF: Arquitectura de 5 niveles . . . . . Vista 1 Vista m Esquema integrado (ont. integrada) Integración Esq. Export. canónico 1 (ont1) Esq. Export. canónico n (ont2) Traducción Esq. Exportado 1 Esq. Exportado n Esquema BD 1 Esquema BD n . . . . . 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 Curso de doctorado "Sistemas de Información Distribuidos"
Aproximaciones: clasificación Basados en palabras clave Basados en Agentes TSIMMIS, DISCO Altavista, Yahoo!, Google Basados en Ontologías Una Ontología Global Varias Ontologías SIMS, InfoSleuth, OBSERVER Carnot, Information Manifold Sistemas de Acceso a Información 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) 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 SIMS OBSERVER 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 Curso de doctorado "Sistemas de Información Distribuidos"
Arquitectura de OBSERVER Relaciones Interontología Query Processor IRM OntologyServer OntologyServer OntologyServer Enlaces Enlaces Enlaces Enlaces Ontology Based System Enhanced with Relationships for Vocabulary hEterogeneity Resolution Curso de doctorado "Sistemas de Información Distribuidos"
Construcción de la pregunta Comienzo Seleccionar Ontología Usuario Editar pregunta Expansión incremental a otra ontología Elegir plan con menor pérdida Acceso a los datos Acceder datos subyacentes Generar Planes Correlacionar y mostrar respuesta Integrar nueva ont. y ont. usuario Seleccionar ontología destino No Si Final Más datos? Procesamiento de Preguntas (Query Processor) Curso de doctorado "Sistemas de Información Distribuidos"
Multiples ontologías: Transformaciones de la pregunta Query Processor OntologyServer Pregunta del usuario expresada en términos de la Ontología Usuario Respuesta expresada según la semántica de la Ontología Usuario Rel. del IRM F. Trans. Inv. del IRM Correlación F. Trans. del IRM Pregunta expresada en términos de la Ontología Destino Respuesta expresada según la semántica de la Ontología Destino Traducción a Enlaces F. Trans. Inv. de enlaces Correlación F. Trans. de enlaces Respuesta expresada según la semántica de los depósitos Pregunta expresada en Enlaces Acceso a los datos subyacentes 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 Curso de doctorado "Sistemas de Información Distribuidos"
Respuesta relevante Pérdida en Recall Pérdida en Precision Respuesta obtenida Respuesta relevante y obtenida Pérdida semántica Pérdida semántica en respuestas 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? 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) 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 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: • Resource Description Framework (RDF): permite afirmar hechos ej. La persona X se llama “Pepe". • RDF Schema: permite describir vocabularios y usarlos para describir cosas conceptosej. La persona X es una persona viva • Web Ontology Language (OWL): permite describir relaciones entre vocabulariosej. Las personas del esquema A son la misma cosa que los usuarios del esquema B. Curso de doctorado "Sistemas de Información Distribuidos"
Arquitectura de la Web Semántica Curso de doctorado "Sistemas de Información Distribuidos"
Sistemas de Agentes Inteligentes 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 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 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ó 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 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 Curso de doctorado "Sistemas de Información Distribuidos"
0,1 M 0,2 M 0,45 M 1 M 2 M 4 M 8 M 16 M 33 M 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 Curso de doctorado "Sistemas de Información Distribuidos"