Melhorar a precisão do reconhecimento com uma lista de frases

Uma lista de frases é uma lista de palavras ou frases fornecidas com antecedência para ajudar a melhorar seu reconhecimento. Adicionar uma frase a uma lista de frases aumenta sua importância, tornando-a mais provável de ser reconhecida.

Para localidades de lista de frases com suporte, consulte Suporte de idioma e voz para o serviço de Fala.

Exemplos de frases incluem:

  • Nomes
  • Localizações geográficas
  • Homônimos
  • Palavras ou acrônimos exclusivos para seu setor ou organização

As listas de frases são simples e leves:

  • Just-In-Time: uma lista de frases é fornecida logo antes de iniciar o reconhecimento de fala, eliminando a necessidade 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 SDK de Fala ou a CLI (Interface de Linha de Comando) de Fala. A API de transcrição do Lote não dá suporte a listas de frases.

É possível usar listas de frases com fala personalizada e padrão. Há algumas situações em que o treinamento de um modelo personalizado que inclui frases é, provavelmente, a melhor opção para melhorar a precisão. Por exemplo, nos seguintes casos, você usaria a fala personalizada:

  • Se você precisar usar uma lista grande de frases. Uma lista de frases não deve ter mais de 500 frases.
  • Se você precisar de uma lista de frases para idiomas que não têm suporte no momento.

Experimente-a no Speech Studio

Você pode usar o Speech Studio para testar como a lista de frases ajudaria a melhorar o reconhecimento para seu áudio. Para implementar uma lista de frases com seu aplicativo em produção, use o SDK de Fala ou a CLI de Fala.

Por exemplo, digamos que você queira que o serviço de Fala reconheça esta frase: "Oi Rehaan, sou a Jessie do banco Contoso".

Talvez você descubra que uma frase é reconhecida incorretamente como: "Olá a todos, eu sou a Jesse do não posso fazer banco."

No cenário anterior, você gostaria de adicionar "Rehaan", "Jéssica" e "Contoso" à sua lista de frases. Em seguida, os nomes devem ser reconhecidos corretamente.

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

Observação

Você pode ser solicitado a selecionar sua assinatura do Azure e o recurso de Fala e, em seguida, confirmar a cobrança para sua região.

  1. Vá para Reconhecimento de fala em tempo real no Speech Studio.
  2. Teste o reconhecimento de fala carregando um arquivo de áudio ou gravando áudio com um microfone. Por exemplo, selecione gravar áudio com um microfone e, em seguida, diga "Oi Rehaan, sou a Jéssica do banco Contoso. " Em seguida, selecione o botão vermelho para interromper a gravação.
  3. Você deverá ver o resultado da transcrição na caixa de texto Resultado do teste. Se "Rehaan", "Jessie" ou "Contoso" forem reconhecidos incorretamente, você poderá adicionar os termos a uma lista de frases na próxima etapa.
  4. Selecione Mostrar opções avançadas e ative a Lista de frases.
  5. Insira "Contoso;Jessie;Rehaan" na caixa de texto da lista de frases. Se houver mais de uma frase, elas precisam ser separadas por um ponto-e-vírgula. Screenshot of a phrase list applied in Speech Studio.
  6. Use o microfone para testar o reconhecimento novamente. Caso contrário, você pode selecionar a seta de nova tentativa ao lado do arquivo de áudio para executar novamente o áudio. Os termos "Rehaan", "Jessie" ou "Contoso" devem ser reconhecidos.

Implementar lista de frases

Com o SDK de Fala, você pode adicionar frases individualmente e, em seguida, executar o reconhecimento de fala.

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

Com o SDK de Fala, você pode adicionar frases individualmente e, em seguida, executar o reconhecimento de fala.

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

Com o SDK de Fala, você pode adicionar frases individualmente e, em seguida, executar o reconhecimento de fala.

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

Com o SDK de Fala, você pode adicionar frases individualmente e, em seguida, executar o reconhecimento de fala.

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

Com o SDK de Fala, você pode adicionar frases individualmente e, em seguida, executar o reconhecimento de fala.

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

Com a CLI de Fala você pode incluir uma lista de frases em linha ou com um arquivo de texto junto com o comando de reconhecimento.

Tente o reconhecimento a partir de um microfone ou de um arquivo de áudio.

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

Você também pode adicionar uma lista de frases usando um arquivo 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 do local, caracteres de espaço em branco e caracteres especiais, como +, -, $, :, (, ), {, }, _, ., ?, @, \, ’, &, #, %, ^, *, `, <, >, ;, /. Outros caracteres especiais são removidos internamente da frase.

Próximas etapas

Confira mais opções para aprimorar a precisão do reconhecimento.