Inteligencia Artificial Representacin del conocimiento Primavera 2009 profesor

  • Slides: 114
Download presentation
Inteligencia Artificial Representación del conocimiento Primavera 2009 profesor: Luigi Ceccaroni

Inteligencia Artificial Representación del conocimiento Primavera 2009 profesor: Luigi Ceccaroni

Conocimiento y razonamiento • Las personas conocen cosas y realizan razonamientos de forma automática.

Conocimiento y razonamiento • Las personas conocen cosas y realizan razonamientos de forma automática. • ¿Y los agentes artificiales? • Conocimiento y razonamiento en forma de estructuras de datos y algoritmos. • Para que el conocimiento sea accesible para los ordenadores, se necesitan sistemas basados en el conocimiento (SBCs). 2

Conocimiento y razonamiento • En los SBCs se usan lenguajes declarativos: – Expresiones más

Conocimiento y razonamiento • En los SBCs se usan lenguajes declarativos: – Expresiones más cercanas a los leguajes humanos • Los SBCs expresan el conocimiento en una forma que tanto los humanos como los ordenadores puedan entender. • Esta parte de la asignatura analiza cómo expresar el conocimiento sobre el mundo 3 real en una forma computacional.

Logic, ontology and computation • Knowledge representation is an interdisciplinary subject that applies theories

Logic, ontology and computation • Knowledge representation is an interdisciplinary subject that applies theories and techniques from three fields: – Logic provides the formal structure and rules of inference. – Ontology defines the kinds of things that exist in the application domain. – Computation supports the applications that distinguish knowledge representation from pure philosophy. 4

Inferencia en lógica • Se quieren conseguir algoritmos que puedan responder a preguntas expresadas

Inferencia en lógica • Se quieren conseguir algoritmos que puedan responder a preguntas expresadas en forma lógica. • Tres grandes familias de algoritmos de inferencia: – encadenamiento hacia delante y sus aplicaciones en los sistemas de producción – encadenamiento hacia atrás y los sistemas de programación lógica – sistemas de demostración de teoremas basados en la resolución 5

Sistemas de producción • La representación mediante formalismos lógicos es declarativa pero puede representar

Sistemas de producción • La representación mediante formalismos lógicos es declarativa pero puede representar procedimientos. • Se describen cuales son los pasos para resolver un problema como una cadena de deducciones. • La representación se basa en dos elementos: – hechos: proposiciones o predicados – reglas: formulas condicionales

Sistemas de producción • Un problema queda definido por: – Base de hechos: que

Sistemas de producción • Un problema queda definido por: – Base de hechos: que describen el problema concreto. – Base de reglas: que describen los mecanismos de razonamiento que permiten resolver problemas. – Motor de inferencia: que ejecuta las reglas y obtiene una cadena de razonamiento que soluciona el problema.

Hechos: terminología • Base de hechos (BH): – Memoria de trabajo – Memoria a

Hechos: terminología • Base de hechos (BH): – Memoria de trabajo – Memoria a corto plazo – Aserciones • Ejemplos: – x es un gato – x es un animal doméstico

Reglas: terminología Si – condiciones – antecedentes – premisas entonces - acciones - consecuentes

Reglas: terminología Si – condiciones – antecedentes – premisas entonces - acciones - consecuentes - conclusiones • Base de reglas: – Base de conocimiento (BC) – Memoria a largo plazo – Implicaciones • Ejemplo: Si x es un gato entonces x es un animal doméstico

Motor de inferencia: terminología • El motor de inferencia o mecanismo de control está

Motor de inferencia: terminología • El motor de inferencia o mecanismo de control está compuesto de dos elementos: – Interprete de reglas o mecanismo de inferencia • Mecanismo de razonamiento que determina qué reglas de la BC se pueden aplicar para resolver el problema, y las aplica – Estrategia de control o estrategia de resolución de conflictos • Función del motor de inferencia: – Ejecutar acciones para resolver el problema (objetivo) a partir de un conjunto inicial de hechos y eventualmente a través de una interacción con el usuario – La ejecución puede llevar a la deducción de nuevos hechos.

Motor de inferencia • Fases del ciclo básico: 1. Detección (filtro): • Interprete de

Motor de inferencia • Fases del ciclo básico: 1. Detección (filtro): • Interprete de reglas: Obtención, desde la BC, del conjunto de reglas aplicables a una situación determinada (estado) de la BH – formación del conjunto de conflictos 2. Selección: • Reglas pertinentes ¿Qué regla? Estrategia de control: Resolución de conflictos – selección de la regla a aplicar

Motor de inferencia • Fases del ciclo básico: 3. Aplicación • Aplicación de la

Motor de inferencia • Fases del ciclo básico: 3. Aplicación • Aplicación de la regla sobre una instanciación de les variables: modificación de la memoria de trabajo 4. Vuelta al punto 1, o parada si el problema está resuelto • Si no se ha encontrado una solución y no hay reglas aplicables: fracaso.

1. Detección • Construcción del conjunto de reglas aplicables • El intérprete de reglas

