MikeHopcroft / ShortOrder

A natural language conversational agent for ordering and organizing items from a catalog.
MIT License
13 stars 7 forks source link

short-order build codecov

NOTICE: we're in the process of a major refactoring.

Commit e00b2205 is the last version that maintains the functionality described in the original README.md. This commit is tagged deprecate-original.

The last NPM package version with the original algorithm is short-order@v0.0.48.

Much of the original code will be stored in the archive folder until the refactor is complete and the original functionality is restored.


short-order is an experimental natural language conversational agent intended for domains with a fixed vocabulary of entities and a small number of intents. Uses might include ordering food from a restaurant or organizing your song collection.

short-order is based on a pattern-driven tokenizer from the companion token-flow project and a menu library from prix-fixe. For more information on configuring short-order, please see our concepts explainer.

Try It Out

short-order is currently in the earliest stages of development, so documentation is sparse or nonexistant, and the code stability is uneven.

If you are interested in taking a look, you can clone the repo on GitHub or install short-order with npm.

Building short-order

short-order is a Node.js project, written in TypeScript. In order to use short-order you must have Node installed on your machine. short-order has been tested with Node version 10.15.3.

% git clone git@github.com:MikeHopcroft/ShortOrder.git
% npm install
% npm run compile

Configuration

Before using short-order, you must tell it where to find the menu data files, using one of the following three methods:

short-order includes a number of working samples, based on a ficticious restaurant. These files can be found in samples/data.

These samples are not included in the short-order npm package. To use them, you must clone the repo from GitHub.

Samples (COMING SOON)

This section will describe the following sample applications:

Conversational Agent Design Notes

Here's a very brief roadmap for the project.