Istruzioni per la creazione di una skill Alexa Programmare da soli le skill Alexa — ecco come fare

Le Alexa Skills sono applicazioni di fornitori terzi che vogliono rendere disponibili i loro servizi tramite l’assistente vocale Alexa di Amazon. Dal generatore di scoregge all’abilità per la casa intelligente: chiunque può programmare da sé un’abilità con l’Alexa Skills Kit. Il nostro esperto di Alexa Skill Roman Alexander ci spiega come funziona e cosa bisogna fare.

Chiunque può programmare un'abilità di Alexa con l'ASK

Chiunque può programmare un’abilità Alexa con l’ASK ( Amazon )

  • Creare abilità Alexa: Questi sono i tipi di abilità
  • Elementi di una skill
  • Abilità Flash Briefing
  • Abilità Alexa per la casa intelligente
  • Abilità video Alexa
  • Abilità personalizzate di Alexa
  • Creare una skill Alexa personalizzata: cosa c’è da sapere
  • DOMANDA: Come creare un’abilità Alexa
  • Maggiori informazioni sullo sviluppo delle abilità Alexa
  • Altri esperti su home&smart
  • Altre informazioni su Alexa

Creare abilità Alexa: Questi sono i tipi di abilità

Per iniziare a utilizzare Alexa come sviluppatore, è necessario innanzitutto comprendere i diversi modi in cui è possibile avvicinarsi ad Alexa e all’ambiente per sviluppatori di Alexa, e in particolare all'»Alexa Skills Kit».

In primo luogo, è importante sapere che Amazon fornisce diversi «modelli» di abilità. A seconda del modello che si utilizza, si possono risparmiare sforzi di programmazione, in quanto si può già attingere al lavoro preparatorio di Amazon. Ciò significa che in alcuni casi è possibile sviluppare la propria skill molto rapidamente. Questo vale sia per le abilità Flash Briefing che per le abilità Smart Home, che vengono create utilizzando un’API fornita. Per queste ultime esistono già delle API, che consentono un minore controllo sull’abilità, ma semplificano anche lo sviluppo. Esistono i seguenti tipi di abilità:

  • Flash Briefing Skills: adatte a giornali o siti di notizie.
  • Smart Home Skills: adatte ai fornitori di dispositivi per la casa intelligente.
  • Competenze video: adatte a fornitori di video come Netflix.
  • Abilità personalizzate: per tutto il resto, come i giochi.

Amazon Echo Show, nero

Amazon Echo Show, nero

Video, riassunti, previsioni del tempo, testi di canzoni: Echo Show può mostrare contenuti aggiuntivi.
Stato: 20.11.2023

Elementi di una skill

Interfaccia e servizio skill: una skill Alexa è composta dal servizio skill e dall’interfaccia skill. In parole povere, si potrebbe dire che il front-end è l’interfaccia utente vocale (VUI), che viene configurata tramite il modello di interazione vocale. Il backend, il servizio di skill, è il luogo in cui si trova e viene eseguita la logica delle skill. In pratica, questo avviene solitamente in AWS Lambda.

Abilità Flash Briefing

Le skill di briefing flash utilizzano un feed RSS o JSON che contiene i nuovi elementi che vengono letti come parte del briefing flash. Tali competenze sono facili da sviluppare e sono adatte a giornali e blogger. In questo caso, il servizio della skill non è una funzione Lambda, ma il feed RSS o JSON. Tuttavia, questo tipo di skill ha solo alcune funzioni aggiuntive.

Figura: rappresentazione schematica di un'abilità di flash briefing

Figura: Rappresentazione schematica di una skill Flash Briefing (Roman Alexander)

Abilità Alexa per la casa intelligente

Le Smart Home Skills, invece, hanno un’interfaccia utente (API) che richiede una funzione AWS Lambda, che funge da adattatore per l’integrazione del dispositivo finale. Il vantaggio è che non è necessario sviluppare una propria VUI, ma si può fare affidamento su Amazon. Utilizzando questa API, un comando della smart home può essere interpretato correttamente e il fornitore della smart home può concentrarsi sul lavoro effettivo con i suoi dispositivi.

Figura: Rappresentazione schematica di una skill smart home

Figura: Rappresentazione schematica di una smart home skill (Roman Alexander)

Abilità video Alexa

Le abilità video sono state sviluppate per consentire agli utenti di trovare e guardare video (e film) senza dover richiamare una skill specifica. Ad esempio, un utente può dire «Alexa, riproduci Batman Returns» senza specificare un fornitore o un dispositivo. Attraverso l’API Video Skill, Alexa è a conoscenza dei dispositivi e dei servizi video che un utente possiede o a cui è abbonato, rendendo possibile la visualizzazione dei video.

Abilità personalizzate di Alexa

Le abilità personalizzate sono la variante più flessibile, ma anche la più complessa, in quanto lo sviluppatore deve fornire il modello di interazione. Il modello di interazione è essenzialmente la «conversazione», il dialogo tra Alexa e l’utente. Esso mappa i diversi modi in cui gli utenti pongono le loro domande, come Alexa raccoglie le informazioni e come Alexa risponde alla richiesta.

Le skill personalizzate possono essere ospitate in AWS Lambda, su Amazon Alexa o su un server web autodefinito con capacità HTTPS. Tuttavia, un server personalizzato deve essere controllato da Amazon per ottenere il certificato necessario.

Le skill personalizzate supportano anche i cosiddetti slot, che sono sostanzialmente input dell’utente con cui la skill può continuare a lavorare. Come nella programmazione, gli slot sono variabili che hanno un tipo di dati, un tipo di slot. Ne sono un esempio i tipi di slot AMAZON.NUMBER o AMAZON.DURATION. Lo sviluppatore può anche definire i propri tipi di slot.

Figura: Rappresentazione schematica di una skill personalizzata

Figura: Rappresentazione schematica di una skill personalizzata (Roman Alexander)

Creare una skill Alexa personalizzata: cosa c’è da sapere

Quando si programmano le skill di Alexa, è necessario avere ben chiaro in anticipo quali funzioni deve avere la skill e a quale scopo. I modelli di skill appena descritti possono essere un aiuto, poiché uno dei modelli forniti da Amazon è adatto a molti scopi.

Per tutti gli altri, invece, è necessario sviluppare una skill personalizzata. Tuttavia, è necessario evitare gli errori più comuni quando si sviluppa un’abilità personalizzata. Questi includono, ad esempio

  • Insufficiente disponibilità di parole negli slot: a volte le persone usano una varietà di sinonimi per una stessa parola, alcuni dei quali differiscono anche per l’accento. I tipi di slot supportano sinonimi per una parola, ma questi devono essere specificati di conseguenza.
  • Chiarire la guida per l’utente: deve essere chiaro all’utente dove si trova in ogni momento. L’utilizzo della funzione di aiuto offerta da Amazon è importante per evitare brutte esperienze all’utente.
  • Analisi degli input degli utenti e molti test: prima che una skill diventi operativa, l’ideale sarebbe testarla con un gruppo di utenti di prova. Amazon offre un’opzione di beta test e ci sono anche diversi modi per testare le skill durante lo sviluppo.

DOMANDA: Come creare un’abilità Alexa

L’interfaccia di una skill Alexa viene sviluppata nella Alexa Developer Console, mentre il servizio di skill, come descritto sopra, è ospitato in AWS Lambda o in un servizio web separato.

Le funzioni per le skill Alexa ospitate in AWS Lambda possono essere scritte in Node.js, Java o Python, mentre un servizio web personalizzato può essere creato in qualsiasi linguaggio adatto, purché possa accedere alle API di Amazon. Per ciascuno dei tre linguaggi di programmazione sopra citati è disponibile un kit di sviluppo software (SDK).

Anche lo Speech Synthesis Markup Language (SSML) è utile quando si lavora con Alexa. Con SSML è possibile personalizzare le risposte di Alexa, poiché altrimenti Alexa utilizza la propria procedura standard per le risposte.

Maggiori informazioni sullo sviluppo delle abilità Alexa

Per saperne di più sullo sviluppo di Alexa Skill, consultate smart-home-system.org, il blog di Roman Alexander, o il suo libro «Alexa Skills entwickeln».

Altri esperti su home&smart

Puoi trovare blog di esperti che vale la pena leggere nella nostra directory di blog di esperti Puoi trovare altri articoli di esperti nella nostra directory di esperti

Altre informazioni su Alexa

I link contrassegnati con * sono i cosiddetti link di affiliazione. Se viene effettuato un acquisto tramite tale link, riceveremo una commissione. Non ci sono costi aggiuntivi per voi.

Data dell'ultimo aggiornamento: 2-25-2022