智能座艙算法基礎之語音識別篇

人人都是產品經理 發佈 2024-05-10T07:05:34.228753+00:00

近年來人工智慧技術快速發展,比較引人注目的包括智能語音技術、計算機視覺技術和自動語音識別技術等。其中,自動語音識別(ASR),簡稱語音識別,是重要的組成部分。其主要目標是把語音信號轉變為相應的文字,從而讓機器具有聽覺功能,能夠直接接收人的口語命令,實現人機自然的交互。

近年來人工智慧技術快速發展,比較引人注目的包括智能語音技術、計算機視覺技術和自動語音識別技術等。其中,自動語音識別(ASR),簡稱語音識別,是重要的組成部分。其主要目標是把語音信號轉變為相應的文字,從而讓機器具有聽覺功能,能夠直接接收人的口語命令,實現人機自然的交互。

語音識別是一門交叉學科,所涉及的領域有音頻信號處理、聲學、語言學、模式識別、人工智慧等。其應用領域也非常廣,涉及工業、軍事、通信、消費電子等多個領域。在高度信息化的今天,語音識別技術及其應用已成為信息社會不可或缺的AI基礎設施。

語音識別過程是個複雜的過程,但其最終的任務歸結為:找到對應觀察序列O的最可能的詞序列W。主流的語音識別系統理論是建立在統計模式識別基礎之上的,在統計模型框架下可以用貝葉斯公式來描述語音識別問題。

根據貝葉斯決策理論,我們的任務就是找到一個最有的單詞序列W,使得它在語音觀察序列O上的後驗概率P(W/O)最大,即:

上式中,P(O|W)是聲學模型概率,它描述的是一段語音信號對應的聲學特徵0和單詞序列W的相似程度;P(W)是語言模型概率,它描述的是單詞序列W可能出現的概率。

尋找最優的單詞序列,即在所有可能的單詞序列候選中尋找W,使其聲學模型和語言模型的概率乘積P(O|W)P(W)最大。這中間包含三個問題:第一是如何遍歷所有可能的單詞序列;第二是如何計算聲學模型概率;第三是如何計算語言模型概率。

為了解決這三個問題,典型的大詞表連續語音識別(VCSR)系統採用如下圖所示的主流框架:

用戶語音輸入後,首先經過前端處理提取聲學特徵,得到一系列的觀察向量;然後將聲學特徵送到解碼器中進行搜索,完成所有可能的單詞序列W的遍歷,得到識別結果。解碼器在搜索過程中,需要使用聲學模型和詞典計算概率P(Om),使用語言模型計算概率P(W)。

聲學模型和語言模型由大量數據訓練而成;發音詞典根據語言學知識定義了每個單詞到發音單元的映射關係。整個系統的鏈路比較長,模塊眾多,需要精細調優每個組件才能取得比較好的識別效果。

一、聲學模型

人耳接收到聲音後,經過神經傳導到大腦分析判斷聲音類型,並進一步分辨可能的發音內容。

人的大腦從出生開始就不斷在學習外界的聲音,經過長時間潛移默化的訓練,最終才聽懂人類的語言。機器和人一樣,也需要學習語言的共性和發音的規律,建立起語音信號的聲學模型(AcousticModel,AM),才能進行語音識別。聲學模型是語音識別系統中最為重要的模塊之一。聲學建模包含建模單元選取、模型狀態聚類、模型參數估計等很多方面。

音素是構成語音的最小單位,它代表著發音的動作,是最小的發音單元。按照國際音標準則可以分為元音和輔音兩大類。其中元音是由聲帶周期性振動產生的,而輔音是氣流的爆破或摩擦產生的,沒有周期性。

英語中有48個音素,包含20個元音和28個輔音;漢語普通話包含32個音素,其中有10個元音和22個輔音。普通話漢語拼音的發音體系一般分為聲母和韻母。漢語拼音中原本有21個聲母和36個韻母,為了建模方便,經過擴充和調整後,一般包含27個聲母和38個韻母(不帶聲調)。另外,普通話是帶調語言,共包含四聲和額外的輕聲。按照這五種聲調,以上的38個韻母又可擴增為190個帶聲調的韻母。

音節是聽覺能感受到的最自然的語音單位,由一個或多個音素按照一定的規律組合而成。英語音節可單獨由一個元音構成,也可以由一個元音和一個或多個輔音構成。漢語的音節由聲母、韻母以及聲調構成,其中聲調信息包含在韻母中。因此,漢語音節結構可以簡化為聲母+韻母,漢語中共有409個無調音節,大約1300個有調音節。

聲學建模單元的選擇可以採用多種方案,比如採用音節建模、音素建模或者聲韻母建模等。漢語普通話比較合適採用聲韻母進行聲學建模,因為不存在冗餘,所以不同音節之間可以共享聲韻母信息,如「tā」和「bā」均有韻母「ā」。這種建模單元方案可以充分利用訓練數據,使得訓練出來的聲學模型更加穩健。如果訓練數據足夠多,則建議採用帶聲調的聲韻母作為聲學模型的建模單元。對於英文來講,因為沒有聲調,可以採用音素單元來建模。為了表述方便,很多文獻也常常把普通話的聲韻母歸為音素級別。

