Program to built book recommendation system, Programming Languages

Assignment Help:

1 Problem Description

The task of the assignment is to build a book recommendation system for Auer Libraries. The system is to be implemented in Prolog and as the owners of the library intend to extend their collection beyond its current contents the book recommendation system should work with more than just the sample library provided.

Analysis has deemed the following structure for the book items:

books(book(title(Title),
author(Surname, GivenName),
type(Type),
pages(NoOfPages),
series(SeriesTitle),
genre([X, Y, Z]))).

Users of the system should be prompted to determine what type of book they would like to read based on what genre (or genres) they would like to book to fall into, the length, whether or not it belongs to a series. Though the sample library provided is small it must be remembered that the actually library currently numbers over 3000 items and as a result asking only one question is likely to be insufficient, however the system must not require that ALL possible questions are asked of the user: if the user is happy with the provided list of recommendations is small enough then no further questions are to be asked.

Book length is given in number of pages however users are never going to know the exact number of pages so when asking length you will need to ask if they want a short (<250 pages), medium (250-500 pages), long (501-900 pages) or epic length read (greater than 900 pages). (Note epic length can also result from a set of short and/or medium books in the same series.)

Genres implies that a user may want to read a fantasy/romance thus a book MUST belong to both genres to be recommended (it can belong to other genres as well). If a user wishes to read pure fantasy then it MUST ONLY belong to that genre. If a user wants to read fantasy, but does not require pure fantasy then the book MUST have fantasy as one of its genre list but is not required to have only fantasy as its genre.

1.1 Data set.

