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

Visual basic.net, how to create a screen for messages for a data transmissi...

how to create a screen for messages for a data transmission system

Define a procedure that takes three numbers as arguments, Translate the fol...

Translate the following formula into a prefix form expression in Scheme: Question 2 Define a procedure that takes three numbers as arguments and returns the sum of the squ

Systems of differential equations, In this section we need to take a brief ...

In this section we need to take a brief look at systems of differential equations which are larger than 2 x 2. The problem now is not like the first few sections where we looked at

Computer programming on human algorithm, 1.   You have been asked to write ...

1.   You have been asked to write a computer program that will figure out the total of an order when given the amount of the order ($200) and a sales tax rate of five percent.  I w

Programming and modelling in uml, Introduction Currently, Omega has 178...

Introduction Currently, Omega has 178 stores UK wide. Most cities and large towns within the UK are catered for by Omega. Omega began in 1960's selling various makes of telep

Write a perl program to design a computer game, Write a Perl program ghici....

Write a Perl program ghici.pl, one of the simplest computer games. The program should generate a random integer between 1 and 1000 and asks the user to guess it. If the user ?nds t

JavaScript Language , JavaScript is "Object Oriented" like C++ or Java. (No...

JavaScript is "Object Oriented" like C++ or Java. (Note that Java and JavaScript are not the same language, which is a common misconception) It also has variables, which makes Java

Produce a hierarchy chart-a structured flowchart, Produce a hierarchy chart...

Produce a hierarchy chart, a structured flowchart, and a Pascal program (with appropriate comments) to generate the Sales Commission Report shown below. The commission for each sal

3-Tier Architecture in asp.net, I am getting error at business layer object...

I am getting error at business layer object in code behind page.

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