You are on page 1of 23

Commented [v1]:

A Seminar Report

on

RECOMMENDATION SYSTEMS

Submitted to

Amity University Kolkata

by

Rohan Parasrampuria

under the guidance of

Prof. Dhrubasish Sarkar

Bachelors in Computer Applications (BCA)

Amity Institute of Information Technology Kolkata (AIITK)

AMITY UNIVERSITY KOLKATA (AUK)

Jan - April 2019

1
DECLARATION

I, Rohan Parasrampuria, student of BCA (Bachelors in Computer Applications)


hereby declare that the seminar titled “ Recommendation Systems ” which is
submitted by me to Department of BCA, Amity Institute of Information
Technology , Amity University Kolkata, has not been previously formed the basis
for the award of any degree, diploma or other similar title or recognition.

Kolkata

Date Name and signature of Student(s)

2
ACKNOWLEDGEMENTS

I would like to express my special thanks of gratitude to my Guide, Prof.


Dhrubasish Sarkar who gave me the golden opportunity to work on this wonderful
project on the topic – Recommendation Systems , which also helped me in doing a
lot of research which enabled me to get to know about my field of interests and
the fascinating world of Recommendations in today’s Web Platforms . Due to the
supervision and assistance of my guide it was possible for me to complete the
project within the limited time frame.

3
ABSTRACT

A Recommender System is a system that helps people to discover the items they
like and the items of their interests. There are several ways by which a
Recommender System is developed and these are called the Classical Algorithms
to develop a recommender system. These Classical Algorithms are developed and
hybridised with each other to develop newer versions of each other. By doing so
the Loop Holes of each of these Algorithms gets backed up by the other
Algorithm’s benefits.

In this report a Survey Study is also mentioned which showed the advantages and
disadvantages of using Relational Algorithms over the Content Algorithms.

The main objective behind this report was to Understand about what a
Recommendation System is, how can it be implemented, future scopes in the field
of such systems

Recommendation is challenging due to the cold -Start problem, data sparsity,


attacks on these systems, privacy concerns, and the need for an explanation for
why items are being recommended.

The ways to deal these problems includes the hybridisation and mixing of the
several algorithms.

4
TABLE OF CONTENTS

SL.NO. CHAPTER PAGE NO.

1 Introduction

2 Methods of developing Recommendation


Systems

I Content Based Algorithm

II Collaborative Filtering

a. Memory Based

b. User Based Collaborative Filtering

c. Item Based Collaborative Filtering

d. Model Based

III Hybrid Recommender System

3 Challenges Faced by the Recommendation


Engines

4 Evaluating the Recommendation Systems

5 Friend Recommendation: A Survey Study

6 Conclusion

7 References

5
LIST OF FIGURES

FIGURE NUMBER CHAPTER NUMBER

10

11

6
LIST OF TABLES

TABLE NUMBER CHAPTER NUMBER

7
INTRODUCTION

What is a Recommender System?

A Recommender System is a system that helps users discover the items they may
like or the items of their interests. A recommendation system can be thought of
as a subclass Information Filtering System that seeks to predict the "rating" or
"preference" a user would give to an item.

How is Recommendation Engine different from a Search Engine?

For instance, the query ‘‘best 2013 movie to watch’’ issued by an 8-year old and
an adult will result in the same set of movies, whereas their individual tastes
dictate different movies. This is what happens in case of Search whereas in case of
Recommendation Engines both the people are shown recommendation based on
their Search Histories, the type of friends they have, or the age group they belong
to.

Reasons for the use of Recommendation Systems?

Nowadays, people do not know the actual product or item until they are shown to
them. The job of the recommender system is to open the customer/user up to a
whole new products and possibilities, which they would not think to directly
search for themselves.

8
METHODS OF DEVELOPING RECOMMENDATION SYSTEMS

There are a lot of Classical Recommendation Algorithms that are used to make
such Recommendation Systems. These are as follows –

1) Content-Based Methods
Content-based recommendation systems are based on the fact that a user’s
interest should match the description of the items that are recommended by
the system. Content-based recommender systems implement this idea by
measuring the similarity between an item’s description and the user’s
profile information.
To compute the similarity between user i and item j, we can use cosine
similarity:

