Cómo identificar interlocutores en transcripciones de audio

Guillaume Goyon, 16 de junio 2020

Diagrama de diarización

COMPARTIR :

Esta entrada del blog analizará el proceso de diarización, que consiste en añadir etiquetas de interlocutor a un archivo de audio para una transcripción. Describirá las técnicas para trabajar con vectores de interlocutor y ofrecerá una manera fácil de realizarlo usando nuestra herramienta.

¿Qué es la diarización de interlocutores?

Añadir etiquetas de interlocutor a una transcripción o responder a la pregunta «¿quién habló cuándo?» es una tarea llamada diarización.

Esta tarea no es tan fácil como parece, porque los algoritmos no tienen ni de cerca el mismo nivel de comprensión del sonido que tenemos nosotros. Se trata de encontrar el número de interlocutores y cuándo estos hablaron, usando la señal de la onda de sonido.

Además, es un paso necesario en los sistemas de Reconocimiento Automático del Habla, ya que nos permite organizar la transcripción del texto y tener información adicional sobre el audio.

En Amberscript, analizamos diferentes enfoques e integramos el mejor en nuestro producto. En este post, encontrarás algunos elementos sobre cuáles son las técnicas existentes, seguidos de una breve guía sobre cómo añadir etiquetas de interlocutor utilizando nuestra herramienta.

¿Por qué la diarización de interlocutores es un proceso complicado?

La diarización de interlocutores no es fácil, ya que supone muchos pasos. Te explicamos rápidamente como funciona el proceso:

Primero, tienes que dividir el audio en segmentos de habla. Eso significa quitar las partes sin habla y dividir los segmentos de audio en turnos de interlocutor, así terminarás con segmentos que involucran a un solo interlocutor.

Después de la división, debes encontrar una manera de reagrupar los segmentos que pertenecen al mismo hablante bajo la misma identificación de interlocutor. Esta misma tarea se divide en varios pasos.

Debes extraer un vector de interlocutor para los segmentos y luego agruparlos para finalmente reagrupar los vectores en el mismo grupo bajo la misma etiqueta parlante. La dificultad de esta tarea es el origen del desafío de diarización llamado DIHARD.

Ahora, veremos cómo extraer dichos vectores de interlocutor.

Generación automática de vectores de interlocutor

Normalmente, hacer los segmentos de actividad no es la parte más complicada. Esto se llama Detección de la Actividad del Habla o Detección de la Actividad de la Voz . Normalmente se realiza utilizando algún umbral de la actividad en un momento dado en el audio.

Lo que es más difícil es la tarea de hacer vectores de interlocutor de los segmentos obtenidos. Para ello, se pueden comprobar diferentes técnicas para extraer el vector de interlocutor (llamado diarización de interlocutores) en la tabla siguiente:

NombreHerramienta interna
i-vectorsModelos estadísticos
x-vectorsRedes neuronales con retardo de tiempo
d-vectorsRedes neuronales recurrentes
ClusterGANRedes adversas generativas

La lista completa sería mucho más larga, pero podemos limitarla a estas técnicas que son las más comunes.

I-vector se basa en las Cadenas Ocultas de Markov en los Modelos de Mezcla Gaussiana: dos modelos estadísticos para estimar el cambio de hablante y determinar los vectores de interlocutor basados en un conjunto de hablantes conocidos. Es una técnica heredada que todavía puede ser utilizada.

Los sistemas de vectores X y d se basan en redes neuronales entrenadas para reconocer un conjunto de interlocutores. Estos sistemas son mejores en términos de rendimiento, pero requieren más datos de entrenamiento y configuración. Sus características se utilizan como vectores de interlocutor.

ClusterGAN lleva esto un paso más allá e intenta transformar un vector de interlocutor existente en otro que contenga mejor información utilizando 3 redes neuronales que compiten entre sí.

Cuando este paso está hecho, obtendremos vectores de interlocutor para cada segmento.

Agrupación de los vectores de interlocutor

Después de conseguir esos vectores de altavoz, tienes que agruparlos. Esto significa agrupar los vectores hablantes que son similares, por lo tanto es probable que pertenezcan al mismo hablante.

El problema en este paso es que no necesariamente se sabe el número de hablantes de un determinado archivo (o conjunto de archivos), por lo que no se está seguro de cuántos grupos se desea obtener. Un algoritmo puede intentar adivinarlo, pero puede equivocarse.

Una vez más, existen varios algoritmos que pueden utilizarse para realizar esta tarea, los más comunes se incluyen en el cuadro siguiente:

NombreHerramienta
K-meansAgrupamiento interactivo
PLDAModelos estadísticos
UIS-RNN
Redes neuronales recurrentes

PLDA hace referencia a una técnica de puntuación usada en otro algoritmo. K-means es normalmente la forma estándar de agrupación, pero hay que definir una distancia entre dos vectores de interlocutor y PLDA es realmente más adecuado para este caso.

UIS-RNN es una técnica reciente que permite la decodificación en línea, agregando nuevos interlocutores a medida que aparecen y es muy prometedora.

Después del paso de agrupación, puedes añadir las etiquetas de los interlocutores a los segmentos que pertenecen a la misma agrupación, de modo que terminas con etiquetas para cada segmento.

¿Qué queda después de la diarización de interlocutores para una transcripción completa?

Cuando este paso está hecho, terminamos con vectores de interlocutor para cada segmento.

El resultado de la transcripción será entonces una transcripción completa con las palabras del archivo de audio, más los interlocutores asociados a cada parte del texto.

Cómo añadir etiquetas de interlocutor usando la herramienta de Amberscript

Ahora en la parte real, ¿cómo puedes añadir dichas etiquetas de interlocutor sin tener que realizar todos los pasos técnicos anteriores?

Puedes simplemente dirigirte a nuestro sitio web e iniciar sesión. Cuando esto esté hecho, podrás subir un archivo y seleccionar el número de hablantes (para mayor precisión) y luego ¡dejar que el algoritmo se ejecute!

No tienes que preocuparte de qué técnica elegir. Después de unos minutos, su archivo será transcrito completamente, y podrá comprobar en el editor si las etiquetas de los interlocutores han sido añadidas correctamente.

Puedes incluso corregir los errores si encuentras, y luego descargar tu transcripción lista para ser publicada.

Conclusión

Para concluir, digamos que hay muchas técnicas de diarización disponibles y que este proceso es realmente complicado, pero construimos una herramienta usando la mejor técnica disponible para permitirte añadir etiquetas de interlocutor a tus archivos de audio para que puedas obtener la mejor transcripción.