DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que...

92
UNIVERSIDAD DEPAR DISEÑO DE UN COLABOR ACADÉM APRENDIZAJE ESTE MEMORIA D D TÉCNICA FEDERICO SAN RTAMENTO DE INFORMÁTICA SANTIAGO - CHILE N SISTEMA DE RECOME RATIVO PARA CONTEN MICOS DENTRO UN SITIO E EN LÍNEA BASADO EN EBAN ANDRÉS MARTINI MUÑOZ DE TITULACIÓN PARA OPTAR AL TÍTUL INGENIERO EN INFORMÁTICA PROFESOR GUÍA LUIS HEVIA RODRIGUEZ PROFESORA CORREFERENTE CECILIA REYES COVARRUBIAS AGOSTO - 2015 NTA MARÍA A ENDACIÓN NIDOS O DE N VIDEOS LO DE

Transcript of DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que...

Page 1: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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

Page 2: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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.

Page 3: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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.

Page 4: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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

Page 5: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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

Page 6: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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

Page 7: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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.

Page 8: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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).

Page 9: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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.

Page 10: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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

Page 11: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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

Page 12: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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

Page 13: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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

Page 14: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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.

Page 15: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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.

Page 16: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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

Page 17: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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).

Page 18: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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.

Page 19: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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

Page 20: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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.

Page 21: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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-

Page 22: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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.

Page 23: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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

Page 24: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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-

Page 25: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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)

Page 26: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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.

Page 27: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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

Page 28: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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.

Page 29: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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

Page 30: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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

Page 31: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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

Page 32: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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?

Page 33: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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

Page 34: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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.

Page 35: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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.

Page 36: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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.

Page 37: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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+

Page 38: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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

Page 39: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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-

Page 40: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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-

Page 41: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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-

Page 42: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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.

Page 43: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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.

Page 44: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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

Page 45: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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.

Page 46: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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.

Page 47: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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-

Page 48: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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

Page 49: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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

Page 50: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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

Page 51: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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.

Page 52: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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

Page 53: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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

Page 54: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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.

Page 55: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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.

Page 56: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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.

Page 57: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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.

Page 58: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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

Page 59: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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

Page 60: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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.

Page 61: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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.

Page 62: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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.

Page 63: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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.

Page 64: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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.

Page 65: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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.

Page 66: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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.

Page 67: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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.

Page 68: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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.

Page 69: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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:

Page 70: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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/

Page 71: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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-

Page 72: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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

Page 73: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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

Page 74: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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

Page 75: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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

Page 76: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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.

Page 77: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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

Page 78: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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.

Page 79: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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-

Page 80: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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

Page 81: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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

Page 82: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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.

Page 83: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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.

Page 84: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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.

Page 85: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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ó.

Page 86: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

85

Glosario

FC: Filtrado colaborativo.

SR: Sistema de recomendación.

MOOC: Massive Open Online Courses o Cursos masivos en línea

OCW: OpenCourseWare

Page 87: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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.

Page 88: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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.

Page 89: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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.

Page 90: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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.

Page 91: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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

Page 92: DISEÑO DE UN SISTEMA DE RECOMENDACIÓN COLABORATIVO … · 3.3.4 Selección del Software que implemente algoritmos de recomendación colaborativo..... 64 3.3.5 Presentación de las

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