每日最新頭條.有趣資訊

語音識別揭秘:你的手機究竟有多理解你?

圖片來源@unsplash

文|蘇寧金融研究院,作者|沈春澤

在我們的生活中,語言是傳遞信息最重要的方式,它能夠讓人們之間互相了解。人和機器之間的互動也是相同的道理,讓機器人知道人類要做什麽、怎麽做。互動的方式有動作、文本或語音等等,其中語音互動越來越被重視,因為隨著互聯網上智能硬體的普及,產生了各種互聯網的入口方式,而語音是最簡單、最直接的互動方式,是最通用的輸入模式。

在1952年,貝爾研究所研製了世界上第一個能識別10個英文數字發音的系統。1960年英國的Denes等人研製了世界上第一個語音識別(ASR)系統。大規模的語音識別研究始於70年代,並在單個詞的識別方面取得了實質性的進展。上世紀80年代以後,語音識別研究的重點逐漸轉向更通用的大詞匯量、非特定人的連續語音識別。

90年代以來,語音識別的研究一直沒有太大進步。但是,在語音識別技術的應用及產品化方面取得了較大的進展。自2009年以來,得益於深度學習研究的突破以及大量語音數據的積累,語音識別技術得到了突飛猛進的發展。

深度學習研究使用預訓練的多層神經網絡,提高了聲學模型的準確率。微軟的研究人員率先取得了突破性進展,他們使用深層神經網絡模型後,語音識別錯誤率降低了三分之一,成為近20年來語音識別技術方面最快的進步。

另外,隨著手機等移動終端的普及,多個渠道積累了大量的文本語料或語音語料,這為模型訓練提供了基礎,使得構建通用的大規模語言模型和聲學模型成為可能。在語音識別中,豐富的樣本數據是推動系統性能快速提升的重要前提,但是語料的標注需要長期的積累和沉澱,大規模語料資源的積累需要被提高到戰略高度。

今天,語音識別在移動端和音箱的應用上最為火熱,語音聊天機器人、語音助手等軟體層出不窮。許多人初次接觸語音識別可能歸功於蘋果手機的語音助手Siri。

Siri技術來源於美國國防部高級研究規劃局(DARPA)的CALO計劃:初衷是一個讓軍方簡化處理繁重複雜的事務,並具備認知能力進行學習、組織的數字助理,其民用版即為Siri虛擬個人助理。

Siri公司成立於2007年,最初是以文字聊天服務為主,之後與大名鼎鼎的語音識別廠商Nuance合作實現了語音識別功能。2010年,Siri被蘋果收購。2011年蘋果將該技術隨同iPhone 4S發布,之後對Siri的功能仍在不斷提升完善。

現在,Siri成為蘋果iPhone上的一項語音控制功能,可以讓手機變身為一台智能化機器人。通過自然語言的語音輸入,可以調用各種APP,如氣象預報、地圖導航、資料檢索等,還能夠通過不斷學習改善性能,提供對話式的應答服務。

語音識別(ASR)原理

語音識別技術是讓機器通過識別把語音信號轉變為文本,進而通過理解轉變為指令的技術。目的就是給機器賦予人的聽覺特性,聽懂人說什麽,並作出相應的行為。語音識別系統通常由聲學識別模型和語言理解模型兩部分組成,分別對應語音到音節和音節到字的計算。一個連續語音識別系統(如下圖)大致包含了四個主要部分:特徵提取、聲學模型、語言模型和解碼器等。

(1)語音輸入的預處理模塊

對輸入的原始語音信號進行處理,濾除掉其中的不重要信息以及背景噪聲,並進行語音信號的端點檢測(也就是找出語音信號的始末)、語音分幀(可以近似理解為,一段語音就像是一段視頻,由許多幀的有序畫面構成,可以將語音信號切割為單個的“畫面”進行分析)等處理。

(2)特徵提取

在去除語音信號中對於語音識別無用的冗余信息後,保留能夠反映語音本質特徵的信息進行處理,並用一定的形式表示出來。也就是提取出反映語音信號特徵的關鍵特徵參數形成特徵矢量序列,以便用於後續處理。

(3)聲學模型訓練

聲學模型可以理解為是對聲音的建模,能夠把語音輸入轉換成聲學表示的輸出,準確的說,是給出語音屬於某個聲學符號的概率。根據訓練語音庫的特徵參數訓練出聲學模型參數。在識別時可以將待識別的語音的特徵參數與聲學模型進行匹配,得到識別結果。目前的主流語音識別系統多採用隱馬爾可夫模型HMM進行聲學模型建模。

(4)語言模型訓練

語言模型是用來計算一個句子出現概率的模型,簡單地說,就是計算一個句子在語法上是否正確的概率。因為句子的構造往往是規律的,前面出現的詞經常預示了後方可能出現的詞語。它主要用於決定哪個詞序列的可能性更大,或者在出現了幾個詞的時候預測下一個即將出現的詞語。它定義了哪些詞能跟在上一個已經識別的詞的後面(匹配是一個順序的處理過程),這樣就可以為匹配過程排除一些不可能的單詞。

語言建模能夠有效的結合漢語語法和語義的知識,描述詞之間的內在關係,從而提高識別率,減少搜索範圍。對訓練文本數據庫進行語法、語義分析,經過基於統計模型訓練得到語言模型。

