Publicado el 12 de Julio del 2017
1.158 visualizaciones desde el 12 de Julio del 2017
280,1 KB
51 paginas
Creado hace 14a (24/01/2011)
Tema 6. Reconocimiento de voz
6.1.- Introducción
6.2.- Problemática
6.3.- Clasificación
6.4.- Esquema de trabajo
6.5.- Técnicas de reconocimiento
6.6.- Conclusiones
6.1.- Introducción
• Reconocimiento de voz:
• Identificar las palabras pronunciadas.
• Entender el significado.
• Ventajas:
• Comunicación rápida y agradable.
• Libera otros “recursos” (manos, vista, …)
• Permite movilidad (no es necesario teclado, …)
• Facilita la reducción de los interfaces de control
• Mejora la interacción a minusválidos
6.2.- Problemática
• Problema mucho más complejo que la síntesis de voz
• Factores que determinan la complejidad:
• Variabilidad locutor: Intralocutor e interlocutor.
• Forma de hablar: Habla continua…
• Coarticulación: Los sonidos (silabas, fonemas, …)
pronunciados en una palabra o de forma aislada tienen
espectros distintos
• Segmentación: es difícil separar silabas, fonemas, …
• Vocabulario: cuanto menor sea mejor funcionará el
reconocedor. (palabras parecidas, mayor proceso, …)
• El entorno: ruido de fondo.
6.3.- Clasificación
• Según el objetivo del reconocedor:
• Palabras aisladas
• Habla conectada
• Habla continua
• Según el locutor:
• Dependiente del locutor
• Multilocutor
• Independiente del locutor
6.3.- Clasificación
• Según el vocabulario:
• Pequeño (Menos de 100 palabras)
• Mediano/Intermedio (Entre 100 y 1000 palabras)
• Grande (Más de 1000 palabras)
• Según el medio:
• Telefónico
• Microfónico
6.4.- Esquema de trabajo
• Un reconocedor tiene dos fases:
• Entrenamiento:
• Se enseña al reconocedor los modelos o patrones
del vocabulario
• Reconocimiento:
• El reconocedor analiza el sonido recibido y lo
clasifica asignándole (si es el caso) una palabra del
vocabulario
6.4.- Esquema de trabajo
• Diagrama de bloques genérico:
Voz
Preprocesado
Segmentación
Extracción
características
Vocabulario
Clasificación
Resultado
6.4.- Esquema de trabajo
• Preprocesado:
• Normalizar
• Ecualizar
• Eliminar ruido (sustracción espectral)
• Segmentación:
• Dividir la señal en bloques (10-20ms)
• Extracción de características:
• Transformar la información de un bloque en un
conjunto reducido de parámetros (no es necesario
recuperar luego la señal)
• Vectores de características (feature vectors)
6.4.- Esquema de trabajo
• Extracción de características:
• En general se puede emplear todas las técnicas
vistas en la parametrización de la señal de voz.
• Técnicas de extracción de características:
• Banco de filtros
• Transformadas (FFT, DCT, …)
• Predicción lineal (LPC)
• MFCC: Mel Frequency Cepstral Coefficients
6.4.- Esquema de trabajo
• Diagrama de bloques genérico:
Voz
Preprocesado
Segmentación
Extracción
características
Vocabulario
Clasificación
Resultado
6.5.- Técnicas de reconocimiento
• Ajuste de plantillas o patrones:
• Alineamiento temporal óptimo
• DTW: Dynamic Time Warping
• Redes Neuronales
• NN: Neural Networks
• Modelos Ocultos de Markov
• HMM: Hidden Markov Models
6.5.1.- Ajuste de plantillas
• Esquema genérico:
Plantillas
Voz
Extracción
características
DTW
Vectores
característicos
Puntuaciones
por palabra
P1
P2
P3
…
PN
Elección
6.5.1.- Ajuste de plantillas
• Ajuste de plantillas:
• Comparar los vectores de características obtenidos
con las plantillas (vectores característicos de las palabras del
vocabulario)
• El que menor distancia obtiene es la palabra elegida
• Problema:
• Las palabras no duran siempre lo mismo
• Ej: se puede hablar más despacio o más deprisa
• Solución: DTW
6.5.1.- Ajuste de plantillas
• DTW:
• Para cada plantilla del vocabulario intenta encontrar
el mejor alineamiento entre los dos patrones a
comparar
• Distancia entre dos patrones:
• Distancia menor de todos los caminos posibles
• Distancia de un camino:
• Suma de las distancias parciales a lo largo de
dicho camino
6.5.1.- Ajuste de plantillas
Tiempo
(Plantilla)
Puntuación de
distorsión
Vectores
Característicos
Tiempo
(Entrada)
6.5.1.- Ajuste de plantillas
• Notación:
• d(i,j): Distancia euclidea entre dos vectores de
características
• g(i,j): Distancia acumulada
• Reglas de cálculo de las distancias:
• El camino empieza en (1,1) y termina en (M,N)
g
)1,1(
=
d
ig
j
),(
=
min
)1,1(
⎧
⎪
⎨
⎪
⎩
ig
(
−
ig
(
,1
−
ig
j
,(
j
),1
+
j
j
),(2)1
+−
)1
+−
id
j
),(
id
id
j
),(
6.5.1.- Ajuste de plantillas
• Coste computacional:
• El coste es cuadrático con el número de segmentos
de la palabra
• Además hay que calcular la distancia con todas las
palabras del vocabulario: coste cúbico
• Válido para vocabularios pequeños
6.5.1.- Ajuste de plantillas
• Restricciones:
• Reducción del coste
j
j=2i-1
j=0.5i-(0.5I+J)
I,J
j=0.5i+0.5
j=2i-(2I-J)
Área válida
(Ventana de ajuste)
i
6.5.1.- Ajuste de plantillas
• Umbral de decisión:
Falso rechazo
Falsa aceptación
6.5.1.- Ajuste de plantillas
• Ventajas:
• Algoritmo sencillo de implementar
• Inconvenientes:
• Funciona con palabras aisladas
• Dependiente del locutor
• Vocabularios reducidos
• De cada palabra debe haber varias realizaciones
para paliar la variabilidad intralocutor
6.5.2.- Modelos ocultos de Markov
• Un HMM puede verse como una máquina de estados
finitos estocástica.
0.65
1.0
A: 0.5
B: 0.5
0.35
A: 0.25
B: 0.75
6.5.2.- Modelos ocultos de Markov
• En cada transición se genera el símbolo de salida
asociado al estado
• La elección de la transición está gobernada por
distribuciones de probabilidad
• En reconocimiento de voz cada estado modela un
segmento (dífono, semisilaba, …)
6.5.2.- Modelos ocultos de Markov
• Reconocimiento de palabras aisladas:
• Cada HMM modela una palabra
• Los lazos dentro del mismo estado representan la
continuación en el tiempo de un mismo suceso
acústico
S1
S2
S3
SN
6.5.2.- Modelos ocultos de Markov
• Elementos de un HMM:
• Numero de estados: N
• Conjunto de posibles estados:
{
SS
,
1=∑
2
,...,
}NS
• Distribución de probabilidad del estado inicial
] )
NS
• Las probabilidades de transición entre estados:
qPS
(
1
1
[
qP
(
1
)...
qP
(
1
=∏
=
S
2
=
=
)
A =
{ }ija
• Siendo qn el estado en el que nos encontramos en el
instante (segmento) n
6.5.2.- Modelos ocultos de Markov
• Matriz de probabilidades de transición entre estados:
• Es independiente del instante de tiempo n
A =
{ }ija
S
AA
L
ija : Probabilidad de transición del estado i al j
S
1.0
0.9
0.0
0.0
A
0.0
0.1
0.9
0.0
L
0.0
0.0
0.1
0.9
*
0.0
0.0
0.0
0.1
*
S
A
L
6.5.2.- Modelos ocultos de Markov
• Para cada estado se necesita la distribución de
probabilidad de las observaciones:
S
AA
L
6.5.2.- Modelos ocultos de Markov
• Entrenamiento:
• Para cada palabra del vocabulario hay que calcular
los parámetros del modelo
• Es necesario tener suficientes muestras para que los
parámetros calculados sean representativos
• Reconocimiento:
• A partir de una secuencia de observaciones se
evalúa cual de todos los HMM presenta mayor
probabilidad de haber generado la secuencia
6.5.2.- Modelos ocultos de Markov
• Entrenamiento de un HMM:
• Estima de los parámetros (probabilidades)
• Generalmente se emplean dos técnicas:
Algoritmo de las k-medias: para estimar las
probabilidades desde cero
Algoritmo de Baum-Welch: para refinar una
estimación ya hecha
6.5.2.- Modelos ocultos de Markov
• Ejemplo: Reconocimiento
VOZ
Extracción de características
Alinear vectores con estados y sumar las puntuaciones
S1
AS2
S3
Sn-1
Sn
6.5.2.- Modelos ocultos de Markov
• ¿Por qué modelos ocultos?
• Un HMM lleva asociado 2 procesos estocásticos
• Uno no es observable: Es la secuencia de estados
por la que se ha pasado
• El segundo es observable y está relacionado con el
anterior.
• Ejemplo: Urnas con bolas de colores
6.5.3.- Redes Neuronales
• NN: Neural Networks
• Son una simulación abstracta del sistema nervioso
• Redes neuronales biológicas:
• Las neuronas y sus conexiones son la clave del
procesado de la información
Dentritas
(entradas)
Cuerpo
Axón
(salida)
6.5.3.- Redes Neuronales
• Redes neuronales dirigidas a aplicaciones
• Un sistema nervioso no posee todo el conocimiento.
• Es necesario añadir nuevas funcionalidades y
conexiones a la estructura biológica.
• Características:
• Auto-organización y Adaptatividad
• Procesado no lineal
• Procesado paralelo
6.5.3.- Redes Neuronales
• Clasificación:
• Toda red neuronal debe pasar por dos fases:
• Fase de aprendizaje
• Fase de prueba (utilización)
• Según el tipo de aprendizaje:
• De pesos fijos
• Aprendizaje supervisado
• Aprendizaje sin supervisión
6.5.3.- Redes Neuronales
• Modelo de neurona artificial (elemento de procesamiento)
• X: entradas
• W: pesos
• f: función de activación
Entradas
X1
Xr
Wj1
Wjr
Elemento J
f
Wj0
Tendencia
Salida
6.5.3.- Redes Neuronales
• Función de activación:
• Valor de entrada neto:
wx
j
ij
*
=
j
∑
i
t
)(
∑
0
=
• Valor de activación:
taF
(
i
ta
)(
i
=
(
i
),1
∑−
))(
t
i
• Función de salida:
• Actúa de limitador de margen dinámico sobre el
valor de activación (compresor)
6.5.3.- Redes Neuronales
• Topología:
• Los elementos de proceso de conectan formando
capas
Capa de
entrada
Capa de
salida
Capas
ocultas
6.5.3.- Redes Neuronales
• Características:
• Cada capa puede tener un nº de elementos distinto
de las otras
• Puede haber tantas capas como se desee
• A mayor número de capas más complejo puede
ser el problema a resolver
• No siempre aumentar el número de capas mejora
el resultado
6.5.3.- Redes Neuronales
• Clasificación en múltiples categorías:
• Dos aproximaciones distintas:
• ACON: All Class in One Network
• Todas las clases en una red
• OCON: One Class in One Network
• Una subred para cada clase
ACON
OCON
1 Red entera
2 Subredes
6.5.3.- Redes Neuronales
• Clasificación según el número de conexiones:
• Redes Totalmente Conectadas
• Redes Localmente Conectadas
• Clasificación según se transmite la info
Comentarios de: Tema 6. Reconocimiento de voz (0)
No hay comentarios