語音識別技術

將人類的語音中的辭彙轉換為計算機可讀輸入

語音識別技術,也被稱為自動語音識別Automatic Speech Recognition,(ASR),其目標是將人類的語音中的辭彙內容轉換為計算機可讀的輸入,例如按鍵、二進位編碼或者字元序列。與說話人識別及說話人確認不同,後者嘗試識別或確認發出語音的說話人而非其中所包含的辭彙內容。

2019年8月17日,北京網際網路法院發布《網際網路技術司法應用白皮書》,該《白皮書》闡述了十大典型技術應用,其中包括語音識別技術。

簡介


語音識別技術
語音識別技術
語音識別技術的應用包括語音撥號、語音導航、室內設備控制、語音文檔檢索、簡單的聽寫數據錄入等。語音識別技術與其他自然語言處理技術如機器翻譯及語音合成技術相結合,可以構建出更加複雜的應用,例如語音到語音的翻譯。
語音識別技術所涉及的領域包括:信號處理、模式識別、概率論資訊理論、發聲機理和聽覺機理、人工智慧等等。

發展歷史


國外研究

從開始研究語音識別技術至今,語音識別技術的發展已經有半個多世紀的歷史。語音識別技術研究的開端,是Davis等人研究的Audry系統,它是當時第一個可以獲取幾個英文字母的系統。到了20世紀60年代,伴隨計算機技術的發展,語音識別技術也得以進步,動態規劃和線性預測分析技術解決了語音識別中最為重要的問題——語音信號產生的模型問題;70年代,語音識別技術有了重大突破,動態時間規整技術(DTW)基本成熟,使語音變得可以等長,另外,矢量量化(VQ)和隱馬爾科夫模型理論(HMM)也不斷完善,為之後語音識別的發展做了鋪墊;80年代對語音識別的研究更為徹底,各種語音識別演演算法被提出,其中的突出成就包括HMM模型人工神經網路(ANN);進入90年代后,語音識別技術開始應用於全球市場,許多著名科技網際網路公司,如IBM,Apple等,都為語音識別技術的開發和研究投入巨資;到了21世紀,語音識別技術研究重點轉變為即興口語和自然對話以及多種語種的同聲翻譯。
語音識別技術
語音識別技術

國內研究

國內關於語音識別技術的研究與探索從20世紀80年代開始,取得了許多成果並且發展飛速。例如:清華大學研發的語音識別技術以1183個單音節作為識別基元,並對其音節進行分解,最後進行識別,使三字詞和四字詞的準確率高達98%;中科院採用連續密度的HMM,整個系統的識別率達到89.5%,聲調和詞語的識別率分別是99.5%和95%。目 前,我國的語音識別技術已經和國際上的超級大國實力相當,其綜合錯誤率可控制在10%以內。
清華大學電子工程系語音技術與專用晶元設計課題組,研發的非特定人漢語數碼串連續語音識別系統的識別精度,達到94.8%(不定長數字串)和96.8%(定長數字串)。在有5%的拒識率情況下,系統識別率可以達到96.9%(不定長數字串)和98.7%(定長數字串),這是目前國際最好的識別結果之一,其性能已經接近實用水平。研發的5000詞郵包校核非特定人連續語音識別系統的識別率達到98.73%,前三選識別率達99.96%;並且可以識別普通話與四川話兩種語言,達到實用要求。
中科院自動化所及其所屬模式科技(Pattek)公司2002年發布了他們共同推出的面向不同計算平台和應用的“天語”中文語音系列產品——PattekASR,結束了中文語音識別產品自1998年以來一直由國外公司壟斷的歷史。

語音識別基礎


語音識別是涉及心理學、生理學、聲學、語言學、信息理論、信號處理、計算機科學、模式識別等多個學科的交叉學科,具有廣闊的應用前景,如語音檢索、命令控制、自動客戶服務、機器自動翻譯等。當今信息社會的高速發展迫切需要性能優越的,能滿足各種不同需求的自動語音識別技術。但是,這樣的目標面臨著諸多困難,如:①語音信號會受到上下文的影響而發生變化;②發音人以及口音的不同會導致語音特徵在參數空間分佈的不同;③同一發音人心理和生理變化帶來的語音變化;④不同的發音方式和習慣引起的省略、連讀等多變的語音現象;⑤環境和通道等因素造成的語音信號失真問題。
對於自動語音識別的探索,實際是早於計算機的出現的,早期的聲碼器可以看作是語音合成和識別技術的雛形,20世紀20年代出現的“Radio Rex”玩具狗也許是人類歷史上最早的語音識別機。現代自動語音識別技術可以追溯到上世紀50年代貝爾實驗室的研究員使用模擬元器件,提取分析母音的共振峰信息,實現了十個英文孤立數字的識別功能。到了50年代末,統計語法的概念被倫敦大學學院的研究者首次加入到語音識別中(Fry,1959),具有識別輔音和母音音素功能的識別器問世。在同一時期,用於特定環境中面向非特定人10個母音的音紊識別器也在麻省理工大學的林肯實驗室被研製出來。概率在不確定性數據管理中扮演重要角色,但多重概率的出現也極大的加大了數據處理的繁雜度。

