en Post

Amazon permite crear chatbots con Lex

Lex es el servicio de voz a texto y texto a voz que está detras del asistente Alexa, que ha permitido a Amazon capturar el 70% del mercado de los parlantes controlados por voz. Y ahora todos podemos usarlo para agregar estas capacidades de voz a nuestras aplicaciones y dispositivos sin restricciones.

Lex es un ASR (Automatic Speech Recognition), que en español sería Reconocimiento Automático de la Voz y es tambien a la vez un NLU (Nature Language Understanding) como servicio.

Lex es ahora un nuevo servicio de AWS que se integra con AWS Lambda. No se trata de un sistema general de voz a texto y texto a voz. Está organizado como un sistema para construir chatbots, aunque por el momento el único idioma con el que trabaja adecuadamente es el inglés. El sistema utiliza el mismo enfoque que tendríamos que seguir para crear una aplicación de Alexa. Debemos definir las acciones a realizar (que son llamadas intents y slots) y los enunciados asociados a ellas. Los enunciados son las frases escritas o habladas que invocan las acciones a ser realizadas (intents) y los “slots” definen los datos que la intent necesita para completar las acciones que deseamos.

Se puede enviar hasta 15 segundos de voz a Lex y debe asegurarse de que el micrófono que se está utilizando sea el apropiado para el trabajo. Amazon ofrece ahora un kit que consiste en una matriz de siete micrófonos (far field mic) que son los mismos que utiliza el Amzon Echo sólo está disponible para desarrolladores invitados, me he registrado y estoy a la espera de recibir la invitación, si eso sucede se los hare saber. Los formatos de entrada soportados por el momento son LPCM y Opus. Los formatos de audio de salida soportados son: MPEG, OGG y PCM. La salida de voz no puede usar la voz de Alexa, por razones de copyright, pero se puede elegir entre otras siete voces.

Otro trabajo que el desarrollador debe realizar es encontrar un reemplazo para la palabra de activación, el sistema no arrancar cuando usted diga Alexa o cualquier otra cosa. Depende de usted implementar el mecanismo que dispara el micrófono.
Amazon ofrece SDKs para iOS y Android que admiten voz y texto. Pero también se pueden desarrollar webapps con esta tecnología ya que hay SDKs para node.js, PHP, Python y .NET. La interacción con el servicio es a través de llamadas REST con sólo dos acciones: PostContent y PostText. La respuesta está determinada por el bot que usted ha construido.

A primera vista esto se parece mucho a desarrollar un app para Alexa, pero hay algunas diferencias importantes. La primera es que Amazon no tiene que certificar tu aplicación. Puedes desarrollar lo que quieras. Esto le da más flexibilidad a los desarrolladores de lo que está permitido en Alexa. Sin embargo, debemos de considerar de que Amazon tiene acceso a todos los datos que intercambies usando este servicio y mantiene la grabación de entrada de voz con el objetivo de usarlos para mejorar el reconocimiento de voz.
Finalmente, la mayor diferencia entre crear un app para Alexa y usar Lex es que el servicio de Alexa es gratuito, pero Lex es un servicio pagado:

El servicio se factura en base al número de solicitudes de texto o de voz procesadas por tu bot, los precios inician en $ 0.004 por solicitud de voz y $ .00075 por solicitud de texto. Por ejemplo, el costo de procesar 1,000 solicitudes de voz sería $ 4.00 y el de procesar 1,000 solicitudes de texto sería $ 0.75.

La potencialidad de esta tecnología es muy grande, no me extrañaría que en los próximos meses los makers de todo el mundo produzcan interesantes dispositivos que hagan uso de Lex.