Estudio de robustez frente a la pérdida de tramas en reconocimiento distribuido de habla Laura Docío-Fernández, Antonio Cardenal-López y Carmen García-Mateo Departamento de Teoría de la Señal y Comunicaciones E.T.S.I. Telecomunicación – Universidad de Vigo 36200 Vigo – SPAIN {ldocio,cardenal,carmen}@gts.tsc.uvigo.es Resumen En reconocimiento distribuido de voz, las características utilizadas en el reconocimiento se calculan en el cliente, y se transmiten al servidor remoto para su posterior decodificación. En este artículo, investigamos el tema de robustez en el reconocedor remoto frente a pérdidas de paquetes en una transmisión por internet. En concreto en este articulo proponemos introducir técnicas de missing data en el decodificador de Viterbi con el objetivo de tratar como datos “no totalmente fiables” las tramas de voz que sustituyen a las tramas perdidas. Éstas tramas de voz se obtienen a partir de una técnica de error concealment basada en la repetición de la última trama recibida en el receptor antes de la perdida. 1. Introducción El creciente uso de Internet y la actual apuesta por sistemas de reconocimiento automático de voz, hace muy atractivos los servicios basados en reconocimiento distribuido de voz (DSR) que operen sobre Internet. Estos servicios se basan en una arquitectura cliente-servidor en la que se puede distribuir la carga del sistema de reconocimiento entre el cliente y el servidor basándose en la complejidad y la latencia de los algoritmos. Normalmente, el cliente dispone de un terminal pequeño y que consume poca potencia, en el que se implementa un sencillo front-end que realiza la captura de la señal de voz, la parametriza, cuantifica estos parámetros y los empaqueta para su transmisión por la red (front-end del sistema de reconocimiento) [1]. El servidor remoto es el que realiza la decodificación de los vectores de parámetros recibidos, i.e., la tarea de reconocimiento propiamente dicha. Los sistemas DSR, al igual que la mayoría de sistemas de reconocimiento automático de voz (ASR), pueden estar afectados por diversas fuentes de degradación debido al entorno acústico y al canal de comunicaciones. Aunque el tratamiento de todas estas degradaciones se puede llevar a cabo en el receptor, la naturaleza distribuida del proceso global de reconocimiento hace más conveniente los procesados de reducción de degradaciones acústicas en el front-end (donde se dispone de la señal de voz, sea esta limpia o ruidosa). De este modo, en el servidor remoto sólo se tienen que tener en cuenta las degradaciones introducidas por el canal de comunicaciones. Recientemente, se han presentado diversos trabajos en la comunidad del Reconocimiento Robusto de Voz, sobre DSR en Este trabajo ha sido parcialmente financiado por los proyectos TEHAM (TIC2000-1005-C03-02) y Trancrigal (TIC200-1104-C0201). aplicaciones de telefonía móvil. Tales trabajos abordan tanto la mitigación de la degradación de la señal de voz debido al entorno acústico, como la mitigación de errores cometidos por el canal digital. En este trabajo nos vamos a centrar en aplicaciones DSR en las que el canal de comunicación entre el cliente y el servidor remoto es la red IP (Internet). Las redes de conmutación de paquetes, como la IP, constituyen un entorno “difícil” en aplicaciones DSR. La comunicación en sistemas basados en una transmisión IP está caracterizada por la pérdida de paquetes, principalmente debida a la congestión de los routers. En trabajos anteriores [2][3], hemos investigado el efecto de la pérdida de paquetes en el reconocimiento de voz para las tareas Aurora 2 y 3. Entre otras hemos analizado técnicas clásicas de cancelación de errores para recuperación de paquetes perdidos entre las que se incluyen: sustitución por silencio, sustitución por ruido, repetición e interpolación. Los resultados mostraron que la pérdidas a ráfagas de paquetes tienen un efecto desastroso en las prestaciones del reconocimiento, mientras que con la pérdida aislada de paquetes las prestaciones del reconocedor se ven sólo ligeramente afectadas. El siguiente paso en nuestro trabajo investigador se enfoca en tratar las tramas de voz perdidas, después de su recuperación con una técnica clásica de error concealment, como “no totalmente fiables” en el decodificador de Viterbi. Para ello pretendemos explorar las ideas para reconocimiento robusto implícitas en las técnicas basadas en missing data. Este articulo se organiza de la siguiente forma. En la sección 2 se presentan los modelos de red IP considerados. En la Sección 3 se realiza una descripción de algunas de las técnicas de robustez frente a la pérdida de paquetes propuestas en la literatura. En la Sección 4 se describe el marco experimental, en la Sección 5 se presentan y discuten algunos resultados preliminares y por último en la Sección 6 se describen algunas conclusiones y lineas futuras de trabajo. 2. Modelado de la red IP En [2][3] se consideraron tres modelos de red IP con el objetivo de medir la influencia de la pérdida de paquetes en las prestaciones del reconocedor. Dichos escenarios fueron: 1. Pérdida aleatoria de paquetes. 2. Pérdida de paquetes según un modelo de Gilbert de dos estados. 3. Pérdida de paquetes según una simulación de la red IP con el simulador -2 de UCB/LBNL [4]. En el trabajo presentado en este artículo sólo consideraremos los modelos 2 y 3, ya que el primero es muy poco realista para una red IP. 2.1. Modelo de Gilbert La pérdida de paquetes en una red IP no es independiente de paquete a paquete, sino que las pérdidas ocurren en ráfagas. Bolot, en [5] estudió la distribución de la pérdida de paquetes en internet, y concluyó que se podía aproximar por un modelo Markoviano de pérdidas como el de Gilbert o Elliot. Teniendo esto en cuenta, hemos simulado la red IP utilizando un modelo de Markov de 2 estados que representa el modelo de Gilbert (ver la Figura 1). Las condiciones de pérdidas consideradas han sido las mostradas en la tabla 1, donde es la probabili es la probabilidad dad de pérdida no-condicional y condicionada en que el paquete anterior ha sido perdido. Las condiciones 1 y 2 exhiben, principalmente, pérdidas de paquetes aislados y un número muy pequeño de ráfagas. Aproximadamente, el 90% de las ráfagas en estas dos condiciones comprenden más o menos 3 paquetes; mientras que en las condiciones 3 y 4 las ráfagas pueden durar 5 paquetes. lleguen paquetes a una tasa constante se necesita poner un buffer playout para suavizar el flujo de datos. Este buffer mantiene los paquetes entrantes durante un tiempo determinado antes de enviarlos a la etapa de decodificación. Los paquetes que llegan después del tiempo de playout especificado se asumen perdidos. El buffer playout utilizado en las simulaciones ha sido de 100 ms. Como los paquetes TCP son mucho más largos que los paquetes de voz, cuando un paquete de voz se encuentran con un paquete TCP se ve retrasado y puede llegar al receptor demasiado tarde. Esto da lugar a que existan pérdidas de paquetes que consisten en ráfagas de longitud nada despreciable (Figura 3). En este escenario se han considerado diferentes anchos de banda del cuello de botella de forma que la pérdida de paquetes (PLR) fuese igual, aproximadamente, a: 5%, 10%, 15%, and 20%. p 1−p 1−q 0 non−loss 1 loss q Figura 2: Topología en cuello de botella. Figura 1: Modelo de Gilbert para el modelado de pérdida de paquetes. Trace 2a (PLR=4.08%) Tabla 1: Parámetros para la generación de las pérdidas en el canal IP modelado con un modelo de Gilbert. Trace 2b (PLR=10.63%) 300 100 250 80 200 60 150 condición 1 0.147 0.006 2 0.33 0.09 3 0.50 0.286 4 0.60 0.385 40 100 20 50 0 0 5 10 15 20 0 0 Trace 2c (PLR=14.88%) 2.1.1. Red IP con una topología en cuello de botella También hemos analizado las prestaciones del reconocedor cuando la red IP se modela a través de una red con una topología en cuello de botella. El protocolo utilizado para enviar y recibir paquetes de voz ha sido el protocolo RTP (Real-time Transport Protocol); y el análisis se ha realizado en una situación en la que mientras el usuario está hablando interfiere tráfico proveniente de una fuente FTP (Web o e-mail). Todas las simulaciones realizadas utilizan la topología de cuello de botella mostrada en la Figura 2, en la se colocan tres fuentes FTP y tres fuentes TCP en uno de los extremos de la conexión, y los correspondientes seis receptores en el otro extremo. Los routers asociados con la conexión utilizan una estrategia droptail y tienen un buffer con una capacidad de 2.5 kB. Debido a las condiciones fluctuantes de la red, los paquetes generados a una tasa constante en la fuente pueden llegar al destino con espaciado en tiempo irregular. Como el receptor espera que 20 40 60 80 100 Trace 2d (PLR=19.93%) 100 60 80 50 40 60 30 40 20 20 0 10 0 50 100 Burst length 150 0 0 50 100 150 Burst length 200 Figura 3: Distribución de la longitud de las ráfagas. 3. Robustez frente a la pérdida de paquetes En esta sección describimos diversas técnicas diseñadas específicamente para tratar con la pérdida de paquetes en el servidor remoto. El problema cuando un gran número de tramas no se recibe en el decodificador, es que la sincronización del reconocedor 250 de Viterbi se puede perturbar, incluso si las verosimilitudes se adaptan utilizando sólo la matriz de transición. Por lo tanto, las subsiguientes características recibidas pueden analizarse utilizando un estado inapropiado. Este problema se ve enfatizado cuando la pérdida de paquetes ocurre a ráfagas, forzando casi al mejor camino en el trellis a permanecer en el mismo estado durante un periodo largo de tiempo. En la literatura se ha presentado un gran número de estudios y propuestas para la recuperación de errores (pérdida de paquetes) en aplicaciones de audio/vídeo que operan a través de Internet. De entre todas las técnicas propuestas para tratar la pérdida de paquetes nos vamos a centrar en aquellas basadas en el receptor, concretamente en la denominadas error concealment.1 . 3.1. Técnicas de “recuperación” de paquetes Las técnicas de error concealment lo que hacen es reemplazar el paquete perdido por uno que sea similar al original. Esto es posible en el caso de la señal de voz, porque ésta exhibe una gran redundancia a corto plazo. Estas técnicas se pueden dividir en tres categorías: 1. Inserción: Estos esquemas lo que hacen es insertar un paquete de relleno, el cual puede ser silencio o ruido, o bien, por ejemplo, el paquete recibido previamente (repetición). 2. Interpolación: Estos esquemas utilizan normalmente alguna técnica de ajuste de patrones e interpolación para derivar un paquete que se espera que sea similar al perdido. 3. Regeneración: Estos esquemas derivan el estado del decodificador a partir de los paquetes que rodean al perdido y genera un paquete de reemplazo para el paquete perdido. En nuestros experimentos hemos optado por la técnica de repetición ya que es el algoritmo de mitigación de errores del canal propuesto en Aurora. En concreto, lo que se hace en Aurora es lo siguiente: en cada ráfaga de error detectada, conteniendo 2B tramas, las primeras B tramas se sustituyen por la última trama correcta antes de la ráfaga y las últimas B por la primera trama correcta después de la ráfaga. En el caso de una pérdida al principio de la sentencia, la primera trama correcta después del error se repite en las tramas degradadas. Una solución similar se aplica a datos corrompidos al final de la sentencia. 3.2. Reconocimiento de voz con datos ”no fiables” Las prestaciones de la técnica recuperación de paquetes por repetición se degrada rápidamente a medida que aumenta el número de tramas perdidas consecutivamente (ráfagas). Por ejemplo, cuando el número de paquetes perdidos se aproxima o excede la longitud de un fonema (10-100 ms o 1-10 tramas), la señal de voz puede haber evolucionado a otro sonido, lo que deja de justificar la repetición del último vector de características recibido. En esta sección presentamos una extensión a la técnica de recuperación basada en repetición, donde asignamos una “confianza o fiabilidad” a la recuperación de trama realizada. Esta confianza la introducimos, entonces, en el reconocedor de Viterbi para mejorar las prestaciones del reconocimiento. De 1 Estos esquemas no son sustitutos de los esquemas basados en el transmisor, sino que ambos deberían trabajar conjuntamente. este modo, esta estrategia se puede englobar en las estrategias diseñadas para tareas que tratan con missing data. 3.2.1. El problema de missing data o datos no fiables Se pueden distinguir dos subproblemas en la aplicación de las técnicas de missing data en reconocimiento de voz robusto: Identificación de las partes fiables y no fiables de los vectores de observación. Necesidad de técnicas de clasificación que puedan tratar con datos incompletos y/o no fiables. En este trabajo vamos a considerar el segundo de estos subproblemas. En general, el problema de clasificación consiste en asignar un vector de observación a una clase . En el caso de missing data, alguna, o todas, de las componentes de no son fiables o no están disponibles. En estas, circunstancias, el problema en una clasificación probabilística es que la verosimilitud no se puede evaluar de la forma habitual, por lo que habrá que tratar con precaución la información no fiable de forma que se vea minimizado su efecto en las prestaciones del reconocimiento. 3.2.2. Decodificación de Viterbi ponderada En esta sección se propone como solución al problema de reconocimiento (clasificación) con datos no fiables una decodificación que utiliza un algoritmo de Viterbi ponderado. a Aproximación 1 En [6] se presenta una solución para modificar el paso recursivo del algoritmo de Viterbi para tener en cuenta los errores del canal de transmisión. Lo que se hace es ponderar la probabilidad de observación del vector de parámetros decodificado dado el estado del modelo HMM con la probabilidad de decodificar el vector de características . El coeficiente de ponderación se puede insertar en el algoritmo de Viterbi elevando la probabilidad a la potencia para obtener la siguiente ecuación de adaptación (1) es la verosimilitud máxima de observar los vectores y estar en el estado en el instante ; y es la donde probabilidad de transición entre los estados y . La fórmula de ponderación recursiva puede incluir factores de ponderación individuales para cada una de los coeficientes que forman el vector de características. b Aproximación 2 En lugar de ponderar la probabilidad de observación otra idea muy similar y altamente relacionada, dado que trabajamos con funciones de distribución Gaussianas, consiste en ponderar las matrices de covarianza de dichas Gaussianas. Así la función de densidad de distribución que consideraría el motor de reconocimiento sería: (2) donde, es la dimensión del vector de observación , y son la media y la matriz de covarianza de la Gaussiana, respectivamente. Cuando el número de paquetes perdidos de forma consecutiva es elevado, parece lógico que resulte beneficioso decrecer el factor de ponderación a medida que avanzamos en el tiempo, ya que cuánto más nos alejemos de la última trama recibida correctamente, menos se parecerá dicha trama a la trama perdida. 3.2.3. Backing-off acústico Otra técnica de missing data para mejorar la robustez del reconocimiento de voz, que pretendemos analizar es la propuesta en [7]. Concretamente en este esquema se propone el uso de un procedimiento de backing-off acústico, similar al que se aplica en la obtención de los modelos de lenguaje, para limitar la contribución de datos posiblemente corrompidos (“outliers”) en el algoritmo de decodificación de Viterbi (en la obtención del mejor camino a través del espacio de búsqueda). La idea tras esta técnica es que las observaciones acústicas de test se pueden modelar por medio de dos distribuciones: una estimada a partir de las observaciones de entrenamiento, representando la distribución “limpia” y otra, una distribución desconocida que representa los datos distorsionados (“no fiables”). De esta forma la verosimilitud de observar el vector de observación en el estado (o clase) , , la calculamos como WER Sin pérd. 0,63 C1 1,05 C2 1,30 C3 5,45 C4 14,47 Tabla 2: Resultados de referencia sin pérdidas y con modelo de Gilbert plea el esquema de parametrización WI007 de ETSI [1]. Este front-end proporciona un vector de características de dimensión 14 que contiene 13 MFCCs (incluido el coeficiente de orden 0) más la log-energía. Estas características se agrupan en pares y se cuantifican, por lo tanto cada paquete contendrá al menos 2 tramas de voz. Para reconocimiento el coeficiente MFCC de orden 0 no se considera. Sólo se consideran las restantes 13 componentes así como las correspondientes derivadas primera y segunda. 4.3. Motor de reconocimiento y es la representación paramétrica de la probabilidad de observar cuando está descrita por la distribución de datos “no fiables” o distorsionados (“outliers”). Si no disponemos de ningún conocimiento acerca de ésta distribución podemos describirla a través de una distribución uniforme, ya que es razonable asumir que estos “outliers” ocurrirán solamente en un rango de valores observados durante el entrenamiento, que es igual al rango total proporcionado por el módulo de extracción de características. En el servidor remoto, se detectan los errores del canal (paquetes perdidos), se aplica la técnica de recuperación descrita anteriormente, y se decodifican los paquetes recibidos para su posterior reconocimiento. Para los experimentos hemos empleado el decodificador desarrollado por nuestro grupo de investigación [10]. Las características principales de este sistema son las siguientes: utiliza dos pases, en el primero de ellos se emplea el algoritmo de Viterbi aplicado en forma Síncrona con búsqueda en haz, y en el segundo se aplica un algoritmo de tipo . Como este reconocedor ha sido desarrollado pensando en aplicaciones de habla continua y grandes vocabularios, gran parte de su complejidad reside en la organización del espacio de búsqueda, utilizando un vocabulario estructurado en árbol, y en la aplicación del modelo de lenguaje, empleando métodos de predicción [11]. Estas características no se aprovechan en el entorno experimental que nos ocupa en este artículo, aunque permitirán en el futuro extender los experimentos a la tarea Aurora4 con facilidad. En este caso el reconocedor utiliza modelos de palabras (dígitos) entrenados con HTK, un modelo de silencio (utilizado al principio y final de la sentencia) y un modelo para la posible pausa entre palabras. Cada HMM tiene 3 Gaussianas por estado. 4. Marco experimental: Aurora 2 5. Resultados preliminares (3) donde , es el parámetro de backing-off, es la representación paramétrica de la verosimilitud , (4) 4.1. Bases de datos Los experimentos de DSR se han realizado sobre la tarea de reconocimiento Aurora 2 propuesta por el grupo Aurora de ETSI [8]. La fuente de esta base de datos es la base de datos TIDigits limpia, la cual fue submuestreada a 8KHz y filtrada con la característica en frecuencia G.712 definida por ITU [9]. El corpus de entrenamiento lo componen 8440 ficheros, compuestos por grabaciones de 55 hombres y 55 mujeres. Ya que en el estudio presentado en este trabajo no se pretende analizar la robustez frente a ruido, sino frente a la perdida de tramas de voz, el corpus de test considerado a sido el corpus “limpio” del test a. Este corpus lo constituyen 4004 ficheros pertenecientes a un grupo de 52 hombres y 52 mujeres distintos de entrenamiento. En esta sección presentamos los resultados obtenidos hasta la fecha aplicando algunas de las técnicas de recuperación descritas en anteriores secciones. En especial se han realizado hasta el momento experimentos empleando los métodos de decodificación de Viterbi ponderada, con repetición de paquetes y aplicando el modelo de pérdidas de Gilbert. En la tabla 2 se muestran los resultados de referencia con el objetivo de comparar las prestaciones de nuestro decodificador con el del estándar de Aurora. La primera columna corresponde a la tasa de error media para los cuatro conjuntos de test, obtenida sin pérdidas. En las columnas dos a cinco se pueden ver los resultados aplicando el modelo de pérdidas de Gilbert con las cuatro condiciones descritas en la tabla 1. 4.2. Front-end 5.1. Resultados con la aproximación 1 Como hemos mencionado anteriormente, en este trabajo no consideramos el efecto de ruido ambiental, por lo que se em- Para este experimento se ha variado el parámetro de la ecuación 1 entre cero y uno, donde un valor de uno implica 16 16 14 14 12 12 10 Condición 1 Condición 2 Condición 3 Condición 4 12,11 8 WER WER 10 Condición 1 Condición 2 Condición 3 Condición 4 11,53 8 4,97 4,72 6 6 4 4 2 2 0 0 0 0.2 0.4 γt 0.6 0.8 1 Figura 4: Resultados aplicando la aproximación 1 0 1 2 3 γt 4 5 6 7 Figura 5: Resultados aplicando la aproximación 2 7. Referencias realizar una decodificación normal, y un valor de cero supone confiar únicamente en las probabilidades de transición, despreciando las de observación en las tramas perdidas. Los resultados obtenidos se muestran en la figura 4. Como se puede observar, apenas se obtienen mejoras para las condiciones uno y dos, en las que las pérdidas de paquetes son muy escasas. Sin embargo para las condiciones tres y cuatro la mejora es sustancial, obteniéndose tasas de error mínimas de 12,11 y 4,97 con valores de de 0,3 y 0,2 respectivamente. 5.2. Resultados con la aproximación 2 En este caso hemos variado el parámetro entre uno, que corresponde a una decodificación normal hasta seis, obteniéndose los resultados mostrados en la figura 5. De nuevo se observa una mejora sustancial de la tasa de error para las condiciones de mayor pérdida de paquetes. Para la condición 4 la mejor tasa de error es de 11,53 para , que es ligeramente inferior a la obtenida con la aproximación 1. 6. Conclusiones y lineas futuras En este artículo hemos realizado una revisión de las técnicas dedicadas al tratamiento de pérdidas en de paquetes en el servidor remoto. Se han presentado así mismo algunos experimentos preliminares, utilizando la tarea Aurora2, con resultados esperanzadores. Parece claro que las técnicas basadas en la modificación del algoritmo de Viterbi, pueden conducir a mejoras importantes, al menos en los escenarios con mayores pérdidas. Sin embargo para extraer conclusiones más detalladas será necesario extender las pruebas utilizando tareas más complejas. Por una parte queda pendiente el empleo de la topología de cuello de botella descrita en el apartado 3.2. Por otra parte se pretende extender el estudio a las tareas Aurora3, con la que ya se están realizando experimentos actualmente, y Aurora4, que se abordará en un futuro próximo. Respecto a las técnicas de recuperación de paquetes, será interesante la implementación de la técnica de backing-off y la comparación de sus prestaciones con los métodos aquí probados. [1] ETSI, “Speech processing, transmission and quality aspects (STQ); Distributed speech recognition; Front-end feature extraction algorithm; Compression algorithms,” ETSI ES 201 108 V1.1.2, April 2000. [2] D. Quercia, L. Docio-Fernandez, C. Garcia-Mateo, L. Farinetti, and J.C. De Martin, “Performance analysis of distributed speech recognition over ip networks on the aurora database,” in Proceedings of the IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), May 2002, pp. 3820–3823. [3] L. Docio-Fernandez and C. Garcia-Mateo, “Distributed speech recognition over ip networks on the aurora 3 database,” in Proceedings of the International Conference on Speech and Language Processing (ICSLP), September 2002. [4] LBL, http://www.isi.edu/nsnam, Network simulator. [5] J.C. Bolot, “End-to-end frame delay and loss behavior in the Internet,” in In Proc. ACM SIGCOMM, Sept. 1993, pp. 289–298. [6] A. Bernard and A. Alwan, “Joint channel decoding – viterbi recognition for wireless applications,” in Proceedings of the EuroSpeech, September 2001. [7] J. de Veth, B. Cranen, and L. Boves, “Acoustic backingoff as an implementation of missing feature theory,” Speech Communication, vol. 34, no. 3, pp. 247–265, 2001. [8] “Aurora project database 2&3,” http://www.icp.inpg.fr/ ELRA/aurora2.html. [9] ITU recomendation G.712, “Transmission performance characteristics of pulse code modulation channels,” Nov. 1996. [10] Antonio Cardenal López, Realización de un reconocedor de voz en tiempo real para habla continua y grandes vocabularios, Ph.D. thesis, Universidad de Vigo, 2001. [11] A. Cardenal-Lopez, F.J. Dieguez-Tirado, and C. GarciaMateo, “Fast lm look-ahead for large vocabulary continuous speech recognition using perfect hashing,” in Proceedings of the IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), May 2002, pp. 705–708.