A WER pontua um nome trocado, um número trocado e um “não” perdido com o mesmo peso de um “o” omitido. Avalie um sistema de transcrição pelos erros que ele consegue pegar e por você poder ver e desfazer as correções, não pelo número de destaque.
A taxa de erro de palavras (WER, na sigla em inglês) é a medida padrão para reconhecimento de fala. Pegue uma transcrição de referência que uma pessoa tenha conferido, alinhe a saída da máquina com ela palavra por palavra e conte três tipos de erro: substituições (uma palavra errada), inserções (uma palavra que nunca foi dita) e omissões (uma palavra que faltou). Some tudo e divida pelo número de palavras da referência.
WER = (substituições + inserções + omissões) / palavras na referência
O alinhamento não é feito a olho. As duas transcrições são alinhadas pela distância de edição mínima (a distância de Levenshtein, aplicada a palavras e não a letras): entre todas as formas de parear a saída com a referência, o avaliador escolhe a que tem menos edições e conta essas. Como as inserções contam e o denominador é o tamanho da referência, a WER pode passar de 100 por cento: um modelo que preenche um minuto silencioso com texto recebe uma nota pior do que um que não escreve nada.
Suponha que a referência seja “vamos encontrar a Dra. Okafor às nove na quinta”, com nove palavras, e que a máquina escreva “vamos encontrar a doutora Ocampo às nove na terça”. São três substituições (Dra., Okafor e quinta) em nove palavras: uma WER de 33 por cento. Dois terços das palavras estão certos, e você ainda está no compromisso errado, no dia errado. Se só “quinta” estivesse errada, a pontuação seria 11 por cento. Uma versão com todas as palavras certas, mas com um “hum” acrescentado que ninguém disse, também fica em 11 por cento, porque uma inserção conta o mesmo que uma substituição.
Antes da contagem, os dois textos costumam ser normalizados, e as escolhas feitas aqui mexem na nota tanto quanto o modelo. “Dra.” é a mesma palavra que “doutora”? “nove” é o mesmo que “9”? Maiúsculas e pontuação contam? Uma pontuação estrita marcaria “Dra.” contra “doutora” como substituição. A maioria das notas publicadas põe tudo em minúsculas, tira a pontuação e escreve todos os números de um só jeito, por extenso ou em algarismos, antes de comparar. A nota de um fornecedor, portanto, depende silenciosamente de um normalizador que você não consegue ver. Idiomas escritos sem espaços entre as palavras, como chinês, japonês e tailandês, não têm um limite claro de palavra para contar, então são avaliados pela taxa de erro de caracteres (CER, na sigla em inglês): a mesma fórmula, aplicada a caracteres.
Duas coisas decorrem disso. Primeiro, uma WER de 5 por cento é uma palavra em cada vinte, o que dá várias centenas de palavras numa conversa de uma hora. Para ter uma ideia de escala, transcritores humanos costumam ser citados com cerca de 4 a 5 por cento em fala conversacional, e um resultado muito citado de 2017 no corpus de telefonia Switchboard colocou uma máquina em cerca de 5,1 por cento, embora ambos os números dependam do áudio e das regras de pontuação. Segundo, o número depende totalmente do áudio de teste: fala lida em ambiente limpo dá um número, e um painel barulhento, com sotaques e falas sobrepostas, dá um número muito diferente. Uma WER de destaque descreve o conjunto de testes do fornecedor tanto quanto descreve o sistema do fornecedor.
Isso é a contagem. O que ela deixa de fora é o custo de cada erro para quem lê.
A WER trata cada palavra como igual. Os leitores não:
Cada um desses casos é um ou dois erros na coluna da WER. Na coluna do leitor, vão de nada a uma reunião diferente num dia diferente. Por isso, a pergunta não é apenas “qual é a taxa de erro”, mas “que tipos de erro, e o que os pega”.
Várias camadas pegam o que o reconhecimento erra, e toda alteração é registrada para que possa ser inspecionada e revertida. Numa transcrição ao vivo, isso acontece enquanto o texto ainda está chegando: cada linha aparece primeiro como um rascunho que ainda pode mudar e depois se torna final (Latência da tradução ao vivo, explicada explica o porquê).
Alguns erros combinam com o som, mas não com a frase: “a dez minutos” onde a frase pede “há dez minutos”. Esses podem ser pegos pelo contexto, e a correção chega aos leitores como uma atualização visível (transcript.amended na API), e não como uma reescrita silenciosa. O contexto é bom com palavras que a frase consegue prever. Ele é inútil com as que não consegue.
Nomes e termos técnicos são os erros que o contexto não consegue corrigir, porque um nome muitas vezes aparece só uma vez, sem nada ao redor para prevê-lo. Um roteiro de referência resolve isso: forneça ao sistema a fala, os slides ou uma lista de nomes e termos antes de começar, e as palavras dele têm prioridade sobre o que o motor entendeu errado. Durante a gravação, o roteiro acompanha a transcrição como um teleprompter, para que o apresentador veja até onde o motor chegou. Um roteiro cobre as palavras que você consegue prever; áudio ruidoso e sotaques produzem as que você não consegue.
Alguns erros só uma pessoa na sala consegue ver. Correções manuais permitem ao apresentador reescrever qualquer palavra ou linha enquanto a transcrição ainda está ao vivo, e cada ouvinte da transmissão vê a mudança. O sistema aponta ao apresentador os candidatos prováveis: palavras em que o motor ficou em dúvida podem ser destacadas em cor e sublinhadas, e o apresentador pode percorrer os trechos incertos um a um, em vez de reler a transcrição inteira. Pela API, GET /v1/recordings/{id}/corrections lista as correções de uma gravação e POST /v1/corrections/{id}/revert desfaz uma delas; veja a referência da API. Mesmo uma pessoa na sala, porém, não consegue corrigir uma linha que ninguém conseguiu ouvir.
A última camada aceita que parte do áudio não é recuperável. Quando uma linha fica abaixo do limite de confiança da transcrição (confidence.hideBelow, 0.60 por padrão), os ouvintes veem “Áudio incompreensível” no lugar, em vez de um palpite, e essa linha nunca é lida em voz alta. O leitor perde uma linha; não ganha uma inventada.
As mesmas perguntas que moldaram essas camadas se aplicam a qualquer alegação de precisão de um fornecedor, inclusive a nossa.
Uma lista curta para ler qualquer alegação de precisão:
O VocalStack não publica uma WER interna, pelo primeiro motivo acima: ela descreveria o nosso conjunto de testes, não o seu áudio. Medimos a precisão continuamente. Quando comparamos outros sistemas, usamos benchmarks independentes publicados e números publicados pelos próprios fornecedores, nunca testes privados. O resto cabe ao seu próprio áudio decidir.