PUC-RecSys-Class / RecSysPUC-2020

Material del curso de Sistemas Recomendadores IIC3633 PUC Chile
MIT License
72 stars 16 forks source link

IIC3633 Sistemas Recomendadores

Agosto-Diciembre 2020

Equipo Docente e Información Administrativa

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

Ayudantes:
Vladimir Araujo, Alumno de Doctorado en Ciencia de la Computación PUC Chile.
Manuel Cartagena, Alumno de Magister en Ciencia de la Computación PUC Chile.
Andrés Carvallo, Alumno de Doctorado en Ciencia de la Computación PUC Chile.
Francisca Cattan, Alumna de Doctorado en Ciencia de la Computación PUC Chile.
Andrés Villa, Alumno de Doctorado en Ciencia de la Computación PUC Chile.

Institución: Pontificia Universidad Católica de Chile

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

Programa IIC 3633, 2do Semestre 2020: pdf.

Descripción del Curso

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 (ex-alumno de este curso), biblioteca de software para desarrollo de sistemas recomendadores en Python.

Contenido:

Contenidos por Semana

Semana Tema link slide(s) link video comentario(s)
1 Introducción x video
1 Ranking no personalizado y Filtrado colaborativo (FC) slides video
1 User-based FC con clustering slides video
1 Pendiente Uno slides video
2 Item-based FC slides video
2 Factorización Matricial: FunkSVD slides video
3 Implicit Feedback CF slides video1 video2
3 Bayesian Personalized Ranking (BPR) slides video
4 Evaluación: metricas de error y ranking slides video slides P Castells LARS 2019
4 Evaluación II: Cobertura, diversidad, novedad slides video
4 Evaluación III: Tests estadísticos slides video
5 Recomendación basada en contenido 1 slides video
5 Recomendación basada en contenido 2 slides video
6 Recomendación híbrida slides video
6 Recomendación por ensambles slides video
6 Recomendación basada en contexto slides video1 video2
6 Máquinas de Factorización slides video
7 Semana Break Break Break
8 Ideas de Proyecto slides video1 video2
9 Evaluación centrada en usuarios slides video1 video2
9 Sistemas Justos, Explicables y Transparentes slides video
10 Aprendizaje Activo (Active Learning) slides video
10 Bandits: Invitada PhD(c) Andrea Barraza slides video1 video2 Tutorial eng. RecSys 2020 video slides
11 Aprendizaje Profundo para RecSys (Intro y FC) slides video
11 Aprendizaje Profundo para RecSys (Secuencias) slides video
12 Aprendizaje Profundo para RecSys (Imágenes, Transformer, Grafos) slides video1 video2
12 10 problemas en Sistemas de Recomendación slides video

Parte II del curso: seminario

A partir de noviembre el curso toma modalidad seminario, los alumnos hacen presentaciones de los siguientes papers:

Semana Tema link slide(s) link video conferencia
13 CTRec: A Long-Short Demands Evolution Model for Continuous-Time Recommendation slides video SIGIR 2019
13 Collaborative Similarity Embedding for Recommender Systems slides video WWW 2019
13 Personalized re-ranking for recommendation slides video RecSys 2019
13 Recommending what video to watch next: a multitask ranking system slides video RecSys 2019
13 Interactive Recommender System via Knowledge Graph-enhanced Reinforcement Learning slides video SIGIR 2020
13 The Impact of More Transparent Interfaces on Behavior in Personalized Recommendation slides video SIGIR 2020
14 Complete the Look: Scene-based Complementary Product Recommendation slides video CVPR 2019
14 Dynamic Online Conversation Recommendation slides video ACL 2020
14 Temporal-Contextual Recommendation in Real-Time slides video KDD 2020
14 What does BERT Know about Books, Movies and Music? Probing BERT for Conversational Recommendation slides video RecSys 2020
14 Fairness-Aware Explainable Recommendation over Knowledge Graphs slides video SIGIR 2020
15 Deep generative ranking for personalized recommendation slides video RecSys 2019
15 Revisiting Adversarially Learned Injection Attacks Against Recommender Systems slides video RecSys 2020
15 Neural Interactive Collaborative Filtering slides video SIGIR 2020
15 Explanation Mining: Post Hoc Interpretability of Latent Factor Models for Recommendation Systems slides video KDD 2018
15 Towards Conversational Recommendation over Multi-Type Dialogs slides video ACL 2020
15 Self-Supervised Reinforcement Learning for Recommender Systems slides video SIGIR 2020
16 Controlling Fairness and Bias in Dynamic Learning-to-Rank slides video SIGIR 2020
16 Are we really making much progress? A worrying analysis of recent neural recommendation approaches slides video RecSys 2019
16 KRED: Knowledge-aware Document Representation for News Recommendations slides video RecSys 2020
16 Improving Relevance Prediction with Transfer Learning in Large-scale Retrieval Systems slides video Workshop ICML 2019
16 BERT4Rec: Sequential Recommendation with Bidirectional Encoder Representations from Transformer slides video CIKM 2019

