Expert Systems
Project 2
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.
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.
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.
Sample output

Sample Questions





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.
The idea is sound, I believe. I think there are enough characteristics to include a wide range of books.
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.