Plataforma de recomendación de contenidos para libros
electrónicos inteligentes basada en el comportamiento de
los usuarios
Edward Rolando Núnez-Valdéz1, Luis Joyanes Aguilar2,, Juan Manuel Cueva Lovelle1, Oscar Sanjuán Martínez1, B. Cristina Pelayo García-Bustelo1, Vicente
García-Diaz1,Carlos Enrique Montenegro-Marin3 , Jordan Pascual Espada1
1 Departamento de Informática, Universidad de Oviedo, C/Calvo Sotelo s/n 33007, Oviedo, Asturias, España
2 Facultad de Informática, Universidad Pontificia de Salamanca, Paseo Juan XXIII N 3, 28040, Madrid, España
3 Facultad de Ingeniería, Universidad Distrital, Colombia Carrera 7 N 40-53 Bogotá, Colombia
1{ nunezedward, cueva, osanjuan, crispelayo, garciavicente}@uniovi.es,
1[email protected], 2[email protected], 3[email protected]
Resumen. Un sistema de recomendación de contenidos basado en las relaciones colectivas de sus usuarios asociados en comunidades de lectores de una red social, permite construir un conocimiento colectivo que ayudan a recomendar de forma automática listas de contenidos a los usuarios de la plataforma social, de acuerdo a su comportamiento, preferencias y antecedentes de lectura. En este trabajo, proponemos un modelo para una plataforma de recomendación de contenidos basado en las acciones y comportamiento de los usuarios de libros electrónicos en una comunidad de lectores en la web que ayude a los usuarios a descubrir contenidos de su interés de forma automática y con un minimo esfuerzo.
Palabras Clave: Sistemas de recomendación, libros electrónicos, retroalimentación implícita, GIUG, ACRIE.
1 Introducción
Debido a la gran cantidad de información que se encuentran en Internet, a veces resulta difícil para los usuarios encontrar los contenidos que realmente necesitan de una manera fácil y rápida. Los usuarios tiende a buscar orientación en otras personas que previamente han tenido la misma necesidad; ó bien seleccionan aquellos objetos que más se parecen a lo que buscan.[1].
El uso de los sistemas de recomendación como técnica y estrategia de recuperación de información pretende solucionar el problema de sobrecarga de datos. Estos ayudan a filtrar la información disponible en la Web y encontrar la información de mayor interés y más valiosa para los usuarios, permitiendo descubrir nuevos contenidos de una forma más rápida y eficiente. [2-4].
Si nos trasladamos al mundo de los libros y, más concretamente, al de los libros electrónicos, que cada vez está cobrando más fuerza, nos encontramos con este
mismo problema: hay millones de libros que tratan muy diversos temas y aspectos al alcance de nuestra mano. Así, un sistema que nos conozca, que actúe como un amigo que ha leído un libro o ha oído hablar de él e inmediatamente sabe que nos va a gustar, sería un gran aliado para ahorrar tiempo y esfuerzo.
Para que los sistemas de recomendación sean más eficaces creemos que es necesario mejorar el proceso de retroalimentación. Para esto es necesario reunir implícitamente mayor cantidad de información relacionada con el perfil de usuario basándonos en su comportamiento, de manera de poder medir su interés sobre un contenido o grupo de contenidos. Como se muestra en [5], las soluciones más comunes y los más frecuentes en los sistemas de recomendación son las basadas en las calificaciones explícitas. Estas técnicas pueden alterar la navegación normal del usuario y los patrones de lectura, porque estos tienes que detenerse a valorar los contenidos de su interés.
De forma general, para poder realizar e implementar un sistema de recomendación adecuado para el contexto de los libros electrónicos inteligentes, hay que tener en cuentas una serie de problemas asociados con este tema: [nunezvaldez2010]
En [6] se definieron un conjunto de parámetros implícitos, sobre el cual se realizó un análisis comparativo y se encontraron las correlaciones entre las acciones que un usuario puede realizar durante la lectura de un libro electrónico y las valoraciones dada por estos a cada contenido. Este proceso nos permite analizar el comportamiento de los usuarios en torno a los libros electrónicos y convertir estas acciones calificaciones explícitas que ayudan al sistema de recomendación hacer recomendaciones más precisas relacionadas al perfil del usuario.
El resto de este documento está estructurado de la siguiente manera: en la sección 2 se describen los principales problemas con los sistemas de recomendación que existen en los libros electrónicos, en la sección 3 se presenta el estado del arte de los sistemas de recomendación, la sección 4 muestra el caso estudio, por último, en la sección 5 explicamos las conclusiones y posibles trabajos futuros.
2 Problemas
Para diseña una plataforma de recomendación de contenidos basada en el comportamiento de los usuarios en los dispositivos de lecturas de libros electrónicos, hay que tener en cuenta una serie de problemas. En general, podemos decir que hay tres problemas principales relacionados con este tema [6]:
2.1 Demasiado volumen de información
El acceso al gran volumen de datos disponibles en Internet requiere de mecanismos y algoritmos de clasificación que permitan optimizar las búsquedas y el acceso a estos contenidos eficientemente. Todos los días aumenta el volumen de información disponible en la Web, y esto se convierte en un problema de optimización para los sistemas de recomendación.[2, 7, 8].
2.2 Implementación de un eficiente mecanismo de retroalimentación
En la mayoría de los casos, los mecanismos de retroalimentación están basados en la retroalimentación explícita, y esto puedes causar inconvenientes a los usuarios porque típicamente no les gusta valorar los contenidos. Las valoraciones explícitas son los más comunes y evidentes indicadores del interés del usuario porque les permite a los usuarios decir al sistema que es lo que realmente piensan de los objetos a valorar. Por otro lado, estos pueden alterar la navegación normal y los patrones de lectura de los usuarios porque obligan a los usuarios a detenerse a valorar los contenidos. Además los usuarios pueden dejar de valorar los objetos, si no perciben algún beneficio[5].
Por lo tanto, creemos que es necesario capturar la mayor cantidad de información como sea posible sin la intervención directa de los usuarios, con la finalidad de determinar sus intereses y necesidades e intentar implementar un mecanismo de retroalimentación más eficaz.
2.3 Capacidad limitada de computo en los libros electrónicos
El consumo de memoria y CPU de cualquier sistema de recomendación es muy elevado al tratar con muchos datos. La optimización de los algoritmos para mejorar su rendimiento es uno de los principales campos de investigación dentro de esta área. Una característica constante de estos sistemas es el procesamiento de los datos constantemente modificados (en tiempo real), lo cual requiere de algoritmos eficientes con un bajo costo de ejecución.
Un sistema de recomendación requiere de un aprendizaje continuo de los perfiles de los usuarios y una constante actualización de la información del sistema. Por eso, es necesario minimizar el consumo de memoria y de CPU durante la recuperación de la retroalimentación.
Como los libros electrónicos tienen ciertas limitaciones de cómputo y almacenamiento, es necesario evaluar y diseñar una metodología que permita a estos dispositivos actualizar y almacenar los objetos valorados. Esto permitiría que los sistemas de recomendación puedan funcionar eficazmente y sin la necesidad de depender permanentemente de tecnologías externas. Por esto, necesitamos de un mecanismo de sincronización de los datos disponibles en servidores externos con el dispositivo. Este puede ser implementado a través de servicios Web o mediante unos procesos de sincronización con una aplicación de escritorio en un ordenador. Esta sincronización debe terminar con toda la información del perfil de usuario almacenada en el dispositivo electrónico usando un formato estándar.
3 Estado de arte de los sistemas de recomendación
Hoy en día los sistemas de recomendación son muy útiles en la Web y se utilizan ampliamente, estos ayudan a los usuarios a descubrir contenidos de una forma fácil, rápida y sin mucho esfuerzo. Estos contenidos son seleccionados y filtrados por los sistemas de recomendación de una gran cantidad de contenidos que están un plataforma.
Un sistema de recomendación es definido por [9], “Un sistema que tiene como tarea principal, la elección de ciertos objetos que cumplen con los requisitos de los usuarios, donde cada uno de estos objetos se almacenan en un sistema informático y se caracteriza por un conjunto de atributos.”
Los sistemas de recomendación se basan en el filtrado de información personalizada, que se utiliza para predecir si un usuario en particular le gusta un tema en particular (problema de la predicción), o identificar un conjunto de N elementos que pueden ser de interés para ciertos usuarios (problema recomendación top-N) [10].
3.1 Clasificación de los sistemas de recomendación
Los sistemas de recomendación pueden ser clasificados en diferentes tipos según el tipo de información que utilizan para hacer recomendaciones[11, 12].
Tradicionalmente, existen varios paradigmas de filtrado de información utilizados para generar las recomendaciones, estas se clasifican en:
Basados en el contenido: se trata de intentar recomendar contenidos similares a otros que le gustaba a un determinado usuario en el pasado.
Filtrado colaborativo: identifica a los usuarios cuyos gustos son similares a un usuario determinado y recomienda a este usuario los contenidos que le gusta a los demás usuarios.
Un enfoque híbrido: es una combinación entre el filtrado colaborativo de y el basado en contenidos.
Otra variedad de técnicas han sido propuestas para la realización de recomendación por parte de otros autores [12], aunque de una manera u otra, están relacionados con las clasificaciones de los sistemas de recomendación mencionados anteriormente, estos son: recomendación demográfica, la recomendación basada en el conocimiento, la recomendación de utilidad.
Por otros lado, en la actualidad hay una amplia gama de sistemas de recomendación que se utilizan en las diferentes áreas, ya sea con fines comerciales, científicos o experimentales. Por ejemplo: PHOAKS [13], Referral Web [14], Fab [15], sistema de recomendación de Amazon [16].
3.2 Técnica de retroalimentación de datos
Para que los sistemas de recomendación puedan recomendar contenidos a los usuarios es necesarios recopilar una serie de información relacionados al perfil de los usuarios y a los contenidos a recomendar. Las técnicas de retroalimentación se clasifican en dos tipos: Retroalimentación implícita y Explícita [10, 11, 17].
La combinación entre las técnicas de retroalimentación explícita y la implícita es otro paradigma para los sistemas de recomendación, a pesar de que estos presentan características diferentes acerca de las preferencias de los usuarios [18].
3.2.1 Retroalimentación explícita
A través de un proceso de la encuesta, el usuario valora los contenidos mediante la asignación de una puntuación. Retroalimentación explícita proporciona a los usuarios un mecanismo para expresar de manera inequívoca su interés en los objetos [18].
La Figura 1 muestra los mecanismos de retroalimentación explícita más comunes utilizado por los usuarios en la web para valorar un contenido.
Figura 1: Sistemas de valoración explicita más comunes
Por ejemplo, la tienda online Amazon, Film affinity, Movilens y otros, utilizan el sistema de puntuación de cinco estrellas, que permite a los usuarios valorar los productos que son de su interés.
Por otro lado, las redes sociales como Facebook, YouTube y otros usan el sistema valoración Like para calificar los contenidos.
Finalmente, Google +1 es una nueva funcionalidad que Google ha añadido a su motor de búsqueda para que los usuarios puedan evaluar de forma explícita los sitios web que les gustan y así recomendar estos sitios a los contactos del usuario que ha realizado la valoración.
3.2.2 Retroalimentación implícita
Este proceso consiste en evaluar los objetos, sin las intervenciones de los usuarios. Es decir, esta evaluación se realiza sin conocimiento del usuario, a través de la captura de la información obtenida de las acciones realizadas por los usuarios en la aplicación. Por ejemplo, cuando el usuario accede a una noticia o leer un artículo en línea, de acuerdo con el tiempo que toma para la lectura, el sistema puede deducir si el contenido es de su interés.
Las técnicas de retroalimentación implícita se han utilizado para recuperar, filtrar y recomendar una variedad de artículos: películas, artículos de revistas, documentos de Web, artículos de noticias en línea, libros, programas de televisión, y otros. Estas técnicas aprovechan del comportamiento del usuario para comprender los intereses y preferencias del usuario [19].
4 Caso de estudio
Hay muchos comportamientos que un usuario realiza en torno a los lectores de libros electrónicos y a la plataforma de contenidos digitales en las que se encuentran disponibles los contenidos, como por ejemplo: leer, compartir, recomendar, anotar, resaltar, navegar por los contenidos, etc. Analizando las acciones básicas de un usuario (o comportamientos básicos) relevantes para la recomendación de contenidos relacionados al perfil de los usuarios en un red social, podemos encontrar que hay acciones que desempeñan roles claves en el interés de los usuarios. Las acciones que se muestran en la Tabla 1 son acciones claves que permite medir el comportamiento de los usuarios en una un entornos de libros electrónicos. El estudio de estas acciones permite evaluar el comportamiento del usuario y determinar su interés por los contenidos.
Con la finalidad de lograr una aproximación a la solución de la retroalimentación explícita en los sistemas de recomendación en el entorno de libros electrónicos hemos diseñado un modelo que nos permite analizar el comportamiento de los usuarios y convertir estos datos en un valor explicito que se aproxime al valor que un usuario otorgaria a un contenidos de forma explícita. Para ello se desarrolló una plataforma web, una aplicación cliente para disposivos Android que nos permiten capturar el comportamiento de los usuarios y un algoritmo que nos permite convertir estas acciones implicitas en un valor explícito.
Identificador Acción
A1 Valorar explícitamente un contenido. A2 Recomendar un contenido a un contacto. A3 Recomendar un contenido en redes sociales. A4 Comentar un contenido.
A5 Tiempo de lectura de un contenido. A6 Resaltar un contenido.
A7 Anotar en un contenido. A8 Añadir un contenido a favoritos A9 Añadir un contenido a la colección A10 Añadir un contenido a la lista de deseos A11 Rechazar una recomendación de contenido. A12 Rechazar compartir un contenido
A13 Acceder a una categoría
A14 Eliminar el contenido de una colección. A15 Eliminar el contenido de la lista de deseos.
Tabla 1: Acciones que definen el comportamiento de los usuarios en una plataforma de libros electrónicos.
4.1 Modelo
En la Figura 2 se muestra el modelo para la plataforma de recomendación de libros electrónicos basado en el comportamiento de los usuarios. Como se puede ver el este modelo se captura la información de los usuarios mediante un proceso de retroalimentación de la información. Estos datos pueden ser obtenidos desde la aplicación Web y desde un dispositivo móvil que se comunica con la plataforma a través de servicios Web. Posteriormente estos datos son analizados por un proceso de conversión que permite convertir la información implícita en valores explícitos. Finalmente con un motor de recomendación se toman estos datos explícitos y se recomiendan a los usuarios contenidos relacionados a esta información. A continuación describimos cada uno de los procesos de este modelo.
Figura 2: Modelo para la recomendación de contenidos en libros electrónicos basado en el comportamiento de los usuarios
4.1.1 Proceso de retroalimentación de la información
Para lograr recopilar la mayor cantidad de información durante la interación de los usuarios se desarrolló en Ruby on Rail la Gema Grabador de Interacciones del Usuario (GIUG) que permite almacenar la acciones del usuario de manera implícita utilizado la plataforma web de libros electronicos o desde un dispositivo movil inteligente mediante servicios web. De forma general, esta gema brinda la facilidad de configurar cuales acciones se desean almacenar en un aplicación web basada en el
modelo MVC. En la tabla Tabla 1 se muestra el conjunto de acciones que se capturan en la plataforma Web con la utilización de esta gema. En la aplicación se puede configurar que acciones especificas desea incluir en el proceso mediante un fichero de configuración.
La instalación de GIUG en el entorno se realiza de una forma facil y rápida, una vez está instalada la gema en el equipo está puede ser utilizada por cualquier aplicación que se ejecute en este entorno. Esta se instala mediante la siguiente linea de comando:
gem install path/user_interactions_recorder.gem
Para la utilización de esta gema en cualquier aplicación web desarrollada en RubyOnRAils solo hay que generar la configuración inicial de la aplicación utilizando la siguiente linea de comando :
script/generate user_interactions_recorder
Este comando generará dos ficheros de configuracion en la aplicación donde ejecute:
Plantilla de configuración de controladores: la Figura 3 muestra una plantilla inicial de ejemplo de como pueden configurarse las acciones de los controladores que se desea almacenar.
Fichero de migraciones a base de datos: Genera un un fichero de migración para la creación de la tabla necesaria para el registro de las interacciones.
Figura 3: Plantilla de configuración de controladores
Una vez instalada y configurada GIUG automaticamente la aplicación web comenzará a almacenar las interaciones de los usuarios.
Por otra parte, para almacenar las interaciones desde un dispositivo movil se desarrolló un lector de libros electrónico para dispositivos moviles basados en Android que permite al usuario leer los libros de la plataforma, así como sincronizar
sus contenidos disponibles en la aplicación Web. La Figura 4 muestra la pantalla principal de esta de cliente Android.
Figura 4: Pantalla principal de la aplicación Android
En la Figura 5 se muestra la pantalla donde el usuario puede especificar si desea configurar la aplicación para que envíe informes sobre sus hábitos de lecturas y así poder recibir recomendaciones de libros relacionados a su perfil.
Figura 5: Pantalla de configuración para almacenar las interacciones del usuario desde el dispositivo Android.
4.1.2 Proceso de conversión de la información implicita en valores explicitos usando ACRIE
La finalidad del Algoritmo de Conversión de la Retroalimentación Implícita a Explícita ACRIE es evaluar los diferentes comportamientos del usuario relacionados a sus habitos de lecturas y su interacción con una plataforma de libros electrónicos. Este algoritmo evalua las acciones implícitas previamente configuradas en la plataforma y mediante una serie de procesos convierte estos valores en una valoracion explícita establecida dentro de un rango que indicarían cual es el interés de un usuario por un contenido.
Comunmente cuando los usuarios valoran explícitamente un contenido otorgan un valor que indican si un producto le interesa o no usando algunos de los sistemas de valoración explícita indicado en el estado de arte de este articulo, como por ejemplo: el de Cinco estrellas. ACRIE evalua todas la acciones del usuario y los convierte en un valor explícito, es decir, es como si el usuario diera un valor directamente al contenido.
Fundamentalmente, para que ACRIE pueda obtener una valoración que represente el interés de un usuario i por un contenido j basado en el análisis y la interpretación de las acciones que este realiza entorno al contenido, se definieron un conjunto de ecuaciones matemáticas que con su implementación permiten medir el comportamiento del usuario en cada una de las acciones realizadas y convertirlas en un valor numérico definido dentro de un rango establecido.
La valoración final de un contenido j para un usuario i se determina midiendo cada acción de forma independiente y asignándole un peso P. El peso P tiene con finalidad la asignación del nivel de importancia de cada acción cuando se calcula en interés del usuario. La valoración final del interés del usuario i para el contenido j basado en el comportamiento del usuario, se calcula con la siguiente ecuación:
Donde:
V(i, j) : es la valoración al j-esimo contenido para el i-esimo usuario.
i : es el i-esimo usuario que realizó alguna acción entorno al j-esimo contenido . j : es el j-esimo contenido entorno al cual i-esimo usuario realizó alguna acción. A1 : Es la valoración explícita del j-esimo contenido asignado por el i-esimo usuario. S : es el valor obtenido del calculo de las acciones implícitas. Este valor se calcula con la siguiente ecuación:
donde:
Pk: es el peso asignado a la acción Ak . Donde Pk debe cumplir con las siguientes restricciones:
k : es el sub-indice que identifica la acción.
(Pk+Pr)Ak : es el porcentaje del peso añadido a valor de la acción.
N : es la cantidad de acciones con el j-esimo contenido realizadas por i-esimo usuario. Este valor se calcula con la siguiente ecuación:
f(Ak) : es la función que indica que el i-esimo usuario realizó la acción Ak en el j- esimo contenido. El valor de esta función se determina con la forma siguiente:
Pr : es el peso restante de las acciones A2 … An NO realizadas por el i-ésimo usuario entorno j-ésimo contenido y que será redistribuido entre los pesos Pk de las acciones realizadas. El valor de Pr se calcula con la siguiente ecuación:
donde:
N : es la cantidad de acciones realizadas por i-esimo usuario entorno al j-esimo contenido. Valor que se obtiene con mediante la formula definida en parrafos anteriores.
Q(Ak) : es la función que devuelve el valor del peso de la acción Ak que el i-esimo usuario NO realizó entorno el j-esimo contenido. El valor de esta función se determina con la forma siguiente:
Con la finalidad de mostrar como se calculan el valor de las acciones que se muestran en la Tabla 1 con ACRIE, a continuación se explica la formalización matemática para las dos primeras acciones presentadas en dicha tabla. La formulación que permite determinar el valor de estas acciones para el usuario en el proceso de retroalimentación se definen a continuación:
A1 Valorar explícitamente un contenido: Cuando un usuario valora explícitamente un contenido, las demás acciones que realizó sobre el contenido se descartan, por que el usuario está indicando de forma explícita el interés por dicho contenido. Esto indica que uno de los puntos principales es saber si el usuario a valorado explícitamente dicho contenido, por lo cual, cuando se realizan las mediciones de las interacciones implícitas del usuario se debe saber si ya se ha valorado anteriormente ese contenido, y si fue valorado explícitamente o implícitamente. Si el contenido tiene valoración previa calculada automáticamente por el sistema, es decir, que si esta valoración se ha obtenido del análisis y calculo de la acciones basadas en el comportamiento del usuario, y el usuario puntúa nuevamente el contenido pero de manera explícita, este ultimo valor remplazará el valor anterior, ya que la valoración explícita indica de manera directa el interés del usuario por el contenido. De forma general, dada la obtención del resultado de dos valoraciones de un usuario sobre un contenido (una explícita y otra implícita), el resultado final de la valoración del contenido será igual a la valoración dada por el usuario forma explícita, independientemente de orden y del momento en que se obtengan dichos valores. La valoración explicita de un contenido se obtiene mediante la siguiente ecuación:
A1(i, j) = x Donde:
i : es el i-ésimo usuario de la plataforma que valoró explícitamente el contenido.
j : es el j-ésimo contenido de la plataforma que fue valorado explícitamente por un usuario.
x : es la puntuación explícita que el i-ésimo usuario otorgó al j-esimo contenido.
A2 Recomendar un contenido a un contacto
De acuerdo a los resultados obtenidos en el analisis de los sobre retroelimentación implícita, indica que los usuarios solo recomiendan a sus contactos, los contenidos que le parecen interesante. En esta plataforma es necesario conocer la cantidad de veces que el usuario recomendó un contenido a sus contactos, y la relación de estas recomendaciones con las hechas por todos los demás usuarios de la plataforma. A mayor numero de recomendaciones, mayor es el interés. De forma general, se puede decir que recomendar un contenido a un contacto es una acción que tendrá un peso importante a la hora determinar el interés del usuario debido a que la tendencia es que el usuario solo recomienda un contenido que le parece interesante o que cree que puede interesarle a quien lo recomienda. La
plataforma se realiza con la finalidad de tomar en cuenta el interés general por el contenido. El valor de recomendar un contenido a sus contactos se calcula mediante la siguiente ecuación:
donde:
i : es el i-ésimo usuario que recomendó un contenido a un contacto.
j : es el j-ésimo contenido de la plataforma que fue recomendado por un usuario.
Ls : es el limite superior de la normalización del valor de Tr(i,j). Li : es el limite inferior de la normalización del valor de Tr(i,j).
Tr(i,j) : es el total de recomendaciones a sus contactos del j-ésimo contenido hecha por el i-ésimo usuario . Este total se calcula mediante la siguiente ecuación:
r : es una recomendación a un contacto de un contenido hecha por un usuario.
TTr(i,j) : es el conjunto del total de las recomendaciones de los contenidos j de cada usuario i en la plataforma. Este conjunto se define como:
TTr(i, j)= Tr(1, 1),Tr(1, 2),...,Tr(2, 1),Tr(2, 2),...,Tr(i, j)
MAX(TTr(i, j)) : es el número máximo de recomendaciones de un contenido j que un usuario i a realizado a sus contactos en el conjunto TTr(i, j)
Con la implementación de estas formulaciones matematicas definidas para las acciones que se definen en la plataforma podemos determinar de forma eficaz el interes de usuario por un contenido basadonos en su comportamiento.
4.1.3 Motor de recomendación
Una vez definidas las acciones y analizada el comportamiento de los usuarios, apartir de los valores generados por ACRIE que basicamente genera un conjunto de datos basados en una relación Usuario -> Contenido-> Valor como se muestra en Tabla 2, con estos valores generados se puede implementar cualquier motor de recomendación existente en la actualidad, ya que la mayorias se basan esta relación.
Usuario Contenido Valor
1 1 3
2 2 1
1 2 5
2 2 4
Tabla 2: Valoraciones de los usuarios a los contenidos
Con estos valores calculados y con la implementación de un motor de recomendación podemos recomendar contenidos al usuario relacionado a su perfil. En la Figura 6 se muestra la interfaz que muestra las recomendaciones en un dispositivo Android.
Figura 6: Interfaz gráfica que muestra las recomendaciones en un dispositivo Android
5 Conclusiones y trabajos futuros
En este trabajo se ha propuesto un modelo para definir una plataforma de recomendación de contenidos basado en el comportamiento de los usuarios que permita implementar un sistema de recomendación que ayude a los usuarios a descubrir contenidos que sean de su interes. Este modelo basado principalmente en la retroalimentación implicita permite recomendar contenidos sin la necesidad de que los usuarios tenga que valor explicitamente los contenidos que le parecen interesantes.
Como se muestran en el caso de estudio la implementación de los procesos definidos en el modelo son poco complejos de implementar, lo que permite que en una plataforma se pueda incluir fácilmente un sistema de recomendación.
Como trabajo futuro se piensa como podemos implementar este modelo en otros entornos diferentes al de libros electrónicos que permita recomendar cualquier tipo de productos. Otro de los trabajos futuros es implementar un DSL que nos permita
independizar el diseño del sistema de recomendación de su implementación, y haciendo que esta ultima sea un proceso automático. Así se reduce la complejidad pues el sistema de recomendación será diseña sobre un herramienta DSL de fácil comprensión para el personal especializado en sistemas de recomendación ya que se acota el dominio a términos más específicos.
Referencias
1. Sanjuan Martínez, O., Pelayo G-Bustelo,C., González Crespo, R., Torres Franco, E., Using Recommendation System for E-learning Environments at degreelevel. International Journal of Artificial Intelligence and Interactive Multimedia, 2009. 1(2): p. 67-70.
2. O'Donovan, J. and B. Smyth, Trust in recommender systems, in Proceedings of the 10th international conference on Intelligent user interfaces. 2005, ACM: San Diego, California, USA. p. 167-174.
3. Taghipour, N. and A. Kardan, A hybrid web recommender system based on Q-learning, in Proceedings of the 2008 ACM symposium on Applied computing. 2008, ACM: Fortaleza, Ceara, Brazil. p. 1164-1168.
4. Noor, S. and K. Martinez, Using social data as context for making recommendations: an ontology based approach, in Proceedings of the 1st Workshop on Context, Information and Ontologies. 2009, ACM: Heraklion, Greece. p. 1-8.
5. Claypool, M., et al., Inferring User Interest. IEEE Internet Computing, 2001. 5(6): p. 32-39.
6. Núñez Valdéz., E.R., et al., First Steps towards Implicit Feedback for Recommender Systems in Electronic Books, in Distributed Computing and Artificial Intelligence, A. de Leon F. de Carvalho, et al., Editors. 2010, Springer Berlin / Heidelberg. p. 61-64.
7. Resnick, P., et al., GroupLens: an open architecture for collaborative filtering of netnews, in Proceedings of the 1994 ACM conference on Computer supported cooperative work. 1994, ACM: Chapel Hill, North Carolina, United States. p. 175-186.
8. González Crespo, R., et al., Recommendation System based on user interaction data applied to intelligent electronic books. Comput. Hum. Behav., 2011. 27(4): p. 1445-1449.
9. Wang, P., Why recommendation is special? Workshop on Recommender Systems, part of the 15th National Conference on Artificial Intelligence, 1998: p. 111-113.
10. Resnick, P. and H.R. Varian, Recommender systems. Commun. ACM, 1997. 40(3): p. 56-58.
11. Adomavicius, G., et al., Incorporating contextual information in recommender systems using a multidimensional approach. ACM Trans. Inf. Syst., 2005. 23(1): p. 103-145.
12. Adomavicius, G. and A. Tuzhilin, Toward the Next Generation of Recommender Systems: A Survey of the State-of-the-Art and Possible Extensions. IEEE Trans. on Knowl. and Data Eng., 2005. 17(6): p. 734-749. 13. Terveen, L., et al., PHOAKS: a system for sharing recommendations.
Commun. ACM, 1997. 40(3): p. 59-62.
14. Kautz, H., B. Selman, and M. Shah, Referral Web: combining social networks and collaborative filtering. Commun. ACM, 1997. 40(3): p. 63-65. 15. Balabanovic, M.a.S., Yoav, Fab: content-based, collaborative
recommendation. Commun. ACM, 1997. 40(3): p. 66-72.
16. Linden, G., B. Smith, and J. York, Amazon.com recommendations: item-to- item collaborative filtering. Internet Computing, IEEE, 2003. 7(1): p. 76-80. 17. Ziegler, C.-N., et al., Improving recommendation lists through topic
diversification, in Proceedings of the 14th international conference on World Wide Web. 2005, ACM: Chiba, Japan. p. 22-32.
18. Jawaheer, G., M. Szomszor, and P. Kostkova, Comparison of implicit and explicit feedback from an online music recommendation service, in Proceedings of the 1st International Workshop on Information Heterogeneity and Fusion in Recommender Systems. 2010, ACM: Barcelona, Spain. p. 47- 51.
19. Kelly, D. and J. Teevan, Implicit feedback for inferring user preference: a bibliography. SIGIR Forum, 2003. 37(2): p. 18-28.