Sistemas Recomendadores para Personalizar Interfaces de Usuarios

Silvana Aciar1, Laura Aballay2, Gabriela Aciar2 y Liliana Romera3

1CONICET. 2Instituto de Informática. 3Departamento de Informática.

Universidad Nacional de San Juan, Argentina Av. Central y Meglioli Rivadavia,

San Juan, Argentina – 5400

saciar@unsj-cuim.edu.ar , lnaballay@gmail.com, gaby_aciar@yahoo.com.ar , lilianaromera@gmail.com

1. Resumen

El uso de los Sistemas Recomendadores está en auge, las aplicaciones y sistemas más utilizados por los usuarios como Netflix, Amazon, Mercado Libre, Google, Facebook tienen un sistema recomendador para filtrar la información y entregar contenido personalizado a cada usuario. Los sistemas de recomendaciones son herramientas que generan recomendaciones en base a las preferencias y gustos de los usuarios. En este documento se presentan conceptos y aspectos fundamentales relacionados a la construcción y evaluación de los sistemas recomendadores.

2. Introducción

La interacción con la tecnología ha cambiado en los últimos años, a los usuarios les gusta una sensación más personal de comunicación con los artefactos tecnológicos (Fan & Poole , 2006) (Reichardt , 2020). La comunicación la brinda la Interfaz de Usuario (UI en sus siglas en Inglés), lograr una comunicación más personal a través de la UI mejora la usabilidad y se obtiene un grado mayor de satisfacción de los mismos.

La adaptación de las interfaces a los gustos y necesidades de un usuario individual se denomina Personalización de Interfaces de Usuario (Fan & Poole , 2006) (Reichardt , 2020). El objetivo de la personalización es identificar al usuario individualmente y ofrecer información, sugerencias, contenido, funcionalidades, etc. en función de sus gustos y preferencias. La personalización se puede realizar a nivel individual, en base al historial o comportamiento pasado del usuario o a nivel de grupo, agrupando los usuarios en segmentos, por ejemplo ubicación geográfica o género. En una interfaz se puede personalizar la forma de presentar el contenido y el contenido a presentar a los usuarios (Hu & Li, 2020). Como herramienta para personalizar el contenido o información a presentar a los usuarios surgieron los Sistemas Recomendadores (SR) (Alharthi, et al, 2018) (Ricci, et. al , 2011).

Los SR son una forma de personalización que presenta información y contenido en base a los gustos, preferencias e intereses de los usuarios (Ricci, et. al , 2011). Interfaces estáticas con mucha información se pueden hacer dinámicas y personalizadas con el uso de los SR. Los SR solucionan los problemas de sobrecarga de información filtrando y ofreciendo solo la información relevante para cada usuario (Ricci, et. al , 2011).

En este capítulo se presentan los sistemas recomendadores y cómo pueden aplicarse para personalizar contenido en base a las preferencias e intereses de los usuarios.

3. Sistemas Recomendadores (SR)

La web 3.0 y el acceso cada vez más creciente a Internet, ha originado que las personas puedan interactuar y subir contenido a la web, eso ocasiona que las personas tengan cada vez más opciones disponibles para consultar.

Por ejemplo Oscar necesita consultar información sobre hoteles en Paris, para ello consulta varias páginas web de turismo y agencias de viajes. Hace uso del buscador proporcionado por dichos portales. La búsqueda le devuelve decenas de resultados. Intenta analizar cada uno de los resultados. No analiza más de 15 resultados de los más de 100 resultados entregados en cada portal. Decide entre los que analizó cuál cree él que podría ser el mejor hotel según sus necesidades en Paris. Por cuestiones de tiempo, no sigue analizando los siguientes resultados.

Oscar se encuentra con lo que se denomina problema de sobrecarga de información (Khusro, et al, 2016), muchas opciones disponibles, el no conoce cuál es la mejor información para él, el no puede analizar todas las opciones disponibles para saber cuál es la que mejor satisface sus necesidades.

Cuando existen más de 100 opciones es obvio que se necesitan herramientas para buscar, filtrar y seleccionar opciones, aún cuando hay pocas opciones se necesita ayuda para tomar la decisión de cuál es la mejor.

