Unha transcrición etiquetada necesita as dúas respostas correctas, e como as etiquetas van por riba das palabras, unha etiqueta errada pode corrixirse sen tocar o texto.
Unha transcrición dunha reunión responde a dúas preguntas á vez: que se dixo e quen o dixo. Quen lee ve unha única tarefa, un nome xunto a unha liña. Por debaixo hai dous problemas, cada un cos seus datos de entrada e as súas propias formas de fallar.
O recoñecemento da fala escoita palabras. Convirte o audio en texto e, cando se fai ben, dá un tempo de inicio e de fin para cada palabra. Non lle importa se a voz cambiou a metade dunha frase; o seu traballo é acertar a frase.
A diarización de falantes escoita voces. Non coñece palabras. A súa tarefa é dividir a liña temporal en quendas e dicir cales quendas pertencen á mesma persoa: Falante 1, Falante 2. A palabra vén do inglés «diary» (diario), e esa é unha imaxe xusta da saída: un rexistro de quen tivo a palabra e en que momento.
Tres termos veciños mestúranse con ela. A diarización di quen falou e cando, sen saber quen é ninguén. A identificación de falantes di a que persoa coñecida pertence un anaco de fala, escollendo entre un conxunto de voces rexistradas. A verificación de falantes responde unha pregunta de sí ou non: esta voz é de verdade a persoa X? As afirmacións dos fornecedores léense mellor cando se separan os tres, porque «as etiquetas de falante» poden significar desde unha estimación aproximada dos límites das quendas ata nomes que seguen a unha persoa dunha gravación á seguinte. Para ver o que poden e non poden prometer esas etiquetas, hai que mirar dentro do diarizador.
A maioría dos sistemas de diarización funcionan en tres pasos, ningún dos cales depende da lingua.
Cada paso pode fallar por si só. Un falante baixo perdérase. Dúas voces parecidas fúndense. Unha persoa que pasa da calma ao entusiasmo divídese en dúas.
O campo puntúa todo isto coa taxa de erro de diarización, DER: a proporción do tempo de fala que se perdeu, que se detectou como fala sen selo ou que se atribuíu ao falante equivocado, normalmente cunha zona de tolerancia de uns 0,25 segundos arredor de cada límite. Esa zona existe porque ninguén, persoa ou máquina, pode situar un cambio de falante ao milisegundo. Esa tolerancia serve para puntuar un diarizador por separado. Non serve para unha transcrición, onde un límite que quede 0,25 segundos fóra cae sobre unha palabra.
Aquí se encontran os dous problemas, e aquí se decide a calidade dunha transcrición etiquetada. Un diarizador sitúa os seus límites con certa imprecisión, a miúdo unha fracción de segundo para un lado ou para o outro. Un recoñecedor sitúa as palabras na mesma liña temporal. Se se superpoñen ingenuamente, un límite cae dentro dunha palabra, e metade de «tomorrow» pertence ao Falante 1 e a outra metade ao Falante 2.
As etiquetas tamén poden estar mal durante un tempo antes de estar ben. Un diarizador gaña seguridade nos seus grupos canto máis audio escoitou, así que unha etiqueta temperá pode parecer errada segundo o que chegará despois. Nunha transcrición en directo, unha etiqueta pode revisarse despois de mostrar unha liña: a API en tempo real de VocalStack envía un marco transcript.amended que corrixe o texto ou o falante dunha liña xa confirmada no seu sitio, para que quen lee vexa a revisión e non unha contradición.
Ata unha etiqueta perfectamente colocada e estable segue sendo só un número. Un número abonda para seguir unha conversa; o que a xente quere ler é un nome.
Unha etiqueta convértese nun nome de dúas maneiras, e unha constrúese sobre a outra.
A primeira é nomear dentro dunha gravación. Cada falante que atopa unha transcrición recibe un índice, contado desde 0. Quen teña acceso pode nomear a cada falante durante ou despois da gravación. O nome é unha capa sobre as palabras, así que pode definirse, cambiarse ou borrarse sen tocar o texto. Pola API iso é PUT /v1/recordings/{id}/speakers/{idx} cun name; un nome baleiro borra o nome. Unha liña cun speaker igual a -1 non ten etiqueta, ben porque as etiquetas estaban desactivadas ou, nun borrador en directo, porque a liña aínda non se atribuíu.
A segunda é o recoñecemento entre gravacións, o problema de identificación da primeira sección. Un diarizador só pode dicir que dúas voces son distintas, nunca quen son. Para pasar de «distintas» a «esta é Ana», o sistema necesita unha referencia: unha voz gardada, tomada dunha gravación desa persoa. Trinta segundos de fala limpa son o mínimo, e uns poucos minutos son mellor. A mostra tamén debe soar como as gravacións coas que se vai comparar: a mesma persoa nun micrófono de portátil e nun micrófono de escenario pode soar menos parecida para unha máquina que dous descoñecidos gravados do mesmo xeito. Unha vez gardada unha voz, cada falante que escoita unha transcrición compárase con ela, e unha coincidencia leva o nome á transcrición. En VocalStack isto vive en Voces; as transcricións de ficheiros e as sesións en directo do panel coinciden automaticamente coas túas voces gardadas, e unha sesión da API en tempo real recoñece só as voces que enumeres en identifyVoices.
Unha voz gardada é un dato biométrico: pode recoñecer a unha persoa en calquera gravación, e en VocalStack tamén serve de clon que pode ler en voz alta as súas liñas. O panel pide que confirmes que tes o permiso da persoa antes de gardar unha, e unha voz pode borrarse en calquera momento.
Todo isto presupón que queres etiquetas. Moitas veces non as queres.
Unha persoa soa que dá unha conferencia non necesita un «Falante 1» diante de cada liña. O público xa sabe quen ten o micrófono. Así que o axuste de etiquetas de falante ten tres posicións, e son as mesmas nunha sesión en tempo real, nunha emisión, nunha transcrición e nunha gravación.
auto na API). As liñas etiquétanse co seu falante cando se escoita máis dunha voz; unha gravación dun só falante queda en texto plano, e unha segunda voz que se une tarde segue sendo detectada. O novo formulario de transcrición en directo do panel comeza nesta posición.Unha subida de ficheiro usa a mesma opción speakerLabels, e a API en tempo real permíteche cambiala a metade dun fluxo; os detalles están na referencia da API. A separación e o nomeado de falantes nunca engaden nada á factura (a páxina de prezos ten a tarifa completa), así que a elección depende do que debe ver o lector, non do que custa.
Activada, a diarización é boa pero non é máxica. Hai dúas situacións que aínda a superan.
A primeira é o solapamento. Cando dúas persoas falan ao mesmo tempo, un anaco de audio leva dúas voces. Existen diarizadores que xestionan o solapamento na investigación e, cada vez máis, en produtos: a diarización neuronal de extremo a extremo (EEND), por exemplo, trata «quen fala» como un conxunto de preguntas simultáneas de sí ou non en lugar de como unha resposta única. Porén, a maioría dos sistemas de produción seguen asignando un falante por anaco, e o recoñecedor que hai enriba transcribe unha voz de cada vez. As falas cruzadas nun panel acalorado son o audio máis difícil do campo, e as etiquetas de cada fornecedor empeoran alí. Tamén é, de forma fiable, a parte que todos queren citar despois.
A segunda son as voces moi parecidas. Os irmáns poden producir embeddings demasiado próximos para separalos con fiabilidade, máis aínda cando intercambian quendas curtas durante unha hora. O audio telefónico empeora isto para todos: unha liña de banda estreita mostréase a 8 kHz e non transporta nada por encima de uns 3,4 kHz, aínda que gran parte do que distingue unha voz doutra está por enriba dese corte. Dúas persoas na mesma liña telefónica soan máis parecidas para un diarizador do que soan para ti.
O remedio máis práctico para ambos está augas arriba de calquera modelo: dálle a cada persoa o seu propio micrófono. Con un canal por falante, a diarización redúcese a preguntar cal canal está máis alto, o solapamento convértese en dúas pistas limpas en lugar dunha pista enlamada, e nunca se lles pide aos embeddings que fagan a parte difícil. Un micrófono de mesa único é máis barato e case sempre é o que se ten, e por iso existe o resto deste artigo.
Ningún dos dous límites tiña que chegar ao lector sen cambios. Como as etiquetas son unha capa sobre as palabras, unha etiqueta errada nunca che custa o texto: os nomes dos falantes pódense definir ou borrar nunha gravación en calquera momento, e nunha transcrición en directo o anfitrión pode reescribir calquera palabra ou liña mentres aínda está en curso, con cada corrección marcada e desfacible.
Para a parte das palabras, o que mide a taxa de erro por palabra e o que non mide explica en detalle as capas de corrección; a WER é para o recoñecedor o que a DER é para o diarizador, e unha transcrición necesita que ambas sexan baixas.