IBM Watson Conversation
machine learning tools, artificial intelligence capabilities
and natural language
November 25th, 2016
Francesca Gigante
Solution IT Architect
Cloud and Cognitive Solutions
Francesca_gigante@it.ibm.com
@francy_giant
Milan
La nuova frontiera della statistica: il cognitive computing
La statistica applicata al linguaggio naturale
attraverso gli algoritmi di data mining e machine
learning si è sviluppata molto velocemente negli
ultimi anni al punto di produrre centinaia di
algoritmi che sono alla base del Cognitive
Computing
L’evoluzione del Q&A (attraverso le fasi di sviluppo di Watson)
REASON
They can reason, grasp
underlying concepts,
form hypotheses, and
infer and extract ideas.
UNDERSTAND
Cognitive systems
understand imagery,
language and other
unstructured data
like humans do.
LEARN
With each data point,
interaction and outcome,
they develop and
sharpen expertise, so
they never stop learning.
INTERACT
With abilities to see,
talk and hear, cognitive
systems interact with
humans in a natural way.
4
The Core Characteristics of a Cognitive System
Customers moves toward a multichannel engagement model
THEN NOW
Customer Customer
L’era dei ‘chatbot’ (computazione conversazionale)
I chatbot sono applicazioni che consentono di creare dialoghi interattivi con linguaggio naturale.
Attraverso le chatbot è possibile soddisfare puntualmente le richieste dell’utente attraverso una
conversazione in linguaggio naturale e nello stesso tempo:
– ‘raccogliere’ tutte le informazioni inserite dall’utente per successive analisi di business
– accedere ai sistemi informativi aziendali (CRM, magazzino, catalogo, ecc.) per fornire informazioni
di dettaglio
– accedere ad una serie di documenti opportunamente classificati per fornire informazioni testuali di
aiuto all’utente per lo svolgimento di operazioni, aiuto all’uso di prodotti, e altre informazioni utili.
– può essere continuativamente ‘affinata’ e ‘arricchita’ con nuovi termini e modi conversazionali
senza azioni sul sw sviluppato ma agendo unicamente sul ‘training set’ o sul ’dialogo’
IBM Watson – A Gentle Technical Introduction7
• Watson Conversation allows you to create applications that understands natural-language input
and uses machine learning to respond to customers in a way that simulates a conversation
between humans beings.
• Combines a number of cognitive techniques to help you build and train a bot - defining intents
and entities and crafting dialog to simulate conversation.
• The system can then be further refined with supplementary Watson API’s and other
technologies to make the system more human-like or to give it a higher chance of returning the
right answer.
• Allows you to deploy a range of bots via many
channels, from simple, narrowly focused Bots to
much more sophisticated, full-blown virtual agents
across mobile devices, messaging platforms like
Slack, or even through a physical robot.
Watson Conversation Service
IBM Watson – A Gentle Technical Introduction8
Watson Conversation Service
Watson Conversation è uno strumento grafico completo, veloce, flessibile e facile da usare
per creare e testare dialoghi interattivi con l’utente.
Watson Conversation espone le conversazioni create dall’utente via API per poterle includere
all’interno del codice applicativo
 Si basa sul principio degli
intenti e delle entità viste
precedentemente a cui si
aggiunge la capacità di
utilizzare questi intenti e
queste entità per creare dei
veri e propri dialoghi
ramificati
Watson Conversation – how to train the service
Come creare le conversazioni
Per creare le conversazioni si parte dagli intenti che stabiliscono le tipologie di richieste dell’utente. Per ogni intento è necessario
istruire il Watson con un certo numero di esempi che servono ad identificare l’intento stesso.
 Es.: #trova_attività
• “Mi va di uscire stasera”
• ”Voglio andare a mangiare fuori”
• “Credo che andrò al cinema”
• “Non ho per niente voglia di stare a casa”
Successivamente si stabiliscono le entità con vari valori associati e vari sinonimi per ciascun valore:
 Es: @attività:
• Ristorante mangiare, affamato, ristoranti, cibo
• Cinema film,
• Discoteca disco, ballare
• Bar pub, bere, birra
Dopo aver definito gli intenti e le entità si costruisce il dialog in maniera grafica:
 Si parte dai convenevoli e poi si aggiungono i percorsi possibili relativi ai vari intenti, per cui se ad esempio il sistema recepisce
