Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
UNIVERSIDAD TÉCNICA FEDERICO SANTA MARÍA
DEPARTAMENTO DE INFORMÁTICA
DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO PARA CONTENIDOS ACADÉMICOS DENTRO UN SITIO DE
APRENDIZAJE EN LÍNEA BASADO EN VIDEOS
ESTEBAN ANDRÉS MARTINI MUÑOZ
MEMORIA DE TITULACIÓN PARA OPTAR AL TÍTULO DE
UNIVERSIDAD TÉCNICA FEDERICO SANTA MARÍA
DEPARTAMENTO DE INFORMÁTICA
SANTIAGO - CHILE
DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO PARA CONTENIDOS ACADÉMICOS DENTRO UN SITIO DE
APRENDIZAJE EN LÍNEA BASADO EN VIDEOS
ESTEBAN ANDRÉS MARTINI MUÑOZ
MEMORIA DE TITULACIÓN PARA OPTAR AL TÍTULO DE INGENIERO EN INFORMÁTICA
PROFESOR GUÍA
LUIS HEVIA RODRIGUEZ
PROFESORA CORREFERENTE
CECILIA REYES COVARRUBIAS
AGOSTO - 2015
UNIVERSIDAD TÉCNICA FEDERICO SANTA MARÍA
DEPARTAMENTO DE INFORMÁTICA
DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO PARA CONTENIDOS ACADÉMICOS DENTRO UN SITIO DE
APRENDIZAJE EN LÍNEA BASADO EN VIDEOS
MEMORIA DE TITULACIÓN PARA OPTAR AL TÍTULO DE
1
Agradecimientos
Agradezco en primer lugar a Magaly, por la compañía, apoyo y paciencia brindada durante los
últimos años. Al profesor Luis Hevia, por su buena disposición y consejos para guiar este proce-
so. Por último, al increíble equipo de Classroom.tv, en especial a Johana por compartir su tiem-
po, experiencia y conocimientos para completar y complementar el presente trabajo.
2
Resumen ejecutivo
En los últimos años han nacido múltiples iniciativas que han puesto a disposición de los usuarios
de Internet material académico, muchas veces en forma gratuita. Este creciente interés ha signifi-
cado un aumento en la oferta de este material, dificultando a los usuarios encontrar contenido de
su interés. Entre las posibilidades existentes para resolver este problema aparecen los sistemas de
recomendación, que basados en las preferencias de los usuarios o características de los conteni-
dos hacen sugerencias personalizadas. En el presente trabajo de titulación se diseñó un sistema
de recomendación colaborativo de contenidos académicos para un sitio de aprendizaje en línea
que posee cientos de cursos y miles de clases a libre disposición de cualquier persona con acceso
a Internet. A partir de este diseño se construyó un prototipo de Software que, integrado en el si-
tio, permite a los usuarios calificar y comentar cursos, para posteriormente recibir recomenda-
ciones personalizadas a partir de las predicciones obtenidas.
Abstract
In recent years, many initiatives were born that have made academic material available to Inter-
net users, often for free. This growing interest has led to a significant increase of this kind of
material, making it difficult for users to find content of their interest. Among the possibilities to
solve this problem appears the recommender systems, which, based on user preferences or con-
tent characteristics, are able to make personalized suggestions. This work presents the design of a
collaborative recommender system for an online learning site that has hundreds of courses and
thousands of lectures available for free to any person with Internet access. From this design, a
prototype Software was built, which, integrated into the site, allows users to rate and review the
courses, in order to receive personalized recommendations built from the predictions obtained.
Palabras Claves
Sistemas de recomendación, filtrado colaborativo, educación en línea, e-learning, MOOC.
Keywords
Recommender Systems, Collaborative Filtering, Online learning, E-learning, MOOC.
3
Tabla de contenido
Agradecimientos ............................................................................................................................ 1
Resumen ejecutivo ........................................................................................................................ 2
Abstract .......................................................................................................................................... 2
Palabras Claves ............................................................................................................................. 2
Keywords ....................................................................................................................................... 2
Introducción .................................................................................................................................. 5
Capítulo 1 Descripción del problema ....................................................................................... 7
1.1 El macro problema ................................................................................................................... 7
1.2 Información sobre el problema ................................................................................................ 8
1.3 Impacto inicial de solucionar el problema ............................................................................... 9
1.4 Participantes en el problema .................................................................................................... 9
1.4.1 Los estudiantes .................................................................................................................... 9
1.4.2 Generadores de contenido.................................................................................................. 11
1.5 Entorno y contexto ................................................................................................................. 12
1.5.1 Percepción de la calidad de los resultados de la educación en línea .................................... 12
1.5.2 El mercado del aprendizaje en línea ................................................................................... 13
1.6 Redefinición del problema ..................................................................................................... 14
Capítulo 2 Marco teórico y avances sobre los sistemas de recomendación colaborativos y
su uso en plataformas de aprendizaje en línea ......................................................................... 16
2.1 Sistemas de recomendación .................................................................................................... 16
2.2 Conceptos básicos de los sistemas de recomendación............................................................ 17
2.2.1 Recomendaciones colaborativas o de filtrado colaborativo ................................................. 17
2.2.2 Calificaciones .................................................................................................................... 21
2.2.3 Otros enfoques basados en modelos y preprocesamiento de datos ...................................... 25
2.3 Experiencias en ámbito educacional del uso de sistemas de recomendación ........................ 28
2.3.1 Sistemas de recomendación para el aprendizaje en línea .................................................... 29
Capítulo 3 Propuesta de solución ........................................................................................... 31
3.1 Ambiente del sistema de recomendación ............................................................................... 32
3.1.1 Modelo de aplicación ........................................................................................................ 33
3.1.2 Modelo de usuario ............................................................................................................. 35
3.1.3 Modelo de datos ................................................................................................................ 40
4
3.2 Selección de la familia de algoritmos ..................................................................................... 49
3.2.1 Criterio de selección .......................................................................................................... 49
3.3 Propuesta de diseño del sistema de recomendación .............................................................. 51
3.3.1 Tipo de ítem a recomendar ................................................................................................ 51
3.3.2 Calificaciones a utilizar ..................................................................................................... 52
3.3.3 Diseño y arquitectura de Software para la integración del sistema de recomendación en la
aplicación anfitriona ...................................................................................................................... 61
3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo........... 64
3.3.5 Presentación de las recomendaciones ................................................................................. 66
Capítulo 4 Validación .............................................................................................................. 68
4.1 Implementación de un prototipo de la plataforma del sistema de recomendación .............. 68
4.1.1 Resultados de la implementación ....................................................................................... 70
4.1.2 Integración del prototipo en la aplicación anfitriona ........................................................... 73
4.1.3 Solicitud de calificaciones explícitas.................................................................................. 77
4.1.4 Generación de predicciones y calificaciones ...................................................................... 78
Conclusiones ................................................................................................................................ 81
Validación mediante el prototipo de una plataforma de recomendación ...................................... 82
Trabajo Futuro ................................................................................................................................ 83
Mejoras propuestas desde el sistema de recomendación a la aplicación anfitriona .......................... 83
Mejoras sobre la plataforma de recomendación ............................................................................. 83
Bibliografía .................................................................................................................................. 86
Anexos .......................................................................................................................................... 90
5
Introducción
En los últimos años han nacido iniciativas de diferentes instituciones de educación superior que han
puesto a disposición de los usuarios de Internet material académico de los cursos que ofrecen, princi-
palmente en forma clases en video. Eliminando ciertas barreras de acceso a este contenido, entre las
que destacan las geográficas y económicas. Entre estas iniciativas se cuentan a OpenCourseWare
(OCW), que tiene por característica ofrecer recursos educacionales gratuitos y de libre reproducción.
Otra popular iniciativa son los Massive Open Online Courses (MOOC), los cuales habitualmente son
gratuitos, están diseñados para tener un número de alumnos muy superior al que cualquier casa de
estudios puede ofrecer presencialmente e incluso en algunos casos pueden ofrecer algún tipo de acre-
ditación tras aprobar el curso por parte de la institución que ofrece el curso. La naturaleza no presen-
cial y la gratuidad de estos cursos ha permitido atraer a una multitud de estudiantes de todo el mundo
hacia los sitios Web que ofrecen estos contenidos.
La creciente importancia que le están dando las instituciones de educación superior al desarrollo
de proyectos de educación en línea, la masificación y diversificación de las plataformas que
ofrecen MOOCs y contenidos OCW o similares, han tenido como resultado un rápido aumento
en la cantidad de contenido académico disponible para los estudiantes, trayendo como conse-
cuencia que estos al integrarse a estas plataformas se encuentren con demasiada información,
haciéndole difícil discriminar qué porción de toda la información disponible le sirve realmente,
sin saber cómo empezar o continuar, el estudiante podría perder el interés en estudiar en una pla-
taforma de educación en línea.
En este contexto, las plataformas que ofrecen este contenido deben encontrar nuevas formas de
dirigir la atención de los estudiantes hacia el contenido que tienen disponible de forma rápida y
personalizada. Dentro de las opciones posibles para alcanzar este objetivo se encuentran los sis-
temas de recomendación, los cuales usando una variedad de patrones para analizar los hábitos de
los usuarios, pueden ofrecerles de manera personaliza contenido de su interés que de otra forma
sería para ellos complejo de hallar.
Para implementar un sistema de recomendación se requiere que en la etapa de diseño y análisis
de la construcción del Software se determinen las opciones que son viables de implementar. Se
debe tener en cuenta que un sistema de recomendación es habitualmente una característica de un
sistema mayor al que se denomina aplicación anfitriona, la cual determinará las restricciones
sobre las cuales debe ser diseñado y construido el sistema de recomendación. Las características
de los datos que posea la aplicación anfitriona sobre los ítems recomendables, los usuarios y
6
cómo manifiestan sus preferencias por los ítems, determinarán qué algoritmos de recomendación
se pueden utilizar y cómo se comunicarán e integrará el sistema de recomendación con el sitio
que presenta los contenidos.
El presente trabajo tiene como propósito diseñar un sistema de recomendación colaborativo para
un sitio de aprendizaje en línea que cuenta con cientos de cursos y miles de clases a libre disposi-
ción de los usuarios de Internet, que permita a los usuarios encontrar nuevo contenido de sus in-
terés. Este trabajo ha sido organizado de la siguiente manera, en el capítulo 1 se identificará y des-
cribirá el problema, en el capítulo 2 se presenta el marco teórico y los avances sobre los sistemas
de recomendación colaborativos y su uso en plataformas de educación en línea, en el capítulo 3 se
presenta la propuesta de solución mediante la descripción de las restricciones a las que está some-
tido el sistema de recomendación y partir de estos datos presentar el diseño un prototipo de Softwa-
re de un sistema de recomendación, en capítulo 4 se presentan los resultados de la implementación
de un prototipo del Software y finalizando con las conclusiones del trabajo realizado.
7
Capítulo 1 Descripción del problema
En este capítulo se describirá el problema a resolver, comenzando por identificar el macro pro-
blema, para continuar con el análisis la información recopilada, el impacto inicial de su solución,
el reconocimiento de los participantes en el problema, y el entorno y contexto en el que existe el
problema. Finalmente, se redefinirá el problema de acuerdo a la información recopilada.
1.1 El macro problema
En los últimos años han nacido iniciativas de distintas instituciones de educación superior que han
tenido como objetivo poner a disposición de los usuarios de Internet el material académico de los
distintos cursos que realizan, eliminando así algunas de las barreras de acceso a este contenido,
principalmente de índole económicas y geográficas. Dentro de estas iniciativas una de las más des-
tacadas es OpenCourseWare (OCW). Se denomina así a los recursos educacionales digitales que
son gratuitos y poseen una licencia que permita modificarlos y distribuirlos libremente. Otra inicia-
tiva son los Massive Open Online Courses (MOOC)1. Estos permiten que diferentes universidades
u otras instituciones de educación realicen cursos en línea accesibles masivamente por cualquier
persona que posea conexión a internet, sin la necesidad de ajustarse a horarios estrictos y permi-
tiendo seguir sus propios objetivos de aprendizaje; incluso existe la posibilidad de recibir acredita-
ciones de dichas universidades e instituciones tras aprobar las exigencias requeridas.
Estas iniciativas han sido recogidas por múltiples sitios web y plataformas, tales como YouTube
EDU (YouTube EDU, 2008) Coursera (Coursera, 2012), edX (edX, 2012), Classroom.tv
(Classroom.tv, 2011), entre muchos otros, los cuales han recopilado cursos, clases y otros mate-
riales académicos de prestigiosas universidades del mundo, principalmente en formato de video y
distribuyéndolos de forma gratuita a todo público, permitiendo el acceso a personas que en otras
circunstancias (geográficas, económicas, horarias, etc.) no tendrían la posibilidad de acceder a
ese contenido. La naturaleza no presencial de estos cursos ha logrado atraer a una multitud de
alumnos de todo el mundo, el caso más destacable es el de Coursera, el cual en noviembre de
2012 y con menos de un año en línea, logró tener inscritos en alguno de sus cursos disponibles
más de 1.900.000 alumnos provenientes de 196 países (Panagiotis, 2013). En la actualidad cuenta
con más de cuatro millones de inscripciones a cursos, contenidos en cinco idiomas y más de un
centenar de instituciones que han puesto su contenido en línea (Forbes.com, 2013).
1 Curso Online Masivo Abierto o COMA, por su traducción en el español. Aunque el uso de este acrónimo es infrecuen-te, el acrónimo MOOC es usado tanto para lengua española como inglesa (Matías González & Pérez Avila, 2014).
8
La masificación y diversificación de las plataformas que albergan MOOC ha tenido como resul-
tado un rápido aumento en la cantidad de contenido académico disponible para los estudiantes.
Esto ha traído consecuencia que los estudiantes que se integran a los sitios con MOOC tengan
demasiada información disponible, por ejemplo si el usuario gusta de la física, probablemente se
encuentre con una decena de cursos relacionados con algún tópico particular de física. Esto supo-
ne que existan estudiantes, que sin la ayuda de pares que le indiquen o recomienden cursos, este
podría sentirse abrumado al no saber cómo discriminar qué porción de toda la información dispo-
nible le sirve realmente. Sin saber cómo empezar o continuar, el usuario podría perder el interés
en estudiar desde una plataforma en línea.
1.2 Información sobre el problema
La mayoría de los negocios están permanentemente interesados en encontrar nuevas formas diri-
gir la atención de los consumidores hacia sus productos. Así, la creciente cantidad de información
y servicios que está disponible en internet convierte en un desafío para todo negocio hacer que
esta información sea accesible para los consumidores de forma rápida y personalizada. Una for-
ma de alcanzar estos objetivos es usar un motor de recomendación que sea capaz de hacer que los
visitantes de un sitio web exploren la mayor cantidad de la oferta disponible del sitio web en
cuestión, en base a sus intereses. Estos motores utilizan una variedad de patrones y analizan los
hábitos de los usuarios para poder ofrecerles contenido que de otra forma sería para ellos comple-
jo de hallar en la cantidad de información disponible.
Figura 1. Proceso genérico de un sistema de recomendación colaborativo de contenidos. Elaboración propia.
Casos emblemáticos son los del sitio de ventas online Amazon.com y el servicio de entretención
Netflix.com, que son capaces de ofrecer al usuario un sinnúmero de contenidos personalizados de
la forma “otros usuarios también han visto”, ampliando la oferta al usuario, aumentando potencial-
mente su consumo (Zegarra & Efremenko, 2011). El objetivo principal de un motor de recomenda-
ción es hacer inferencias sobre datos existentes para mostrar las relaciones que subyacen entre estos
objetos, la Figura 1 muestra un proceso genérico de elaboración de una recomendación.
9
De acuerdo a (Eryun, Ming, & Zhenxiang, 2009), existen investigadores que han enfatizado en la
subjetividad del estudiante, sus capacidades de elección, auto supervisión y autogestión, por lo
que el modelo de aprendizaje autónomo se está volviendo muy popular. Lamentablemente las
plataformas tecnológicas tienen limitaciones que influencian la calidad del aprendizaje, haciendo
que su adopción sea baja. Una de las limitaciones de los sistemas de aprendizaje en línea está en
la escasa vinculación entre los contenidos que se le brindan al estudiante, enfocándose solo en
poner a disposición del contenido principal del tópico que está estudiando, excluyendo las inter-
conexiones existentes entre diferentes contenidos, lo que dificulta la construcción y crecimiento
de bases de conocimiento.
1.3 Impacto inicial de solucionar el problema
Para los usuarios o estudiantes, la adopción de un sistema de recomendación permitiría suplir la
ausencia de un agente físico de recomendación de material de estudio (Cabal Cruz, Martínez
López, & Molina Moreno, 2010), permitiéndoles acceder cada vez a más contenidos de su interés
que potencialmente le permitirá alcanzar sus objetivos de aprendizaje.
Visto desde el punto de vista de quienes ponen los cursos a disposición de los estudiantes, permite
lograr mayor visibilidad de contenidos que habitualmente no son fáciles de encontrar dentro del
sistema, haciendo mejor uso del material que está almacenado en este; junto con esto, se logra que
más usuarios permanezcan conectados, interactuando constantemente con la plataforma, logrando
eventualmente aumentar la popularidad de la plataforma. Desde el momento que nuevos estudian-
tes encuentran estos sitios, su interés en un curso determinado puede verse ampliado a encontrar
temas complementarios o de diferentes niveles a los cuales acceder, generándose una nueva de-
manda de uso del sitio por materias o temas diferentes a las iniciales. Al tener un sitio con mayor
actividad, la atracción a este aumenta, pudiendo generar un circulo virtuoso de demanda justificada
por el hallazgo de un curso que se ajusta a la búsqueda del usuario.
1.4 Participantes en el problema
Es posible reconocer a dos grandes participantes: a los estudiantes y a las organizaciones generado-
ras del contenido académico.
1.4.1 Los estudiantes
Los estudiantes que utilizan de manera efectiva los MOOC tienen como característica principal ser
autónomos (Mackness, Sui Fai, & Williams, 2010), es decir, no requieren de tutores para seguir un
10
curso. Habiendo poca relación entre contenidos, la labor de los estudiantes autónomos para hallar
información puede ser abrumadora, ya que se enfrentan a gran cantidad de contenido sin la guía
necesaria. Un ejemplo típico es la dependencia de conocimientos requerido para abordar ciertos
contenidos de una asignatura: para estudiar los algoritmos de compresión de imágenes, primero hay
que saber operaciones básicas de matrices propias de cursos de algebra lineal, luego, el estudiante
tendrá que navegar por los cursos de algebra disponibles, buscando el material deseado sin un rum-
bo muy claro si es que no posee el conocimiento previo de qué tiene que saber o no cuenta con la
ayuda de algún tutor virtual o en persona.
Gráfico 1. Estudiantes participando en cursos en línea. Muestra el crecimiento en el total de alumnos que ha participado en al
menos un curso en línea durante el año. Elaboración propia a partir del Anexo 1.
Sobre la cantidad de estudiantes de educación superior que están participando en cursos en línea,
los resultados presentados por Allen et all (Allen & Seaman, 2014) sobre el comportamiento de
los estudiantes estadounidenses, muestra que a finales de 2012 habían más de 412.000 nuevos
participantes comparados con igual periodo en 2011, lo cual significa que hay más de 7 millones
de estudiantes participando en a lo menos un curso en línea durante el año. Por esto, parece rele-
vante tener como foco que los estudiantes puedan llegar rápidamente a los cursos que necesitan,
ya que es un requerimiento que forma parte importante en la enorme tasa de crecimiento del con-
tenido online ofrecido por estas plataformas.
Como se observa en el Gráfico 1, la cantidad de alumnos ha crecido año a año, pero a partir de
2009 disminuye paulatinamente hasta llegar a un 1,6% en el periodo 2011- 2012. Si se establece
una relación de cuántos de los estudiantes tomaron a lo menos un curso en línea durante el año, se
puede apreciar en el Gráfico 2 un crecimiento paulatino en el tiempo, llegando hasta el 33,5% en
el 2012, último año de la medición.
0
2000000
4000000
6000000
8000000
2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012
Estu
dia
nte
s in
scri
tos
Estudiantes participando en cursos en línea
11
Gráfico 2. Muestra como ha aumentado en el últimos años el porcentaje de estudiantes que se inscribe por lo menos a un
curso en línea al año. Elaboración propia a partir del Anexo 1.
1.4.2 Generadores de contenido
Dentro de los generadores de contenidos se consideran principalmente las instituciones educati-
vas tradicionales, tales como universidades, institutos de educación superior y aquellas institu-
ciones que generan cursos que solo pueden ser vistos en línea.
Gráfico 3. ¿Es la educación un factor crítico en la estrategia de largo plazo en mi institución?. Muestra un quiebre de las
tendencias en el año 2013. Elaboración propia a partir del Anexo 2.
A partir del impacto que han tenido los cursos en línea presentados por algunos pocas instituciones (particularmente aquellas
que imparten MOOC), para estas se ha vuelto cada vez más importante tener presencia en la educación en línea. A continua-
ción se enunciarán algunas de estas motivaciones. En el estudio realizado por Grade Change (Allen & Seaman, 2014) a más
de 2.800 instituciones de educación de EE.UU., más del 66% de los encuestados consideró que la educación es un factor crítico
en la estrategia de largo plazo de la institución. En el Gráfico 3 se puede observar un quiebre en la tendencia al alza a la res-
puesta “de acuerdo” y de disminución en “neutral”, en cambio “en desacuerdo” sigue disminuyendo levemente. Si bien no
está determinado por qué se produce este cambio de tendencia, resulta interesante comparar estos datos con los observados
en
Gráfico 4, el cual muestra una disminución entre el año 2012 y 2013 de las instituciones que no
están ofreciendo cursos en línea, la disminución fue del 14,3% al 32,9%.
0%
20%
40%
2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012Po
rce
nta
je d
el t
ota
l d
e a
lum
no
sTotal de inscripciones de estudiantes en cursos en línea como
porcentaje relativo al total de alumnos de la institución
0%
20%
40%
60%
80%
2002 2003 2004 2005 2006 2007 2009 2010 2011 2012 2013Tota
l de
inst
itu
cio
ne
s
Año en que fue realizada la encuesta
¿Es la educación en línea un factor crítico en la estrategia de largo plazo en mi institución ?
De acuerdo
Neutral
Desacuerdo
12
Gráfico 4. ¿Es la educación en línea es factor crítico en la estrategia de largo plazo?, por oferta de cursos en línea. Elabora-
ción propia a partir de los datos del Anexo 3.
1.5 Entorno y contexto
Para conocer ciertos aspectos que están en el contexto de la educación en línea, es clave recono-
cer primero que existe evidencia de un alza en la percepción positiva sobre la calidad de los resul-
tados de este tipo de educación. Segundo, es una industria en constante crecimiento y es dirigida
transversalmente desde startups, empresas pequeñas, instituciones educacionales de pequeña y
gran envergadura, hasta grandes corporaciones.
1.5.1 Percepción de la calidad de los resultados de la educación en línea
Ante la pregunta de a si los resultados académicos de la educación en línea son comparables con
los de la educación presencial, a partir de los resultados presentados por Grade Change (Allen &
Seaman, 2014), se puede comentar que el primer año en que se realizó esta pregunta, el 42,8% de
los encuestados manifestó que la educación en línea era inferior que la tradicional. Esta percep-
ción fue disminuyendo hasta 2009 y se mantuvo relativamente constante hasta 2011, en 2012
hubo una mejora a favor de la educación en línea, pero en 2013 la situación varió levemente de
forma negativa.
Cabe destacar que las instituciones con más alumnos matriculados, son las más propensas a ofre-
cer cursos en línea y mantienen una percepción positiva acerca de la calidad de educación en
línea, pero estos resultados no guardan una correlación con si esta actitud positiva las lleve a
ofrecer más cursos en línea. Si solo se consideran las instituciones que ofrecen cursos en línea,
entre 2012 y 2013 la Tabla 1 muestra que hubo una muy pequeña variación negativa en la per-
cepción de la calidad de la calidad de la educación en línea.
0% 20% 40% 60% 80% 100%
Cursos en línea y presenciales
Solo cursos en línea
Sin cursos en línea
Total de instituciones encuestadas
Ofe
rta
de
cu
rso
s
¿Es la educación en línea es factor crítico en la estrategia de largo plazo?, por oferta de cursos en línea
2012
2013
13
Tabla 1. Resultados de la encuesta ¿Es la educación en línea inferior que la presencial? para instituciones que ofrecen cursos
en línea. Fuente (Allen & Seaman, 2014).
Calidad 2012 2013
Superior 23,60% 23,50%
Igual 59,40% 59,00%
Inferior 17,00% 17,40%
En cambio, la Tabla 2 muestra cómo la situación cambia drásticamente cuando solo se consideran
las instituciones que no ofrecen cursos en línea, su percepción es considerablemente menos posi-
tiva respecto a la calidad de la educación en línea. Además, la variación entre los años 2012 y
2013 muestra un aumento del 16,6% en la percepción de que la educación en línea es inferior a la
tradicional.
Tabla 2. Resultados de la encuesta ¿Es la educación en línea inferior que la presencial? para instituciones que no ofrecen
cursos en línea. Fuente (Allen & Seaman, 2014).
Calidad 2012 2013
Superior 8,50% 2,20%
Igual 35,80% 25,30%
Inferior 55,80% 72,40%
1.5.2 El mercado del aprendizaje en línea
De acuerdo a la investigación de mercado realizada por la empresa de educación en línea Docebo
(Docebo, 2014) el mercado mundial de aprendizaje en línea del tipo “a tu propio ritmo” (asincróni-
co y sin fechas de término estrictas) alcanzó los 356.000 millones de dólares en 2011. El creci-
miento anual compuesto está estimado en 7,6%, lo que llevaría los ingresos esperados para 2016
hasta los 515.000 millones de dólares. También indica que este crecimiento puede ser aún más
rápido en otras regiones, en particular en Asia, donde el crecimiento esperado es del 17,9%, segui-
do por Europa Oriental, África y Latinoamérica con 16,9%, 15,2% y 14,6% respectivamente.
Cada región tiene sus propias características respecto al consumo de contenidos de aprendizaje en
línea y al mercado que se genera en su entorno; por ejemplo, EE.UU. es el principal consumidor
de contenidos del tipo ‘a tu propio ritmo’, Europa Oriental es el principal consumidor de produc-
tos y servicios de aprendizaje en línea, pero se espera que sea superado por Asia en 2016.
14
Respecto al mercado de los LMS2, Docebo indica que hay alrededor de 500 proveedores y solo
cinco de ellos tienen más del 4% de participación de mercado. Este mercado se esperaba que alcan-
zara los 1.900 billones de dólares en 2013, sin embargo el crecimiento superó todas las expectati-
vas, cerrando ese año en 2.550 billones de dólares. La publicación también hace referencia al capi-
tal de riesgo que se ha invertido en la educación en línea y que en los últimos años ha alcanzado los
6 billones de dólares. Esta industria no solo está siendo dirigida por emprendimientos o startups
punto com, sino también por grandes corporaciones, como también por grandes y pequeñas univer-
sidades. La Tabla 3 muestra a las cuatro compañías que más financiamiento han levantado por par-
te de inversionistas hasta el año 2013. Estas compañías se han enfocado en formar alianzas con
universidades y algunas empresas líderes en el sector de tecnología para ofrecer cursos, caracterís-
ticas que hacen que se les consideren más como distribuidoras de contenidos que como LMS.
Tabla 3. Compañías de aprendizaje en línea que más financiamiento han levantado de inversionistas hasta el año 2013.
Compañía Financiamiento (USD) Fin comercial Acceso gratuito
Lynda.com $103.000.000 Sí No
Coursera $65.000.000 Sí Sí
Udacity $23.000.000 Sí Parcial
Udemy $16.000.000 Sí Parcial
1.6 Redefinición del problema
Producto del fuerte crecimiento que han tenido las iniciativas OpenCourseWare, la explosión del
fenómeno MOOC y la importancia que ha tomado para las instituciones educacionales desarrollar
proyectos de educación en línea, se ha generado una gran cantidad de contenidos de aprendizaje
en la red. Los sitios que publican estos contenidos generalmente carecen de las herramientas que
le permitan a sus usuarios (los estudiantes) encontrar aquellos cursos y clases que les permitan
lograr sus objetivos de aprendizaje. En general, los usuarios que mayor beneficio obtienen de
estas plataformas son aquellos que puede ser denominados como ‘estudiantes autónomos’, pues
son capaces de seguir un curso sin la necesidad de un agente físico como un tutor o profesor. Aún
para este tipo de estudiantes, la tarea de hallar lo que les interese puede ser difícil de alcanzar
debido al alto volumen de contenidos que estos sitios pueden ofrecer.
2 Un LMS (Learning Managment System) es un Software para la gestión, documentación, seguimiento, generación de reportes y distribución de contenidos de aprendizaje en línea. Dependiendo del contexto e idioma puede ser llamado EVA (entorno virtual de aprendizaje), Training Managment System si el contexto es el de capacitación corporativa, entre otros. Entre los LMS más conocidos se encuentran Blackboard y Moodle.
15
Para abordar el problema que se presenta cuando hay muchos ítems en un catálogo y sus usuarios
son incapaces de filtrar entre tantos contenidos, aparecen entre las posibles soluciones los deno-
minados sistemas de recomendación basados en filtrado colaborativo (o simplemente sistemas de
recomendación colaborativos), los que basándose en el interés a cualquier usuario, son capaces de
recomendar contenidos aprovechando el comportamiento de usuarios que comparten sus inter-
eses. Estas características hacen que la utilización de un sistema de recomendación colaborativo
para apoyar a los usuarios en la tarea de encontrar material de su interés se presente como una
alternativa viable de ser llevada a cabo.
La propia implementación de un sistema de recomendación requiere que en la etapa de diseño y
análisis de la construcción del Software se determinen las opciones que son viables de implemen-
tar. Se debe prestar especial atención a los datos que se tienen disponibles sobre el usuario en la
plataforma, los algoritmos que se pueden utilizar y cómo se comunicará e integrará el sistema de
recomendación con el sitio que presenta los contenido
16
Capítulo 2 Marco teórico y avances sobre los sistemas de recomenda-
ción colaborativos y su uso en plataformas de aprendizaje en línea
El presente capítulo tiene como objetivo conocer en mayor detalle en qué consisten los sistemas de
recomendación, en particular aquellos que se denominan colaborativos o de filtrado colaborativo.
La primera parte trata sobre un recuento de los enfoques y algoritmos más importantes en el desarro-
llo de sistemas de este tipo. En la segunda, trata sobre algunas evidencias de cómo los sistemas de
recomendación pueden ser utilizados en sitios de aprendizaje en línea.
2.1 Sistemas de recomendación
La mayoría de los usuarios de internet han visto información suministrada por un sistema de recomen-
dación de alguna u otra manera, típicamente en situaciones como “usuarios que compraron este pro-
ducto también compraron este otro”. Además, si uno es usuario regular de algún sitio de ventas, éste
eventualmente comenzará a recomendar productos de acuerdo al historial de compras de cada usuario.
Es importante destacar que cada usuario verá resultados distintos de acuerdo a sus intereses, por lo que
hablamos de recomendaciones personalizadas. El sistema de Software que se encarga de determinar
estas recomendaciones se denomina Sistema de Recomendación.
El suministro de recomendaciones personalizadas requiere que el sistema conozca algunos datos
de cada uno de los usuarios. Todo sistema de recomendación debe desarrollar y mantener un mo-
delo o perfil de usuario, que contenga, por ejemplo, las preferencias de los usuarios (Dietmar,
Zanker, Felfering, & Friedrich, 2012). Estos datos, junto a algún historial del usuario (compras,
visitas, etc.) permitirán predecir contenido que sea de interés para él. Si bien la existencia de un
modelo de usuario es central para cualquier sistema de recomendación, la forma en que se obtiene
y aprovecha esta información depende de la técnica de recomendación que se ocupe. Las preferen-
cias de usuario se pueden obtener de manera implícita mediante el monitoreo constante del com-
portamiento del usuario, o bien de forma explícita, preguntando directamente al usuario sobre sus
preferencias. Otro punto clave en este contexto es identificar qué tipo de información adicional
puede utilizar el sistema para generar una recomendación personalizada. Uno de los enfoque más
prominentes y utilizados por múltiples tiendas de compra en línea es tomar en cuenta el compor-
tamiento, la opinión y gustos de una comunidad de usuarios, estos sistemas se denominan usual-
mente como basados en comunidad, colaborativos o bien, de filtrado colaborativo (Dietmar,
Zanker, Felfering, & Friedrich, 2012).
17
2.2 Conceptos básicos de los sistemas de recomendación
2.2.1 Recomendaciones colaborativas o de filtrado colaborativo
La idea básica detrás de estos sistemas es que si usuarios que compartieron los mismos intereses
en el pasado, entonces tendrán gustos similares en el futuro. Por ejemplo, si un usuario A y un
usuario B comparten un historial de compras extenso, es lógico pensar que si B compra un produc-
to que A no ha visto aún, habría que recomendar al usuario A este producto.
En la actualidad los sistemas de este tipo son ampliamente utilizados y han sido objeto de estudio
por más de 25 años (Ekstrand, Riedl, & Konstan, 2010). Según Dietmar et al (Dietmar, Zanker,
Felfering, & Friedrich, 2012), las preguntas típicas que se deben plantear en un contexto de reco-
mendación de contenido son:
• ¿Cómo se encuentra a los usuarios con gustos similares al que está necesitando una reco-
mendación?
• ¿Cómo se mide la similitud?
• ¿Qué se debe hacer con los usuarios nuevos que no tienen información disponible acerca
de su historial de acciones?
• ¿Qué hacer con los ítems con los que nadie se ha relacionado aún?
Un sistema de colaboración puro no requiere información sobre los ítems en sí mismos. Por ejem-
plo, si se tratara de un sitio de venta de películas no es necesario saber de qué trata la película,
quiénes actúan en ella, etc., por lo que estos datos no es necesarios tenerlos almacenados, aunque
tener en cuenta estos datos permitiría realizar mejores recomendaciones.
2.2.1.1 Recomendaciones basadas en usuarios vecinos más cercanos
Este es uno de los métodos más antiguos de recomendación. La idea detrás de este método es que
dada una base de datos de calificaciones proporcionadas por usuarios sobre un conjunto de ítems y
teniendo como entrada un identificador de usuario activo, es posible identificar otros usuarios
(también conocidos como vecinos más cercanos) que tuvieron preferencias similares al usuario
activo en el pasado. Utilizando una notación más formal, por cada ítem � que el usuario activo no
ha visto aún, una predicción es calculada en base a las calificaciones sobre � hechas por otros
usuarios. Este método tiene dos condiciones que es necesario asumir:
1. Si los usuarios tuvieron gustos similares en el pasado, entonces tendrán gustos similares en el
futuro.
2. Las preferencias permanecen estables y consistentes en el tiempo.
18
Como es de esperar de este método, las dos condiciones necesarias para su aplicación son inciertas
en cualquier sistema en que exista interacción frecuente entre usuarios y los ítems. De todas for-
mas la idea que está detrás de este método dará pie a mejores variaciones. A continuación se deta-
llará cómo se realiza una predicción. Sea un vector de usuarios � = {��, … , ��}, uno de ítems
� = {��, … , ��} y una matriz de calificaciones �, en la que cada usuario � califica los ítems �.
Generalizando, cada matriz � puede ser vista como la que se muestra en la Matriz 1.
� = ���� … ���⋮ ⋱ ⋮��� ⋯ ���� Matriz 1: Calificaciones hechas por los usuarios (filas) sobre los ! ítems (columnas).
La Tabla 4 muestra una matriz de calificaciones hecha para realizar una predicción de qué ítem se le
debe recomendar al usuario activo que es en este caso el 1. Las calificaciones están comprendidas
por números enteros y en un rango de 1 a 5, donde 1 es la peor y 5 la mejor calificación.
Tabla 4: Calificaciones de usuarios para recomendar de manera colaborativa un ítem aun no calificado por el Usuario 1.
Ítem 1 Ítem 2 Ítem 3 Ítem 4
Usuario 1 (activo) 5 4 5 ¿?
Usuario 2 4 3 1 4
Usuario 3 5 3 4 5
A partir de estos datos de ejemplo y para determinar qué ítem recomendar al Usuario 1, se debe
determinar qué tan similar es este usuario al resto del grupo; dicha similitud se puede calcular de
diversas formas, pero según algunas investigaciones, es el coeficiente de correlación de Pearson el
que mejores resultados entrega (Herlocker J. , Konstan, Borchers, & Reidl, 1999). La Ecuación 1
muestra cómo calcular la similitud entre dos usuarios " y # a partir de matriz de calificaciones �,
los valores �$% y �&% , representan la calificación promedio que le ha dado el usuario a los ítem �.
'()*", #+ = ∑ *�$,. − �$%+*�&,. − �&% +�.0�1∑ *�$,. − �$%+2�.0� ∙ 1∑ *�&,. − �&%+2�.0�
Ecuación 1. Similitud entre dos usuarios utilizando el coeficiente de correlación de Pearson.
Esta similitud está comprendida en el rango [−1,1], donde 1 representa la mayor correlación posible
y −1 una correlación inversa. Una vez calculada la similitud entre los usuarios es necesario determi-
nar un número 6 de usuarios con lo que se comparará, la idea natural es elegir aquellos en los que la
similitud es mayor, pero determinar dicho valor 6 requerirá de un análisis de las condiciones del
19
problema. Seleccionado el número de usuarios con los que se comparará al usuario activo, el paso
siguiente es determinar una predicción que indicará un valor, una forma de hacerlo es la que se pro-
pone en (Dietmar, Zanker, Felfering, & Friedrich, 2012). A partir de estos resultados es posible crear
una lista de predicciones de calificaciones de ítems que el usuario activo haría sobre estos.
��78*", #+ = �$% +∑ '()*", #+ ∙:&0� *�&,. − �&% +∑ '()*", #+:&0�
Ecuación 2. Cálculo de una predicción de calificación de ítems no vistos por el usuario activo.
Este método es efectivo en la medida que el usuario activo tenga historial de calificaciones, lo que
puede traer problemas en usuarios nuevos. En sistemas reales es poco probable que la matriz � con-
tenga a usuarios que hayan calificado todos los ítems disponibles en el catálogo, por lo que la matriz
tendrá escasez de calificaciones. También es necesario indicar un número adecuado de usuarios si-
milares 6 que se utilizarán, si este número es muy grande o muy pequeño puede afectar la calidad de
las recomendaciones hechas. Estudios han determinado que un valor de 6 comprendido entre 20 y
50 es adecuado (Herlocker, Konstan, & Riedl, 2002).
2.2.1.2 Recomendaciones basadas en ítems vecinos más cercanos
Si bien los filtros colaborativos han sido utilizados con éxito en muchos contextos, existen domi-
nios en los que el volumen de ítems y usuarios son del orden de millones, dificultando el cómputo
en tiempo real de una predicción que busque usuarios vecinos, afectando la experiencia de usuario.
Un ejemplo típico son los sitios de comercio electrónico, que han explorado un método denomina-
do recomendaciones basadas en ítems, que son más aptas para el preprocesamiento offline e inclu-
so permiten el cómputo de las recomendaciones en tiempo real (Dietmar, Zanker, Felfering, &
Friedrich, 2012). La idea detrás de este método, consiste en computar las predicciones utilizando
la similitud entre los ítems y no entre los usuarios.
'();"<, #=<> = "< ∙ #=<‖"<‖@#=<@
Ecuación 3: Similitud basada en coseno entre dos vectores a y b de dimensión .
Para encontrar la similitud entre ítems es necesario definir una métrica, la más utilizada es la simi-
litud basada en coseno, cuya precisión en los resultados la ha convertido en método estándar para
este tipo de recomendación (Dietmar, Zanker, Felfering, & Friedrich, 2012). Esta mide la similitud
entre dos vectores de dimensión A, basándose en el ángulo existente entre ellos, indicando qué tan
ortogonales son. En la Ecuación 3 se muestra cómo se calcula dicho valor.
20
Este cálculo no considera las diferencias existentes en la calificación promedio de los usuarios,
pero este inconveniente es solucionado utilizado una versión ajustada de la Ecuación 3, la cual
sustrae la calificación promedio de los usuarios. Dado �, un vector de ) usuarios en cual todos
han calificado los ítems " y #, la similitud entre los ítems está dada por la Ecuación 4.
'()*", #+ = ∑ *�B,$ − �B%+*�B,& − �B%+�B0�C∑ *�B,$ − �B%+2�B0� ∙ C∑ *�B,& − �B%+2�B0�
Ecuación 4: Similitud basada en coseno ajustada entre dos ítems D y E considerando la calificación que cada usuario hace
sobre dicho ítem.
Una vez que se calcula la similitud entre todos los ítems, se procede a realizar una predicción para
el usuario activo sobre aquellos ítems que aun no ha calificado. Para ello es necesario calcular la
suma ponderada de todas las calificaciones que el usuario activo ha realizado sobre los 6 ítems que
son similares a los ítems que no ha calificado, formalmente se realiza de acuerdo a la Ecuación 5.
Donde � representa al usuario activo y el conjunto FG7)H"I(J(J(K"8L*�+ representa los índices
de los ítems que este usuario ha calificado. Tal como en la recomendación basada en usuarios,
determinar el número 6 de ítems vecinos dependerá del contexto del problema.
��78*�, �+ = ∑ '()*(, �+ ∙ �B,MM∈OPQ�R$SMTMU$VW*B+∑ '()*(, �+M∈OPQ�R$SMTMU$VW*B+
Ecuación 5: Predicción de calificación del usuario X sobre ítem Y.
2.2.1.3 Preprocesamiento de datos para el filtrado basado en ítems
Uno de los problemas que presentan los algoritmos tradicionales de recomendaciones colaborativas
basadas en usuarios es que no escalan bien para números enormes de usuarios e ítems (del orden de
millones) (Dietmar, Zanker, Felfering, & Friedrich, 2012). Por ejemplo, sean Z usuarios y [ ítems
disponibles en el catálogo, en el peor caso será necesario evaluar todos los registros Z que conten-
gan hasta [ elementos. En escenarios más realistas, se discute que la complejidad es mucho menor,
porque los usuarios han calificado pocos ítems del catálogo. Aún así en contextos en los que hay
cifras cercanas a los millones de usuarios es impracticable realizar una recomendación en tiempo
real para el usuario, debido al tiempo que tardaría ( Linden, Smith, & York, 2003).
Para hacer que los algoritmos de recomendaciones basadas en ítems puedan entregar resultados en
tiempo real y sin sacrificar precisión es necesario utilizar un enfoque diferente, como realizar un
preprocesamiento de datos. Este método busca construir de antemano, la matriz de similitud entre
ítems en la que se indica qué tan similares son los ítems entre sí. En tiempo de ejecución, una predic-
21
ción para un ítem �y un usuario � se determina conociendo cuáles ítems ( son similares a �, esto se
logra calculando la suma ponderada de las calificaciones que � ha realizado sobre un vecindario de
ítems. El número de vecinos a utilizar está dado por el número de ítems que � ha calificado
(Dietmar, Zanker, Felfering, & Friedrich, 2012). Como el número de ítems calificados es probable-
mente mucho menor que el total disponible en el catálogo, es factible realizar una recomendación en
tiempo real, evitando afectar la experiencia del usuario de la plataforma.
Si bien es factible realizar el preprocesamiento de vecindarios para las recomendaciones basadas en
usuarios, en escenarios prácticos, es difícil encontrar usuarios que califiquen ítems de igual forma, lo
que se traduce en que las calificaciones que realizan los usuarios podrían influenciar más rápidamen-
te la similitud entre ellos. En cambio, la similitud entre ítems es mucho más estable, de modo que
realizar un preprocesamiento no afecta mayormente la calidad de la recomendación (Dietmar,
Zanker, Felfering, & Friedrich, 2012).
2.2.2 Calificaciones
2.2.2.1 Calificaciones explícitas e implícitas
Entre las alternativas existentes para obtener las calificaciones de los usuarios, la que parece ser la
más precisa es aquella que solicita explícitamente la calificación del usuario sobre el ítem. Una
escala popular es aquella de 5 niveles, donde cada nivel indica desde mínima a máxima aproba-
ción, además, esta escala debe luego transformarse a una que sea compatible con los distintos al-
goritmos de recomendación. Una alta granularidad en el dominio de las calificaciones puede afec-
tar negativamente los resultados de la recomendación, ya que complejiza la determinación de la
similitud (Dietmar, Zanker, Felfering, & Friedrich, 2012).
Uno de los problemas que se presenta al utilizar calificaciones explícitas reside en que requiere un
esfuerzo adicional de parte del usuario y es posible que no les interese calificar los ítems, impactan-
do en el número de calificaciones disponibles, esto hará que la calidad de las recomendaciones dis-
minuya. En cualquier caso, las comunidades que se forman en torno a los sitios Web, han motivado
a los propios usuarios a calificar los ítems, comprendiendo que realizar una calificación tendrá un
resultado positivo para los miembros de la comunidad que estén en la búsqueda de algo de su interés.
22
De acuerdo a Schafer et al, los usuarios obtienen los siguientes beneficios al calificar los ítems
(Schafer, Frankowski, Herlocker, & Shilad, 2007):
1. Un sentimiento de haber aportado al crecimiento de la comunidad.
2. La gratificación de otros usuarios por haber dado su opinión.
3. Utilizar las recomendaciones como una extensión de su propia memoria, para recordar qué
le gusta y qué no.
Por otra parte, las recomendaciones implícitas son típicamente recogidas desde la aplicación en la
cual el sistema de recomendación está embebido. Por ejemplo, si la aplicación está dentro de un
sitio de comercio electrónico, se puede entender que una compra es una preferencia positiva del
usuario sobre un ítem, también podría ser un indicador de preferencia permanecer más de cierta
cantidad de tiempo interactuando con una página del sitio. Utilizando este método se elimina la
necesidad de solicitar explícitamente información al usuario y la información se va recolectando
automáticamente durante el tiempo. Ahora bien, el problema yace en si la interpretación del com-
portamiento del usuario es la correcta; comprar un ítem no es sinónimo de que sea el que realmen-
te se andaba buscando o si logra cumplir con las expectativas del usuario, incluso después de com-
prarlo el usuario podría indicar a la comunidad que no compre dicho ítem.
A pesar de los problemas que presentan las calificaciones implícitas, la respuesta a qué tipo de
calificación emplear, no es absoluta y dependerá del dominio del problema, (Schafer, Frankowski,
Herlocker, & Shilad, 2007) reportaron que en dominios como los de estaciones de radio que ofre-
cen contenidos recomendados, recolectar un gran número de calificaciones de forma implícita
llevó a los mejores resultados, permitiendo crear modelos de usuarios más precisos. De todas for-
mas concluyeron, que si no se puede capturar un número importante de calificaciones implícitas es
mejor implementar alguna técnica de calificación explícita.
2.2.2.2 Escasez de datos y el problema del arranque en frío
Las técnicas vistas hasta el momento parten del supuesto que existen datos con los que se pueden
comparar usuario o ítem, en las aplicaciones del mundo real las matrices de calificaciones presen-
tan vacíos; cuando el número de vacíos es alto, se habla de escasez de datos o de datos muy dis-
persos. A continuación se revisará la información más relevante para caracterizar los problemas
que puede traer tener pocos datos y cómo se puede hacer frente a esta situación.
La expresión “arranque en frío” se refiere al problema que significa para un sistema de recomenda-
ción no tener datos al momento de iniciar su actividad, traduciéndose en que no es capaz de realizar
23
recomendaciones útiles, degradando el rendimiento del filtrado colaborativo. De acuerdo a Schafer
et al (Schafer, Frankowski, Herlocker, & Shilad, 2007) esto puede ocurrir bajo tres escenarios:
1. Usuario nuevo. Un usuario al integrase a una plataforma que utiliza un sistema de recomen-
dación, este no tiene historial de actividades lo que impide, por ejemplo, calcular un vecinda-
rio de usuarios similares a él. Este problema se puede solucionar de varias formas:
a. Esperar a que el usuario califique algunos ítems y en el intertanto no recomendar.
b. Recomendar ítems de forma no personalizada, por ejemplo recomendarle los ítems
más populares, hasta que se pueda realizar una recomendación personalizada.
c. Preguntar explícitamente por sus intereses y/o información demográfica.
d. Utilizar calificaciones de otros usuarios con similar información demográfica.
2. Ítem nuevo. Cuando un ítem es añadido al catálogo del sistema éste no tiene calificaciones,
lo que quiere decir que no puede ser recomendado. Dependiendo del dominio esto pude ser o
no un problema, si se tratase de un ítem que por cuya naturaleza, permita encontrarlo de otra
forma que no sea con el sistema de recomendación (por ejemplo: un estreno de una mega
producción de Hollywood) no representa problema porque es probable que sea rápidamente
calificado. En caso contrario, cuando el dominio tiene demasiados nuevos ítems que rotan
con frecuencia (como en los sitios de noticias) el problema será mucho más complicado.
En aquellos sistemas en los que existen los denominados ítems “durmientes”, que tienen
como característica ser de potencial interés, pero no cuentan con calificaciones, se puede
realizar las siguientes acciones para lograr recomendarlo:
a. Recomendar el ítem por medio de técnicas que no son propias de los sistemas de
recomendación colaborativos, tales como análisis de contenido o metadatos.
b. Seleccionar ítems nuevos o con pocas calificaciones de forma aleatoria y pedir
explícitamente a los usuarios que los califiquen.
3. Comunidad nueva. Sin duda el problema más serio de arranque en frío es cuando se necesi-
ta echar a andar una comunidad. Si el servicio se basa en el valor que puede brindar un sis-
tema de recomendación colaborativo, no tener usuarios o calificaciones hará que el sistema
no pueda hacer recomendaciones, lo que le quitará cualquier ventaja distintiva al servicio,
haciendo que los usuarios lo abandonen. Una forma común de salir adelante es invitar y mo-
tivar a una pequeña comunidad para que califique ítems, antes de hacer masiva la invitación
a usar el servicio. Otra opción posible es utilizar calificaciones de otras fuentes o utilizar
otras técnicas de recomendación fuera del ámbito del filtrado colaborativo.
A lo largo de los años han existido múltiples de intentos de afrontar el problema de la escasez de
datos y partida en frío. A criterio de Dietmar et al (Dietmar, Zanker, Felfering, & Friedrich, 2012) un
trabajo destacable es el presentado por Huang et al (Huang, Hsinchun, & Zeng, 2004) quienes pro-
pusieron un enfoque basado en la construcción de un grafo que representa la interacción entre usua-
24
rio e ítem, así es posible utilizar la supuesta transitividad que existe en las preferencias de los usua-
rios para generar las predicciones. De los datos de ejemplo de la Tabla 4 y usando un enfoque tradi-
cional de FC, se puede decir que el usuario 1 tendría como “usuario vecino” al usuario 2 y por ende
un ítem recomendado sería el 3, dada la preferencia del usuario 1 por dicho ítem.
Tabla 5. Ejemplo simple de una matriz de interacción binaria entre usuario e ítem. El número cero indica que no ha existido
interacción, un número uno indica la contrario. Fuente (Huang, Hsinchun, & Zeng, 2004)
Ítem 1 Ítem 2 Ítem 3 Ítem 4
Usuario 1 0 1 0 1
Usuario 2 0 1 1 1
Usuario 3 1 0 1 0
Visto como grafo, las recomendaciones son determinadas a partir de los caminos existentes entre los
ítems y los usuarios. En un enfoque tradicional de FC un camino de largo 3 determinaría qué ítem
recomendar. En matrices con pocos datos, este largo puede no ser suficientes para determinar las
recomendaciones, por lo que se sugiere utilizar caminos de largo 5, este largo hace que las asocia-
ciones entre usuario e ítem sean consideradas como indirectas (Huang, Hsinchun, & Zeng, 2004).
Figura 2: Representación de grafo de la relación entre usuario e ítem. Datos provenientes de la Tabla 5.
Por ejemplo, en el grafo de la Figura 2, un ítem a recomendar al usuario 1 sería el ítem 1 ya que se
puede relacionar después de un recorrido por un camino de largo 5: �1– F2–�2– F3–�3– F1.
Recorrer la base de datos buscando posibles caminos entre los usuarios e ítems puede resultar muy
costoso en términos computacionales por lo que (Huang, Hsinchun, & Zeng, 2004) recomiendan
dividir el grafo de usuarios en uno bipartito para luego utilizar una técnica de recorrido llamada
spreading activation3 que permite analizar el grafo de una forma mas eficiente.
3 Spreading activation: Es una técnica utilizada para recorrer o explorar grafos, en la que primero activa un subconjunto de nodos de un grafo como nodos de partida y luego sigue las aristas para activar iterativamente los nodos que pueden ser activados directamente desde los que ya están activos. (Huang, Hsinchun, & Zeng, 2004)
25
Cuando se compara este método con otros tradicionales de FC que no consideran las asociaciones
transitivas, como aquellos basados en ítems o usuarios, éste resulta más efectivo al momento de en-
frentarse con bases de datos con pocos datos, en particular al momento de realizar recomendaciones
a usuario nuevos. En casos contrarios, cuando la matriz de interacción usuario-ítem alcanza una den-
sidad de datos mayor, la calidad de las recomendaciones empieza a disminuir si se compara con
otros métodos de FC. Producto del elevado costo computacional que significa encontrar nuevos ca-
minos dentro del grafo, hasta la fecha no se ha encontrado una forma de cómo para aplicar esta
técnica en bases de datos extensas (Dietmar, Zanker, Felfering, & Friedrich, 2012).
2.2.3 Otros enfoques basados en modelos y preprocesamiento de datos
Las técnicas para realizar recomendaciones colaborativas son habitualmente divididas en dos
grandes grupos, las que están basadas en modelos o en memoria. Los basados en memoria, son las
tradicionales que realizan el cómputo de la predicción y luego la recomendación directamente so-
bre la base de datos de calificaciones (como el basado en usuarios visto en la sección 2.2.1.1). Por
otra parte, los basados en modelos necesitan primero haber preprocesado los datos o haber apren-
dido un modelo antes de calcular una predicción, en esta categoría están las recomendaciones ba-
sadas en ítems (vistos en la sección 2.2.1.3) y aquellas que utilizan reducción de dimensión. En
teoría, los enfoques basados en memoria deberían ser más precisos, pues hacen uso de todos los
datos para realizar la predicción, pero presentan problemas de escalabilidad cuando la cantidad de
ítems o usuarios alcanzan números del orden de la decena de millones de registros (Dietmar,
Zanker, Felfering, & Friedrich, 2012).
2.2.3.1 Modelos basados en factorización de matrices
Las técnicas de reducción de dimensión de matrices han sido estudiadas desde principios de la
década del 1990 y alcanzaron gran popularidad tras el concurso organizado por Netflix.com4 a
mediados de la década del 2000, donde varios equipos hicieron uso de estos modelos, demostrando
que la precisión de la predicción puede mejorar usando estas técnicas. La reducción de dimensión
permite tratar con problemas de palabras sinónimas, polisemia, escasez de datos y escalabilidad
(Mabey, 2007; Mabey, 2007).
4 Netflix es una compañía dedicada al servicio de subscripciones de contenido televisivo. A partir del año 2006 comenzó una competencia que buscaba mejorar los resultados de su sistema de recomendación, en 2009 Netflix entregó el premio de 1 millón de dólares al equipo que logró superar en más de un 10% los resultados de su sistema. Más información en http://www.netflixprize.com.
26
A grandes rasgos, la factorización de matrices puede ser usada en los sistemas de recomendación
para derivar un conjunto de factores latentes u ocultos a partir de los patrones de calificaciones y
también para caracterizar a usuarios e ítems en dichos vectores de factores. En un contexto de
películas, los factores que se pueden identificar automáticamente y pueden corresponder a los as-
pectos más obvios, como el género (acción, romance, etc.), aunque algunas veces podrían ser im-
predecibles. La recomendación de un ítem ( se realiza cuando el usuario activo y el ítem � son
similares respecto a aquellos factores (Dietmar, Zanker, Felfering, & Friedrich, 2012).
La descomposición por valores singulares o SVD (siglas del inglés Single Value Descomposition)
es una técnica para la reducción de dimensión y un caso particular de los modelos basados en fac-
torización de matrices. Uno de los aspectos claves de la descomposición SVD está relacionado en
cómo hallar un espacio de características de menor dimensión, donde las nuevas características
representen “conceptos” y el peso de cada concepto en el contexto de la colección sea computable.
Esto porque la SVD permite derivar automáticamente conceptos semánticos en un espacio de me-
nor dimensión, el cual puede ser utilizado como base para un análisis semántico latente5 (en inglés
LSA); la cual es una técnica muy popular para la clasificación de textos (Amatrian, Jaimes, Oliver,
& Pujol, 2011). El objetivo del algoritmo SVD está en lograr descomponer cualquier matriz ] en 3
matrices más pequeñas de acuerdo a la Ecuación 6.
] = �Σ_`
Ecuación 6. Factorización de una matriz de dimensión ×! usando el algoritmo SVD. Donde b es una matriz de × c, d es
una matriz diagonal de c × c que contiene los valores singulares ordenados de forma decreciente y e es una matriz de c × !.
En el contexto del problema, la matriz ] está compuesta por ítems y sus características, la matriz
� contiene ítems y conceptos, la matriz Σ solo conceptos en su diagonal y finalmente V que tiene
características y conceptos. La
Figura 3 ilustra la composición de cada matriz.
5 Latent semantic analysis (LSA) es una técnica utilizada en el procesamiento de lenguajes naturales, en particular en semántica vectorial, que analiza la relaciones existentes entre un conjunto de documentos y los términos que contiene para generar un nuevo conjunto de conceptos relacionados a los conceptos y términos. Para mayor información revisar: http://en.wikipedia.org/wiki/Latent_semantic_analysis
27
Figura 3. Ilustración de los elementos que componen cada matriz de la SVD. Fuente: traducción de la Figura 2.3 en (Amatrian,
Jaimes, Oliver, & Pujol, 2011)
Para realizar una factorización SVD sobre una matriz del orden de millones de filas y columnas
será necesario utilizar mucho tiempo de procesador ya que tiene una complejidad computacional
de f*Ag+ . Una forma de solucionar este inconveniente fue propuesta por (Sawar, Karypis,
Konstan, & Riedl, 2002) y consiste en aprovechar una propiedad de SVD que permite crear una
aproximación de la matriz ], esto se logra limitando el número de valores propios a un 6 arbitrario
menor que �, reduciendo así la dimensión de la matriz Σ a 6 × 6 por la eliminación de los valores
propios de menor valor, la nueva notación está descrita por la Ecuación 7.
]: = �:Σ:_:̀
Ecuación 7. La nueva matriz hi es la matriz de rango-k que mejor se aproxima a la matriz original h.
Cuando se refiere a la matriz que mejor se aproxima, se refiere a que ]: minimiza la suma de los
cuadrados de la diferencia de los elementos de ] y ]:, o más formalmente es la menor norma de
Frobenius (o norma 2) entre dichas matrices (‖] − ]:‖j+. Existen evidencias de que el espacio
generado por la matriz ]: es mejor que el de ] debido a la eliminación de los valores propios de
menor valor, ya que estos solo añaden “ruido” a la relación usuario-ítem (Sawar, Karypis,
Konstan, & Riedl, 2002).
Una forma para computar las predicciones sobre la matriz de calificaciones ]:, es utilizando la
similitud por coseno entre ) pseudo usuarios �: ∙ CΣ:` y A pseudo ítems CΣ: ∙ _:`. En particu-
lar la predicción para el i-ésimo usuario sobre el j-ésimo ítem está dada por la Ecuación 8, donde
además se añade el promedio de las calificaciones del usuario "M. Dado que 6 es constante, luego
todas las matrices están calculadas de antemano, por lo tanto la complejidad computacional es
constante f*A+ (Sawar, Karypis, Konstan, & Riedl, 2002).
�Mk = "l% + �: ∙ CΣ:`*(+ ∙ CΣ: ∙ _:`*m+ Ecuación 8. cálculo de la predicción para el i-ésimo usuario sobre el j-ésimo ítem utilizando la similitud basada en coseno.
28
La creación del modelo, es decir, la creación de las relaciones entre usuarios y la de vecindarios pue-
de ser realizada offline, mientras que la recomendación propiamente tal debe realizarse online, la
SVD permite realizar sin demasiados inconvenientes los cálculos offline, pero es muy sensible al
aumento explosivo de datos, esto hace necesario utilizar otros enfoques que hagan más escalable su
uso tanto para cómputos off-line como online. Una forma de mejorar el rendimiento de este enfoque
es utilizar una SVD incremental. Este método permite hacer uso de una descomposición aproximada
que permite incorporar nuevos usuarios o calificaciones sin tener que volver a recalcular la descom-
posición de la matriz ]: lo que permite optimizar el procedimiento (Amatrian, Jaimes, Oliver, &
Pujol, 2011). La Figura 4 esquematiza la técnica propuesta por (Sawar, Karypis, Konstan, & Riedl,
2002) llamada folding-in, que usando la factorización de la matriz ]: permite añadir nuevos ítems al
modelo previamente calculado. Esta técnica deja como resultado una matriz ]:′ levemente distinta a
]:, pero los resultados obtenidos demostraron que permite ejecutar predicciones online con un buen
nivel de precisión, comparable con otros métodos tradicionales de FC.
Figura 4. Representación gráfica del método de factorización SVD incremental folding-in. Fuente: Adaptación y traducción de
la figura 1 en (Sawar, Karypis, Konstan, & Riedl, 2002).
A partir de este trabajo nacieron otras mejoras que permitieron hacer que la SVD incremental fue-
ra utilizada en un modelo online, posteriormente y tras el éxito del concurso organizado por Net-
flix, donde variaciones de este método fueron propuestas y utilizadas por varios equipos, logrando
posicionar el método SVD como un método comúnmente aceptado en el mundo de los sistemas de
recomendación (Amatrian, Jaimes, Oliver, & Pujol, 2011).
2.3 Experiencias en ámbito educacional del uso de sistemas de recomendación
En la actualidad la cantidad información disponible en internet referente a cualquier tema es enor-
me y difícilmente una persona sería capaz de poder consumir todo ese material. En el ámbito del
aprendizaje a distancia el problema sigue siendo el mismo, existe demasiado material, el cual es
29
difícil de catalogar, por lo que parte importante del tiempo que utiliza el estudiante está dedicado a
buscar y filtrar el contenido de aprendizaje. Es por esto que se hace necesario contar con herra-
mientas que permitan facilitar al aprendiz encontrar el material que busca.
Según Zaïane (Zaïane, 2002), los educadores que están usando ambientes de aprendizaje basados
en la web, tienen la necesidad de encontrar la forma de obtener una retroalimentación de los estu-
diantes de una forma no intrusiva y automática, que les permita seguir de mejor forma el proceso
de aprendizaje y apreciar la efectividad de la estructura del curso online. Por el lado del estudiante,
sería útil si el sistema fuera capaz de guiar las actividades y recomendar de manera inteligente
otras actividades o recursos web, todo en favor de mejorar el aprendizaje.
La recomendación automática podría basarse en la secuencia de navegación deseada por el instruc-
tor para el material del curso o, algo más interesante, basarse en los patrones de navegación de
otros estudiantes.
2.3.1 Sistemas de recomendación para el aprendizaje en línea
En otros dominios, como en el de comercio electrónico y catálogos de películas o música, se han
implementado con éxito diferentes agentes que permiten al usuario encontrar el contenido de su
interés. Uno de ellos son los sistemas de recomendación, que basados en las características de los
ítems o de otros usuarios que tienen preferencias similares a las de él, son capaces de filtrar dentro
de todo el catálogo de ítems disponible aquellos pocos ítems que son realmente del interés del
usuario que interactuando con el sistema.
Estos sistemas pueden ser utilizados como base para el desarrollo sistemas de recomendación para
el aprendizaje en línea, pero debido principalmente a razones económicas (Zaïane, 2002), las in-
vestigaciones, pruebas de rendimiento, mejoras de algoritmos, etc. se han centrado en el dominio
del comercio electrónico. Esto trae como consecuencia que no existan conjuntos de pruebas están-
dar ampliamente aceptados, para probar el rendimiento de algoritmos, hipótesis de mejoras y sobre
todo la falta de resultados concluyentes al respecto.
Existen trabajos como los de (Zaïane, 2002), (Tan, Guo, & Li, 2008) y otros que hacen uso de las
técnicas vistas en la sección 2.2.1 para recomendar cursos basados en una matriz de calificaciones
de usuarios. Parte importante del problema a solucionar, fue recolectar los datos desde diversas
fuentes, principalmente de archivos de registro en los servidores de aplicaciones.
Un trabajo interesante fue propuesto por (Tang & McCalla, 2003), en el cual diseñaron (pero no
implementaron) un sistema de aprendizaje basado en web que es capaz de encontrar contenidos en
30
la web, personalizando y adaptando dicho contenido, basándose en la observación de los aprendi-
ces y la acumulación de calificaciones dadas por los usuarios, sin la necesidad de que los usuarios
interactuaran directamente con los recursos open web6 que se le recomendaron. Para realizar la
recomendación utilizaron una técnica de agrupación para agrupar a los aprendices en subclases de
acuerdo a los intereses de aprendizaje antes de usar un filtrado colaborativo para calcular las simi-
litudes entre los aprendices para recomendar el contenido.
Con un enfoque más empírico (Ghauth & Abdullah, 2010), condujeron una serie de experimentos
con el fin medir el rendimiento de un ponderador denominado “buenos estudiantes”, éste se basaba
en dar una mayor ponderación a las recomendación basadas en aquellos alumnos que se considera-
ron buenos alumnos por su rendimiento anterior. Los resultados mostraron que incorporar este
ponderador en un sistema de recomendación basado en contenidos tuvo un impacto significativo
en el aprendizaje de los alumnos, pero a criterio de los mismos autores, los resultados obtenidos,
por si solos no son capaces de establecer un patrón de comportamiento consistente.
En términos generales, sigue abierta la búsqueda de información concluyente, de cómo los siste-
mas de recomendación pueden ayudar a los estudiantes de sistemas de aprendizaje en línea a satis-
facer sus expectativas de hallar contenido académico que los ayude a cumplir sus objetivos de
aprendizaje.
6 Más información sobre los tecnologías Open Web está disponible en http://www.w3.org/wiki/Open_Web_Platform
31
Capítulo 3 Propuesta de solución
Conocido el problema y las técnicas más comunes utilizadas por los sistemas de recomendación
de filtrado colaborativo, se diseñará un sistema de recomendación para una plataforma de educa-
ción en línea que aloja contenidos OpenCourseWare (OCW), esta plataforma se llama Classro-
om.tv, en ella se han recopilado más de 300 cursos OCW de distintas universidades. Tal como se
comentó anteriormente, ofrecer estos contenidos a los usuarios de la plataforma es una tarea de-
safiante en la que un sistema de recomendación de contenidos académicos puede facilitar a los
usuarios de sitios de aprendizaje en línea (estudiantes) el acceso a contenidos de su interés, tam-
bién podrían descubrir nuevos contenidos de manera personalizada, lo que implica que se modi-
ficarían en el tiempo junto con los propios intereses del estudiante.
El objetivo de este trabajo es diseñar un sistema de recomendación, que de acuerdo al contexto en
que se encuentra inmerso, permita ofrecer a sus usuarios contenido académico de su interés. Para
diseñar un sistema de recomendación es necesario hacer un análisis del ambiente o entorno con el
que interactúa. Esto se realizará mediante un análisis de 3 dimensiones del sistema de recomenda-
ción: la aplicación en la que está inmersa, las características de los usuarios y los datos que están
disponibles. Este análisis permitirá conocer las necesidades y restricciones a las que estará sujeto el
sistema, en particular establecer los elementos centrales de un sistema de recomendación:
• La familia de algoritmos que es factible de implementar.
• Qué tipo de contenido académico (ítem) es el que se va a recomendar.
• Cómo se van a calificar los ítems: la escala de evaluación y si el método de captura de las
calificaciones será explícito o implícito.
• La construcción del perfil de usuario, que son básicamente las preferencias del usuario
por los ítems.
A partir de esta información se propondrá el tipo de sistema que se debe construir y los algorit-
mos que son viables para el desarrollo del sistema. Para identificar y describir los aspectos claves
del diseño del sistema de recomendación se utilizará la metodología propuesta por Picault et al
(Picault, Myriam, Bonefoy, & Mercer, 2011), la cual plantea, desde un punto de vista general,
que diseñar un sistema de recomendación significa tomar decisiones que pueden ser categoriza-
das en los siguientes grupos:
• Algoritmos: ¿qué métodos usar?
• Arquitectura: ¿cómo será puesto en marcha el sistema, será centralizado o distribuido?
• Perfil de usuario: ¿Cuál es el perfil de usuario, debe adaptarse en el transcurso del tiempo?
32
Estas decisiones están fuertemente ligadas a las restricciones de ambiente donde está inmerso el
sistema de recomendación. A partir de la
Figura 5 se pueden identificar los tres grandes modelos con los que interactúa y restringen al
sistema, estos son:
1. Aplicación: ¿Qué rol juega el SR dentro del sistema en el que está inmerso? 2. Usuarios: ¿quiénes son y cuáles son sus metas u objetivos? 3. Datos: ¿qué características tienen los datos del sistema donde está inmerso?
Figura 5. El sistema de recomendación dentro de su ambiente de funcionamiento. Adaptación de la figura 10.1 de (Picault,
Myriam, Bonefoy, & Mercer, 2011)
Basado en estas 3 dimensiones, se construirá un modelo de contexto que será utilizado como base
del diseño del SR sobre estos modelos. Las próximas secciones de este capítulo describirán este
proceso. En la siguiente sección se describirán los 3 modelos y cómo afectan en las decisiones de
diseño. Luego se mostrará cómo estos modelos pueden ayudar en la evaluación del sistema.
3.1 Ambiente del sistema de recomendación
Como se mencionó en la sección anterior, la definición de los modelos de usuario, datos y apli-
cación, ayudarán a tomar decisiones sobre el diseño del SR. Estas decisiones dependerán de
cómo cada modelo restringe los aspectos principales de la selección del algoritmo, la selección
de la arquitectura del sistema y la decisión de la posible adaptación del perfil de usuario en el
transcurso del tiempo.
El ambiente donde estará inserto el sistema de recomendación es un proyecto llamado Classro-
om.tv, el cual tiene como finalidad poner a disposición de cualquier persona que posea un compu-
tador y una conexión a Internet, acceso a contendido abierto y gratuito de distintas instituciones de
estudio, tales como universidades o empresas. En sus comienzos Classroom.tv agregó de forma
Ambiente
Usuarios
DatosAplicación
Sistema de recomendación
AlgoritmosArquitectura
Perfil de usuario
33
automática más de 300 cursos universitarios sobre distintas áreas, tales como matemáticas, biolog-
ía, programación, emprendimiento, entre otros. De todo el contenido disponible, muy poco ha sido
categorizado o ha sido enriquecido mediante las diferentes características del sitio.
3.1.1 Modelo de aplicación
Si bien un sistema de recomendación es una pieza de Software en sí compleja, éste siempre for-
mará parte de un sistema más grande, al que se llamará anfitrión. Un SR es usualmente una ca-
racterística dentro de una aplicación mayor. Esto obliga a que el diseño deba ser integrado dentro
del propio diseño de la aplicación anfitriona.
Esta sección describirá la influencia de la aplicación anfitriona sobre el SR a través de dos facto-
res: el rol del SR y la influencia de la implementación de la aplicación.
3.1.1.1 El rol del sistema de recomendación dentro de la aplicación anfitriona
Es necesario identificar las metas del sistema de recomendación dentro de la aplicación anfitriona
visto desde su totalidad. El modelo propuesto es definido por estos criterios.
• Propósito: facilitar a los usuarios el acceso a ítems que son más difíciles de encontrar.
• Tipo de recomendación: una lista de ítems ordenadas por algún criterio de populari-
dad, por ejemplo los top-10 ítems.
• Integración con las características de navegación: este criterio está relacionado en
cómo las recomendaciones se integrarán con el resto de los contenidos dentro de la apli-
cación. Las opciones elegidas son: mostrarlas separadas del contenido navegable (ejem-
plo: la página principal o una sección exclusiva para ello) y mostrarlas integradas en el
contexto de interacción, por ejemplo mostrando cursos similares al que se está visitando.
• Criterios de rendimiento: estos criterios permitirán evaluar el sistema de recomenda-
ción una vez que esté construido y ayudarán a la selección de los algoritmos.
o Transparencia y explicaciones: ¿Cuán importante es para los usuarios entender
cómo se formuló la recomendación?. Es difícil determinar esta respuesta a prio-
ri, por lo que se supondrá que es de una importancia intermedia. Asumir esto
permite no cerrar la puerta a algunos algoritmos.
o Riesgo a tomar: para poder recomendar ítems que se encuentren más ocultos o
sean menos populares es necesario mostrar ítems que puede que el usuario no pre-
fiera.
34
o Nivel de serendipia7: Directamente relacionado con el punto anterior, si lo que
se busca es sorprender, es necesario incluir en la recomendación aquellos ítems
que no sean considerados obvios para el usuario o pareciera no guardar relación
con los otros elementos recomendados. o Fiabilidad : En el contexto de recomendación de contenidos académicos gratui-
tos, los contenidos ofrecidos no son considerados críticos, pues no tienen un va-
lor económico, probablemente no tienen fecha de caducidad y pueden ser reem-
plazados por otras opciones a lo largo del tiempo. Por lo tanto, lo único que
podría perder el usuario es tiempo. o Velocidad de respuesta: debido a que la velocidad de respuesta no es determi-
nante ni se espera que recomiende contenidos en grandes volúmenes varias veces
por visita de usuario. Se le dará preferencia a la precisión sobre la velocidad, esta-
bleciendo un límite arbitrario de máximo 15 segundos de tiempo de respuesta, que
según (Nah & Fiona, 2004), es el tiempo máximo de respuesta que un usuario to-
lera para la carga de contenido, siempre y cuando exista retroalimentación del sis-
tema.
3.1.1.2 El rol de la implementación de la aplicación
Aparte de las características que son visibles para los usuarios, algunos aspectos de la implemen-
tación de la aplicación tienen gran impacto en el diseño. En la aplicación en sobre la que se dise-
ñará el SR tiene las siguientes características:
• Utilización en múltiples dispositivos: Dado que es una aplicación web, su funcionamiento
ocurre en navegadores Web que pueden ser utilizados en computadores de escritorio y telé-
fonos inteligentes. Los datos independientemente del dispositivo que se ocupe, son almace-
nados en un único repositorio de datos lo que permite exista sincronía entre los contenidos
que se ven en todos los dispositivos. Cabe destacar que la versión móvil no hace uso de las
capacidades de posicionamiento geográfico por lo que no existe una relación entre el lugar
en que esté el usuario y el contenido que ve.
• Múltiples usuarios: la aplicación web está diseñada para que los estudiantes que visiten el
sitio deban tener una cuenta de usuario. Esto es así porque la naturaleza del contenido que se
consume requiere mantener un registro del avance a lo largo del tiempo. Además se espera
que participen entre sí durante el desarrollo de los cursos.
7 La serendipia es una derivación del neologismo inglés serenpendity. Es muy utilizada dentro de la terminología de los sistemas de recomendación y significa encontrar algo afortunado e inesperado cuando se está buscado una cosa distinta.
35
• Infraestructura de la aplicación: como ya se mencionó, la aplicación es web, esto quiere
decir, que solo puede ser utilizada mediantes un navegador web y en términos de arquitectu-
ra su diseño es centralizado, por lo que se espera que existan múltiples usuarios conectados
al mismo tiempo. El impacto que tiene sobre este tipo de infraestructura guarda relación con
la capacidad de escalamiento del sistema de recomendación.
Algoritmos como los de filtrado colaborativo requieren que la información de todos o gran parte
de los usuarios sea recolectada, por lo que la utilización de algoritmos de esta familia se ven be-
neficiados en arquitecturas centralizadas como esta.
Las primeras restricciones del SR dadas por la aplicación anfitriona se pueden resumir en la Ta-
bla 6, pero por si sola no son suficientes para construir un sistema. Todavía es necesario conocer
las que son establecidas por los modelo de usuarios y los datos
Tabla 6. Resumen de las restricciones establecidas por el modelo de aplicación del ambiente de un sistema de recomendación.
Característica del modelo Valor
Propósito Enfoque en ítems poco conocidos
Tipo de recomendación Múltiples ítems (sin secuencias)
Integración con características de nave-gación
Separadas e integradas del contexto de interacción
Criterios de rendimiento:
Transparencia y explicaciones
Riesgo a tomar
Nivel de serendepia
Fiabilidad
Velocidad de respuesta
Objetivo:
Importancia intermedia
Intermedio
Intermedio
Intermedio
Menor a 15 segundos
Número de usuarios Múltiples
Infraestructura de la aplicación Aplicación web (arquitectura centralizada)
3.1.2 Modelo de usuario
Entender a cabalidad al usuario es un componente fundamental para el éxito de cualquier sistema
de recomendación. Un diseño centrado en el usuario puede reducir la necesidad de rediseños
extensos, mantenimiento e incluso soporte a usuarios.
36
El objetivo de esta sección es caracterizar al modelo usuario de acuerdo a una serie de propieda-
des que permitirán conocer cuáles son sus objetivos y motivaciones y cómo las puede satisfacer
el sistema de recomendación.
3.1.2.1 Entendiendo quiénes son los usuarios
Para entender quiénes son los usuarios del sistema de recomendación, es necesario concentrarse
en la identificación de las características de los usuarios.
Características demográficas: a partir de los datos de las visitas que el sitio web ha recibido en
el periodo Julio 2013 – Julio 2014 y mediante la herramienta Google Analytics8 se ha determina-
do una serie de datos demográficos sobre los visitantes. De acuerdo al Gráfico 5, dentro de los
usuarios mayores de 18 años que visitaron el sitio el último año, el 47% está en grupo compren-
dido entre los 18–24 años y el 33% entre los 25 y los 34.
Gráfico 5. Muestra los grupos etarios mayores a 18 años de los visitantes que participaron en el sitio web a partir de los datos
durante el periodo Julio 2013 – Julio 2014. Elaboración propia a partir del Anexo 4.
En tanto, la Tabla 7 muestra cómo se distribuyen los visitantes por género, las de hombres son
levemente superiores a las de las mujeres por solo un 4% de diferencia, por lo que se puede con-
siderar que existe homogeneidad en este aspecto.
Tabla 7. Distribución de visitas por género en el periodo comprendido entre Julio 2013 hasta Julio de 2014.
Mujeres Hombres
Visitas 38.730 41.606
Porcentaje 48,21% 51,79%
Total de visitas 80.336
8 Google Analytics es una herramienta de análisis del rendimiento de un sitio web. Más información en http://www.google.cl/intl/es/analytics.
47%
33%
10%
5%3% 2%
Total de visitas por grupo etario
18-2425-3435-4445-5455-6465+
37
Otros aspectos demográficos a considerar son el idioma y el país desde donde se están realizando las visitas. De la misma
fuente que los gráficos anteriores, el
Gráfico 6 muestra que el país del que más visitas recibe el sitio es Chile con un 84%. Es espera-
ble que el idioma preferido sea también el español, esta información es rápidamente comproba-
ble observando el Gráfico 7.
Gráfico 6. Muestra la distribución del país de procedencia de las visitas. Elaboración propia a partir de los datos del Anexo 4.
Gráfico 7. Muestra cómo se agrupan las diferentes variaciones del idioma de los navegadores web con los que los usuarios
han visitado el sitio. El idioma predominante es el español con un op%, seguido por el inglés y portugués con un pq% y r%
respectivamente. Elaboración propia a partir de los datos del Anexo 5.
Con esta información es posible identificar los grupos que tienen mayor participación dentro del
sitio. Esta información puede ser muy útil para crear estereotipos de usuarios con características
bien definidas. Posteriormente, esta información se puede aprovechar en el momento de tratar de
recomendar ítems en situaciones donde no se tiene suficiente información para generar recomen-
daciones personalizadas simplemente agregando al usuario en uno de estos estereotipo. Además,
identificar el tipo de usuario es un criterio importante que ayudará a determinar el nivel de ex-
0
50000
100000
150000
200000
País de procedencia
Tota
l de
vis
itas
País desde donde provienen las visitas
0
50.000
100.000
150.000
200.000
Español Inglés Portugués Otros
Vis
itas
Idioma
Visitas agrupadas por el idioma del navegador web
38
pectativas que tiene el usuario sobre el sistema de recomendación y en consecuencia qué tipo de
algoritmos elegir.
3.1.2.2 Entendiendo las metas y expectativas de los usuarios
Metas: El primer paso es identificar cuáles son las tareas que realiza el usuario y si la aplicación
anfitriona puede apoyar a completarlas. Los objetivos de un estudiante en la aplicación anfitriona
es aprender sobre algún tópico de su interés. Este interés puede ser por el mero deseo de aprender
algo nuevo, profundizar sus conocimientos, o bien, atender a algún requerimiento particular de
aprendizaje como lo puede ser por ejemplo: resolver algún tipo de problema matemático, conocer
la opinión de un profesor sobre algún tópico en particular, etc. Para la aplicación en cambio, el
objetivo es lograr que el usuario se inscriba en algún curso y luego complete algunos o todos los
objetivos que el curso propone; los cuales en esta aplicación son ver todas las clases en video y
responder a las preguntas que le permitan acceder a una nota mínima de aprobación.
Las motivaciones que puede tener un usuario para el uso de cualquier sistema pueden ser mu-
chas, por lo que es necesario identificar cuáles son sus metas. Algunas de las más comunes para
los usuarios de Classroom.tv son:
• Explorar contenido en busca de algo de su interés, esto implica la utilización del buscador
del sitio o la revisión de la actividad de otros usuarios y no necesariamente implica que el
usuario se inscriba o participe del contenido.
• Búsqueda de respuestas o tópicos específicos, pueden llegar ser muy específicas, por
ejemplo: “cómo resolver una ecuación diferencial de primer orden con el método de Ber-
noulli”.
• Inscribirse en un curso y completar todas o algunas de las actividades de acuerdo a los
objetivos de aprendizaje personales y/o los que propone el curso.
Esta información permite entender que un usuario puede tener una disposición distinta ante la
plataforma, si está enfocado en la búsqueda de respuestas el usuario preferirá resultados especia-
lizados , en cambio si está interesado en explorar nuevos contenidos de su interés, es esperable
que prefiera ver resultados con una variedad más amplia.
Expectativas: la satisfacción de las metas recién descritas son la clave para definir cuales son las
expectativas que tienen sobre el sistema. Es posible separar las expectativas en dos niveles alto y
medio:
• Nivel alto de expectativas, presente en los usuarios que están enfocados en completar una
tarea, en este caso es cuando necesitan encontrar una respuesta o ver contenido específi-
39
co. Esto quiere decir que a los usuarios con este nivel de expectativas solo les interesa ver
“ítems buenos”. No encontrar el contenido que buscan en las recomendaciones puede lle-
var que su nivel de insatisfacción les haga abandonar la búsqueda y que su nivel de con-
fianza en el sistema de recomendación disminuya.
• Nivel medio de expectativas, presente en los usuarios que esperan que el sistema de re-
comendación les ofrezca algunos “ítems buenos”, abiertos a la posibilidad de encontrar
nuevo contenido de su interés.
Adaptación al cambio de expectativas: Cuando se utiliza un sistema de recomendación las
expectativas pueden cambiar durante el tiempo. Es importante considerar que las recomendacio-
nes deben volverse más precisas durante el tiempo, pero también debe reflejar los cambios de los
intereses.
Los usuarios pueden seguir usando el sitio si el sistema de recomendación no funciona o tiene
mal rendimiento, pues el sistema de recomendación no es considerado una pieza central de las
actividades del usuario, ya que el propósito central no es que el usuario busque actividades a
realizar de cursos en los que no está inscrito cada vez que use la aplicación, sino que se espera
que pase más tiempo realizando las actividades de los cursos en los que está inscrito.
3.1.2.3 El contexto del usuario
Dispositivo: La aplicación anfitriona está optimizada para ser ejecutada en computadores con
pantallas de alta resolución (superior a 1024x768 pixeles), por lo que los dispositivos en los que
se espera que interactúe el sistema de recomendación son computadores de escritorio y portátiles.
En relación a los teléfonos inteligentes y tabletas, la aplicación anfitriona no tiene versiones op-
timizadas por lo que no serán considerados en esta etapa del diseño.
Situación de interacción: la primera consideración es sobre el lugar físico donde se encuentra el
usuario al momento de obtener una recomendación, este factor puede resultar muy importante en
aplicaciones móviles ya que permite conocer de manera muy precisa dónde se encuentra el usua-
rio, pero como ya se mencionó no es el caso de esta aplicación. Sí es importante establecer dónde
será utilizado el sistema, por la naturaleza de la aplicación su utilización ocurre principalmente
en los lugares de estudio tradicionales, tales como universidades, bibliotecas y los lugares de
residencia de los estudiantes.
Ambiente social: esta consideración hace referencia a cómo será usado el sistema, si por una sola
persona o muchas y cómo se relacionan entre sí. La aplicación anfitriona posee algunas caracterís-
ticas básicas de actividad social, tales como seguir la actividad de otros usuarios además de servi-
40
cios de mensajería y foros. Se presume que un usuario se siente más atraído hacia un curso si sabe
que existen otros usuarios, en particular a aquellos que conoce y sigue sus actividades.
Este análisis solo ha tocado superficialmente la compleja dimensión del usuario, resumida en la
Tabla 8. Determinar en detalle cuáles son sus expectativas y motivaciones, así como cuantificar
el impacto que tiene para un estudiante participar en un curso con más estudiantes requiere un
esfuerzo fuera del alcance de este trabajo. No obstante, ha permitido conocer información que es
muy importante para la selección de la familia de algoritmos de recomendación.
Tabla 8. Resumen de las restricciones establecidas por el modelo de usuario del ambiente del sistema de recomendación
Característica del modelo
Valor
Información demográfica
Los usuarios provienen principalmente de Chile, su idioma principal es
el español y son mayoritariamente jóvenes menores de 34 años.
Metas y sus características
En torno a sus metas, se identifican dos grupos de usuarios para el
sistema, un grupo está orientado a cumplir sus objetivos de aprendi-
zaje de forma muy concreta, por lo que buscan principalmente res-
puestas. El otro grupo, está más interesado en encontrar contenido
de su interés y está más abierto a explorar nuevos contenidos.
Nivel de expectativas
Para los usuarios orientados a objetivos, alta. No encontrar el conte-
nido que andan buscando puede producir frustración y con el tiempo
desconfianza en las recomendaciones del sistema. Para los otros
usuarios es media, pues pueden seguir usando el sistema si éste no
funciona como se espera, ya que el sistema de recomendación no es
considerado una parte central.
Cambio de expectati-vas durante el tiempo
Sí, las expectativas de los usuarios debería incrementarse cuando
progresivamente descubran los beneficios de las recomendaciones
del sistema.
Importancia de la situación de uso
Baja, se espera que los usuarios utilicen el sistema de manera similar
durante el tiempo.
Ambiente social Grupal, existe interacción entre los estudiantes dentro de la aplica-
ción anfitriona.
3.1.3 Modelo de datos
El último punto ha estudiar son las características de los ítems que el sistema utilizará. En efecto,
las descripciones de los ítems ya existen antes de la existencia del sistema de recomendación, lo
que tiene como consecuencia que hay escazas posibilidades de influenciar un cambio en los da-
41
tos. A continuación se identificarán las características de los datos que influenciarán los resulta-
dos del sistema de recomendación.
3.1.3.1 Entendiendo el tipo de datos disponibles para describir los ítems
Hay varias formas de describir los ítems:
• Datos no estructurados: un ítem puede ser representado solo por datos no estructurados,
dentro de esta categoría está el material multimedia como los videos y documentos adjun-
tos. En estos casos es necesario aplicar técnicas de preprocesamiento para extraer las pa-
labras claves importantes o metadatos que describan los ítems. Para el caso de los videos
esta tarea es más compleja y menos confiable que realizar la misma tarea sobre documen-
tos de texto.
• Datos semiestructurados: un ítem es usualmente descrito por metadatos genéricos que
corresponden a las principales características del ítem definidas con un número de pro-
piedades finitas.
• Datos estructurados: los ítems se pueden describir como modelos bien estructurados
que pertenezcan a algún estándar oficial o de facto.
Figura 6. Representación de un modelo simplificado de cómo está jerarquizado, de izquierda a derecha, el contenido en
Classroom.tv.
Usando estas categorizaciones se hará una descripción de los contenidos académicos disponibles
en Classroom.tv y que son potencialmente viables de recomendar. En la Figura 6 se puede ver, a
grandes rasgos, cómo están jerarquizados (de izquierda a derecha) estos contenidos.
Comenzando por el curso, si se observa la Figura 7 es posible notar que está conformado por
datos semiestructurados que describen el contenido del curso, solo el título y la información del
curso están disponibles.
42
Figura 7. Captura de pantalla que muestra la vista principal de un curso en Classroom.tv.
Figura 8. Presentación de una clase en Classroom.tv. En el recuadro superior izquierdo se encuentran los conceptos, a la
derecha el video. Más abajo se encuentra la descripción de la clase y en la esquina inferior derecha está una nube de etique-
tas que indica las palabras claves sobre las que trata la clase.
43
Un nivel más abajo en la jerarquía está la clase, en la Figura 8 se puede ver como es la interfaz
de usuario de una clase, en ella se pueden identificar el título de la clase y la descripción, ambos
datos no estructurados. Debajo de una lista de conceptos que dividen al video en una suerte de
capítulos, estos datos están parcialmente estructurados porque se rigen por una estructura de
tiempo (momento del video) y una descripción. Más abajo, en color amarillo están representadas
las etiquetas que hace alusión a las palabras claves de tópicos que aparecen en la clase, si estas
palabras claves estuvieran acotadas a un número determinado y solo se pudieran utilizar ésas, se
estaría en un caso de datos estructurados, pero como estos valores son infinitos y no siguen
ningún patrón común, se considera como datos parcialmente estructurados, un problema que
tiene utilizar etiquetas de manera libre, es la proliferación de etiquetas sinónimas o en otros
idiomas, por ejemplo si una clase tiene etiquetas: Math y Matemáticas, estas significan lo mismo,
pero son dos etiquetas distintas.
El video, los posibles archivos adjuntos y la presentación (diapositivas) son datos no estructura-
dos, debido a que es muy difícil describir el contenido que tienen dentro. En el caso del video, es
difícil establecer una estructura que permita describir lo que está sucediendo segundo a segundo.
Si se crearan subtítulos del video, estos también serían no estructurados y sería necesario aplicar
técnicas computacionales para extraer palabras claves.
Estas características de los datos tienen una implicancia fundamental en los algoritmos, si los
datos no están estructurados, el costo de extraer los metadatos será alto e impreciso (Picault,
Myriam, Bonefoy, & Mercer, 2011), dependiendo de qué tan desestructurados estén los datos se
podría eliminar por completo la posibilidad de utilizar algoritmos de la familia de sistemas de
recomendación basados en contenidos. Hasta el momento los únicos datos que están desestructu-
rados son los archivos y presentaciones adjuntas, por lo que se descartan de antemano como ele-
mento a recomendar por parte del sistema.
3.1.3.2 Entendiendo la calidad y cantidad de los metadatos disponibles
La calidad y cantidad de datos estructurados son factores importantes para un sistema de reco-
mendación, en especial cuando se usan técnicas de recomendación basadas en contenidos. Hay
varias propiedades de los metadatos que juegan un rol importante en la toma de decisiones al
momento de diseñar el sistema.
Calidad: En términos generales, se considera que los metadatos de un ítem son de buena calidad
si permite diferenciarlo de cualquier otro. Si se hace una simplificación del diagrama de clases de
Classroom.tv para organización de un curso, tal como aparece en la Figura 9, se puede establecer
44
que cada una de las clases del diagrama se puede describir de manera inequívoca utilizando los
atributos y relaciones que existen entre las clases.
Figura 9. Diagrama de clases simplificado de la organización de un curso en Classroom.tv. En este caso los atributos de cada
clase representan los metadatos.
Expresividad: Los metadatos deben reflejar el punto de vista que tienen los usuarios sobre los
ítems y representar lo que los usuarios consideran características diferenciadoras de estos. Por lo
tanto, la expresividad de los metadatos es fundamental para el rendimiento del SR. Los ítems
pueden ser expresados por medio de diversas semánticas, desde su ausencia como las etiquetas o
tags, hasta otras representaciones más complejas tales como taxonomías u ontologías.
En Classroom.tv, los ítems principales son las clases y los cursos, los cuales pueden ser descritos
utilizando etiquetas. Uno de los problemas que tiene utilizar etiquetas es que es difícil categori-
zar los contenidos debido a la inexistencia de una relación formal entre ellas, esto quiere decir
que a partir de una etiqueta no es posible navegar a otro nivel de la jerarquía (la cual ni siquiera
existe), por ejemplo si un ítem tiene la etiqueta póker no es posible determinar que este ítem
forma parte de la una agrupación mayor que podría ser juegos de naipes. Otro problema identifi-
cable en las etiquetas es que existen valores sinónimos (ejemplo: algoritmo, algoritmos) y en
múltiples idiomas (ejemplo: algorithm, algoritmo), si bien existen algunas traducciones esta tabla
diccionario todavía está incompleta. Por otra parte, una ventaja de las etiquetas es que permite
filtrar rápidamente los contenidos.
Esto deja en evidencia que es posible navegar
blecida por el modelo de clases de la
curso, lo mismo para el curso e institución
cuales no siguen ninguna jerarquía.
Cantidad: la cantidad de metadatos también
escaso puede llevar a recomendacio
zar procesamiento de datos innecesarios.
Figura 10. Compara la cantidad de etiquetas que pueden tener las clases
contenido y quedan a criterio del autor.
Debido a las libertades que da la interfaz usuaria al momento de crear
den ambas situaciones, por ejemplo si se observan las figuras
te entre 2 clases de cursos distintos, en la
derecha hay más de 40. En este caso se puede ver que
el contenido de la clase, algunas de ellas de discutible valor y por otra parte una clase que apenas
se podría considerar parte del curso si solo se consideran las etiquetas que la describen.
es posible navegar de dos maneras: la primera es
blecida por el modelo de clases de la Figura 9, es decir, entre clases del mismo nivel y hasta el
mo para el curso e institución. La segunda forma es por medio de las etiquetas, las
siguen ninguna jerarquía.
la cantidad de metadatos también debe ser un factor a considerar ya que
puede llevar a recomendaciones imprecisas, pero muchos metadatos
zar procesamiento de datos innecesarios.
. Compara la cantidad de etiquetas que pueden tener las clases. Muchas de ellas no describen necesariamente el
y quedan a criterio del autor.
Debido a las libertades que da la interfaz usuaria al momento de crear ítems, es posible que se
den ambas situaciones, por ejemplo si se observan las figuras Figura 10, se puede ver un contra
te entre 2 clases de cursos distintos, en la figura derecha hay solo 4 etiquetas, en tanto en la de la
. En este caso se puede ver que existen muchas etiquetas que no describen
el contenido de la clase, algunas de ellas de discutible valor y por otra parte una clase que apenas
podría considerar parte del curso si solo se consideran las etiquetas que la describen.
45
la primera es en la jerarquía esta-
, es decir, entre clases del mismo nivel y hasta el
La segunda forma es por medio de las etiquetas, las
debe ser un factor a considerar ya que un número
metadatos pueden llevar a reali-
s no describen necesariamente el
ítems, es posible que se
, se puede ver un contras-
figura derecha hay solo 4 etiquetas, en tanto en la de la
existen muchas etiquetas que no describen
el contenido de la clase, algunas de ellas de discutible valor y por otra parte una clase que apenas
podría considerar parte del curso si solo se consideran las etiquetas que la describen.
46
3.1.3.3 Propiedades del conjunto de ítems
Volumen de datos: además de la cantidad de metadatos disponibles por ítem, es importante con-
siderar el volumen de ítems en el set de datos. La Tabla 9 resume la cantidad de ítems disponi-
bles dentro de la aplicación anfitriona; en ella se puede observar que el ítem con mayor frecuen-
cia es el de ‘clase’. Cabe destacar que el ítem ‘video’ tiene igual frecuencia que ‘clase’, esto se
debe a que es una asociación del tipo uno es a uno, tal como se mostró en la Figura 9.
Tabla 9. Resume la cantidad de ítems disponibles en Classroom.tv
Ítem Cantidad
Instituciones 171
Cursos 874
Clases 15.549
Videos 15.549
Conceptos 11.823
Pruebas 1.512
Preguntas 5.141
Etiquetas (tags) 15.073
Otro dato importante es conocer si los contenidos que están disponibles pueden ser vistos por per-
sonas que solo entienden español. En Classroom.tv el idioma principal de los contenidos OCW es
el inglés, muchas de las clases cuentan con subtítulos o traducciones automáticas (de menor cali-
dad que los subtítulos), si se aplica esta restricción a la Tabla 9 los datos varían cómo se observa en
la Tabla 10, reduciéndose considerablemente el conjunto de datos.
Tabla 10. Muestra como varía la Tabla 9 al considerar solo contenido en español. Los conceptos, pruebas, preguntas y eti-
quetas han sido marcadas como no determinables (N/D) porque no es posible determinar automáticamente si está en español.
Ítem Cantidad
Instituciones 26
Cursos 798
Clases 7.482
Videos 7.482
Conceptos N/D
Pruebas N/D
Preguntas N/D
Etiquetas (tags) N/D
Naturaleza y estabilidad del conjunto de ítems: Esta propiedad está relacionada con la estabi-
lidad de las preferencias de los usuarios a lo largo del tiempo. En el caso de material académico,
lo esperado es que se mantengan relativamente estables durante el tiempo o varíen paulatinamen-
47
te. La estabilidad del conjunto se puede medir como la frecuencia con la que aparecen o desapa-
recen ítems. La Tabla 11 muestra la cantidad de ítems que se han creado año a año desde el
2010. El año 2010 fue cuando se hizo una carga masiva y automática de contenidos a la aplica-
ción desde diferentes fuentes OCW, posterior a ese evento la creación de ítems ha sido manual,
paulatina y rara vez se han eliminado.
Tabla 11. Creación de los ítems de cursos, clases y preguntas por año, durante el periodo 2010 – 2014. La columna porcentaje
representa el ratio que existe entre la cantidad creada en el año y el total actual de ítems en la categoría correspondiente.
Año Cursos Clases Preguntas
Total Porcentaje Total Porcentaje Total Porcentaje
2010 416 48% 11.473 74% Sin información
2011 80 9% 744 5% 715 14%
2012 58 7% 1.044 7% 1.649 32%
2013 152 17% 1.128 7% 1.064 21%
2014 168 19% 1.160 7% 1.713 33%
Otro aspecto a considerar es cómo se han manifestado las preferencias de los usuarios en torno a
los ítems durante los años, a partir del Gráfico 8 se puede ver cómo existen algunos ítems que
han mostrado una predominancia considerable sobre el resto, esta imagen refuerza la idea de que
pueden existir más ítems de interés para el usuario que los que conoce.
Gráfico 8. Visitas únicas en los 40 cursos más vistos en el periodo 2010–2014. El primer curso está disponible desde 2012 y
todos los siguientes desde 2010. La fuente de los datos está disponible en el Anexo 4.
010002000300040005000600070008000
Cu
rso
de
Emp
ren
dim
ien
to …
Sin
gle
Var
iab
le C
alcu
lus
Intr
od
uct
ion
to
Co
mp
ute
r …
Lin
ear
Alg
ebra
, Sp
rin
g 2
00
5
Cal
culu
s
Go
ogl
e P
yth
on
Cla
ss
Intr
od
uct
ion
to
Psy
cho
logy
…
MIT
7.0
12
Intr
od
uct
ion
to
…
MIT
6.0
0 In
tro
to
Co
mp
ute
r …
Co
urs
e |
Pro
gram
min
g …
Fin
anci
al M
arke
ts w
ith
Ro
ber
t …
Intr
od
uct
ion
to
An
cie
nt
Gre
ek …
The
Am
eric
an N
ove
l Sin
ce …
Mat
hem
atic
s 5
3, 0
01
-…
Fro
nti
ers/
Co
ntr
ove
rsie
s in
…
Ph
ysic
s
MIT
18
.03
Dif
fere
nti
al …
MIT
6.0
46
J /
18
.41
0J …
Mu
ltiv
aria
ble
Cal
culu
s
Co
urs
e |
Ener
gy S
emin
ar
Gam
e Th
eory
wit
h B
en P
ola
k
Ped
ago
gia
Un
esp
/Un
ives
p
Feat
ure
| E
ntr
epre
neu
rial
…
MIT
5.1
12
Pri
nci
ple
s o
f …
Co
urs
e |
Pro
gram
min
g …
Fun
dam
enta
ls o
f P
hys
ics
wit
h …
Co
urs
e |
De
velo
pin
g M
ob
ile …
Co
urs
e |
Tec
hn
olo
gy …
Scie
nce
, Mag
ic, a
nd
Rel
igio
n: …
Inte
grat
ive
Bio
logy
13
1 -
…
MIT
5.1
11
Pri
nci
ple
s o
f …
Evo
luti
on
, Eco
logy
an
d …
Co
urs
e |
Co
nve
x O
pti
miz
atio
n
Feat
ure
| T
he
Futu
re o
f …
MIT
18
.08
5 C
om
pu
tati
on
al …
MIT
6.0
02
Cir
cuit
s an
d …
Intr
od
uct
ion
to
Th
eory
of …
Dif
fere
nti
al &
Inte
gral
…
Co
mp
ute
r Sc
ien
ce 6
1B
-D
ata …
Tota
l de
visi
tas
ún
icas
Cursos
Visitas únicas por curso realizadas por usuarios registradas
48
Calificación de ítems por parte del usuario: Las calificaciones son una parte fundamental al mo-
mento de seleccionar la familia de algoritmos, por ejemplo, si no se dispone de ellas ni es posible
obtenerlas, se deben descartar todos los algoritmos de filtrado colaborativo. En el caso de Classro-
om.tv, las calificaciones no existen de manera explícita, pero existen una serie de acciones y métricas
que permiten establecer implícitamente la preferencia de un usuario sobre un ítem determinado. Las
acciones que pueden ser utilizadas como calificaciones están listadas en la Tabla 12.
Tabla 12. Muestra las acciones que se pueden considerar como preferencia de un usuario por un ítem, indicando la escala y
el rango de valores permitido.
Acción Escala Valores permitidos
Inscripción en curso Binaria Sí o No
Tiempo de visualización de una clase Porcentual 0 a 100
Porcentaje de visualización de un curso Porcentual 0 a 100
A partir de estos datos, se construyeron 3 matrices de calificaciones entre usuario y acción (ver
Matriz 1, sección 2.2.1). Sobre ellas, se calculó la densidad de calificaciones, considerando a los
usuarios que han ingresado a Classroom.tv en el último año y los cursos que tienen clases que en
total sumen más de 3 horas de video, los valores son: 7.048 usuarios, 476 cursos y 11.236 clases.
Con estos valores se construyó la Tabla 13 de densidad de calificaciones, el resultado hace notar
que las matrices de calificaciones no tienen muchos valores distintos de cero, o bien, son muy dis-
persas. Esto quiere decir que muchos usuarios no han interactuado de ninguna manera con una
parte importante de los cursos disponibles. Si bien estas acciones pueden ser interpretadas como
una preferencia sobre un ítem, es importante establecer que ninguna de estas se puede considerar
como una calificación propiamente tal, ya que un usuario pudo inscribirse en un curso y ver todas
sus clases, pero no estar conforme con lo visto. Del mismo modo, un usuario pudo no haber visto
todo el contendido y estar muy conforme con él. El punto favorable de tener esta información es
que es posible identificar a usuario e ítem, de modo que se puede solicitar al usuario una califica-
ción explícita sobre el ítem en cuestión.
Tabla 13. Densidad de las matrices de calificaciones por tipo de acción.
Matriz de calificaciones de usuario para Densidad
Inscripciones de curso 0,19%
Progreso de visualización de clases 0,08%
Progreso de visualización de curso 0,41%
Con esta toda esta información se construyó la
49
Tabla 14, que resume las características que describen las restricciones establecidas por el mode-
lo de datos.
Tabla 14. Resumen de las restricciones establecidas por el modelo de datos del ambiente del sistema de recomendación.
Característica del modelo
Valor
Tipo de datos Semiestructurados, los ítems clases y cursos son descritos utilizando un
número definido de atributos.
Calidad de los metadatos
En general, baja. La utilización de etiquetas como medio principal para
filtrar contenidos no permite establecer jerarquías o relaciones de forma
directa. Además, la cantidad en que son utilizados puede disminuir su
expresividad.
Volumen y diversi-dad de los ítems
Existe un número razonable de cursos (cerca de 1.000) y una gran canti-
dad de clases (más de 10.000).
Estabilidad y persistencia de los ítems
Los ítems son persistentes, prácticamente todos los ítems permanecen
disponibles indefinidamente y el usuario puede tener interés en ellos
durante un tiempo prolongado.
Calificaciones de los usuarios
Principalmente implícitas pero existe la posibilidad de preguntarle al
usuario directamente por una explícita en una escala de 1 a 5 estrellas.
Se puede afirmar que la mayoría de los usuarios no ha interactuado con
los cursos disponibles.
Con la definición de los 3 modelos del ambiente en el que se desenvolverá el sistema de reco-
mendación, el siguiente paso a completar en el diseño, es la selección de la familia de algoritmos
de mejor rendimiento para este ambiente.
3.2 Selección de la familia de algoritmos
Esta sección tiene como objetivo determinar la selección de la familia de algoritmos que sea la
más adecuada de acuerdo al ambiente en el que está el sistema de recomendación, para este
propósito se utilizará principalmente la información del modelo de datos disponible en la
Tabla 14. Dentro de las opciones que se barajan están las dos familias más comunes de algorit-
mos, los basados en filtrado colaborativo y aquellos basados en contenidos.
3.2.1 Criterio de selección
A partir del modelo de datos construido en la sección 3.1.3 se pudo establecer las características
más importantes de los datos disponibles en la aplicación anfitriona, dentro de las limitaciones
50
encontradas hay al menos 3 que pueden afectar directamente la selección de la familia de algo-
ritmos basada en contenidos:
1. No existe una categorización explícita de los contenidos dentro de los mismos elementos
dentro de una misma jerarquía (ver Figura 6). Las etiquetas son utilizadas para categori-
zar el contenido, pero no tienen restricciones y quedan a criterio de un agente humano.
2. La descripción de los contenidos no está estructurada. Esto hace difícil saber si el usuario
puede encontrar información útil como por ejemplo, el nombre del profesor.
3. Los títulos de las cursos y clases pueden ser poco descriptivos y estar en otro idioma. Hay
muchos casos en que se utiliza una nomenclatura del tipo “Clase número A”.
Sobre los algoritmos colaborativos se habló en extenso en la sección 2.2.1, sobre aquellos basa-
dos en contenidos es importante tener presentes que requieren de la existencia de un perfil para
cada ítem que lo describa de acuerdo a sus atributos y no requieren necesariamente de una co-
munidad de usuarios. Las 3 limitaciones recién descritas hacen que construir un perfil de ítems
sea una tarea compleja de realizar, que requeriría de un preprocesamiento de los datos para ex-
traer las características de los metadatos que tiene cada contenido, la incapacidad de determinar
explícitamente el idioma del contenido no hace más que complicar la tarea de extracción de in-
formación.
En cambio, los algoritmos colaborativos requieren de una comunidad de usuarios y contenidos
que recomendar. La aplicación anfitriona Classroom.tv ya cuenta con esta información por lo
que sería más rápido comenzar a trabajar sobre este enfoque que sobre el basado en contenidos,
el cual requiere un tratamiento previo de los datos.
Queda por determinar qué clase de algoritmo colaborativo se utilizará, según la generalización de
Michael et al (Michael, Riedl, & Joseph, 2010) los algoritmos del tipo usuario-usuario tienen
mejores resultados cuando hay más usuarios que ítems y pareciera que proveen una mayor se-
rendipia en los resultados, en el caso contrario, cuando hay más ítems que usuarios los algorit-
mos basados ítems dan mejores resultados. Por otra parte, los de reducción de dimensión son
más rápidos al momento de obtener una predicción online y son capaces de reducir la influencia
de ciertos usuarios y calificaciones sobre el resto, pero requiere más tiempo de procesamiento
offline.
Debido a lo anterior, para este trabajo se utilizará la familia de algoritmos colaborativos, dejando
para un ejercicio futuro la utilización de aquellos basados en contenidos o un enfoque mixto.
51
3.3 Propuesta de diseño del sistema de recomendación
Esta sección tiene como propósito utilizar las descripciones de los modelos de ambientes para
establecer el tipo de ítem a recomendar, cómo se calificarán, las interfaces usuarias para interac-
tuar con las calificaciones y recomendaciones, para luego describir la forma en que se integrará
el sistema de recomendación con la aplicación anfitriona mediante la arquitectura y diseño de
Software del sistema de recomendación, para finalmente seleccionar un Software que implemen-
te algoritmos colaborativos.
3.3.1 Tipo de ítem a recomendar
A partir de jerarquía de contenidos mostrada en la Figura 6 , esta sección tiene como objetivo se-
leccionar el tipo de ítem a recomendar. Dentro de las opciones posibles están los cursos, las clases
y las pruebas.
De acuerdo a las características demográficas de la gran mayoría de los usuarios de la aplicación
anfitriona, se considerará solo contenido que puede ser visto en español, ya sea porque es su
idioma original o si cuenta con algún tipo ayuda que permite su traducción, tal como lo pueden
ser los subtítulos de las clases.
Gráfico 9. Muestra la frecuencia de los rangos de tiempo que agrupan la duración de las clases. Elaboración propia a partir
de los datos obtenidos desde el Anexo 7.
Si bien un estudiante termina en una última instancia viendo una clase o respondiendo una prue-
ba, es importante considerar los aspectos mencionados en la sección 3.1.3.3, de esta descripción
se pudo concluir que los metadatos que describen a los contenidos no están lo suficientemente
estructurados como para describir inequívocamente a una clase o una prueba sin conocer a qué
curso pertenece. Otro aspecto importante a considerar es la duración de las clases y sus prerre-
0
1000
2000
3000
4000
Frec
ue
nci
a
Rangos de tiempo de duración de las clases
Frecuencia de duración de clases por rangos de tiempo
52
quisitos, el 67,04% supera los 40 minutos de duración (ver Gráfico 9) y suelen estar fuertemente
relacionadas con las clases que las preceden o suceden, esto hace que sea difícil entender el con-
texto en que se encuentra una clase sin saber de qué trata el curso o cuáles son sus prerrequisitos,
en relación al conocimiento mínimo esperado para sacar el máximo partido al contenido que el
estudiante está viendo.
Para el caso de las pruebas, la relación o dependencia con la clase o el curso es aún mayor, ya
que es posible que incluya preguntas específicas sobre clases anteriores. Otro aspecto a tomar en
cuenta considerar descartar la posibilidad de recomendar pruebas es que en la actualidad no exis-
ten alternativas dentro de la aplicación anfitriona para ver su contenido en otro idioma que no sea
el original en el que fue creado.
De acuerdo a las restricciones de la aplicación anfitriona, se concluye que para este trabajo el
tipo de ítem a recomendar serán los cursos, ya que engloban tanto a las clases como a las pruebas
y permiten conocer, mediante sus metadatos, el contexto en el que sus subcontenidos, en particu-
lar las clases, se encuentran inmersos. Esta decisión no cierra la puerta a que en un futuro se pue-
dan integrar las clases como ítem a recomendar.
3.3.2 Calificaciones a utilizar
El primer aspecto a considerar al momento de establecer cuál será la calificación a utilizar, es
establecer si considerara una sola dimensión o más de una9. Para este trabajo se utilizarán califi-
caciones de una dimensión, ya que su uso está más extendido y está soportado por una mayor
variedad de algoritmos.
El segundo aspecto por determinar es cómo se generará el valor cuantitativo de calificación, como
ya se mencionó anteriormente la aplicación anfitriona no cuenta con un sistema de calificaciones
explícitos, por lo es necesario proponer un sistema de calificaciones que se integre con esta. El
tercer y último aspecto, es definir cuál o cuáles de las calificaciones implícitas detectadas en la
Tabla 12. Muestra las acciones que se pueden considerar como preferencia de un usuario por un
ítem, indicando la escala y el rango de valores permitido.
9 Existe una rama dentro de los sistemas de recomendación que considera las calificaciones como vectores en basados en múltiples criterios. Más información sobre estos sistemas de recomendación en: http://link.springer.com/chapter/10.1007/978-0-387-85820-3_24
53
3.3.2.1 Propuesta de sistema de calificaciones explícitas
Se propone utilizar un sistema simple de evaluación de cursos, similar al de Likert, que considere
valores en un escala de 1 a 5 (de menor a mayor satisfacción) y utilice como elemento gráfico
estrellas. Para agrupar todas las calificaciones de un curso se utilizará el promedio de calificacio-
nes, esta forma de representar las calificaciones es una de las más utilizadas al momento de mos-
trar calificaciones en sitios Web. Esta escala y su representación es también una de las más utili-
zadas en distintos sets de datos actividades de estudiantes dentro de plataformas de aprendizaje
en línea, que han sido puestos a disposición de la comunidad para evaluar, entre otros temas, el
rendimiento de sistemas de recomendación (Manouselis, Drachsler, Verbert, & Duval, 2013).
Tabla 15. Representación de la escala de calificaciones entre 1 y 5 en palabras y gráficamente utilizando estrellas.
Valor Representación en palabras Representación gráfica
1 Muy malo ★
2 Malo ★★
3 Está bien ★★★
4 Me gusta ★★★★
5 Me encanta ★★★★★
En la Tabla 15 se muestra una propuesta de escala de calificaciones y su representación tanto en
palabras como gráfica usando estrellas. Si bien esta escala es conveniente para saber a grandes
rasgos qué tan bueno es el curso, es importante tener en cuenta que cada estudiante tiene sus pro-
pios objetivos en relación al curso y su grado de satisfacción dependerá de ellos. Para justificar la
calificación se le permitirá a los estudiantes que lo deseen, escribir una reseña pública sobre los
aspectos que lo hicieron opinar de esa manera. Esta representación para las calificaciones será uti-
lizada para destacar los cursos cuando sean visualizados como ítems en una lista y cuando se vea
su detalle. En la Figura 11, se propone un prototipo de diseño para visualizar las calificaciones
promedio de los cursos recomendados en su visualización de lista de ítems, se incluye también el
número de personas que han calificado el ítem y la visualización de un curso sin una calificación.
54
Figura 11. Propuesta de visualización de las calificaciones explícitas promedio para cursos.
Para la visualización del detalle del curso, se propone extender la información general del curso
vista en la Figura 7, mostrando la calificación promedio tal como en la Figura 11 y añadiendo una
serie de elementos adicionales que se describirán a partir de la Figura 12 que ha sido dividida en 3
secciones, que están enmarcadas en circunferencias y se encuentran al lado izquierdo de la figura:
1. Se muestra la calificación promedio para el curso y el número de personas que lo ha califica-
do bajo la descripción general de curso, tal como en la Figura 11.
2. Esta sección muestra en detalle cómo se calculó la calificación promedio, cómo se distribu-
yen las calificaciones e incluye la acción que invita al estudiante a calificar el curso.
3. La tercera sección muestra los comentarios más relevantes, la cual agrupa todos los comenta-
rios escritas por los estudiantes para justificar su calificación, lo cuales están ordenados por
el total de votos favorables. Para votar por lo comentarios existen 2 botones al final de cada
comentario que le permitirían expresar si el comentario le fue útil o no al estudiante.
55
Figura 12. Propuesta de visualización del detalle de la información del curso, que incluye los comentarios de los estudiantes.
3.3.2.2 Cómo recolectar las calificaciones explícitas
Hasta el momento se ha descrito cuál será la escala, su representación y cómo se visualizarán en
los diferentes contextos del curso, pero no ha determinado cómo se recolectarán las calificacio-
nes. Esta sección tiene como objetivo establecer dos técnicas para solicitar a los estudiantes que
califiquen los cursos en los que han participado.
56
La primera técnica ya fue presentada en la sección anterior y consiste en mostrar al usuario de-
ntro del contexto de la visualización de la información del curso un botón que le lleve hacia un
formulario que le permita calificar y comentar sobre el curso. En la Figura 13 se propone el dise-
ño de este formulario sea dividido en dos partes:
1. El estudiante debe calificar el curso seleccionando una de las 5 las estrellas.
2. Luego, opcionalmente, podrá detallar en extenso el por qué de su comentario, ya que no
existe una única forma de estructurar los comentarios, se incluye una pauta que puede
guiar al estudiante a escribir un mejor comentario y un enlace que muestre buenos ejem-
plos de comentarios para un curso.
La pauta de comentarios propone considerar los siguientes aspectos, a continuación de cada uno
de ellos se presenta un par de ejemplos.
• ¿Por qué elegiste esta calificación?
o Expresar la conformidad general con el curso.
• ¿Qué te gustó y qué no te gustó?
o El cumplimiento de los objetivos del curso.
o La claridad del profesor.
• Identifica atributos específicos e indica si ha cumplido tus expectativas
o Calidad de los videos, audio o subtítulos.
o Cuán actualizados están los contenidos.
o Qué aspectos considera que podrían mejorar.
• ¿A quién recomendarías este curso?
o A cualquier estudiante con interés en la materia o a aquellos que cumplan con
ciertos conocimientos mínimos.
57
Figura 13. Propuesta de visualización del formulario de calificación y comentarios de un curso.
La segunda técnica hará uso de la información histórica que tiene almacenada la aplicación anfi-
triona para solicitar vía correo electrónico a los usuarios que hayan participado de algún curso a
completar el formulario de la Figura 13. Cada uno de ellos recibirá un correo como el presentado
en la Figura 14, solicitando que dé su opinión sobre los cursos en los que ha participado, en la sec-
ción media aparecerá una lista de los cursos y al hacer clic en alguno de los enlaces lo enviará a
una página de donde podrá calificar y comentar los cursos. Al pie se incluye un enlace para permi-
tir al usuario no seguir recibiendo este tipo de correos, ya que el usuario no solicitó explícitamen-
te una suscripción a esta lista.
Figura 14. Propuesta del correo electrónico que recibirán los estudiantes solicitando que califiquen y/o comenten los cursos
en los que han participado.
Comenta sobre el curso: Geometría básica
1
2
Tí t ul o o r esumen de t u coment ar i o
Escr i be aquí t us coment ar i os
Enviar comentarios
Ten en cuenta lo siguiente al escribir tu comentario:
▪ ¿Por qué elegiste esta calificación?▪ ¿Qué te gustó y qué no te gustó?▪ Identifica atributos específicos e indica si ha
cumplido tus expectativas▪ ¿A quién recomendarías este curso?
Ver ejemplos
58
Para que el proceso lo más expedito posible para el estudiante, se propone que al momento de
hacer clic sobre los cursos y se realice el redireccionamiento hacia la página de calificaciones y
comentarios no sea necesario que el estudiante ingrese su contraseña, iniciando una sesión con
privilegios limitados que solo le permitirá calificar y comentar, además su duración estará limi-
tada al tiempo que tenga la página abierta.
Una vez que el estudiante termine de realizar las acciones ya descritas, podrá salir de dos formas
de esta página, estas son simplemente cerrando la ventana de sus navegador Web o haciendo clic
en alguno de los enlaces de los cursos que aparecen en pantalla.
Figura 15. Propuesta de interfaz usuaria para permitir al estudiante calificar y comentar los cursos en los que ha participa-
do, siguiendo un enlace de correo electrónico. Luego hacer clic en el botón “Quiero escribir un comentario” de algún curso,
se despliega Figura 13, salvo por el lugar dónde se muestran las guías para escribir un buen comentario
Este método puede ser utilizado de manera regular en el tiempo para instar a los estudiantes a
calificar los cursos que han vistos, una vez que hayan completado el curso o haya transcurrido
algún tiempo desde la última vez que accedió él.
Otro aspecto importante a considerar en el proceso de obtención de calificaciones explícitas es el
de la motivación del usuario, si bien se puede entender el proceso de calificación como uno en el
Hola {{nombre_estudiante}}
Curso Ruby
! Quiero escribir un comentario
En esta página podrás calificar los cursos que has visto, para hacerlo solo debes hacer clic en las estrellas bajo cada título.
Si además quieres escribir un comentario o reseña del curso haz click en ”Quiero escribir un comentario"
UX
! Quiero escribir un comentario
Geometría básica
! Quiero escribir un comentario
Comenta sobre el curso: Geometría básica
Tí t ul o o r esumen de t u coment ar i o
Escr i be aquí t us coment ar i os
Enviar comentarios
Ten en cuenta lo siguiente al escribir tu comentario:
▪ ¿Por qué elegiste esta calificación?▪ ¿Qué te gustó y qué no te gustó?▪ Identifica atributos específicos e indica si ha
cumplido tus expectativas▪ ¿A quién recomendarías este curso?
Ver ejemplos
59
que el estudiante comparte desinteresadamente su experiencia en el curso con la comunidad, con
el objetivo de enriquecerla para ayudar a otros a tomar mejores decisiones y asimismo para que
el sistema le recomiende otros cursos, también es importante destacar que existe una forma de
recompensación en la aplicación anfitriona que utiliza puntos y premios representados como me-
dallas digitales. Por lo tanto, se propone premiar a los estudiantes que califiquen los cursos con
un set de medallas relacionadas con la acción de calificar. La primera medalla debe ganarse in-
mediatamente después de calificar el primer curso y ser notificada como se ve en la Figura 16,
posteriormente se le asignará un puntaje cada vez que califique un curso en el que haya partici-
pado y su comentario sea votado positivamente por otros usuarios.
Figura 16. Propuesta de notificación al momento en que un estudiante gana la primera medalla por calificar un curso por
primera vez.
Solo falta identificar a qué personas se les enviará el correo, para ello se recopiló la información
de todos los estudiantes que tienen configurada su cuenta de usuario en idioma español y que han
visto cursos de acceso público, a partir de estos datos se construyó la Tabla 16. De esta se puede
apreciar a simple vista que existen muy pocos cursos que hayan sido vistos por completo y que
en general los usuarios no progresan en el curso, por ejemplo, de los 2.550 usuarios que inician
un curso solo un 22,27% de ellos alcanza el 10% de visualización del curso, solo el 4,84% supera
el 50% y solo el 2,13% visualiza entre un 95% y el 100% porciento de un curso.
En vista que existe poca interacción de los usuarios con los cursos, se considerará una lista de co-
rreo con los 368 estudiantes que han visualizado más de un 20% de los cursos en los que han parti-
cipado, por lo que idealmente se podrían conseguir 394 calificaciones explícitas y comentarios.
60
Tabla 16. Muestra cuántas duplas {usuario, curso} existen que cumplan con la condición de porcentaje mínimo de visualiza-
ción de clases de un curso y el número de estudiantes y cursos únicos utilizados en la combinaciones de las duplas.
Visualización de un curso Duplas {usuario, curso} Estudiantes únicos Cursos únicos
0% 4.356 2.550 374
5% 880 736 101
10% 641 568 73
15% 512 465 53
20% 394 368 43
25% 299 280 34
30% 210 197 31
35% 173 162 28
40% 157 148 26
45% 129 121 21
50% 117 109 19
55% 107 99 18
60% 89 82 17
65% 83 76 17
70% 79 72 17
75% 71 66 16
80% 66 61 15
85% 58 54 15
90% 54 50 15
95% 51 48 14
100% 7 7 4
3.3.2.3 Selección de calificaciones implícitas y su escala
En esta sección se describirá cómo serán seleccionadas y qué escala se utilizará para este tipo de
calificaciones.
Como se mostró en la Tabla 12, las acciones que realiza el usuario que pueden ser consideradas
como feedback implícito son la visualización de video clases y la visualización de curso, que es
en sí una forma de agrupar el de clases. La visualización de clases es un valor comprendido entre
0 y 100 porciento y se calcula a medida que el estudiante mira el video. Es importante notar que
mayor valor no indica necesariamente una mayor preferencia, pero sí es un indicador de la con-
fianza que se tiene sobre una observación (Yifan, Yehuda, & Chris, 2008). Una forma habitual
de normalizar estas calificaciones es convertirla en valores binarios, en este caso si consideramos
el progreso de usuario como sBM, se dirá que la calificación binaria implícita �BM, está dada por la
Ecuación 9, el valor del limite t que determina si es cero o uno, se discutirá a continuación.
61
�BM = u0, sBM < t1, sBM ≥ tx Ecuación 9. Transformación del progreso de visualización v del usuario u para el ítem i en un calificación implícita p de u
sobre i en una escala binaria.
Como se puede observar de las Tabla 13 y Tabla 16, la densidad de calificaciones que se podría
generar es muy baja si el valor límite es muy alto, se propone inicialmente utilizar un valor bajo
igual 20, por lo que se creará la convención de que si un estudiante vio el 20% de una clase o un
curso se dirá que vio el curso. Para evitar confusiones, se dirá que el usuario completó un curso
si su progreso de visualización es igual a 100%.
La otra calificación implícita con la que cuenta la aplicación anfitriona es la de inscripción de
curso, este valor solo considera valores booleanos por que no es necesario realizar ningún tipo de
conversión.
Con la definición de cómo se obtendrán las calificaciones, los ítems a recomendar y los usuarios
que serán partícipes es momento de comenzar con el diseño de la plataforma del sistema de
recomendación.
3.3.3 Diseño y arquitectura de Software para la integración del sistema de recomendación
en la aplicación anfitriona
En esta sección se ahondará en el diseño y arquitectura del Software, tanto en lo relativo a la
administración de las calificaciones, comentarios y recomendaciones de los usuarios, como en la
forma en la que se integrará con la aplicación anfitriona.
Como se mencionó anteriormente, el sistema de recomendación es una pieza de Software que se
debe integrar en una aplicación anfitriona. Con el objetivo de intervenir lo menos posible en esta,
se propone que el sistema de recomendación sea desarrollado como un Software independiente
que sea capaz de interactuar con la aplicación anfitriona: Classroom.tv. Este enfoque permitirá
que el sistema de recomendación sea desarrollado y puesto en marcha de acuerdo a las necesida-
des y problemas que enfrentará, principalmente en lo relativo a la escalabilidad del servicio.
3.3.3.1 Arquitectura de Software
Dentro de la categoría que se denomina “operación de los sistemas de recomendación”, está la
que hace alusión a cómo será puesto en marcha (Manouselis, Drachsler, Verbert, & Duval,
2013). Dentro de esta categoría está la arquitectura de Software. Para este trabajo se diseñará una
centralizada, es decir, el sistema de recomendación estará en una ubicación particular y conocida.
62
Con el objetivo de ocultar la complejidad propia de un sistema de recomendación a la aplicación
anfitriona, se propone que la implementación del sistema de recomendación esté fuera del siste-
ma de la aplicación anfitriona y se desarrolle una forma de comunicar ambos sistemas. Teniendo
en cuenta el componente principal con el que comunica Classroom.tv es una aplicación web,
utilizar el protocolo http es una alternativa más sencilla de implementar que utilizando otros pro-
tocolos de red. Se llamará Servicios Web al conjunto de piezas de software que permita comuni-
car ambos sistemas mediante el protocolo http. En la Figura 17 se muestra una simplificación de
la arquitectura propuesta, en ella se separan el sistema de la aplicación anfitriona del de reco-
mendación. El sistema de la aplicación anfitriona, está conformado por 2 grandes componentes,
la base de datos y una aplicación web que lee y escribe datos en ella. El sistema de recomenda-
ción propuesto está compuesto por 3 componentes: una base de datos que almacene la informa-
ción relativa a las calificaciones, un software de recomendación que se encargue del cómputo de
las predicciones y recomendaciones, y una aplicación Web que entre sus tareas permita interac-
tuar con los otros dos componentes. Finalmente, la comunicación entre estos sistemas ocurre
mediante servicios web expuestos por las respectivas aplicaciones Web.
Figura 17. Propuesta de la arquitectura de Software. Muestra la arquitectura de la aplicación anfitriona y del sistema de
recomendación, las flechas indican comunicación de datos entre sistemas. La forma en que estas se comunican será mediante
Servicios Web que ocultan la complejidad de cada sistema y exponen cómo deben comunicarse utilizando el protocolo http.
3.3.3.2 Diseño de modelos de datos
El componente de base de datos requiere que definan las entidades y sus relaciones en un modelo
de datos que soporten las tareas de la aplicación Web. A continuación se presentará el modelo de
datos que apoyará la construcción de los perfiles de usuario entorno a sus preferencias de cursos
y clases, como también al seguimiento en el tiempo de las recomendaciones que reciba. Para
facilitar la lectura se ha divido en 2 modelos, pero se debe considerar como uno.
63
Figura 18. Modelo de datos principal del sistema de recomendación, que incluye el perfil de usuario de sobre sus preferencias
sobre cursos e ítems.
En la Figura 18 se presenta el modelo de datos fundamental del sistema de recomendación, este
aborda al usuario o estudiante, sus preferencias por los cursos o clases que ha visto representadas
mediante calificaciones explícitas e implícitas y al feedback que le pueden dar a los comentarios
que hicieron otros usuarios para justificar sus calificaciones. Para las calificaciones implícitas se
hizo una consideración especial, dado que estas pueden variar en el tiempo, se conservará más de
un registro para las duplas {usuario, clase} y {usuario, curso}, además del valor original antes de
aplicar la transformación propuesta en la sección 3.3.2.3, todo esto con el propósito generar un
registro temporal que podría ser utilizado para analizar cómo varía la preferencia implícita del
usuario por el ítem o incluso para comparar el rendimiento de los algoritmos de recomendación,
variando el criterio de transformación del progreso de visualización realizado al convertir de por-
centaje a binario.
64
Figura 19. Modelo de datos para el registro histórico de recomendaciones enviadas a los usuarios.
El segundo modelo de datos presentado en la Figura 19, tiene como objetivo mantener un regis-
tro de las recomendaciones que ha recibido un usuario durante el tiempo, esta información podría
utilizada con datos de la aplicación anfitriona para determinar si el usuario ha preferido estos
ítems en algún momento del tiempo, también se podría usar para medir el rendimiento del algo-
ritmo de predicción al comparar una predicción pasada con la calificación explícita que le podría
llegar a dar el usuario al ítem recomendado en el futuro, otro uso posible sería determinar cómo
han ido cambiando los intereses del estudiante en función del tiempo.
3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo
Si bien la mayoría de los algoritmos de recomendación colaborativos son relativamente sencillos
de implementar en la mayoría de los lenguajes de programación, cada algoritmo tiene mejoras y
variaciones que han sido ampliamente estudiadas, implementadas y puestas a pruebas durante
mucho tiempo, por este motivo se ha preferido delegar la responsabilidad de la implementación a
un Software especializado en algoritmos de recomendación. A continuación se establece el crite-
rio de selección que se utilizará para decidir qué Software es el más conveniente de utilizar.
• Precio y tipo de licencia: El valor económico que tiene el producto es un factor determi-
nante para la selección, al tratarse de un prototipo y ya que todavía no se cuenta con fon-
dos económicos adicionales para la compra de licencias de Software, se preferirá aquel
Software que sea gratuito. En términos de licencia de uso se preferirá aquella que no ten-
ga restricciones en caso de que el sistema sea utilizado para fines comerciales.
65
• Documentación y comunidad: Para cualquier proyecto la cantidad y calidad de la do-
cumentación disponible significa mayor facilidad para implementar funcionalidades. El
tamaño y actividad de la comunidad de desarrolladores que utilizan el producto significa
también que existen más lugares donde encontrar respuestas a problemas y hay más gente
contribuyendo al crecimiento del Software.
• Abstracción del sistema de recomendación: Es importante que el Software sea capaz
de poner en una caja negra su funcionamiento interno, exponiendo una interfaz de comu-
nicación sencilla para sus entradas y salidas.
• Algoritmos de recomendación colaborativos: Debe incluir al menos un algoritmo con
parámetros configurables y permita modificarlo si es necesario.
Dentro de las opciones que cumplen con los cuatro criterios anteriores se encuentra
PredictionIO, que es un servidor gratuito y Open Source de Machine Learning que permite des-
arrollar aplicaciones predictivas en poco tiempo. Uno de los aspectos más interesantes está en la
separación que existe entre la recolección y obtención de datos (EventServer) de la encargada de
construir, evaluar y poner en marcha los algoritmos predictivos (plataforma).
Dentro de la plataforma se incluyen los denominados motores de predicción que siguen una ar-
quitectura que ha sido denominada DASE (por sus siglas en inglés Data, Algorithms, Serving,
Evaluation) que divide en diferentes componentes el flujo de predicción de datos tal como se
puede ver en la Figura 20. Los componentes son los siguientes:
• Datos: La fuente de datos lee datos desde una fuente de entrada y los transforma a un
formato específico. El preparador de datos hace un preprocesamiento de los datos y los
envía al algoritmo para entrenar el modelo.
• Algoritmos: Este componente incluye uno o más algoritmos de Machine Learning y los
parámetros que determinan cómo se construye el modelo predictivo.
• Entrega: Toma consultas y retorna resultados de predicción. Si el motor tiene múltiples
algoritmos, la entrega combinará los resultados en uno.
• Métricas de evaluación: Una métrica de evaluación cuantifica la precisión con un valor
numérico. Puede ser utilizada para comparar distintos algoritmos o sus parámetros.
66
Figura 20. Instancia de un motor de predicción genérico de PredictionIO. Figura adaptada y traducida de la página Web
http://docs.prediction.io/system.
Esta arquitectura favorece la comunicación entre el Software de predicción y la aplicación Web,
ya que pone en una caja negra el funcionamiento del motor de recomendación y es el EventSer-
ver, por medio de una API http, el que se encarga de recibir los datos de entrada y entregar la
respuesta del motor de predicción a la aplicación Web.
En términos de algoritmos, PredictionIO incluye un avanzado algoritmo de reducción de dimen-
sión llamado Alternating Least Squares (ALS)10, que puede utilizar calificaciones tanto implici-
tas como explícitas y está optimizado para ser ejecutado en paralelo en múltiples procesadores.
3.3.5 Presentación de las recomendaciones
La forma en que se presentan las recomendaciones, tiene que ver con quién inicia el proceso de
recomendación. Este trabajo adoptará dos enfoques, el primero se denominará de empuje y lo
que hará es enviar por correo cada cierto tiempo y solo si el usuario está de acuerdo recomenda-
ciones de cursos. La segunda será aquella en que el usuario solicite ver recomendaciones, esto se
logrará creando una sección dentro de la aplicación anfitriona que muestre los cursos recomen-
dados para el estudiante que las requiera.
3.3.5.1 Partida en frío
En los casos en que el usuario no tenga actividad en ningún curso, el algoritmo de FC no será ca-
paz de mostrarle ningún resultado, a estos usuarios se les mostrarán los cursos más recomendados,
esto se hace consultando la nueva base de datos de recomendaciones propuestas en la Figura 19.
10 Luego del concurso de Netflix, los algoritmos de reducción de dimensión (ver sección 2.2.3.1) demostraron ser más precisos que los basados en vecinos, al incorporar otros datos tales como calificaciones implícitas, efectos temporales y niveles de confianza. En (Koren, Bell, & Volinsky, 2009) se describe en detalle cómo está diseñado el algoritmo ALS.
67
Para los ítems nuevos, la aplicación anfitriona cuenta con otros medios para fomentar su uso, por
lo que no se considerarán nuevas técnica, entre las que se cuentan campañas de marketing vía
correo electrónico, aparición en las páginas principales de la plataforma, entre otras.
68
Capítulo 4 Validación
Para validar el diseño se realizará un prototipo del sistema de recomendación que implemente las
propuestas del capítulo anterior. Este proceso incluye la implementación de un prototipo de la
plataforma del sistema de recomendación propuesta en el capítulo 3, la obtención de calificacio-
nes explícitas mediante correo electrónico e integración en la aplicación anfitriona y finalmente
la comparación de resultados obtenidos al utilizar calificaciones implicitas y explícitas, tanto en
términos cuántitativos como en términos de la opinión de los usuarios.
4.1 Implementación de un prototipo de la plataforma del sistema de recomendación
La primera parte del proceso de validación consiste en desarrollar un prototipo de una plataforma
que implemente la arquitectura y componentes de Software propuestos en el capítulo anterior.
Figura 21. Plataforma del sistema de recomendación. Muestra los componentes de cada servidor y cómo se comunican los
datos entre ellos.
En la Figura 21 se muestra cómo funciona esta plataforma, cada rectángulo representa a un ser-
vidor, el primero es www.classroom.tv y es donde está alojada la aplicación anfitriona, para esta
plataforma el componente relevante es el de base de datos, el cual será el que se comunicará con
el servidor de aplicaciones, llamado reviews.classroom.tv. Este segundo servidor será el que se
encargará de realizar todas las tareas intermedias entre el primer y tercer servidor, siendo este
último el encargado de realizar las predicciones. Las tareas que realiza reviews.classroom.tv in-
cluyen:
69
• Obtención y envío de datos desde la base de datos de www.classroom.tv. La obtención de
datos consiste el obtener los cursos, clases, usuarios y su progreso de visualización para
la construcción de las calificaciones implícitas de acuerdo a las reglas ya discutidas.
• Mantener en línea una API http para comunicar las aplicaciones web. Esto permite tener
una interfaz única de comunicación consistente entre todas las aplicaciones y los Modelos
que representan las reglas de negocio más el almacenamiento en base datos.
• Enviar correos electrónicos a la base de datos de usuarios, solicitando las calificaciones
de cursos y el posterior envío recomendaciones.
• Una aplicación web de estadísticas de uso que permita monitorear estadísticas relaciona-
das con el uso de la plataforma.
• Comunicar los Modelos con el servidor de predicciones, tanto como para enviarle las ca-
lificaciones como para solicitar las predicciones.
El tercer servidor es el de predicción, se denominará prediction.classroom.tv, el cual es una insta-
lación de PredictionIO y como ya se mencionó tendrá como objetivo generar las predicciones de
calificaciones de cursos y clases.
En vista que es necesario realizar un proceso de sincronización constante entre los servidores para
mantener el progreso de los estudiantes actualizado, es necesario implementar una rutina se ejecuta
de manera periódica para obtener y almacenar los datos desde la aplicación anfitriona, luego enviar
las calificaciones al servidor de predicciones donde es necesario entrenar el modelo para generar
todas las predicciones, finalmente otro rutina almacenaría estas predicciones en la base de datos.
Con el objetivo de lograr generar un prototipo lo más rápido posible se privilegió la experiencia
previa con tecnologías de desarrollo de Software. Dentro de las utilizadas destacan Ruby11 como
lenguaje de programación para el Backend, API y las aplicaciones Web; RethinkDB 12 como
motor de bases de datos y AngularJS13 para el Frontend de las aplicaciones Web.
Las aplicaciones web fueron instaladas en una instancia en la nube de Amazon Web Services
(AWS) Elastic Compute Cloud (EC2)14 t2.medium que posee 2 núcleos, 4GB de RAM y 64 GB
de disco duro. El sistema operativo utilizado fue Ubuntu Server 14.4.
11 Ruby es un lenguaje de programación dinámico y de código abierto. https://www.ruby-lang.org/es. 12 RethinkDB es una base de datos JSON no relacional http://rethinkdb.com/ 13 AngularJS es un framework de JavaScript de código abierto, mantenido. https://angularjs.org. 14EC2 Es un servicio que permite arrendar servidores virtuales en la nube http://aws.amazon.com/es/ec2/
4.1.1 Resultados de la implementación
Si bien parte importante del proceso de ge
interfaz gráfica, es necesario poder monitorear los datos que está
forma. Para ello se implementó una aplicación Web que cumple este rol,
denominará Administrador Web
las distintas subsecciones del Administrador Web
estadísticas resumidas de cursos y clases respectivamente.
Figura 22. Vista de las estadísticas y detalles de los cursos que son posibles de recomendar. Incluyendo el total de calificaci
nes y de comentarios.
Resultados de la implementación
Si bien parte importante del proceso de generar las predicciones ocurren sin la necesidad de una
interfaz gráfica, es necesario poder monitorear los datos que están siendo
lementó una aplicación Web que cumple este rol,
strador Web. En las siguientes páginas se mostrarán capturas de pantallas de
subsecciones del Administrador Web. En la Figura 22 y Figura
estadísticas resumidas de cursos y clases respectivamente.
. Vista de las estadísticas y detalles de los cursos que son posibles de recomendar. Incluyendo el total de calificaci
70
r las predicciones ocurren sin la necesidad de una
n siendo almacenados la plata-
lementó una aplicación Web que cumple este rol, el que en adelante se
capturas de pantallas de
Figura 23 se muestran las
. Vista de las estadísticas y detalles de los cursos que son posibles de recomendar. Incluyendo el total de calificacio-
Figura 23. Vista de las estadísticas y detalles de las clases que
Figura 24 como en la Figura
usando calificaciones explícitas e implícitas respectivamente
utiliza PredictionIO generará predicciones para todos los ítems
ficación. Dado que las predicciones varían en el tiempo también se incluye un historial de ellas
ordenas de más antigua a más reciente. La columna
usuario consideró buena la recomendación del ítem.
. Vista de las estadísticas y detalles de las clases que son posibles de recomendar.
Tanto en la
Figura 25, se muestran las predicciones de calificación para los cursos,
es explícitas e implícitas respectivamente. Cabe destacar que
PredictionIO generará predicciones para todos los ítems, incluidos los que ya tienen c
ción. Dado que las predicciones varían en el tiempo también se incluye un historial de ellas
ordenas de más antigua a más reciente. La columna de nombre ¿Feedback positivo?
la recomendación del ítem.
71
, se muestran las predicciones de calificación para los cursos,
. Cabe destacar que el algoritmo que
, incluidos los que ya tienen cali-
ción. Dado que las predicciones varían en el tiempo también se incluye un historial de ellas
¿Feedback positivo? Indica si el
Figura 24. Vista del detalle de las predicciones
usuario en particular.
Figura 25. Vista del detalle de las predicciones
usuario en particular. Dado que la calificación implícita es binaria y está definida por dos variables, se muestra cada una d
ellas.
Finalmente, en la Figura 26
implícitas, su presentación es muy similar a las anteriores e incluye datos adicionales sobre las
clases recomendables, esta muestra cuán
amarillo aquellos que el usuario ha participado en el pasado.
predicciones a lo largo del tiempo utilizando calificaciones explícitas
predicciones a lo largo del tiempo, utilizando calificaciones implícitas
usuario en particular. Dado que la calificación implícita es binaria y está definida por dos variables, se muestra cada una d
se muestran las recomendaciones de clases usando calificaciones
implícitas, su presentación es muy similar a las anteriores e incluye datos adicionales sobre las
clases recomendables, esta muestra cuántas de ellas pertenecen al mismo
que el usuario ha participado en el pasado.
72
utilizando calificaciones explícitas de curso para un
utilizando calificaciones implícitas de curso para un
usuario en particular. Dado que la calificación implícita es binaria y está definida por dos variables, se muestra cada una de
se muestran las recomendaciones de clases usando calificaciones
implícitas, su presentación es muy similar a las anteriores e incluye datos adicionales sobre las
l mismo curso, destacando en
Figura 26. Vista del detalle de las predicciones a lo largo del tiempo, utilizando calificaciones implícitas de
usuario en particular. En la parte superior se muestra cuántas de las clases reco
usuario ya ha participado en el pasado
4.1.2 Integración del prototipo en la aplicación anfitriona
La integración de este prototipo en la aplicación anfitriona
integrar el sistema de calificaciones y comentarios, la segunda es mostrar las calificaciones
explícitas de cursos en las distintas visualizacio
las que un estudiante pude acceder a sus
Para visualizar el prototipo se creó un subdominio llamado rs.classroom.tv, el cual interactúa con
la base de datos principal, pero que incluye las características del sistema de rec
se mostrarán a continuación.
. Vista del detalle de las predicciones a lo largo del tiempo, utilizando calificaciones implícitas de
usuario en particular. En la parte superior se muestra cuántas de las clases recomendadas pertenecen a cursos en los que el
usuario ya ha participado en el pasado.
Integración del prototipo en la aplicación anfitriona
rototipo en la aplicación anfitriona consta de tres
integrar el sistema de calificaciones y comentarios, la segunda es mostrar las calificaciones
explícitas de cursos en las distintas visualizaciones y finalmente la creación de las in
las que un estudiante pude acceder a sus cursos recomendados.
Para visualizar el prototipo se creó un subdominio llamado rs.classroom.tv, el cual interactúa con
la base de datos principal, pero que incluye las características del sistema de rec
73
. Vista del detalle de las predicciones a lo largo del tiempo, utilizando calificaciones implícitas de clase para un
mendadas pertenecen a cursos en los que el
tres partes, la primera es
integrar el sistema de calificaciones y comentarios, la segunda es mostrar las calificaciones
nes y finalmente la creación de las instancias en
Para visualizar el prototipo se creó un subdominio llamado rs.classroom.tv, el cual interactúa con
la base de datos principal, pero que incluye las características del sistema de recomendación que
Figura 27. Integración del sistema de comentarios para cursos. Este permite conocer las calificaciones y comentarios que le
han dado los usuarios.
El resultado de la integración del sistema de comentarios se puede ver en la
logró sin intervenir mayormente en la aplicación anfitriona
aplicación Web de acuerdo a lo propuesto en la
independiente, permitiendo que p
dir un elemento html de tipo
mentarios y es usada por ejemplo por Disqus
15 Disqus es uno de los sistemas de comentarios y discusiones más populares de Internet, es usualmente utilizado en blogs y sitios de noticias. Más información en
. Integración del sistema de comentarios para cursos. Este permite conocer las calificaciones y comentarios que le
El resultado de la integración del sistema de comentarios se puede ver en la
sin intervenir mayormente en la aplicación anfitriona, mediante la implementación de
de acuerdo a lo propuesto en la Figura 12. Esta es capaz de funcionar de manera
que para agregarla a la visualización de un cur
dir un elemento html de tipo iframe dentro de ella, esta técnica es usual en los sistemas de c
mentarios y es usada por ejemplo por Disqus.com15.
us es uno de los sistemas de comentarios y discusiones más populares de Internet, es usualmente utilizado en blogs y sitios de noticias. Más información en https://disqus.com.
74
. Integración del sistema de comentarios para cursos. Este permite conocer las calificaciones y comentarios que le
El resultado de la integración del sistema de comentarios se puede ver en la Figura 27, esto se
la implementación de una
es capaz de funcionar de manera
la visualización de un curso solo haga falta aña-
, esta técnica es usual en los sistemas de co-
us es uno de los sistemas de comentarios y discusiones más populares de Internet, es usualmente utilizado en
Para mostrar las calificaciones explícitas
ción promedio es representada mediante un número de
sección en la página principal del estudiante,
Figura 28, en ella se puede apreciar los 6 cursos
predicción. Vale la pena destacar el caso en que las
ciones implícitas, la representación de las
usuario no guardar relación directa con el valor de la predicción
cional del curso que podría ayudar al usuario a
Figura 28. Sección de cursos recomendados para el estudiante.
calificación, ordenadas de mayor a menor.
Para mostrar las calificaciones explícitas de curso, se implementó el diseño propuesto en la sección
mediante un número de estrellas. Para presentar las recomendaciones
sección en la página principal del estudiante, para mostrar los cursos recomendados usando la representación gráfica recién
comentada. Su resultado se presenta en la
, en ella se puede apreciar los 6 cursos recomendados, ordenados de mayor a menor
. Vale la pena destacar el caso en que las predicciones sean realizadas usando calific
representación de las calificaciones explícitas mediante estrellas que ve el
usuario no guardar relación directa con el valor de la predicción, pasando a ser información ad
cional del curso que podría ayudar al usuario a decidir si le interesa el ítem en c
. Sección de cursos recomendados para el estudiante. En ella se presentan los seis curso con mayor predicción de
calificación, ordenadas de mayor a menor. Las estrellas en este caso no tienen incidencia en la re
75
en la sección 3.3.2.1, en la que califica-
Para presentar las recomendaciones al usuarios, se creó una
usando la representación gráfica recién
, ordenados de mayor a menor
predicciones sean realizadas usando califica-
calificaciones explícitas mediante estrellas que ve el
, pasando a ser información adi-
cidir si le interesa el ítem en cuestión.
En ella se presentan los seis curso con mayor predicción de
Las estrellas en este caso no tienen incidencia en la recomendación.
Figura 29. Correo electrónico que muestra
enlace al curso en la aplicación anfitriona.
que muestra los 6 cursos recomendados para el estudiante. Cada imagen de curso contiene un
enlace al curso en la aplicación anfitriona.
76
Cada imagen de curso contiene un
La segunda forma de presentar las recomendaciones, es la que anteriormente se denominó como
envío de un correo electrónico que incluya los mismos cursos presentados en la sección de cursos recomendados. En la
Figura 29 se muestra diseño final el correo electrónico que es posible enviar.
4.1.3 Solicitud de calificaciones
El primer paso es intentar que los usuarios a los
participación mayor al 20% en algún curso que lo califiquen en la escala de 1 a 5 estrellas y o
cionalmente escriban un comentario sobre el curso, este proceso se realizará mediante una
paña de correo electrónico. Dependiendo
mentará una estrategia de recomendación
En un primer intento se enviaron correo a los 368 usuarios que cumplían con esta condición tener
al menos un curso con 20% de progreso.
rados, solo 6 usuarios respondieron, pudiendo obtener 2
rios. El correo enviado y la interfaz de calificaciones se muestran en la
La segunda forma de presentar las recomendaciones, es la que anteriormente se denominó como
envío de un correo electrónico que incluya los mismos cursos presentados en la sección de cursos recomendados. En la
se muestra diseño final el correo electrónico que es posible enviar.
Solicitud de calificaciones explícitas
El primer paso es intentar que los usuarios a los usuarios Classroom.tv que hayan tenido una
participación mayor al 20% en algún curso que lo califiquen en la escala de 1 a 5 estrellas y o
cionalmente escriban un comentario sobre el curso, este proceso se realizará mediante una
Dependiendo del éxito de la recolección de calificaciones se impl
mentará una estrategia de recomendación.
En un primer intento se enviaron correo a los 368 usuarios que cumplían con esta condición tener
al menos un curso con 20% de progreso. Tras 6 días de espera, los resultados no fueron los esp
usuarios respondieron, pudiendo obtener 29 calificaciones explícitas y 4 coment
El correo enviado y la interfaz de calificaciones se muestran en la Figura
77
La segunda forma de presentar las recomendaciones, es la que anteriormente se denominó como de empuje, consiste en el
envío de un correo electrónico que incluya los mismos cursos presentados en la sección de cursos recomendados. En la
se muestra diseño final el correo electrónico que es posible enviar.
om.tv que hayan tenido una
participación mayor al 20% en algún curso que lo califiquen en la escala de 1 a 5 estrellas y op-
cionalmente escriban un comentario sobre el curso, este proceso se realizará mediante una cam-
del éxito de la recolección de calificaciones se imple-
En un primer intento se enviaron correo a los 368 usuarios que cumplían con esta condición tener
s resultados no fueron los espe-
calificaciones explícitas y 4 comenta-
Figura 30.
78
Figura 30. Muestra dos ventanas, la izquierda se muestra el correo electrónico que se envió en el primer intento y en ventana
de la derecha se muestra la interfaz para calificar y comentar los cursos.
En un segundo y último intento se consideró también a aquellos estudiantes que se inscribieron en
un curso, esto aumentó el número total de estudiantes a los que solicitar calificaciones explícitas a
1.238. Además se incluyó en el correo un mensaje indicando que quienes califiquen cursos recibir-
ían una medalla virtual, premio que forma parte de los incentivos que tiene la aplicación anfitriona
para promover la participación de sus usuarios. Los resultados obtenidos tampoco fueron los espe-
rados, obteniendo solo 31 nuevas calificaciones, para alcanzar un total de 60. El total de usuarios
que participó fue de 15 y los cursos que obtuvieron una calificación fue de 40.
4.1.4 Generación de predicciones y calificaciones
De acuerdo a lo visto anteriormente, lo algoritmos colaborativos solo son capaces de recomendar
los ítems calificados a los usuarios que han calificado al menos 1 ítem. La escasa participación
de usuarios en el proceso de obtención de calificaciones explícitas sobre los cursos mediante la
campaña de correos electrónicos, hicieron que la idea de utilizarlas para generar recomendacio-
79
nes fuera descartada de la integración con la aplicación anfitriona, dejando paso a la utilización
de las calificaciones implícitas.
Para generar las predicciones se utilizó un template de PredictionIO llamado parallel recommen-
dation16 , el cual puede ser personalizado para utilizar una versión del algoritmo ALS para califi-
caciones implícitas.
Tras el primer proceso de carga de datos desde la base de datos de www.classroom.tv y el poste-
rior entrenamiento de los modelos usando calificaciones implícitas, se crearon predicciones sobre
488 cursos distintos para 1.402 estudiantes. En tanto, para las clases fue posible obtener predic-
ciones para 778 ítems (de los 11.578 disponibles), sobre un total 1.299 usuarios.
Aprovechando que la configuración por defecto del template está optimizada para utilizar califi-
caciones explícitas y estas ya están almacenadas, se entrenó un modelo. Los resultados fueron los
esperados, solo pudo crear predicciones para los 40 usuarios que calificaron cursos con un uni-
verso de ítems recomendables restringido a solo 45.
Para generar las recomendaciones se consideró a aquellos ítems no vistos por el usuario, ordena-
dos de mayor a menor valor de predicción. En aquellos casos en los que el sistema de recomen-
dación no pueda generar un set para el usuario, se mostrarán los cursos más vistos.
En la sección 3.3.1, cuando se discutió sobre los ítems a recomendar, se mencionó que las clases
están fuertemente relacionadas unas con otras, en el mismo curso. A partir de los resultados ob-
tenidos en las predicciones de clase, se pudo obtener una información muy interesante sobre ellas
luego de agruparlas de acuerdo al curso que pertenecen. Para construir el Gráfico 10, primero se
agruparon las clases recomendables por curso y luego se hizo el cálculo del porcentaje de cuán-
tas de estas clases pertenecían al mismo curso, tras agrupar los resultados en 11 intervalos se
pudo observar que 903 de 1.299 (69,5%) de los usuarios recibirían como recomendación clases
pertenecientes al mismo curso.
16 http://templates.prediction.io/PredictionIO/template-scala-parallel-recommendation
80
Gráfico 10. Muestra el porcentaje de las clases recomendadas que pertenecen a cursos de clases en la que posee una califica-
ción implícita positiva. Elaboración propia a partir de los datos disponibles en el Anexo 8.
Con esta información se tomó la decisión de no recomendar clases, debido a que para una parte
muy importante de usuarios, la recomendación de clases será indirectamente una recomendación
de un curso en particular.
0
200
400
600
800
1000
Can
tid
ad d
e u
suar
ios
Intervalos de porcentajes
Frecuencia de clases recomendadas que pertenecen a un curso con clases con calificación implícita
81
Conclusiones
En los últimos tiempos ha aumentado cada vez más el interés de las instituciones educacionales
en poner a disposición de los estudiantes cursos en línea, produciéndose un aumento significativo
en la cantidad de contenidos de aprendizaje digital gratuito disponible en Internet. En este con-
texto, los sistemas de recomendación aparecen como una alternativa para que los usuarios en-
cuentren nuevos cursos. En este trabajo se abordó el problema desde el contexto de la plataforma
de educación en línea llamada Classroom.tv.
El diseño de este sistema de recomendación requirió como primer paso realizar una análisis so-
bre 3 dimensiones que restringen su funcionamiento, como resultado permitieron establecer los
elementos centrales del sistema. La primera dimensión se centra sobre la aplicación en la que
estará inmersa el sistema (aplicación anfitriona), la segunda son las características de los usuarios
y finalmente los datos que están disponibles. Los resultados más relevantes de este análisis per-
mitieron determinar qué el tipo de estudiante en el que se enfocará el SR es aquel que no está
buscando respuestas a problemas particulares, sino en navegar por la plataforma en busca de
contenido de su interés, En términos demográficos, provienen principalmente de Chile y es me-
nor de 34 años. Sobre los datos disponibles, se determinó que por el volumen disponible los
ítems posibles de recomendar son cursos, clases y pruebas que sean posibles ver en español. So-
bre estos ítems se pudo afirmar que calidad de los metadatos disponibles es baja, dificultando la
tarea de categorizarlos de manera individual. Sobre las calificaciones de ítems, estas no existen
de forma explícita, pero es posible determinarlas implícitamente, mediante métricas de uso. Tras
un análisis de todos estos datos, se determinó que los ítems posibles de recomendar fueran clases
y cursos mediante el uso algoritmos de filtrado colaborativo.
82
Validación mediante el prototipo de una plataforma de recomendación
En términos de arquitectura de Software, el prototipo implementado demostró ser una opción
viable de implementar en un sistema productivo, la separación en componentes permitió aislar la
complejidad de cada uno de ellos y la vez, mediante las APIs http de cada uno de ellos, mantener
un canal de comunicación entre los componentes.
Sobre las aplicaciones Web desarrolladas, la que mayor impacto puede tener sobre la aplicación
anfitriona fue introducción de un método de evaluación de los cursos basado en un criterio
humano sobre su calidad mediante la puesta en marcha del sistema de comentarios. Este puede
usado para obtener calificaciones explícitas y luego con estas crear recomendaciones, o bien co-
mo un atributo de curso construido por la comunidad de Classroom.tv que puede ayudar al estu-
diante a tomar la decisión de ver o no un curso.
Para la recolección de calificaciones explícitas, el correo electrónico parece no ser un buen
método para solicitarlas, los motivos de la baja colaboración no fueron determinados, pero de-
ntro de las opciones que se barajan están: considerar la solicitud como correo basura o bien los
usuarios ya no son miembros activos de Classroom.tv y por lo tanto no les interese colaborar.
Debido al bajísimo número de calificaciones explícitas recolectadas mediante el envío de correos
electrónicos, se descartó su uso para la recomendación de cursos.
En cambio, el número de calificaciones implícitas permitió generar predicciones para el 9,9% de
los usuarios (1.402) sobre el 100% los cursos posibles de recomendar (488).
Con estas predicciones se construyó un ranking con los 6 ítems con mayor valor de predicción,
que son mostrados en la página principal del estudiante.
Un hallazgo interesante fue confirmar que al momento de obtener las predicciones de clases del
69,5% de los usuarios, las 10 clases con mayor valor de predicción pertenecían al mismo curso,
lo que básicamente se traduce en una recomendación del curso. Este hecho en conjunto con el
dominio de clases potencialmente recomendables que solo alcanzó un 6,7% del total posible,
hizo descartar, por el momento, crear una sección de clases recomendadas dentro de la aplicación
anfitriona.
En la actualidad este prototipo está en línea y sigue registrado tanto las calificaciones implícitas
como las explícitas, los comentarios de los estudiantes y actualizando las predicciones para cada
usuario a diario.
83
Trabajo Futuro
El presente trabajo abordó los aspectos más importantes que conforman un sistema de recomen-
dación, el cual por la diversidad de tópicos que aborda requiere de un esfuerzo multidisciplinario,
en la siguiente sección serán indicadas las propuestas de mejoras detectadas durante el desarrollo
de este trabajo.
Mejoras propuestas desde el sistema de recomendación a la aplicación anfitriona
Si bien el sistema de recomendación está restringido por la aplicación anfitriona y debe jugar con
las reglas que esta establezca, se pudo observar que existen mejoras que aplicadas en la aplica-
ción anfitriona pueden favorecer la generación de recomendaciones.
Mejoras en la calidad de los metadatos. Estas son las mejoras propuestas:
1. Utilización de categorías definidas en lugar de etiquetas o tags, esto eliminaría la posibi-
lidad de crear categorías sinónimas.
2. Mantener una referencia explícita al idioma en que está disponible el curso.
3. Una mayor estructuración de los contenidos disponibles en la descripción de cursos y cla-
ses, la creación de campos tales como profesores, prerrequisitos académicos, año en que
fue creado el contenido, país de origen, esfuerzo estimado semanal, etc.
Esto permitiría agrupar de más formas los contenidos disponibles, facilitando la navegación de-
ntro de la aplicación anfitriona y facilitaría la utilización de algoritmos basados en contenidos sin
la necesidad de realizar complejas operaciones de transformación y normalización de datos.
Mejoras sobre la plataforma de recomendación
La mejora más evidente que se puede hacer sobre el prototipo implementado es evaluar y compa-
rar el rendimiento del algoritmo utilizado, variando sus parámetros y eventualmente compararlo
con otros algoritmos de recomendación colaborativos. Hoy en posible encontrar una gran varie-
dad de Software que incluyen algoritmos que permiten realizar predicciones, características que
las hacen viables para funcionar como un motor de recomendación, por lo que, una vez definidos
el set de pruebas a utilizar, sería posible realizar una comparación formal entre ellos bajo alguna
métrica de evaluación de rendimiento de algoritmos. Adicionalmente se podría evaluar el rendi-
miento para distintos criterios de construcción de las calificaciones implícitas basadas en porcen-
taje de visualización.
84
Otra mejora posible es la inclusión de otras familias de algoritmos de recomendación, en particu-
lar la basada en contenidos, pues podría ser muy útil al momento de enfrentar el problema de la
partida en frío tanto de ítems como de usuarios nuevos. También permitiría ampliar el alcance de
ítems a recomendar ya que un ítem no necesita haber sido consumido por algún usuario para
formar parte del catálogo de ítems recomendables.
En términos más sustanciales sobre el fin de un sistema de recomendación dentro de un sitio de
aprendizaje en línea, todavía existe la necesidad de distinguir las necesidades y metas de los es-
tudiantes y cómo el SR ayuda a satifacerlas, esto comparado con las de otros usuarios sistemas,
en particular con aquellos que venden productos (ejemplo: Amazon) o son de entretenimiento
(ejemplo: Netflix) donde el retorno de la inversión (ROI) es más sencillo de determinar y está
asociado a acciones concretas como comprar o ver una película. Queda abierta la pregunta de
cuál es el soporte pedagógico que puede brindar una plataforma de recomendación como la que
se implementó.
85
Glosario
FC: Filtrado colaborativo.
SR: Sistema de recomendación.
MOOC: Massive Open Online Courses o Cursos masivos en línea
OCW: OpenCourseWare
86
Bibliografía
Dietmar, J., Zanker, M., Felfering, A., & Friedrich, G. (2012). Recomender Systems, An
introduction. Cambridge, New York, EE.UU.: Cambridge University Press.
Herlocker, J., Konstan, J., Borchers, A., & Reidl, J. (1999). An algotithmic framework for
performing collaborative filtering. 22nd Annual International ACM SIGIR Conference , 230-237.
Herlocker, J., Konstan, A., & Riedl, J. (2002). An empirical analysis of design choices in
neighborhood-based collaborative filtering algorithms. Information Retrieval , 5, 287-310.
Linden, G., Smith, B., & York, J. (2003). Amazon.com Recommendations: Item-to-Item
Collaborative Filtering. Internet Computing , 7 (1), 76-80.
Huang, Z., Hsinchun, C., & Zeng, D. (2004). Applying Associative Retrieval Techniques to
Alleviate the Sparcity Problem in Collaborative Filtering. ACM Transactions on Information
Systems , 22 (1), 116-142.
Wang, J., de Vries, A., & Reinders , M. (2006). Unifying User-based and Item-based
Collaborative Filtering Approaches by Similarity Fusion. SIGIR’06 , 501-508.
Amatrian, X., Jaimes, A., Oliver, N., & Pujol, J. M. (2011). Data minning methods for
recommender systems. En F. Ricci, L. Rokach, B. Shapira, & P. K. Kantor (Edits.),
Recommender Systems Handbook (1º edición ed., págs. 39-71). Springer Science+Business
Media.
Sarwar, B., Karypis, G., Konstan, Joseph, & Riedl, J. (2000). Analysis of Recommendation
Algorithms for E-Commerce. 2nd ACM Conference on Electronic Commerce , 158-167.
Sawar, B., Karypis, G., Konstan, J., & Riedl, J. (2002). Incremental Singular Value
Decomposition Algorithms for Highly Scalable Recommender Systems. Fifth International
Conference on Computer and Information Science , 399-404.
Lin, W., Alvarez, S., & Ruiz, C. (2002). Efficient Adaptive-Support Association Rule Mining for
Recommender Systems. Data Mining and Knowledge Discovery , 2, 83-105.
Schafer, B., Frankowski, D., Herlocker, J., & Shilad, S. (2007). Collaborative Filtering
Recommender Systems. The Adaptative Web , 291-394.
87
Breese, J., Heckerman, D., & Kadie, C. (Mayo de 1998). Empirical Analysis of Predictive
Algorithms for Collaborative Filtering. Proceedings of the 14 th Conference on Uncertainty in
Artificial Intelligence , 43-52.
Yu, K., Schwaighofer, V., Tresp, V., Xu, X., & Kriegel, H. (2004). Probabilistic Memory-base
collaboritve filtering. IEEE Transactions on Knowledge and Data Engineering , 16, 56-59.
Lemire, D., & Maclachlan, A. (Abril de 2005). Slope One Predictors for Online Rating-Based
Collaborative Filtering. SIAM Data Mining .
Wikipedia. (s.f.). Slope One. Recuperado el 24 de Febrero de 2013, de Wikipedia:
http://en.wikipedia.org/wiki/Slope_One#Open_source_software_implementing_Slope_One
Mabey, B. (07 de Julio de 2007). SVD and the Netflix Dataset. Recuperado el 21 de Febrero de
2012, de http://www.slideshare.net/bmabey/svd-and-the-netflix-dataset-presentation
Zaïane, O. (2002). Building a Recommender Agent for e-Learning Systems. Procedings of the
international conference on Computer in Education , 55-59.
Tan, H., Guo, J., & Li, Y. (2008). E-Learning Recommendation System .  2008 International
Conference on Computer Science and Software Engineering , 430-433.
Tang, T. Y., & McCalla, G. (2003). Smart recommendation for an evolving e-learning system:
Architecture and experiment. International Journal on E-learning , 4 (1), 105-129.
Ghauth, K. I., & Abdullah, N. A. (2010). Measuring learner’s performance in e-learning
recommender systems. 764-774 .
Zegarra, E., & Efremenko, T. (2011 de Septiembre de 2011). Using a recommendation engine to
personalize your web application. Recuperado el 15 de Julio de 2012, de developer works:
http://www.ibm.com/developerworks/websphere/techjournal/1109_zegarra/1109_zegarra.html
Eryun, L., Ming, X., & Zhenxiang, C. (2009). Research on the autonomous learning system
based on ontology model. 2009 First international Workshop on Education Technology and
Computer Science , 3, 510-514.
Cabal Cruz, C., Martínez López, F., & Molina Moreno, V. (2010). Sistemas de recomendación
en el comercio electrónico y la E-Educación. Criterio Libre , 8 (12), 161-182.
Mackness, J., Sui Fai, J. M., & Williams, R. (2010). The ideals and reality of Participating in a
MOOC. Procedings of the 7th international conference of networked learning , 266-274.
88
YouTube EDU. (2008). Recuperado el 15 de Julio de 2012, de YouTube EDU:
http://www.youtube.com/t/education
Coursera. (2012). Coursera. Recuperado el 29 de Julio de 2013, de Coursera.org:
https://www.coursera.org/about
edX. (2012). edX. Recuperado el 31 de Marzo de 2013, de https://www.edx.org/about
Classroom.tv. (2011). Classroom.tv. Recuperado el 15 de Julio de 2013, de
http://classroom.tv/site/about
Sami , R. (2009). Open Michigan. Recuperado el 15 de Mayo de 2013, de SI 583 -
Recommender Systems: http://open.umich.edu/education/si/si583/winter2009
Panagiotis, A. (2013). What Makes a Great MOOC? An Interdisciplinary Analysis of Student
Retention in Online Courses. In Proceedings of the 34th International Conference on
Information Systems , 2013.
Docebo. (Marzo de 2014). E-Learning Market Trends & Forecast 2014 - 2015 Report.
Recuperado el 23 de Marzo de 2014, de Docebo: http://www.docebo.com/2014/03/17/ten-key-
facts-on-the-e-learning-market/
Allen, E., & Seaman, J. (Enero de 2014). Grade Change: Tracking Online Education in the
United States. Recuperado el 9 de Marzo de 2014, de Babson Survey Research Group:
http://www.onlinelearningsurvey.com/reports/gradechange.pdf
Picault, J., Myriam, R., Bonefoy, D., & Mercer, K. (2011). How to Get the Recommender Out of
the Lab? En F. Ricci, L. Rokach, & B. Shapira, Recommender Systems Handbook (págs. 333-
365). Springer .
Nah, F.-H., & Fiona. (2004). A study on tolerable waiting time: how long are Web users willing
to wait? Behaviour & Information Technology , 23 (3), 153-163.
Michael, E., Riedl, J., & Joseph, K. (2010). Collaborative Filtering Recommender Systems.
Foundations and Trends⃝R in Human–Computer Interaction , 4 (4), 81-173.
Koren, Y., Bell, R., & Volinsky, C. (2009). Matrix Factorization Techniques for Recommender
Systems. Computer , 42 (8), 30-37.
Yifan, H., Yehuda, K., & Chris, V. (2008). Collaborative filtering for implicit feedback datasets.
In IEEE International Conference on Data Mining (ICDM 2008} , 263--272.
89
Matías González, H., & Pérez Avila, A. (2014). Los Cursos en Línea Masivos y Abiertos
(MOOC) como alternativa para la educación a distancia. GECONTEC: Revista Internacional de
Gestión del Conocimiento y la Tecnología , 2 (2), 41-49.
Forbes.com. (10 de Julio de 2013). forbes.com. Recuperado el 29 de Julio de 2014, de
http://www.forbes.com/sites/georgeanders/2013/07/10/coursera-hits-4-million-students-and-
triples-its-funding/
Ekstrand, M., Riedl, J., & Konstan, J. (2010). Collaborative Filtering Recommender Systems.
Foundations and Trends in Human–Computer Interaction , 2 (4).
Manouselis, Drachsler, Verbert, & Duval. (2013). Recommender Systems for Learning. New
York: Springer-Verlag New York.
90
Anexos
Anexo 1. Estudiantes estadounidenses participando en
cursos en línea. Fuente (Allen & Seaman, 2014)
Año Estudiantes Total relativo
2002 1.602.970 10%
2003 1.971.397 12%
2004 2.329.783 14%
2005 3.180.050 18%
2006 3.488.381 20%
2007 3.938.111 22%
2008 4.606.353 24%
2009 5.579.022 27%
2010 6.142.280 29%
2011 6.714.792 32%
2012 7.126.549 34%
Anexo 2. Es la educación en línea un factor crítico en la
estrategia de largo de plazo en instituciones estadouni-
denses. Fuente (Allen & Seaman, 2014).
Año De acuerdo Neutral Desacuerdo
2002 49% 38% 13%
2003 54% 34% 13%
2004 56% 31% 13%
2005 58% 27% 14%
2006 59% 27% 14%
2007 58% 27% 15%
2009 59% 26% 15%
2010 63% 25% 12%
2011 66% 21% 14%
2012 69% 20% 11%
2013 66% 24% 10%
Anexo 3. ¿La educación en línea es factor crítico en la
estrategia de largo plazo?, por oferta de cursos en línea
Fuente (Allen & Seaman, 2014).
Año 2013 2012
Cursos en línea y presenciales 83% 83%
Solo cursos en línea 59% 59%
Sin cursos en línea 14% 33%
Anexo 4. Visitas por país en el periodo comprendido
desde Julio 2013 a Julio 2014. Datos recopilados por
Google Analytics.
País Nº de visitas
Chile 188.522
EE.UU. 8.416
Brasil 5.170
India 2.609
Colombia 2.123
Perú 1.546
México 1.372
España 1.248
Argentina 1.011
Inglaterra 760
Otros 10.736
Total 223.513
Anexo 5. Idioma del navegador con el cual fue visitado el
sitio en el periodo Julio 2013 a Julio 2014. Datos recopila-
dos mediante Google Analytics.
Idioma Nº de visitas Porcentaje
Español 189.391 81,28
Inglés 34.150 14,66
Portugués 4.832 2,07
Otros 4.647 1,99
91
Anexo 6. Total de visitas únicas por curso realizadas por
usuarios registrados. Datos obtenidos desde la base de
datos de la aplicación Classroom.tv.
Nombre de curso Visitas únicas
Curso de Emprendimiento Endeavor 6.960
Single Variable Calculus 6.370
Introduction to Computer Science I 4.807
Linear Algebra, Spring 2005 3.115
Calculus 3.050
Google Python Class 2.982
Introduction to Psychology with Paul Bloom
2.420
MIT 7.012 Introduction to Biology, Fall 2004
2.278
MIT 6.00 Intro to Computer Science & Programming, Fall 2008
2.208
Course | Programming Paradigms 2.052
Financial Markets with Robert Shiller 1.716
Introduction to Ancient Greek History with Donald Kagan
1.536
The American Novel Since 1945 with Amy Hungerford
1.482
Mathematics 53, 001 - Multivariable Calculus - Fall 2009
1.375
Frontiers/Controversies in Astrophysics with Charles Bailyn
1.368
Physics 1.360
MIT 18.03 Differential Equations, Spring 2006
1312
MIT 6.046J / 18.410J Introduction to Algorithms (SMA 5503),
1.265
Multivariable Calculus 1.190
Course | Energy Seminar 1.173
Game Theory with Ben Polak 1.104
Pedagogia Unesp/Univesp 1.088
Feature | Entrepreneurial Thought Lea-der Highlights
1.053
MIT 5.112 Principles of Chemical Scien-ce, Fall 2005
1.015
Course | Programming Methodology 924
Fundamentals of Physics with Rama-murti Shankar
864
Course | Developing Mobile Apps with Web Technologies
801
Course | Technology Entrepreneurship 756
Science, Magic, and Religion: History 2D, UCLA [Complete]
731
Integrative Biology 131 - General Human Anatomy
702
Anexo 7. Duración de clases agrupadas en rangos de
minutos y su frecuencia
Rango en minutos Frecuencia Porcentaje
0-5 694 6,76%
5-10 978 9,53%
10 - 15 767 7,47%
15-20 351 3,42%
20-25 178 1,73%
25-30 123 1,20%
30-35 114 1,11%
35-40 177 1,72%
40-45 355 3,46%
45-50 998 9,73%
50-55 3.572 34,81%
55-60 1.667 16,24%
60-120 2.44 2,38%
Mayor a 120 44 0,43%
Anexo 8. Porcentaje de las clases recomendadas que
pertenecen a cursos que poseen una calificación implícita
positiva.
Rangos en porcentaje Número de usuarios
0 289
]0, 10] 0
]10, 20] 0
]20, 30] 2
]30, 40] 16
]50, 60] 68
]60, 70] 2
]70, 80] 15
]80, 90] 4
]90, 100] 0
100 903