Title: Inteligencia Artificial Representaci
1Inteligencia Artificial Representación del
conocimiento
- Primavera 2009
- profesor Luigi Ceccaroni
2Conocimiento 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
3Conocimiento 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
4Logic, 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.
5Inferencia 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
6Sistemas 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
7Sistemas 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.
8Hechos 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
9Reglas terminologÃa
- Si entonces
- 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
10Motor 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.
11Motor 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
12Motor 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.
131. 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.
142. 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
152. 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
163. 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?
17Tipos 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
18Encadenamiento 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.
19Encadenamiento 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
20Encadenamiento 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.
21Encadenamiento 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.
22Encadenamiento 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).
23Prolog 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.
24Clá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.
25Encadenamiento 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.
26Factores 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
27Comparació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
28BibliografÃ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).
29Hacia 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
32Qué 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.
331 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.
34Preguntas
- 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
35TerminologÃ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
362 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 ltgruber_at_ksl.stanford.edugt
373 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?
38Cuá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
39Qué 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
404 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
415 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?
42Qué 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.
43Có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
44RC 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.
45Tipos 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
46Conocimiento 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
47Nivel 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.
48El 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.
49El 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.
50El 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.
51Historia 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.
52Redes 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.
53Redes 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.
54Redes 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?
55Marcos
- 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.
56Marcos
- 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
57Marcos
- 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.
58Marcos
- 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
59Marcos
- 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).
60Marcos
- 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
61Marcos 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 - ltnombre marcogt.ltnombre atributogt (valor o lista
de valores)
62Marcos 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
63Marcos 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
64Marcos 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
65Marcos 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
66Marcos relaciones
- Etiqueta
- nombre
- dominio lista de marcos
- rango lista de marcos
- cardinalidad 1 o N
- inversa ltnombregt (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 ltnombre.accióngt
- condiciones de herencia lista de atributos (por
defecto lista vacÃa)
66
67Marcos relaciones
- Las acciones asociadas a los métodos no tienen
parámetros. - La expresión ltnombre marcogt.ltnombre relacióngt
devuelve el marco (si la cardinalidad es 1) o la
lista de marcos (si es N) con los que está
conectado ltnombre marcogt a través de ltnombre
relacióngt.
67
68Marcos relaciones
- Para consultar la cardinalidad se usa la función
card(ltnombre marcogt.ltnombre relacióngt) 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
69Marcos relaciones
- Funciones booleanas que quedan definidas
- atributo?(ltmarcogt) cierto si ltmarcogt posee este
atributo. - relación?(ltmarcogt) cierto si ltmarcogt está
conectado con algún otro marco a través de la
relación indicada por la función. - relación?(ltmarco-ogt,ltmarco-dgt) cierto si existe
una conexión entre ltmarco-ogt y ltmarco-dgt
etiquetada con la relación indicada por la
función.
69
70Marcos 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
71Herencia 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
72Marcos 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.
73Herencia 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 gt 1 ? Problema de herencia múltiple si la
cardinalidad del atributo no es N
73
74Mapas 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.
75Mapas 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.
76Mapas 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.
77Mapas conceptuales ejemplo
78OntologÃ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
79OntologÃ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)
80Formalidad
- 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
81Especificació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
82Comprensió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
83Conceptualizació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
84Algunos 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
85Por qué son útiles las ontologÃas?
86Por qué son útiles las ontologÃas?
87Por qué son útiles las ontologÃas?
88Por qué son útiles las ontologÃas?
89Por qué son útiles las ontologÃas?
90Por qué son útiles las ontologÃas?
91Por qué son útiles las ontologÃas?
92Por 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
93Por 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
94Amplia 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
95OntologÃas ejemplo
- Conceptos, organizados en taxonomÃas, enlazados
por relaciones, en acuerdo con los axiomas.
95
96Ingenieros 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
97MetodologÃ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
98Construcción cooperativa
- De facto estándar
- Protégé (Stanford University) http//protege.stan
ford.edu - versión 4.0 beta (basada en OWL)
- versión 3.4 (basada en marcos)
98
99Protégé
99
100Protégé
100
101Implementació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
102Ejemplo 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
103Situació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
104Objetivos 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
105Adquisició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
106Conceptualizació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
107Té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
108Entorno 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
109Reutilización
- The ontology is mainly built from scratch.
- Two other ontology are partially reused
- Frame ontology its Ontolingua meta-ontology
- Cyc ontology (Lenat and Guha, 1990) manual
encoding of millions of encyclopedic facts
(Ontolingua version)
109
110Re-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
111Té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.
111
112Formalización
- The Ontolingua Ontology Server automatically
translates to Lisp. - The translation has been checked and evaluated.
112
113Conclusiones
- 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
114Vale, y ahora qué?
- Desarrollo de OntologÃas - 101 GuÃa Para Crear
Tu Primera OntologÃa - Noy McGuinness
- (2000, 2005)
- http//protege.stanford.edu/publications/ontology
_development/ontology101-es.pdf