COMP3607 Recommender Systems
You are required to submit a single piece of coursework for the Recommender System
module which is worth 100% of your final module mark.
The task is for you to design and develop a hybrid recommender system using the Yelp
dataset. Yelp.com provides user reviews (ratings, text feedback, etc.) of different businesses
and services in a specific location. You are to:
I. Select a business/service category (e.g. bars, health, accountants, landscapers, etc.)
as an application domain for which you will design and develop an RS – you can select
one, or several related services. Note: the number of services you include will not
influence your mark.
II. Define the time-span for your data – you do not need to use the whole Yelp dataset,
you can use a sample, determined by your time-span and business category/type.
III. Take into account Covid-19 data in generating recommendations (also available in
Your coursework should meet the following 4 categories of requirements:
1. System design and development
Programming language and testing environment:
– Python 3.8.3
– available packages are listed in the accompanying file “ListofModules.txt” (ask before
using additional packages/modules);
– include comments in the code, explaining which part performs which part of the
– readme.txt should state which is the main file (file to be run first).
– Your RS solution will be tested on: laptop (1.7 GHz, 8 GB RAM); Windows 10 OS;
using Anaconda 3 Prompt.
– Address data preparation and feature selection/weighting
o you are free to choose the methods, but you have to justify why these are
appropriate for your data and application domain.
– Mandatory: two personalised recommenders, one of which is: collaborative filtering.
: additional recommenders.
– Hybrid scheme (i.e.: weighted, mixed, etc.): you are free to choose the scheme,
however justify the selection.
– Recommender 1 and 2 algorithms: you are free to choose a learning/prediction
method/algorithm, but you have to provide a justification.
o Optional: for an additional challenge try a deep learning method.
– You are to research, select and justify (in the report) all the methods (i.e., hybrid
scheme, feature weighting, algorithms used, etc.) used for your hybrid RS, aligning the
applicability and relevance of the selected methods to the purpose, domain of
application and data used for this recommender system.
– This should be a command line based interface.
o Note: Do not develop graphical, web-based interfaces, as these will not be
– Mandatory to account for:
o Input: How does the system recognise the active user? Which user data is
gathered – explicit/implicit? Are users aware which data is collected, how and for
which purposes? Updating of user profiles?
o Output: How are recommendations (and prediction scores) presented to the user?
Consider target user needs, in terms of e.g.: number of recommendations
presented; style of presentation; context – environment, device used; user
characteristics – age, disabilities, etc. Explainability/transparency – within the
output presentation, include explanations for why the specific set of
recommendations is presented.
Make sure to reference any external sources you have used for the code, data, algorithm
Evaluate the performance of your RS by carrying out an offline experiment.
Apply one evaluation metric from each of the four categories listed below. You are to
justify why each of the selected metrics is appropriate for the purpose of the RS and its
domain of application.
i. Accuracy of rating predictions
ii. Accuracy of usage predictions
iii. Novelty, diversity, coverage
– You are to identify 3 ethical issues that your recommender system might exhibit
including those that result from: data collection (experiments, user awareness, etc.),
data storage, algorithms used, output presentation, business/provider interests, etc.
– Briefly discuss approaches that can be used to address/solve these 3 ethical issues.
Compare your hybrid RS against a baseline RS, e.g. hybrid RS against an only
本网站支持淘宝 支付宝 微信支付 paypal等等交易。如果不放心可以用淘宝交易！
E-mail: [email protected] 微信:itcsdx