0% found this document useful (0 votes)
2K views54 pages

Book Recommendation System PROJECT PDF

This project report describes a book recommender system developed by David Davis for his Bachelor of Science in Computer Technology degree from Meru University of Science and Technology. The report includes chapters on background, existing recommender systems, system development methodology, system analysis, proposed system design, and system implementation. The proposed book recommender system utilizes collaborative filtering, machine learning and a MySQL database to provide book recommendations to users based on their preferences and past purchases.

Uploaded by

dipin bhandari
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2K views54 pages

Book Recommendation System PROJECT PDF

This project report describes a book recommender system developed by David Davis for his Bachelor of Science in Computer Technology degree from Meru University of Science and Technology. The report includes chapters on background, existing recommender systems, system development methodology, system analysis, proposed system design, and system implementation. The proposed book recommender system utilizes collaborative filtering, machine learning and a MySQL database to provide book recommendations to users based on their preferences and past purchases.

Uploaded by

dipin bhandari
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 54

MERU UNIVERSITY OF SCIENCE AND TECHNOLOGY

SCHOOL OF COMPUTING AND INFORMATICS

DEPARTMENT OF IT AND COMPUTER SCIENCE

PROJECT TITLE: BOOK RECOMMENDER SYSTEM

NAME: DAVID DAVIS

This project is submitted in partial fulfillment of requirement for

the Meru University of Science and Technology award of

BACHELOR OF SCIENCE IN COMPUTER TECHNOLOGY


TABLE OF CONTENT

Contents
TABLE OF CONTENT.......................................................................................................................................i
DECLARATION................................................................................................................................................iv
SUPERVISOR....................................................................................................................................................iv
DEDICATION.....................................................................................................................................................v
LIST OF TABLES AND FIGURES.................................................................................................................vi
CHAPTER ONE.................................................................................................................................................1
1.0 BACKGROUND OF STUDY.....................................................................................................................................1

1.2 PROBLEM STATEMENT.....................................................................................................................................2

1.3 OBJECTIVES........................................................................................................................................................2

1.4 Significance of the study........................................................................................................................................3

1.5 Scope of the study..................................................................................................................................................3

CHAPTER TWO................................................................................................................................................4
2.1 Overview...............................................................................................................................................................4

2.2 Types of existing book recommender systems.......................................................................................................4

2.2.1 Collaborative filtering-based recommendation techniques....................................................................................5

2.2.2 Knowledge-based recommendation techniques.....................................................................................................6

2.2.3 Hybrid recommendation techniques......................................................................................................................7

2.3 Components of existing book recommender system..............................................................................................8

2.3.1 Computing devices................................................................................................................................................8

2.3.2 machine learning....................................................................................................................................................8

2.3.3 MySql.................................................................................................................................................................... 9

2.4 Challenges of existing recommender system.........................................................................................................9

2.5 CONCLUSION.....................................................................................................................................................9

CHAPTER THREE..........................................................................................................................................11
3.1 OVERVIEW........................................................................................................................................................11

3.3. POPULATION AND SAMPLING............................................................................................................................11

3.5 DEVELOPMENT TOOLS AND MATERIALS..................................................................................................12


3.6 SYSTEM DEVELOPMENT METHODOLOGY................................................................................................13

3.7 SYSTEM DESIGN..............................................................................................................................................13

3.8 DATA PROCESSING AND ANALYSIS.............................................................................................................14

3.9 ETHICAL CONSIDERATION............................................................................................................................15

CHAPTER FOUR............................................................................................................................................16
4.0 SYSTEM ANALYSIS...............................................................................................................................................16

4.1. OVERVIEW........................................................................................................................................................16

4.2. feasibility study....................................................................................................................................................16

4.3 description of the current system.........................................................................................................................17

4.4 Executive summary.............................................................................................................................................18

4.3 Description of product and services.....................................................................................................................18

4.4 Technology consideration....................................................................................................................................18

4.5 Findings and recommendations...........................................................................................................................19

CHAPTER FIVE..............................................................................................................................................20
5.0 OVERVIEW........................................................................................................................................................20

5.1 Description of the proposed system.....................................................................................................................20

5.2 Functional requirements......................................................................................................................................28

5.3 Non-functional requirements...............................................................................................................................29

5.4 Physical Design...................................................................................................................................................29

5.5 Logical design.....................................................................................................................................................30

CHAPTER SIX.................................................................................................................................................31
SYSTEM IMPLEMENTATION.....................................................................................................................31
6.0 Overview.............................................................................................................................................................31

6.1 Tools used for coding and testing.........................................................................................................................31

6.1.1. Node js................................................................................................................................................................ 31

6.2.2 npm...................................................................................................................................................................... 31

6.2.3 Javascript.............................................................................................................................................................32

6.2.4 Mysql................................................................................................................................................................... 32

6.2 system test type....................................................................................................................................................32

6.3 system change over techniques............................................................................................................................33

CHAPTER SEVEN..........................................................................................................................................34
ii
CONCLUSION AND RECOMMENDATION..............................................................................................34
7.0 Overview.............................................................................................................................................................34

7.1 Achievements......................................................................................................................................................34

7.2 Limitations...........................................................................................................................................................34

7.2.1. Lack of Data........................................................................................................................................................34

7.2.2. Changing Data.....................................................................................................................................................35

7.2.3. Changing User Preferences.................................................................................................................................35

7.2.4. Unpredictable Items............................................................................................................................................35

7.3 Conclusions.........................................................................................................................................................36

7.4 Recommendations...............................................................................................................................................36

