Sei sulla pagina 1di 114

Inteligencia Artificial

Representacin del conocimiento


Primavera 2009
profesor: Luigi Ceccaroni

Conocimiento y razonamiento
Las personas conocen cosas y realizan razonamientos de forma automtica. 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 ms 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 cmo 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 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 lgica
Se quieren conseguir algoritmos que puedan responder a preguntas expresadas en forma lgica. Tres grandes familias de algoritmos de inferencia:
encadenamiento hacia delante y sus aplicaciones en los sistemas de produccin encadenamiento hacia atrs y los sistemas de programacin lgica sistemas de demostracin de teoremas basados en la resolucin 5

Sistemas de produccin
La representacin mediante formalismos lgicos es declarativa pero puede representar procedimientos. Se describen cuales son los pasos para resolver un problema como una cadena de deducciones. La representacin se basa en dos elementos:
hechos: proposiciones o predicados reglas: formulas condicionales

Sistemas de produccin
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: terminologa
Base de hechos (BH):
Memoria de trabajo Memoria a corto plazo Aserciones

Ejemplos:
x es un gato x es un animal domstico

Reglas: terminologa
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 domstico

Motor de inferencia: terminologa


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 resolucin de conflictos

Funcin del motor de inferencia:


Ejecutar acciones para resolver el problema (objetivo) a partir de un conjunto inicial de hechos y eventualmente a travs de una interaccin con el usuario La ejecucin puede llevar a la deduccin de nuevos hechos.

Motor de inferencia
Fases del ciclo bsico:
1. Deteccin (filtro):

Reglas pertinentes

Interprete de reglas: Obtencin, desde la BC, del conjunto de reglas aplicables a una situacin determinada (estado) de la BH
formacin del conjunto de conflictos

2. Seleccin:

Qu regla?

Estrategia de control: Resolucin de conflictos


seleccin de la regla a aplicar

Motor de inferencia
Fases del ciclo bsico:
3. Aplicacin
Aplicacin de la regla sobre una instanciacin de les variables: modificacin de la memoria de trabajo

4. Vuelta al punto 1, o parada si el problema est resuelto


Si no se ha encontrado una solucin y no hay reglas aplicables: fracaso.

1. Deteccin
Construccin del conjunto de reglas aplicables El intrprete de reglas realiza los clculos necesarios para obtener las instanciaciones que son posibles en cada estado de resolucin del problema (comparacin o matching). Una regla puede instanciarse ms de una vez, caso de existir variables que lo permitan.

2. Seleccin
Las reglas son o no aplicadas dependiendo de la estrategia de control:
estrategia fija estrategia dinmica prefijada estrategia guiada por meta-reglas

Seleccin de la mejor instanciacin Posible combinacin de criterios

2. Seleccin
Ejemplos de estrategia de control:
1 regla por orden en la base de conocimiento la regla ms/menos utilizada la regla ms especfica (con ms literales) / ms general la regla que tenga el grado de certeza ms alto la instanciacin que satisfaga los hechos:
ms prioritarios
ms antiguos (instanciacin ms antigua) ms nuevos (instanciacin ms reciente)

aplicacin de todas las reglas (slo si se quieren todas las soluciones posibles) la regla usada ms recientemente meta-reglas, que indican dinmicamente como seleccionar las reglas a aplicar

3. Aplicacin
Ejecucin de la regla
Modificacin de la base de hechos (en el razonamiento hacia delante) Nuevos clculos, nuevas acciones, preguntas al usuario Nuevos sub-objetivos (en el razonamiento hacia atrs)

Propagacin de las instanciaciones Propagacin del grado de certeza El proceso de deduccin acaba cuando:
se encuentra la conclusin (el objetivo) buscado xito no queda ninguna regla aplicable xito? / fracaso?

Tipos de razonamiento
Deductivo, progresivo, encadenamiento hacia delante, dirigido por hechos
evidencias, sntomas, datos conclusiones

Inductivo, regresivo, encadenamiento hacia atrs, dirigido por objetivos


conclusiones datos, evidencias, sntomas

Mixto, encadenamiento hbrido

Encadenamiento hacia delante


Basado en modus ponens: A, AB |- 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 estn en la BH); las nuevas conclusiones de las reglas aplicadas se aaden a la BH (hay que decidir cmo); se itera hasta encontrar una condicin de finalizacin.