la frase “Credo che andrò al cinema” è in grado immediatamente di capire che l’utente vuole andare al cinema e gli chiede
magari se ha preferenze per un cinema, per un film o per un genere di film ecc. Se invece il sistema recepisce la frase “Mi va di
uscire stasera” compirà un percorso diverso per chiedere se l’interlocutore vuole andare a mangiare fuori o vuole andare al
cinema o in discoteca e se gli viene risposto ‘voglio andare al cinema’ allora il dialogo si riconduce alla scelta del cinema o del
film
Come fornire informazioni agli utenti
All’interno del dialogo si possono inserire
– risposte compiute che possono essere ritornate direttamente all’utente
– risposte contengono delle variabili di contesto che l’applicazione usa per capire quale
sistema/servizio esterno può completare la risposta con le informazioni in possesso.
– Es. ”Che tempo fa a Roma oggi”
• Si identifica l’intento #meteo e le entità @city e @date e si costruisce la risposta inserendo
una variabile di contesto modo che l’applicazioni chiami il servizio TheWeatherChannel per
ottenere l’informazione necessaria al completamento della risposta
– Per determinare le ‘entità aperte’ (es.city) è necessario ricorrere al servizio Alchemy
E’ previsto il caso “Anything else” che si verifica quando il servizio di conversation non riesce a
determinare correttamente uno specifico intento.
Watson Retrieve and Rank
per gestire le varie tipologie di richieste
Il servizio Watson Conversation è sufficiente
E’ necessario integrare il Watson Conversation con
Il servizio ‘Retrieve and Rank’
• Il servizio di Retrieve and Rank viene
utilizzato quando il Watson Conversation
non ‘capisce’ l’intento della domanda o
identifica un intento con una bassa
percentuale di ‘confidenza’.
• Il servizio Retrieve and Rank utilizza la
domanda dell’utente per ricercare tra i
documenti che sono stati inseriti nel
servizio una serie di documenti che
possono soddisfare la domanda in
questione (modalità F.A.Q.)
Rispondere alle domande non è solo ricercare nei documenti
1
3
IBM Watson
Has question
Search engine vs.
Distills to 2-3 keywords
Reads documents
Finds answers
Finds and analyzes evidence
Finds documents containing keywords
Delivers documents based on popularity
Asks a question
Understands question
Computes confidence
Delivers response, evidence and confidence
Considers answers and evidence
Produces possible answers or outcome
Analyzes evidence
IBM Watson – A Gentle Technical Introduction14
Starting
Watson Conversation Service – the payload
For every following inputs in
the same conversations, the
input MUST INCLUDE THE
CONTEXT of the previous
output
IBM Watson – A Gentle Technical Introduction15
Watson Conversation channels: Botkit (https://howdy.ai/botkit/)
This middleware plugin for Botkit allows developers to easily integrate a Watson Conversation
workspace with multiple social channels like Slack, Facebook, and Twilio. Customers can have
simultaneous, independent conversations with a single workspace through different channels.
1 Conversation to all possible channles
Integration
16
What is Watson today?
Watson Developer Cloud
SpeechVisionLanguage Data Insights
Watson Offerings
Watson Virtual Agent
Watson Explorer Watson Knowledge Studio
Enable cognitive computing
features in your app using APIs.
Product &
SaaS Offerings
17
Watson Developer Cloud
…with more to come
Language Vision
Data Insights Speech
Watson Developer Cloud
Feed
Detection
VisionLanguage
Data
Insights
Watson Offerings
Watson Virtual Agent
Watson Explorer Watson Knowledge Studio
18
Engagement Reference Architecture – Execution
19
Critical Success Factors for Cognitive (Guiding Principles
for the cognitive reference architecture)
Right Cloud Platform IBM Bluemix cloud (120 services +), that includes Watson APIs.
New Forms of Data
Ability to gain insight from Invisible Data (music, literature, pictures, videos); IOT Data in
Peer Clouds ; Data that you don’t own (Social, Weather, etc)
Ecosystem Ability to use data / API’s in Peer Clouds (UA Record, Medical Device data, Softbank)
New Channels
Ability to develop same application for the most of the current channels: facebook
messenger, twitter, web, slack, robots, wearables, ……
IBM Watson – A Gentle Technical Introduction20
APP /Solution /
Service
Weather
Data & analytics
Geocoding/Travel
Internet of Things
Watson
Mobile / Push
Twitter
Video Streaming
Services
Runtimes Security
Integration /
Hybrid Cloud DevOps
Core
... and more are coming
Cognitive application powered by IBM Watson can
leverage all other IBM Bluemix services
IBM Watson – A Gentle Technical Introduction21
How to learn
• Courses and use cases
www.ibm.com/learning
Development section, Watson Technology courses
Use cases
• Watson Developer Cloud
www.ibm.com/watson/developercloud/
All Watson services are documented here
• Youtube – Watson channel
www.youtube.com/user/IBMWatsonSolutions/videos
For each Watson services you can find an ‘how to’ video
22
• Documented architecture for various areas including Data & Analytics, e-Commerce, DevOps,
IoT etc.
• Sample code and demo apps as well.
• https://developer.ibm.com/architecture/
• Goal of this work group was to create a robust set of architecture’s and guidance for various
cognitive adoption patterns
• Currently Cognitive for Engagement is published.
IBM Cloud Architecture Center
IBM Watson – A Gentle Technical Introduction23
Project Intu
Project Intu is an experimental service that
allows developers to quickly and seamlessly
integrate various cognitive services, such as
Conversation and Speech-to-Text, with the
capabilities of various devices, spaces and
physical objects.
What’s coming ….. Stay tuned
https://ibmtjbot.github.io/
http://www.ibm.com/watson/developercloud/project-intu.html
TJ Bot
I'm an open source project designed to help you access
Watson Services in a fun way.
You can 3D print me or laser cut me,
then use one of my recipes to bring me to life!
24
Demo
25
What will you do with Watson?
The Cognitive Business Narrative / 05.18.201626
Gigante Francesca
Business Development & ISV
Solution IT Architect
Email: francesca_gigante@it.ibm.com
Phone: +39.335.7506665

IBM Watson Conversation: machine learning tools, artificial intelligence capabilities and natural language - Francesca Gigante - Codemotion Milan 2016

  • 1.
    IBM Watson Conversation machinelearning tools, artificial intelligence capabilities and natural language November 25th, 2016 Francesca Gigante Solution IT Architect Cloud and Cognitive Solutions Francesca_gigante@it.ibm.com @francy_giant Milan
  • 2.
    La nuova frontieradella statistica: il cognitive computing La statistica applicata al linguaggio naturale attraverso gli algoritmi di data mining e machine learning si è sviluppata molto velocemente negli ultimi anni al punto di produrre centinaia di algoritmi che sono alla base del Cognitive Computing
  • 3.
    L’evoluzione del Q&A(attraverso le fasi di sviluppo di Watson)
  • 4.
    REASON They can reason,grasp underlying concepts, form hypotheses, and infer and extract ideas. UNDERSTAND Cognitive systems understand imagery, language and other unstructured data like humans do. LEARN With each data point, interaction and outcome, they develop and sharpen expertise, so they never stop learning. INTERACT With abilities to see, talk and hear, cognitive systems interact with humans in a natural way. 4 The Core Characteristics of a Cognitive System
  • 5.
    Customers moves towarda multichannel engagement model THEN NOW Customer Customer
  • 6.
    L’era dei ‘chatbot’(computazione conversazionale) I chatbot sono applicazioni che consentono di creare dialoghi interattivi con linguaggio naturale. Attraverso le chatbot è possibile soddisfare puntualmente le richieste dell’utente attraverso una conversazione in linguaggio naturale e nello stesso tempo: – ‘raccogliere’ tutte le informazioni inserite dall’utente per successive analisi di business – accedere ai sistemi informativi aziendali (CRM, magazzino, catalogo, ecc.) per fornire informazioni di dettaglio – accedere ad una serie di documenti opportunamente classificati per fornire informazioni testuali di aiuto all’utente per lo svolgimento di operazioni, aiuto all’uso di prodotti, e altre informazioni utili. – può essere continuativamente ‘affinata’ e ‘arricchita’ con nuovi termini e modi conversazionali senza azioni sul sw sviluppato ma agendo unicamente sul ‘training set’ o sul ’dialogo’
  • 7.
    IBM Watson –A Gentle Technical Introduction7 • Watson Conversation allows you to create applications that understands natural-language input and uses machine learning to respond to customers in a way that simulates a conversation between humans beings. • Combines a number of cognitive techniques to help you build and train a bot - defining intents and entities and crafting dialog to simulate conversation. • The system can then be further refined with supplementary Watson API’s and other technologies to make the system more human-like or to give it a higher chance of returning the right answer. • Allows you to deploy a range of bots via many channels, from simple, narrowly focused Bots to much more sophisticated, full-blown virtual agents across mobile devices, messaging platforms like Slack, or even through a physical robot. Watson Conversation Service
  • 8.
    IBM Watson –A Gentle Technical Introduction8 Watson Conversation Service
  • 9.
    Watson Conversation èuno strumento grafico completo, veloce, flessibile e facile da usare per creare e testare dialoghi interattivi con l’utente. Watson Conversation espone le conversazioni create dall’utente via API per poterle includere all’interno del codice applicativo  Si basa sul principio degli intenti e delle entità viste precedentemente a cui si aggiunge la capacità di utilizzare questi intenti e queste entità per creare dei veri e propri dialoghi ramificati Watson Conversation – how to train the service
  • 10.
    Come creare leconversazioni Per creare le conversazioni si parte dagli intenti che stabiliscono le tipologie di richieste dell’utente. Per ogni intento è necessario istruire il Watson con un certo numero di esempi che servono ad identificare l’intento stesso.  Es.: #trova_attività • “Mi va di uscire stasera” • ”Voglio andare a mangiare fuori” • “Credo che andrò al cinema” • “Non ho per niente voglia di stare a casa” Successivamente si stabiliscono le entità con vari valori associati e vari sinonimi per ciascun valore:  Es: @attività: • Ristorante mangiare, affamato, ristoranti, cibo • Cinema film, • Discoteca disco, ballare • Bar pub, bere, birra Dopo aver definito gli intenti e le entità si costruisce il dialog in maniera grafica:  Si parte dai convenevoli e poi si aggiungono i percorsi possibili relativi ai vari intenti, per cui se ad esempio il sistema recepisce la frase “Credo che andrò al cinema” è in grado immediatamente di capire che l’utente vuole andare al cinema e gli chiede magari se ha preferenze per un cinema, per un film o per un genere di film ecc. Se invece il sistema recepisce la frase “Mi va di uscire stasera” compirà un percorso diverso per chiedere se l’interlocutore vuole andare a mangiare fuori o vuole andare al cinema o in discoteca e se gli viene risposto ‘voglio andare al cinema’ allora il dialogo si riconduce alla scelta del cinema o del film
  • 11.
    Come fornire informazioniagli utenti All’interno del dialogo si possono inserire – risposte compiute che possono essere ritornate direttamente all’utente – risposte contengono delle variabili di contesto che l’applicazione usa per capire quale sistema/servizio esterno può completare la risposta con le informazioni in possesso. – Es. ”Che tempo fa a Roma oggi” • Si identifica l’intento #meteo e le entità @city e @date e si costruisce la risposta inserendo una variabile di contesto modo che l’applicazioni chiami il servizio TheWeatherChannel per ottenere l’informazione necessaria al completamento della risposta – Per determinare le ‘entità aperte’ (es.city) è necessario ricorrere al servizio Alchemy E’ previsto il caso “Anything else” che si verifica quando il servizio di conversation non riesce a determinare correttamente uno specifico intento.
  • 12.
    Watson Retrieve andRank per gestire le varie tipologie di richieste Il servizio Watson Conversation è sufficiente E’ necessario integrare il Watson Conversation con Il servizio ‘Retrieve and Rank’ • Il servizio di Retrieve and Rank viene utilizzato quando il Watson Conversation non ‘capisce’ l’intento della domanda o identifica un intento con una bassa percentuale di ‘confidenza’. • Il servizio Retrieve and Rank utilizza la domanda dell’utente per ricercare tra i documenti che sono stati inseriti nel servizio una serie di documenti che possono soddisfare la domanda in questione (modalità F.A.Q.)
  • 13.
    Rispondere alle domandenon è solo ricercare nei documenti 1 3 IBM Watson Has question Search engine vs. Distills to 2-3 keywords Reads documents Finds answers Finds and analyzes evidence Finds documents containing keywords Delivers documents based on popularity Asks a question Understands question Computes confidence Delivers response, evidence and confidence Considers answers and evidence Produces possible answers or outcome Analyzes evidence
  • 14.
    IBM Watson –A Gentle Technical Introduction14 Starting Watson Conversation Service – the payload For every following inputs in the same conversations, the input MUST INCLUDE THE CONTEXT of the previous output
  • 15.
    IBM Watson –A Gentle Technical Introduction15 Watson Conversation channels: Botkit (https://howdy.ai/botkit/) This middleware plugin for Botkit allows developers to easily integrate a Watson Conversation workspace with multiple social channels like Slack, Facebook, and Twilio. Customers can have simultaneous, independent conversations with a single workspace through different channels. 1 Conversation to all possible channles Integration
  • 16.
    16 What is Watsontoday? Watson Developer Cloud SpeechVisionLanguage Data Insights Watson Offerings Watson Virtual Agent Watson Explorer Watson Knowledge Studio Enable cognitive computing features in your app using APIs. Product & SaaS Offerings
  • 17.
    17 Watson Developer Cloud …withmore to come Language Vision Data Insights Speech Watson Developer Cloud Feed Detection VisionLanguage Data Insights Watson Offerings Watson Virtual Agent Watson Explorer Watson Knowledge Studio
  • 18.
  • 19.
    19 Critical Success Factorsfor Cognitive (Guiding Principles for the cognitive reference architecture) Right Cloud Platform IBM Bluemix cloud (120 services +), that includes Watson APIs. New Forms of Data Ability to gain insight from Invisible Data (music, literature, pictures, videos); IOT Data in Peer Clouds ; Data that you don’t own (Social, Weather, etc) Ecosystem Ability to use data / API’s in Peer Clouds (UA Record, Medical Device data, Softbank) New Channels Ability to develop same application for the most of the current channels: facebook messenger, twitter, web, slack, robots, wearables, ……
  • 20.
    IBM Watson –A Gentle Technical Introduction20 APP /Solution / Service Weather Data & analytics Geocoding/Travel Internet of Things Watson Mobile / Push Twitter Video Streaming Services Runtimes Security Integration / Hybrid Cloud DevOps Core ... and more are coming Cognitive application powered by IBM Watson can leverage all other IBM Bluemix services
  • 21.
    IBM Watson –A Gentle Technical Introduction21 How to learn • Courses and use cases www.ibm.com/learning Development section, Watson Technology courses Use cases • Watson Developer Cloud www.ibm.com/watson/developercloud/ All Watson services are documented here • Youtube – Watson channel www.youtube.com/user/IBMWatsonSolutions/videos For each Watson services you can find an ‘how to’ video
  • 22.
    22 • Documented architecturefor various areas including Data & Analytics, e-Commerce, DevOps, IoT etc. • Sample code and demo apps as well. • https://developer.ibm.com/architecture/ • Goal of this work group was to create a robust set of architecture’s and guidance for various cognitive adoption patterns • Currently Cognitive for Engagement is published. IBM Cloud Architecture Center
  • 23.
    IBM Watson –A Gentle Technical Introduction23 Project Intu Project Intu is an experimental service that allows developers to quickly and seamlessly integrate various cognitive services, such as Conversation and Speech-to-Text, with the capabilities of various devices, spaces and physical objects. What’s coming ….. Stay tuned https://ibmtjbot.github.io/ http://www.ibm.com/watson/developercloud/project-intu.html TJ Bot I'm an open source project designed to help you access Watson Services in a fun way. You can 3D print me or laser cut me, then use one of my recipes to bring me to life!
  • 24.
  • 25.
    25 What will youdo with Watson?
  • 26.
    The Cognitive BusinessNarrative / 05.18.201626 Gigante Francesca Business Development & ISV Solution IT Architect Email: francesca_gigante@it.ibm.com Phone: +39.335.7506665

Editor's Notes

  • #5 A COGNITIVE BUSINESS HAS SYSTEMS THAT CAN ENHANCE DIGITAL INTELLIGENCE EXPONENTIALLY.   Key to attaining a richer digital intelligence are cognitive systems. With analytics, we get key insights from data, but with cognitive systems, we can turn those key insights into knowledge. Traditional computing is programmed (rules-based, logic-driven, dependent on organized information), but cognitive systems are probabilistic (they learn systematically, they are not dependent on rules, they handle disparate and varied data). Cognitive systems can understand unstructured information such as the imagery, natural language and sounds in books, emails, tweets, journals, blogs, images, sound and videos. They unlock meaning because they can reason through it, giving us new contexts to weigh and consider. Cognitive systems also learn continually, honing our own expertise so we can immediately take more informed actions. And they interact with us and with our customers, dissolving barriers between humans and machine, fueling unique, essential user experiences.