Aunque en un principio Alexa solo estaba vinculado a la gama de altavoces inteligentes Amazon Echo, posteriormente se permitió que otros fabricantes pudieran integrarlo en sus productos. Así, podemos encontrarlo hoy en día en teléfonos móviles (Android o iOS), pasando por televisores (LG, Sony, Hisense, Toshiba, etc.), interruptores, enchuches, bombillas o sensores (Osram, Philips, Belkin, Nest, etc.), hasta coches (Ford, Volkswagen, etc.).
Si abrir el asistente a dispositivos que no fueran productos de Amazon favoreció el uso de Alexa, lo que empujó definitivamente su expansión fue permitir que cualquier desarrollador pudiera ampliar sus capacidades. De esta forma, lo que se puede llegar a hacer con Alexa ya no depende únicamente de los comandos de voz que tiene integrados, sino de las habilidades ( skills ) que se instalen para ampliar su funcionalidad. Hay miles entre las que elegir, tanto gratuitas como de pago.
Esta estrategia de permitir integrar el asistente en dispositivos de otros fabricantes, así como el desarrollo de habilidades por parte de terceros, ha provocado que hoy en día Alexa sea uno de los asistentes virtuales de referencia en el mercado.
Desde el momento en el que pueda hablar con Alexa, disfrutará de un compañero virtual al que podrá pedirle, por ejemplo, que suene una canción, ver su serie favorita o resumirle las últimas noticas del día. Para dar respuesta a estas solicitudes, el asistente debe disponer de las capacidades adecuadas, que serán las que ya tiene integradas o haya adquirido de habilidades ( skills ) desarrolladas por terceros.
A lo largo de los siguientes capítulos, aprenderá a desarrollar sus propias habilidades que, al ejecutarse en la nube, podrán usarse desde cualquier dispositivo Alexa al que esté conectado con su usuario de Amazon.
El desarrollo de las habilidades se realizará con un conjunto de herramientas llamado ASK ( Alexa Skills Kit ), pudiendo ser de los siguientes tipos:
• Personalizada ( custom ). Permite atender cualquier tipo de solicitud. Para ello, deberá desarrollar, desde cero, el modelo de interacción (la conversación) que quiera que se establezca entre el usuario y Alexa. En dicho modelo, se determinará lo que se pueda llegar a pedir (intenciones), junto con las expresiones utilizadas para ello.
• Casa inteligente ( smart home ). Como su nombre indica, este tipo de habilidad controla dispositivos domésticos inteligentes, como luces, termostatos, televisiones, cerraduras, etc. Se basa en modelos de iteración preconstruidos, que incorporan las acciones que atienden las habilidades (a las que se llama directivas del dispositivo, como, por ejemplo, encender, apagar o cambiar el nivel del brillo de una luz), así como las expresiones empleadas para solicitarlas (p. ej., “enciende la luz” o “sube la intensidad de la luz un 30 %”). Sin embargo, dan menos control sobre la conversación mantenida con el usuario, que deberá ajustarse necesariamente a dicho modelo de interacción.
• Flash briefing. Proporciona al usuario contenido breve, como los titulares de las noticias o el pronóstico del tiempo. Al igual que en las habilidades de casa inteligente, utilizará un modelo preconstruido con las expresiones que utilizaría el usuario para pedir el briefing flash o solicitar las noticias (p. ej., “dame las noticias de hoy”), además del formato del contenido en el que Alexa le dará la información solicitada. El desarrollador de este tipo de habilidades se encargaría básicamente de definir las fuentes de las que se tendría que obtener dicho contenido.
• Vídeo. Ofrece contenido de vídeo, como programas de televisión o películas. También está basado en un modelo de interacción preconstruido, con las solicitudes que maneja la habilidad (directivas del dispositivo) y las expresiones con las que el usuario puede invocarlas. En este caso, el desarrollador de la habilidad programaría el comportamiento de cada una de estas directivas (p. ej., la de buscar o reproducir contenido de vídeo), o cómo se tendrían que mostrar los resultados.
• Música. Habilita la reproducción de canciones, listas de reproducción o emisoras de radio, a través de un dispositivo habilitado para Alexa. En este caso, quien programa la habilidad debe definir el modelo de interacción, convirtiendo las expresiones del usuario (como, por ejemplo: “Alexa, pon música”) en solicitudes que la habilidad gestionaría para enviar el contenido de audio solicitado al dispositivo.
• Listas. Como indica su nombre, este tipo de habilidad le permitirá la gestión de listas, como, por ejemplo, la de la compra. Con ellas podrá agregar, borrar o modificar elementos a una lista de cualquier tipo.
El modelo de interacción establece la interacción con la habilidad a través de un diálogo. Sería análogo a la interfaz de una aplicación tradicional. La diferencia es que ahora las aplicaciones son habilidades y las interfaces gráficas son de voz. Por ese motivo, en vez de ventanas, botones o menús, lo que manejará a partir de ahora serán expresiones (frases).
De todos los tipos de habilidad descritos, trabajará únicamente con las personalizadas, ya que, al no tener que ceñirse a modelos de iteración preconstruidos, son los que dan mayor libertad a la hora de definir la forma en la que deberá transcurrir la conversación con el asistente. En realidad, este tipo de habilidades engloba a todas las demás.
3.2 MODELO DE INTERACCIÓN
Un modelo de interacción establece la estructura de la conversación que Alexa mantendrá con el usuario en el contexto de una habilidad. Se compone de los siguientes elementos principales:
• Intenciones ( intents ). Son las acciones que el usuario puede llegar a solicitar, cada una de las cuales corresponde (como indica el nombre de este componente) a una intención específica. Por ejemplo, una habilidad que controlara la luz de una habitación podría tener tres intenciones: las que atienden las órdenes para encenderla o apagarla, y una tercera que permita preguntar por el estado en el que se encuentra (encendida o apagada).
• Expresiones de muestra ( Sample Utterances ). Son las palabras o frases utilizadas por los usuarios para invocar una intención. Estas expresiones deben abarcar todas las formas posibles de solicitar la ejecución de una determinada acción. Cuantas más haya y más variadas sean, mayor facilidad tendrá Alexa para saber a qué intención corresponden. Por ejemplo, para encender la televisión, se podría decir: “pon la televisión” o “enciende la tele”. Ambas expresiones deberían invocar la misma intención, es decir, realizar la misma acción: encender la televisión.
Es muy difícil introducir todas las variaciones posibles de expresiones empleadas para solicitar las acciones. Por eso, Alexa dispone de algoritmos de inteligencia artificial que le permiten generalizar dichas frases. Aplicando estos algoritmos, podrá saber si lo que ha dicho el usuario “encaja” con alguna de las expresiones de ejemplo, aunque no coincida exactamente con ella. En cualquier caso, cuantas más declaraciones de ejemplo tenga una intención, más probabilidades habrá de que se invoque la más adecuada.
• Tipos de slots. Las expresiones de los usuarios representan texto libre difícil de procesar por un programa informático, que es el que realmente tiene que realizar las acciones. Por ese motivo, es necesario extraer la información relevante de dichas expresiones (lo que vulgarmente se conoce separar la paja del grano), función que realizan los slots. Estos componentes pueden verse como variables, que recogen la información proporcionada como entrada al programa encargado de realizar la acción solicitada.
Читать дальше