ibm watson conversation: machine learning tools, artificial intelligence capabilities and natural...

26
IBM Watson Conversation machine learning tools, artificial intelligence capabilities and natural language November 25th, 2016 Francesca Gigante Solution IT Architect Cloud and Cognitive Solutions [email protected] @francy_giant Milan

Upload: codemotion

Post on 07-Jan-2017

287 views

Category:

Technology


1 download

TRANSCRIPT

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

IBM Watson Conversationmachine learning tools, artificial intelligence capabilities and natural language

November 25th, 2016

Francesca GiganteSolution IT ArchitectCloud and Cognitive [email protected]@francy_giant

Milan

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

La nuova frontiera della statistica: il cognitive computingLa 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

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

L’evoluzione del Q&A (attraverso le fasi di sviluppo di Watson)

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

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.

The Core Characteristics of a Cognitive System

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

Customers moves toward a multichannel engagement model

THEN NOW

Customer Customer

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

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’

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

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

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

IBM Watson – A Gentle Technical Introduction8

Watson Conversation Service

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

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

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

Come creare le conversazioniPer 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

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

Come fornire informazioni agli utentiAll’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.

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

Watson Retrieve and Rank per gestire le varie tipologie di richieste

Il servizio Watson Conversation è sufficiente

E’ necessario integrare il Watson Conversation conIl 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.)

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

Rispondere alle domande non è solo ricercare nei documenti

13

IBM WatsonHas 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

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

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

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

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

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

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

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

17

Watson Developer Cloud

…with more to come

Language Vision

Data Insights Speech

Watson Developer Cloud

Feed DetectionVisionLanguage Data

Insights

Watson Offerings

Watson Virtual Agent

Watson Explorer Watson Knowledge Studio

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

18

Engagement Reference Architecture – Execution

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

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, ……

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

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

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

IBM Watson – A Gentle Technical Introduction21

How to learn

• Courses and use caseswww.ibm.com/learningDevelopment section, Watson Technology coursesUse cases

• Watson Developer Cloudwww.ibm.com/watson/developercloud/

All Watson services are documented here

• Youtube – Watson channelwww.youtube.com/user/IBMWatsonSolutions/videosFor each Watson services you can find an ‘how to’ video

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

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

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

IBM Watson – A Gentle Technical Introduction23

Project IntuProject 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 BotI'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!

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

24

Demo

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

25

What will you do with Watson?

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

The Cognitive Business Narrative / 05.18.201626

Gigante FrancescaBusiness Development & ISVSolution IT ArchitectEmail: [email protected]: +39.335.7506665