什麼是關鍵字辨識?
關鍵字辨識會偵測音訊串流內的單字或簡短片語。 這項技術也稱為找出關鍵字。
關鍵字辨識最常見的使用案例是虛擬助理的語音啟用。 例如,「嗨 Cortana」是 Cortana 助理的關鍵字。 在辨識關鍵字時,會執行案例特定的動作。在虛擬助理案例中,常見的結果動作是遵循關鍵字的語音辨識音訊。
一般而言,虛擬助理一律會接聽。 關鍵字辨識可做為使用者的隱私權界限。 關鍵字需求可做為防止不相關的使用者音訊從本機裝置跨越至雲端的閘道。
為了平衡正確性、延遲和計算複雜度,關鍵字辨識會以多階段系統的形式實作。 針對第一個以外的所有階段,只有在音訊之前階段辨識出感興趣的關鍵字時,才會處理音訊。
目前的系統設計有多個階段,橫跨邊緣和雲端:
關鍵字辨識的精確度是透過下列計量進行測量:
- 正確接受率:測量系統辨識使用者所說關鍵字的能力。 正確的接受率也稱為確判為真率。
- 誤判接受率:測量系統篩選出不是由使用者讀出關鍵字音訊的能力。 誤判接受率也稱為誤判為真率。
其目標是要將正確接受率最大化,同時將誤判接受率降至最低。 目前的系統是設計用來偵測前面加上短暫無聲的關鍵字或片語。 不支援偵測句子或語句中間的關鍵字。
適用於裝置上模型的自訂關鍵字
使用 Speech Studio 上的自訂關鍵字入口網站,您可以指定任何單字或短片語,產生在邊緣執行的關鍵字辨識模型。 您可以選擇適當的發音將關鍵字模型進一步個人化。
定價
使用自訂關鍵字來產生模型 (包括基本和進階模型) 並不會產生任何費用。 搭配語音轉換文字等其他語音服務功能使用時,使用語音 SDK 在裝置上執行模型也不會產生任何成本。
模型的類型
您可以使用自訂關鍵字,針對任何關鍵字產生兩種型別的裝置上模型。
模型類型 | 描述 |
---|---|
基本 | 最適合示範或快速原型設計用途。 模型是以通用基礎模型產生,最多可能需要 15 分鐘的時間才能就緒。 模型可能沒有最佳的正確性特性。 |
進階 | 最適合產品整合用途。 使用模擬的定型資料來調整通用基礎模型,以改善正確性特性來產生模型。 模型可能需要 48 小時的時間才能就緒。 |
注意
您可以在關鍵字辨識區域支援文件中,查看支援進階模型型別的區域清單。
這兩個模型類型都不需要您上傳定型資料。 自訂關鍵字會完整處理資料產生和模型定型。
發音
當您建立新模型時,自訂關鍵字會自動產生所提供關鍵字的可能發音。 您可以聆聽每個發音,然後選擇全部接近表達您希望使用者說出關鍵字的變化。 不應該選取所有其他發音。
請務必特地了解您選取的發音,以確保最佳的正確性特性。 例如,如果您選擇比所需更多的發音,您可能會得到較高的誤判接受率。 如果您選擇太少的發音 (未涵蓋所有預期的變化),可能會導致較低的正確接受率。
測試模型
自訂關鍵字產生裝置上的模型之後,即可直接在入口網站上測試模型。 您可以使用入口網站直接在瀏覽器中說話,並取得關鍵字辨識結果。
關鍵字驗證
關鍵字驗證是一項雲端服務,可透過在 Azure 上執行的健全模型,減少從裝置上模型誤判接受的影響。 關鍵字驗證不需要任何微調或定型來使用關鍵字。 累加模型更新會持續部署至服務,以改善正確性和延遲,並對用戶端應用程式透明。
定價
關鍵字驗證一律會與語音轉換文字合併使用。 除了語音轉換文字的成本之外,使用關鍵字驗證不需要任何費用。
關鍵字驗證和語音轉換文字
使用關鍵字驗證時,一律會與語音轉換文字合併使用。 兩個服務會以平行方式執行,意即音訊會傳送至這兩個服務以進行同時處理。
以平行方式執行關鍵字驗證和語音轉換文字會產生下列優點:
- 語音轉換文字結果沒有其他延遲:平行執行表示關鍵字驗證不會增加延遲。 用戶端照樣能迅速收到語音轉換文字的結果。 如果關鍵字驗證判斷關鍵字不存在於音訊中,則會終止語音轉換文字處理。 此動作可防止不必要的語音轉換文字處理。 網路和雲端模型處理會增加使用者察覺的語音啟用延遲。 如需詳細資訊,請參閱建議和指導方針。
- 語音轉換文字結果中的強制關鍵字前置詞:語音轉換文字處理可確保傳送至用戶端的結果前面會加上關鍵字。 此行為可提高遵循關鍵字語音的語音轉換文字結果中的正確性。
- 增加語音轉換文字的逾時:由於音訊開頭有預期的關鍵字,語音轉換文字可讓您在決定語音結束和終止語音轉換文字處理之前,在關鍵字之後最多五秒鐘的較長暫停。 此行為可確保分段命令 (<keyword><pause><command>) 和鏈結命令 (<keyword><command>) 的使用者體驗皆正確處理。
關鍵字驗證回應和延遲考量
對於服務的每個要求,關鍵字驗證會傳回兩個回應中的其中一個:已接受或已拒絕。 處理延遲會根據關鍵字的長度和預期包含關鍵字的音訊區段長度而有所不同。 處理延遲不包含用戶端與語音服務之間的網路成本。
關鍵字驗證回應 | 描述 |
---|---|
已接受 | 表示服務認為關鍵字存在於要求所提供的音訊串流中。 |
已拒絕 | 表示服務認為關鍵字不存在於要求所提供的音訊串流中。 |
拒絕的案例通常會產生較高的延遲,因為服務處理的音訊比接受的案例更多。 根據預設,關鍵字驗證最多會處理兩秒的音訊來搜尋關鍵字。 如果在兩秒內找不到 關鍵字,服務就會逾時,並對用戶端發出拒絕的回應。
從自訂關鍵字使用關鍵字驗證搭配裝置上模型
語音 SDK 可透過關鍵字驗證和語音轉換文字,順暢地使用藉由自訂關鍵字產生的裝置上模型。 其會以透明的方式處理:
- 根據裝置上模型的結果,對關鍵字驗證和語音辨識進行音訊管制。
- 將關鍵字傳達給關鍵字驗證。
- 將任何額外的中繼資料傳達給雲端,以協調端對端情節。
您不需要明確指定任何設定參數。 系統會自動從自訂關鍵字所產生的裝置上模型中擷取所有必要的資訊。
此處連結的範例和教學課程會示範如何使用語音 SDK:
語音 SDK 整合和案例
語音 SDK 可讓您輕鬆使用以自訂關鍵字和關鍵字驗證產生的個人化裝置上關鍵字辨識模型。 為了確保符合您的產品需求,SDK 支援下列兩種情節:
案例 | 描述 | 範例 |
---|---|---|
使用語音轉換文字進行端對端關鍵字辨識 | 最適合使用自訂關鍵字搭配關鍵字驗證和語音轉換文字的自訂裝置上關鍵字模型的產品。 這是最常見的情節。 | |
離線關鍵字辨識 | 最適合不具網路連線能力的產品,其會使用自訂關鍵字的自訂裝置上關鍵字模型。 |