Machine Learning for Web Personalization
This course aims at presenting relevant methodologies for web personalization based on Machine learning (ML) algorithms.
Most of the web sites and services today are still designed one-size-fits-all, that is, all users see the exact same content regardless of interests, past interactions or current user context and environment. Instead, the interaction with online sources should be dynamic and personalized, adapting to visitors’ preferences and interests. The course presents fundamental methodologies to implement personalization across online services.
Since personalization is often viewed as a two-step process of first modelling users, and then improving the human-computer interaction given the model, the course covers both tasks.
The course frames the model-based personalization as a ML task where the goal is to predict the more likely interactions with the online services (e.g., buy a book, read a news page) given the users’ previous behaviour.
As such, the course overviews principal methodologies for representing specific and relevant attributes related to the current user needs and preferences, and to make use of ML models to build adaptive web services.
Datasets and open source libraries based on ML technologies will be provided to discuss popular case studies of personalization, including movies and music recommendation. Students are also expected to identify/design/implement their own projects (with a guidance of the instructors), where they will get in-depth understanding of the personalized ML algorithms.
- Brief introduction to Machine learning
- User modelling for Human-Cantered Algorithmic Personalization on the Web
- Overview of principal Content-based and Collaborative Filtering approaches
- Machine learning in Recommender systems
- Machine learning on very large datasets: case studies with ad-hoc software libraries (e.g. TensorFlow)
Primary source material will be readings in the form of research papers and material provided by the instructor.
This course contains programming assignments which will be in Java and Python using open source frameworks.