References..........................................................................................................................................................38
APPENDICES...................................................................................................................................................42
APPENDIX 1: QUESTIONNAIRE.................................................................................................................................42

APPENDIX II: BUDGET................................................................................................................................................44

iii
DECLARATION

I declare this is my original work done under the guidance of Dr. Mary Mwadulo and has not been previously

submitted and approved for an academic award by this or any other university .to the best of my knowledge and

belief, the project contain no material previously published or written by another person excerpt where the due

references is made is made in the project

Name: Reg No. Signature…….

Date:

SUPERVISOR

My signature below attests that this is an accurate report on the project that was conducted by the above-

mentioned students worked under my supervision, and the final product was presented to Meru University of

Science and Technology with my consent.

Signature……………………………………………………. Date…………………………….

iv
DEDICATION

I dedicate this project to MY beloved lecturer, Dr.Mary mwadulo all the stakeholders who

participated in ensuring that the development of this project comes to fruition and the entire

Meru University of Science and Technology fraternity.

v
LIST OF TABLES AND FIGURES

vi
CHAPTER ONE

1.0 BACKGROUND OF STUDY

Recommender system is an application which is used to understand the needs of users. The

system relies on the requirements of the users; it suggests suitable products for users. When such

information is obtained is grouped and compared to the users profile to enable effective

recommendations thus collaborative recommendation

Recommender system is an important topic since the research of collaborative paper filtering in

the mid 1990 (Resnick et al., 1994; Shardanand and Maes, 1995). Recommender systems are

systems that are used by users to find content online for items like products, books, movies, TV

programs and websites(Frias-Martinez et al., 2006; Frias-Martinez et al., 2009; Kim et al., 2010).

Recommender systems are classified into collaborative filtering (CF) and content-based filtering

(CB). CF is a technique that allows a system to give suggestions from collaborating from

patterns, view points and data sources. However, it has two major setbacks: sparsity problem and

scalability problem (Claypool et al., 1999; Sarwar et al., 2000a; Sarwar et al., 2000b). CB

analyzes items based on the user profile and the content available (Basu et al., 1998). However,

nature of CB is to detects that are similar and are very well known by the user and uses that to

recommend other items that are very similar but unique in their way(Lopez- Nores et al.,

2008).new ways to deal with collaborative filtering and content based recommender system have

been established in order to deal with real world issues. Data mining tools have been very helpful

in recommending items according to users’ preference. However, more research is required on

the recommender system since the research area is still wide. Due to increasing needs of users

1
there will be an increased need to recommend items thus increasing the types of recommender

systems and also increasing mechanisms to verify the similarities of items requested by the user.

1.2 PROBLEM STATEMENT

The current book recommender system allows the users to read and get books according to the

groups they create online that enable the system to choose the interests of the reader through the

groups they are in which doesn’t achieve the individual interests of the reader.

The system will give its users the satisfaction of viewing books they recommend by the system,

order them and purchase them. Machine learning clustering algorithms s be will used to give

recommendations such as content based, collaborative and hybrid recommender system in order

to satisfy the reader’s maximum recommendations.

1.3 OBJECTIVES

1. To enable a reader customize the type of books to read

2. to enable a reader to select a book online

3. to enable a reader pay for the book ordered

4. To enable the system track a reader’s book preference

5. To enable the system generate weekly reports on a reader’s preference

2
1.4 Significance of the study

The system will help readers, notably those interested in reading books online, to narrow down

to the specific books according to their interest and behavior when choosing the type of book

they want to read. The readers order the books online and pay for the books ordered.

According to the reader’s preference the system will give recommendations according to the

interests of the reader.

1.5 Scope of the study

The research focused on recommending scientific, romance, fictional books and fantasy books.

This is because these are the main areas where people focus on according to my research area

which will be students.

3
CHAPTER TWO

2.1 LITERATURE REVIEW

2.2 Overview

This chapter will principally focused on functions of recommender system, components of

existing recommender system, features of recommender system, types of recommender system

and their challenges as well as a recap of related studies from various journals addressing this

salient idea of having a computerized system that captures the needs of the readers who wish to

read online and would wish to be advised on the best course to choose. The bottom line of the

literature review is a summary of what the chapter has discussed.

Recommender system is one of the systems used by vendors and online services to understand

the needs of online users. They match the interests of the users and use that to recommend to

their users the best items according to the phones they are interested in online. Recommender

system is an intelligent system that identifies the needs of users by comparing what they are

interested in online. After obtaining this information, the second stage involves performing an

analysis to determine the similarity group for available products and services. There are

several existing content-based and collaborative recommender systems that can perform this

type of analysis.

2.3 Types of existing book recommender systems

Recommender system has become an interesting topic and has become a very interesting topic to

researchers. First research was done in 1998 the multiple researches were made there henceforth.

Different factors were considered in order to make recommender systems more reliable.

4
Recommender systems are divided into the following major groups Recommendation systems that

are collaborative and content-based, as well as those that use demographics and utility to make

recommendations, are all examples of recommender systems. Content-based recommendation

techniques

Content-based (CB) recommendation approaches are used to propose items based on the ratings provided by other

users (M. Pazzani, D. Billsus, Content-based recommendation systems, in: P. Brusilovsky, A. Kobsa, and W.

Nejdl (Eds. ), The Adaptive Web, Springer Berlin Heidelberg2007, pp. 325–341). CB recommender systems

assess the definition of a user's favourite items to ascertain the relationships that may be utilized to distinguish

them.

These recommendations are stored in a user profile and used to compare the attributes of items to the user profile,

