¡Hola a todos!
Estos últimos días acudí con mi compañero Carlos a un taller para aprender a realizar aplicaciones para Alexa, el asistente virtual de Amazon. Alexa se puede utilizar en los dispositivos Echo que comercializa Amazon y también en las apps que se pueden descargar tanto para Android como en Ios.
¿Qué es Alexa? Alexa es un asistente de voz virtual que lanza aplicaciones, skills para Amazon, y nos ayuda a interactuar con ellas hablando con lenguaje natural. Las posibilidades son infinitas, desde conocer las noticas, controlar la domótica de la casa o hacer la compra sólo hablando con Alexa.
Actualmente existe unas 50000 skills(aplicaciones para Alexa) en el store americano y unas 1000 en el store de Amazon España. El recorrido en España actualmente es muy amplio pues aún existen muy pocas aplicaciones comparado con el mercado americano.
Llegados a este punto me lancé a hacer un experimento para conocer cómo se programaba en Alexa.
La idea surgió junto con mi amigo Javier Medina que me dijo, «¿por qué no haces un traductor de murciano que en Valencia no nos entienden?». Y mira, me pareció buena idea.
La estructura es bastante sencilla, Alexa se programa desde la plataforma de Alexa Developers a base de crear diálogos llamados «Intents» en el lenguaje Alexa. Estos intents esperan respuestas del usuario que debemos definir lo mejor posible para que la conversación tenga sentido.
Estos «intents» esperan unas variables que se deben definir para poder lanzar las respuestas apropiadas. Esto se define en unos objetos de Alexa llamados «Slots».
Esta es la programación básica del «Front». ¿Y ahora qué?. Pues debemos conectar nuestro front en Alexa con una API para dar respuesta a las interacciones del usuario. Existen dos opciones actualmente, contectarlo con alguna API hecha en AWS, por ejemplo las Lambda que no necesitas aprovisionar con servidores pues utilizan el concepto serverless de AWS. También existe la posibilidad de conectarlo directamente con tus propias APIS, hechas en cualquier lenguaje de programación siempre que tengan una conexión HTTPS.
En el caso del «traductor Murciano» yo opté por hacerlo con una Lambda en NODEJS, en la que recibo las interacciones del usuario y recojo la palabra que quiere traducir y busco su traducción al Español, devolviendo esta traducción al front para que Alexa la pueda dictar. Esto se realiza con «manejadores» que reciben las peticiones de los intents.
Pues esto es, a grandes rasgos, lo que experimenté con Alexa programando mi «Traductor Murciano». Creo que las posibilidades son muy grandes en el futuro. Ya veremos cómo evolucionan los asistentes virtuales.
Os dejo el enlace a la Skill del traductor murciano pinchando aquí
¡Hasta la próxima!


