Está en la página 1de 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
5
basados en la resolucin

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:

El semforo se pone verde cada minuto par.


El semforo se pone rojo cada minuto impar.

Persistencia

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

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
102
Formalizacin

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.

Documentation: Class Descriptor-Qualitative

Synonyms:
Dato

cualitativo (esp)
Dada qualitativa (cat)
Dato 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

También podría gustarte