El curso de Sistemas Recomendadores cubre las principales tareas de recomendación, algoritmos, fuentes de datos y evaluación de estos sistemas. Al final de este curso serás capaz de decidir qué técnicas y fuentes de datos usar para implementar y evaluar sistemas recomendadores.
La componente práctica de este curso se enseña a través del uso de pyRecLab desarrollado por Gabriel Sepúlveda, biblioteca de software para desarrollo de sistemas recomendadores en Python.
Contenido
MES 1 En las primeras semanas nos enfocaremos en métodos básicos para hacer recomendación usando y prediciendo ratings (filtrado colaborativo User-based & item-based, slope-one). Luego veremos métodos de factorización matricial para ratings y para feedback implícito. En la 3ra semana veremos formas adicionales de evaluar más alla de la métricas de error de predicción de rating (MAE, MSE, RMSE) e incorporaremos métricas para evaluar listas de ítems (precision, recall, MAP, P@n, nDCG). Veremos métodos basados en contenido y sistemas híbridos.
MES 2 Métodos basados en contexto, máquinas de factorización y modelos fundamentales de deep learning para recomendación. Recapitulación de las tareas de recomendacion (predecir rating, predecir una lista de items, recomendar una secuencia, recomendación TopN) y de su evaluacion considerando diversidad, novedad, coverage, y otras métricas.
MES 3 User-centric RecSys, FAT (Fairness, Accountability and Transparency), Aplicaciones de Deep learning para problemas más específicos: recomendación de ropa, multimedia, etc. Modelos profundos generativos para recomendación.
MES 4 Principalmente presentaciones de alumnos.
Código de Honor
Este curso adscribe el Código de Honor establecido por la Escuela de Ingeniería el que es vinculante. Todo trabajo evaluado en este curso debe ser propio. En caso de que exista colaboración permitida con otros estudiantes, el trabajo deberá referenciar y atribuir correctamente dicha contribución a quien corresponda. Como estudiante es su deber conocer la versión en línea del Código de Honor
El enunciado de la tarea 1 ya fue publicado, el deadline es el 6 de septiembre. El enunciado en PDF se puede revisar en este link
Al final de las primeras 4 semanas, las(los) estudiantes implementarán mecanismos de recomendación para predecir ratings y para rankear items en un dataset que se entregará durante clases. Usarán la biblioteca pyreclab para los métodos básicos, pero si quieren optar a la nota máxima debe hacer un sistema híbrido o contextual que utilice información de contenido, como texto o imágenes.
Lecturas: Blog y Presentación
Fecha de revisión de blogs: El post de la semana x, tiene fecha de entrega el lunes a las 12pm de la semana x+2. Ejemplo: Las lecturas de la semana 1 se entregan a más tardar el lunes 19 de agosto de 2019 a las 12pm.
Cada Alumno tendrá un blog donde escribirá sus comentarios respecto de los papers indicados como obligatorios. No es necesario hacer un resumen del paper, sino indicar puntos que pueden abrir discusión, mejoras o controversias: Evaluación inadecuada, parámetros importantes no considerados, potenciales mejoras de los algoritmos, fuentes de datos que podían mejorar los resultados, etc.
Adicionalmente, cada alumno presentará al menos una vez durante el semestre un paper sobre un tópico, con el objetivo de abrir una discusión sobre el tema durante la clase.
Proyecto Final Durante Septiembre, las(los) estudiantes enviarán una idea de proyecto final, la cual desarrollarán durante Octubre y Noviembre. Enviarán un informe de avance a fines de octubre, para hacer una presentación de su proyecto al final del curso (fines de Noviembre.)
Agenda Semestral
Semana 1: Introducción
Clases Semana 1
Filtrado colaborativo es la técnica de recomendación más popular, se inventó en XEROX PARC a comienzos de los años 90 y se implementó en el sistema para filtro de correo electrónico Tapestry
Introducción
Ranking no personalizado + Filtrado Colaborativo (User-Based)slides, pdf
Filtrado Colaborativo (User-Based) con Clustering slides, pdf
Schafer, J. B., Frankowski, D., Herlocker, J., & Sen, S. (2007). Collaborative filtering recommender systems. In The adaptive web (pp. 291-324). Springer Berlin Heidelberg.
Lemire, D., & Maclachlan, A. (2005). Slope One Predictors for Online Rating-Based Collaborative Filtering. In SDM (Vol. 5, pp. 1-5).
La técnica de factorización matricial regularizada para filtrado colaborativo fue una de las principales usadas en el ensemble que permitió ganar el Netflix Prize. La primera implementación fue publicada en un blog post por Simon Funk, por eso se le conoce como FunkSVD.
El siguiente paper es opcional, pero permite entender cómo se deriva \(x_u = (Y^T C^u Y + \lambda I)^{-1}Y^T C^u p(u)\) e \(y_i = (X^T C^i X + \lambda I)^{-1}X^T C^i p(i)\) del paper de Hu et al.: Takács, G., Pilászy, I., & Tikk, D. (2011). Applications of the conjugate gradient method for implicit feedback collaborative filtering. In Proceedings of the fifth ACM conference on Recommender systems (pp. 297-300). ACM.
La técnica de aprendizaje BPR (Bayesian Personalized Ranking) permite mejorar el aprendizaje de vectores latente de usuarios e items al modificar la idea de aprender directamente a partir de interacciones usuario-\(item_i\)\((u,i)\) por la noción de aprender de tuplas usuario-\(item_i\)-\(item_j\), donde el usuario prefiere un item consumido \(i\) por sobre un item no consumido \(j\), \((u,i,j)\).
Cremonesi, P., Koren, Y., & Turrin, R. (2010, September). Performance of recommender algorithms on top-n recommendation tasks. In Proceedings of the fourth ACM conference on Recommender systems (pp. 39-46). ACM.
Guy, S., & Gunawardana, A.. (2011) “Evaluating recommendation systems.” In Recommender systems handbook, pp. 257-297. Springer US, 2011.
Herlocker, J. L., Konstan, J. A., Terveen, L. G., & Riedl, J. T. (2004). Evaluating collaborative filtering recommender systems. ACM Transactions on Information Systems (TOIS), 22(1), 5-53.
La recomendación basada en contenido permite aliviar en parte el problema cold-start. Items nuevos en un dataset pueden ser recomendados incluso si no han sido consumidos aún, ya que su contenido puede parecerse a items ya consumidos.
Pazzani, M. J., & Billsus, D. (2007). Content-based recommendation systems. In The adaptive web (pp. 325-341). Springer Berlin Heidelberg. Xu, W., Liu, X., & Gong, Y. (2003).
Document clustering based on non-negative matrix factorization. In Proceedings of the 26th annual international ACM SIGIR conference on Research and development in informaion retrieval (pp. 267-273). ACM.
Messina, P., Dominguez, V., Parra, D., Trattner, C., & Soto, A. (2019). Content-based artwork recommendation: integrating painting metadata with neural and manually-engineered visual features. User Modeling and User-Adapted Interaction, 29(2), 251-290.
Semana 5: Recomendación Híbrida y Basada en Contexto
Las técnicas híbridas de recomendación permiten combinar técnicas diferentes, ayudando a mejorar las predicciones pues permiten disminuir las debilidades de cada técnica por separado, como el cold-start del filtrado colaborativo o la especialización incremental de las técnicas basadas en contenido.
Rendle, S., Freudenthaler, C., Gantner, Z., & Schmidt-Thieme, L. (2009). BPR: Bayesian personalized ranking from implicit feedback. In Proceedings of the Twenty-Fifth Conference on Uncertainty in Artificial Intelligence (pp. 452-461). AUAI Press.
Covington, P., Adams, J., & Sargin, E. (2016). Deep neural networks for youtube recommendations. In Proceedings of the 10th ACM conference on recommender systems (pp. 191-198). ACM.
Brodén, B., Hammar, M., Nilsson, B. J., & Paraschakis, D. (2018). Ensemble recommendations via Thompson sampling: an experimental study within e-Commerce. In 23rd International Conference on Intelligent User Interfaces (pp. 19-29). ACM.
Semana 8: Trabajo en Propuesta de Proyecto Final
Ayudantes estarán en clases presentando ejemplos de proyectos de años anteriores.
Ayudantes presentarán datasets que se podrían usar para proyectos de final de curso.
Dominguez, V., Messina, P., Donoso-Guzmán, I., & Parra, D. (2019). The effect of explanations and algorithmic accuracy on visual recommender systems of artistic images. In Proceedings of the 24th International Conference on Intelligent User Interfaces (pp. 408-416). ACM.
Resnick, P., Iacovou, N., Suchak, M., Bergstrom, P., & Riedl, J. (1994). GroupLens: an open architecture for collaborative filtering of netnews. In Proceedings of the 1994 ACM conference on Computer supported cooperative work (pp. 175-186). ACM.
Goldberg, D., Nichols, D., Oki, B. M., & Terry, D. (1992). Using collaborative filtering to weave an information tapestry. Communications of the ACM, 35(12), 61-70.
Herlocker, J. L., Konstan, J. A., Borchers, A., & Riedl, J. (1999). An algorithmic framework for performing collaborative filtering. In Proceedings of the 22nd annual international ACM SIGIR conference on Research and development in information retrieval (pp. 230-237).
Linden, G., Smith, B., & York, J. (2003). Amazon.com recommendations: Item-to-item collaborative filtering. Internet Computing, IEEE, 7(1), 76-80.
Wang, J., De Vries, A. P., & Reinders, M. J. (2006, August). Unifying user-based and item-based collaborative filtering approaches by similarity fusion. In Proceedings of the 29th annual international ACM SIGIR conference on Research and development in information retrieval (pp. 501-508). ACM.
Sarwar, B., Karypis, G., Konstan, J., & Riedl, J. (2001). Item-based collaborative filtering recommendation algorithms. In Proceedings of the 10th international conference on World Wide Web (pp. 285-295). ACM.
Sugeridas Semana 2
Koren, Y., Bell, R., & Volinsky, C. (2009). Matrix factorization techniques for recommender systems. Computer IEEE Magazine, 42(8), 30-37.
Sarwar, B., Karypis, G., Konstan, J., & Riedl, J. (2000). Application of dimensionality reduction in recommender system-a case study (No. TR-00-043). Minnesota Univ Minneapolis Dept of Computer Science.
Sarwar, B., Karypis, G., Konstan, J., & Riedl, J. (2002). Incremental singular value decomposition algorithms for highly scalable recommender systems. In Fifth International Conference on Computer and Information Science (pp. 27-28)
Oard, D. W., & Kim, J. (1998, July). Implicit feedback for recommender systems. In Proceedings of the AAAI workshop on recommender systems (pp. 81-83).
Baltrunas, L., & Amatriain, X. (2009, October). Towards time-dependant recommendation based on implicit feedback. In Workshop on context-aware recommender systems (CARS’09).
Parra, D., Karatzoglou, A., Amatriain, X., & Yavuz, I. (2011). Implicit feedback recommendation via implicit-to-explicit ordinal logistic regression mapping. Proceedings of the CARS-2011.
Hidasi, B., & Tikk, D. (2012). Fast ALS-based tensor factorization for context-aware recommendation from implicit feedback. In Machine Learning and Knowledge Discovery in Databases (pp. 67-82). Springer Berlin Heidelberg.
Sugeridas Semana 3
Parra, D., & Sahebi, S. (2013). Recommender systems: Sources of knowledge and evaluation metrics. In Advanced Techniques in Web Intelligence-2 (pp. 149-175). Springer Berlin Heidelberg. pre-print pdf
The 10 recommender system metrics you should know about, GraphLab Blog
Said, A. & Bellogín, A. (2014) Comparative recommender system evaluation: benchmarking recommendation frameworks. In Proceedings of the 8th ACM Conference on Recommender systems (RecSys ’14).
Sugeridas Semana 4
Robin Burke. 2002. Hybrid Recommender Systems: Survey and Experiments. User Modeling and User-Adapted Interaction 12, 4 (November 2002), 331-370. DOI=10.1023/A:1021240730564 http://dx.doi.org/10.1023/A:1021240730564
Balabanović, M., & Shoham, Y. (1997). Fab: content-based, collaborative recommendation. Communications of the ACM, 40(3), 66-72.
Lops, P., De Gemmis, M., & Semeraro, G. (2011). Content-based recommender systems: State of the art and trends. In Recommender systems handbook (pp. 73-105). Springer US.
De Gemmis, M., Lops, P., Semeraro, G., & Basile, P. (2008). Integrating tags in a semantic content-based recommender. In Proceedings of the 2008 ACM conference on Recommender systems (pp. 163-170). ACM.
Parra, D., & Brusilovsky, P. (2009). Collaborative filtering for social tagging systems: an experiment with CiteULike. In Proceedings of the third ACM conference on Recommender systems (pp. 237-240). ACM.
Karatzoglou, A., Amatriain, X., Baltrunas, L., & Oliver, N. (2010, September). Multiverse recommendation: n-dimensional tensor factorization for context-aware collaborative filtering. In Proceedings of the fourth ACM conference on Recommender systems (pp. 79-86). ACM.
Shi, Y., Karatzoglou, A., Baltrunas, L., Larson, M., Hanjalic, A., & Oliver, N. (2012, August). TFMAP: Optimizing MAP for top-n context-aware recommendation. In Proceedings of the 35th international ACM SIGIR conference on Research and development in information retrieval (pp. 155-164). ACM.
Augusto Q. Macedo, Leandro B. Marinho, and Rodrygo L.T. Santos. 2015. Context-Aware Event Recommendation in Event-based Social Networks. In Proceedings of the 9th ACM Conference on Recommender Systems (RecSys ’15). ACM, New York, NY, USA, 123-130. DOI=http://dx.doi.org/10.1145/2792838.2800187
Sugeridas Semana 6
Li, L., Chu, W., Langford, J., & Schapire, R. E. (2010). A contextual-bandit approach to personalized news article recommendation. In Proceedings of the 19th international conference on World wide web (pp. 661-670). ACM.
Christakopoulou, K., & Banerjee, A. (2018, May). Learning to interact with users: A collaborative-bandit approach. In Proceedings of the 2018 SIAM International Conference on Data Mining (pp. 612-620). Society for Industrial and Applied Mathematics.