Universidad politécnica de madrid escuela técnica superior de ingenieros



Descargar 3.96 Mb.
Página10/44
Fecha de conversión18.08.2020
Tamaño3.96 Mb.
1   ...   6   7   8   9   10   11   12   13   ...   44
2.2.1.- HTK
Una parte importante del proyecto se centra en la adaptación del sistema de reconocimiento al hablante. Para poder llevar a cabo este proceso de adaptación se ha empleado el conjunto de herramientas HTK. [Díaz 2002]
Dichas herramientas están diseñadas para la construcción de modelos ocultos de Harkov (HMM, Hiden Markov Models). El núcleo de HTK está dividido en dos procesos claramente diferenciados:


  • Herramientas de entrenamiento: Se utilizan para estimar los parámetros de un conjunto de HMM, empleando locuciones de entrenamiento y sus transcripciones asociadas.




  • Herramientas de reconocimiento: Su finalidad es obtener las transcripciones de locuciones desconocidas.

A continuación se procederá a una breve explicación de la funcionalidad de las herramientas del HTK que se han empleado para la realización de este proyecto. [HTK]


2.2.1.1.- HLEd
En el proceso de adaptación trabajamos con las transcripciones de los ficheros de audio, que son las etiquetas asociadas al mismo. Cuando el número de ficheros que deben ser procesados es elevado, conviene manejar las transcripciones mediante un fichero maestro de etiquetas (MLF, Master Label File). Un MLF es un fichero indexado que contiene las transcripciones de todos los ficheros con los que estamos trabajando. Dichas transcripciones pueden ser a nivel de palabra, de alófono o de trifonema, según a qué correspondan cada uno de los segmentos en que están divididos los ficheros de voz.


#!MLF!#

"*/nuria_0_15.lab"

quién


eres

.

"*/nuria_0_19.lab"



cómo

estás


.

Cuadro 1: Ejemplo de MLF a nivel de palabra
Para editar y modificar los ficheros de etiquetas emplearemos la herramienta HLEd, que puede verse como un intérprete de comandos de edición. Los comandos de edición son órdenes simples que realizan modificaciones muy concretas en las transcripciones. La secuencia de comandos de edición se guarda en un edit-script que ejecutará HLEd.
El uso principal que se ha dado a HLEd en el proceso de adaptación ha sido la conversión de un MLF a nivel de palabra en un MLF a nivel de alófono, y éste en un MLF a nivel de trifonema.
Lo ilustramos con el siguiente ejemplo a partir de la frase: “¡A comer!”. SENT-START representa el silencio inicial y SENT-END el silencio final.
SENT-START a comer SENT-END
La trascripción a nivel de alófono sería:
sil ‘a sp k o m ‘e r sil
y por último tenemos la trascripción de trifonemas internos, es decir, un fonema en el contexto de otros dos:
sil ‘a sp k+o k-o+m o-m+’e m-‘e+r ‘e-r+sil sil

2.2.1.2.- HCopy
Es una herramienta de propósito general que se emplea para copiar, filtrar y extraer features de los ficheros de audio.
Por defecto HCopy realiza una simple copia del fichero de origen en el fichero destino. Dicho comportamiento puede modificarse con las opciones especificadas en el fichero de configuración. En este fichero pueden detallarse un conjunto de transformaciones y que se aplican sobre el fichero origen y se guardan en el fichero destino. La idea es que exista un tipo de parámetros origen y un tipo de parámetros destino de forma que, especificando dichos tipos en el fichero de configuración, HCopy realice la conversión entre ambos formatos.

Se emplearán como parámetros de origen el formato de los ficheros de audio generados en la fase de reconocimiento, que son del tipo .WAV. Los parámetros de destino son del tipo predicción lineal perceptiva (PLP).


El motivo de la elección de ese tipo de parámetros de salida es que este tipo de parametrización es una combinación de las dos principales familias de parámetros empleadas en el proceso de habla: el análisis espectral y el análisis de predicción lineal. La técnica PLP tiene en cuenta el efecto fisiológico de las señales acústicas sobre el oído humano, tratando de compensar de este modo la variación de la sensibilidad del oído con la frecuencia y la intensidad sonora.
2.2.1.3.- HCompV
Este programa calcula la media y la covarianza de un conjunto de datos de entrenamiento. Lo emplearemos en la fase de normalización Cepstral ya que trabajaremos con dos tipos de normalizaciones: normalización cepstral de la media (CMN, Cepstral Mean Normalisation) y normalización cepstral de la varianza (CVN, Cepstral Variance Normalisation).