with the goal of recommending only those items that are more similar to the user profile (M. Pazzani, D. Billsus,

Content-based recommendation systems, in: P. Brusilovsky, A. Kobsa, and W. Nejdl (Eds. ), The Adaptive Web,

Springer Berlin Heidelberg2007, pp. 325-341.

The following strategies are used by the content-based recommender system. One strategy generates suggestions

using classic information acquisition techniques, such as the cosine similarity measure. The alternative strategy is

to use statistical learning and machine learning techniques to develop models capable of understanding users'

preferences from their previous data (training data).

2.3.1 Collaborative filtering-based recommendation techniques

Collaborative filtering (CF)-based recommendation is a technique that is based on other people

that is it relies on other people’s opinion to give recommendation (M. Deshpande, G. Karypis,

Item-based top-N recommendation algorithms, ACM Transactions on Information

5
Systems (TOIS), 22 (2004) 143-177). The CF technique can be divided into two categories that

is user-based and item-based CF approaches (B. Sarwar, G. Karypis, J. Konstan, J. Riedl,

Item-based collaborative filtering recommendation algorithms,Proceedings of the 10th

International Conference on World Wide Web, ACM, 2001, pp. 285-295). In the user-based CFis

a technique based on recommending items using likes by similar users . In the item-based CF

approach a recommendation will be based on the base that is items that the user was interested in

the past. When two items are compared, the similarity between them is calculated (P. Resnick, N.

Iacovou, M. Suchak, P. Bergstrom, and J. Riedl, GroupLens: an open architecture for

information retrieval of netnews, Deliberations of the 1994 ACM Conference on Computer

Backed Cooperative Work, ACM, Chapel Hill, North Carolina, USA, 1994, pp. 175–186. ),

constrained Pearson correlation (CPC)-based similarity, co

2.3.2 Knowledge-based recommendation techniques

Knowledge-Based (KB) recommendation makes recommendations on objects based on their relationship to

users. The majority of KB recommendations retain a functional knowledge base that describes how a particular

item meets a particular user's need, which can be performed based on inferences about the relationship between

a user's need and a possible recommendation (R. Burke, Hybrid recommender systems: survey and experiments,

User Model User-Adap Inter, 12 (2002) 331-370.). Case-based classification is a classification approach that

considers things as use cases in which they are most similar we establish connections. (B. Smyth, Case-based

recommendation, in: P. Brusilovsky, A. Kobsa,W. Nejdl (Eds.) The Adaptive Web, Springer Berlin

Heidelberg2007, pp. 342-376.).

6
2.3.3 Hybrid recommendation techniques

to achieve the best characteristics of recommender systems a hybrid recommendation combines

traits of two or more recommender systems to produce one recommender system

Recommendation of news or videos for media, product suggestions or personalisation in travel

