SlideShare a Scribd company logo
1 of 16
Introduzione
allo sviluppo di
Skill Alexa
ANTONIO DI MOTTA
H T T P S : / / G I T H U B . C O M / A N T D I M O T
H T T P S : / / T W I T T E R . C O M / D I M O T T A
Agenda
NLP
Che cos’è una Skill Alexa?
Interfaccia vocale
Servizi di AWS
Ambiente di sviluppo
NLP
L'elaborazione del linguaggio naturale è il
processo di trattamento automatico mediante
un calcolatore elettronico delle informazioni
scritte o parlate in una lingua naturale.
Perchè il business dovrebbe usare NLP?
Come il business può usare NLP?
Esempi di NLP
Siri, Alexa, Google Assistant
Auto completamento
Controllo ortografico
Messaggi di testo vocali
Che cos’è una Skill
Alexa?
Alexa è il servizio vocale (Alexa Voice Service)
basato sul cloud e l’intelligenza che alimenta
Amazon Echo ed altri dispositivi con Alexa
integrata.
Alexa fornisce delle capacità, o Skill, che
consentono al cliente di creare un’esperienza più
personalizzata.
Alexa Skills Kit?
L’Alexa Skills Kit (ASK) è una raccolta di API self-service,
strumenti, documentazioni e esempi di codice che
rendono lo sviluppo di skill su Alexa più rapido e
semplice.
ASK consente a programmatori, sviluppatori e brand di
creare delle skill interessanti e di raggiungere i clienti
attraverso Amazon Echo e altri dispositivi.
Tipologie di Skill
Custom Skill, per gestire
qualsiasi tipo di richiesta
Smart Home Skill, per
controllare smart device
(luci, porte, prese..)
Video Skill, per
controllare la
riproduzione video
Flash Briefing Skill, per
news e/o brevi messaggi
Music Skill, per la
riproduzione di
contenuti musicali
Anatomia di una Skill
Alexa
Ogni Skill è composta da due parti, un front-end
e un back-end.
Il front-end è l'interfaccia vocale o VUI
L'interfaccia vocale è configurata tramite il
modello di interazione vocale (Interaction
Model).
Il back-end è dove risiede la logica della abilità.
In generale un servizio cloud che gestisce i dati.
Creiamo la Skill “Dev Day”
Vogliamo realizzare una Skill Alexa per il DevDay ci permetta di
chiedere le informazioni relative ai prossimi eventi che si
terranno nella nostra città.
Da dove iniziamo?
Ambiente
applicativo
Frontend
Interaction Model (Alexa Developer Console)
Backend
Business Logic (AWS Lambda)
Database (AWS DynamoDB)
Interaction
Model
• Invocation name: dev day
• Launch phrases: chiedi a
• Utterance:
quali sono i prossimi eventi
a {city}
• Intent slot:
Salerno
Azione Interfaccia Vocale
(Interaction Model)
Interfaccia grafica
classica
Fare una richiesta L’utente dice: "Alexa, chiedi
a dev day quali sono i
prossimi eventi a Salerno"
L’utente clicca su
un pulsante.
La richiesta
dell’utente è
completata
Alexa risponde con le
informazioni richieste:
"I prossimi eventi sono: …"
L’applicazione
mostra i risultati
della richiesta su
una griglia di dati.
Business Logic (AWS
Lambda)
AWS Lambda consente di eseguire codice senza dover
effettuare il provisioning né gestire server.
Le tariffe sono calcolate in base ai tempi di elaborazione,
perciò non viene addebitato alcun costo quando il codice non
è in esecuzione.
Permette di eseguire codice per qualsiasi tipo di applicazione
(NodeJs, .Net Core, Java…) o servizio di back-end, senza alcuna
amministrazione.
Database (AWS DynamoDB)
Amazon DynamoDB è un servizio di database NOSQL che
supporta i modelli di dati di tipo documento e di tipo chiave-
valore ad altissime prestazioni a qualsiasi scala.
Particolarmente adatto per
Applicazioni web servless
Back-end per dispositivi mobili
Microservizi
Log (AWS CloudWatch)
Amazon CloudWatch è un servizio di monitoraggio che fornisce dati e
analisi concrete per monitorare le applicazioni, rispondere ai
cambiamenti di prestazioni a livello di sistema, ottimizzare l'utilizzo delle
risorse e ottenere una visualizzazione unificata dello stato di integrità
operativa
Raccoglie dati di monitoraggio e operativi sotto forma di log, parametri
ed eventi, fornendo una visualizzazione unificata delle risorse AWS, sulle
applicazioni e i servizi eseguiti in AWS e su server locali.
Si può utilizzare per rilevare comportamento anomalo nei tuoi ambienti,
impostare allarmi, visualizzare log e parametri uno di fianco all'altro,
intraprendere azioni automatiche, risolvere problemi e scoprire
informazioni per garantire che le applicazioni vengano eseguite senza
intoppi.
Ambiente di sviluppo
Tools
aws-cli, dotnet-cli, Visual Studio Code
Piattaforma di sviluppo
.Net Core 2.1, C#
Librerie
AWSSDK.DynamoDBv2
Alexa.NET (Amazon Alexa Skills SDK for .NET )
DEMO
https://github.com/antdimot/devday

