You are on page 1of 8

RECONOCIMIENTO DE VOZ

1. CONCEPTO

El reconocimiento de voz es una técnica que se lleva usando muchos años como método de
interacción con equipos informáticos. En el mundo de los smartphones en general, y en Android
en particular, fue sobre todo a partir de Jelly Bean cuando su utilización empezó a ser realmente
útil, ya que los errores cometidos en el reconocimiento bajaron un 25%.

Es una de las formas de comunicación con las máquinas que se está sobreponiendo con más fuerza
a otras formas de interacción más tradicionales, sobre todo los botones físicos, aunque también
está desplazando a la funcionalidad táctil en algunos casos.

Ya es posible hablar a los dispositivos móviles –siempre dentro de un esquema– y los coches
nuevos incorporan sistemas de comandos por voz, con lo que no es necesario despegar las manos
del volante para encender la radio o calcular una ruta con el GPS, mientras que las smart TV y otras
tecnologías domésticas también son capaces de recibir mensajes hablados.

No sólo se da en los productos de consumo. El reconocimiento de voz juega un papel importante


en el segmento empresarial y en ciertas profesiones, como en el dictado médico o en laboratorios,
donde la transcripción ahorra mucho tiempo. Hoy en día las grandes compañías de tecnología
cuentan con equipos dedicados a la mejora de los comandos por voz. El caso más conocido es el
de Apple con Siri, pero también Microsoft, Samsung o IBM tienen sus propios sistemas.

La tecnología de reconocimiento de voz no nació con el iPhone 4s- el primero en el que apareció
Siri. La atención telefónica lleva utilizando esta forma de interacción muchos años. Y no deja de
ser un reflejo de la mejora de la técnica el que la máquina antes entendiera al humano de pascuas
a ramos mientras que ahora la precisión ha aumentado. Éste es el método tradicional, el de los
comandos de voz. Hoy día se está acompañando a estos comandos de una capa de lenguaje
natural.

2. EL RECONOCIMIENTO DE VOZ: CAPA A CAPA

Un sistema de reconocimiento de voz está formado por varias capas o modelos:

a) Modelo Acústico

Permite a la tecnología identificar si el sonido procede de una llamada de móvil, de un teléfono


IP o cualquier otro medio. Determinar el canal de comunicación es importante para establecer
el grado de distorsión que puede experimentar el mensaje.

b) El Modelo Lingüístico

Trata del idioma. Pero no es tan sencillo como indicar al sistema que reconozca castellano,
francés o mandarín. No sólo es preciso entender la lengua sino los distintos acentos con que se
habla e incluso entender las formas de expresarse, que pueden ser diferentes en cada hablante.
c) El modelo semántico:

Con él se consigue que un sistema de reconocimiento de voz entienda la forma de hablar de la


gente, cómo se construyen las frases y cómo puede variar esta construcción, dependiendo de la
región, de la cultura y de todas las influencias personales de cada cual.

Por último, funciona un motor estadístico, que recoge la frase una vez transcrita a texto y realiza
una búsqueda en la base de datos con estos términos.

Esta consulta tiene que adivinar si la frase dicha, con el nivel de distorsión correspondiente si se
habla desde un móvil, el acento y la forma de decirlo están pidiendo una determinada acción. La
precisión del software al final se reduce a aumentar la base de datos para alcanzar todas las
combinaciones posibles en un idioma. Es más, en cada nuevo entorno que se implementa hay que
construir un nuevo modelo semántico.

3. FUNCIONAMIENTO

Para entender la base de cómo funciona un sistema de reconocimiento vocal, no tenemos más
que pensar en cómo funciona nuestro cerebro cuando aprendemos un idioma nuevo. ¿Alguna vez
has intentado ver una película en lengua original (inglés, por ejemplo)? Cuando lo haces, pueden
darse varias situaciones: puede que lo entiendas todo bastante bien, puede que entiendas algunas
cosas y te cueste entender otras, o que no entiendas nada de nada. Si nos quedamos con el caso
intermedio, y si tienes la posibilidad de hacerlo, intenta reproducir el vídeo a una velocidad un
poco más lenta, y con auriculares puestos.

Al reproducir el vídeo más lento y con auriculares, te debería resultar más sencillo identificar qué
palabras se están diciendo. Si es así, si has conseguido identificar las frases, significa que tu punto
débil eran tus “algoritmos cerebrales”. Ok, primera parte superada. Y ahora, ¿sabes lo que
significan las palabras que has identificado? Si la respuesta es “no” es porque, además, necesitas
conocer el vocabulario.

Los “algoritmos cerebrales” podrían ser definidos como los recursos de tu cerebro para descifrar
qué se está diciendo (aunque no sepas lo que significa). Viendo el vídeo a velocidad más lenta y
con auriculares, estarás poniéndole un poco más fácil las cosas a tu mente para comprender qué
se dice, haciendo que dependa menos de tu pericia con ese idioma el poder identificar lo que se
pronuncia.

Para poder identificar el máximo número posible de palabras que se están pronunciando hay dos
puntos clave: refinar tu algoritmo a base de practicar para que tu cerebro trabaje mejor (viendo
muchas películas en inglés, hablando en inglés, acostumbrándote al acento, familiarizándote con
las entonaciones…) y, además, conocer muchos patrones, o sea, tener en tu memoria muchos
sonidos de palabras para que, mientras escuchas una conversación en inglés, puedas comparar lo
que oyes con los sonidos que conoces, y decidir cuál es la palabra más probable que se está
pronunciando. Esta comparación, en matemáticas, se lleva a cabo mediante la correlación
cruzada (parecido al método que usa por ejemplo Shazam para identificar una canción, aquí tienes
un artículo muy interesante sobre ello, en inglés), y es el mismo proceso que realiza tu cerebro sin
que te des cuenta.

Fórmula de la correlación cruzada en el dominio del tiempo (Fuente: Wikipedia)

Volviendo al ejemplo de Shazam, los “algoritmos cerebrales” son los que le permitirían poder
grabar correctamente una canción, con el menor ruido y distorsión posibles, para compararla con
su base de datos de canciones y decidir qué canción es. Por eso, hace falta que la base de datos
de canciones sea realmente enorme y, en el caso de aprender un idioma, que tengamos una gran
variedad de palabras cuya pronunciación conocemos, para que no oigamos algo y no sepamos qué
se estaba pronunciando.

Proceso de captura de audio en Shazam (Fuente: www.toptal.com)

Además de los “algoritmos cerebrales”, tenemos el vocabulario del idioma (puede parecer lo
mismo que la “base de datos de sonidos”, pero en este caso me refiero al significado). Si somos
capaces de identificar sin problemas lo que se está diciendo en una conversación, pero no sabemos
el significado de las palabras, poco podremos hacer. Esta parte normalmente requiere menos
habilidad, y más tesón. Uno podría aprenderse de memoria 1.000 palabras de sueco, y cada vez
que la ve escrita podría saber su significado, pero eso no significa que vaya a entender una
conversación en sueco porque sus “algoritmos cerebrales” no están desarrollados para ello.

En el mundo de la tecnología pasa un poco igual: es más complicado identificar las palabras
correctamente que saber qué significa cada una, porque a un ordenador no le cuesta nada (aparte
de unos cuantos bytes) guardar el significado de una palabra, pero sí que sus algoritmos deben ser
muy muy buenos para aislar las palabras e identificarlas… y eso por no hablar de establecer las
relaciones semánticas complejas del lenguaje humano. Por ejemplo, tú puedes escuchar en inglés
la palabra “Winklepicker” y reconocerla en una conversación, pero no saber lo que significa porque
se te ha olvidado, o no entender su significado en una frase concreta. Para un ordenador, una vez
que ha reconocido la palabra, el resto del proceso de saber su significado es inmediato, no se le va
a olvidar nunca, y es casi imposible que haya alguna palabra cuyo significado no conozca, porque
en unos cuantos megas puede almacenar diccionarios enteros. Pero sí que se enfrenta también al
problema de entender la palabra en su contexto.

4. CONTRASEÑAS POR VOZ

Dentro del reconocimiento de voz otra de las partes más destacadas es la biometría. Se trata de
comprobar la identidad de una persona mediante la combinación única de patrones que tiene su
voz. Para esto lo primero es obtener la huella vocal, que se puede sacar haciendo una captura
dinámica mientras la persona habla, aunque también se puede establecer una frase como
contraseña y que estas palabras precisas sean las que se comparen para la autentificación.

Esta huella registra las características de la voz, como pueden ser e l timbre, el agudo, la edad o si
es masculina o femenina. Pero también determina cuál es el canal por el que se está hablando, de
manera que establece el posible grado de distorsión para ser capaz de reconocer al usuario a
través de otro canal. ¿Y si me graban la voz? El sistema es capaz de distinguir si es una grabación
o si es una concatenación de palabras creada por una herramienta.

5. GOOGLE Y LAS REDES NEURONALES

Google cuenta con muchos patrones para comparar, y muchos ordenadores que actúan como
una red de neuronas, procesando la información que les llega y devolviendo un resultado común.
De aplicar esta tecnología en el reconocimiento de voz de Google tenemos que dar las gracias
a Vincent Vanhoucke y Jeff Dean, pero el concepto de redes neuronales no se usa sólo en el
reconocimiento de voz. Por ejemplo, también se ha utilizado para mejorar los algoritmos de
Google a la hora de detectar caras humanas y de gatos (para lo cual el sistema analizó miles y miles
de vídeos de YouTube buscando patrones).
Patrones de caras detectados por la red neuronal (Fuente: www.phonearena.com)

Los sistemas de Google basados en redes neuronales pueden ajustar su comportamiento para
mejorar, aprender y evolucionar. Por ejemplo, un sistema de reconocimiento de voz podría dar
diferentes resultados en función del usuario que lo utilice, simplemente basándose en su historial
de búsqueda para comprender qué es lo más probable que el usuario haya dicho. Al final todo se
traduce en reducir el error de conversión, y para eso las probabilidades juegan un papel
fundamental. Ahí es donde, además, contribuyen en gran medida a entender el contexto de la
palabra, como comentaba al final del apartado anterior.

Otro punto fundamental de esta tecnología es que, cuantos más datos maneja, más precisa es. Y
en ese sentido la cantidad de datos con que puede trabajar Google es sencillamente enorme (y
mayor cada día).

A la hora de la práctica, cuando le hablas al motor de reconocimiento de Google, lo que hace es


convertir tu voz de señal analógica a digital (en cuanto el micrófono la recibe), pasarla del dominio
del tiempo al dominio de la frecuencia, trocear el espectrograma de tu voz en partes, y enviarlas
a diferentes ordenadores de Google alrededor del mundo.

Ejemplo de espectrograma en el tiempo y en frecuencia (Fuente: Wikipedia)


Estos equipos procesan el audio basándose en el modelo de redes neuronales, e intentan
encontrar los elementos individuales que lo componen (las vocales y las consonantes) en una capa
de la red neuronal. A continuación, otra capa trata de identificar los grupos en los que están esos
sonidos fundamentales, y así sucesivamente, hasta que se obtiene una estimación final de la
palabra.

Ejemplo de arquitectura de Red Neuronal (Fuente: www.egomachines.com)

La potencia de las redes neuronales está precisamente en su capacidad de predecir: predecir qué
quiere un usuario, predecir qué significa un sonido, predecir cómo modifica una palabra el
significado de una frase, predecir cómo se comportará una molécula en una determinada
situación, predecir cómo cambiará el clima o la bolsa… Evidentemente no son cerebros humanos,
pero intentan minimizar la diferencia entre su capacidad y la nuestra, a base de preguntarte: ¿qué
es lo más probable que ocurra?

