Algorithms Assignment-4


5/5 - (2 votes)


Assignment-4: A Social-Network Based Recommendation System for
In this assignment, you are asked to design and implement a social network-based
recommender system for
You are given the following dataset (Reference:
Dataset: file contains social networking, tagging, and music artist listening information
from a set of 2K users from online music system.
• There are 1892 users and 17632 artists
• There are 12717 user-friend relations
• There are 92834 user-listened artist relations [user, artist, listeningCount]
• artists.dat: This file contains information about music artists listened and tagged by the
users. url and pictureURL will not be used in the assignment.
File format: id \t name \t url \t pictureURL
• user_artists.dat: This file contains the artists listened by each user. It also provides a
listening count for each [user, artist] pair.
File format: userID \t artistID \t weight
• user_friends.dat: These files contain the friend relations between users in the database.
File format: userID \t friendID
CS 401 Algorithms Spring 2019
The recommender system will provide the following functionalities:
• listFriends(int user): prints the list of friends of the given user
• commonFriends(int user1, int user2): prints the user1’s friends in common
with user2
• listArtists(int user1, int user2): prints the list of artists listened by both
• listTop10(): prints the list of top 10 most popular artists listened by all users
• recommend10(int user): recommends 10 most popular artists listened by the given
user and his/her friends.
Please submit the following deliverables as a single zip file to CANVAS.
• Source code for Recommender system
• A Class Diagram summarizing your design
• Junit Test cases for testing