Chatbots

Chatbots are classified into two broad categories

  • Goal oriented dialogs
  • chitchats

Types of chatbots

  • Exact answer or FAQ bot
  • Flow based bot
  • Open-ended bot

A Pipeline for Building Dialog systems

Building Conversational bots with RASA

RASA is a Task oriented dialogue system. It is a framework that makes it easier to build custom chatbots

There are two mechanisms inside Rasa to drive conversational AI:

  • NLU
  • Dialog Policy

NLU

It accepts text and turn it into intents and entities. It can be rule based or based on neural networks.

Rule based

Using Regular Expressions. It Can’t handle things they haven’t seen before.It is more lightweight and require domain knowledge.

Neural Network Based

Transformer based model (DIET) that sorts text into intents and entities based on examples it’s been provided. It require more compute and training examples. It is good at handling thins they haven’t seen before.

Dialogue Policies

It predicts the next action to take. The next action is determinec by current intent and entire conversation so far.

It is again based on rules or neural networks.

Rule based

Rule based - Traditional method. Can’t handle digressions and are difficult to extend

Neural Network Based

Neural - Transformers (TED) picks the next best turn based on conversation so far and all the conversations it’s been trained on.

How to make conversations work

It works better with more high quality data. we have to manually Review and annotate the conversations. correct any errors made by the bot and add them to the training data, retrain and redeploy. This approach is called Conversation Driven Development.

Annotation Framework

Wrapper frameworks are available for Rasa, which eases the data annotation process to generate large-scale dialog datasets. Chatette is such a framework

RASA Development Architecture

RASA Architecture