Roman Alexander non è solo un esperto di skill Alexa, ma anche un autore e gestore di smart-home-system.org. In questo articolo, fornisce una panoramica tecnica su Alexa di Amazon e sullo sviluppo di Alexa Skill in generale.
Una panoramica tecnica di Alexa di Amazon e dello sviluppo delle abilità di Alexa in generale ( Amazon )
- Roman Alexander sulla panoramica schematica di Alexa
- Interfaccia delle skill e servizio delle skill
- Interfaccia delle skill e modello di interazione
- Il manuale per lo sviluppo di skill Alexa
- Altri esperti su home&smart
Nei primi due articoli, il nostro esperto di homeandsmart Roman Alexander ci ha mostrato le basi dei tipi di skill di Alexa e ci ha spiegato come impostare una skill Flash Briefing in cinque minuti. Per completare la serie, ora fornisce una panoramica tecnica di Alexa nel suo complesso:
Contenuto
Roman Alexander sulla panoramica schematica di Alexa
Ecco una panoramica schematica di Alexa. Il servizio cloud Alexa riceve una richiesta e risponde con una «risposta», che rappresenta un «evento» per la skill al momento dell’esecuzione.
Panoramica schematica di Alexa (Roman Alexander)
Interfaccia delle skill e servizio delle skill
Una skill Alexa personalizzata è 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.
Altri tipi di skill hanno la stessa struttura, ma è fornita da Amazon. Solo con le skill personalizzate è possibile definirla autonomamente.
Una skill Alexa personalizzata è composta dal servizio di skill e dall’interfaccia della skill (Roman Alexander).
Interfaccia delle skill e modello di interazione
Il programmatore può definire molte cose nell’interfaccia delle abilità, a seconda del tipo di abilità. L’interfaccia della skill consiste principalmente nel «Modello di interazione». Si tratta del file che contiene tutti gli intenti, gli enunciati, gli slot e i tipi di dialogo opzionali per i dialoghi multipli di una skill Alexa.
Definisce quindi la logica della skill e l’interfaccia vocale attraverso la quale gli utenti interagiscono con la skill. I modelli di interazione sono definiti individualmente per ogni lingua in un file JSON, memorizzato nella cartella «models». Ad esempio, i seguenti file sono memorizzati in /models per una skill disponibile in tedesco e in inglese:
Il modello di interazione può anche contenere regole per dare priorità alle richieste degli utenti. Il modello di interazione è quindi come la mappatura di un’interfaccia grafica per Alexa.
Il modello di interazione JSON è suddiviso in tre componenti:
linguaModelloIl LanguageModel contiene tutti gli «intenti» dell’applicazione linguistica. Gli intenti sono richieste individuali dell’utente in un dialogo, ad esempio quando l’utente chiede una nuova domanda in un gioco di indovinelli, o vuole terminare il programma, o vuole passare a una modalità diversa. Gli intenti sono simili a un metodo in un programma, ad esempio i seguenti intenti sono creati di default nelle abilità personalizzate:
- AnnullaIntento
- AiutoIntento
- StopIntent
- Intento NavigaHome
- Intenzione di ripiego
Ogni intento contiene tre campi: il campo intento con il nome, il campo slot con uno o più slot e i cosiddetti «enunciati» sotto «campioni».
Udienze
Alla voce «campioni», è possibile mappare uno o più enunciati di esempio a questo intento per avviarlo. Ciò significa che gli utenti non devono sempre pronunciare la stessa frase per attivare esattamente questo intento. Inoltre, gli utenti non conoscono la frase, quindi qui si dovrebbe trovare la più ampia distribuzione possibile di frasi dal suono naturale. Ad esempio, non tutti dicono «Dimmi. «, ma anche «Dammi. «, «Trova per me. «, e così via.
Slot
Gli slot sono gli argomenti opzionali di un intento, ad esempio nomi, quantità o dati, e sono definiti dal loro tipo di dati. Gli slot sono indicati con parentesi graffe e i rispettivi nomi. Di solito vengono assegnati nomi descrittivi, ad esempio «» per un’abilità di pianificazione delle vacanze.
Alcuni tipi di slot e intenti sono già forniti da Amazon, riconoscibili dal prefisso «AMAZON». Alcuni dei tipi di slot già disponibili sono, ad esempio, «LITERAL» (obsoleto), «NUMBER» o «DATE».
Altri tipi di slot personalizzati sono memorizzati nel LanguageModel alla voce «types», e includono tutte le caratteristiche possibili per il tipo di slot.
Questi «slot personalizzati» aiutano Alexa ad aumentare la precisione nel riconoscimento delle richieste. Un esempio potrebbe essere il nome delle stazioni in una skill per gli orari dei treni della metropolitana. Tuttavia, Amazon offre già molti slot che includono anche informazioni geografiche. È quindi sempre una buona idea utilizzare gli slot Amazon. Gli slot Amazon possono anche essere ampliati con voci aggiuntive, come mostrato nel Capitolo 5 — Domande frequenti.
LanguageModel contiene anche il «Nome dell’invocazione», che è il nome univoco con cui viene chiamata l’abilità.
Dialogo
Il LanguageModel è seguito dagli elementi del dialogo. Un «dialogo» è una conversazione tra l’utente e Alexa in cui Alexa pone delle domande e l’utente risponde. Il dialogo è collegato a un intento che rappresenta la richiesta generale dell’utente. Alexa conduce un dialogo finché tutti gli slot specificati dal modello di dialogo non sono stati riempiti e confermati.
Pertanto, solo gli intenti per i quali è necessario riempire gli slot sono elencati nella parte del dialogo. Gli intenti senza slot possono essere, ad esempio, istruzioni per Alexa. Per gli intenti con slot, si specifica se è necessaria una conferma o un’elicitazione. Inoltre, per il rispettivo intento si fa riferimento ai prompt, che Alexa utilizzerà in modo specifico per questo intento.
I prompt
Le risposte di Alexa (prompt) in un dialogo sono specificate nella terza parte del JSON e hanno un ID a cui fare riferimento nel modello di dialogo. Alexa può quindi porre una domanda o dare una risposta. È anche possibile specificare diverse varianti, cioè frasi diverse, per lo stesso prompt.
Il manuale per lo sviluppo di skill Alexa
Per saperne di più sullo sviluppo di Alexa Skill è possibile consultare smart-home-system.org, il blog di Roman Alexander, oppure il suo libro «Alexa Skill entwickeln: Il manuale per i principianti».
Altri esperti su home&smart
Potete 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
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.