top of page
Search
Writer's pictureJEET BAROT

Need a friend to talk? AI is there for you.

Updated: Dec 7, 2020

Conversational AI & Chatbot


What is Conversational AI?

You may have seen the chat-box pop-ups on many websites. There is no human sitting in the backend of the process. Instead, we use computers to speak/chat like humans and communicate. Conversational AI can be manifest in many ways, but the use of chatbots is tremendously based on the fact that we prefer having human-like conversations. Conversational AI is the technology that makes it possible for artificial intelligence to interact with humans in a humanlike natural way. A chatbot is a technology that uses the concept of conversational AI to interact with humans. It comprehends and engages in contextual dialogue using NLP and additional ML algorithms.





Components

Conversational AI uses techniques such as Automatic Speech Recognition, Natural Language Processing, Intent to understand, Natural language generator, and Machine Learning (ML) to interact in a human-like manner.

There are many types of conversational AI bots. Some examples are:

  • The example of a Conversational AI application is a FAQ bot where it the capabilities to answer basic questions. This bot does not learn by over time. It has no self-learning capability.

  • Next comes Virtual Personal Assistants such as Alexa, Siri, Google Home. These AI bots are able to understand diverse, abstract conversations and are able to comprehend and respond.

  • Next is the advanced Conversational AI systems that are made to serve a specific purpose. These bots generally interact with customers and provide customer service conversations along with enhanced customer experience.


Process

Firstly the AI tries to understand the user's intent even among grammatical mistakes, shortcuts, and remember context from one statement to the next. Then it understands and comprehends what is being said throughout the conversation. As the conversation takes place, the user helps to guide the knowledge of the bot and understand the macroscopic situation. Then using NLP, the AI shapes and plans a response in a format most suitable for the user. Here are a few possibilities and steps to make a chatbot :

  • Adapt and modify as per the context of the topic being discussed so that the bot will be able to cope up with the conversation successfully.

  • Investigate and ask follow-up questions to collect more data so as to identify the customer’s motive, context, and intentions in order to be able to answer the customer's question, just as in human conversations.

  • Set up your chatbot to be able to collect personalized and real-time information about the user and give better responses and results.


What is RASA?

Rasa is an open-source framework for machine learning to automate text- and voice-based assistants. It is based on natural language processing, understanding, and interactions. Rasa is an NLP tool focused primarily on chatbots. There are different types of files to be configured for Rasa to be able to function properly.

Using RASA to build a NLP parser for bots.

  1. The NLU.md file is a text formatting type of file describing how user messages should be categorized. For eg: great, goodbye, find_time_zone, etc.

  2. The stories.MD is used to train models that are able to generalize unseen conversation paths. These paths can be imagined by the developer the ways in which a user may interact with the system. Imagine yourself describing 2 persons talking, then describing the story to someone. This story or the conversations taking place between them is to be described in the stories.MD file to train models that are able to generalize to unseen conversation paths.

  3. The domain.yml file is used to describe data. It broadly includes templates for the things your bot can say while having a conversation with user. It has content on what types of actions, intents, responses your is supposed to be ready/trained to attend. For eg: The intents, responses mentioned in "NLU.md", "stories.MD", "actions.py" files are able to function to the description of data being done in the domain.yml file.

GitHub link for reference code:



4 views0 comments

Comments


Post: Blog2_Post
bottom of page