Wit.ai’s interface for creating tales for chatbots
However, I soon recognized that this isn’t what you want in my purposes. With ًWit.ai, the bot’s reply is probabilistically determined in line with the current user message. This might sometimes create a sudden transition in the bot replying towards the first “hello” to replying to a new message that contains “hello” in a later stage. The lack of the “state” concept introduces this unpredictability. This isn’t to say the quirks from the interface itself, where deleting a person chat entry can delete all of the records beneath it (without any undo option). Accordingly, I deducted when I do not want my bot to leap in one subject to a different, I’d better stick to more deterministic bots.
The following concept that found me was coding the bot logic on your own with no underlying framework. I understand a couple of buddies who invested a great deal into this type of task. It involved building an effortlessly extendible logic graph, verifying logical consistency among scenarios, etc. I saw this as quite an attempt for any simple site’s chatbot engine. With a few Googling around, I came across an simpler path: “Chatbot Scripting Languages.”
Interestingly, these languages have been in existence for approximately fifteen years now, that is prior to the current rush of curiosity about chatbots. AIML, or Artificial Intelligence Markup Language, was produced in 2001 and used XML for creating natural language chat agents. RiveScript, that we made the decision to make use of, even relieves the developer from writing in XML and helps make the first little bit of the first bot as simple as writing:
+ hello bot- Hello, human!
Many people would state that these kinds of chatbots don’t satisfy the AI-based™ label for contemporary chatbots which are built on more involved NLP. However, I still think that no smooth chatbot experience could be perfected without borrowing more structure from chatbot scripting languages. What this means is less reliance upon machine learning for predicting the following path within the chat and presenting a less fuzzy idea of “state” or “topic”.