and retail (R. Burke, Hybrid web recommender systems, in P. Brusilovsky, A. Kobsa, and W.

Nejdl (Eds. ), The Adaptive Web, Springer-Verlag, Berlin Heidelberg2007, pp. 377–408.

Burke (R. Burke, Hybrid web recommender systems, in:. Brusilovsky, A. Kobsa,

W. Nejdl (Eds.) The Adaptive Web, Springer-Verlag, Berlin Heidelberg2007, pp. 377-408.),

there are seven basic hybridization mechanisms of combinations used in recommender systems

to build hybrids: weighted (B. Mobasher, X. Jin, Y. Zhou, Semantically enhanced collaborative

filtering on the web, in: B. Berendt, A. Hotho, D. Mladenič, M. Someren, M. Spiliopoulou, G.

Stumme (Eds.) Web Mining: From Web to Semantic Web, Springer Berlin Heidelberg2004, pp.

57-76.), mixed (B. Smyth, P. Cotter, A personalised TV listings service for the digital TV age,

Knowledge-Based Systems, 13 (2000) 53-59.), switching (D. Billsus, M. Pazzani, User modeling

for adaptive news access, User Model User-Adap Inter, 10 (2000) 147-180.), feature

combination, feature augmentation (D.C. Wilson, B. Smyth, D. O'Sullivan, Sparsity reduction in

collaborative recommendation: A case-based approach, International Journal of Pattern

Recognition and Artificial Intelligence, 17 (2003) 863-884., D. O'Sullivan, B. Smyth, D. Wilson,

Preserving recommender accuracy and diversity in sparse datasets, International Journal on

Artificial Intelligence Tools, 13 (2004) 219-235.), cascade [14] and meta-level (M. Pazzani, A

artificial intelligence review 13 (1999) 393-408: a paradigm for collaborative, content-based, and

demographic filtering. To prevent cold-starting, sparseness, and/or scalability issues, the most

7
typical method in hybrid recommendation strategies is to mix the CF recommendation techniques

with other recommendation techniques. (G.

Adomavičius, A. Tuzhilin, Toward the next generation of recommender systems: a survey of the

state-of-the-art and possible extensions, IEEE Transactions on Knowledge and Data Engineering,

17 (2005) 734-749., A. Bellogin, I. Cantador, F. Diez, P. Castells, E. Chavarriaga, An empirical

comparison of social, collaborative

filtering, and hybrid recommenders, ACM Transactions on Intelligent Systems and Technology

(TIST), 4 (2013) 1-29.).

2.4 Components of existing book recommender system

2.4.1 Computing devices

Technically, any system is functionally dependent on the computing environment provided by the

user or the developer. This usually includes what the users operate on to access the server and the

server itself. High processing power capability is a fundamental requirement for computers to be

used as servers and should always have a constant source of power that should be efficient

and effective. This is because such computers are needed to ameliorate their state to be online at

any given time.

2.4.2 machine learning

Recommender systems are one of the most widely used machine learning applications. Any situation in which

many people interact with several goods qualifies. Retail, movie on demand, and music streaming all use large-

scale recommender systems. Similar machine language algorithms are used for news and video recommendations

for media, product suggestions or personalization in travel and retail.

8
2.4.3 MySql

MySQL database is a basic component that every system coded must have. Existing online

systems use this component for data storage in a database situated somewhere. This is because it

is intuitively correct to say that every data entered in a system requires a consistent storage space

for ease of access, retrieval and manipulation.

2.5 Challenges of existing recommender system

A recommender system faces a lot of challenges that need to be solved and here are some of

them.

Cold start problem: this happens when we have a new user to the site or the system or when we

are adding a new feature into the system. First an admin does not know the interest of the user so

he has not given any rating to any item on the system and secondly to whom we can recommend

these new features to.

The sparsity issue occurs when a user has a huge matrix including products they purchased,

watched movies, or listened to music but did not rate the objects they interacted with, despite

the fact that the recommender system is based on the user matrix rating. Over specialization

problem: recommender system fully depends on what is defined by the user profile and not

discovering new items and other available options.

2.6 CONCLUSION

Numerous strategies have been used in the development of a recommender system. Additionally, an examination

of several kinds of recommender systems is conducted depending on various parameters. The recommender

system's efficiency is evaluated using a variety of datasets. Various methods have been used to build trust in the

9
recommender system. Almost all of research on collaborative or hybrid recommender systems has been

conducted, relatively little work has been conducted on content-based recommender systems.

10
CHAPTER THREE

3.1 METHODOLOGY

3.2 OVERVIEW

This research offered a generic view and the most specific methodology on the development of a

system that allowed readers get book recommendations online, receive notifications on the type

of books the system is recommending, order books online and pay for books online as well as

generate monthly reports on the frequently selected books. It also looked for research designs

used, the size of the population that was considered in the research, data collection tools, and

how the system looked like. System development tools and how the data was to be represented.

3.3 RESEARCH DESIGN

The investigation I conducted using an experimental design. (Maxwell, J. A. (2012))

The research design manual is a user-friendly, step-by-step guide to designing qualitative research

for researchers and students. The experimental research design was to be suitable for developing

book recommender systems because it facilitated efficient and progressive sailing of various

research operations during the study.

3.3. POPULATION AND SAMPLING

Target population often influenced the sample size determination (Draugalis, J. R., & Plaza, C.

M. (2009)). The target population in this research included all readers who are purely interested

in reading books online and are not interested in the information overload on the internet. It also

factored in those readers who wished to order a book online and make a purchase. The

experience and knowledge about the current book recommender system formed the basis for the

choice of this target population as the readers already knew where they experienced challenges

11
while choosing the type of books they wanted to read. These particular groups are well spread

out all over the country and include young and middle-aged groups. Due to financial constraints,

demographic criterion and our geographic location during the time of study, a sample was

conducted on the population of students in Kenya Methodist University (KeMU) and Meru

University of Science and Technology (MUST). The sampling will focus on a random number

of online readers from KeMU and MUST.

Random sampling will be used to entrench equal participation of the members in the population

under study. That technique is most preferable in this research because it removes biases in terms

of gender, color, skin complexity, tribe, race, region, religion and level of education.

3.4 DATA COLLECTION METHODS

Questionnaire was used to collect data in this study. This is because it is inexpensive, practical,

offers fast results, provides easy analysis of data, enhances validity and reliability of data

including the persons targeted by the questionnaire, and encourages standardization and

provision for respondent anonymity. The following is a sample questionnaire to be used;

3.5 DEVELOPMENT TOOLS AND MATERIALS

The system was implemented using nodejs, npm, JavaScript, CSS and Bootstrap as programming

languages. The MYSQL database was used for data storage. Software tools such as WampServer

will be used for hosting the web application and Sublime Text as a code editor environment. The

minimum specifications recommended for the machine in which the system will run include;

● Operating System (Windows 10)

12
● Processor Speed (intel inside, 1.8 GHZ)

● Memory or RAM (2 GB)

● Hard Disk Space (50 GB available)

3.6 SYSTEM DEVELOPMENT METHODOLOGY

The system was developed using Agile Development Methodology. Agile methodology allows

a medley set of procedures of the project to be undertaken separately but under one conceptual

framework (Dingsøyr, T., Nerur, S., Balijepally, V., & Moe, N. B. (2012)). The adaptive

approach of Agile development methodology and its ability to respond to the changing

requirements of the people using the system, the environment and the system itself makes it

suitable to be used in this research. This is due to the fact that readers have varying needs which

continually change in as far as course selection is concerned.

3.7 SYSTEM DESIGN

System design is the real work on the ground, the actual development of the system process and

the flow of the processes within the system (Gajski, D. D., Dutt, N. D., Wu, A. C., & Lin, S. Y.

(2012)). System flowchart was used in this study to illustrate an overall design of the Student

Course Selection Advisory System. The ability of a flowchart to analyze different logistics

presented by the system effectively validates its choice as a system design tool to be used in this

research. It provides analysis of different bugs and errors in the most efficient way to reduce cost

and time wastage. The system design of a book recommender system is as shown below;

13
Figure 3.7: Book recommender system flowchart

3.8 DATA PROCESSING AND ANALYSIS

This phase of research encompassed processing of data as well as analyzing it. The processing

stage will introduce editing, coding, classification and tabulation of collected data (from Kenya

Methodist University (KeMU) and Meru University of Science and Technology (MUST)

students) in readiness for analysis. According to (Gelman, A., Stern, H. S., Carlin, J. B., Dunson,

D. B., Vehtari, A., & Rubin, D. B. (2013)) data analysis gives an introspection on how raw

information behaves. Descriptive and inferential statistics will be used in this research.

Applying the functions of descriptive statistics, measures of dispersion such as standard

deviation will be used to calculate the average number of readers enrolling to read books online.

Inferential statistics was invoked to create a relationship between readers who want only to read

books online and those willing to buy the books instead.

14
3.9 ETHICAL CONSIDERATION

Ethics are the norms for conduct that give a distinction between right and wrong (Noddings, N.

(2013)). The legal specifications for ethical approach in book recommender system include;

Informed consent: the person interacting with the system if fully aware of the operations of the

system. The participants need to be informed on the operations of the system, who is interacting

with the system and what is being offered by the system and how the information acquired in the

system will be used.

Voluntary participation: means that the reader interacting with the machine is out of free will.

Readers are free to acquire information from the machine without impacting negatively on the

evolution or the involvement of the machine.

15
CHAPTER FOUR

4.0 SYSTEM ANALYSIS

4.1. OVERVIEW

In this chapter we are going to discuss the past systems created by other developers. This chapter

discusses the feasibility study and description of the current system.

4.2. feasibility study

Feasibility study is carried out to decide the methods, plans, or piece of work is possible or

reasonable in the sense of evaluating alternatives, accessing the market and financial analysis.

The findings have been grouped in the following categories

In the sense of organization, those companies that are willing to create recommendation systems

have no necessary data to load in the system since the owners of the data like books are not

confident enough that the books they will write will have enough income that comes towards

their direction since most people are willing to get reading materials for free.

In the sense of finance, people managing the systems find it difficult to manage the system since

the income is too low since the boos being sold are either for free or the system charges at a very

low price and also telecommunication companies fully benefit from data charger from accessing

the internet when accessing the recommender system.

In the sense of technology, the technology used in creating recommender systems is always

collaborative methods of recommendation since it favors the developer since it's easier to

develop and doesn’t rely on the side of the user.

16
In the sense of marketing, these recommendation systems are not fully marketed since people

who are expected to use them have very little knowledge since these are just new technologies

that people are not willing to adopt.

4.3 description of the current system

Consider the Goodreads book recommendation system(2011, September 15), which combines

numerous proprietary algorithms that examine 20 billion data points in order to more

accurately forecast which books people would like to read next. It establishes links between

books by examining how it employs various proprietary algorithms that analyze 20 billion

data points in order to create more accurate recommendations about which books consumers

would like reading next. It connects books by assessing how often they appear on the same

shelf and if they were adored by the same readers. The system compares your choices to those

of other Goodreads users and decides if they are similar or distinct. They often coexist on the

same bookshelf, regardless of whether they were read by the same individuals. The engine

determines if your preferences are similar to or dissimilar to those of other Goodreads users.

Basically, reviews play an important part too, as book reviews can help cement your overall

reputation as an author and it acts as organic marketing for your book as well as it will and can

make your book gain a more visible presence in the market.

Goodreads is a social catalog website that enables users to peruse its library of books,

annotations, and reviews at their leisure. Users may register and catalog books in order to create

library catalogs and reading lists. Additionally, they may establish their own groups for book

recommendations, surveys, polls, blogs, and conversations.

17
4.4 Executive summary

Recommendations have been on the rise since there is a lot of data on the internet that one has to

choose from and it's human nature that people want to take the easiest route to gain what they

want. In the angle of book recommendation, there are very many authors that want to sell their

books out there and also want to interact with their readers through the ratings, comments and the

number of books they sell at a particular amount of time. Also, the readers want to follow maybe

the series of books the authors write or also want to rate the books according to their interest.

Developers are creating a platform where readers and authors can interact and communicate even if

it’s not on a face to face basis hence the rise of recommendation systems.

4.3 Description of product and services

Until now there is no recommendation system that allows the readers to physically pay for books

and have their own personal copies. Most recommender systems allow the users to log in and

rate the books and give the comments about the books if they are not interested. Also, they don’t

give recommendations according to the way your profile was created but according to the

number of times a book appears in book shelves of fellow readers. This creates a gap that allows

other developers to create the improvement of the module the system is implementing.

4.4 Technology consideration

There exists a number of recommendation system that use different methods of predicting the

type of books might want to read which doesn’t satisfy the aspect of predicting the interests of

the reader since they use collaborative filtering which only bases its recommendations to those of

other readers according to the comments and the ratings for other readers instead of basing its

research on the aspect of the users profile which basically is what the readers is interested in

18
4.5 Findings and recommendations

The recommendation system has been extensively used in a variety of fields. Collaborative filtering relies only on

rating, oblivious to the characteristics of the objects themselves. To provide a more accurate assessment of

consumer choice for books, the LDA model was employed to determine customer preference for book themes and

authors.

Word2vec is used to determine a customer's preference for book kinds. To anticipate book ratings, two criteria are

taken into account: consumer similarity and connection between customers and books. The experiment

demonstrates that the recommendation approach based on features outperforms the other methods in data from

offline bookstores. Our contribution is to address two critical issues: (1) We assess client choice on a variety of

criteria. (2) when paired with the offline book transaction feature. However, the following flaws existed: A

qualitative technique is used to determine the weight in the computation of weighted similarity between

customers, which could be improved further; in this article, the average method is used to determine the weight

used to change the projected rating, which could be improved further. Additionally, word2vec was utilized to

determine consumer preference for book kinds; a dimension of 50 was chosen, which warrants additional study.

Additionally, these procedures are not rigorously tested.

19
CHAPTER FIVE

SYSTEM DESIGN

5.1 OVERVIEW

The chapter focuses on the design of the system that is to be developed. The key areas to

consider are: Description of the new system, functional requirements of the new system,

non-functional requirements and the physical design.

5.2 Description of the proposed system

The virtual coding environment is a web application which uses JavaScript as coding language

for both back end and front end. It uses MySQL as the database for storing data generated by the

web app.

Figure 5.2.1: the user is able to log in

20
Figure 5.2.2. the user is able to register

21
Figure 5.2.3. The user is able to select a book and also the system is able to

give recommendations

22
Figure 5.2.4. The user’s profile

23
Figure 5.2.5. The user can select the categories of books he/she is interested in

24
Figure 5.2.6. The user is able to select and buy a book/s

25
Figure 5.2.7. The user UI running

26
Figure 5.2.8. The server running

27
28
5.3 Functional requirements.

The functional requirements refers to the what the user is expecting from the system.(Condron &

Tittemore, 2004)

The interface requirements include:

The field username accepts the alphanumeric characters and up to 150 characters.

The email field requires the ‘@’ symbol in order to be verified.

The password field should not be the same as the username.

The password field should be entirely numeric.

The login page does not accept invalid credentials.

The fields must be filled before pressing the register button.

The business requirements include:

Clicking submit in the user’s preference page will make the system predict the performance of

the student.

A statistic is generated according to how the system works.

By clicking submit on either the create account or login page sends the request to the database

for authentication.

Some of the compliance requirements will be:

Only superusers will have access to the database.

All changes in the database will be stored under actions to provide an audit trail.

The security requirements will compose:

29
Only the system administrator can add log entries.

Only the system administrator can change log entries.

Only the system administrator can delete log entries and any information concerning the student.

The system administrator is solely responsible for group creation and deletion.

5.4 Non-functional requirements

Non-functional requirements NFR imply important constraints upon development and behaviour

of software systems(Cysneiros & do Prado Leite, 2002). They are used to portray qualities such

as availability, usability, security, extensibility, data integrity, performance and maintainability.

As these qualities play a critical role in architectural design (Chung, Nixon, Yu, & Mylopoulos,

2011) they should be considered and specified as early as possible during the system analysis.

The system has enforced security of the user information by hashing the user’s passwords using

SHA-256 algorithm.

Data integrity refers to the practice of ensuring the database is correct. The system should

enforce data integrity by ensuring that there are no null entries to the database the system should

also enforce data integrity by providing user trails and removing duplicate data.(Pfeiffer, 2017)

Interoperability refers to the ability of two or more different information systems to exchange

data freely(McCartney, 2016).The system should improve interoperability by using open source

tools and cross-platform tools and packages.

5.4 Physical Design

The physical design specifies the methods for inputting, checking, and storing data; the physical arrangement of

data files; sorting techniques; and the precise format of reports, among other things.

30
Whereas logical design considers what the system must do, physical design considers how the

system will accomplish those goals.

5.5 Logical design

During the systems analysis phase, I build the logical design of an information system. The

logical design establishes the system's functions and characteristics, as well as the link between

its components. The logical design encompasses the output that the system must create, the

input required by the system, and the process that the system must produce, regardless of how

activities are physically completed.

31
CHAPTER SIX
SYSTEM IMPLEMENTATION

6.1 Overview

The chapter focuses on the implementation of the system that is to be developed. The key areas

to consider are: tools used for coding and testing, system test type/ plan/ process/ outcome and

the proposed system change over techniques.

6.2 Tools used for coding and testing

6.2.1. Node js

There is an open-source JavaScript runtime environment called Node.js that runs JavaScript

code outside of a browser. Node.js is available for free and runs on all major platforms.

JavaScript is supported by Node.js, allowing developers to write command-line tools and to

perform server-side scripting, which is the process of running scripts on the server to generate

dynamic web page content before the page is sent to the user's web browser (also known as

server-side processing). The result is a "JavaScript everywhere" paradigm,] which unifies web-

