Meça e melhore a precisão da voz

O reconhecimento de voz automático (ASR), também conhecido como transcrição automática ou conversão de voz em texto (STT), usa a aprendizagem automática para transformar áudio com voz em texto. A ASR tem muitas aplicações, desde legendagem a assistentes virtuais, passando por respostas de voz interativas (IVRs), ditado e muito mais. No entanto, os sistemas de aprendizagem automática raramente são 100% precisos e o RFA não é exceção. Se planeia usar o RFA para sistemas críticos, é muito importante medir a respetiva precisão ou qualidade geral para compreender o respetivo desempenho no sistema mais amplo que o integra.

Depois de medir a precisão, é possível ajustar os sistemas para oferecerem uma precisão ainda maior para a sua situação específica. Na Cloud Speech-to-Text API da Google, pode ajustar a precisão escolhendo o modelo de reconhecimento mais adequado e usando a nossa API Speech Adaptation. Oferecemos uma grande variedade de modelos adaptados a diferentes exemplos de utilização, como áudio de formato longo, conversas médicas ou por telefone.

Definir a precisão da voz

A precisão da voz pode ser medida de várias formas. Pode ser útil usar várias métricas, consoante as suas necessidades. No entanto, o método padrão da indústria para comparação é a taxa de erro de palavras (WER), frequentemente abreviada como WER. A WER mede a percentagem de transcrições de palavras incorretas no conjunto completo. Uma WER mais baixa significa que o sistema é mais preciso.

Também pode ver o termo dados de referência usado no contexto da precisão da RFA. A verdade fundamental é a transcrição 100% precisa, normalmente fornecida por humanos, que usa para comparar e medir a precisão.

Taxa de erros de palavras (WER)

A WER é a combinação de três tipos de erros de transcrição que podem ocorrer:

  • Erro de inserção (I): palavras presentes na transcrição da hipótese que não estão presentes na verdade fundamental.
  • Erros de substituição (S): palavras presentes na hipótese e na verdade fundamental, mas que não foram transcritas corretamente.
  • Erros de eliminação (D): palavras em falta na hipótese, mas presentes na verdade comprovada.

\[WER = {S+R+Q \over N}\]

Para encontrar a WER, adicione o número total de cada um destes erros e divida pelo número total de palavras (N) na transcrição de referência. A WER pode ser superior a 100% em situações com uma precisão muito baixa, por exemplo, quando é inserida uma grande quantidade de texto novo. Nota: a substituição é essencialmente uma eliminação seguida de uma inserção, e algumas substituições são menos graves do que outras. Por exemplo, pode haver uma diferença na substituição de uma única letra em comparação com uma palavra.

Relação do WER com uma pontuação de confiança

A métrica WER é independente de uma classificação de confiança e, normalmente, não existe correlação entre elas. Uma pontuação de confiança baseia-se na probabilidade, enquanto a WER se baseia no facto de a palavra ser identificada corretamente ou não. Se a palavra não for identificada corretamente, significa que mesmo pequenos erros gramaticais podem causar um WER elevado. Uma palavra identificada corretamente resulta num WER baixo, o que ainda pode resultar numa probabilidade baixa, o que faz com que a confiança seja baixa se a palavra não for muito frequente ou o áudio for muito ruidoso.

Da mesma forma, uma palavra usada com frequência pode ter uma elevada probabilidade de ser transcrita corretamente pelo RFA, o que aumenta a pontuação de confiança. Por exemplo, quando é identificada uma diferença entre "I" e "eye", pode ocorrer uma confiança elevada, porque "I" é uma palavra mais popular, mas a métrica WER é reduzida por esta diferença.

Em resumo, as métricas de confiança e WER são independentes e não devem ter uma correlação.

Normalização

Ao calcular a métrica WER, a transcrição automática é comparada com uma transcrição de referência fornecida por um humano. O texto de ambas as transcrições é normalizado antes de se fazer a comparação. A pontuação é removida e as letras maiúsculas são ignoradas quando se compara a transcrição automática com a transcrição de referência fornecida por humanos.

Convenções de exatidão

É importante reconhecer que não existe um único formato de transcrição acordado por humanos para qualquer áudio. Existem muitos aspetos a considerar. Por exemplo, o áudio pode ter outras vocalizações que não são de voz, como "hum", "sim" ou "hummm". Alguns modelos de STT do Google Cloud, como "medical_conversation", incluem estas vocalizações, enquanto outros não. Por conseguinte, é importante que as convenções de verdade absoluta correspondam às convenções do modelo que está a ser avaliado. As seguintes diretrizes de alto nível são usadas para preparar uma transcrição de texto de dados reais para um determinado áudio.

  • Além das letras padrão, pode usar os dígitos 0 a 9.
  • Não use símbolos como "@", "#", "$", ".". Use palavras como "arroba", "hash", "dólar", "ponto".
  • Use "%", mas apenas quando for precedido por um número; caso contrário, use a palavra "por cento".
  • Use "\$" apenas quando seguido de um número, como "O leite custa 3,99 €".

  • Use palavras para números inferiores a 10.

    • Por exemplo, "Tenho quatro gatos e 12 chapéus."
  • Use números para medidas, moeda e fatores grandes, como milhões, mil milhões ou mil biliões. Por exemplo, "7,5 milhões" em vez de "sete milhões e meio".

  • Não use abreviaturas nos seguintes casos:

    O que deve fazer O que não deve fazer
    Warriors contra Lakers Warriors contra Lakers
    Vivo na Rua 123 Vivo em 123 Main St

Medir a precisão da voz

Os passos seguintes ajudam a começar a determinar a precisão através do áudio:

Reúna ficheiros de áudio de teste

Recolha uma amostra representativa de ficheiros de áudio para medir a respetiva qualidade. Esta amostra deve ser aleatória e deve estar o mais próxima possível do ambiente de destino. Por exemplo, se quiser transcrever conversas de um centro de chamadas para ajudar na garantia de qualidade, deve selecionar aleatoriamente algumas chamadas reais gravadas no mesmo equipamento através do qual o áudio de produção é transmitido. Se o áudio for gravado no microfone do telemóvel ou do computador e não for representativo do seu exemplo de utilização, não use o áudio gravado.

Grave, pelo menos, 30 minutos de áudio para obter uma métrica de precisão estatisticamente relevante. Recomendamos que use entre 30 minutos e 3 horas de áudio. Neste laboratório, o áudio é fornecido.

Obtenha transcrições de factos observáveis

Obtenha transcrições precisas do áudio. Normalmente, isto envolve uma transcrição humana de passagem única ou dupla do áudio de destino. O seu objetivo é ter uma transcrição 100% precisa para medir os resultados automatizados.

É importante que as transcrições de dados reais correspondam o mais possível às convenções de transcrição do seu sistema de RFA alvo. Por exemplo, certifique-se de que a pontuação, os números e a utilização de maiúsculas/minúsculas são consistentes.

Obtenha uma transcrição automática e corrija quaisquer problemas no texto que detetar.

Obtenha a transcrição automática

Envie o áudio para a Cloud Speech-to-Text API e obtenha a transcrição da hipótese através da IU do Cloud Speech-to-Text.

Sincronize o facto observável com o áudio

Na ferramenta de IU, clique em Anexar dados de referência para associar um determinado ficheiro de áudio aos dados de referência fornecidos. Depois de concluir a associação, pode ver a métrica WER e a visualização de todas as diferenças.