Proyectos finales

L@s estudiantes trabajaron en grupo sobre proyectos finales de curso, produciendo un poster, paper y repositorio con código para cada uno:

Imagen de la sesión de posters en gather.town del 15 de diciembre de 2020. iic3633-2020-2-posters

Grupo Proyecto Poster Paper
1 Recomendación a conjuntos de usuarios en grupos heterogeneos
Cartagena, Huerfano, Toscano
poster paper
2 Personality bias in music recommendation:Beyond accuracy Objectives
Valencia, Gonzalez
poster paper
3 Attack learning: a method using GANs
Castro, Casassus
poster paper
4 Metrica Beyond Accuracy: Personal
Labarca, Fuentes
poster paper
5 Sequential Recommenders for MeLiDataChallenge 2020
Aguilera, Everke
poster paper
6 Exploración de recomendadores híbridos para música
Suarez, Carreño, Alipanah
poster paper
7 Impacto del Sesgo de Popularidad en el tiempo, considerando multiples stakeholders
Guiñez, Ruiz, Sanchez
poster paper
8 Recomendación de items basada en la secuencia de compras: Aplicación DotA
Salinas
poster paper
9 Delay and preference based flight recommendation
Waugh, Hanuch, Ricke
poster paper
10 Changing the way we predict game purchases
Duarte, Lopez, Rodriguez
poster paper
11 MelAE: A content-based next track recommendation from Mel Sprectrograms
Diaz, Vinay
poster paper
12 Optimizing Hyper-parameters un RecSys using rolling averages
Alliende
poster paper
13 Ramos Perez on MeliChallenge 2020
Perez, Ramos
poster paper
14 RL Algorithms for video game recsys
Tapia, Villagrán
poster paper
15 Matrix factorizacion and content-based recsysy for playlist continuation
Biskupovic
poster paper
16 Topic Recommendation for Call Centers
Andrade, Dominguez, Patillo
poster paper
17 Recomendacion a grupos: metrica de similaridad y modelos de agrupacion
Olguin, Ibarra
poster paper
18 Recommendation of COVID-19 articles using Deep Knowledge-Aware Network
Donoso-Guzmán
poster paper
19 RecGAN as anime recommender systems
Codoceo, Escudero, Torres
poster paper
20 Sistema Recomendador de Lecciones Aprendidas en Cursos Capstone
Contreras, Molina, Stambuk
poster paper
21 Finding Similar Users with Recommender Systems
Ovalle, Valdes
poster paper

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. Revisaremos problemas de recomendación aún no resueltos en el área.

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

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 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. Para tener una idea de qué se trata la tarea, pueden revisar el enunciado de la tarea del año 2019

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+1. Ejemplo: Las lecturas de la semana 1 (del 10 al 14 de agosto) se entregan a más tardar el lunes 17 de agosto de 2020 a las 8pm.

Cada alumno tendrá un repositorio en github (debe indicarlo en este formulario) donde escribirá en markdown sus comentarios respecto de los papers indicados como obligatorios. No es necesario hacer un resumen largo del paper, sino indicar un resumen corto, 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 en una sesión de posters.

Planificación general (sujeta a actualización)

(actualizada el 8 de octubre de 2020)

Planificacion RecSys 2020

Lecturas por Semana

Semana 1:

Obligatorias

Sugeridas

Semana 2:

Obligatorias

Sugeridas

Semana 3:

Obligatorias

Sugeridas

Semana 4:

Obligatorias

Sugeridas

Semana 5:

*Obligatorias (esta semana se puede elegir una de las dos para entregar)**

Sugeridas

*No olvidar declarar en la crítica el título elegido.

Semanas 6 y 7:

Libre de lecturas (fiestas patrias)

Semana 8 :

Obligatorias con entrega lunes 5 de octubre

Obligatoria con entrega miércoles 7 de octubre

Semana 9 :

Obligatorias

Sugeridas

Semana 10 :

Obligatorias

Sugeridas

Semana 11 :

Obligatorias

Sugeridas