一文概覽語音識別中尚未解決的問題
深度學(xué)習(xí)被應(yīng)用在語音識別領(lǐng)域之后,詞錯(cuò)率有了顯著地降低。然而,盡管你已經(jīng)讀到了很多這類的論文,但是我們?nèi)匀粵]有實(shí)現(xiàn)人類水平的語音識別。語音識別器有很多失效的模式。認(rèn)識到這些問題并且采取措施去解決它們則是語音識別能夠取得進(jìn)步的關(guān)鍵。這是把自動語音識別(ASR)從「在大部分時(shí)間對部分人服務(wù)」變成「在所有時(shí)間對每個(gè)人服務(wù)」的唯一途徑。
上圖中:詞錯(cuò)率在 Switchboard 對話語音識別基準(zhǔn)上的提升。該測試集于 2000 年收集,包括 40 個(gè)電話錄音,每段對話都發(fā)生在隨機(jī)抽取的兩個(gè)英語母語者之間。
如果說基于 Switchboard 的對話語音識別結(jié)果達(dá)到了人類水平,這無異于說自動駕駛在陽光明媚、交通順暢的小鎮(zhèn)上達(dá)到了人類的駕駛水平。盡管語音識別在對話語音上的進(jìn)步很明顯。但是認(rèn)為其達(dá)到人類水平的說法終究太寬泛了。以下是語音識別領(lǐng)域仍待提升的一些方面。
口音和噪聲
語音識別最明顯的一個(gè)缺陷在于對口音和背景噪聲的處理。最直接的原因就是:絕大多數(shù)訓(xùn)練數(shù)據(jù)都由具有高信噪比的美式英語組成。例如,Switchboard 對話語音訓(xùn)練和測試集都是英語母語者(大部分是美國人)在幾乎無噪聲的環(huán)境中錄制的。
但是,更多訓(xùn)練數(shù)據(jù)本身也沒有克服這個(gè)問題。很多語言都是有方言和口音的。對每一種情況都收集足夠多的標(biāo)注數(shù)據(jù)是不可行的。開發(fā)一款僅僅針對美式英語的語音識別器就需要 5 千多個(gè)小時(shí)的轉(zhuǎn)錄音頻數(shù)據(jù)!
上圖中:不同類型的語音數(shù)據(jù)上,百度 Deep Speech 2 模型和人類聽寫員的詞錯(cuò)率對比。我們注意到在非美國口音的語音上,人類聽寫員表現(xiàn)得要差勁一些。這可能是因?yàn)槁爩憜T大多數(shù)是美國人。我希望在某個(gè)區(qū)域的本地聽寫員要有更低的錯(cuò)誤率。
至于背景噪聲,一輛行駛的汽車內(nèi)的噪聲幾乎不可能有-5dB 那么低。人類在這種環(huán)境中能夠輕易理解彼此所說的話,然而語音識別器的性能則會因?yàn)樵肼暤拇嬖诙眲∠陆?。從上圖中我們可以發(fā)現(xiàn),人類和模型的詞錯(cuò)率差距在低信噪比和高信噪比音頻之間存在巨大的差距。
語義錯(cuò)誤
通常,詞錯(cuò)率并不是一個(gè)語音識別系統(tǒng)的實(shí)際目標(biāo)。我們所關(guān)心的是語義錯(cuò)誤率,即未正確理解含義的話語片段所占的比例。
舉一個(gè)例子:如果某人說「let's meet up Tuesday」(周二見),而語音識別器理解成了「let's meet up today」(今天見)。在沒有語義錯(cuò)誤的情況下也會出現(xiàn)詞錯(cuò)率。在這個(gè)例子中,如果語音識別器丟掉了「up」,將語音識別成了「let's meet Tuesday」,則這個(gè)句子的語義并沒有發(fā)生改變。
在使用詞錯(cuò)率作為標(biāo)準(zhǔn)的時(shí)候我們必須謹(jǐn)慎一些。5% 的詞錯(cuò)率大約對應(yīng)每 20 個(gè)單詞會有一個(gè)出錯(cuò)。如果一個(gè)句子共有 20 個(gè)單詞(英文句子平均就是這個(gè)長度),那么在這種情況下句錯(cuò)率就是 100%。我們希望出錯(cuò)的單詞不會改變句子的意思,否則即使詞錯(cuò)率只有 5%,語音識別器也有可能把整句的意思都弄錯(cuò)。
將模型與人類相比較的時(shí)候,很重要的一點(diǎn)是要去檢查錯(cuò)誤的本質(zhì),而不是僅僅關(guān)注詞錯(cuò)率(WER)這個(gè)結(jié)論性的數(shù)字。從我的經(jīng)驗(yàn)來看,人類轉(zhuǎn)錄的時(shí)候一般會比識別器較少出錯(cuò),尤其是嚴(yán)重的語義錯(cuò)誤。
微軟的研究者最近對比了人類和微軟人類級別語音識別器所犯的錯(cuò)誤 [3]。他們發(fā)現(xiàn)二者的一個(gè)差異是:模型比人類更頻繁地混淆「uh」(嗯)和「uh huh」(嗯哼)。這兩個(gè)詞組的語義有很大不同:「uh」只是一個(gè)語氣填充詞,而「uh huh」表示附和和認(rèn)同。人類和模型都犯了不少類似的錯(cuò)誤。
單聲道、多個(gè)說話人
Switchboard 對話語音識別任務(wù)比較容易,因?yàn)槊總€(gè)說話人都使用獨(dú)立的麥克風(fēng)進(jìn)行錄音。在同一段音頻流中不存在多個(gè)說話人的語音重疊。然而,人類即使在多個(gè)說話人同時(shí)說話的時(shí)候也能夠理解說話內(nèi)容。
一個(gè)好的對話語音識別器必須能夠根據(jù)正在說話的人(音源)來分割音頻。它還應(yīng)該理解多個(gè)說話人語音重疊的音頻(聲源分離)。這應(yīng)該在無需給每個(gè)說話人嘴邊安裝一個(gè)麥克風(fēng)的情況下實(shí)現(xiàn),這樣對話語音識別就能夠在任意位置奏效。
域變化
口音和背景噪聲只是語音識別器增強(qiáng)魯棒性以解決的兩個(gè)問題。這里還有其他一些因素:
- 變化的聲學(xué)環(huán)境中的回音
- 硬件的缺陷
- 音頻編解碼和壓縮的缺陷
- 采樣率
- 說話人的年齡
大多數(shù)人甚至分不清 mp3 文件和 wav 文件的差異。在我們宣稱語音識別器的性能達(dá)到人類水平之前,它需要對這些問題足夠魯棒。
語境
你會注意到人類水平的錯(cuò)誤率在類似于 Switchboard 的基準(zhǔn)測試集上實(shí)際是很高的。如果在和朋友交談的時(shí)候,他在每 20 個(gè)詞中誤解一個(gè)詞,那么你是很難與他交流下去的。
其中的原因是,這個(gè)測評是在不考慮語境的情況下進(jìn)行的。在現(xiàn)實(shí)生活中,有很多其他的線索幫助我們理解某人在說什么。人類使用但是語音識別器不使用的語境包括:
- 談話的歷史過程和正在討論的話題。
- 人在說話時(shí)的視覺線索,例如面部表情和唇部運(yùn)動。
- 對談話對象的了解。
現(xiàn)在,Android 的語音識別器掌握你的通訊錄,所以它能夠準(zhǔn)確地識別你朋友的名字。地圖類產(chǎn)品中的語音搜索會使用你的地理定位來縮小你想要導(dǎo)航的位置的范圍。
自動語音識別(ASR)系統(tǒng)的準(zhǔn)確度確實(shí)在這類信號的幫助下得到了提升。但是,這里我們僅對可以使用的語境類型和如何使用又有一個(gè)初步了解。
部署與應(yīng)用
對話語音識別的***進(jìn)展都是不可部署的。在思考什么讓一個(gè)新的語音識別算法變得可部署的時(shí)候,衡量其延遲和所需算力是有幫助的。這二者是有關(guān)聯(lián)的,一般情況下,如果一個(gè)算法所需要的計(jì)算力增加,那么它帶來的延遲也會隨之增加。但是為了簡單起見,我將分開討論它們。
延遲:我所指的「延遲」指從用戶說話結(jié)束到轉(zhuǎn)錄完成所經(jīng)歷的時(shí)間。低延遲是 ASR 中的一個(gè)常見產(chǎn)品約束。它能夠顯著地影響用戶體驗(yàn)。ASR 系統(tǒng)中數(shù)十毫秒的延遲需求是很常見的。雖然這聽起來很極端,但是請別忘記,產(chǎn)生轉(zhuǎn)錄結(jié)果通常是一系列昂貴計(jì)算中的***步。例如在語音搜索中,實(shí)際的網(wǎng)絡(luò)規(guī)模搜索必須在語音識別之后才能進(jìn)行。
雙向循環(huán)層是消除延遲的改進(jìn)中的很好的例子。所有***的對話語音識別的先進(jìn)結(jié)果都使用了它們。問題在于:在用戶結(jié)束語音之前,我們不能用***個(gè)雙向?qū)佑?jì)算任何東西。所以延遲會隨著話語長度的增加而增加。
左圖:出現(xiàn)前向循環(huán)的時(shí)候我們可以立即開始轉(zhuǎn)錄。
右圖:出現(xiàn)雙向循環(huán)的時(shí)候,我們必須等待所有語音都到達(dá)之后才能開始轉(zhuǎn)錄。
在語音識別中結(jié)合未來信息的有效方式仍待研究和發(fā)現(xiàn)。
計(jì)算:轉(zhuǎn)錄一個(gè)話語所需的計(jì)算力是一種經(jīng)濟(jì)約束。我們必須考慮語音識別器準(zhǔn)確率提升的性價(jià)比。如果一項(xiàng)改進(jìn)未能滿足經(jīng)濟(jì)閾值,那么它是無法部署的。
下一個(gè)五年
語音識別領(lǐng)域仍然存在不少開放性挑戰(zhàn)問題,包括:
- 將語音識別能力擴(kuò)展至新的領(lǐng)域、口音,以及遠(yuǎn)場、低信噪比的語音中。
- 在語音識別過程中結(jié)合更多的語境信息。
- 音源和聲源分離。
- 語義錯(cuò)誤率和新型的語音識別器評價(jià)方法
- 超低延遲和超高效的推理
我期待語音識別未來五年能夠在這些方面取得進(jìn)展。
原文:https://awni.github.io/speech-recognition/
【本文是51CTO專欄機(jī)構(gòu)“機(jī)器之心”的原創(chuàng)譯文,微信公眾號“機(jī)器之心( id: almosthuman2014)”】