(5)語音解碼和搜索算法

解碼器是指語音技術中的識別過程。針對輸入的語音信號,根據己經訓練好的HMM聲學模型、語言模型及字典建立一個識別網絡,根據搜索算法在該網絡中尋找最佳的一條路徑,這個路徑就是能夠以最大概率輸出該語音信號的詞串,這樣就確定這個語音樣本所包含的文字了。所以,解碼操作即指搜索算法,即在解碼端通過搜索技術尋找最優詞串的方法。

連續語音識別中的搜索,就是尋找一個詞模型序列以描述輸入語音信號,從而得到詞解碼序列。搜索所依據的是對公式中的聲學模型打分和語言模型打分。在實際使用中,往往要依據經驗給語言模型加上一個高權重,並設置一個長詞懲罰分數。

語音識別本質上是一種模式識別的過程,未知語音的模式與已知語音的參考模式逐一進行比較,最佳匹配的參考模式被作為識別結果。當今語音識別技術的主流算法,主要有基於動態時間規整(DTW)算法、基於非參數模型的矢量量化(VQ)方法、基於參數模型的隱馬爾可夫模型(HMM)的方法、以及近年來基於深度學習和支持向量機等語音識別方法。

站在巨人的肩膀上:開源框架

目前開源世界裡提供了多種不同的語音識別工具包,為開發者構建應用提供了很大幫助。但這些工具各有優劣,需要根據具體情況選擇使用。下表為目前相對流行的工具包間的對比,大多基於傳統的 HMM 和N-Gram 語言模型的開源工具包。

對於普通用戶而言,大多數人都會知道 Siri 或 Cortana 這樣的產品。而對於研發工程師來說,更靈活、更具專注性的解決方案更符合需求,很多公司都會研發自己的語音識別工具。

(1)CMU Sphinix是卡內基梅隆大學的研究成果。已有 20 年歷史了,在 Github和 SourceForge上都已經開源了,而且兩個平台上都有較高的活躍度。

(2)Kaldi 從 2009 年的研討會起就有它的學術根基了,現在已經在 GitHub上開源,開發活躍度較高。

(3)HTK 始於劍橋大學,已經商用較長時間,但是現在版權已經不再開源軟體了。它的最新版本更新於 2015 年 12 月。

(4)Julius起源於 1997 年,最後一個主版本發布於2016 年 9 月,主要支持的是日語。

(5)ISIP 是第一個最新型的開源語音識別系統,源於密西西比州立大學。它主要發展於 1996 到 1999 年間,最後版本發布於 2011 年,遺憾的是,這個項目已經不複存在。

語音識別技術研究難點

目前,語音識別研究工作進展緩慢,困難具體表現在:

(1)輸入無法標準統一

比如,各地方言的差異,每個人獨有的發音習慣等,如下圖所示,口腔中元音隨著舌頭部位的不同可以發出多種音調,如果組合變化多端的輔音,可以產生大量的、相似的發音,這對語音識別提出了挑戰。除去口音參差不齊,輸入設備不統一也導致了語音輸入的不標準。

(2)噪聲的困擾

噪聲環境的各類聲源處理是目前公認的技術難題,機器無法從各層次的背景噪音中分辨出人聲,而且,背景噪聲千差萬別,訓練的情況也不能完全匹配真實環境。因而,語音識別在噪聲中比在安靜的環境下要難得多。

目前主流的技術思路是,通過算法提升降低誤差。首先,在收集的原始語音中,提取抗噪性較高的語音特徵。然後,在模型訓練的時候,結合噪聲處理算法訓練語音模型,使模型在噪聲環境裡的魯棒性較高。最後,在語音解碼的過程中進行多重選擇,從而提高語音識別在噪聲環境中的準確率。完全消除噪聲的干擾,目前而言,還停留在理論層面。

(3)模型的有效性

識別系統中的語言模型、詞法模型在大詞匯量、連續語音識別中還不能完全正確的發揮作用,需要有效地結合語言學、心理學及生理學等其他學科的知識。並且,語音識別系統從實驗室演示系統向商品的轉化過程中還有許多具體細節技術問題需要解決。

智能語音識別系統研發方向

今天,許多用戶已經能享受到語音識別技術帶來的方便,比如智能手機的語音操作等。但是,這與實現真正的人機交流還有相當分離度。目前,計算機對用戶語音的識別程度不高,人機互動上還存在一定的問題,智能語音識別系統技術還有很長的一段路要走,必須取得突破性的進展,才能做到更好的商業應用,這也是未來語音識別技術的發展方向。

在語音識別的商業化落地中,需要內容、算法等各個方面的協同支撐,但是良好的用戶體驗是商業應用的第一要素,而識別算法是提升用戶體驗的核心因素。目前語音識別在智能家居、智能車載、智能客服機器人方面有廣泛的應用,未來將會深入到學習、生活、工作的各個環節。許多科幻片中的場景正在逐步走入我們的平常生活。

【鈦媒體作者介紹:本文由“蘇寧財富資訊”原創,作者為蘇寧金融研究院金融科技研究中心副主任沈春澤。​】

獲得更多的PTT最新消息
按讚加入粉絲團