1. Detección • Construcción del conjunto de reglas aplicables • El intérprete de reglas realiza los cálculos necesarios para obtener las instanciaciones que son posibles en cada estado de resolución del problema (comparación o matching). • Una regla puede instanciarse más de una vez, caso de existir variables que lo permitan.

2. Selección • Las reglas son o no aplicadas dependiendo de la estrategia de

2. Selección • Las reglas son o no aplicadas dependiendo de la estrategia de control: – estrategia fija – estrategia dinámica prefijada – estrategia guiada por meta-reglas • Selección de la “mejor” instanciación • Posible combinación de criterios

2. Selección Ejemplos de estrategia de control: – – – 1ª regla por orden

2. Selección Ejemplos de estrategia de control: – – – 1ª regla por orden en la base de conocimiento la regla más/menos utilizada la regla más específica (con más literales) / más general la regla que tenga el grado de certeza más alto la instanciación que satisfaga los hechos: • más prioritarios • más antiguos (instanciación más antigua) • más nuevos (instanciación más reciente) – aplicación de todas las reglas (sólo si se quieren todas las soluciones posibles) – la regla usada más recientemente – meta-reglas, que indican dinámicamente como seleccionar las reglas a aplicar

3. Aplicación • Ejecución de la regla ⇒ – Modificación de la base de

3. Aplicación • Ejecución de la regla ⇒ – Modificación de la base de hechos (en el razonamiento hacia delante) – Nuevos cálculos, nuevas acciones, preguntas al usuario – Nuevos sub-objetivos (en el razonamiento hacia atrás) • Propagación de las instanciaciones • Propagación del grado de certeza • El proceso de deducción acaba cuando: – se encuentra la conclusión (el objetivo) buscado ⇒ éxito – no queda ninguna regla aplicable ⇒ éxito? / fracaso?

Tipos de razonamiento • Deductivo, progresivo, encadenamiento hacia delante, dirigido por hechos – evidencias,

Tipos de razonamiento • Deductivo, progresivo, encadenamiento hacia delante, dirigido por hechos – evidencias, síntomas, datos ⇒ conclusiones • Inductivo, regresivo, encadenamiento hacia atrás, dirigido por objetivos – conclusiones ⇒ datos, evidencias, síntomas • Mixto, encadenamiento híbrido

Encadenamiento hacia delante • Basado en modus ponens: A, A⇒B |- B • La

Encadenamiento hacia delante • Basado en modus ponens: A, A⇒B |- B • La base de hechos (BH) se inicializa con los hechos conocidos inicialmente. • Se obtienen las consecuencias derivables de la BH: – se comparan los hechos de la BH con la parte izquierda de las reglas; se seleccionan las reglas aplicables: las que tienen antecedentes conocidos (que están en la BH); – las nuevas conclusiones de las reglas aplicadas se añaden a la BH (hay que decidir cómo); – se itera hasta encontrar una condición de finalización.

Encadenamiento hacia delante • Problemas: – No focaliza en el objetivo – Explosión combinatoria

Encadenamiento hacia delante • Problemas: – No focaliza en el objetivo – Explosión combinatoria • Ventajas: – Deducción intuitiva – Facilita la formalización del conocimiento al hacer un uso natural del mismo • Ejemplo de lenguaje: CLIPS

Encadenamiento hacia atrás • Basado en el método inductivo: – guiado por un objetivo

Encadenamiento hacia atrás • Basado en el método inductivo: – guiado por un objetivo que es la conclusión que se trata de validar reconstruyendo la cadena de razonamiento en orden inverso. • Cada paso implica nuevos sub-objetivos: hipótesis que han de validarse.

Encadenamiento hacia atrás • Funcionamiento: – se inicializa la BH con un conjunto inicial

Encadenamiento hacia atrás • Funcionamiento: – se inicializa la BH con un conjunto inicial de hechos; – se inicializa el conjunto de hipótesis (CH) con los objetivos a verificar; – mientras existan hipótesis a validar en CH se escoge una de ellas y se valida: • se comparan los hechos de la BH y la parte derecha de las reglas con las hipótesis; • si una hipótesis está en BH eliminarla de CH; • si no: buscar reglas que tengan como conclusión la hipótesis; seleccionar una y añadir las premisas a CH.

Encadenamiento hacia atrás • El encadenamiento hacia atrás es un tipo de razonamiento dirigido

Encadenamiento hacia atrás • El encadenamiento hacia atrás es un tipo de razonamiento dirigido por el objetivo. • Sólo se considera lo necesario para la resolución del problema. • El proceso de resolución consiste en la exploración de un árbol. • Ejemplo de lenguaje: Prolog – W. F. Clocksin y C. S. Mellish. Programming in Prolog: Using the ISO Standard. Springer, 2003 (primera edición de 1981).

Prolog: lenguaje de programación lógica • Programa Prolog: – – conjunto de aserciones lógicas

