新聞中心

EEPW首頁 > 汽車電子 > 設(shè)計應(yīng)用 > 車載導(dǎo)航人機(jī)語音交互系統(tǒng)的原理及實現(xiàn)

車載導(dǎo)航人機(jī)語音交互系統(tǒng)的原理及實現(xiàn)

作者: 時間:2008-11-13 來源:網(wǎng)絡(luò) 收藏

引言

語音作為自然的人機(jī)接口,可以使車載導(dǎo)航系統(tǒng)實現(xiàn)更安全、更人性化的操作。通過國內(nèi)外車載導(dǎo)航系統(tǒng)的功能對比可知,支持語音交互是車載導(dǎo)航系統(tǒng)的一個發(fā)展趨勢。另外,市場信息服務(wù)公司J.D Power and Associates的調(diào)研數(shù)據(jù)也表明,56%的消費(fèi)者更傾向于選擇聲控的導(dǎo)航系統(tǒng)。因此,開發(fā)車載語音導(dǎo)航系統(tǒng)是很有意義的。目前,國內(nèi)已經(jīng)具備開發(fā)車載語音導(dǎo)航系統(tǒng)的技術(shù)基礎(chǔ),特別是文語轉(zhuǎn)換TTS技術(shù)和基于中小詞匯量的語音命令識別技術(shù)已經(jīng)達(dá)到比較實用的程度。本文在課題組的車載導(dǎo)航系統(tǒng)和國內(nèi)兩款語音引擎的基礎(chǔ)上,開發(fā)了一套支持語音交互的車載導(dǎo)航系統(tǒng)。

車載語音導(dǎo)航系統(tǒng)結(jié)構(gòu)

車載語音導(dǎo)航系統(tǒng)從功能上分為車載導(dǎo)航和導(dǎo)航語音交互兩方面。其中車載導(dǎo)航功能包括衛(wèi)星導(dǎo)航定位、電子地圖瀏覽查詢、智能的路徑規(guī)劃、車輛地理位置和速度等導(dǎo)航信息的實時顯示;導(dǎo)航語音交互功能分為語音操作和語音提示兩部分。在系統(tǒng)的設(shè)計中,根據(jù)人機(jī)交互的需求,設(shè)計語音導(dǎo)航系統(tǒng)的硬件框架如圖1所示。

語音導(dǎo)航系統(tǒng)和用戶之間的人機(jī)交互接口由觸摸屏、按鈕、話筒、顯示屏和擴(kuò)音器等五個交互設(shè)備組成。該硬件框架可實現(xiàn)常規(guī)的手動交互方式,也可以實現(xiàn)語音交互方式。整個系統(tǒng)劃分為三個子系統(tǒng):導(dǎo)航子系統(tǒng)、語音識別子系統(tǒng)和語音合成子系統(tǒng),各子系統(tǒng)間通過接口進(jìn)行通信,協(xié)調(diào)完成語音導(dǎo)航任務(wù)。
車載導(dǎo)航人機(jī)語音交互系統(tǒng)對話模式設(shè)計

導(dǎo)航系統(tǒng)的狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)

整個導(dǎo)航系統(tǒng)是一個復(fù)雜的人機(jī)交互系統(tǒng),為便于語音交互對話模式的設(shè)計,首先對系統(tǒng)作狀態(tài)劃分,然后從人機(jī)交互的角度描述整個系統(tǒng)的狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)。將系統(tǒng)劃分為地圖瀏覽、功能選擇等六個功能狀態(tài)和一個退出狀態(tài)。圖2描述了這些狀態(tài)之間的狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)。

圖中的節(jié)點代表系統(tǒng)的各個狀態(tài),帶箭頭的連線代表從源狀態(tài)到目標(biāo)狀態(tài)的轉(zhuǎn)換。狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)接收用戶的操作作為驅(qū)動事件,完成從一個狀態(tài)到另一狀態(tài)的轉(zhuǎn)換,網(wǎng)絡(luò)中的一條路徑便代表著特定的交互過程。

導(dǎo)航系統(tǒng)各狀態(tài)節(jié)點對話模式設(shè)計

為便于描述各狀態(tài)節(jié)點內(nèi)部的對話模式,將狀態(tài)節(jié)點按圖2所示編號為S1~S7,用Tmn表示狀態(tài)節(jié)點Sm到狀態(tài)節(jié)點Sn的轉(zhuǎn)換。另外,借鑒狀態(tài)流stateflow模型的表示方法,提出用于描述車載導(dǎo)航人機(jī)語音交互系統(tǒng)中的對話模型。重新定義轉(zhuǎn)換的描述方式,用四個屬性來描述狀態(tài)節(jié)點內(nèi)的一次轉(zhuǎn)換:

