Sei sulla pagina 1di 11

RECONOCEDOR DE PALABRAS DEL IDIOMA ESPAÑOL PRONUNCIADAS

POR UN ÚNICO HABLANTE USANDO MODELOS OCULTOS DE MARKOV


(HMM) IMPLEMENTADOS EN LABVIEW
Caicedo Zamora Dolly Patricia*, Martínez Quintero Juan Carlos**, Andrade Ramírez Jaime Eduardo ***

RESUMEN dándoles la posibilidad de interactuar


La idea del presente artículo es mostrar con dispositivos mediante comandos de
algunos avances y resultados obtenidos voz, aumentando su autonomía personal
particularmente en el uso de modelos y la plena integración social, laboral y
ocultos de Markov (HMM) aplicados al educativa. Esto sumado a que desde el
reconocimiento de cinco palabras principio se han desarrollado técnicas
aisladas del lenguaje español. Las de reconocimiento de voz teniendo
herramientas de software utilizadas para como finalidad el control de maquinas.
este desarrollo fueron Matlab y labview (Rabiner, 1994)
debido a la facilidad que estas ofrecen
para el tratamiento digital de señales. La Dentro de las técnicas más usadas en el
metodología seguida en este trabajo se reconocimiento de modelos sobresalen
soporta en el análisis e implementación las redes neuronales artificiales (RNA)
de modelos matemáticos para el y los modelos ocultos de Markov
tratamiento, extracción de (HMM). Estos métodos se aplican no
características y reconocimiento de la solo en algoritmos de reconocimiento
señal de voz. Los algoritmos de voz si no también en el
implementados van desde la detección reconocimiento de otro tipo de patrones.
de inicio y fin de palabra, hasta el
algoritmo “forward” para el cálculo de Ambos métodos necesitan un
la probabilidad del modelo, pasando por entrenamiento previo con patrones
el algoritmo de cuantificación vectorial similares a los que se van reconocer,
y obtención de parámetros cepstrum. con el fin de lograr un aprendizaje que
Por último se elaboran estadísticas de permita agrupar un patrón ingresado en
reconocimiento, con las cuales se la etapa posterior al aprendizaje en una
comprobó la efectividad del método categoría determinada. Las redes
utilizado para el reconocimiento. El neuronales artificiales se caracterizan
desarrollo e implementación de este por su alta tolerancia a fallos, sin
sistema consolida una herramienta que embargo al aumentar la cantidad de
puede ser usada en el control de entradas de la red se requiere una mayor
dispositivos a diferentes niveles entre capacidad computacional. Los modelos
otras aplicaciones. ocultos de Markov permiten entregar
una probabilidad de que determinado
1. INTRODUCCIÓN sonido ha sido pronunciado y la
El reconocimiento automático del habla limitación computacional de estos
es una potencial herramienta en los modelos consiste en que con una gran
sistemas de ayuda para discapacitados cantidad de sonidos diferentes se
requiere calcular igual cantidad de
*D.P. Caicedo, Ingeniero de sistemas. Docente Investigador Universidad Cooperativa de Colombia, (Teléfono: (+571)3323565 ext. 171;
e-mail: dolly.caicedo@campusucc.edu.co
**J.C. Martínez, Ingeniero Electrónico. Docente Investigador Universidad Cooperativa de Colombia, (Teléfono: (+571)3323565 ext. 171;
e-mail: juan.martinez@correoucc.edu.co.
***J.E. Andrade, Ingeniero Electrónico. Docente Investigador Universidad Cooperativa de Colombia, (Teléfono: (+571)3323565 ext.
171; e-mail: jaime.andrade@ campusucc.edu.co
probabilidades y se necesitan el mismo
número de modelos probabilísticos.
2. METODOLOGIA”PROPUESTA”
En este trabajo se utilizaron modelos La metodología seguida en el desarrollo
ocultos de Markov para el propuesto, se describirá de acuerdo a
reconocimiento de cinco palabras cada una de las etapas que intervienen
asiladas basados en los algoritmos en el proceso tal como se muestra en la
forward, backward y Baum Welch entre figura 1, por último se validará el
otros, los cuales fueron programados en modelo y se presentaran los resultados:
las herramientas labview y Matlab.
Además, se implementaron algoritmos
para la adecuación y obtención de
parámetros relevantes de la señal de voz
digitalizada.

Para el diseño del sistema se emplearon


cinco modelos ocultos de Markov uno
para cada palabra. Previo a la obtención
de la probabilidad de que un modelo
corresponda a un sonido especifico se
deben clasificar los parámetros
cepstrum generados por dicho sonido
mediante Cuantizacion vectorial, que a
Figura. 1 Diagrama General del sistema Fuente:
su vez es realizada usando el algoritmo
Grupo de Automatización Industrial UCC
k-means, donde se emplea la distancia
euclidea entre vectores de parámetros.
Captura de la voz: La voz es capturada
Una vez clasificados los vectores de
mediante el transductor de entrada
parámetros con relación a unos vectores
(micrófono electrec). Se configura la
característicos denominados
tarjeta de sonido del computador, de tal
(centroides), se calcula la probabilidad
manera que se ajustan los parámetros a
de que estos vectores (observaciones)
una frecuencia de muestreo de 8000
correspondan a un modelo o sonido de
muestras por segundo, con ocho bits por
palabra especifico.
muestra y un canal monofónico. La
tarjeta de sonido del computador realiza
La máxima probabilidad que se calcule
el filtrado y la conversión de análogo a
de todos los modelos determinará cual
digital de la señal de voz. Los datos que
es la palabra reconocida, esta palabra
se obtienen de la tarjeta de sonido son
será presentada por la interfaz gráfica
almacenados en un arreglo para su
desarrollada en labview.
posterior procesamiento. Figura 2.

PALABRAS CLAVE: Procesamiento


De Señales de Voz, Reconocimiento de
Voz, Modelos Ocultos de Markov.
La detección del borde de inicio de la
palabra a reconocer se da cuando una de
las muestras supera en nivel un umbral
establecido, es allí donde comienza el
almacenamiento de las muestras para un
tiempo que se estableció en 0.6
segundos, debido a que
experimentalmente se observó que
ninguna de las palabras a reconocer
supera este tiempo para una
pronunciación en condiciones normales.
Figura. 2 Diagrama en bloques de captura y La cantidad de muestras tomadas para
almacenamiento. Fuente: Grupo de este intervalo de tiempo están alrededor
Automatización Industrial UCC de 5000 muestras.
Para detectar el borde final de la palabra
Detección de inicio y fin de la
Se utilizó un algoritmo para detección
palabra: Es necesario detectar el inicio
de máximos, de tal forma que si se
y fin de la palabra para realizar un
utiliza recursivamente se puede obtener
procesamiento efectivo sobre la señal de
la envolvente de la palabra en el
voz relevante, sin considerar los
dominio del tiempo, como se muestra
silencios que se encuentran antes y
en la figura 4. Una vez obtenida la
después de la palabra como se muestra
envolvente, la magnitud de este
en la figura 3. Además, la eliminación
resultado permite identificar el fin de la
de los silencios constituye una
palabra por debajo de un umbral
disminución en la carga computacional
establecido, con un segundo algoritmo
debido a que se evita su procesamiento.
recursivo se recorta la palabra
eliminando los silencios del final.

Figura. 3 (a) Palabra sin eliminar silencios de Figura. 4 Detección de máximos de una palabra
inicio y fin. (b) Palabra sin silencios. Fuente: Fuente: Grupo de Automatización Industrial
Grupo de Automatización Industrial UCC. UCC.
Enventanado y extracción de frecuencias formantes1, envolvente del
características LPC: espectro y función del tracto vocal, es
ampliamente usada en sistemas de
La señal recortada se divide en ventanas reconocimiento de la señal de voz
de 160 muestras para su posterior (Rabiner & Schafer, Digital Processing
procesamiento utilizando coeficientes of speech signals, 1978)
de predicción lineal (LPC). A cada una
de estas ventanas se aplica la ventana
Hamming (figura 5) con el fin de
suavizar los extremos de la ventana
haciendo posible la determinación de la
combinación lineal de todos los
elementos de una señal transformada
(Santos García, 2001).

La ventana de Hamming se determina


Figura. 6 Periodicidad de la señal de voz
mediante la siguiente ecuación: Fuente: Grupo de Automatización Industrial
UCC

Las principales ventajas de esta técnica


en relación a una transformada rápida
de Fourier, radica en la velocidad,
precisión de los cálculos, fácil
implementación y además permite
obtener una envolvente del espectro
como se observa en la figura 7.

Figura. 5 Ventana Hamming Fuente:


Grupo de Automatización Industrial UCC

Figura. 7 FFT y envolvente LPC de una


Obtención de coeficientes cepstrales:
palabra. Fuente: Grupo de Automatización
Industrial UCC
Una vez realizado el proceso de
enventanado se procede a extraer los
coeficientes LPC, técnica que se Un proceso intermedio en la obtención
fundamenta en la periodicidad por de los LPC por el método de auto
tramos de la señal de voz (figura 6) y correlación es la obtención de los
que permite extraer características como
1
Las formantes son frecuencias de resonancia
del tracto vocal (Santos García, 2001).
coeficientes de autocorrelación “Rn”.
 m−1 k  
La autocorrelación permite encontrar
am +∑mckam−k , 1≤m≤ p

periodicidad dentro de una señal a un Cm= mk−=11  
bajo costo computacional.
 ∑ k ckam−k , m> p 
N −1− k
 k=1m 
Rn ( k ) = ∑s
m=0
n ( m) s n ( m + k )

0≤k ≤ p
La principal característica de los
coeficientes cepstrales es que permiten
separar del espectro la señal de voz de
En la ecuación “Rn(k)” , N es la la estructura fina y los formantes
cantidad de muestras de la ventana para (Rabiner & Biing Hwang,
este caso 160, Sn las muestras (de la Fundamentals of speech recognition,
señal de voz) y P la cantidad de 1993).
coeficientes LPC deseados, de la
cantidad de coeficientes LPC elegidos Se obtienen en total 14 coeficientes
depende la exactitud espectral, el cepstrum por ventana procesada. Estos
tiempo de cómputo y los recursos de conformaran los vectores que serán
memoria utilizados (Pech Carmona, cuantizados en la siguiente etapa Figura
2006). El número de coeficientes a 7.
seleccionar puede variar entre 8 y 30,
para este caso se usaron 14. La ecuación
“a1, a2, a3…” permite encontrar los
coeficientes LPC “ak” a partir de los
coeficientes de autocorrelación, para la
solución de esta ecuación se emplea el
método recursivo de Durbin (Rabiner
& Biing Hwang, Fundamentals of
speech recognition, 1993).

−1
a1  R(0) R(1) ... R(p−1) R(1)
a    R(2)
 =
2 R(1) R(0) ... R(p−2)  
...  ... ... ... ...   ... 
     
ap R(p−1) R(p−2) ... R(0)  R(p)

A partir de la obtención de los


coeficientes LPC, se pueden obtener los
Figura. 7 Coeficientes Cepstrales Vs
coeficientes LPC cepstrum ó LPCC
número de vectores Fuente: Grupo de
como se muestra en la ecuación “Cm”. Automatización Industrial UCC
Vector de Cuantizacion: A partir de esto se puede decir que se
pasa de manejar un vector con
Técnica que permite agrupar vectores información distribuida a manejar un
con características similares alrededor de codebook (libro de códigos), estos
una muestra representativa de un grupo códigos son representados mediante un
denominada centroide. La clasificación se índice que corresponde al grupo donde
realiza mediante el algoritmo k-medias, un vector fue clasificado. Esto da lugar a
encargado de determinar las distancias manejar una cantidad pequeña de cifras
entre los vectores y los centroides (índices) en relación con el tamaño de los
existentes, de acuerdo a estas distancias vectores (ESPITIA FLOREZ, MENDEZ
los vectores se agrupan alrededor de los MEDINA, HIGUERA MARTINEZ, &
centroides más cercanos y el algoritmo DIAZ SALCEDO, 2007). La Figura 9 es
calcula nuevamente los centroides para un diagrama del procedimiento de
encontrar los mejores grupos. Luego que clasificación con el algoritmo de K-
los vectores son clasificados pueden ser means.
identificados con el índice que
corresponde al centroide del grupo donde
fueron asignados como se observa en la
última columna de la figura 8.

Figura 9. Diagrama de Flujo algoritmo


k_means (Teknomo, 2007)

Modelos ocultos de Markov (HMM):

Un modelo oculto de Markov es un


método estadístico ampliamente
utilizado en algoritmos de
reconocimiento de voz (Juang &
Rabiner, 1991) , este método permite
Figura. 8 Clasificación de vectores según representar eventos acústicos de
k_means. Fuente: Grupo de tamaños variables y mediante el uso de
Automatización Industrial UCC algoritmos existentes es posible calcular
la probabilidad de que un sonido
concuerde con una determinada palabra. Una forma abreviada de representar un
Existen dos tipos de modelos que se HMM es mediante la expresión:
caracterizan por las conexiones entre
sus estados, estos son el modelo Bakis y =(A, B, )
el modelo Ergódico. El Ergódico Siendo A la matriz de probabilidad de
permite que cualquier estado pueda ser transición entre estados (A = {aij}) de n
alcanzado desde cualquier otro estado x n, y es en esta donde se almacena la
del modelo como se observa en la figura información de las probabilidades de
10. El modelo Bakis también es cambio entre un estado n y otro ni. B
denominado de izquierda a derecha, en con dimensiones n x m (con M numero
este modelo un estado solo puede de símbolos distintos de observación
conectarse con estados siguientes con el por estado) se define como la matriz de
mismo y no con estados anteriores. probabilidad de observación de
Figura 11. (Rabiner L. R., 1989) símbolos (B = {bj (k)}), la cual
proporciona la probabilidad de que en
un estado determinado se tenga una
observación determinad. π es un vector
1 x n que representa la probabilidad
inicial ( = { i}) y es quien determina
que estado tiene mayor probabilidad
para iniciar la secuencia. En la figura 12
Figura 10. Diagrama de estados modelo se muestra la forma general de las
Ergódico Fuente: Grupo de Automatización matrices para un modelo como el de la
Industrial UCC figura 11 con diez posibles
observaciones o símbolos por estado
para el caso de la matriz B.

Figura 11. Diagrama de estados modelo de


Bakis Fuente: Grupo de Automatización
Industrial UCC

Los estados “Si” en el modelo de una


palabra pueden representar silabas o
simplemente espacios de tiempo en el
que ocurren eventos a los cuales se
llaman observaciones, para este caso
esas observaciones serán la información
espectral entregada por los cepstrum y
clasificada mediante la Cuantizacion Figura 12. Matrices de cada modelo para
vectorial. n=3 y 10 observaciones. Fuente: Grupo de
Automatización Industrial UCC.
Los valores en cada una de las matrices la resta de la probabilidad de la
representan: iteración anterior menos la probabilidad
de la iteración actual sea menor que el
 ; Es igual al número esperado de
 criterio de convergencia establecido por
transiciones desde el estado Si hasta el quien entrena el modelo, según las
estado Sj dividido entre el numero expresiones (CAMEJO MEDINA, 2008):
esperado de transiciones desde el estado
Si.


; Es el numero esperado de veces

en el estado Sj y símbolo Vk dividido
entre el numero esperado de veces en el
estado Sj.

Como se observó en la figura 1, la


salida del proceso de Cuantizacion
vectorial es un conjunto de
observaciones “O(k) = {O1, O2 ,O3 ,…, OT}”
referentes a los índices en los cuales
fueron agrupados los vectores de
cepstrum. En la etapa de
reconocimiento cada palabra tendrá un
modelo, por tanto, para la palabra
“prender” corresponde el modelo “0“, Donde
para la palabra “apagar” el modelo “1“ y
así sucesivamente hasta el modelo “4” γt (i) corresponde a P ( qt=Si | O, )
correspondiente a la palabra “salir”.
Y
Para la obtención de cada uno de los
modelos se utilizó el método de
entrenamiento de reestimación de
ξt (i, j ) = P ( qt=Si , qt+1=Sj | O, )
Baumwelch por medio del cual se
calcularon las matrices características
mencionadas anteriormente. El De esta forma al pronunciar una palabra
algoritmo cuenta con los siguientes esta generara unas observaciones con el
pasos: procedimiento antes mencionado y con
la ayuda del algoritmo Forward se
1. Inicialización: Generar un encontrara la probabilidad de que esa
modelo con valores aleatorios para cada palabra pertenezca a uno de los modelos
uno de los elementos de : entrenados, la mayor probabilidad
calculada tendrá asociado un índice
=(A, B, ). correspondiente al modelo del cual
proviene. Ver ultima parte del diagrama
2 Recursión: Calcular los valores de bloques de la Figura 1.
de {a'ij}, {b’j (k)} y {  i} hasta que
Descripción interfaz gráfica

La interfaz desarrollada en labview


muestra el resultado final del sistema.
Se presenta la palabra reconocida, los
valores de probabilidad calculados para
cada uno de los modelos, el conjunto de
observaciones por cada palabra
mencionada y la gráfica de la señal de
voz en el tiempo. Figura 13.

Figura 14. Palabras a reconocer, aciertos Vs


fallos. Fuente: Grupo de Automatización
Industrial UCC

En general se encuentra un error del


5,4%, el cual puede deberse a ruido
externo, problemas de vocalización,
cansancio del locutor, entre otras.

Figura 13. Interfaz Grafica Labview. Fuente: Conclusiones


Grupo de Automatización Industrial UCC
Se ha comprobado que construir el
Resultados sistema de reconocimiento de voz para
identificar palabras, basado en modelos
Se muestran los resultados
ocultos de Markov es una técnica que
experimentales obtenidos sobre el
sistema reconocedor de voz descrito proporciona una elevada flexibilidad y
usando modelos ocultos de Markov robustez en sus algoritmos, lo cual
implementados sobre labview. El punto permite modelar palabras del idioma
de partida es el de un total de 100 español e inclusive frases.
muestras por cada palabra pronunciada
por un único hablante en condiciones El reconocedor de palabras
normales, obteniendo como resultado implementado en labview funciona en
un 94,6% de acierto en general para la forma adecuada, con un bajo nivel de
identificación de las cinco palabras. En error. Valor que se puede disminuir al
la tabla1 se muestran los resultados
implementar más modelos ocultos por
específicos de cada palabra.
cada una de las palabras que presentan
el mayor porcentaje de fallo, además, se
deben considerar efectos de ruido,
vocalización y cansancio del locutor a
la hora de pronunciar cada una de las
100 palabras de prueba.

La selección de la cantidad de
Tabla. 1 Resultados por palabra. Fuente: Grupo
de Automatización Industrial UCC. coeficientes LPC en el análisis de la
señal de entrada es muy importante
para incrementar hasta cierto punto el
porcentaje de aciertos, además,
cantidades como el número de estados y
el número de símbolos de cada modelo
afectan considerablemente el tiempo de
reconocimiento y los recursos
computacionales.

Se logro establecer un modelo de


reconocimiento de voz funcional con un
buen nivel de certeza y aplicabilidad
sustentado en los resultados obtenidos
en la fase de reconocimiento.

A partir del sistema desarrollado es


posible realizar una implementación en
hardware, con el fin de hacer
implementaciones que no dependan de
un entorno sobre un PC.
Referencias http://people.revoledu.com/kardi/tutorial/k
mean/ejemplonumerico.htm
Camejo medina, m. A. (2008).
Reconocimiento automatico del habla
mediante un modelo hibrido basado en
modelos ocultos de markov y rna. Merida
venezuela.

Espitia florez, h. Y., mendez medina, d. F.,


higuera martinez, o. I., & diaz salcedo, l. N.
(2007). Diseño e implementación de un
prototipo de reconocimiento de voz basado
en modelos ocultos de markov para
comandar el movimiento de una silla de
ruedas en un ambiente controlado. Bogota.

Juang, b., & rabiner, l. (1991). Hidden


markov model for speech recognition.
Technometrics , 33 (3), 251-272.

Pech carmona, j. H. (2006). Desarrollo de


un sistema de reconocimiento de voz para
el control de dispositivos utilizando
mixturas gaussianas. Mexico d.f.: instituto
politécnico nacional.

Rabiner, l. R. (1989). A tutorial on hidden


markov models and selected aplicattions in
speech recognition. Ieee , 77 (2), 257-286.

Rabiner, l. R. (1994). Applications of voice


processing to telecommunications. Ieee , 82
(2), 199-228.

Rabiner, l., & biing hwang, j. (1993).


Fundamentals of speech recognition.
Prentice hall international, inc.

Rabiner, l., & schafer, r. (1978). Digital


processing of speech signals. New jersey:
prentice-hall.

Santos garcía, g. (2001). Inteligencia


artificial y matematica aplicada:
reconocimiento automatico del habla.
Valladolid: universidad de valladolid.

Teknomo, k. (2007). Kardi teknomo´s page.


Recuperado el 30 de septiembre de 2011, de
ejemplo numerico de agrupamiento k-
medias:

Potrebbero piacerti anche