Api.ai, el asistente de voz para aplicaciones y dispositivos móviles echa a tu medida
- Andrés Cruz
Api.ai es un asistente de voz que a diferencia de los muchos otros en el mercado (Google Now, Cortana, Siri, ect) permite crear nuestros propios asistentes de voz mediante las SDKs para Android, IOS e incluso posee una libreria para JavaScript.
¿Cómo funciona el asistente de voz Api.ai?
En la página oficial tenemos una documentación que explica en detalle los conceptos claves y como se relacionan estos; sin embargo, aquí resumiremos un poco la idea general de Api.ai:
Entidades (palabras claves y sinónimos) e Intenciones (lenguaje natural y conexiones)
El título anterior resume en dos secciones los conceptos básicos del asistente de voz Api.ai:
Palabras claves y sinónimos = entidades ("Entities")
Los "entities" tiene presentes dos ideas fundamentales, algo así como el concepto o la idea principal de una oración (la palabra clave), y aquellos elementos que conforman el concepto y las diferentes formas en la que podemos nombrar a estos elementos (sinónimos):
disponible en api.ai/images/getting-started/entityUI.png
- El objetivo de utilizar un asistente de voz como Api.ai, es que entienda que quiere decir el usuario dada una frase o una orden, la frase debe de tener un concepto o idea principal en la que se basa la frase, en otras palabras; una palabra clave, por ejemplo ciudades.
- Ya tenemos la palabra clave (ciudades) A su vez, tenemos muchas ciudades y muchas formas de nombrar las mismas (sinónimos): New York, NY y Big Apple son palabras que utilizamos para referirnos a un mismo elemento en este caso a la ciudad de Nueva York.
Esto en conjunto en Api.ai es conocido como "entities" (entidades); la siguiente imagen corresponde a un "entities" en Api.ai:
Lenguaje natural y conexiones = Intenciones ("Intents")
Los "intents" (intenciones) permite crear conexiones entre las entidades y lo que el usuario dijo en lenguaje natural con las acciones que quieres que haga el programa.
¿Cómo funciona el servicio?
Toda esta lógica explicada anteriormente, es creada dentro del site de Api.ai mediante formularios y es acesible mediante un token y demas parámetros de seguridad que nosotros configuramos en el site; por lo tando, al momento de crear una aplicación, solo debemos de crear el "enlace" que permita utilizar esta lógica en nuestra aplicación:
var accessToken = "<your agent access token>"; var subscriptionKey = "<your agent subscription key>"; var baseUrl = "https://api.api.ai/v1/";
¿Para que utilizaríamos Api.ai?
Hay multitud de aplicaciones que podrían crearse empleando esta Api.ai:
- Para tomar dictados o notas en tu aplicación.
- Búsquedas en la web.
- Dictados.
- Interacción con distintos componentes, lanzar otras aplicaciones, realizar ciertos cambios en configuración.
- Buscar sinónimos.
En el site de Api.ai podrás encontrar los enlaces para descargar las diferentes APIs segun la plataforma en la que quieras desarrollar (Android, IOS y Web) y ejemplos básicos de su uso.
Les comparto el video oficial introductorio creado por la gente de Api.ai:
Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter