使用片語清單來改善辨識準確度
片語清單是事先提供的字詞或片語清單,可協助改善其辨識。 將片語新增到片語清單會增加其重要性,使其更容易被辨識。
片語範例如下:
- 名稱
- 地理位置
- 同音異義字
- 您產業或組織的特有字詞或縮略字
片語清單簡單且輕量:
- 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 訂閱和語音資源,然後確認您區域的計費。
- 移至 Speech Studio 中的即時語音轉換文字。
- 您可以上傳音訊檔案,或使用麥克風錄製音訊來測試語音辨識。 例如,選取 [以麥克風錄製音訊],然後說出「嗨 Rehaan,我是 Contoso 銀行的 Jessie。 」,然後選取紅色按鈕以暫停錄製。
- 您應該會在 [測試結果] 文字輸入框中看到謄寫結果。 如果無法正確辨識 "Rehaan"、"Jessie",和 "Contoso",您可以在下一個步驟中將字詞新增至片語清單。
- 選取 [顯示進階選項],然後開啟 [片語清單]。
- 在片語清單文字輸入框中輸入 "Contoso;Jessie;Rehaan"。 多個片語必須以分號分隔。
- 使用麥克風再次測試辨識。 您也可以選取音訊檔案旁的重試箭號,以重新執行音訊。 系統應該可辨識 "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
允許的字元包括區地區設定特定的字母和數字、空白字元以及特殊字元,例如 +、-、$、:、(、)、{、}、_、.、?、@、\、&、#、%、^、*、`、<、>、;、/。 其他特殊字元會在內部從片語中移除。
下一步
查看更多選項以提高辨識正確性。