Prolog: lenguaje de programación lógica • Programa Prolog: – – conjunto de aserciones lógicas cada aserción es una cláusula de Horn proceso de comparación: unificación el orden de las aserciones (reglas) es significativo • Ejemplo – gato (bufa). – animaldomestico (X) : - gato (X). – animaldomestico (X) : - pequeño (X), conplumas (X). • p → q ⇔ q : - p • Consultas: ? - predicado. • La negación se representa con la falta de la aserción correspondiente: asunción de mundo cerrado.

Cláusula de Horn • De Wikipedia: Las cláusulas de Horn (instrucciones ejecutables de PROLOG)

Cláusula de Horn • De Wikipedia: Las cláusulas de Horn (instrucciones ejecutables de PROLOG) tienen el siguiente aspecto: hija (*A, *B) : - mujer (*A), padre (*B, *A). que podría leerse así: "A es hija de B si A es mujer y B es padre de A". Obsérvese que, en PROLOG, el símbolo : - separa la conclusión de las condiciones. En PROLOG, las variables se escriben comenzando con un asterisco. Todas las condiciones deben cumplirse simultáneamente para que la conclusión sea válida. Por tanto, la coma que separa las distintas condiciones es equivalente a la conjunción copulativa (en algunas versiones de PROLOG se sustituye la coma por el símbolo &). La disyunción, en cambio, no se representa mediante símbolos especiales, sino definiendo reglas nuevas, como la siguiente: hija (*A, *B) : - mujer (*A), madre (*B, *A). que podría leerse así: "A es hija de B si A es mujer y B es madre de A". Cláusulas con como mucho un literal positivo.

Encadenamiento híbrido • Partes de la cadena de razonamiento que conduce de los hechos

Encadenamiento híbrido • Partes de la cadena de razonamiento que conduce de los hechos a los objetivos se construyen deductivamente y otras partes inductivamente: exploración bi-direccional • El cambio de estrategia suele llevarse a cabo a través de meta-reglas. Ejemplos: – función del número de estados iniciales y finales – función de la dirección de mayor ramificación – función de la necesidad de justificar el proceso de razonamiento • Se evita la explosión combinatoria del razonamiento deductivo.

Factores para decidir el sentido del encadenamiento • Número de estados iniciales y finales

Factores para decidir el sentido del encadenamiento • Número de estados iniciales y finales – Preferible del conjunto más pequeño hacia el más grande • Factor de ramificación – Preferible en el sentido del factor más pequeño • Necesidad de justificar el proceso de razonamiento – Preferible el sentido de razonamiento habitual del usuario

Comparación (matching) • Es más complicada en el razonamiento hacia delante. – Si las

Comparación (matching) • Es más complicada en el razonamiento hacia delante. – Si las condiciones de una regla se cumplen, una vez aplicada se puede entrar en un ciclo. • Existen mecanismos eficientes de comparación y selección que evitan repasar todas las reglas de la BC: – OPS-5 usa el algoritmo RETE – Prolog indexa las cláusulas según los predicados

Bibliografía complementaria • J. F. Sowa. Knowledge Representation. Brooks/Cole, 2000. • W. F. Clocksin

Bibliografía complementaria • J. F. Sowa. Knowledge Representation. Brooks/Cole, 2000. • W. F. Clocksin y C. S. Mellish. Programming in Prolog: Using the ISO Standard. Springer, 2003 (primera edición de 1981).

Hacia las ontologías • El conocimiento ha de permitir guiar a los mecanismos de

Hacia las ontologías • El conocimiento ha de permitir guiar a los mecanismos de IA para obtener una solución más eficiente: – ¿Cómo escoger el formalismo que nos permita hacer una traducción fácil del mundo real a la representación? – ¿Cómo ha de ser esa representación para que pueda ser utilizada de forma eficiente? 29

Información y conocimiento • Llamaremos información al conjunto de datos básicos, sin interpretar, que

Información y conocimiento • Llamaremos información al conjunto de datos básicos, sin interpretar, que se usan como entrada del sistema: – los datos numéricos que aparecen en una analítica de sangre – los datos de los sensores de una planta química • Llamaremos conocimiento al conjunto de datos que modelan de forma estructurada la experiencia que se tiene sobre un cierto dominio o que surgen de interpretar los datos básicos: – la interpretación de los valores de la analítica de sangre o de los sensores de la planta química para decir si son normales, altos o bajos, preocupantes, peligrosos. . . – el conjunto de estructuras de datos y métodos para diagnosticar a pacientes a partir de la interpretación del análisis de sangre, o para ayudar en la toma de decisiones de qué hacer en la planta química 30

Información y conocimiento • Los sistemas de IA necesitan diferentes tipos de conocimiento que

Información y conocimiento • Los sistemas de IA necesitan diferentes tipos de conocimiento que no suelen estar disponibles en bases de datos y otras fuentes clásicas de información: – Conocimiento sobre los objetos en un entorno y posibles relaciones entre ellos – Conocimiento difícil de representar de manera sencilla, como intencionalidad, causalidad, objetivos, información temporal, conocimiento que para los humanos es de sentido común • Intuitivamente podemos decir que: Conocimiento = información + interpretación 31