Encadenamiento hacia delante


Problemas:
No focaliza en el objetivo Explosin combinatoria

Ventajas:
Deduccin intuitiva Facilita la formalizacin del conocimiento al hacer un uso natural del mismo

Ejemplo de lenguaje: CLIPS

Encadenamiento hacia atrs


Basado en el mtodo inductivo:
guiado por un objetivo que es la conclusin que se trata de validar reconstruyendo la cadena de razonamiento en orden inverso.

Cada paso implica nuevos sub-objetivos: hiptesis que han de validarse.

Encadenamiento hacia atrs


Funcionamiento:
se inicializa la BH con un conjunto inicial de hechos; se inicializa el conjunto de hiptesis (CH) con los objetivos a verificar; mientras existan hiptesis 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 hiptesis; si una hiptesis est en BH eliminarla de CH; si no: buscar reglas que tengan como conclusin la hiptesis; seleccionar una y aadir las premisas a CH.

Encadenamiento hacia atrs


El encadenamiento hacia atrs es un tipo de razonamiento dirigido por el objetivo. Slo se considera lo necesario para la resolucin del problema. El proceso de resolucin consiste en la exploracin de un rbol. Ejemplo de lenguaje: Prolog
W. F. Clocksin y C. S. Mellish . Programming in Prolog: Using the ISO Standard. Springer, 2003 (primera edicin de 1981).

Prolog: lenguaje de programacin lgica


Programa Prolog:
conjunto de aserciones lgicas cada asercin es una clusula de Horn proceso de comparacin: unificacin el orden de las aserciones (reglas) es significativo

Ejemplo
gato (bufa). animaldomestico (X) :- gato (X). animaldomestico (X) :- pequeo (X), conplumas (X).

p q q :- p Consultas: ?- predicado. La negacin se representa con la falta de la asercin correspondiente: asuncin de mundo cerrado.

Clusula de Horn
De Wikipedia: Las clusulas de Horn (instrucciones ejecutables de PROLOG) tienen el siguiente aspecto: hija (*A, *B) :- mujer (*A), padre (*B, *A). que podra leerse as: "A es hija de B si A es mujer y B es padre de A". Obsrvese que, en PROLOG, el smbolo :- separa la conclusin de las condiciones. En PROLOG, las variables se escriben comenzando con un asterisco. Todas las condiciones deben cumplirse simultneamente para que la conclusin sea vlida. Por tanto, la coma que separa las distintas condiciones es equivalente a la conjuncin copulativa (en algunas versiones de PROLOG se sustituye la coma por el smbolo &). La disyuncin, en cambio, no se representa mediante smbolos especiales, sino definiendo reglas nuevas, como la siguiente:

hija (*A, *B) :- mujer (*A), madre (*B, *A). que podra leerse as: "A es hija de B si A es mujer y B es madre de A".
Clusulas con como mucho un literal positivo.

Encadenamiento hbrido
Partes de la cadena de razonamiento que conduce de los hechos a los objetivos se construyen deductivamente y otras partes inductivamente: exploracin bi-direccional El cambio de estrategia suele llevarse a cabo a travs de meta-reglas. Ejemplos:
funcin del nmero de estados iniciales y finales funcin de la direccin de mayor ramificacin funcin de la necesidad de justificar el proceso de razonamiento

Se evita la explosin combinatoria del razonamiento deductivo.

Factores para decidir el sentido del encadenamiento


Nmero de estados iniciales y finales
Preferible del conjunto ms pequeo hacia el ms grande

Factor de ramificacin
Preferible en el sentido del factor ms pequeo

Necesidad de justificar el proceso de razonamiento


Preferible el sentido de razonamiento habitual del usuario

Comparacin (matching)
Es ms 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 comparacin y seleccin que evitan repasar todas las reglas de la BC:
OPS-5 usa el algoritmo RETE Prolog indexa las clusulas segn los predicados

Bibliografa 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 edicin de 1981).

Hacia las ontologas


El conocimiento ha de permitir guiar a los mecanismos de IA para obtener una solucin ms eficiente:
Cmo escoger el formalismo que nos permita hacer una traduccin fcil del mundo real a la representacin? Cmo ha de ser esa representacin para que pueda ser utilizada de forma eficiente?

29