系統框架


聲學特徵提取

模擬的語音信號進行採樣得到波形數據之後,首先要輸入到特徵提取模塊,提取出合適的聲學特徵參數供後續聲學模型訓練使用。好的聲學特徵應當考慮以下三個方面的因素。第一,應當具有比較優秀的區分特性.以使聲學模型不同的建模單元可以方便準確的建模。其次,特徵提取也可以認為是語音信息的壓縮編碼過程,既需要將通道、說話人的因素消除保留與內容相關的信息,又需要在不損失過多有用信息的情況下使用盡量低的參數維度,便於高效準確的進行模型的訓練。最後,需要考慮魯棒性,即對環境雜訊的抗干擾能力。

聲學模型

如今主流語音識別系統都採用隱馬爾科夫模型(HMM)作為聲學模型,這是因為HMM具有很多優良特性。HMM模型的狀態跳轉模型很適合人類語音的短時平穩特性,可以對不斷產生的觀測值(語音信號)進行方便的統計建模;與HNN相伴生的動態規劃演演算法可以有效地實現對可變長度的時間序列進行分段和分類的功能;HMM的應用範圍廣泛。只要選擇不同的生成概率密度,離散分佈或者連續分佈,都可以使用HNM進行建模。HMM以及與之相關的技術在語音識別系統中處於最核心的地位。自從HMM的理論被提出以來(Baum and Easo,1967),它在語音信號處理及相關領域的應用範圍變得越來越廣泛,在語音識別領域起到核心角色的作用,它還廣泛活躍精音的參數合成、語言理解、機器翻譯等其他領域。
以漢語為例:
漢語按音素的發音特徵分類分為輔音、單母音、復母音、復鼻尾音四種,按音節結構分類為聲母和韻母。並且由音素構成聲母或韻母。有時,將含有聲調的韻母稱為調母。由單個調母或由聲母與調母拼音成為音節。漢語的一個音節就是漢語一個字的音,即音節字。由音節字構成詞,最後再由詞構成句子。
漢語聲母共有22個,其中包括零聲母,韻母共有38個。按音素分類,漢語輔音共有22個,單母音13個,復母音13個,復鼻尾音16個。
目前常用的聲學模型基元為聲韻母、音節或詞,根據實現目的不同來選取不同的基元。漢語加上語氣詞共有412個音節,包括輕音字,共有1282個有調音節字,所以當在小辭彙表孤立詞語音識別時常選用詞作為基元,在大辭彙表語音識別時常採用音節或聲韻母建模,而在連續語音識別時,由於協同發音的影響,常採用聲韻母建模。
基於統計的語音識別模型常用的就是HMM模型λ(N,M,π,A,B),涉及到HMM模型的相關理論包括模型的結構選取、模型的初始化、模型參數的重估以及相應的識別演演算法等。

語言模型與語言處理

語言模型包括由識別語音命令構成的語法網路或由統計方法構成的語言模型,語言處理可以進行語法、語義分析。
語言模型對中、大辭彙量的語音識別系統特別重要。當分類發生錯誤時可以根據語言學模型、語法結構、語義學進行判斷糾正,特別是一些同音字則必須通過上下文結構才能確定詞義。語言學理論包括語義結構、語法規則、語言的數學描述模型等有關方面。目前比較成功的語言模型通常是採用統計語法的語言模型與基於規則語法結構命令語言模型。語法結構可以限定不同詞之間的相互連接關係,減少了識別系統的搜索空間,這有利於提高系統的識別。

語音識別方法


語音識別技術常用的方法有如下四種:1.基於語言學和聲學的方法,2.隨機模型法,3.利用人工神經網路的方法,4.概率語法分析。其中最主流的方法是隨機模型法。