Como solución a los problemas de sobrecarga de información, surgieron los Sistemas Recomendadores (SR) ampliamente utilizados en comercio electrónico, turismo, las redes sociales, etc. La principal tarea de un SR es ayudar a elegir productos o servicios a un usuario dentro de un conjunto de opciones (Jesse & Jannach 2021). Un SR presenta al usuario una opción sin tener suficiente experiencia con las opciones a seleccionar, impulsándolo a la adquisición de la mejor opción, a diferencia del buscador donde el usuario ingresa palabras claves y el buscador devuelve resultados, el usuario da el primer paso en la búsqueda de información. En el SR es el propio sistema que automáticamente realiza el primer paso, a veces el usuario no ingresa ninguna información sobre lo que desee encontrar en forma explícita. El SR automatiza aspectos de un modelo de búsqueda de información muy distinto al tradicional, intenta automatizar las conocidas recomendaciones tipo «boca a boca» (Alharthi, et al, 2018) (Ricci, et. al , 2011).

Los SR tienen muchas aplicaciones muy conocidas por todos, por ejemplo sugiriendo libros en Amazon y películas en Netflix, aplicaciones móviles que sugieren lugares donde comer, que medio de transporte utilizar, etc. Redes sociales como Facebook o LinkedIn recomiendan contactos. Incluso los SR son utilizados para personalizar sitios web de noticias. Una de las principales ventajas de utilizar los SR para personalizar interfaces es que los usuarios pueden obtener opciones más amplias a los que podrían estar interesados en menor tiempo que si buscaran ellos mismos.

Para que un SR pueda realizar las recomendaciones es necesario crear el perfil del usuario y determinar cómo será la selección o filtrado de la información que se le va a mostrar al usuario.

3.1 Perfil del usuario

Para la creación del perfil del usuario existen dos métodos para recolectar información (Karimi,et.al, 2018) (Ricci, et. al , 2011). Recolección de información de forma explícita, el usuario ingresa información sobre sus gustos y preferencias de la siguiente forma:

  • Se solicita al usuario que pondere un conjunto de ítems.
  • Se solicita al usuario que cree una lista de ítems de su preferencia.
  • Se solicita al usuario que complete un formulario de registración al sistema.

Otra forma de recolección de información es de forma implícita, donde el sistema obtiene información de la siguiente forma:

  • Analizando el número de visitas que recibe un objeto digital.
  • Analizando las redes sociales de las que el usuario forma parte y así conocer sus gustos y preferencias.
  • Analizando el historial de navegación y comportamiento del usuario sobre determinada sección del sitio, etc.

Crear el perfil de no es una tarea fácil, los usuarios no les gusta llenar formularios son su información o ponderar recursos, por lo que se necesita otras fuentes de información. En (Sardianos, et al, 2018). se analiza información de las redes sociales como facebook para obtener información de los usuarios de redes sociales realizar recomendaciones.

3.2 Métodos de recomendación

Generalmente se emplean dos métodos de recomendación, el Filtrado Basado en Contenido (FBC) y el filtrado colaborativo (FC) (Kuanr & Mohapatra,2021) (Karimi,et.al, 2018) (Ricci, et. al , 2011).

  • En el FBC el sistema presenta al usuario más de lo mismo que le ha gustado antes. El objetivo es descubrir características favoritas de los recursos para un usuario y recomendar aquellos recursos que tienen características similares.
  • En el FC el sistema presenta el recurso que es más popular entre los usuarios que comparten los mismos gustos. El objetivo de las técnicas de FC es encontrar grupos de usuarios similares y realizar recomendaciones basadas en los gustos similares de ese grupo. Es decir, un usuario puede estar interesado en lo que los usuarios similares están interesados.
  • Existe un tercer tipo de método que es el Filtrado Híbrido , donde se combinan ambos métodos anteriores.

En términos de implementación, existen dos tipos de recomendadores, basados en memoria y los basados en modelos (Kuanr & Mohapatra,2021)(Karimi,et.al, 2018) (Ricci, et. al , 2011).

  • En los enfoques basados en memoria se utilizan técnicas estadísticas para obtener el interés del usuario por los recursos, por ejemplo Correlación de Pearson, Similitud del Coseno, Distancia Euclidiana, entre otros.
  • En los enfoques basados en modelos se utilizan técnicas de Machine Learning como la regresión, la agrupación en clústeres, la clasificación, etc.

Filtrado Basado en Contenido (FBC)

En el FBC se le recomienda a un usuario productos similares a los que le han gustado en el pasado (Kuanr & Mohapatra,2021) (Ricci, et. al , 2011).

Por ejemplo, si Oscar compró un libro de Harry Potter se le recomienda libros del mismo género. Para ello el sistema almacena el perfil del usuario en forma de vector (Vector Perfil), conteniendo información de los libros que él ha comprado en el pasado y si le gustaron o no le gustaron. Así mismo la información de los libros se almacena en otro vector (Vector Producto), este vector contiene información descriptiva de los libros, por ejemplo género, autor, editorial, año de edición, etc. Luego el sistema debe conocer la similitud entre el Vector Perfil (X) y el Vector Producto (Y) .

Una de las métricas de similitud más utilizadas es la medida del coseno del ángulo entre el vector X y el vector Y. La misma se calcula como:

El valor del coseno oscila entre -1 y 1, mientras más similar sean los vectores el valor se acerca a 1.

Una vez obtenida la similitud del vector perfil con cada uno de los vectores producto, se pueden recomendar los mejores n libros (más similares a los gustos del usuario).

Para el cálculo de la similitud, además de la métrica del coseno, pueden emplearse métricas como:

Distancia euclidiana, cuya ecuación para calcular la similitud entre el Vector Perfil (X) y el Vector Producto (Y) es:

Donde xi son los componentes del vector X e yi son los componentes del vector Y.

La Correlación de Pearson también es utilizada en el FBC para calcular la correlación entre los vectores. Cuanto más alta sea la correlación, mayor es la similitud. Se utiliza la siguiente ecuación para su cálculo:

Los problemas asociados al FBC son:

  • Si es un usuario nuevo, el cual no tiene un comportamiento pasado con el sistema y no se conocen sus gustos y preferencias, no se pueden realizar recomendaciones.
  • La sobreespecialización, es difícil recomendar nuevos productos que no son similares a los valorados anteriormente, por ejemplo si existe un libro en género «novela» y el usuario en su perfil tiene género «ficción» entonces nunca se le recomendará un género no valorado aún por él, no se sabrá si le puede gustar o no un producto de otro género.

Filtrado Colaborativo (FC)

Este tipo de filtrado se basa en los gustos similares entre las personas (Kuanr & Mohapatra,2021) (Karimi,et.al, 2018) (Ricci, et. al , 2011).

Por ejemplo, si a Oscar le gusta el libro de Harry Potter y Los Juegos del Hambre. A Lucia le gustaron los libros de Harry Potter, Los Juegos del Hambre y El Señor de los Anillos. Los gustos de Oscar son casi similares a los gustos de Lucia, entonces el sistema podría recomendar a Oscar los libros de El Señor de los Anillos.

En el FC se pretende encontrar la similitud entre usuarios o también la similitud entre los productos, pero no la similitud entre productos y usuarios como los hace el FBC. Por lo tanto existen dos tipos principales de métodos en el FC: Filtrado Colaborativo Usuario-Usuario y Filtrado Colaborativo Item-Item.

Filtrado colaborativo usuario-usuario

El objetivo de emplear este método es el de encontrar la medida de similitud entre usuarios (Chen, et. al , 2018) (Ricci, et. al , 2011).. Una vez obtenida la medida de similitud, selecciona los usuarios más similares a un usuario objetivo y se le recomienda los productos que les gustaron a los otros usuarios y él no los ha obtenido aún. Para ello, se deben obtener las calificaciones (ratings) que se otorgaron para los productos. Por ejemplo se deben obtener las calificaciones que le dio Oscar a los libros comprados, estas calificaciones pueden ir desde un «me gusta» o «no me gusta» a una escala de valores (puntuación numérica o con estrellas).

La predicción (Pu,i) de la calificación que podría darle el usuario u al producto i se calcula como el promedio de las calificaciones que los usuarios con perfil similar le dieron al producto i.

Donde rv,i es la calificación que le dio un usuario v al producto i, y sim (u,v) es la similitud entre el usuario u (usuario objetivo) y el usuario v. Para el cálculo de la similitud entre usuarios sim (u,v) se pueden utilizar las fórmulas mencionadas anteriormente como la correlación de Pearson o la fórmula del Coseno.

El mayor inconveniente de este método está relacionado con su implementación, suele consumir demasiado tiempo, ya que se debe calcular la similitud entre todos los usuarios para poder realizar las recomendaciones. Una solución a este problema es encontrar productos similares, debido a que en la mayoría de los dominios de aplicación, la cantidad de productos suele ser menor que la cantidad de usuarios, esta solución es lo que se denomina Filtrado Colaborativo Item-Item y es el aplicado por Amazon para recomendar sus productos.

Filtrado colaborativo item-item