¿Qué es una representación del conocimiento (RC)? Representación del conocimiento o esquema de representación,

¿Qué es una representación del conocimiento (RC)? Representación del conocimiento o esquema de representación, Davis et al. (MIT), 1993: 1. Un substituto de lo que existe en el mundo real o imaginario. 2. Un conjunto de cometidos ontológicos: ¿En qué términos hay que pensar acerca del mundo? 3. Una teoría fragmentaria del razonamiento inteligente: ¿Qué es la inteligencia? ¿Qué se puede inferir de lo que se conoce? ¿Qué se debería inferir de lo que se conoce? (¿Qué inferencias son recomendadas? ) 4. Un medio para la computación eficiente: ¿Cómo se debería organizar la información para facilitar la manera de pensar y razonar? 5. Un medio de expresión humana: Un lenguaje que las personas usan para hablar entre ellas y con las máquinas.

[1] Es un substituto • Es un substituto de los objetos del mundo real

[1] Es un substituto • Es un substituto de los objetos del mundo real o imaginario. • Las operaciones sobre la RC substituyen acciones en el mundo. • El mismo razonamiento es un substituto de la acción. • Inversamente, las acciones pueden sustituir el razonamiento.

Preguntas • ¿Un substituto de qué? → semántica • ¿Hasta que punto exacto como

Preguntas • ¿Un substituto de qué? → semántica • ¿Hasta que punto exacto como substituto? → fidelidad – Más fidelidad no es automáticamente mejor – La fidelidad perfecta es imposible • Las mentiras son inevitables • Las inferencias incorrectas son inevitables

Terminología y perspectiva • Inferencia = obtención de nuevas expresiones desde expresiones previas •

Terminología y perspectiva • Inferencia = obtención de nuevas expresiones desde expresiones previas • Tecnologías de representación del conocimiento (TRCs): – Lógica – Reglas – Marcos – Redes semánticas – Ontologías –…

[2] Conjunto de cometidos ontológicos (COs) • Los substitutos son inevitablemente imperfectos → La

[2] Conjunto de cometidos ontológicos (COs) • Los substitutos son inevitablemente imperfectos → La selección de una RC inevitablemente hace un CO – Determina lo que se puede conocer, enfocando una parte del mundo y desenfocando las otras • El cometido ocurre incluso al nivel de las técnicas de representación del conocimiento (TRCs) – Diagnosis en forma de reglas vs. marcos • “An ontological commitment is an agreement to use a vocabulary (i. e. , ask queries and make assertions) in a way that is consistent (but not complete) with respect to theory specified by an ontology. We build agents that commit to ontologies. We design ontologies so we can share knowledge with and among these agents. ” – Tom Gruber <gruber@ksl. stanford. edu>

[3] Fragmento de una teoría de razonamiento inteligente • ¿Cuáles son todas las inferencias

[3] Fragmento de una teoría de razonamiento inteligente • ¿Cuáles son todas las inferencias que está permitido hacer? • ¿ Cuáles inferencias están especialmente impulsadas?

¿Cuáles son las inferencias que está permitido hacer? • Ejemplos – Lógica formal clásica:

¿Cuáles son las inferencias que está permitido hacer? • Ejemplos – Lógica formal clásica: inferencias bien fundamentadas – Reglas: inferencias plausibles – Ontologías: inferencia con valores por defecto • Estilos de respuestas – Precisas, formuladas en términos de un lenguaje formal – Imprecisas, no basadas en un lenguaje formal • Utilidad del pluralismo

¿Qué inferencias están especialmente impulsadas? • Ejemplos – Ontologías: propagación de valores, enlaces –

¿Qué inferencias están especialmente impulsadas? • Ejemplos – Ontologías: propagación de valores, enlaces – Reglas: encadenamiento, asociaciones – Lógica: proposiciones subordinadas (lemas), grafos de conexión • Explosión combinatoria – Necesidad de guía sobre lo que se debería hacer, no sólo lo que se puede hacer

[4] Medio para la computación pragmáticamente eficiente • Razonar con una RC significa hacer

[4] Medio para la computación pragmáticamente eficiente • Razonar con una RC significa hacer algún tipo de computación. • ¿Cómo se puede organizar la información para facilitar el razonamiento? • Ejemplos: – Marcos, ontologías: triggers, jerarquías taxonómicas – Lógica: theorem provers de grafos de conexión

[5] Medio de expresión y comunicación • ¿Cómo se expresan las personas acerca del

[5] Medio de expresión y comunicación • ¿Cómo se expresan las personas acerca del mundo? • ¿Cómo se comunican las personas entre ellas y con el sistema de razonamiento? • RC como medio de expresión: – ¿Cómo es de general, preciso? ¿Proporciona una expresividad adecuada? • RC como medio de comunicación: – ¿Cómo es de transparente? ¿Los humanos pueden entender lo que se está diciendo? – ¿Se pueden generar las expresiones que interesan?

¿Qué debería ser una RC? • Los cinco roles tienen importancia. • Los roles