音素的上下文會對當前中心音素的發音產生影響,使當前音素的聲學信號發生協同變化,這與該音素的單獨發音有所不同。單音素建模沒有考慮這種協同發音效應,為了考慮該影響,實際操作中需要使用上下文相關的音素(也被稱為「三音子」)作為基本單元進行聲學建模,即考慮當前音素的前一個音素和後一個音素,使得模型描述更加精準。

對三音子進行精細建模需要大量的訓練數據,而實際上對於某些三音子而言數據很難獲得,同時精細建模導致模型建模單元數量巨大,例如,音素表有50個音素,則需要的三音子總數為:50x50x50=125000,模型參數顯然急劇增加。因此,嚴格意義上的三音子精細建模不太現實,往往通過狀態綁定策略來減小建模單元數目,典型的綁定方法有模型綁定、決策樹聚下面將著重介紹三類聲學模型,包括基於GMM-HMM的聲學模型、基於DNN-HMM的聲學模型以及端到端模型。

1)基於GMM-HMM的聲學模型HMM是一種統計分析模型,它是在馬爾可夫鏈的基礎上發展起來的,用來描述雙重隨機過程。HMM的理論基礎在1970年前後由Baum等人建立,隨後由CMU的Baker和IBM的Jelinek等人應用到語音識別中,L.R.Rabiner和S.Young等人進一步推動了HMM的應用和發展。HMM有算法成熟、效率高、易於訓練等優點,自20世紀80年代開始,被廣泛應用於語音識別、手寫字識別和天氣預報等多個領域,目前仍然是語音識別中的主流技術。

2)基於DNN-HMM的聲學模型儘管GMM具有擬合任意複雜分布的能力,但它也有一個嚴重的缺陷,即對非線性數據建模效率低下。因此,很久以前相關研究人員提出採用人工神經網絡代替GMM,建模HMM狀態後驗概率。但是由於當時計算能力有限,很難訓練兩層以上的神經網絡模型,所以其帶來的性能改善非常微弱。21世紀以來,機器學習算法和計算機硬體的發展使得訓練多 隱層的神經網絡成為可能。實踐表明,DNN在各種大型數據集上都取得了遠超過GMM的識別性能。因此,DNN-HMM替代GMM-HMM成為目前主流的聲學建模框架。

3)端到端模型傳統語音識別系統的聲學建模一般通過發音單元、HMM聲學模型、詞典等信息源,建立從聲學觀察序列到單詞之間的聯繫。每一部分都需要單獨的學習、訓練,步驟較為煩瑣。端到端(End-to-End,E2E)結構使用一個模型把這三個信息源囊括在一起,實現從觀察序列到文字的直接轉換。最新的一些進展甚至把語言模型的信息也囊括進來,取得了更好的性能。自2015年以來,端到端模型日益成為語音識別的研究熱點。

二、語言模型

主流語言模型一般採用基於統計的方法,通常是概率模型。計算機藉助於模型參數,可以估計出自然語言中每個句子出現的可能性。統計語言模型採用語料庫訓練得到,強調語料庫是語言知識的源泉,通過對語料庫進行深層加工、統計和學習,獲取自然語言文本中的語言學知識,從而可以客觀地描述大規模真實文本中細微的語言現象。

1)N-gram模型

N-gram統計語言模型由於其簡單、容易理解等優點在很多領域得以廣泛使用。

2)基於神經網絡的語音模型

包括三種常見的語言模型:前饋神經網絡語言模型、循環神經網絡語言模型以及長短期記憶的循環神經網絡語音模型。

三、解碼器

語音識別的最終目的是在由各種可能的單詞序列構成的搜索空間中,尋找最優的單詞序列。這在本質上屬於搜索算法貨解碼算法的範疇,即解碼器要完成的任務。

1)搜索空間

語音識別尋找最優的單詞序列,所有可能的單詞序列候選構成了解碼過程中的搜索空間。

解碼的搜索空間有多種構成方式,可以分為動態編譯解碼空間和靜態編譯解碼空間兩大類。動態編譯只是預先將發音詞典編譯成狀態網絡構成搜索空間,其他知識源在解碼過程中根據活躍路徑上攜帶的歷史信息動態集成。而靜態編譯解碼空間,是把所有知識源統一編譯在一個狀態網絡中,在解碼過程中根據節點間的轉移權重獲得概率信息。

2)動態搜索空間解碼算法

語音識別尋找最優單詞序列的問題可以轉化為:在樹形詞典構成的搜索空間中,尋找最優狀態序列的問題。這個問題一般使用維特比(Viterbi)算法解決。它的基本思想是,如果一個路徑集合A中的最大概率大於另外一個路徑集合B中的最大概率,則A的路徑概率和也大於B的路徑概率和。這個假設只能在一定程度上成立,因此會帶來一定的精度損失,但是卻能大大降低運算量。

3)基於加權有限狀態機(WFST)的解碼器

有AT&T提出的加權有限狀態轉換器是一種有效編譯靜態搜索空間並消除冗餘信息的算法,它在單一網絡中實現了從輸入序列到輸出序列的轉換,現已成為語音識別中最高效的解碼方法。

本文由 @ALICS 原創發布於人人都是產品經理。未經許可,禁止轉載

題圖來自Unsplash,基於CC0協議

該文觀點僅代表作者本人,人人都是產品經理平台僅提供信息存儲空間服務。

關鍵字: