Building Chatbots with Microsoft Bot Framework and Node.js
Akshay Kulkarni
  • MEAP began February 2018
  • Publication in Fall 2018 (estimated)
  • ISBN 9781617295133
  • 450 pages (estimated)
  • printed in black & white

"Hello, I'm Ginger, your virtual representative. How can I help you today?"

"I'm sorry you aren't feeling well today, George. Do you need to schedule a sick day?"

"Choosing an engagement ring is an exciting event! Let me help you find the perfect diamond."

Welcome to the chatbot revolution! Nowadays, chatbots are talking you through your taxes, recommending suitable places to eat out, and even helping diagnose medical conditions. Chatbots can be interesting, fun, and challenging beasts to develop, and Building Chatbots with Microsoft Bot Framework and Node.js is your guide to the latest ideas and technologies for making virtual conversational companions that get the job done.

"After the first chapter my imagination was stimulated and I couldn't wait to get more details."

~ Łukasz Witczak

"An excellent introduction to chatbots in general."

~ Christian Bridge-Harrington

"This book gives an excellent introduction to using a range of Microsoft technologies to build your own working chatbots."

~ Martin Beer

Table of Contents detailed table of contents

Part 1: First Steps

1. Introduction to Chatbots and Microsoft Bot Framework

1.1. What are Chatbots?

1.2. Chatbots vs Websites & Mobile Applications

1.2.1. Evolution of chatbots

1.2.2. Why Chatbots?

1.2.3. Sample use cases for chatbots

1.2.4. Different types of Chatbots

1.3. How do chatbots work?

1.3.1. Inside the Chatbot Server

1.4. Introduction to Microsoft Bot Framework

1.4.1. Why Bot Framework?

1.4.2. The core parts of Microsoft bot framework

1.4.3. Node.js vs .NET

1.4.4. Why Node?

1.5. Building a simple echo chatbot

1.6. Summary

2. Conversational Design

2.1. What is conversational design?

2.2. Why is conversational design important?

2.3. Guiding principles of conversational design

2.3.1. Start with the purpose

2.3.2. Understand your users

2.3.3. Handle generic conversations

2.3.4. Designing the Conversational Flow Design

2.3.5. Guide new users

2.3.6. Focus on the response creation

2.3.7. Use available visual elements

2.3.8. Make it non-robotic

2.3.9. Use Context

2.3.10. Handle non-text queries

2.3.11. Care about the details

2.4. Common use cases

2.4.1. News and alert bots

2.4.2. E-Commerce bots

2.4.3. Personal Assistants

2.4.4. Business extension bots

2.4.5. Team bots

2.5. Designing a personality for the chatbot

2.6. Summary

2.6.1. important steps of conversational design

2.6.2. The guiding principles for building chatbots

Part 2: Building a Health Assistant

3. Recognizing Intent from the User Query

3.1. What is intent?

3.1.1. Designing our Intents

3.2. Intent Recognition with simple string matching

3.2.1. Implementing string matching in our chatbot

3.2.2. Problems with simple string matching

3.3. Intent recognition with AIML

3.3.1. Creating a chatbot with AIML

3.4. Intent recognition with NLP

3.4.1. What is NLP?

3.4.2. Natural Language Understanding (NLU)

3.4.3. Natural Language Generation (NLG)

3.5. A deeper look into Intent Recognition using NLP

3.6. LUIS overview

3.6.1. Creating a LUIS application

3.6.2. Adding intents

3.7. Integrating Luis into our bot

3.7.1. Testing the endpoint

3.7.2. How does Luis pass intents?

3.7.3. Adding Luis recognizer to our code

3.7.4. Testing our bot

3.8. Alternatives to Luis

3.8.1. Dialogflow

3.8.2. wit.ai

3.8.3. AWS Lex and IBM Watson

3.8.4. rasa.ai

3.9. Summary

4. Recognizing Entities in the User Query

5. Using Dialogs

6. Using Prompts

7. Using Waterfall Dialogs

8. Using Databags to maintain context

9. Using Images, Cards, Carousels and Buttons

Part 3: Out in the wild

10. Connecting to an External DB

11. Using External API

12. Setting up Analytics

13. Deploying the Bot

14. Connecting to Messaging Applications

About the Technology

With so many flesh-and-blood humans needing support, digital assistants can offer a valuable service finding out what users need and improving the basic process of online data gathering. With more and more chatbots being deployed, it's increasingly important to learn the best practices and the right development tools. Microsoft Bot Framework offers a fast track to building great chatbots you can deploy on websites or via SMS, Slack, Skype, and beyond. It offers a comfortable development environment that uses C# or Node so you can apply the dev skills you already have to this exciting new frontier.

About the book

Building Chatbots with Microsoft Bot Framework and Node.js walks you concept-by-concept through the process of building your own capable chatbot. With this in-depth, practical book you'll learn the basics of chatbot design, development, and deployment by building a virtual health assistant. After getting started with the incredibly helpful Microsoft Bot Framework, you'll lay down the foundations for the health assistant bot. Then, you'll introduce natural language processing to mimic human speech patterns so your bot can understand and engage in conversations. Through practical examples and tutorials, you'll master conversation flow principles and apply prompts and waterfall dialogs to get your bot talking smoothly as it gathers data. You'll also master adding an external database, analytics, and the ability for your bot to respond to images and buttons. Finally, you'll learn how to deploy your finished chatbot on Slack, Facebook, and Skype so it can interact with the world!

What's inside

  • Understanding Microsoft Bot Framework
  • Using NLP for natural conversations
  • Working with prompts and dialogs
  • Maintaining context with databags
  • Connecting to external databases
  • Setting up analytics
  • Deploying your finished bot

About the reader

Written for developers with basic knowledge of HTTP and Node. No prior experience with chatbots is needed.

About the author

G Akshay Kulkarni is the founder of ozz.ai which is a NLP tool for chatbots. Prior to this he worked at Microsoft for 2 years, building several chatbots and training other employees to do the same during his time there. He is also the creator of several open source projects, including Flask Wizard, a python framework for building chatbots, and Api.ai Recognizer, which lets you use api.ai alongside Microsoft Bot Framework.

Manning Early Access Program (MEAP) Read chapters as they are written, get the finished eBook as soon as it’s ready, and receive the pBook long before it's in bookstores.
buy
MEAP combo $49.99 pBook + eBook + liveBook
MEAP eBook $39.99 pdf + ePub + kindle + liveBook

FREE domestic shipping on three or more pBooks