VII.1  Representación del Conocimiento

Fernando Galindo Soria*

Junio de 1985. Ultima revisión 2 de Noviembre del 2010

Introducción

La necesidad de contar con mecanismos que nos permitan obtener, preservar y transmitir el conocimiento es uno de los problemas que se presentan al tratar de comprender la realidad que nos rodea y en particular con la explosión de la información que se presenta en nuestro tiempo, esta necesidad de obtención-transmisión de conocimiento ha crecido en forma acelerada, por lo que cada vez se necesitan mecanismos más “compactos” que nos permitan conservar el conocimiento que se está manejando. Lo anterior ha propiciado el surgimiento de diferentes niveles de abstracción en la representación del conocimiento, comenzando con los mecanismos en los cuales simplemente se listan los hechos, continuando con aquellos en los que se busca ordenar y jerarquizar esos hechos y así hasta llegar  a obtener reglas generales que explican y sintetizan el conocimiento aportado por múltiples hechos (por ejemplo, las leyes de la Física).

   Con el surgimiento de la Computación, de la Informática y en particular de la Inteligencia Artificial, el problema de representar el conocimiento adquiere una relevancia trascendental ya que ahora se trata de que los sistemas automatizados capten, almacenen, transmitan, evalúen y generen conocimiento, de donde uno de los puntos  cruciales de la Inteligencia Artificial se centra en los mecanismos que permitan representan el conocimiento en forma automatizada.

Por lo anterior, se presenta un panorama de las múltiples formas de representación del conocimiento y sus posibilidades de automatización, para lo cual se parte de la asociación de datos a hechos y objetos, se ven los diferentes niveles para relacionar datos (expresiones, funciones, relaciones, algoritmos, heurismas), continuando con herramientas como las Bases de Conocimiento y el Álgebra Cualitativa y terminando con mecanismos en los cuales el conocimiento no se almacena en un nodo específico, sino que se encuentra representado por toda la complejidad de un sistema, como es el caso, por ejemplo, de los circuitos de computadora (almacenan operaciones en el sistema) y las Redes Neuronales (almacenan conocimiento en el sistema).

 

1  Conceptos Generales

El ser humano siempre ha tratado de representar y comprender la realidad que le rodea y en ese intento ha generado múltiples teorías y desarrollado su creatividad artística, tecnológica y científica.

En particular, se considera que la informática es una herramienta con la cual se puede facilitar la construcción de modelos de la realidad, ya que, dado un universo conceptual en el cual existen relaciones de materia, energía e información entre los entes u objetos que forman el universo, se puede encontrar un modelo informático, en el cual, tanto el conocimiento que se tiene de los entes como de las interrelaciones entre ellos se pueden representar como datos y transformaciones entre estos.

* Fernando Galindo Soria, escribió este trabajo en junio de 1985 cuando estaba en la Unidad de Investigación y Desarrollo en Computación (UIDC) del Dpto. de Computación de la UPIICSA del IPN, lo presentó como ponencia y publicó en las memorias del II Congreso Internacional de Ingeniería en Comunicaciones Eléctricas y Electrónicas, en la Cd. de México en Noviembre de 1985, cuando era Jefe de la Licenciatura en C. de la Informática de la UPIICSA. Ultima revisión el 2 de Noviembre del 2010.

 

 

 

   De lo anterior se observa que uno de los problemas de la informática se centra en los mecanismos para representar el conocimiento que se tiene acerca de un universo dado.

   Antes de estudiar los mecanismos específicos se verán algunas consideraciones sobre el conocimiento y sus diferentes niveles.

   Desde el punto de vista de la pedagogía se tienen escuelas que estructuran los niveles de conocimiento de acuerdo a una secuencia o taxonomía, de estas la más conocida es la Taxonomía de Bloom, en la cual se considera que el conocimiento que se tiene de algo puede caer en alguna de las siguientes categorías:

1) Conocer, se sabe que existe algo.

2) Comprender, se entiende algo y se puede usar de alguna manera ese conocimiento.

3) Aplicar, dado un problema es capaz de solucionarlo utilizando el conocimiento adquirido.

