13 Marcos: relaciones Permiten conectar los marcos entre sí. Se define su semántica mediante un conjunto de propiedades: dominio rango cardinalidad inversa transitividad composición Se pueden establecer métodos que tienen efecto ante ciertos eventos: if-added: si se establece la relación entre instancias if-removed: si se elimina la relación entre instancias Se puede establecer el comportamiento de la relación respecto al mecanismo de herencia (que atributos permite heredar). 13
14 Marcos: relaciones Etiqueta nombre: dominio: lista de marcos rango: lista de marcos cardinalidad: 1 o N inversa: < nombre> (cardinalidad: 1 o N) transitiva: sí/no (por defecto es no) compuesta: no / descripción de la composición métodos: {if-added / if-removed} < nombre.acción> condiciones de herencia: lista de atributos (por defecto: lista vacía)
Las acciones asociadas a los métodos no tienen parámetros. La expresión < nombre marco>.< nombre relación> devuelve el marco (si la cardinalidad es 1) o la lista de marcos (si es N) con los que está conectado < nombre marco> a través de < nombre relación>. 14
15 Marcos: relaciones Para consultar la cardinalidad se usa la función card(< nombre marco>.< nombre relación>) que devuelve un entero. Relaciones predefinidas: enlace ES-UN (inversa: tiene-por-subclase) transitiva enlace INSTANCIA-DE (inversa: tiene-por-instancia) se puede obtener por composición: INSTANCIA-DE ? ES-UN Funciones bulianas que quedan definidas: atributo?(< marco>): cierto si < marco> posee este atributo. relación?(< marco>): cierto si < marco> está conectado con algún otro marco a través de la relación indicada por la función. relación?(< marco-o>,< marco-d>): cierto si existe una conexión entre < marco-o> y < marco-d> etiquetada con la relación indicada por la función. 15
16 Marcos: herencia La herencia permite obtener en un marco el valor o los valores de un atributo a través de otro marco con el que esta relacionado. En el caso de las relaciones taxonómicas (caso más común) la herencia (de atributos y valores) se da por defecto. En el resto de las relaciones se ha de establecer de manera explícita. Hay atributos no heredables. Ejemplo: tiene-por-instancia Dado un marco es posible que la representación permita heredar un valor a través de múltiples relaciones (herencia múltiple): hay que establecer criterios (ejemplo: camino más corto). 16
17 N-herencia Prioridad a los facets de los atributos Consultar el facet valor del atributo en el marco considerado Si no tiene valor, subir un nivel en la taxonomía i consultar valor Repetir la operación hasta encontrar valor en algún marco superior o bien llegar a la cabeza de la jerarquía En este último caso, volver al marco considerado y considerar valor-por-defecto del atributo y repetir la búsqueda hacia arriba Si tampoco hay éxito, consultar función-para-calcular-valor del atributo 17 V VPD FCV jerarquía de marcos
18 Z-herencia Prioridad a los marcos más cercanos Consultar el facet valor del atributo en el marco considerado Si no tiene valor, consultar valor-por-defecto Si tampoco tiene, consultar función-para-calcular-valor Agotadas las posibilidades del marco considerado, se sube en la jerarquía y se hace lo mismo con el marco padre 18 abuelo padre V VPD FCV marco
19 Herencia simple y múltiple La herencia es simple si las relaciones son taxonómicas en forma de árbol. La herencia es múltiple si: la taxonomía es un grafo (dirigido acíclico) hay otras relaciones (no taxonómicas) que permiten herencia ¡Puede haber conflicto de valores! (obviamente, sólo si hay herencia de atributo y valor) 19
20 Marcos: herencia múltiple
¿Gertrudis vuela? Si considero el camino más corto: no. Pero, ¿si Gallina está sub-clasificado? El algoritmo de distancia inferencial permite establecer cual es el marco del que se ha de heredar. 20
21 Herencia: distancia inferencial Buscar el conjunto de marcos que permiten heredar el valor del atributo ? Candidatos Eliminar de la lista Candidatos todo marco que sea padre de otro de la lista Si el nuevo número de candidatos es: 0 ? No se puede heredar el atributo 1 ? Ese es el valor que se hereda N > 1 ? Problema de herencia múltiple si la cardinalidad del atributo no es N 21
Mapas conceptuales (MCs) Los MCs son una forma de representación del conocimiento concebida en el contexto de las ciencias pedagógicas a finales de la década del 70. Fueron propuestos por Novak et al., y definidos como una técnica que representa, simultáneamente, una estrategia de aprendizaje, un método para captar lo más significativo de un tema y un recurso esquemático para representar un conjunto de significados conceptuales incluidos en una estructura de proposiciones. 22
Mapas conceptuales (MCs) Están compuestos por: nodos asociados a conceptos relacionados mediante enlaces etiquetados por una palabra-enlace, definiendo el tipos de relación que se establece entre ellos proposiciones formadas por dos o más nodos-conceptos relacionados por una palabra-enlace. 23
Mapas conceptuales (MCs) Los elementos de un MC son distribuidos gráficamente y siempre está presente un nodo-concepto como el más inclusivo (concepto-principal). Los MC son un tipo de red semántica más flexible y orientada a ser usada e interpretada por personas.
24
Mapas conceptuales: ejemplo 25
26 Ontologías Una ontología en IA se define como una:
formal explicit representation of a shared understanding of the important concepts in some domain of interest
En filosofía el término ontología se refiere a un concepto más delicado, aunque relacionado:
the study of being as such 26
27 Formalidad Las ontologías son (deberían ser) formales: tienen que ser leíbles por los ordenadores. Nivel de formalidad: de altamente informal: lenguaje natural a rigurosamente formal: términos con semántica formal y axiomas En las ontologías maduras, las descripciones permitidas son sólo las consistentes con un conjunto de axiomas, que determinan su uso. 27
28 Especificación explícita
Los tipos de los conceptos y las restricciones sobre su uso están (deberían estar) definidos explícitamente. Accesibilidad y transparencia: documentación de los detalles técnicos 28
29 Comprensión compartida del conocimiento
Las ontologías contienen (deberían contener) conocimiento consensual, aceptado por un grupo de personas lo más amplio posible. 29
30 Conceptualización
Las ontologías son un modelo abstracto de algún dominio de algún mundo posible. Compromiso común: hacer el mínimo número de afirmaciones posible (sólo las necesarias) sobre el dominio que se está modelando, dejando a los reutilizadores de la ontología la libertad de especializarla e instanciarla tanto como haga falta. 30
¿Por qué son útiles las ontologías? Modelado y uso compartido del conocimiento: comunicación entre personas/agentes con diferentes necesidades y puntos de vistas debidos a contextos diferentes marco unificado dentro de una organización para reducir la confusión conceptual y terminológica interoperabilidad entre sistemas a través de traducciones entre diferentes paradigmas, lenguajes, herramientas informáticas y métodos de modelado ontologías como ínter-lengua integración de ontologías 31
32 ¿Por qué son útiles las ontologías? Ingeniería de sistemas: re-usabilidad Ontologías altamente configurables y bibliotecas de ontologías facilitan la re-usabilidad entre diferentes sistemas de software. fiabilidad Las ontologías formales permiten la comprobación de consistencia, dando lugar a sistemas más fiables. 32
33 Ontologías: ejemplo Conceptos, organizados en taxonomías, enlazados por relaciones, en acuerdo con los axiomas. Axiomas, posiblemente muy generales, p.e.: Árbol no es Árbol de navidad. 33
34 Ingenieros de ontologías Los ingenieros del conocimiento construyen ontologías basadas en conocimiento consensual sobre un dominio. Permiten a un grupo de agentes determinado (usuarios de la ontología) compartir y reutilizar ese conocimiento dentro del área de trabajo seleccionada (el dominio). 34
35 Metodologías Existen y están disponibles varias metodologías para la construcción de ontologías: Mike Uschold Michael Grüninger Asunción Gómez-Pérez John Sowa 35
36 Implementación Uschold: directamente en lenguajes específicos para ontologías (por ejemplo, Ontolingua, LOOM, KIF) Gómez-Pérez: a nivel de conocimiento del dominio, a través de un shell que traduce a Ontolingua Protégé: entorno visual con entrada y salida en OWL 36
37 Amplia gama de aplicaciones Gestión del conocimiento Generación de lenguaje natural Modelado de los procesos de empresa SBCs Navegadores de Internet Interoperabilidad entre sistemas Ingeniería de sistemas: especificación, fiabilidad, reutilización 37
38 Ejemplo: ontología para gestión de aguas residuales Metodología utilizada Determinación de los requerimientos: Utilidad (¿necesidad?) Finalidad Adquisición del conocimiento Conceptualización Lista preliminar de términos principales Entorno de desarrollo Reutilización de otras ontologías Formalización 38
39 Situación inicial Presencia de expertos en varios dominios: IA Ingeniería química Microbiología Informática Uso de diferentes vocabularios No siempre hay una terminología común. No hay reglas sobre cómo usar los términos, ni los sinónimos. 39
40 Objetivos de la ontología Obtener una terminología unificada (pero multilingüe), completa y coherente del dominio de las aguas residuales Ayudar en la diagnosis de situaciones problemáticas relacionadas con aguas residuales Ayudar en la gestión de plantas de tratamiento de aguas residuales 40
41 Adquisición del conocimiento Reutilización de conocimiento existente codificado de manera específica para el dominio en cuestión
Entrevistas con expertos
Análisis de textos 41
42 Conceptualización Criteria followed: easily understandable model reflection of expert knowledge easily extendable knowledge easily integration with other existing ontologies possibility to choose a subset of the knowledge and to use it in other ontologies or applications 42
43 Términos y jerarquía Actuator Body-Of-Water Descriptor Descriptor-Off-Line Descriptor-Qualitative Appearance-Floc Appearance-Surface-Clarifier Descriptor-Quantitative BOD Chlorine Cod Descriptor-On-Line Water-Flow 43
44 Entorno de desarrollo Term hierarchy: Ontolingua because it was a quasi-standard
Axioms: first in Lisp, then in KIF (associated to Ontolingua)
Alternative: Protégé + OWL 44
45 Representaciones Classification tree of concepts: a taxonomy of concepts
Glossary of terms: including concepts, individuals, attributes and axioms
Various representations are predefined and available in the Ontolingua Ontology Server 45
46 Reutilización The ontology is mainly built from scratch.
Two other ontology are partially reused: Frame ontology: its Ontolingua meta-ontology Cyc ontology (Lenat and Guha, 1990): manual encoding of millions of encyclopedic facts (Ontolingua version) 46
47 Re-engineering Frame-ontology: as is
Cyc: little re-engineering to adapt the concepts to the specific domain
No ontology integration (and consistency checking) needed. 47
Arquitectura de la información Frame-ontology Cyc-ontology (Ontolingua version) Wastewater-ontology
49 Términos: detalles The ontology use the English language to describe the world at the highest level. Nevertheless the documentation of each term contains the translation of the term name to Spanish, Catalan and Italian. 49 (Gp:) Documentation: Class Descriptor-Qualitative Synonyms: Dato cualitativo (esp) Dada qualitativa (cat) Dato qualitativo (ita) Qualitative descriptors refer to microscopic observations (e.g.: activated-sludge microbes presence and diversity) and visual information (e.g.: presence of foam in the aeration tank or in the secondary clarifier, water odor, biomass color).
50 Formalización The Ontolingua Ontology Server automatically translates to Lisp.
The translation has been checked and evaluated. 50
51 Conclusiones Success in unifying terminology and as a way of communication between AI researchers and chemical engineers.
Evaluation as a tool of support to diagnosis. 51
Página anterior | Volver al principio del trabajo | Página siguiente |