"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
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
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.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.3. AWS Lex and IBM Watson
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 TechnologyWith 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 bookBuilding 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!
- 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