Book Image

Hands-On Chatbots and Conversational UI Development

By : Srini Janarthanam
Book Image

Hands-On Chatbots and Conversational UI Development

By: Srini Janarthanam

Overview of this book

Conversation as an interface is the best way for machines to interact with us using the universally accepted human tool that is language. Chatbots and voice user interfaces are two flavors of conversational UIs. Chatbots are real-time, data-driven answer engines that talk in natural language and are context-aware. Voice user interfaces are driven by voice and can understand and respond to users using speech. This book covers both types of conversational UIs by leveraging APIs from multiple platforms. We'll take a project-based approach to understand how these UIs are built and the best use cases for deploying them. We'll start by building a simple messaging bot from the Facebook Messenger API to understand the basics of bot building. Then we move on to creating a Task model that can perform complex tasks such as ordering and planning events with the newly-acquired-by-Google Dialogflow and Microsoft Bot framework. We then turn to voice-enabled UIs that are capable of interacting with users using speech with Amazon Alexa and Google Home. By the end of the book, you will have created your own line of chatbots and voice UIs for multiple leading platforms.
Table of Contents (11 chapters)

Conversational design

Now that we have identified the tasks that our chatbot needs to do, let's go on and design the conversational flow. Conversational flow is the basic layout of how the interaction will happen between the user and the bot.

Let's scribble down a few simple imagined conversations between the user and our weather bot.

Example 1:

User: Hi
Bot: Hi there! I am WeatherMan, your weather bot. What would you like to know? Current weather or forecast?
User: current weather
Bot: Ok. Which city?
User: London, GB
Bot: Ok. Weather now in London, GB. Temperature is 10 degrees Celsius. Clear Skies.
User: Thanks.
Bot: No problem! :)

Let's make another one that is slightly more complex.

Example 2:

User: Hi there
Bot: Hi there! I am WeatherMan, your weather bot. What would you like to know? Current weather or forecast?
User: Forecast
Bot: Ok. When? Tomorrow or this weekend...