2. Background
Chairman NYJavaSIG (javasig.com)
Largest Java UG in NA 8k+ members
First Java UG ever! Sept 1995
mail: fgreco@javasig.com
twitter: @frankgreco yell: “Hey Frank!”
Developer Advocate – IBM Cloud
Security Architect – WebSphere AS
Mail: kapoor@us.ibm.com
twitter: @sandhyakapoor9
3. To understand cognitive and machine learning
applications
Why are they important
How to enhance your apps with cognitive services
Review the Watson Java SDK, and discuss how to
enhance your apps with cognitive servives
Goal
4. What Are We Going to Cover?
What Problems Are We Trying to Solve?
Didn’t AI Try This Years Ago?
Machine Learning
Use Cases
The Near Future
Who are the Players
What is Cognitive Computing?
IBM Watson and Cognitive Computing
Demos
5. What Problems Need to be Solved?
Many applications are not explicitly programmable…
Cursive writing
translation
Autonomous
Driving
Face recognition
http://vision.ics.uci.edu/images/fun/IMG_1183_augmented_reality_faces1.jpg
https://commons.wikimedia.org/wiki/File:Looped_cursive_sample.jpg
6. We are Used to Deterministic Solutions
Input Output
Same Input gives us the Same Output
Same Input gives us the Same Output
Same Input gives us the Same Output
…
7. Most of Us are Not Used to Non-Deterministic Solutions
Output1
Input
Input
Input
Input
Input
InputInput
Imput
Input
Input
Input
Inputt
Output2
Output3
Lots of Noisy Datasets
Sensors, voice, images, video
Many variables with noisy data
Probabilistic Outputs
Uncertainty, noisy
data,
randomness,
ModelA ModelB
ModelC
ModelD
8. Artificial Intelligence – But Didn’t We Try This Already?
AI had very Broad Scope
“Intelligent agents, first-order logic,
knowledge ontologies, probabilistic
reasoning, learning theory, NLP, robotics,…”
Wha’ Happened?
Funding was erratic due to
lofty goals and missed milestones
10. The Real Problem with AI
Much of historical AI was clever, but much of it
was just conventional programming techniques.
Systems still had to be explicitly programmed…
11. Machine Learning - ML
“Machine Learning” (1959) – Computers that
learn without being explicitly programmed
12. AI and ML History
1956 – Dartmouth Research Project on AI
1961 – Arthur Samuel Checkers program beats Champion
1970s – Minimal AI funding and progress
1980s – Expert Systems
1990s – Minimal AI funding and progress
1997 – IBM Deep Blue beats Chess Master Garry Kasparov
2011 – IBM Watson beats 2 top Jeopardy Champions
2014 – ML vision recognition surpasses humans (Google,FB)
2016 – Google AlphaGo beats Go Champ 4 out of 5 games
We are now in accelerated growth era of
ML and Cognitive Computing
14. Already Being Used in Production
USPS Zip Code Scanning
Bank Checks
Image Submissions
Credit Card
Anti Fraud
YouTube
Recommendations
Spam filters Facebook Friend
Face Recognition
Apple Photos Image
Recognition
Amazon
Recommendations
Genome
Discovery
Microsoft Skype
Translation
Anti Terrorism
Patterns
Autonomous Driving
Weather
Prediction
Trading Systems
Natural Language
Processing
Hacker Intrusion
Detection
16. We are in a Machine Learning “Spring”
No… not *that* Spring...
Huge advances over the past 10-15 years
Easy, cheap access to ML software via Services
Access to OSS frameworks and engines
Watson SDKs, etc.
17. What’s in the Near Future
More sophisticated computer vision and image detection
Widespread video/media/et-al recommendation subsystems
Separate of multiple voices in a crowd
Musical instrument detection
Brain, MRI and other medical pattern analysis
Over next 3-5 years,
ML techniques/skills will be in huge demand
Make existing apps more usable -> more usage
19. Now… What is Cognitive Computing?
“Cognitive computing has been used to refer to
new hardware and/or software that mimics the
functioning of the human brain and helps to
improve human decision-making”
- Wikipedia
20. Cognitive Computing is Probabilistic
“Cognitive systems are probabilistic. They
generate not just answers to numerical
problems, but hypotheses, reasoned
arguments and recommendations about
more complex — and meaningful — bodies
of data.”
- Dr John E Kelly (IBM)
21. So… Are There Categories of Cognitive Computing?
Data Enrichment, Augmentation
Translation
Image Recognition
Understanding
unstructured data
Interacting with Humans
23. IBM Watson and Cognitive Computing
Cognitive apps are built with Watson APIs
Watson APIs use NLP and various Machine Learning
models/algorithms “under the hood”
24. Cognitive apps are “mildly” cognitive or “highly” cognitive
IBM Watson and Cognitive Computing
Clever mimicry of the
human brain using
conventional techniques
Apps that use deep
learning ML algorithms
Cognitive Apps
mild high
29. public class Frank {
public static void main(String[] args) {
ToneAnalyzer service =
new ToneAnalyzer(ToneAnalyzer.VERSION_DATE_2016_05_19);
service.setUsernameAndPassword(USER, PSWD);
service.setEndPoint(
"https://gateway.watsonplatform.net/tone-analyzer/api");
// Call the service and get the tone
ToneOptions options =
new ToneOptions.Builder().addTone(Tone.EMOTION)
.addTone(Tone.LANGUAGE)
.addTone(Tone.SOCIAL)
.build();
ToneAnalysis tone =
service.getTone(getInput(), options).execute();
System.out.println(tone);
}
30. % java Frank
The NullPointers are an awesome band and great musicians
{
"document_tone": {
"tone_categories": [
{
"category_id": "emotion_tone",
"category_name": "Emotion Tone",
"tones": [
{
"tone_id": "anger",
"tone_name": "Anger",
"score": 0.081246
},
…
{
"tone_id": "joy",
"tone_name": "Joy",
"score": 0.811292
},
{
"tone_id": "sadness",
"tone_name": "Sadness",
"score": 0.102273
...
35. • Clone - git clone https://github.com/sandhya9/conversation-enhanced.git
• Click on “Deploy to Bluemix” button
• Provide appname
• Provide login credentials
• Click Deploy
Steps to Setup, Build, Deploy and Test Cognitive Application
45. Q, A, Rel, A,
Rel..Q, A, Rel, A,
Rel..Q, A, Rel, A,
Rel..Q, A, Rel, A,
Rel..
…
Retrieve
Rank
Q
A
3
A
7
A2
1. Load & Index
content in Solr
2. Train a model
based on
ground truth
3. Query the
service with
Natural
language
4. Return re-
ranked results
based on
machine learning
model
How does R&R work?
46. Resources
Working with intents
https://www.youtube.com/watch?v=DmvN6ZJrZE4
Working with entities
https://www.youtube.com/watch?v=oSNF-QCbuDc
Working with dialog
https://www.youtube.com/watch?v=3HSaVfr3ty0
Building w/ Watson: Training Watson to Detect User Intent
https://www.youtube.com/watch?v=uYw4Tv1Y5tc
Building with Watson : New Tools for Dialog Scripting
https://www.youtube.com/watch?v=QuR54--vD5o
47. Ask Technical Questions to NAO Robot and Amazon Echo
See AskDevoxxWatson Cognitive application in action at IBM’s
Keynote on Thursday 9 am – 10:45 am.