Metodologia de benchmark de fala para texto
A Artificial Analysis avalia modelos de fala para texto (STT), também conhecidos como modelos de reconhecimento automático de fala (ASR), quanto a acurácia, velocidade e preço. Avaliamos tanto a transcrição sem streaming (também conhecida como offline/em lote) quanto a transcrição em streaming. A acurácia (WER), a normalização, os conjuntos de dados e os critérios de inclusão de modelos são compartilhados entre as duas modalidades; as seções abaixo definem primeiro esses fundamentos comuns e depois abordam as métricas específicas das avaliações em lote e em streaming.
Principais métricas
Taxa de erro de palavras (WER)
A taxa de erro de palavras (WER) mede a acurácia da transcrição comparando a saída do modelo com uma transcrição de referência (transcrição humana verificada).
Fórmula:
WER = (Substituições + Inserções + Exclusões) ÷ Palavras na referênciaExemplo:
- Referência: the cat sat on the mat
- Hipótese: cat is on the big mat
- Erros: exclusão (the), substituição (sat → is), inserção (big)
- WER = 3 ÷ 6 = 50%
Mais detalhes na seção Avaliação da taxa de erro de palavras (WER).
Fator de velocidade (lote)
Indica a rapidez com que uma API de transcrição em lote transcreve um áudio em comparação com a duração real desse áudio.
- Um valor acima de 1 significa que o serviço transcreve mais rápido do que em tempo real (por exemplo, 2,0 significa que 10 minutos de áudio podem ser transcritos em 5 minutos).
Nosso benchmark em lote inclui a latência da rede. Os pontos exibidos em Fator de velocidade ao longo do tempo são a mediana de quatro medições aleatórias realizadas em um período de 24 horas. As barras exibidas em Fator de velocidade são a mediana dos últimos 7 dias.
Fórmula:
Fator de velocidade = Duração do áudio ÷ Tempo de resposta da APIMétricas de latência (streaming)
Para modelos de streaming, relatamos duas métricas de latência:
- Tempo até a transcrição final: tempo até a primeira transcrição marcada como final compartilhada depois que o SileroVAD detecta o fim da fala.
- Tempo até a primeira transcrição parcial: tempo até a primeira transcrição marcada como parcial compartilhada depois que o SileroVAD detecta o fim da fala.
Consulte a seção Fala para texto em streaming para saber mais sobre a medição.
Preço por 1.000 minutos
Representa o custo estimado para transcrever 1.000 minutos de áudio, normalizado entre provedores com diferentes modelos de cobrança.
Como calculamos
- Duração do áudio: usa o preço de transcrição por duração publicado pelo provedor.
- Tempo de processamento: mede o tempo de processamento em uma amostra variada de áudio e converte as cobranças por tempo de processamento em custo por 1.000 minutos de áudio.
- Tokens: mede o uso de tokens faturados em uma amostra representativa de áudio e converte o gasto observado em custo por 1.000 minutos de áudio. Quando os provedores apresentam separadamente os tokens de raciocínio, eles são incluídos de forma explícita; caso contrário, os tokens de saída faturados podem incluir tanto a saída visível quanto os tokens de raciocínio interno.
- Plano de assinatura: usa o plano com menor custo inicial capaz de comportar, de forma realista, 1.000 minutos de transcrição em um mês dentro dos limites declarados pelo provedor.
Unidade comum
Em todos os casos, os preços são convertidos para a mesma unidade: custo estimado por 1.000 minutos de áudio transcrito.
Avaliação da taxa de erro de palavras (WER)
A Artificial Analysis realiza testes independentes de WER em todos os pares de modelo e provedor.
Principais detalhes:
- Os endpoints de API são testados diretamente para refletir o desempenho percebido pelo usuário final.
- Avaliação atual: cerca de 8 horas de áudio entre AA-AgentTalk, VoxPopuli-Cleaned-AA e Earnings22-Cleaned-AA (detalhes abaixo). Os resultados de cada conjunto de dados são calculados como uma média ponderada por tempo; depois, usamos uma média ponderada de 50% AgentTalk, 25% VoxPopuli e 25% Earnings22 para gerar nosso resultado AA-WER.
- Quando os modelos aceitam prompts, fornecemos: "Transcribe the audio verbatim, outputting only spoken words in sequence."
Conjuntos de dados
AA-AgentTalk (proprietário, reservado): conjunto de dados de avaliação proprietário desenvolvido pela Artificial Analysis, com foco em falas relevantes para casos de uso de agentes de voz. Consulte nosso artigo no blog para mais detalhes.
- Número de amostras: 469
- Faixa de duração das amostras: 8–109 segundos
- Duração total: cerca de 250 minutos
VoxPopuli-Cleaned-AA: sessões do Parlamento Europeu.
- Subconjunto: inglês
- Número de amostras: 628
- Faixa de duração das amostras: 5–38 segundos
- Duração total: cerca de 119 minutos
Earnings22-Cleaned-AA: teleconferências de resultados corporativos com linguagem técnica e falantes sobrepostos.
- Número de amostras: 6
- Faixa de duração das amostras: cerca de 14–22 minutos
- Duração total: cerca de 115 minutos
Para mais detalhes sobre VoxPopuli-Cleaned-AA e Earnings22-Cleaned-AA, consulte nosso artigo no blog. A versão atual das transcrições revisadas nos dois repositórios é a versão 1.0, usada no AA-WER v2.
Essas transcrições revisadas refletem nosso melhor esforço para estabelecer uma referência literal, com base em revisão manual e validação cruzada de todo o conjunto de dados. Aprimoramentos futuros serão publicados em versões posteriores. Se você encontrar algum problema, envie seus comentários pela nossa página de contato ou pelo Discord.
Segmentação de áudio (Earnings22)
O Earnings22 contém arquivos mais longos (cerca de 14–22 minutos), portanto a segmentação varia conforme o modo de avaliação e a configuração do modelo. Na transcrição sem streaming (em lote/offline), avaliamos o áudio completo da chamada original por padrão. Quando o modelo ou os limites da API exigem entradas mais curtas, ou quando isso é necessário para evitar truncamentos ou timeouts, segmentamos o Earnings22 começando com trechos de aproximadamente 9 minutos e reduzimos para trechos de aproximadamente 30 segundos somente se necessário. Na transcrição em streaming, a maioria das execuções do Earnings22 usa trechos de aproximadamente 30 segundos, com os resultados agregados novamente nas chamadas originais; algumas configurações de streaming são avaliadas com o áudio completo da chamada original quando isso corresponde melhor ao comportamento do endpoint do provedor. Sempre que possível, os limites dos trechos são posicionados nos limites da fala para evitar cortes no meio de uma palavra. As amostras do AA-AgentTalk e do VoxPopuli são curtas o suficiente para dispensar a segmentação.
Para áudios segmentados do Earnings22, agregamos os resultados novamente na chamada original:
- WER: as transcrições dos trechos são concatenadas novamente em suas respectivas chamadas originais, e o WER é calculado sobre a transcrição combinada em comparação com a referência da chamada original. Em seguida, o WER é ponderado pela duração do áudio entre as chamadas originais, de forma consistente com todos os outros conjuntos de dados.
- Latência de streaming: o tempo até a transcrição final e o tempo até a primeira transcrição parcial são agregados como uma média simples entre os trechos.
Amostras de áudio
"Fantastic, the blog post about remote work best practices is ready to publish. The interview quotes from our distributed team members add authenticity, and the productivity statistic from Buffer's study support our main points. Schedule it for Tuesday at ten AM and promote it across our social channels. This should drive good engagement with our HR software prospects."
"I'd like to speak with someone about setting up a payment plan for my outstanding balance. My account has been past due for about two months now. The account is A A C, excuse me, A C C nine nine five two seven."
"Also can you adjust the Philips Hue bulbs in the dining room to that warm amber setting turn down the chandelier to about thirty percent brightness?"
Original: "Mr President, I have another complaint about this procedure, which is that it is not secret."
Revisada: "Thank you Mr President, I have another complaint about this procedure, which is that it's not secret."
Original: "Furthermore the AFET opinion divides eligible countries into candidate, potential candidate, neighbourhood and in exceptional and duly justified circumstances strategically important third counties."
Revisada: "Furthermore, the opinion of AFET divides eligible countries into candidate, potential candidate, neighbourhood and, in exceptional and duly justified circumstances, strategically important third countries."
"Thank you, Darcy, and welcome everyone to our December quarterly analyst call. December quarterly production showed a considerable improvement on the September quarter with record production throughput and improving grades, improving recoveries and improving cash flow. Unfortunately, delays accessing higher grade parts of the open pit resulted in lower grades than projected in our guidance. On the exploration front, today we announced a 70% increase in our 100% owned Yamarna resources. So they now sit at 0.5 million ounces..."
Processo de normalização
Antes da comparação, tanto a referência verificada (ground truth) quanto a hipótese de transcrição do modelo são normalizadas usando o normalizador do Whisper da OpenAI:
- Converter todo o texto para letras minúsculas; remover texto entre colchetes e palavras de preenchimento ("uh", "um"); normalizar os espaços em branco
- Expandir contrações (won't vs. will not, I'm vs. I am)
- Padronizar números (twenty five vs. 25, two point five vs. 2.5)
- Normalizar pontuação e símbolos (remover marcas sem valor semântico, padronizar moedas e porcentagens)
- Padronizar a ortografia (por exemplo, colour vs. color)
Além do normalizador do Whisper da OpenAI, também adicionamos outras normalizações:
- Formatação de dígitos, IDs e números de telefone em formas equivalentes compactas, espaçadas, entre parênteses e agrupadas com hífens (por exemplo, 1405 553 272 vs. 1405553272, (303) 775-4498 vs. 303 775 4498, CLM-2024-0873 vs. CLM 2024 0873)
- Nomes com letras separadas e sequências soletradas em diferentes estilos de separador (por exemplo, S I N G H vs. S-I-N-G-H, A B C vs. A-B-C)
- Preservação de zeros à esquerda e normalização de formas faladas equivalentes de símbolos (por exemplo, 06100052, + vs. plus, engagement underscore rate vs. engagement_rate)
- Formatação de horário em formas equivalentes de relógio (por exemplo, 7:00pm vs. 7pm, 10:30 AM vs. ten thirty AM)
- Inclusão de equivalências ortográficas adicionais entre o inglês dos EUA e do Reino Unido (por exemplo, totalled vs. totaled)
- Grafias equivalentes aceitas para nomes próprios ambíguos em nosso conjunto de dados (por exemplo, Mateo vs. Matteo)
- Formatação de intervalos numéricos quando os extremos e as unidades correspondem (por exemplo, 15-20 minutes vs. fifteen to twenty minutes, 6-8% vs. six to eight percent)
- Variações comuns de espaçamento e hifenização quando o significado não muda (por exemplo, hard-coded vs. hardcoded, up front vs. upfront, Sea-Tac vs. SeaTac)
- Preservação de códigos e símbolos com significado quando a omissão ou substituição altera a transcrição (por exemplo, F-150, W-2, $50, 5%)
- Expressões faladas repetidas de números grandes são mantidas separadas, em vez de serem combinadas em um novo número (por exemplo, twelve million twelve million se torna 12,000,000 12,000,000, e não 24,000,000)
- O conteúdo transcrito entre colchetes é mantido, enquanto tags de anotação como [music], '<unk>' e language English'<asr_text>' são removidas
Exemplo:
- Referência verificada: Hello, I'm Dr. Smith. I have twenty-five patients today.
- Saída do modelo: hello i am doctor smith i have 25 patients today
- Após a normalização: hello i am doctor smith i have 25 patients today
Cálculo do WER
- O WER se baseia na distância de Levenshtein, que alinha duas sequências encontrando o número ideal de substituições, inserções e exclusões necessárias para transformar uma sequência na outra.
- Nesse contexto, ele mede as edições necessárias para transformar a transcrição do modelo (hipótese) de volta na transcrição humana verificada (referência).
- Os resultados de cada conjunto de dados são agregados como um WER médio ponderado pela duração do áudio, para que um grande número de clipes curtos não distorça os resultados em comparação com arquivos mais longos.
Fala para texto em streaming
O benchmark de streaming representa a acurácia dos modelos de streaming, especialmente em casos de uso de agentes de voz, mantendo a comparabilidade com o benchmark em lote acima. O WER, a normalização, os conjuntos de dados, a ponderação e a segmentação de áudio seguem as definições acima. Relatamos o WER da transcrição final e, separadamente, o WER da transcrição parcial para a primeira parcial após o fim da fala.
No streaming, as métricas de latência são ponderadas por amostra dentro de cada conjunto de dados, enquanto o WER continua sendo ponderado pela duração do áudio. Para áudios segmentados do Earnings22, consulte a observação sobre a agregação dos trechos acima.
Mecânica do streaming
O áudio é transmitido em tempo real em trechos de 20 ms ou conforme recomendado na configuração pública do modelo. Os modelos STT de streaming retornam dois tipos de transcrição:
- Parciais: ainda não confirmadas e sujeitas a alterações.
- Finais: confirmadas e sem novas alterações.
O atraso da rede é incluído em todas as medições de latência. Ele reflete a experiência real do usuário final em modelos proprietários e pode ser difícil de padronizar entre provedores.
Finalização forçada
A maioria dos modelos permite acionar uma transcrição final em um momento específico, como quando um VAD separado detecta o fim da fala. Isso é importante porque os desenvolvedores de agentes de voz costumam usar um modelo separado e ajustado de detecção de fim de fala para controlar o grau de agressividade com que as transcrições são obtidas. Os modelos compatíveis com finalização forçada são avaliados pelo fluxo padrão abaixo; os demais são avaliados pela lógica alternativa (consulte os detalhes da lógica de temporização abaixo).
Quando um provedor oferece configurações relacionadas à finalização, nós as ajustamos para que apenas o sinal de finalização forçada acione uma transcrição final e usamos a configuração recomendada publicamente pelo provedor para esse caso de uso.
Lógica de temporização: compatível com finalização forçada
- Transmitimos o áudio em tempo real. Quando o SileroVAD detecta o fim da fala, enviamos a solicitação force-endpoint.
- O cronômetro de tempo até a transcrição final começa no instante real em que o áudio até o ponto de fim da fala foi efetivamente transmitido e o sinal force-endpoint foi enviado, e não no timestamp de fim da fala do arquivo de áudio. Isso evita contaminar a latência com desvios de cadência no sistema de testes ou no modelo.
- O cronômetro para na próxima transcrição final do modelo; o WER é calculado com base nas transcrições finais combinadas.
- Se o modelo já tiver compartilhado uma transcrição final antes do acionamento do SileroVAD, usamos a mais recente.
- O tempo até a primeira transcrição parcial é medido da mesma forma, parando na primeira parcial recebida após o sinal force-endpoint.
Lógica de temporização: incompatível com finalização forçada
- Usar a primeira transcrição final natural recebida até 2 s após o fim da fala detectado pelo SileroVAD.
- Se nenhuma transcrição final natural aparecer em até 2 s, usar a primeira parcial recebida após 2 s.
- Se nada for recebido após 2 s, usar a parcial mais recente recebida antes de 2 s.
Métricas relatadas
O WER final é calculado a partir das transcrições finais combinadas mais a transcrição final selecionada ou a parcial alternativa definida pela lógica acima, enquanto o WER parcial é calculado a partir das transcrições finais combinadas mais a parcial selecionada após a finalização pela lógica acima. Ambos são comparados com a transcrição de referência completa. Como a primeira parcial após a finalização geralmente reflete um ponto anterior na saída de streaming do modelo, o WER parcial e o WER final são relatados separadamente, em vez de comparados diretamente.
Critérios de inclusão de modelos
Nosso objetivo é representar os modelos de fala para texto mais populares e com melhor desempenho, ajudando os usuários finais a escolher os modelos e provedores que desejam usar. Por isso, aplicamos critérios de relevância para o setor e desempenho competitivo ao avaliar a inclusão de novos modelos e provedores. Estamos aprimorando esses critérios e aceitamos comentários e sugestões. Para sugerir modelos, entre em contato conosco pela página de contato.
Histórico de versões
AA-WER v2.2
Maio de 2026–atual
- Atualizamos novamente o normalizador de comparação de textos em inglês para tratar outras variações de transcrição que preservam o significado como equivalentes, mantendo as penalidades por omissões ou substituições que alteram o significado:
- Variações de apóstrofos Unicode em redações equivalentes (por exemplo, we’re vs. we're)
- Formatação de porcentagens com sinal quando o significado corresponde (por exemplo, -12% vs. negative twelve percent)
- Agrupamento decimal quando não há indicador de moeda (por exemplo, 99.99 vs. ninety-nine ninety-nine), mantendo as penalidades quando faltam símbolos de moeda (por exemplo, $71.50 não equivale a seventy-one fifty)
- Variações de hífen ou travessão apenas na formatação (por exemplo, 18-year-old vs. 18 year old)
- Pontuação técnica em contextos claros de código, URL e e-mail (por exemplo, UserController.java vs. UserController dot java, /v1/users vs. slash v1 slash users, gmail.com vs. gmail dot com)
- Variações de versão, decimal e fração quando as formas falada e escrita correspondem (por exemplo, version 1.24.3 vs. version one point twenty-four dot three, 1.0 vs. one point zero, 1.25 inches vs. one and a quarter inches)
- Abreviações de unidades quando o significado não muda (por exemplo, mg/dL vs. milligrams per deciliter, GB vs. gigabytes)
- Lançamos a avaliação de fala para texto em streaming, adicionando as métricas de latência de tempo até a transcrição final e tempo até a primeira transcrição parcial.
AA-WER v2.1
Abril de 2026–maio de 2026
- Atualizamos o normalizador de comparação de textos em inglês para tratar outras variações de transcrição que preservam o significado como equivalentes, mantendo as penalidades por omissões ou substituições que alteram o significado:
- Formatação de IDs e números de telefone quando hífens ou espaços são usados apenas para agrupar dígitos (por exemplo, 303-775-4498 vs. 303 775 4498, CLM-2024-0873 vs. CLM 2024 0873)
- Nomes com letras separadas e sequências soletradas em diferentes estilos de separador (por exemplo, S I N G H vs. S-I-N-G-H)
- Formatação de intervalos numéricos quando os extremos e as unidades correspondem (por exemplo, 15-20 minutes vs. fifteen to twenty minutes, 6-8% vs. six to eight percent)
- Variações comuns de espaçamento e hifenização quando o significado não muda (por exemplo, hard-coded vs. hardcoded, up front vs. upfront, Sea-Tac vs. SeaTac)
- Preservação de códigos e símbolos com significado quando a omissão ou substituição altera a transcrição (por exemplo, F-150, W-2, $50, 5%)
- Expressões faladas repetidas de números grandes são mantidas separadas, em vez de serem combinadas em um novo número (por exemplo, twelve million twelve million se torna 12,000,000 12,000,000, e não 24,000,000)
- O conteúdo transcrito entre colchetes é mantido, enquanto tags de anotação como [music], '<unk>' e language English'<asr_text>' são removidas
AA-WER v2.0
Fevereiro de 2026–atual
- Introduzimos o AA-AgentTalk, um novo conjunto de dados de avaliação proprietário (com peso de 50%) voltado a casos de uso de agentes de voz, que serve como um conjunto de teste privado e reservado.
- Revisamos as transcrições de referência do VoxPopuli e do Earnings22, corrigindo erros para garantir uma avaliação mais justa.
- Removemos o AMI SDM do benchmark devido a problemas de qualidade nas transcrições.
- Usamos um normalizador personalizado baseado no normalizador de inglês do Whisper para reduzir valores de WER artificialmente elevados por diferenças de formatação, e não por erros reais de transcrição.
- Nova ponderação: 50% AA-AgentTalk, 25% Earnings22-Cleaned-AA e 25% VoxPopuli-Cleaned-AA.
AA-WER v1.0
Setembro de 2025–fevereiro de 2026
- Lançamento inicial com três conjuntos de dados públicos: AMI SDM, VoxPopuli e Earnings22.
- Cerca de 6 horas de áudio em três conjuntos de dados.