Verbessern der Erkennungsgenauigkeit mit einer Begriffsliste

Eine Begriffsliste ist eine Liste von Wörtern oder Ausdrücken, die Sie vorab bereitstellen, um die Erkennung zu verbessern. Wenn Sie einer Begriffsliste einen Ausdruck hinzufügen, erhöhen Sie dessen Bedeutung, sodass das System es wahrscheinlicher erkennt.

Important

Die Phrasenliste ist eine Laufzeiterkennungsfunktion, die auf Endpunktebene angewendet wird. Es funktioniert mit:

  • Echtzeittranskription (Speech SDK, Speech CLI, Speech Studio)
  • Api für schnelle Transkription
  • Voice Live-API

Die Begriffsliste funktioniert sowohl mit Basis- als auch mit benutzerdefinierten Sprachendpunkten. Es erfordert kein Modelltraining und ist nicht mit der Batchtranskription verfügbar.

Beispiele für Begriffe:

  • Namen
  • Geografische Orte
  • Homonyme
  • Branchen- oder organisationsspezifische Wörter oder Akronyme

Begriffslisten sind einfach und kompakt:

  • Just-in-time: Sie stellen eine Begriffsliste direkt vor dem Starten der Spracherkennung bereit, sodass Sie kein benutzerdefiniertes Modell trainieren müssen.
  • Kompakt: Sie benötigen kein umfangreiches Dataset. Geben Sie ein Wort oder einen Ausdruck an, um seine Erkennung zu verbessern.

Sie können Begriffslisten mit Speech Studio, dem Speech SDK oder der Speech-Befehlszeilenschnittstelle (Command Line Interface, CLI) verwenden. Sie werden mit der Echtzeittranskription und der fasten Transkription-API unterstützt. Begriffslisten werden von der Batch-Transkriptions-API nicht unterstützt.

Sie können Begriffslisten sowohl mit Basisendpunkten (Standardendpunkten) als auch mit benutzerdefinierten Sprachendpunkten verwenden. Sie wenden die Begriffsliste zur Laufzeit an und es ist kein Modelltraining erforderlich. In manchen Situationen ist es erforderlich, ein benutzerdefiniertes Modell zu trainieren, das Phrasen enthält, um die Genauigkeit zu verbessern. Verwenden Sie beispielsweise in den folgenden Fällen benutzerdefinierte Spracherkennung:

  • Wenn Sie eine umfangreiche Liste von Begriffen benötigen. Eine Begriffsliste sollte maximal 500 Ausdrücke enthalten.

Gewichtung der Begriffsliste

Wenn Sie das Speech SDK mit Echtzeittranskription verwenden, können Sie die Gewichtung von Begriffslistenausdrücken relativ zum Standardwörterbuch steuern. Diese Einstellung bestimmt, wie viel Einfluss die Begriffsliste auf Sprach-zu-Text-Ergebnisse hat.

Legen Sie die Gewichtung der Begriffsliste im Bereich von 0.0 bis 2.0 fest:

  • 0.0: Deaktiviert die Begriffsliste
  • 1.0: Standardgewicht (Standardeinfluss)
  • 2.0: Maximale Gewichtung (höchster Einfluss)

Eine höhere Gewichtung erhöht die Wahrscheinlichkeit, dass Ausdrücke aus Ihrer Liste über Alternativen im Standardwörterbuch erkannt werden. Diese Einstellung gilt für die vollständige Liste.

Testen in Speech Studio

Verwenden Sie Speech Studio , um zu testen, wie eine Begriffsliste die Erkennung für Ihre Audiodaten verbessert. Verwenden Sie das Speech SDK oder die Speech CLI, um eine Begriffsliste mit Ihrer Anwendung in der Produktion zu implementieren.

Angenommen, Sie möchten, dass der Sprachdienst diesen Satz erkennt: "Hallo Rehaan, ich bin Jessie von Contoso Bank."

Sie stellen möglicherweise fest, dass der Satz fälschlicherweise wie folgt erkannt wird: „Hi everyone, I'm Jesse from can't do so bank.“

