100% found this document useful (1 vote)
2K views20 pages

Book Recommendation System Proposal Report

This document is a project proposal for developing a book recommendation system using collaborative filtering. It was submitted by three students - Jinita Shrestha, Sarala Phuyal and Nikita Chauhan - for their bachelor's degree in computer science. The proposal provides background on recommendation systems and collaborative filtering. It identifies the problem of lack of personalized book recommendations. The objectives are to develop a machine learning model to predict user book preferences and integrate it into a book recommendation platform. The methodology, requirements, feasibility study and expected outcomes are also outlined in the proposal.

Uploaded by

Jinita Shrestha
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
100% found this document useful (1 vote)
2K views20 pages

Book Recommendation System Proposal Report

This document is a project proposal for developing a book recommendation system using collaborative filtering. It was submitted by three students - Jinita Shrestha, Sarala Phuyal and Nikita Chauhan - for their bachelor's degree in computer science. The proposal provides background on recommendation systems and collaborative filtering. It identifies the problem of lack of personalized book recommendations. The objectives are to develop a machine learning model to predict user book preferences and integrate it into a book recommendation platform. The methodology, requirements, feasibility study and expected outcomes are also outlined in the proposal.

Uploaded by

Jinita Shrestha
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 20

A Project Proposal for the Degree of Bachelor of Science in Computer Science and

Information Technology

Book Recommendation System Using Collaborative


Filtering

Submitted for the partial fulfillment of the requirement for the degree of Bachelor of
Science in Computer Science and Information Technology

Jinita Shrestha (21201/075)


Sarala Phuyal(21220/075)
Nikita Chauhan (21207/075)

Samriddhi College
Department of Computer Science and Information Technology
Institute of Science and Technology
Tribhuvan University

January, 2023
Contents

List of Figures ii

1 Introduction 1
1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Project Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Literature Review 4
2.1 Study of Existing System . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3 Methodology 7
3.1 Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.1.1 User Searches Books . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.1.2 Collect Ratings Data . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.1.3 Preprocessing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.1.4 Matrix Factorization . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.1.5 Cosine Similarity . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.1.6 Final Recommendations . . . . . . . . . . . . . . . . . . . . . . . 8
3.1.7 Ranking Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.1.8 Personalised User Interface . . . . . . . . . . . . . . . . . . . . . . 9
3.2 Requirement Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2.1 Functional Requirements . . . . . . . . . . . . . . . . . . . . . . . 9
3.2.2 Non-Functional Requirements . . . . . . . . . . . . . . . . . . . . 10
3.3 Feasibility Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3.1 Technical Feasibility . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3.2 Operational Feasibility . . . . . . . . . . . . . . . . . . . . . . . . 10

i
3.3.3 Schedule Feasibility . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.4 Flowchart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.5 Algorithm Used . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.5.1 Cosine Similarity . . . . . . . . . . . . . . . . . . . . . . . . . . 12

4 Expected Outcomes 14

References 15

ii
List of Figures

3.1 Block Diagram of Book Recommendation System using Collaborative Fil-


tering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2 PERT Chart of Book Recommendation System using Collaborative Filtering 11
3.3 Flow Chart of Book Recommendation System using Collaborative Filtering 12
3.4 Formula for Cosine Similarity . . . . . . . . . . . . . . . . . . . . . . . . 13

iii
Chapter 1: Introduction

1.1 Background
A recommendation system is a subclass of Information filtering Systems that seeks to pre-
dict the rating or the preference a user might give to an item. In simple words, it is an
algorithm that suggests relevant items to users. Eg: In the case of Netflix which movie to
watch, In the case of e-commerce which product to buy,etc[1]. Recommendation system
mainly uses two methods to filter information - Content-based and Collaborative filtering.
Content-based filtering involves recommending those items to a consumer which are similar
in content to the items that have already been used by him/her. Paul Resnick and Hal Varian
were the ones who suggested Collaborative filtering algorithm in 1997. [2][3]. They im-
plemented the first recommender system using collaborative filtering technique. Since then
the term is being used by different researchers and is explained in various ways. The most
common technique used for building recommendation system is collaborative filtering, so
much so that both these terms are used interchangeably by many researchers. Collaborative
Filtering is a technique widely used by recommender systems when you have a decent size
of user — item data. It makes recommendations based on the content preferences of simi-
lar users.[4]There are two approaches for collaborative filtering memory based and model
based. We will be using model based approach to build book recommendation system.
A book recommendation system is a type of recommendation system where we have to rec-
ommend similar books to the reader based on his interest. The books recommendation sys-
tem is used by online websites which provide ebooks like google play books, open library,
good Read’s, etc.[5] Book recommendation systems have become increasingly popular in
recent years, as they help readers discover new books to read and provide personalized
recommendations based on their reading history. One approach to building a book recom-
mendation system is collaborative filtering, which utilizes the past behavior and preferences

