O'Reilly logo
live online training icon Live Online training

Hands-On Chatbot and Conversational UI Development

Denis Rothman

This course covers both types of conversational UI’s, i.e., Chatbot NLP text and speech user interfaces, to reach through multiple devices and platforms. We will take a project-based approach to understand how these UIs are built and the best use cases for deploying them.

We will start by building a basic NLP Chatbot with the newly-acquired-by-Google Dialogflow and implement it on your website. At this point, you will have a customized text and voice Chatbot you can use for professional or personal use, ready on your website.

Moving on to Facebook Messenger we will understand the basics of bot integration & see how to integrate Chatbot to social networks such as Twitter. We will explore text and speech UIs capable of interacting with digital personal assistants such as Google Assistant and Google Home. We will then run the applications on PCs and smartphones.

Finally, we move on to creating a Task model that can perform complex tasks such as ordering and planning events. We will use the Fulfilment functions of Google Dialog Flow to implement a web service, sending requests and waiting for responses. We will implement ready-to-use machine learning algorithms to enhance the services.

By the end of the course, you will be confident enough to create your line of Chatbots and speech UIs on the platforms we have studied. You will also be confident enough to continue your seamless integrations through Dialogflow’s cross-platform functionality on leading platforms such as Amazon Alexa, Microsoft Azure’s framework for Crotona or Skype, and more.

You will also have learned how to build a solid text/speech Chatbot standalone website version that you can deploy, update and maintain on several platforms seamlessly.

What you'll learn-and how you can apply it

  • Create a Chatbot with a text and voice UI. Deploy it on your website during this course.
  • Deploy cross-platform Chatbots along with services including machine learning functions on several social networks and home devices.
  • Understand the principles and technical aspects of a successful, professional and personal Chatbot
  • Create a complete NLP Chatbot that can call standard or machine learning services
  • Explore personal assistant customized dialogs on Google Homes
  • Publish your NLP Chatbot on your Facebook page, Twitter account, Skype and more

This training course is for you because...

  • You're a developer, consultant, or in IT Operations and want to enhance the Chatbot culture through Chatbot technology.
  • You have been struggling to find the time to gain proficiency and confidence with Chatbot, customized dialogs, and everyday automatized tasks, here is your one-stop solution!

Prerequisites

  • Read: Artificial Intelligence by Example
  • Note: For developers familiar with AI, go through chapters 8, 9, 11-17. For beginners in AI go through the book and programs to get the feel of AI. Focus on chapters 15, 16 and 17. However, it is important to understand the underlying concepts of AI to design an efficient text/speech Chatbot.

Preparation:

  • The main preparation is for you to think of how you would like to use a text/speech Chatbot on your website. What theme would you like the bot to learn to help sell or promote your products, services or personal brand?
  • Write down a few basic questions and answers you would like to start building your bot with. You will be implementing this during the live training on your website (you can turn it on and off during testing). Then you will be learning how to deploy it on several key platforms. With this in mind, the course will take you where you need to be to finalize your goals right after the course.

Materials, downloads, or Supplemental Content needed in advance:

  • https://github.com/Denis2054/Hands-on-Chatbots (The material will be downloadable in real-time during the course. The size of the packages will remain small enough to that effect.)
  • Google Account
  • Dialogflow account
  • Chrome (just for the course to be sure; after the course, any browser that works well with JavaScript) with Chrome V8
  • Node.js as a server
  • Express.js (framework for Node.js)
  • Ngrok account(local server for web services)
  • Facebook account and Facebook developer account
  • Twitter account and Twitter developer account
  • Python 3.5 or 3.6 (Python is optional but interesting if possible!)

For node.js it is recommended to run the following commands in your console to install the local packages for the course:

  • npm init
  • npm install express
  • npm install express body-parser --save
  • npm install —- save request
  • npm install —- save apiai
  • npm install twitter

(In case, any of the above is hard to procure before the course, complete assistance will be provided during the course. E.g., if you experience problems installing node.js, express and Ngrok, you can use the inbuilt version of node.js directly online.)

About your instructor

  • Denis Rothman graduated from l'Université Paris-Sorbonne and l'Université Paris-Diderot, writing one of the very first word2matrix embedding solutions.

    He began his career authoring one of the first AI cognitive Chatbot 30+ years ago applied to a cognitive & digitized language teaching Chatbot. He customized it for Moët et Chandon (LVMH) and scores of companies in various forms. https://www.linkedin.com/pulse/did-you-miss-ai-parsing-train-denis-rothman

    He has authored a profit orientated AI resource optimizing system written in Horn Clauses in Prolong for IBM and implemented in corporate environments. He also transposed it in C++, Java and presently in Python/Tensorflow.

    In the years after, he authored an AI APS (Advanced Planning and Scheduling) solution based on cognitive patterns. This #AI software is used worldwide to this day in the aerospace, train, energy, apparel and many other corporate fields.

