Representación Del Conocimiento
Representación Del Conocimiento
Representación Del Conocimiento
la representación
del conocimiento
Índice
Introducción............................................................................................... 5
Objetivos....................................................................................................... 6
1. El conocimiento.................................................................................. 7
1.1. El conocimiento en la inteligencia artificial ............................... 7
1.2. IA simbólica frente a IA subsimbólica ........................................ 8
1.3. Clasificación del conocimiento .................................................. 10
1.3.1. La jerarquía del conocimiento ...................................... 11
1.3.2. Conocimiento tácito frente a conocimiento
explícito ......................................................................... 12
1.3.3. Conocimiento declarativo frente a conocimiento
procedimental ................................................................ 15
1.3.4. Conocimiento relacional ............................................... 16
1.3.5. Conocimiento inferencial .............................................. 17
1.3.6. Conocimiento heredable ............................................... 17
1.3.7. Conocimiento lingüístico .............................................. 22
Ejercicios de autoevaluación.................................................................. 59
Solucionario................................................................................................ 60
Glosario........................................................................................................ 65
Bibliografía................................................................................................. 67
Introducción
Antes de empezar, hay que tener presente que la tarea de modelizar la realidad
es una tarea imposible con las técnicas y herramientas actuales. La realidad
tiene demasiadas variables, casos particulares y relaciones causales como para
describirla totalmente. De hecho, representar de manera eficiente tan solo una
parte de la realidad, la relevante para un problema concreto, ya es un traba-
jo de unas dimensiones astronómicas. En este material mostraremos algunos
proyectos de investigación que llevan décadas persiguiendo este objetivo tan
ambicioso.
Objetivos
Conocimiento
(1)
Uno de los objetivos de la inteligencia artificial (IA1) es el desarrollo de técni- IA es el acrónimo de inteligencia
artificial.
cas y métodos que permitan a un sistema informático resolver problemas de
manera inteligente, es decir, teniendo en cuenta el contexto y la información
disponible para alcanzar el objetivo deseado. Resolver este tipo de problemas
puede requerir determinadas habilidades como la capacidad de aprender, de
razonar o de planificar, entre otras.
Una aplicación práctica de la inteligencia artificial es el desarrollo de sistemas capaces de En este punto, y hasta que
conducir vehículos terrestres sin la supervisión de los humanos. Un sistema como este presentemos una definición
más precisa del término cono-
tiene que ser capaz de tratar e interrelacionar conocimiento de diferentes ámbitos.
cimiento, abusaremos del len-
guaje para simplificar la lectu-
a) Conocimiento sobre el propio vehículo: ra y utilizaremos la palabra co-
nocimiento cuando en realidad
• Sus características (altura, anchura, longitud, peso, etc.). nos referimos a datos o a infor-
mación.
• Su estado (velocidad, combustible disponible, número de ocupantes, carga total, po-
sibles averías, etc.).
Desde que en 1956 aparece el término IA en la Darmouth Conference, hasta hoy Los dominios de discurso
día, los profesionales de esta área han construido sistemas que incorporan co-
Un dominio de discurso (o
nocimiento de manera más o menos explícita. Muchos sistemas inteligentes simplemente, dominio) es un
utilizan de modo intensivo el conocimiento de algún dominio, el campo de área de conocimiento que en-
globa el conocimiento rele-
aplicación en el que definimos nuestro problema. El abanico de ejemplos es vante que queremos represen-
tar. Ejemplos de conocimiento
muy grande y variado, y tenemos como muestra sistemas de diagnosis médica pueden ser el subconjunto de
la física dinámica necesaria pa-
y de análisis lingüístico. Sin embargo, en muchos casos el conocimiento que ra entender la conducción de
contienen no está representado explícitamente, algo que no lo hace ni exten- los vehículos, información so-
bre las funciones de un vehícu-
sible ni manipulable. lo, sobre su interfaz, etc.
Un programa informático que juega al ajedrez puede intentar encontrar la mejor jugada
en cada posición utilizando únicamente “la fuerza bruta”: probando un gran número
de combinaciones de jugadas. No obstante, el programa resultará mucho más efectivo
si es capaz de reconocer y aprovechar conceptos del ajedrez como por ejemplo el de
apertura, final de rey y peones o jaque mate con torre y rey. En estos casos, y aprovechando
este conocimiento, el programa podría ajustar su proceso de búsqueda o bien utilizar una
biblioteca de jugadas predefinidas.
Modelizar el conocimiento
(2)
La disciplina de la IA se clasifica en un conjunto de áreas, como por ejemplo En inglés, machine learning.
la resolución de problemas y búsqueda, la inteligencia artificial distribuida,
la representación del conocimiento y el aprendizaje computacional2. Las dos
últimas áreas están estrechamente relacionadas entre sí y representan dos pa-
radigmas diferenciados en el campo de la IA: la IA�simbólica y la IA�subsim-
bólica.
a)�IA�simbólica
Si circulamos por una vía en EE. UU. entonces hay que circular por
la derecha
Un problema típico en visión por computador es identificar un objeto, una persona o una
ubicación a partir de una imagen. Aunque un objeto tenga una forma muy característica,
reconocerlo puede llegar a ser un problema muy complicado. Puede variar el ángulo de
visión, la distancia a la que nos encontramos o el nivel de iluminación, o bien quizá haya
obstáculos que lo oculten de manera parcial. Así pues, no es posible describir simbólica-
mente todas las distintas formas en las que podemos percibir un objeto en una imagen.
(3)
En estas situaciones, la solución pasa por utilizar técnicas de aprendizaje basa- En inglés, support vector machi-
3 nes.
das en ejemplos: máquinas de soporte vectorial , redes neuronales, etc. Estas
técnicas analizan un conjunto de ejemplos para calcular pesos, probabilidades
o heurísticas que se utilizarán en el proceso de decisión. Es decir, intentan ex-
trapolar el conocimiento a partir de los ejemplos, aunque este conocimiento
no se acaba explicitando sino que queda implícito en los valores calculados.
De este modo, una red neuronal puede “aprender” a reconocer formas (caras, señales de
tráfico, etc.) a partir de ejemplos. Sin embargo, no podrá “explicar” de manera simbólica
el porqué de sus decisiones, puesto que esta información queda implícita en los valores de
los pesos de las conexiones. Esto hace muy difícil manipular o ampliar este conocimiento.
El esquema parte de una población en la que cada individuo es una solución potencial. En
cada etapa de la búsqueda (generación), se evalúa la calidad de las soluciones y se elimina
una parte de las soluciones menos prometedoras, manteniendo las mejores. Además,
en la nueva generación se introducen mutaciones en forma de cambios en soluciones
existentes y cruces entre soluciones distintas para generar nuevos individuos. El proceso
continúa durante un cierto número de iteraciones y, finalmente, se selecciona la mejor
solución encontrada.
Aunque este proceso puede conseguir soluciones muy buenas a problemas de búsqueda
complejos, no permite extraer conocimiento del proceso. Por ejemplo, no permite expli-
car qué factores hay que tener en cuenta para construir buenas soluciones, puesto que la
búsqueda tiene un componente muy elevado de aleatoriedad.
(4)
Para estudiar de dónde procede y cómo se obtiene el conocimiento, algunos Del inglés data, information,
knowledge and wisdom.
teóricos como J. Rowley (2007) utilizan la relación jerárquica entre los con-
ceptos de datos, información, conocimiento y sabiduría (DIKW4).
Ahora podremos ver con más detalle cada uno de estos niveles.
a)�Datos
Una señal de tráfico puede tener forma geométrica de octágono regular, triangular, re-
donda o cuadrada. Por ejemplo, un conjunto de datos sobre una señal podrían ser una
señal de color rojo con la forma geométrica de un octágono regular y con el texto “STOP”
inscrito en su interior.
b)�Información
La información es una idea elaborada sobre un objeto o concepto a partir de
la combinación de sus datos.
Una señal de stop tiene la forma geométrica de un octágono regular con fondo de color
rojo y la palabra “STOP” inscrita en mayúsculas en color blanco. Por lo tanto, la infor-
mación sería discernir que la señal descrita en el ejemplo anterior es una señal de stop.
c)�Conocimiento
d)�Sabiduría
No detenerse en un stop supone un riesgo muy elevado de sufrir un accidente. Por pre-
caución, aunque el stop afecte a otros vehículos, es importante estar alerta y comprobar
que han visto el stop y se han parado. Este razonamiento parte del hecho de que las se-
ñales de stop suelen situarse en cruces donde el conductor tiene poca visibilidad o poco
margen de reacción.
• Existe encarnado dentro del ser humano. • Puede existir fuera de los seres humanos.
Por el contrario, un ejemplo de conocimiento explícito es una ruta entre dos puntos: es
factible dar un mapa y un listado de indicaciones para ir desde el origen hasta el lugar
de destino.
• La relación denominada estudia en, que relaciona la clase Estudiantes con la clase
Asignaturas y permite representar las asignaturas que cursa cada estudiante.
• La relación denominada madre biológica, que relaciona la clase Mujer con la clase Per-
sona. En este caso, se podría añadir una restricción de integridad para indicar que
todo humano debe tener por fuerza una madre y solo una, para lo que sería necesario
restringir el número de madres que puede tener una persona (a una) y definir la obli-
gatoriedad de que toda persona participe en la relación (toda persona tiene madre).
• La relación ha obtenido medalla entre las clases Atleta, Juegos Olímpicos, Tipos de meda-
lla y Prueba, que permite representar las medallas que obtienen los atletas en unas
pruebas de unos Juegos Olímpicos, así como de qué tipo son las medallas obtenidas.
Como se puede comprobar, esta relación sería cuaternaria, es decir, tendría una ari-
dad de 4.
Símil
El conocimiento�declarativo se centra en la representación de los he-
chos o las afirmaciones, es decir, nos indica qué es cierto o falso refi- Haciendo un símil, podemos
ver el conocimiento declarati-
riéndose a los objetos y los eventos. vo como una base de datos de
alto nivel.
Un coche está bien aparcado cuando se encuentra a una distancia prudencial de los
vehículos circundantes y de las aceras, sin tocar ninguno de estos elementos, y no infrin-
ge ninguna norma viaria.
Observad que el conocimiento descrito es declarativo porque describe qué significa apar-
car bien, pero no cómo hacerlo.
(5)
Enfocado a la tarea para llevar a
5
El conocimiento�procedimental nos indica cómo se hace algo, es de- cabo un objetivo.
cir, se centra en las acciones que hay que llevar a cabo para lograr un
objetivo concreto.
Podemos ver el conocimiento procedimental como un conjunto de pasos e
instrucciones que especifican el conjunto de acciones para llevar a cabo una
tarea. Como ventaja con respecto al conocimiento declarativo, es un tipo de
conocimiento muy fácil de aplicar, pero por otro lado, se hace más difícil la
inferencia, la modificación y la verificación.
Es posible conocer toda la teoría para la conducción de un coche; por ejemplo, qué pedal
es el acelerador, qué direcciones toma el cambio de marcha o qué significan las señales
de tráfico, pero estos conocimientos declarativos no nos sirven para saber conducir un
coche. El conocimiento de la conducción es procedimental, muy distinto a conocer una
colección de hechos.
También relacionado con el ejemplo anterior, el conocimiento que explica cómo esta-
cionar un coche es procedimental: comprobar que está permitido estacionar, situarse en
paralelo al coche anterior adyacente al lugar de estacionamiento, introducir el vehículo
en el hueco dando marcha atrás, etc.
En los apartados siguientes veremos con más detalle los tres tipos de conoci-
miento declarativo (relacional, inferencial y heredable), así como el conoci-
miento lingüístico.
Como ejemplo de conocimiento relacional mostramos la tabla 2, que indica que los con-
ductores tienen los atributos Nombre, Edad y Tipo de licencia y permite representar ins-
tancias de estos:
John Smith 25 B
Peter Clinton 32 A
Por sí misma, una tabla solo aporta aquella información (conocimiento) que
se pueda extraer directamente, como por ejemplo, saber qué licencia de con-
ducción tiene una persona en concreto.
Por otro lado, podemos añadir procedimientos que enriquezcan el conoci-
miento. Por ejemplo, podemos añadir un motor de inferencia y así generar
nuevo conocimiento a partir del existente y validar el que ya hay. Así pues, nos
puede interesar saber cuántas licencias de conducción hay de un tipo determi-
nado, cuál es la media de edad de los conductores de una licencia, etc. Tam-
bién podremos llevar a cabo validaciones de los datos existentes; por ejemplo:
“ningún conductor mayor de 75 años puede tener una licencia de tipo A”.
Los sistemas de bases de datos son por regla general muy útiles para la compu-
tación, pero en lo que respecta a la IA resultan limitados. No hay duda de que
se trata de una manera eficiente de representar y procesar grandes cantidades
de datos. Pero entonces estamos limitados a describir solo hechos simples de
dominio y a efectuar razonamientos sencillos basados en la búsqueda.
car(Porsche de John)
x:car(x) → vehicle(x)
De estos enunciados, por ejemplo, podemos inferir que el Porsche de John puede ir por
tierra, mar o aire. Podemos ver que cuanta más información tengamos de estos objetos,
más conocimiento podremos inferir.
En la siguiente imagen, podemos ver una clasificación taxonómica de los diferentes tipos
de señales de tráfico verticales. Por ejemplo, el tipo de señal Señales de dirección hereda
las propiedades de su nodo padre y este al mismo tiempo del suyo, de modo que obtiene
la propiedad de ser una señal de orientación e indicación.
Aunque se permite que una subcategoría herede de más de una categoría (lo
que se denomina herencia múltiple), a la hora de la verdad no es algo muy
común en las representaciones que podemos encontrar. No porque no sea útil
ni porque no represente la realidad de manera fiel, sino porque muchos len-
guajes de representación no permiten la herencia múltiple. Si no hay heren-
cia múltiple, la jerarquía de categorías y subcategorías se puede representar en
forma de árbol. En este árbol, las instancias de las subcategorías se propagan
hacia su categoría (hacia arriba en el árbol) y las relaciones de las categorías se
propagan hacia sus subcategorías (hacia abajo en el árbol). Obviamente, si no
hay herencia múltiple, la estructura tiene que ser la de un árbol, puesto que
por la definición de la herencia no puede haber ciclos.
La relación tiene una propiedad que relaciona las clases Persona y Vivienda e indica que
una persona es propietaria de un inmueble puede especializarse en dos relaciones más
específicas: tiene primera residencia y tiene segunda residencia.
Otro elemento directamente afectado por el concepto de herencia son las ins-
tancias. Para indicar que un individuo pertenece a una clase, se utiliza un tipo
de relación denominado instancia de (o instance of en inglés). Un ejemplo de
instancia sería “La silla en la que estás sentado ahora mismo es una instancia
de Silla”. Al definir este conocimiento, el sistema podría inferir de manera au-
tomática que vuestra silla es un mueble.
Ejemplo 24. Uso de herencia en una representación
Circulando hacia Barcelona por la autopista AP7, veremos indicada su salida por medio
de una señal vertical que contiene el texto “Salida 18, Barcelona”. Estamos ante una ins-
tancia de una señal de dirección sobre la calzada de una autopista. Es una señal fácilmente
identificable para los que conocen el código de circulación, puesto que es igual en forma
al resto de las señales de la misma clase; es decir, tiene las mismas características.
De las clases a las que pertenece la señal “Salida 18, Barcelona” se puede inferir que esta
es una placa rectangular y contiene una flecha.
Este esquema muestra cómo podemos representar todo este conocimiento de manera organizada para reflejar las
entidades más generales y las específicas.
(6)
1)� Conocimiento� intensivo6, cuando se describe el dominio por medio de En inglés, intensive knowledge.
La clase Planeta del Sistema Solar podría definirse de manera intensiva o extensiva. De
manera intensiva, la podríamos definir como un subtipo de Planeta con una restricción
de integridad que diga que todas sus instancias tienen que orbitar alrededor del Sol. De
manera extensiva, la clase se podría definir indicando que sus instancias son Mercurio,
Venus, La Tierra, Marte, Júpiter, Saturno, Urano, Neptuno y Plutón.
Si a este recurso añadimos relaciones entre las palabras, relaciones léxicas que
expresen similitud en el significado (sinonimia y antonimia), obtenemos un
tesauro. Si no nos quedamos aquí y damos un paso más, y añadimos más rela-
ciones léxicas (como la hiponimia, metonimia) y también agrupamos las pa-
labras por conceptos, obtendríamos un recurso de conocimiento declarativo.
Parte de este trabajo se ha llevado a cabo en diferentes proyectos, y WordNet
es el más conocido.
Sinonimia: relación semántica que se establece entre dos o más palabras diferentes que
tienen el mismo significado.
Antonimia: relación semántica que se establece entre dos o más palabras de significados
opuestos, es decir, entre palabras que significan lo contrario o lo inverso.
Hiponimia: relación semántica que se establece entre una unidad léxica (grupo de pala-
bras con significado propio) y otra cuando esta se encuentra incluida dentro del campo
léxico de la primera. Por ejemplo: fruta tiene los hipónimos naranja, pera, manzana. La
relación vista a la inversa es la hiperonimia.
Metonimia: relación entre significados basada en una relación de contigüidad. Por ejem-
plo: “Se comió dos platos” (se comió el contenido del plato).
La fonología es la ciencia que estudia los fonemas, es decir, la relación de los sonidos y
las palabras. Con mucha frecuencia se confunde con la fonética, la ciencia que estudia
el habla humana, y en concreto la producción de los sonidos. Las dos disciplinas tienen
en común el hecho de que tratan aspectos del habla, pero desde puntos diferentes y
complementarios.
Los sistemas informáticos que utilizan conocimiento para llevar a cabo sus
tareas se denominan sistemas basados en conocimiento (knowledge-based sys-
tems, en inglés). Quizá el tipo de sistema basado en conocimiento que mejor
ejemplifica cómo se usa el conocimiento son los sistemas expertos. Los siste-
mas expertos utilizan la experiencia de un especialista del dominio (o de un
conjunto de ellos) previamente formalizada para solucionar problemas com-
plejos que requieren gran cantidad de conocimiento, ya sea teórico, práctico
o tácito.
Cabe destacar que serán el problema y el dominio los que marcarán cómo
representar el conocimiento en cada caso. Por otro lado, hay que subrayar que
la eficiencia de la solución que proponemos vendrá condicionada, además de
por la cantidad y el tipo de conocimiento que se trata, por lo bien que se
codifica y se almacena.
2.1. Esquemas de representación del conocimiento
Es importante destacar que los esquemas de representación van más allá de las
estructuras de datos o las bases de datos, las cuales se preocupan de manera
exclusiva de cómo almacenar y recuperar datos de manera eficiente. Interna-
mente, la implementación de un esquema de representación puede utilizar
estructuras de datos y bases de datos, pero tiene que añadir otras estructuras y
procesos que permitan hacer inferencia de conocimiento nuevo.
• El punto de partida es el problema que se quiere resolver, que marca cuál Reflexión
será el dominio de interés.
En este módulo, dejaremos de
lado la fase de adquisición por
• La siguiente fase es la adquisición de conocimiento sobre el dominio de su complejidad y nos centrare-
mos en la representación y uti-
interés y el problema que se quiere resolver. Obtener el conocimiento de lización del conocimiento.
Todas estas cuestiones nos sirven para darnos cuenta de lo complicado que será
elegir una buena representación. Tenemos que hacer énfasis en que cuando
hablamos de conocimiento, además de representarlo, no debemos olvidar en
ningún momento que también deberemos procesarlo.
Además de estas decisiones, que son particulares para cada problema, hay una
serie de retos más generales que aparecerán en cualquier problema de repre-
sentación del conocimiento que consideremos: la imposibilidad de modeli-
zarlo todo, el conocimiento de sentido común y el lenguaje natural. Antes de
continuar, estudiaremos estos retos con más detalle.
Cyc
Cyc es un proyecto privado iniciado en 1984 en el seno de una empresa de EE. El proyecto Cyc
UU. Desde entonces, el proyecto ha reunido millones de hechos, conceptos,
Encontraréis más información
relaciones entre estos, ideas, reglas, heurísticos, etcétera. Algunos ejemplos de sobre el proyecto Cyc en la pá-
su contenido son “Cada perro es un mamífero”, “Los perros mueren” o “Los gina web de OpenCyc.
Donde Dogs es la clase que representa a los perros; Mammals, la clase que representa a los
mamíferos; y genls es la relación de generalización/especialización de CycL.
ConceptNet
ConceptNet es un proyecto que nace dentro del Massachusetts Institute of El proyecto ConceptNet
Technology (MIT), en el MIT Media Lab, con la colaboración de numerosos
Encontraréis más información
organismos y empresas de todo el mundo. El objetivo es describir el conoci- sobre el proyecto ConceptNet
miento básico, cultural y científico del mundo que las computadoras deben en la página web de Concept-
net 5.
saber. El fruto de este trabajo es un inmenso grafo en el que los vértices repre-
sentan conceptos y las aristas, las propiedades que los relacionan. Actualmen-
te se encuentra en su versión 5 y se distribuye mediante la licencia Creative
Commons.
The Knowledge Graph es un proyecto de Google que tiene como objetivo crear El proyecto The
una base de conocimiento para mejorar los resultados de su motor de búsque- Knowledge Graph
da. Este conocimiento representará el mundo por medio de las entidades que Encontraréis más información
lo forman: personas, lugares, películas, etc., así como las relaciones entre es- sobre el proyecto en la página
web The Knowledge Graph;
tas. Con este proyecto, Google quiere dar un paso adelante tecnológicamen- también en el blog de este
proyecto.
te, introduciendo conocimiento semántico dentro de la búsqueda. Este cono-
cimiento semántico permite, entre otras cosas, tener información de contex-
to de los términos buscados por los usuarios y utilizar esta información para
desambiguar búsquedas, refinarlas o ampliarlas.
Probase
Un chiste popular explica que el sentido común es “el menos común de los
sentidos”. Incluso a los seres humanos nos cuesta aplicar el sentido común en
todas las situaciones, y podemos llegar a cometer errores evidentes.
Si queremos evitar que un sistema inteligente cometa este tipo de errores, te-
nemos que codificar el conocimiento de sentido común relativo al problema.
Veamos, como ejemplo, un texto de Marvin Minsky en el que habla sobre el sentido
común y el razonamiento:
“Solo en matemáticas podemos decir (sentencias como) «si a y b son enteros, entonces
a + b = b + a» . Consideremos ahora un hecho como «los pájaros pueden volar». Si pen-
samos que el razonamiento del sentido común es el mismo que el razonamiento lógico,
entonces uno cree que hay principios generales de este tipo: «si Joe es un pájaro y los
pájaros pueden volar, entonces Joe puede volar». ¿Consideramos que Joe es un avestruz
o un pingüino? Bien, si es así podemos crear el axioma «si Joe es un pájaro y no es un
avestruz ni un pingüino, entonces Joe puede volar». Sin embargo, ¿y si Joe está muerto?
¿O tiene los pies clavados?”
Hay dos factores que deberemos tener en cuenta a la hora de intentar codificar El razonamiento
el conocimiento del sentido común:
“El razonamiento es la capa-
cidad de los humanos de dar
• Hay una gran cantidad de conocimiento de sentido común y no es factible sentido a las cosas para esta-
blecer y verificar hechos, así
representarlo todo. Habrá que elegir el conjunto mínimo suficiente para como para cambiar o justificar
prácticas y/o creencias.”
resolver el problema. Nikolas Kompridis (2000).
So we need something else for
reason to mean (págs. 271-
• Puede ser difícil identificar el conocimiento de sentido común, puesto que 295). [Traducción libre.]
es tan evidente que acostumbra a darse por asumido. Por lo tanto, hay
un riesgo elevado de pasar por alto este conocimiento en el esquema de
representación. Será necesario hacer un esfuerzo adicional para explicitar
este conocimiento durante la fase de adquisición.
Hay algunas restricciones de sentido común a la hora de posicionar los objetos, como
por ejemplo el hecho de que dos objetos no se pueden solapar. Si nos olvidamos de re-
presentar este conocimiento, podemos obtener soluciones erróneas a nuestro problema.
Por ejemplo, podríamos obtener como solución óptima “ubicar todos los objetos en la
misma posición”. Esta solución minimiza claramente la superficie ocupada y el tiempo
de comunicación entre objetos, pero no se puede llevar a la práctica puesto que las leyes
de la física impiden que dos objetos ocupen el mismo espacio de manera simultánea.
2.4.3. El problema del lenguaje natural
El lenguaje que utilizamos las personas como mecanismo para comunicarnos Lenguajes naturales y
se denomina lenguaje� natural. Este nombre se utiliza en contraposición a lenguajes formales
los conocidos como lenguaje�formales, como por ejemplo los lenguajes de Lenguaje�naturales: lenguaje
programación. producido de manera espon-
tánea por los seres humanos,
y cuyas reglas derivan del uso.
Se utiliza en la comunicación
La ventaja del lenguaje natural es su gran expresividad: permite expresar cual- humana.
quier cosa que se pueda representar simbólicamente y, por lo tanto, puede des- Lenguaje�formales: lenguajes
artificiales definidos a partir de
cribir incluso elementos de arte, fotografías o emociones. Una segunda ven- un conjunto de convenciones
y reglas que permiten una co-
taja es la gran cantidad�de�conocimiento que está representado en lenguaje municación precisa.
natural.
La frase siguiente:
tiene dos interpretaciones posibles: la primera, que John vio a David por medio de los
binóculos. No obstante, tenemos una segunda interpretación posible: John vio que David
llevaba unos binóculos. Por lo tanto, nos falta conocer el contexto para saber a quién
pertenecen los binóculos.
(8)
El procesamiento�del�lenguaje�natural� (NLP8) es el ámbito de la IA dedicado Del inglés natural language pro-
cessing.
a la investigación sobre la comprensión y el tratamiento del lenguaje natural.
Principalmente, las técnicas de procesamiento de lenguaje natural pertenecen (9)
En inglés, data mining.
9
a las disciplinas de aprendizaje automático y de extracción de datos , las que
contribuyen al desarrollo de métodos de resolución de tareas como sumariza- (10)
En inglés, question answering.
10
ción automática, búsqueda de respuestas , traducción automática, identifica-
(11)
En inglés, named-entity recogni-
ción de entidades11, desambiguación lingüística, etc.
tion.
2.5. Los esquemas lógicos Lectura complementaria
El proceso de inferencia tiene un coste computacional que puede llegar a ser Indecidibles
muy elevado y que no sea factible razonar sobre una base de conocimiento.
Encontramos formalismos ló-
Este coste está directamente vinculado a dos factores: gicos en los que el proceso de
cálculo puede ser tan costoso
que no hay garantía de su ter-
• El tamaño de la base de conocimiento: cuanto más conocimiento guarda- minación: ¡el proceso podría
quedar calculando de manera
mos, más costoso es razonar sobre el mismo. indefinida, sin llegar a dar nin-
guna respuesta!
Uno de los componentes fundamentales de las fórmulas en LPO son los tér-
minos. Un término puede ser:
(12)
• Una constante12 (peter, 2, blue, etc.), que puede hacer referencia a un objeto Las constantes se pueden ver
como un caso particular de fun-
del dominio o al valor de un atributo de un objeto. ción con 0 argumentos.
0 0 0 0 1 1 1
0 1 0 1 1 1 0
1 0 0 1 0 0 1
1 1 1 1 1 0 0
• Existencial (∃), que indica que la fórmula es cierta para algún valor de
la variable. Por ejemplo, para indicar que “John es amado por alguien”
utilizaríamos la fórmula siguiente:
∃x: Loves(x, john)
Un esquema Prolog consta de dos elementos: hechos (predicados que son cier- Convenciones de Prolog
tos) y reglas�(patrones del tipo “si se cumplen un conjunto de condiciones,
En Prolog, cualquier cadena
se puede afirmar este predicado”). El esquema responderá a cuestiones plan- que empieza por mayúscula se
teadas en forma de uno o más objetivos, predicados en los que alguno de sus considera una variable: un sím-
bolo que puede tomar cual-
argumentos puede ser variable. Prolog utilizará los hechos y las reglas para quier valor. Los nombres de
los predicados y las funciones
encontrar una asignación posible de valores a las variables que hacen cierto el tienen que empezar necesaria-
mente por minúscula. Obser-
predicado (respuesta “Yes”), o concluir que el predicado es falso para cualquier vad que la convención es di-
valor de las variables (respuesta “No”). Internamente, se utiliza un algoritmo ferente a lo habitual en lógica
de primer orden, en la que los
de backtracking (vuelta atrás) para considerar todas las posibles combinaciones predicados se escriben en ma-
yúscula y las funciones, cons-
de valores de las variables. tantes y variables, en minúscu-
la.
Ejemplo 34. Definición de hechos utilizando Prolog
gender(sarah, female).
gender(peter, male).
gender(john, male).
parent(sarah, john).
parent(sarah, peter).
La parte derecha de una regla indica las condiciones que se tienen que cumplir
y es una lista de predicados separada por comas. En la parte izquierda hay un
único predicado: el que será cierto si se cumplen todas las condiciones de la
parte derecha.
person(X) :- parent(X,_).
Recordemos
En cuanto a su forma, la representación en red sostiene el conocimiento
por medio de una estructura de grafo, en la que los vértices represen- Recordemos que un grafo eti-
quetado es un grafo que tie-
tan objetos o conceptos del dominio del problema (por ejemplo, el “co- ne asociada información a sus
arcos (o aristas) mediante una
che” o el color “rojo”) y los arcos representan normalmente relaciones etiqueta que contiene cual-
o asociaciones entre sí (por ejemplo, “el coche es de color rojo”). Tanto quier tipo de datos o informa-
ción útil.
los arcos como los vértices pueden estar anotados con etiquetas que
aportan información adicional.
Los ejemplos más conocidos de esquemas basados en redes son las redes se-
mánticas, los grafos conceptuales y las ontologías.
2.6.1. Las redes semánticas
(13)
Para entender qué son las redes semánticas13, hay que hablar primero de lin- Las redes semánticas constitu-
yen una representación idónea pa-
güística. El análisis lingüístico está dividido mayoritariamente en cinco cam- ra la visualización del conocimien-
pos de estudio: to.
Por lo tanto, el conocimiento que mantienen las redes semánticas son defi-
niciones de conceptos además de las relaciones entre ellas. Aparentemente,
este es un patrón de estructura muy simple, pero ha sido utilizado con éxito
para la construcción de muchas redes complejas, como es el caso del proyecto
WordNet y su versión europea, EuroWordnet.
El gráfico que acompaña este ejemplo (ilustración 4) es una muestra extraída de la red
semántica desarrollada por A. Collins y R. Quillian (1969) en su investigación sobre el
almacenamiento de información humana. Se trata de un buen ejemplo sobre cómo la
jerarquía de la estructura tiene la capacidad de dar respuestas. Es decir, podemos hallar
la respuesta a las preguntas siguientes: “¿Puede un canario cantar?”; “¿Es un canario un
pájaro?”; “¿Puede un canario volar?”; o “¿Respira un canario?”.
Ilustración 4. Red semántica
Estudios efectuados sobre cómo almacenan información los humanos revelan Ved también
que utilizamos niveles de abstracción, y cada uno de estos contiene las pro-
El mecanismo de generaliza-
piedades que esperamos que sean generalizadas. Así pues, los seres humanos ción y especialización se ex-
usamos de manera interna conocimiento heredable. Ante este conocimiento, plica con más detalle en el
subapartado 1.3.6 de este mó-
la red semántica es un mecanismo idóneo para su representación. dulo didáctico.
Estructuralmente, un grafo conceptual es un grafo finito y conexo que tiene Grafos bipartitos y grafos
la propiedad de ser bipartito. Los vértices del grafo pueden ser conceptos o conexos
relaciones conceptuales. Este tipo de representación no asocia etiquetas a los Recordemos que un grafo G
arcos, sino que son los vértices de relaciones conceptuales los que representan = (V, A) es bipartito si existe
una partición del conjunto de
las relaciones entre los conceptos. De este modo, los vértices de conceptos solo vértices, es decir, si se pueden
separar en dos conjuntos dis-
tendrán arcos hacia vértices de relaciones conceptuales, y también a la inversa. juntos V1 y V2 de modo que las
Por lo tanto, se garantiza la propiedad bipartita del grafo. aristas solo conectan vértices
de un conjunto con vértices
del otro.
Un grafo G = (V, A) es conexo
Los vértices concepto representan objetos concretos o abstractos del mundo
si para cada par de vértices u y
caracterizados por nuestra capacidad para formarnos una imagen mental de v de G hay un camino entre u
y v.
estos. Pueden incluir tanto conceptos generales –por ejemplo avión, teléfono
u hotel– como instancias (objetos más específicos): el avión Boeing 747 con
número de serie XW63783736E o el hotel Ritz de París.
La ilustración 9 muestra la proposición “La avestruz no puede volar aunque tiene alas”.
2.6.3. La implementación
Para ilustrar cómo se utilizan estos lenguajes, veremos de qué manera imple-
mentar una red semántica en Lisp. La implementación es sencilla y, además,
encontramos varios estilos para hacerlo.
El siguiente código Lisp es la implementación del ejemplo 37 del subapartado 2.5.1 (red
semántica sobre pájaros). Antes que nada, se define la función para crear relaciones de
herencia entre conceptos (entities) de primer nivel (función isa), y a continuación para
añadir atributos (función attr):
Ahora codificaremos el conocimiento propio del ejemplo utilizando las funciones defi-
nidas anteriormente.
Cualquier persona que tenga experiencia en conducir un coche posiblemente puede ha-
ber conducido más de un coche en su vida. Por este motivo, si alguna vez necesita alqui-
lar uno, no tendrá ningún problema en saberlo conducir.
Cuando la empresa de alquiler de vehículos hace entrega del coche, el locatario espera
encontrar unas puertas de acceso, un asiento para el conductor y para el resto de los
pasajeros, un volante, unos pedales de gas y freno, etc. Pero además, percibe el color del
coche, la posición del retrovisor y de los mandos de las luces, etc. También recordará
las instrucciones de cómo llenar el depósito de gasolina: accionar la palanca debajo del
volante, desenroscar el tapón exterior del depósito, etc. Todos estos detalles se organizan
dentro de una estructura conceptual que representa un coche genérico.
La figura siguiente muestra cómo un coche de alquiler puede ser representado por un
marco en el que se describen cada una de sus características. Vemos claro que el coche
de alquiler es una especialización de la clase Coche, e incluye slots para detallar su uso,
el segmento, las partes que lo componen y los pasos para cargarlo. Recordemos que los
slots pueden contener valores (como son el uso, el segmento y el cambio), punteros a
otros marcos (como es el caso del motor eléctrico) y también procedimientos, en este
caso “cómo cargar de electricidad”.
Ilustración 10. Marco que describe un coche de alquiler
Cada marco individual se puede ver como una estructura de datos que contie-
ne la información relevante de sus características estereotipadas. En un marco,
los slots contienen información como la siguiente:
• Información por defecto del marco. El valor de este slot se usa por defec-
to cuando no se informa de lo contrario. Por ejemplo, la moto tiene dos
ruedas.
• Información de una instancia nueva. Serán valores que no están especi-
ficados hasta darse una instancia particular. Por ejemplo, el Segmento del
coche no hay que especificarlo en la definición de Coche.
Para concluir, recordaremos que los marcos son útiles para simular el
conocimiento de sentido común, generalmente conocido y estereotipa-
do y que nos permite detallar todas las características típicas de lo que
se modeliza.
Sin embargo, aun estando ante una representación que provee un método
natural para representar entidades estereotipadas, clases, herencia y valores
por defecto, G. F. Luger y W. A. Stubblefield avisan de los problemas todavía no
resueltos que presentan los lenguajes de programación para su organización.
Uno de estos problemas tiene relación con la herencia y se manifiesta cuando
una instancia no puede heredar uno de sus slots de una superclase. En este
caso, el usuario tiene que decir cómo se procede: bien eligiendo si hay que
cancelar el slot en concreto o bien solo el valor que debería contener.
2.7.2. Los scripts
(14)
En español, ‘guion’.
Scripts
Lectura complementaria
G. F. Luger y W. A. Stubblefield (1998) definen el script14 de esta manera:
El script fue diseñado origina-
“Una representación estructurada que describe una secuencia estereoti- riamente por R. Schank y R.
pada de eventos en un contexto particular”. Abelson:
R.�Schank;�R.�Abelson
(1977). Scripts, planes, goals
and understanding: An inquiry
Estamos, por lo tanto, frente a una estructura que tiene como objetivo la des- into human knowledge structu-
res. Erlbaum.
cripción de situaciones típicas por medio de la representación de secuencias
de los eventos que suceden en ellas.
R. Schank y R. Abelson proponen un ejemplo muy aclaratorio del uso de un script. Ima-
ginemos la secuencia de escenarios posibles que tienen lugar cuando una persona come
en un restaurante:
(15)
Como hemos visto en este ejemplo, el conjunto de escenarios sirve para or- En inglés, conceptual depen-
dency.
denar y dividir la secuencia de eventos que tienen lugar en una situación, pero
también es preciso descomponerlos con más detalle, en un ámbito de acciones
y cambios de estado. Para hacerlo, se utilizará la teoría de dependencias�con-
ceptuales15, enfocada a representar el conocimiento de los eventos que apare-
cen en las frases en lenguaje natural y facilitar la inferencia de conocimiento
de manera independiente del lenguaje en el que se expresen.
Para describir la acción que un cliente hace en un restaurante para llegar a la mesa, hay
una gran diversidad de frases posibles: “el cliente andará hacia la mesa”, “el cliente se
desplazará hasta la mesa”, etc.
Todas las frases anteriores tienen el mismo significado. De este modo, para representarlas
utilizaremos la transición conceptual PTRANS, destinada a las acciones de movimiento:
Además de PTRANS, también están MTRANS, utilizada para acciones de trans- Reflexión
ferencia “dar” o “tomar”; y ATRANS, útil para las acciones que representan
Estamos ante un tipo de repre-
acciones mentales; etc. sentación canónica del lengua-
je natural que puede ser pro-
cesado por los ordenadores.
Ejemplo 46. Descripción de un script para un restaurante
El diagrama siguiente muestra un script que representa un restaurante con todas las ac-
ciones que suceden cuando un cliente entra a comer.
El script se compone de los elementos siguientes:
(16)
1) Las condiciones�de�entrada16, que se tienen que satisfacer para que se pueda En inglés, entry conditions.
iniciar el script.
S is hungry
S has money
(17)
2) El resultado17; es un conjunto de condiciones que son ciertas cuando el En inglés, results.
script finaliza.
Ejemplo 48. Resultados en el restaurante
(18)
3) Las propiedades18; son los objetos involucrados en la situación que se des- En inglés, abreviadas, props.
cribe.
Tables
Menu
F = Food
Check
Money
(19)
4) Los roles19; son las diferentes entidades o personas que intervienen en la En inglés, roles.
situación descrita.
S = Customer
W = Waiter
C = Cook
M = Cashier
O = Owner
(20)
5) Los escenarios20; son las diferentes secuencias de eventos que se dan en el En inglés, scenes.
script.
Scene 1: Entering
Scene 2: Ordering
Scene 3: Eating
Scene 4: Exiting
Las arquitecturas de este tipo codifican el “cómo llevar a cabo alguna tarea”, Ved también
y así modelizan el conocimiento procedimental, que ya hemos definido. En
Podéis ver la definición de co-
otras palabras, representan las habilidades que contiene el conocimiento, co- nocimiento procedimental que
mo por ejemplo conducir un coche, ir en bicicleta, etc. En definitiva, la repre- proponemos en esta asignatu-
ra en el subapartado 1.3.3 de
sentación procedimental incluye todo lo que suponga detallar los pasos para este módulo didáctico.
• Es modular, puesto que cada una de las reglas es una porción de conoci-
miento independiente.
• El control de las reglas puede hacerse difuso, debido a que las reglas quizá
tengan interacciones entre sí que pueden ser difíciles de controlar.
• “De un dominio” indica que está enfocada a representar tan solo una parte
de la realidad.
Técnicamente, los elementos que constituyen una ontología son los concep-
tos, las relaciones, las instancias y los atributos:
Por este motivo, son muchas las fuentes de conocimiento del dominio médico SNOMED CT
®
representadas con ontologías. Un ejemplo es el de SNOMED-CT , la ontología
Para conocer más lo que es
más grande, precisa y multilingüe de terminología clínica. SNOMED CT, podéis ver el re-
curso de Internet siguiente:
®
SNOMED Clinical Terms
Ejemplo 54. Definición de un concepto SNOMED-CT® y sus relaciones y ®
(SNOMED CT ) - OS National
atributos Library of Medicine
Son muchas las cuestiones que surgen cuando se utilizan algunos de los es-
quemas anteriormente descritos o tenemos la intención de representar algún
tipo de conocimiento. Por ejemplo:
Otros tipos de relaciones utilizadas son las relaciones que indican propiedades
semánticas de la lengua, como por ejemplo sinónimo y antónimo.
Otro aspecto que conviene tener en cuenta a la hora de definir las relaciones es
el esquema de representación. Según el esquema de representación que se uti-
lice, algunas restricciones de integridad de las relaciones serán muy relevantes
o totalmente irrelevantes. Por ejemplo, las restricciones que indican que una
relación es simétrica, transitiva o funcional toman mucha relevancia si traba-
jamos con esquemas de representación basados en lógica descriptiva, mientras
que las relaciones de cardinalidad pueden no ser tan relevantes. Además, no
será posible utilizar relaciones con una aridad superior a 2. Por otro lado, si uti-
lizamos UML para representar el conocimiento, la aridad de las relaciones po-
drá ser superior a 2 y las restricciones de cardinalidad se hacen más relevantes.
Los atributos o las propiedades son relaciones binarias en las que cada uno
de los participantes de la relación es un tipo de datos. Sorprendentemente,
a día de hoy todavía encontramos muchas definiciones de tipos de datos y
no parece haber un consenso claro sobre su semántica. En esta asignatura,
para simplificar su identificación, estableceremos los tipos de datos según esta
definición: un tipo de dato es una clase cuyos valores la identifican de manera
unívoca. Por ejemplo, el número 3 es un tipo de dato porque dos números 3
son el mismo número. Lo mismo sucede con el texto “Juan” o con la fecha “3
de julio de 1974”. No obstante, la clase Libro no es un tipo de datos porque
podríamos tener dos libros con los mismos datos (ISBN, idioma, título, autor,
etc.) pero que, aun así, se tratara de dos ejemplares físicos distintos.
• Ser conscientes del volumen, tanto por los hechos generales (clases, con-
ceptos) como por los más específicos (instancias, objetos).
• Los hechos más generales no suelen ser los adecuados para la inferencia
de conocimiento, puesto que tenemos menos especificación del dominio.
Para responder a esta pregunta, necesitamos añadir algún hecho más; con los que tene-
mos, no podemos dar una respuesta. Elegimos generalizar la implicación de que manchar
también significa ver lo que se mancha:
Manchar(x,y) → Ver(x,y)
Las clases pueden tener relaciones que las caracterizan y las definen, pero al-
gunas forman parte de un conjunto más amplio. Es decir, hay afirmaciones
ciertas de hechos a escala de conjunto, que no lo son a escala individual.
Ejemplo 58. Relaciones colectivas
El hecho de que haya más ovejas que personas no es una propiedad individual de una
oveja, sino que recae en el conjunto de ovejas. Por lo tanto, esta propiedad se tiene que
definir para el conjunto de las ovejas.
En una prueba médica, siempre está presente el riesgo de obtener un resultado erróneo,
ya sea por un error humano, una contaminación de la muestra, la interferencia de otra
enfermedad, etc. Por este motivo, en ocasiones se pide repetir una prueba o hacer otras
relacionadas para tener más fiabilidad en el diagnóstico. Un sistema inteligente que tra-
baje en el ámbito médico ha de tener en cuenta esta posibilidad de error a la hora de
tomar decisiones.
(21)
El hecho de que un problema conlleva asociado un conocimiento�incierto En inglés, fuzzy logic.
resulta más normal de lo que creemos, puesto que el conocimiento es casi
siempre incompleto o incierto. Por este motivo, hay métodos de modelización
especiales para indicar incertidumbre y que normalmente consisten en pon-
derar valores de confianza o pesos. La lógica difusa21 es un ejemplo de esto.
¿Cómo podemos representar la idea de “muy lejos”? (J. Klir; T. A. Folger, 1988).
En el procesamiento del lenguaje natural, una de las técnicas básicas para extraer infor-
mación de un texto es llevar a cabo un análisis de las categorías gramaticales de cada
una de las palabras. Es decir, detectar si la palabra es un nombre, un verbo, un adjetivo,
un artículo, etc. Después de este primer análisis, se pueden llevar a cabo posteriormente
procesamientos más complejos, como por ejemplo un análisis sintáctico.
Para resolver este problema, se diseñan procedimientos que utilizan conocimiento heu-
rístico basado en reglas que cuentan los patrones con ponderaciones para la clasificación
gramatical de cada uno de los ideogramas en función del contexto (los otros ideogramas
que lo acompañan en la oración).
Ejercicios de autoevaluación
1. Considerad el conocimiento implicado en los dominios o problemas siguientes y clasificad
este conocimiento como tácito, explícito, declarativo, procedimental, heredable, etc., según
corresponda. Tened en cuenta que puede haber más de un tipo de conocimiento implicado
en cada dominio de conocimiento.
concepto m Según el contexto, este término se puede utilizar para referirse a una idea
abstracta (véase instancia) o bien a un conjunto de objetos.
Véase categoría.
sin. entidad
dominio m Área de conocimiento que engloba la información relevante para uno o más
problemas relacionados.
grafo conceptual m Esquema conceptual en forma de grafo bipartito con dos tipos de
nodos: concepto y relación conceptual. Las aristas indican qué conceptos participan en cada
relación, lo que permite representar fácilmente relaciones con múltiples participantes.
Véase red semántica.
instancia f Elemento concreto del mundo real, ya sea un objeto tangible o una idea abs-
tracta.
sin. individuo
sin. objeto
instanciación f Acción de creación de una nueva instancia dentro de una categoría. Como
parte de esta acción, se definen unos valores de sus atributos.
lenguaje natural m Lenguaje utilizado por los seres humanos para comunicarse entre
sí, y cuyas reglas derivan del uso.
relación f Vínculo entre dos o más instancias o categorías. Una relación se caracteriza por
el tipo de vinculación, cuáles son los participantes, el papel de cada uno y las restricciones de
integridad (participación obligatoria u opcional, número mínimo y máximo de participantes,
etc.). Algunos ejemplos de tipos de vinculación son la generalización/especialización (is a) o
la pertenencia (part of, member of, belongs to, etc.).
sintaxis f Conjunto de reglas que indican cómo se pueden construir y combinar los ele-
mentos de un lenguaje para formar sentencias.
Davis, R.; Shrobe, H.; Szolovits, P. (1993). “What is knowledge representation?”. AI ma-
gazine (vol. 1, núm. 14, págs. 17-33).
Kompridis, N. (2000). “So we need something else for reason to mean”. International journal
of philosophical studies (vol. 3, núm. 8, págs. 271-295).
Luger, G. L.; Stubblefield, W. (1998). Artificial intelligence – Structures and strategies for
complex problem solving (3.ª ed.). Addison-Wesley.
Nonaka, I.; Takeuchi, H. (1995). The knowledge creating company: how Japanese companies
create the dynamics of innovation. Nueva York: Oxford University Press.
Reynolds, C. W. (1982). “Computer animation with scripts and actors”. Computer graphics
(vol. 3, núm. 16).
Russell, S.; Norvig, P. (2010). Artificial intelligence – A modern approach (3.ª ed.). Person
Education.
Bibliografía adicional
Rowley, J. (2007). “The wisdom hierarchy: representations of the DIKW hierarchy”. Journal
of Information Science (abril, vol. 33, núm. 2, pág 163-180).
Klir, G. J.; Folger, T. A. (1988). Fuzzy sets, uncertainty and information (1.ª ed.). Prentice
Hall (enero). ISBN-13: 978-0133459845.
Sloman, A. (1979). “Epistemology and artificial intelligence”. En: D. Michie (ed.). Expert
systems in the microelectronic age. Edinburgh University Press.