El filtrado colaborativo es un tipo de sistema de recomendación. Agrupa a los usuarios en función de un comportamiento similar, recomendando nuevos artículos según las características del grupo.
El filtrado colaborativo es un método de recuperación de información que recomienda artículos a los usuarios en función de cómo otros usuarios con preferencias y comportamientos similares han interactuado con ese artículo. En otras palabras, los algoritmos de filtrado colaborativo agrupan a los usuarios en función del comportamiento y utilizan las características generales del grupo para recomendar artículos a un usuario objetivo. Los sistemas de recomendación colaborativos funcionan según el principio de que usuarios similares (en términos de comportamiento) comparten intereses y gustos similares1.
El filtrado colaborativo es uno de los dos tipos principales de sistemas de recomendación, el otro son las recomendaciones basadas en el contenido. Este último método utiliza las características de los artículos para recomendar artículos similares a aquellos con los que un determinado usuario ha interactuado positivamente en el pasado2 Mientras que el filtrado colaborativo se centra en la similitud de los usuarios para recomendar artículos, el filtrado basado en el contenido recomienda artículos exclusivamente en función de las características del perfil del artículos. El filtrado basado en el contenido dirige las recomendaciones a las preferencias de un usuario concreto en lugar de a un grupo o tipo como en el filtrado colaborativo.
Ambos métodos han sido testigos de numerosas aplicaciones en el mundo real en los últimos años, desde el comercio electrónico como Amazon a las redes sociales o los servicios de streaming. Juntos, los sistemas colaborativos y basados en contenidos forman sistemas de recomendación híbridos. De hecho, en 2009, Netflix adoptó un sistema de recomendación híbrido a través de su concurso de premios Netflix.
El filtrado colaborativo utiliza una matriz para mapear el comportamiento de los usuarios para cada artículo de su sistema. A continuación, el sistema extrae valores de esta matriz para representarlos como puntos de datos en un espacio vectorial. A continuación, varias métricas miden la distancia entre puntos como medio para calcular la similitud usuario-usuario y artículo-artículo.
En una configuración estándar de filtrado colaborativo, tenemos un conjunto de n usuarios y un conjunto de x elementos. La preferencia individual de cada usuario por cada elemento se muestra en una matriz de usuario-elemento (a veces denominada matriz de calificación de usuario). Aquí, los usuarios se representan en filas y los elementos en columnas. En la matriz Rij, un valor dado representa el comportamiento del usuario u hacia el elemento i. Estos valores pueden ser números continuos proporcionados por los usuarios (por ejemplo, valoraciones) o valores binarios que indican si un usuario determinado vio o compró el artículo. Este es un ejemplo de matriz de tiempo de usuario para el sitio web de una librería:
Esta matriz muestra las valoraciones de los usuarios de los diferentes libros disponibles. Un algoritmo de filtrado colaborativo compara las valoraciones de cada libro dadas por los usuarios. Al identificar usuarios o artículos similares en función de esas valoraciones, predice las puntuaciones de los libros que el usuario objetivo no ha visto (representadas por un valor nulo en la matriz) y recomienda (o no recomienda) esos libros al usuario objetivo según corresponda.
La matriz de ejemplo utilizada aquí es completa dado que está restringida a cuatro usuarios y cuatro artículos. Sin embargo, en escenarios del mundo real, las preferencias conocidas de los usuarios por los artículos suelen ser limitadas, lo que limita a su vez la matriz usuario-artículo3.
¿Cómo determina un algoritmo de recomendación colaborativa la similitud entre varios usuarios? Como se ha mencionado, la proximidad en el espacio vectorial es un método principal. Pero las métricas específicas utilizadas para determinar esa proximidad pueden variar. Dos de esas métricas son la similitud de cosenos y el coeficiente de correlación de Pearson.
La similitud de coseno significa la medición del ángulo entre dos vectores. Los vectores comparados comprenden un subconjunto de calificaciones para un usuario o elemento determinado. La puntuación de similitud del coseno puede ser cualquier valor entre -1 y 1. Cuanto mayor sea la puntuación del coseno, más parecidos se considerarán dos elementos. Algunas fuentes recomiendan esta métrica para espacios de características de alta dimensión. En el filtrado colaborativo, los puntos vectoriales se extraen directamente de la matriz de elementos de usuario. La similitud del coseno se representa mediante esta fórmula, donde x e y significan dos vectores en el espacio vectorial:4
El PCC ayuda a medir la similitud entre elementos o usuarios calculando la correlación entre las valoraciones respectivas de dos usuarios o elementos. El PCC oscila entre -1 y 1, lo que significa una correlación negativa o idéntica. A diferencia de la similitud de coseno, PCC utiliza todas las puntuaciones de un usuario o elemento determinado. Por ejemplo, si calculamos el PCC entre dos usuarios, utilizamos esta fórmula, en la que a y b son usuarios diferentes, y rai y rbi son la calificación de ese usuario para el elemento i:5
Hay dos tipos principales de sistemas de filtrado colaborativo: los basados en la memoria y los basados en modelos.
Los sistemas de recomendación basados en memoria, o sistemas basados en usuarios similares, son extensiones de los clasificadores de los usuarios similares k más cercanos porque intentan predecir el comportamiento de un usuario objetivo con respecto a un artículo determinado basándose en usuarios o conjuntos de artículos similares. Los sistemas basados en memoria se pueden dividir en dos subtipos:
A veces, la literatura describe los métodos basados en la memoria como métodos de aprendizaje basados en instancias. Esto apunta a cómo el filtrado basado en usuarios y artículos hace predicciones específicas para una instancia determinada de interacción usuario-artículo, como la calificación de un usuario objetivo para una película no vista.
Por el contrario, los métodos basados en modelos crean un modelo predictivo de machine learning de los datos. El modelo utiliza los valores actuales de la matriz de artículos de usuario como conjunto de datos de entrenamiento y produce predicciones para los valores faltantes con el modelo resultante. Por lo tanto, los métodos basados en modelos utilizan técnicas de ciencia de datos y algoritmos de machine learning, como árboles de decisiones, clasificadores de Bayes y redes neuronales, para recomendar artículos a los usuarios8.
La factorización matricial es un método de filtrado colaborativo ampliamente discutido y a menudo clasificado como un tipo de modelo de factor latente. Como modelo de factor latente, la factorización matricial supone que la similitud entre usuarios o entre artículos puede determinarse a través de un número determinado de características. Por ejemplo, la calificación de un libro por parte de un usuario se puede predecir utilizando únicamente el género del libro y la edad o el género del usuario. Esta representación de menor dimensión pretende explicar, por ejemplo, las calificaciones de libros caracterizando los artículos y los usuarios de acuerdo a una serie de características seleccionadas extraídas de los datos de feedback de los usuarios9. Como reduce las características de un espacio vectorial determinado, la factorización matricial también sirve como método de reducción de dimensionalidad 10.
En comparación con los sistemas basados en el contenido, el filtrado colaborativo es más eficaz a la hora de proporcionar a los usuarios recomendaciones novedosas. Los métodos basados en la colaboración extraen recomendaciones de un conjunto de usuarios que comparten intereses con un usuario objetivo. Por ejemplo, si a un grupo de usuarios le gustó el mismo conjunto de artículos que al usuario objetivo, pero también le gustó un artículo adicional desconocido para el usuario objetivo porque no comparte características con el conjunto anterior de artículos, un sistema de filtrado colaborativo recomienda este artículo novedoso al usuario. El filtrado colaborativo puede recomendar artículos que un usuario objetivo puede no haber considerado pero que, sin embargo, atraen a ese tipo de usuario11.
El problema del arranque en frío es quizás la desventaja más citada de los sistemas de filtrado colaborativo. Se produce cuando un nuevo usuario (o incluso un nuevo elemento) entra en el sistema. La falta de historial de interacciones con elementos de ese usuario impide que el sistema pueda evaluar la similitud o asociación del nuevo usuario con los usuarios existentes. Por el contrario, los sistemas basados en contenido son más expertos en el manejo de nuevos elementos, aunque también tienen dificultades con las recomendaciones para nuevos usuarios12.
La escasez de datos es otro de los principales problemas que pueden influir negativamente en los sistemas de recomendación colaborativa. Como se ha mencionado, los sistemas de recomendación suelen carecer de datos sobre las preferencias del usuario para la mayoría de los artículos del sistema. Esto significa que la mayor parte del espacio de características del sistema está vacío, una condición denominada "escasez de datos". A medida que aumenta la escasez de datos, los puntos vectoriales se vuelven tan disímiles que los modelos predictivos se vuelven menos eficaces a la hora de identificar patrones explicativos13. Esta es una de las principales razones por las que la factorización matricial, y los métodos relacionados con los factores latentes, como la descomposición del valor singular, es popular en el filtrado colaborativo, puesto que alivia la escasez de datos reduciendo las características. Otros métodos implementados para resolver este problema también pueden implicar que los propios usuarios evalúen y proporcionen información sobre sus propios intereses, que el sistema puede utilizar para filtrar las recomendaciones.
Aunque estudios anteriores han abordado la recomendación como un problema de predicción o clasificación, un importante cuerpo de investigación reciente sostiene que debe entenderse como un problema secuencial de toma de decisiones. En este paradigma, el aprendizaje por refuerzo podría ser más adecuado para abordar la recomendación. Este planteamiento defiende que las actualizaciones de recomendación en tiempo real en función de la interacción usuario-elemento; a medida que el usuario omite, pulsa, valora o compra los artículos sugeridos, el modelo desarrolla una política óptima a partir de este feedback para recomendar nuevos elementos14. Estudios recientes proponen una amplia variedad de aplicaciones de aprendizaje por refuerzo para abordar los intereses mutables y a largo plazo de los usuarios, lo que plantea retos tanto para el filtrado basado en contenidos como para el colaborativo15.
Hemos encuestado a 2000 organizaciones sobre sus iniciativas de IA para descubrir qué funciona, qué no y cómo puede adelantarse.
IBM Granite es nuestra familia de modelos de IA abiertos, eficaces y de confianza, adaptados a la empresa y optimizados para escalar sus aplicaciones de IA. Explore las opciones de idioma, código, series de tiempo y salvaguardas.
Acceda a nuestro catálogo completo de más de 100 cursos en línea al adquirir hoy mismo una suscripción individual o multiusuario, que le permitirá ampliar sus conocimientos en una amplia gama de nuestros productos a un precio reducido.
Dirigido por los principales líderes de opinión de IBM, el plan de estudios está diseñado para ayudar a los líderes empresariales a conseguir el conocimiento necesario para priorizar las inversiones en IA que pueden impulsar el crecimiento.
1 “Collaborative Filtering”. Encyclopedia of Machine Learning and Data Mining. Springer. 2017. Mohamed Sarwat y Mohamed Mokbel. “Collaborative Filtering”. Encyclopedia of Database Systems. Springer. 2018.
2 Prem Melville y Vikas Sindhwani. “Recommender Systems”. Encyclopedia of Machine learning and Data Mining. Springer. 2017.
3 YUE SHI, MARTHA LARSON y ALAN HANJALIC. “Collaborative Filtering beyond the User-Item Matrix: A Survey of the State of the Art and Future Challenges”. ACM Computing Surveys. Vol. 47, N.º 1. 2014. https://dl.acm.org/doi/10.1145/2556270. Kim Falk. Practical Recommender Systems. Manning Publications. 2019.
4 Elsa Negre. Information and Recommender Systems. Vol. 4. Wiley-ISTE. 2015. Sachi Nandan Mohanty, Jyotir Moy Chatterjee, Sarika Jain, Ahmed A. Elngar y Priya Gupta. Recommender System with Machine Learning and Artificial Intelligence. Wiley-Scrivener. 2020.
5 Kim Falk. Practical Recommender Systems. Manning Publications. 2019. J. Ben Schafer, Dan Frankowski, Jon Herlocker y Shilad Sen. “Collaborative Filtering Recommender Systems”. The Adaptive Web: Methods and Strategies of Web Personalization. Springer. 2007.
6 Charu Aggarwal. Recommender Systems: The Textbook. Springer. 2016. Prem Melville y Vikas Sindhwani. “Recommender Systems”. Encyclopedia of Machine Learning and Data Mining. Springer. 2017.
7 Charu Aggarwal. Recommender Systems: The Textbook. Springer. 2016. Kim Falk. Practical Recommender Systems. Manning Publications. 2019.
8 Charu Aggarwal. Recommender Systems: The Textbook. Springer. 2016.
9 Prem Melville y Vikas Sindhwani. “Recommender Systems”. Encyclopedia of Machine Learning and Data Mining. Springer. 2017. Yehuda Koren, Steffen Rendle y Robert Bell. “Advances in Collaborative Filtering”. Recommender Systems Handbook. 3.ª edición. Springer. 2022.
10 Charu Aggarwal. Recommender Systems: The Textbook. Springer. 2016.
11 Sachi Nandan Mohanty, Jyotir Moy Chatterjee, Sarika Jain, Ahmed A. Elngar y Priya Gupta. Recommender System with Machine Learning and Artificial Intelligence. Wiley-Scrivener. 2020. Charu Aggarwal. Recommender Systems: The Textbook. Springer. 2016.
12 Charu Aggarwal. Recommender Systems: The Textbook. Springer. 2016. Ian Goodfellow, Yoshua Bengio y Aaron Courville. Deep Learning. MIT Press. 2016.
13 Ian Goodfellow, Yoshua Bengio y Aaron Courville. Deep Learning. MIT Press. 2016.
14 Guy Shani, David Heckerman, Ronen I. Brafman. “An MDP-Based Recommender System”. Journal of Machine Learning Research. Vol. 6. N.º 43. 2005. PP. 1265−1295. https://www.jmlr.org/papers/v6/shani05a.html. Yuanguo Lin, Yong Liu, Fan Lin, Lixin Zou, Pengcheng Wu, Wenhua Zeng, Huanhuan Chen, y Chunyan Miao. “A Survey on Reinforcement Learning for Recommender Systems”. IEEE Transactions on Neural Networks and Learning Systems. 2023. https://ieeexplore.ieee.org/abstract/document/10144689. M. Mehdi Afsar, Trafford Crump, y Behrouz Far. Reinforcement Learning based Recommender Systems: A Survey”. ACM Computing Survey. Vol. 55. N.º 7. 2023. https://dl.acm.org/doi/abs/10.1145/3543846.
15 Xinshi Chen, Shuang Li, Hui Li, Shaohua Jiang, Yuan Qi, Le Song. “Generative Adversarial User Model for Reinforcement Learning Based Recommendation System”. Actas de la 36.ª Conferencia Internacional sobre Machine Learning. PMLR. N.º 97. 2019. PP. 1052-1061. http://proceedings.mlr.press/v97/chen19f.html. Liwei Huang, Mingsheng Fu, Fan Li,Hong Qu, Yangjun Liu y Wenyu Chen. “A deep reinforcement learning based long-term recommender system”. Knowledge-Based Systems. Vol. 213. 2021. https://www.sciencedirect.com/science/article/abs/pii/S0950705120308352.
IBM web domains
ibm.com, ibm.org, ibm-zcouncil.com, insights-on-business.com, jazz.net, mobilebusinessinsights.com, promontory.com, proveit.com, ptech.org, s81c.com, securityintelligence.com, skillsbuild.org, softlayer.com, storagecommunity.org, think-exchange.com, thoughtsoncloud.com, alphaevents.webcasts.com, ibm-cloud.github.io, ibmbigdatahub.com, bluemix.net, mybluemix.net, ibm.net, ibmcloud.com, galasa.dev, blueworkslive.com, swiss-quantum.ch, blueworkslive.com, cloudant.com, ibm.ie, ibm.fr, ibm.com.br, ibm.co, ibm.ca, community.watsonanalytics.com, datapower.com, skills.yourlearning.ibm.com, bluewolf.com, carbondesignsystem.com, openliberty.io