Melhore a precisão do reconhecimento com a lista de frases

Uma lista de frases é uma lista de palavras ou expressões que fornece previamente para ajudar a melhorar o respetivo reconhecimento. Quando adicionas uma frase a uma lista de frases, aumentas a sua importância, por isso o sistema é mais provável que a reconheça.

Importante

A lista de frases é uma funcionalidade de reconhecimento em tempo de execução aplicada ao nível do endpoint. Funciona com:

  • Transcrição em tempo real (Speech SDK, Voice CLI, Speech Studio)
  • API de transcrição rápida
  • API de transcrição de fala do LLM
  • Voice Live API

A lista de frases funciona tanto com pontos finais de voz predefinidos como com pontos finais de voz personalizados. Não requer treino de modelos e não está disponível com transcrição em lote.

Exemplos de frases incluem:

  • Nomes
  • Localizações geográficas
  • Homónimos
  • Palavras ou acrónimos exclusivos da sua indústria ou organização

As listas de frases são simples e leves:

  • Just-in-time: Fornece uma lista de frases pouco antes de começar o reconhecimento de voz, por isso não precisa de treinar um modelo personalizado.
  • Leve: você não precisa de um grande conjunto de dados. Forneça uma palavra ou frase para aumentar o seu reconhecimento.

Você pode usar listas de frases com o Speech Studio, o Speech SDK ou a CLI (Speech Command Line Interface). São compatíveis com a transcrição em tempo real e a API de transcrição rápida. A API de transcrição em lote não suporta listas de frases.

Pode utilizar listas de frases tanto com pontos finais base (padrão) como com pontos finais de fala personalizada. Aplica-se a lista de expressões em tempo de execução e não é necessário treinar o modelo. Algumas situações exigem treinar um modelo personalizado que inclua frases para melhorar a precisão. Por exemplo, use fala personalizada nos seguintes casos:

  • Se você precisar usar uma grande lista de frases. Uma lista de frases não deve ter mais de 500 frases.

Peso da lista de frases

Quando usa o Speech SDK com transcrição em tempo real, pode controlar o peso das frases da lista de frases em relação ao dicionário padrão. Essa configuração determina a influência que a lista de frases tem nos resultados de fala para texto.

Defina o peso da lista de frases num intervalo de 0.0 para 2.0:

  • 0.0: Desativa a lista de frases
  • 1.0: Peso padrão (influência padrão)
  • 2.0: Peso máximo (maior influência)

Um peso maior aumenta a probabilidade de que as frases da sua lista sejam reconhecidas em vez de alternativas no dicionário padrão. Essa configuração se aplica à lista completa.

Experimente no Speech Studio

Use o Speech Studio para testar como uma lista de frases melhora o reconhecimento do seu áudio. Para implementar uma lista de frases com a sua aplicação em produção, use o Speech SDK ou Voice CLI.

Por exemplo, suponha que quer que o serviço de Voz reconheça esta frase: "Olá Rehaan, sou a Jessie do banco Contoso."

Você pode achar que uma frase é incorretamente reconhecida como: "Olá a todos, eu sou Jesse de não posso fazer isso banco."

No cenário anterior, deves adicionar "Rehaan", "Jessie" e "Contoso" à tua lista de frases. Assim, os nomes são reconhecidos corretamente.

Agora experimente o Speech Studio para ver como uma lista de frases pode melhorar a precisão do reconhecimento.

Nota

Poderá ser-lhe pedido que selecione a sua subscrição do Azure e o recurso Speech e, em seguida, aceite a faturação aplicável à sua região.

  1. Aceda a Conversão de voz em texto em tempo real no Speech Studio.
  2. Teste o reconhecimento de voz carregando um ficheiro de áudio ou gravando áudio usando um microfone. Por exemplo, selecione gravar áudio com um microfone e diga "Olá Rehaan, sou Jessie do banco Contoso. " Em seguida, selecione o botão vermelho para parar a gravação.
  3. Vê o resultado da transcrição na caixa de texto dos resultados do Teste . Se "Rehaan", "Jessie" ou "Contoso" forem reconhecidos incorretamente, adicione os termos a uma lista de frases no passo seguinte.
  4. Selecione Mostrar opções avançadas e ative a Lista de frases.
  5. Digite "Contoso; Jéssica; Rehaan" na caixa de texto da lista de frases. Separe múltiplas frases com um ponto e vírgula. Captura de ecrã de uma lista de frases aplicada no Speech Studio.
  6. Use o microfone para testar o reconhecimento novamente. Caso contrário, selecione a seta de repetição junto ao seu ficheiro de áudio para voltar a executar o áudio. Os termos "Rehaan", "Jessie" ou "Contoso" devem ser reconhecidos.