books(book(title(‘On Basilisk Station'),
author(weber, david),
type(hardcover),
pages(240),
series(‘Honor Harrington'),
genre([‘science fiction'])),
book(title(‘Honor of the Queen'),
author(weber, david),
type(hardcover),
pages(267),
series(‘Honor Harrington'),
genre([‘science fiction'])),
book(title(‘Honor Among Enemies'),
author(weber, david),
type(hardcover),
pages(267),
series(‘Honor Harrington'),
genre([‘science fiction'])),
book(title(‘Pawn of Prophesy'),
author(eddings, david),
type(paperback),
pages(300),
series(‘The Belgariad'),
genre([‘fantasy'])),
book(title(‘Queen of Sorcery'),
author(eddings, david),
type(paperback),
pages(350),
series(‘The Belgariad'),
genre([‘fantasy'])),
book(title(‘Regency Buck'),
author(heyer, georgette),
type(paperback),
pages(321),
series(),
genre([‘romance', 'regency', 'historical'])),
book(title(‘The Nonesuch'),
author(heyer, georgette),
type(paperback),
pages(324),
series(),
genre([‘romance', 'regency', 'historical'])),
book(title(‘Taming Lord Renwick'),
author(savery, jeanne),
type(paperback),
pages(240),
series(‘The White Tiger'),
genre([‘romance', 'regency', 'historical'])),

book(title(‘Lady Serena's Surrender'),
author(savery, jeanne),
type(paperback),
pages(248),
series(‘The White Tiger'),
genre([‘romance', 'regency', 'historical'])),
book(title(‘Pride and Prejudice'),
author(austen, jane),
type(paperback),
pages(324),
series(),
genre([‘romance','historical'])),
book(title(‘Burnt Offerings'),
author(hamilton, laurell),
type(paperback),
pages(324),
series(‘Anita Blake: Vampire Hunter),
genre([‘romance','supernatural'])),
book(title(‘Blue Moon'),
author(hamilton, laurell),
type(paperback),
pages(323),
series(‘Anita Blake: Vampire Hunter),
genre([‘romance','supernatural'])),
book(title(‘The Dark Is Rising'),
author(cooper, susan),
type(paperback),
pages(200),
series(‘The Dark Is Rising'),
genre([‘fantasy', 'historical', ‘young adult'])),
book(title(‘Greenwitch'),
author(cooper, susan),
type(paperback),
pages(200),
series(‘The Dark Is Rising'),
genre([‘fantasy', 'historical', ‘young adult'])),
book(title(‘Bride of the Mist'),
author(skye, christina),
type(paperback),
pages(456),
series(‘Draycott Abbey'),
genre([‘fantasy', 'historical', ‘romance'])),
book(title(‘Key to Forever'),
author(skye, christina),
type(paperback),
pages(384),
series(‘Draycott Abbey'),
genre([‘fantasy', 'historical', ‘romance'])),

book(title(‘Hour of the Rose'),
author(skye, christina),
type(paperback),
pages(384),
series(‘Draycott Abbey'),
genre([‘fantasy', 'historical', ‘romance'])),
book(title(‘Lord Of The Rings'),
author(tolkien, jkk),
type(paperback),
pages(1024),
series(‘'),
genre([‘fantasy'])),
).

2 Requirements
The following requirements should be satisfied when building the system.
(1) The system should be built using PROLOG.
(2) The system should be menu based. This means it allows the user to choose functions during its execution.
(3) The system should be interactive. It acquires information of a sample by asking a sequence of questions which answered by the user. Those questions MUST be multiple-choice questions. The system then recommends a book based on information provided by the user.
(4) Rules in the system should be as general as possible. This means you should separate data from rules, and hence, minimise the usage of constants in the rules.


Related Discussions:- Program to built book recommendation system

Jsp - quiz, JSP QUIZ ASSIGNMENT SHOULD BE FUNCTIONAL ON ECLIPSE QUIZ HAS ...

JSP QUIZ ASSIGNMENT SHOULD BE FUNCTIONAL ON ECLIPSE QUIZ HAS TOTAL 20 QUESTIONS REGARDING VARIOUS CAPITALS OF COUNTRIES. WELCOME PAGE OFFERS USER TO ENTER HIS NAME. THEN USER C

Write a shell script to find the maximum of three numbers, W.A.S.S to find ...

W.A.S.S to find the maximum of three numbers Program # W.A.S.S to find the maximum of three numbers echo "Enter three No.:" read no1 read no2 read no3 if test $no1 -gt $n

Design an application that opens and analyses word files, Design an applica...

Design an application that opens and analyses word files. Requirements: Create an application that analyses text documents. It should open a text file, read each word in

Explain inheritance and polymorphism in lingo programming, Question: (a...

Question: (a) Explain the concepts of Inheritance and Polymorphism in Lingo programming. (b) Write short descriptions on parent scripts and child objects in Lingo object

Need help for crowdsporting website development, CrowdSporting Website Deve...

CrowdSporting Website Development I want an advanced web developer to spend 1-2 days coding our newly designed website. It will be a single page scrolling site, fully designed a

Create a fortran program for represent a convex polygon, In analytical geom...

In analytical geometry, a convex polygon can be represented by the Cartesian coordinates of its vertices, x and y. Assume such data of a polygon are stored in a file called "vertic

Pl sql project, create a small database for a company, require at least 4 t...

create a small database for a company, require at least 4 tables. also, have 4 business report, oracle built-in function, 5 string, 5 number or math functions, 5 date and time func

Selection structure, Name : Jaya Malathy IC No : 99011460923 Quiz 1 : 20....

Name : Jaya Malathy IC No : 99011460923 Quiz 1 : 20.5 Quiz 2 : 22.5 Quiz 3 40.5 Total marks = 83.5 Name IC No Quiz1 Quiz2 Quiz3 Grade --- ---- ---- ---- ---- ---- Jaya 990

Create hijara game application, Assignment is to create hijara game on any ...

Assignment is to create hijara game on any plate form, you can use any plate form you like or easy to you. For instance let's say you can use visual studio, game studio (Prefer to

Pseudo code, I need help putting this into a flowchart constant c as Intege...

I need help putting this into a flowchart constant c as Integer = 3500 Constant CALORIESTOOUNCE as Integer = 219 Declare Sex as Character Declare Age as Integer Declare Weight as I

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd