Dobbiamo realizzare un bot conversazionale, quali sono gli strumenti a disposizione per prototipizzare e sviluppare?
Che maturità hanno le piattaforme attualmente utilizzabili?
Cosa è bene tenere presente prima, durante e dopo lo sviluppo?
Questo talk cercherà di fare un po' di chiarezza e dare dei consigli pratici, dal concepimento alla pubblicazione,
sulla base di ciò che Alessandro ha imparato dopo un anno e mezzo di sviluppo, usando DialogFlow, Google Assistant e Alexa.
Ok Google, non voglio perdermelo!
4. COSA ABBIAMO REALIZZATO
• Bot per controllare elettrodomestici per uno dei maggiori player
europei
• Attualmente in inglese, italiano, francese, spagnolo, russo e
tedesco
• Google Assistant e Google Home
• Alexa
• Applicazioni native per iOS ed Android
5. LO STATO ATTUALE DEI BOT
• Nel 2016 i bot hanno superato i social nell’utilizzo
• Nel 2017 le aziende «bot first» (kip, howdy, polly…) raccolgono
fondi importanti https://dispatch.message.io/bot-first-companies-in-2017-the-vc-
landscape-infographic-e9aa7f90245f
• Solo su messenger https://www.facebook.com/business/products/messenger-for-business
• 2 miliardi di messaggi al mese tra utenti e aziende
• 53% preferisce fare acquisti dove può usare messaggi
• 56% preferisce inviare messaggi piuttosto che chiamare
• Più di 100.000 bots https://venturebeat.com/2017/04/18/facebook-messenger-hits-
100000-bots
9. DEFINIRE IL TIPO DI BOT (PERSONALITÀ)
• Il visual branding esiste anche
in un bot
• Il nome
• Dove verrà usato?
• A chi si rivolge?
• Che lavoro dovrà svolgere?
• Variazioni culturali da
considerare?
• Candy Bianca
• Uso privato
• 30-50 anni
• Rapido, dritto al punto
• Si
15. CHE STRADE POSSIAMO PERCORRERE?
Authoring tools
•Pullstring
https://www.pullstring.com
•Chatfuel
https://chatfuel.com
•Flow XO
https://flowxo.com
SDKs
•Botkit
https://www.botkit.ai
•MS bot
framework
https://dev.botframework.c
om
•Twilio
https://www.twilio.com
•Slapp
AI Services
•Dialogflow
https://dialogflow.com
•Watson
https://www.ibm.com/wats
on
•Luis
https://www.luis.ai
•Wit.ai
https://wit.ai
16. DIALOGFLOW (EX API.AI)
• 18+ lingue
• SDKs per i principali linguaggi
• NLU che funziona bene
• Continuano a lavorarci
• Integrazione con un alto numero di piattaforme
17. OLTRE AI PRO, I CONTRO
• Interfaccia web migliorabile
• Ad aprile 2017 hanno eliminato il TTS
27-03-18 (manca l’italiano)
https://cloudplatform.googleblog.com/2018/03/introducing-Cloud-Text-to-Speech-
powered-by-Deepmind-WaveNet-technology.html
• Gestione delle strutture di conversazione
• Slot filling, vogliamo parlarne?
• Versione enterprise (beta) a pagamento con nuove funzioni e SDK
(https://github.com/actions-on-google/actions-on-google-
nodejs/issues/64#issuecomment-358728604)
18.
19. TIPS
• Gli utenti vanno guidati, veicolare le conversazioni
• Sfruttare il monitor se presente (contenuti più ricchi, bottoni,
caroselli)
• Gli utenti sanno di provare a porre la domanda in modo diverso
• 300 caratteri massimo (audio)
• Dare più varianti di risposta
• «Si è verificato un errore» non è una risposta
• Dare sicurezza all’utente
21. GOOGLE HOME
• Chiudere il microfono
• Sganciare gli smalltalks (non hanno ancora risolto il
problema)
• Attenzione ai comandi di esempio
• Explicit intent, deep link ed implict discovery
https://developers.google.com/actions/sdk/invocation-and-
discovery
• Gestire anche i culture alternativi
ES-419
22. ALEXA
• Checklist esaustiva delle cose da provare prima di pubblicare
https://developer.amazon.com/docs/custom-skills/functional-testing-for-a-
custom-skill.html
• Pacchetto NPM di validazione certificati «alexa-verifier-
middleware»
• L’integrazione di DialogFlow è finta (non per colpa di
Dialogflow)
• Bot da zero (limitato come NLU) oppure la nostra soluzione
• Non è tollerante con la pronuncia
23. ACCOUNT LINKING
“Account linking is a great way to lets users connect
their Google accounts to existing accounts on your
service. This allows you to build richer experiences for
your users that take advantage of the data they already
have in their account on your service.”
https://developers.google.com/actions/i
24. ACCOUNT LINKING
• Serve creare un server OAuth2 (npm: express-oauth-server,
oauth2-server)
• Flow: Authorization code grant
• Tool per i test:
https://developers.google.com/oauthplayground
• Si può testare anche dai simulatori delle skill
• Per spingersi oltre: «streamlined authentication flow» (Google
non Amazon)
https://developers.google.com/actions/identity/oauth2-assertion-flow
27. • Almeno una dozzina di frasi
• Controllare con regolarità l’uso da parte degli utenti e integrare
• Non aver paura di creare nuovi intenti (occhio alle ambiguità
però)
29. • Dialogflow ha una sua sezione di analytics in
beta
• Dashbot
https://www.dashbot.io/
• Chatbase (aperta da Google da 11-2017)
https://chatbase.com/
• Botanalytics
https://botanalytics.co/
32. RISORSE
• OAuth2 grants https://alexbilbie.com/guide-to-oauth-2-
grants/
• Amir Shevat: Designing Bots (niente codice, solo teoria)
• The Conversational UI and Why It Matters
https://developers.google.com/actions/design/
• Laura Klein: Step-by-Step Usability Testing Guide
https://guides.co/g/usability-testing-guide/7996
33.
34. ABOUT ME
• Developer @ Evoluzione Telematica srl
• Tech enthusiast
collaalessandro
+AlessandroColla
http://www.alessandrocolla.com
GRAZIE!
http://www.evoluzionetelematica.it
http://www.ntnext.it
Editor's Notes
Già dal 2016 ci sono aziende bot first
Enfatizzare sul ciclo continuo, perché sempre in evoluzione
Consistente come design anche nel sito
Il nome aiuta anche per la scoperta nelle directory app
Lavoro o Privato
Chi è il target d’utenza?
Rivolgersi a qualcuno in un modo può andare bene in un paese, ma potrebbe non esserlo in altri
La personalità deve essere in linea con l’ambiente e l’uso
Qui si vede che non da aiuti. Farlo notare come differenza con poncho
Capire gli spazi, scorre troppo? Troppi messaggi?
Roba che ho guardato un anno fa, sono solo alcuni
Domande formulate in maniera diversa.
Gestisce gli errori di battitura
La versione enterprise fa parte di Google Cloud Platform ed offre l’uso di chiamate rest o gRPC over HTTP2 e integrazione con il riconoscimento SpeechToText
Ancora niente TTS
Rischio che quella enterprise vada più avanti della pro, IMHO
27 marzo notizia che attivano il TTS
Esempio di conversazione lunga, non si capisce una ceppa
Per guidare l’utente si usano messaggi contestuali e con il video, metto i bottoni
Confermare i comandi dati dall’utente, gli danno sicurezza
Welcome intent che introduce comandi
Explicit: Talk to bianca
Deep linking: Talk to Bianca on how to remove beer stains
Discovery: Voglio fare il bucato. POTREBBE suggerire il nostro se non matcha con le sue cose
Le traduttrici potrebbero inserire frasi non gestite dagli intenti
Explicit: Talk to bianca
Deep linking: Talk to Bianca on how to remove beer stains
Discovery: Voglio fare il bucato. POTREBBE suggerire il nostro se non matcha con le sue cose
By supporting the automatic sign-up flow and account linking flow, you enable users who are signed in to their Google Accounts to automatically and seamlessly create accounts on your service from Google Assistant. Automatic sign-up is the easiest way for users to get started with your Action and yields the highest rate of new account creations for your service.
Per ora usiamo quelle di dialogflow. Tra poco migriamo