Informacin y conocimiento
Llamaremos informacin al conjunto de datos bsicos, sin interpretar, que se usan como entrada del sistema:
los datos numricos que aparecen en una analtica de sangre los datos de los sensores de una planta qumica

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 bsicos:
la interpretacin de los valores de la analtica de sangre o de los sensores de la planta qumica para decir si son normales, altos o bajos, preocupantes, peligrosos...

el conjunto de estructuras de datos y mtodos para diagnosticar a pacientes a partir de la interpretacin del anlisis de sangre, o para ayudar en la toma de decisiones de qu hacer en la planta qumica
30

Informacin y conocimiento
Los sistemas de IA necesitan diferentes tipos de conocimiento que no suelen estar disponibles en bases de datos y otras fuentes clsicas de informacin: Conocimiento sobre los objetos en un entorno y posibles relaciones entre ellos Conocimiento difcil de representar de manera sencilla, como intencionalidad, causalidad, objetivos, informacin temporal, conocimiento que para los humanos es de sentido comn Intuitivamente podemos decir que: Conocimiento = informacin + interpretacin
31

Qu es una representacin del conocimiento (RC)?


Representacin del conocimiento o esquema de representacin, Davis et al. (MIT), 1993:
1. Un substituto de lo que existe en el mundo real o imaginario. 2. Un conjunto de cometidos ontolgicos: En qu trminos hay que pensar acerca del mundo? 3. Una teora fragmentaria del razonamiento inteligente: Qu es la inteligencia? Qu se puede inferir de lo que se conoce? Qu se debera inferir de lo que se conoce? (Qu inferencias son recomendadas?) 4. Un medio para la computacin eficiente: Cmo se debera organizar la informacin para facilitar la manera de pensar y razonar? 5. Un medio de expresin humana: Un lenguaje que las personas usan para hablar entre ellas y con las mquinas.

