Denna kurs på 6 högskolepoäng ger en omfattande introduktion till rekommendationssystem och behandlar såväl teoretiska grunder som praktiska tillämpningar. Studenterna får fördjupa sig i ett brett spektrum av rekommendationstekniker, från kunskapsbaserade och innehållsbaserade metoder till kollaborativ filtrering, hybridmodeller och kontextmedvetna tillvägagångssätt, tillsammans med centrala ämnen såsom användarmodellering, personalisering, grupprekommendationer, förtroende och systemutvärdering.
Kursen kombinerar föreläsningar med praktiska övningar, vilket ger studenterna praktisk erfarenhet av att bygga och utvärdera rekommendationssystem. Hänsyn till etik, säkerhet och datahantering är integrerad i hela kursen. Vid kursens slut kommer studenterna att ha de kunskaper som krävs för att utforma, implementera och kritiskt utvärdera rekommendationssystem inom en rad olika tillämpningsområden, däribland media, e-handel, hälso- och sjukvård samt jordbruk.
Denna kurs på 6 högskolepoäng (IPM-24ATRSEG) erbjuder en djupgående och omfattande introduktion till rekommendationssystem, som täcker teoretiska grunder, algoritmiska metoder och praktisk implementering. Kursen hålls på engelska vid ELTE:s fakultet för informatik och riktar sig till masterstudenter inom datavetenskap och närliggande utbildningsprogram.
Innehåll och struktur
Kursen pågår under 13 veckor och behandlar följande ämnesföljd:
Vecka 1: Introduktion till rekommendationssystem, kursöversikt; olika typer av rekommendationssystem; tillämpningar i verkligheten; utmaningar
Vecka 2: Grunder, nyttomatris; ”long-tail”-problemet; grunder i datautvinning; Data om interaktion mellan användare och objekt
Vecka 3: Innehållsbaserad filtrering I, objektprofiler; TF-IDF-likhet; modellering av användarpreferenser
Vecka 4: Innehållsbaserad filtrering II, filmrekommendationer med TF-IDF; laboration.
Vecka 5: Samarbetsbaserad filtrering I, minnesbaserad CF; användare-användare- vs. objekt-objekt-metoder; laboration.
Vecka 6: Samarbetsbaserad filtrering II, KNN-baserad likhet mellan objekt; Grannskapsmodeller; Laborationssession.
Vecka 7: Latenta faktormodeller I, Matrisfaktorisering; SVD; NMF; Laborationssession.
Vecka 8: Latenta faktormodeller II, SVD++; Softmax DNN; Djupinlärning för RS; Laborationssession.
Vecka 9: Kunskapsbaserade och begränsningsbaserade rekommendationssystem, uppfyllande av begränsningar; kritisk granskning; laboration.
Vecka 10: Hybrid- och avancerade arkitekturer, hybridmodeller; kontextmedvetna rekommendationssystem; grupprekommendationer; sociala modeller; förtroende för rekommendationssystem.
Vecka 11: Utvärdering av rekommendationssystem, RMSE, MAE, Precision@K, Recall@K, NDCG, täckning; laboration.
Vecka 12: Etik, rättvisa och partiskhet, algoritmisk partiskhet; filterbubblor; informationskokonger; tekniker för att eliminera partiskhet; ansvarsfull AI.
Vecka 13: Framtida trender och projektpresentationer, grafiska neurala nätverk (LightGCN); federerat lärande; synergi mellan LLM och rekommendationssystem; studenternas projektpresentationer
När kursen är avslutad kommer deltagaren att kunna:
Lärandemål 1: Förklara de grundläggande begreppen, arkitekturerna och tillämpningsområdena för rekommendationssystem, inklusive nyttomatrisen, ”long-tail”-problemet och viktiga algoritmfamiljer
Lärandemål 2: Implementera innehållsbaserade filtreringstekniker med hjälp av TF-IDF-likhetsmått och modellering av användarpreferenser i Python
Lärandemål 3: Bygga system för kollaborativ filtrering med hjälp av både minnesbaserade (användare-användare, objekt-objekt) och modellbaserade (KNN, matrisfaktorisering) metoder
LO4: Tillämpa latenta faktormodeller, inklusive SVD, SVD++, NMF och djupinlärningsmetoder, för att upptäcka dolda mönster i data om interaktioner mellan användare och objekt
LO5: Utforma hybrid-, kunskapsbaserade och begränsningsbaserade rekommendationssystem som är anpassade för komplexa tillämpningsscenarier i verkligheten
LO6: Utvärdera rekommendationssystemens prestanda med hjälp av standardmått såsom RMSE, Precision@K, Recall@K och NDCG, samt tolka resultaten kritiskt
LO7: Bedöma etiska utmaningar i rekommendationssystem, inklusive algoritmisk partiskhet, filterbubblor, rättvisa och överväganden kring dataintegritet
LO8: Utveckla ett eget AI-baserat rekommendationssystemprojekt med hjälp av maskininlärning, djupinlärning eller förstärkningsinlärning, som tar itu med ett verkligt problem
LO9: Använda branschstandardverktyg och -metoder, inklusive Python, Jupyter Notebooks och versionshantering via GitHub, för att implementera och dokumentera reproducerbara rekommendationssystem-pipelines
L10: Diskutera nya trender inom området, inklusive grafiska neurala nätverk, federerat lärande och integrationen av stora språkmodeller i rekommendationspipelines
Det finns inga formella förkunskapskrav för denna kurs. Det förväntas dock att studenterna har:
– Grundläggande programmeringserfarenhet, helst i Python (variabler, slingor, funktioner, bibliotek)
– Grundläggande kunskaper i dataanalys, inklusive förtrogenhet med datastrukturer och grundläggande statistiska begrepp (medelvärde, varians, likhetsmått)
– Grundläggande linjär algebra, inklusive vektorer, matriser och matrisoperationer (användbart för att förstå latenta faktormodeller)
Studenterna förväntas dessutom:
– Delta i alla föreläsningar (obligatoriskt) och inte missa fler än fyra praktiska övningar
– Ha ett GitHub-konto och lämna in alla laborationer och projektkoder via kursens repositorium
– Välja ett ämne för ett individuellt forskningsprojekt senast den angivna tidsfristen (vecka 2 under terminen)
Obligatorisk läsning
[1] Ricci, F., Rokach, L., Shapira, B. (red.) Recommender Systems Handbook. Springer, 2:a upplagan, 2015. ISBN: 978-1489976376. DOI: 10.1007/978-1-4899-7637-6
[2] Aggarwal, C. C. Recommender Systems: The Textbook. Springer, 2016. ISBN: 978-3319296579. DOI: 10.1007/978-3-319-29659-3
[3] Koren, Y., Bell, R., Volinsky, C. Matrix Factorization Techniques for Recommender Systems. IEEE Computer, vol. 42, nr 8, s. 30–37, 2009. DOI: 10.1109/MC.2009.263
Läsvärda verk
[1] Jannach, D., Zanker, M., Felfernig, A., Friedrich, G. Recommender Systems: An Introduction. Cambridge University Press, 2010. ISBN: 978-0521493369
[2] Wang, Z., Pu, C., Wang, F. Deep Learning Recommender Systems. Cambridge University Press, 2025. ISBN: 978-1009447508
[3] Leskovec, J., Rajaraman, A., Ullman, J. Mining of Massive Datasets (Kapitel 9: Rekommendationssystem). Cambridge University Press, 3:e upplagan. Tillgänglig som open access på: http://www.mmds.org/
Rekommenderade översiktsartiklar
[1] Zhang, S., Yao, L., Sun, A., Tay, Y. Deep Learning Based Recommender System: A Survey and New Perspectives. ACM Computing Surveys, vol. 52, nr 1, artikel 5, 2019. DOI: 10.1145/3285029
[2] Gao, C., Zheng, Y., Li, N., Li, Y., Qin, Y., Peng, J., Han, S., Chen, J., Ma, D., Jin, D., Li, Y. En översikt över grafiska neurala nätverk för rekommendationssystem: Utmaningar, metoder och riktlinjer. ACM Transactions on Recommender Systems, vol. 1, nr 1, artikel 1, januari 2023. DOI: 10.1145/3568022
[3] Zhang, Y., Chen, X. Förklarbara rekommendationer: En översikt och nya perspektiv. Foundations and Trends in Information Retrieval, vol. 14, nr 1, s. 1–101, 2020. DOI: 10.1561/1500000066
[4] Wu, L., Zheng, Z., Qiu, Z., Wang, H., Gu, H., Shen, T., Qin, C., Zhu, C., Zhu, H., Liu, Q., Xiong, H., Chen, E.
En översikt över stora språkmodeller för rekommendationer.
arXiv-preprint, 2023, senast reviderad juni 2024.
Kursarkiv (laborationsanteckningar, datamängder, projektmallar)
Kursen kombinerar veckovisa föreläsningar med praktiska laborationer, där studenterna implementerar algoritmer för rekommendationssystem i Python med hjälp av Jupyter Notebooks och Google Colab. Allt material till laborationerna finns tillgängligt via kursens GitHub-repository.
Under hela terminen ägnar sig studenterna åt självständigt läsande av utvalda forskningsartiklar och bokkapitel, vilket bidrar till att utveckla deras kritiska tänkande och förtrogenhet med den senaste forskningen. Detta ingår som en direkt del av den avslutande muntliga tentamen, där teoretiska kunskaper kombineras med en diskussion om studentens eget arbete.
Den huvudsakliga praktiska delen består av ett individuellt forskningsprojekt, där varje student utformar och implementerar ett originellt AI-baserat rekommendationssystem som löser ett verkligt problem, vilket presenteras formellt i slutet av terminen.
Studieutdrag