Developing Cognitive Bots Using the IBM Watson Engine Practical, Hands-on Guide to Developing Complex Cognitive Bots Using the IBM Watson Platform — Navin Sabharwal Sudipta Barua Neha Anand Pallavi Aggarwal Developing Cognitive Bots Using the IBM Watson Engine Practical, Hands-on Guide to Developing Complex Cognitive Bots Using the IBM Watson Platform Navin Sabharwal Sudipta Barua Neha Anand Pallavi Aggarwal Developing Cognitive Bots Using the IBM Watson Engine Navin Sabharwal Sudipta Barua New Delhi, India New Delhi, India Neha Anand Pallavi Aggarwal Varanasi, India Noida, India ISBN-13 (pbk): 978-1-4842-5554-4 ISBN-13 (electronic): 978-1-4842-5555-1 https://doi.org/10.1007/978-1-4842-5555-1 Copyright © 2020 by Navin Sabharwal, Sudipta Barua, Neha Anand, Pallavi Aggarwal This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights. While the advice and information in this book are believed to be true and accurate at the date of publication, neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or omissions that may be made. The publisher makes no warranty, express or implied, with respect to the material contained herein. Managing Director, Apress Media LLC: Welmoed Spahr Acquisitions Editor: Celestin Suresh John Development Editor: James Markham Coordinating Editor: Aditee Mirashi Cover designed by eStudioCalamar Cover image designed by Freepik (www.freepik.com) Distributed to the book trade worldwide by Springer Science+Business Media New York, 233 Spring Street, 6th Floor, New York, NY 10013. Phone 1-800-SPRINGER, fax (201) 348-4505, e-mail [email protected], or visit www.springeronline.com. Apress Media, LLC is a California LLC and the sole member (owner) is Springer Science + Business Media Finance Inc (SSBM Finance Inc). SSBM Finance Inc is a Delaware corporation. For information on translations, please e-mail [email protected], or visit http://www.apress. com/rights-permissions. Apress titles may be purchased in bulk for academic, corporate, or promotional use. eBook versions and licenses are also available for most titles. For more information, reference our Print and eBook Bulk Sales web page at http://www.apress.com/bulk-sales. Any source code or other supplementary material referenced by the author in this book is available to readers on GitHub via the book's product page, located at www.apress.com/978-1-4842-5554-4. For more detailed information, please visit http://www.apress.com/source-code. Printed on acid-free paper Dedicated to the people I love and the God I trust. —Navin Sabharwal Dedicated to my family and friends. —Neha Anand Dedicated to my mentor and my family. —Sudipta Barua Table of Contents About the Authors ��������������������������������������������������������������������������������xi About the Technical Reviewer �����������������������������������������������������������xiii Acknowledgments ������������������������������������������������������������������������������xv Chapter 1: Introduction to Cognitive Virtual Bots ���������������������������������1 Privacy Concerns with Cognitive Virtual Assistants ����������������������������������������������5 Developer Platforms for CVAs �������������������������������������������������������������������������������6 Bots vs� Cognitive Virtual Assistants ���������������������������������������������������������������������6 Impact on the Enterprises and Ecosystem ������������������������������������������������������������8 Use Cases for Cognitive Virtual Assistants ������������������������������������������������������������9 Self Service/Helpdesk for IT Services �������������������������������������������������������������9 Triage �������������������������������������������������������������������������������������������������������������10 Lead Generation ��������������������������������������������������������������������������������������������11 Ecommerce����������������������������������������������������������������������������������������������������11 Integration with Enterprise Applications �������������������������������������������������������12 Task Tracking and Project Management ��������������������������������������������������������12 Human Resources �����������������������������������������������������������������������������������������13 Conclusion ����������������������������������������������������������������������������������������������������������13 Chapter 2: Various Cognitive Platforms/Engines ��������������������������������15 Watson ����������������������������������������������������������������������������������������������������������������15 Products and Services ����������������������������������������������������������������������������������������17 AI Assistant ����������������������������������������������������������������������������������������������������18 Watson Assistant �������������������������������������������������������������������������������������������18 v TTaabbllee ooff CCoonnTTeennTTss Data ���������������������������������������������������������������������������������������������������������������18 Watson Studio �����������������������������������������������������������������������������������������������18 Watson Machine Learning �����������������������������������������������������������������������������19 Watson Knowledge Catalog ���������������������������������������������������������������������������19 Watson OpenScale �����������������������������������������������������������������������������������������19 Knowledge �����������������������������������������������������������������������������������������������������19 Watson Discovery ������������������������������������������������������������������������������������������19 Watson Discovery News ��������������������������������������������������������������������������������20 Watson Natural Language Understanding (NLU) �������������������������������������������20 Watson Knowledge Studio �����������������������������������������������������������������������������21 Vision �������������������������������������������������������������������������������������������������������������21 Speech �����������������������������������������������������������������������������������������������������������21 LUIS ���������������������������������������������������������������������������������������������������������������������22 Azure Products and Services �������������������������������������������������������������������������23 Language �������������������������������������������������������������������������������������������������������23 Text Analytics �������������������������������������������������������������������������������������������������24 QnA Maker �����������������������������������������������������������������������������������������������������24 Translator Text �����������������������������������������������������������������������������������������������25 Speech Service ����������������������������������������������������������������������������������������������25 Search �����������������������������������������������������������������������������������������������������������25 Bing Spell Check �������������������������������������������������������������������������������������������25 Bing Web Search �������������������������������������������������������������������������������������������26 Bing Entity Search �����������������������������������������������������������������������������������������26 Decision ���������������������������������������������������������������������������������������������������������26 Vision �������������������������������������������������������������������������������������������������������������27 Amazon AI Services ��������������������������������������������������������������������������������������������28 Products and Services �����������������������������������������������������������������������������������28 Amazon Lex ���������������������������������������������������������������������������������������������������29 vi TTaabbllee ooff CCoonnTTeennTTss Amazon Polly �������������������������������������������������������������������������������������������������30 Amazon Rekognition ��������������������������������������������������������������������������������������31 Amazon Translate ������������������������������������������������������������������������������������������33 Amazon Transcribe ����������������������������������������������������������������������������������������34 Dialogflow �����������������������������������������������������������������������������������������������������������35 Google Products and Services ����������������������������������������������������������������������������35 Speech-to-Text ����������������������������������������������������������������������������������������������36 Text-to-Speech ����������������������������������������������������������������������������������������������37 Language Translation ������������������������������������������������������������������������������������37 Natural Language ������������������������������������������������������������������������������������������37 Conclusion ����������������������������������������������������������������������������������������������������������38 Chapter 3: Bot Frameworks ����������������������������������������������������������������39 Microsoft Bot Framework �����������������������������������������������������������������������������������40 Microsoft Bot Framework Features ��������������������������������������������������������������������41 Microsoft Bot Connector ��������������������������������������������������������������������������������42 BOT SDK ��������������������������������������������������������������������������������������������������������������42 Botpress ��������������������������������������������������������������������������������������������������������43 Lucy Bot ��������������������������������������������������������������������������������������������������������������44 Conclusion ����������������������������������������������������������������������������������������������������������46 Chapter 4: Building Your First Bot Using Watson Assistant ����������������47 Creation of an IBM Cloud Account �����������������������������������������������������������������������47 Creating the Watson Assistant Service ���������������������������������������������������������������56 Creating a Skill for the Use Cases �����������������������������������������������������������������������60 Defining the Intents for the Set of Variations ������������������������������������������������������64 Dialog Configuration ��������������������������������������������������������������������������������������75 Integrating with the Built-in Bot Framework Assistant ���������������������������������������84 Your First Bot ������������������������������������������������������������������������������������������������������87 vii TTaabbllee ooff CCoonnTTeennTTss Dialog and Conditions �����������������������������������������������������������������������������������������90 Dialog Node ���������������������������������������������������������������������������������������������������90 Single Node ���������������������������������������������������������������������������������������������������91 Multiple Nodes�����������������������������������������������������������������������������������������������91 Node with Child Nodes ����������������������������������������������������������������������������������92 Scenario 1: Node with Child Nodes ���������������������������������������������������������������99 Scenario 2: Node to Node on the Same Level ���������������������������������������������100 Conclusion ��������������������������������������������������������������������������������������������������������102 Chapter 5: Advanced Concepts of Watson Agent ������������������������������103 Contextual Entities ��������������������������������������������������������������������������������������������103 Context Variables ����������������������������������������������������������������������������������������������108 Slots ������������������������������������������������������������������������������������������������������������������113 Multiple Responses (Multiple Conditioned Responses) ������������������������������������120 Digression ���������������������������������������������������������������������������������������������������������123 Disambiguation �������������������������������������������������������������������������������������������������130 Handling Multiple Intents ����������������������������������������������������������������������������������135 Showcasing Solutions in Various Formats ��������������������������������������������������������141 Text ��������������������������������������������������������������������������������������������������������������141 HTML �����������������������������������������������������������������������������������������������������������142 Options ��������������������������������������������������������������������������������������������������������142 Conclusion ��������������������������������������������������������������������������������������������������������143 Chapter 6: Use Cases for Cognitive Virtual Bots �������������������������������145 Domain-Specific Use Cases for BFSI ����������������������������������������������������������������145 Introduction to IBM Cloud Functions �����������������������������������������������������������156 Domain-Specific Use Cases for the Stock Market ��������������������������������������������161 Open Source Stock API ��������������������������������������������������������������������������������161 Connect Watson with the Stock Market API via Cloud Functions ����������������165 viii TTaabbllee ooff CCoonnTTeennTTss Calling Cloud Function in Watson ����������������������������������������������������������������169 Defining Components ����������������������������������������������������������������������������������171 Calling the API ���������������������������������������������������������������������������������������������173 Integrating with the Weather API ����������������������������������������������������������������������179 Open Source Weather API ����������������������������������������������������������������������������179 Connecting Watson Assistant with the Weather API via Cloud Functions ����183 Calling Cloud Functions in Watson ��������������������������������������������������������������186 Calling the API ���������������������������������������������������������������������������������������������189 Conclusion ��������������������������������������������������������������������������������������������������������195 Chapter 7: Integrating with Advance Services ���������������������������������197 Facebook Messenger Integration with IBM Watson Assistant ��������������������������197 Creating a Page on Facebook ����������������������������������������������������������������������197 Using Other Advanced Watson Services �����������������������������������������������������������210 Watson Discovery Service ���������������������������������������������������������������������������210 Tone Analyzer ����������������������������������������������������������������������������������������������������224 Tone Analyzer Service ���������������������������������������������������������������������������������224 Connecting Watson with Tone Analyzer Service via Cloud Functions ����������227 Conclusion ��������������������������������������������������������������������������������������������������������239 Chapter 8: The Future of Cognitive Virtual Assistants ����������������������241 Cognitive Virtual Assistants in the Future ���������������������������������������������������������242 Index �������������������������������������������������������������������������������������������������249 ix About the Authors Navin Sabharwal has more than 20 years of industry experience and is an innovator, thought leader, patent holder, and author in the areas of cloud computing, artificial intelligence and machine learning, public cloud, DevOps, AIOPS, infrastructure services, monitoring and management platforms, big data analytics, and software product development. Navin is responsible for DevOps, artificial intelligence, cloud lifecycle management, service management, monitoring and management, IT Ops analytics, AIOPs, and machine learning, automation, operational efficiency of scaled delivery through lean Ops, strategy, and delivery for HCL Technologies. He is reachable at [email protected] and www.linkedin.com/in/navinsabharwal. Sudipta Barua has worked across various industries in her career, in which the focus has been on driving experiential interface and platforms for end users. She has worked in roles across customer engagements and centricity, marketing, CRM and analytics, PLM and product development. In her current role, Sudipta orchestrates at the intersection of digital marketing, creative storytelling, analytics-driven content development, and experience-driven platforms. She has won numerous awards for her work in leveraging different xi