3Comunicación por comandos de voz

La comunicación con las máquinas a través de comandos de voz cae en un amplio campo de investigación denominado de reconocimiento automático de voz (ASR - automatic speech recognition).

Este término significa generalmente la transcripción automática (por una máquina) de un lenguaje hablado. La entrada es una señal de voz, generalmente en forma digital como una secuencia de números. La salida es un texto en forma de cadenas de palabras que existen en un vocabulario (como puede ser bastante extenso por lo general sólo se utiliza un vocabulario restringido en un dominio particular). Además, la cadena de salida sigue las reglas gramaticales regulares o bien patrones frecuentes que pueden ser observados en el lenguaje hablado (modelo estadístico de lenguaje). Esta tarea es a menudo denominada como el problema de voz al texto.

ASR debe ser diferenciada de la tarea de comprensión de lo que se dijo la cual opera en un nivel más alto (la entrada es un texto) y la rama de la ciencia que se ocupa de este problema se denomina inteligencia artificial.

Desde hace varias décadas ha habido un gran esfuerzo continuado en construir un sistema ASR que pudiera ser ampliamente utilizado, especialmente en las siguientes áreas: sistemas de recuperación de información, sistemas de diálogo, ayuda a las personas con discapacidad, etc. Pero no ha sido hasta hace poco que las aplicaciones orientadas a dominio han salido de los laboratorios. Actualmente, la tecnología y el conocimiento han hecho pasos cruciales y están surgiendo otras aplicaciones más sofisticadas, como los sistemas de dictado o incluso la transcripción automática del habla natural. Debido a que la tarea es tan compleja afrontando muchísimos obstáculos que éstos deben ser resueltos por los diferentes dominios de la ciencia. Los sistemas prácticos para el público en general deben operar en condiciones reales y en la mayoría de los casos en condiciones muy adversas (gran variabilidad de ruidos, dispositivos de grabación, lugares de uso, etc.), deben aceptar una gran variabilidad del lenguaje hablado (las reglas desaparecen), la variabilidad de los hablantes (en términos de una forma acústica) y grandes vocabularios, sólo por mencionar algunas de ellas. Además, un usuario en general requiere una respuesta inmediata del sistema (que trabaja en tiempo real), no está dispuesto a cambiar su hábito de hablar o de restringir su vocabulario y pierde rápidamente su paciencia si el sistema no funciona con una alta precisión.

Como la gama de posibles aplicaciones ASR es bastante amplia y también lo es la complejidad de los sistemas necesarios para la solución de tareas particulares (en realidad está creciendo aún más rápidamente con el aumento de requerimientos) existen varias clases de sistemas que de acuerdo a ellos se clasifican los sistemas ASR. El principal criterio relacionado con la clasificación ASR está basado en el tamaño del vocabulario, y diferenciamos:

Sin embargo, estos números cambian al tiempo que progresa la tecnología.

Los sistemas pueden ser independientes o dependientes del hablante lo que significa que si pueden o no trabajar por igual, independientemente de quién está hablando. Además, es importante si el sistema proporciona una respuesta inmediata o trabaja fuera de línea (Offline), por lo tanto tenemos sistemas en tiempo real o fuera de línea. A continuación es muy importante saber en qué forma estos sistemas esperan las muestras de voz para ser procesados. Así distinguimos:

Finalmente, podemos clasificar los sistemas en base a lo que modelan las unidades del habla (fonemas, palabras, sílabas, frases, ...) y a qué modelos que utilizan, por ejemplo, modelos estadísticos como los modelos ocultos de Markov (HMM).

Una señal de voz es producida por los órganos vocales humanos y se observa a través de las vibraciones del aire. A diferencia de muchas otras, lleva la información de léxico (lo que realmente se dice) que se representa como una secuencia de diferentes sonidos acústicos. Un conjunto de sonidos básicos, llamados fonemas, se utilizan para construir palabras de un idioma en particular. Su número puede variar entre idiomas (por lo general de 40 a 60). Sin embargo, sus formas acústicas difieren de un hablante a otro y los fonemas vecinos se influyen entre sí (fenómeno de co-articulación).

