[SOLVED] COMP9727 Assignment 1- Content-Based Movie Recommendation P0

100.00 $

Category:
Click Category Button to View Your Next Assignment | Homework

You will receive the following solution file(s) instantly after successful payment:

zip file icon COMP9727-Recommender-Systems-vxn3fl.zip (172.8 KB)
Assignment Instructions Updated Recently? Submit Below and we will provide new Solution!
Submit New Instructions
🔒 Securely Powered by:
Secure Checkout
5/5 - (2 votes)

Value: 30%
This assignment is inspired by a typical application of recommender systems. The task is to build a content-based “movie recommender” such as might be used by a streaming service (such as Netflix) or review site (such as IMDb) to give users a personalized list of movies that match their interests. The main learning objective for the assignment is to give a concrete example of the issues that must be faced when building and evaluating a recommender system in a realistic context. Note that, while movie recommender systems commonly make use of user ratings, ourWeChat: scenario is not unrealistic as often all that a movie recommender system has are basic summaries of the movies and the watch histories of the users.
For this assignment, you will be given a collection of 2000 movies that have been labelled as oneAssignment Project Exam Help
of 8 main genres (topics): animation, comedy, drama, family, horror, romance, sci-fi and thriller. The movies of each genre are in a separate .tsv file named for the genre (such as animation.tsv) with 7 fields: title, year, genre, director, cast, summary and country.
The assignment is in three parts, corresponding to the components of a content-based recommender system. The focus throughout is on explanation of choices and evaluation of the various methods and models, which involves choosing and justifying appropriate metrics. The whole assignment will be prepared (and submitted) as a Jupyter notebook, similar to those being used in tutorials, that contains a mixture of running code and tutorial-style explanation.
Part 3 of the assignment is to run a very small “user study” which means here finding one person, preferably not someone in the class, to try out your recommendation method and give some informal comments on the performance of your system from the user point of view. This does not require any user interface to be built, the user can simply be shown the output (or use) the Jupyter notebook from Parts 1 and 2. However, you will have to decide how many movies to show the user at any one time, and how to get feedback from them on which movies they would click on and which movies match their interests. A simple “talk aloud” protocol is a good idea here (this is where you ask the user to use your system and say out loud what they are thinking/doing at the same time – however please do not record the user’s voice – for that we need ethics approval).
Note that standard UNSW late penalties apply.
Assignment
Part 1. Topic (Genre) Classification
Bayes (BNB) model. Now consider all the steps in text preprocessing used prior to classificationAssignment Project Exam Help
with both BNB and MNB. The aim here is to find preprocessing steps that maximize overall accuracy (under the default settings of the classifiers and using CountVectorizer with the standard settings). Consider the special characters to be removed (and how and when they are removed), the definition of a “word”, the stopword list (from either NLTK or scikit-learn), lowercasing andEmail:
stemming/lemmatization. Summarize the preprocessing steps that you think work “best” overall and do not change this for the rest of the assignment.
Conduct experiments (and show the code for these experiments) using cross-validation and comment on whether you confirmed (or not) your hypothesis. Finally, compare this method to BNB and MNB on the metrics you used in Step 3 and choose one overall “best” method and settings for topic classification.
Part 2. Recommendation Methods
To get started, assume there is “training data” for the user profiles and “test data” for the recommender defined as follows. There are 250 movies in each file. Suppose that the order in the file is the time ordering of the movies, and suppose these movies came from a series of weeks, with
50 movies from each week. Assume Weeks 1–3 (movies 1–150) form the training data and Week 4
(movies 151–200) are the test data. UseWeChat: cstutorcsTfidfVectorizer on all documents in the training data to create a tf-idf matrix that defines a vector for each document (movie) in the training set.
Use these tf-idf values to define a user profile, which consists of a vector for each of the 8 genres. To do this, for each genre, combine the movies from the training set predicted to be in that genre that the user “likes” into one (larger) document, so there will be 8 documents, one for each genre,
and use the vectorizer defined above to define a tf-idf vector for each such document (genre). Unfortunately we do not have any real users for our recommender system (because it has not yet been built!), but we want some idea of how well it would perform. We invent two hypotheticalEmail: users, and simulate their use of the system. We specify the interests of each user with a set of keywords for each genre. These user profiles can be found in the files user1.tsv and user2.tsv where each line in the file is a genre and (followed by a tab) a list of keywords. All the words are case insensitive. Important: Although we know the pairing of the genres and keywords, all the recommender system “knows” is what movies the user liked in each genre.
Develop user profiles for User 1 and User 2 from the simulated training data (not the keywords used to define their interests) by supposing they liked all the movies from Weeks 1–3 that matched their interests and were predicted to be in the right category, i.e. assume the true genre is nothttps://tutorcs.com known, but instead the topic classifier is used to predict the movie genre, and the movie is shown to the user listed under that genre. Print the top 20 words in their profiles for each of the genres. Comment if these words seem reasonable.
Define another hypothetical “user” (User 3) by choosing different keywords across a range of genres (perhaps those that match your interests or those of someone you know), and print the top 20 keywords in their profile for each of their topics of interest. Comment if these words seem reasonable.
Evaluate the performance of the recommendation method by testing how well the top N movies that the recommender suggests for Week 4, based on the user profiles, match the interests of each user. That is, assume that each user likes all and only those movies in the top N recommendations that matched their profile for the predicted (not true) genre (where N is your chosen value). State clearly whether you are showing N movies in total or N movies per genre. As part of the analysis, consider various values for M, the number of words in the user profile for each genre, compared to using all words.
Show the metrics for some of the matching algorithms to see which performs better for Users 1, 2 and 3. Explain any differences between the users. On the basis of these results, choose one algorithm for matching user profiles and movies and explain your decision. Part 3. User Evaluation
using interaction data obtained from the user, and testing the recommendations that would be provided to that user in Week 4.
Choose one friendly “subject” and ask them to view (successively over a period of 4 simulated weeks) N movies chosen at random for each “week”, for Weeks 1, 2 and 3, and then (after training the model) the recommended movies from Week 4. The subject could be someone else from the course, but preferably is someone without knowledge of recommendation algorithms who will give useful and unbiased feedback.:
To be more precise, the user is shown 3 randomly chosen batches of N movies, one batch from Week 1 (N movies from 1–50), one batch from Week 2 (N movies from 51–100), and one batch from Week 3 (N movies from 101–150), and says which of these they “like”. This gives training data from which you can then train a recommendation model using the method in Part 2. TheAssignment Project Exam Help user is then shown a batch of recommended movies from Week 4 (N movies from 151– 200) in rank order, and metrics are calculated based on which of these movies the user likes. Show all these metrics in a suitable form (plots or tables).
Ask the subject to talk aloud but make sure you find out which moviesEmail: [email protected] are interested in.
Calculate and show the various metrics for the Week 4 recommended movies that you would show using the model developed in Part 2. Explain any differences between metrics calculated in Part 2 and the metrics obtained from the real user. Finally, mention any general user feedback concerning the quality of the recommendations.
Submission and Assessment
• Please include your name and zid at the start of the notebook.
• Submit your notebook files using the following command:
give cs9727 asst <zid>.ipynb
You can check that your submission has been received using the command: 9727 classrun -check asst
• Assessment criteria include the correctness and thoroughness of code and experimental analysis, clarity and succinctness of explanations, and presentation quality.
:

  • COMP9727-Recommender-Systems-vxn3fl.zip