2) Collaborative Filtering
2.1) Memory-Based
In this method, we predict the rating of user u for item i by (1)
finding users most similar to u and (2) using a combination of the
ratings of these users for item i as the predicted rating of user u for
item i.

9
2.1.1) User Based Collaborative Filtering:

In this type of system users similar to the required user is found and then the
similarities between these users are found and then the predictions re made.

Figure 1

Table 1

10
Example –

Figure 2

Figure 3

11
2.1.2) Item Based Collaborative Filtering

In this type of system items similar to the required item is found and
then the similarities between these items are found and then the
predictions are made.

Figure 4

12
Example – // Refer Table 1

Figure 5

Figure 6

Figure 7

13
2.2) Model Based Collaborative Filtering
Under this method we try to analyse the past data and try to
understand certain trends or patterns behind these
recommendations which helps us to predict our future
recommendations too.

3) Hybrid Recommendation Systems


Under these systems we use both the Content Based Algorithm and the
Collaborative Algorithm together so as to enhance the Recommendation
System. This is one of the most popular ways of implementing
Recommendation engines in todays world.

14
CHALLENGES FACED BY THE RECOMMENDATION ENGINES

1) Cold start Problem – Many Recommendation Algorithms use the history


or past activities of an individual to make the recommendations. Now if a
an individual joining the site is new then there is no information regarding
his past activities or purchases. This is the Cold Start Problem.
2) Data Sparsity – Similar to Cold Start Problem, here there is fewer amount
of data available in the System as a whole. For example when most of the
users have a significantly lower amount of searches in their history
whereas a few has very frequent searches.
3) Attacks – An attacker having the knowledge of the Recommendation
System can attack the System by giving false ratings to an item not good
by making several fake accounts.
4) Privacy – The more information a system has of its user the better
recommendation it can provide to its users. By doing this the
Recommendation System should be promising enough to keep the Private
information of an individual secure enough.
5) Explanation – Sometimes certain recommendations made by the Systems
are difficult to understand as this is neither related to the user nor is related
to his search. So, the recommendation system should be so developed that
it should be able to give justifications for its recommendations.

15
EVALUATING THE RECOMMENDATION SYSTEMS

Evaluation of the Accuracy of the predictions

a. Mean Absolute Error (MAE) – The mean of the differences in the


predicted ratings and the true ratings.
b. Normalised Mean Absolute Error (NMAE) – It is equal to the
Mean absolute Error divided by the Range of Ratings.
c. Root Mean Squared Error (RMSE)– To make the error more
prominent we use the squares of differences instead of the linear
values as in the case of MAE and we take their square root.

Table 2

Figure 8

16
FRIEND RECOMMENDATION: A SURVEY STUDY

Study of the Beehive : enterprise social networking site within IBM ,

survey done using 4 different recommendation algorithm :

CONTENT MATCHING ALGORITHM

Our content matching algorithm is based on the intuition that “if we both post
content on similar topics, we might be interested in getting to know each other”.
In other words, the algorithm strives to find users associated with similar content
on Beehive.

From Beehive, we extract words from profile entries and status messages of users,
as well as the title, description, tags, and any textual content associated with their
photos and shared lists. From the corporate directory, we extract the job title and
the city of the user’s work location.

a and b would be considered similar if they share many common keywords in their
associated content

CONTENT PLUS LINK ALGORITHM

Our content-plus-link algorithm enhances the content matching algorithm with


social link information derived from social network structure.

However, instead of recommending users with top similarity scores, we boost the
similarity of a candidate user c and u by 50% if a valid social link from u to c

An example of such a link between user Alice and Charles would be

“Alice has commented on Bob, who is considered a friend by Charles.”

17
FRIEND OF FRIEND ALGORITHM

In contrast to the previous algorithm, the friend-of-friend algorithm leverages only


social network information of friending based on the intuition that “if many of my
friends consider Alice a friend, perhaps Alice could be my friend too”.

Note that, because the algorithm requires existing friends, it cannot generate
recommendations for people with no or a limited number of friends.

