Introducción
Los Sistemas de Tutoría Inteligentes (ITS) son sistemas inteligentes que toman el papel como emulador de un tutor humano, y dichos sistemas determinan: qué enseñar, cómo enseñar y quienes necesitan aprender más, a través de un módulo del dominio (Cataldi, Z., & Lage, F. J., 2009).
Existen diversos autores los cuales aseveran que los sistemas de tutoría inteligente son una evolución de los tutores con capacidad generativa (Molina, Pascuas & Millán, 2015), ya que un sistema de tutoría inteligente se puede considerar como un sistema que contiene una o varias lecciones de enseñanza implementadas en una computadora, que al interactuar con el estudiante, tienen comportamiento inteligente.
Los ITS son implementados como un método de enseñanza flexible para los estudiantes de diferentes niveles académicos; por lo tanto, el principal enfoque que se le ha dado a los sistemas es la capacidad de adaptación, por medio de la cual se busca que el sistema automáticamente capte la información más relevante que permita que los procesos de enseñanza y aprendizaje sean planificados y ejecutados de acuerdo a cada estudiante; es decir, de manera individualizada (Brusilovsky et al. 2004).
Algunos de los sistemas de tutoría inteligente más destacados son: Scholar (Carbonell, 1970), Why (Stevens y Collins, 1977), Guidon (Clancey et al., 1991), entre otros más, enfocados en el área estudiantil, mercantil, lenguas, etc.
Los sistemas de tutoría inteligente son diseñados para replicar la efectividad de la tutoría humana en herramientas digitales, la garantía de la tutoría individual en la instrucción en grupos grandes se ha establecido con experimentos con tutores humanos (Rodríguez, 2021).
La Figura 1 muestra la estructura que proponen diversos autores como (Cataldi y Large, 2010) para realizar un sistema de tutoría inteligente.
El módulo experto es quien contiene el conocimiento sobre el dominio y proporciona la información que se presentará al estudiante de una manera adecuada para que el estudiante pueda adquirir las habilidades y conocimiento de la materia (Cisneros, Hernández, Martínez, Ortiz & Estrada, 2021). En opinión de Cataldi y colegas, el módulo experto consta de conocimiento y elementos didácticos; el conocimiento se presenta a través de conceptos, preguntas, ejercicios, problemas y sus relaciones. Los elementos didácticos se componen de imágenes, videos, sonidos; es decir, material multimedia que se requiere para facilitar al estudiante la apropiación de conocimiento en la sesión pedagógica (Cataldi, Z., Calvo, P., Salgueiro, F. A., & Lage, F. J. 2007).
Los sistemas de tutoría inteligentes están asociados con la inteligencia artificial, y la utilización de técnicas de aprendizaje automático permiten actualizar y extender los modelos de estudiantes iniciales para adaptarlos a una posible actualización de contenidos y actividades educativas para fortalecer su conocimiento (Vila, E. M. S., & Penín, M. L., 2007). Algunas de las técnicas más populares de la creación de modelos son:
Las técnicas de inteligencia artificial consisten en funcionar como centro de conocimiento de los sistemas; de tal manera, que diferentes autores mencionan que estas técnicas son más utilizadas en este ámbito, por lo que considerar trabajar con redes neuronales en sistemas de tutoría, se considera eficaz y se determina una exploración en sus capacidades para realizar clasificaciones en un entorno competitivo.
El_Jerjawi, NS & Abu-Naser, S.S. (2018) mencionan, que una red neuronal artificial es un modelo aritmético, el cual está motivado por la organización y/o funcionamiento de las redes neuronales biológicas.
Una red neuronal contiene un conjunto de neuronas artificiales, y procesa la información utilizando una forma conexionista de cálculo. Las redes neuronales han ganado prominencia con atribuciones prometedoras presentadas por los modelos de redes neuronales, debido a las recientes innovaciones tecnológicas de implementación que permiten desarrollar estructuras neuronales, logrando rendimientos satisfactorios de los sistemas de tutoría inteligentes, teniendo un superior rendimiento a los sistemas convencionales (Thiago De Oliveira, 2019). Por regla general, una red neuronal artificial es un sistema adaptativo que ajusta su estructura en función de la información externa o interna que recorre la red durante el proceso de aprendizaje (Shakiba, M., Teshnehlab, M., Zokaie,S., & Zakermoshfegh M., 2008).
Las redes neuronales recientes son herramientas de modelado de datos numéricos no lineales, y suelen utilizarse para modelar intrincadas relaciones entre entradas y salidas o para descubrir patrones en los datos, en los cuales serían aplicados con un dataset (base de datos) donde implique la información necesaria.
En el presente trabajo se propone la creación de un módulo de dominio para gestionar la estructura de un sistema de tutoría inteligente; este módulo interpreta el comportamiento del cerebro humano, mediante una red neuronal artificial. El módulo permite:
Desarrollo
El desarrollo de esta investigación está centrado en una red neuronal artificial como un módulo de dominio de un sistema de tutoría inteligente, utilizado como herramienta de aprendizaje en la materia de Introducción a la Programación de la carrera de Ingeniería en Tecnologías de la Información de la Universidad Politécnica de Victoria.
El modelo propuesto se deriva de la propuesta MLP (Multi Layer Perceptron) de la documentación de Keras, ya que es una biblioteca de código abierto (con licencia MIT) escrita en Python, que se basa principalmente en el trabajo de François Chollet, un desarrollador de Google, en el marco del proyecto ONEIROS (Open-ended Neuro-Electronic Intelligent Robot Operating System), este modelo está propuesto como una herramienta de evaluación a los alumnos, la cual sea una ayuda tanto para los maestros como para los mismos alumnos. La Figura 2 se muestra el esquema de bloques el cual contiene los temas que se llevaron a cabo en el desarrollo del módulo de dominio.
Recopilación de información y creación de base de datos
La generación de alumnos del periodo septiembre - diciembre 2019 de la Universidad Politécnica de Victoria de la carrera de Ingeniería en Tecnologías de la información de la materia de Introducción a la Programación, fue de suma importancia su participación en la realización de ejercicios, prácticas y actividades relacionadas a los temas introductorios a la programación, como lo son diagramas de flujo, pseudocódigos, declaración de variables, tipos de datos, entre diversos temas enfocados a la materia.
Una vez realizados los ejercicios, las calificaciones que se obtuvieron de cada uno de ellos fueron utilizadas para la creación de un archivo CSV (Comma Separated Values), el cual contiene: datos de los alumnos como matrícula, número de lista y su nombre completo, así como también los nombres de los temas de los ejercicios, actividades y prácticas que realizaron, con la finalidad de tener los datos necesarios para realizar una clasificación individual de acuerdo a los niveles de competencia que las universidades politécnicas llevan a cabo; estos niveles de dominio reconocen la escala en el que se encuentran los alumnos conforme sus calificaciones, los cuáles se clasifican de la siguiente manera:
Los niveles forjan a los alumnos a obtener una calificación más alta mediante la competencia. La Tabla 1 muestra los resultados de los niveles de conocimiento de los alumnos a partir de los ejercicios aplicados.
No. Lista | Matrícula | Nombre | Calif. Final | Calif. Algoritmo | Pseudocódigo estructura de algoritmos | Pseudocódigo y diagrama de flujo estructura de algoritmos. | Pseudocódigo estructura de algoritmos y diagrama de flujo condiciones | Pseudocódigo estructura de algoritmos ciclos anidados |
1 | 12 | Alumno 1 | 47 | 36 | 70 | 80 | 95 | 90 |
2 | 13 | Alumno 2 | 46 | 34 | 100 | 90 | 95 | 95 |
3 | 14 | Alumno 3 | 20 | 0 | 70 | 70 | 70 | 0 |
4 | 15 | Alumno 4 | 95 | 93 | 100 | 70 | 80 | 60 |
5 | 16 | Alumno 5 | 40 | 25 | 80 | 80 | 80 | 80 |
6 | 17 | Alumno 6 | 37 | 20 | 100 | 70 | 88 | 75 |
7 | 18 | Alumno 7 | 100 | 100 | 90 | 95 | 80 | 60 |
8 | 19 | Alumno 8 | 39 | 21.4 | 100 | 95 | 95 | 100 |
9 | 20 | Alumno 9 | 47 | 46 | 75 | 80 | 0 | 0 |
10 | 21 | Alumno 10 | 69 | 66 | 70 | 70 | 70 | 70 |
11 | 22 | Alumno 11 | 38 | 37 | 70 | 75 | 90 | 65 |
12 | 23 | Alumno 12 | 77 | 70 | 100 | 95 | 95 | 90 |
13 | 24 | Alumno 13 | 36 | 43 | 80 | 80 | 0 | 0 |
14 | 25 | Alumno 14 | 16.6 | 0 | 0 | 0 | 0 | 0 |
15 | 26 | Alumno 15 | 20 | 0 | 0 | 0 | 0 | 0 |
16 | 27 | Alumno 16 | 91 | 86 | 60 | 60 | 65 | 60 |
17 | 28 | Alumno 17 | 66 | 54 | 100 | 100 | 85 | 100 |
18 | 29 | Alumno 18 | 41 | 21.4 | 80 | 70 | 75 | 0 |
19 | 30 | Alumno 19 | 37 | 34.8 | 80 | 95 | 90 | 80 |
20 | 31 | Alumno 20 | 30 | 32 | 0 | 0 | 0 | 0 |
21 | 32 | Alumno 21 | 24 | 16.5 | 70 | 80 | 0 | 0 |
22 | 33 | Alumno 22 | 53 | 50 | 80 | 80 | 80 | 80 |
23 | 34 | Alumno 23 | 29 | 21.4 | 80 | 85 | 95 | 0 |
24 | 35 | Alumno 24 | 59 | 49 | 100 | 75 | 80 | 100 |
Nota: La tabla muestra los datos obtenidos del grupo de Ingeniería en Tecnologías de la Información del grupo de Introducción a la Programación, datos específicos de los alumnos, fueron ocultos debido a que es información confidencial de la universidad.
Entrenamiento y validación del modelo de red neuronal artificial
Para la generación del módulo de dominio se implementó un modelo, el cual refiere a una base de datos y procesamiento, por lo que los datos son separados en dos conjuntos, el conjunto (A) es el encargado del entrenamiento con el 80 por ciento de los ejemplos, y el conjunto (B) con el 20 por cierto para la validación; esto con motivo de comprobar que el aprendizaje del modelo neuronal tiene la capacidad de generalizar y clasificar correctamente ejemplos que no son conocidos.
La base de conocimiento interactúa directamente con los bloques de validación y entrenamiento, de la cual se deriva el bloque de validación y se obtiene un modelo de clasificación que se relaciona directamente con el bloque del mismo nombre. La Tabla 2 muestra el entrenamiento de la red neuronal para la investigación.
Layer (type) | Output Shape | Param # |
dense_1 (Dense) | (None, 12) | 216 |
dense_2 (Dense) | (None, 9) | 117 |
dense_3 (Dense) | (None, 1) | 10 |
Total params: 343 Trainable params: 343 Non-trainable params: 0 |
||
Tiempo entrenamiento: 7.11651611328125 |
Nota: La tabla muestra las métricas de entrenamiento que están definidas de acuerdo a los parámetros que se le asignen a la hora de entrenarlo.
Evaluación de diagnóstico de los alumnos
Posterior al entrenamiento, se obtiene un modelo neuronal entrenado y ubicado en un modelo de clasificación. Este modelo es capaz de operar independientemente a los entrenamientos en algún otro alojamiento, por lo que la siguiente etapa fue la evaluación individual de diagnóstico de los alumnos, la cual su evaluación pasa a una clasificación, donde se obtienen: la media de sus calificaciones, nombre completo, nivel de competencia y temas recomendados de acuerdo al tema que les haga falta dominar. La Tabla 3 muestra el resultado que se adquirió de acuerdo a la clasificación de los alumnos de acuerdo a su nivel de competencia.
Calificaciones | Media | Nombre de los alumnos | Nivel de competencia | Temas de recomendación |
---|---|---|---|---|
95.20435333251953 | 0.7740106951871658 | Alumno 1 | Competente | Domina los temas |
87.53931522369385 | 0.2228128342245989 | Alumno 2 | Básico avanzado | 1. Ciclos anidados |
73.65218997001648 | 0.6774331550802138 | Alumno 3 | Básico |
|
43,652212619781494 | 0.18700000000000003 | Alumno 4 | No competente |
|
Nota: La tabla muestra los datos obtenidos de la clasificación fueron ordenadas de acuerdo a los niveles de competencia y temas de recomendación asignados automáticamente.
Recomendación de temas a niveles competentes bajos
El módulo de dominio contiene una sección importante para el sistema de tutoría inteligente; esta sección selecciona una lista de temas recomendados ordenados por prioridad a partir de las calificaciones que obtuvieron; los temas están de acuerdo a la planeación académica que contiene la materia. De acuerdo al nivel en el que se encuentre cada uno de los alumnos, se deberán considerar los temas más recomendables con la finalidad de adquirir mejores calificaciones.
Las métricas utilizadas en la matriz de confusión representan los verdaderos positivos (TP); es decir, los aciertos de la predicción establecida; sin embargo, para calcular los falsos positivos (FP) es necesario sumar los valores de la columna, exceptuando el valor perteneciente al (TP), y con esto, se da posibilidad de obtener los falsos negativos (FN) con el procedimiento de la suma de la fila.
Competente | Básico avanzado | Básico | No competente | ||
Competente | 5 TP | FP | FP | FN | |
Esperado | Básico Avanzado | TP | 9 TP | FP | FP |
Básico | TP | TP | 5TP | FN | |
No competente | TP | TP | TP | 5TP |
Nota: Dada la naturaleza de las clases, estas pueden ser continuas o discretas (etiquetas: básico, medio, avanzado, etc.). Bajo el supuesto que la clase es discreta, se definen como métricas los índices que derivan de la matriz de confusión.
Conclusiones
En la construcción e implementación del módulo de dominio en la población de los alumnos de la Universidad Politécnica de Victoria, se mostraron resultados de diferentes bases de datos con calificaciones obtenidas de los estudiantes a partir de ejercicios que realizaron previamente, y con ello, se llevó a cabo las actualizaciones de diversos temas, ejercicios y alumnos, por lo que se evidencia que el modelo propuesto tiene funcionalidad objetiva mostrando resultados precisos en la red neuronal propuesta para ofrecer a los alumnos una recomendación de mejora respecto a los conocimientos sobre el desarrollo de algoritmos computacionales.
Con el análisis de las investigaciones previas al trabajo propuesto se establece que las redes neuronales artificiales son adecuadas para la clasificación de estudiantes a partir de los conocimientos adquiridos en una temática determinada, así mismo se determina que los recomendadores apegados a las redes neuronales artificiales son factibles para la construcción de un tutor inteligente en el apoyo en el aprendizaje de algoritmos.
Como trabajo futuro, se espera el desarrollo de los módulos de estudiante y tutor para la conjunción de un Sistema de Tutoría Inteligente íntegro y válido para la implementación como herramienta de soporte en el aprendizaje de introducción a la programación, en alumnos de la Universidad Politécnica de Victoria.