
Este artículo se centrará en las interfaces de voz (Interfaz de usuario de voz - VUI), y también mostrará cómo crear una aplicación en Node.js (una habilidad - en la terminología de la plataforma Yandex.Dialogs) para el asistente de voz de Alice. Usando una API de terceros, nuestra aplicación recibirá citas de personas famosas y se las pasará a Alice, quien, a su vez, las leerá a los usuarios. Además, considere una de las pocas formas de monetizar tales aplicaciones: la creación de un botón de donación (donación). En general, todos deberían estar satisfechos.
Entonces, ¿qué son las interfaces de voz en su núcleo? El hecho es que hace varios años, las tecnologías alcanzaron un nivel de desarrollo en el que se hizo posible utilizar masivamente la forma más natural y natural de interacción humana con una computadora: a través de la voz. Varias grandes compañías de TI brindaron la oportunidad de desarrollar "aplicaciones de voz" para desarrolladores externos mediante la creación de las plataformas apropiadas:
Alexa (Amazon) ,
Action on Google ,
Bixby (Samsung) ,
Alice (Yandex) . Ahora, estas plataformas generan un poderoso impulso para la difusión generalizada de interfaces de voz, desde computadoras y teléfonos inteligentes hasta electrodomésticos. Parece que en los próximos años habrá un cambio radical en el paradigma habitual de la interacción hombre-máquina: en lugar de botones e interruptores, todos estos refrigeradores, cafeteras, hornos de microondas y planchas serán controlados por una voz humana.
Hoy nos centraremos en Alice, inicialmente enfocada en apoyar el idioma ruso, y que ya tiene un sintetizador de voz humana de muy alta calidad. Se puede llamar a Alice desde:
Yandex.Browser ; Aplicación móvil
Yandex con Alice para
Android e
iOS ;
Aplicación móvil
Yandex.Navigator para
Android e
iOS ;
Yandex .
Estaciones . Por habilidades, Alice tiene un
catálogo especial donde los desarrolladores independientes, como usted, pueden publicar sus aplicaciones. Y ya sabes, a pesar del hecho de que la plataforma aún es muy joven, Alice ya es bastante. ¡Ella literalmente se vuelve omnipresente ante nuestros ojos! Por ejemplo, las descargas de la aplicación
Yandex con Alice para
Android superaron los 100 millones y, según
StatCounter , en julio de 2019, la participación de
Yandex.Browser en el mercado ruso ascendió a más del 13%. Y estos son solo un par de ejemplos con fines ilustrativos.

Por lo tanto, para los programadores que se mantienen al tanto de la innovación, ¡es hora de desarrollar interfaces de voz! Comencemos, y
crearemos una habilidad que enviará solicitudes a la API de
forismatic.com , extraerá citas de la respuesta y los nombres de sus autores, formateará todo en una forma adecuada y se lo enviará a Alice. Este último, a su vez, (y ya sin nuestra participación) pronunciará y mostrará estas declaraciones a su audiencia. Además, le pediremos a Alice que para aquellos usuarios que tienen una pantalla para mostrar el botón "
Proyecto de soporte ", al hacer clic, el usuario sea redirigido a la
página del servicio
Yandex.Money . Por lo tanto, las personas con buen corazón y algo de dinero pueden ayudar a desarrollar su proyecto.
Primero, debe tener
Node.js instalado en su computadora
con npm , y también (opcionalmente, solo para pruebas)
ngrok (también vea el spoiler
Acerca de ngrok a continuación ), y / o necesita tener una cuenta
ZEIT gratuita o pagada (para pruebas) e implementaciones; también debe instalar
Now CLI ).
Sobre ngrokngrok "rompe el túnel" desde su computadora a Internet, por lo que, durante el tiempo de prueba, la computadora local se convierte en un servidor en la World Wide Web; esta es la principal conveniencia y propósito de
ngrok . Para instalar
ngrok : cree una cuenta gratuita en
ngrok.com , descargue el archivo zip y descomprímalo en una máquina local, por ejemplo, en
C: \ Archivos de programa \ ngrok y configure la ruta a esta carpeta en la
ruta de la variable de entorno. En la línea de comando o terminal, ejecute el comando
ngrok -v
para asegurarse de que todo funcione. Luego, para asociar la máquina local con su cuenta en
ngrok , ejecutamos el comando una vez:
ngrok authtoken YOUR_TOKEN
donde
YOUR_TOKEN es su token único que encontrará en su cuenta
ngrok .
Luego, en
GitHub, clone (o descargue y luego descomprima) el repositorio
alice-tutorial-skill , que es una parte integral de este artículo. El código con comentarios detallados se encuentra en el archivo
/api/index.js ; puede leerlo como notas de un músico.
Después de eso, ingrese el directorio:
cd alice-tutorial-skill
e instale los paquetes necesarios:
npm install
Para probar con
ngrok :
- En un símbolo del sistema o terminal, en el directorio alice-tutorial-skill , ejecute el comando:
npm start
- En otra instancia de la línea de comando o terminal, ejecute el comando:
ngrok http 3000
- Copie la URL https generada por ngrok como se muestra en la captura de pantalla a continuación.

Para implementar o probar en
ZEIT : en la línea de comando o terminal, en el directorio
alice-tutorial-skill , ejecute el comando:
now
Espere unos segundos a que se cargue el código en el servidor, y luego copie la URL en la consola ZEIT y agregue la ruta al directorio api (/ api /) al final de esta URL.
Ahora vaya a su cuenta
Yandex , vaya a la
consola Yandex.Dialogs , haga clic en el mosaico "
Crear diálogo ", y en la ventana emergente seleccione el mosaico "
Habilidad en Alice ", como se muestra en la captura de pantalla:

En la pestaña "
Configuración ", complete todos los campos necesarios, y en el campo "
URL de Webhook ", inserte la URL generada por
ngrok (se muestra en el ejemplo a continuación), o la URL obtenida en la consola
ZEIT (con
/ api / agregado al final):

Ahora ve a la pestaña
Prueba , donde deberías ver algo como esto:

Eso es todo, en realidad! Así es como se crea y funciona la habilidad
Smart Thoughts publicada en el catálogo de Alice, que puedes probar. En un teléfono inteligente, se verá más o menos así:

Mis planes son escribir una serie de artículos sobre este tema, y el siguiente será un artículo sobre la integración de Alice con
Bitrix24 CRM , que me permitirá crear habilidades comerciales para realizar pedidos usando la voz. Entonces, ¿quién está interesado en suscribirse, para no perderse. Puedes suscribirte aquí o en
Telegram . Y me despido de ella.
Actualización del 14/10/2019. Se ha publicado un artículo sobre la integración de Alice con
Bitrix24 CRM : "
Alicia en el país de Bitrix ".
Rosquillas
