This project is a natural language processor that works by tokenizing the input and then matches the structure of the tokens recognized to operations. It's easy to use and extend.
Most NLP engines employ machine learning to interpret the input. This means they ship with binary files containing the data describing what the engine understands. How does one modify these binary files to add domain specific language to the engine?
SpeakToMe defines this information in code which makes it quite easy to extend the vocabulary of the engine.
Supports the system asking questions of the user to clarify input.
Allows the user to define any number of variations of statements the system can react to. This allows the developer to support multiple ways of saying or asking for the same thing.
Supports asynchronous replies. In some situations, you’ll want to respond to a user’s input by stating that a process is underway and then later specify the actual response to the input.
Please see the documentation page for more information.