Come si acquisisce il testo riconosciuto da Echo?


13

So che alcune abilità possono catturare testi parlati, come quando si aggiungono liste di cose da fare e liste della spesa, e anche le competenze di terze parti possono farlo, ad es. SMS con Molly .

Quindi, come fanno? Esiste una chiamata API che acquisisce il testo riconosciuto e lo memorizza da qualche parte?

Risposte:


8

Le abilità personalizzate possono acquisire testo e inviarlo all'API della tua abilità.

Se non hai familiarità con il funzionamento di Alexa Skills, ecco un breve riepilogo:

  • Innanzitutto, registra la tua abilità su Amazon , fornendo uno schema di intenti e espressioni di esempio . Lo schema di intenti definisce quali azioni possono essere eseguite e gli slot per i dati personalizzati da inviare all'API. Le espressioni di esempio forniscono esempi di come un utente può attivare ogni intento.

  • Quando l'utente attiva la tua abilità, Alexa proverà ad abbinare ciò che ha detto a una delle espressioni di esempio della tua abilità. Se si fa incontro, invierà una richiesta HTTPS al server per chiedere una risposta.

  • Il tuo server fornisce una risposta (se tutto va bene) e quindi Alexa fornirà un feedback all'utente che ha attivato la tua abilità.

Lo AMAZON.LITERALslot consente di accettare praticamente qualsiasi input. Nota che attualmente è supportato solo nella regione inglese (USA): le competenze inglese (Regno Unito) e tedesco non possono essere utilizzate AMAZON.LITERAL.

Il tuo schema di intenti potrebbe assomigliare a questo:

{
  "intents": [
    {
      "intent": "SaveTodo",
      "slots": [
        {
          "name": "Todo",
          "type": "AMAZON.LITERAL"
        }
      ]
    }
  ]
}

E le tue espressioni di esempio potrebbero essere così:

SaveTodo remind me to {fetch the shopping|Todo}
SaveTodo remind me to {write my English essay|Todo}
SaveTodo remind me to {buy some dog food tomorrow|Todo}

Durante l'utilizzo AMAZON.LITERAL, è necessario fornire molte espressioni di esempio, almeno un campione per ogni possibile lunghezza di input, ma idealmente di più. La documentazione di Amazon suggerisce che dovresti puntare a centinaia di campioni per slot in cui puoi accettare vari tipi di input.

Sembra un po 'noioso, ma se non lo fai, è improbabile che la tua abilità riconosca bene il testo. Potresti forse generare espressioni di esempio dai dati dei clienti (purché le informazioni personali vengano rimosse in anticipo!) In modo che le espressioni più comuni siano nei tuoi campioni — sospetto che Alexa sia leggermente distorta nel riconoscere espressioni simili ai campioni.

Amazon scoraggia AMAZON.LITERALcomunque gli slot e preferirebbe che tu utilizzassi tipi di slot personalizzati , che richiedono di elencare i possibili input. È importante ricordare che:

Un tipo di slot personalizzato non equivale a un'enumerazione. I valori esterni all'elenco possono comunque essere restituiti se riconosciuti dal sistema di comprensione della lingua parlata. Sebbene l'input per un tipo di slot personalizzato sia ponderato rispetto ai valori nell'elenco, non è vincolato solo agli elementi nell'elenco. Il codice deve ancora includere la convalida e il controllo degli errori quando si utilizzano i valori degli slot.


1
Credo che Amazon stia mantenendo le slot letterali mentre molti sviluppatori hanno protestato contro la loro perdita. Ma l'utilizzo dello slot letterale impedirà la pubblicazione delle tue abilità in quanto Amazon non vuole che gli sviluppatori possano "ascoltare" gli utenti. Ma puoi ancora usarlo in un'abilità privata.
Graham Chiu,

1
@GrahamChiu: ho l'impressione che gli slot letterali siano ancora consentiti anche nelle competenze pubblicate (vedi questo post sul blog : "In base al feedback degli sviluppatori non rimuoveremo il tipo di slot LITERAL e puoi continuare a inviare competenze che includono la sua funzionalità.") . Non l'ho provato io stesso, quindi se puoi confermare in entrambi i modi, ciò potrebbe essere utile per i futuri visitatori.
Aurora0001
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.