May 3, 2000
CSCI 222 – Expert Systems
Spring 2000
Project 2 – Classification
(Chris)Tina Rogers
Introduction
I used the VisualWave problem solver tool to implement a Classification expert system. The TreeClassifier.st contains a body of knowledge for tree identification. I used the reference "Textbook of Dendrology" by Harlow, Harrar and White as the basis of the expertise. The Classification tool in the VW Problem Solver allowed me to represent the majority of the textbook. As you can see from the
The Structured Matcher , many of the families is each group are represented. In the gymnosperm subdivision, the majority of the species are represented. Each ‘final answer’ contains a description of the family or genus.The user is expected to understand a handful of botanical terms to help evaluate and narrow the choices in the classifier. Continued answers of "Unknown" result in a "No Applicable Selections Found" message.
Background
Textbook of Dendrology" by Harlow, Harrar and White
California Tree Finder by Randall, Keniston, Bever, and Jenser
Using VisualWave and Generic Tasks by Keuneke
Introduction to Expert Systems by Jackson
Other implementations
Oregon State University: coniferous tree identification using dichotomous key
http://www.orst.edu/instruct/for241/dk/index.html (appears to use html/cgi scipt)Hillview school, Canada: implemented in html. Dichotomous key
http://www.sd22.bc.ca/hillview/treeid.htmLots more sites, all done in cgi and html. Just use the keywords "tree identification" and you will turn up a lot of sites with nice pictures etc…
Description
I used the Classification tool in the VW Problem Solver which uses the ‘establish and refine’ technique to move along the branches of the structured matcher. Each node contains a subtask that is defined in the database. The subtask is evaluated to determine if it should be accepted or rejected. Each node represents the narrowing of the knowledge input into the system. As you move towards the leaf nodes (essentially the answers to the classification of the target tree species), the questions become more detailed to help narrow the answer set to an appropriate one.
Each database entry required setting up a table matcher. At times the table matcher became extensive depending upon the number of database variables used to determine the answer. Also, each combination of values for the database variables (the rows in the table matcher) contains a weighted result. At times, I don’t believe I covered all possible values for each database variable which may skew the results. It sometimes was difficult to assess the weighted result based on the database variable value. Sometimes it was not clear-cut if a result should be matches or weakly matches.
Sample Runs
A Successful Run An Unsuccessful Run
Limitations
I would have like to be able to display information at intermediate nodes when an "unknown" answer prevent any further progress. Each node in the Structured Matcher allows the entry of a description. If the test case successfully traverses to a terminal node, the description is displayed for the user. If the answers for the test case leave the system in an indeterminate state (i.e. stopping at one of the intermediate nodes), no information can be relayed to the user even though, at times, it might be appropriate to provide some information (see
An Unsuccessful Run).No Picture capability!
Goodness
It was easier to more fully represent tree species using this tool rather than CLIPS. Once I learned how to use the structured matcher and how to populate the database, I was able to concentrate on the expertise domain. This is in direct contrast to project 1 where I felt I spent most of my time trying to get the tool to behave as I wanted.
Where to go from here…
The Structured Matcher could be expanded to include all of the genus and species for the angiosperms. I filled out the majority of the gymnosperms but left the angiosperms at the family level.
It would also be helpful to add pictures at each of the nodes to clarify what the question is really asking about. It would be great to pictorially represent each of the question and have the user select from a list of pictures. It would also be useful to represent the final answer with text and a picture.