More Related Content

Similar to Introduzione allo sviluppo di skill alexa

Introduzione a Ruby On Rails
Introduzione a Ruby On RailsIntroduzione a Ruby On Rails
Introduzione a Ruby On RailsLuca Mearelli
 
Progettare e sviluppare soluzioni serverless con AWS
Progettare e sviluppare soluzioni serverless con AWSProgettare e sviluppare soluzioni serverless con AWS
Progettare e sviluppare soluzioni serverless con AWSsparkfabrik
 
Modi innovativi per costruire App
Modi innovativi per costruire AppModi innovativi per costruire App
Modi innovativi per costruire AppCommit University
 
Applicazioni Serverless con AWS
Applicazioni Serverless con AWSApplicazioni Serverless con AWS
Applicazioni Serverless con AWSsparkfabrik
 
Azure Web Apps: portare il tuo sito sul cloud
Azure Web Apps: portare il tuo sito sul cloudAzure Web Apps: portare il tuo sito sul cloud
Azure Web Apps: portare il tuo sito sul cloudDavide Benvegnù
 
WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08
WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08
WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08Alessandro Del Sole
 
Windows Workflow Foundation 4
Windows Workflow Foundation 4Windows Workflow Foundation 4
Windows Workflow Foundation 4Felice Pescatore
 
IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...
IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...
IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...Daniele Mondello
 
Meetup Progressive Web App
Meetup Progressive Web AppMeetup Progressive Web App
Meetup Progressive Web Appdotnetcode
 
Andrea Ceroni - Alexa, please deploy my Azure architecture - Codemotion Rome ...
Andrea Ceroni - Alexa, please deploy my Azure architecture - Codemotion Rome ...Andrea Ceroni - Alexa, please deploy my Azure architecture - Codemotion Rome ...
Andrea Ceroni - Alexa, please deploy my Azure architecture - Codemotion Rome ...Codemotion
 
Meetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web AppMeetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web Appdotnetcode
 
DevOps@Work 2017 - Azure Mobile Engagement
DevOps@Work 2017 - Azure Mobile EngagementDevOps@Work 2017 - Azure Mobile Engagement
DevOps@Work 2017 - Azure Mobile EngagementRoberto Albano
 
Machine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devopsMachine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devopsIgor Antonacci
 
Viaggio attraverso il cloud - Consigli e best practices per iniziare con il c...
Viaggio attraverso il cloud - Consigli e best practices per iniziare con il c...Viaggio attraverso il cloud - Consigli e best practices per iniziare con il c...
Viaggio attraverso il cloud - Consigli e best practices per iniziare con il c...Amazon Web Services
 
Biznology presentazione azienda
Biznology presentazione aziendaBiznology presentazione azienda
Biznology presentazione aziendaAlberto Lagna
 
MS Days 08 Applicazioni RIA con Silverlight 2 e WCF
MS Days 08 Applicazioni RIA con Silverlight 2 e WCFMS Days 08 Applicazioni RIA con Silverlight 2 e WCF
MS Days 08 Applicazioni RIA con Silverlight 2 e WCFFabrizio Bernabei
 
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...Codemotion
 

Similar to Introduzione allo sviluppo di skill alexa (20)

Introduzione a Ruby On Rails
Introduzione a Ruby On RailsIntroduzione a Ruby On Rails
Introduzione a Ruby On Rails
 
Progettare e sviluppare soluzioni serverless con AWS
Progettare e sviluppare soluzioni serverless con AWSProgettare e sviluppare soluzioni serverless con AWS
Progettare e sviluppare soluzioni serverless con AWS
 
