Estos dos conceptos son clave para nuestro trabajo, aunque a menudo nos encontramos con estos dos términos usados de forma bastante libre. Sin embargo, los investigadores y estudiosos de este campo han tratado el tema en profundidad, fijando diferencias concretas en cuanto a metodologías, técnicas de implementación, usos, contenidos y objetivos. De hecho, la distinción entre "base de datos" y "base de conocimiento", así como la distinción paralela entre "modelo de datos" y "esquema de representación" ha sido objeto de debate durante mucho tiempo entre estas comunidades de científicos. En este capítulo introduciremos los orígenes de estos conceptos y trataremos de mostrar cuáles son las posiciones actuales en este terreno.
Las bases de datos (DB: Data Base / Database) son anteriores en el tiempo a las bases de conocimiento. Nacieron en la temprana época de los ordenadores digitales, a mediados de la década de los 50 y fueron una de las principales herramientas que éstos ofrecían. Surgieron como extensiones de programas Fortran que permitían acceso compartido a los datos. A finales de esta década se desarrollaron métodos de acceso soportados por el sistema operativo (acceso directo y secuencial) y maduraron con los sistemas operativos de segunda y tercera generación (principios de los 60). En esta época se desarrollaron las bases de datos estructuradas jerárquicamente y algo después las bases de datos de red. En esta temprana época no había distinción entre bases de datos e IA. A finales de los 60, Ted Codd, investigador de IBM, desarrolló un lenguaje de programación de propósito general que denominó "programación relacional", basado en la teoría de conjuntos y la lógica y que contenía el germen de lo que había de ser el más extendido de los sistemas de bases de datos hasta la fecha, las bases de datos relacionales.
El objetivo primero de una base de datos es, como su nombre indica, almacenar grandes cantidades de datos organizados siguiendo un determinado esquema o "modelo de datos" que facilite su almacenamiento, recuperación y modificación.
Por su parte, las bases de conocimiento (KB: Knowledge Base) pertenecen a una etapa muy posterior. Surgieron a partir de la investigación en Inteligencia Artificial como respuesta a las necesidades que las aplicaciones de esta disciplina planteaban. Más adelante haremos un muestreo de las aportaciones que la IA ha hecho al estudio del lenguaje natural.
Las bases de conocimiento son la evolución lógica de los sistemas de bases de datos tradicionales, en un intento de plasmar no ya cantidades ingentes de datos, sino elementos de conocimiento (normalmente en forma de hechos y reglas) así como la manera en que éste ha de ser utilizado. También se les trata de dotar de conocimiento sobre sí mismas, es decir, una KB ha de "saber lo que sabe". Por ejemplo, ante una pregunta del tipo "¿Tienen todos los empleados de Microsoft un CI de más de 100?", una base de datos tras consultar la información relacionada con la altura de los empleados de esta empresa, daría una respuesta afirmativa o negativa, independientemente de que tenga o no la información correspondiente a estos trabajadores; en cambio, una KB respondería "sí", "no" o "no lo sé", en el caso de que le faltase información relativa a la altura sobre alguno de los empleados o de que no tuviese información sobre "todos" los empleados.
La cuestión de "información faltante" ha sido el foco de intensa investigación en el campo de las bases de datos relacionales (Codd 1990), aunque aún no se ha logrado ningún estándar para su tratamiento.
Ambos sistemas de información cuentan con sus correspondientes gestores para simplificar al administrador las tareas comunes de mantenimiento: el sistema gestor de bases de datos (DBMS: Database Management System) y el sistema gestor de bases de conocimiento (KBMS: Knowledge Base Management System). También encontramos diferencias sustanciales en este aspecto. Básicamente los DBMSs actuales se encuentran perfectamente estandarizados, ofreciendo un número de características y metodologías comunes que posibilitan la comunicación entre diversos tipos y productos comerciales. La comercialización de los KBMSs es prácticamente anecdótica, y por supuesto no existe ningún estándar.
La característica común a todos los sistemas basados en el conocimiento hasta hace muy poco tiempo es que han sido sistemas autónomos, es decir, que no permiten la utilización de la información contenida en ellos por parte de aplicaciones externas. Por el contrario, las bases de datos, sí cuentan con los mecanismos de conexión necesarios para poder ofrecer su información a muy distintos tipos de lenguajes de programación. En general, adelantamos que nuestra elección son los sistemas de bases de datos para el almacenamiento de información exclusivamente léxica, porque garantizan a priori la reutilización de la información almacenada. Por ejemplo, si decidimos guardar nuestra información léxica en un sistema de conocimiento, estaremos "atados" a este sistema, y si más adelante observamos que nuestras necesidades van más allá de lo que en principio habíamos previsto, puede darse el caso de que el sistema de KB no sea lo suficientemente potente para dar respuesta a estas necesidades, y puede ocurrir que tengamos que volver a introducir toda la información de nuevo. Por lo general, esta situación es evitable en el entorno de las bases de datos.
En cualquier caso, deberíamos explorar en profundidad las posibilidades reales de estos dos tipos de sistemas. La mejor manera de analizarlo es observar las diferencias desde diversos puntos de vista. De este modo, podremos al mismo tiempo estudiar sus fundamentos, objetivos, aplicaciones y tendencias.
Anterior I Siguiente I Índice capítulo 4 I Índice General