| Nombre del curso: | Sistemas de Recomendación |
| Course Name: | Recommender Systems |
| Créditos: | 4 |
| Profesores: | Valentina Grajales Olarte |
Descripción
En general, los sistemas de recomendación ayudan a un usuario a evaluar la pertinencia que un ítem (i.e página web, libro, película, alerta) tiene para un usuario basado en su contexto para personalizar su experiencia utilizando un sistema. Los sistemas de información son útiles ya que calculan esta relevancia automáticamente, lo que permite a sus usuarios evaluar una gran cantidad de opciones que no podrían evaluar de otra forma, bien sea por falta de experiencia individual del usuario o por la abrumadora cantidad de ítems presentes en el sistema.
El contexto utilizado para calcular la pertinencia de los ítems puede estar dado por los patrones de comportamiento de un individuo o de una comunidad. Para que una recomendación sea adecuada, debe ser entregada de forma oportuna y pertinente. De lo contrario, puede convertirse rápidamente en spam. Es clave determinar entonces qué se recomienda, a quién, cuándo y cómo.
Objetivos
El curso busca generar habilidades de análisis de información y de diseño de sistemas de recomendación en diferentes escenarios. De esta forma, se espera desarrollar y reforzar las siguientes competencias:
- Analizar estrategias de diseño de sistemas de recomendación basadas en fuentes de datos personales, web y empresariales.
- Identificar las estrategias de recomendación adecuadas según el apoyo que se le quiere brindar al usuario y la información de contexto disponible.
- Identificar nuevos servicios de recomendación que apoyen decisiones de usuarios en sistemas existentes.
- Comprender e incorporar en el diseño de soluciones elementos de computación no intrusiva (pervasive), desarrollar y evaluar dichas soluciones.
- Analizar streams de datos (offline, online y en tiempo real) que permitan generar modelos de recomendación de información pertinente.
- Elaborar soluciones que permitan validar modelos de recomendación con respecto a su pertinencia, teniendo en cuenta niveles semánticos de recomendación aplicando una metodología para el desarrollo de sistemas de análisis de datos.
Plan de temas
El curso se diseña en dos módulos, cada uno correspondiente a medio semestre académico.
- Módulo 1 – Recomendación – Técnicas y aplicaciones: aborda las actividades de los usuarios, los principales modelos de recomendación, su evaluación y la metodología para desarrollar estos sistemas, junto con frameworks y casos de estudio.
- Módulo 2 – Nuevos retos en sistemas de recomendación: comprende modelos sensibles al contexto, modelos multidimensionales, recomendaciones en tiempo real y enfoques basados en embeddings, modelos generativos, grafos y aprendizaje por refuerzo. También aborda vulnerabilidades, ética, privacidad, explicabilidad y gobernanza.
Metodología
El curso combina actividades teóricas y prácticas, de manera que los temas de los dos módulos sean complementarios y puedan integrarse en soluciones que apoyen el desarrollo estratégico de las organizaciones. Las actividades prácticas se realizan mediante talleres y laboratorios. También se desarrollan actividades de exploración bibliográfica, presentaciones, discusiones en clase y revisión del estado del arte tecnológico y de investigación. La integración de los módulos se realiza mediante el uso incremental de herramientas, metodologías y tecnologías.
Conocimientos Previos
Para el adecuado desempeño en el curso se recomienda tener conocimientos básicos sobre sistema operativo Unix, ambientes de desarrollo de software propios a los temas abordados en el curso, frameworks de recomendación tal como Mahout, scikit-learn, SparkML, Surprise, SpaCy, entre otros.