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

Characteristics of procedure-oriented programming, Characteristics of proce...

Characteristics of procedure-oriented programming: Emphasis is on doing things (algorithms). Large programs are divided into smaller programs known as functions.

Html code to create a web page design , 1.  Develop HTML code to create a W...

1.  Develop HTML code to create a Web page with the red background and title "My First Page" in any other color. 2.  Develop an HTML document with details of your name, telephon

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

Develop an application for airraid game, Extend the AirRaid game, so that t...

Extend the AirRaid game, so that the planes drop a bomb on the gun as they go over it. The gun has to move out of the way otherwise it will be destroyed if hit. Provide three lives

Motion field matlab with quiver, how to get the HORIZONTAL motion field fro...

how to get the HORIZONTAL motion field from motion vectors matrices

Robot factory game, A deterministic finite automaton (DFA) is an abstract m...

A deterministic finite automaton (DFA) is an abstract machine that reads input from a serial (nonreversible) stream and changes between a finite number of  states according to the

Design program that presents animation of the solar system, Figure is a rep...

Figure is a representation of the solar system. In a basic model of the same concentric orbits planets rotate around the sun. The closer the Planet in less time Sun completes a ful

What are the Functions in Computer Programming, What are the Functions in C...

What are the Functions in Computer Programming? A program is completed up of one or more functions, with one of these being main(). Function is a self-contained block of progra

Microsoft intermediate language in .net, Microsoft Intermediate Language in...

Microsoft Intermediate Language in .NET When you create value in any terminology and gather, it will be changed to an 'Intermediate Language' (Microsoft Advanced Language - MSIL

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