Reconocimiento Automático del Habla

Anuncio
Reconocimiento Automático del Habla
Introducción a las Tecnologías del Habla
2o cuatrimestre 2014 – Agustín Gravano
Reconocimiento del Habla
●
ASR = Automatic Speech Recognition
●
Input: señal de audio conteniendo habla.
●
Output: secuencia de palabras.
ASR
hola mundo
The Noisy Channel Model
●
●
Metáfora: La oración de origen atraviesa un “canal
ruidoso”.
Para reconstruir la oración, el sistema ASR debe:
1) Buscar en el espacio de todas las posibles oraciones.
2) Elegir la oración más probable, dada la entrada.
Historia de ASR
●
Generación 1: 1930s-1950s
●
Técnicas ad-hoc para reconocer palabras aisladas
(vocabularios muy reducidos).
●
Relación entre clases de fonos y señal espectral.
●
H. Fletcher & H. Dudley – Bell Labs
●
Conclusión: ASR requeriría análisis temporal del espectro
de la señal de audio.
Historia de ASR
●
Generación 2: 1950s-1960s
●
Primeros sistemas de reconocimiento de fonemas.
●
Análisis espectral, filtros acústicos, pattern matching.
●
1952: Davis, Biddulph & Balashek (Bell Labs): dígitos.
Historia de ASR
●
Generación 2: 1950s-1960s
●
●
●
1956: Olson & Belar, RCA Labs – 10 monosílabos.
1959: Forgie & Forgie, MIT – 10 vocales, independiente del
hablante.
1959: Denes & Fry, Univ. College London – secuencia de
una vocal seguida de una consonante (inventario: 4 vocales,
9 consonantes), con un rudimentario modelo del lenguaje.
Historia de ASR
Generación 3: 1960s-1980s
●
●
Dynamic time warping (DTW): distancia entre 2 señales.
Vyntsyuk (1968), Sakoe & Chiba (1970)
TEMPLATE WORD
●
UNKNOWN WORD
Historia de ASR
●
Generación 3: 1960s-1980s
●
●
●
1971-1976: Proyecto ARPA-SUR: Advanced Research
Projects Agency – Speech Understanding Research.
Objetivo: vocabulario de 1000 palabras, 90% aciertos,
cercano a real-time en máquina de 100 MIPS
Varios participantes. Sistema ganador:
–
●
HARPY, de CMU (95% – pero 80 veces real-time!)
Llevó a numerosos avances en las tecnologías de ASR.
–
Ej: bases para sistemas estadísticos (HMM).
Historia de ASR
●
Generación 4: 1980s-2000s
●
Métodos estadísticos.
●
Hidden Markov Models.
Representación del audio de entrada
●
Input: señal de audio conteniendo habla.
●
¿Cómo la representamos para usar con HMM?
Extracción de atributos: MFCC
MFCC (Mel frequency cepstral coefficient):
1) Aplicar FFT a la señal. → Espectro
2) Mapear las amplitudes del espectro a la escala mel.
3) Calcular el logaritmo de las amplitudes del espectro.
4) Aplicar la transformada discreta del coseno (DCT) de
la lista de valores resultantes (como si fuera una señal).
5) Los MFCC son las amplitudes del espectro resultante.
Extracción de atributos: MFCC
●
Dividir la señal en frames de ~20-30ms, cada
~10-15ms (con superposición no vacía).
●
Extraer un vector de atributos de cada frame:
●
12 MFCC + 1 coeficiente de amplitud = 13 atributos
●
Delta = 13
●
Delta-Delta = 13
●
Total: 39 atributos
acústicos
Vector 39D
Modelo acústico
●
Un HMM de 5 estados para cada fonema del lenguaje.
●
HMMs “izquierda-a-derecha”.
a11
s0
a01
s1
b1(o)
●
a22
a12
s2
a33
a23
b2(o)
s3
a34
s4
b3(o)
Los 3 estados centrales del HMM tienen un modelo de
mezcla de Gaussianas (GMM), que devuelve una
probabilidad para cada vector observado o.
HMMs de palabras
●
Para cada palabra del léxico, se construye un HMM
concatenando los HMMs de sus fonemas.
/s/
/o/
/l/
HMMs de palabras
●
Para cada palabra del léxico, se construye un HMM
concatenando los HMMs de sus fonemas.
/s/
/o/
Vectores de atributos acústicos (MFCC): o1, o2, o3, ...
/l/
HMMs de palabras
●
Para cada palabra del léxico, se construye un HMM
concatenando los HMMs de sus fonemas.
/s/
/o/
Vectores de atributos acústicos (MFCC): o1, o2, o3, ...
/l/
Viterbi en un HMM de palabras
/s/
/o/
/l/
Vectores de atributos acústicos (MFCC): o1, o2, o3, ...
Viterbi en un HMM de palabras
/s/
/o/
/l/
Vectores de atributos acústicos (MFCC): o1, o2, o3, ...
Múltiples pronunciaciones
●
●
●
Ejemplo (inglés): data = /d ey t ah/, /d ae t ah/
Opción 1: palabras distintas, cada una con su HMM.
Opción 2: construir HMM con las dos pronunciaciones.
/ey/
/d/
/t/
/ae/
/ah/
Entrenamiento de HMM
0)Inicializar modelos acústicos usando un corpus pequeño
de grabaciones con alineaciones fonéticas (“flat start”).
1)Ajustar datos de entrenamiento (varias horas de
grabaciones con transcripciones) al HMM actual.
●
Algoritmo forward-backward.
2)Re-estimar los parámetros del HMM: A, B, π.
●
Actualizar las probabilidades de transiciones (A, π) y
modelos acústicos (B), para maximizar la probabilidad de
los datos de entrenamiento dado el modelo.
3)Ir a 1) y repetir hasta conseguir convergencia.
ASR de gramática restringida
●
●
Ya entrenamos HMMs de palabras. ¿Cómo los
usamos para armar un sistema de ASR?
Gramática restringida (para un teléfono celular):
$digit = ONE | TWO | THREE | ... | ZERO;
$name = [JULIAN] ODELL | [DAVE] OLLASON | ... | [STEVE] YOUNG
( SENT-START ( DIAL ($digit)+ | (PHONE|CALL) $name) SENT-END )
●
Ejemplos:
●
Dial three three two six five four
●
Phone Odell
●
Call Steve Young
ASR de gramática restringida
●
Armar un gran HMM combinando los HMMs de las
palabras, de acuerdo a la gramática restringida.
ASR de dominio abierto
palabra1
palabra2
palabra3
...
palabran
Modelo acústico del silencio
●
●
Para concatenar palabras, debemos permitir que haya
silencio entre ellas.
Creamos un HMM especial para el silencio.
a11
SIL =
s0
a01
s1
a12
b1(o)
s2
ASR de dominio abierto
palabra1
palabra2
palabra3
SIL
...
palabran
●
Viterbi → Secuencia de palabras más probable, dados
el modelo y la secuencia de observaciones (vectores
de atributos acústicos).
Word lattice
●
No buscar la mejor solución, sino las k mejores.
●
Algoritmo: Multiple-token decoder.
Modelo del lenguaje
●
k hipótesis generadas por HMM.
●
Modelo del lenguaje de N-gramas:
●
●
Refinar probabilidades de las hipótesis.
●
Descartar hipótesis improbables.
Ejemplo:
●
el {banco,manco} central anunció la {emisión,emulsión} de
nuevas monedas de cincuenta {centauros, centavos}
HMM de Trifonos
●
●
Problemas: co-articulación y asimilación.
●
La producción de cada fono es afectada por sus vecinos.
●
Ejemplos: [la] vs. [lo], [mosca.
Solución: Usar HMMs de trifonos.
●
Tener, para cada fonema del lenguaje, un HMM por cada
posible par de vecinos izquierdo y derecho.
●
Ejemplos: sil-m+o
●
N fonemas → O(N³) potenciales trifonos.
●
m-o+s
o-s+k
s-k+a
k-a+sil
Se mapean trifonos lógicos articulatoriamente similares a
un conjunto reducido de trifonos físicos.
¿Cuán bien funciona el ASR
con técnicas basadas en HMM?
Historia de ASR
●
●
Generación 4: 1980s-2000s
●
Métodos estadísticos.
●
Hidden Markov Models.
Generación 5: 2000s-??
●
Procesamiento paralelo.
●
Mejoras de performance con ruido.
●
Deep Neural Networks!!!
Descargar