Mejora de la precisión del reconocimiento con listas de frases

Una lista de frases es una lista de palabras o frases proporcionadas con antelación para ayudar a mejorar su reconocimiento. Agregar una frase a una lista de frases aumenta su importancia, lo que hace que sea más probable que se reconozca.

Entre los ejemplos de frases se incluyen:

  • Nombres
  • Ubicaciones geográficas
  • Homónimos
  • Palabras o acrónimos únicos de su sector u organización

Las listas de frases son sencillas y ligeras:

  • Just-In-Time: se proporciona una lista de frases justo antes de iniciar el reconocimiento de voz, lo que elimina la necesidad de entrenar un modelo personalizado.
  • Ligero: no necesita un conjunto de datos grande. Proporcione una palabra o frase para aumentar su reconocimiento.

Para conocer las configuraciones regionales de lista de frases admitidas, consulte Compatibilidad con idiomas y voces en el servicio de Voz.

Puede usar listas de frases con Speech Studio, el SDK de Voz o la interfaz de la línea de comandos (CLI) de Voz. La API de transcripciones de Azure Batch no admite listas de frases.

Las listas de frases se pueden usar tanto con voz estándar como con voz personalizada. Hay algunas situaciones en las que entrenar un modelo personalizado que incluye frases es probablemente la mejor opción para mejorar la precisión. Por ejemplo, en los casos siguientes usaría habla personalizada:

  • Si necesita usar una lista grande de frases. Una lista de frases no debe tener más de 500 frases.
  • Si necesita una lista de frases para los idiomas que no se admiten actualmente.

Pruébelo en Speech Studio

Puede usar Speech Studio para probar cómo la lista de frases ayudará a mejorar el reconocimiento del audio. Para implementar una lista de frases con la aplicación en producción, usará el SDK de Voz o la CLI de Voz.

Por ejemplo, supongamos que quiere que el servicio de Voz reconozca esta frase: "Hi Rehaan, I'm is Jessie from Contoso bank".

Es posible que encuentre que se reconoce una frase incorrectamente como: "Hi everyone, I'm Jesse from can't do so bank".

Enel escenario anterior, le interesaría agregar "Rehaan", "Jessie" y "Contoso" a la lista de frases. Después, los nombres deben reconocerse correctamente.

Ahora, pruebe Speech Studio para ver cómo la lista de frases puede mejorar la precisión del reconocimiento.

Nota:

Es posible que se le pida que seleccione la suscripción de Azure y el recurso de Voz y, a continuación, confirme la facturación de su región.

  1. Vaya a Conversión de voz en texto en tiempo real en Speech Studio.
  2. Para probar el reconocimiento de voz, cargue un archivo de audio o grabe audio con un micrófono. Por ejemplo, seleccione grabar audio con un micrófono y, a continuación, diga "Hi Rehaan, I'm Jessie from Contoso bank". . A continuación, seleccione el botón rojo para detener la grabación.
  3. Debería ver el resultado de la transcripción en el cuadro de texto Resultado de la prueba. Si "Rehaan", "Jessie" o "Contoso" se reconocieron incorrectamente, puede agregar los términos a una lista de frases en el paso siguiente.
  4. Seleccione Mostrar opciones avanzadas y active Lista de frases.
  5. Escriba "Contoso;Jessie;Rehaan" en el cuadro de texto de la lista de frases. Las distintas frases deben estar separadas por un punto y coma. Captura de pantalla de una lista de frases aplicada en Speech Studio.
  6. Use el micrófono para volver a probar el reconocimiento. También puede seleccionar la flecha de reintento junto al archivo de audio para volver a ejecutar el audio. Se deben reconocer los términos "Rehaan", "Jessie" o "Contoso".

Implementación de la lista de frases

Con el SDK de Voz puede agregar frases individualmente y, luego, ejecutar el reconocimiento de voz.

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

Con el SDK de Voz puede agregar frases individualmente y, luego, ejecutar el reconocimiento de voz.

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

Con el SDK de Voz puede agregar frases individualmente y, luego, ejecutar el reconocimiento de voz.

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

Con el SDK de Voz puede agregar frases individualmente y, luego, ejecutar el reconocimiento de voz.

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

Con el SDK de Voz puede agregar frases individualmente y, luego, ejecutar el reconocimiento 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")

Con la CLI de Voz puede incluir una lista de frases en línea o con un archivo de texto junto con el comando recognize.

Pruebe el reconocimiento desde un micrófono o un archivo de audio.

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

También puede agregar una lista de frases mediante un archivo de texto que contenga una frase por línea.

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

Entre los caracteres permitidos se incluyen letras y dígitos específicos de la configuración regional, caracteres de espacio en blanco y caracteres especiales, como +, -, $, :, (, ), {, }, _, ., ?, @, \, ’, &, #, %, ^, *, `, <, >, ;, /. Otros caracteres especiales se quitan internamente de la frase.

Pasos siguientes

Consulte más opciones para mejorar la precisión del reconocimiento.