¿Qué debería ser una RC? • Los cinco roles tienen importancia. • Los roles caracterizan el núcleo de una representación. • Hay que tenerlos en cuenta cuando se crea una RC. • Cada RC es sólo una de muchas posibles aproximaciones a la realidad.

¿Cómo debería ser una RC? • Pragmática en su visión de validez y eficiencia

¿Cómo debería ser una RC? • Pragmática en su visión de validez y eficiencia • Pluralista en la definición de las inferencias posibles • Efectiva en recomendar inferencias y organizar la información • Efectiva como medio de comunicación • Capaz de capturar la riqueza del mundo natural

RC desde el punto de vista informático • Estructuras de datos: representan el dominio

RC desde el punto de vista informático • Estructuras de datos: representan el dominio y el problema de manera estática. • Procedimientos: manipulan las estructuras de manera dinámica: – Operaciones: procedimientos para crear, modificar o destruir las representaciones o sus elementos. – Predicados: procedimientos para acceder a campos concretos de información.

Tipos de conocimiento • Procedimental: funciones, reglas de producción, lenguajes de programación convencionales •

Tipos de conocimiento • Procedimental: funciones, reglas de producción, lenguajes de programación convencionales • Declarativo (o no procedimental): lógica – Pero la lógica puede representar el mismo tipo de procedimientos de un lenguaje de programación. (¡!) – Diferencia primaria: la lógica requiere relaciones o predicados explícitos para expresar la secuencia, mientras que los lenguajes procedimentales dependen de la secuencia implícita en la estructura del programa. 45

Conocimiento declarativo • Conocimiento relacional simple – Conjunto de relaciones del mismo tipo que

Conocimiento declarativo • Conocimiento relacional simple – Conjunto de relaciones del mismo tipo que las de una base de datos • Conocimiento heredable – Estructuración jerárquica – Relaciones es-un (clase-clase), instancia-de (claseinstancia) – Herencia de propiedades y valores • Herencia simple y múltiple • Valores por defecto • Conocimiento inferible – Descripción vía lógica tradicional – Ejemplo de uso: en la resolución

Nivel de granularidad • ¿A qué nivel de detalle se tiene que representar el

Nivel de granularidad • ¿A qué nivel de detalle se tiene que representar el mundo? • Primitivas – Ej. : relación de parentesco – Primitivas: madre, padre, hijo, hija, hermano, hermana – “Bruno es abuelo de Kora” – “Iain es primo de Ricardo” • Si la representación es de muy bajo nivel, las inferencias son muy simples, pero ocupan mucho espacio.

El frame problem Nihil omnino fit sine aliqua ratione Nothing at all can happen

El frame problem Nihil omnino fit sine aliqua ratione Nothing at all can happen without some reason • Ejemplo: – El semáforo se pone verde cada minuto par. – El semáforo se pone rojo cada minuto impar. • Persistencia – Un programa puede determinar qué pasa en los puntos de tiempo discretos en que el semáforo cambia de color. – Pero se necesita más información para determinar qué pasa en los intervalos entre cambios de color.

El frame problem • La declaración en castellano que “el semáforo se queda en

El frame problem • La declaración en castellano que “el semáforo se queda en verde” o “en rojo” no es necesariamente capturada por los axiomas de un programa. • Se necesitan dos axiomas de persistencia adicionales: – Son una manera engorrosa de decir algo que debería ser obvio. – Desafortunadamente, los ordenadores no reconocen lo obvio, a menos que no se les diga explícitamente cómo. – Estos axiomas son la solución de un caso especial del más general frame problem.

El frame problem • La aproximación general al frame problem se basa en el

El frame problem • La aproximación general al frame problem se basa en el principio de razón suficiente de Leibniz: Nothing at all can happen without some reason – Es un axioma de meta-nivel que se usa para generar uno o más axiomas de nivel más bajo para cada ejemplo concreto. • Implica que el color del semáforo debería quedarse igual a menos que no haya alguna razón para que cambie.

Historia de la representación del conocimiento • Los bloques de construcción primarios para cualquier

Historia de la representación del conocimiento • Los bloques de construcción primarios para cualquier esquema de representación del conocimiento son las categorías. • Se considerará la evolución desde redes semánticas a marcos a ontologías. • Se considerarán también los mapas conceptuales. 51

Redes semánticas • Históricamente, las redes semánticas proporcionan: – una ayuda gráfica para visualizar

Redes semánticas • Históricamente, las redes semánticas proporcionan: – una ayuda gráfica para visualizar una base de conocimiento – algoritmos eficientes para inferir propiedades de un objeto en base a su pertenencia a una categoría. 52

Redes semánticas • Charles S. Peirce (1909) desarrolló los grafos existenciales como el primer

Redes semánticas • Charles S. Peirce (1909) desarrolló los grafos existenciales como el primer formalismo de redes semánticas usando lógica moderna. • Ross Quillian (1961) inició el trabajo con las redes semánticas dentro del campo de la IA. 53

Redes semánticas • Una red semántica es un grafo donde: – los nodos representan