4) Analizar, se es capaz de encontrar las partes constitutivas de algo y las relaciones entre estas.

5) Sintetizar, se es capaz de integrar diferentes partes para formar un todo.

6) Evaluar, se puede formar un juicio sobre algo.

   Por otro lado, en el área de la Lingüística Matemática  se manejan los siguientes niveles de conocimiento:

1) Fonético, se conocen los elementos “atómicos” de un universo.

2) Léxico, se conocen las relaciones entre los elementos atómicos para formar elementos básicos o “moléculas”.

3) Sintáctico, se conocen las reglas que indican cuales son las estructuras o relaciones entre elementos permitidas.

4) Semántico, se conoce el significado general de los elementos y de sus relaciones.

5) Pragmático, se conoce el significado particular o referencia a un contexto de los elementos y sus relaciones.

6) Hermenéutico, se conoce el significado real de las cosas

   Si se observa el proceso de concretización de una disciplina o Área del Conocimiento se puede observar que en general esta pasa por los siguientes niveles:

1) Temas aislados, se tiene una serie de temas reunidos en forma circunstancial (diccionario).

2) Temas agrupados, los temas se agrupan en temas generales según un criterio de agrupamiento (enciclopedia).

3) Temas jerarquizados o disciplina taxonómica, los temas se integran según un orden y se tiene una primera relación entre ellos (biblioteca especializada).

4) Sistema de conocimiento o disciplina empírica, en este nivel a partir de los temas se abstraen reglas, técnicas, métodos y principios no aceptados en general y la disciplina se describe en término de estas abstracciones y no de los temas específicos.

4) Disciplina o Ciencia, en este nivel a partir de los temas se abstraen reglas, técnicas, métodos, principios y paradigmas aceptados en general y la disciplina se describe en término de estas abstracciones y no de los temas específicos.

 

2  Formas Básicas de Representación del Conocimiento

El conocimiento que se tiene de una realidad puede caer en cualquiera de los enfoques y niveles presentados anteriormente, por lo que es difícil pensar en un único mecanismo para representar el conocimiento (esto no indica que no exista tal mecanismo, sino únicamente que, el nivel de conocimiento sobre este tema es aun elemental).

   Por lo que a continuación se verán algunas de las formas de representación que se manejan actualmente y en particular aquellas  que son independientes de una computadora.

   La forma más sencilla de representar el conocimiento consiste simplemente en asociar un dato o etiqueta a lo que se quiere representar, como por ejemplo, asociar un nombre a una persona y almacenar ese nombre o asociar un numero a cierta cantidad de manzanas un mecanismo más complejo de representación surge cuando se observa que existe una relación entre el número de manzanas que se obtiene al juntar varios grupos de manzana y el número de manzanas de cada grupo y que este tipo de relaciones se mantienen independientemente de si lo que unen son manzanas o cualquier otra cosa.

   Después de observar múltiples veces este fenómeno se puede pasar a un nuevo nivel de representación de conocimiento en el cual se plantea una regla del tipo Si unimos un grupo con “n” elementos y otro grupo con “m” elementos en total se tienen “l” elementos siguiendo este proceso, mas adelante se llega a obtener una regla general, por ejemplo, para la suma. Es así que en la regla de la suma se encuentra representado el conocimiento de múltiples generaciones. Este proceso se ha repetido para las otras reglas básicas de la aritmética, donde cada regla es una forma de representar conocimiento.

   Pasando a otro nivel se tiene que, por ejemplo, la regla de la suma se puede abstraer y generalizar para representar la suma entre cualquier grupo de datos con lo cual se pasa a una nueva forma de representar el conocimiento en donde se representan las relaciones entre los datos de un universo dado como ocurre por ejemplo en el Álgebra.

   Las operaciones aritméticas son un caso particular de lo que se conoce como una relación y nuevamente este concepto nos marca un nuevo nivel de representación de conocimiento, ya que al establecer una relación se están generalizando múltiples casos particulares.

   Nuevamente se puede observar que al pasar de un nivel de representación a otro existe una compactación del mecanismo con lo que, por ejemplo miles de reglas particulares se integran en una regla general que las abarca y las sustituye.

   Hasta este punto se han mencionado mecanismos de representación que funcionan como reglas generales, sin embargo conforme los problemas atacados crecen en complejidad, la misma regla general es difícil que se quede en una sola acción u operación, es por eso que se requieren mecanismos mas complejos para representar conocimiento.

   Estos mecanismos se pueden dividir en dos formas:

1) Grupos de reglas.

2) Tablas de relación.

   El primer caso se encuentra que dado un problema, se puede plantear un conjunto de reglas que representan el conocimiento necesario para resolver el problema. Nuevamente este conjunto de reglas no surge por lo común en forma espontanea, sino que, es el resultado del trabajo de múltiples gentes, cuando estas reglas se orientan a obtener una solución independientemente de que sea la mejor o no, se conocen como heurismas y prácticamente todas las actividades comunes están repletas de heurismas o reglas de trabajo.

   Por su parte cuando las reglas pretenden llegar a obtener la mejor solución a un problema se tiene un algoritmo.

   Otra forma de representar un conocimiento complejo se tiene mediante las tablas de relaciones.

   Nuevamente se tienen dos tipos de tablas, una en las cuales a cada relación entre elementos se les asocia un valor y este es inmutable y cuantitativo como por ejemplo en el caso de la suma, multiplicación, tangente, etc., etc.

   Como no todos los problemas se pueden reducir a un esquema cuantitativo, en el otro tipo de tablas se representa un “conocimiento de todos los días” que no necesariamente es medible.

 

 

Combinación

BLANCO

GRIS

NEGRO

 

BLANCO

Blanco

Gris

Gris

 

GRIS

Gris

Gris

Negro

 

NEGRO

Gris

Negro

Negro

 

#

BLANCO

GRIS CLARO

GRIS

GRIS OSCURO

NEGRO

BLANCO

Blanco

Blanco

Gris Claro

Gris

Gris Oscuro

GRIS CLARO

Blanco

Gris Claro

Gris Claro

Gris

Gris Oscuro

GRIS

Gris Claro

Gris Claro

Gris

Gris

Negro

GRIS OSCURO

Gris

Gris

Gris

Gris Oscuro

Negro

NEGRO

Gris Oscuro

Gris Oscuro

Negro

Negro

Negro

 

   En base a las relaciones cualitativas se puede construir toda una Álgebra  Cualitativa en la cual se opere de acuerdo a las tablas cualitativas y se represente precisamente el “conocimiento de todos los días”, por ejemplo:

Gris # Gris Claro = Gris Claro

Gris Claro # Negro = Gris Oscuro

Negro # Blanco # Blanco = Gris Oscuro # Blanco = Gris

   En un momento dado se pueden tener múltiples tablas y combinar las operaciones entre los datos para obtener nuevos datos.

 

3  Representación del Conocimiento en la Computadora

Cuando la cantidad de objetos que se quieren representar y las posibles relaciones entre estos crece en forma considerable surge la necesidad de herramientas automatizadas para representarlas, es por lo anterior que en el área de computación se cuenta con varios medios de representación del conocimientos, de los cuales los mas sencillos constan solamente de datos almacenados en un campo (bit, carácter, palabra, etc.) concatenando varios campos se puede almacenar información mas compleja ya que si se quiere almacenar la edad de 10 personas se colocan 10 campos para edad.

   Por otro lado para representar las características que nos interesan sobre una persona se pueden tener un grupo de campos en cada uno de los cuales se alacena un dato diferente, por ejemplo, se pude tener campo de nombre, edad, sexo, grado de estudios, etc. y los valores que tomemos dan el conocimiento acerca de la persona por ejemplo: nombre /Juan Pérez, edad/30, sexo /m, grados de estudios/2do. de secundaria.

   Entonces a cada objeto o ente que se quiera conceptualizar se le puede asociar un grupo de campos a los que se les asocia los atributos mas relevantes.

   Si en lugar de un ente se tienen varios entes del mismo tipo por ejemplo varias personas), entonces se puede agrupar la representación de todos los entes para formar una entidad.

   Cuando existen múltiples entes de diferentes tipos se pueden forma agrupamientos de entes del mismo tipo en entidades y en un momento dado tener varias entidades que agrupan a los entes y cada ente esta caracterizado por un conjunto de atributos.

