La ingeniería del conocimiento ( EC ) se refiere a todos los aspectos involucrados en los sistemas basados en el conocimiento .
Uno de los primeros ejemplos de un sistema experto fue MYCIN , una aplicación para realizar diagnósticos médicos. En el ejemplo de MYCIN, los expertos del dominio eran médicos y el conocimiento representado era su experiencia en diagnósticos.
Los sistemas expertos se desarrollaron por primera vez en laboratorios de inteligencia artificial como un intento de comprender la toma de decisiones complejas por parte de los seres humanos. Basándose en los resultados positivos de estos prototipos iniciales, la tecnología fue adoptada por la comunidad empresarial estadounidense (y luego por todo el mundo) en la década de 1980. El proyecto de programación heurística de Stanford dirigido por Edward Feigenbaum fue uno de los líderes en la definición y desarrollo de los primeros sistemas expertos.
En los primeros tiempos de los sistemas expertos, no existía un proceso formal para la creación del software. Los investigadores simplemente se reunían con expertos en el área y empezaban a programar, a menudo desarrollando las herramientas necesarias (por ejemplo, motores de inferencia ) al mismo tiempo que las propias aplicaciones. A medida que los sistemas expertos pasaron de ser prototipos académicos a sistemas empresariales implementados, se comprendió que se necesitaba una metodología para aportar previsibilidad y control al proceso de creación del software. Se intentaron esencialmente dos enfoques:
Muchos de los primeros sistemas expertos fueron desarrollados por grandes empresas de consultoría e integración de sistemas como Andersen Consulting . Estas empresas ya contaban con metodologías en cascada convencionales bien probadas (por ejemplo, Method/1 para Andersen) en las que capacitaban a todo su personal y que prácticamente siempre utilizaban para desarrollar software para sus clientes. Una tendencia en el desarrollo temprano de sistemas expertos fue simplemente aplicar estos métodos en cascada al desarrollo de sistemas expertos.
Otro problema con el uso de métodos convencionales para desarrollar sistemas expertos fue que, debido a la naturaleza sin precedentes de los sistemas expertos, fueron una de las primeras aplicaciones en adoptar métodos de desarrollo rápido de aplicaciones que incluyen iteración y creación de prototipos, además de análisis y diseño detallados o en lugar de ellos. En la década de 1980, pocos métodos de software convencionales admitían este tipo de enfoque.
El último problema que planteaba el uso de métodos convencionales para desarrollar sistemas expertos era la necesidad de adquirir conocimientos . La adquisición de conocimientos se refiere al proceso de reunir conocimientos de expertos y capturarlos en forma de reglas y ontologías. La adquisición de conocimientos tiene requisitos especiales que van más allá del proceso de especificación convencional que se utiliza para capturar la mayoría de los requisitos empresariales.
Estas cuestiones dieron lugar al segundo enfoque de la ingeniería del conocimiento: el desarrollo de metodologías personalizadas diseñadas específicamente para construir sistemas expertos. [1] Una de las primeras y más populares metodologías de este tipo diseñadas a medida para sistemas expertos fue la metodología de Adquisición de Conocimiento y Estructuración de la Documentación (KADS, por sus siglas en inglés) desarrollada en Europa. KADS tuvo un gran éxito en Europa y también se utilizó en los Estados Unidos. [2]