基於語言學和聲學的方法

基於語言學和聲學的方法是最早應用於語音識別的方法,但是這種方法涉及的知識太過於困難,導致現在並沒有得到大規模普及。

隨機模型法

隨機模型法目前應用較為成熟,該方法主要採用提取特徵、訓練模板、對模板進行分類及對模板進行判斷的步驟來對語音進行識別。該方法涉及到的技術一般有3種:動態時間規整(DTW),隱馬爾科夫模型(HMM)理論和矢量量化(VQ)技術。其中,HMM演演算法相較於其他兩者的優點是簡便優質,在語音識別性能方面更為優異。也正因為如此,如今大部分語音識別系統都在使用HMM演演算法。

神經網路的方法

(ANN)神經網路方法是在語音識別發展的後期才有的一種新的識別方法。它其實是一種模擬人類神經活動的方法,同時具有人的一些特性,如自動適應和自主學習。其較強的歸類能力和映射能力在語音識別技術中具有很高的利用價值。業界將ANN與傳統的方法進行結合,各取所長,使得語音識別的效率得到了顯著的提升。

概率語法分析法

概率語法分析法是一種能夠識別大長度語段的技術,主要是為了完成“區別語言的特徵”,對於不同層次的知識利用相應層次的知識來解決。這種方法最大的不足就是,建立一個有效、適宜的適用知識系統存在著一定的困難。

語音識別程序


語音識別的工作模式

語音識別一般來說具有兩種工作模式:識別模式和命令模式。語音識別程序的實現也會根據兩種模式的不同而採用不同類型的程序。識別模式的工作原理是:引擎系統在後台直接給出一個詞庫和識別模板庫,任何系統都不需要再進一步對識別語法進行改動,只需要根據識別引擎提供的主程序源代碼進行改寫就可以了。命令模式相對來說實現起來比較困難,詞典必須要由程序員自己編寫,然後再進行編程,最後還要根據語音詞典進行處理和更正。識別模式與命令模式最大的不同就是,程序員要根據詞典內容進行代碼的核對與修改。

語音識別環境設置

一般語音識別程序的環境設置步驟包括CTI伺服器硬體默認參數採集與設定,識別硬體採集卡初始化,引擎埠設置等幾個部分。
1、CTI伺服器設置。
應用程序的所有工作都是根據CTI技術(Computer Telephone Integration)來工作的,語音硬體平台默認設定 CTI 伺服器。
2、語音採集系統的初始化。
語音識別的平台會通過判斷是否已經輸入語音來進行工作,那麼獲得語音就需要語音採集系統了。為了採集和輸出,我們一般採用語音卡作為工具。工作時,打開語音卡內自帶的板卡,然後在程序中加入參數就可以運行了。
3、引擎埠設置。語音開發平台已對硬體API介面函數進行提供,因此只需對函數進行調用和賦值即可。

語音字典的編譯

語音字典的設置包括語法、識別語音的規則、語音模板製作等內容,根據語音平台的規則來進行。在語音字典設置時,首先要設置語音識別核心包,再根據自己編譯的語音的規則來完成字典的全部設置。

編製識別主程序

