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

Explain the do - while statement - computer programming, Explain the Do - W...

Explain the Do - While Statement - Computer Programming? A do - while loop is an exit controlled loop and the body of the loop gets executed at least once if the condition is n

Learning when and how to use a while loop, 1.  A function that produces the...

1.  A function that produces the Collatz sequence and counts the number of terms. 2.  A main function that calculates interesting values about the Collatz sequence. 1.The Col

Double roots, This case will lead to similar problem that we've had all oth...

This case will lead to similar problem that we've had all other time we've run in double roots or double eigenvalues. We only find a single solution and will require a second solut

Program to explore page replacement algorithms, Objective: The purpose of ...

Objective: The purpose of this programming project is to explore page replacement algorithms. This can be accomplished by developing a simple simulator that implements various pag

Javascript variables and datatypes, Let us first see the skeleton of a Java...

Let us first see the skeleton of a JavaScript file. JavaScript code should be written between the and tags. The value LANGUAGE = "JavaScript" indicates to the browser that J

Write a program that makes a drawing of a skyscraper, 1. Write a program th...

1. Write a program that figures out how long it will take to pay off a credit card by making payments of $10 each month. Take care to avoid infinite loops. (How would a bank preven

Mobile application in android platform phones, Recent problems in finishing...

Recent problems in finishing implementation: This mobile application is built with Sencha Touch framework. Source code is attached in this zip package. The daily rest calc

econometrics using r, EF308 Assignment 2 Due: 3pm, 26 April 2012 Introduct...

EF308 Assignment 2 Due: 3pm, 26 April 2012 Introduction This assignment is loosely based on Cheung et al. (2005) and Molodtsova and Papell (2009) and examines the out-of- sample pr

Define a procedure that takes a list as a single argument, (a) Define a pro...

(a) Define a procedure (subsets x) that takes a list as a single argument and returns all 2^n subsets of that list, i.e. the power set of the list; e.g. (subsets '(a b c)) ==> (

Program to reads a sequence of integer numbers , Task: This assignment...

Task: This assignment is about writing programmes and Web Services in C#: 1) Develop a console programme that reads a sequence of integer numbers from the console and sorts

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