6. OK GOOGLE

Con el lanzamiento del Google Now Launcher también vino incorporada una útil aplicación, a
modo de asistente, para realizar búsquedas o ejecutar órdenes, a través de comandos de voz.

"Ok Google" es una frase que activa el reconocimiento por voz e indica a la aplicación Google que
puedes empezar a utilizar esta funcionalidad. Para activarla es necesario que tengas actualizada la
última versión de Google para Android. Posteriormente abre la aplicación y toca el icono de menú
para seleccionar Ajustes/ Voz/ Detección de Ok Google y sigue las instrucciones que se te piden
para lograr que Google reconozca el sonido de tu voz.

A mediados del año pasado, Google actualizó algunas de sus características, incluido "Ok Google",
para poder reconocer el idioma Español. Por lo pronto, reconoce dos variantes de español: el de
México y el de España. La siguiente lista muestra los comandos más útiles en este idioma, con los
que puedes usar "Ok Google" en dispositivos Android.
a) Los comandos de voz más útiles para usar

Para comenzar abre la aplicación Google y toca el icono de micrófono o di "Ok Google".

Ejemplos de uso de comandos

a. Calendarios y Recordatorios

 Establecer una alarma a las [6 am]


 Despiértame a las [6 am]
 Recuérdame [ir por la ropa] a [la lavandería] a las [6:30 pm]
 Crear un evento de calendario para cenar con [Gustavo] en [San Cristóbal] [el sábado a las
9:00 pm]

b. Comunicación

 Llamar a [Mari Aguilar]


 Llamar a [mamá]
 Enviar un mensaje a [Flor] que diga: [nos vemos en el centro comercial]
 Enviar un correo electrónico a [Gabriela], asunto [Dudas] mensaje [necesito hablar contigo
de inmediato]

c. Información

 ¿Qué hora es en [México]?


 ¿Qué tiempo va a hacer [mañana] en [Venezuela]?
 ¿Dónde nació [Mark Zuckerberg]?
 ¿Cómo se dice [hola] en [alemán]?
 [Esposa] de [David Beckham]
 ¿Qué significa [nictofobia]?
 ¿Cuándo se estrenó [Game of Thrones]?
 ¿Cuántos [euros] son [20 dólares]?
 ¿Cuál es [la raíz cuadrada] de [5289]?

d. Aplicaciones e Internet

 Ir a [hipertextual.com]
 Abrir [Telegram]
 YouTube [cómo preparar bizcocho de vainilla]
 Muéstrame imágenes de [Benedict Cumberbatch] [en los Globos de Oro]

e. Navegación

 Llegar a [California]
 ¿Cómo llegar a [Avenida Insurgentes 22], [Mexico, DF]?
 ¿Dónde está [la farmacia] más cercana?
 ¿Qué tan lejos está [el Cañón del Sumidero] de [Guadalajara, Jalisco]?

f. Deportes

 ¿Cuándo juega [el Real Madrid]?


 Marcador final de [Alemania] contra [Argentina]
 ¿En qué equipos ha jugado [Cristiano Ronaldo]?

7. BIBLIOGRAFIA

 https://hipertextual.com/2015/01/comandos-de-voz-para-ok-google
 http://www.androidexperto.com/aprender-android/lista-comandos-como-usar-google-
now-por-voz/
 https://androidspain.es/usar-el-reconocimiento-de-voz-de-tu-android/
 https://www.xatakandroid.com/tutoriales/como-activar-el-reconocimiento-de-voz-sin-
conexion-en-android
 http://www.mibqyyo.com/articulos/2015/10/16/reconocimiento-voz-google-android-
bq/#/vanilla/discussion/embed/?vanilla_discussion_id=0
 http://www.eldiario.es/turing/reconocimiento-voz-biometria_0_201230680.html

You might also like