江蘇自動化研究所 孫志宏
語音交互的關(guān)鍵技術(shù)包括語音識別、語音合成。語音識別技術(shù)將用戶輸入的語音轉(zhuǎn)化為相應(yīng)的文本或命令,語音合成技術(shù)將文本轉(zhuǎn)換成機(jī)器合成的語音。語音識別始于1950年代初,貝爾實(shí)驗(yàn)室的Davis等人研究成功了第一個(gè)可識別10個(gè)英文數(shù)字的語音識別系統(tǒng)[1]。進(jìn)入90年代后,語音識別在系統(tǒng)的自適應(yīng)性、參數(shù)提取及優(yōu)化等技術(shù)上取得了一些關(guān)鍵性的進(jìn)展,開始走出實(shí)驗(yàn)室走向市場化。2006年,Hint on提出了神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)算法(DNN)[2],使得至少具有7層的神經(jīng)網(wǎng)絡(luò)的訓(xùn)練成為可能。2011年,微軟研究院的Fr ank Seide等人將DNN方法用于大詞匯量語音識別[3]研究中取得了重大突破,將非特定人語音識別錯誤率降低了30%。在語音合成技術(shù)的發(fā)展中,早期的研究主要是采用參數(shù)合成方法。1990年基音同步疊加(PSOLA)方法的提出,合成的語音的音色和自然度大大提高。今年來,基于數(shù)據(jù)庫的單元挑選及數(shù)據(jù)驅(qū)動建模技術(shù)的普遍應(yīng)用,語音合成系統(tǒng)在可懂度、自然度上有了顯著提高[4]。
從產(chǎn)品的實(shí)現(xiàn)平臺上來看,當(dāng)前市場上的語音系統(tǒng)主要分為3種:嵌入式的語音處理系統(tǒng)、服務(wù)器模式的語音系統(tǒng)及云計(jì)算模式的語音服務(wù)系統(tǒng)。嵌入式語音系統(tǒng)[5]是指應(yīng)用微處理器在板級或是芯片級用軟件或硬件實(shí)現(xiàn)語音識別或合成技術(shù),只適合做算法要求相對簡單,對資源的需求較少的語音處理。在服務(wù)器模式的語音系統(tǒng)中,終端只負(fù)責(zé)收集和傳導(dǎo)語音信號,由服務(wù)器負(fù)責(zé)完成識別及合成,隨著訪問量的增加,系統(tǒng)性能會達(dá)到瓶頸。云計(jì)算模式的語音識別系統(tǒng)和服務(wù)器模式的語音識別系統(tǒng)類似,但云[6]具有更好的擴(kuò)展性,成本更加低廉,并且可以具有超大規(guī)模,給用戶提供前所未有的計(jì)算能力。云計(jì)算技術(shù)和語音識別相融合是一種新的趨勢。但現(xiàn)在市場上的產(chǎn)品只提供面向通用領(lǐng)域的語音處理服務(wù),無法滿足特殊領(lǐng)域?qū)φZ音服務(wù)的個(gè)性化需求及用戶極高的安全性要求。針對以上情形,本文提出并實(shí)現(xiàn)了一種面向艦用領(lǐng)域的語音云系統(tǒng),針對該領(lǐng)域的武器裝備用戶的特殊需求,提供可定制的語音識別及合成服務(wù),提高該領(lǐng)域的語音識別率及合成的可懂度,為用戶提供更自然更高效的人機(jī)交互方式。
本文首先研究了SOAP協(xié)議,并給出了基于SOAP協(xié)議的語音云服務(wù)流程。結(jié)合科大訊飛的語音識別及合成等API,實(shí)現(xiàn)了語音識別及合成技術(shù)與云計(jì)算技術(shù)的融合,即SSSCC (Speech Ser vice Syst em based on Cl oud Comput ing)系統(tǒng)。并在此基礎(chǔ)之上,給出了語音服務(wù)的可定制性方法,使得該系統(tǒng)能為艦用領(lǐng)域的用戶提供個(gè)性化服務(wù)。最后,通過實(shí)驗(yàn)評估了系統(tǒng)的性能。
近年來,隨著計(jì)算機(jī)技術(shù)的迅速發(fā)展,艦用電子信息系統(tǒng)運(yùn)行環(huán)境越來越復(fù)雜,主要為跨平臺、多種操作系統(tǒng)的復(fù)雜系統(tǒng)。各系統(tǒng)之間的互聯(lián)、互通、互操作更加重要,對系統(tǒng)之間的通信和共享數(shù)據(jù)提出了更高的要求,要求各系統(tǒng)能夠通過網(wǎng)絡(luò)實(shí)現(xiàn)信息共享、進(jìn)行數(shù)據(jù)交換,獲取一致性信息。而基于SOAP(Simpl e Obj ect Access Prot ocol)的通信協(xié)議能夠滿足以上需求。SOAP是一種在分散或分布式的環(huán)境中交換信息的簡單協(xié)議,它包括四個(gè)部分:SOAP封裝(envel op),SOAP編碼規(guī)則(encoding r ul es)SOAP RPC表示(RPC r epr esent at ion),SOAP綁定(binding),使用底層協(xié)議交換信息。
對于語音識別服務(wù)的應(yīng)用程序,服務(wù)器端提供語音識別API??蛻舳耸紫劝l(fā)送一個(gè)SOAP請求給服務(wù)器,服務(wù)端接受請求后,分配一個(gè)服務(wù)節(jié)點(diǎn)給客戶端,客戶端發(fā)送錄音數(shù)據(jù)給服務(wù)端,服務(wù)器節(jié)點(diǎn)把識別結(jié)果通過SOAP應(yīng)答傳給客戶端。語音云和服務(wù)請求客戶端之間的通信基于SOAP協(xié)議,采用WSDL描述對外調(diào)用接口。客戶端開發(fā)時(shí)解析WSDL生成服務(wù)框架,基于框架開發(fā)服務(wù)調(diào)用過程。基于SOAP的語音服務(wù)流程如圖1所示:
圖1 基于SOAP的語音服務(wù)流程
由上圖可知,客戶端通過SOAP發(fā)布語音識別服務(wù)請求后,服務(wù)發(fā)現(xiàn)代理分配Peer_4節(jié)點(diǎn)給該客戶端,客戶端語音識別請求傳給Peer_4節(jié)點(diǎn),收到該節(jié)點(diǎn)的響應(yīng)應(yīng)答后,發(fā)起服務(wù)調(diào)用,將語音通過聲卡傳給Peer_4節(jié)點(diǎn),該節(jié)點(diǎn)將識別結(jié)果返回給客戶端,一次語音識別過程結(jié)束。
圖2 語音云服務(wù)拓?fù)浣Y(jié)構(gòu)
云計(jì)算自底向上可以分為三個(gè)層次的服務(wù):基礎(chǔ)設(shè)施即服務(wù)(IaaS),平臺即服務(wù)(PaaS)和軟件即服務(wù)(SaaS)。本文所做的語音服務(wù)是SaaS層次上的服務(wù),把語音云發(fā)布出去,用戶通過網(wǎng)絡(luò)獲取語音交互服務(wù)。語音云服務(wù)拓?fù)浣Y(jié)構(gòu)如圖2所示:顯控臺或者手持終端發(fā)出語音服務(wù)請求,服務(wù)發(fā)現(xiàn)節(jié)點(diǎn)實(shí)時(shí)更新服務(wù)狀;服務(wù)部署節(jié)點(diǎn)按照用戶制定的部署策略將服務(wù)部署安裝到指定節(jié)點(diǎn)組成服務(wù)組,并實(shí)時(shí)監(jiān)控所有節(jié)點(diǎn)的狀態(tài);服務(wù)節(jié)點(diǎn)接受到請求之后,做出可提供服務(wù)應(yīng)答,然后顯控臺或者手持終端發(fā)起語音服務(wù)調(diào)用,服務(wù)節(jié)點(diǎn)響應(yīng)服務(wù)調(diào)用請求,返回語音識別或語音合成結(jié)果。
所謂可定制性是指用戶可根據(jù)自身的需求,來定制自己所需要的產(chǎn)品和服務(wù),以滿足自己的個(gè)性化需要。艦用語音服務(wù)的可定制性,是根據(jù)艦用裝備電子信息應(yīng)用中專用系統(tǒng)應(yīng)用需求不同提供合適的語音定制服務(wù)??梢酝ㄟ^兩種途徑來實(shí)現(xiàn)語音服務(wù)的可定制性。一種是針對應(yīng)用情景形成專用的語法文檔,并開放給用戶可進(jìn)行配置。第二種是針對專用系統(tǒng)對演算性能、響應(yīng)時(shí)間、識別準(zhǔn)確率及合成可懂度等需求不同,制定服務(wù)QoS策略,開放給用戶進(jìn)行QoS配置,完成語音服務(wù)定制。
實(shí)驗(yàn)室先前在PaaS層次搭建了一個(gè)云平臺,能提供服務(wù)的管理、部署等服務(wù)。下面通過實(shí)驗(yàn),分別測試云架構(gòu)的語音識別系統(tǒng)和傳統(tǒng)的C/S架構(gòu)的語音識別系統(tǒng),對比二者在用戶請求數(shù)增長時(shí)對系統(tǒng)性能的影響。由于錄音環(huán)節(jié)會使得云端和服務(wù)端都處于閑置狀態(tài),浪費(fèi)大量時(shí)間和性能,所以本實(shí)驗(yàn)通過直接上傳已經(jīng)錄好的語音文件,使得云端和服務(wù)端滿負(fù)荷運(yùn)行,達(dá)到測試云端和服務(wù)端的語音云性能的目的。
為了驗(yàn)證SSSCC語音服務(wù)系統(tǒng)的性能,本文選擇了四臺一般的PC機(jī)搭建了一個(gè)較小的云計(jì)算平臺,配置為CPU是4核3.2Ghz,內(nèi)存為4G,每臺PC機(jī)進(jìn)行虛擬化,運(yùn)行VxWor ks6.8操作系統(tǒng)或者window XP系統(tǒng),提供語音識別、語音合成等服務(wù)。對于C/S架構(gòu)的語音識別服務(wù)器,選擇任意一臺PC機(jī)充當(dāng)。
為了對比SSSCC語音服務(wù)系統(tǒng)和C/S架構(gòu)的語音服務(wù)系統(tǒng)性能,設(shè)計(jì)實(shí)驗(yàn)如下:首先實(shí)驗(yàn)室人員在噪音小于60dB環(huán)境下,錄制1000個(gè)艦用專用詞錄音文件作為實(shí)驗(yàn)數(shù)據(jù),其次每個(gè)系統(tǒng)有10個(gè)用戶并發(fā)上傳錄音文件到云端,云端對錄音文件進(jìn)行處理,然后返回識別結(jié)果。實(shí)驗(yàn)獲得用戶上傳的文件數(shù)量與每個(gè)系統(tǒng)對不同數(shù)目請求的處理時(shí)間變化趨勢之間的關(guān)系,如圖3所示。圖中橫軸為每個(gè)用戶上傳的錄音文件數(shù),縱軸為總的處理時(shí)間(從上傳第一個(gè)文件開始,到最后一個(gè)文件返回結(jié)果結(jié)束)。TRA代表傳統(tǒng)的C/S架構(gòu)的語音服務(wù)系統(tǒng),NCC代表云計(jì)算架構(gòu)的語音服務(wù)系統(tǒng),即SSSCC服務(wù)系統(tǒng)。由圖可知,當(dāng)用戶請求量較少時(shí),二者服務(wù)總時(shí)間時(shí)間相差不大,而當(dāng)每個(gè)用戶的語音文件上傳量達(dá)到1100個(gè)時(shí),C/S架構(gòu)語音服務(wù)系統(tǒng)時(shí)間增長速率大大增加,遇到了服務(wù)性能瓶頸。可見云架構(gòu)的語音識別系統(tǒng)隨著用戶請求量的增加,服務(wù)時(shí)間基本呈線性增長,因此SSSCC語音服務(wù)系統(tǒng)對于用戶請求劇烈增加的情形能夠提供性能穩(wěn)定的服務(wù),更符合語音交互服務(wù)的發(fā)展趨勢。
圖3 C/S架構(gòu)與SSSCC語音服務(wù)系統(tǒng)性能比較
本文針對艦用電子信息系統(tǒng)對語音服務(wù)的個(gè)性化需求,研究了云計(jì)算架構(gòu)及SOAP協(xié)議,構(gòu)建了基于SOAP的艦用語音云服務(wù)平臺,實(shí)現(xiàn)了語音操控、語音輸入、語音合成等服務(wù),并給出了語音服務(wù)的可定制性方法,使得該系統(tǒng)能為艦用領(lǐng)域的用戶提供個(gè)性化服務(wù),為武器裝備系統(tǒng)提供了更自然、更高效的人機(jī)交互方式。
[1]Davis K H,Biddulph R,Balashek S.Automatic recognition of spoken digits[J].The Journal of the Acoustical Society of America,2005,24(6):637-642.
[2]Hinton,G.E.,Osindero,S.and Teh,Y.(2006) A fast learning algorithm for deep belief nets.Neural Computation,18, pp1527-1554.
[3]Frank Seide,Gang Li and Dong Yu.Conversational Speech Transcription Using Context-Dependent Deep Neural Networks.INTERSPEECH,2011.
[4]Black A.Perfect synthesis for all of the people all of the time[C].Proceedings of IEEE TTS Workshop 2002 Santa Monica,USA:2002:167-170.
[5]方敏,浦劍濤.嵌入式語音識別系統(tǒng)的研究和實(shí)現(xiàn)[J].中文信息學(xué)報(bào),2004(6):73-75.
[6]Michael Armbrust,Armando Fox,Rean Grith et al.Above the clouds: A berkeley view of cloud computing[R].Technical Report UCB/EECS-2009-28:EECS Department,University of California,Berkeley,2009.