Redes semánticas • Una red semántica es un grafo donde: – los nodos representan conceptos – los arcos (dirigidos) representan relaciones entre conceptos • Mecanismos de razonamiento específicos permiten responder a preguntas sobre la representación: – ¿Están relacionados conceptos? – ¿Que relaciona dos conceptos? – ¿Cuál es el concepto mas cercano que 54 relaciona dos conceptos?

Marcos • Un artículo influyente de Marvin Minsky (1975) presentó una nueva versión de

Marcos • Un artículo influyente de Marvin Minsky (1975) presentó una nueva versión de las redes semánticas: los marcos. • Un marco era una representación de un objeto o categoría o concepto, con atributos y relaciones con otros objetos o categorías o conceptos. • El artículo fue criticado por ser un conjunto de ideas recicladas desarrolladas en el campo de la programación orientada a objetos, como la herencia y el uso de valores por defecto. 55

Marcos • A los marcos se asocia normalmente una parte procedimental. • Las relaciones

Marcos • A los marcos se asocia normalmente una parte procedimental. • Las relaciones y atributos, y no solo las categorías, tienen una estructura que permite describir su semántica. • Ejemplo de marco: – Arteria • superclases: Vaso sanguíneo • pared: Muscular • forma: 56

Marcos • Un marco está generalmente dividido en: – una parte declarativa (atributos o

Marcos • Un marco está generalmente dividido en: – una parte declarativa (atributos o slots) – una procedimental (métodos o demons) • La parte procedimental permite obtener más información o hacer cálculos sobre sus características o las relaciones que pueda tener con otros marcos. • La descripción de los atributos también está estructurada: un atributo puede tener propiedades (facets). • En el caso más general se pueden tener taxonomías de atributos. 57

Marcos • Las relaciones poseen una descripción formal que establece su semántica y su

Marcos • Las relaciones poseen una descripción formal que establece su semántica y su funcionamiento. • Dividimos las relaciones en dos simples clases: – taxonómicas: • enlace ES-UN (subclase/clase) • enlace INSTANCIA-DE (instancia/clase) – no taxonómicas 58

Marcos • Los atributos poseen un conjunto de propiedades que permiten establecer su semántica:

Marcos • Los atributos poseen un conjunto de propiedades que permiten establecer su semántica: – dominio – rango – cardinalidad – valor por defecto – métodos –. . . • Permiten definir procedimientos de manera que se realicen cálculos bajo ciertos eventos (a través de los métodos). 59

Marcos • Los métodos pueden ser: – if-needed (se activan al consultar el atributo);

Marcos • Los métodos pueden ser: – if-needed (se activan al consultar el atributo); – if-added (se activan al asignar valor al atributo); – if-removed (se activan al borrar el valor del atributo); – if- modified (se activan al modificar el valor del atributo). • Se puede declarar como el mecanismo de herencia afecta a los atributos. 60

Marcos: atributos • Etiqueta – – – – – nombre: valor: dominio: lista de

Marcos: atributos • Etiqueta – – – – – nombre: valor: dominio: lista de marcos donde puede aparecer rango (tipo de valores que admite): lista, clase… cardinalidad máxima: cardinalidad mínima (si es ≥ 1, el atributo es obligatorio): valor-por-defecto (a usar si no hay valor): función para calcular valor: métodos (funciones con activación condicionada): condiciones de herencia (atributo + valor): sí/no (por defecto: relaciones taxonómicas = sí; otras = no) • Para acceder al valor de un atributo se usa la sintaxis: <nombre marco>. <nombre atributo> (valor o lista de 61 valores)

Marcos: ejemplo de atributo • Edad – – – – – nombre: Edad valor:

Marcos: ejemplo de atributo • Edad – – – – – nombre: Edad valor: dominio (lista de marcos donde puede aparecer): Persona rango (tipo de valores que admite): entero [0. . 140]; joven/viejo cardinalidad máxima: 1 cardinalidad mínima (si es ≥ 1, el atributo es obligatorio): 0 valor-por-defecto (a usar si no hay valor): función para calcular valor: métodos (funciones con activación condicionada): condiciones de herencia (atributo + valor): sí/no (por defecto: relaciones taxonómicas = sí; otras = no) • Para acceder al valor del atributo se usa la sintaxis: 62 Persona. edad

Marcos: métodos • Son acciones o funciones que permiten obtener información sobre el mismo

Marcos: métodos • Son acciones o funciones que permiten obtener información sobre el mismo marco u otros marcos. • Los métodos pueden invocarse desde marcos abstractos (clases) o marcos concretos (instancias). • Pueden ser heredables (se permite invocarlos en los descendientes) o no heredables (exclusivos del marco donde están definidos). • A veces, pueden ser invocados con parámetros. • Ejemplo de método if-modified: – Si Deunan. edad tenía valor 28 y se modifica a 32, se activa un método que cambia el valor del atributo Deunan. ganas-de-casarse de 1 a 5. 63

Marcos: relaciones • Permiten conectar los marcos entre sí. • Se define su semántica

Marcos: relaciones • Permiten conectar los marcos entre sí. • Se define su semántica mediante un conjunto de propiedades: – dominio – rango – cardinalidad – inversa – transitividad 64 – composición …

Marcos: relaciones • Se pueden establecer métodos que tienen efecto ante ciertos eventos: –

Marcos: relaciones • 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). 65