application development around a single programming language rather than using separate

programming languages for server- and client-side scripts.

6.2.2 npm

Npm (originally abbreviated for Node Package Manager) is a package manager for the Node.js

programming language.

JavaScript is a scripting language. It is the pre-installed package manager for the Node.js

JavaScript runtime environment. It comprises of a command-line client, also known as npm, and

an online repository of free and paid-for private packages known as the npm registry. The

32
repository is accessible through the client, and packages are viewed and retrieved using the npm

website. npm, Inc. manages the package management and registry.

6.2.3 Javascript

JavaScript, sometimes shortened as JS, is an interpreted programming language that

adheres to the ECMAScript standard. JavaScript, along with HTML and CSS, is a critical

component of the World Wide Web. JavaScript is a scripting language that allows

interactive web pages and is a necessary component of online applications. The great

majority of websites utilize it to control client-side page behavior, and all major web

browsers have a JavaScript execution engine.

6.2.4 Mysql

MySQL is a free and open-source database management system for relational databases

(RDBMS). Its name is derived from the combination of "My," the given name of co-founder

Michael Widenius's daughter, and "SQL," the acronym for Structured Query Language.

MySQL is available for free and open-source use under the provisions of the GNU General

Public License and a number of commercial licenses.

6.3 system test type

Unit testing, which is the practice of testing individual units or components of software,