Este método funciona similar al Filtrado Colaborativo anterior, como se expresó anteriormente, la diferencia radica en calcular la similitud entre pares de productos (items) en lugar de pares de usuarios (Chen, et. al , 2018) (Ricci, et. al , 2011). La predicción de cuál podría ser la calificación del producto por parte del usuario se puede calcular con la siguiente ecuación:

Donde ru,n es la calificación del usuario para cada producto similar al producto en cuestión, y sim(i,n) es la medida de similitud entre pares de productos. Para el cálculo de esta similitud se pueden utilizar las fórmulas mencionadas anteriormente como la correlación de Pearson o la fórmula del Coseno pero entre vectores de productos.

3.3 Problemas asociados al desempeño de los SR

Lograr recomendaciones precisas no es una tarea fácil, el éxito de las recomendaciones se ve influenciado por los siguientes problemas:

  • Escases de datos: Los SR necesitan gran cantidad de datos para realizar las recomendaciones de forma efectiva (Chen, et. al , 2018) (Ricci, et. al , 2011). Un buen sistema de recomendación primero necesita datos de productos, debe capturar y analizar los datos del usuario y luego el método para realizar las recomendaciones. Cuantos más datos de los usuarios tenga mayores serán las posibilidades de acertar en sus gustos e intereses, aunque cada vez ellos son más reticentes a dar información

de forma implícita, por lo es necesario de nuevos métodos de recuperar información de forma implícita al analizar el comportamiento de los mismos.

  • Cambio de en los gustos de los usuarios: Los sistemas recomendadores, al analizar los datos de comportamiento pasado de los usuarios están sesgados hacia lo antiguo y tienen dificultades de mostrar lo nuevo (Khusro, et al, 2016). El análisis de los gustos de los usuarios se basan generalmente en preferencias sobre características de los productos, existen otros factores que son difíciles de analizar que interfieren en los gustos de los usuarios como aspectos sociales, culturales, afectivos, etc.
  • Problema del arranque en frío: El problema del arranque en frío (Cold Start en inglés) se debe cuando ingresa un nuevo usuario al sistema donde no se posee suficiente información para realizarle recomendaciones o cuando hay un nuevo producto sin valoraciones para poder recomendárselo a alguien (Khusro, et al, 2016) (Ricci, et. al , 2011). Generalmente ante este problema cuando es un nuevo usuario se le recomienda el producto más popular. Cuando es un nuevo producto, se puede solucionar recomendándole este producto a usuarios que compraron productos con alguna característica similar, por ejemplo características demográficas.

3.4 SR basados en modelo

En los apartados anteriores, se presentaron métricas de sistemas basados en memoria. Pero qué pasa con el rendimiento o cómputo cuando se deben procesar infinidad de datos de los usuarios y productos? Los métodos con las métricas antes mencionadas son poco escalables. Por lo que surgieron las técnicas de SR basadas en modelos (Ricci, et. al , 2011).

En este enfoque el objetivo es definir una representación (modelo) de las preferencias y gustos de los usuarios, por ejemplo por medio de una matriz con probabilidades de que un usuario valore positivamente un producto que no había encontrado antes y utilizan algoritmos de aprendizaje automático o machine learning, como factorización de matrices, Clustering o Redes Neuronales para acelerar el tiempo de cálculo de las recomendaciones por lo que ante las consultas responden más rápido que los basados en memoria, pero por contra necesitan de un proceso de aprendizaje intensivo.

3.5 Evaluación de SR

Para evaluar sistemas de recomendación, podemos utilizar las siguientes métricas (Silveira, et al, 2019):

Recall: Es la proporción de elementos que le gustan al usuario y fueron recomendados. El Recall se calcula de la siguiente forma:

Donde tp representa la cantidad de elementos recomendados a un usuario que le gustan y tp + fn representa el total de elementos que le gustan a un usuario. Cuando mayor es el valor de Recall, las recomendaciones son más eficientes.

Precisión: Es la proporción de elementos recomendados que le gustaron al usuario, se calcula con la siguiente ecuación:

Donde tp representa la cantidad de elementos recomendados para un usuario que le gustan y tp + fp representa el total de elementos recomendados para un usuario. A mayor valor de precisión, mejores recomendaciones.

RMSE (Error cuadrático medio): mide el error de las predicciones de calificaciones con las calificaciones reales dada por el usuario. Se calcula como:

Donde ŕ es la calificación que el sistema ha predicho y r es la calificación real del usuario. Las recomendaciones son mejores cuando menor sea el valor RMSE.