T={P1,P2,P3,P4} (1)

其中,t用于表示一個轉(zhuǎn)換,P1~P4為轉(zhuǎn)換的屬性:P1為語音事件;P2為語音輸出;P3為附加條件;P4為轉(zhuǎn)換動作。

這樣,一個轉(zhuǎn)換t便描述了一次對話中用戶的語音輸入、系統(tǒng)的語音輸出、對話受到的限制條件以及系統(tǒng)執(zhí)行的動作。

以地圖瀏覽狀態(tài)為例,說明對話模式設(shè)計的過程。地圖瀏覽狀態(tài)由兩個互斥的子狀態(tài)組成:地圖漫游狀態(tài)和車輛引導(dǎo)狀態(tài)(參見圖2)。這兩種子狀態(tài)的人機(jī)交互大部分相同,所以將二者統(tǒng)一劃分在地圖瀏覽狀態(tài)下。對于區(qū)分對待這兩個子狀態(tài)的交互過程,可以通過附加條件來判斷當(dāng)前子狀態(tài),再作不同的處理。地圖瀏覽狀態(tài)節(jié)點的對話模式設(shè)計如圖3所示。

人機(jī)語音交互系統(tǒng)的實現(xiàn)

語音控制命令的實現(xiàn)

語音控制命令的實現(xiàn)方案如圖4所示。圖中左邊方框代表整個語音導(dǎo)航系統(tǒng)對話模式的狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)STN。根據(jù)對話模式的設(shè)計,將系統(tǒng)分為地圖瀏覽狀態(tài)、功能選擇狀態(tài)、路徑規(guī)劃狀態(tài)等7個狀態(tài)節(jié)點,每個狀態(tài)節(jié)點內(nèi)部均存在各自的語音對話模式,對話模式由若干內(nèi)部轉(zhuǎn)換組成。因此,整個語音導(dǎo)航系統(tǒng)是一個兩層結(jié)構(gòu)的狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò),其內(nèi)部轉(zhuǎn)換由語音事件驅(qū)動。語音事件由導(dǎo)航子系統(tǒng)的接口模塊根據(jù)語音識別子系統(tǒng)發(fā)送的用戶意圖而產(chǎn)生。

語音控制命令的實現(xiàn)過程分為以下四個步驟:

*語音識別引擎根據(jù)當(dāng)前命令詞表識別用戶語音,得到識別結(jié)果。

*管理窗口獲取到識別結(jié)果,通過查詢“識別詞-控制命令”映射,得到識別結(jié)果對應(yīng)的控制命令,并將控制命令作為用戶意圖發(fā)送至導(dǎo)航子系統(tǒng)的接口模塊。

*接口模塊響應(yīng)用戶意圖,通過語音事件改變語音導(dǎo)航系統(tǒng)的狀態(tài)。

*接口模塊根據(jù)語音導(dǎo)航系統(tǒng)的狀態(tài)判斷是否需要更改當(dāng)前命令詞表,若需要則通過管理窗口更改當(dāng)前命令詞表。

POI名稱的識別方法

識別子系統(tǒng)除了要識別控制命令以外,還需要識別POI(興趣點、標(biāo)志點)名稱。POI名稱識別與控制命令識別最大的區(qū)別在于其候選集合在規(guī)模上的差異。在本系統(tǒng)中,進(jìn)行控制命令識別時候選集合的規(guī)模最大約為30個,但進(jìn)行POI名稱識別時,以所用的北京電子地圖為例,其POI點的個數(shù)為20,172個,此時其候選集合的規(guī)模比控制命令識別時大幾個數(shù)量級。

利用命令詞識別引擎進(jìn)行識別時,必須為引擎提供一個當(dāng)前詞表,需要先將候選集合中的詞條轉(zhuǎn)化為詞表,才能真正地進(jìn)行識別。同時,基于中小詞表的ASR識別引擎不能生成規(guī)模達(dá)2萬多的詞表,所以對于POI名稱識別,采取了不同于控制命令識別的方案。在對控制命令進(jìn)行識別時,因為候選集合可以用一個詞表來表示,采取了在線識別的方法。而對POI名稱進(jìn)行識別時,單個詞表無法容納所有的POI名稱,由此提出了利用識別引擎離線識別功能的離線遍歷識別方案。該方案利用多個詞表來描述整個候選集合。實現(xiàn)的具體流程如圖5所示。