Modi innovativi per costruire App
Modi innovativi per costruire AppModi innovativi per costruire App
Modi innovativi per costruire App
 
Applicazioni Serverless con AWS
Applicazioni Serverless con AWSApplicazioni Serverless con AWS
Applicazioni Serverless con AWS
 
HTML5, il lato client della forza...
HTML5, il lato client della forza... HTML5, il lato client della forza...
HTML5, il lato client della forza...
 
Open domus 2016
Open domus 2016Open domus 2016
Open domus 2016
 
Azure Web Apps: portare il tuo sito sul cloud
Azure Web Apps: portare il tuo sito sul cloudAzure Web Apps: portare il tuo sito sul cloud
Azure Web Apps: portare il tuo sito sul cloud
 
WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08
WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08
WPF & LINQ: VB T&T Community After Hour @ Microsoft Days 08
 
Windows Workflow Foundation 4
Windows Workflow Foundation 4Windows Workflow Foundation 4
Windows Workflow Foundation 4
 
IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...
IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...
IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...
 
Meetup Progressive Web App
Meetup Progressive Web AppMeetup Progressive Web App
Meetup Progressive Web App
 
Andrea Ceroni - Alexa, please deploy my Azure architecture - Codemotion Rome ...
Andrea Ceroni - Alexa, please deploy my Azure architecture - Codemotion Rome ...Andrea Ceroni - Alexa, please deploy my Azure architecture - Codemotion Rome ...
Andrea Ceroni - Alexa, please deploy my Azure architecture - Codemotion Rome ...
 
Meetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web AppMeetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web App
 
DevOps@Work 2017 - Azure Mobile Engagement
DevOps@Work 2017 - Azure Mobile EngagementDevOps@Work 2017 - Azure Mobile Engagement
DevOps@Work 2017 - Azure Mobile Engagement
 
Swagger per tutti
Swagger per tuttiSwagger per tutti
Swagger per tutti
 
Machine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devopsMachine learning models continuous deployment on azure using devops
Machine learning models continuous deployment on azure using devops
 
Viaggio attraverso il cloud - Consigli e best practices per iniziare con il c...
Viaggio attraverso il cloud - Consigli e best practices per iniziare con il c...Viaggio attraverso il cloud - Consigli e best practices per iniziare con il c...
Viaggio attraverso il cloud - Consigli e best practices per iniziare con il c...
 
Biznology presentazione azienda
Biznology presentazione aziendaBiznology presentazione azienda
Biznology presentazione azienda
 
MS Days 08 Applicazioni RIA con Silverlight 2 e WCF
MS Days 08 Applicazioni RIA con Silverlight 2 e WCFMS Days 08 Applicazioni RIA con Silverlight 2 e WCF
MS Days 08 Applicazioni RIA con Silverlight 2 e WCF
 
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
Moving from Monolithic to Microservice Architecture: an OSS based stack deplo...
 

Introduzione allo sviluppo di skill alexa

  • 1. Introduzione allo sviluppo di Skill Alexa ANTONIO DI MOTTA H T T P S : / / G I T H U B . C O M / A N T D I M O T H T T P S : / / T W I T T E R . C O M / D I M O T T A
  • 2. Agenda NLP Che cos’è una Skill Alexa? Interfaccia vocale Servizi di AWS Ambiente di sviluppo
  • 3. NLP L'elaborazione del linguaggio naturale è il processo di trattamento automatico mediante un calcolatore elettronico delle informazioni scritte o parlate in una lingua naturale. Perchè il business dovrebbe usare NLP? Come il business può usare NLP?
  • 4. Esempi di NLP Siri, Alexa, Google Assistant Auto completamento Controllo ortografico Messaggi di testo vocali
  • 5. Che cos’è una Skill Alexa? Alexa è il servizio vocale (Alexa Voice Service) basato sul cloud e l’intelligenza che alimenta Amazon Echo ed altri dispositivi con Alexa integrata. Alexa fornisce delle capacità, o Skill, che consentono al cliente di creare un’esperienza più personalizzata.
  • 6. Alexa Skills Kit? L’Alexa Skills Kit (ASK) è una raccolta di API self-service, strumenti, documentazioni e esempi di codice che rendono lo sviluppo di skill su Alexa più rapido e semplice. ASK consente a programmatori, sviluppatori e brand di creare delle skill interessanti e di raggiungere i clienti attraverso Amazon Echo e altri dispositivi.
  • 7. Tipologie di Skill Custom Skill, per gestire qualsiasi tipo di richiesta Smart Home Skill, per controllare smart device (luci, porte, prese..) Video Skill, per controllare la riproduzione video Flash Briefing Skill, per news e/o brevi messaggi Music Skill, per la riproduzione di contenuti musicali
  • 8. Anatomia di una Skill Alexa Ogni Skill è composta da due parti, un front-end e un back-end. Il front-end è l'interfaccia vocale o VUI L'interfaccia vocale è configurata tramite il modello di interazione vocale (Interaction Model). Il back-end è dove risiede la logica della abilità. In generale un servizio cloud che gestisce i dati.
  • 9. Creiamo la Skill “Dev Day” Vogliamo realizzare una Skill Alexa per il DevDay ci permetta di chiedere le informazioni relative ai prossimi eventi che si terranno nella nostra città. Da dove iniziamo?
  • 10. Ambiente applicativo Frontend Interaction Model (Alexa Developer Console) Backend Business Logic (AWS Lambda) Database (AWS DynamoDB)
  • 11. Interaction Model • Invocation name: dev day • Launch phrases: chiedi a • Utterance: quali sono i prossimi eventi a {city} • Intent slot: Salerno Azione Interfaccia Vocale (Interaction Model) Interfaccia grafica classica Fare una richiesta L’utente dice: "Alexa, chiedi a dev day quali sono i prossimi eventi a Salerno" L’utente clicca su un pulsante. La richiesta dell’utente è completata Alexa risponde con le informazioni richieste: "I prossimi eventi sono: …" L’applicazione mostra i risultati della richiesta su una griglia di dati.
  • 12. Business Logic (AWS Lambda) AWS Lambda consente di eseguire codice senza dover effettuare il provisioning né gestire server. Le tariffe sono calcolate in base ai tempi di elaborazione, perciò non viene addebitato alcun costo quando il codice non è in esecuzione. Permette di eseguire codice per qualsiasi tipo di applicazione (NodeJs, .Net Core, Java…) o servizio di back-end, senza alcuna amministrazione.
  • 13. Database (AWS DynamoDB) Amazon DynamoDB è un servizio di database NOSQL che supporta i modelli di dati di tipo documento e di tipo chiave- valore ad altissime prestazioni a qualsiasi scala. Particolarmente adatto per Applicazioni web servless Back-end per dispositivi mobili Microservizi
  • 14. Log (AWS CloudWatch) Amazon CloudWatch è un servizio di monitoraggio che fornisce dati e analisi concrete per monitorare le applicazioni, rispondere ai cambiamenti di prestazioni a livello di sistema, ottimizzare l'utilizzo delle risorse e ottenere una visualizzazione unificata dello stato di integrità operativa Raccoglie dati di monitoraggio e operativi sotto forma di log, parametri ed eventi, fornendo una visualizzazione unificata delle risorse AWS, sulle applicazioni e i servizi eseguiti in AWS e su server locali. Si può utilizzare per rilevare comportamento anomalo nei tuoi ambienti, impostare allarmi, visualizzare log e parametri uno di fianco all'altro, intraprendere azioni automatiche, risolvere problemi e scoprire informazioni per garantire che le applicazioni vengano eseguite senza intoppi.
  • 15. Ambiente di sviluppo Tools aws-cli, dotnet-cli, Visual Studio Code Piattaforma di sviluppo .Net Core 2.1, C# Librerie AWSSDK.DynamoDBv2 Alexa.NET (Amazon Alexa Skills SDK for .NET )

Editor's Notes

  1. Gia’ oggi usiamo NLP in diversi contesti applicative, la voce e’ solo un ulteriore modo per interagire interpretando le richieste degli utenti.
  2. Skill Built-in e Skill di terze parti Modello applicativo simile a quello delle app Per i produttori di hardware c’e’ un SDK fornito da Amazon per inserire embedded Alexa Voice Service nel loro hardware (tostapane?)
  3. Architettura,
  4. Un modello di interazione è in qualche modo analogo a un'interfaccia utente grafica in un’ app tradizionale. Invece di fare clic sui pulsanti e selezionare le opzioni dalle finestre di dialogo, gli utenti fanno le loro richieste e rispondono alle domande con la voce.
  5. Si occupera’ di eseguire il codice .net core che gestisce le richieste della Skill Dev Day.
  6. E’ il servizio che contiene le informazioni relative agli eventi del Dev Day.