An open API service indexing awesome lists of open source software.

https://github.com/willf/lisp_dmap

Lisp version of DMAP (Dynamic Memory Access Parser) and ICP (Indexed Concept Parser)
https://github.com/willf/lisp_dmap

Last synced: 5 months ago
JSON representation

Lisp version of DMAP (Dynamic Memory Access Parser) and ICP (Indexed Concept Parser)

Awesome Lists containing this project

README

          

Indexed Concept Parsing code

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.