miércoles, 7 de marzo de 2007

INGENIERIA DEL CONOCIMIENTO - Presentación

La Ingeniería del Conocimiento surge como consecuencia de la necesidad de establecer principios metodológicos y científicos que permitan desarrollar Sistemas de Información Basados en el Conocimiento a partir de los fundamentos de la Informática en general y de la Inteligencia Computacional en particular. En este aspecto puede vérsela como la especialización de Ingeniería de Software en su aplicación al desarrollo de Sistemas Inteligentes.
Durante las décadas de 1970 y 1980 los investigadores en Inteligencia Artificial llegaron al convencimiento de que las metodologías generales de solución de problemas y más específicamente los algoritmos de búsqueda tradicionales eran insuficientes para resolver problemas de mediana complejidad, surgiendo la necesidad de incorporar conocimiento limitado a un particular dominio de interés.
Para lograr el objetivo de transferir los conocimientos de un experto en un dominio se ha hecho necesario poder especificarlo formalmente, destacándose la Lógica, los diagramas de Redes Semánticas, los Marcos, Objetos y otros procedimientos para la representación del conocimiento. Pero este conocimiento estático de las relaciones causales no es suficiente para producir los resultados o su explicitación por medio de sucesivas transformaciones, que en general, pueden caracterizarse como nuevos conocimientos, siendo entonces necesario desarrollar algoritmos que produzcan las inferencias buscadas, recibiendo así la denominación genérica de algoritmos o motores de inferencia.
Los razonamientos basados en la lógica y sus diferentes versiones de razonamientos exactos se vieron afectados durante las décadas de 1980 y 1990 a una adaptación a la incertidumbre y la inexactitud propia de los lenguajes naturales y los sistemas de conocimientos reales. En esta oportunidad a la lógica formal se le han incorporado los conceptos probabilísticas, estableciéndose métodos de razonamiento en condiciones de incertidumbre y de razonamiento inexacto basado en los conjuntos borrosos o Fuzzy Sets.
La Ingeniería del Conocimiento se enfoca en la aplicación de los anteriores conceptos al desarrollo de Sistemas Basados en el Conocimiento en general y al de Sistemas Expertos en particular, destacándose la necesidad de la adquisición del conocimiento así como su especificación, verificación, validación, diseño e implementación en sistemas informáticos o lenguajes apropiados para la construcción de Bases de Conocimientos para la toma de decisiones.
El paso de la teoría de los Sistemas Basados en el Conocimiento a la construcción de los mismos, requiere la adquisición de una fluida habilidad para realizar las tareas indicadas en el punto anterior, las que solo se logran a partir de una práctica sobre un lenguaje concreto como CLIPS, que soporten las diferentes formas de representación como la programación basada en reglas, la orientada a objetos o marcos, la funcional y la lógica. Además el motor de inferencia debe también proveer medios de control de diferentes estrategias de razonamiento y soportar mecanismos de incertidumbre y mantenimiento de la verdad como en el caso de los razonamientos no monotónicos. Para una visión completa se requeriría el estudio de varias herramientas de programación simbólica o directamente de bajo nivel para construir las herramientas que den sustento a las diferentes teorías de la Inteligencia Artificial, pero desde un punto de vista del contexto de la Ingeniería del Conocimiento, se encara la solución a los problemas con las herramientas de libre disponibilidad en Internet.
La adquisición del conocimiento a partir de expertos humanos, si bien necesaria e insustituible en muchas aplicaciones, ha presentado diversas dificultades que van desde la representación del sentido común hasta las excesivas demoras en la implementación y el mantenimiento de los sistemas. Ante estas dificultades han surgido las técnicas de adquisición automática del conocimiento. El tema de la certificación de la Calidad del Software ha tomado mayor importancia con el crecimiento exponencial en el tamaño y complejidad de los sistemas de software y en algunos casos la naturaleza crítica de los mismos. Para asegurar el crecimiento de los Sistemas Basados en el conocimiento se ha hecho necesario desarrollar técnicas que permitan evitar los errores de diseño del sistema y la adquisición del conocimiento, para lo cual se los debe verificar, es decir que se demuestra su consistencia y completitud, se los debe validar, o sea que se determina la corrección
El aprendizaje automático ha sido una posterior repuesta a las dificultades para la adquisición humana del conocimiento y se basa en el aprendizaje de conceptos generales a partir de casos particulares. Algunas de las técnicas más conocidas son las de inducción de árboles de decisión, las redes neuronales y los algoritmos genéticos. Actualmente la aplicación de estas técnicas a grandes bases de datos a dado lugar a los conceptos de Minería de Datos (Data Mining, DM) y de Descubrimiento de Conocimientos en Grandes Bases de Datos (Knowledge Discovery in Data Bases, KDD) aplicada a la construcción de Bases de Conocimientos en problemas de estrategias de negocios.

No hay comentarios: