Welcome to the tutorials repository for the Personalisation for (Public) Media course. Here you will find all the material for our seminars. This repository will be updated every week, so say tuned (and git pull often)!
Recommender systems are an integral part of our daily media consumption: they compile playlists on Spotify, suggest movies on Netflix, and select news content for personalized social media feeds on platforms like Facebook or Twitter. In the age of information overload, recommender systems provide orientation and assist users in making choices. Through data collection and statistical modeling, the underlying algorithms identify and present content that is considered most "relevant" to users.
However, recommender systems are not objective observers or advisors; they carry specific norms and values that their creators consciously and unconsciously impart during the development and deployment of algorithms. These factors and their social impact are highly context-dependent. For example, recommender systems are often at the center of discussions about political polarization on digital platforms and have been associated with the reinforcement of "tunnel vision" among users by leading them into content funnels that may reduce exposure to diversity.
This course centers on the question: how can recommender systems implement public values (e.g., trust, autonomy, diversity, sustainability)? To approach answers and develop prototypes, you are introduced to
- the concept of recommender systems and their connection to public values,
- value-sensitive design theory and methods (understanding the user, defining metrics, interface design), and
- the development of basic recommender systems for public media (e.g., content-based, collaborative-based, and hybrid filtering).
This course approaches recommender systems from a humanities perspective; students are challenged to critically engage with data-driven technology with an explicit focus on values. It is less "hardcore" technical but decidedly interdisciplinary with a firm grounding in humanities/media studies. The course has three pillars:
- conceptual
- design,
- technical. Within this integrative framework, you will explore the interplay between data, technology, and (public) values.
In the seminar session, we will first discuss how public values connect to recommender systems. You will then need to think about the data you would need to build a recommender system and how that poses opportunities but also risks for different values. We then turn to the basics of building a recommender in Python:
- Non-personalized recommendations (ratings, seeded, confidence, support)
- Implicit ratings
- Running Streamlit
The activities aim to test your knowledge about the readings, get your codebook running, extract features from existing data, and practice with core concepts.
This repository is maintained by Erik Hekman, David Gauthier, and Dennis Nguyen