Otras métricas

Para que el éxito de las recomendaciones sea mayor, no solo se deben recomendar los elementos relevantes, sino también recomendar los elementos más relevantes primeros en la lista de las recomendaciones, las métricas anteriores no tienen en cuenta el orden en el que fueron realizadas las recomendaciones (Sohail, et al, 2019). Para ello se utilizan las siguientes métricas:

Rango Recíproco Medio (MRR): mide la ubicación del primer elemento más relevante. Se calcula con la siguiente ecuación:

Donde Q es la cantidad de recomendaciones y ranki el la posición de la primera recomendación relevante correcta para el usuario. Aunque es una métrica fácil de calcular e interpretar, se centra solo en un solo elemento de la lista y no evalúa el resto de la lista de recomendaciones. Cuanto mayor sea el rango recíproco medio, mejor las recomendaciones

Media de la media de precisión (MAP in K) ): mide la precisión solo del subconjunto de sus recomendaciones del rango 1 al k. Cuanto mayor sea la media de precisión, más correctas serán las recomendaciones. Considerando n usuarios y las listas de recomendaciones dada a cada uno se que a cada uno se aplica:

Donde m es el número de usuarios y AP es promedio de precisión que se calcula sobre una lista única de recomendaciones, al promediar la precisión cada vez que se encuentra un elemento relevante:

Donde P@k es la precision en el elemento relevante encontrado en el punto k, rel(k) es una función que indica 1 si el elemento en el ranking j es relevante (0 si no lo es), y K son posiciones de ranking con elementos relevantes.

Ganancia acumulada descontada normalizada (NDCG): mientras MAP asume que un elemento es de interés (o no) NDCG otorga la puntuación de relevancia. Considera que los elementos muy relevantes deben ir antes que los elementos de relevancia media, que deben ir antes que los elementos no relevantes.

NDCG, es la medida normalizada, del valor DCGp que se obtiene del ranking con el orden original, y el valor IDCGp que es el valor del mismo ranking ordenado de manera ideal.

El valor acumulado de un ranking de resultados DCG se calcula:

Donde p es la cantidad de elementos que posee el ranking, reli es la relevancia que tiene para el usuario el elemento en la posición i del listado.

La ganancia del listado se acumula desde la parte superior del ranking a la parte inferior y se penaliza cada elemento en forma proporcional con el logaritmo de su posición. Por lo que los elementos que son más relevantes para el usuario, son más útiles si aparecen rankeados en los primeros puestos.

Aunque con NDCG se considera escenarios más allá solo de dos valores relevante / no relevante, tiene problemas cuando se tienen calificaciones incompletas. Este es el caso de la mayoría de situaciones de sistemas de recomendación.

4. Ejemplo: Netflix

Netfix realiza las recomedaciones para usuarios subscrito a Netflix. Presenta series y películas personalizado a cada usuario (Netflix, 2021). La predicción de las recomendaciones se basa en los siguientes factores:

Perfil del usuario

El perfil del usuario es construido con la siguiente información:

  • Las interacciones con el sistema (como historial de visualización y calificación de las películas vistas y otros títulos)
  • Información de otros usuarios con gustos y preferencias similares Información sobre los títulos, como su género, categorías, actores, año de lanzamiento, etc.
  • La hora del día que miró un título, los dispositivos por los que se accede a Netflix, y la duración de tiempo que se estuvo mirando.

Motor de recomendación

Cuando se crea la cuenta de Netflix o se agrega un nuevo perfil, se pide que elija algunos títulos que le gusten, para comenzar a calcular las recomendaciones. Si el usuario no elige títulos, el sistema presenta un conjunto de títulos populares y de diverso género. A medida que el usuario comience a ver títulos, el recomendador va actualizando las preferencias.

Pare analizar la gran cantidad de datos que posee Netflix de los usuarios y realizar las recomendaciones, utiliza diferentes tipos de filtrado, basado en contenido y colaborativo. Específicamente para la implementación utiliza el enfoque basado en modelos, son muchos los algoritmos de Aprendizaje Automático que utiliza para clasificar a los usuarios y títulos en diferentes categorías. Algunos algoritmos utilizados son: Regresión lineal, Regresión logística, Redes Neuronales, Factorización de Matrices, Arboles de decisión, etc.

Personalización de la interfaz