1
of users to make recommendations. One popular measure of similarity used in collaborative
filtering is cosine similarity, which calculates the cosine of the angle between two vectors
in an inner product space.
There is a lack of personalized recommendations for books, leading to a sub optimal reading
experience for many readers. Traditional approaches to book recommendation can be lim-
ited by the "cold start" problem and may not be able to handle large and complex datasets.So
in this proposal, we propose to develop a book recommendation system using collaborative
filtering based on cosine similarity. By analyzing the ratings data of a group of users, we
can identify patterns in the preferences of different users and use these patterns to make
personalized recommendations to individual users. We believe that this approach has the
potential to significantly improve the user experience and increase customer engagement
for our book recommendation system.

1.2 Problem Statement


There is a lack of personalized recommendations for books, leading to a sub optimal read-
ing experience for many readers. Traditional approaches to book recommendation, such as
collaborative filtering, can be limited by the "cold start" problem and may not be able to
handle large and complex data sets.So we have proposed to develop a collaborative filtering
system for book recommendations that will overcome these limitations and provides high-
quality personalized recommendations to readers.
The proposed recommendation system will be based on a data set of user behavior and
preferences, and will use machine learning techniques to learn patterns and make predic-
tions about which books a user is likely to enjoy. The system will be designed to handle
new users and items with little or no past behavior data, and to make recommendations for
a diverse range of books. The performance of the system will be carefully evaluated and
fine-tuned to ensure that it is making accurate and diverse recommendations.

1.3 Project Objectives


The main objective of our project is to develop a web-based application that is able to
accurately predict which books a user is likely to enjoy based on their past behavior and

2
preferences and the recommend the appropriate books to the user. Some of the objectives
of our project are listed as below:

1. To develop a machine learning model that is able to accurately predict which books
a user is likely to enjoy based on their past behavior and preferences.

2. To implement a model-based collaborative filtering system that is able to handle new


users and items with little or no past behavior data, overcoming the "cold start" prob-
lem.

3. To integrate the recommendation system into a book recommendation platform..

4. To improve the overall reading experience for users by providing personalized rec-
ommendations .

3
Chapter 2: Literature Review

In [6],the authors proposed a model that generates recommendations to buyers, through an


enhanced CF algorithm, a quick sort algorithm and Object Oriented Analysis and Design
Methodology(OOADM).They performed recommendations by implementing the stated model
with python model-view-controller (MVC) framework known as Django Framework. This
improved system was implemented using a real-time, cloud-hosted NOSQL database called
FireBase which guarantees scalability. Scalability was ensured through the implementation
of Firebase SQL. This system performed well on the evaluation metrics.
In [7],the authors proposed a system that saves details of books purchased by the user. From
these Book contents and ratings, a hybrid algorithm using collaborative filtering, content-
based filtering and association rule generates book recommendations. Rather than Apriori,
they recommended the use of Equivalence class Clustering and bottom up Lattice Transver-
sal (ECLAT) as this algorithm is faster due to the fact that it examines the entire dataset only
once.
In [8],the authors have proposed item-based collaborative filtering and association rule min-
ing to give recommendations. Similarity between different users was computed through
Adjusted Cosine Vector Similarity function. Better recommendations were obtained as
through this method data sparsity problem was removed.
In paper[9], the authors proposed a collaborative filtering algorithm called "Collaborative
Filtering with Implicit Feedback (CF-IF)" for making recommendations in the presence of
implicit feedback data. Implicit feedback data refers to data that is not explicitly rated by
users, but rather is inferred from their actions or interactions with the system. Examples
of implicit feedback data include clicks, views, or purchases. The authors compared the
performance of CF-IF with several other collaborative filtering algorithms on a dataset of
movie ratings and show that it outperforms these other algorithms in terms of accuracy and
scalability. The authors also discussed the challenges and limitations of collaborative filter-

