La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Inteligencia Artificial Representación del conocimiento

Presentaciones similares


Presentación del tema: "Inteligencia Artificial Representación del conocimiento"— Transcripción de la presentación:

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

2 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

3 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 real en una forma computacional. 3

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

5 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

6 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

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

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

9 Reglas: terminología Si entonces Base de reglas:
condiciones - acciones antecedentes - consecuentes premisas - 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

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

11 Motor de inferencia Fases del ciclo básico:
Detección (filtro): Reglas pertinentes 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 Selección: ¿Qué regla? Estrategia de control: Resolución de conflictos selección de la regla a aplicar

12 Motor de inferencia Fases del ciclo básico: Aplicación
Aplicación de la regla sobre una instanciación de les variables: modificación de la memoria de trabajo 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.

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

14 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

15 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

16 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?

17 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

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

19 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

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

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

22 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, (primera edición de 1981).

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

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

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

26 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

27 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

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

29 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?

30 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

31 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

32 ¿Qué es una representación del conocimiento (RC)?
Representación del conocimiento o esquema de representación, Davis et al. (MIT), 1993: Un substituto de lo que existe en el mundo real o imaginario. Un conjunto de cometidos ontológicos: ¿En qué términos hay que pensar acerca del mundo? 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?) Un medio para la computación eficiente: ¿Cómo se debería organizar la información para facilitar la manera de pensar y razonar? Un medio de expresión humana: Un lenguaje que las personas usan para hablar entre ellas y con las máquinas.

33 [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.

34 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

35 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

36 [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 the 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

37 [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?

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

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

40 [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

41 [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?

42 ¿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.

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

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

45 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

46 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 (clase- instancia) 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

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

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

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

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

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

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

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

54 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 dos conceptos? ¿Que relaciona dos conceptos? ¿Cuál es el concepto mas cercano que relaciona dos conceptos?

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

56 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:

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

58 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

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

60 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

61 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 valores)

62 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: Persona.edad 62

63 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

64 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 … 64

65 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

66 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

67 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

68 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 68

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

70 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

71 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

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

73 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 73

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

75 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 nodos- conceptos relacionados por una palabra- enlace.

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

77 Mapas conceptuales: ejemplo

78 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 sistemas. 78

79 (Gruber, 1993; Borst, 1997; Studer et al., 1998; Ceccaroni, 2001)
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)

80 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

81 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

82 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

83 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

84 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

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

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

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

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

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

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

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

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

93 ¿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. 93

94 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

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

96 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

97 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: 97

98 Construcción cooperativa
De facto estándar: Protégé (Stanford University): versión 4.0 beta (basada en OWL) versión 3.4 (basada en marcos) 98

99 Protégé 99

100 Protégé 100

101 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

102 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

103 Situación inicial Presencia de expertos en varios dominios:
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

104 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

105 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

106 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

107 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

108 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

109 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

110 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

111 Términos: detalles Documentation: Class Descriptor-Qualitative
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. 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). 111

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

113 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

114 “Desarrollo de Ontologías - 101: Guía Para Crear Tu Primera Ontología”
Vale, ¿y ahora qué? “Desarrollo de Ontologías - 101: Guía Para Crear Tu Primera Ontología” Noy & McGuinness (2000, 2005) [ development/ontology101-es.pdf]


Descargar ppt "Inteligencia Artificial Representación del conocimiento"

Presentaciones similares


Anuncios Google