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

Оглавление

Unidad 5

DIALOGFLOW

Dialogflow es la plataforma que le va a permitir el diseño de interfaces de usuario conversacionales y su integración con otros servicios. Dicho de una forma orientada específicamente a los objetivos de este libro, es aquella que le posibilitará establecer la estructura de la conversación con la que podrá solicitar la ejecución de acciones o la recogida de información de los dispositivos ESP8266.


Para poder entablar una conversación con un sistema, como si de otra persona se tratara, este debe ser capaz de interpretar y procesar el lenguaje natural utilizando técnicas de inteligencia artificial. Piense, por ejemplo, que, para solicitar un pronóstico del tiempo, alguien puede decir frases tan diferentes como «¿qué tiempo va a hacer mañana?», «¿cuál es la previsión meteorológica?», «¿cómo está el clima hoy?», etc. Saber a qué se está refiriendo en cada momento o, simplemente, entender las diversas formas que hay de aludir a lo mismo requiere un software de análisis de lenguaje, que Dialogflow se encarga de proporcionarle en forma de agente.

El agente de Dialogflow será el responsable de mantener las conversaciones con los usuarios. Para ello, utiliza técnicas de comprensión del lenguaje natural y aprendizaje automático que entienden los matices del lenguaje, convirtiendo lo que se dice en datos estructurados que puedan ser manejados, de forma sencilla, por las aplicaciones. Mediante la comprensión del lenguaje natural, se reconocen las intenciones del usuario y se obtiene la información que es relevante de sus expresiones. Dicha información se extraerá como parámetros, cuyos valores pertenecen a un tipo o entidad. Algunas de estas entidades, al ser generales, se identifican de forma automática, como los colores, los nombres de ciudades o países, las fechas, los números, etc. Otros podrán ser establecidos por usted como, por ejemplo, el tipo de dispositivo que quiera controlar con un ESP8266. Para ello, únicamente es necesario dar al agente un pequeño conjunto de frases de entrenamiento que lo preparen para identificar dichas intenciones y entidades personalizadas.

Las interfaces de voz conversacionales creadas con Dialogflow funcionan con una amplia gama de dispositivos, incluidos teléfonos móviles, dispositivos portátiles, automóviles, altavoces inteligentes (incluso los de Alexa), etc. Además, se puede hablar con él en más de veinte idiomas, entre los que se encuentra el español, tanto el de España como su variante (configuración regional) latinoamericana.

En combinación con la tecnología IoT, las interfaces de voz creadas con Dialogflow le permitirán dotar de mayor inteligencia a los dispositivos, ya que su interacción con ellos se producirá mediante conversaciones naturales, que harán que entiendan el contexto de las solicitudes realizadas por los usuarios, respondiendo con mayor precisión.

5.1 CONSOLA

La administración del agente asociado a cada uno de sus proyectos se realizará desde la consola de Dialogflow, a la que se accede a través del enlace https://dialogflow.cloud.google.com/. Para ello, utilice el mismo usuario de Actions on Google. Una vez dentro, su aspecto es el que se observa en la imagen inferior.



La 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.


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.


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.


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, se podrán invocar otros servicios para el envío o recogida de información, por ejemplo, de aplicaciones que se ejecuten en dispositivos ESP8266 y controlen una luz o la calefacción. En casi todas las prácticas de este libro, deberá desarrollar el código de un cumplimiento.

• «Integrations»: se utiliza para configurar la integración con otras plataformas conversacionales, entre las que destaca Google Assistant, objeto de este libro.


La forma de trabajar con cada una de estas opciones se estudiará en detalle más adelante.

Del resto de las opciones, solo se hará mención a las últimas (seguramente, tendrá que desplazarse hacia abajo para verlas); en concreto, la que lleva a la documentación del servicio («Docs»), la que le indica el plan de precios que tiene (en su caso «Standard») o permite modificarlo, la de soporte cuando requiera ayuda técnica («Support»), la que contiene los datos de su cuenta («Account») y, finalmente, la utilizada para salir de la consola («Logout»).



Al salir de la herramienta, no lo habrá hecho de la cuenta de Google, que permanecerá activa en el navegador. Para salir también de su cuenta, algo muy conveniente si el ordenador es compartido, pulse sobre el icono que contiene la inicial de su nombre (o la imagen de su perfil, si la tuviera), situada en la parte superior derecha de las pestañas que hubiera abierto en el navegador. En el menú desplegable que aparece, seleccione la opción «Cerrar sesión».


Google Assistant. Desarrollo de aplicaciones IoT para Arduino y ESP8266

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