基于變電站巡檢機器人的語音交互控制方法
【專利摘要】本發(fā)明公開了基于變電站巡檢機器人的語音交互控制方法,利用設(shè)置在巡檢機器人上的語音傳感器采集語音信號,巡檢機器人的語音識別系統(tǒng)對采集到的語音信號進行端點檢測等預(yù)處理、特征提取,然后通過識別引擎判定語音內(nèi)容是否為合法語音指令,若經(jīng)過語音識別后的語音指令合法并識別為提問指令時,從應(yīng)答指令文件中搜索出與所述提問指令對應(yīng)的應(yīng)答指令,然后巡檢機器人以語音播報的形式應(yīng)答;否則,向巡檢機器人發(fā)生相應(yīng)控制信號完成指定操作。本發(fā)明著眼于變電站巡檢機器人語音交互控制的功能需求,以語音識別和語音合成的應(yīng)用開發(fā)為手段,實現(xiàn)了可靠快捷的機器人語音控制與交互會話,在電力行業(yè)具有廣闊的應(yīng)用前景。
【專利說明】基于變電站巡檢機器人的語音交互控制方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及基于變電站巡檢機器人的語音交互控制方法。
【背景技術(shù)】
[0002] 長期以來,我國電力行業(yè)變電站設(shè)備多采用人工巡檢作業(yè)方式。在高壓、超高壓以 及雷雨等惡劣氣象條件下,人工巡檢存在較大安全風險,并且檢測到的數(shù)據(jù)也無法準確、及 時地接入管理信息系統(tǒng),對電網(wǎng)安全運行帶來一定隱患。
[0003] 變電站巡檢機器人能夠全天候全方位對變電站設(shè)備進行無人值守巡檢,從而代替 繁重的變電站設(shè)備人工巡檢,提高了變電站巡檢的自動化、智能化水平。在運行方式上,巡 檢機器人能夠按照預(yù)設(shè)的指令集自主完成整套巡檢流程,也可以在操作人員的指令控制下 完成指定操作,操作指令通常以點擊按鈕或菜單的方式下達。
[0004] 目前,變電站巡檢機器人已經(jīng)在國內(nèi)多地推廣應(yīng)用。現(xiàn)場應(yīng)用對機器人的控制方 式提出了新的要求,希望能夠以語音命令控制機器人,并且實現(xiàn)與巡檢機器人的交互對話。
【發(fā)明內(nèi)容】
[0005] 為解決現(xiàn)有技術(shù)存在的不足,本發(fā)明公開了基于變電站巡檢機器人的語音交互控 制方法,該控制方法以語音識別和語音合成的應(yīng)用開發(fā)為手段,利于實現(xiàn)可靠快捷的機器 人語音控制與交互會話。
[0006] 為實現(xiàn)上述目的,本發(fā)明的具體方案如下:
[0007] 基于變電站巡檢機器人的語音交互控制方法,包括以下步驟:
[0008] 步驟一:利用設(shè)置在巡檢機器人上的語音傳感器采集語音信號,語音傳感器與巡 檢機器人自帶的音頻采集卡進行連接,音頻采集卡將獲取的語音信號作為語音識別輸入源 送入巡檢機器人的控制系統(tǒng);
[0009] 步驟二:巡檢機器人的語音識別系統(tǒng)對采集到的語音信號進行端點檢測預(yù)處理、 特征提取,然后通過識別引擎判定語音內(nèi)容是否為合法語音指令,合法語音指令包括提問 指令和控制指令兩類;若為合法語音指令,進一步判斷語音指令的類型,若經(jīng)過語音識別后 的語音指令合法并識別為提問指令時,轉(zhuǎn)向步驟三,否則,轉(zhuǎn)向步驟四;
[0010] 步驟三:從應(yīng)答指令文件中搜索出與所述提問指令對應(yīng)的應(yīng)答指令,然后巡檢機 器人以語音播報的形式應(yīng)答;
[0011] 步驟四:若經(jīng)過語音識別后的語音指令合法并識別為控制指令時,向巡檢機器人 發(fā)生相應(yīng)控制信號完成指定操作。
[0012] 所述步驟一中,巡檢機器人的控制系統(tǒng)檢測音頻采集卡獲取的語音信號,若語音 信號強度及持續(xù)時間達到設(shè)定閾值則表明有有效語音輸入,開始進行語音識別。
[0013] 所述步驟二中語音識別判定語音輸入的內(nèi)容,識別結(jié)果采用指令文本的形式進行 輸出。
[0014] 所述步驟二中提問指令和控制指令逐條存儲于同一交互指令文件中,提問指令在 前、控制指令在后,每條提問指令設(shè)置有對應(yīng)的應(yīng)答指令,所有應(yīng)答指令逐條存儲于應(yīng)答指 令文件中,在初始化過程中,識別引擎能夠識別出交互指令文件和應(yīng)答指令文件的位置,并 能讀取交互指令文件和應(yīng)答指令文件中各指令的內(nèi)容。
[0015] 所述步驟二中對語音內(nèi)容進行分析識別,若判定語音內(nèi)容為交互指令文件中的某 一條提問指令或控制命令,則認為成功獲得識別結(jié)果。
[0016] 所述步驟二中的提問指令和控制指令的識別之前編寫語法規(guī)則文件,其中在語法 規(guī)則文件定義需要識別的字和短語,SDK語音識別引擎加載該語法規(guī)則來識別用戶的語音。
[0017] 所述步驟三中,巡檢機器人以語音播報的形式應(yīng)答,機器人應(yīng)答形式為預(yù)先錄制 好的語音,或者先通過語音合成實現(xiàn)文本到語音的轉(zhuǎn)換、再實現(xiàn)語音輸出。
[0018] 所述編寫語法規(guī)則文件,SAPI的語法規(guī)則采用XML格式,在語音識別時對每條指 令的判斷是采用整體比對或者分段比對的方式。
[0019] 本發(fā)明的有益效果:
[0020] 1、本發(fā)明利用語音識別技術(shù)正確識別操作人員發(fā)出的語音指令,再根據(jù)識別結(jié)果 判斷語音指令的類型,通過設(shè)置提問指令和控制指令實現(xiàn)對機器人的交互式控制,保證巡 檢機器人在識別到有效語音對話和語音操作指令后,能根據(jù)識別結(jié)果及時做出應(yīng)答或完成 指定操作。
[0021] 2、本發(fā)明根據(jù)應(yīng)用需求設(shè)計了完整的語音交互開發(fā)流程;在此基礎(chǔ)上基于微軟語 音應(yīng)用程序接口 SAPI,完成了一套人機語音交互控制系統(tǒng)?,F(xiàn)場測試結(jié)果表明,系統(tǒng)的各項 性能指標滿足設(shè)計要求。
[0022] 3、本發(fā)明著眼于變電站巡檢機器人語音交互控制的功能需求,以語音識別和語音 合成的應(yīng)用開發(fā)為手段,實現(xiàn)了可靠快捷的機器人語音控制與交互會話,在電力行業(yè)具有 廣闊的應(yīng)用前景。
【專利附圖】
【附圖說明】
[0023] 圖1為本發(fā)明中基于變電站巡檢機器人的語音交互控制方法的結(jié)構(gòu)框圖;
[0024] 圖2為本發(fā)明中基于變電站巡檢機器人的語音交互控制方法的處理流程圖;
[0025] 圖3為微軟SAPI的開發(fā)架構(gòu)示意圖。
【具體實施方式】:
[0026] 下面結(jié)合附圖對本發(fā)明進行詳細說明:
[0027] 結(jié)合圖1至圖3所示,基于變電站巡檢機器人的語音交互控制方法,包括如下步 驟:
[0028] a、語音采集
[0029] 將語音傳感器與巡檢機器人自帶的音頻采集卡進行連接,利用巡檢機器人自帶的 語音傳感器采集語音信號,并將音頻采集卡獲取的語音信號作為語音識別輸入源;在語音 采集過程中,檢測音頻采集卡獲取的語音信號,若語音信號強度及持續(xù)時間達到一定閾值 表明有有效語音輸入,開始進行語音識別;
[0030] b、語音識別,通過識別引擎獲取語音內(nèi)容,然后通過搜索指令文件判定其是否為 合法指令;對合法指令進一步判定其類型。
[0031] 通過對采集到的語音信號進行分析處理、特征提取比對識別出語音內(nèi)容,然后通 過識別引擎判定語音內(nèi)容是否為合法語音指令,若為合法語音指令,進一步判斷語音指令 的類型,進而控制巡檢機器人做出響應(yīng),合法語音指令包括提問指令和控制指令兩類,提問 指令包括"你叫什么名字"、"你會做什么"等指令,控制指令包括"開始充電"、"停止充電"、 "開啟超聲"等指令;語音識別判定語音輸入的內(nèi)容,識別結(jié)果采用指令文本的形式進行輸 出;
[0032] 上述提問指令和控制指令逐條存儲于同一交互指令文件中,提問指令在前、控制 指令在后,每條提問指令設(shè)置有對應(yīng)的應(yīng)答指令,所有應(yīng)答指令逐條存儲于應(yīng)答指令文件 中,在初始化過程中,識別引擎能夠識別出交互指令文件和應(yīng)答指令文件的位置,并能讀取 交互指令文件和應(yīng)答指令文件中各指令的內(nèi)容;對語音內(nèi)容進行分析識別時,若判定語音 內(nèi)容為交互指令文件中的某一條提問指令或控制命令,則認為成功獲得識別結(jié)果;
[0033] c、對話應(yīng)答
[0034] 若經(jīng)過語音識別后的語音指令合法并識別為提問指令時,從應(yīng)答指令文件中搜 索出與所述提問指令對應(yīng)的應(yīng)答指令,然后巡檢機器人以語音播報的形式應(yīng)答;機器人應(yīng) 答形式為預(yù)先錄制好的語音,或者先通過語音合成實現(xiàn)文本到語音的轉(zhuǎn)換、再實現(xiàn)語音輸 出;
[0035] d、執(zhí)行操作
[0036] 若經(jīng)過語音識別后的語音指令合法并識別為控制指令時,向巡檢機器人發(fā)生相應(yīng) 控制信號完成指定操作。
[0037] 在語音交互控制方法中,語音識別和用于對話應(yīng)答的語音合成是實現(xiàn)巡檢機器人 語音交互控制的關(guān)鍵。結(jié)合系統(tǒng)需求和語音技術(shù)發(fā)展狀況,本發(fā)明基于現(xiàn)有語音開發(fā)包的 方式實現(xiàn)了整個語音交互控制系統(tǒng)。
[0038] 語音識別技術(shù)就是讓巡檢機器人通過識別和理解過程把語音信號轉(zhuǎn)變?yōu)橄鄳?yīng)的 文本或命令的技術(shù),技術(shù)內(nèi)容主要包括特征提取技術(shù)、模式匹配準則及模型訓(xùn)練技術(shù)三 個方面。目前常用的語音開發(fā)工具有微軟公司的SAPI語言引擎和國內(nèi)科大訊飛提供的 InterReco語音識別系統(tǒng)。本發(fā)明采用微軟的SAPI進行語音識別開發(fā)。SAPI是微軟語音 開發(fā)包提供的關(guān)于語音處理的一套應(yīng)用程序編程接口,包含了實現(xiàn)文字-語音識別和語音 合成程序的基本函數(shù),簡化了語音編程的難度,降低了語音編程的工作量。
[0039] 如圖3所示,語音引擎通過設(shè)備驅(qū)動接口 DDI層SAPI運行庫通信,應(yīng)用程序則通 過應(yīng)用程序接口 API層和SAPI交互,通過使用這些API進行語音識別和語音合成方面的開 發(fā)。
[0040] 語音識別的詳細開發(fā),SAPI構(gòu)建語音識別系統(tǒng)可以采用兩種識別模式:語音命令 控制模式和語音聽寫模式。采用語音命令控制模式構(gòu)建的語音識別系統(tǒng),適合小詞匯量、孤 立詞、非特定人的語音識別,但是需要創(chuàng)建語法規(guī)則,識別范圍只能局限于語法規(guī)則內(nèi)所設(shè) 計的短語或字詞,適應(yīng)性差但限定內(nèi)容識別率高。語音聽寫模式構(gòu)建的語音識別系統(tǒng)適合 于大詞匯、連續(xù)語音的識別,同時無需構(gòu)建復(fù)雜的語法規(guī)則,語音識別的適應(yīng)性強,但識別 率相對要低一些。
[0041] 機器人語音交互控制的指令是有限且相對固定的,因此采用識別率更高的命令控 制識別模式。按照SAPI的開發(fā)流程,完成語音識別的基本配置和識別引擎初始化即可進行 語音識別。
[0042] 語音命令識別模式的關(guān)鍵問題是語音規(guī)則,是對能夠識別的命令庫的標準化描 述。SAPI的語法規(guī)則采用XML格式。在進行識別工作之前需要編寫一個語法規(guī)則文件,其 中定義了需要識別的字和短語,SDK語音識別引擎加載該語法規(guī)則來識別用戶的語音。
[0043] 在XML中每個實體或元素是由開始標記〈屬性名〉和結(jié)束標記〈/屬性名〉所組 成,在其中間夾的語句就是該實體或元素包含的文法內(nèi)容。文法的內(nèi)容可以是普通文字,或 者是文法元素的子元素。XML規(guī)范中對于合法的文法內(nèi)容的正式定義是采用多集合表達式 的形式。利用這些定義,就可以精確定義文件的語法和文法中的規(guī)則。在文法中,<P>和〈/ P>中插入的是一組待識別的字或短語,而<LX/L>中插入的是以<PX/P>為可選擇項的可 能匹配用戶語音的字或短語。如下是機器人語音交互控制采用的部分語法規(guī)則:
[0044] 〈GRAMMAR LANGID = "804" >
[0045] -〈DEFINE〉
[0046] 〈ID NAME = "CMD" VAL = " 10" />
[0047] 〈/DEFINE〉
[0048] -〈RULE NAME = "COMMAND" ID = "CMD" TOPLEVEL = "ACTIVE" >
[0049] -<L>
[0050] <P>+你叫什么名宇</P>
[0051] <P>+你來自哪里</P>
[0052] <P>+你都會干什么</P>
[0053] <P>+啟動高抗區(qū)域巡檢任務(wù)</P>
[0054] <P>+ 停止任務(wù) </P>
[0055] 其中,GRAMMAR LANGID = "804〃,指明了識別對象是中文漢字,在識別過程中將調(diào) 用漢語聲學模型;位于<P>和</P>之間的是諸條識別命令。XML語法文件可根據(jù)識別命令 手工編輯,當識別命令發(fā)生變化時需要同步更新并加載XML文件,語音識別引擎才能識別 新的指令。因此手工編輯方式不便于更新語法,在開發(fā)過程中根據(jù)XML規(guī)則實現(xiàn)了語法文 件的程序化更新,采用 MSXML2: : IXMLDOMDocumentPtr 和 MSXML2: : IXMLDOMElementPtr 對 XML文件進行編輯。
[0056] 語音合成的詳細開發(fā),語音合成能將任意文字信息實時轉(zhuǎn)化為標準流暢的語音朗 讀出來。通過計算機語音合成可以在任何時候?qū)⑷我馕谋巨D(zhuǎn)換成具有高自然度的語音,實 現(xiàn)讓機器"像人一樣開口說話"。這正是機器人語音交互應(yīng)答的需求。采用微軟SAPI實現(xiàn) 語音合成的步驟與語音識別大致類似,同樣包含音量、語速和引擎初始化。其中一個關(guān)鍵問 題是選擇發(fā)音庫,即讓機器人以什么樣的腔調(diào)說話。微軟SAPI包含了中英文的發(fā)音庫,但 在SAPI5. 1及以下版本里中文發(fā)音類型少且效果較差;可通過安裝第三方的語音庫增強語 音合成效果,如Neospeech語音庫。
[0057] 按照上述流程完成了機器人語音交互控制系統(tǒng)的開發(fā),經(jīng)現(xiàn)場測試正確識別率超 過90%。要進一步提高語音識別率,可加入語音預(yù)處理及用戶訓(xùn)練。特別地,本文在語法規(guī) 則設(shè)計上進行了實驗研究。
[0058] 采用整體比對語法形式,即在語音識別時對每條指令的判斷是采用整體比對,最 終的識別結(jié)果是與上述列表中最為接近的選項。實驗證明此種形式的語法規(guī)則下正確識別 率較高,但是虛警率偏高,即可能將某些干擾音輕易地識別為某條指令,特別是一些短的指 令,如"錄音"、"打開"等。分析產(chǎn)生這種問題的原因,應(yīng)該是某些干擾中含有與這些短指令 類似的語音成分。為了保證識別率,這種整體指令形式的語法規(guī)則下的比對并不是非常嚴 格的比對,因為識別系統(tǒng)要容忍一定程度的輸入偏差,如將"山東"讀成"三東"也應(yīng)能識別 出來,畢竟用戶的發(fā)音可能千差萬別,如果都能像新聞播音員一樣發(fā)布指令問題就簡單了。
[0059] 因此,在上述語法規(guī)則下一些短的指令往往被誤識。為改善這一問題,設(shè)計了更為 嚴格的語法規(guī)則,如下所示:
[0060] -〈GRAMMAR LANGID = "804" >
[0061] -〈RULE NAME = "你叫什么名字" TOPLEVEL = "ACTIVE" >
[0062] <P>+你叫 </P>
[0063] <P>+ 什么 </P>
[0064] <P>+名字 </P>
[0065] 〈/RULE〉
[0066] 〈RULE NAME = "你來自哪里,,TOPLEVEL = "ACTIVE" >
[0067] <P>+ 你來 </P>
[0068] <P>+ 自哪里 </P>
[0069] 〈/RULE〉
[0070] 〈RULE NAME = "拉近" TOPLEVEL = "ACTIVE" >
[0071] <P>+拉 </P>
[0072] <P>+ 近 </P>
[0073] 〈/RULE〉
[0074] 這種分段形式的語法規(guī)則實現(xiàn)了更嚴格的匹配識別,如要識別"拉近",需要同時 將"拉"和"近"都比對出來。以上兩種不同形式的識別語法各有所長,因此如何合理地設(shè) 計語法規(guī)則是改善語音識別效果的一個途徑。
[0075] 為增強變電站巡檢機器人的語音交互功能,根據(jù)應(yīng)用需求設(shè)計了完整的語音交互 開發(fā)流程;在此基礎(chǔ)上基于微軟語音應(yīng)用程序接口 SAPI,完成了一套人機語音交互控制系 統(tǒng)。現(xiàn)場測試結(jié)果表明,系統(tǒng)的各項性能指標滿足設(shè)計要求。當然限于語音識別技術(shù)的發(fā) 展水平,機器人的語音識別能力與人相比還有很大差距。該語音交互系統(tǒng)的抗干擾能力還 有待提高,特別是在有噪背景下的可靠識別能力。
【權(quán)利要求】
1. 基于變電站巡檢機器人的語音交互控制方法,其特征是,包括以下步驟: 步驟一:利用設(shè)置在巡檢機器人上的語音傳感器采集語音信號,語音傳感器與巡檢機 器人自帶的音頻采集卡進行連接,音頻采集卡將獲取的語音信號作為語音識別輸入源送入 巡檢機器人的控制系統(tǒng); 步驟二:巡檢機器人的語音識別系統(tǒng)對采集到的語音信號進行端點檢測預(yù)處理、特征 提取,然后通過識別引擎判定語音內(nèi)容是否為合法語音指令,合法語音指令包括提問指令 和控制指令兩類;若為合法語音指令,進一步判斷語音指令的類型,若經(jīng)過語音識別后的語 音指令合法并識別為提問指令時,轉(zhuǎn)向步驟三,否則,轉(zhuǎn)向步驟四; 步驟三:從應(yīng)答指令文件中搜索出與所述提問指令對應(yīng)的應(yīng)答指令,然后巡檢機器人 以語音播報的形式應(yīng)答; 步驟四:若經(jīng)過語音識別后的語音指令合法并識別為控制指令時,向巡檢機器人發(fā)生 相應(yīng)控制信號完成指定操作。
2. 如權(quán)利要求1所述的基于變電站巡檢機器人的語音交互控制方法,其特征是,所述 步驟一中,巡檢機器人的控制系統(tǒng)檢測音頻采集卡獲取的語音信號,若語音信號強度及持 續(xù)時間達到設(shè)定閾值則表明有有效語音輸入,開始進行語音識別。
3. 如權(quán)利要求1所述的基于變電站巡檢機器人的語音交互控制方法,其特征是,所述 步驟二中語音識別判定語音輸入的內(nèi)容,識別結(jié)果采用指令文本的形式進行輸出。
4. 如權(quán)利要求1所述的基于變電站巡檢機器人的語音交互控制方法,其特征是,所述 步驟二中提問指令和控制指令逐條存儲于同一交互指令文件中,提問指令在前、控制指令 在后,每條提問指令設(shè)置有對應(yīng)的應(yīng)答指令,所有應(yīng)答指令逐條存儲于應(yīng)答指令文件中,在 初始化過程中,識別引擎能夠識別出交互指令文件和應(yīng)答指令文件的位置,并能讀取交互 指令文件和應(yīng)答指令文件中各指令的內(nèi)容。
5. 如權(quán)利要求1所述的基于變電站巡檢機器人的語音交互控制方法,其特征是,所述 步驟二中對語音內(nèi)容進行分析識別,若判定語音內(nèi)容為交互指令文件中的某一條提問指令 或控制命令,則認為成功獲得識別結(jié)果。
6. 如權(quán)利要求1所述的基于變電站巡檢機器人的語音交互控制方法,其特征是,所述 步驟三中,巡檢機器人以語音播報的形式應(yīng)答,機器人應(yīng)答形式為預(yù)先錄制好的語音,或者 先通過語音合成實現(xiàn)文本到語音的轉(zhuǎn)換、再實現(xiàn)語音輸出。
7. 如權(quán)利要求1所述的基于變電站巡檢機器人的語音交互控制方法,其特征是,所述 步驟二中的提問指令和控制指令的識別之前編寫語法規(guī)則文件,其中在語法規(guī)則文件定義 需要識別的字和短語,SDK語音識別引擎加載該語法規(guī)則來識別用戶的語音。
8. 如權(quán)利要求7所述的基于變電站巡檢機器人的語音交互控制方法,其特征是,所述 編寫語法規(guī)則文件,SAPI的語法規(guī)則采用XML格式,在語音識別時對每條指令的判斷是采 用整體比對或者分段比對的方式。
【文檔編號】H02J13/00GK104123939SQ201410251361
【公開日】2014年10月29日 申請日期:2014年6月6日 優(yōu)先權(quán)日:2014年6月6日
【發(fā)明者】陜?nèi)A平, 李紅玉, 楊國慶, 傅崇光, 韓磊 申請人:國家電網(wǎng)公司, 國家電網(wǎng)公司運行分公司, 山東魯能智能技術(shù)有限公司