Iused in my project. The goal is to guarantee that each component of the program performs

in the manner anticipated by the program's designers. When it comes to software

development, a unit is the smallest testable component that may be created. It usually

contains one or more inputs and one or more outputs, though not always. In procedural

33
programming, a unit may be any kind of program, function, or process that can be executed.

A method is the simplest unit of object-oriented programming, and it may belong to any of

three types of classes: the base/super class, the abstract class, and the derived/child class.

(Some people consider the module of an application to be a unit.) This is discouraged due to

the fact that the module will almost definitely have a number of different components.)

Frameworks, drivers, stubs, and mock/fake objects are all used to help in the unit testing of a

program.

6.4 system change over techniques

Parallel Changeover

This system employs parallel changeover, in which the new system operates concurrently with

the old for a certain length of time, since this method entails the least risk. If anything goes

wrong at any time during the system's operation, the whole system may be restored to its

original condition. A key downside of operating two systems concurrently is increased

expenditures. Additionally, the simultaneous switchover procedure might be rather time

demanding. It is recommended because this system has not been completely tested, which

means it may need some adjustments or may experience system crushes owing to not being

tested to its absolute limitations.

34
CHAPTER SEVEN
CONCLUSION AND RECOMMENDATION

7.1 Overview

In this chapter I am going to discuss the conclusions. This chapter discusses about the