4
ing with implicit feedback data, including data sparsity and presence of noise and bias.
The survey paper by authors of [10] provides an overview of different collaborative fil-
tering techniques and their applications in a variety of domains, including e-commerce,
information retrieval, and social networking.The authors define collaborative filtering as
a method of making personalized recommendations to users based on the preferences of
similar users. The authors discuss the advantages and disadvantages of different collabora-
tive filtering techniques and provide examples of their use in domains such as e-commerce,
information retrieval, and social networking. They also discuss challenges and issues that
arise in the implementation and evaluation of collaborative filtering algorithms’ Overall, the
authors provide a thorough and informative overview of collaborative filtering techniques
and their applications.
The authors in [11]suggested the use of buyer’s demographic and item category to over-
come data sparsity and cold start problems in their movie recommendation system. Latent
Factor Model (LFM) was used. They developed a matrix to match the buyer and user infor-
mation to get a dense user and dense item matrix. Label Consistency map, the outcome of
this system was used to suggest unrated and other items to new buyers.
The authors in [12]proposed a similarity function similar to Jaccard Similarity to locate
alike items and users for the enquiring item and user in nearest neighbour based collab-
orative filtering. They proposed that absolute value of ratings should be taken as against
the ratio of co-rated items taken in Jaccard Similarity. They also compared performance of
their method with other similarity measures.
Literature reviews above suggested that recommendation systems are being used by large
number of online marketers to increase their sales by offering products to customers which
match their tastes. These RS suffer from many problems such as data sparsity, cold start,
trust, scalability and privacy. Therefore there is need for improved recommendation sys-
tems which solve these issues. So we have proposed to use Adjusted Cosine Vector Simi-
larity function to compute similarity among book ratings to recommend books, to take into
account that users have different rating schemes. Some rate items high usually while others
usually rate low.

5
2.1 Study of Existing System
Now a days Recommendation systems are applied to a wide range of domains, though ini-
tially their focus primarily was on the entertainment domain and online shopping sites.The
focus area of this proposal is related to book and as such we present here an overview of the
Book Recommendation Systems. They help users in managing their reading list by learning
their preference.There are sites like whichbook.net, what should I read next, lazy library,
library think etc., each of which uses a particular strategy to fulfil user current requirement.
A number of such recommendation systems are described hereby.
Whichbook.net [13]allow users to select a particular category, plot and settings for giving
consequent recommendations. Thus, the focus of the system is on users current information
need. Also this system allows user to select a particular mood like happy, funny, unusual
and unpredictable and at the same time allows them to change their search criteria between
moods and plot setting. The diversity quotient of such recommendation is narrowed within
the unpredictable option and therefore user could find the system repeating similar books
with passage of time.
WhatshouldIreadnext.com [14] uses collaborative filtering technique and give recommen-
dations to the user by using an author or title of a book and matching it with others reading
list. Such technique generally makes an assumption that similar users have similar pref-
erences. Thus, the users having some books common in their reading list can be given
recommendations of others books which are not in their reading list. Such preferences
could get stale after a period of time as similar books will be repeatedly given as recom-
mendations.
Lazylibrary.com [15]search books with topic wise listing and have a limit on size of book.
Thus the system uses content based filtering approach that chooses books with similar con-
tent. The novelty about this system is the restriction on the number of page of the book
which can also be a stumbling block in giving relevant recommendations.
Goodsreads.com [16], a social network for book lovers was started in 2006. Initially it does
not have a recommendation system embedded in it, but lately it acquired discoverread.com
which has a strong recommendation algorithm.

6
Chapter 3: Methodology

3.1 Block diagram

Figure 3.1: Block Diagram of Book Recommendation System using Collaborative Filtering

3.1.1 User Searches Books

When a user requests a recommendation for a book, the system looks at the ratings data
for similar users and uses the predictions and rankings from the collaborative filtering and

7
ranking algorithms to suggest books.

3.1.2 Collect Ratings Data

This block represents that the system collects ratings data from users. This might be done
through a website or app where users can rate items on a scale.

3.1.3 Preprocessing

