Reconhecimento de fala
Observação
Consulte a guia Texto e imagens para obter mais detalhes!
O reconhecimento de fala, também chamado de conversão de fala em texto, permite que os aplicativos convertam o idioma falado em texto escrito. O percurso da onda sonora para o texto envolve seis estágios coordenados: capturar áudio, preparar recursos, modelar padrões acústicos, aplicar regras de linguagem, decodificar as palavras mais prováveis e refinar a saída final.
Captura de áudio: Converter áudio analógico em digital
O reconhecimento de fala começa quando um microfone converte ondas sonoras em um sinal digital. O sistema amostra o áudio analógico milhares de vezes por segundo — normalmente 16.000 amostras por segundo (16 kHz) para aplicativos de fala— e armazena cada medida como um valor numérico.
Observação
Por que a taxa de amostragem importa:
- Taxas mais altas (como 44,1 kHz para música) capturam mais detalhes, mas exigem mais processamento.
- O reconhecimento de fala equilibra a clareza e a eficiência em 8 kHz a 16 kHz.
- O ruído de fundo, a qualidade do microfone e a distância do falante afetam diretamente a precisão decorrente.
Antes de passar para o próximo estágio, o sistema geralmente aplica filtros básicos para remover zumbidos, cliques ou outro ruído de fundo que pode confundir o modelo.
Pré-processamento: extrair recursos significativos
Exemplos de áudio bruto contêm muita informação para o reconhecimento eficiente de padrões. O pré-processamento transforma a forma de onda em uma representação compacta que realça características de fala ao descartar detalhes irrelevantes, como volume absoluto.
Coeficientes Cepstrais de Frequência Mel (MFCCs)
O MFCC é a técnica de extração de recursos mais comum no reconhecimento de fala. Ele imita como o ouvido humano percebe o som enfatizando frequências onde a energia da fala se concentra e compactando intervalos menos importantes.
Como funciona o MFCC:
- Dividir áudio em quadros: Divida o sinal em janelas sobrepostas de 20 a 30 milissegundos.
- Aplicar a transformação Fourier: converta cada quadro do domínio de tempo em domínio de frequência, revelando quais tons estão presentes.
- Escala mapeada para Mel: ajuste os intervalos de frequência para corresponder à sensibilidade auditiva humana — distinguimos melhor os tons graves do que os agudos.
- Extrair coeficientes: Compute um pequeno conjunto de números (geralmente 13 coeficientes) que resumem a forma espectral de cada quadro.
O resultado é uma sequência de vetores de recursos , um por quadro, que captura como o áudio soa sem armazenar cada exemplo. Esses vetores se tornam a entrada para modelagem acústica.
Os vetores são extraídos por coluna, com cada vetor representando os 13 coeficientes das características MFCC para cada quadro temporal.
Frame 1: [ -113.2, 45.3, 12.1, -3.4, 7.8, ... ] # 13 coefficients
Frame 2: [ -112.8, 44.7, 11.8, -3.1, 7.5, ... ]
Frame 3: [ -110.5, 43.9, 11.5, -2.9, 7.3, ... ]
Modelagem acústica: reconhecer phonemes
Os modelos acústicos aprendem a relação entre recursos de áudio e phonemes — as menores unidades de som que distinguem palavras. O inglês usa cerca de 44 phonemes; por exemplo, a palavra "gato" é composta por três phonemes: /k/, /æ/, e /t/.
De recursos a phonemes
Os modelos acústicos modernos usam arquiteturas de transformador, um tipo de rede de aprendizado profundo que se destaca em tarefas de sequência. O transformador processa os vetores de recurso MFCC e prevê qual fonema é mais provável em cada momento no tempo.
Modelos de transformador alcançam previsão efetiva de fonemas por meio de:
- Mecanismo de atenção: O modelo examina os quadros ao redor para resolver a ambiguidade. Por exemplo, o fonema /t/ soa diferente no início de "top" e no final de "bat".
- Processamento paralelo: Ao contrário dos modelos recorrentes mais antigos, os transformadores analisam vários quadros simultaneamente, melhorando a velocidade e a precisão.
- Previsões contextualizadas: A rede aprende que determinadas sequências de phoneme ocorrem com frequência na fala natural.
A saída da modelagem acústica é uma distribuição de probabilidade sobre fonemas para cada quadro de áudio. Por exemplo, o quadro 42 pode mostrar 80% de confiança para /æ/, 15% para /ɛ/ e 5% para outros fonemas.
Observação
Os phonemes são específicos do idioma. Um modelo treinado em fonemas ingleses não pode reconhecer tons mandarim sem treinar novamente.
Modelagem de idioma: prever sequências de palavras
As previsões de phoneme por si só não garantem a transcrição precisa. O modelo acústico pode confundir "deles" e "lá" porque eles compartilham fonemas idênticos. Os modelos de linguagem resolvem a ambiguidade aplicando conhecimento de vocabulário, gramática e padrões comuns de palavras. Algumas maneiras pelas quais o modelo guia a previsão de sequência de palavras incluem:
- Padrões estatísticos: o modelo sabe que "O clima está bom" aparece com mais frequência em dados de treinamento do que "O se é bom".
- Consciência de contexto: depois de ouvir "Eu preciso", o modelo espera verbos como "ir" ou "concluir", não substantivos como "tabela".
- Adaptação de domínio: Modelos de linguagem personalizados treinados em terminologia médica ou legal melhoram a precisão para cenários especializados.
Decodificação: selecione a melhor hipótese de texto
Algoritmos de decodificação pesquisam milhões de sequências de palavras possíveis para encontrar a transcrição que melhor corresponde às previsões do modelo acústico e de linguagem. Esse estágio equilibra duas metas concorrentes: manter-se fiel ao sinal de áudio ao produzir texto legível e gramaticalmente correto.
Decodificação de feixe de busca
A técnica mais comum, a pesquisa de feixe, mantém uma lista de seleção (o "feixe") de transcrições parciais de pontuação superior à medida que processa cada quadro de áudio. A cada etapa, a hipótese é estendida com a próxima palavra mais provável, enquanto os caminhos de baixa pontuação são eliminados, mantendo apenas os melhores candidatos.
Para um enunciado de três segundos, o decodificador pode avaliar milhares de hipóteses antes de selecionar "Envie o relatório até sexta-feira" sobre alternativas como "Envie o relatório comprar sexta-feira".
Cuidado
A decodificação é computacionalmente intensiva. Os aplicativos em tempo real equilibram a precisão e a latência limitando a largura do feixe e a profundidade da hipótese.
Pós-processamento: refinar a saída
O decodificador produz texto bruto que geralmente requer limpeza antes da apresentação. O pós-processamento aplica regras de formatação e correções para melhorar a legibilidade e a precisão.
Tarefas comuns pós-processamento:
- Capitalização: Converta "olá meu nome é Sam" em "Olá, meu nome é Sam".
- Restauração de pontuação: Adicione períodos, vírgulas e pontos de interrogação com base em prosódia e gramática.
- Formatação de número: Altere "mil vinte e três" para "1.023".
- Filtragem de palavrões: Mascarar ou remover palavras inadequadas quando exigido pela política.
- Normalização inversa de texto: Converta formas faladas como "três da tarde" em "15:00".
- Pontuação de confiança: Sinalizar palavras de baixa confiança para revisão humana em aplicativos críticos, como transcrição médica.
A Fala do Azure retorna a transcrição final junto com metadados, como carimbos de data/hora no nível de palavra e pontuações de confiança, permitindo que seu aplicativo destaque segmentos incertos ou acione comportamentos de fallback.
Como o pipeline funciona em conjunto
Cada estágio se baseia no anterior:
- A captura de áudio fornece o sinal bruto.
- O pré-processamento extrai recursos do MFCC que realçam padrões de fala.
- A modelagem acústica prevê probabilidades de phoneme usando redes transformadoras.
- A modelagem de linguagem aplica o vocabulário e o conhecimento gramatical.
- A decodificação procura a melhor sequência de palavras.
- O pós-processamento formata o texto para leitores humanos.
Ao separar preocupações, os sistemas modernos de reconhecimento de fala alcançam alta precisão entre linguagens, acentos e condições acústicas. Quando a qualidade da transcrição fica aquém, muitas vezes você pode rastrear o problema para um estágio — captura de áudio ruim, treinamento de modelo de linguagem insuficiente ou pós-processamento excessivamente agressivo — e ajustar adequadamente.