共用方式為


使用片語清單來改善辨識準確度

片語清單是事先提供的字詞或片語清單,可協助改善其辨識。 將片語新增到片語清單會增加其重要性,使其更容易被辨識。

如需支援的片語清單地區設定,請參閱語音服務的語言和語音支援

片語範例如下:

  • 名稱
  • 地理位置
  • 同音異義字
  • 您產業或組織的特有字詞或縮略字

片語清單簡單且輕量:

  • Just-In-Time:在開始語音辨識之前會提供片語清單,而不需要定型自訂模型。
  • 輕量:您不需要大型的資料集。 提供單字或片語來提升辨識速率。

您可以使用片語清單搭配 Speech Studio語音 SDK語音命令列介面 (CLI) 使用。 批次轉譯 API 不支援片語清單。

您可以搭配標準和自訂語音使用片語清單。 有時候,定型一個包含片語的自訂模型可能是提高正確性的最佳選擇。 例如,在下列情況下,您會使用自訂語音:

  • 如果您需要使用大型片語清單。 片語清單不應超過 500 個片語。
  • 如果您需要的片語清單其語言目前未支援。

在 Speech Studio 中試用

您可以使用 Speech Studio 來測試片語清單如何協助改善音訊的辨識。 若要在生產環境中搭配應用程式實作片語清單,請使用語音 SDK 或語音 CLI。

例如,假設您想要語音服務辨識這句話:「嗨 Rehaan,我是 Contoso 銀行的 Jessie」。

測試之後,您可能會發現其不正確地辨識為:「嗨,大家好,我是 can’t do so 銀行Jesse。」

在先前的案例中,您會想要將「Rehaan」、「Jessie」和「Contoso」新增至您的片語清單。 這樣一來,這些名稱就應該能被正確辨識出來了。

現在請試用 Speech Studio,看看片語清單如何改善辨識的正確性。

注意

系統可能會提示選取您的 Azure 訂閱和語音資源,然後確認您區域的計費。

  1. 移至 Speech Studio 中的即時語音轉換文字
  2. 您可以上傳音訊檔案,或使用麥克風錄製音訊來測試語音辨識。 例如,選取 [以麥克風錄製音訊],然後說出「嗨 Rehaan,我是 Contoso 銀行的 Jessie。 」,然後選取紅色按鈕以暫停錄製。
  3. 您應該會在 [測試結果] 文字輸入框中看到謄寫結果。 如果無法正確辨識 "Rehaan"、"Jessie",和 "Contoso",您可以在下一個步驟中將字詞新增至片語清單。
  4. 選取 [顯示進階選項],然後開啟 [片語清單]
  5. 在片語清單文字輸入框中輸入 "Contoso;Jessie;Rehaan"。 多個片語必須以分號分隔。 Screenshot of a phrase list applied in Speech Studio.
  6. 使用麥克風再次測試辨識。 您也可以選取音訊檔案旁的重試箭號,以重新執行音訊。 系統應該可辨識 "Rehaan"、"Jessie",和 "Contoso" 詞彙了。

實作片語清單

使用語音 SDK,您可以個別新增片語,然後執行語音辨識。

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

使用語音 SDK,您可以個別新增片語,然後執行語音辨識。

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

使用語音 SDK,您可以個別新增片語,然後執行語音辨識。

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

使用語音 SDK,您可以個別新增片語,然後執行語音辨識。

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

使用語音 SDK,您可以個別新增片語,然後執行語音辨識。

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

使用語音 CLI,您可以在辨識命令中包含內置的片語清單或片語清單文字檔。

嘗試從麥克風或音訊檔案辨識。

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

您也可以使用包括每行一個片語的文字檔來新增片語清單。

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

允許的字元包括區地區設定特定的字母和數字、空白字元以及特殊字元,例如 +、-、$、:、(、)、{、}、_、.、?、@、\、&、#、%、^、*、`、<、>、;、/。 其他特殊字元會在內部從片語中移除。

下一步

查看更多選項以提高辨識正確性。