La página de inicio de Netflix es personalizada para cada uno de los usuarios, presentando los títulos que están viendo, las tendencias actuales de acuerdo a los gustos del usuario, y las clasificaciones de esos títulos por los demás usuarios. Las filas más recomendadas van hacia arriba. Los títulos más recomendados comienzan a la izquierda de cada fila y van a la derecha, a menos que haya seleccionado árabe o hebreo como idioma en cuyo caso estos irán de derecha a izquierda.

Evaluación de las recomendaciones

Para evaluar las recomendaciones, el sistema permite recibir comentarios de cada visita al servicio de Netflix y continuamente se reentrenan los algoritmos de recomendación para mejorar la precisión de la predicción de lo que es más probable que le gustará al usuario.

5. Conclusiones

Los SR ofrecen nuevas formas de personalización en la interacción de las tecnologías con las personas. Ayuda a los usuarios a acceder a productos y servicios que pueden estar ocultos por millares de opciones disponibles. En este documento se presentó una introducción a los conceptos básicos relacionados al funcionamiento e implementación de los SR. Como lo son los métodos de recomendación, las métricas utilizadas y las métricas de evaluación para medir el desempeño de los mismos. Se puede concluir que aunque los SR son ampliamente utilizados hoy en día en una variedad de aplicaciones, aún tienen un rendimiento inferior y no pueden proporcionar recomendaciones precisas debido a las limitaciones de todos los SR sobre la falta de datos ó en el otro extremo, la gran cantidad de datos, los datos cambiantes, las preferencias cambiantes de los usuarios, los elementos impredecibles y la complejidad de la información que va más allá de una simple calificación de usuario. Soluciones a estos problemas están siendo investigados por los científicos en este campo.

6. Referencias

  • Alharthi, H., Inkpen, D., & Szpakowicz, S. (2018). A survey of book recommender systems. Journal of Intelligent Information Systems, 51(1), 139-160.
  • Chen, R., Hua, Q., Chang, Y. S., Wang, B., Zhang, L., & Kong, X. (2018). A survey of collaborative filtering-based recommender systems: From traditional methods to hybrid methods based on social networks. IEEE Access, 6, 64301-64320.
  • Fan, H., & Poole, M. S. (2006). What is personalization? Perspectives on the design and implementation of personalization in information systems. Journal of Organizational Computing and Electronic Commerce, 16(3-4), 179-202.
  • Hu, X., & Li, D. (2020). Visual Thinking of User Needs in Interaction Design. Academic Journal of Humanities & Social Sciences, 3(11).
  • Jesse, M., & Jannach, D. (2021). Digital nudging with recommender systems: Survey and future directions. Computers in Human Behavior Reports, 3, 100052.
  • Karimi, M., Jannach, D., & Jugovac, M. (2018). News recommender systems–Survey and roads ahead. Information Processing & Management, 54(6), 1203-1227.
  • Khusro, S., Ali, Z., & Ullah, I. (2016). Recommender systems: issues, challenges, and research opportunities. In Information Science and Applications (ICISA) 2016 (pp. 1179-1189). Springer, Singapore.
  • Kuanr M., Mohapatra P. (2021) Recent Challenges in Recommender Systems: A Survey. In: Panigrahi C.R., Pati B., Mohapatra P., Buyya R., Li KC. (eds) Progress in Advanced Computing and Intelligent Engineering. Advances in Intelligent Systems and Computing, vol 1199. Springer, Singapore.
  • Netflix (2021). How Netflix’s Recommendations System Works. Disponible en https://help.netflix.com/en/node/100639. Accedido en Junio 2021.
  • Reichardt, D. (2020). Affective Computing Needs Personalization—And a Character?. In Character Computing (pp. 87-98). Springer, Cham
  • Ricci, F., Rokach, L., & Shapira, B. (2011). Introduction to recommender systems handbook. In Recommender systems handbook (pp. 1-35). Springer, Boston, MA.
  • Sardianos, C., Tsirakis, N., & Varlamis, I. (2018). A survey on the scalability of recommender systems for social networks. In Social Networks Science: Design, Implementation, Security, and Challenges (pp. 89-110). Springer, Cham.
  • Silveira, T., Zhang, M., Lin, X., Liu, Y., & Ma, S. (2019). How good your recommender system is? A survey on evaluations in recommendation. International Journal of Machine Learning and Cybernetics, 10(5), 813-831.
  • Sohail, S. S., Siddiqui, J., & Ali, R. (2019). A comprehensive approach for the evaluation of recommender systems using implicit feedback. International Journal of Information Technology, 11(3), 549-567.