Indexed Concept Parsing is demonstrated in a simple system for interacting with customers, in a micro version of the Casper Project. This code was written in Macintosh Common Lisp, version 2.1, but should be portable to other Lisps as well.
There are five sections of the Code/ various utilities, a frame system, a version of Direct Memory Access Parsing, and a version of indexed concept parsing. All of these are combined in the micro-Casper verison.
- Micro-frame.lisp
- A simple frame system, based on code by Chris Riesbeck. It supports frame definition, features, abstractions and specializations.
- Micro-DMAP.lisp
- A simple version of Direct Memory Access Parsing, based on code by Chris Riesbeck. It is based on the simple frame system.
- Micro-ICP.lisp
- A simple version of indexed concept parsing. It uses a DMAP-based matcher, and the frame system.
- Micro-Casper.lisp
- A simple conversation system, based on the Casper tutorial, which shows how indexed concept parsing works.
- Micro-Casper.data
- Data for the conversational turns between the customer and the customer service representative.
- frames.data
- Frame data.
- phrases.data
- Phrases attached to frames.
- associations.data
- Associations between index concepts (frames) and target concepts (customer service representative statements).
Much of the code depends on the availability of these utilities.
- ICP.system
- This is the loader file for Micro-Casper. It defines packages and a simple loading system. It also defines specific file dependencies.
- tables.lisp
- This is a simple table facility; that is, a way to simply define key to data tables.
- toList.lisp
- List creation tools; specifically, converting strings into lists.
- logging.lisp
- Logging facility.
The following packages are defined:
- icp
- Indexed concept parsing.
- frames
- Frame package.
- dmap
- Direct Memory Access Parsing.
- log
- Logging utility.
- capser
- Micro-Casper
In order to run Micro-Casper, do the following:
- Edit the file ICP.system and change the appropriate path names.
- Load the file ICP.system.
- Run (SETUP)
An example run of the Casper system can be seen in the Casper example file.