Implementar lista de frases na transcrição em tempo real

Ao usar o Speech SDK, pode adicionar frases uma de cada vez e depois executar o reconhecimento de voz.

var phraseList = PhraseListGrammar.FromRecognizer(recognizer);
phraseList.AddPhrase("Contoso");
phraseList.AddPhrase("Jessie");
phraseList.AddPhrase("Rehaan");
phraselist.SetWeight(weight);

Ao usar o Speech SDK, pode adicionar frases uma de cada vez e depois executar o reconhecimento de voz.

auto phraseListGrammar = PhraseListGrammar::FromRecognizer(recognizer);
phraseListGrammar->AddPhrase("Contoso");
phraseListGrammar->AddPhrase("Jessie");
phraseListGrammar->AddPhrase("Rehaan");
phraselist->SetWeight(weight);

Ao usar o Speech SDK, pode adicionar frases uma de cada vez e depois executar o reconhecimento de voz.

PhraseListGrammar phraseList = PhraseListGrammar.fromRecognizer(recognizer);
phraseList.addPhrase("Contoso");
phraseList.addPhrase("Jessie");
phraseList.addPhrase("Rehaan");
phraseList.setWeight(weight);

Ao usar o Speech SDK, pode adicionar frases uma de cada vez e depois executar o reconhecimento de voz.

const phraseList = sdk.PhraseListGrammar.fromRecognizer(recognizer);
phraseList.addPhrase("Contoso");
phraseList.addPhrase("Jessie");
phraseList.addPhrase("Rehaan");
phraseList.setWeight(weight);

Ao usar o Speech SDK, pode adicionar frases uma de cada vez e depois executar o reconhecimento de voz.

phrase_list_grammar = speechsdk.PhraseListGrammar.from_recognizer(reco)
phrase_list_grammar.addPhrase("Contoso")
phrase_list_grammar.addPhrase("Jessie")
phrase_list_grammar.addPhrase("Rehaan")
phraseList.setWeight(weight)

Ao usar o Speech SDK, pode adicionar frases uma de cada vez e depois executar o reconhecimento de voz.

phraseListGrammar, err := speech.NewPhraseListGrammarFromRecognizer(recognizer)
if err != nil {
  // Handle error.
}
defer phraseListGrammar.Close()

phraseListGrammar.AddPhrase("Contoso")
phraseListGrammar.AddPhrase("Jessie")
phraseListGrammar.AddPhrase("Rehaan")
phraseListGrammar.SetWeight(weight)

Ao utilizar a Speech CLI, pode incluir uma lista de frases inline ou com um ficheiro de texto, juntamente com o comando recognize.

Experimente o reconhecimento a partir de um microfone ou de um ficheiro de áudio.

spx recognize --microphone --phrases "Contoso;Jessie;Rehaan;"
spx recognize --file "your\path\to\audio.wav" --phrases "Contoso;Jessie;Rehaan;"

Também pode adicionar uma lista de frases usando um ficheiro de texto que contenha uma frase por linha.

spx recognize --microphone --phrases @phrases.txt
spx recognize --file "your\path\to\audio.wav" --phrases @phrases.txt

Os caracteres permitidos incluem letras e dígitos específicos da localidade, caracteres de espaço em branco e caracteres especiais, como +, -, $, :, (, ), {, }, _, ., ?, @, \, ', &, #, %, ^, *, ', <>, , ;, /. O sistema remove outros caracteres especiais da frase.

Implementar a lista de frases na transcrição de fala rápida e com LLM

Pode adicionar uma lista de frases na transcrição de voz rápida e com LLM através da API REST de conversão de voz em texto.

curl --location 'https://YourResourceName.cognitiveservices.azure.com/speechtotext/transcriptions:transcribe?api-version=2025-10-15' \
--header 'Ocp-Apim-Subscription-Key: YourSpeechResourceKey' \
--form 'audio=@"YourAudioFile"' \
--form 'definition={
  "locales": ["en-US"],
  "phraseList": {
    "phrases": ["Contoso", "Jessie", "Rehaan"]
  }
}'

Próximos passos

Saiba mais sobre as opções para melhorar a precisão do reconhecimento.