Toda la información que es irrelevante o incluso que puede dificultar el reconocimiento correcto del habla debe ser suprimida antes del proceso de reconocimiento. Básicamente, sólo estamos interesados en la información léxica por lo que la restante, como la identidad del interlocutor, el estado de ánimo, el estado de salud actual, dialecto, deficiencias y hábitos del habla, debería ser suprimida. La tarea de un método de extracción del habla es la de recoger sólo la información necesaria que se ha de procesar por los siguientes bloques. Aproximadamente, existe un flujo de información léxica de 10b/s, mientras que la tasa de bits para la señal de voz es de aproximadamente 100 kb/s. Según lo anterior, el método de extracción se puede considerar como un compresor de velocidad de bits.

El objetivo es simular el sistema auditivo de los seres humanos, describirlo matemáticamente, simplificarlo para que su manipulación sea práctica y opcionalmente adaptarlo para un uso correcto y sencillo con los tipos de métodos de reconocimiento y clasificación seleccionados.

Existen varios métodos de extracción de características adecuados que, o bien simulan el proceso de producción del habla o que imitan el sistema auditivo humano (bandas críticas). Esto es así porque el sistema auditivo ha evolucionado para centrarse sólo en la información relevante, suprimiendo los ruidos y distorsiones ubícuos.

A lo largo de años de investigación se descubrió que excepto en el dominio del tiempo la información discriminativa más significativa para clasificar los fonemas entre sí se establece en el dominio de la frecuencia. Más precisamente, se encuentra en la posición y forma de las componentes de frecuencia dominantes. Para demostrarlo, en la Fig. 3.1 se presenta un espectro de frecuencias de la vocal "e", la envolvente de su magnitud con las frecuencias contenidas en ella (principales picos espectrales). La Fig. 3.2 es una representación en el dominio del tiempo de la vocal correspondiente 'e'.

image
Figure 3.1. Espectro, componentes frecuenciales y envolvente de la magnitud de la vocal “e”.
image
Figure 3.2. Señal temporal de la vocal “e”.
image
Figure 3.3. Espectro del fonema “t”.
image
Figure 3.4. Señal temporal del fonema “t”.

Para ver las diferencias temporales y frecuenciales entre diferentes fonemas, en la Fig. 3.3 se representa el espectro y en la figura 3.4 la respuesta temporal de un fonema "t". En la siguiente tabla se enumeran por separado y de forma resumida las dos primeras componentes frecuenciales de las vocales en hombres y mujeres (cifras medias obtenidas de la población). Estas posiciones proporcionan una manera muy basta pero sencilla de cómo clasificar los fonemas en base a sus representaciones espectrales.

Table 3.1. Primeras dos componentes frecuenciales en vocales observadas en hombres y mujeres

vocal

Hombres

Mujeres

F1 [Hz]

F2 [Hz]

F1 [Hz]

F2 [Hz]

a

730

1100

850

1200

e

530

1850

600

2350

i

400

2000

430

2500

o

570

850

590

900

u

440

1000

470

1150

Las características extraídas deberían ser capaces de estimar y discriminar las diferencias en las componentes frecuenciales. Por otro lado, deberían desestimar las variaciones que son naturales e inaudibles. En la siguiente tabla se enumeran las modificaciones espectrales audibles e inaudibles más relevantes.

Table 3.2. Modificaciones espectrales audibles e inaudibles

Tipo de modificación

Audible

Inaudible

Número componentes frecuenciales

Inclinación general del espectro

Posición de las componentes frecuenciales

Frecuencias bajo la primera componente frecuencial

Ancho de banda de las componentes frecuenciales

Frecuencias por encima del tercer armónico

-

Filtrado de rechazo de banda estrecha

Además, la intensidad de las señales se percibe de forma no lineal que puede ser aproximada por una función logarítmica.

Desde el punto de vista del ruido, las características deberían ser insensibles a los ruidos aditivos y convolucionales. Por último, pero no menos importante, una buena característica debe ser fácil de implementar, matemáticamente tratable, y poseer una representación compacta. Por lo general, es beneficioso si las características son linealmente independientes entre sí ya que facilitan su posterior procesado.