A pesar de que esta forma de almacenar el conocimiento se pude considerar fuerte, resulta que tiene múltiples limitaciones ya que en un momento dado los entes representados se encuentran relacionados entre si, y esa relación no se conserva, por otro lado se esta manejando un nivel de representación muy elemental, ya que a cada ente se le asocia solo un conjunto de campos y no tiene otros mecanismos de abstracción.

   Para atacar el primer problema se ha desarrollado en la Informática lo que se conoce como Base de Datos , para el segundo las Bases de Conocimiento.

   En una Base de Datos además de almacenar los datos de cada ente, también se almacenan las relaciones sintácticas que existen entre diferentes entes.

   Por su lado en las Bases de Conocimiento, a cada ente se le asocian relaciones con otros entes, buscando que en sí la relación representa un nuevo conocimiento y enfatizando la relación entre los entes mas que las características de un ente en particular, con lo cual ya se cuenta con un mecanismo capaz de representar el conocimiento en una forma que se puede utilizar para inferir nuevo conocimiento.

   Cuando se almacena el conocimiento en una Base  de Conocimiento por un lado se tienen hechos o sea relaciones entre diferentes entes y por el otro lo que se conoce como reglas de inferencia, con las cuales se tiene un nivel mas avanzado de representación que indican características generales sobre los hechos, y marcan que si se cumple un conjunto de circunstancias se pude inferir algo nuevo. Estas reglas son las que le dan su fuerza a las Bases de Conocimiento y le permiten manejar un nivel mas abstracto y general, aunque estas reglas de inferencia se aplican a cualesquier hechos que cumplan con sus premisas independientemente de los entes particulares que represente. Asociados con estos mecanismos se tiene lo que se conoce como rutinas semánticas, las cuales son, algoritmos o heurismas que representan el conocimiento de como hacer algo, y son llamadas o ejecutadas cuando se cumplen ciertas reglas, y por otro lado tenemos el álgebra cualitativa con la cual se representa el “conocimiento de todos los días”.

   La combinación de las Bases de Datos, Bases de Conocimiento, Rutinas Semánticas, Álgebra Cualitativa, etc., nos proporcionan un mecanismo muy poderoso de representación de conocimiento, ya que, en la base de conocimiento se almacenan los entes y las relaciones entre estos y las reglas que permiten inferir nuevo conocimiento a partir del ya existente, por otro lado los entes pueden apuntar a las bases de datos, donde se encuentra la información de detalle, y por su parte ciertas reglas de inferencia pueden inferir alguna rutina semántica o alguna operación cualitativa entre diferentes componentes.

 

4  Representación en Base a Propiedades Emergentes de las Estructuras

