Book Image

Voice User Interface Projects

By : Henry Lee
Book Image

Voice User Interface Projects

By: Henry Lee

Overview of this book

From touchscreen and mouse-click, we are moving to voice- and conversation-based user interfaces. By adopting Voice User Interfaces (VUIs), you can create a more compelling and engaging experience for your users. Voice User Interface Projects teaches you how to develop voice-enabled applications for desktop, mobile, and Internet of Things (IoT) devices. This book explains in detail VUI and its importance, basic design principles of VUI, fundamentals of conversation, and the different voice-enabled applications available in the market. You will learn how to build your first voice-enabled application by utilizing DialogFlow and Alexa’s natural language processing (NLP) platform. Once you are comfortable with building voice-enabled applications, you will understand how to dynamically process and respond to the questions by using NodeJS server deployed to the cloud. You will then move on to securing NodeJS RESTful API for DialogFlow and Alexa webhooks, creating unit tests and building voice-enabled podcasts for cars. Last but not the least you will discover advanced topics such as handling sessions, creating custom intents, and extending built-in intents in order to build conversational VUIs that will help engage the users. By the end of the book, you will have grasped a thorough knowledge of how to design and develop interactive VUIs.
Table of Contents (12 chapters)

About dialog states

During the conversation, you need to understand the previous context in order to fulfill a new request from the user. For example, when the user says alexa ask henry's kitchen get more recipes, you realize that the user is asking for more recipes based on previously provided Foods and DietTypes slots. In order to fulfill this context-based request, you need to store the data from previous conversations. To achieve this, you will be using the Redis key value pair in memory caching database. Redis is easy to use and very popular in the open source community for storing simple data, and Redis will be perfect for storing and retrieving the application dialog states.

Here is the conversational flow while managing states on a Redis server:

  1. GetCookingIntent completes first time.
  2. Store the DietTypes and Foods slots, and offset the value to Redis using userId...