翁湦元,單杏花,蔣秋華,周永健
(中國(guó)鐵道科學(xué)研究院,北京 100081)
鐵路信息技術(shù)
鐵路語(yǔ)音識(shí)別引導(dǎo)購(gòu)票應(yīng)用的設(shè)計(jì)與實(shí)現(xiàn)
翁湦元,單杏花,蔣秋華,周永健
(中國(guó)鐵道科學(xué)研究院,北京 100081)
本文對(duì)鐵路語(yǔ)音識(shí)別引導(dǎo)購(gòu)票應(yīng)用進(jìn)行了需求分析,并分析了開(kāi)源的Sphinx語(yǔ)音識(shí)別平臺(tái)的特性,在此平臺(tái)上完成了鐵路語(yǔ)音識(shí)別引導(dǎo)購(gòu)票應(yīng)用的整體設(shè)計(jì)與實(shí)現(xiàn)。
語(yǔ)音識(shí)別;JAVA;Android開(kāi)發(fā);客票系統(tǒng)
隨著鐵路客票系統(tǒng)的發(fā)展以及互聯(lián)網(wǎng)聯(lián)網(wǎng)售票功能的實(shí)現(xiàn),互聯(lián)網(wǎng)購(gòu)票、電話(huà)購(gòu)票、手機(jī)客戶(hù)端購(gòu)票等功能的出現(xiàn)為旅客購(gòu)票提供了極大的便利,但是購(gòu)票過(guò)程仍需要旅客進(jìn)行多次的點(diǎn)擊操作與查詢(xún)。而語(yǔ)音引導(dǎo)購(gòu)票讓旅客通過(guò)語(yǔ)言表達(dá)購(gòu)票需求,使購(gòu)票過(guò)程變得更為高效和便捷。
1.1 背景
語(yǔ)音識(shí)別技術(shù)始于20世紀(jì)50年代的語(yǔ)音學(xué)與聲學(xué)基礎(chǔ)理論的研究,動(dòng)態(tài)規(guī)劃方法的提出以及線(xiàn)性預(yù)測(cè)編碼的提出推動(dòng)了語(yǔ)音識(shí)別技術(shù)的發(fā)展。矢量量化與隱馬爾科夫鏈模型理論的提出,推動(dòng)了語(yǔ)音識(shí)別技術(shù)的長(zhǎng)足進(jìn)步。目前,語(yǔ)音識(shí)別技術(shù)正逐步成為人機(jī)交互的關(guān)鍵技術(shù)。國(guó)內(nèi)外的語(yǔ)音識(shí)別應(yīng)用平臺(tái)在開(kāi)源與商業(yè)化兩大陣營(yíng)均有較為成熟的產(chǎn)品。商業(yè)化平臺(tái)中以微軟Speech API,IBM Via Voice,訊飛語(yǔ)音識(shí)別平臺(tái)最具代表性。開(kāi)源軟件陣營(yíng)中,Sphinx、HTK以及Julius等項(xiàng)目也正在高速發(fā)展[1]。
1.2 算法
語(yǔ)音識(shí)別系統(tǒng)的模型通常由聲學(xué)模型和語(yǔ)言模型兩部分組成,分別對(duì)應(yīng)語(yǔ)音到音節(jié)概率的計(jì)算和音節(jié)到字概率的計(jì)算。連續(xù)語(yǔ)音識(shí)別的大致流程如圖1所示。
圖1 連續(xù)語(yǔ)音識(shí)別流程
首先對(duì)輸入的原始語(yǔ)音信號(hào)進(jìn)行端點(diǎn)檢測(cè)、語(yǔ)音分幀以及預(yù)加重等處理[2]。使用Mel倒譜系數(shù)去除語(yǔ)音信號(hào)中的冗余信息,采用隱馬爾可夫模型來(lái)模擬人的語(yǔ)言過(guò)程,采用N-Gram模型通過(guò)詞匯出現(xiàn)先后順序的概率計(jì)算概率最大的單詞序列,根據(jù)己經(jīng)訓(xùn)練好的聲學(xué)模型、語(yǔ)言模型或字典建立一個(gè)由語(yǔ)音音素組成的有向網(wǎng)絡(luò)并尋找最佳的路徑,即確定了識(shí)別的文字信息[3]。
語(yǔ)音引導(dǎo)購(gòu)票平臺(tái)應(yīng)能迅速高效地識(shí)別用戶(hù)的語(yǔ)音命令,提取信息并快速查詢(xún)并反饋查詢(xún)結(jié)果。為適應(yīng)離線(xiàn)與在線(xiàn)識(shí)別兩種應(yīng)用場(chǎng)景,語(yǔ)音識(shí)別功能應(yīng)分別在PC與移動(dòng)端實(shí)現(xiàn)。
PC端作為服務(wù)端應(yīng)實(shí)現(xiàn)的功能有:接受移動(dòng)端上傳的語(yǔ)音,將識(shí)別的文字結(jié)果推送給移動(dòng)端;支持更高識(shí)別精度的算法;模型文件可以隨時(shí)更新;有良好的多線(xiàn)程識(shí)別的支持;具備語(yǔ)音樣本采集與模型訓(xùn)練等功能。
移動(dòng)端應(yīng)該同時(shí)支持離線(xiàn)與在線(xiàn)兩種語(yǔ)音識(shí)別模式;保證識(shí)別精度的同時(shí),使用的模型體積應(yīng)該較小,代碼精簡(jiǎn),啟動(dòng)快速;同時(shí)應(yīng)以組件的形式存在,方便與當(dāng)前12306手機(jī)購(gòu)票軟件整合。
在語(yǔ)音轉(zhuǎn)換為文本之后,應(yīng)有對(duì)應(yīng)的語(yǔ)義分析程序?qū)⒊塑?chē)日期、發(fā)站、到站需求抽取出來(lái),為后期購(gòu)票過(guò)程提供信息。語(yǔ)義分析程序應(yīng)支持在語(yǔ)音識(shí)別錯(cuò)誤的情況下,從文本中提取有效部分的信息,增加識(shí)別應(yīng)用的容錯(cuò)能力。
為確定語(yǔ)音識(shí)別的詞匯范圍,通過(guò)采集2012年以來(lái)所有旅客的購(gòu)票需求統(tǒng)計(jì)站名出現(xiàn)的頻率。通過(guò)統(tǒng)計(jì),旅客購(gòu)票記錄中出現(xiàn)的發(fā)站站名共2 598個(gè),到站站名共3 599個(gè)。其中查詢(xún)頻率出現(xiàn)高的站名分布集中,若以累計(jì)頻率達(dá)到90%為線(xiàn),發(fā)站、到站合計(jì)僅需522個(gè)站名即可。在系統(tǒng)開(kāi)發(fā)初期可以重點(diǎn)訓(xùn)練這些熱門(mén)站點(diǎn)的語(yǔ)音樣本,保證熱門(mén)站點(diǎn)的查詢(xún)準(zhǔn)確率,其余站點(diǎn)可以陸續(xù)完善補(bǔ)充。
3.1 平臺(tái)選取
Sphinx語(yǔ)音識(shí)別平臺(tái)的分支Sphinx4和Pocket Sphinx各具特色。Pocket Sphinx具有代碼精簡(jiǎn)、識(shí)別速度快、準(zhǔn)確率高等優(yōu)點(diǎn),是移動(dòng)端開(kāi)發(fā)的良好選擇。Sphinx4可以提供更高的識(shí)別準(zhǔn)確度,完全基于JAVA平臺(tái),有良好的跨平臺(tái)優(yōu)勢(shì),適合作為服務(wù)器端的開(kāi)發(fā)工具。
3.2 識(shí)別模式的選取
Sphinx4和Pocket Sphinx均支持語(yǔ)言模型和字典兩種識(shí)別方式。語(yǔ)言模型在聲學(xué)模型搜索的基礎(chǔ)上綜合詞匯出現(xiàn)順序計(jì)算所有可能的文本概率。字典模式僅利用聲學(xué)模型搜索可能的詞語(yǔ),結(jié)合字典記錄的文本結(jié)構(gòu)在不同的詞匯范圍中搜尋最匹配的詞語(yǔ)組成文本。語(yǔ)言模型考慮詞語(yǔ)先后出現(xiàn)的概率,所以訓(xùn)練樣本的采集需要考慮所有發(fā)到站的組合,樣本數(shù)量巨大,采集工作繁雜。語(yǔ)言模型識(shí)別模式計(jì)算復(fù)雜,識(shí)別耗時(shí)長(zhǎng)于字典模式。因此針對(duì)語(yǔ)音引導(dǎo)購(gòu)票功能的實(shí)現(xiàn),使用字典模式識(shí)別較為合理。
3.3 語(yǔ)音訓(xùn)練樣本設(shè)計(jì)
聲學(xué)模型的訓(xùn)練是最關(guān)鍵的環(huán)節(jié)。根據(jù)Sphinx官方訓(xùn)練規(guī)范文檔的要求,對(duì)于有限樣本的多人語(yǔ)音識(shí)別需求,需要準(zhǔn)備約200人,50 h的訓(xùn)練樣本進(jìn)行訓(xùn)練[4]。為了便于保證各命令要素(發(fā)站、到站、時(shí)間)必要的訓(xùn)練強(qiáng)度,將訓(xùn)練文本設(shè)計(jì)為“今天從 北京 到 福州”形式。
在原型的開(kāi)發(fā)階段選取了9個(gè)站名,3個(gè)時(shí)間要素進(jìn)行識(shí)別訓(xùn)練。站名包括:北京、福州、上海虹橋、蘇州、廣州、太原、廈門(mén)、杭州;時(shí)間要素包括:今天、明天、后天。共采集了9人共750個(gè)語(yǔ)音樣本片段,并嘗試進(jìn)行不同的組合訓(xùn)練并對(duì)系統(tǒng)的識(shí)別效果進(jìn)行分析以了解平臺(tái)特性。
3.4 平臺(tái)特性分析
根據(jù)樣本數(shù)量、獲取時(shí)間、設(shè)備的不同對(duì)樣本進(jìn)行分類(lèi)和組合,生成12個(gè)不同的樣本集合進(jìn)行訓(xùn)練。并使用生成的訓(xùn)練結(jié)果進(jìn)行識(shí)別測(cè)試,以此得到識(shí)別準(zhǔn)確度的交叉統(tǒng)計(jì)表。樣本集合信息如表1所示。識(shí)別準(zhǔn)確率統(tǒng)計(jì)數(shù)據(jù)的交叉表如表2所示。
表1 樣本詳情列表
以上數(shù)據(jù)展示了不同的樣本集合與模型識(shí)別表現(xiàn)的關(guān)系,為語(yǔ)音樣本錄制的語(yǔ)料范圍與數(shù)量提供了參考。通過(guò)對(duì)Sphinx語(yǔ)音識(shí)別系統(tǒng)的小樣本訓(xùn)練與測(cè)試,針對(duì)單一詞匯的訓(xùn)練僅需13次左右的樣本即可達(dá)到很高的識(shí)別率,男聲女聲不需要單獨(dú)訓(xùn)練,多人語(yǔ)音樣本混合訓(xùn)練在提高整體識(shí)別率的同時(shí)并不會(huì)顯著降低個(gè)人的語(yǔ)音識(shí)別準(zhǔn)確率。
3.5 應(yīng)用設(shè)計(jì)與實(shí)現(xiàn)
表2 識(shí)別準(zhǔn)確率交叉分析表
系統(tǒng)由PC端、移動(dòng)端語(yǔ)音識(shí)別軟件以及語(yǔ)音訓(xùn)練樣本采集、訓(xùn)練工具組成,做到了:樣本采集,模型訓(xùn)練,應(yīng)用實(shí)現(xiàn)的整套方案原型。PC端包含語(yǔ)音訓(xùn)練樣本采集工具、訓(xùn)練工具以及基于Sphinx4的語(yǔ)音識(shí)別工具。移動(dòng)端使用Pocket Sphinx作為語(yǔ)音識(shí)別核心,開(kāi)發(fā)了原生Android應(yīng)用以及IBM WorkLight框架下(12306手機(jī)購(gòu)票軟件亦基于此框架)的語(yǔ)音識(shí)別兩套應(yīng)用。
3.5.1 樣本采集與訓(xùn)練工具的實(shí)現(xiàn)
專(zhuān)門(mén)的語(yǔ)音樣本采集工具使語(yǔ)音樣本的采集更加方便,同時(shí)規(guī)范了語(yǔ)音音頻參數(shù)以及文本的編碼規(guī)范。語(yǔ)音樣本采集工具界面如圖2所示。
訓(xùn)練過(guò)程主要使用Sphinx Train套件完成。由于訓(xùn)練套件有各自獨(dú)立的訓(xùn)練模塊,使用批處理的方式完成模塊的調(diào)用和過(guò)程文件的整理工作。開(kāi)發(fā)人員只需執(zhí)行編寫(xiě)好的腳本即可。模型訓(xùn)練工具界面如圖3所示。
圖2 語(yǔ)音樣本采集工具界面
圖3 模型訓(xùn)練工具界面
訓(xùn)練產(chǎn)生的模型文件體積僅700 KB左右,所占空間體積很小,適合作為移動(dòng)端的語(yǔ)音識(shí)別模型存儲(chǔ)使用。
3.5.2 PC端語(yǔ)音識(shí)別組件的實(shí)現(xiàn)
PC端的語(yǔ)音識(shí)別模塊利用Sphinx4作為識(shí)別核心,編寫(xiě)了多個(gè)不同功能的識(shí)別模塊以滿(mǎn)足不同的功能需求,包括:實(shí)時(shí)連續(xù)語(yǔ)音識(shí)別、WAV文件識(shí)別、批量音頻文件識(shí)別、識(shí)別結(jié)果詳細(xì)分析等。將配置信息以XML形式保存與功能代碼獨(dú)立,并統(tǒng)一了輸入輸出接口以便后續(xù)開(kāi)發(fā)與功能實(shí)現(xiàn),程序結(jié)構(gòu)如圖4所示。
通過(guò)對(duì)不同模塊的調(diào)用,可以滿(mǎn)足不同的語(yǔ)音識(shí)別需求。PC端語(yǔ)音識(shí)別界面如圖5所示。
3.5.3 移動(dòng)端的設(shè)計(jì)與實(shí)現(xiàn)
使用Pocket Sphinx作為語(yǔ)音識(shí)別引擎的核心,編寫(xiě)并實(shí)現(xiàn)了語(yǔ)音識(shí)別組件并設(shè)計(jì)了程序調(diào)用與數(shù)據(jù)傳輸接口,程序結(jié)構(gòu)如圖6所示。
上層應(yīng)用與識(shí)別核心相互獨(dú)立,通過(guò)規(guī)范調(diào)用函數(shù)與數(shù)據(jù)傳輸接口,即可實(shí)現(xiàn)方便的代碼移植。目前在原生APP與IBM WorkLight框架下均調(diào)用成功,應(yīng)用運(yùn)行的效果如圖7所示。
圖4 PC端語(yǔ)音識(shí)別程序結(jié)構(gòu)
圖5 PC端語(yǔ)音識(shí)別界面
圖6 移動(dòng)端語(yǔ)音識(shí)別程序結(jié)構(gòu)
本文列舉了目前購(gòu)票渠道流程的不足,提出了語(yǔ)音引導(dǎo)購(gòu)票的思路,設(shè)計(jì)并實(shí)現(xiàn)了語(yǔ)音引導(dǎo)購(gòu)票的系統(tǒng)原型,并對(duì)少量語(yǔ)音樣本的不同組成成分與對(duì)應(yīng)的識(shí)別結(jié)果進(jìn)行了比較分析,為后續(xù)語(yǔ)音樣本的采集提供了參考,但目前的成果還不能滿(mǎn)足實(shí)際使用的要求。
目前,由于采集的樣本數(shù)量較少,Sphinx語(yǔ)音識(shí)別平臺(tái)的表現(xiàn)不一定能反應(yīng)真實(shí)應(yīng)用情況。對(duì)Sphinx在大詞匯量以及實(shí)際應(yīng)用環(huán)境下的表現(xiàn)有待進(jìn)一步檢驗(yàn),Sphinx中識(shí)別器的所有可調(diào)參數(shù)的作用與調(diào)優(yōu)策略也有待進(jìn)一步研究。同時(shí)對(duì)于背景噪音的處理以及針對(duì)方言的識(shí)別功能也是亟待研究的問(wèn)題。
[1] 王 韻. 基于 Sphinx 的漢語(yǔ)連續(xù)語(yǔ)音識(shí)別[D]. 太原:太原理工大學(xué),2010.
[2] Stern R M, Acero A. Acoustical pre-processing for robust speech recognition[C]. Association for Computational Linguistics, 1989: 311-318.
[3] Ravishankar M K. Efficient Algorithms for Speech Recognition[R]. Carnegie-Mellon Univ Pittsburgh pa Dept of Computer Science, 1996.
[4] Acero A, Stern R M. Robust speech recognition by normalization of the acoustic space[C]. 1991. ICASSP-91, 1991 International Conference on. IEEE, 1991: 893-896.
責(zé)任編輯 方 圓
圖7 移動(dòng)端語(yǔ)音識(shí)別程序界面
本刊聲明
為適應(yīng)我國(guó)鐵路信息化建設(shè)的發(fā)展,進(jìn)一步擴(kuò)大作者國(guó)內(nèi)外學(xué)術(shù)交流渠道的需要,本刊已加入英國(guó)INSPEC數(shù)據(jù)庫(kù)、俄羅斯《文摘雜志》(AJ)、美國(guó)《劍橋科學(xué)文摘(工程技術(shù))》(CSA)數(shù)據(jù)庫(kù)、美國(guó)《劍橋科學(xué)文摘(自然科學(xué))》(CSA)數(shù)據(jù)庫(kù)收錄期刊,中國(guó)核心期刊(遴選)數(shù)據(jù)庫(kù)全文收錄期刊,萬(wàn)方數(shù)據(jù)—數(shù)字化期刊群全文上網(wǎng)期刊、中國(guó)期刊全文數(shù)據(jù)庫(kù)全文收錄期刊、中國(guó)學(xué)術(shù)期刊綜合評(píng)價(jià)數(shù)據(jù)庫(kù)統(tǒng)計(jì)源期刊、中文科技期刊數(shù)據(jù)庫(kù)(全文版)收錄期刊、波蘭《哥白尼索引》、美國(guó)《烏利希期刊指南》收錄期刊。作者著作權(quán)使用費(fèi)與本刊稿酬一次性給付。如作者不同意將文章編入數(shù)據(jù)庫(kù),請(qǐng)?jiān)趤?lái)稿時(shí)作出聲明,本刊將做適當(dāng)處理。
Speech recognition guided railway ticketing
WENG Shengyuan, SHAN Xinghua, JIANG Qiuhua, ZHOU Yongjian
( China Academy of Railway Sciences, Beijing 100081, China )
The paper analyzed the demand for speech recognition guided railway ticketing and the characteristics of Sphinx speech recognition open source platform, designed and developed a demo based on the platform.
speech recognition; JAVA; Android development; Railway Ticketing and Reservation System
U293.22∶TP39
A
1005-8451(2015)06-0022-04
2014-11-13
翁湦元,在讀碩士研究生;單杏花,研究員。