Desarrollo de habilidades de Alexa
Publicado: 2021-07-19En este blog, explicaré qué es Alexa y la importancia de la tecnología de reconocimiento de voz, antes de dar una breve descripción general de la creación de Alexa Skills en AWS.
¿Qué es Alexa?
Alexa es un servicio de respuesta y reconocimiento de voz basado en la nube proporcionado por Amazon. Permite a los usuarios controlar sus dispositivos y acceder a la información mediante comandos de voz.
Puede funcionar con varios dispositivos, incluido el Echo de Amazon y otros dispositivos fabricados por terceros.
¿Por qué Alexa?
Esto se basa puramente en mi propia familiaridad. Los otros jugadores principales en el campo son Google Assistant y Siri de Apple, los cuales son servicios de reconocimiento de voz muy comparables.
¿Por qué Voice?
El diseño de la interfaz de usuario de la computadora ha pasado por varias etapas de evolución. Cada paso intenta mejorar los diseños anteriores en términos, algunos con más éxito que otros. En el caso de la accesibilidad, esto es especialmente importante. Sin embargo, si le pregunta a alguien involucrado en la accesibilidad, es probable que le diga qué tan corto suele ser para satisfacer las necesidades de muchos usuarios.
Una (muy) breve historia de la interfaz de usuario de la computadora
Computación por lotes / Tarjetas perforadas
Las primeras computadoras de "uso general" requerían la laboriosa creación de tarjetas perforadas y, en general, tenían menos potencia de cálculo que una lavadora promedio.
Interfaz de línea de comandos (CLI)
Aunque algunas personas todavía consideran esto como la * única * forma de controlar su computadora, el consenso general es que puede ser un poco incómodo para algunas tareas que uno podría querer realizar. El principal método de entrada en este punto era obviamente el teclado. Aunque sigue siendo un elemento básico de cualquier configuración de estación de trabajo (y probablemente lo será durante mucho, mucho tiempo), aprender a escribir puede ser una barrera difícil de usar.
Interfaz gráfica de usuario (GUI)
La llegada de la interfaz gráfica de usuario vio la introducción de sistemas basados en Windows, lo que supuso un gran paso adelante en términos de usabilidad y UX. Y, por supuesto, para arrastrar estas nuevas y brillantes ventanas, se inventó el mouse, un método muy intuitivo de interactuar con la computadora.
Teléfono inteligente
Aunque anteriormente se usaba con computadoras de escritorio, la tecnología de pantalla táctil nunca despegó realmente hasta que aparecieron los teléfonos inteligentes y otros dispositivos "inteligentes". ¡No más ruidos de teclas!
Voz
El desarrollo de la tecnología operada por voz constituye otro gran paso adelante en términos de usabilidad y UX. La única habilidad que necesita para interactuar con el software es poder hablar en el mismo idioma. Dado que la interfaz es casi completamente natural, casi no hay curva de aprendizaje.
¿Por qué el uso de “casi” en la oración anterior? Bueno, todavía está el hecho de que tienes que aprender a colocar tus comandos de manera que obtengas los resultados que deseas.
Además de la facilidad con la que las personas pueden comenzar a utilizar este tipo de interfaz, existen otros beneficios, como la postura y la fatiga visual, ambos problemas con los que sin duda estará familiarizado cualquier persona que trabaje en una computadora durante largos períodos de tiempo.

El equilibrio de poder
Una cosa que se hace evidente al observar los distintos tipos de interfaces de usuario que han evolucionado a lo largo de los años es que todas tienen algo en común. A pesar de la gran cantidad de recursos y horas-persona dedicadas a abordar el problema, todos requieren que las personas trabajen hasta cierto punto para adaptarse al funcionamiento de las computadoras. Podría decirse que en este sentido, tecnologías como el reconocimiento de voz y gestos (que son problemas difíciles de resolver) muestran un cambio en este equilibrio. Las computadoras están trabajando para adaptarse a la forma en que operan los humanos.
Desafíos del reconocimiento de voz
Remontándonos a la década de 1950, el reconocimiento de voz es uno de esos problemas que es engañosamente difícil, porque para nosotros es una segunda naturaleza. Tomemos, por ejemplo, la siguiente oración:
Comerciante : "¿Puedo preguntar qué está buscando?"
Cliente : "Cuatro velas".
Por supuesto, cuando vemos esto en forma escrita, sabemos exactamente lo que quiere la persona. Pero cuando se escucha en forma hablada, ¡podría ser que la persona realmente quisiera "mangos de horquilla"!
Este es un escenario bastante trivial e improbable, pero una ambigüedad como esta es extremadamente común en el lenguaje hablado. Las implicaciones son enormes si se consideran los tipos de operaciones que realizan las computadoras.
Se han utilizado muchos métodos durante ese tiempo, y los modelos de Hidden Markov y las redes neuronales se encuentran entre los más exitosos. Más recientemente, se ha utilizado el aprendizaje profundo, y eso es lo que nos ha brindado las soluciones sólidas disponibles actualmente.

