Tomás Domínguez Mínguez

Google Assistant. Desarrollo de aplicaciones IoT para Arduino y ESP8266


Скачать книгу

interfaz mostrada en la imagen anterior corresponde al aspecto de la consola de Dialogflow en el momento de escribir este libro. Actualmente está en proceso de cambio, por lo que puede que vea otra ligeramente diferente. En caso de que le apareciera el nombre «Dialogflow Essentials» en la cabecera del panel izquierdo, las opciones con las que se va a trabajar son las correspondientes a la región «US» (en estos momentos, no son las mismas en todas las regiones).

      Dicha consola se compone de tres paneles principales:

      1. Menú lateral (izquierda): en la parte superior, se muestra el nombre del proyecto con el que está trabajando. Si tuviera varios, podría seleccionar otro diferente en el menú que se despliega, al pulsar en el símbolo con punta de flecha que aparece a su derecha. El último icono, con forma de rueda dentada, le permitirá modificar diferentes aspectos de configuración del agente (los verá más adelante). Debajo del nombre del proyecto aparecen los idiomas utilizados (en su caso, solo el español) y, a su derecha, el icono «+», que le permitirá añadir nuevos idiomas o configuraciones regionales de este.

illustration

      Una vez que ha elegido un proyecto (de momento solo tiene uno, que es «mi primer asistente»), el resto de las opciones de este menú se utilizarán para administrar los distintos elementos que lo componen (especialmente, las intenciones, las entidades y el cumplimiento).

      2. Contenido principal (central): en este panel, se muestran los datos y controles de configuración de la opción seleccionada en el menú lateral.

      3. Simulador de Dialogflow (derecha): sirve para verificar que su agente actúa según lo esperado. Para ello, introduzca en el campo que indica «Try it now» las expresiones con las que quiera comprobar su comportamiento. A diferencia del simulador de Actions on Google usado anteriormente, no hará falta invocar previamente la acción principal.

illustration

      5.1.1 Configuración de los agentes

      En la parte superior del menú lateral de Dialogflow, junto al nombre del proyecto, hay un icono con forma de una rueda dentada, que sirve para establecer diversos parámetros de configuración del agente. Es importante que los conozca. Por lo tanto, pulse sobre dicho icono para mostrarlos en el panel principal que, como podrá observar, aparecen agrupados por pestañas.

illustration

      En cada una de dichas pestañas, se puede configurar lo siguiente:

      • «General»: aquí se puede introducir un texto explicativo con la descripción del agente y la zona horaria desde el que se usará el asistente. También contiene el ID del proyecto de Actions on Google vinculado al agente y la cuenta del servicio utilizada en procesos de autenticación en los que se utilice el API V2. Desde esta pestaña, también podrá borrar el agente, si ya no fuera necesario.

      • «Languages»: le permite añadir nuevos idiomas o, incluso, configuraciones regionales, en las que podrá funcionar su agente. En este último caso, deberá situar el ratón sobre el idioma deseado y pulsar en el enlace «+Add locale», que aparece a su derecha. En el caso del español (Spanish), se desplegará un menú con las opciones de español europeo o latinoamericano.

      • «ML Settings»: los agentes de Dialogflow usan algoritmos de aprendizaje automático, para comprender las expresiones del usuario final y extraer de ellas información de interés. A partir de una serie de frases de entrenamiento (que proporcionará en cada intención) y los modelos del lenguaje que Dialogflow tiene incorporados, se creará un algoritmo de aprendizaje específico para su agente, que permitirá saber cuál es la intención que mejor se ajusta a la expresión dada por el usuario en cada momento. Cada vez que modifique una intención o entidad (lo estudiará más adelante), dicho algoritmo se modificará, para adaptarse a los cambios realizados. Aquí es donde se configuran los mecanismos que establecen cómo se genera dicho algoritmo de aprendizaje. No cambie nada si no está seguro de lo que hace.

      • «Export and Import»: esta pestaña se utiliza para importar/exportar, a/desde un archivo zip, la información relevante de su agente. Más adelante, se explicarán las diferentes opciones que se le ofrecen para ello.

      • «Environments»: pulsando sobre el botón «PUBLISH A VERSION», se pueden crear versiones de un mismo agente y publicarlas en entornos personalizados como, por ejemplo, desarrollo (mientras se edita el agente), pruebas (que verifica si su comportamiento es el esperado) o producción (accesible a cualquier usuario). Está enfocado al uso de este por diferentes audiencias que, siguiendo el ejemplo anterior, serían los equipos de desarrollo, el de pruebas o el usuario final. Como sus agentes los desarrollará, probará y usará usted mismo, no necesitará hacer uso de esta facilidad.

      • «Speech»: muestra todas las opciones de configuración para el reconocimiento y la síntesis de voz. Manejando correctamente sus opciones, podrá mejorar la calidad del reconocimiento de voz, habilitando modelos o adaptaciones de habla mejorados, permitiendo la conversión de texto a voz automática, o configurando aspectos como la velocidad del habla, el tono, el volumen, etc.

      • «Shared»: en esta pestaña podrá habilitar el acceso de otros desarrolladores a sus agentes (si estuviera realizando un trabajo en equipo). Encontrará más información en https://cloud.google.com/dialogflow/docs/access-control.

      • «Advanced»: actualmente, solo tiene una función utilizada para analizar las expresiones de los usuarios, con el fin de identificar la opinión subjetiva predominante y, en concreto, determinar si la actitud de un usuario es positiva, negativa o neutral. No se va a utilizar.

      5.1.2 Menú lateral

      Ya conoce las opciones que encabezan el menú lateral de la consola de Dialogflow. Debajo, se encuentran las opciones con las que se administran los elementos que componen el agente del proyecto que esté seleccionado, de las que se destacan las siguientes:

      • «Intents»: una intención es una interacción con el usuario en la que se busca un objetivo; por ejemplo, las expresiones «pon la calefacción» y «enciende la luz», declaran la misma intención: la de poner en funcionamiento un dispositivo domótico (la calefacción o una luz). Use esta opción para crear y configurar todas las intenciones de su asistente.

      Cuando se crea un agente, lo hace con dos intenciones predeterminadas: la de bienvenida («Default Welcome Intent») y la alternativa («Default Fallback Intent»). La primera se ejecuta cuando el usuario invoca la acción principal. La segunda se cumple cuando lo que ha dicho no se puede tratar con ninguna otra intención. Pronto tendrá ocasión de crear sus propias intenciones.

      • «Entities»: las entidades representan el tipo de información que se va a extraer como parámetros de las intenciones; por ejemplo, si un usuario dijera «enciende la luz», la palabra «luz» sería un parámetro cuyo valor sería del tipo (entidad) «dispositivo domótico». Dicho parámetro es el que permitiría al asistente conocer y, por lo tanto, encender el dispositivo adecuado. Desde esta opción, podrá administrar las entidades que su agente pueda identificar en las expresiones del usuario. En una sección posterior, aprenderá a utilizar entidades y parámetros.

      • «Fulfillment»: al programa que ejecuta las tareas asociadas a una intención en la que se genera una respuesta dinámica se lo llama «cumplimiento» (entrega). Seleccionando esta opción, podrá desarrollar el programa con el editor Inline o establecer el webhook (tecnología que estudiará en detalle más adelante) desde el que se podrá invocar, en caso de haberlo hecho en un servicio externo.

      Dicho programa tomará como entrada los parámetros extraídos de las expresiones del usuario. Durante su ejecución,