The system preprocesses the ratings data. This involves organizing the data into a matrix,
with users on one axis and books on the other. The matrix cells will contain the ratings
that users have given to each book. The preprocessing step also involves handling missing
values, normalizing the ratings, and removing outliers.

3.1.4 Matrix Factorization

The system organizes the ratings data into a matrix, with users on one axis and books on
the other. The matrix cells contain the ratings that users have given to each book. The
system decomposes the ratings matrix into two latent factor matrices: one representing
users and the other representing books. These matrices are often called "latent factor"
matrices, because they are used to represent the "latent" or hidden preferences of users and
books.
The latent factor matrices are used to make predictions about which books a user will
like.

3.1.5 Cosine Similarity

The system calculates the cosine similarity between users or between books using the rat-
ings data. The cosine similarity between two vectors (A and B) is calculated as the dot
product of A and B divided by the product of the magnitudes of A and B. The system uses
the cosine similarities to identify similar users or books.

3.1.6 Final Recommendations

The system uses the ratings of the similar users or books to make recommendations to the
target user.

8
3.1.7 Ranking Algorithm

The system ranks the recommended books using a ranking algorithm. There are many
different ranking algorithms that can be used, such as collaborative ranking and matrix
factorization ranking. We will use one of the algorithm to rank the recommendations.

3.1.8 Personalised User Interface

Then, the personalised interface is shown to the users with all the recommended books
based on similarity.

3.2 Requirement Analysis


Requirements Analysis can be defined as the process of defining the needs and expectations
of the consumers for an application or product that is to be created or modified.[8]

3.2.1 Functional Requirements

• Data storage and management: The system will be able to store and manage the data
required for generating recommendations, such as user ratings for books, metadata
for books, etc.

• Data preprocessing: The system will be able to preprocess the data by performing
tasks such as missing value imputation, normalization, etc.

• Similarity computation: The system will be able to compute the similarity between
users or between books using the cosine similarity measure.

• Recommendation generation: The system will be able to generate recommendations


for a user by selecting the most highly rated books by similar users or the most similar
books to the ones that the user has rated highly.

• User interface: The system will have a user interface through which users can provide
ratings for books, view their recommendations, and perform other tasks.

9
3.2.2 Non-Functional Requirements

• Scalability: The system swill be able to handle a large number of users and books
and generate recommendations in a timely manner.

• Reliability: The system will be able to generate accurate and reliable recommenda-
tions

• Ease of use: The system will have a user-friendly interface that is easy for users to
navigate and use.

• Security: The system will be secure and protect user data from unauthorized access.

• Performance: The system will have a fast response time and be able to generate
recommendations quickly.

3.3 Feasibility Study


A feasibility study is a detailed analysis that considers all of the critical aspects of a pro-
posed project in order to determine the likelihood of it succeeding.[9] Here are some po-
tential considerations for a feasibility study of a room rental system with location-based
recommendations:

3.3.1 Technical Feasibility

Sufficient amount of data is available to train the recommendation model and generate
accurate recommendations. We have data on user, books rating and metadata for books.
Our project has sufficient computational resources to process and analyze the data, compute
similarities between users or books, and generate recommendations.

3.3.2 Operational Feasibility

Our project will have well designed system which will be easier to operate and maintain,
with a clear and intuitive user interface and a well-documented codebase. It will help the
users to recommend the similar books based on their preferences.

10
3.3.3 Schedule Feasibility

Figure 3.2: PERT Chart of Book Recommendation System using Collaborative Filtering

3.4 Flowchart
First of all,the system collects ratings data from users. This might be done through a website
or app where users can rate books. Then, the ratings data is typically stored in a database or
file for later use.The system preprocesses the ratings data which involve handling missing
values, normalizing the ratings, and removing outliers. After that, the system calculates the
cosine similarity between users or between books using the ratings data. Then, system uses
the ratings of the similar users or books to make recommendations to the target user.The
system ranks the recommended books using a ranking algorithm.

11
Figure 3.3: Flow Chart of Book Recommendation System using Collaborative Filtering

3.5 Algorithm Used

3.5.1 Cosine Similarity

Cosine similarity is a metric used to measure how similar two items are. Mathematically,
it measures the cosine of the angle between two vectors projected in a multi-dimensional
space. The output value ranges from 0–1. 0 means no similarity, where as 1 means that
both the items are 100 percent similar. [17]

