實(shí)用的家電語(yǔ)音控制系統(tǒng)的設(shè)計(jì)
摘要:家電語(yǔ)音控制系統(tǒng)在復(fù)雜的背景環(huán)境下,由于識(shí)別率顯著下降而導(dǎo)致關(guān)鍵詞檢出率偏低。介紹了利用孤立詞、連接詞以及連續(xù)語(yǔ)音識(shí)別引擎構(gòu)造的多識(shí)別引擎的識(shí)別器,該識(shí)別器允許用戶(hù)自由選擇語(yǔ)音輸入方式,擴(kuò)大了關(guān)鍵詞的檢出范圍,從而達(dá)到提高關(guān)鍵詞檢出率的目的。同時(shí)給出了家電語(yǔ)音控制系統(tǒng)的整體結(jié)構(gòu),分析了影響系統(tǒng)性能的關(guān)鍵因素,并且給出了相應(yīng)的解決方案。
關(guān)鍵詞:語(yǔ)音識(shí)別 家電語(yǔ)音控制 語(yǔ)音確認(rèn)關(guān)鍵詞檢出
近年來(lái),隨著語(yǔ)音識(shí)別與確認(rèn)技術(shù)的逐漸成熟,基于語(yǔ)音識(shí)別技術(shù)的對(duì)話(huà)控制系統(tǒng)受到了越來(lái)越多的關(guān)注?,F(xiàn)有的語(yǔ)音技術(shù)雖然在實(shí)驗(yàn)室環(huán)境中取得取得了較好的識(shí)別效果,但是一旦由于環(huán)境或者說(shuō)話(huà)人的客觀原因使得語(yǔ)音信號(hào)變差時(shí),就會(huì)導(dǎo)致系統(tǒng)檢出率急劇下降,從而使得語(yǔ)音控制系統(tǒng)的性能變差甚至不能正常工作。
針對(duì)殘疾人行動(dòng)不便的問(wèn)題,在日本富士通公司的資助下開(kāi)發(fā)了一套殘疾人利用語(yǔ)音進(jìn)行家電控制的系統(tǒng)。本系統(tǒng)的用戶(hù)主要是康復(fù)中心的特殊用戶(hù),由于身體長(zhǎng)期癱瘓或者其它原因,他們不僅行動(dòng)不便,而且語(yǔ)言交流能力也有很大程度的下降,尤其是發(fā)音不夠清晰準(zhǔn)確,僅僅用傳統(tǒng)的語(yǔ)音識(shí)別器很難滿(mǎn)足控制系統(tǒng)實(shí)際應(yīng)用的需要。因此,提出了綜合利用孤立詞識(shí)別器、連接詞識(shí)別以及連續(xù)語(yǔ)音識(shí)別器構(gòu)建一個(gè)基于多識(shí)別引擎的識(shí)別器的方法,使得關(guān)鍵詞被正確檢出的可能性大大增加,在允許用戶(hù)自由使用孤立或者連續(xù)語(yǔ)音交流的同時(shí),還最大限度地利用不同識(shí)別引擎的優(yōu)點(diǎn),改善了家電語(yǔ)音控制系統(tǒng)的性能。
另外,還分析了語(yǔ)音控制系統(tǒng)中確認(rèn)、模型自適應(yīng)以及對(duì)話(huà)控制策略等關(guān)鍵技術(shù),并且給出了相應(yīng)的解決方案,從而給出家電語(yǔ)音控制系統(tǒng)的完整結(jié)構(gòu),在電梯、輪椅、電視等設(shè)備的實(shí)際控制中取得了良好的效果。
1 家電語(yǔ)音控制系統(tǒng)的結(jié)構(gòu)
家電語(yǔ)音控制系統(tǒng)包括軟件設(shè)計(jì)和硬件設(shè)計(jì)兩部分。本文主要討論軟件設(shè)計(jì)部分,其中包括:語(yǔ)音識(shí)別模塊、語(yǔ)音確認(rèn)模塊、對(duì)話(huà)控制及硬件指令傳輸模塊以及模型自適應(yīng)模塊。整個(gè)系統(tǒng)的流程是:首先,用戶(hù)的語(yǔ)音被送入語(yǔ)音識(shí)別模塊進(jìn)行Viterbi解碼識(shí)別,得到相應(yīng)的候選關(guān)鍵詞;然后,將候選關(guān)鍵詞送入語(yǔ)音確認(rèn)模塊進(jìn)行確認(rèn),從中檢出可能的關(guān)鍵詞,并給出相應(yīng)的確認(rèn)分值;再后,根據(jù)檢出的關(guān)鍵詞及其對(duì)應(yīng)的確認(rèn)分值產(chǎn)生相應(yīng)的對(duì)話(huà)或者控制命令對(duì)硬件進(jìn)行控制,同時(shí)利用已經(jīng)確認(rèn)的語(yǔ)音對(duì)識(shí)別中的語(yǔ)音模型進(jìn)行更新。圖1給出了家電語(yǔ)音控制系統(tǒng)的結(jié)構(gòu)圖。
2 基于多識(shí)別引擎的識(shí)別器設(shè)計(jì)
2.1 傳統(tǒng)識(shí)別引擎簡(jiǎn)介
根據(jù)待識(shí)別語(yǔ)音屬于單一用戶(hù)還是公眾進(jìn)行分類(lèi),可以將其分為特定人識(shí)別以及非特定人識(shí)別。由于設(shè)計(jì)目標(biāo)是針對(duì)特定用戶(hù)的,因此采用特定人識(shí)別器。如果根據(jù)輸入語(yǔ)音特點(diǎn)以及建模方法進(jìn)行分類(lèi),當(dāng)前的識(shí)別引擎主要分為孤立詞識(shí)別、連續(xù)語(yǔ)音識(shí)別以及連接詞識(shí)別等引擎。下面分別介紹幾種不同的識(shí)別引擎以及各自的優(yōu)缺點(diǎn)。
2.1.1 孤立詞識(shí)別引擎
由于孤立詞識(shí)別引擎的輸入是孤立的詞匯,因此其識(shí)別范圍小,建模精確,識(shí)別率高,非特定人的孤立詞識(shí)別引擎的識(shí)別率可達(dá)95%左右,特定人的識(shí)別率甚至可達(dá)99%以上。但是孤立詞識(shí)別引擎要求用戶(hù)的輸入必須是一個(gè)個(gè)獨(dú)立的單詞,顯然對(duì)于連續(xù)的語(yǔ)音流無(wú)法處理。即使是獨(dú)立的單詞,如果由于用戶(hù)的習(xí)慣或者生理原因,在語(yǔ)音中含有一些語(yǔ)氣詞或者其它高能量的突發(fā)噪聲,將嚴(yán)重影響系統(tǒng)的識(shí)別率。
2.1.2 連續(xù)語(yǔ)音識(shí)別引擎
連續(xù)語(yǔ)音識(shí)別引擎是以音節(jié)或者音素為單位進(jìn)行建模的,很好地解決了孤立詞識(shí)別中對(duì)輸入語(yǔ)音的限制,而且通過(guò)對(duì)常見(jiàn)的語(yǔ)氣詞以及噪聲的建模,也能夠解決由其引起的識(shí)別率下降的問(wèn)題。但是連續(xù)語(yǔ)音的識(shí)別率很低,即使在實(shí)驗(yàn)室環(huán)境下,其識(shí)別率最高也只能達(dá)90%左右。顯然連續(xù)語(yǔ)音識(shí)別引擎難以單獨(dú)用于家電語(yǔ)音控制系統(tǒng)。
2.1.3 連接詞識(shí)別引擎
連接詞識(shí)別引擎介于孤立詞識(shí)別引擎和連續(xù)語(yǔ)音識(shí)別引擎之間。它以孤立詞為模型,通過(guò)對(duì)孤立詞的拼接實(shí)現(xiàn)對(duì)連續(xù)語(yǔ)音流的識(shí)別。對(duì)于小型的語(yǔ)音識(shí)別系統(tǒng)來(lái)說(shuō),由于其詞表較小,因此建模方便,而且建模精度高,對(duì)關(guān)鍵詞的識(shí)別率接近于孤立詞識(shí)別引擎,很好地解決了孤立詞識(shí)別引擎無(wú)法解決的連續(xù)語(yǔ)音流問(wèn)題。但是當(dāng)輸入語(yǔ)音流包含過(guò)多的音節(jié)時(shí),其識(shí)別率不可避免地會(huì)下降很多。
用戶(hù)在選擇識(shí)別引擎的時(shí)候,主要需要考慮的因素包括:識(shí)別率、實(shí)時(shí)響應(yīng)速度、魯棒性、輸入語(yǔ)音限制、使用舒適性等。
2.2 基于多識(shí)別引擎的識(shí)別器設(shè)計(jì)
通過(guò)對(duì)識(shí)別引擎的分析以及對(duì)傳統(tǒng)識(shí)別引擎的介紹可以看到,無(wú)論單獨(dú)選擇哪種識(shí)別引擎,都不能夠完善地滿(mǎn)足實(shí)用的語(yǔ)音控制系統(tǒng)的要求,因此設(shè)計(jì)了一種多識(shí)別引擎的并行識(shí)別器,能夠獲得傳統(tǒng)識(shí)別器無(wú)法兼得的優(yōu)點(diǎn)。圖2給出了基于多識(shí)別引擎的識(shí)別器結(jié)構(gòu)圖。
2.2.1 基于多識(shí)別引擎的識(shí)別器工作原理
圖2中,識(shí)別引擎1為孤立詞識(shí)別引擎;識(shí)別引擎2為連接詞識(shí)別引擎;識(shí)別引擎3為連續(xù)語(yǔ)音識(shí)別引擎。識(shí)別器具體的工作流程如下:
(1)對(duì)輸入語(yǔ)音進(jìn)行預(yù)處理,包括語(yǔ)音信號(hào)的切分以及噪聲去除等。語(yǔ)音信號(hào)的切分采用的是基于能量窗計(jì)算的切分算法,使得語(yǔ)音信號(hào)的端點(diǎn)更準(zhǔn)確。
(2)根據(jù)輸入語(yǔ)音的物理長(zhǎng)度以及其它物理特征預(yù)判輸入語(yǔ)音為孤立詞輸入還是連續(xù)語(yǔ)音輸入。如果語(yǔ)音信號(hào)較短,則采用識(shí)別引擎1、2進(jìn)行識(shí)別;如果信號(hào)較長(zhǎng),則采用識(shí)別引擎2、3進(jìn)行識(shí)別;如果不能確定是孤立語(yǔ)音還是連續(xù)語(yǔ)音,則同時(shí)采用三個(gè)識(shí)別引擎進(jìn)行識(shí)別。
(3)對(duì)于不同的識(shí)別引擎,將得到的識(shí)別結(jié)果作為候選關(guān)鍵詞(如果識(shí)別結(jié)果不同則為多候選)送入確認(rèn)模塊進(jìn)行確認(rèn)。
2.2.2 基于多識(shí)別引擎的識(shí)別器性能分析
由于基于多識(shí)別引擎的識(shí)別器至少同時(shí)啟動(dòng)了兩個(gè)或者三個(gè)識(shí)別引擎,因此系統(tǒng)的響應(yīng)時(shí)間不可避免地要受到影響。所以在語(yǔ)音建模時(shí),采用參數(shù)共享的方法,從而降低了計(jì)算法復(fù)雜度,提高了系統(tǒng)響應(yīng)速度。同時(shí)注意到,對(duì)于孤立語(yǔ)音來(lái)說(shuō),由于識(shí)別引擎1、2的識(shí)別速度很快,因此完全可以滿(mǎn)足實(shí)時(shí)響應(yīng)的要求;對(duì)于連續(xù)語(yǔ)音來(lái)說(shuō),其識(shí)別時(shí)間主要耗費(fèi)在識(shí)別引擎3上,這是不可避免的,系統(tǒng)引入的附加耗時(shí)很小,因此基本上不會(huì)因此而降低系統(tǒng)的響應(yīng)速度。
而多識(shí)別引擎的識(shí)別器的建立,使得無(wú)論連續(xù)語(yǔ)音輸入還是孤立語(yǔ)音輸入,都能采用合適的識(shí)別引擎進(jìn)行識(shí)別,從而在允許用戶(hù)自由交流的基礎(chǔ)上,保證了系統(tǒng)的識(shí)別率得到大幅度的提高。尤其是用戶(hù)在采用連續(xù)語(yǔ)音輸入系統(tǒng)不能正確識(shí)別時(shí),可以降低要求,視其為孤立語(yǔ)音輸入,這樣一方面可以正確控制家電正常運(yùn)行,另一方面通過(guò)自適應(yīng),不同識(shí)別引擎的模型都得到了更為精確的刻畫(huà),逐漸提高了系統(tǒng)識(shí)別率,從而使得連續(xù)語(yǔ)音識(shí)別率也得到了提高。另外,在各種情況下都采用了連接識(shí)別引擎,主要是考慮到殘疾用戶(hù)的語(yǔ)音中經(jīng)常附帶一些常見(jiàn)的突發(fā)噪聲以及語(yǔ)氣詞,因此通過(guò)對(duì)此進(jìn)行獨(dú)立建模,能夠去除語(yǔ)音信號(hào)首尾的噪聲和語(yǔ)氣詞的影響,進(jìn)一步提高識(shí)別器的魯棒性。
3 其它關(guān)鍵技術(shù)分析
在家電語(yǔ)音控制系統(tǒng)中,除了識(shí)別器的性能?chē)?yán)重影響系統(tǒng)的運(yùn)行性能以外,關(guān)鍵詞確認(rèn)、對(duì)話(huà)控制策略以及識(shí)別器自適應(yīng)也是至關(guān)重要的:關(guān)鍵詞輸入的結(jié)果給出候選關(guān)鍵詞的置信度,因此直接影響了后續(xù)的對(duì)話(huà)控制模塊可能采取的動(dòng)作——當(dāng)置信度高時(shí),接受該關(guān)鍵詞將其作為真正的關(guān)鍵詞并且發(fā)出相應(yīng)的控制指令;當(dāng)置信度較低時(shí),拒絕該候選詞;當(dāng)置信度處于中間水平時(shí),產(chǎn)生相應(yīng)的對(duì)話(huà)語(yǔ)音與用戶(hù)進(jìn)一步進(jìn)行交互,對(duì)可能要發(fā)生的動(dòng)作進(jìn)行確認(rèn)。在實(shí)際應(yīng)用中,自適應(yīng)技術(shù)保證了通過(guò)長(zhǎng)期的用戶(hù)和系統(tǒng)之間的交互,對(duì)識(shí)別器的模型進(jìn)行修正,從而提高用戶(hù)的語(yǔ)音識(shí)別率。
基于多識(shí)別引擎的識(shí)別器給關(guān)鍵詞確認(rèn)模塊提供了更多的候選關(guān)鍵詞,因此擴(kuò)大了關(guān)鍵詞的檢出范圍,為進(jìn)一步提高檢出率提供了條件;但是另一方面,更多的候選關(guān)鍵詞意味著錯(cuò)誤的候選關(guān)鍵詞被接受的可能性也大大增加,系統(tǒng)的誤警率也會(huì)隨之上升。因此對(duì)于關(guān)鍵詞確認(rèn)性能的依賴(lài)也會(huì)更大,所以提取出多種有效的確認(rèn)特片,利用神經(jīng)元網(wǎng)絡(luò)進(jìn)行最終的置位度評(píng)價(jià)。這些確認(rèn)特片包括:音素匹配得分特征、音素?cái)?shù)匹配得分特征、似然得分特征、似然排位得分特片以及模型距離差累積得分特征。詳細(xì)的確認(rèn)過(guò)程見(jiàn)參考文獻(xiàn)。
在對(duì)話(huà)控制模塊中,由于不同的電路對(duì)應(yīng)著不同的關(guān)鍵詞,因此通過(guò)記錄當(dāng)前對(duì)話(huà)所處的處理(應(yīng)用某一個(gè)電路的狀態(tài)或者空閑狀態(tài)),給識(shí)別器提供相應(yīng)于該狀態(tài)的關(guān)鍵詞表,大大縮小了關(guān)鍵詞表中關(guān)鍵詞的總數(shù),降低了關(guān)鍵詞之間的混淆度,從而進(jìn)一步提高了識(shí)別器的識(shí)別率。此外,對(duì)關(guān)鍵詞重要性進(jìn)行了分級(jí),不同的關(guān)鍵詞擁有不同的級(jí)別,對(duì)于重要的關(guān)鍵詞來(lái)說(shuō),只有在其置信度很高的情況下才會(huì)將其直接發(fā)送給硬件控制模塊去執(zhí)行控制,否則要通過(guò)語(yǔ)音交互和用戶(hù)確認(rèn)的方法來(lái)確定是否執(zhí)行該命令。
針對(duì)不同的識(shí)別器,采用不同的自適應(yīng)策略:由于噪聲模型和系統(tǒng)當(dāng)前所處狀態(tài)直接相關(guān),因此隨時(shí)準(zhǔn)備利用系統(tǒng)空閑狀態(tài)時(shí)采集的噪音段對(duì)噪聲模型進(jìn)行更新;對(duì)于孤立詞和連接詞識(shí)別引擎所采用的聲學(xué)模型來(lái)說(shuō),利用經(jīng)過(guò)確認(rèn)的語(yǔ)音段對(duì)相應(yīng)的模型者重新;對(duì)連續(xù)語(yǔ)音來(lái)說(shuō),由于只有對(duì)關(guān)鍵詞的置信度評(píng)價(jià),很難保證非關(guān)鍵詞語(yǔ)音識(shí)別的正確性,因此只對(duì)關(guān)鍵詞模型進(jìn)行更新,在用戶(hù)空閑時(shí),引導(dǎo)用戶(hù)利用給定的語(yǔ)音輸入對(duì)連續(xù)語(yǔ)音所采用的模型進(jìn)行更新,以達(dá)到模型自適應(yīng)的效果。
4 實(shí)驗(yàn)及結(jié)果分析
本文所采用的試驗(yàn)平臺(tái)是用于連續(xù)語(yǔ)音電梯控制聲控仿真系統(tǒng)的關(guān)鍵詞檢出系統(tǒng)。整個(gè)系統(tǒng)由四個(gè)部分組成:語(yǔ)音識(shí)別模塊、語(yǔ)音確認(rèn)模塊、自適應(yīng)模塊以及對(duì)話(huà)管理模塊。語(yǔ)音識(shí)別模塊采用的是無(wú)跨越從左向右的CHMM模型,特征向量為39維的MFCC特征——12維的MEL特征系數(shù)以及一階和二階差分;能量及其一階和二階差分。確認(rèn)模塊采用的是基于多特征聯(lián)合得分的確認(rèn)算法。
論文中所采用的語(yǔ)音數(shù)據(jù)庫(kù)包括三種類(lèi)型:孤立語(yǔ)音——對(duì)應(yīng)系統(tǒng)中采用的關(guān)鍵詞命令;連續(xù)語(yǔ)音——每段語(yǔ)音中包含一個(gè)相應(yīng)的關(guān)鍵詞命令;含噪聲段的孤立語(yǔ)音——在關(guān)鍵詞命令對(duì)應(yīng)的語(yǔ)音前后有一小段高能量突發(fā)噪聲。另外,把這三種類(lèi)型的語(yǔ)音混合起來(lái)得到了混合語(yǔ)音數(shù)據(jù)。系統(tǒng)中采用的關(guān)鍵詞包括:公用的關(guān)鍵詞——打開(kāi),關(guān)閉,是,否;用于電梯控制的關(guān)鍵詞——上升,下降,一層,二層,三層,四層;用于輪椅控制的關(guān)鍵詞——前進(jìn),后退、停止;用于電視控制的關(guān)鍵詞——向上,向下,一臺(tái),二臺(tái),三臺(tái),四臺(tái),五臺(tái)。對(duì)于不同識(shí)別引擎以及不同語(yǔ)音數(shù)據(jù),識(shí)別器的識(shí)別率以及系統(tǒng)的關(guān)鍵詞檢出率如表1所示。
表1 不同識(shí)別器在不同語(yǔ)音輸入下的識(shí)別率及系統(tǒng)檢出率
引擎 類(lèi)型 輸入 語(yǔ)音 |
孤立詞識(shí)別引擎 | 連續(xù)語(yǔ)音識(shí)別引擎 | 連接詞識(shí)別引擎 | 基于多識(shí)別引擎的 識(shí)別器 | ||||
識(shí)別率 | 檢出率 | 識(shí)別率 | 檢出率 | 識(shí)別率 | 檢出率 | 識(shí)別率 | 檢出率 | |
孤立語(yǔ)音 | 99% | 93% | 81% | 73% | 97% | 87% | 99% | 94% |
連續(xù)語(yǔ)音 | 0% | 0% | 87% | 74% | 78% | 65% | 87% | 79% |
含噪聲段孤立語(yǔ)音 | 83% | 15% | 72% | 58% | 94% | 75% | 96% | 81% |
混合語(yǔ)音 | 60% | 36% | 80% | 68% | 90% | 76% | 94% | 85% |
通過(guò)以上的實(shí)驗(yàn)可以看出:對(duì)于三種不同的語(yǔ)音輸入,采用單一的識(shí)別引擎,不可避免地使得在某一種或幾種語(yǔ)音輸入下識(shí)別器的識(shí)別率以及系統(tǒng)的檢出率較低,極大地影響了系統(tǒng)的控制性能。當(dāng)采用基于多識(shí)別引擎的識(shí)別器時(shí),在任一語(yǔ)音輸入類(lèi)型下,無(wú)論是識(shí)別率還是檢出率都能夠達(dá)到使用單一識(shí)別器時(shí)最優(yōu)的效果。由此可見(jiàn),在采用基于多識(shí)別引擎的識(shí)別器時(shí),能夠充分利用不同識(shí)別引擎的優(yōu)勢(shì),使得系統(tǒng)的性能得到最大的提升。
本文針對(duì)傳統(tǒng)的單識(shí)別引擎在家電語(yǔ)音控制中存在的問(wèn)題,提出了基于多識(shí)別引擎構(gòu)造語(yǔ)音識(shí)別器的方法,使得對(duì)于不同類(lèi)型的語(yǔ)音輸入,都能夠得到較好的關(guān)鍵詞檢出效果,從而提高了系統(tǒng)的性能;同時(shí),本文對(duì)語(yǔ)音控制系統(tǒng)中關(guān)鍵詞確認(rèn)、對(duì)話(huà)控制策略以及模型自適應(yīng)技術(shù)進(jìn)行了一定的的分析和討論,并且搭建了完整的語(yǔ)音控制系統(tǒng)。目前本系統(tǒng)已經(jīng)通過(guò)了日本富士通公司的檢測(cè),其相關(guān)硬件的研制工作正在進(jìn)行當(dāng)中,有望在近期取得聯(lián)調(diào)成功。
評(píng)論