coMakeIT - Xebia Logo

Recently I received an SMS from a leading financial institution summarizing a loan process, which prompted me to click on a chat link, for more information. When I clicked on the link a chat window opened and I was really fascinated by the response to my queries, and to my surprise, it was a chatbot, which triggered my interest to explore and develop one.

Conversational chatbots are part of modern life

It would be pretty difficult to not encounter a conversational bot in our daily interactions. Apple’s Siri, Amazon’s Alexa and Microsoft’s Cortana are a few bots that are famous and well known. You might have also come across text-based chatbots while renewing your insurance, buying something online, or speaking to a chatty assistant even without knowing!

Chatbots are mainly used to provide customer support. Once you make them intelligent by training, they will communicate fluently with your target audience in their language. A chatbot is artificial intelligence (AI) software that can simulate a conversation (or a chat) with a user in natural language through messaging applications, websites, mobile apps or through the telephone.

A Conversational bot understands the context of the conversation and can handle any user goal gracefully. This doesn’t always mean that the bot will be able to answer all questions, but it can handle the conversation well and help the user accomplish their goal as well as possible.

An ideal Bot platform offers:

The following chatbot frameworks are available in the market that is intuitive and easy to implement:

Opensource Chatbots

But is there any significant chatbot framework in open source? The answer is yes, Rasa.AI. Advantages with Rasa over the enterprise-driven frameworks:

Rasa is an open-source machine learning framework for building contextual AI assistants and chatbots, and consists of two main modules:

Some keywords you will find repeatedly used w.r.t NLP:

Intent: Simply, intents are the intentions of the end-user, which are conveyed by the user to the bot. They can be as casual as hoa, cya or professionally “when is the last flight today to Hyderabad”?

Entities: Business intents have metadata about the intent called “Entities”. Let’s see an example for an Intent: “GetReleaseYearByTitle” — Sample Utterance “When was Bahubali released ?” Here “Bahubali” is the title of the movie for which the user “intends” to find out the year of release.

Actions: As the name suggests, it’s an operation that can be performed by the bot. It could be replying to something in return, querying a DB or any other thing possible by the code.

resastackWant to quickly build a chatbot?

Well, for RASA there is a learning curve. But don’t be disappointed, luckily we have “articulate” which was built on top of RASA and most of the boiler plating will be taken care of. Yes, it is an open-source tool. This helps as a gateway to enter the NLP world.

Get your hands dirty by following the instructions :

https://github.com/samtecspg/articulate/blob/master/docs/getting-started/basic-installation.md

localhost:8080, Create an agent with Name and description and Save.

screen 01

Under categories, create a category or import an existing category like the weather. Click on Train.

sreen 02

Post-training, Click on review tab and start chatting with your agent

screen 03

The analytics section will give you insights on Actions, requests overtime, etc.

screen 04

Once the agent/model is ready, Click on Connections to create an integration with  FB, Slack, Rocket chat, etc.

screen 05

screen 06

screen 011

Click on save to get a shareable link like this: http://localhost:8080/demo/6f8da580-ca27-11e9-8666-39699ef60e5c

screen 08

As you have seen, you can easily create your own bot with keywords, actions, and categories and solve real business problems. Once you feel the agent/model is up to the mark, integrate with external platforms like Slack, Facebook, etc.

Leave a Reply

Your email address will not be published. Required fields are marked *