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à.
Tipo di slot grammaticale
Con il tipo di slot grammaticale, puoi creare la tua grammatica nel XML formato specificato per raccogliere SRGS informazioni in 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.
Puoi 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 specificoSRGS. 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 presente.
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 è nel XML formato SRGS conforme alla specifica 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 JSON -serializzata nell'resolvedValues
oggetto restituito dalle operazioni RecognizeText, RecognizeUtterancee. StartConversation
Aggiungere un tipo di slot grammaticale
Per aggiungere uno slot grammaticale digita
-
Carica la XML definizione del 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 a 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.