achievements, limitations, conclusions and recommendations

7.2 Achievements

In this system all the objectives were met. The first objective was a reader is able to customize

the type of book to read. This helps the system to predict the type of books the reader is

interested in. Secondly the user is able to select a book online and due to big data in the

Recommender system the user has a wide variety of books to choose from. Thirdly, I used a

payment method for the system where the user is able to make payments on the system for a

specific item on the system. The system is able to keep track of the books the reader reads on

the system to enable a user either not to buy a book twice or maybe the user wants to refer to a

particular book. The system is also able to generate a report based on the interests of the reader.

Additionally, I was able to add an author's interface where authors can advertise their books and

also know the number of times their books sell and also they can be customers of other sellers'

books in order to further their work.

7.3 Limitations

7.3.1. Lack of Data

The primary difficulty with recommender systems is that they need a large amount of data in

order to provide meaningful suggestions (2009, January 28). It's no accident that the firms most

35
associated with outstanding suggestions are those that collect large amounts of customer data:

Google, Amazon, Netflix, and Last.fm. A good recommender system must first collect and

evaluate item data, then user data (behavioral events), and last the magic algorithm does its

magic. The more item and user data a recommender system has to work with, the more likely it

will provide accurate suggestions. However, obtaining solid references might be challenging.

You'll need a large number of users to amass enough data for the suggestions.

7.3.2. Changing Data

Over the years people change the way they think and also discover new things since due to

regular change, improvement and also discovering new technology people tend to write new

editions of books which makes it difficult for readers when it comes now the new data changes

in the way they think so they may start changing their preference. so the system admin may be

forced to keep adding and also removing books which are past time.

7.3.3. Changing User Preferences

People change interest according to the changes in lifestyle, age and environment. The system

uses algorithms to predict the interest of users in the recommender system and the machine is not

affected by the environment hence either the code or the algorithm the system will keep on

predicting the same choices the user chooses when beginning to use the system.

7.3.4. Unpredictable Items

In an article on the Netflix Prize (The Netflix Prize - ResearchGate. Retrieved September 15,

2020), about Netflix's $1 million award for developing a collaborative filtering system that

36
improves the company's own recommendation algorithm by 10%, I mentioned that there was

a problem with oddball films. A film that people either like or despise, such as Napoleon

Dynamite. Recommendations for these sorts of things are difficult to make, since consumer

reactions to them are often varied and unexpected.

7.4 Conclusions

Numerous recommendation systems based on collaborative filtering, content, and hybrid

recommendation approaches have been presented, however they all have significant

drawbacks that offer difficulties for future study. It is necessary to concentrate on this study

topic in order to discover and develop novel ways for overcoming obstacles and providing

recommendations for collaboratively filtering a broad variety of apps while taking quality and

privacy into account. Thus, the existing recommendation system requires upgrading in order

to meet current and future demands for higher recommendation quality.

7.5 Recommendations

In future the system may be created in such a way that authors may be able to negotiate the

selling price of the books with the sellers. Also, the problem of changing of user preference may

be looked at in such a way a formula is generated that if the user changes the preference the

system may be able to use that formulae to generate the formulae. Also, the system may also

increase what it recommends rather than books alone rather it can combine elements like movies

and music for entertainment purposes.

37
38
References
Noddings, N. (2013). Caring: A relational approach to ethics and moral education. Univ of

California Press.

Dingsøyr, T., Nerur, S., Balijepally, V., & Moe, N. B. (2012). A decade of agile methodologies:

Towards explaining agile software development

Gelman, A., Stern, H. S., Carlin, J. B., Dunson, D. B., Vehtari, A., & Rubin, D. B.

(2013). Bayesian data analysis. Chapman and Hall/CRC.

Gajski, D. D., Dutt, N. D., Wu, A. C., & Lin, S. Y. (2012). High—Level Synthesis: Introduction

to Chip and System Design. Springer Science & Business Media.

Draugalis, J. R., & Plaza, C. M. (2009). Best practices for survey research reports revisited:

implications of target population, probability sampling, and response rate. American journal of

pharmaceutical education, 73(8), 142.

Maxwell, J. A. (2012). Qualitative research design: An interactive approach (Vol. 41). Sage

publications.

M. Pazzani, D. Billsus, Content-based recommendation systems, in: P. Brusilovsky, A. Kobsa,

