1中科信利連續語音識別引擎基本原理
1.1 概述
中科信利連續語音識別引擎,針對連續音頻流(即來自說話人直接錄入的語音,或者電話或其他音視頻領域的音頻信號)進行識別,將音頻信息自動轉化成文字。覆蓋漢語中絕大多數詞語,適用于說普通話的任何人群。輸出的結果都是漢字,兼容數字。
在輸入的聲音中,檢測出可靠的語音,排除靜音、背景噪聲、音樂等,判斷男女,實時送入語音識別解碼器進行識別。
識別引擎把音視頻中提取出的語音分成25毫秒一幀,提取有用特征,然后識別出一些類似拼音的結果(聲學模型),再根據漢語字詞句之間的搭配概率(語言模型),綜合考慮。當然,考慮的越多(beam路徑越大),識別準確率相對提高,同時消耗的時間就增長了;所以我們有優化策略,及時排除不可能的結果,避免系統過慢。用戶可以通過調節這些參數來平衡識別質量和速度,以滿足實際的需要。
最后返回的識別結果,軟件以漢語中基本詞語為單位給出了多種可能(1到十幾種)以及可能性大小供用戶參考選擇。
需要說明的是,對識別正確率以及識別速度來說,輸入語音(普通話)的質量(采音過程)是很重要的。采音時應盡可能的排除噪聲和音樂、增大語音,識別效果就會好得多,因此建議用戶在采音的時候選用質量較好的麥克風。
另外,系統在檢測是否有語音信號時可能會帶來一定的時間滯后,用戶在實時錄入時在每句話結束后,需要略有停頓,這樣可以提高系統語音檢測的速度和精度。語音檢測的越好,識別引擎的識別效果會越好。
1.2 引擎架構和基本原理
下圖給出了連續語音識別引擎的基本架構圖:
圖1.語音識別引擎架構圖
系統流程
如圖1所示,首先對輸入的音頻數據進行自動分類,過濾掉彩鈴、振鈴、傳真、音樂以及其他噪音,保留有效用戶語音數據,然后進行自動分段和端點檢測,獲取逐句的有效語音數據,然后將其送入特征提取和處理模塊,接著對于提取的聲學特征進行解碼,解碼過程利用發音字典、聲學模型、語言模型等信息構建WFST搜索空間,在搜索空間內尋找匹配概率最大的最優路徑,得到識別結果。后續可采用重估模塊,增加其他知識源,進一步提升語音識別系統性能。
核心技術特點
采用兩遍的維納濾波技術消除背景噪聲;采用垃圾語音混合高斯建模的方法去除垃圾語音(笑聲、咳嗽聲等非自然人語音);采用諧波檢測技術檢測語音起始點。
從人的聽覺感知及發音機理等現有基礎研究成果出發,分析提取具備抗噪性、鑒別性、互補性的特征參數。
采用PLP/CMN/HLDA/VTLN/高斯化等穩健性特征提取和處理技術,減少信道影響,進一步提高特征的區分性。
采用基于深度神經網絡DNN的聲學建模技術,采用業界領先的鑒別性模型訓練算法,大幅度提升語音識別系統性能。在訓練數據、特征提取等方面都充分考慮了自然環境噪聲的干擾,并且采用多條件的訓練策略,能夠顯著提高對于噪聲的穩健性。采用大量實網語音的訓練數據庫,適應用戶自然口語發音特點和地方口音特點。
充分利用網上業務語料,采用高階文法的統計語言模型技術。
積累了大量的分類文本語料(1T左右),使得語言模型能夠很好地覆蓋各個領域。同時對語言模型存取速度進行了大幅度優化以滿足實用需求。
采用基于WFST的Cross-word靜態搜索空間構建方法,有效地單遍集成各種知識源,將聲學模型、聲學上下文、發音詞典、語言模型等靜態編譯成狀態網絡,通過充分的前向后向歸并算法優化網絡。在識別率相當的情況下,比WFST開源工具包解碼速度快5倍以上。
采用模型自學習技術,基于實網語音數據進行聲學模型和語言模型的自適應,適應于多種地區的用戶口音。
1.3 引擎應用模式
中科信利連續語音識別引擎API提供兩種應用模式:
一種是在線實時錄音,檢測語音并進行識別。這種方法適合用于需要實時獲得講話內容的場合。目前可以在各類會議討論中進行開發使用。
另一種是離線讀入錄音文件進行識別,可以充分的利用聚類、實時自適應等技術,把語音的內容充分分析,進一步提高識別準確度。這種模式適用于希望取得精確文本內容,而對時間要求不高的應用。
2 中科信利連續語音識別引擎的功能和性能
2.1 連續語音識別引擎的特點和性能
核心引擎采用中科信利具有自主知識產權的國際領先的大詞匯量連續語音識別技術。
能夠自動將連續語音的內容轉成文字,支持在線語音流識別或離線語音數據識別。
可以實時對語音分段,判別類型,可自動分辨和過濾背景音樂、噪聲等非表義音頻段,對語音分男女進行識別。
識別結果除了文字外,還可同時給出時間索引信息(精確到每個字),有利于進行多媒體信息檢索;多候選信息為人工校對提供方便。
能夠達到較高的識別準確率
引擎準確率性能:
- 對于朗讀類型語音(如:手機語音搜索或輸入類語音、廣播電視新聞等),識別準確率在90%以上,經過模型優化訓練以后能達到95%。
- 對于自然對話類型語音(如:電視訪談語音或電話自然交談語音),識別準確率為85%左右,經過模型優化訓練以后能夠達到90%。
引擎速度性能:
- 在普通臺式機上可以達到1倍實時。
- 并發性:針對普通服務器(IntelXeonE5**雙cpu,每cpu六核),可支持24路語音數據流的實時識別(或相當于機器1小時能夠處理24小時的語音數據)。
支持說話人口音自適應(聲學自適應)和領域語料自適應(語言自適應)
核心算法支持海量并行處理,多線程
核心算法與語種無關,即系統語種可移植,支持漢語普通話、粵語和英語等語言的識別
引擎提供標準C接口,可供C/C++及各種語言的開發者直接調用。
能夠提供方便靈活的開發接口,多項參數可調,使用戶可以方便靈活地進行應用開發。
2.2 連續語音識別引擎資源配置
(一) 硬件環境
PC/工作站/服務器:
- CPU:性能相當于Intel酷睿2.2GHZ以上或兼容,雙核
- 內存:8GB以上(建議為16GB),200GB以上硬盤
(二) 軟件環境
PC/工作站/服務器:WINXP/Win7/WinServer2008等操作系統,或Linux操作系統
2.3 連續語音識別引擎的應用
在智能客服語音導航、客服錄音質量檢測、錄音文本自動語音錄入、Internet信息檢索、多媒體信息檢索、廣電監控系統等領域具有相當廣泛的用途。