En informática , una base de conocimiento ( KB ) es un conjunto de oraciones, cada una dada en un lenguaje de representación de conocimiento , con interfaces para contar oraciones nuevas y hacer preguntas sobre lo que se sabe, donde cualquiera de estas interfaces podría usar inferencia . [1] Es una tecnología utilizada para almacenar datos estructurados complejos utilizados por un sistema informático . El uso inicial del término fue en conexión con los sistemas expertos , que fueron los primeros sistemas basados en el conocimiento .
El uso original del término base de conocimiento era describir uno de los dos subsistemas de un sistema experto . Un sistema basado en conocimiento consiste en una base de conocimiento que representa hechos sobre el mundo y formas de razonar sobre esos hechos para deducir nuevos hechos o resaltar inconsistencias. [2]
El término "base de conocimientos" se acuñó para distinguir esta forma de almacenamiento de conocimientos del término más común y ampliamente utilizado " base de datos" . Durante la década de 1970, prácticamente todos los grandes sistemas de información de gestión almacenaban sus datos en algún tipo de base de datos jerárquica o relacional . En este punto de la historia de la tecnología de la información , la distinción entre una base de datos y una base de conocimientos era clara e inequívoca.
Una base de datos tenía las siguientes propiedades:
Los primeros sistemas basados en el conocimiento tenían necesidades de datos que eran opuestas a estos requisitos de base de datos. Un sistema experto requiere datos estructurados . No solo tablas con números y cadenas, sino punteros a otros objetos que a su vez tienen punteros adicionales. La representación ideal para una base de conocimiento es un modelo de objetos (a menudo llamado ontología en la literatura de inteligencia artificial ) con clases, subclases e instancias.
Los primeros sistemas expertos tampoco necesitaban muchos usuarios ni la complejidad que conlleva exigir propiedades transaccionales a los datos. Los datos de los primeros sistemas expertos se utilizaban para llegar a una respuesta específica, como un diagnóstico médico, el diseño de una molécula o una respuesta a una emergencia. [2] Una vez que se conocía la solución al problema, no había una demanda crítica de almacenar grandes cantidades de datos en una memoria permanente. Una afirmación más precisa sería que, dadas las tecnologías disponibles, los investigadores hicieron concesiones y prescindieron de estas capacidades porque se dieron cuenta de que estaban más allá de lo que se podía esperar y podían desarrollar soluciones útiles a problemas no triviales sin ellas. Incluso desde el principio, los investigadores más astutos se dieron cuenta de los beneficios potenciales de poder almacenar, analizar y reutilizar el conocimiento. Por ejemplo, véase el análisis de la memoria corporativa en el primer trabajo del programa Knowledge-Based Software Assistant de Cordell Green et al. [3]
Los requisitos de volumen también eran diferentes para una base de conocimiento en comparación con una base de datos convencional. La base de conocimiento necesitaba conocer hechos sobre el mundo. Por ejemplo, para representar la afirmación de que "Todos los humanos son mortales", una base de datos normalmente no podría representar este conocimiento general, sino que necesitaría almacenar información sobre miles de tablas que representaran información sobre humanos específicos. Representar que todos los humanos son mortales y poder razonar sobre cualquier humano dado que es mortal es el trabajo de una base de conocimiento. Representar que George, Mary, Sam, Jenna, Mike,... y cientos de miles de otros clientes son todos humanos con edades, sexo, dirección, etc. específicos es el trabajo de una base de datos. [4] [5]
A medida que los sistemas expertos pasaron de ser prototipos a sistemas implementados en entornos corporativos, los requisitos para su almacenamiento de datos rápidamente comenzaron a superponerse con los requisitos de bases de datos estándar para múltiples usuarios distribuidos con soporte para transacciones. Inicialmente, la demanda se podía ver en dos mercados diferentes pero competitivos. De las comunidades de IA y Orientación a Objetos surgieron bases de datos orientadas a objetos como Versant . Estos eran sistemas diseñados desde cero para tener soporte para capacidades orientadas a objetos, pero también para soportar servicios de bases de datos estándar. Por otro lado, los grandes proveedores de bases de datos como Oracle agregaron capacidades a sus productos que brindaban soporte para requisitos de bases de conocimiento como relaciones y reglas de clase-subclase.
La siguiente evolución del término "base de conocimiento" fue Internet . Con el auge de Internet, los documentos, el hipertexto y el soporte multimedia pasaron a ser fundamentales para cualquier base de datos corporativa. Ya no bastaba con admitir grandes tablas de datos u objetos relativamente pequeños que residieran principalmente en la memoria de la computadora. El soporte para sitios web corporativos requería persistencia y transacciones para los documentos. Esto creó una disciplina completamente nueva conocida como Gestión de contenido web .
El otro factor que impulsó el soporte documental fue el auge de los proveedores de gestión del conocimiento , como HCL Notes (antes Lotus Notes). La gestión del conocimiento , en realidad, precedió a Internet, pero con Internet se produjo una gran sinergia entre las dos áreas. Los productos de gestión del conocimiento adoptaron el término "base de conocimiento" para describir sus repositorios , pero el significado tenía una gran diferencia. En el caso de los sistemas basados en el conocimiento anteriores, el conocimiento se destinaba principalmente al uso de un sistema automatizado para razonar y sacar conclusiones sobre el mundo. Con los productos de gestión del conocimiento, el conocimiento estaba destinado principalmente a los seres humanos, por ejemplo, para servir como repositorio de manuales, procedimientos, políticas, mejores prácticas, diseños y códigos reutilizables, etc. En ambos casos, las distinciones entre los usos y los tipos de sistemas estaban mal definidas. A medida que la tecnología se ampliaba, era raro encontrar un sistema que realmente pudiera clasificarse claramente como basado en el conocimiento en el sentido de un sistema experto que realizaba razonamientos automatizados y basado en el conocimiento en el sentido de gestión del conocimiento que proporcionaba conocimiento en forma de documentos y medios que podían ser aprovechados por los seres humanos. [6]
Su base de datos es el historial de ese paciente, incluyendo su historia... signos vitales, medicamentos administrados... La base de conocimientos... es lo que usted aprendió en la escuela de medicina... consiste en hechos, predicados y creencias...