How to build your first Chatbots

Introduction

Banking chatbots generate better results and superior customer experiences for the banking industry and other financial institutions. They help the customers in multiple ways like getting account balances, to apply for loan or credit card, transfer funds, pay bills, or to update the profile details. Regular customer interactions can be automated partially or fully using a banking chatbot which is available 24/7. A voice enabled

What is Chatbot?

chatbot is a variation of a conversational AI solution. It leverages NLP combined with speech-to-text(self-developed or already existing platforms) and automates speech recognition to deliver resolution immediately. Voice Assistants can either be a complete voice-based model or as a multimodal chatbot supporting both text and voice

What is Dialogflow?

Dialogflow is a natural language understanding platform used to design and integrate a conversational user interface into mobile apps, web applications, devices, bots, interactive voice response systems, and related uses

Overview of Market Share

The global chatbot market size was estimated at USD 430.9 million in 2020. The growth is expected to be driven by the increasing adoption of customer service activities among enterprises to reduce operating costs. A chatbot is an interactive application developed using either a set of rules or artificial intelligence technology. A chatbot is basically developed using AI technology or a set of rules. It is designed in such a way that it can interact with humans through text. To assists users in various sectors, it is integrated with other messaging services. Various innovative ideas are implemented in Machine Learning (ML) and Artificial Intelligence (AI) technologies which will enhance the features of chatbots, which, in turn, will create greater demand for chatbots.

Since businesses are looking for ways to automate their sales and other services Chatbots are becoming popular. This helps the organizations to stick to the schedule at reduced cost.

How do Chatbots work?

  1. 1A user sends a text/voice message to a device or an App
  2. The App/Device transfers the message to Dialogflow( via detecting API )
  3. The message is categorized and matched to a corresponding intent (Intents are defined manually by developers in Dialogflow)
  4. We define the following actions for each intent in the fulfillment (Webhook)
  5. When a certain intent is found by Dialogflow, the webhook will use external APIs to find a response in external databases
  6. The external databases send back the required information to the webhook
  7. Webhook sends a formatted response to the intent
  8. Intent generates actionable data according to different channels
  9. The actionable data go to output Apps/Devices
  10. The user gets a text/image/voice response

How to build your first Chatbots?

Agent: An agent is merely another term used to refer to the chatbot. While using Dialogflow, you will find that many people start off by asking you to ‘name the agent.’ This just means giving your chatbot a name, so even in this context, it’s one and the same

Intent – ‘Intents’ are how a chatbot understands Expressions

Responses: This is the chatbot’s output that is aimed at satisfying the user’s intent

Entities: ‘Entities’ are Dialogflow’s mechanism. It helps to identify and extract useful data from the natural language inputs given by user. Actions & Parameters are also Dialogflow mechanisms

Actions & Parameters These too, are Dialogflow mechanisms. They serve as a method to identify/annotate the keywords/values in the training phrases by connecting them with Entities

We will see how to create a chatbot in Dialogflow using the following

Step1: Login with DialogFlow Account

  1. Go to https://dialogflow.cloud.google.com
  2. Click ‘Go to console’ in the top right corner
  3. Login with a Gmail account

Step2: Create a new Agent

  1. Start off by clicking ‘Create Agent’ in the column menu to your left
  2. Give your Bot a name! We’re going to call ours a ‘Testing’
  3. Be sure to select your time zone and language as required
  4. Click ‘Create’

Step3: Create a new Intent

  1. Click “Intent” on the left side
  2. Add the Intent Name and Training Phrases
  3. If you have already created Entity, Please mark the entity for the corresponding questions. Here I have created one entity as “Cheque” and marked that keyword to that training phrase
  1. After that, we need to add the response in the Intent
  2. Click “Save” in Intent

Step4: Check Question

We are able to check the questions on the right side of the top corner and it will give the intent name, Entity name and answer also

Best features

Some best features are given below

  1. Self Service Customer Support
    Self Service via a voice bot is more scalable and customer-centric. Giving your customers a voice bot as the first mode of communication can help them resolve their queries faster and for major queries, the AI-enabled voice bot can transfer the call or the message to the right agent
  2. Zero Wait Time
    Calling any customer support center can be a nightmare for most people, basically, because of the wait time and redirections. Enabling FAQs on automating general queries on IVR, Alexa or Google Assistant can save a lot of time and the agent can take over or the call can be transferred to the agent only for critical issues
  3. 24/7 Availability
    Humans require rest, but machines do not. Even if your agent is not available, the voice bots can resolve the queries for your customers and take their details in case of urgent queries. And your agent can contact them at their earliest convenience
  4. Break from Monotonous Texts
    Provide a multimodal Intelligent Virtual assistant supporting both chat and voice, rather than just a text-based chatbot. Just a text-based chatbot requires a lot of patience, and time from the user’s end. And also sometimes it becomes difficult to understand voiceless messages as it lacks sentiments. AI-enabled voice bot is highly automated, intelligent, and customer-friendly; making it a need of the hour for brand-customer engagement platforms
  5. No human contact
    Pandemic made it really clear the need for an automated customer support system, as most customer support offices were closed down. Many businesses and banking institutions were seen adopting IVR support for resolving customer queries like Kotak, ICICI, etc
  6. Save Cost
    An automated AI-enabled voice bot increases your team’s productivity, by taking care of all repetitive queries. Your team can just focus on critical queries, thus saving a lot of time and money for your business
  7. Increased Productivity
    Using voice bots, your customers can handle multiple tasks simultaneously, and in one call. Customers can schedule appointments, organize and modify meetings, check balance, do transactions, get account details, set reminders, etc

Tech Stack and Team Capabilities

A company can use Dialogflow to create messaging bots that respond to customer queries in platforms like Alexa Voice Services (AVS), Google Assistant, Facebook Messenger, Slack, Twitter, Skype, Twilio, Telegram, and several other messaging integrations. Dialogflow can be integrated into WhatsApp, too

Other chatbot platforms

  • Google Dialogflow
  • Amazon Lex
  • IBM Watson Assistant
  • Facebook’s Wit.ai
  • Microsoft Azure Bot Service

Programming Language support

Dialogflow supports the following programming languages c#, Go, Java, Node.js, PHP, Python, and Ruby
Choosing NodeJS is clearly a straightforward choice because NodeJS is asynchronous

Platform case study with a link

You can browse the sample code about Dialogflow integration from Google at GitHub with the links below

Language Links
C# GoogleCloudPlatform/dotnet-docs-samples/
Go GoogleCloudPlatform/golang-samples
Java googleapis/java-dialogflow
Node.js googleapis/nodejs-dialogflow
PHP GoogleCloudPlatform/php-docs-samples
Python googleapis/python-dialogflow
Ruby googleapis/google-cloud-ruby
Posted in Technologies