This document is structured as hand book for developers to quickly bring them to pace, so that they can use Watson APIs on IBM Cloud platform.
The document has the following flow –
- Prerequisites to start using Watson services on IBM Cloud
- Introduction to IBM Watson
- Watson services listing
- Create a Cognitive Banking Chatbot
- Mine enterprise data for insight with cognitive technology
- Create a Cognitive news alerting app
- Robotic Calculations and Inference Agent
- Apply machine learning to financial risk management
- Create a stress-test app for investment portfolios
- Create an investment management chatbot
1. Prerequisites- You should have a valid IBM Cloud account to make use of the information provided in this document. You can create trial account to access IBM Cloud by creating account on www.bluemix.net . The default account provides access to all the available services free of cost for a trial period of 30-days, post which you can keep the account active by enrolling your credit card leveraging the free-tier provided for almost all the services(Pay as you go model) or by purchasing subscription to the IBM Cloud platform.
In case you are planning to use Cloud Foundry CLI to access IBM Cloud environment from your local machine, please install the CF binaries on local machine from https:/github.com/cloudfoundry/cli/releases , which can be used to create, upload and manage your services and application.
In case you are planning to use development IDE like Eclipse etc. , please install Cloud Foundry plugin from marketplace to have quick deploy from the development IDE.
2. Introduction to IBM Watson – IBM Watson is a cognitive system that enables a new partnership between people and computers. It is the cognitive computing offering from IBM.
Watson combines five core capabilities:
- Interacts with people more naturally, based on the person’s preference.
- Quickly ingests key industry materials, partnering with experts to scale and elevate expertise.
- Enables new products and services to sense, reason and learn about their users and the world around them.
- Uses data to improve business processes and forecasting, increasing operational effectiveness.
- Enhances exploration and discovery, uncovering unique patterns, opportunities and actionable hypotheses.
Watson APIs: Build with Watson
You can enable cognitive computing features in your applications by using IBM Watson Language, Vision, Speech, and Data APIs. Watson APIs are delivered through IBM Cloud, which is the cloud platform as a service (PaaS) developed by IBM.
The following Watson APIs are currently available:
- Document Conversion
- Language Translator
- Natural Language Classifier
- Natural Language Understanding
- Personality Insights
- Retrieve and Rank
- Tone Analyzer
- Speech to Text
- Text to Speech
- Visual Recognition
- Discovery News
3. Developer journeys with complete code and architecture flow – Developer journeys are one click deployment Github repositories with architecture diagrams and pointers to essential docs for developers to get started. They provide complete access to code on Github repository to developer to fork/download and get started with development usecase.
Create a Cognitive Banking Chatbot – In this developer journey, we will create a chatbot using Node.js and IBM Watson™ Conversation. The flow will be enhanced by using Watson Natural Language Understanding to identify entities and Watson Tone Analyzer to detect customer emotions. For FAQs, a call to the Watson Discovery service will use passage retrieval to pull answers from a collection of documents.
When you have completed this journey, you will understand how to:
- Create a chatbot that converses via a web UI using Watson Conversation and Node.js
- Use Watson Discovery with passage retrieval to find answers in FAQ documents
- Use Watson Tone Analyzer to detect emotion in a conversation
- Identify entities with Watson Natural Language Understanding
Mine enterprise data for insight with cognitive technology- An organization’s data is a treasure trove of information just waiting to be explored and mined. But too often, that information is locked away, inaccessible, unorganized, and unused.
You as a developer hold the key to unlocking that value. When you complete this developer journey, you’ll gain the skills and learn the tools to import and enrich your data and provide your business with real insight. You’ll upload your own data into the Watson Discovery Service and configure a web application so that it can query the data collection you created.
- Build and run a Node.js API server with a HTML front-end written in React
- Configure Watson Discovery to build and enrich private data collections
- Use Watson Discovery to query and analyze data
When you complete this journey, you’ll have the skills to fully explore your data. And that will make you an extremely valuable resource.
Create a Cognitive news alerting app- In this developer journey, we will build a Node.js web application that will use the Watson Discovery Service to access Watson Discovery News. Watson Discovery News is a data collection offered with the Watson Discovery Service. It is a data set of primarily English-language news content that is updated continuously, with about 300,000 articles and blogs added daily.
The focus of this journey is to monitor a product’s marketplace life cycle using the Watson Discovery service to intelligently alert when a product’s stance in the marketplace has changed. Users can receive periodic email alerts about a product or brand and how it’s perceived in the news. Alert tracking can be set up for the following areas:
- The product
- The brand
- Related products and brands
- Positive or negative product sentiment
- Stock prices
We show the steps required to build a front-end management interface to search Watson Discovery News and a back-end service to periodically send alerts out related to customizable queries.
Robotic Calculations and Inference Agent- This journey demonstrates how to enhance the capabilities of NAO robot by integrating with IBM cloud offerings to create a cognitive agent, which can do real time analysis on a financial data and explain the analysis to the user. This developer journey is intended for developers who want to learn a new method for interacting with a cognitive agent and a NAO robot.
The robot, Watson Conversation, and DSX interact with the robot to query data driven calculations, which are inferences and intent derived through the conversation API and passed to DSX to perform real time calculation on data. The robotic AI agent provides interactivity, while the Watson Conversation API and DSX provide intent driven quick access and calculations on data.
In this journey, we show you how to integrate a NAO robot, Watson Conversation API, and Jupyter Notebook (DSX) by using a Node-RED instance to develop a solution that can help trigger IBM DSX workflows from the robot.
From this journey,you will learn how to:
- Establish the communication between the NAO robot and IBM DSX by using the Watson Conversation API.
- Create the Watson Conversation chat bot application.
- Perform statistical analysis on a financial data set by using the Jupyter (Python) Notebook on IBM DSX.
Apply machine learning to financial risk management- Financial institutions need to continually weigh the risks of their transactions, and they determine their risk level through credit scoring. Leading up to the 2008-09 financial crisis, almost all large banks used credit scoring models based on statistical theories; that crisis, largely brought about by underestimating risk, proved the need for better accuracy in their scoring. The combination of increased requirements and the development of advanced new technologies has given rise to a new era: credit scoring using machine learning.
Machine Learning for IBM z/OS gives organizations the ability to quickly ingest and transform data. They can now create, deploy, and manage high quality self-learning behavioral models, using large corporate data sets residing on IBM Z. This risk assessment and management takes place securely in place and in real time, and helps financial institutions more accurately determine credit worthiness and other business needs.
In this developer journey, you will use a financial risk management model that’s been designed and deployed in a large banking system to approve or deny a loan according to input parameters. You will discover and test a financial risk management API and then create and extend a financial risk management application based on Machine Learning on z/OS. By completing the journey, you’ll discover how machine learning can be used in applications to deliver accurate financial risk management.
Create a stress-test app for investment portfolios- Financial markets are notoriously unpredictable. Interest rates, political developments, public mood — almost anything can affect an investment portfolio, both positively and negatively. Investors understandably want to know how their portfolio will react to different sets of circumstances, but too often they’re left to simply guess.
A company or organization that provides investment advice or services would see major business value in helping their customers view their portfolio under different sets of conditions. They would be able to show investors how their portfolio would react to market conditions; they could outline beneficial outcomes and prepare them to weather bad times. When it comes to investments, information is power.
Our team got to thinking: wouldn’t it be great if we could come up with an app that lets investors and financial companies see what different market conditions would do to a portfolio. We knew that there were some handy new services available on IBM Cloud — we just needed to put them together to enable us to stress-test our portfolios.
This journey is the result of that work. We show you how to use those IBM Cloud Finance services to perform predictive market stress testing for an investment portfolio. The services are integrated into a web interface that loads the user’s portfolio using the IBM Cloud Investment Portfolio service. You can fill in some basic information to create a scenario for stress testing; for example, what would happen to a specific portfolio if there was an overall 5% rise in the value of the S&P 500 Index.
The Predictive Market Stress Testing app that you’ll produce in this journey lets you create different scenarios that are then applied to each holding in the portfolio using the IBM Cloud Simulated Instrument Analytics service. The journey shows you how to use IBM Cloud Finance services to generate a robust, enterprise-grade stress test without having to have a PhD in Finance or Economics. It’s ideal for any developer who needs to understand stress-testing, predictive analytics, or multi-service app development.
Create an investment management chatbot- Chatbots are rapidly gaining acceptance and becoming the norm for all kinds of customer interactions. In this developer journey, you will create a Watson Conversation-based chatbot that enables you to use an Investment Portfolio service to query portfolios and associated holdings. You’ll use a Simulated Instrument Analytics service to compute analytics on securities under a given scenario and will learn how to swap between a standard web interface and a Twilio interface.
When you have completed this journey, you will understand how to:
- Create a chatbot dialog with Watson Conversation
- Set up multiple interfaces with the Watson Conversation bot: web & Twilio
- Access, seed and send data to the Investment Portfolio Service
- Send data along with a scenario to the Simulated Instrument Analytics service to retrieve analytics
4. Github links with examples and documentation to understand IBM Watson APIs on IBM Cloud-
- Github repository with example files for the IBM Watson™ service tutorials including Conversation, Document Conversion, Knowledge Studio, Language Translator, Natural Language Classifier, Personality Insights, Retrieve and Rank, Speech to Text, Text to Speech, Tone Analyzer, Visual Recognition
- Github repository with collection of REST APIs and SDKs that use cognitive computing to solve complex problems
- IBM Redbooks for Watson services, few links are provided below-
- Landing page for accessing video course to understand various redbooks, including Watson services, Acquire IBM Digital Badges after completion of learning modules, getting redbooks for IBM tools.
- Collection of examples on how to use the Watson nodes in Node-RED (Basic and advanced labs). The basic labs are simple standalone examples of how to call each individual Watson Node-RED nodes and the advanced labs are where different Watson Node-RED nodes are combined to create more complex applications.
- Celebrity Match application demo which uses Watson Personality Insights and Insights for Twitter services. Enter your Twitter handle to see your personality traits, rated, and see which celebrities have personalities that are most similar to and different from yours.
- Audio analysis application which uses the Concepts feature of Watson Natural Language Understanding service coupled with the Speech to Text service in order to provide analysis of the concepts that appear in YouTube videos.
- Conversation ChatBot which uses the Watson Conversation service allows you to understand what users are saying and to respond with natural language.In this demonstration, imagine you are in the driver’s seat and Watson is your co-pilot. Watson can understand your commands and respond accordingly. For example, try asking “where is the nearest restaurant” or say “turn on the lights” to see how Watson understands your commands. This demonstration is trained on a specific set of car capabilities. Click the What can I ask button in the demonstration, to display the list of topics that Watson understands.
- Visual recognition service which uses deep learning algorithms to analyze images that can give you insights into your visual content. You can organize image libraries, understand an individual image, and create custom classifiers for specific results that are tailored to your needs. This demonstration has two options:
a) Try- Try classifies an image. You select either an image that is shown or provide a web address of the image (image URL). Visual recognition will analyze your selection (with the classifiers available) to classify the image and provide you with rated classification results.
b) Train- Train is used to create a demonstration classifier. To create a temporary trial classifier, select at least three classes from the example image bundles or provide your own image bundles (at least two positive image bundles and if helpful one negative bundle) as specified. Select Train your classifier. When the classification is complete, you can use the classifier against images through the Try capability.
For more information, see the following resources:
IBM Watson: How it works:
IBM Watson Health: How it works:
What’s Watson working on today?