Microsoft PowerPoint - 2012-05-01 DoctoradoValencia.ppt [Modo de
compatibilidad]y Sistemas de Información” Universidad Politécnica
de Valencia
Curso 2011-2012
Dpto. de Informática e Ingeniería de Sistemas Universidad de
Zaragoza
Valencia, Mayo 2012 Eduardo Mena "Ontologías y Agentes"
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]) –
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/
2
Áreas de Aplicación (1/2)
Áreas de Aplicación (2/2) • Servicios de datos en entornos
móviles
• Sistemas de agentes inteligentes (móviles)
4
2
Índice (1/2)
– 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 • Web Semántica
5 Eduardo Mena "Ontologías y Agentes"
Índice (2/2)
• 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
6
Ontologías
¿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
8
3
Datos, Metadatos, Conocimiento
• 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
9 Eduardo Mena "Ontologías y Agentes"
Metadatos
– Describir contenidos – Separar datos de significado – Permitir
comportamiento “inteligente”
• Problema – Su generación es difícil de automatizar
10
Información
• Es la representación del conocimiento, comunica la estructura del
conocimiento a través de datos, la información es la forma tangible
y comunicable del conocimiento
• Las escuelas y universidades tienen como actividad central
propiciar el conocimiento a partir de la información
11 Eduardo Mena "Ontologías y Agentes"
Conocimiento
• Es todo lo que se ha aprendido y organizado de acuerdo a aquellos
conceptos, imágenes o relaciones que ha podido dominar; el
conocimiento es una abstracción mental
• Supone cierto razonamiento y enjuiciamiento que organiza la
información mediante su comparación y clasificación
12
4
También es: Conocimiento Descripciones semánticas
Metainformación
¿ Base de conocimientos ?
“Especificación de una conceptualización” (T. Gruber)
¿Qué es una ontología?
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
14
Biblio-Thing
Document
Book
Edited-Book
Technical-Report
Periodical-Publication
Journal
Magazine
Newspaper
Miscellaneous-Publication
Technical-Manual
Print-Media
Encyclopedia
16
5
Problemas con las Ontologías
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
17 Eduardo Mena "Ontologías y Agentes"
Ontologías Distribuidas vs. Ontología Global
ontología
ontología
ontología
ontología
Construcción de ontologías
Lenguaje (signos + semántica)
Representan un punto de vista/dominio
No hay lugar para la redundancia
19 Eduardo Mena "Ontologías y Agentes"
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
20
6
• 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 SHOIQ
(roles inversos, roles transitivos, cjtos.) – Pensado para Lógica
Descriptiva (enlace con razonador) – DAML-S
• OWL (Ontology Web Language) – Pensado para la Web Semántica,
estándar de W3C (Febrero 2004) – Nivel Lite (similar RDF), DL
(SHOIN), OWL full (autoextensible) – OWL-S – OWL2 (2009): OWL2 EL
(ptime), OWL2 QL (BDs), OWL2 RL (reglas)
21 Eduardo Mena "Ontologías y Agentes"
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
Tbox (conceptos y roles) Términos primitivos (cond. necesarias)
Términos definidos (cond. necesarias y suficientes) Subsumisión.
Mecanismo de clasificación detección de inconsistencias
simplificación de expresiones
Abox (instancias) Rbox (reglas, C ⇒ D) Las preguntas son
expresiones (clasificables)
22
Expresividad
A LC (=A LUE)
, ⊥, , ∀, , ∃, ExpTime
SH IQ (S=) A LC + roles transitivos, jerarquías de roles (H ),
roles inversos (I) , restricciones numéricas cualificadas (Q
)
ExpTime OIL
SH IF (D ) S, jerarquías de roles (H ), roles inversos (I) , roles
funcionales (F )
ExpTime OWL Lite
SH O IN (D ) SH IQ + restricciones numéricas no cualificadas (N ) +
dominios concretos (D )
NExpTime OWL DL
SH O IQ (D ) SH IQ + nominales , objetos (O ) + dominios concretos
(D )
NExpTime DAML+OI L
SR O IQ SH O IN + tipos de roles N2ExpTime OWL 2 EL++ , ⊥, , ∃,
jerarquías de roles, nominales,
dominios Ptime (ont. biomed.)
Eduardo Mena "Ontologías y Agentes"
Clásicos CLASSIC, BACK, FaCT, Loom
Primeros orientados a la Web Semántica CORBA-FaCT, RACER (servicio
web), enlace con DAML y OWL
Actuales Pellet
Hermit SROIQ(D), SWRL, Java, academic (Univ. Oxford)
FaCT++ SROIQ(D), C++, academic (Univ. Manchester)
SR EL+, Java, gubernamental (CSIRO’s Health Informatics,
Australia)
[Fuente: K. Dentler et al, “Comparison of Reasoners for large
Ontologies in the OWL 2 EL Profile”, Semantic Web 1(5), 2011]
24
7
Ejemplo 1: Familia.pl (BACK)
extension :- backtell(edu::personas and conoce_a:(josito and jonni)
and padre:papaedu), backtell(josito::personas and conoce_a:edu and
padre:papajosito), backtell(jonni::personas and padre:papajonni),
backtell(papajonni::personas and conoce_a:edu).
25 Eduardo Mena "Ontologías y Agentes"
Ejemplo 2: Proyectos.pl (1/2) :- backinit,
backstate(verbosity=silent),
backtell(jefes:=personas and ocupacion:'jefe'),
backtell(superpro:=proyectos and atleast(3,miembros)),
backtell(jefe:=miembros and range(jefes)).
26
Ejemplo 2: Proyectos.pl (2/2)
backtell(aims::proyectos and titulo:aims and
miembros:allknown(personas and nombre:(edu or josito or
josemi))).
27 Eduardo Mena "Ontologías y Agentes"
Algunos campos de aplicación de las ontologías
• Bases de datos federadas • Sistemas de información globales •
Agentes inteligentes
28
8
Problema
Telnet
Objetivo
SemánticaFormatos
30
?
BDF: Arquitectura de 5 niveles
Esquema BD 1
Esq. Exportado 1
. . . . .
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
33 Eduardo Mena "Ontologías y Agentes"
Aproximaciones de los 90’s: clasificación Sistemas de
Acceso a Información
Basados en Ontologías
Aprox. relevantes de los 90’s
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)
Aproximaciones: Comparativa
Depósitos heterogéneos
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
37 Eduardo Mena "Ontologías y Agentes"
Arquitectura de OBSERVER
Si
Acceso a los datos
Construcción de la pregunta
Seleccionar Ontología Usuario
Elegir plan con menor pérdida
Generar Planes
Más datos?
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 Processor
Pérdida semántica en respuestas
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
42
Eduardo Mena "Ontologías y Agentes"
Problemas de los sistemas de los 90’s • Integración estática de
fuentes de datos
– La traducción e integración se hace “a mano” por humanos y cuesta
bastante tiempo
– Generación no automática de la información de enlace • Hay que
definir a mano el camino hacia los datos
– Generación no automática de las relaciones interontología • Hay
que definir a mano las propiedades semánticas entre
ontologías
– Sensible a nuevas ontologías/depósitos de datos • No relaciones
entre los datos (constantes)
– Ej. (tema=“Marte”) (tema=“sistema solar”) • Métodos de
interrogación no adecuados para usuarios finales
– Selección de la(s) ontología(s) para preguntar – Pregunta en DL
¿palabras clave, lenguaje natural?
• Imposibles de aplicar a contextos altamente dinámicos (como la
Web)
43 Eduardo Mena "Ontologías y Agentes"
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)
44
12
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
45 Eduardo Mena "Ontologías y Agentes"
Objetivos de la Web Semántica
• Permitir un procesamiento de preguntas guiado por la semántica –
Obtener sólo lo que el usuario busca
• Descubrir automáticamente información semántica en las ontologías
disponibles en el sistema de información
• Descubrir automáticamente fuentes de datos relevantes
46
Web Semántica
47 Eduardo Mena "Ontologías y Agentes"
Ejemplo de líneas de trabajo: Acceso a datos guiado por la
semántica
• Cjto. de palabras clave pregunta formal (semántica bien definida)
– ¿Significados de cada palabra? pool de ontologías –
¿Desambiguación de una palabra? contexto (el resto de palabras) –
¿Traducción a un lenguaje de representación del conocimiento?
combinaciones según operadores del lenguaje
• Pregunta formal datos – Descubrimiento de ontologías relevantes –
Descubrimiento de fuentes de datos – Aplicación técnicas de
sistemas de información federados
• Procesamiento incremental • Aproximación peer to peer?
48
13
Futuro Inmediato
• Sólo se ha comenzado a caminar – Aún tenemos mucho que
aprender
• Muchos problemas por resolver – Equipos multidisciplinares
• Contexto complejo tecnológicamente – Dificultad para quien
empieza
• La clave para conseguir algunos objetivos: balance entre
velocidad y calidad
49 Eduardo Mena "Ontologías y Agentes"
Sistemas de Agentes Inteligentes
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 51 Eduardo Mena "Ontologías
y Agentes"
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
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ó 53 Eduardo Mena "Ontologías y Agentes"
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 54
Eduardo Mena "Ontologías y Agentes"
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
55 Eduardo Mena "Ontologías y Agentes"
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 56
15
Eduardo Mena "Ontologías y Agentes"
Plataformas de agentes móviles • Aglets
– Buen API para agentes móviles – JDK 1.1 código abierto Java
2
• Voyager – CORBA + movilidad + activación + agentes – Problemas
con los clones
• Grasshopper – Problemas de escalabilidad en el modelo de
comunicación
• Tryllian – Miles de agentes (en la misma máquina) – Más
lento
• SPRINGS – Alta escalabilidad (miles de agentes en distintas
máquinas)
57 Eduardo Mena "Ontologías y Agentes"
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”.
58
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
59 Eduardo Mena "Ontologías y Agentes"
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)
61 Eduardo Mena "Ontologías y Agentes"
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
62
Despliegue de la red de agentes
BS2 BS5
17
Eduardo Mena "Ontologías y Agentes"
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
65 Eduardo Mena "Ontologías y Agentes"
GUIs en Java Swing, HTML y WML
66
ShowPub ShowBibTeX
Eduardo Mena "Ontologías y Agentes" 67 Eduardo Mena "Ontologías y
Agentes" 68
18
Carta a los reyes
distintos entornos (imprevisibles)
• Mejores plataformas de agentes – Más robustas – Para dispositivos
móviles – Para redes inalámbricas (Bluetooth, WiFi) –
Interoperables
69 Eduardo Mena "Ontologías y Agentes"
¿Futuro?
– Papel de las ontologías – DAML OWL ???
– Considerando: – La Web – Nuevos dominios (computación móvil) –
Nueva tecnología software (agentes, OWL, etc.)
– Nuevo gran objetivo: Web semántica
70
Fin de la presentación
Gracias por su atención