HighlightsArchitecturally, the structure of a NativeChat bot’s “Cognitive Flow”— conversations, reactions, and understanding of relevant data, resembles a declarative finite state machine like XState or AWS’s Step Functions. Natural Language Processing and the chatbot training you add to the program act as the “events” or “triggers” used by the Cognitive Flow “state machine”. Examples of these are:
- determining what conversation the user is in
- understanding what information the user has already provided
- deciding whether the conversation with the user is complete
Coolest feature cornerNativeChat is great at getting as much information as possible all at once. For example, going through the tutorial, I defined things like how to start a conversation to rent a car and specific questions for rental start dates, end dates, countries, and cities. But just from those definitions, it was smart enough to respond to a user saying something like “I want to rent a car from today to tomorrow in Paris, France,” and it would grab all of the information and jump ahead to asking what kind of car I would like to rent.
- NativeChat comes with a comprehensive and intuitive core set of actions and reactions of a chatbot. Things like conversations, goals, messages, questions, acknowledgments, ambiguities, and suggestions are available to you to use or customize for your configured conversations.
- NativeChat also contains a good set of in-chat UI components called “reply templates” to make it easy for users to know how to reply. These reply templates even offer the user formatted data that might be difficult for the user to input correctly. Dates, times, and other structured formats come to mind.
- Machine Learning or “bot memory” to be used when providing suggestions based on a user’s previous conversational choices.
- The NativeChat product contains robust templating and logical language for response generation, data validation, and data transformation.