Comparación de pasos requeridos
"No hay substituto para trabajo duro." ~ Thomas A. Edison
… ¿O hay? Incluso la tecnología relativamente moderna viene con una sobrecarga de pasos adicionales, lo que nos hace trabajar con la tecnología y no al revés.
Aquí hay algunas tareas básicas establecidas "algorítmicamente" para ilustrar cuánto trabajo hacemos sin siquiera darnos cuenta:
Enciende / apaga la TV:
Método tradicional
- Encuentra el control remoto
- Coger el mando a distancia
- Encontrar el botón correcto
- presiona el botón
Método de voz
- "Alexa, enciende / apaga la TV"
Agregar artículo a la lista de tareas pendientes:
Método tradicional
- Encuentra el teléfono (y descárgalo)
- Desbloquear teléfono
- Buscar aplicación
- Abre la app
Método de voz
- "Alexa, agrega" comprar pan "a mi lista de tareas"
Como puede ver, tener la capacidad de controlar dispositivos con su voz implica muchos menos pasos.
Métrica
A continuación se muestran algunos gráficos que ilustran el estado general de los servicios activados por voz. Aunque las cifras son pequeñas en comparación con las descargas de la tienda de aplicaciones, el campo está creciendo rápidamente:



Crédito: https://www.voicebot.ai/amazon-echo-alexa-stats
Introducción a la API de habilidades de Amazon
La API de Amazon Alexa Skills proporciona el marco con el que recibir, reconocer, procesar y responder a los comandos de voz recibidos a través de un dispositivo.
Los pasos generales son los siguientes:
Descripción general de los pasos necesarios
Nombra tu habilidad
Elija un nombre de invocación para su habilidad, que se utilizará para activar Alexa para que pueda responder a su comando.
Defina su intención
En Amazon Skills, "intención" o "intenciones" son solicitudes o acciones asociadas con los comandos de un usuario.
Por ejemplo, en la oración: "Alexa, ¿qué sucedió en este día en 1729?", El comando "¿Qué sucedió en este día en 1729?" se asignará a una intención predefinida, proporcionando las palabras clave correctas para que la aplicación obtenga la respuesta.
Para hacer que su habilidad sea más flexible, usamos algo llamado "ranuras", que son esencialmente marcadores de posición para tipos particulares de datos.
Construye el modelo
Aquí, establecemos la estructura general de la interacción con Alexa, incluidas las indicaciones para obtener más información y posibles patrones de respuesta.
Definir un punto final
Esto apunta a la ubicación física del código que manejará la lógica de su aplicación. Se puede alojar en cualquier lugar de Internet, pero la opción más sencilla es crear un AWS Lambda, al que su habilidad puede llamar de forma remota.
Crear una función Lambda
Crear esto en AWS es bastante sencillo. Necesita hacer un poco de configuración y mapeo, pero se proporcionan planos, que dan una buena idea de lo que se necesita.
Cuando se reciben comandos de una habilidad de Alexa, su código aquí procesará la respuesta correcta y actualizará cualquier modelo que necesite ser rastreado.
Conclusión
Esta ha sido una descripción (muy) breve de lo que hacen los servicios activados por voz y cómo crear uno usando el Kit de habilidades de Alexa. En la próxima publicación sobre el desarrollo de habilidades de Alexa, veremos cómo crear una pequeña habilidad y publicarla en Amazon Skills. Alternativamente, si necesita ayuda con el diseño y desarrollo de su sitio web, póngase en contacto con nosotros hoy mismo.
Si necesita ayuda con su no dude en contactarnos.
