Google Assistant. Desarrollo de aplicaciones IoT para Arduino y ESP8266

Text
0
Kritiken
Leseprobe
Als gelesen kennzeichnen
Wie Sie das Buch nach dem Kauf lesen
Schriftart:Kleiner AaGrößer Aa

3.5 ACTIVACIÓN DEL MICRÓFONO DEL SIMULADOR DEL ASISTENTE

Si tiene activado el sonido del ordenador, además de escritas por pantalla, habrá podido oír las respuestas del asistente por el altavoz. Pero, si quiere una simulación aún más real, también puede activar el micrófono y dar las órdenes de forma hablada.

Para ello, previamente deberá asignar en Windows los permisos necesarios para que el simulador pueda usar el micrófono. En la pantalla de su ordenador, pulse «Inicio» → «Configuración».


Seguidamente, pulse sobre la página «Privacidad».


De todos los aspectos de privacidad que se muestran en el menú lateral izquierdo, desplácese por ellos hacia abajo, hasta encontrar el correspondiente al «Micrófono», que es el que deberá seleccionar. Luego, en el panel principal (el central), active el control de la sección «Permitir que las aplicaciones accedan al micrófono».


Acaba de dar los permisos necesarios para utilizar el micrófono desde la ventana del simulador. Vuelva a la pestaña del navegador donde se encuentra y pulse sobre el pequeño icono con forma de micrófono situado en la parte derecha del campo donde ha estado escribiendo lo que quería decir al asistente. A partir de ese momento, empezará a escuchar lo que diga (listening) mostrando, de forma intermitente, un micrófono de color rojo.


Para probar cómo funciona, diga, por ejemplo, «quiero hablar con mi primer asistente». Comprobará cómo el simulador le ha oído (escribiendo en dicho campo lo que ha dicho), entendido y respondido con una de sus frases de saludo.

Unidad 4
ACTIONS ON GOOGLE

Actions on Google es la plataforma de desarrollo que le permitirá ampliar las capacidades del asistente de Google con acciones personalizadas mediante las que podrá realizar multitud de actividades, desde jugar con él, hasta encender las luces de casa, tal como tendrá ocasión de practicar en los numerosos ejercicios que se proponen.