Al analizar un sistema como el propuesto anteriormente se puede observar que mucho del conocimiento no está almacenado en términos de datos concretos, sino que, surge como una manifestación de las relaciones entre los hechos y de las reglas que permiten combinar estos hechos. Es por lo anterior que un mecanismo de representación de conocimiento no tiene porque estar formado únicamente por nodos concretos en los cuales se almacene este conocimiento, y se considera que se puede tener un mecanismo en el cual el conocimiento se encuentre difundido por todo el sistema, y sea el resultado emergente de la concatenación de múltiples nodos aplicados a un caso particular. Como ejemplos de mecanismos de este tipo se tienen los Circuitos Aritméticos y las Redes Neuronales.

   En el caso de los Circuitos Aritméticos, por ejemplo los sumadores binarios, se tiene un sistema en el cual se almacena el conocimiento de como sumar, pero no en una tabla de la suma ni en un algoritmo de suma, sino un mecanismo que obtiene la suma en base a relaciones que surgen en el sistema, lo cual indica que no existen datos representando el conocimiento sino que este se encuentra inmerso en el sistema.

   Este ejemplo nos indica que un camino alterno para representar el conocimiento, es logrando que se difunda en todo el sistema y que se aplique para cada caso particular, con lo cual se tiene un nivel de abstracción alto, ya que no son los datos concretos o reglas especificas, ni datos o reglas generales lo que se almacena sino una abstracción de todo esto aplicable a cualquiera datos que se puedan sumar.

   De lo anterior surge la idea de desarrollar sistemas en los que el conocimiento no se almacena en un punto especifico, sino que, se difunda en todo el sistema y en un momento dado no queden hechos concretos sino la abstracción de estos hechos.

   Un mecanismo orientado a este fin, es lo que se conoce como Red Neuronal. Una Red Neuronal o máquina que aprende es un mecanismo compuesto por nodos y relaciones entre los nodos, donde cada nodo tiene un conjunto de entradas que pueden tomar dos posibles valores preestablecidos para cada entrada +1 ó -1 (excitatorio e inhibitorio), estas entradas toman su valor de acuerdo a que reciban o no una señal del exterior, esta señal puede ser 0 si reciben un 1 toman el valor 1 ó -1 según sean excitatorias o inhibitorias, la Red Neuronal suma todos los valores que entran en forma algebraica y el resultado lo compara con un umbral o valor mínimo del nodo, si la suma es mayor que el umbral entonces del nodo sale un 1 que va a excitar o inhibir a otros nodos, si la suma es menor que el umbral entonces se manda un cero que al llegar a otro nodos los deja apagados.

   La ventaja de un sistema de este tipo se encuentra en que se le pude “enseñar “ a distinguir entre diferentes entradas al sistemas ya que si se quiere que a ciertas señales de entrada responda con una señal especifica de salida se le da la señal de entrada y si no sale la señal esperada se le modifican algunos umbrales o valores predefinidos, para que se vuelva a enviar la señal repitiéndose el proceso hasta que aprende a reconocer la señal de entrada, este método se puede utilizar para enseñarle a responder a diferentes señales de alguna forma específica y logrando que aprenda a distinguir entre diferentes tipos de entrada.

   En el proceso anterior lo que se ha hecho es lograr que la Red Neuronal represente el conocimiento que se permite distinguir entre diferentes entradas, en el sistema ya que no existe una caja especifica para cada entrada, sino que el conocimiento que permite distinguir entre las entradas esta dado por la configuración de la Red Neuronal y los valores del umbral.

   Esta forma de representar el conocimiento se basa en un modelo del cerebro conocido como Redes Neuronales de McCulloch - Pitts y este modelo del cerebro aunque burdo se acerca al funcionamiento de un cerebro humano.

   En la Red Neuronal cada nodo es un elemento muy sencillo y la fuerza la da la complejidad de las relaciones entre los elementos del sistema, ya que el conocimiento emerge del sistema, con lo que se pueden tener nodos mas complejos y sistemas que permitan múltiples relaciones entre los nodos, la relevancia de la Red Neuronal o de mecanismos desarrollados sobre su línea esta asegurada.

   Actualmente están adquiriendo gran importancia los estudios sobre procesamiento en paralelo, procesamiento distribuido y tejidos de computadora. Donde precisamente se empieza a trabajar sobre múltiples nodos (procesadores, computadoras, etc.) interrelacionados, sin embargo se ha seguido con un enfoque tradicional de representar el conocimiento ya que el conocimiento se almacena en puntos bien delimitados, de donde, la idea seria que se buscara almacenar el conocimiento en todo el tejido y no en un punto concreto.

   Por ejemplo se tienen algoritmos que ordenan datos o calculan operaciones matriciales distribuyendo el problema entre los nodos, en este caso se tiene que el conocimiento del método de ordenamiento o de solución matricial se encuentra distribuido pero no emerge del sistema ya que existen puntos específicos para la función, por lo que a pesar de ser ya un mecanismo potente para representar conocimiento y de que ya existen Bases de Datos Distribuidas y seria conveniente contar con Bases de Conocimiento Distribuidas es necesario pensar en la manera de representar el conocimiento difundo en todo el sistema, para aprovechar las propiedades emergentes de sistemas de tanta complejidad como son por ejemplo los tejidos de computadoras.

 

Conclusión

En este documento se presentaron algunas de las formas con que se cuenta para representar el conocimiento buscando enfatizar los puntos siguientes:

