A graduate project course on advanced techniques to automatically interpret large amounts of structured, semi-structured, and unstructured data, infer some useful knowledge from it, and present this knowledge to users in a convenient form.
We are overloaded with information. Trying to choose a restaurant? a resort? a consumer product? In these and similar situations, there is generally much more information available than is possible to cope with. Recommendation systems help users overcome the information overload problem by discovering and interpreting the infomation that best fulfills their needs. How exactly this can be done is a complex problem that requires a multidisciplinary approach that includes data engineering and data mining, software engineering, user modeling, and user experience design.
This course will help you learn about recommendation systems through a project-based approach that will follow a software development process based on current open-source practices. The entire course is structured around the development of a single recommendation system for consumer products using a large, real-life database made available by a non-profit organization.
This course is intended to provide you with knowledge and experience in three different areas:
Prerequisites: To take this course, you will need (a) software development knowledge equivalent to the topics covered in COMP 303; (b) a basic knowledge of data mining concepts; (c) to be comfortable with the use of open-source tools and programming technologies.
All required resources are freely available on-line if you access these links from the McGill domain.
The course work will consist of (a) contributing to the project, including designing and conducting evaluative experiments; (b) reading and studying complementary background documents, including research papers, and doing one or more class presentation(s) on your readings; (c) reporting on the project both in written and oral form.
All students will work on a single project (or two competing projects, depending on the size of the class). However, all evaluations will be based on individual deliverables. The final grade will be based on:
The detailed course schedule and associated readings can be found on the mycourses pages. Classes for the week of the 17 February will be replaced by individual progress meetings.
|7 Jan||Introduction to Recommendation Systems; Types of Recommendation Systems|
|14 Jan||Data Exploration, Visualization, and Mining|
|21 Jan||Collaborative Recommendation|
|28 Jan||Content-Based Recommendation|
|4 Feb||Knowledge-Based Recommendation|
|18 Feb||No class - Progress Meetings|
|25 Feb||User Profiles and Personalization|
|4 Mar||No class - Study Break|
|11 Mar||Evaluating Recommender Systems|
|18 Mar||Information Recommenders|
|25 Mar||Trust and Privacy|
|1 Apr||Threats and Limitations|
|8 Apr||Final presentations|