Google本周透過GitHub開源了可即時辨識不同人聲及話語的AI演算法,在線上解碼的準確率已高達92.4%,期望能夠拋磚引玉以激發更多類似的研究。

說話者自動分段標記(Speaker Diarization)為語音辨識系統的關鍵功能,它能夠區分一段語音中不同發言者及所說出的話語,但以監督式學習方法來訓練這類的系統並不容易,一個健全的自動分段標記模型必須能夠連結未曾出現在訓練中的發言者及其文字,這通常限制了線上與離線自動分段標記的品質,特別是需要即時產生結果的線上系統。

Google的研究人員則採取全面監督之說話者自動分段標記(Fully Supervised Speaker Diarization)的作法,取名為「無界交錯狀態遞歸神經網路」(Unbounded Interleaved-State Recurrent Neural Networks,UIS-RNN),透過更有效率的方式來利用受監督的說話者標籤。

此一模型與一般叢集演算法最大的不同在於所有的說話者向量都是由共享參數的RNN所建模,再利用交錯時間中不同的RNN狀態來區分說話者。每個說話者都有自己的RNN實例,藉由賦予說話者新的向量來持續更新其RNN狀態,當不同的說話者出現時,就會切換RNN實例並更新其狀態。

把說話者視作RNN狀態就能藉由RNN參數了解更多不同說話者及其發言的知識,也能讓大量的標籤資料發揮所長,反觀一般的叢集演算法總是與單一語話獨立運作,而難以從龐大的標籤資料中受益。

該模型能夠在多人的對談中解決「誰在什麼時間說了什麼話」(who spoke when)的語音辨識挑戰,在 NIST SRE 2000 CALLHOME基準測試中的最低錯誤率只有7.6%,凌駕了採用叢集方法的8.8%,以及採用深度神經網路嵌入方法的9.9%。Google也強調此一錯誤率是基於線上解碼,意謂著它特別適用於各種即時的應用。


Advertisement

更多 iThome相關內容