Bienvenidos a esta entrada en la que intentaremos mostrar como se incluye en un ejemplo real, reconocimiento de voz en nuestras aplicaciones o cualquier otro software que desarrollemos por nuestra parte.
Para utilizar este tutorial, vamos a utilizar la API de Wit.ia una start-up de éxito, que hasta hace pocos días solo había llamado la atención al sector de los desarrolladores y a Facebook, quién la acaba de comprar.
Tabla de contenidos
Este servicio intenta, llevar el reconocimiento de voz de forma sencilla a cualquier plataforma y software que desarrollemos, ahora mismo soportan todos los dispositivos móviles, clientes webs, aplicaciones programas en C, nuestras Raspberry Pi etc.
Pero no sólo buscan reconocer las palabras que decimos y formar un frase, como otros muchos servicios, sino que intentan analizar esa frase y extraer datos de la misma. Por ejemplo, si nosotros le decimos “hay 50º en Madrid” el nos devolverá:
{
"msg_id": "0b9d437c-cb85-4871-a1d6-993e51de6f26",
"_text": "hay 50 grados en Madrid",
"outcomes": [
{
"_text": "hay 50 grados en Madrid",
"intent": "wit_location",
"entities": {
"temperature": [
{
"type": "value",
"value": 50
}
],
"location": [
{
"value": "Madrid"
}
]
},
"confidence": 0.58
}
]
}
Como se puede ver, nos devuelve el texto, que le hemos dicho, como cualquier software de reconocimiento de voz. Pero luego también nos informa en “entities” de que hay dos entidades:
Si queréis ver otro ejemplo, podéis ver el propio que ofrecen los autores del servicio.
Lo primero que debemos hacer es registrarnos en GitHub, si aún no tenemos cuenta allí, porque es la manera de acceder a Wit.ai
Una vez dentro, deberemos crear una instancia y lo mejor es que sigamos el tutorial que nos ofrecen:
Aunque toda la página y la documentación está en inglés, reconoce bastante bien el idioma Español (por lo menos el acento de España)
La parte que he podido probar, que no es todo el sistema, sino las entidades predefinidas, funciona de la siguiente manera:
Introducimos una frase, por ejemplo: “Hace calor en Sevilla” y obtenemos lo siguiente:
Ahora debemos marcar, las entidades, es decir, la parte de la frase que tiene datos que queremos extraer:
En entidades, nos salen las predefinidas de Wit o podemos crear nuevas nosotros, pero por el momento, yo he usado las suyas. Ahora marcamos wit/temperature y de la misma manera, marcamos Sevilla como localización:
Ahora le damos a validar. El servicio nos va a decir que está entrenando nuestro reconocimiento de voz, porque el objetivo es que cuando digamos: “que calor hace en Madrid” detecte como localidad Madrid y como temperatura, calor.
Llegados a este punto, las entidades de Wit que tiene por defecto, se nos quedan pequeñas, ya que wit/temperatura, solo acepta un valor numérico, así que vamos a Add entity y escribimos un nombre, que denotará nuestra nueva entidad, yo lo he llamado temperatura:
Después de un par de segundos, que tarda en entrenarlo, podemos ver como si realizamos el programa de prueba del manual y decimos la frase “que calor hace en Madrid” tenemos:
Claro este sistema, como todos los de reconocimiento de voz tienen el problema, de que hay que enseñarle los patrones y entrenarlo durante bastante tiempo y con ejemplos de todo tipo, para obtener precisión. En el siguiente ejemplo vemos como le falta precisión, porque no le hemos enseñado lo suficiente:
En resumen creo que es un servicio que va a dar un gran impulso al IoT (“Internet de las cosas”), y en poco tiempo vamos a ver una pequeña revolución en las aplicaciones móviles, donde la mayoría van a incorporar reconocimiento de voz.
Espero que os animéis a probar esta tecnología y nos contéis los resultados que obtenéis. Si queréis empezar a hacer algo más complejo, podéis consultar la documentación oficial, ya que esta entrada, no pretende ser un manual completo y riguroso, sino mostrar un ejemplo y las posibilidades del sistema.
Hoy queremos hablaros de Docker un proyecto que cada día es más usado, porque permite…
Cada vez estamos más acostumbrados a usar código para generar la infraestructura (IaC), documentar nuestro…
Uno de los problemas que se presentan con una mayor frecuencia hoy en día, es…
Uno de los problemas que solemos tener los programadores, es que nos gusta estar a…
Docker es una de las herramientas más usadas por los desarrolladores, sin embargo, usarlo en…
Como seguramente sabrás el uso de JavaScript ha crecido exponencialmente en los últimos tiempos, sin…