La creación de habilidades personalizadas para Alexa es amplia y se extiende desde buscar una tienda en una ciudad hasta ayudar a los drones en operaciones militares. Los pasos para crear una habilidad personalizada son: interacción del usuario, es decir, palabra de activación, nombre de invocación y enunciados. El motor de Alexa en el dispositivo Echo mapea la habilidad de Alexa adecuada (habilidad personalizada) en función del nombre de invocación. Alexa analiza los enunciados del usuario, maneja la intención, envía una solicitud a un sistema de backend (función de AWS Lambda) y la mapea a la habilidad de Alexa. La función de AWS Lambda maneja la intención con el manejador de intenciones adecuado. Después de obtener la respuesta, la función de AWS Lambda llama a una API de terceros u otra API para obtener la información. En función de la información recuperada, la función de AWS Lambda llama a las API adecuadas para obtener los detalles. La respuesta JSON se construye mediante el lenguaje de marcado de síntesis del habla (SSML) y se consume por el dispositivo Amazon Echo para dar una respuesta de audio.
Es importante tener en cuenta que se requiere una cuenta de desarrollador de Amazon para crear el tipo de habilidad correspondiente a la intención con los valores de ranura. Los pasos necesarios para crear una habilidad personalizada en la Consola de Desarrolladores de Amazon son:
- Configurar la información de la habilidad
- Establecer el modelo de interacción de Alexa
- Registrar la configuración de la habilidad
- Probar la habilidad personalizada de Alexa
La información de la habilidad requiere que el usuario cree una habilidad de Alexa con un nombre de invocación. El nombre de invocación determina lo que el usuario dice para iniciar una habilidad.
El modelo de interacción es la lógica empresarial para la interfaz de voz del usuario. Esto se conoce como esquema de intención. El esquema de intención contiene todos los posibles significados de los enunciados. El esquema de intención es un objeto JSON que incluye todas las intenciones que el usuario crea. En función del modelo de interacción, se realizan las siguientes acciones:
- Creación de intenciones: Muchas conversaciones o enunciados de usuario tienen significados diferentes o iguales, Alexa los maneja como intenciones. Los enunciados de ejemplo son intenciones.
- Creación de ranuras: Las ranuras cumplen las intenciones a través de datos de entrada. Por ejemplo, cuando el usuario dice “Alexa, ¿dónde está la tienda más cercana desde Minnesota?”, la ciudad es el tipo de propiedad de la ranura y el valor de la propiedad es Minnesota. La enumeración son los valores de la ranura de la ciudad.
Alexa consulta las preguntas de retroalimentación. Alexa espera que el usuario proporcione datos (para una ranura) que sean necesarios para cumplir las intenciones. Por ejemplo, la pregunta de retroalimentación ingresada es “para qué ciudad”.
Alexa recibe los enunciados de ejemplo en el modelo de interacción. Por ejemplo, la respuesta de ejemplo del usuario puede ser solo el nombre de la ciudad. A veces, los enunciados están llenos con el valor de la ranura y sin valor de la ranura.
Después de configurar el modelo de interacción, el usuario invoca el dispositivo Alexa que está configurado con el sistema de backend. AWS Lambda recibe la intención y la solicitud del usuario en forma decodificada JSON para procesar las habilidades. Alexa mantiene un conjunto de Lambda Amazon Resource Name (ARN) para cada habilidad personalizada. El código de la habilidad personalizada analiza el JSON, lee la intención y el contexto y realiza el procesamiento aplicable para recuperar los datos adecuados a las API.