Indexed Concept Parsing code

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.

Files

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.

Frame System

Micro-frame.lisp
A simple frame system, based on code by Chris Riesbeck. It supports frame definition, features, abstractions and specializations.

Direct Memory Access Parsing

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.

Indexed Concept Parsing

Micro-ICP.lisp
A simple version of indexed concept parsing. It uses a DMAP-based matcher, and the frame system.

Micro-Casper

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).

Utilities

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.

Packages

The following packages are defined:
icp
Indexed concept parsing.
frames
Frame package.
dmap
Direct Memory Access Parsing.
log
Logging utility.
capser
Micro-Casper

Running Micro-Casper

In order to run Micro-Casper, do the following:
  1. Edit the file ICP.system and change the appropriate path names.
  2. Load the file ICP.system.
  3. Run (SETUP)
An example run of the Casper system can be seen in the Casper example file.