Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Tipo de slot gramatical
Con el tipo de espacio gramatical, puede crear su propia gramática en el XML formato SRGS especificado para recopilar información en una conversación. Amazon Lex V2 reconoce los enunciados que coinciden con las reglas especificadas en la gramática. También puedes proporcionar reglas de interpretación semántica utilizando ECMAScript etiquetas dentro de los archivos de gramática. A continuación, Amazon Lex devuelve las propiedades definidas en las etiquetas como valores resueltos cuando se produce una coincidencia.
Solo puede crear tipos de slot gramaticales en los idiomas inglés (Australia), inglés (Reino Unido) e inglés (EE. UU.).
Un tipo de slot gramatical consta de dos partes. La primera es la propia gramática escrita con el formato de SRGS especificación. La gramática interpreta el enunciado del usuario. Si el enunciado es aceptado por la gramática, coincide; de lo contrario, se rechaza. Si un enunciado coincide, se pasa al guion, si lo hay.
La segunda forma parte de un tipo de ranura gramatical y es un script opcional escrito en el ECMAScript que se transforma la entrada en los valores resueltos devueltos por el tipo de ranura. Por ejemplo, puede usar un script para convertir números hablados en dígitos. ECMAScriptlas declaraciones están encerradas en el <tag>elemento.
El siguiente ejemplo tiene el XML formato de la SRGS especificación que muestra una gramática válida aceptada por Amazon Lex V2. Define un tipo de slot gramatical que acepta números de tarjetas y determina si son para cuentas normales o prémium. Para obtener más información acerca de la sintaxis aceptable, consulte Definición sobre la gramática y los temas Formato de script.
<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 gramática anterior solo acepta dos tipos de números de tarjeta: 7241 o 7001. Ambos pueden llevar opcionalmente el prefijo «número de tarjeta». También contiene ECMAScript etiquetas que se pueden utilizar para la interpretación semántica. Con la interpretación semántica, el enunciado «carta número siete dos cuatro uno» devolvería el siguiente objeto:
{ "value": "7241", "card_type": "premium" }
Este objeto se devuelve como una JSON cadena serializada en el resolvedValues
objeto devuelto por las operaciones RecognizeTextRecognizeUtterance, y. StartConversation
Añadir un tipo de slot gramatical
Añadir un tipo de slot gramatical
-
Cargue la XML definición del tipo de ranura en un bucket de S3. Anote el nombre del bucket y la ruta al tipo de archivo.
nota
El tamaño de archivo máximo es de 100 KB.
-
Inicie sesión en la consola Amazon Lex AWS Management Console y ábrala en https://console.aws.amazon.com/lex/
. -
En el menú de la izquierda, seleccione Bots y, a continuación, seleccione el bot al que quiere añadir el tipo de slot gramatical.
-
Seleccione Ver idiomas y, a continuación, seleccione el idioma al que quiere añadir el tipo de slot gramatical.
-
Seleccione Ver tipos de slots.
-
Seleccione Añadir tipo de slot y, a continuación, seleccione Añadir tipo de slot gramatical.
-
Asigne un nombre al tipo de slot y, a continuación, seleccione Añadir.
-
Seleccione el bucket de S3 que contiene el archivo de definición e introduzca la ruta al archivo. Seleccione Guardar tipo de slot.