Instructor: Denis Parra, Profesor Asistente PUC Chile, Ph.D. University of Pittsburgh

Ayudantes:

Institución: Pontificia Universidad Católica de Chile

Lugar: Sala A4, Campus San Joaquín, PUC Chile.

Horario: Martes y Jueves, Módulo 3 (11:30 a 12:50).

Programa IIC 3633, 2do Semestre 2018: pdf.

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.

Software: pyRecLab

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. Puedes aprender los principales algoritmos de filtrado colaborativo y factorización matricial en estos tutoriales (que puedes correr en jupyter notebooks o en linea con Google Colab!)

Video: Introducción a RecSys

En este video pueden revisar mi charla de introducción a los sistemas recomendadores presentada como Keynote en las Jornadas Chilenas de Ciencias de la Computación 2014 ( link a youtube )

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, , nDCG). Veremos métodos basados en contenido y sistemas híbridos.

MES 2 Métodos basados en contexto y Máquinas de factoraizació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, Active/Reinforecement Learning in RecSys, Graph-based methods. Presentaciones de alumnos.

MES 4 Learning to Rank, Deep Learning, Aplicaciones de RecSys. 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

Evaluaciones

Detalles de las evaluaciones en esta presentacion.

Tarea 1 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

Lecturas: Blog y Presentación 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 presentarán una idea de proyecto final, la cual desarrollarán durante Octubre y Noviembre, para hacer una presentación de su proyecto al final del curso (fines de Noviembre.)

Agenda Semestral

Semana 1: Introducción

Clases Semana 1

  • Introducción
  • Ranking no personalizado + Filtrado Colaborativo (User-Based) slides pdf
  • Filtrado Colaborativo (User-Based) con Clustering slides pdf

Lecturas Semana 1

Obligatorias

  • How not to sort by Average Rating, Evan Miller Blog
  • Schafer, J. B., Frankowski, D., Herlocker, J., & Sen, S. (2007). Collaborative filtering recommender systems. In The adaptive web (pp. 291-324). Springer Berlin Heidelberg.

Sugeridas

  • Resnick, P., Iacovou, N., Suchak, M., Bergstrom, P., & Riedl, J. (1994, October). 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.
  • Shardanand, Upendra, and Pattie Maes. “Social information filtering: algorithms for automating “word of mouth”." Proceedings of the SIGCHI conference on Human factors in computing systems. ACM Press/Addison-Wesley Publishing Co., 1995.
  • 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.
  • How hacker news ranking algorithm works, link
  • How reedit ranking algorithm works, link
  • Reddit comment ranking algorithm, link

Semana 2: Filtrado Colaborativo IB, Slope One, Factorización Matricial

Clases Semana 2

Lecturas Semana 2

Obligatorias

  • Koren, Y., Bell, R., & Volinsky, C. (2009). Matrix factorization techniques for recommender systems. Computer IEEE Magazine, 42(8), 30-37.
  • Hu, Y., Koren, Y., & Volinsky, C. (2008, December). Collaborative filtering for implicit feedback datasets. In Data Mining, 2008. ICDM’08. Eighth IEEE International Conference on (pp. 263-272). IEEE.

Sugeridas

  • Lemire, D., & Maclachlan, A. (2005). Slope One Predictors for Online Rating-Based Collaborative Filtering. In SDM (Vol. 5, pp. 1-5).
  • Herlocker, J. L., Konstan, J. A., Borchers, A., & Riedl, J. (1999, August). 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.
  • Schafer, J. B., Frankowski, D., Herlocker, J., & Sen, S. (2007). Collaborative filtering recommender systems. In The adaptive web (pp. 291-324). Springer Berlin Heidelberg.
  • 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.
  • Takács, G., Pilászy, I., Németh, B., & Tikk, D. (2009). Scalable collaborative filtering approaches for large recommender systems. Journal of machine learning research, 10(Mar), 623-656.
  • Sarwar, B., Karypis, G., Konstan, J., & Riedl, J. (2001, April). Item-based collaborative filtering recommendation algorithms. In Proceedings of the 10th international conference on World Wide Web (pp. 285-295). ACM.
  • 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)

Semana 3: Evaluación y Content-Based RecSys I

Lecturas Semana 3

Obligatorias

  • Shani, Guy, and Asela Gunawardana. “Evaluating recommendation systems.” In Recommender systems handbook, pp. 257-297. Springer US, 2011.

Sugeridas Evaluacion

  • 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
  • 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.
  • Shani, Guy, and Asela Gunawardana. “Evaluating recommendation systems.” In Recommender systems handbook, pp. 257-297. Springer US, 2011.
  • The 10 recommender system metrics you should know about, GraphLab Blog
  • Alan Said and Alejandro Bellogín. 2014. Comparative recommender system evaluation: benchmarking recommendation frameworks. In Proceedings of the 8th ACM Conference on Recommender systems (RecSys ’14).

Sugeridas Retroalimentación Implícita

  • 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).
  • Rendle, S., Freudenthaler, C., Gantner, Z., & Schmidt-Thieme, L. (2009, June). BPR: Bayesian personalized ranking from implicit feedback. In Proceedings of the Twenty-Fifth Conference on Uncertainty in Artificial Intelligence (pp. 452-461). AUAI Press.
  • 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.

Semana 4: Recomendación Basada en Contenido II e Híbridos

Clases Semana 4

Lecturas Semana 4

Obligatorias

  • No hay lecturas obligatorias esta semana

Sugeridas

  • Pazzani, M. J., & Billsus, D. (2007). Content-based recommendation systems. In The adaptive web (pp. 325-341). Springer Berlin Heidelberg.
  • 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, October). 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, October). Collaborative filtering for social tagging systems: an experiment with CiteULike. In Proceedings of the third ACM conference on Recommender systems (pp. 237-240). ACM.

Semana 5: Recomendación Basada en Contexto

Clases Semana 5

  • Recomendación Context-Aware slides pdf
    • Presentación de profesor R. Santos en LSRS 2017 Workshop pdf
    • Presentación de artículo “Understanding the Impact of Weather for POI Recommendation” pdf
    • También se recomienda revisar las slides de RecSys 2015 Best Paper

Lecturas Semana 5

Obligatorias

  • Pazzani, M. J., & Billsus, D. (2007). Content-based recommendation systems. In The adaptive web (pp. 325-341). Springer Berlin Heidelberg.

Sugeridas

  • http://www.aaai.org/ojs/index.php/aimagazine/article/view/2364
  • 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

Semana 6: Máquinas de Factorización y BPR

Lecturas Semana 6

Obligatorias Rendle, S. (2010). Factorization machines. In Data Mining (ICDM), 2010 IEEE 10th International Conference on (pp. 995-1000). IEEE.

Sugeridas - Rendle, S. (2012). Factorization machines with libfm. ACM Transactions on Intelligent Systems and Technology (TIST), 3(3), 57.

Semana 7: Propuesta de Proyecto Final

Semana 8: Trabajo en Proyecto

Semanas 9 y 10: Deep Learning

Semana 11: Recomendaciones basadas en grafos

Semana 12: Recomendación Centrada en el Usuario

Semana 13: Aprender a Rankear

Semana 14: Active learning / Reinforcement learning

Semana 15 y 16: Aplicaciones

Proyectos finales
Título trabajo Alumnos Paper Poster

Matrix Factorization–User KNN Ensemble Approach for Automatic Playlist Continuation
Thomas Muñoz
Rodolfo Palma
pdf