[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 accin. Inversamente, las acciones pueden sustituir el razonamiento.

Preguntas
Un substituto de qu? semntica Hasta que punto exacto como substituto? fidelidad
Ms fidelidad no es automticamente mejor La fidelidad perfecta es imposible
Las mentiras son inevitables Las inferencias incorrectas son inevitables

Terminologa y perspectiva
Inferencia = obtencin de nuevas expresiones desde expresiones previas Tecnologas de representacin del conocimiento (TRCs):
Lgica Reglas Marcos Redes semnticas Ontologas

[2] Conjunto de cometidos ontolgicos (COs)


Los substitutos son inevitablemente imperfectos La seleccin 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 tcnicas de representacin 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 <gruber@ksl.stanford.edu>

[3] Fragmento de una teora de razonamiento inteligente


Cules son todas las inferencias que est permitido hacer?

Cules inferencias estn especialmente impulsadas?

Cules son las inferencias que est permitido hacer?


Ejemplos
Lgica formal clsica: inferencias bien fundamentadas Reglas: inferencias plausibles Ontologas: inferencia con valores por defecto

Estilos de respuestas
Precisas, formuladas en trminos de un lenguaje formal Imprecisas, no basadas en un lenguaje formal
Utilidad del pluralismo

Qu inferencias estn especialmente impulsadas?


Ejemplos
Ontologas: propagacin de valores, enlaces Reglas: encadenamiento, asociaciones Lgica: proposiciones subordinadas (lemas), grafos de conexin

Explosin combinatoria
Necesidad de gua sobre lo que se debera hacer, no slo lo que se puede hacer

[4] Medio para la computacin pragmticamente eficiente


Razonar con una RC significa hacer algn tipo de computacin. Cmo se puede organizar la informacin para facilitar el razonamiento? Ejemplos:
Marcos, ontologas: triggers, jerarquas taxonmicas Lgica: theorem provers de grafos de conexin

[5] Medio de expresin y comunicacin


Cmo se expresan las personas acerca del mundo? Cmo se comunican las personas entre ellas y con el sistema de razonamiento? RC como medio de expresin:
Cmo es de general, preciso? Proporciona una expresividad adecuada?

RC como medio de comunicacin:


Cmo es de transparente? Los humanos pueden entender lo que se est diciendo? Se pueden generar las expresiones que interesan?

Qu debera ser una RC?


Los cinco roles tienen importancia. Los roles caracterizan el ncleo de una representacin. Hay que tenerlos en cuenta cuando se crea una RC. Cada RC es slo una de muchas posibles aproximaciones a la realidad.

Cmo debera ser una RC?


Pragmtica en su visin de validez y eficiencia Pluralista en la definicin de las inferencias posibles Efectiva en recomendar inferencias y organizar la informacin Efectiva como medio de comunicacin Capaz de capturar la riqueza del mundo natural

RC desde el punto de vista informtico


Estructuras de datos: representan el dominio y el problema de manera esttica. Procedimientos: manipulan las estructuras de manera dinmica:
Operaciones: procedimientos para crear, modificar o destruir las representaciones o sus elementos. Predicados: procedimientos para acceder a campos concretos de informacin.

Tipos de conocimiento
Procedimental: funciones, reglas de produccin, lenguajes de programacin convencionales Declarativo (o no procedimental): lgica Pero la lgica puede representar el mismo tipo de procedimientos de un lenguaje de programacin. (!) Diferencia primaria: la lgica requiere relaciones o predicados explcitos para expresar la secuencia, mientras que los lenguajes procedimentales dependen de la secuencia implcita en la estructura del programa.
45

Conocimiento declarativo
Conocimiento relacional simple
Conjunto de relaciones del mismo tipo que las de una base de datos

Conocimiento heredable
Estructuracin jerrquica Relaciones es-un (clase-clase), instancia-de (claseinstancia) Herencia de propiedades y valores
Herencia simple y mltiple Valores por defecto

Conocimiento inferible
Descripcin va lgica tradicional Ejemplo de uso: en la resolucin

Nivel de granularidad
A qu nivel de detalle se tiene que representar el mundo? Primitivas
Ej.: relacin de parentesco Primitivas: madre, padre, hijo, hija, hermano, hermana Bruno es abuelo de Kora Iain es primo de Ricardo

Si la representacin 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 without some reason Ejemplo:

Persistencia

El semforo se pone verde cada minuto par. El semforo se pone rojo cada minuto impar. Un programa puede determinar qu pasa en los puntos de tiempo discretos en que el semforo cambia de color. Pero se necesita ms informacin para determinar qu pasa en los intervalos entre cambios de color.

El frame problem
La declaracin en castellano que el semforo 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 debera ser obvio. Desafortunadamente, los ordenadores no reconocen lo obvio, a menos que no se les diga explcitamente cmo. Estos axiomas son la solucin de un caso especial del ms general frame problem.

El frame problem
La aproximacin general al frame problem se basa en el principio de razn suficiente de Leibniz: Nothing at all can happen without some reason
Es un axioma de meta-nivel que se usa para generar uno o ms axiomas de nivel ms bajo para cada ejemplo concreto.
Implica que el color del semforo debera quedarse igual a menos que no haya alguna razn para que cambie.

Historia de la representacin del conocimiento


Los bloques de construccin primarios para cualquier esquema de representacin del conocimiento son las categoras. Se considerar la evolucin desde redes semnticas a marcos a ontologas. Se considerarn tambin los mapas conceptuales.
51

Redes semnticas
Histricamente, las redes semnticas proporcionan: una ayuda grfica para visualizar una base de conocimiento algoritmos eficientes para inferir propiedades de un objeto en base a su pertenencia a una categora.

52

Redes semnticas
Charles S. Peirce (1909) desarroll los grafos existenciales como el primer formalismo de redes semnticas usando lgica moderna. Ross Quillian (1961) inici el trabajo con las redes semnticas dentro del campo de la IA.

53

Redes semnticas
Una red semntica es un grafo donde:
los nodos representan conceptos los arcos (dirigidos) representan relaciones entre conceptos

Mecanismos de razonamiento especficos permiten responder a preguntas sobre la representacin:


Estn relacionados dos conceptos? Que relaciona dos conceptos? Cul es el concepto mas cercano que 54 relaciona dos conceptos?

Marcos
Un artculo influyente de Marvin Minsky (1975) present una nueva versin de las redes semnticas: los marcos. Un marco era una representacin de un objeto o categora o concepto, con atributos y relaciones con otros objetos o categoras o conceptos. El artculo fue criticado por ser un conjunto de ideas recicladas desarrolladas en el campo de la programacin 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 y atributos, y no solo las categoras, tienen una estructura que permite describir su semntica. Ejemplo de marco:
Arteria
superclases: Vaso sanguneo pared: Muscular forma:

56

Marcos
Un marco est generalmente dividido en:
una parte declarativa (atributos o slots) una procedimental (mtodos o demons)

La parte procedimental permite obtener ms informacin o hacer clculos sobre sus caractersticas o las relaciones que pueda tener con otros marcos. La descripcin de los atributos tambin est estructurada: un atributo puede tener propiedades (facets). En el caso ms general se pueden tener taxonomas de atributos.
57

Marcos
Las relaciones poseen una descripcin formal que establece su semntica y su funcionamiento. Dividimos las relaciones en dos simples clases:
taxonmicas:
enlace ES-UN (subclase/clase) enlace INSTANCIA-DE (instancia/clase)

no taxonmicas
58

Marcos
Los atributos poseen un conjunto de propiedades que permiten establecer su semntica: dominio rango cardinalidad valor por defecto mtodos ... Permiten definir procedimientos de manera que se realicen clculos bajo ciertos eventos (a travs de los mtodos). 59

Marcos
Los mtodos 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 donde puede aparecer rango (tipo de valores que admite): lista, clase cardinalidad mxima: cardinalidad mnima (si es 1, el atributo es obligatorio): valor-por-defecto (a usar si no hay valor): funcin para calcular valor: mtodos (funciones con activacin condicionada): condiciones de herencia (atributo + valor): s/no (por defecto: relaciones taxonmicas = 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: dominio (lista de marcos donde puede aparecer): Persona rango (tipo de valores que admite): entero [0..140]; joven/viejo cardinalidad mxima: 1 cardinalidad mnima (si es 1, el atributo es obligatorio): 0 valor-por-defecto (a usar si no hay valor): funcin para calcular valor: mtodos (funciones con activacin condicionada): condiciones de herencia (atributo + valor): s/no (por defecto: relaciones taxonmicas = s; otras = no)

Para acceder al valor del atributo se usa la sintaxis: 62 Persona.edad

Marcos: mtodos
Son acciones o funciones que permiten obtener informacin sobre el mismo marco u otros marcos. Los mtodos 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 estn definidos). A veces, pueden ser invocados con parmetros. Ejemplo de mtodo if-modified: Si Deunan.edad tena valor 28 y se modifica a 32, se activa un mtodo 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 semntica mediante un conjunto de propiedades: dominio rango cardinalidad inversa transitividad 64 composicin

Marcos: relaciones
Se pueden establecer mtodos que tienen efecto ante ciertos eventos: if-added: si se establece la relacin entre instancias if-removed: si se elimina la relacin entre instancias Se puede establecer el comportamiento de la relacin respecto al mecanismo de herencia (que atributos permite heredar).
65

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 / descripcin de la composicin mtodos: {if-added / if-removed} <nombre.accin> condiciones de herencia: lista de atributos (por defecto: lista vaca)
66

Marcos: relaciones
Las acciones asociadas a los mtodos no tienen parmetros. La expresin <nombre marco>.<nombre relacin> devuelve el marco (si la cardinalidad es 1) o la lista de marcos (si es N) con los que est conectado <nombre marco> a travs de <nombre relacin>.
67

Marcos: relaciones
Para consultar la cardinalidad se usa la funcin card(<nombre marco>.<nombre relacin>) que devuelve un entero. Relaciones predefinidas: enlace ES-UN (inversa: tiene-por-subclase) transitiva enlace INSTANCIA-DE (inversa: tiene-porinstancia) se puede obtener por composicin: INSTANCIA-DE ES-UN
68

Marcos: relaciones
Funciones booleanas que quedan definidas: atributo?(<marco>): cierto si <marco> posee este atributo. relacin?(<marco>): cierto si <marco> est conectado con algn otro marco a travs de la relacin indicada por la funcin. relacin?(<marco-o>,<marco-d>): cierto si existe una conexin entre <marco-o> y <marco-d> etiquetada con la relacin indicada por la funcin.
69

Marcos: herencia
La herencia permite obtener en un marco el valor o los valores de un atributo a travs de otro marco con el que esta relacionado. En el caso de las relaciones taxonmicas (caso ms comn) la herencia (de atributos y valores) se da por defecto. En el resto de las relaciones se ha de establecer de manera explcita. Hay atributos no heredables. Ejemplo: tiene-por-instancia Dado un marco es posible que la representacin permita heredar un valor a travs de mltiples relaciones (herencia mltiple): hay que establecer criterios (ejemplo: camino ms corto). 70

Herencia simple y mltiple


La herencia es simple si las relaciones son taxonmicas en forma de rbol. La herencia es mltiple si:
la taxonoma es un grafo (dirigido acclico) hay otras relaciones (no taxonmicas) que permiten herencia

Puede haber conflicto de valores!


(obviamente, slo si hay herencia de atributo y valor)
71

Marcos: herencia mltiple


Cules son el tamao, 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 del atributo Candidatos 2. Eliminar de la lista Candidatos todo marco que sea padre de otro de la lista 3. Si el nuevo nmero de candidatos es:
0 No se puede heredar el atributo 1 Ese es el valor que se hereda N > 1 Problema de herencia mltiple si la cardinalidad del atributo no es N
73

Mapas conceptuales (MCs)


Forma de representacin del conocimiento concebida en el contexto de las ciencias pedaggicas a finales de la dcada de los 70. Fueron propuestos por Novak et al., y definidos como una tcnica que representa, simultneamente:
una estrategia de aprendizaje un mtodo para captar lo ms significativo de un tema un recurso esquemtico para representar un conjunto de significados conceptuales incluidos en una estructura de proposiciones.
74

Mapas conceptuales (MCs)


Estn compuestos por:
nodos asociados a conceptos enlaces etiquetados por una palabra-enlace, que definen el tipos de relacin que se establece entre los nodos proposiciones formadas por dos o ms nodosconceptos relacionados por una palabraenlace.

75

Mapas conceptuales (MCs)


Los elementos de un MC son distribuidos grficamente con los nodos-conceptos ms inclusivos arriba y los ms especficos abajo. Los MC son un tipo de red semntica ms flexible y orientada a ser usada e interpretada por personas.

76

Mapas conceptuales: ejemplo

77

Ontologa
En filosofa, la ontologa es una disciplina que se identifica con la metafsica. Ontologa: teora del ser, es decir, el estudio de todo lo que es: qu es, cmo es y cmo es posible. La ontologa se ocupa de la definicin del ser y de establecer las categoras fundamentales de las cosas a partir del estudio de sus propiedades, estructuras y 78 sistemas.

Ontologas
En los aos 90, en el campo de la IA, se adopt el termino ontologa para los esquemas de representacin del conocimiento basados en redes semnticas o marcos: una especificacin formal y explcita de una conceptualizacin compartida, que puede ser leda por un ordenador
(Gruber, 1993; Borst, 1997; Studer et al., 1998; Ceccaroni, 2001)
79

Formalidad
Las ontologas son (deberan ser) formales: tienen que ser lebles por los ordenadores. Nivel de formalidad:
de altamente informal: lenguaje natural a rigurosamente formal: trminos con semntica formal y axiomas

En las ontologas maduras, las descripciones permitidas son slo las consistentes con un conjunto de axiomas, que determinan su uso. 80

Especificacin explcita
Los tipos de los conceptos y las restricciones sobre su uso estn (deberan estar) definidos explcitamente. Accesibilidad y transparencia:
documentacin de los detalles tcnicos

81

Comprensin compartida del conocimiento


Las ontologas contienen (deberan contener) conocimiento consensual, aceptado por un grupo de personas expertas lo ms amplio posible.

82

Conceptualizacin
Las ontologas son un modelo abstracto de algn dominio de algn mundo posible. Compromiso comn: hacer el mnimo nmero de afirmaciones posible (slo las necesarias) sobre el dominio que se est modelando, dejando a los reutilizadores de la ontologa la libertad de especializarla e instanciarla tanto como 83 haga falta.

Algunos desafos actuales de la IA


Comprensin del lenguaje natural Comprensin de requisitos de software Comprensin de imgenes y vdeos Comprensin de procesos, agentes y servicios Comprensin de bases de datos Comprensin de la web
84

Por qu son tiles las ontologas?

85

Por qu son tiles las ontologas?

86

Por qu son tiles las ontologas?

87

Por qu son tiles las ontologas?

88

Por qu son tiles las ontologas?

89

Por qu son tiles las ontologas?

90

Por qu son tiles las ontologas?

91

Por qu son tiles las ontologas?


Modelado y uso compartido del conocimiento:
comunicacin entre personas/agentes con diferentes necesidades y puntos de vistas debidos a contextos diferentes
marco unificado dentro de una organizacin para reducir la confusin conceptual y terminolgica

interoperabilidad entre sistemas a travs de traducciones entre diferentes paradigmas, lenguajes, herramientas informticas y mtodos de modelado
ontologas como nter-lengua integracin de ontologas
92

Por qu son tiles las ontologas?


Ingeniera de sistemas:
re-usabilidad Ontologas altamente configurables y bibliotecas de ontologas facilitan la reusabilidad entre diferentes sistemas de software. fiabilidad Las ontologas formales permiten la comprobacin de consistencia, dando 93 lugar a sistemas ms fiables.

Amplia gama de aplicaciones


Gestin del conocimiento Generacin de lenguaje natural Modelado de los procesos de empresa SBCs Navegadores de Internet Interoperabilidad entre sistemas Ingeniera de sistemas: especificacin, fiabilidad, reutilizacin
94

Ontologas: ejemplo
Conceptos, organizados en taxonomas, enlazados por relaciones, en acuerdo con los axiomas.
95

Ingenieros de ontologas
Los ingenieros del conocimiento construyen ontologas basadas en conocimiento consensual sobre un dominio. Permiten a un grupo de agentes determinado (usuarios de la ontologa) compartir y reutilizar ese conocimiento dentro del rea de trabajo seleccionada (el dominio).
96

Metodologas
Existen y estn disponibles varias metodologas para la construccin de ontologas:
Mike Uschold Michael Grninger Asuncin Gmez-Prez John Sowa

Enlace de referencia general:


http://www.lsi.upc.edu/~luigi/ontologies.htm
97

Construccin cooperativa
De facto estndar:
Protg (Stanford University): http://protege.stanford.edu
versin 4.0 beta (basada en OWL) versin 3.4 (basada en marcos)

98

Protg

99

Protg

100

Implementacin
Uschold: directamente en lenguajes especficos para ontologas (por ejemplo, Ontolingua, LOOM, KIF) Gmez-Prez: a nivel de conocimiento del dominio, a travs de un shell que traduce a Ontolingua Protg: entorno visual con entrada y salida en OWL
101

Ejemplo: ontologa para gestin de aguas residuales


Metodologa utilizada
Determinacin de los requerimientos:
Utilidad (necesidad?) Finalidad

Adquisicin del conocimiento Conceptualizacin Lista preliminar de trminos principales Definicin del entorno de desarrollo Reutilizacin de otras ontologas Formalizacin 102

Situacin inicial
Presencia de expertos en varios dominios:
IA Ingeniera qumica Microbiologa Informtica

Uso de diferentes vocabularios No siempre hay una terminologa comn. No hay reglas sobre cmo usar los trminos, ni los sinnimos. 103

Objetivos de la ontologa
Obtener una terminologa unificada (pero multilinge), completa y coherente del dominio de las aguas residuales Ayudar en la diagnosis de situaciones problemticas relacionadas con aguas residuales Ayudar en la gestin de plantas de tratamiento de aguas residuales
104

Adquisicin del conocimiento


Reutilizacin de conocimiento existente codificado de manera especfica para el dominio en cuestin Entrevistas con expertos Anlisis de textos
105

Conceptualizacin
Criterios seguidos:
modelo fcilmente comprensible modelo que refleje los conocimientos de los expertos conocimiento fcilmente ampliable fcil integracin con otras ontologas posibilidad de elegir un subconjunto de los conocimientos y utilizarlos en otras aplicaciones o ontologas
106

Trminos y jerarqua
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
Jerarqua de trminos: Ontolingua (era el ao 2000) Axiomas: antes en Lisp, luego en KIF (asociado a Ontolingua) Alternativa: Protg + OWL
108

Reutilizacin
The ontology is mainly built from scratch. Two other ontology are partially reused:
Frame ontology: its Ontolingua metaontology 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 the specific domain No ontology integration (and consistency checking) needed.
110

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

uSynonyms:
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).

Formalizacin
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 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 Ontologas - 101: Gua Para Crear Tu Primera Ontologa Noy & McGuinness (2000, 2005)
[http://protege.stanford.edu/publications/ontology_ development/ontology101-es.pdf]
114

Potrebbero piacerti anche