Go in deep on this Bluemix Services. Add a natural language interface to your application to automate interactions with your end users. Common applications include virtual agents and chat bots that can integrate and communicate on any channel or device. Train Watson Conversation service through an easy-to-use web application, designed so you can quickly build natural conversation flows between your apps and users, and deploy scalable, cost effective solutions.
Semelhante a IBM Watson Conversation: machine learning tools, artificial intelligence capabilities and natural language - Francesca Gigante - Codemotion Milan 2016
Semelhante a IBM Watson Conversation: machine learning tools, artificial intelligence capabilities and natural language - Francesca Gigante - Codemotion Milan 2016 (20)
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
IBM Watson Conversation: machine learning tools, artificial intelligence capabilities and natural language - Francesca Gigante - Codemotion Milan 2016
1. 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
2. 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
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
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 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
11. 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.
12. 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.)
13. 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
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 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. 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
19. 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, ……
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 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
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!
26. 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
Notas do Editor
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.