Messaging bots

  • Stateless chat and chatterbots brought us entertainment value. Most bots today (2017) are still stateless. The bots do not maintain the state of the conversation.
  • Then came semi-stateless bots. They do not process each message as if it is coming from a new user. They maintain some basic details about a user, like ID, phone number, and/or user name. They allow for piecemeal refinement of a conversation.
  • Stateful bots keep the history of each conversation they have had with a user. What a user wrote or asked for before is reviewed, and the bot can adjust responses based on that. They can easily fool you into thinking you are conversing with a human. Review of information is not too deep and is triggered by contact with a user.
  • The latest bots keep reviewing the history of the interaction on a regular basis, on their own schedule. Recorded messages contain a lot of clues into underlying patterns that can reveal deeper intentions, and that a user may or may not want disclosed to the owner of the bot (or anybody else for that matter).

We seem to be in the beginning of what looks like a Messaging Explosion to me. Bots are the new black, everyone wants to build one. If you want to build one, unless you have chewed and rechewed Natural Language Processing, public APIs are your safest bet. For building a bot that has to understand a single command, current APIs (and frameworks) will work well.