12
Mathematical Formula for Cosine Similarity

Figure 3.4: Formula for Cosine Similarity

The cosine similarity is described mathematically as the division between the dot product
of vectors and the product of the euclidean norms or magnitude of each vector.[18] Let a
and b be two vectors. Then, dot product of two vectors is defined as:
dot(a,b) = sum(a[i] * b[i] for i in range(len(a)))
The norm of a vector is defined as the square root of the dot product of the vector with
itself:
norm(a) = sqrt(dot(a, a))
How it works in Book Recommendation System?

1. The system collects ratings data from users, where each rating represents the user’s
preference for a particular book.

2. The system organizes the ratings data into a matrix, with users on one axis and books
on the other. The matrix cells contain the ratings that users have given to each book.

3. The system calculates the cosine similarity between users or between books using the
ratings data. The cosine similarity between two vectors (A and B) is calculated as the
dot product of A and B divided by the product of the magnitudes of A and B.

4. The system uses the cosine similarities to identify similar users or books. For exam-
ple, if User A and User B have a high cosine similarity, they are considered similar.

5. The system uses the ratings of the similar users or books to make recommendations
to the target user.

13
Chapter 4: Expected Outcomes

The expected outcome of our project is to generate personalized recommendations for users
based on their reading preferences and similarity of the ratings of books. The goal of the
recommendation system would be to improve user engagement and satisfaction by suggest-
ing books that the user is likely to enjoy.

14
References

[1] S. K. Agrawal. Accessed on 12/28/2022. [On-


line]. Available: https://www.analyticsvidhya.com/blog/2021/07/
recommendation-system-understanding-the-basic-concepts/

[2] K. Oku, S. Nakajima, J. Miyazaki, and S. Uemura, “Context-aware svm for con-
textdependent information recommendation,” In MDM’06 proceedings of Interna-
tional Conference on Mobile Data Management, 2006.

[3] R. Ghani and A. Fano, “Building recommender systems using a knowledge base of
product semantics,” In proceedings of 2nd International Conference on Adaptive Hy-
permedia and Adaptive Web Based Systems., 2002.

[4] S. Li. Accessed on 12/28/2022. [Online]. Available: https://towardsdatascience.com/


building-a-collaborative-filtering-recommender-system-with-tensorflow

[5] R. Agrawal. Accessed on 1/6/2023. [Online].


Available: https://www.analyticsvidhya.com/blog/2021/06/
build-book-recommendation-system-unsupervised-learning-project/

[6] E. Okon, B. Eke, and P. Asagba, “An improved online book recommender system
using collaborative filtering algorithm,” 05 2018.

[7] P. Mathew, B. Kuriakose, and V. Hegde, “Book recommendation system through con-
tent based and collaborative filtering method,” pp. 47–52, 03 2016.

[8] S. Parvatikar and B. Joshi, Online book recommendation system by using collabora-
tive filtering and association mining, 2015.

[9] Y. Hu, Y. Koren, and C. Volinsky, “Collaborative filtering for implicit feedback
datasets.”

15
[10] X. Su and T. M. Khoshgoftaar, “A survey of collaborative filtering techniques,” 2009.

[11] A. Gogna and A. Majumdar, “A comprehensive recommender system model: Improv-


ing accuracy for both warm and cold start users,” IEEE Access, vol. 3, pp. 2803–2813,
2015.

[12] R. Ayub, M. a. Ghazanfar, M. Maqsood, and A. Saleem, “A jaccard base similarity


measure to improve performance of cf based recommender systems,” pp. 1–6, 01
2018.

[13] [Online]. Available: https://www.whichbook.net/

[14] [Online]. Available: https://www.whatshouldireadnext.com/

[15] [Online]. Available: https://lazylibrary.com/

[16] [Online]. Available: https://www.goodreads.com/

[17] M. Javed. Accessed on 1/8/2023. [On-


line]. Available: https://towardsdatascience.com/
using-cosine-similarity-to-build-a-movie-recommendation-system-ae7f20842599

[18] R. Alake. Accessed on 1/8/2023. [Online]. Available: https://towardsdatascience.


com/understanding-cosine-similarity-and-its-application

16

You might also like