Collaborative filtering for canteen food recommendations in NTU
A recommender system aims to provide users with personalised recommendations to handle the increasing online information overload problem. Many recommendation algorithms have been proposed over the years, each with their pros and cons. This project applies the principles and techniques of recom...
Saved in:
Main Author: | |
---|---|
Other Authors: | |
Format: | Final Year Project |
Language: | English |
Published: |
Nanyang Technological University
2021
|
Subjects: | |
Online Access: | https://hdl.handle.net/10356/153422 |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
Institution: | Nanyang Technological University |
Language: | English |
Summary: | A recommender system aims to provide users with personalised recommendations to handle the
increasing online information overload problem. Many recommendation algorithms have been
proposed over the years, each with their pros and cons.
This project applies the principles and techniques of recommender systems to develop a predictive
model for NTU’s canteens and restaurantsrating. It explores different Collaborative Filtering methods,
including using Matrix Factorisation and Deep Learning for Collaborative Filtering. In Collaborative
Filtering recommender system, user’s preferences are expressed as ratings for each item. The system
then finds similar users (user-based) or similar items (item-based) through a similarity matrix to
recommend items to users. Each additional rating by the user extends the knowledge of the system
and affects the system’s recommendation accuracy. In general, the more ratings are elicited from the
users, the more effective the recommendations are. The models were evaluated against 3 benchmark
datasets and SVD++, a type of Matrix Factorisation method, was found to be the best performing
model with a MAP@10 of 0.755 for user-based recommendations, and 0.707 for item-based
recommendations. The model was also proven to perform well with NTU’s own review and search
history dataset, scoring MAP@10 of 0.584 for user-based recommendations and 0.457 for item based
recommendations.
To further improve the accuracy of recommendations, a new model is proposed. Instead of taking top
K similar neighbours, only K neighbours above a certain similarity threshold are selected. The model
was tested with 0.2, 0.4, 0.6 and 0.8 similarity threshold. Evaluation of the new model showed it
performed better at 0.8 threshold with MAP@10 of 0.590 for user-based recommendations and 0.464
for item-based recommendations.
In addition to the recommendation function, the map is changed from a previously paid Google Maps
to a free OpenStreetMap, built using Leaflet. A forum function is also implemented using Django for
users to discuss about the various food options. |
---|