El objetivo de este artículo fue generar un modelo reconocimiento automático de voz (RAV) basado en la traducción de la voz humana a texto, a este proceso se lo ha considerado como una de las ramas de la inteligencia artificial. El análisis de voz permite identificar información sobre la acústica, fonética, sintáctica, semántica de las palabras, entre otros elementos que pueden identificar ambigüedad en términos, errores de pronunciación, sintáctica similar pero semántica diferente, que representan características propias del lenguaje humano. El modelo se centró en el análisis acústico de las palabras, proponiendo la generación de una metodología para reconocimiento acústico, a partir de transcripciones del habla de audios que contienen voz humana. Se utilizó la tasa de error por palabra para identificar la precisión del modelo. Los audios son llamadas de emergencia registrados por el Servicio Integrado de Seguridad ECU 911. El modelo fue entrenado con la herramienta CMUSphinx para idioma español sin conexión a internet. Los resultados mostraron que la tasa de error por palabra varía en relación con la cantidad de audios; es decir a mayor cantidad de audios menor cantidad de palabras erróneas y mayor exactitud del modelo. La investigación concluyó haciendo énfasis en la duración de cada audio como variable que afecta la precisión del modelo.
The objective of the article was to generate an Automatic Speech Recognition (ASR) model based on the translation from human voice to text, being considered as one of the branches of artificial intelligence. Voice analysis allows identifying information about the acoustics, phonetics, syntax, semantics of words, among other elements where ambiguity in terms, pronunciation errors, similar syntax but different semantics can be identified, which represent characteristics of the language. The model focused on the acoustic analysis of words proposing the generation of a methodology for acoustic recognition from speech transcripts from audios containing human voice and the error rate per word was considered to identify the accuracy of the model. The audios were taken from the Integrated Security Service ECU 911 that represent emergency calls registered by the entity. The model was trained with the CMUSphinx tool for the Spanish language without internet connection. The results showed that the word error rate varies in relation to the number of audios; that is, the greater the number of audios, the smaller number of erroneous words and the greater the accuracy of the model. The investigation concluded by emphasizing the duration of each audio as a variable that affects the accuracy of the model.
El Procesamiento del Lenguaje Natural (PLN) es un enfoque computacional para el análisis de texto que permite estudiar los textos que ocurren naturalmente en diferentes niveles de análisis lingüístico, con el propósito de lograr un procesamiento del lenguaje similar al humano para una variedad de aplicaciones (
El reconocimiento automático de voz es una de las aplicaciones en el área del PLN (
Se han desarrollado algoritmos de aprendizaje por transferencia para el entrenamiento de modelos de reconocimiento de voz (IBM-Custom-Speech y Microsoft-Custom-Speech) donde se convierte un conjunto de diálogos de prueba en documentos de texto y se calcula la tasa de error de caracteres, siendo considerada una métrica general para evaluar el modelo (
Por otro lado, el avance de la tecnología ha permitido reconocer el nivel de eficacia que estos sistemas de reconocimiento de voz obtienen en casos específicos. Así, los sistemas RAV basados en redes neuronales convolucionales (convolutional neural network-ConvNet/CNN) que se generan especialmente durante las llamadas de emergencia y cuyo fin es el de detectar el estado emocional y verificar la autenticidad intencional del hablante (
Un claro ejemplo de implementación de RAV, es a través del proyecto Julius, sistema que decodifica el sonido emitido por el usuario y busca, en el modelo acústico alguna coincidencia, a través un modelo lingüístico que estima de manera estadística la probabilidad de que cierto fonema sea pronunciado en un segmento de audio. Al evaluar una palabra, el decodificador comienza a determinar que fonema es el correspondiente al sonido mediante su respectiva evaluación hasta que llega una pausa de parte del usuario, donde la palabra termina. El modelo lingüístico busca esta secuencia de fonemas para llegar a identificar una serie equivalente o posible palabra (
Actualmente existen varios modelos acústicos y de lenguajes que son desarrollados para diferentes idiomas, incluyendo el español y sus variaciones por región. Entre los factores que afectan la eficiencia del sistema RAV están aspectos relacionados al acento que tiene un idioma, la gramática que se emplea, la velocidad del habla, el modelo de lenguaje que se utiliza, y las características propias que posee el funcionamiento del reconocedor (
La tasa de error por palabras (WER) es la métrica más conocida que se utiliza para cuantificar la precisión del sistema RAV. Esta métrica considera la secuencia de palabras hipotetizada por el sistema RAV y la alinea con una transcripción de referencia y el número de errores se calcula como la suma de sustituciones (.), inserciones (.) y eliminaciones (.) (
En este contexto, el objetivo en que se fundamenta este trabajo es generar un sistema que permita reconocer y convertir archivos de audio automáticamente con la voz humana integrada en texto; la transcripción se realizará en el idioma español, y los audios a utilizar serán tomados de las llamadas de emergencia provenientes del Servicio Integrado de Seguridad ECU 911 de la ciudad de Cuenca, Ecuador. Para el procesamiento del audio se considerarán las palabras en español que comúnmente son usadas por los habitantes de la ciudad, así como sus abreviaciones, jerga o argot, lenguaje coloquial, variedades lingüísticas y formalidades que poseen las personas de una región en su dialecto junto con el acento y la velocidad de la pronunciación.
Este artículo se estructura de la siguiente manera: la Sección 2 contiene la discusión de trabajos relacionados que influyeron en esta investigación realizada. En la Sección 3 se describe la metodología, la cual posee el marco teórico que se ha utilizado en esta investigación. Luego, en la Sección 4 se presenta el análisis de los resultados obtenidos en la investigación y, por último, la Sección 5 contiene las conclusiones obtenidas.
Alharbi et. al. llevaron a cabo una revisión sistemática de literatura de los sistemas RAV, en el que identificaron las principales técnicas implementadas en este campo. Su principal contribución está en la clasificación de la literatura según los problemas que el dominio presentó, el uso de técnicas de PLN basados en la eficiencia del dispositivo. El artículo presenta que los sistemas RAV tienen problemas fundamentalmente asociados al ruido y reverberación del audio, la superposición de voz o conversaciones simultáneas, el procesamiento de la señal acústica y la adaptación para resolver problemas de ajuste. El vocabulario, la pronunciación y el dialecto son las principales técnicas en las que el PLN se enfoca, por lo que hace énfasis en la cantidad de palabras que deberían incluirse en el vocabulario, los problemas que pueden ocasionar una mala pronunciación de las palabras y el problema del reconocimiento del dialecto de distintas regiones donde manejan el idioma implementado. Por último, el uso del micrófono también es analizado, debido a que es un dispositivo que captura la voz y que incide radicalmente cuando se hacen entrenamientos y pruebas de datos con y sin su uso (
Tavi et al. en su artículo relacionado a los sistemas RAV para llamadas de emergencia incluye el análisis de voz aguda y desagradable también llamada voz chirriante, alevines vocales o estación laríngea. Por lo tanto, estos son un factor que altera la fonación del hablante. El modelo está implementado con redes neuronales convolucionales (CNN), busca la detección automática de las anomalías de la voz como crujidos para el análisis a gran escala de las llamadas de emergencia, y conjuntamente con un kit de herramientas de análisis de voz, lograron un f-measure de 0.41 con grabaciones de llamadas de emergencia. La red neuronal convolucional alcanzó 0.64 en el mismo conjunto de datos de prueba. Los resultados demuestran la vital importancia de la cantidad de datos de entrenamiento como la calidad de los datos de prueba, así como los elementos que afectan la eficiencia del modelo (
Es conocido que existen sistemas RAV desarrollados por empresas pioneras como Microsoft, IBM, Google, Amazon cuya finalidad es lograr transcripciones casi perfectas. Los autores Vásconez et al. presentan un estudio donde evalúan a los sistemas RAV de Google Speech to Text y Amazon Transcribe, con el objetivo de determinar cuál de esos sistemas RAV ofrece una mayor precisión al transcribir en el idioma español los audios del Servicio Integrado de Seguridad ECU 911, en texto. La evaluación de la precisión de la transcripción en este estudio es realizada a través de la métrica WER, donde demostraron con los resultados obtenidos que Amazon Transcribe es el sistema RAV con mayor rendimiento y desempeño en el proceso de transcripción con audios en español que poseen un alto y bajo nivel de ruido de fondo (
Por otro lado, existen diversas herramientas para implementar los sistemas RAV, Peinl et al. presentan un análisis comparativo de kits de herramientas RAV de código abierto. Así tenemos las herramientas HDecode y Julius que son entrenadas utilizando el kit de herramientas del modelo oculto de Markov (HTK). Estos modelos incluyen el entrenamiento de los monófonos para el manejo del silencio y la realineación para mejorar la correspondencia entre las pronunciaciones y los datos acústicos. Otras herramientas que existen son Pocketsphinx y Sphinx-4, que son entrenados con el kit de herramientas CMU sphinxtrain y que proporciona todas las herramientas necesarias para sistemas RAV. Los modelos están entrenados con vectores Mel Frequency Cepstral, que consta de 13 cepstral, 13 delta y 13 coeficientes de aceleración. Los kits de herramientas de Kaldi proporcionan varias canalizaciones para diferentes corpus. Las capacidades de estas canalizaciones incluyen el entrenamiento adaptativo del hablante y la regresión lineal de máxima verosimilitud. El entrenamiento es de alto costo computacional, la implementación y las canalizaciones están optimizados para computación paralela (
Los autores Ankit et. al. presentan el uso de una arquitectura para la conversión de voz denominada “CMU-Sphinx”. Esta arquitectura está compuesta por bloques de Front End, lingüística y decodificación. El bloque Front End se encarga del procesamiento de la señal digital que consiste en la extracción de características de la voz; el bloque de lingüística posee los módulos acústicos para la representación estadística de cada sonido, una dicción que almacena las diferentes formas de pronunciación de las palabras; y el modelo del lenguaje que muestra la probabilidad de ocurrencia de una palabra (
El rendimiento de estos sistemas RAV se mide a través de la métrica WER, que compara la transcripción manual frente a la realizada por el RAV. Para obtener una estimación confiable del WER, se requieren al menos dos horas de archivos de audio de prueba, lo que llega a ser un proceso costoso y lento de transcripción manual. Sin embargo, el uso de sistemas RAV ha ganado terreno en el campo de investigación en los últimos años, ya que estos sistemas permiten mejorar la calidad de transcripción, así como la cantidad de audios procesados (
Luego de haber realizado un análisis de las herramientas disponibles para sistemas RAV, se escogió a CMUSphinx debido a su notable rendimiento y precisión, además de un conjunto de audios provenientes del Servicio Integrado de Seguridad ECU 911 en idioma español. El proceso de desarrollo está basado en la metodología propuesta en Celis et al. (2017) que consiste en el entrenamiento del modelo acústico adaptándolo al dialecto cucuteño. El aporte de esta metodología fue la adaptación del modelo cucuteño hacia un modelo para el español que incluye el cálculo de la métrica WER, mediante el uso de la herramienta CMU-Sphinx, y el
El proceso de desarrollo del sistema RAV para el idioma español se expresa en la
Inicialmente, este sistema pasó por un proceso de cuantización vectorial, es decir que la señal acústica se transformó a un vector numérico, dando paso a la extracción de características. Entonces, para la siguiente etapa que es la decodificación fue necesario el vector de características; además en esta etapa intervino el modelo acústico, el diccionario y el modelo de lenguaje. Finalmente, se realizó la transformación a texto (
El sistema adaptado a un corpus español dependerá de estos tres elementos:
1.
Cerveza
/z/ /e/ /r/ /b/ /a/
Herrero
/e/ /rr/ /r/ /o/
Gara
/ɡˈ/ /a/ /ɾ/ /a/
Melloco
/m/ /e/ /ʎˈ/ /o/ /k/ /o/
2.
3.
El proceso que se siguió para desarrollar el sistema RAV en el idioma español se detalla en la
Para el mejoramiento del modelo en el idioma español que proporciona CMUSphinx se necesitó los archivos que se describen a continuación:
- Audios: son los archivos de audios de las llamadas de emergencia del ECU 911, estos fueron transformados a una frecuencia de muestreo de 16 kHz, a 16 bits por muestra, con un códec denominado “modulación por impulsos codificados de 16 bits o PCM16” y sonido monoaural, es decir un solo canal.
- Dataset: es un archivo que contiene las transcripciones realizadas por un humano de los audios del Servicio Integrado de Seguridad ECU 911.
- Corpus en el idioma español: este modelo es proporcionado por CMUSphinx, lo que permite que el proceso de la obtención del modelado no sea desde cero.
Esta fase se compone de las tareas que son la adaptación y el entrenamiento del modelo acústico. Dichas tareas se describen a continuación:
Este proceso de adaptación del modelo acústico se realizó mediante el
Para dar inicio al proceso se utilizó el corpus al que se desea adaptar. Este corpus debe estar compuesto por una lista de oraciones, un diccionario con la pronunciación de cada palabra y los audios donde están grabadas las oraciones de dicha lista. A continuación, en la
En la creación de un corpus de adaptación se debe considerar dos procesos, los cuales son: 1. Los archivos requeridos que se basan en un conjunto grande de oraciones; estos deben tener una buena cobertura de las palabras o fonemas que se usan con mayor frecuencia, dependiendo del tipo de texto que se desea reconocer. 2. Los registros de datos de adaptación; estos son archivos de tipo
Para la adaptación del modelo acústico se inició con la generación de archivos de características acústicas a partir de los audios, para esto se utiliza
Según el modelo propuesto por
En la primera tarea del entrenamiento del modelo se compone de las actividades de a) verificación de ficheros y b) verificación de parámetros, los mismos que se describen a continuación:
a) Verificación de ficheros: dentro de la carpeta de trabajo deben estar los ficheros con las extensiones. phone,
b) Verificación de parámetros: estos deben ser iguales al archivo feat.params, pueden ser configurados según las características y necesidades.
Luego, en la tarea de extracción y generación se deben extraer las características de los audios y generar vectores que contengan los resultados obtenidos de la tarea anterior, las actividades por realizar son:
a) Extracción de características de audios: la señal es dividida en segmentos para ser procesada.
b) Generación de vectores: este vector se genera como un resultado del análisis que se realiza con la ayuda de la herramienta SphinxTrain.
En la tarea de decodificación, se analizaron los resultados de la tarea anterior y se decodificaron los audios, las actividades de esta tarea se describen a continuación:
a) Creación de probabilidad de palabras: con base en el conjunto de vectores se crea un modelo probabilístico, donde se asocian las palabras obtenidas en la señal entrante del audio con las palabras ya existentes en el modelo de lenguaje.
b) Proceso de decodificación de los audios y prueba de entrenamiento: el éxito del paso anterior da como resultado el proceso de decodificación, entonces para verificar el funcionamiento del sistema se realiza a través de una prueba de entrenamiento con los archivos de prueba.
Finalmente, en la tarea de resultados se obtuvo el modelo acústico entrenado, para lo cual fue necesario tener en cuenta que puede variar el tiempo de duración, esto depende de la cantidad de audios que se esté utilizando para el entrenamiento.
Para la evaluación de un sistema RAV se tuvo que tomar en cuenta la métrica WER, anteriormente mencionada. Para este caso se calcula entre la frase generada por el sistema y una frase de referencia correcta. La
donde S es el número de palabras sustituidas en la transcripción, D representa el número de palabras borradas u omitidas en el reconocimiento, I es el número de palabras insertadas que no pertenecen a la transcripción real y N representa la cantidad de palabras en la transcripción de referencia.
Otra métrica que fue utilizada para la correcta evaluación de la precisión de un sistema RAV es la exactitud de palabras (WAcc), que se define como la proporción de palabras que son reconocidas correctamente frente al total de palabras ingresadas y está estrechamente relacionada esta métrica con WER. La
donde N es el número total de palabras ingresadas, S representa al número total de palabras que fueron reconocidas como otras palabras, D es el número de palabras que se omitieron en el reconocimiento, y la variable I representa al número de palabras que fueron erróneamente agregadas a las palabras reconocidas (
Estas métricas se emplearon durante el proceso de entrenamiento, para obtener resultados antes y después de realizar el proceso de adaptación y entrenamiento del modelo acústico.
En esta fase, se emplearon nuevamente las ecuaciones
Después del proceso para el desarrollo de sistema RAV y la transcripción de los audios con el script
3
19.97
80.20
15
82.93
17.07
20
97.71
2.29
En la
En la
50
85.70
13
100
80.10
19.80
200
49.80
50.10
La tasa de error fue tabulada de acuerdo con la metodología planteada. Luego de analizar los resultados del modelo entrenado como el no entrenado, se observan valores notorios en cuanto a la exactitud de dichas transcripciones. Al ser un sistema sin conexión a internet resulta limitado al momento de la transcripción, y es así como se vuelve necesario realizar adaptaciones y entrenamientos a los modelos acústicos.
Se comprobó que los audios analizados con la herramienta de reconocimiento de voz CMUSphinx proporcionan una tasa de acierto variable puesto que esta depende primordialmente del entrenamiento del modelo acústico. Por tal motivo, un modelo acústico sin entrenamiento o con escaso entrenamiento implica que la tasa de error a calcularse sea elevada. Así pues, mientras se mantenga constantemente actualizado el vocabulario en el modelo, los resultados que se puedan obtener deben ser más aceptables, debido al cambio constante de la jerga popular y el constante cambio del nativo hablante. Cabe mencionar que los resultados se obtuvieron al imponer ciertas restricciones a los audios, por lo que se desconoce el nivel de precisión y de la tasa de error que obtendría esta herramienta al basarse en audios de larga duración, con más de un canal y en diferentes frecuencias.
Debido a que la herramienta de reconocimiento de voz CMUSphinx no posee conexión a internet, hay varias librerías en internet que pueden ayudar al desarrollo del entrenamiento del modelo acústico al basarse en grandes cantidades de datos proporcionadas por usuarios. De manera que, se muestra un tanto limitada en función de su capacidad de transcripción de texto y el nivel de eficiencia del sistema RAV. Sin duda alguna tiene la posibilidad de mejorar este sistema RAV si logra implementarse dentro de un entorno en línea.
Como trabajo futuro se planteará el análisis de nuevas herramientas para mejorar el sistema RAV en cuanto a su eficiencia y eficacia, además se incluirá la creación de un caso de estudio con las nuevas herramientas.
Los autores desean agradecer al Vicerrectorado de Investigaciones de la Universidad del Azuay por el apoyo financiero y académico, así como a todo el personal de la escuela de Ingeniería de Ciencias de la Computación, y el Laboratorio de Investigación y Desarrollo en Informática - LIDI. De la misma manera, este trabajo se enmarca en el proyecto de investigación “Diseño de arquitecturas y modelos de interacción para entornos AAL dirigidos a adultos mayores: entornos lúdicos y sociales”, por lo que agradecemos a la Universidad de Cuenca por su aporte.