該方案將候選POI集合劃分為n個子集,并生成各子集的詞表,然后以各詞表為當(dāng)前詞表進(jìn)行離線識別,并將這些局部的識別結(jié)果匯總形成一個臨時詞表,最后在這個臨時詞表中進(jìn)行識別,得出全局的最優(yōu)識別結(jié)果。該過程遍歷了各個子集,相當(dāng)于在整個候選集合中匹配出最優(yōu)識別結(jié)果,所以識別正確率得到了保證。同時由于識別次數(shù)的增加,導(dǎo)致識別時間相應(yīng)地變長。

導(dǎo)航系統(tǒng)語音提示的實現(xiàn)方案

導(dǎo)航系統(tǒng)的語音提示由專門的語音合成子系統(tǒng)完成。將語音提示的實現(xiàn)過程分為提出請求和執(zhí)行請求兩步。請求的提出方和執(zhí)行方構(gòu)成客戶/服務(wù)器(C/S)模型,其中,語音合成子系統(tǒng)充當(dāng)服務(wù)器。由于語音合成引擎通常不能同時輸出多線合成的語音,所以會遇到請求沖突的情況。發(fā)生請求沖突時,最直接的處理策略是:中止正在進(jìn)行的合成轉(zhuǎn)而進(jìn)行下一個合成,或者維持正在進(jìn)行的合成而忽略新的合成請求。為此在語音合成子系統(tǒng)中設(shè)計了管理模塊用于決定發(fā)生合成沖突時的處理方式。

對于語音合成子系統(tǒng),合成請求的提出是一個隨機(jī)事件,將這類隨機(jī)事件記為Qi。每個合成請求Qi都具有優(yōu)先級的屬性,其優(yōu)先級的高低取決于請求的提示信息的重要程度,見表1。管理模塊的處理流程見圖6。如果下一請求Qi+1的優(yōu)先級高于當(dāng)前請求Qi,則優(yōu)先合成Qi+1。

車載語音導(dǎo)航系統(tǒng)的試驗驗證

圖7為本文的車載語音導(dǎo)航系統(tǒng)的實物照片。對本系統(tǒng)進(jìn)行了語音導(dǎo)航的驗證試驗,通過語音交互完成了表2中所示的車載導(dǎo)航功能。試驗表明,系統(tǒng)的狀態(tài)能夠完全正確地按照設(shè)計的對話模式進(jìn)行轉(zhuǎn)換,并能正確完成各種導(dǎo)航功能的人機(jī)對話過程;同時,系統(tǒng)的語音提示也能正確工作。

另外測試了系統(tǒng)正確響應(yīng)語音控制命令的能力。測試中,用清晰平穩(wěn)的語音,對地圖瀏覽狀態(tài)所有語音控制命令的49個識別詞進(jìn)行了測試,共測試49×3=147次,成功132次,失敗15次,成功率為89.8%??梢?,系統(tǒng)語音控制命令的有效性較好。

在海量POI名稱識別的試驗中,對字?jǐn)?shù)為2至10的POI名稱進(jìn)行了測試。對于每一長度的POI名稱,分別取10個進(jìn)行測試。其中每個POI名稱最多做兩次測試,當(dāng)且僅當(dāng)?shù)谝淮螠y試失敗才繼續(xù)第二次測試。試驗結(jié)果如表3所示。

可見,離線遍歷識別方案的一次識別正確率為86.7%,二次識別正確率為93.3%。其正確識別的平均耗時為6.1s至10.4s之間,按POI名稱的字?jǐn)?shù)統(tǒng)計分布計算加權(quán)的平均耗時為8.3s。以上數(shù)據(jù)說明,該方案能夠利用小詞匯量的關(guān)鍵詞識別引擎實現(xiàn)大詞匯量POI名稱的識別,并且獲得了滿意的識別正確率,但是耗時較長。
結(jié)語

本文主要完成了車載導(dǎo)航人機(jī)語音交互系統(tǒng)的設(shè)計和實現(xiàn),并在實驗室環(huán)境中對系統(tǒng)進(jìn)行了實驗驗證。

證明利用合成的語音,可以實現(xiàn)豐富靈活的語音提示,使用戶可以在不分散過多精力的前提下使用導(dǎo)航系統(tǒng)。進(jìn)一步的工作是提高識別正確率和降低正確識別的平均耗時。

參考文獻(xiàn):

1. 丁捷. 車載自主導(dǎo)航方法的研究:[碩士學(xué)位論文] . 北京:清華大學(xué)汽車工程系,2003

2. 孟祥旭,李學(xué)慶. 人機(jī)交互技術(shù)—原理與應(yīng)用. 北京:清華大學(xué)出版社,2004. 131~136

3. 劉加,劉潤生. 語音識別技術(shù). 北京:清華大學(xué)電子工程系,2001



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