Motivation: apps vs bots and interacting with computers using Natural Language Interfaces. Google Now, Siri, Alexa. Great progress in recent years in both translation, voice recognition and natural language understanding technologies. Democratization of AI and Machine Learning APIs. Bots as a new way of implementing user interfaces.
Use Case: describe a bot to help users order tickets
Use it to describe the following concepts:
Natural language recognition
Text conversations
Rich media conversations
Bot-led conversations
Human hand off
Embedding into messaging apps
Chapter 2: Bot User Design (UX)
Motivation: there is a good way for bots to communicate to you and there is a bad way. This chapter will distill some common “good” approaches to a bot and Also show some examples of bad communication.
conversational User Experience
Text vs rich conversations
Bot initiated conversations
Perceived performance
Personalized content
Concise and clear messaging
Consistent voice
Do one thing well, provide value
Chapter 3: Natural Language Understanding
Motivation: part of the reason bots are becoming a thing is that natural language recognition technologies are widely available and easier to use.
Intent classification
Entity Extractors – Named Entity Extraction
LUIS
How to create a model
How to train LUIS to recognize intents and entities (use ticket ordering bot as a use case)
Action Fulfillment - not used in LUIS anymore, but still used in cloud based, intent-led bot frameworks. It is interesting to know when creating bots.
Chapter 4: Introducing Microsoft Bot Builder Framework
Motivation: cloud bot services vs bot as a web service models. We favor bot as a web service model for ease of use, control, extensibility etc.
MSFT bot builder framework – what is it?
Node.js and why we use the Node.js version vs the C# version
Core concepts
Intro to emulator
Node.js samples
How to run sample
Some basic bot samples
Chapter 5: Dive into Bot Builder
Motivation: we need to go over the different concepts inside the bot builder framework and how they help us build bots.
Dialogs
Messages
Connector
Channels
Conversation State
Recognizers
Actions
Proactive messages
Chapter 6: Putting it all together
Motivation: Build a sample bot that uses all of the concepts in the previous chapter
Back to ordering tickets bot – lots of coding
Chapter 7: Advanced bot builder topics
Motivation: Expand sample from #6 with some more advanced concepts like proactive messaging, better dialog management, custom recognizers, deeper action support, group chats, etc.
Lots of code here
Chapter 8: Deploying to Channels and sending custom data
Motivation: a bot is useless unless it is connected to a channel. Let’s see how this is done. We introduce the bot framework web site.
Focus on Messenger and Slack
Show some custom functionality such as messenger square cards or slack updating messages
Chapter 9: Custom channels
Motivation: sometimes you would like to support a custom channel that is not supported out of the box by Microsoft. How do we do this?
Using direct line
Using vanilla bot builder interfaces
Chapter 10: Making the Bot smarter
Motivation: there is a lot of easy to use AI/ML services out there. What are they and how can they help our bot be smarter.
Vision
Emotion
Language Detection
Sentiment
Linguistic Analytics
QnA Maker
Why use these? Why not use these services? What is the goal of your bot?
Chapter 11: Communicating using Custom Graphics
Motivation: rich content and graphics can better capture information than plain text using dynamically generated images
Adaptive Cards – adaptivecards.io – one option, easier to deal with
Custom HTML generation – generate images from html using PhantomJS on the server
Chapter 12: Human Handoff
Motivation: customers want to keep in touch with your brand, what happens when a human is needed?
Chapter 13: Logging and Bot Analytics
How do we log data?
What are the interesting measures that we look for in a bot?
What systems are out there and what can they can us figure out about our customers and bots?
Chapter 14: Other bot implementation platforms
Brief overview of the technology field: Api.ai, wit.ai, IBM conversation, amazon, etc.
Goal of this chapter will be to demonstrate that these frameworks have very similar approaches in terms of NLU, conversation management, state, etc. Knowledge from this book will allow you to develop using the other systems.
Szymon has 15 years of hands on experience in the software development industry. He found a passion working on front end applications on Wall Street. The interest in attention to user interface details would take him on a tour of the different user interface technologies on the Windows, Web and iOS/Android platforms. He has managed teams of engineers on a variety of projects and since 2016, he has dedicated his time to building chat bots for clients across text and voice channels. He has built a practice around the technologies at Blue Metal, An Insight Company, and is involved in a handful of chat bot projects at any time. As Chief Architect of Emerging Technologies, he keeps cognitively flexible by reading and watching presentations about new technologies, educating clients, leading discovery sessions, scoping and guiding engagements, mentoring engineers and helping clients apply technologies such as Chat Bots, Blockchain and Augmented Reality to business problems.
In his spare time, he enjoys taking walks, reading fiction, going to the beach, playing guitar, and spending time with his wife Kim, his son Teddy, and his Golden Retriever, Chelsea.
Explore the concept of bots and discover the motivation behind working with these new apps with messaging platforms. This book is an accessible resource teaching the basic concepts behind bot design and implementation. Each chapter builds on previous topics and, where appropriate, real working code is shown that implements the concepts. By just picking up a code editor, you can start creating smart, engaging, and useful bot experiences today.
Practical Bot Development will teach you how to create your own bots on platforms like Facebook Messenger and Slack, incorporate extension APIs, and apply AI and ML algorithms in the cloud. By the end of this book, you'll be equipped with the information to reach thousands of new users with the bots you create!
The book is a great resource for those looking and harness the benefits of building their own bots and leveraging the platform feasibility of them.