Im vorherigen Szenario möchten Sie Ihrer Begriffsliste "Rehaan", "Jessie" und "Contoso" hinzufügen. Dann werden die Namen richtig erkannt.

Testen Sie nun Speech Studio, um zu sehen, wie eine Begriffsliste die Erkennungsgenauigkeit verbessern kann.

Hinweis

Möglicherweise werden Sie aufgefordert, Ihre Azure-Abonnement- und Sprachressource auszuwählen und dann die Abrechnung für Ihre Region zu bestätigen.

  1. Navigieren Sie zu Spracherkennung in Echtzeit in Speech Studio.
  2. Testen Sie die Spracherkennung, indem Sie eine Audiodatei hochladen oder Audio mithilfe eines Mikrofons aufzeichnen. Wählen Sie beispielsweise Audiodaten alternativ dazu mit einem Mikrofon aufzeichnen aus, und sagen Sie „Hi Rehaan, I'm Jessie from Contoso bank.“ Wählen Sie dann die rote Schaltfläche aus, um die Aufzeichnung zu beenden.
  3. Das Transkriptionsergebnis wird im Textfeld " Testergebnisse " angezeigt. Wenn "Rehaan", "Jessie" oder "Contoso" falsch erkannt werden, fügen Sie die Begriffe im nächsten Schritt zu einer Begriffsliste hinzu.
  4. Wählen Sie Erweiterte Optionen anzeigen aus, und aktivieren Sie Begriffsliste.
  5. Geben Sie „Contoso;Jessie;Rehaan“ in das Textfeld der Begriffsliste ein. Trennen Sie mehrere Ausdrücke durch ein Semikolon. Screenshot einer in Speech Studio angewendeten Phrasenliste.
  6. Verwenden Sie das Mikrofon, um die Erkennung erneut zu testen. Wählen Sie andernfalls den Wiederholungspfeil neben ihrer Audiodatei aus, um Ihre Audiowiedergabe erneut auszuführen. Die Begriffe „Rehaan“, „Jessie“ und „Contoso“ sollten erkannt werden.

Phrasenliste in Echtzeittranskription implementieren

Mithilfe des Speech SDK können Sie Ausdrücke einzeln hinzufügen und dann die Spracherkennung ausführen.

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

Mithilfe des Speech SDK können Sie Ausdrücke einzeln hinzufügen und dann die Spracherkennung ausführen.

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

Mithilfe des Speech SDK können Sie Ausdrücke einzeln hinzufügen und dann die Spracherkennung ausführen.

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

Mithilfe des Speech SDK können Sie Ausdrücke einzeln hinzufügen und dann die Spracherkennung ausführen.

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

Mithilfe des Speech SDK können Sie Ausdrücke einzeln hinzufügen und dann die Spracherkennung ausführen.

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)

Mithilfe des Speech SDK können Sie Ausdrücke einzeln hinzufügen und dann die Spracherkennung ausführen.

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)

Mithilfe der Speech CLI können Sie eine Begriffsliste in zeile oder mit einer Textdatei zusammen mit dem recognize Befehl einfügen.

Testen Sie die Erkennung über ein Mikrofon oder auf der Grundlage einer Audiodatei.

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

Sie können auch eine Begriffsliste hinzufügen, indem Sie eine Textdatei verwenden, die einen Ausdruck pro Zeile enthält.

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

Zulässige Zeichen beinhalten gebietsschemaspezifische Buchstaben und Ziffern, Leerzeichen und Sonderzeichen wie +, -, $, :, (, ), {, }, _, ., ?, @, \, ’, &, #, %, ^, *, `, <, >, ;, /. Das System entfernt andere Sonderzeichen aus dem Ausdruck.

Implementieren der Phrasenliste in der schnellen Transkription

Sie können eine Liste von Ausdrücken in schneller Transkription über die REST-API "Speech-to-Text" hinzufügen.

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"]
  }
}'

Nächste Schritte

Erfahren Sie mehr über Optionen zur Verbesserung der Erkennungsgenauigkeit.