Code Monkey home page Code Monkey logo

hands-on-chatbots's Introduction

Hands-On Chatbot and Conversational UI Development

February 4 & 5, 2019

by Denis Rothman for live Packt and Safari Online training

Hand-On Chatbots

Goal

This document is for a live course on O'Reilly's e-learning platform. You can find details on the course at the following link:
Link to course registration

Background

The courses are an extension of Artificial Intelligence by Example by Denis Rothman:

Obtain the book on Packt

Obtain the book on Amazon

Programs

The programs for the course run both on Windows and Linux (see Ubuntu VM below). You can view and download them from the https://github.com/Denis2054/Hands-on-Chatbots repository. Some programs will be developed and run on cloud platforms.

License and disclaimer

The programs are under the MIT License. THe programs are for educational purposes only. Thus do not use them before checking Google, Facebook and Twitter security policies. Also be sure to follow web and General Data Protection Regulations (GDPR). Take your time and explore each policy rule. It is a major part of a project. The more you respect privacy and security policies, the more your users and customers will trust you!

Terms of Service and Privacy Policy

When creating Twitter, Facebook, for example, you will need to provide your terms of service and privacy policy. If you do not have one, there are plenty of examples online. Start by googling "terms of service form and privacy policy examples" or similar search keywords.

Virual Linux(Ubuntu) Machine

A VM for Oracle VM VirtualBox version 5.2.8 is available for the course. It contains the pre-configured packages for node.js, ngrok and Python 3.x VM download link Password: neo Once the file is downloaded -first run an anti-virus on the file -then go to "Files" and select import VM.

Outline of the course

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 is this training about, and why is it important?

This training is aimed at teaching you to improve your processes by creating a fully operational Chatbot through Google Dialogflow that can be deployed on many platforms. You will be able to explore the ground-breaking combination of Chatbot Text/Voice UIs, event scheduling, and Machine Learning. You will be able to use this course to promote yourself through bots on your favorite social networks, enhance your company’s web services and improve the establishing of your personal brand.

What you will 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 Live Training is for you because…

The course is aimed at developers, consultants, and IT Operations who want to enhance their Chatbot culture through Chatbot technology. If 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

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
· Github programs · 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 nothe course. E.g., if you experience problems installing node.js, express and Ngrok, you can use the inbuilt version of node.js directly online.)

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), duration: 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), duration: 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 Fulfillment, 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 NLP 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), duration: 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), duration: 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.

DAY 2 (~4 hours)

Section 5: Transform Google Home into a powerful personal assistant with a customized Chatbot (Instructor Lecture, lab, Q&A), duration: 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), duration: 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), duration: 1 hour

Lecture: Explore ways to include machine learning modules into an NLP 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 - Instructor Lecture + Q&A)

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 (30 min)

Interactive Discussion on the basic and ground-breaking aspects of the course

About the 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.more...
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.

Name: Denis Rothman Personal Websites and pages:
bio on Amazon
web site
LinkedIn
Blog

hands-on-chatbots's People

Contributors

denis2054 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.