Análisis Estructural de Señales de Voz mediante Medidas de Similaridad Alejandro Silva Figueroa * Hernando Castañeda Marín † Eliézer Colina Morles † Resumen La motivacion principal en este documento es desarrollar algunos metodos o tecnicas que nos permita estudiar sistemas complejos ( en el sentido de encontarr su estructura fundamental o su similaridad con otros ). Si nosotros poseemos estas tecnicas , seremos capacez de abordar una serie de problemas de la vida real que hasta ahora no tienen una solucion satisfacible. Ejemplos de tales problemas son el reconocimiento de objetos en 3D, reconocimiento de palabras manuscritas, interpretacion de las señales biomedicas y reconocimiento de voz. Tambien presentamos una tecnica para analizar los sistemas dinamicos basado en su comportamiento , donde este puede ser determinado a partir de las trayectorias de salida, se utiliza reconocimiento de patrones dinamicos y componentes pricipales para el analisis de los sistemas. El proposito es encontrar vectores basicos utilizando similaridad estructural tal que la secuencias de las variables de estado puedan ser segmentadas y cada segmento pueda ser descrito como una combinacion lineal de vectores basicos. Palabras Claves: Reconocimiento de Voz, Similaridad Estructural, PCA. Abstract The main motivation of this paper is to develop some methods or techniques that will allow us to study complex systems (in the sense of finding their underlying structure or their similarity to others). If we have these techniques, we will be able to tackle a series of real life problem that until now has had no reliable solution. Examples of such problems are 3D-object recognition, handwritten word recognition, interpretation of bio-medical signal and speech recognition. In this paper, we will present one techniques to analyze dynamical system based on their behavior, where that behavior can be determined from the system output trajectories. We will use dynamic pattern recognition and principal component analysis concepts for dynamic system analysis. The purpose is to find m vectors basis using such similarity structural where the sequences of the state variables can be segmented and each segment can be described as a lineal combination of vectors basis. Keywords: Speech Recognition, Structural Similarity, PCA * Universidad de Pamplona , Facultad de Ingenieria y Arquitectura ,[email protected] † Universidad de los Andes , Doctorado en Ciencias Aplicadas , [email protected] Universidad de los Andes , Departamento de Automatización y Control ,ecolina ula.ve † 1 1 Introducción Durante muchos años se han llevado a cabo diversas investigaciones en el campo de reconocimiento de voz. Existen diferentes enfoques en esta área y dentro de la misma se puede mencionar el reconocimiento de patrones, es un área de investigación que estudia la operación y diseño de sistemas que reconocen características semejantes en la información. Engloba numerosas sub-disciplinas como análisis discriminativo, extracción de características, estimación de error, e inferencia gramatical entre otros. Entre las más importantes áreas de aplicación se encuentra el análisis de imagen, reconocimiento de caracteres, diagnósticos médicos en humanos y de funcionamiento de máquinas, identificación de personas, inspección industrial y análisis del habla, donde este último es el principal concierne del presente trabajo. El siguiente documento explica la aplicación de una técnica de poco auge pero que aporta los mismos resultados que otras para el reconocimiento de patrones en las señales de cualquier tipo, en este caso de voz. Dicha técnica llamada similaridad estructural puede ser vista como un grado de aproximación de las trayectorias con respecto a aspectos como forma, evolución, tendencia, tamaño u orientación, que permiten representar su comportamiento. Diferentes propiedades matemáticas y características de las trayectorias pueden ser relevantes para describir la similaridad; por ejemplo, la pendiente, curvatura, posiciones, valores de puntos extremos u otras informaciones como suavidad y monotonía. Un conjunto de características relevantes tienen que ser escogidas de tal forma que las trayectorias se aproximen una con respecto a la otra, denotando características que presentan comportamientos similares. Cabe destacar el desarrollo de una aplicación a través de la herramienta Matlab, donde se podrá visualizar paso a paso todo el proceso a realizar. Inicialmente se captura una señal de voz por medio de un dispositivo externo (micrófono) utilizando la grabadora de sonidos de Windows. Posteriormente se realiza la etapa de pretransformación de la señal implementando diversas técnicas de adaptación de la señal, luego se filtran en la etapa de transformación para optimizar la señal para la obtención de las series de tiempo (ST). Estos datos son la entrada de la etapa de minería de datos, donde se aplica el concepto de similaridad estructural, posteriormente se accede a la fase de interpretación y evaluación, en esta, se aplica clustering para la obtención de los patrones únicos en las señales de voz de cada individuo y luego se clasifican los patrones con el análisis de componentes principales (PCA), para finalizar con la etapa de consolidación de los conocimientos descubiertos (KDD), donde se analizan los resultados obtenidos para postular algunas teorías sobre el comportamiento de la similaridad estructural para la identificación de patrones en las señales analizadas (voz). 2 2.1 Parte Experimental. Producción de Voz Cuando una persona habla, el pulmón trabaja como una fuente de potencia en el sistema de producción de voz, la glándula glótica provee la entrada con cierto grado de frecuencia ( F0 ) , el tracto vocal consistente en la faringe, la lengua y las cavidades nasales trabajan como un instrumento musical para producir sonidos. Diferentes formas de tracto vocal generan diferentes sonidos. Al realizar diferentes formas tracto vocal, la cavidad de la lengua juega el principal rol. Para producir sonidos nasales se incluye frecuentemente en el tracto vocal. La cavidad nasal esta conectado en paralelo con la cavidad de la lengua. figura 1. 2 [ 6] El tracto vocal simplificado se observa en la Figura 1. Visión del Tracto vocal [ 6] . Generado el pulso global mediante la glótica es utilizada para producir vocales o sonidos de voz y las señales de de ruido son usadas para producir consonantes o sonidos sordos. El grado de frecuencia F0 ( 1 ) varia en diferentes personas. Este pulso glotal excita un tracto vocal y produce T0 un sonido vocal. Para analizar o examinar una señal de voz, un espectrograma es usado ampliamente. El espectrograma es similar a una partitura musical como se muestra en la figura 2. Figura 2 espectrogramas de una señal de voz. 2.2 Extracción de los Rasgos. Para estimar el grado del sonido de voz se utilizan los siguientes métodos: método de auto correlación, la función de diferencia de magnitud promedia y el cepstral La autocorrelación de una secuencia estacionaria 3 [ 6] . x(n) se define como: Rx (τ ) = x(n) x(n + τ ) = 1 N N −1 ∑ x ( n) x ( n + τ ) n=0 Donde τ es el retardo temporal. Un autocorrelación es la correlación promedio entre dos muestras a partir de una señal que esta separada mediante τ muestras. Se puede notar que el límite superior en la acumulación es menor que N − 1 cuando τ es positivo y el límite inferior es mayor que cero cuando τ es negativo. Así, que la autocorrelación puede ser reescrito como: 1 Rx (τ ) = x(n) x(n + τ ) = N N −1− τ ∑ x( n) x( n + τ ) n =0 La función de diferencia de magnitud promedia (AMDF) utiliza las siguientes propiedades. Supóngase que una señal x (n) es periódica con periodo T . Entonces la diferencia entre dos muestras se formula así: Diff (k ) = x(n) − x(n + k ) Serán cero para + + k = 0, T , 2T y así sucesivamente. Aunque un sonido de voz no es − − exactamente periódico, una función de diferencia de magnitud ponderada de corto tiempo (AMDF) es definida axial: AMDF ( K ) = 1 N −K N −1− k ∑ x(n) − X (n + k ) para K positiva n=0 Hay dos clases de cepstral, el cepstral real y el complejo. Supóngase que x(n) es una señal de x(k ) es obtenida mediante computación de la magnitud de la discreta de fourier (DTF) de x (n) . El cepstral real es definido como la voz. La magnitud del espectro transformada transformada inversa de la DTF del logaritmo de la magnitud de la respuesta, por ejemplo: c(n) = IDTF [ log( x( K ) ] Donde C ( n) es el término del cepstral y log es el logaritmo natural. En la figura 3 se ilustra un resultado del grado de estimación de un sonido de voz de acuerdo a las anteriores metodologías explicadas anteriormente. 4 Figura 3 Metodologías del grado de estimación de los sonidos de voz Para el proceso de conglomeración y caracterización de los rasgos de la señal de voz se selecciono como trayectoria objeto el resultado de la metodología AMDF: 2.3 Similaridad Estructural. La similaridad entre trayectorias puede ser interpretada en forma diferente dependiendo del contexto. En el lenguaje natural, la interpretación de similaridad esta asociada con "tener características comunes" o "no tener diferencia en la forma pero sí en tamaño o posición". De allí que, intuitivamente dos trayectorias pueden ser consideradas similares si exhiben comportamiento similar, a lo largo de una parte grande de su longitud. Así, para definir matemáticamente similaridad resulta esencial determinar cuales propiedades de las trayectorias pueden ser utilizadas, de modo de describir su comportamiento y en que forma la comparación (concordancia) de las trayectorias puede ser llevada a cabo. En ciertas aplicaciones, el propósito de la clasificación de las series de tiempo es la partición de las mismas en grupos o series con dinámica similar. En estos casos la noción de similaridad es utilizada para cuantificar la aproximación entre sistemas dinámicos y sus atractores, más que como series de tiempo individuales. Para sistemas dinámicos con grados de libertad los atractores son definidos como un subconjunto M-dimensional en el espacio de fase hacia los cuales algunas de las trayectorias se juntan como "atraídas" asintóticamente. 2.3.1 [8] Similaridad con base en la Tendencia de las Trayectorias La tendencia de una trayectoria es definida como un retardo pero un cambio unidireccional consistente de una trayectoria [8]. Se describe un comportamiento general simple de una trayectoria, la forma de una tendencia puede ser por ejemplo una pendiente, un paso, un paso humedecido. La tendencia que se forma como una pendiente puede ser estimada ajustando una línea recta en un conjunto de mediciones (constituyendo una trayectoria) con la aproximación de los mínimos cuadrados. Dado un conjunto de mediciones (x1 , t1 ), (x 2 , t2 ),..., (x p , t p ) donde xk , k = 1,2,..., p , se conoce que están sujetas a errores de medición. La tarea de la aproximación es la estimación de una línea de regresión 5 F (t ) = a1t + a2 , los coeficientes de ∧ regresión a1 y a2 son determinados así que el valor de x = a1tk + a2 , k = 1,2,..., p son los más próximas en lo posible a los valores x1 , x 2 ,..., x p en el sentido de los mínimos cuadrados. Esto requiere la minimización de la suma de los errores cuadrados p ∧ e = ∑ xk − x k =1 [ 7] : 2 2 Los coeficientes de regresión pueden también ser estimado utilizando la covariancia de x(t ) en t [8] se define así: a1 = Cov(x, t ) , a2 = x − a1t Var (t ) Donde Cov(x, t ) = _ _ 1 p x − x t − t ∑ k k p k =1 2 _ _ Var (t ) = ∑ tk − t = ∑ tk2 − t k =1 _ 2 _ [ ] t y x son los valores medios de t y x(t ) respectivamente, sobre el intervalo de tiempo t1 , t p . Definición 1 Dos trayectorias x(t ) e y (t ) son consideradas similares con respecto a su tendencia temporal si existen caracterizaciones de valores similares para el parámetro Definición 2 Dos trayectorias x(t ) e y (t ) son consideradas similares con respecto a su tendencia temporal y localización si están caracterizadas por valores de los parámetros 2.3.2 a1 . a1 y a2 Similaridad con base en la Curvatura de las Trayectorias La curvatura de una trayectoria en cada punto describe el grado en el cual una trayectoria es torcida en este punto. Esta es evaluada mediante el coeficiente de la segunda derivada de una trayectoria en cada punto que puede estar definida por la siguiente ecuación (para una trayectoria unidimensional) X − X k(1)−1 CVK = X = k , k = 3,..., p tk − tk −1 Donde X k denota un coeficiente de la primera derivada en el punto X k dado por: 6 X − X k −1 X = k , k = 2,..., p tk − tk −1 Substituyendo la ultima ecuación en la anterior a esta, la siguiente ecuación basada en los valores de la trayectoria original es obtenida para el coeficiente de la segunda derivada: X − 2 X k −1 + X K − 2 CVK = X = k , k = 3,..., p (tk − tk −1 )2 Si las trayectorias poseen mínimos y máximos locales, que puede ser detectado observando el cambio de signo en los valores de la primera derivada, entonces puede ser suficiente para considerar los coeficientes de la segunda derivada. Si el coeficiente es positivo sobre ciertos periodos de tiempo entonces es una trayectoria convexa en este intervalo (abierta en el tope). Si el coeficiente es negativo sobre cierto periodo en el tiempo la trayectoria es cóncava (abierta en la parte inferior). Si el coeficiente es igual a cero en algún punto que es llamado un punto de inflexión, no hay curvatura en este punto. El punto de inflexión aparece en trayectorias oscilantes e indicadas el cambio de curvatura de convexo a cóncavo y viceversa. Todas las funciones lineales son caracterizadas por curvatura cero en todos los puntos. x(t ) e y (t ) son consideradas similares con respecto a su curvatura si son caracterizadas por coeficientes similares CVK en la segunda derivada. Definición 3. Dos trayectorias 2.3.3 Similaridad con base en la Suavidad de las Trayectorias La suavidad de una trayectoria describe el grado de similaridad en su comportamiento y puede ser caracterizado por el número de cambios de signos en su segunda derivada. Lo superior a este número es la más oscilante y el menos es la suavizante en la trayectoria. Para estimar la suavidad de una trayectoria x (t ) = x1 ,..., x p considere un vector de coeficientes [ ] de la segunda derivada de una trayectoria y transformada en un vector binario h utilizando la siguiente regla de codificación: valores positivos son sustituidos por + 1 , valores negativos son sustituidas por − 1 y los valores de cero son a cuenta gota. El resultado es el vector h = h1 ,..., h( p − z − 2) donde z es el número de valores cero en el vector de segundas derivadas. [ ] w , cuyos elementos wk k = 1,2,..., p − z − 3 , son sumas de cada par de elementos sucesivos hK y hk +1 . Elementos wk que toman sus valores del conjunto, donde el Calcular un nuevo vector valor cero corresponde a un cambio de signo en el vector de código y en el vector de segundas derivadas respectivamente. Así que calculando el número de ceros en el vector w , el número sm de cambios de signo en la segunda derivada de la trayectoria es obtenido. p − z −3 sm = ∑ K =1 p − z −3 wk = ∑ (h k + hk +1 ) ∀wk = 0 k =1 Definición 4... Dos trayectorias x (t ) e y (t ) son considerados similar con respecto a su suavidad si se presentan caracterización mediante valores similares para el parámetro sm . 7 2.3.4 Similaridad con base en Específicos Parametros Temporales de las Trayectorias. La similaridad basada en las características de la curvatura y la suavidad del comportamiento general de las trayectorias con respecto a su forma y carácter oscilante. Para algunos problemas, puede ser importante considerar parámetros concretos de simples ondas que aparecen en las trayectorias para identificar patrones similares en las trayectorias. Considérese la trayectoria que se muestra en la figura 3.13. Este patrón temporal en la trayectoria puede ser descompuesto en segmentos indicando la tendencia local en tal forma que cada segmento esta limitado por puntos de inflexión y un valor extremo [8] Todos estos parámetros temporales pueden ser calculados para la trayectoria original o bien para cualquier trayectoria derivada (ejemplo derivadas y transformaciones). Sin embargo la definición de estos parámetros puede estar limitada por partes en el dominio del tiempo (ejemplo centro de gravedad de una trayectoria en el [ ] dominio ( t ∈ t1 , t 2 ). El conjunto de parámetros temporales describe una trayectoria puede ser determinado por un experto que tiene en cuenta consideración de propiedades especificas de los sistemas dinámicos bajo consideración. La escogencia de un conjunto de parámetros relevantes puede ser simplificada si la forma de específicos patrones en una trayectoria que es conocida. Definición 5. Dado un conjunto de parámetros relevantes, las trayectorias x (t ) y y (t ) pueden ser consideradas similares si el valor de los parámetros temporales describe patrones elementales en trayectorias que son similares. 2.3.5 Análisis de Componentes Principales PCA esta acoplada mediante descomposición de valores propios en la matriz de correlación o la descomposición de valores singulares en la matriz de datos. El algoritmo PCA calcula una Matriz R de rango m y la descompone en R = AV de R en una base ortogonal V de tamaño m, tal que se cumple [1] : R = arg min X −R ′ rank ( R ′)<m Donde (7) F X = x1 (t ), x2 (t ),..., xn (t ) es el vector base y v1 (t ), v2 (t ),..., vm (t ) son los autovalores de la matriz de correlación o los vectores singulares de la matriz de datos respectivamente. Dado S = s1 , s2 , s3 , s4 particiones de la secuencia X en forma explicita como x1 (t ), x2 (t ),..., xn (t ) en intervalos continuos , donde en cada punto xi ∈ X pertenece exactamente un intervalo ,; se considera entonces una matriz R de 4 observaciones etiquetadas 8 (columnas) con el color que se muestra en la figura en la figura e 3 y el tamaño de las m filas corresponde al tamaño mas pequeño de la secuencia de observaciones R que es una matriz de tamaño nxd . Específicamente se tiene R = ( r1 , r2 ,..., rn ) donde ri ∈ R d , para todo i = 1, 2,..., n . Resultados A continuación se ilustra gráficamente y numéricamente, las diferentes medidas de similaridad estructural para las correspondientes trayectorias generadas a partir de señales de voz por diversas personas declarando un mismo enunciado: En la tabla 1 se presenta los resultados de similaridad estructural, especificando en la parte izquierda los valores numéricos de los parámetros de la medida de similaridad denomina tendencia, fundamentada formalmente en los mínimos cuadrados y que permiten observar un comportamiento lineal de cada una de las trayectorias derivadas de las respectivas señales de voz. En la parte derecha se observa numéricamente y gráficamente la medida de similaridad con base al cálculo de la curvatura en forma discreta de cada trayectoria derivada de la señal de voz y su indicador de suavidad también derivado de su curvatura Tabla No 1 Medidas de Similaridad Estructural IndividuoParámetros de Tendencia ST001(W) Pendiente= 2.0819e-007 Pto. De Corte=0,0095 CurvaturaSuavidad Suavidad =172 Curvatura vs. Tiempo FIGURA 1. Tendencia WASF ST002(DA) Pendiente = 2.4891e-006 Pto. De Corte = 0,0691 FIGURA 2. Curvatura WASF Suavidad =148 Curvatura Vd. Tiempo FIGURA 3. Tendencia DA FIGURA 4. Curvatura DA En al tabla 2 se ilustran los resultados fundamentados en los siete tipos de segmentos de tendencia deflacionista (patrones primitivos) que posiblemente pueden distinguirse en las trayectorias derivadas de las señales de voz., cada uno de estos son caracterizados mediante un signo constante 9 en la primera y segunda derivada. Tal representación triangular de de tendencia provee rasgos cualitativos para describir los segmentos ver Ilustración 4. Figura 4. Parametros de la segmentación de trayectorias t (a) Y t (b ) sin los tiempos iniciales y finales del segmento, instantes de tiempo de los puntos de inflexión y valores extremos del segmento de la trayectoria. x(a ) Y x(b) son los valores de los puntos de inflexión y los valores extremos locales de la trayectoria. g (a ) Y g (b) son las pendientes iniciales y finales de las trayectorias. Tabla 2. Valores de algunos Parametros de segmentación Individuo Intervalo(Tiempo) T(b)-T(a) ST001(W) 0 234 61 223 230 235 223 0 232 -22 223 229 232 223 ST002(DA) Patrones Simbólicos Intervalo(variable de estado) X(b)-X(a) 0 0.0134 -0.0019 0.0093 0.0136 0.0157 0.0093 0 0.1388 -0.0092 0.1318 0.1344 0.1388 0.1318 10 Pendiente en el intervalo g(a) 0 0.0017 0 0.0001 0.0001 0.0017 0.0001 0 0.0034 -0.0002 0.0006 0.0007 0.0004 0.0006 Pendiente en el intervalo g(b) 0 0.0003 0 -0.0002 0.0016 0.0023 -0.0002 0 0.0001 0.0008 0.0007 0.0002 0 0.0007 En la tabla 3 columna 2, se ilustran los resultados de un clustering heurístico fundamentado en la curvatura y suavidad que caracterizan el comportamiento general de las trayectorias respecto de su forma y carácter oscilatorio. El clustering que se propone 1 consiste en agrupar los objetos puntuales de las trayectorias en siete posibles clases fundamentadas en los diferentes signos, tanto de la primera como de la segunda variable, que es el criterio considerado en las reglas de decisión que producen estos resultados. En la tabla 3 columna 3, se utilizan tres algoritmos PCA, específicamente: El SEG-PCA que produce una solución factor 5 mediante una aproximación optimad. SEG-PCA-DP que es una ampliación del primero ya que obtiene también una aproximación optimad pero realiza un ajuste utilización programación dinámica. PCA-SEG que no realiza segmentación en un espacio de alta dimensión, ejecuta una aproximación optimad de los datos originales y encuentra una solución optimad basado en una proyección en un subespacio de los auto vectores. Tabla 3. Clustering simbólico y resultados de proceso PCA Individuo Clustering Datos Originales-SEGPCASEGPCSDP-PCASEG Vectores Básicos del Algoritmo PCA FIGURA 5. Clustering WASF FIGURA 6. Datos Originales WASF FIGURA 7. PCA WASF FIGURA 8. Clustering DA FIGURA 9. Datos Originales DA FIGURA 10. PCA DA ST001(W) ST002(DA) 1 Castañeda Marín Hernando. Similaridad de Sistemas Dinámicos Basado en el Comportamiento de sus Trayectorias. 11 4 Conclusiones Observando las medidas de similaridad basada en los mínimos cuadrados y los valores de la curvatura y su derivación, en la suavidad se observa que aunque todos tiene tendencia lineal positiva sus parámetros pendiente y corte con el eje de la variable son diferentes, también son diferentes; el comportamiento puntual de las graficas de la curvatura Vs. tiempo, su valor de suavidad. Analizando los resultados del análisis de componentes principales (PCA) en las diferentes señales de voz, se visualizan comportamientos similares en algunos segmentos, no necesariamente en el mismo instante, es decir que existe similaridad estructural en las trayectorias pero en un intervalo determinado. Aunque existen similitudes y algunas coincidencias en el comportamiento de los segmentos etiquetados con un color; cabe destacar que en las diferentes trayectorias emitidas por las diversas muestras de señales de voz (distinguibles en los colores), los segmentos no son iguales. En el PCA los colores claros representan ocurrencias de valores negativos altos y en los colores oscuros se presentan concurrencia de valores positivos altos. Así que en las regiones con matiz similar corresponde a que sus coeficientes tienen valores similares. El color gris representa ocurrencia de valores negativos bajos y ocurrencia en los valores positivos bajos. Referencias [1] Bingham Ella , et al , Segmentation and Dimensionality Reduction - HIIT Basic Research Unit , University of Helsinki and Helsinki University of technology Finland August 2005. [2] Courrieu, P., Fast Computation of Moore-Penrose Inverse Matrices, Neural Information Processing - Letters and Reviews, Vol.8, No.2, August 2005. [3] Dorf, R.C, Modern Control System, Addison –Wesley, Reading, Mass., 1992. [4] Föllinger, O., Franke, D., Einführung in die Zustandsbeschreibung dynamischer Systeme. Oldenbourg Verlag, München, 1982 [5] Franze G., Carotenuto, L., Muraca, P. , On the stability of interval matrices, Proceeding of the 2004 American Control Conference, Boston, Massachusetts June 30 -July 2,2004 [6] Glass J, Zue V., Reconocimiento automático del Habla, MITOPENCOURSEWARE, Primavera ,2003 [7] Kawashima, H., Matsuyama, T. , Proc. 3rd International Conference on Advances in Pattern Recognition (S. Singh et al. (Eds.): ICAPR 2005, LNCS 3686, Springer), pp. 229-238, 2005 [8] Mikenina,Geb, Angstenberger , Larisa, Dynamic Fuzzy Pattern Recognition, Diese Dissertation ist auf den Internetseiten der Hochschulbibliothek online ver,2000 12