Recomendación de Objetos de Aprendizaje basado en el
Transcripción
Recomendación de Objetos de Aprendizaje basado en el
Recomendación de Objetos de Aprendizaje basado en el Perfil del Usuario y la Información de Atención Contextualizada Gladys Carrillo y Xavier Ochoa Centro de Tecnologías de Información, Escuela Superior Politécnica del Litoral, Km. 30.5 Vía Perimetral, Guayaquil, Ecuador Resumen. La selección de los objetos de aprendizaje más relevantes para cada usuario es un tema de investigación y desarrollo activo en el ámbito de las herramientas de aprendizaje en línea. Si bien los algoritmos de recomendación no son nuevos, su adaptación y uso sobre objetos de aprendizaje es un campo aún abierto donde se ensayan diversos enfoques tanto de modelamiento de perfiles como de la recomendación como tal. En el presente trabajo se ha desarrollado un prototipo de sistema de recomendación de objetos de aprendizaje que ha sido utilizado para experimentar con 3 diferentes algoritmos de recomendación basados en el perfil del usuario con el fin de determinar y comparar la precisión de sus resultados. Palabras Clave: sistemas de recomendación, objetos de aprendizaje, mahout Abstract. The selection of relevant learning objects for each user is a subject of active research and development in the field of e-learning. While recommendation algorithms are not new, their adaptation and use with learning objects is a field still open where we test various approaches both modeling profiles as the recommendation as such. In this paper we have developed a learning object recommendation system prototype that has been used to experiment with 3 different recommendation algorithms based on the user profile in order to determine and compare the accuracy of their results. Keywords: recommendation systems, learning objects, mahout INTRODUCCIÓN La educación a distancia ha existido desde hace mucho tiempo buscando siempre eliminar la barrera de la distancia geográfica para acceder a algún tipo de formación. Los medios utilizados han variado considerablemente desde el uso de la radio y el correo tradicional, hasta entornos de aprendizaje en línea utilizando el Internet. Es indudable que el uso de Internet para esta labor ha mejorado ostensiblemente la cantidad tanto de la oferta académica disponible como de los usuarios de la misma, así como la digitalización de los contenidos y soportes educativos ha ayudado a una reducción de los costos de distribución de los mismos. Sin embargo, un aspecto a mejorar es la satisfacción del usuario (estudiante) respecto a los materiales utilizados durante su proceso de aprendizaje. Además de la variedad y profundidad de conocimientos previos, los estudiantes pueden tener diferentes estilos de aprendizaje, unos pueden preferir aprender mediante la lectura, otros mediante gráficos, audios o videos. También se debe tomar en cuenta aspectos como el idioma. Con todos estos factores y dada la cantidad de materiales que podrían estar disponibles para cada tema de estudio, no todos los materiales almacenados en una plataforma de aprendizaje podrían ajustarse a las características individuales de cada usuario, es necesario entonces evaluar y aplicar métodos que permitan que los usuarios tengan disponibles los materiales que mejor se adecuen a su perfil. El presente trabajo busca evaluar cuáles de los algoritmos utilizados para recomendación producen la mejor precisión y exhaustividad al ser utilizado en ambientes reales. El artículo está estructurado de la siguiente manera. En la sección 2 se presenta la revisión de la literatura donde se describen los algoritmos de recomendación así como también avances sobre recomendación de objetos de aprendizaje. En la sección 3 se describe la metodología utilizada donde se presentan los componentes del sistema de recomendación y los experimentos realizados para evaluar la eficiencia de los métodos de recomendación propuestos. En la sección 4 se presenta el análisis de los resultados obtenidos y finalmente se presentan las conclusiones del trabajo realizado. ESTADO DEL ARTE Los sistemas de recomendación, sin importar el tipo de datos o dominio de aplicación, de manera general se clasifican, dependiendo del método utilizado, en: basados en contenido (content-based), colaborativos e híbridos. Sistemas de Recomendación Basados en Contenido (Content-Based) Los sistemas basados en contenido buscan utilizar la información disponible tanto del ítem como del usuario para calcular la recomendación más adecuada. Pazzani y Billsus, en su artículo “Content-Based Recommendation Systems” [1], tratan los sistemas que presentan la recomendación de un ítem basada en una descripción del mismo y un perfil de los intereses del usuario, los mismos que deben tratar y definir 3 aspectos importantes que son el modelamiento del item, el modelamiento de las preferencias del usuario y el método o algoritmo para realizar la recomendación. El modelamiento, representación y almacenamiento de los items puede presentar complicaciones y diferentes mecanismos de implementación dependiendo de si se trata de datos estructurados, donde cada item es representado por un conjunto conocido y limitado de atributos, o si por el contrario se trata de información más libre como páginas web, artículos de noticias, críticas de expertos, etc, requiriendo un procedimiento adicional para normalizar dicha información en datos estructurados. En el dominio de los entornos educativos, los objetos de aprendizaje tienen la particularidad de que suelen estar definidos a través de metadatos estructurados, de manera que se simplifica o elimina este proceso de modelamiento. El modelamiento de los usuarios por su parte presenta una ventana mayor de posibilidades puesto que tanto el método como el resultado dependerá en gran medida del procedimiento que se utilizará para realizar la recomendación, variando desde perfiles simples definidos por el mismo usuario a través de formularios, pasando por la definición del perfil a partir de la realización de un test al momento de registro e incluso llegando a modelar las preferencias del usuario a partir de sus interacciones previas con el sistema. El método o algoritmo que se use para contrastar los items con los usuarios es por lo general el tema central de los diferentes estudios que exploraremos a continuación. Betancur et al. [2] presenta un modelo de recomendación en el que los Objetos de Aprendizaje son representados a través de metadatos definidos en el Esquema LOM (Learning Object Metadata) por el Grupo de Trabajo IEEE P1484.12, mientras que el modelamiento de la recomendación es diferenciado dependiendo del usuario, para el caso del profesor el modelo se basa en los temas dentro de los cuales desarrolla el curso, mientras que para el caso del estudiante el perfil está formado por su información básica, preferencias y estilos de aprendizaje (identificados con el Test de Felder). Se presentan además dos tipos de recomendación, el primer tipo se enfoca en aumentar el conocimiento dentro del proceso de aprendizaje del estudiante en un curso determinado, tomando en cuenta los objetivos del curso para obtener del repositorio los objetos de aprendizaje que podría utilizar como complemento. El segundo tipo de recomendación examina el perfil del usuario en busca de sus estilos de aprendizaje y áreas de interés para ofrecer materiales independientes a los cursos en los que se encuentra registrado y también para promover el ingreso a otros cursos que se encuentran disponibles en el sistema de tutoría. Casali et al. [3] también emplea LOM para la representación de los items (Objetos de Aprendizaje), además considera la importancia relativa de las preferencias del usuario como parte de la fórmula para realizar la recomendación, por lo que utiliza el modelo g-BDI (BGI graduado) para aplicar reglas que tomen en cuenta valoraciones graduadas (no bivaluadas) de las preferencias del usuario. Sistemas de Recomendación Basados en Filtrado Colaborativo (Collaborative-Filtering) El filtrado colaborativo es una técnica empleada por los Sistemas de Recomendación que utiliza la información de preferencias y calificación de un grupo de usuarios respecto a los items de un repositorio con el fin de predecir o inferir la preferencia de un usuario en particular sobre un ítem y a partir de esto generar una recomendación acertada. El filtrado colaborativo presenta características y problemas específicos [4] tales como la escasez de datos referentes a calificaciones y preferencias lo que afecta el rendimiento del sistema siendo el problema más común el conocido como arranque en frío que se presenta con el ingreso de un nuevo usuario o ítem para el cual no existe suficiente información previa. Para este problema se propone usar el método de filtrado colaborativo híbrido como el medio para producir las predicciones de los nuevos usuarios o items. Otros desafíos del filtrado colaborativo son la escalabilidad del sistema, la sinonimia o similitud semántica de items, la protección de la privacidad, entre otros. Las técnicas de filtrado colaborativas pueden ser agrupadas en tres categorías[4]: los algoritmos basados en memoria, que usan una base de datos usuario-item para generar una predicción y se basa en que cada usuario es parte de un grupo con intereses similares, al identificar los vecinos similares de un nuevo usuario se pueden producir predicciones de preferencias de nuevos items, la similaridad entre usuarios puede calcularse por ejemplo con los algoritmos de correlación de Pearson, Spearman rank, Kendall o vector coseno. La segunda categoría son los algoritmos de filtrado basados en modelo, con los que se intenta que el sistema aprenda a reconocer patrones basados en datos de entrenamiento, entre los algoritmos para esta categoría están los modelos bayesianos, de clustering y basados en regresiones. La tercera categoría es el filtrado híbrido, que combina el filtrado colaborativo con otras técnicas de recomendación. En [4] también se exponen métricas de evaluación para las técnicas de filtrado colaborativo, entre las mas usadas están: error medio absoluto (MAE), recuperación y precisión y sensibilidad ROC. Cechinel et al. [5] emplea la librería Apache Mahout para evaluar recomendaciones de recursos de aprendizaje generados por diferentes algoritmos de filtrado colaborativo del tipo memory-based también conocidos como userbased, aplicados sobre conjuntos de datos obtenidos del repositorio MERLOT. Se evaluó un conjunto de datos con la información de calificaciones que han dado los usuarios a los recursos, aplicando tres métricas de similaridad: Pearson, Euclidean y LogLikelihood, se mostró que el algoritmo LogLikelihood fue capaz de generar aproximadamente cuatro veces más recomendaciones que Pearson y Euclidean. Este trabajo expresa además la falta de pruebas y evaluaciones de sistemas de recomendación con datos capturados en tiempo real, por lo que se lo presenta como un primer intento a la evaluación de técnicas de filtrado colaborativo que puede ser usado como base para otras evaluaciones de recomendación. Sistemas de Recomendación Híbridos Los sistemas híbridos combinan las técnicas de filtrado colaborativo y basado en contenido con el fin de mejorar las recomendaciones resultantes o superar problemas como el arranque en frío [4] que presentan algunos de los métodos anteriores al ser utilizados por separado. Kim et al. [6] describe un método que combina el filtrado basado en contenido y el filtrado colaborativo. El método parte de la obtención de la información para la creación de los perfiles de usuario. El perfil del usuario indica la información necesaria de las preferencias relacionadas a los items que son de interés del usuario. La creación del perfil puede ser realizada por un método de ponderación manual en el que cada usuario da un peso a los atributos de los items de acuerdo a sus gustos o puede ser automática donde la ponderación se calcula usando características de los atributos e información previa del usuario. Luego de creados los perfiles, éstos son agrupados mediante algoritmos de clustering para proveer la información con contenido semántico, los grupos se forman usando el algorimo de K-means. Luego estos clusters son tratados como items para formar una nueva matriz de usuario-item, la similaridad de los usuarios de esta nueva matriz se obtiene con una combinación de los algoritmos correlación coseno y Pearson. Finalmente predicciones para los nuevos usuarios se realizan aplicando sobre la nueva matriz creada un algoritmo de filtrado colaborativo. En Learning materials recommendation using good learners’ ratings and content-based filtering [7] se propone un sistema recomendación para e-learning generado de la combinación de una recomendación basada en contenido y luego una recomendación colaborativa basada en las calificaciones dadas a los materiales por los buenos alumnos, aquellos que obtuvieron las mejores notas. Por medio de un experimento se ha comparado los resultados de la recomendación basada en contenido versus la recomendación híbrida aplicando la métrica del error medio absoluto (MAE), donde se demostró que al usar las calificaciones dadas por los buenos alumnos como suministro se ha mejorado la selección de items de gran calidad y también se ha incrementado el rendimiento en el aprendizaje. Un método similar es presentado Ruiz et al. [8], donde la recomendación se realiza a partir de una selección de objetos filtrando los mismos usando la información de la metadata del objeto de acuerdo al contenido de la búsqueda del usuario para luego pasar este resultado por un filtro colaborativo que considere las evaluaciones realizadas por otros usuarios. Sin embargo, se pretende mejorar un poco más la calidad del proceso de recomendación al analizar el perfil del usuario y verificar su historial y sus objetivos a corto y largo plazo de modo que los objetos que son presentados sean de valor para el usuario ya que representarán su estado cognitivo, así se podría evitar que el estudiante reciba un material que está muy avanzado para su nivel. El artículo muestra la aplicación de este método de recomendación en un repositorio de recursos educativos de lenguajes de programación, pero concluye que puede ser usado en otro dominio educativo. Zapata et al. [9] proponen combinar varios tipos de filtrado para obtener una recomendación de objetos más ajustada al perfil de un usuario, tratando de utilizar toda la información que se tenga disponible sobre objetos y usuarios. Ésta información pasará por diversos métodos de clasificación como técnicas de filtrado y calificaciones, técnicas basadas en metadata y contenido, uso de los objetos de aprendizaje y similaridad del perfil del usuario. El método primero preselecciona objetos de aprendizaje del repositorio usando una búsqueda en base a los metadatos, luego pasa por los otros proceso de filtros para obtener una lista final que será la que mejor se adapte al usuario. Pruebas de funcionamiento han sido realizadas sobre un sistema llamado DELPHOS y se presenta un ejemplo donde se puede observar cómo una lista de objetos recomendados va cambiando a medida que se van aplicando los diferentes filtros. Otros trabajos experimentan enfoques diferentes para mejorar el algoritmo de selección, como el uso de reglas de inferencia [10] como el medio para ayudar a un usuario en su búsqueda de objetos. También hay trabajos donde se emplean diferentes maneras de modelar los objetos, como la utilización ontologías de dominio [11], representando los metadatos en términos de conceptos y seleccionando los objetos en el repositorio mediante el algoritmo Spreading Activation, que recorre los arcos del grafo de la ontología y asigna una puntuación a los conceptos que están relacionados semánticamente con los parámetros de búsqueda del usuario. De esta consulta se obtiene una lista de objetos de aprendizaje a la que se aplica un método de recomendación primero filtrando por las preferencias del usuario y luego por el contenido de los objetos buscando la similitud con los objetos que han sido accedidos anteriormente por el usuario. TABLA 1. Diferencias entre los Sistemas de Recomendación Basado en Contenido Filtrado Colaborativo Híbrido Análisis de los atributos del ítem Si No Si Análisis del perfil del usuario Si Si Si Análisis de las interacciones con el sistema Si Si Si Análisis de las calificaciones de los usuarios sobre los items No Si Si Problema de Arranque en Frío No Si No Problemas de Escalabilidad Si Si Si Atención Contextualizada La atención contextualizada es la información de las interacciones del usuario con el sistema dentro del contexto de la tarea del usuario. Esta información también está siendo utilizada en el proceso de recomendación de algunos sistemas. Ochoa, X. y Duval, E. [12] proponen y detallan el uso de metadata de atención contextualizada (CAM) recolectada en todas las fases del ciclo de vida de un objeto para la recomendación y ranking de objetos de aprendizaje. Primero se listan las acciones que deben ser registradas con un breve detalle de la información a almacenar con CAM durante cada fase del ciclo de vida del objeto. A continuación se propone las métricas para recomendación y ranking, las cuales usarán la metadata del objeto de aprendizaje y las acciones registradas con CAM. Se proponen 4 métricas: Análisis de enlaces basado en Ranking donde se utiliza la información de CAM como un grafo del cual se pueden obtener varios rankings como de popularidad, de autor, de ponderación, de factor de reuso y rango. Medidas de Similitud para Recomendación que pueden ser Similaridad de Objetos basada en el número de descargas, Similaridad de Objetos basada en Reuso, Similaridad de Usuarios basado en descargas. Similaridad de autores basado en reuso de componentes. Ranking Personalizado donde se puede generar un perfil de usuario fuzzy a partir de la información de CAM y combinarlo con el objeto, Recomendación Contextual para generar recomendación basada en lo que lo que el usuario está atendiendo al momento. En Context-aware Recommender Systems for Learning: a Survey and Future Challenges [13] se trata de evaluar en los sistemas de recomendación para Innovación en Educación (Technology Enhanced Learning - TEL) el grado en el cual se ha incorporado el uso de información contextualizada sobre el usuario en el proceso de recomendación con el objetivo de construir sistemas inteligentes que pueden predecir mejor y anticipar las necesidades de los usuarios. Se presenta un framework de contexto que identifica las dimensiones relevantes de contexto para aplicaciones TEL y a partir de estas dimensiones se presenta un análisis de los sistemas existentes. Los resultados del estudio indican que existe mucho avance en el desarrollo de recomendadores context-aware en los últimos años. En Object Recommendation based on Usage Context [14], Friedrich et al. parten de la hipótesis de que la similaridad en uso da lugar a similaridad de contenido y por tanto puede ser usada para recomendaciones. Se define la noción de perfil de contexto de uso para los objetos el cual puede ser generado a partir de un historial de uso y contiene los objetos que fueron accesados antes y después del objeto. Con esto se plantea que la recomendación puede ser mejorada comparando el historial de uso de un usuario con los perfiles de contexto de uso de los objetos. Para las pruebas hace uso del proyecto MACE (Metadata for Architectural Contents in Europe), las interacciones del usuario con este sistema (búsqueda, accesos, interacciones con objetos, etc) son monitoreadas y almacenadas usando CAM. Esta información es utilizada para elaborar perfiles de contexto de uso de los objetos y combinarlos por medio de cálculos de similaridad con la información del usuario para recomendar objetos. Para la recomendación utiliza filtrado colaborativo item-based y un cálculo de similaridad que puede ser de tres maneras diferentes: primero de contexto que está basado en los contextos de uso de los objetos, segundo la similaridad de metadata que está basada en diferentes atributos de la metadata de los objetos (representados con LOM) y tercera una comparación manual de una selección de objetos basado en contenido. METODOLOGIA Las herramientas de aprendizaje en línea poseen o acceden a repositorios de objetos de aprendizaje que deben poner a disposición de los estudiantes de acuerdo a la asignatura o tema de estudio. Es lógico pensar que mientras más grandes sean dichos repositorios, mayores posibilidades tienen los estudiantes de obtener mejores objetos para su aprendizaje, sin embargo, se presenta el inconveniente de tener que realizar la búsqueda de los mismos, así como de diferenciar cuales de todos ellos podrían ser más adecuados para cada usuario. El método utilizado para afrontar dicho problema es el desarrollo de sistemas de recomendación de objetos de aprendizaje que, empleando uno o varios algoritmos determinados, realice una comparación entre el perfil del estudiante y las características e historial de uso de los objetos con el objetivo de proveer el subconjunto ordenado de los mismos que aporte un mayor apoyo al proceso de aprendizaje. Para el presente trabajo de investigación se utiliza el repositorio de objetos de aprendizaje del proyecto IGUAL (Innovation for Equality in Latin American Universities), el mismo que tiene por objetivo proveer una herramienta de aprendizaje en línea donde los estudiantes puedan accesar a los materiales que le ayuden a complementar su proceso de aprendizaje. Este repositorio ha sido implementado empleando las siguientes herramientas de software libre: - Hadoop1 para el almacenamiento distribuido de los archivos. - 4Store para el almacenamiento de la metadata con RDF A partir del mencionado repositorio se ha desarrollado un prototipo de sistema de recomendación de objetos de aprendizaje con el que se realizó una evaluación experimental con el objetivo de comparar los resultados obtenidos mediante la aplicación de diferentes algoritmos de recomendación. 1 http://hadoop.apache.org/ Arquitectura del Sistema de Recomendación El componente principal del prototipo implementado consiste en una Interfaz de Programación de Aplicaciones, API por sus siglas en inglés, desarrollada en Java, que se encarga de la comunicación con el repositorio del Proyecto IGUAL. Esta API implementa, entre otras, las funciones que ejecutan los algoritmos de recomendación seleccionados. Otro componente del prototipo es una interfaz web desarrollada con PHP y MySQL que provee dos funcionalidades, la primera es la creación del perfil de usuario mediante el formulario de registro y la aplicación del Test de Felder, la segunda funcionalidad es la búsqueda de objetos de aprendizaje, para lo cual utiliza una función de la API que se encarga del filtrado de los objetos por el patrón de búsqueda y luego de la selección secuencial y posterior ejecución del método de recomendación. FIGURA 1. Arquitectura del Sistema de Recomendación Perfil del Usuario El perfil del usuario estará formado por los datos básicos que incluyen el nombre, apellido, usuario, clave, dirección de correo electrónico e idioma y por los estilos de aprendizaje recolectados a través del Test de Felder. Este test consiste en un cuestionario de 44 preguntas cuyo análisis clasifica los estilos de aprendizaje de una persona en cuatro dimensiones: • • • • Tipo de información: Sensitivo - Intuitivo Tipo de estímulos preferenciales: Visual - Verbal Forma de procesar y comprender la información: Secuencial – Global Forma de trabajar con la información: Activo – Reflexivo Cabe destacar que por razones de escalabilidad futura, ante la posibilidad de utilizar diferentes métodos o pruebas para complementar el perfil del usuario, se ha decidido almacenar la información obtenida del Test de Felder en una estructura de datos separada. FIGURA 2. Estructura de Datos para el Perfil de Usuario Objetos de Aprendizaje Los objetos de aprendizaje están localizados en el repositorio del proyecto IGUAL, el mismo que ha sido implementado en una arquitectura distribuida utilizando Hadoop y son descritos con metadatos en formato LOM, además cada objeto de aprendizaje posee información de los estilos de enseñanza de acuerdo al modelo de Felder. Las dimensiones de los estilos de enseñanza son: • Contenido: Concreto-Abstracto • Presentación: Visual-Verbal • Organización: Inductivo-Deductivo • Participación del estudiante:Activo-Pasivo • Perspectiva:Secuencial-Global FIGURA 3. Estructura de Datos para Objeto de Aprendizaje y Estilos de Enseñanza Acciones Sociales Las acciones sociales están representadas por las interacciones que realiza un usuario con los objetos de aprendizaje como recomendar, calificar o definir gusto por los mismos. Estas interacciones representan el grado de satisfacción o preferencia que un usuario tiene sobre cierto objeto y están almacenadas en el repositorio de la siguiente manera: FIGURA 4. Estructura de Datos para Acciones Sociales Estas preferencias tienen dos funciones principales. En primer lugar sirven como fuente de datos en el proceso de recomendación de objetos para otros usuarios por medio del método de filtrado colaborativo. La segunda función es servir como fuente de información para comprobar cómo valora el usuario el objeto y de esta manera analizar si el método de recomendación por el cual este objeto fue seleccionado satisface las necesidades del usuario. Métodos de Recomendación Recomendación basada en contenido: La técnica empleada para la recomendación basada en contenido consiste en un método simple de asignación de puntos de acuerdo a la similitud de características compartidas entre el objeto de aprendizaje y el perfil del estudiante. En primer lugar se compara el idioma del objeto de aprendizaje contra el idioma del usuario, si estos son iguales se suman dos puntos al peso del objeto. A continuación se analizan los estilos de enseñanza que se han definido para los objetos y los estilos de aprendizaje del estudiante. En la siguiente tabla se muestra las características examinadas y la puntuación correspondiente. TABLA 2. Valoración para la Recomendación Basada en Contenido Objeto de Aprendizaje Estilos de Enseñanza Alumno Estilos de Aprendizaje Puntos sumados Visual Verbal Valor del rango Visual/Verbal <=-5 Valor del rango Visual/Verbal >= 5 1 1 Secuencial Global Valor del rango Secuencial/Global <=-5 Valor del rango Secuencial/Global >= 5 1 1 Activo Pasivo Valor del rango Activo/Reflectivo <=-5 Valor del rango Activo/ Reflectivo >= 5 1 1 Concreto Abstracto Valor del rango Sensorial/Intuitivo <=-5 Valor del rango Sensorial/Intuitivo >= 5 1 1 Al final los objetos a recomendar se obtienen ordenándolos de mayor a menor de acuerdo al puntaje obtenido, de esta manera los objetos que mejor se ajustan al perfil del usuarios serán los primeros en mostrarse. Recomendación basada en filtrado colaborativo: Para esta recomendación se usarán las acciones sociales realizadas por los usuarios sobre los objetos de aprendizaje, con el fin de recomendar al estudiante los materiales que han resultado de mayor interés para otros usuarios y que él aún no ha revisado. Este proceso de recomendación usará Mahout2, un proyecto de la Fundación Apache compuesto por un conjunto de librerías de código abierto para aprendizaje automatizado. El uso de Mahout para la recomendación con filtrado colaborativo incluye los siguientes pasos: 2 http://mahout.apache.org/ 1. 2. 3. 4. 5. Proporcionar el modelo de datos que consiste en un archivo de texto que representa las preferencias de los usuarios a los objetos de aprendizaje, cada línea está expresada de la siguiente manera: id_usuario, id_objeto, calificación Seleccionar el algoritmo de similaridad, Mahout implementa varios algoritmos como Correlación de Pearson, Medida Coseno, Coeficiente de Tanimoto, Log Likelihood , entre otros. Establecer el tamaño del vecindario del usuario U 1 para determinar los usuarios con gustos similares a U 1 y de esta manera obtener mejores recomendaciones. Inicializar el recomendador en el que se especifica el modelo de datos, el algoritmo de similaridad y el vecindario. Finalmente los objetos recomendados se obtienen al indicar sobre cuál usuario se desea realizar la recomendación. FIGURA 5. Uso de la librería Mahout en la Recomendación Colaborativa Recomendación Híbrida:Esta recomendación es una combinación de los dos métodos anteriores. En primer lugar se aplica el método de recomendación basado en contenido para obtener una lista de objetos de aprendizaje de los cuales se buscarán todas las acciones sociales que los usuarios han realizado sobre ellos. A continuación el método de recomendación de filtrado colaborativo es aplicado utilizando esta entrada de datos. Evaluación Experimental Esta fase consiste en la aplicación de los métodos de recomendación implementados y la recolección de los datos que sirven para la comparación y evaluación de los mismos. Consta de 2 tipos de experimentos: • Experimento Sintético: El objetivo de este experimento es comparar la lista de objetos de aprendizaje recomendados por cada uno de los métodos implementados en el prototipo, con aquellos sugeridos por un usuario experto en la materia. A un profesor de la materia de Fundamentos de Programación se le envió una lista de 10 temas de estudio de la materia y se le solicitó que seleccione del repositorio aquellos objetos de aprendizaje que estén relacionados con cada tópico, ordenándolos de acuerdo a si el estudiante prefiere materiales Visuales o si tiene preferencia por materiales de tipo Verbal. Adicionalmente, se utiliza el prototipo para ejecutar cada método de recomendación bajo el perfil de cada tipo de estudiante (preferencias verbales o visuales), esperando que los resultados obtenidos sean similares a los propuestos por el usuario experto. • Experimento Natural: Este experimento tiene como finalidad medir los niveles de aceptación de los resultados de cada método de recomendación, obtenidos a partir de la interacción de usuarios reales (alumnos) con el sistema. Para esto se hace uso de las acciones sociales como like, recomendar y calificar, disponibles en la misma interfaz de búsqueda. La función de la API se encarga de alternar los métodos de recomendación en orden secuencial, de manera transparente para el usuario, quien no tiene conocimiento sobre el método utilizado en cada momento, lo que brinda neutralidad al momento de analizar cuál de los métodos recibe mejor aceptación. Para la ejecución de este experimento se solicitó la colaboración de estudiantes de la materia Fundamentos de Programación, quienes tuvieron libertad respecto a los tópicos sobre los cuales realizaron las búsquedas de objetos de aprendizaje. ANÁLISIS DE RESULTADOS Resultados Experimento Sintético Para evaluar los objetos recomendados por el tutor experto y aquellos recomendados por el sistema de recomendación se realiza el cálculo de la variable Precisión, mientras que para medir la similaridad del orden de los objetos recomendados se ha utilizado la Distancia de Kendall Tau. Precisión = Número Documentos Relevantes Recuperados / Número Total de Documentos Recuperados Para este análisis el número de documentos relevantes corresponde al número de objetos que están en el grupo de los objetos recomendados por el tutor experto. En los resultados que se muestran en las tablas a continuación R1 representa a Recomendación Filtrado Colaborativo, R2 a Recomendación Basada en Contenido y R3 a Recomendación Híbrida. La Tabla 3 muestra los resultados de la selección de materiales sobre manejo de memoria tanto del Tutor Experto como del Sistema de Recomendación. Esta selección muestra los tres IDs de los materiales relacionados al tema, ordenados de acuerdo a la preferencia del estudiante. Como se puede observar el orden de los materiales recomendados coincide 100% en la selección del Tutor Experto y el Sistema de Recomendación para la Preferencia de Objetos Visuales, para la Preferencia por Objetos Verbales el orden de la selección es diferente en la recomendación por Filtrado Colaborativo. TABLA 3. Resultados y Análisis de la búsqueda de materiales sobre manejo de memoria Tutor Experto Preferencia Objetos Verbales Sistema de Recomendación Preferencia Objetos Visuales Preferencia Objetos Verbales Preferencia Objetos Visuales R1 R2 R3 R1 R2 R3 114 126 127 126 127 114 126 127 114 114 126 127 114 126 127 114 126 127 Precisión 100% 100% 100% 100% 100% 100% Distancia Kendall Tau 0.67 0 0 0 0 0 126 127 114 114 126 127 Los resultados de la selección de materiales sobre Arreglos se muestran en la Tabla 4, de manera similar a los resultados presentados en la Tabla 3, los listados del Tutor Experto y del Sistema de Recomendación difieren solamente en la recomendación por Filtrado Colaborativo. TABLA 4. Resultados y Análisis de la búsqueda de materiales sobre Arreglos Tutor Experto Preferencia Objetos Verbales Sistema de Recomendación Preferencia Objetos Visuales Preferencia Objetos Verbales Preferencia Objetos Visuales R1 R2 R3 R1 R2 R3 19 35 1 1 19 35 1 19 35 19 35 1 19 35 1 19 35 1 Precisión 100% 100% 100% 100% 100% 100% Distancia Kendall Tau 0.67 0 0 0 0 0 1 19 35 19 35 1 En la Tabla 5 se muestra los resultados de la selección de materiales sobre Operadores, la selección muestra ocho identificadores de materiales relacionados a este tema, a diferencia de los ejemplos anteriores, la lista seleccionada por el Tutor es diferente a las generadas por el Sistema de Recomendación tanto en las preferencias de objetos visuales como los verbales, principalmente en la recomendación por Filtrado Colaborativo donde se puede notar IDs que no están presentes en el listado del tutor que se ve reflejada en valor de 50% de precisión. TABLA 5. Resultados y Análisis de la búsqueda de materiales sobre operadores Tutor Experto Preferencia Objetos Verbales Sistema de Recomendación Preferencia Objetos Visuales Preferencia Objetos Verbales Preferencia Objetos Visuales R1 R2 R3 R1 R2 R3 10 100 11 136 155 156 20 21 10 9 8 11 20 21 44 41 10 9 8 11 20 21 44 41 10 100 11 136 155 156 20 21 44 41 21 20 11 10 8 9 44 41 21 20 11 10 8 9 Precisión 50% 100% 100% 50% 100% 100% Distancia Kendall Tau - 0.18 0.18 - 0.39 0.39 8 9 10 11 20 21 41 44 20 21 41 44 8 9 10 11 Para la selección de materiales sobre switch mostrados en la Tabla 6, se puede observar que el listado del tutor y los listados del sistema de recomendación coinciden 100% en las recomendaciones basadas en contenido e híbridas. En la recomendación por Filtrado Colaborativo se puede observar un ID diferente entre los tres seleccionados para ambas preferencias de objetos. TABLA 6. Resultados y Análisis de la búsqueda de materiales sobre switch Tutor Experto Preferencia Objetos Verbales Sistema de Recomendación Preferencia Objetos Visuales Preferencia Objetos Verbales Preferencia Objetos Visuales R1 R2 R3 R1 R2 R3 15 163 28 15 28 43 15 28 43 15 163 28 28 43 15 28 43 15 Precisión 67% 100% 100% 66% 100% 100% Distancia Kendall Tau - 0 0 - 0 0 15 28 43 28 43 15 La Tabla 7 muestra los resultados para la búsqueda de materiales sobre condicionales. Todas las listas incluyen los cuatro IDs relacionados a este tema y coinciden en el orden a excepción de la recomendación por Filtrado Colaborativo para objetos visuales. Los resultados de la búsqueda de materiales sobre variables se muestran en la Tabla 8. Aquí se puede notar que los listados del Sistema de Recomendación y el listado del Tutor para la preferencia de objetos visuales coinciden totalmente, a diferencia del listado de objetos verbales que aunque contiene los mismos objetos tienen un orden diferente. TABLA 7. Resultados y Análisis de la búsqueda de materiales sobre condicionales Tutor Experto Preferencia Objetos Verbales Sistema de Recomendación Preferencia Objetos Visuales Preferencia Objetos Verbales Preferencia Objetos Visuales R1 R2 R3 R1 R2 R3 11 27 28 43 11 27 28 43 11 27 28 43 11 27 28 43 27 28 43 11 27 28 43 11 Precisión 100% 100% 100% 100% 100% 100% Distancia Kendall Tau 0 0 0 0.5 0 0 11 27 28 43 27 28 43 11 TABLA 8. Resultados y Análisis de la búsqueda de materiales sobre variables Tutor Experto Preferencia Objetos Verbales Sistema de Recomendación Preferencia Objetos Visuales Preferencia Objetos Verbales Preferencia Objetos Visuales R1 R2 R3 R1 R2 R3 107 16 19 33 16 33 107 19 16 33 107 19 107 16 19 33 107 19 16 33 107 19 16 33 Precisión 100% 100% 100% 100% 100% 100% Distancia Kendall Tau 0.67 0.17 0.17 0 0 0 16 33 19 107 107 19 16 33 La Tabla 9 muestra los resultados de la selección de materiales sobre punteros. En esta tabla se puede observar que aunque todos los listados contienen los mismos objetos el orden de selección es diferente en todos los casos. TABLA 9. Resultados y Análisis de la búsqueda de materiales sobre punteros Tutor Experto Preferencia Objetos Verbales Sistema de Recomendación Preferencia Objetos Visuales Preferencia Objetos Verbales Preferencia Objetos Visuales R1 R2 R3 R1 R2 R3 128 114 13 14 37 13 14 128 114 37 13 14 128 114 37 128 114 13 14 37 128 114 37 13 14 128 114 37 13 14 Precisión 100% 100% 100% 100% 100% 100% Distancia Kendall Tau 0.5 0.1 0.1 0.3 0.1 0.1 13 14 114 128 37 114 128 37 13 14 Los resultados de la selección de materiales sobre archivos se muestran en la Tabla 10, en este caso como solo se dispone de dos objetos sobre este tema, las recomendaciones del Tutor y del Sistema de Recomendación coinciden totalmente. TABLA 10. Resultados y Análisis de la búsqueda de materiales sobre archivos Tutor Experto Preferencia Objetos Verbales Sistema de Recomendación Preferencia Objetos Visuales Preferencia Objetos Verbales Preferencia Objetos Visuales R1 R2 R3 R1 R2 R3 119 120 119 120 119 120 119 120 120 119 120 119 Precisión 100% 100% 100% 100% 100% 100% Distancia Kendall Tau 0 0 0 0 0 0 119 120 120 119 La tabla 11 muestra la selección de materiales sobre sentencias de iteración. Las listas de objetos seleccionados por el Tutor coinciden en cantidad y orden con las listas del Sistema de Recomendación a excepción de la lista de objetos verbales recomendados por Filtrado Colaborativo que tiene un orden diferente. TABLA 11. Resultados y Análisis de la búsqueda de materiales sobre sentencias de iteración Tutor Experto Sistema de Recomendación Preferencia Objetos Preferencia Objetos Verbales Visuales Preferencia Objetos Verbales Preferencia Objetos Visuales R1 R2 R3 R1 R2 R3 45 7 15 7 15 45 7 15 45 45 7 15 45 7 15 45 7 15 Precisión 100% 100% 100% 100% 100% 100% Distancia Kendall Tau 0.67 0 0 0 0 0 7 15 45 45 7 15 Los resultados de la selección de materiales sobre formato de cadenas se muestran en la Tabla 12, aunque la lista es pequeña formada con tres objetos, se puede observan que el orden dado por el Tutor Experto es diferente al elegido por el Sistema de Recomendación. TABLA 12. Resultados y Análisis de la búsqueda de materiales sobre formato de cadenas Tutor Experto Sistema de Recomendación Preferencia Objetos Preferencia Objetos Verbales Visuales Preferencia Objetos Verbales Preferencia Objetos Visuales R1 R2 R3 R1 R2 R3 117 46 2 117 2 46 117 2 46 117 46 2 46 117 2 46 117 2 Precisión 100% 100% 100% 100% 100% 100% Distancia Kendall Tau 0.66 0.34 0.34 0.66 0.34 0.34 2 117 46 46 2 117 De los resultados de las pruebas se puede notar que en todos los casos la recomendación basada en contenido y la recomendación híbrida tiene una precisión del 100%. Para el caso de la recomendación basada en filtrado colaborativo, al ser la muestra pequeña no se genera ninguna recomendación y el resultado es el generado por el patrón de búsqueda. De acuerdo a los resultados de la recomendación el método híbrido no pudo generar la recomendación usando información colaborativa lo que se ve reflejado en la igualdad de las recomendaciones R2 y R3. En cuanto a la similaridad del orden de los objetos, medida con la Distancia de Kendall Tau, se puede ver que en la mayoría de los casos coinciden, siendo las más parecidas las recomendaciones por el método basado en contenido e híbrido. Resultados Experimento Natural En este experimento participaron 44 estudiantes, 65% de ellos tiene preferencia por objetos visuales, 4.5% preferencia por objetos verbales y 29.5% se encuentra en un rango de equilibrio entre estas dos dimensiones. Los estudiantes realizaron pruebas con el repositorio que contiene 168 objetos de aprendizaje. Lamentablemente por la cantidad limitada de objetos de aprendizaje y de usuarios, el método de recomendación basado en filtrado colaborativo no generó resultados en la mayoría de su ejecución. También hay que anotar que el método de recomendación de filtrado usando Mahout requiere que el archivo con la información colaborativa contenga registros del usuario al que se va a realizar la recomendación. Esto también originó que muchas de las recomendaciones híbridas tengan como resultado el equivalente a la recomendación basada en contenido. A pesar de estos inconvenientes se pudo observar lo siguiente: • De los patrones de búsqueda que devolvían entre 2 y 4 materiales, el 97% de los materiales fueron seleccionados y el 58% recibió algún tipo de actividad social. • Gran parte de los usuarios descargó los primeros objetos de la lista recomendada. • Los resultados de la recomendación basada en contenido fueron las más aceptadas. CONCLUSIONES Durante la realización del presente proyecto se utilizó de manera exclusiva herramientas de software libre, lo que reafirma la viabilidad de éstas en tareas de soporte a investigaciones. Además, la existencia y uso de librerías especializadas, como el caso de Mahout para la evaluación de algoritmos de recomendación, permite ahorrar tiempo y esfuerzo en el desarrollo de los prototipos y permiten enfocarse en otros aspectos de la investigación. Aunque la aplicación de los métodos de recomendación colaborativa no arrojó los resultados esperados, se puede atribuir esta situación a la poca cantidad de materiales disponibles, así como a la escasa actividad previa de parte de los usuarios, que imposibilitó la creación del perfil basado en su comportamiento con el sistema. Los buenos resultados obtenidos por el método de recomendación basado en contenido durante la etapa de experimentación avalan no solo el algoritmo como tal, sino también la utilización del Test de Felder para agregar al perfil del usuario información referente al estilo de aprendizaje. Se confirma la ventaja de utilizar el método de recomendación híbrido sobre la recomendación colaborativa en los casos de arranque en frío, puesto que mientras el método colaborativo simplemente muestra los resultados en el orden obtenido por el filtro, los items recomendados por el algoritmo híbrido llevan al menos cierta información relacionada al usuario provista por la recomendación basado en contenido. AGRADECIMIENTOS El presente trabajo ha sido financiado por la Comisión Europea a través del proyecto IGUAL - Innovación para la Igualdad en la Universidad de América Latina (www.igualproject.org) (código DCIALA/19.09.01/10/21526/245315/ALFAHI(2010)123) del programa ALFA III. REFERENCIAS 1. M. Pazzani y D. Billsus, "Content-Based Recommendation Systems. The Adaptive Web: Methods and Strategies of Web Personalization", Lecture Notes in Computer Science, Vol. 4321, Mayo 2007 2. D. Betancur, J. Moreno, y D. Ovalle, "Modelo para la recomendación y recuperación de objetos de aprendizaje en entornos virtuales de enseñanza/aprendizaje", Revista Avances en Sistemas e Informática Vol 6 Nº 1, Junio 2009. 3. A. Casali, V. Gerling, C. Deco y C. Bender, "Sistema inteligente para la recomendación de objetos de aprendizaje". Revista Generación Digital Vol. 9 No. 1. Edición 16, Enero 2011. 4. X. Su y T. Khoshgoftaar, "A Survey of Collaborative Filtering Techniques". Advances in Artificial Intelligence Vol 2009, Enero 2012. 5. C. Cechinel, M. Sicilia, S. Sánchez y E. García, "Evaluating collaborative filtering recommendations inside large learning object repositories", Information Pocessing & Management, Agosto 2012. 6. B. Kim, Q. Li, Ch. Park, S. Kim y J. Kim, "A new approach for combining content- based and collaborative filters", Journal of Intelligent Information Systems, Agosto 2006. 7. K. I. Ghauth y N. A. Abdullah, "Learning materials recommendation using good learners’ ratings and contentbased filtering", Educational Technology Research and Development 58, no. 6, Diciembre 2010. 8. A. Ruiz, G. Jiménez y M. Gómez, "Personalización en Recomendadores Basados en Contenido y su Aplicación a Repositorios de Objetos de Aprendizaje", IEEE-RITA Vol. 5, Núm. 1, Febrero 2010. 9. A. Zapata, V. Menendez, M. Prieto, C. Romero, "A Hybrid Recommender Method for Learning Objects", Design and Evaluation of Digital Content for Education Proceedings published by International Journal of Computer Applications, 2011 10 D.Lemire, H. Boley, S. McGrath y M. Ball, "Collaborative Filtering and Inference Rules for Context-Aware Learning Object Recommendation", Interactive Technology and Smart Education , Vol. 2 Iss: 3, pp.179 – 188, Agosto 2005. 11. N. Machado y A. Montoyo, "Recomendación de objetos de aprendizaje almacenados en repositorios lor@server según las preferencias del usuario", Proceedings of the 5th WSEAS International Conference on E- ACTIVITIES, Noviembre 2006 12 X. Ochoa y E. Duval, "Use of contextualized attention metadata for ranking and recommending learning objects", Proceedings of the 1st international workshop on Contextualized attention metadata: collecting, managing and exploiting of rich usage information CIKM 2006, pp. 9-16, Noviembre 2006. 13 K. Verbert, N. Manouselis, X. Ochoa, M. Wolpers, H. Drachsler, I. Bosnic y E. Duval, "Context-aware Recommender Systems for Learning: a Survey and Future Challenges", IEEE Transactions on Learning Technologies Vol. 99, Abril 2012 14. M. Friedrich, K. Niemann, M. Scheffel, H. Schmitz y M. Wolpers, "Object Recommendation based on Usage Context", Workshop about Context-aware Recommendation for Learning at the STELLAR Alpine Rendez-Vous, 2009.