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