Transcript
Page 1: Modelos Probabilísticos: Aplicación al Reconocimiento Automático del Habla

Modelos Probabilísticos: Aplicación al Reconocimiento

Automático del Habla José Andrés González

CITIC-UGR

Universidad de Granada

[email protected]

Page 2: Modelos Probabilísticos: Aplicación al Reconocimiento Automático del Habla

Reconocimiento de Patrones

E.P.S. Linares, 8 abril 2013 1

Page 3: Modelos Probabilísticos: Aplicación al Reconocimiento Automático del Habla

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

Page 4: Modelos Probabilísticos: Aplicación al Reconocimiento Automático del Habla

Ejemplo

E.P.S. Linares, 8 abril 2013 3

Extracción

características Clasificación ¿Madura?

Forma, color,

tamaño…

Page 5: Modelos Probabilísticos: Aplicación al Reconocimiento Automático del Habla

• 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

Page 6: Modelos Probabilísticos: Aplicación al Reconocimiento Automático del Habla

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

Page 7: Modelos Probabilísticos: Aplicación al Reconocimiento Automático del Habla

Estructura

• Estructura de un sistema de RAH

E.P.S. Linares, 8 abril 2013 6

Front-end Back-end TEXTO

Características

Page 8: Modelos Probabilísticos: Aplicación al Reconocimiento Automático del Habla

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

Page 9: Modelos Probabilísticos: Aplicación al Reconocimiento Automático del Habla

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

Reconocedor VOZ TEXTO

Modelo lenguaje

Léxico Modelo acústico

Page 10: Modelos Probabilísticos: Aplicación al Reconocimiento Automático del Habla

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

Page 11: Modelos Probabilísticos: Aplicación al Reconocimiento Automático del Habla

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

Page 12: Modelos Probabilísticos: Aplicación al Reconocimiento Automático del Habla

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

Page 13: Modelos Probabilísticos: Aplicación al Reconocimiento Automático del Habla

Notación

• Espectro de voz: 𝑿

• Índice en frecuencia:

𝑖 ∈ 1, 𝑛

• Índice temporal: 𝑡 ∈ [1, 𝑇]

• 𝒙𝑡: vector columna 𝑡.

• 𝑥𝑡(𝑖): elemento 𝑖 de 𝒙𝑡.

E.P.S. Linares, 8 abril 2013 12

𝑿

𝑇

𝑛 ⋱

Page 14: Modelos Probabilísticos: Aplicación al Reconocimiento Automático del Habla

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

Page 15: Modelos Probabilísticos: Aplicación al Reconocimiento Automático del Habla

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

Page 16: Modelos Probabilísticos: Aplicación al Reconocimiento Automático del Habla

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

Page 17: Modelos Probabilísticos: Aplicación al Reconocimiento Automático del Habla

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

Page 18: Modelos Probabilísticos: Aplicación al Reconocimiento Automático del Habla

Distribución Normal

𝝁 = 𝜇𝑥1 , 𝜇𝑥2 = 5,2 𝚺 =𝜎𝑥12 𝜎𝑥1,𝑥2𝜎𝑥2,𝑥1 𝜎𝑥2

2 =1 0.50.5 3

E.P.S. Linares, 8 abril 2013 17

Page 19: Modelos Probabilísticos: Aplicación al Reconocimiento Automático del Habla

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

Page 20: Modelos Probabilísticos: Aplicación al Reconocimiento Automático del Habla

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

𝑝(𝒙|𝑠𝑖𝑥)

Page 21: Modelos Probabilísticos: Aplicación al Reconocimiento Automático del Habla

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

Page 22: Modelos Probabilísticos: Aplicación al Reconocimiento Automático del Habla

GMM

𝑝 𝒙 𝑤 = 𝜋𝑤𝑘 N 𝒙; 𝝁𝑤

𝑘 , 𝚺𝑤𝑘

𝐾

𝑘=1

• 𝜋𝑤𝑘 : probabilidad a priori de cada componente.

E.P.S. Linares, 8 abril 2013 21

Page 23: Modelos Probabilísticos: Aplicación al Reconocimiento Automático del Habla

Ejemplo

E.P.S. Linares, 8 abril 2013 22

𝜋 = 0.57

𝜋 = 0.13

𝜋 = 0.30

Page 24: Modelos Probabilísticos: Aplicación al Reconocimiento Automático del Habla

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

Page 25: Modelos Probabilísticos: Aplicación al Reconocimiento Automático del Habla

k-medias

• Simplificación del algoritmo EM.

E.P.S. Linares, 8 abril 2013 24

Page 26: Modelos Probabilísticos: Aplicación al Reconocimiento Automático del Habla

k-medias

E.P.S. Linares, 8 abril 2013 25

𝑘 = 2 𝑘 = 3 𝑘 = 10 Original

Page 27: Modelos Probabilísticos: Aplicación al Reconocimiento Automático del Habla

Algoritmo EM • Entrada: datos de entrenamiento 𝒙1, … , 𝒙𝑇 y valor 𝐾.

• Salida: parámetros 𝜋𝑘 , 𝝁𝑘 , 𝚺𝑘 para 𝑘 = 1,… , 𝐾.

1. Inicializar los parámetros del GMM (p.ej. k-medias).

2. Repetir hasta que el algoritmo no converja a. Paso E.

𝛾 𝑧𝑡𝑘 =𝜋𝑘N 𝒙𝑡; 𝝁

𝑘 , 𝚺𝑘

𝜋𝑗N 𝒙𝑡; 𝝁𝑗 , 𝚺𝑗 𝐾

𝑗=1

b. Paso M.

𝝁new𝑘 =

1

𝑁𝑘 𝛾 𝑧𝑡𝑘 𝒙𝒕

𝑇

𝑡=1

, 𝚺new𝑘 =

1

𝑁𝑘 𝛾 𝑧𝑡𝑘 𝒙𝒕 − 𝝁new

𝑘

𝑇

𝑡=1

𝒙𝒕 − 𝝁new𝑘 ⊺, 𝜋new𝑘 =𝑁𝑘𝑇

donde

𝑁𝑘 = 𝛾 𝑧𝑡𝑘

𝑇

𝑡=1

E.P.S. Linares, 8 abril 2013 26

Page 28: Modelos Probabilísticos: Aplicación al Reconocimiento Automático del Habla

Demo Matlab

E.P.S. Linares, 8 abril 2013 27

Page 29: Modelos Probabilísticos: Aplicación al Reconocimiento Automático del Habla

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

Page 30: Modelos Probabilísticos: Aplicación al Reconocimiento Automático del Habla

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)

Page 31: Modelos Probabilísticos: Aplicación al Reconocimiento Automático del Habla

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

Page 32: Modelos Probabilísticos: Aplicación al Reconocimiento Automático del Habla

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

Page 33: Modelos Probabilísticos: Aplicación al Reconocimiento Automático del Habla

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


Top Related