-
Apresentação
Apresentação
Esta unidade curricular fornece os fundamentos para o desenho e implementação de sistemas de recomendação (SR). Os/as estudantes aprendem algoritmos fundamentais, incluindo filtragem colaborativa e recomendação baseada em conteúdo, bem como abordagens modernas: factorização de matrizes, métodos probabilísticos, aprendizagem profunda e abordagens baseadas em redes e grafos. O módulo inclui três sessões de journal club em que os/as estudantes discutem artigos de investigação recentes. A unidade tem uma abordagem teórico-prática, incluindo implementação de SR em Python com dados reais. No final, os/as estudantes terão uma compreensão sólida do estado da arte em SR e serão capazes de aplicar estas técnicas em cenários do mundo real.
-
Disciplina do curso
Disciplina do curso
-
Grau | Semestres | ECTS
Grau | Semestres | ECTS
Mestre | Semestral | 7
-
Ano | Natureza | Lingua
Ano | Natureza | Lingua
2 | Opcional | Português
-
Código
Código
ULHT457-1-26428
-
Pré-requisitos e co-requisitos
Pré-requisitos e co-requisitos
Não aplicável
-
Estágio Profissional
Estágio Profissional
Não
-
Conteúdos Programáticos
Conteúdos Programáticos
CP1. Introdução aos Sistemas de Recomendação CP2. Fundamentos de Filtragem Colaborativa (tutoriais práticos) CP3. Factorização de Matrizes CP4. Extensões Probabilísticas CP5. Métricas de Avaliação (precisão e além da precisão) CP6. Aprendizagem Profunda: Neural Collaborative Filtering CP7. Abordagens baseadas em Redes e Grafos CP8. Sessões de Journal Club sobre literatura científica recente CP9. Ética, Privacidade e Implicações Sociais
-
Objetivos
Objetivos
OA1. Compreender os fundamentos e aplicações dos sistemas de recomendação, incluindo os principais desafios. OA2. Conhecer, comparar e aplicar diferentes algoritmos de recomendação: filtragem colaborativa, baseada em conteúdo, híbrida e factorização de matrizes. OA3. Explicar e aplicar extensões probabilísticas e compreender a sua relevância para lidar com dados escassos e incerteza. OA4. Avaliar sistemas de recomendação com diferentes métricas (precisão, cobertura, diversidade, novidade) e interpretar os resultados. OA5. Implementar sistemas de recomendação em Python, escolhendo métodos adequados e ajustando parâmetros para obter bom desempenho. OA6. Reconhecer as implicações éticas, sociais e de privacidade dos sistemas de recomendação, discutindo o seu impacto económico e social.
-
Metodologias de ensino
Metodologias de ensino
As aulas são presenciais e combinam exposição teórica com sessões práticas em laboratório. A participação ativa é incentivada, tanto em exercícios de análise de problemas e programação como em debates críticos através de journal clubs. A articulação entre teoria e prática é avaliada de forma contínua, promovendo autonomia e pensamento crítico. Os estudantes aprendem a usar ferramentas de IA com responsabilidade, e a dinâmica da unidade curricular privilegia o diálogo em vez da exposição unidirecional.
-
Bibliografia principal
Bibliografia principal
Falk, K. (2019). Practical recommender systems. Simon and Schuster. Recommender Systems Handbook by Ricci, F., Rokach, L., & Shapira, B. (2015) Introduction to Recommender Systems by Aggarwal, C. C. (2016)
-
Avaliação
Avaliação
Descrição dos instrumentos de avaliação (individuais e de grupo) ¿ testes, trabalhos práticos, relatórios, projetos... respetivas datas de entrega/apresentação... e ponderação na nota final.
Exemplo:
Descrição
Data limite
Ponderação
Journal club I
semana 4
20%
Journal club II
semana 8
20%
Journal club III
semana 12
20%
Exame semana 15 40% Nota. O trabalho em pelo menos um dos journal clubs inclui a submissão de elementos práticos (implementação Python) através de projeto com especificações definidas em enunciado suplementar.
-
Mobilidade
Mobilidade
Não