在編譯語音識別程序的最後階段,程序員需要為主程序編寫GUI((Graphical User Interface)界面,以便於用戶與計算機進行交互操作。

分類


語音識別系統可以根據對輸入語音的限制加以分類。
從說話者與識別系統的相關性考慮
可以將識別系統分為3類:(1)特定人語音識別系統:僅考慮對於專人的話音進行識別;(2)非特定人語音系統:識別的語音與人無關,通常要用大量不同人的語音資料庫對識別系統進行學習;(3)多人的識別系統:通常能識別一組人的語音,或者成為特定組語音識別系統,該系統僅要求對要識別的那組人的語音進行訓練。
從說話的方式考慮
也可以將識別系統分為3類:(1)孤立詞語音識別系統:孤立詞識別系統要求輸入每個詞后要停頓;(2)連接詞語音識別系統:連接詞輸入系統要求對每個詞都清楚發音,一些連音現象開始出現;(3)連續語音識別系統:連續語音輸入是自然流利的連續語音輸入,大量連音和變音會出現。
從識別系統的辭彙量大小考慮
也可以將識別系統分為3類:(1)小辭彙量語音識別系統。通常包括幾十個詞的語音識別系統。(2)中等辭彙量的語音識別系統。通常包括幾百個詞到上千個詞的識別系統。(3)大辭彙量語音識別系統。通常包括幾千到幾萬個詞的語音識別系統。隨著計算機與數字信號處理器運算能力以及識別系統精度的提高,識別系統根據辭彙量大小進行分類也不斷進行變化。目前是中等辭彙量的識別系統到將來可能就是小辭彙量的語音識別系統。這些不同的限制也確定了語音識別系統的困難度。

面臨問題


就演演算法模型方面而言

需要有進一步的突破。目前能看出它的一些明顯不足,尤其在中文語音識別方面,語言模型還有待完善,因為語言模型和聲學模型正是聽寫識別的基礎,這方面沒有突破,語音識別的進展就只能是一句空話。目前使用的語言模型只是一種概率模型,還沒有用到以語言學為基礎的文法模型,而要使計算機確實理解人類的語言,就必須在這一點上取得進展,這是一個相當艱苦的工作。此外,隨著硬體資源的不斷發展,一些核心演演算法如特徵提取、搜索演演算法或者自適應演演算法將有可能進一步改進。可以相信,半導體和軟體技術的共同進步將為語音識別技術的基礎性工作帶來福音。

就自適應方面而言

語音識別技術也有待進一步改進。目前,象IBM的ViaVoice和Asiaworks的SPK都需要用戶在使用前進行幾百句話的訓練,以讓計算機適應你的聲音特徵。這必然限制了語音識別技術的進一步應用,大量的訓練不僅讓用戶感到厭煩,而且加大了系統的負擔。並且,不能指望將來的消費電子應用產品也針對單個消費者進行訓練。因此,必須在自適應方面有進一步的提高,做到不受特定人、口音或者方言的影響,這實際上也意味著對語言模型的進一步改進。現實世界的用戶類型是多種多樣的,就聲音特徵來講有男音、女音和童音的區別,此外,許多人的發音離標準發音差距甚遠,這就涉及到對口音或方言的處理。如果語音識別能做到自動適應大多數人的聲線特徵,那可能比提高一二個百分點識別率更重要。事實上,ViaVoice的應用前景也因為這一點打了折扣,只有普通話說得很好的用戶才可以在其中文版連續語音識別方面取得相對滿意的成績。

就強健性方面而言

語音識別技術需要能排除各種環境因素的影響。目前,對語音識別效果影響最大的就是環境雜音或嗓音,在公共場合,你幾乎不可能指望計算機能聽懂你的話,來自四面八方的聲音讓它茫然而不知所措。很顯然這極大地限制了語音技術的應用範圍,目前,要在嘈雜環境中使用語音識別技術必須有特殊的抗嗓(NoiseCancellation)麥克風才能進行,這對多數用戶來說是不現實的。在公共場合中,個人能有意識地摒棄環境嗓音並從中獲取自己所需要的特定聲音,如何讓語音識別技術也能達成這一點呢?這的確是一個艱巨的任務。
此外,帶寬問題也可能影響語音的有效傳送,在速率低於1000比特/秒的極低比特率下,語音編碼的研究將大大有別於正常情況,比如要在某些帶寬特別窄的通道上傳輸語音,以及水聲通信、地下通信、戰略及保密話音通信等,要在這些情況下實現有效的語音識別,就必須處理聲音信號的特殊特徵,如因為帶寬而延遲或減損等。語音識別技術要進一步應用,就必須在強健性方面有大的突破。

多語言混合識別以及無限辭彙識別方面

簡單地說,目前使用的聲學模型和語音模型太過於局限,以至用戶只能使用特定語音進行特定辭彙的識別。如果突然從中文轉為英文,或者法文、俄文,計算機就會不知如何反應,而給出一堆不知所云的句子;或者用戶偶爾使用了某個專門領域的專業術語,如“信噪比"等,可能也會得到奇怪的反應。這一方面是由於模型的局限,另一方面也受限於硬體資源。隨著兩方面的技術的進步,將來的語音和聲學模型可能會做到將多種語言混合納入,用戶因此就可以不必在語種之間來回切換。此外,對於聲學模型的進一步改進,以及以語義學為基礎的語言模型的改進,也能幫助用戶儘可能少或不受辭彙的影響,從而可實行無限辭彙識別。

多語種交流系統的應用

最終,語音識別是要進一步拓展我們的交流空間,讓我們能更加自由地面對這個世界。可以想見,如果語音識別技術在上述幾個方面確實取得了突破性進展,那麼多語種交流系統的出現就是順理成章的事情,這將是語音識技術、機器翻譯技術以及語音合成技術的完美結合,而如果硬體技術的發展能將這些演演算法進而固化到更為細小的晶元,比如手持移動設備上,那麼個人就可以帶著這種設備週遊世界而無需擔心任何交流的困難,你說出你想表達的意思,手持設備同時識別並將它翻譯成對方的語言,然後合成併發送出去;同時接聽對方的語言,識別並翻譯成已方的語言,合成后朗讀給你聽,所有這一切幾乎都是同時進行的,只是機器充當著主角。
任何技術的進步都是為了更進一步拓展我們人類的生存和交流空間,以使我們獲得更大的自由,就服務於人類而言,這一點顯然也是語音識別技術的發展方向,而為了達成這一點,它還需要在上述幾個方面取得突破性進展,最終,多語種自由交流系統將帶給我們全新的生活空間。

發展前景


比爾蓋茨曾說過:“語音技術將使計算機丟下滑鼠鍵盤”。隨著計算機的小型化,鍵盤滑鼠已經成為了計算機發展的一大阻礙。人類的計算機從超大體積發展到現在佔地不到1平方米的微型計算機,想必未來的計算機可能會有意想不到的小,那麼鍵盤滑鼠對其來說就是障礙了,這時候就需要語音識別來完成命令。一些科學家也說過:“計算機的下一代革命就是從圖形界面到語音用戶介面”。這表明了語音識別技術的發展無疑改變了人們的生活。在某些領域,電話正在逐漸地演變成一個服務者而非簡單的對話工具,通過電話,人們也可以使用語音來獲取自己想獲得的信息,其工作效率也自然而然提高了一個檔次。
語音識別技術漸漸地變成了人機介面的關鍵一步,這樣一個極具競爭性的新興產業,其市場的發展更是十分迅速,發展趨勢也在逐步上升。從1999到2005年間,語音識別技術市場正在以每年31%的趨勢增長,如今在iPhone等智能手機中,語音助手已經成為了標配功能,為用戶帶來了許多的便利,人們也可以通過電話和網路來訂購機票火車票,甚至是旅遊服務。因此,語音識別技術在我們實際生活中也有著越來越廣闊的發展前景和應用領域。
在電話與通信系統中,智能語音介面正在把電話機從一個單純的服務工具變成為一個服務的“提供者”和生活“夥伴”;使用電話與通信網路,人們可以通過語音命令方便地從遠端的資料庫系統中查詢與提取有關的信息;隨著計算機的小型化,鍵盤已經成為移動平台的一個很大障礙,想象一下如果手機僅僅只有一個手錶那麼大,再用鍵盤進行撥號操作已經是不可能的。語音識別正逐步成為信息技術中人機介面的關鍵技術,語音識別技術與語音合成技術結合使人們能夠甩掉鍵盤,通過語音命令進行操作。語音技術的應用已經成為一個具有競爭性的新興高技術產業。
語音識別技術發展到今天,特別是中小辭彙量非特定人語音識別系統識別精度已經大於98%,對特定人語音識別系統的識別精度就更高。這些技術已經能夠滿足通常應用的要求。由於大規模集成電路技術的發展,這些複雜的語音識別系統也已經完全可以製成專用晶元,大量生產。在西方經濟發達國家,大量的語音識別產品已經進入市場和服務領域。一些用戶交機、電話機、手機已經包含了語音識別撥號功能,還有語音記事本、語音智能玩具等產品也包括語音識別與語音合成功能。人們可以通過電話網路用語音識別口語對話系統查詢有關的機票、旅遊、銀行信息,並且取得很好的結果。調查統計表明多達85%以上的人對語音識別的信息查詢服務系統的性能表示滿意。
可以預測在近五到十年內,語音識別系統的應用將更加廣泛。各種各樣的語音識別系統產品將出現在市場上。人們也將調整自己的說話方式以適應各種各樣的識別系統。在短期內還不可能造出具有和人相比擬的語音識別系統,要建成這樣一個系統仍然是人類面臨的一個大的挑戰,我們只能一步步朝著改進語音識別系統的方向一步步地前進。至於什麼時候可以建立一個像人一樣完善的語音識別系統則是很難預測的。就像在60年代,誰又能預測今天超大規模集成電路技術會對我們的社會產生這麼大的影響。