W. Nejdl (Eds.) The Adaptive Web, Springer Berlin Heidelberg2007, pp. 325-341

M. Deshpande, G. Karypis, Item-based top-N recommendation algorithms, ACM Transactions

on Information Systems (TOIS), 22 (2004) 143-177

P. Resnick, N. Iacovou, M. Suchak, P. Bergstrom, J. Riedl, GroupLens: an open architecture for

collaborative filtering of netnews, Proceedings of the 1994 ACM Conference on Computer

Supported Cooperative Work, ACM, Chapel Hill, North Carolina, USA, 1994, pp. 175-186.

39
R. Burke, Hybrid recommender systems: survey and experiments, User Model User-Adap Inter,

12 (2002) 331-370.

R. Burke, Hybrid web recommender systems, in: P. Brusilovsky, A. Kobsa, W. Nejdl (Eds.) The

Adaptive Web, Springer-Verlag, Berlin Heidelberg2007, pp. 377-408.

B. Smyth, P. Cotter, A personalised TV listings service for the digital TV age, Knowledge-Based

Systems, 13 (2000)

53-59.

D. Billsus, M. Pazzani, User modeling for adaptive news access, User Model User-Adap Inter,

10 (2000) 147-180.

D.C. Wilson, B. Smyth, D. O'Sullivan, Sparsity reduction in collaborative recommendation: A

case-based approach,

International Journal of Pattern Recognition and Artificial Intelligence, 17 (2003) 863-884.

D. O'Sullivan, B. Smyth, D. Wilson, Preserving recommender accuracy and diversity in sparse

datasets,

International Journal on Artificial Intelligence Tools, 13 (2004) 219-235.

M. Pazzani, A framework for collaborative, content-based and demographic filtering, Artificial

Intelligence Review,

13 (1999) 393-408.

A. Bellogin, I. Cantador, F. Diez, P. Castells, E. Chavarriaga, An empirical comparison of social,

collaborative

40
filtering, and hybrid recommenders, ACM Transactions on Intelligent Systems and Technology

(TIST), 4 (2013) 1-29.

G. Adomavičius, A. Tuzhilin, Toward the next generation of recommender systems: a survey of

the state-of-the-art

and possible extensions, IEEE Transactions on Knowledge and Data Engineering, 17 (2005)

734-749.

(B. Smyth, Case-based recommendation, in: P. Brusilovsky, A. Kobsa, W. Nejdl (Eds.) The

Adaptive Web, Springer Berlin Heidelberg2007, pp. 342-376.).

(2011, September 15). Announcing Goodreads Personalized Recommendations......Retrieved

September 15, 2020, from

https://www.goodreads.com/blog/show/303-announcing-goodreads-personalized-recommendatio

ns

(n.d.). (PDF) Nonfunctional Requirements: From Elicitation to.....Retrieved September 15,

2020, from

(PDF) Nonfunctional Requirements: From Elicitation to Conceptual Models

(n.d.). Non-Functional Requirements in Software ... - Springer. Retrieved September 15, 2020,

from https://www.springer.com/gp/book/9780792386667

(n.d.). Michelle Pfeiffer - Wikipedia. Retrieved September 15, 2020, from

https://en.wikipedia.org/wiki/Michelle_Pfeiffer

41
(n.d.). interoperability - what is interoperability? - Innovatemedtec. Retrieved September 15,

2020, from https://innovatemedtec.com/digital-health/interoperability

(2009, January 28). 5 Problems of Recommender Systems - ReadWrite. Retrieved September 15,

2020, from https://readwrite.com/2009/01/28/5_problems_of_recommender_systems/

(n.d.). The Netflix Prize - ResearchGate. Retrieved September 15, 2020, from

https://www.researchgate.net/publication/223460275_The_Netflix_Prize

42
APPENDICES
APPENDIX 1: QUESTIONNAIRE

1) The best reading experience you have ever had?

2) Which book has affected or influenced you the most so far?

3) Have you ever read a book that you got really scared of?

4) What do you use as a bookmark?

5) When do you usually read? At home, work, while cooking, in the morning,

noon, afternoon, before you go to bed...?

6) Do you remember the first book that you read?

7) Which do you prefer - paperback or hardcover?

8) What are you currently reading? What page are you on?

9) Do you ever leave "a mark" (deliberate and/or not deliberate) in your books?

For example, write in them, underline quotes, coffee marks or food crumbs and

etc.

10) Does the title, amount of pages and the cover affect you when you are

considering a specific book?

11) Do you ever browse through to the last pages in order to find out the ending?

12) Have knowing the ending of a book (example, through spoilers or a movie) ever

made you decide whether you will read the book or not?

13) Is there a book that you have read more than five times?

43
14) Have you ever been in an accident where the book was the cause? (for example, almost

getting hit by a car when reading while walking, or having stacks of books falling on you

from a bookshelf...)

44
APPENDIX II: BUDGET

Description Unit Costs Quantity Total Cost


Item
(Kshs)

Documentation and literature

Internet services Twin wifi 1000 4 4000

Printing, Scanning, Photocopying and Documentation 10 1500


150
Binding

Data collection and analysis

Data collection Transport fee 3000 1 3000

Model Implementation

Professional fee for Programmers Assistance fee 500 2 1000

Experiment/ Case study

Research Assistants Lunch 200 2 400

Integrating 1 400

Consultation fee project 400

modules
Travel

Professional Conferences and Udemy online 1 600


600`
Workshop conference

45
Total 5750 21 14,900

46
47

You might also like