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)

What this book covers

Chapter 1, Introduction, begins by teaching you what conversational user interfaces are, and their history and recent developments. We will then explore their basic architecture, applications, and benefits, and some factors that suggest why conversational interfaces are here to stay.

Chapter 2Tour Guide for Your City, explores how to build chatbots without having to code. We will explore a development and hosting platform called Chatfuel, using which we will develop a tour guide for your city. We will design and build a simple button-based chatbot and learn how to deploy the chatbot to Facebook Messenger, one of the most popular channels for chatbots.

Chapter 3Let's Talk Weather, follows on to build a chatbot for the same channel, but by building it from scratch this time, using Java and Node.js. We will build a chatbot that can tell us about the weather using an open data source called OpenWeatherAPI, host it as a Cloud application, and link it to a Facebook App that connects to a Facebook Page. We will explore Facebook Pages and the Messenger SDK from the perspective of building and deploying chatbots.

Chapter 4Building a Persona Bot, moves away from button-based chatbots to ones that can understand natural language. We will explore a popular tool called API.AI (now known as Dialogflow) which can be used to build chatbots that can understand natural language. We will build a persona bot that emulates a popular personality, Albert Einstein. We will then take a look at how to integrate the chatbot into a website and Facebook Messenger.

Chapter 5Let's Catch a Train, delves into a more traditional channel of communication—Short Messaging Service (SMS). We will analyze how to build a chatbot for the SMS channel. Using a data service called Transport API, we will build a chatbot that can talk about train schedules over SMS. We will also integrate an API.AI module for the chatbot in order to allow it to understand what the user says.

Chapter 6Restaurant Search, seeks to build a chatbot using Microsoft Bot Builder. This is fast becoming a popular tool for building bots and can be used to design an efficient conversation manager, rather than building it from scratch, as we did previously. We will build a chatbot to search for restaurants using a data service called Zomato. This will then be exposed on the Skype channel.

Chapter 7The News Bot, explains a totally different channel of engagement—Twitter. We will develop a Twitter bot that can listen to the tweets of users, understand their interests, and send them personalized news on an hourly basis by connecting to a data source called the News API.

Chapter 8My TV Guide, seeks to understand the rise of voice-activated bots like Alexa. We will then build an Alexa skill to talk about your TV schedule. We will build a skill that can access the TV schedule data from the TVMaze data service and respond to user requests made over Amazon Echo.

Chapter 9My Man Friday, continues working on voice bots and builds a Google Assistant action. This action will allow users to manage their to-do list using their Google Home device. We will build a Cloud app that will integrate with the Todoist online service to create tasks and retrieve pending tasks.

Appendix, More Resourcesexplains various articles, list of magazines, list of conferences and so on to gain more knowledge about the chatbots.