Glossário / Como ele ouve você
Reconhecimento automático de fala
Também: ASR
Atualizado em
Definição
Reconhecimento automático de fala (ASR) é a área do aprendizado de máquina, e a classe de modelos, que transforma fala humana em texto. Modelos de ASR são o motor de todo produto de ditado e transcrição.
Os modelos de ASR modernos são redes neurais treinadas com grandes quantidades de fala gravada. Entre as famílias conhecidas estão o Whisper (OpenAI, código aberto), o Parakeet (NVIDIA, código aberto) e os motores proprietários dos serviços na nuvem do Google, da Apple e de outros.
A qualidade de ASR costuma ser informada como taxa de erro de palavras (WER) em áudio de benchmark. A qualidade no mundo real também depende do seu microfone, do ambiente, do sotaque e do vocabulário, e é por isso que dicionários pessoais e vocabulários de área importam tanto quanto o modelo em destaque.
Como os modelos são construídos
Um modelo de ASR é treinado com pares de áudio e da transcrição correta, centenas de milhares de horas deles, até conseguir prever o texto de um áudio que nunca ouviu. Os sistemas mais antigos separavam o modelo acústico (sons para fonemas) do modelo de linguagem (fonemas para palavras prováveis). Os sistemas atuais são de ponta a ponta: uma única rede mapeia o áudio diretamente para tokens de texto, o que é mais simples, mais preciso e mais fácil de rodar em hardware comum.
Duas arquiteturas dominam hoje. Os modelos codificador-decodificador, como o Whisper, leem um trecho inteiro de áudio e depois escrevem a transcrição, o que os torna precisos e voltados ao processamento em lote. Os modelos transdutores, como o Parakeet, emitem tokens à medida que o áudio chega, o que permite o streaming.
O que decide a precisão na prática
O tamanho do modelo e os dados de treino definem o teto. Tudo abaixo dele depende de você: a qualidade do microfone, a distância até ele, o eco do ambiente, o ruído de fundo, o sotaque e o vocabulário. Nomes, jargões e termos de produto são onde todo modelo tropeça, porque são raros nos dados de treino, e é por isso que um dicionário pessoal e uma etapa de correção que leva o contexto em conta costumam melhorar mais a precisão no dia a dia do que trocar por um modelo maior.
Os modelos abertos mudaram a categoria
Até 2022, o ASR competitivo ficava atrás de APIs na nuvem. O lançamento aberto do Whisper, seguido pelo Parakeet e outros, pôs o reconhecimento de ponta nas mãos de qualquer pessoa, e o Apple silicon deu aos notebooks o poder de processamento para rodá-lo. É por isso que o ditado privado e local deixou de ser uma concessão e virou o padrão em poucos anos.
Como comparar dois modelos de ASR com a sua própria voz
Pontuações de benchmark descrevem o áudio do benchmark. A única forma de saber como um modelo lida com a sua voz, o seu ambiente e o seu vocabulário é rodá-lo em uma gravação sua. A ferramenta de linha de comando aberta do Whisper torna isso uma tarefa rápida no Terminal. Ela precisa do Python e do ffmpeg instalados antes.
- Grave um ou dois minutos de você falando do jeito que costuma ditar, incluindo alguns nomes e termos técnicos, e salve como um arquivo de áudio.
- Instale o Whisper no Terminal com: pip install -U openai-whisper
- Transcreva o arquivo com um modelo pequeno: whisper myclip.m4a --model small --output_format txt
- Renomeie o arquivo de texto que ele gerou e rode o mesmo comando com --model turbo.
- Compare as duas transcrições com o que você realmente disse e conte as palavras erradas, faltando e sobrando em cada uma.
- Divida o número de erros pelo número de palavras que você falou. Essa é a sua WER pessoal para cada modelo.
O que um modelo de ASR devolve além das palavras
Os reconhecedores mais antigos devolviam uma sequência simples de palavras em minúsculas. Os modelos abertos atuais devolvem mais, e saber o que está disponível mostra o que um produto feito com eles pode fazer sem trabalho extra.
- Pontuação e maiúsculas. O Parakeet TDT 0.6B lista as duas como recursos integrados.
- Marcas de tempo. O Parakeet devolve marcas de tempo por palavra e por segmento, e o Whisper tem uma opção word_timestamps.
- Arquivos de legenda. A ferramenta de linha de comando do Whisper pode gerar saída em txt, vtt, srt, tsv e json.
- O idioma. O Whisper e o Parakeet TDT 0.6B v3 detectam o idioma falado quando você não o especifica.
- Uma tradução. Os modelos multilíngues do Whisper podem traduzir fala em outros idiomas para texto em inglês.
O ASR é preciso? Por que um modelo tem várias pontuações
Não existe um número único de precisão para um modelo de ASR. A NVIDIA informa uma WER média de 6,34% para o Parakeet TDT 0.6B v3 nos oito conjuntos de teste em inglês do Hugging Face Open ASR Leaderboard, mas os conjuntos individuais vão de 1,93% no LibriSpeech test-clean a 11,42% no Earnings-22, que reúne gravações de teleconferências de resultados de empresas.
O idioma importa tanto quanto o tipo de áudio. O model card do Whisper diz que os modelos mostram resultados fortes em cerca de 10 idiomas e que a precisão é menor em idiomas com menos dados de treinamento. Ao ler uma pontuação, verifique em qual conjunto de teste e em qual idioma ela foi medida antes de compará-la com outra.
Perguntas que as pessoas fazem.
Qual é o melhor modelo de ASR para ditado?
Para ditado ao vivo, um modelo com suporte a streaming, como o Parakeet, porque as palavras aparecem enquanto você fala. Para a maior cobertura de idiomas, um modelo treinado em muitos idiomas, como o Whisper, com 99, ou o Omnilingual ASR da Meta, com mais de 1.600. A maioria das boas ferramentas usa mais de um e escolhe de acordo com o idioma e a tarefa. No Apple silicon, todos eles rodam localmente.
ASR é a mesma coisa que conversão de fala em texto?
ASR é o nome técnico dos modelos e da área de pesquisa. Conversão de fala em texto é o nome em linguagem simples do que eles fazem. Numa página de produto, os dois termos são equivalentes.
Por que o ASR erra os meus nomes?
Porque um modelo só viu um nome tantas vezes quanto ele apareceu no áudio de treino, o que, para a maioria dos nomes e termos de produto, é raramente. Ele escreve a grafia mais provável daqueles sons. Um dicionário com os seus termos, e a correção com base nos nomes que ele vê na tela ou no seu projeto, resolvem isso melhor do que qualquer troca de modelo.
O que significa ASR?
ASR é a sigla de automatic speech recognition (reconhecimento automático de fala). É a tecnologia que transforma fala gravada ou ao vivo em texto.
Posso rodar um modelo de ASR no meu próprio computador?
Sim. Modelos abertos como o Whisper e o Parakeet podem ser baixados e rodados localmente. O Whisper é instalado com pip e roda pelo Terminal no Mac.
Os modelos de ASR adicionam pontuação?
Muitos modelos atuais, sim. A NVIDIA lista pontuação e maiúsculas automáticas como recursos do Parakeet TDT 0.6B, e o Whisper também escreve texto pontuado.