Este documento describe los modelos probabilísticos aplicados al reconocimiento automático del habla. Explica que el reconocimiento del habla es un problema de clasificación de patrones y describe los pasos comunes de extracción de características, diseño de clasificador y ajuste del clasificador. Luego, se enfoca en los modelos de mezcla de Gaussianas y ocultos de Markov para modelar acústicamente las palabras y aplicar reconocimiento de patrones temporales a la señal de voz.
3. Reconocimiento de
Patrones
• En todos los casos nos encontramos ante un
problema de clasificación
o Binarios
• Caras: Sí/No.
• Fresas: Madura/Verde.
o N-arios
• OCR: identificar las letras del alfabeto.
• Pasos comunes para abordar el problema
1. Extracción de características: formas, píxeles, color, espectro, etc.
2. Diseño de un clasificador.
3. Ajuste del clasificador (opcional).
E.P.S. Linares, 8 abril 2013 2
4. Ejemplo
E.P.S. Linares, 8 abril 2013 3
Extracción
características
Clasificación ¿Madura?
Forma, color,
tamaño…
5. • Reconocimiento automático del habla (RAH): tarea
de reconocimiento de patrones.
o Entrada: señal de voz.
o Salida: texto.
• Aplicaciones: Voice Search (Android), Siri (iPhone),
Dragon Naturally Speaking, etc.
Reconocimiento
Automático del Habla
E.P.S. Linares, 8 abril 2013 4
RAH TEXTO
6. Particularidades del RAH
• Dependiente del tiempo: una misma palabra
puede tener distinta duración.
• Variabilidad: debida a varios factores
o Locutor: genero, edad, acento, estado de ánimo, etc.
o Ambiente acústico: ruido, acústica de la dala y canal.
o Aspectos relacionados con el lenguaje: complejidad, tipo de tarea,
pausas, dudas, etc.
• Los factores anteriores afectan al rendimiento del
RAH: menor número de palabras reconocidas.
E.P.S. Linares, 8 abril 2013 5
7. Estructura
• Estructura de un sistema de RAH
E.P.S. Linares, 8 abril 2013 6
Front-end Back-end TEXTO
Características
8. Front-end
• Objetivo: extraer una serie de parámetros
(características) útiles para reconocer la voz.
• Realiza un análisis espectral de la señal de voz
(transformada de Fourier).
E.P.S. Linares, 8 abril 2013 7
three three four
9. Back-end
• Léxico: lista de palabras con sus pronunciaciones
fonéticas.
• Modelo lenguaje: ¿qué palabras son más frecuentes en
una lengua dada?
• Modelo acústico: modela cada fonema acústicamente.
E.P.S. Linares, 8 abril 2013 8
ReconocedorVOZ TEXTO
Modelo
lenguaje
Léxico
Modelo
acústico
10. Back-end
E.P.S. Linares, 8 abril 2013 9
Modelo acústico
Señal de voz
Lista de fonemas
Lista de palabras
Frase reconocida
Léxico
Modelo de lenguaje
11. Palabras Aisladas
• Simplificamos el problema: suponemos únicamente
un reconocedor de palabras aisladas.
E.P.S. Linares, 8 abril 2013 10
Reconocedor
Modelo
acústico
two
12. Reconocedor de Palabras
Aisladas
• Múltiples enfoques para diseñar el clasificador:
o K-vecinos más cercanos.
o Árboles de clasificación.
o Basados en reglas.
o …
• Métodos probabilísticos: basados en la teoría de
decisión bayesiana.
• Aquí estudiaremos la clasificación utilizando
modelos de mezcla de Gaussianas (GMM).
E.P.S. Linares, 8 abril 2013 11
14. Clasificación
• La palabra reconocida es aquella cuya
pronunciación “se parece más” a 𝑿.
• Matemáticamente:
𝑑𝑖𝑔𝑖𝑡𝑜 = argmax
𝑤
𝑝 𝑤 𝑿 , 𝑤 ∈ {𝑜𝑛𝑒, 𝑡𝑤𝑜, … , 𝑧𝑒𝑟𝑜}
• Aplicando la regla de Bayes:
𝑑𝑖𝑔𝑖𝑡𝑜 = argmax
𝑤
𝑝 𝑿 𝑤 𝑝(𝑤)
𝑝(𝑿)
= argmax
𝑤
𝑝 𝑿 𝑤 𝑝(𝑤)
E.P.S. Linares, 8 abril 2013 13
15. Clasificación
• 𝑝 𝑿 𝑤 nos da el parecido de 𝑿 con el modelo de
la palabra 𝑤.
• 𝑝(𝑤) es la probabilidad a priori de cada palabra.
P.ej. “de” vs. “té”.
• Suponiendo 𝑝(𝑤) equiprobable
E.P.S. Linares, 8 abril 2013 14
⋮
𝑝(𝑿|𝑜𝑛𝑒)
𝑝(𝑿|𝑡𝑤𝑜)
𝑝(𝑿|𝑧𝑒𝑟𝑜)
max
two
16. Cómputo de 𝑝(𝑿|𝑤)
• La duración temporal de 𝑿 puede ser arbitraria:
esto dificulta el cómputo de 𝑝(𝑿|𝑤).
• Solución 1: fijar una duración 𝜏 fija y redimensionar
𝑿 en consecuencia.
o Funciona para palabras aisladas pero difícil de aplicar en habla
continua.
• Solución 2: asumimos independencia estadística
entre los vectores de características. Luego
𝑝 𝑿 𝑤 = 𝑝(𝒙 𝑡|𝑤)
𝑇
𝑡=1
E.P.S. Linares, 8 abril 2013 15
17. Modelado Acústico
• Nuestro problema ahora es el de modelar
matemáticamente 𝑝(𝒙 𝑡|𝑤).
• Primera aproximación: cada palabra 𝑤 se modela
como una distribución normal multivariante.
• Luego, 𝑝 𝒙 𝑡 𝑤 = N 𝒙 𝑡; 𝝁 𝑤,𝚺 𝑤 donde
N 𝒙; 𝝁,𝚺 =
1
2𝜋 𝑛 𝚺
exp −
1
2
𝒙 − 𝝁 ⊺ 𝚺−1 𝒙 − 𝝁
E.P.S. Linares, 8 abril 2013 16
19. Entrenamiento
• Problema: estimar los parámetros 𝝁 𝑤, 𝚺 𝑤 para
cada palabra 𝑤.
• Conjunto de entrenamiento
𝑿1, 𝑒1 , ⋯ , 𝑿 𝑚, 𝑒 𝑚
o 𝑿𝑖 espectrograma de la palabra 𝑖-ésima.
o 𝑒𝑖 etiqueta que identifica a la palabra 𝑿𝑖. P.ej. 𝑒𝑖=“five”.
• Sean 𝒙1, 𝒙2, … , 𝒙 𝑇 𝑤
los vectores de características
cuya etiqueta es 𝑤. Entonces
𝝁 𝑤 =
1
𝑇 𝑤
𝒙 𝑡
𝑇 𝑤
𝑡=1
𝚺 𝑤 =
1
𝑇 𝑤 − 1
𝒙 𝑡 − 𝝁 𝑤 𝒙 𝑡 − 𝝁 𝑤
⊺
𝑇 𝑤
𝑡=1
E.P.S. Linares, 8 abril 2013 18
20. Limitaciones
• Raramente los datos se
distribuyen según una
normal.
• Esto limita la precisión
del reconocedor.
• Solución: usar un GMM
para modelar 𝑝(𝒙|𝑤).
E.P.S. Linares, 8 abril 2013 19
𝑝(𝒙|𝑠𝑖𝑥)
21. GMM
• GMM: modelo de mezcla de Gaussianas (Gaussian
Mixture Model).
• La idea es utilizar 𝐾 ≫ 1 distribuciones normales
para modelar cada palabra 𝑤.
• Aproximador universal: un GMM puede aproximar
cualquier distribución de probabilidad.
• Amplio uso en tecnologías del habla:
reconocimiento y síntesis de voz,
identificación/verificación locutor, etc.
E.P.S. Linares, 8 abril 2013 20
22. GMM
𝑝 𝒙 𝑤 = 𝜋 𝑤
𝑘 N 𝒙; 𝝁 𝑤
𝑘 , 𝚺 𝑤
𝑘
𝐾
𝑘=1
• 𝜋 𝑤
𝑘 : probabilidad a priori de cada componente.
E.P.S. Linares, 8 abril 2013 21
24. Entrenamiento del GMM
• Problema: estimar los parámetros del GMM
𝜋 𝑘, 𝝁 𝑘, 𝚺 𝑘 , 𝑘 = 1, … , 𝐾, que mejor se ajustan a los
datos.
• El número de componentes, 𝐾, se elige a priori.
• Optimización directa inviable ⇒ se recurre a un
algoritmo iterativo.
• Algoritmo empleado: algoritmo EM (esperanza-
maximización).
E.P.S. Linares, 8 abril 2013 23
29. Limitaciones
• En el cómputo 𝑝(𝑿|𝑤) hemos supuesto
independencia estadística entre los vectores 𝒙 𝑡.
• Limitaciones de este enfoque:
o Ejemplo 1: clasificación de “aro” vs. “hora”.
o Ejemplo 2: cualquier permutación de los vectores en 𝑿 produce la misma
probabilidad de observación.
• Parece necesario imponer restricciones temporales
durante el reconocimiento.
• Solución: modelo oculto de Markov (HMM).
E.P.S. Linares, 8 abril 2013 28
30. HMM
• 𝑠1, 𝑠2, 𝑠3 son los estados del HMM.
• Cada estado modela un segmento estacionario de
señal (p.ej. fonema o parte de un fonema).
E.P.S. Linares, 8 abril 2013 29
s1 s2 s3
𝑝(𝑠2|𝑠1) 𝑝(𝑠3|𝑠2)
𝑝(𝑠1|𝑠1) 𝑝(𝑠2|𝑠2) 𝑝(𝑠3|𝑠3)
𝑝(𝒙|𝑠1) 𝑝(𝒙|𝑠2) 𝑝(𝒙|𝑠3)
31. HMM
• Aparecen dos probabilidades
o 𝑝 𝑠𝑖 𝑠𝑗 es la probabilidad de transición entre los estados 𝑠𝑖 y 𝑠𝑗. Modela
la evolución temporal de la voz.
o 𝑝 𝒙 𝑠𝑗 define la probabilidad de observación de los vectores de
características para cada estado. Se usan GMMs para calcularla.
• RAH basado en HMMs:
o Tareas de pequeño vocabulario: cada HMM modela una única palabra.
Nº de estados ≈ nº de fonemas de la palabra.
o Tareas de gran vocabulario
• Cada HMM modela una unidad de subpalabra (p.ej. fonema,
trifonema o sílaba).
• Los HMMs se concatenan para formar palabras ⇒ información léxica.
• Las palabras se ponderan de acuerdo a sus probabilidades ⇒
modelo de lenguaje.
E.P.S. Linares, 8 abril 2013 30
32. HMM: algoritmos
• Entrenamiento: algoritmo de Baum-Welch.
o Estima los parámetros del HMM dados un conjunto de señales de voz y
sus transcripciones asociadas.
o Se trata de una versión del algoritmo EM.
• Reconocimiento: algoritmo de Viterbi.
o Es un algoritmo de búsqueda en grafos con pesos.
o Encuentra la secuencia de palabras más probable dada la señal
observada.
E.P.S. Linares, 8 abril 2013 31
33. Herramientas
• GMM
o Toolboxes de Matlab: Voicebox, Netlab, etc.
• HMM
o HTK: Cambridge University.
o CMUSphinx: Carnegie Mellon University.
o Kaldi.
E.P.S. Linares, 8 abril 2013 32