Las habilidades personalizadas pueden capturar texto y enviarlo a la API de su habilidad.
Si no está completamente familiarizado con el funcionamiento de Alexa Skills, aquí hay un breve resumen:
Primero, registra su habilidad con Amazon , proporcionando un esquema de intención y expresiones de muestra . El esquema de intención define qué acciones se pueden realizar y los espacios para los datos personalizados que se enviarán a su API. Las expresiones de muestra proporcionan ejemplos de cómo un usuario puede activar cada intento.
Cuando el usuario active su habilidad, Alexa intentará hacer coincidir lo que dijo con una de las expresiones de muestra de su habilidad. Si se hace partido, se enviará una solicitud HTTPS al servidor para pedir una respuesta.
Su servidor proporciona una respuesta (si todo va bien) y luego Alexa dará retroalimentación al usuario que activó su habilidad.
La AMAZON.LITERAL
ranura le permite aceptar prácticamente cualquier entrada. Tenga en cuenta que actualmente solo se admite en la región de inglés (EE. UU.) AMAZON.LITERAL
.
Su esquema de intención podría verse así:
{
"intents": [
{
"intent": "SaveTodo",
"slots": [
{
"name": "Todo",
"type": "AMAZON.LITERAL"
}
]
}
]
}
Y sus expresiones de muestra podrían ser así:
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}
Al usarlo AMAZON.LITERAL
, debe proporcionar muchos enunciados de muestra, al menos una muestra para cada posible longitud de entrada, pero idealmente más. La documentación de Amazon sugiere que debería apuntar a cientos de muestras para ranuras donde podría aceptar varios tipos de entradas.
Parece un poco tedioso, pero si no haces esto, es poco probable que tu habilidad reconozca bien el texto. Tal vez podría generar expresiones de muestra a partir de los datos del cliente (¡siempre y cuando la información personal se elimine de antemano!) Para que las declaraciones más comunes estén en sus muestras; sospecho que Alexa estará ligeramente sesgada hacia el reconocimiento de expresiones similares a las muestras.
Sin embargo, Amazon desalienta las AMAZON.LITERAL
tragamonedas y preferiría que use tipos de tragamonedas personalizados , que requieren que enumere las posibles entradas. Es importante recordar que:
Un tipo de ranura personalizado no es el equivalente de una enumeración. Los valores fuera de la lista aún pueden devolverse si el sistema de comprensión del idioma hablado los reconoce. Aunque la entrada a un tipo de ranura personalizado se pondera hacia los valores de la lista, no se limita solo a los elementos de la lista. Su código aún necesita incluir validación y verificación de errores al usar valores de ranura.