Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Con il tipo di slot grammaticale, è possibile creare la propria grammatica in formato XML secondo le specifiche SRGS per raccogliere informazioni durante una conversazione. Amazon Lex V2 riconosce gli enunciati corrispondenti alle regole specificate nella grammatica. Puoi anche fornire regole di interpretazione semantica utilizzando ECMAScript tag all'interno dei file grammaticali. Amazon Lex restituisce quindi le proprietà impostate nei tag come valori risolti quando si verifica una corrispondenza.
È possibile creare tipi di slot grammaticali solo nelle lingue inglese (Australia), inglese (Regno Unito) e inglese (Stati Uniti).
Un tipo di slot grammaticale è composto da due parti. La prima è la grammatica stessa scritta utilizzando il formato delle specifiche SRGS. La grammatica interpreta l'enunciato dell'utente. Se l'enunciato è accettato dalla grammatica, viene abbinato, altrimenti viene rifiutato. Se un enunciato corrisponde, viene passato allo script, se ce n'è uno.
Il secondo fa parte di un tipo di slot grammaticale ed è uno script opzionale scritto in ECMAScript che trasforma l'input nei valori risolti restituiti dal tipo di slot. Ad esempio, è possibile utilizzare uno script per convertire i numeri pronunciati in cifre. ECMAScript <tag>le istruzioni sono racchiuse nell'elemento.
L'esempio seguente è in formato XML secondo la specifica SRGS che mostra una grammatica valida accettata da Amazon Lex V2. Definisce un tipo di slot grammaticale che accetta i numeri delle carte e determina se sono per account normali o premium. Per ulteriori informazioni sulla sintassi accettabile, vedere gli Definizione grammaticale e gli Formato dello script argomenti.
<grammar version="1.0" xmlns="http://www.w3.org/2001/06/grammar"
xml:lang="en-US" tag-format="semantics/1.0" root="card_number">
<rule id="card_number" scope="public">
<item repeat="0-1">
card number
</item>
<item>
seven
<tag>out.value = "7";</tag>
</item>
<item>
<one-of>
<item>
two four one
<tag> out.value = out.value + "241"; out.card_type = "premium"; </tag>
</item>
<item>
zero zero one
<tag> out.value = out.value + "001"; out.card_type = "regular";</tag>
</item>
</one-of>
</item>
</rule>
</grammar>
La grammatica di cui sopra accetta solo due tipi di numeri di carta: 7241 o 7001. Entrambi possono essere opzionalmente preceduti dal prefisso «numero della carta». Contiene anche ECMAScript tag che possono essere usati per l'interpretazione semantica. Con l'interpretazione semantica, l'espressione «carta numero sette due quattro uno» restituirebbe il seguente oggetto:
{
"value": "7241",
"card_type": "premium"
}
Questo oggetto viene restituito come stringa serializzata JSON nell'resolvedValues
oggetto restituito dalle operazioni, e. RecognizeTextRecognizeUtteranceStartConversation
Aggiungere un tipo di slot grammaticale
Per aggiungere uno slot grammaticale digita
-
Carica la definizione XML del tuo tipo di slot in un bucket S3. Prendi nota del nome del bucket e del percorso del file.
Nota
La dimensione massima del file è 100 KB.
-
Accedi AWS Management Console e apri la console Amazon Lex all'indirizzo https://console.aws.amazon.com/lex/
. -
Dal menu a sinistra, scegli Bot, quindi scegli il bot a cui aggiungere il tipo di slot grammaticale.
-
Scegli Visualizza lingue, quindi scegli la lingua a cui aggiungere il tipo di slot grammaticale.
-
Scegli Visualizza i tipi di slot.
-
Scegli Aggiungi tipo di slot, quindi scegli Aggiungi tipo di slot grammaticale.
-
Assegna un nome al tipo di slot, quindi scegli Aggiungi.
-
Scegli il bucket S3 che contiene il tuo file di definizione e inserisci il percorso del file. Scegli Salva il tipo di slot.