Читать книгу Alexa. Desarrollo de aplicaciones IoT para Arduino y ESP8266 - Tomás Domínguez Mínguez - Страница 16

4.3 OPCIONES DE CONFIGURACIÓN DE HABILIDADES

Оглавление

Antes de empezar a desarrollar el modelo de interacción de una habilidad, conviene conocer las posibilidades que le ofrece la consola. En primer lugar, observe que el encabezado tiene ahora una serie de pestañas. En ellas se agrupan las opciones de configuración que hay disponibles en las distintas fases del desarrollo de la habilidad.


El contenido de cada una de ellas es el siguiente:

• “Build.” Aquí es donde creará el modelo de interacción de su habilidad. Las opciones que aparezcan serán diferentes dependiendo del tipo de habilidad elegida, que en su caso ha sido la personalizada. Es la pestaña seleccionada por defecto cuando entre en una habilidad.

• “Code.” Al haber elegido la opción en la que el código se aloja en el propio servicio, desde esta pestaña podrá editar y desplegar el código JavaScript de su habilidad.

• “Test.” Contiene un simulador de Alexa que le permitirá probar el comportamiento de la habilidad.

• “Distribution.” Muestra una vista previa de cómo aparecería su habilidad en la tienda de habilidades. No la va a utilizar porque las que desarrolle serán de carácter privado.

• “Certification.” Permite realizar los chequeos previos necesarios para publicar una aplicación (habilidad). Por el mismo motivo indicado el punto anterior, tampoco la usará.

• “Analytics.” Presenta las métricas de uso de su habilidad, así como el número de sesiones abiertas, el número de clientes únicos (en su caso uno, al ser una habilidad privada), el número de intenciones invocadas, etc.

Además, en la parte izquierda de dichas pestañas podrá ver el nombre de la habilidad y un enlace (“Your Skills”) que le llevará a la página inicial de la consola, aquella en la que muestra la lista de habilidades que tenga creadas. Púlselo.


Como puede apreciar en la imagen inferior, ahora aparece la habilidad que acaba de crear, en la que, además del nombre, se indica el idioma (español de España), la última vez que se ha modificado (en este caso cuando se creó) y su estado (en desarrollo).


A la derecha hay un menú desplegable con las siguientes opciones:

• “Measure.” Le llevará a la pestaña “Analitycs” de la habilidad.

• “Edit.” Irá a la pestaña “Build” de la habilidad.

• “Delete.” Borra la habilidad.


Pulse en el nombre de la habilidad “Máquina de café” para volver a la pantalla en la que se encontraba anteriormente. Ahora observe que, justo debajo del enlace “Your Skills”, se encuentra el idioma de la habilidad (el español, tal como indicó al crearla). Si pulsa sobre él, podrá añadir nuevos idiomas (una misma habilidad podría llegar a usarse en varios idiomas). Para ello, deberá seleccionar la opción “Language Settings” del menú desplegable.


Aparecerá una ventana con todos los idiomas en los que puede ser usada la habilidad (ahora solo el español). Pulsando en el enlace “Add new language” se desplegarán todos aquellos que podrían añadirse. Solo tiene que ir seleccionándolos uno a uno. En caso de error, podrá eliminarlos con el enlace “Remove” que hay a su derecha.


Situados debajo del campo con el idioma se encuentran los grupos de opciones de configuración de la habilidad.


De todos ellos, únicamente trabajará con las opciones del grupo “CUSTOM”, ya que son las que le permitirán establecer el modelo de interacción de una habilidad.

En el siguiente grupo (“MODELS”) podrá añadir o borrar un modelo de interacción a esta habilidad. Al haberla creado inicialmente como personalizada, si pulsa sobre él, en el panel principal podrá observar que pertenece a este tipo. Sin embargo, le da la opción de añadir un modelo de casa inteligente (“Smart Home”). Déjelo tal como está.


Con las opciones del grupo “IN-SKILL PRODUCTS” se determina el tipo de compras que podría hacerse con esta habilidad, así como su precio. Puesto que las habilidades que va a desarrollar son de carácter personal, no tendrá que hacer nada en este sentido.

En “ACCOUNT LINK” se realizan las configuraciones necesarias para conectar la identidad del usuario de Alexa con la que tenga en otras aplicaciones o servicios a los que se acceda desde la habilidad. Como no tendrá que acceder con su usuario Alexa a otros servicios autenticados, no usará ninguna de las opciones de este grupo.

Tampoco tendrá que entrar en “PERMISSIONS”, ya que es donde se identifica la información de carácter personal sobre la que habría que solicitar permiso al cliente en caso de que la habilidad la necesitara para su funcionamiento. Desde el punto de vista legal, la protección de datos personales es un tema de especial relevancia. En las prácticas que realice no tendrá que manejar este tipo de información.

Por lo tanto, centre su atención en el grupo de opciones que forman parte del grupo “CUSTOM”.


Las principales opciones de configuración de este grupo son:

• “Invocation.” Permite introducir la expresión con la que quiera comenzar la interacción con una habilidad.

• “Interaction Model.” Agrupa todas las opciones relacionadas con la creación del modelo de interacción. Si pulsa sobre él podrá ver cuáles son:

- “Intents.” Al seleccionarla, muestra en el panel principal la lista de intenciones de la habilidad. Pulsando el símbolo “>” que tiene a su derecha también puede verlas debajo, como opciones de un submenú: primero las personalizadas y luego las estándar (built-in intents). El número que hay entre paréntesis indica las que hay. Al haber utilizado la plantilla “Hellow World Skill”, puede ver la intención personalizada “HelloWorldIntent” creada en dicha habilidad, así como las estándar AMAZON.CancelIntent, AMAZON.HelpIntent, AMAZON.StopIntent y AMAZON.NavigateHomeIntent.

- “Annotation sets.” Es un conjunto de expresiones de prueba que se asocian a las intenciones que deberían invocar. Será utilizado por la herramienta NLU (Natural Language Undedestanting: Comprensión del Lenguaje Natural) para determinar si el comportamiento de una habilidad es el esperado.

- “Intent history.” Muestra, de forma agregada y anónima, expresiones frecuentes usadas por los usuarios mientras utilizan la habilidad, así como las intenciones invocadas en cada caso. Se emplea, básicamente, para conocer cómo se interactúa con una habilidad y, así, identificar mejoras que podrían aplicarse al modelo de interacción.

- “Utterance conflicts.” Al pulsar esta opción, en el panel principal verá los conflictos provocados por expresiones de muestra similares, pero que están asociadas a intenciones diferentes. En esos casos, cuando el usuario dijera una de dichas expresiones, Alexa no sabría cuál de las intenciones que colisionan tendría que invocar.

- “JSON Editor.” Aquí podrá hacer lo mismo que utilizando las opciones anteriores, solo que, en vez de usar la interfaz gráfica, escribirá objetos JSON. También podrá importar un fichero con dicho formato que contenga el modelo de interacción de la habilidad.

• “Assets.” Al pulsarla, permite ver como única opción los tipos de slots de la habilidad.

- “Slot types.” Permite crear los tipos de slot personalizados a los que se asociarán los slots contenidos en las expresiones de muestra de las intenciones. El número que hay entre paréntesis a su derecha indica los que tiene.


JSON (JavaScript Object Notation: Notación de objetos JavaScript) es uno de los formatos de intercambio de datos más utilizados en Internet. Tendrá ocasión de estudiarlo más adelante.

El resto de opciones del grupo “CUSTOM” las puede ver en la siguiente imagen.


Aunque no las va a utilizar, se describirá brevemente a título informativo:

• “Multimodal Responses.” Aquí podrá crear las respuestas de audio o visuales que quiera ofrecer al usuario para complementar y mejorar la experiencia de voz. Este tipo de respuestas es especialmente interesante si el dispositivo desde el que se utiliza Alexa tiene pantalla o hay que presentar grandes cantidades de información.

• “Interfaces.” Habilita el uso de interfaces que proporcionan directivas para el manejo de audio, vídeo, botones echo (pulsadores que permiten una interacción física con Alexa), etc. La única opción de configuración que podría llegar a usar es la de delegación automática de la conversación (“Auto Delegation”), que por defecto estará habilitada. Esto permitirá que, si el usuario no ha completado la información requerida en los slots obligatorios de una intención, Alexa establezca un diálogo con él para tratar de recabarla. Este comportamiento lo estudiará más adelante cuando se expliquen los modelos de diálogo.

• “Endpoint.” Permite especificar el punto de acceso al código de la habilidad. Aunque posteriormente se explicarán en detalle las diferentes formas de hospedaje de dicho código, le adelanto que, al desarrollarlo en la propia consola de Alexa se establecerá automáticamente, por lo que no tendrá que hacer nada al respecto.

Por último, habrá observado que en la parte derecha de la consola aparece una checklist que indica el grado de avance en el desarrollo de su habilidad. Está formado por una serie de pasos que obligatoriamente deberá completar para poder empezar a usarla.


Dichos pasos son los siguientes:

• “Invocation Name.” Indica si se ha dado un nombre de invocación a la habilidad. Si lo pulsara, tendría el mismo efecto que el de seleccionar la opción “Invocation” del menú lateral izquierdo, con la que se establece dicho nombre de invocación.

• “Intents, Samples, and Slots.” Este paso quedaría cubierto dando de alta al menos una intención y sus correspondientes expresiones de muestra. Si lo pulsara, tendría el mismo efecto que el botón “+Add Intent” que aparece en el panel principal cuando se selecciona la opción “Intents” del menú lateral izquierdo.

• “Build Model.” Una vez establecido el nombre de invocación, creadas las intenciones y los tipos de slot de una habilidad, deberá crear el modelo de interacción que permita su utilización.

• “Endpoint.” Este paso asegura que se conoce el punto de acceso del código que se tendrá que ejecutar cuando se invoque una habilidad o cualquiera de sus intenciones. Si lo pulsara, le llevaría a la misma pantalla que la opción “Endpoint” del menú lateral izquierdo. Como usted va a desarrollar el código de la habilidad en el propio servicio de Alexa, este se encargará de configurar automáticamente dicho punto de acceso.

Alexa. Desarrollo de aplicaciones IoT para Arduino y ESP8266

Подняться наверх