Lógicas Descriptivas y Ontologías Edna Ruckhaus Universidad Simón Bolívar Dpto. Computación y T.I. Transparencias de Ian Horrocks: http://www.cs.man.ac.uk/~horrocks/Slides/ Trimestre Sep-Dic 2005 - Edna Ruckhaus Agenda Lógicas Descriptivas Ontologías Lenguajes de Ontologías en la Web (OWL) Ejemplo de Modelos Razonamiento sobre Ontologías Trimestre Sep-Dic 2005 - Edna Ruckhaus Lenguajes de Ontologías • Un lenguaje de ontología – usualmente introduce • Conceptos: clases, entidades • Propiedades de los conceptos: atributos, slots, roles. • Relaciones entre conceptos. • Restricciones de integridad – pueden ser • simples: solo conceptos. • frame-based: solo conceptos y propiedades. • logic-based: conceptos, propiedades y restricciones – expresados a traves de diagramas. Trimestre Sep-Dic 2005 - Edna Ruckhaus Diferencias-Ontologías, TaxonomíasModelos de Datos Fuerte Semántica (Logic-Based) Logica Modal Logica de Primer Orden Teoría Local de Dominios Description Logic DAM+OIL, OWL UML Modelos Conceptuales (Frame-Based) RDF/S, F-logic ERE Thesaurus (conceptos tienen un significado) ER Taxonomías (es subclasificacion de) Modelo Relacional Trimestre Sep-Dic 2005 - Edna Ruckhaus Débil Semántica (Simples) Conocimiento Representado en la Ontología-Inferencia Una ontología puede verse como un conjunto de axiomas básicos y es posible inferir nuevos teoremas. • Card(Profesor, Cursar)=(1,3) • "x( x Î Profesor Þ 1 £ |{(x,y,z,j)/ (x,y,z,j) Î Cursar}| • £ 3) "x( x Î Profesor Þ not ($ x1( x1 Î Profesor and x1¹x and x.Carnet=x1.Carnet))) Trimestre Sep-Dic 2005 - Edna Ruckhaus Conocimiento Representado en la Ontología-Inferencia Supongamos que estamos en una institución donde no hay personal administrativo ni obrero, y los profesores no pueden ser estudiantes • Entonces se puede inferir Profesor U Estudiante Í Comunidad Universitaria |Profesor| + |Estudiante| = |Comunidad Universitaria| Trimestre Sep-Dic 2005 - Edna Ruckhaus Ontología en la Lógica de Primer Orden • • • • Una ontología puede ser formalizada como un conjunto de restricciones que deben ser respetadas. La interpretación de una ontología es definida como una colección de todas las estructuras que respetan el conjunto de restricciones impuestas. Desde el punto de vista formal, una ontología corresponde a un conjunto de fórmulas de la Lógica de Primer Orden. Ese conjunto de fórmulas se denominan teoría. Las interpretaciones legales de una ontología son todos los modelos de la teoría de la Lógica de Primer Orden. Trimestre Sep-Dic 2005 - Edna Ruckhaus Ontología-Sistema Axiomático Teoría Teoremas Axiomas Una ontología o teoría se compone de un conjunto de axiomas y reglas deSep-Dic inferencia que caracterizan a un conjunto de teoremas. Trimestre 2005 - Edna Ruckhaus Ontología-Sistema Axiomático Axioma Regla Inferencia Teorema Class(Thing) Dado P,Q se puede inferir P &Q Si P &Q es verdad, entonces P es verdad y Q es verdad Class(Person) Dado P se puede inferir P v Q Si X es un miembro de Class(Parent), entonces X es miembro de Class(Person) Class(Parent) Dado P &Q se puede inferir P Si X es un miembro de Class(Child), entonces X es miembro de Class(Person) Class(Child) P v ¬P Si X es un miembro de Class(Child), entonces NameOf(X,Y) y Y es un string Trimestre Sep-Dic 2005 - Edna Ruckhaus Ontología-Sistema Axiomático Axioma Si SubClass(X,Y), entonces X es un subconjunto de Y SubClass(Person,Thing) SubClass(Parent,Person) SubClass(Child,Person) ParentOf(Parent,Child) Trimestre Sep-Dic 2005 - Edna Ruckhaus Regla Inferencia Teorema Si Person(JS), entonces ¬ParentOf(JS,JS) Ontología-Sistema Axiomático Axioma NameOf(Person,String) AgeOf(Person,Integer) Si X es un miembro de Class(Parent) y Y es un miembro de Class(Child), entonces ¬(X=Y) Trimestre Sep-Dic 2005 - Edna Ruckhaus Regla Inferencia Teorema Cómo Implementar una Ontología? • Prolog • Datalog • Description Logic Trimestre Sep-Dic 2005 - Edna Ruckhaus ¿Qué son Lógicas Descriptivas? • Una familia de formalismos basados en lógica para la Representación de Conocimiento – Describen al dominio en función de conceptos (classes), roles (relationships) e individuos • Se distinguen por: – Semántica formal (model theoretic) • Fragmentos decidibles de FOL – Proveen servicios de inferencia • Procedimientos de decisión sólidos y completos para problemas claves (satisfiability, subsumption) • Sistemas implementados (optimizados) Trimestre Sep-Dic 2005 - Edna Ruckhaus Tbox (esquema) Man ≡ Human ⊓ Male Happy-Father ≡ Man ⊓ ∃ has-child. Female ⊓… Abox (datos) John : Happy-Father <John, Mary> : has-child Trimestre Sep-Dic 2005 - Edna Ruckhaus Interfaz Base de Conocimiento Sistema de Inferencia Arquitectura DL Familia de Lógicas Descriptivas • • DLs son una familia de formalismos basados en lógica para KR Lenguajes particulares se caracterizan por: – Conjunto de constructores para construir conceptos y roles complejos a partir de otros más simples – Conjuntos de axiomas para dar aserciones acerca de conceptos, roles e individuos • ALC es el DL más simple; es proposicionalmente cerrado – Constructores incluyen booleanos and (⊓) , or (⊔ ), not (¬), y – Restricciones acerca de “sucesores” en los roles usando ∃ y ∀ • E.g., concepto que describe “happy fathers” se puede escribir: Man ⊓ ∃hasChild.Female ⊓ ∃hasChild.Male ⊓ ∀hasChild.(Rich ⊔ Happy) Trimestre Sep-Dic 2005 - Edna Ruckhaus Constructores de conceptos y roles en DL • Otros constructores en DLs, incluyen: – Restricciones numéricas (restricciones de cardinalidad) sobre roles, e.g., ≥3 hasChild, ≤1 hasMother – Restricciones numéricas calificadas, e.g., ≥ 2hasChild.Female, ≤1hasParent.Male – Nominales (conceptos singleton), e.g., {Italy} – Dominios concretos (tipos de datos), e.g., hasAge.(≥ 21), earns spends.< – Roles Inversos, e.g., hasChild- (hasParent) – Roles Transitivos, e.g., hasChild* (descendant) – Composición de roles, e.g., hasParent o hasBrother (uncle) Trimestre Sep-Dic 2005 - Edna Ruckhaus Bases de Conocimiento DL • Una base de conocimiento DL K = <T , A> – T (Tbox) es un conjunto de axiomas de la forma: • C ⊑ D (inclusión de concepto) • C ≡ D (equivalencia de concepto) • R ⊑ S (inclusión de rol) • R ≡ S (equivalencia de rol) – A (Abox) es un conjunto de axiomas de la forma: • x ∈ D (instanciación de concepto) • <x,y> ∈ R (instanciación de rol) • Dos tipos de axiomas en Tbox: – “Definitions” • C ⊑ D o C ≡ D donde C es un nombre de concepto • Definiciones pueden ser cíclicas – Axiomas Generales de Inclusión (GCIs) • C ⊑ D donde C es un concepto arbritario Trimestre Sep-Dic 2005 - Edna Ruckhaus Ejemplo Ontología Trimestre Sep-Dic 2005 - Edna Ruckhaus Lenguajes de ontologías Web • Basado en “Frames y reglas. SHOE. Extensión HTML, luego se basó en XML. • Basados en Redes Semánticas y “Frames”. RDF(S) • Basados en “Frames” y Lógicas Descriptivas. DAML, DAML+OIL, OIL, OWL. Trimestre Sep-Dic 2005 - Edna Ruckhaus Lenguajes de Ontologías Web • Lenguajes basados en XML para facilitar la descripción de contneido – RDF → RDF Schema (RDFS) • RDFS se reconoce como un Lenguaje de Ontologías – Classes y properties – Sub/super-classes (y properties) – Range y domain (de properties) • Pero RDFS débil Para describir los recursos en detalle, e.g.: – No hay restricciones de range y domain localizados – No hay restricciones de participación/cardinalidad – No hay properties transitive, inverse o symmetrical • Y RDF(S) tiene una semántica no estándar con “higher order” – Es difícil proveer soporte para razonamiento Trimestre Sep-Dic 2005 - Edna Ruckhaus OWL como DL: Constructores de Clases • Tipos de datos XMLS como clases en ∀P.C and ∃P.C – E.g., ∃hasAge.nonNegativeInteger • Anidamiento de constructores – E.g., Person ⊓ ∃hasChild.(Doctor ⊔ ∃hasChild.Doctor) Trimestre Sep-Dic 2005 - Edna Ruckhaus OWL como DL: Axiomas Trimestre Sep-Dic 2005 - Edna Ruckhaus Semántica OWL DL • Correspondencia OWL a DL equivalente (SHOIN(Dn)): – Facilita proveer servicio de razonamiento (usando sistemas DL) – Se provee semántica bien definida • La semántica DL se define mediante interpretaciones: I = (ΔI, .I), donde – ΔI es el dominio de interpretación (conjunto no vacío) – .I es una función de interpretación que realiza las correspondencias: • Concepto (class) nombre A → subconjunto AI de ΔI • Rol (property) nombre R → relación binaria RI sobre ΔI • Individuo nombre i → iI elemento de ΔI Trimestre Sep-Dic 2005 - Edna Ruckhaus Semántica DL • Función de interpretación .I se extiende a expresiones de conceptos: Trimestre Sep-Dic 2005 - Edna Ruckhaus Ejemplo de Interpretación Δ = {v, w, x, y, z} AI = {v, w, x} BI = {x, y} RI = {(v, w), (v, x), (y, x), (x, z)} AI v w • ¬B= • A⊓B= • • • • ¬A⊔B= ∃RB= ∀RB= ∃ R (∃ R A) = • ∃ R ¬ (A ⊔ B) = • • ≤1RA= ≥1RA= Trimestre Sep-Dic 2005 - Edna Ruckhaus x y z BI Semántica de la Base de Conocimiento • Una interpretación I satisface (modela) un axioma A (I ⊨ A): – I ⊨ C ⊑ D ssi CI ⊆ DI – I ⊨ C ≡ D ssi CI = DI – I ⊨ R ⊑ S ssi RI ⊆ SI – I ⊨ R ≡ S ssi RI = SI – I ⊨ R+ ⊑ R ssi (RI)+ µ RI – I ⊨ x ∈ D ssi xI ∈ DI – I ⊨ <x,y> ∈ R ssi (xI,yI) ∈ RI • I satisface un Tbox T (I ⊨ T ) ssi I satisface cada axioma A en T • I satisface un Abox A (I ⊨ A) ssi I satisface cada axioma A en A • I satisface un KB K (I ⊨ K) ssi I satisface ambos T y A Trimestre Sep-Dic 2005 - Edna Ruckhaus DL vs. BD • DL KB no define un modelo, es un conjunto de restricciones que definen un conjunto de modelos – Si no hay restricciones (KB vacío) significa que cualquier modelo es posible – Más restricciones significa menos modelos – Demasiadas restricciones puede significar que no hay modelo posible (KB inconsistente) • • DBs (y sistemas KR basados en “frames” y reglas) asumen que el DB/KB define un solo modelo Suposición de nombre único • Nombres diferentes se interpretan como individuos diferentes • Suposición mundo cerrado vs. mundo abierto • El dominio consiste solo de los individuos nombrados en el DB/KB Trimestre Sep-Dic 2005 - Edna Ruckhaus Ejemplo de múltiples modelos KB = {} KB = {a:C, b:D, c:C, d:E} KB = {a:C, b:D, c:C, d:E, b:C} KB = {a:C, b:D, c:C, d:E, b:C D ⊑ C} KB = {a:C, b:D, c:C, d:E, b:C D ⊑ C, E ⊑ C} KB = {a:C, b:D, c:C, d:E, b:C D ⊑ C, E ⊑ C, d:¬ C} Trimestre Sep-Dic 2005 - Edna Ruckhaus I1: Δ = {v, w, x, y, z} CI = {v, w, y} DI = {x, y} EI = {z} aI = v bI = x cI = w dI = y I3: Δ = {v, w, x, y, z} CI = {v, w, y} DI = {x, y} EI = {z} aI = v bI = y cI = w dI = z I2: Δ = {v, w, x, y, z} CI = {v, w, y} DI = {x, y} EI = {z} aI = v bI = x cI = w dI = z I4: Δ = {v, w, x, y, z} CI = {v, w, x, y} DI = {x, y} EI = {z} aI = v bI = x cI = y dI = y Ejemplo de Un Modelo KB = {} I: Δ = {} KB = {a:C, b:D, c:C, d:E} I: Δ = {a, b, c, d} CI = {a, c} DI = {b} EI = {d} aI = a bI = b cI = c dI = d KB = {a:C, b:D, c:C, d:E, b:C} KB = {a:C, b:D, c:C, d:E, b:C E ⊑ C} Trimestre Sep-Dic 2005 - Edna Ruckhaus I: Δ = {a, b, c, d} I: Δ = {a, b, c, d} CI = {a, b, c} DI = {b} EI = {d} aI = a bI = b cI = c dI = d CI = {a, b, c, d} DI = {b} EI = {d} aI = a bI = b cI = c dI = d Tareas de Inferencia • Conocimiento está correcto (captura intuiciones) – C incluye D w.r.t. K ssi para cada modelo I de K, CI ⊆ DI • Conocimiento es mínimamente redundante (no hay sinónimos) – C es equivalente a D w.r.t. K ssi para cada modelo I de K, CI = DI • Conocimiento es significativo(clases pueden tener instancias) – C es satisfiable w.r.t. K ssi existe algún modelo I de K s.t. CI ≠ ∅; • Consulta conocimiento – x es una instancia de C w.r.t. K ssi para cada modelo I de K, xI ∈ CI – • <x,y> es una instancia de R w.r.t. K ssi para, cada modelo I de K, (xI,yI) ∈ RI Consistencia del KB – Un KB K es consistente ssi existe algún modelo I de K Trimestre Sep-Dic 2005 - Edna Ruckhaus ¿Por qué razonamiento sobre ontologías? • Dado el papel clave de las ontologías en muchas aplicaciones, es importante proveer herramientas y servicios para ayudar a usuarios a: – Diseñar y mantener ontologías de calidad, e.g.: • Significativas — Todas las clases deben poder tener instancias • Correcta — Capturan la intuición de los expertos en el dominio • Mínimamente redundante — sin sinónimos no intencionales • Axiomatización detallada — descripciones detalladas – Contestar consultas acerca de las clases e instancias de las ontologías, e.g.: • Encontrar clases más general/específica • Recuperar los individuos/tuplas que satisfacen una consulta • Recuperar las clases más específicas a las cuales pertenece un individuo (realization) Trimestre Sep-Dic 2005 - Edna Ruckhaus Razonamiento utilizando técnicas DL • Tareas de razonamiento reducibles a KB (un)satisfiability – C ⊑ D ssi C ⊓ ¬D) es not satisfiable – C ≡ D ssi C ⊑ D y D ⊑ C – C y D son disjuntos ssi C ⊓ D es not satisfiable Trimestre Sep-Dic 2005 - Edna Ruckhaus Razonamiento utilizando técnicas DL • Sistemas DL actuales usan algoritmos tableaux (muy optimizados) para decidir satisfiability (consistency) de KB • Algoritmos Tableaux tratan de construir un ejemplo concreto (modelo) consistente con axiomas KB: – Comienzan a partir de hechos ground (Axiomas ABox) – Construyen el modelo mediante: • Descomposición sintáctica utilizando reglas de expansión tableaux • Infieren restricciones sobre (elementos del) modelo Trimestre Sep-Dic 2005 - Edna Ruckhaus Qué tiene Description Logic que no tiene Datalog? • • • • • Negación. Disjunción. Cuantificador universal en el cuerpo de una regla. Cuantificador existencial en la cabeza de una regla. Restricciones de cuantificación y cardinalidad. Trimestre Sep-Dic 2005 - Edna Ruckhaus Qué tiene Datalog que no tiene Description Logic ? • • Predicados n-arios. Reglas que rompen el modelo de árbol: – tio(x,y):-padre(x,z),hermano(z,y) Trimestre Sep-Dic 2005 - Edna Ruckhaus Qué tiene Datalog y Description Logic ? • • • • • • Conjunción en la cabeza de las reglas. Cuantificación universal en la cabeza de las reglas. Cuantificación existencial en el cuerpo de las reglas. Predicados unarios y binarios. Predicados/roles con inversas. Predicados transitivos, simétricos Trimestre Sep-Dic 2005 - Edna Ruckhaus