Marcos: relaciones • Etiqueta – nombre: – dominio: lista de marcos – rango: lista

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) 66

Marcos: relaciones • Las acciones asociadas a los métodos no tienen parámetros. • La

Marcos: relaciones • 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>. 67

Marcos: relaciones • Para consultar la cardinalidad se usa la función card(<nombre marco>. <nombre

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-porinstancia) • se puede obtener por composición: INSTANCIA-DE ⊕ ES-UN 68

Marcos: relaciones • Funciones booleanas quedan definidas: – atributo? (<marco>): cierto si <marco> posee

Marcos: relaciones • Funciones booleanas 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. 69

Marcos: herencia • La herencia permite obtener en un marco el valor o los

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). 70

Herencia simple y múltiple • La herencia es simple si las relaciones son taxonómicas

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) 71

Marcos: herencia múltiple • ¿Cuáles son el tamaño, el peso y el color de

Marcos: herencia múltiple • ¿Cuáles son el tamaño, el peso y el color de Clyde? • El algoritmo de distancia inferencial permite establecer cual es el marco del que se ha de heredar.

Herencia: distancia inferencial 1. Buscar el conjunto de marcos que permiten heredar el valor

Herencia: distancia inferencial 1. Buscar el conjunto de marcos que permiten heredar el valor del atributo → Candidatos 2. Eliminar de la lista Candidatos todo marco que sea padre de otro de la lista 3. 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 73

Mapas conceptuales (MCs) • Forma de representación del conocimiento concebida en el contexto de

Mapas conceptuales (MCs) • Forma de representación del conocimiento concebida en el contexto de las ciencias pedagógicas a finales de la década de los ‘ 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 – un recurso esquemático para representar un conjunto de significados conceptuales incluidos en una estructura de proposiciones. 74

Mapas conceptuales (MCs) • Están compuestos por: – nodos asociados a conceptos – enlaces

Mapas conceptuales (MCs) • Están compuestos por: – nodos asociados a conceptos – enlaces etiquetados por una palabra-enlace, que definen el tipos de relación que se establece entre los nodos – proposiciones formadas por dos o más nodosconceptos relacionados por una palabraenlace. 75

Mapas conceptuales (MCs) • Los elementos de un MC son distribuidos gráficamente con los

Mapas conceptuales (MCs) • Los elementos de un MC son distribuidos gráficamente con los nodos-conceptos más inclusivos arriba y los más específicos abajo. • Los MC son un tipo de red semántica más flexible y orientada a ser usada e interpretada por personas. 76

Mapas conceptuales: ejemplo 77

Mapas conceptuales: ejemplo 77

Ontología • En filosofía, la ontología es una disciplina que se identifica con la

Ontología • En filosofía, la ontología es una disciplina que se identifica con la metafísica. • Ontología: teoría del ser, es decir, el estudio de todo lo que es: qué es, cómo es y cómo es posible. • La ontología se ocupa de la definición del ser y de establecer las categorías fundamentales de las cosas a partir del estudio de sus propiedades, estructuras y 78 sistemas.

Ontologías • En los años ‘ 90, en el campo de la IA, se

Ontologías • En los años ‘ 90, en el campo de la IA, se adoptó el termino “ontología” para los esquemas de representación del conocimiento basados en redes semánticas o marcos: una especificación formal y explícita de una conceptualización compartida, que puede ser leída por un ordenador (Gruber, 1993; Borst, 1997; Studer et al. , 1998; Ceccaroni, 2001) 79

Formalidad • Las ontologías son (deberían ser) formales: tienen que ser leíbles por los

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. 80

Especificación explícita • Los tipos de los conceptos y las restricciones sobre su uso

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 81

Comprensión compartida del conocimiento • Las ontologías contienen (deberían contener) conocimiento consensual, aceptado por

Comprensión compartida del conocimiento • Las ontologías contienen (deberían contener) conocimiento consensual, aceptado por un grupo de personas expertas lo más amplio posible. 82

Conceptualización • Las ontologías son un modelo abstracto de algún dominio de algún mundo

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. 83

Algunos desafíos actuales de la IA • • Comprensión del lenguaje natural Comprensión de

Algunos desafíos actuales de la IA • • Comprensión del lenguaje natural Comprensión de requisitos de software Comprensión de imágenes y vídeos Comprensión de procesos, agentes y servicios • Comprensión de bases de datos • Comprensión de la web 84

¿Por qué son útiles las ontologías? 85

¿Por qué son útiles las ontologías? 85

¿Por qué son útiles las ontologías? 86

¿Por qué son útiles las ontologías? 86

¿Por qué son útiles las ontologías? 87

¿Por qué son útiles las ontologías? 87

¿Por qué son útiles las ontologías? 88

¿Por qué son útiles las ontologías? 88