Schedule

The timeframes are only estimates and may vary according to how the class is progressing

DAY 1

(4 hours)

Section 1: Building and getting your Chatbot online on your website (Instructor Lecture, lab, Q&A) 1 hour

  • Lecture: create a fully operational basic Chatbot with Google Dialogflow.
  • Run the Chatbot on as an operational service on your website from any machine or Smartphone. Chrome is recommended for this exploration. Any recent browser can be used beyond this first implementation.
  • Lab: Explore the basic concepts of a chatbot and implement them during the live session.
  • Break: 10 mins

Section 2: Using a Chatbot with Facebook Messenger (Instructor Lecture, lab, Q&A) 1 hour

  • Lecture: Introducing node.js as a local server and Ngrok for a public URL through a local installation. Basic node.js installation, use, and motivation will be explained. Node.js will be further explored in section 6, Dialogflow Fulfilment.
  • Note: Google Fulfilment uses an integrated version of node.js (nothing to install locally). You can thus choose to only use an online version of node.js and just follow the course for the local version to see how it is used.
  • Lab: Deploy a basic NLP Chatbot for Facebook Messenger and run it on a local machine or in a Facebook Messenger app on a smartphone.
  • Modify the NPL Chatbot to adapt to the user’s needs. Improve the dialog.
  • Break: 10 mins

Section 3: Let’s get a Chatbot running on Twitter (Instructor Lecture, lab, Q&A) 1 hour

  • Lecture: How to deploy a basic node.js NLP Chatbot on Twitter using Tweets.
  • Explore the functionality through real-life conversations with the bot.
  • Lab: Deploying a node.js basic chatbot server to get the feel of a Twitter chatbot.
  • Break: 10 mins

Section 4: Customizing Google Assistant with a Chatbot (Instructor Lecture, lab, Q&A) 1 hour

  • Lecture: The different ways to run a customized NLP Chatbot with Google Assistant. Add exciting media to your dialogs. Learning how to run Google Assistant on all platforms and use it with smartphones (“Go Google”).
  • Learning how to improve the NLP Chatbot through conversational traps.
  • Lab: Deploying a chatbot on Google Assistant and preparing it to apply for Google validation to be used on Android, Google Home, and other platforms.
  • Final Q&A

DAY 2 (4 hours)

Section 5: Transform Google Home into a powerful personal assistant with a customized Chatbot (Instructor Lecture, lab, Q&A) 1 hour

  • Lecture: How to customize an NLP voice Google Assistant Chatbot for Google Home.
  • You will see how the chatbot can then be exported for Amazon Alexa and other platforms if you wish once the course is completed and your chatbot ready.
  • Advanced examples will be provided for Google Home with real-life applications and explore the use of Google Assistant on Android Smartphones for both personal use and corporate use.
  • Lab: The chatbot will be explored through the Google Assistant simulator to understand how the actions work.
  • Break: 10 mins

Section 6: Let’s add services to a Chatbot through Dialogflow Fulfilment (Instructor Lecture, lab, Q&A) 1 hour

  • Lecture: Using some of the advanced Dialogflow node.js JavaScript functions to customize the chatbot and link it to other websites and services.
  • Explore standard functions and train the NLP Chatbot further as a human with its life dialog experience.
  • Lab: Building and Running fulfillment inline node.js JavaScript programs.
  • Break: 10 mins

Section 7: Let’s make the Chatbot smarter with machine learning (Instructor Lecture, lab, Q&A)1 hour

  • Lecture: Explore ways to include machine learning modules into an NPL Chatbot to transform it into a cognitive Chatbot.
  • At this point, the Chatbot, with the services described in Section 6 and cognitive machine learning functions will begin to understand concepts better than humans in many areas.
  • Lab: Implementing an artificial intelligence chatbot that will chat while calling a ready-to-use machine learning program.
  • Break: 10 mins

Section 8: Fully Autonomous Services that will help a Chatbot make decisions faster than a human in specific fields: 1 Hour

  • Lecture: Explore how to transform an NLP Cognitive Chatbot into a real-time decision-making tool for professional through a case study in the trend used by corporations such as Amazon’s real-time apparel manufacturing process. Discover how cognitive chatbots will totally surpass humans in both services and manufacturing in the near future.
  • The chatbot users will begin to view the chatbot as a vital personal asset. Explore how chatbots will become independent super-intelligent entities in the near future. Understand how AI connected humans will surpass unconnected humans.
  • Lab: Implementing a basic prototype for a decision-making chatbot manager that can replace an unavailable manager or an expert. The team can ask questions and obtain critical answers.
  • Wrap-up: Summary, Discussions, Q&A (30 min)
  • Interactive Discussion on the basic and ground-breaking aspects of the course