1) El concepto de conocimiento, se ha atacado desde  múltiples enfoques y es conveniente tomarlos en cuenta ya que dependiendo del nivel de conocimiento que se maneja existe uno u otro mecanismo para representarlo.

2) El hecho de que un conocimiento no tenga un “nivel alto” (por ejemplo, semántico, o de síntesis) no indica que no sea conocimiento y el excluirlo o no tomarlo en cuenta, podría crear una barrera sobre los mecanismos de representación que se consideran “convenientes” de estudio.

3) El ser humano siempre ha buscado formas físicas (dibujos, letras, esculturas, etc.) de representar el conocimiento y actualmente cuanta con un cúmulo muy grande de estas formas.

4) Al aumentar la complejidad del conocimiento se obtiene mecanismos mas compactos para representarlo mediante un proceso de abstracción que se “olvida” de los conocimientos específicos y busca reglas generales.

5) Actualmente en la computación se cuenta con múltiples mecanismos para representar el conocimiento desde nivel de datos hasta relaciones semánticas y pragmáticas.

6) Es conveniente combinar los diferentes mecanismos con que se cuenta buscando el apoyo mutuo dependiendo de sus características, ya que por ejemplo, en las bases de datos se pueden almacenar las características léxicas y sintácticas de un universo conceptual y en las bases de conocimiento, rutinas semánticas y álgebra cualitativa se pueden representar las características semánticas y pragmáticas, por lo que la combinación de estas herramientas aumenta la fuerza del sistema.

7) Las herramientas actuales cubren un rango muy amplio de representación, sin embargo, no tienen la capacidad de abstraer y compactar el conocimiento en reglas generales a partir de reglas o puntos específicos.

8) Una forma poco explotada de representación de conocimiento se presenta cuando este se difunde en todo el sistema y no se queda en un punto dado.

9) Con el surgimiento del procesamiento en paralelo y las redes y tejidos de computadoras se ve posible el crear sistemas en los que el conocimiento se encuentre difundido en toda la estructura.

   Como se puede observar existen muchos puntos sueltos en los mecanismos de representación del conocimiento y por tal motivo las posibilidades de desarrollo en el área son muy grandes y en su momento se podría llegar a una forma mas general de representación en la cual se integren todos los puntos mencionados.

 

Bibliografía

[1] Bloom, Benjamin, et. Al., Taxonomía de los objetivos de la educación, editorial el ateneo, Buenos Aires Argentina, 1971

[2] Galindo Soria, Fernando, Comentarios sobre la informatización del derecho en Memoria del 1er congreso iberoamericano de Informática Jurídica, Santo Domingo República Dominicana, 1984

[3] Guzmán Arenas, Adolfo, Sistemas Expertos, Fundamentos y aplicaciones inmediatas en Revista Compumundo, vol. 1, no. 5, agosto 1984

[4] Guzmán Arenas, Adolfo, Inteligencia Artificial Aplicada en Revista Compumundo, vol. 1, no. 6, septiembre 1984

[5] Negrete, José, Apropiación del conocimiento e inteligencia Artificial (partes I-VII), en revista 010, diciembre 1983-junio 1984

[6] ____, _____, revista 010, marzo 1985

[7] Ayala, G., Representación de conocimiento, en memoria de la 1ra conferencia internacional “las computadoras en instituciones de educación superior”, México, D.F. 1985

[8] Colme Rauer, Alain, PROLOG, Lenguaje de la Inteligencia Artificial, vol. 4, num. 41

[9] Minsky, Marvin, Papert, Seymour, PERCEPTRONS, An introduction to computational geometry

[10] Kleene, S.C., Representation of events in nerve nets and finite automata, Automata Studies

[11] Minsky, Marvin L., Computation, Finite and Infinite Machines, Prentice Hall

[12] Hofstadter, Doublas R., Gödel, Escher, Bach: Una eterna trenza dorada, ed. Conacyt

[13] Quezada, J. Daniel, La Lingüística Generativo-Transformacional supuestos e implicaciones, ed. Alianza Universidad

[14] Bach, Emmon, Teoría Sintáctica, Editorial Anagrama

[15] Serrano, Sebastián, Elementos de Lingüística Matemática, Editorial Anagrama