En el dominio de la frecuencia, el efecto de insertar un canal de transmisión es multiplicar el espectro de la voz por la función de transferencia del canal. En el dominio logarítmico de los coeficientes cepstrales esta multiplicación se convierte en una sencilla suma, que puede ser eliminada restando la media cepstral a todos los vectores de parámetros.


En la práctica, la media se estima a partir de una cantidad limitada de datos, de forma que la cancelación del efecto del canal de transmisión no es perfecta. La media se estima calculando el promedio de cada parámetro cepstral a lo largo del fichero o agrupación de ficheros en cuestión. Es importante destacar que CMN se aplica a los coeficientes estáticos, luego se calculan los coeficientes delta y aceleración, y por último se realiza CVN sobre los tres tipos de coeficientes.

Respecto a la aplicación de CMN, el resultado de la estimación de las medias cepstrales de los coeficientes estáticos se guarda en un fichero. De modo que las herramientas de HTK que necesiten trabajar con CMN tendrán que restar a cada fichero de parámetros su correspondiente fichero de medias durante la ejecución.




  • CVN, Normalización cepstral de la varianza

De un modo paralelo, también podemos normalizar la varianza de los parámetros cepstrales. Con esto logramos que los márgenes de variación de los parámetros en todos los ficheros de la base de datos sean similares, hecho que favorecerá el entrenamiento de los HMM. CVN se realiza normalizando a 1 la varianza del fichero en cuestión dividiendo todos sus vectores de parámetros por su varianza cepstral, y multiplicando posteriormente por la varianza global.



La estimación de la varianza cepstral se obtiene calculando la varianza de cada parámetro cepstral a lo largo de ese fichero o agrupación de ficheros. Y por varianza global nos referimos a la varianza de los parámetros cepstrales calculada a lo largo de toda la base de datos. Al igual que CMN, CVN también se realiza en tiempo de ejecución.
2.2.1.4.- HERest
En nuestro sistema partimos de unos modelos generales, siendo el objetivo de la fase de adaptación entrenarlos y adaptarlos al hablante. Este es un proceso iterativo en el que se irán introduciendo sucesivas mejoras en los modelos y se reestimarán sus parámetros.
Los datos de entrenamiento consisten en grabaciones de voz y no disponemos de las divisiones temporales entre la secuencia de modelos que componen cada locución. Es por esto que seguimos un esquema de entrenamiento no segmentado (embedded training) empleando HERest.
2.2.1.5.- HHEd
HHEd es una herramienta que permite realizar modificaciones en un conjunto de HMM. Al igual que sucede con HLEd, esta herramienta puede verse como un intérprete de comandos de edición.
HHEd toma como entrada un conjunto de HMM y devuelve como salida otro conjunto de HMM modificado. La secuencia de comandos de edición que HHEd debe aplicar se le pasa en un fichero edit-script. Algunos de los comandos que pueden aparecer en este edit-script son:

TI T_a {("a").transP}

AT 1 3 0.2 {"'u".transP}



Cuadro 2: Instrucciones de un edit-scrip de HHEd
La primera instrucción es asociar los elementos de la lista que aparece entre llaves con la macro que le precede, en este caso “T_a”. La segunda instrucción es, en nuestro caso, añadir una transición del estado 1 al 3 con probabilidad 0.2 para las matrices de transición que aparecen entre llaves.
2.2.1.6.- HVite
HVite es una herramienta de reconocimiento de voz que emplea el algoritmo un algoritmo de paso de testigo (token passing) que se describirá a continuación. HVite recibe como entrada una red de palabras (word network) donde se especifican las secuencias de palabras permitidas, y un diccionario en el que cada palabra se asocia con su correspondiente modelo de Markov. La red de palabras se expande con la información del diccionario para obtener una red de modelos, que puede verse en un nivel inferior como una red de estados. La Figura 5 ilustra esta jerarquía de niveles de reconocimiento: palabra, modelo y estado.

Figura 5: Jerarquía de los niveles de reconocimiento


Dada una secuencia desconocida de T observaciones, cualquier camino entre el nodo inicial y el nodo final que pase por T estados emisores es potencialmente una hipótesis de reconocimiento. Cada uno de estos caminos tiene una probabilidad calculada sumando las probabilidades logarítmicas de todas las transiciones entre estados y las probabilidades logarítmicas de que cada estado emisor genere el correspondiente vector de observación. Las transiciones entre estados de un mismo modelo están determinadas por los propios parámetros del modelo en cuestión. Sin embargo, las transiciones entre los modelos de una misma palabra tienen asignada una probabilidad constante, y las transiciones entre palabras están determinadas por la verosimilitud del modelo de lenguaje especificado en la red de palabras.