¿Por qué son útiles las ontologías? 89

¿Por qué son útiles las ontologías? 89

¿Por qué son útiles las ontologías? 90

¿Por qué son útiles las ontologías? 90

¿Por qué son útiles las ontologías? 91

¿Por qué son útiles las ontologías? 91

¿Por qué son útiles las ontologías? • Modelado y uso compartido del conocimiento: –

¿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 92

¿Por qué son útiles las ontologías? • Ingeniería de sistemas: – re-usabilidad • Ontologías

¿Por qué son útiles las ontologías? • Ingeniería de sistemas: – re-usabilidad • Ontologías altamente configurables y bibliotecas de ontologías facilitan la reusabilidad entre diferentes sistemas de software. – fiabilidad • Las ontologías formales permiten la comprobación de consistencia, dando 93 lugar a sistemas más fiables.

Amplia gama de aplicaciones • • Gestión del conocimiento Generación de lenguaje natural Modelado

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 94

Ontologías: ejemplo • Conceptos, organizados en taxonomías, enlazados por relaciones, en acuerdo con los

Ontologías: ejemplo • Conceptos, organizados en taxonomías, enlazados por relaciones, en acuerdo con los axiomas. 95

Ingenieros de ontologías • Los ingenieros del conocimiento construyen ontologías basadas en conocimiento consensual

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). 96

Metodologías • Existen y están disponibles varias metodologías para la construcción de ontologías: –

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 • Enlace de referencia general: – http: //www. lsi. upc. edu/~luigi/ontologies. htm 97

Construcción cooperativa • De facto estándar: – Protégé (Stanford University): http: //protege. stanford. edu

Construcción cooperativa • De facto estándar: – Protégé (Stanford University): http: //protege. stanford. edu • versión 4. 0 beta (basada en OWL) • versión 3. 4 (basada en marcos) 98

Protégé 99

Protégé 99

Protégé 100

Protégé 100

Implementación • Uschold: directamente en lenguajes específicos para ontologías (por ejemplo, Ontolingua, LOOM, KIF)

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 101

Ejemplo: ontología para gestión de aguas residuales • Metodología utilizada – Determinación de los

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 – Definición del entorno de desarrollo – Reutilización de otras ontologías – Formalización 102

Situación inicial • Presencia de expertos en varios dominios: – IA – Ingeniería química

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. 103

Objetivos de la ontología • Obtener una terminología unificada (pero multilingüe), completa y coherente

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 104

Adquisición del conocimiento • Reutilización de conocimiento existente codificado de manera específica para el

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 105

Conceptualización • Criterios seguidos: – modelo fácilmente comprensible – modelo que refleje los conocimientos

Conceptualización • Criterios seguidos: – modelo fácilmente comprensible – modelo que refleje los conocimientos de los expertos – conocimiento fácilmente ampliable – fácil integración con otras ontologías – posibilidad de elegir un subconjunto de los conocimientos y utilizarlos en otras aplicaciones o ontologías 106

Términos y jerarquía • Actuator • Body-Of-Water • Descriptor – Descriptor-Off-Line • Descriptor-Qualitative –

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 107

Entorno de desarrollo • Jerarquía de términos: Ontolingua (era el año 2000) • Axiomas:

Entorno de desarrollo • Jerarquía de términos: Ontolingua (era el año 2000) • Axiomas: antes en Lisp, luego en KIF (asociado a Ontolingua) • Alternativa: Protégé + OWL 108

Reutilización • The ontology is mainly built from scratch. • Two other ontology are

Reutilización • The ontology is mainly built from scratch. • Two other ontology are partially reused: – Frame ontology: it’s Ontolingua meta-ontology – Cyc ontology (Lenat and Guha, 1990): manual encoding of millions of encyclopedic facts (Ontolingua version) 109

Re-engineering • Frame-ontology: as is • Cyc: little re-engineering to adapt the concepts to

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. 110

Términos: detalles • The ontology use the English language to describe the world at

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. n Documentation: Class Descriptor-Qualitative u. Synonyms: FDato cualitativo (esp) FDada qualitativa (cat) FDato qualitativo (ita) Qualitative descriptors refer to microscopic observations (e. g. : activatedsludge microbes presence and diversity) and visual information (e. g. : presence of foam in the aeration tank or in the secondary clarifier, water odor, 111 biomass color).

Formalización • The Ontolingua Ontology Server automatically translates to Lisp. • The translation has

Formalización • The Ontolingua Ontology Server automatically translates to Lisp. • The translation has been checked and evaluated. 112

Conclusiones • Success in unifying terminology and as a way of communication between AI

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. • Partial success in using the ontology for reasoning. 113

Vale, ¿y ahora qué? “Desarrollo de Ontologías - 101: Guía Para Crear Tu Primera

Vale, ¿y ahora qué? “Desarrollo de Ontologías - 101: Guía Para Crear Tu Primera Ontología” Noy & Mc. Guinness (2000, 2005) [http: //protege. stanford. edu/publications/ontology_ development/ontology 101 -es. pdf] 114