Jonathan Fox

Expert Systems

Project 2

 

Source Code

 

Introduction

 

Have you ever seen the book lists they have on amazon.com.  When you search for a book, lists of related books pop up.  These list were made by people and linked to the topic you searched for.  Why not extend that idea and have a hierarchical list that will be tied to topics and recommend books based upon certain characteristics. 

 

 

Background

 

This system helps rate books based upon topic and characteristics.  The following characteristics are used:

 

The system is designed around the books I like and how I characterize them.  I did not really use outside references, besides getting the idea from amazon.  

 

 

My System

 

As I said above this program will recommend a book based upon topics and characteristics.  First off I broke the books up into my three favorite genres: science fiction, fantasy, general fiction.  After that I did another subdivision of topics and also had books characterized.  The final subdivision was just books or authors characterized.  Generally I had three different characterizations for each book or author.  One characterization for strong match, match, and weak match.

 

 

Walk Through

 

 

 

 

 

 

Sample output

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Sample Questions

 

 

 

 

 

 

 

 

Limitations

 

I guess everyone has harped on this, so I will too.  The tool needs some help.  It would have been better to make it a scripting language or a command line interface.   There should be Excel type spread sheets for the tables.  I could go on, but you already know it has problems. 

 

For my project the simple hierarchical problem solver was sufficient.  When I first tried to implement this book hierarchy, I had some misconceptions about the tool.  I thought the tables would match every row and add up the results.  Consequently I had to reassign my tables.  I did not take into consideration the affects of Unknown answers.  These answers will make for most hierarchy to fail.

 

I should have put more topics on the tree.  Not every one likes Sci-Fi. 

 

Rightness

 

The idea is sound, I believe.  I think there are enough characteristics to include a wide range of books.

 

Future Enhancements

 

First off, make the tree handle unknowns better.  Also work on making the topics part of the tree better.  There are a lot of paths that will not recommend any books.  Adding more books and having more flexible characteristics would help with this.  Having a way to have new books characterized and added to the tree by users would be fairly cool.  I think using a different tool might make this idea more plausible to implement.