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

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

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

片語範例包括:

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

片語清單簡單且輕量:

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

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

您可以使用片語清單搭配標準和 自訂語音。 在某些情況下,將包含片語的自定義模型定型可能是改善精確度的最佳選項。 例如,在下列情況下,您會使用自定義語音:

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

在Speech Studio 中試用

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

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

你可能會發現,一個片語被錯誤地辨識為:「嗨 我是 傑西 ,不能 這樣做銀行

在先前的案例中,您會想要將 “Rehaan”、“Jessie” 和 “Contoso” 新增至您的詞組清單。 然後應該正確辨識名稱。

現在,請嘗試使用Speech Studio來查看片語清單如何改善辨識精確度。

注意

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

  1. 移至 Speech Studio 中的即時語音轉換文字
  2. 您可以上傳音訊檔案或使用麥克風錄製音訊來測試語音辨識。 例如,選取 使用麥克風 錄製音訊,然後說「Hi Rehaan,我是 Contoso bank 的 Jessie」 。 「然後選取紅色按鈕以停止錄製。
  3. 您應該會在 [測試結果] 文本框中看到轉譯結果。 如果無法正確辨識 「Rehaan」、“Jessie” 或 “Contoso”,您可以在下一個步驟中將字詞新增至詞組清單。
  4. 選取 [ 顯示進階選項 ],然後開啟 [ 片語] 清單
  5. 輸入 「Contoso;傑西;片語清單文字框中的 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

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

下一步

請查看更多選項以改善辨識精確度。