Una transcripción con etiquetas necesita acertar ambas respuestas, y como las etiquetas van encima de las palabras, una etiqueta errónea se puede corregir sin tocar el texto.
La transcripción de una reunión responde a dos preguntas a la vez: qué se dijo y quién lo dijo. El lector ve una sola tarea: un nombre junto a cada línea. Por debajo hay dos problemas, cada uno con sus propias entradas y sus propias formas de fallar.
El reconocimiento del habla escucha las palabras. Convierte el audio en texto y, cuando se hace bien, da la hora de inicio y de fin de cada palabra. No le importa si la voz cambia a mitad de frase; su trabajo es acertar la frase.
La diarización de hablantes escucha las voces. No conoce las palabras. Su tarea es dividir la línea temporal en turnos y decir qué turnos pertenecen a la misma persona: Hablante 1, Hablante 2. El término procede de «diary» (diario en inglés), y es una imagen acertada del resultado: un registro de quién tuvo la palabra y cuándo.
Hay tres términos cercanos que suelen confundirse con ella. La diarización dice quién habló y cuándo, sin conocer a nadie. La identificación de hablantes dice a qué persona conocida pertenece un fragmento de habla, eligiendo entre un conjunto de voces registradas. La verificación de hablantes responde a una pregunta de sí o no: ¿es realmente esta voz la persona X? Las afirmaciones de los proveedores se entienden mejor cuando se separan los tres, porque «etiquetas de hablante» puede significar desde una estimación aproximada de los límites de turno hasta nombres que siguen a una persona de una grabación a otra. Para saber qué pueden prometer realmente esas etiquetas y qué no, hay que mirar dentro del diarizador.
La mayoría de los sistemas de diarización funcionan en tres pasos, ninguno de ellos relacionado con el lenguaje.
Cada paso puede fallar por su cuenta. Un hablante de voz baja pasa desapercibido. Dos voces parecidas se funden en una. Una persona que pasa de la calma al entusiasmo se parte en dos.
El campo puntúa todo esto con la tasa de error de diarización (DER, por sus siglas en inglés): la proporción del tiempo de habla que se omitió, se detectó falsamente como habla o se atribuyó al hablante equivocado, normalmente con un margen de tolerancia de aproximadamente un cuarto de segundo alrededor de cada límite. Ese margen existe porque nadie, ni persona ni máquina, puede situar un cambio de hablante al milisegundo. La tolerancia es válida para evaluar un diarizador por separado. No lo es para una transcripción, donde un límite desplazado un cuarto de segundo cae sobre una palabra.
Aquí es donde se cruzan los dos problemas, y donde se decide la calidad de una transcripción etiquetada. Un diarizador sitúa sus límites con cierta imprecisión, a menudo una fracción de segundo en uno u otro sentido. Un reconocedor coloca las palabras en la misma línea temporal. Si se superponen ambas sin más, un límite cae dentro de una palabra, de modo que la mitad de «mañana» pertenece al Hablante 1 y la otra mitad al Hablante 2.
Las etiquetas también pueden estar mal durante un tiempo antes de acertar. Un diarizador tiene más seguridad sobre sus grupos cuanto más audio ha escuchado, así que una etiqueta temprana puede parecer errónea según lo que llega después. En una transcripción en directo, una etiqueta puede revisarse después de mostrar una línea: la API en tiempo real de VocalStack envía un mensaje transcript.amended que corrige el texto o el hablante de una línea ya confirmada, de modo que el lector ve la revisión y no una contradicción.
Incluso una etiqueta perfectamente colocada y estable sigue siendo solo un número. Un número basta para seguir una conversación; lo que la gente quiere leer es un nombre.
Una etiqueta se convierte en un nombre de dos maneras, y una se apoya en la otra.
La primera es nombrar dentro de una grabación. Cada hablante que encuentra una transcripción recibe un índice, contado desde 0. Cualquier persona con acceso puede poner nombre a cada hablante durante la grabación o después. El nombre es una capa sobre las palabras, así que puede asignarse, cambiarse o borrarse sin tocar el texto. Por la API eso es PUT /v1/recordings/{id}/speakers/{idx} con un name; un nombre vacío lo borra. Una línea cuyo speaker es -1 no tiene etiqueta, bien porque las etiquetas estaban desactivadas o, en un borrador en directo, porque la línea aún no se ha atribuido.
La segunda es el reconocimiento entre grabaciones, el problema de identificación de la primera sección. Un diarizador solo puede decir que dos voces son distintas, nunca quiénes son. Para pasar de «distinta» a «esta es Ana», el sistema necesita una referencia: una voz guardada, tomada de una grabación de esa persona. Treinta segundos de habla limpia son el mínimo, y unos pocos minutos son mejor. La muestra también debe sonar como las grabaciones con las que se comparará: la misma persona con un micrófono de portátil y con un micrófono de escenario puede sonar menos parecida para una máquina que dos desconocidos grabados del mismo modo. Una vez guardada una voz, cada hablante que oye una transcripción se compara con ella, y una coincidencia lleva el nombre a la transcripción. En VocalStack esto está en Voices; las transcripciones de archivos y las sesiones en directo del panel comparan tus voces guardadas automáticamente, y una sesión de la API en tiempo real solo reconoce las voces que enumeras en identifyVoices.
Una voz guardada es un dato biométrico: puede reconocer a una persona en cualquier grabación, y en VocalStack también sirve de clon que puede leer sus líneas en voz alta. El panel te pide que confirmes que tienes el permiso de la persona antes de guardar una, y una voz puede borrarse en cualquier momento.
Todo esto asume que quieres etiquetas. Muchas veces no.
Una sola persona que da una conferencia no necesita «Hablante 1» delante de cada línea. El público ya sabe quién tiene el micrófono. Por eso el ajuste de etiquetas de hablante tiene tres posiciones, y son las mismas en una sesión en tiempo real, una emisión, una transcripción y una grabación.
auto en la API). Las líneas se etiquetan con su hablante en cuanto se oye más de una voz; una grabación de un solo hablante sigue siendo texto sin formato, y una segunda voz que se une tarde también se detecta. El nuevo formulario de transcripción en directo del panel empieza en esta opción.Una subida de archivo acepta la misma opción speakerLabels, y la API en tiempo real permite cambiarla a mitad de flujo; los detalles están en la referencia de la API. La separación y el nombrado de hablantes nunca añaden coste a la factura (la página de precios tiene la tarifa), así que la elección depende de lo que debe ver el lector, no de lo que cuesta.
Activada, la diarización es buena, pero no es magia. Hay dos situaciones que aún la superan.
La primera es el solapamiento. Cuando dos personas hablan a la vez, un mismo fragmento de audio lleva dos voces. Existen diarizadores con soporte de solapamiento en la investigación y, cada vez más, en productos: la diarización neuronal de extremo a extremo (EEND, por sus siglas en inglés), por ejemplo, trata «quién habla» como un conjunto de preguntas simultáneas de sí o no en lugar de una sola respuesta. Sin embargo, la mayoría de los sistemas de producción siguen asignando un solo hablante por fragmento, y el reconocedor que hay encima transcribe una voz cada vez. La superposición de voces en un panel acalorado es el audio más difícil del campo, y las etiquetas de todos los proveedores empeoran ahí. También es, con seguridad, la parte que todos quieren citar después.
La segunda son las voces muy parecidas. Los hermanos pueden producir embeddings demasiado cercanos para separarlos con fiabilidad, sobre todo si se turnan en intervenciones breves durante una hora. El audio telefónico lo empeora para todos: una línea de banda estrecha se muestrea a 8 kHz y no transporta nada por encima de unos 3,4 kHz, aunque gran parte de lo que distingue una voz de otra está por encima de ese corte. Dos personas en la misma línea telefónica suenan más parecidas para un diarizador de lo que suenan para ti.
El remedio más práctico para ambos está antes de cualquier modelo: dale a cada persona su propio micrófono. Con un canal por hablante, la diarización se reduce a preguntar qué canal está más fuerte, el solapamiento se convierte en dos pistas limpias en lugar de una sola pista emborronada, y a los embeddings nunca se les pide hacer la parte difícil. Un único micrófono de mesa es más barato y casi siempre es lo que tienes, por eso existe el resto de este artículo.
Ninguno de los dos límites tiene por qué llegar al lector sin cambios. Como las etiquetas son una capa sobre las palabras, una etiqueta errónea nunca te cuesta el texto: los nombres de hablante se pueden poner o quitar en una grabación en cualquier momento, y en una transcripción en directo el anfitrión puede reescribir cualquier palabra o línea mientras sigue en marcha, con cada corrección marcada y deshacible.
Para el lado de las palabras, qué mide la tasa de error de palabras y qué se le escapa explica en detalle las capas de corrección; la WER es para el reconocedor lo que la DER es para el diarizador, y una transcripción necesita que ambas sean bajas.