IBM Cloud @ Hacks

Upkar Lidder
#ibmsupport

Why IBM?

@lidderupk
IBM Developer
  • Chatbots
    • Watson Assistant
  • Visual Recognition
    • use default classes
    • create custom classes
  • NLP
    • understanding
    • tone analyzer
  • Databases
    • RDMBS (DB2)
    • NoSQL (Cloudant, Mongo)
  • Quick Prototyping
    • Node-RED
  • Serverless
    • Java, Python, Swift, Javascript, Go, ...
  • IoT Platform
  • Data Science
    • Automated model building (AutoAI)
    • Jupyter Notebooks (pandas, numpy, matplotlib, ...)
    • Data Wrangling and dashboards
  • Machine Learning
    • Jupyter Notebooks
    • Open Source ML (scikit-learn, Spark MLlib, ...)
    • Open Source Deep Learning (Keras, PyTorch, Tensorflow, ...)
    • Store and deploy ML and DL models in minutes

IBM Code Patterns

@lidderupk
IBM Developer

Chatbots

@lidderupk
IBM Developer

Watson Assistant - Skill vs Assistant

@lidderupk
IBM Developer

Intents

@lidderupk
IBM Developer

Catalog

@lidderupk
IBM Developer

Entities

@lidderupk
IBM Developer

System Entities

@lidderupk
IBM Developer

Dialog

@lidderupk
IBM Developer

Dialog

@lidderupk
IBM Developer

Slots

@lidderupk
IBM Developer

Add slots to a dialog node to gather multiple pieces of information from a user within that node.

 

Slots collect information at the users' pace. Details the user provides upfront are saved, and the service asks only for the details they do not.

 

Digressions

@lidderupk
IBM Developer

Use digressions to handle interruptions and off topic short conversations.

Digressions allow the user to change topics or ask for more information and allows them to come back to the original intent.

 

Example:

Make an appointment.

What times are you open?

 

Handlers

@lidderupk
IBM Developer

Use handlers to

  • provide responses to questions users might ask during the interaction that are tangential to the purpose of the node
  • provide exit route

 

Example: I need to talk to an agent.

 

Deploy

@lidderupk
IBM Developer

Where to go from here ...

@lidderupk
IBM Developer
  • Advance features
    • Disambiguation
    • New intents by clustering existing data
    • Handlers - handle interruptions in your dialog
    • Recommendations to create entities
    • Advanced analytics/testing/monitoring

 

  • Call out to a service
    • Watson Assistant can call out to IBM Cloud Functions

 

  • Add code to your bot
    • Watson Assistant Expression Language

Visual Recognition

@lidderupk
IBM Developer
@lidderupk
IBM Developer

Watson Visual Recognition

•General model: Default classification from thousands of classes.

•Face model: Facial analysis with age and gender.

Explicit model (Beta): Whether an image is inappropriate for general use.

Food model (Beta): Specifically for images of food items.

Text model (Private beta): Text extraction from natural scene images.

 

Requires training:

Custom model: Train a custom classifier by providing positive and negative images.

 

@lidderupk
IBM Developer

General Model Example

@lidderupk
IBM Developer

Faces Model Example

@lidderupk
IBM Developer

Food Model

@lidderupk
IBM Developer

Custom Models

Initial Training

Update Training

@lidderupk
IBM Developer

IBM Watson Studio

Natural Language

@lidderupk
IBM Developer
@lidderupk
IBM Developer

Natural Language Understanding

  • Natural language processing for advanced text analysis.         
  • Supports multiple Languages.

Category

Emotion

Entities

Keywords

NLU - Demo

@lidderupk
IBM Developer

https://natural-language-understanding-demo.ng.bluemix.net/

https://en.wikipedia.org/wiki/San_Francisco

Serverless

@lidderupk
IBM Developer

Use Cases

  • Secure and scalable APIs
    • API Gateway Function
    • HTTP level scaling

 

  • Backend services / micro services
    • function/service level scaling
    • polyglot functions

 

  • Event Driven Programming
    • Changes in database
    • Social events
@lidderupk
IBM Developer

Apache OpenWhisk

Packages
@lidderupk
IBM Developer

Apache OpenWhisk (js)

Entry point

Object In

Object Out

@lidderupk
IBM Developer

Apache OpenWhisk (js)

@lidderupk
IBM Developer

Apache OpenWhisk (py)

Entry point 

Dictionary

Dictionary

@lidderupk
IBM Developer

So much more ...

  • More Compositions - Use higher-level programming constructs to declaratively chain together multiple actions.
    • while, repeat, let, retry, try, if, etc

 

  • HTTP Actions (web == true)

 

  • Packages community (couchdb, kafka, etc)

 

  • API Gateway (rate limiting, authentication/authorization)

 

  • Install external packages, debugging, etc
@lidderupk
IBM Developer

Node-RED

@lidderupk
IBM Developer
@lidderupk
IBM Developer

Node-RED - building blocks

@lidderupk
IBM Developer

Node-RED - simple API

@lidderupk
IBM Developer

Node-RED - Watson services

https://github.com/watson-developer-cloud/node-red-labs

@lidderupk
IBM Developer

Node-RED - backend service

http://127.0.0.1:1880/multiply?num1=11&num2=22

Cloudant

@lidderupk
IBM Developer
@lidderupk
IBM Developer

What is this NoSQL - it's not SQL for sure 🤣

@lidderupk
IBM Developer

Person table in RDBMS

@lidderupk
IBM Developer

Person in RDBMS 👉🏽 Person in Cloudant

Apache CouchDB - What is a document ?

@lidderupk
IBM Developer

IBM Mobile Starter Kits

@lidderupk
IBM Developer

iOS and Android Templates

@lidderupk
IBM Developer

http://bit.ly/ibm-mobile-starter

Data Science

and Machine Learning

@lidderupk
IBM Developer

Model Asset Exchange

@lidderupk
IBM Developer

https://developer.ibm.com/exchanges/models/

Data Asset Exchange

@lidderupk
IBM Developer

https://developer.ibm.com/exchanges/data/

@lidderupk
IBM Developer

ML on IBM Cloud - Guided ML

@lidderupk
IBM Developer

To help simplify an AI lifecycle management, AutoAI automates:

  • Data preparation
  • Model development
  • Feature engineering
  • Hyper parameter optimization

Watson Studio & Watson Machine Learning

@lidderupk
IBM Developer

WML - Supported Frameworks as of 06.21.19

@lidderupk
IBM Developer

Thank you

 

Let's chat !

@lidderupk
IBM Developer

Upkar Lidder, IBM

 

@lidderupk

https://github.com/lidderupk/

ulidder@us.ibm.com

IBM Hackathon

By Upkar Lidder

IBM Hackathon

  • 935