FACEBOOK USES SUCH AN ALGORITHM IN ITS

“PEOPLE U MAY KNOW “

SONAR ALGORITHM

This algorithm is based on the SONAR system, which aggregates social


relationship information from different public data sources within IBM

following seven data sources within our Intranet:

(1) organizational chart,

(2) publication database,

(3) patent database,

(4) friending system,

(5) people tagging system,

(6) project wiki, and

(7) blogging system

A relationship is indicated if within that data source two people have somehow
interacted with each other, such as co-authoring a paper or leaving comments on
each others’ blog.

18
METHODOLOGY

For each recommendation, they showed a photo, the job title and the work
location of that person, as well as the explanation generated by the algorithm. The
user could also click a link to view the profile of the recommended person in a
separate window.

For each recommendation, they asked the following questions:

• Do you already know this person? [yes/no]

• Is this a good recommendation? [yes/no]

• Did the reason we chose this person help you make your decision? [yes/no]

• What action would you like to take? [single choice]

o Connect to this person

o Be introduced to this person

o Nothing

• Additional feedback?

FIGURE 9

19
OBSERVATIONS

For every recommendation, users were able to indicate whether or not they
already knew that person and they could rate the recommendation as good or not
good.

FIGURE 10

FIGURE 11

20
RESULTS

The results described in this paper also show that relationship-based algorithms
are better at finding known contacts whereas content similarity algorithms were
stronger at discovering new friends. As shown in Figure 1, the more relationship
information an algorithm uses the more known contacts and the less new friends it
discovers. In general, this suggests that on social networking sites, relationship-
based algorithms would perform particularly well for newer users in finding
known offline contacts that have not yet been added to their online social network.
In particular, FoF can expand their contact list from a few existing contacts, while
a SONAR-like aggregation can take advantage of additional data, including
commenting, tagging, or organizational relationships, which are often available
within organizations. However, for more established users, relationship-based
algorithms would either run out of people to recommend or base themselves on
social relationships that are too weak to be meaningful. In contrast, content
similarity algorithms will still be able to find new interesting people. Hence, one
potentially promising way to combine the strengths of both types of algorithms is
to leverage relationship based algorithms initially to build up a network quickly by
finding known people and, as the network grows, complement them with content
similarity based algorithms.

21
CONCLUSION

Major Findings

 What a Recommendation System is .

 Several ways of implementation of the Recommendation Systems

 How the Recommendation Systems are being used

 A case study of a Friend Recommender System

 Numerical Applications to implement the Collaborative Filtering and its


several ways

 The several challenges faced by the such systems

 The advantages of several ways of combining a few of the basic


algorithms , thus increasing the efficiency of the other Algorithms

The Recommendation Systems finds its applications in several fields like the –

Facebook, youtube, Amazon, Netfliix and many other popular social and
marketing sites are in trend because of their advanced and experienced
recommender engines which are growing day by day.

Future Scopes

 These Recommendation Systems can be used to help students identify


their areas of interest , study materials

 Has application in the Insurances field where the best policies can be
recommended to an individual based on his needs from the thousands of
available options

 These systems in Future will not just be restricted to the internet but with
rapid growth and expertise it will become a very important part of the
future generations

22
REFERENCES

 Book = Social Media Mining-An Introduction-(Reza Zafarani Mohammad


Ali Abbasi Huan Liu ) (Chapter 9 – Recommendation in Social Media ) (
Page 289 to Page 317 )

 chenCHI09.pdfwww.research.ibm.com

 https://en.m.wikipedia.org/wiki/Recommender_system

 An Introduction to Recommendation Engines -


Dataconomydataconomy.com

 https://recommender-systems.org/hybrid-recommender-systems/

 https://www.researchgate.net/publication/220604600_Recommender_Syst
ems_An_Overview
 https://pdfs.semanticscholar.org/767e/ed55d61e3aba4e1d0e175d61f65ec0
dd6c08.pdf

 https://yanirseroussi.com/2015/10/02/the-wonderful-world-of-
recommender-systems/

 https://www.sciencedirect.com/science/article/pii/S1110866515000341

23