Autor: Yuriesky Duarte Correa / yuriesky.duarte@gtm.jovenclub.cu
Coautor: Yeisy Legrá Matos
Introducción
La Inteligencia Artificial (IA) es una rama de la computación que aparece a finales de la década del 50 y sus técnicas progresaron rápidamente con aportes en muchos sectores sociales. La Instrucción Asistida por Computadoras recibe un gran impacto con estas técnicas, se facilitan los procesos de instrucción y se garantiza mayor eficiencia en los mismos. Es en 1970 que Carbonell (1970) da la iniciativa de aplicar las técnicas de la Inteligencia Artificial a los sistemas de IAC (Instrucción Asistida por Computadora); a él se le atribuye la creación del primer Tutor Inteligente: el SCHOLAR (un tutor inteligente para la enseñanza de la geografía de América del Sur), aunque el término de “Sistema Tutor Inteligente” (STI) es definido posteriormente por Brown.
Desarrollo
Conceptualización e inicio de los Sistemas Tutores Inteligentes
Entre los primeros conceptos que se definieron de un STI se destaca la definición dada por Wolf (1984), quien los asume como: “sistemas que modelan la enseñanza, el aprendizaje, la comunicación y el dominio del conocimiento del especialista y el entendimiento del estudiante sobre ese dominio”. Por su parte Burns (1988) plantea que un sistema tutor se puede considerar “inteligente” según la medida en que cumpla tres criterios: 1) el dominio a enseñar debe ser conocido por el sistema, es decir, éste debe poder hacer inferencias o resolver problemas en este dominio, 2) el sistema debe poder deducir la cercanía del conocimiento del estudiante con el propio y 3) el sistema debe poder adaptar su estrategia de enseñanza para reducir la distancia entre su conocimiento y el del estudiante.
Los Sistemas Tutores Inteligentes (STI) deben cumplir un grupo de características presentadas desde la década del 90 por Guardia Roble (1993).
- Deben ser “inteligentes” en comparación con los sistemas tradicionales de Instrucción Asistida por Computadora (IAC), de modo que el diferencial de inteligencia sean los métodos de la rama de la Inteligencia Artificial (IA).
- Deben poseer la capacidad tanto para resolver el problema que se le presenta a un estudiante como también la capacidad de explicar cómo lo resolvió.
- Como en los IAC tradicionales, permiten una mayor individualización en la instrucción a través del entendimiento de las metas y creencias del estudiante.
- Se usan técnicas de Inteligencia Artificial para planeación, optimización y búsquedas, deja así que el sistema decida el orden de presentación del contenido al alumno.
- La interacción puede ser muy variada en un STI: desde sistemas pasivos (que esperan para que el alumno realice una acción), hasta los que constantemente presentan nueva información (tutor oportunista), con casos intermedios en los que se enseña un concepto en un momento determinado o solo cuando el alumno lo pide.
- Utilizan nuevas tecnologías, con los ejemplos de interfaces orientadas a la utilización de multimedia y del World Wide Web (WWW).
- No basta con indicarle un error al estudiante, el sistema debe hacer hipótesis basadas en el historial de errores del alumno y detectar la fuente del problema.
Al aplicar estas consideraciones , Guardia Robles (1993) desde su perspectiva de STI lo presenta como: “… un sistema de enseñanza asistida por computadora, que utiliza técnicas de Inteligencia Artificial, principalmente para representar el conocimiento y dirigir una estrategia de enseñanza; y es capaz de comportarse como un experto, tanto en el dominio del conocimiento que enseña (al mostrar al alumno cómo aplicar dicho conocimiento), como en el dominio pedagógico, donde es capaz de diagnosticar la situación en la que se encuentra el estudiante y de acuerdo a ello ofrecer una acción o solución que le permita progresar en el aprendizaje.”
El objetivo de un STI es darle la capacidad a una computadora de involucrarse en el proceso de enseñanza mediante técnicas de Inteligencia Artificial. Convirtiéndola no solo en un vehículo estático de información, sino en un instructor dinámico capaz de simular a un profesor humano. Un buen STI debe ser capaz, en primer lugar, de convertirse en un experto en la materia que va a impartir; pero además tiene que ser experto en las técnicas educativas; tiene que tomar varias decisiones y aprender de los casos que se le presenten, debe saber elaborar un programa para impartir un determinado conocimiento, y evaluar constantemente al estudiante para poder decidir qué contenido debe enseñarse en cada momento y cuál es la mejor forma de mostrárselo a cada estudiante en particular.
Modelos arquitectónicos de los STI
Existen dos formas de modelar la arquitectura de un STI: la primera se refiere a seguir fielmente la arquitectura básica propuesta por Carbonell en 1970 mediante un modelo orientado a objetos; y la segunda propone el uso de los agentes inteligentes para crear elementos en la arquitectura que sean más independientes entre sí.
Independientemente del paradigma de programación que se utilice para la implementación de los Sistemas Tutores Inteligentes, siempre se deberán respetar las estructuras de los módulos, las interfaces y los distintos submódulos que componen la estructura propuesta por Carbonell.
Técnicas de la IA usadas en la construcción de STI
Para la construcción de los Sistemas Tutores inteligentes son usadas diferentes técnicas que brinda la Inteligencia Artificial, dentro de ellas se encuentran:
- Redes Neuronales: interconexiones masivas en paralelo de elementos simples y que responden a una cierta jerarquía que intentan interactuar con los objetos reales tal como lo haría un sistema neuronal psicológico (Kohonen, 2001).
ü Red Backpropagation: consiste en el aprendizaje de un conjunto predefinido de pares de entrada-salida dados como ejemplo. Primero se aplica un patrón de entrada como estímulo para la primera capa de las neuronas de la red, se propaga a través de todas las capas superiores hasta generar una salida, se compara el resultado en las neuronas de salida con la salida que se desea obtener y se calcula un valor de error para cada neurona de salida. A continuación, estos errores se transmiten hacia atrás, parten de la capa de salida hacia todas las neuronas de la capa intermedia que contribuyan directamente a la salida. Este proceso se repite, capa por capa, hasta que todas las neuronas de la red hayan recibido un error que describa su aportación relativa al error total. Basándose en el valor del error recibido, se reajustan los pesos de conexión de cada neurona, de manera que en la siguiente vez que se presente el mismo patrón, la salida esté más cercana a la deseada.
ü Red SOM: los modelos de Mapas Autoorganizativos (SOM, por sus siglas en inglés) fueron introducidos por T. Kohonen y son un tipo especial de redes neuronales artificiales de aprendizaje no supervisado que ha sido exitosamente aplicado como una herramienta de minería de datos. Las ventajas de los mapas autoorganizativos radican en que son capaces de preservar la topología del espacio de los datos, proyectan datos altamente dimensionales a un esquema de representación de baja dimensión y tienen la habilidad de encontrar similitudes en los datos.
- Árboles de decisión: representan una estructura de datos que organiza eficazmente los parámetros (descriptores); estos árboles son construidos de forma tal que en cada nodo se realiza una prueba sobre el valor de los descriptores y de acuerdo con la respuesta se desciende por las ramas hasta llegar al final del camino donde se encuentra el valor del clasificador.
- Razonamiento basado en casos (RBC): posee un paradigma para resolver problemas que tiene una capacidad inherente de aprender. El principio básico del RBC es solucionar problemas desconocidos mediante la aplicación de soluciones que fueron usadas para resolver problemas en el pasado (Kolodner, 1993). Tiene un ciclo que consta de cuatro fases: recuperación, adaptación, revisión y almacenamiento.
- Agentes inteligentes: sistema capaz de percibir a través de sensores las informaciones que provienen del ambiente donde está insertado y reaccionar a través de efectores, por lo que se lo puede definir como una entidad de software que exhibe un comportamiento autónomo, situado en un ambiente en el cual es capaz de realizar acciones para alcanzar sus propios objetivos y a partir del cual percibe los cambios.
- Inteligencia artificial distribuida: (Iglesias, 1998) definida como “aquella parte de la IA que se centra en comportamientos inteligentes colectivos que son producto de la cooperación de diversos agentes”. Centrándose fundamentalmente en las relaciones existentes entre estos agentes, así como su colaboración.
Metodologías de desarrollo de Sistemas tutores inteligentes
El paradigma orientado a agentes plantea nuevos conceptos para el desarrollo de software que no se satisfacen con la aplicación de metodologías orientadas a objetos. Se hace necesario adoptar una metodología que incorpore a los agentes como centro del proceso de desarrollo.
En los últimos tiempos ha surgido un amplio número de metodologías orientadas a agentes; entre las más referenciadas se encuentra MAS-CommonKADS, que extiende los modelos de CommonKADS para adaptarse a los Sistemas Multi-Agentes (SMA); en el 2002 surge Prometheus, que sustenta el diseño, la documentación y la implementación de SMA; PASSI, que en español se corresponde con Proceso para la Especificación e Implementación de Sociedades de Agentes, fue desarrollada también en este año y propone un proceso paso a paso para el diseño e implementación de Sistema Multi-Agentes, además integra conceptos del paradigma orientado a objetos y de Inteligencia Artificial. También han surgido otras metodologías como MaSE, GAIA, Tropos, Ingenias, MESSAGE, ZEUS, Vowel Engineering, RoMAS y RAP. En la siguiente tabla se hace un análisis acerca de las principales metodologías para desarrollar Sistemas Multi-Agentes, las fases del proceso de desarrollo que soportan y los distintos aspectos que modelan.
Conclusiones
Los sistemas tutores inteligentes han impactado desde sus inicios en las aplicaciones de la informática educativa y, con el afán de mejorar como sistema, surgen novedosas arquitecturas y técnicas de desarrollo. Tras el estudio de varios elementos relacionados con el tema, se hace cada vez más necesaria la profundización en el contenido de conceptualizaciones, desarrollo y adaptaciones de estos sistemas con el fin de proponer nuevas arquitecturas para desarrollar aplicaciones de esta índole que garanticen flexibilidad y apoyo a los procesos de instrucción.
Referencias Bibliográficas:
Burns, H. L. & Capps, C.G. (1988). “Foundations of STI: An Introduction”, en Polson, M. C, y Richardson, J. J. (editores), Foundations of Intelligent Tutoring Systems, Lawrence Erlbaum Associates, Estados Unidos.
Carbonell, J. R. (1970). AI in CAI: An artificial intelligence approach to computer assisted instruction. IEEE transaction on Man Machine System. V11 n.4, pp. 190-202. ISSN: 0536-1540.
Guardia, B. (1993). Asesores Inteligentes para apoyar al proceso de enseñanza de lenguajes de programación. Tesis de grado. México: Instituto Tecnológico de Monterrey (ITESM).
Iglesias, C. Á. (1998). Definición de una metodología para el desarrollo de sistemas Multiagente. Tesis doctoral [en línea]. Madrid, España: Universidad Politécnica de Madrid, Departamento de Ingeniería de Sistemas Telemáticos, 322 p. [Fecha de consulta: 15/11/2009].Disponible en: http://www.gsi.dit.upm.es/tesis/pdf/tesiscif.pdf
Kohonen, T. (2001). Self-Organizing Maps, 1ra ed. Springer series in informarion sciences. Helsinki University of Technology Neural Networks Research Centre 286-310. Pitman, London.
Kolodner, J. (1993). Case-Based Reasoning. San Mateo: Morgan Kaufmann.
Wolf, B. (1984). “Context Dependent Planning in a Machine Tutor“. Ph.D. Dissertation, University of Massachusetts, Amherst, Massachusetts.