Smart Chatbots with the Microsoft Bot Framework

Tuesday, November 20, 2018

Tony Barnett

If providing excellent customer service is a bottleneck for your business, then exploring the viability of intelligent Chatbots is something you should be looking into.

The platforms to provide automated customer conversations, has now reached a level of maturity that allow in to be deployed in line-of-business applications.

Discover IT has been attending the Microsoft Partner AI series, which is providing an excellent introduction to the subject. The below is the journey you can take to get started... 

How to get started

If your website already has a FAQ section, creating a simple question and answer bot, could not be simpler. Microsoft has developed a tool called QnA Maker to quickly pull the content from your website and create a working chat demo. 

Design and control conversation flow

In a traditional application, the user interface consists of a series of screens. Most applications start with a home screen where users land, and that screen provides navigation that leads to other screens for various functions like starting a new order, browsing products, or looking for help.

Like apps and websites, chatbots have a UI, but it is made up of messages rather than screens. Messages may contain buttons, text, and other elements, or be entirely speech-based.

A well designed chatbot will have a conversation flow that feels natural. The bot should be able to handle the core conversation seamlessly, and be able to handle interruptions or switching topic of conversations gracefully.

Take the conversation to your customers

Your users talk in many places; your bot should too. Azure Bot Service can be integrated across multiple channels to increase interactions and reach more customers using your website or app to email, GroupMe, Facebook Messenger, Kik, Skype, Slack, Microsoft Teams, Telegram, text/SMS, Twilio, Cortana, and Skype for Business.

Intelligent Handover to a Human

Accounting for every eventuality of a conversation is not possible. So, handing over to a human to continue the conversation should be as easy as possible.

The avoidance of repeating the conversation, once handover has happened, can be prevented by passing over a transcript of the conversation to date.

The conversation can be continued in the customers preferred channel: same online chat windows, phone, in-person, etc. Logic can be put in place to  prioritise higher-value conversations.

Analytics and Continuous Improvement

Testing a chatbot has very different challenges compared to testing a interface such as a website. Although there is a simpler visual interface, the unpredictability and non-linear nature of conversations, requires a shift in the testing approach. There are tools such as, Botium that can assist with this challenge.

Once your new chatbot has been deployed, it cannot fire and forget. You will need to continuously monitor what your customers are asking, and are they getting the right answers.

A cloud-based content repository such as Kentico Cloud, can greatly increase the ease of editing the questions and responses, eliminating the content-friction created by requesting a development change.

Next Steps

Building question/answer pairs and connecting to multiple channels is relatively straightforward.

Handling the complexity of business dialog and anticipating the ebbs and flow of natural conversation, is more challenging and requires building machine learning to understand intent. But once this is established, more scenarios can be covered:

  • Apply for new products/services, etc
  • Book appointments
  • Potential for authenticating user to provide highly personalized experience and pulling in data from existing back-end systems
Back to thoughts