The natural language processor works by combining multiple modules to parse grammar, assume meaning, and deliver an appropriate response. In essence, when a conversant (the user) offers input the software re-arranges the language (be it English, French, or Japanese) so as to understand what is being said and in what context. It passes the text through a lexical analysis tool which determines if the conversation (or part of it) has been had before and (if so) how it was different or similar. This relies on fuzzy logic which allows both flexibility and extensibility.
After initial analysis is performed a set of possible responses are evaluated. The best response is based on past experience or prescribed behavior, depending on the state of the conversation. The response is then chosen or constructed, and that response is returned to the conversant with an appropriate animation that conveys the appropriate emotional context.
Source code is available for review.
|