En la página principal de este servicio (https://developers.google.com/assistant), cuya documentación se ha utilizado de base para este capítulo, se resume todo lo que ofrece:

• Integrarse con las aplicaciones del móvil

• Crear contenido web adaptado para ser accedido y ofrecido al usuario por el asistente

• Controlar dispositivos inteligentes

• Desarrollar sistemas conversacionales

Será, en los dos últimos campos, en los que se centrará este libro, ya que lo utilizará para crear sistemas conversacionales que le permitan «hablar» con sus dispositivos ESP8266. Podrá mantener una conversación natural con ellos, dando la sensación de mayor inteligencia a este tipo de dispositivos, que parecerá que oyen y entienden lo que se les dice, respondiendo (e incluso preguntando cuando no entiendan o no tengan información suficiente para atender una solicitud) dentro del contexto de la conversación, en la que no será necesario repetir información dada previamente.

En concreto, esta herramienta será la que utilizará para crear y agrupar en proyectos las acciones que le permitan iniciar la interacción con el asistente, así como gestionarlas, probarlas e incluso publicarlas. También proporcionará las API de voz que tendrá que utilizar para desarrollar, en JavaScript, la lógica de las conversaciones.

4.1 CONSOLA

El acceso a la consola de Actions on Google se realiza a través de la página https://console.actions.google.com. Si no tuviera ninguna sesión abierta en Chrome, deberá autenticarse con su usuario de Google. Si ya tuviera abierta alguna, entraría directamente a la consola. En ese caso, asegúrese de que sea con el usuario correcto.

Desde la consola de Actions on Google, gestionará sus proyectos, es decir, registrar, implementar, configurar y analizar la actividad de las acciones contenidas en cada uno de ellos. Cuando haya entrado en la consola, el aspecto que tiene, una vez creado su primer proyecto, puede apreciarlo en la imagen inferior.


En la parte superior, se destaca una zona de cabecera, mientras que la inferior muestra la lista de proyectos creados (en este momento, solo uno: «mi primer asistente»), además del botón «New project», mediante el que podrá seguir creando nuevos proyectos. En medio, hay una serie de enlaces a diferente tipo de documentación o soporte.

La cabecera consta de los siguientes elementos:

• Un icono siempre visible en la parte superior izquierda, para acceder a la consola de Actions on Google (esta primera ventana en la que ahora se encuentra)

• Un enlace a la documentación, representado por un icono con un signo de interrogación

• Un acceso a la ventana de notificaciones, con información que podría serle de interés, situado a continuación del anterior

• Un menú desplegable, con el que podrá ver las preferencias del usuario («User preferences»), acceder al servicio de gestión de identidades y accesos («Manage user access») u obtener ayuda de soporte («Send feedback» y «Community and support»)

• Una última opción, con su imagen de perfil o la inicial de su nombre, desde la que podrá gestionar su cuenta de Google, añadir una nueva o salir de la consola (tal como se muestra en la imagen inferior)


4.1.1 Sistema de pestañas

Seleccionando el proyecto «mi primer asistente», comprobará que toda su información se muestra agrupada por pestañas, cuyas etiquetas se sitúan horizontalmente en la parte superior de la consola. Debajo, se halla el panel principal, en el que se mostrará el contenido de cada una de ellas. Dependiendo de la etiqueta seleccionada, además del panel principal, puede aparecer a la izquierda otro panel lateral («Test») o un menú de opciones de configuración («Develop», «Deploy» y «Analytics»).

Solo se analiza el contenido de las pestañas «Overview», «Develop» y «Test». Las dos últimas pestañas («Deploy» y «Analytics») no se estudiarán, porque están relacionadas con el despliegue y publicación de acciones, algo que sale fuera del alcance de este libro.

4.1.1.1 Pestaña de información general (Overview)

Es la pestaña seleccionada por defecto cuando escoge un proyecto en la ventana principal de la consola. Allí es donde se muestra su información de carácter general.



Para ver el contenido de cada sección, deberá pulsar en el símbolo con forma de punta de flecha situado en la esquina superior derecha de cada una de ellas (marcadas en la figura anterior con un círculo).


Una vez seleccionado un proyecto en la consola, a la izquierda del enlace de la documentación (representado por un icono con un signo de interrogación), hay un campo en el que se muestra el nombre de dicho proyecto. Si quisiera cambiar a otro, solo tiene que pulsar en él y seleccionarlo del menú que se despliega con todos los que tuviera creados.


Del contenido de esta pestaña se destacan cuatro secciones:

1. Esta sección (compartida con otras pestañas) indica los lenguajes utilizados por su proyecto. Como ya ha experimentado, pulsando en «Modify languages», añadirá o quitará los idiomas con los que podría dirigirse al asistente.

2. En esta segunda sección, si pulsa sobre el enlace «Decide how your Action is invoked», lo llevará a la pestaña «Develop», en la que podrá:

a. Decidir cómo se invoca la acción principal, en su caso utilizando la expresión «mi primer asistente».

b. Elegir entre dos voces de hombre y dos de mujer para las respuestas. Por defecto, está seleccionada la primera voz de mujer.

 

3. Aquí podrá crear nuevas acciones [enlace «Add Action(s)»] o probarlas (enlace «Test») con el simulador del asistente. En el primer caso, lo llevaría a la pestaña «Develop» y, en el segundo, a la pestaña «Test», que se describirán a continuación.

4. Esta última sección contiene el enlace «Get ready por deploy», desde el que podrá publicar su proyecto.

4.1.1.2 Pestaña de desarrollo (Develop)

La pestaña «Develop» del proyecto dispone de un menú lateral en la parte izquierda, de cuyas opciones va a utilizar únicamente las dos primeras.


La función de cada una de estas opciones es la siguiente:

• «Invocation»: le permite acceder a la misma ventana que con «Overview» → «Decide how your Action is invoked», vista anteriormente.

• «Actions»: en ella podrá ver la lista de acciones creadas. De momento, solo tiene una («actions.intent.MAIN»), que es la principal. Dicha acción activará la intención de bienvenida cuando la invoque diciendo, por ejemplo, «hablar con mi primer asistente».



A esta ventana también se habría podido acceder desde «Overview» → «Add action(s)».

4.1.1.3 Pestaña de pruebas (Test)

En la pestaña «Test», se encuentra el simulador que permitirá comprobar el funcionamiento de las acciones que haya desarrollado.


En dicho simulador, se distinguen tres zonas principales:

1. Zona de entrada y simulación de salida de datos: es la situada a la izquierda, en cuya parte superior hay un campo de entrada donde podrá escribir lo que quiera o, en el caso de haber dado acceso al micrófono, decirlo de palabra, pulsando sobre el icono con forma de micrófono que aparece a su izquierda.

A la derecha de dicho campo, hay un menú desplegable en el que se pueden seleccionar los siguientes tipos de entradas:

• Detección automática («Auto detect»): es la opción por defecto. Detecta automáticamente la voz, el teclado o la entrada táctil.

• Toque («Touch»): se utiliza en pantallas inteligentes y teléfonos móviles para utilizar elementos interactivos.

• Voz («Voice»): permite solo la entrada de voz.

• Teclado («Keyboard»): admite únicamente entradas de texto.


Debajo del campo de entrada de datos, se sitúa un área de sugerencias en el que aparecerán botones que, a modo de ayuda, proponen acciones que podrían llevarse a cabo con el asistente. Nada más entrar en esta pestaña, se mostrará siempre la expresión de invocación de la acción principal del proyecto seleccionado.

Por último, en la parte inferior se simula la salida del asistente tal como se vería en el dispositivo seleccionado.

2. Zona de configuración, en la que podrá establecer el idioma empleado (en caso de tener varios), así como el tipo de asistente que desea simular para probar su acción. Podrá elegir entre pantalla inteligente («Smart Display»), teléfono móvil («Phone»), altavoz inteligente («Speaker») o dispositivo KaiOS (es un sistema operativo que requiere muy pocos requisitos técnicos, lo que permite desarrollar teléfonos móviles muy económicos).


En esta zona, también aparece la localización física desde la que se está utilizando el simulador.

3. Zona de depuración, donde verá la conversación completa con el asistente. Dicha conversación se estructura en turnos de palabra. Pulsando sobre el pequeño icono con forma de punta de flecha situado en la parte superior derecha de cada uno de ellos, se mostraría el detalle del contenido JSON de los mensajes HTTP de petición y respuesta intercambiadas por Dialogflow (pestañas «REQUEST» y «RESPONSE») o el audio generado (pestaña «AUDIO»), así como información detallada de depuración (pestaña «DEBUG») y errores producidos (pestaña «ERRORS»).


JSON (JavaScript Object Notation – notación de objetos JavaScript) es uno de los formatos de intercambio de datos más utilizados en Internet. Lo estudiará más adelante.


Tendrá ocasión de conocer y utilizar estas pestañas cuando empiece a desarrollar sus intenciones.

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.