El objetivo del reconocedor en encontrar de entre todos los caminos posibles, aquél que posee la máxima probabilidad. Para ello se emplea el algoritmo de paso de testigo.


4.2.6.1.- Algoritmo de paso de testigo
Supongamos que en el instante t todos los estados j poseen un testigo (token) que contiene la verosimilitud parcial Фj (t). [Díaz 2002]

donde aij es la probabilidad discreta de la transición del estado i al estado j y bj (ot) es la probabilidad de que, en el instante t, la observación ot fuera emitida por el estado j.
Un testigo representa un camino parcial a través de la red de reconocimiento que se extiende desde el instante 0 hasta el instante t, es decir, representa la probabilidad parcial de haber observado las primeras t tramas y estar en el estado j en el instante t.
El algoritmo de paso de testigo comienza poniendo un testigo en cada uno de los posibles nodos iniciales de la red de reconocimiento. A continuación, en cada instante de tiempo, los testigos se propagan a través de las transiciones de la red hasta llegar a un estado emisor. Cuando un nodo tiene varias salidas, el testigo es copiado y propagado por cada una de ellas, explorándolas todas en paralelo. Este algoritmo se basa en los siguientes aspectos:


  • Cuando un testigo pasa de un estado i a un estado j, su verosimilitud logarítmica parcial se ve incrementada por las correspondientes probabilidades de transición y de salida.


(2.6)


  • Cada nodo de la red sólo puede tener un testigo, de modo que escogemos el testigo con la mayor verosimilitud y eliminamos el resto.

La verosimilitud parcial no es la única información que contiene un testigo. Además deberá tener como mínimo un registro de las palabras por las que ha pasado. Sin embargo, en algunas aplicaciones podría ser interesante incluir información temporal o de la secuencia de modelos o estados.


Típicamente las redes de reconocimiento poseen muchos nodos, implicando tiempos de ejecución del reconocedor elevados. Una forma de acelerar el tiempo de cálculo es propagar los testigos sólo por los caminos que parezcan más probables a priori. Este proceso se conoce como pruning y se implementa manteniendo un registro del mejor testigo en cada instante de tiempo, de modo que desactivamos todos los testigos cuyas probabilidades bajen un cierto margen respecto del mejor testigo.
Como ya hemos comentado, las probabilidades de transición entre palabras vienen dadas por el modelo de lenguaje especificado mediante la red de palabras. Sin embargo, HVite posee además dos parámetros de ajuste del reconocedor. Estos parámetros son:


  • Penalización por inserción de palabra (Word insertion penalty): Es un valor fijo que se suma a cada testigo que pase de una palabra a otra.




  • Factor de escala gramatical (grammar scale factor): Es un valor que premultiplica la probabilidad logarítmica del modelo de lenguaje antes de sumarse al testigo cuando pasa de una palabra a otra.

Ajustando estos dos parámetros podemos modificar el comportamiento del reconocedor en cuanto a los errores de inserción y de borrado.


2.2.1.7.- HResults
Una vez que el conjunto de datos de evaluación ha sido procesado por el reconocedor, el siguiente paso es analizar los resultados. Para ello HTK dispone de HResults, cuya finalidad es comparar las transcripciones generadas por el reconocedor con las transcripciones de referencia y calcular las diferentes estadísticas. HResults compara las transcripciones reconocidas y de referencia mediante un algoritmo dinámico de alineación óptima del texto. En su funcionamiento básico esta comparación se realiza sin considerar ningún tipo de información temporal que pudieran tener las transcripciones.
El algoritmo de alineación óptima funciona calculando un score para cada una de las opciones posibles de alinear la trascripción reconocida con la trascripción de referencia. El score total de una alineación se calcula asignando un score 0 a las coincidencias de dos etiquetas, un score 7 a las inserciones y borrados de etiquetas, y un score 100 a las sustituciones de etiquetas. El alineamiento que posea menor score es el elegido como alineamiento óptimo. [Díaz 2002]




Compartir con tus amigos:
1   ...   6   7   8   9   10   11   12   13   ...   44


La base de datos está protegida por derechos de autor ©odont.info 2019
enviar mensaje

    Página principal