深度學習也解決不掉語音識別問題

  自從深度學習被引入語音識別後,誤字率迅速下降。不過,雖然你可能讀到過一些相關文章,但其實語言識別仍然還沒有達到人類水準。語音識別已經有了很多失敗的模式。而要將 ASR(自動語音識別)從僅在大部分時間適用於一部分人發展到在任何時候適用於任何人,唯一的方法就是承認這些失敗並採取措施解決它們。

  在交換臺通話(Switchboard conversational)語音識別標準測試中誤字率方面的進展。這個數據集採集於 2000 年,它由四十個電話通話組成,這些通話分別屬於隨機的兩個以英語爲母語的人。

  僅僅基於交換臺通話的結果就聲稱已經達到人類水準的語音識別,就如同在某個天氣晴朗、沒有車流的小鎮成功測試自動駕駛就聲稱已經達到人類駕駛水準一樣。近期語音識別領域的發展確實非常震撼。但是,關於那些聲稱達到人類水準的說法就太寬泛了。下面是一些還有待提升的領域。

  口音和噪聲

  語音識別中最明顯的一個缺陷就是對口音 [1] 和背景噪聲的處理。最直接的原因是大部分的訓練數據都是高信噪比、美式口音的英語。比如在交換臺通話的訓練和測試數據集中只有母語爲英語的通話者(大多數爲美國人),並且背景噪聲很少。

  而僅憑訓練數據自身是無法解決這個問題的。在許許多多的語言中又擁有着大量的方言和口音,我們不可能針對所有的情況收集到足夠的加註數據。單是爲美式口音英語構建一個高質量的語音識別器就需要 5000 小時以上的轉錄音頻。

  人工轉錄和百度的 Deep Speech 2 模型在各類語音中的比較 [2] 。注意人工在轉錄非美式口音時總表現得更差,這可能要歸咎於轉錄員羣體中的美國偏見。我更期望爲各地區安排本土的轉錄員,讓地區口音的錯誤率更低。

  關於背景噪聲,像在移動的汽車中信噪比(SRN)低至 -5dB 的情況並不罕見。在這樣的環境中人們並非難以交流,而另一方面,噪聲環境中語音識別能力卻急速下降。上圖中可以看到從高信噪比到低信噪比,人與模型只見的錯誤率差距急劇擴大。

  語義錯誤

  通常語音識別系統的實際目標並不是誤字率。我們更關心的是語義錯誤率,就是被誤解的那部分話語。

  舉個語義錯誤的例子,比如某人說“let’s meet up Tuesday”,但語音識別預測爲“let’s meet up today”。我們也可能在單詞錯誤的情況下保持語義正確,比如語音識別器漏掉了“up”而預測爲“let’s meet Tuesday”,這樣話語的語義是不變的。

  在使用誤字率作爲指標時必須要小心。舉一個最壞的例子,5% 的誤字率大概相當於每 20 個單詞漏掉 1 個。如果每個語句有 20 個單詞(大約是英語語句平均值),那麼語句錯誤率可能高達 100%。希望錯誤的單詞不會改變句子的語義,否則即便只有 5% 的誤字率也可能會導致每個句子都被誤讀。

  將模型與人工進行比較時的重點是查找錯誤的本質,而不僅僅是將誤字率作爲一個決定性的數字。在我的經歷裏,人工轉錄會比語音識別更少產生極端語義錯誤。

  最近微軟的研究人員將他們的人工級語音識別器的錯誤與人類進行了比較 [3]。他們發現的一個差異是該模型比人更頻繁地混淆“uh”和“uh huh”。而這兩條術語的語義大不相同:“uh”只是個填充詞,而“uh huh”是一個反向確認。這個模型和人出現了許多相同類型的錯誤。

  單通道和多人會話

  由於每個通話者都由單獨的麥克風進行記錄,所以交換臺通話任務也變得更加簡單。在同一個音頻流裏沒有多個通話者的重疊。而另一方面,人類卻可以理解有時同時發言的多個會話者。

  一個好的會話語音識別器必須能夠根據誰在說話對音頻進行劃分(Diarisation),還應該能弄清重疊的會話(聲源分離)。它不只在每個會話者嘴邊都有麥克風的情況下可行,進一步才能良好地應對發生在任何地方的會話。

  領域變化

  口音和背景噪聲只是語音識別有待強化的兩個方面。這還有一些其他的:

  來自聲環境變化的混響

  硬件造成的僞影

  音頻的編×××和壓縮僞影

  採樣率

  會話者的年齡

  大多數人甚至都不會注意 mp3 和 wav 文件的區別。但在聲稱達到人類水準的性能之前,語音識別還需要進一步增強對文件來源多樣化的處理。

  上下文

  你會注意到像交換臺這樣人類水準誤字率的基準實際上是非常高的。如果你在跟一個朋友交流時,他每 20 個單詞就誤解其中一個,溝通會很艱難。

  一個原因在於這樣的評估是上下文無關的。而實際生活中我們會使用許多其他的線索來輔助理解別人在說什麼。列舉幾個人類使用上下文而語音識別器沒有的情況:

  歷史會話和討論過的話題

  說話人的視覺暗示,包括面部表情和嘴脣動作

  關於會話者的先驗知識

  目前,Android 的語音識別器已經掌握了你的聯繫人列表,它能識別出你朋友的名字 [4]。地圖產品的語音搜索則通過地理定位縮小你想要導航的興趣點範圍 [5]。

  當加入這些信號時,ASR 系統肯定會有所提高。不過,關於可用的上下文類型以及如何使用它,我們纔剛剛觸及皮毛。

  部署  大連婦科醫院排名 http://www.bohaifk.com/

  在會話語音方面的最新進展都還不能展開部署。如果要解決新語音算法的部署,需要考慮延遲和計算量這兩個方面。這兩者之間是有關聯的,算法計算量的增加通常都導致延遲增加。不過簡單起見,我將它們分開討論。

  延遲:關於延遲,這裏我指的是用戶說完到轉錄完成的時間。低延遲是 ASR 中一個普遍的產品約束,它明顯影響到用戶體驗。對於 ASR 系統來說,10 毫秒的延遲要求並不少見。這聽起來可能有點極端,但是請記住文字轉錄通常只是一系列複雜計算的第一步。例如在語音搜索中,實際的網絡搜索只能在語音識別之後進行。

  一個關於延遲方面難以改進的例子是雙向循環層。當前所有最先進的會話語音識別都在使用它。其問題在於我們無法在第一層計算任何東西,而必須要等到用戶說完。所以這裏的延遲跟話語時長有關。

  在語音識別中如何有效結合未來信息仍然是一個開放問題。

  計算:轉錄語音所需的計算能力是一個經濟約束。我們必須考慮語音識別器每次精度改進的性價比。如果改進達不到一個經濟門檻,那它就無法部署。

  一個從未部署的持續改進的典型案例就是集成。1% 或者 2% 的誤差減少很少值得 2-8 倍的計算量增長。新一代 RNN 語言模型也屬於這一類,因爲它們用在束搜索時代價昂貴,不過預計未來會有所改變。

  需要說明的是,我並不認爲研究如何在巨大計算成本上提高精度是無用的。我們已經看到過“先慢而準,然後提速”模式的成功。要提的一點是在改進到足夠快之前,它還是不可用的。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章