本發(fā)明涉及智能機器人領域,具體地說,涉及一種不同應用場景下智能機器人的數(shù)據(jù)交互方法及裝置。
背景技術:
對于智能機器人來說,最重要的部分就是操作系統(tǒng)。要實現(xiàn)機器人的智能程度,必須依托于強有力的操作系統(tǒng)來充當機器人的大腦角色。然而,現(xiàn)實情況卻是,如果要制造運算能力達到人類水平的機器人,需要一個體積相當于人腦100萬倍的機器人大腦,這樣大的機器人大腦與身體根本無法匹配。
因此提出了云端大腦的概念。在智能交互領域,可以利用云端的形態(tài),將記憶認識和計算認知從云上獲得,而當前的感知、交互認識、行為控制和協(xié)調在端上,使得智能機器人有自主學習和主動尋求幫助的能力。
然而,智能機器人還需要具有如何在不同應用場景以及不同狀態(tài)下進行數(shù)據(jù)交互以及正確處理交互內容的能力。
技術實現(xiàn)要素:
本發(fā)明的目的在于提供一種與運行應用關聯(lián)的智能機器人的數(shù)據(jù)交互方法,來解決上述技術問題。該方法由機器人操作系統(tǒng)執(zhí)行,所述機器人操作系統(tǒng)裝載有多個應用。所述方法包括以下步驟:
監(jiān)聽當前運行應用,創(chuàng)建與運行應用相關聯(lián)的對話;
拾取用戶針對該運行應用的多模態(tài)交互輸入并解析,從中獲取語義理解信息;
在與運行應用關聯(lián)的對話環(huán)境下,輸出該運行應用的多模態(tài)數(shù)據(jù)。
根據(jù)本發(fā)明的與運行應用關聯(lián)的智能機器人的數(shù)據(jù)交互方法,優(yōu)選的是,所述當前運行應用為系統(tǒng)聊天應用,所述系統(tǒng)聊天應用為智能機器人開機后的默認狀態(tài)。
根據(jù)本發(fā)明的與運行應用關聯(lián)的智能機器人的數(shù)據(jù)交互方法,優(yōu)選的是,所述方法還包括:
將當前運行應用控制為前臺運行狀態(tài),其中,所述上下文對話實例中的上下文環(huán)境參數(shù)在本地保存;
進行交互狀態(tài)切換時,備份當前運行狀態(tài)下的操作系統(tǒng)的運行環(huán)境參數(shù),并在再次切換為該運行狀態(tài)時,恢復所備份的運行環(huán)境參數(shù)。
根據(jù)本發(fā)明的與運行應用關聯(lián)的智能機器人的數(shù)據(jù)交互方法,優(yōu)選的是,在拾取用戶針對該運行應用的多模態(tài)交互輸入并解析的步驟中,系統(tǒng)拾取用戶針對該運行應用的多模態(tài)交互輸入并解析上報至服務器;隨后,從服務器中獲取語義理解信息。
根據(jù)本發(fā)明的與運行應用關聯(lián)的智能機器人的數(shù)據(jù)交互方法,優(yōu)選的是,所述方法還包括:
根據(jù)所述語義理解信息,決策該語義理解信息是否與所述運行應用關聯(lián),并在具備關聯(lián)時,輸出多模態(tài)數(shù)據(jù)。
根據(jù)本發(fā)明的另一個方面,其還提供了一種與運行應用關聯(lián)的智能機器人的數(shù)據(jù)交互裝置。該裝置包括在機器人操作系統(tǒng)中,并包括:
對話管理器,其用以監(jiān)聽當前運行應用,創(chuàng)建與運行應用相關聯(lián)的對話;
語義解析單元,其用以拾取用戶針對該運行應用的多模態(tài)交互輸入并解析,從中獲取語義理解信息;
多模態(tài)輸出單元,其用以在與運行應用關聯(lián)的對話環(huán)境下,輸出該運行應用的多模態(tài)數(shù)據(jù)。
根據(jù)本發(fā)明的與運行應用關聯(lián)的智能機器人的數(shù)據(jù)交互裝置,其特征在于,所述當前運行應用為系統(tǒng)聊天應用,所述系統(tǒng)聊天應用為智能機器人開機后的默認狀態(tài)。
根據(jù)本發(fā)明的與運行應用關聯(lián)的智能機器人的數(shù)據(jù)交互裝置,其特征在于,所述裝置還包括:
狀態(tài)機,其用以將當前運行應用控制為前臺運行狀態(tài),其中,所述上下文對話實例中的上下文環(huán)境參數(shù)在本地保存;
在進行交互狀態(tài)切換時,所述狀態(tài)機用以備份當前運行狀態(tài)下的操作系統(tǒng)的運行環(huán)境參數(shù),并在再次切換為該運行狀態(tài)時,恢復所備份的運行環(huán)境參數(shù)。
根據(jù)本發(fā)明的與運行應用關聯(lián)的智能機器人的數(shù)據(jù)交互裝置,優(yōu)選的是,在語義解析單元中,
拾取用戶針對該運行應用的多模態(tài)交互輸入并解析上報至服務器;
從服務器中獲取語義理解信息。
根據(jù)本發(fā)明的與運行應用關聯(lián)的智能機器人的數(shù)據(jù)交互裝置,優(yōu)選的是,所述裝置還包括:
決策單元,其用以根據(jù)所述語義理解信息,決策該語義理解信息是否與所述運行應用關聯(lián),并在具備關聯(lián)時,輸出多模態(tài)數(shù)據(jù)。
本發(fā)明的有利之處在于,由于本發(fā)明輸出多模態(tài)數(shù)據(jù)之前,實時監(jiān)聽當前運行應用,同時創(chuàng)建與運行應用相關聯(lián)的對話,隨后獲取用戶針對該運行應用的語義理解信息,因此使得系統(tǒng)可以在與運行應用關聯(lián)的對話環(huán)境下進行多模態(tài)數(shù)據(jù)的輸出,從而保證機器人多模態(tài)輸出的內容與對話環(huán)境是關聯(lián)的。此外,系統(tǒng)還可以根據(jù)云端大腦的返回來維護當前場景的運行環(huán)境參數(shù)。同時,本發(fā)明將運行上下文參數(shù)保存在機器人本地,從而不需要云端大腦為每個機器人維護運行上下文環(huán)境。
本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在說明書、權利要求書以及附圖中所特別指出的結構來實現(xiàn)和獲得。
附圖說明
附圖用來提供對本發(fā)明的進一步理解,并且構成說明書的一部分,與本發(fā)明的實施例共同用于解釋本發(fā)明,并不構成對本發(fā)明的限制。在附圖中:
圖1顯示了根據(jù)本發(fā)明一個實施例的與運行應用關聯(lián)的智能機器人的數(shù)據(jù)交互方法的總體流程圖;
圖2顯示了根據(jù)本發(fā)明一個實施例的與運行應用關聯(lián)的智能機器人的數(shù)據(jù)交互方法的部分流程圖;
圖3顯示了根據(jù)本發(fā)明一個實施例的與運行應用關聯(lián)的智能機器人的數(shù)據(jù)交互裝置的結構框圖,以及
圖4顯示了根據(jù)本發(fā)明一個實施例的與運行應用關聯(lián)的智能機器人的數(shù)據(jù)交互的系統(tǒng)示意圖。
具體實施方式
為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,以下結合附圖對本發(fā)明實施例作進一步地詳細說明。
如圖1所示,其中顯示了一種與運行應用關聯(lián)的智能機器人的數(shù)據(jù)交互方法的總體流程圖。
在與人進行交互時,機器人對交互內容的處理,需要根據(jù)當前機器人所處的狀態(tài)及機器人操作系統(tǒng)所處的軟件場景來做出正確的反應。在圖1所示的方法中,系統(tǒng)開機首先進行初始化等一系列操作,S101,以便于將機器人設定在默認的狀態(tài)中。根據(jù)一個實施例,機器人開機后的默認狀態(tài)為聊天狀態(tài)。其他應用默認不運行,而處于接收外部多模態(tài)交互輸入的狀態(tài)。機器人也可以通過發(fā)送一段問候語的語音、做出打招呼的手勢等來向用戶表明系統(tǒng)啟動正常。在聊天狀態(tài)下,系統(tǒng)可對應當前狀態(tài)配置一些機器人屬性,例如語音語速語調等系統(tǒng)配置。
接下來,在步驟S102中,當系統(tǒng)在聊天狀態(tài)下,等待用戶輸入多模態(tài)交互信息時,還不斷地監(jiān)聽當前運行應用。如果監(jiān)聽到有運行應用被用戶啟動或者在某觸發(fā)條件滿足的情況下,機器人操作系統(tǒng)自動創(chuàng)建與要進入的運行應用相關聯(lián)的對話以進入應用。
當應用啟動后,機器人從聊天狀態(tài)進入應用運行狀態(tài)。應用運行狀態(tài)會將應用的密鑰(appkey)等有關應用的信息進行保存,同時還會針對一些應用的要求來修改機器人屬性。
在新的應用運行時,機器人操作系統(tǒng)會對機器人所處的運行環(huán)境進行維護。在一個實施例中,當新場景出現(xiàn)時(例如,應用啟動時)操作系統(tǒng)對默認環(huán)境即聊天狀態(tài)下的環(huán)境進行備份。并在該場景退出時,機器人操作系統(tǒng)可通過之前對運行環(huán)境參數(shù)的保存而對先前場景進行恢復,從而使得當機器人退出運行應用時,還能夠回到之前的聊天狀態(tài),繼續(xù)進行對話聊天。
在步驟S103中,機器人操作系統(tǒng)拾取用戶針對新的運行應用下的多模態(tài)交互輸入并進行解析,從而從中獲取語義理解信息。在一個實施例中,對用戶輸入的多模態(tài)交互信息的識別可以在本地進行也可以直接上傳至云端大腦而進行分析。例如,用戶發(fā)出的一段語音,可以通過本地ASR模塊進行識別,然后通過通信模塊將語音識別內容發(fā)送至與機器人不在同一物理位置的云端大腦。在云端大腦,利用其強大的計算能力進行語義解析從而得到用戶的真實意圖。
另外,機器人操作系統(tǒng)還可以通過通信模塊將自身所處的環(huán)境情況數(shù)據(jù)發(fā)送給云端大腦,以讓云端了解機器人當前的狀態(tài)以及運行環(huán)境。在這種情況下,云端大腦可以結合機器人提供的數(shù)據(jù)對語義解析的內容進行正確的反饋。并將反饋結果回傳給機器人操作系統(tǒng)。
接下來,在步驟S104中,機器人操作系統(tǒng)在獲取了用戶的真實意圖后,結合反饋結果進行判斷是否需要輸出,并在需要輸出的情況下,在與運行應用相關聯(lián)的對話環(huán)境下輸出該運行應用的多模態(tài)數(shù)據(jù)。
最后,在步驟S105中,機器人操作系統(tǒng)在完成一次交互后,結束當前交互,并退出應用運行。
如圖2所示,其中顯示了一個較為具體的在機器人操作系統(tǒng)中進行不同交互狀態(tài)切換的方法流程圖。
本方法開始于步驟S201。在步驟S201中,操作系統(tǒng)在開機后優(yōu)選將聊天應用設定為智能機器人開機后的默認狀態(tài)。在默認狀態(tài)下,進行聊天應用環(huán)境參數(shù)的配置,設置語音語調,選擇語言模式等。還可以,在一段時間未得到用戶響應的時候,自動發(fā)出問候語,或者
具體地,在此步驟之前,機器人操作系統(tǒng)還可以根據(jù)云端大腦的返回情況,及一些其他應用啟動等導致的運行環(huán)境變化對當前場景進行維護。例如,當云端返回了針對用戶語音的回答結果后,機器人操作系統(tǒng)發(fā)現(xiàn)該回答結果與機器人所處的當前應用并無關聯(lián),例如當前已從聊天狀態(tài)切換到其他應用運行的狀態(tài)(唱歌應用),那么此時,機器人不會輸出語音回答結果,而是將歌曲繼續(xù)播放完整。該回答結果可以在機器人本地做丟棄處理。
在一種情況下,可以通過判斷歌曲應用的播放時間來決定是否在歌曲應用結束后進行回答用戶的交互輸入。在另一個優(yōu)選的實施例中,還可以通過記錄被打斷的事件,而在歌曲應用結束后,詢問用戶所提出的問題。
當然,為了能夠減少機器人與云端大腦之間不必要的通信量,可以將上下文運行環(huán)境參數(shù)保存在機器人本地,由機器人操作系統(tǒng)負責對自身的運行環(huán)境進行維護,而不需要云端大腦再為每個機器人維護運行上下文環(huán)境。
接下來,在步驟S202中,在進入應用運行時,將當前運行應用控制為前臺運行狀態(tài)。把當前運行應用控制為前臺運行,可以方便用戶知道機器人目前所在的狀態(tài),是否適合聊天交互等。在當前應用運行需要被中斷時,機器人操作系統(tǒng)可以通過特定的命令將當前應用控制為后臺運行或者直接退出運行。
接下來,在步驟S203中,當系統(tǒng)需要進行交互狀態(tài)切換時,操作系統(tǒng)會備份當前運行狀態(tài)下的操作系統(tǒng)的運行環(huán)境參數(shù),并在再次切換為該運行狀態(tài)時,恢復所備份的運行環(huán)境參數(shù)。在這種情況下,機器人操作系統(tǒng)可以在應用退出時,自動回到進入該應用之前的狀態(tài)。
由于本發(fā)明的方法描述的是在計算機系統(tǒng)中實現(xiàn)的。該計算機系統(tǒng)例如可以設置在機器人的控制核心處理器中。例如,本文所述的方法可以實現(xiàn)為能以控制邏輯來執(zhí)行的軟件,其由機器人控制系統(tǒng)中的CPU來執(zhí)行。本文所述的功能可以實現(xiàn)為存儲在非暫時性有形計算機可讀介質中的程序指令集合。當以這種方式實現(xiàn)時,該計算機程序包括一組指令,當該組指令由計算機運行時其促使計算機執(zhí)行能實施上述功能的方法??删幊踢壿嬁梢詴簳r或永久地安裝在非暫時性有形計算機可讀介質中,例如只讀存儲器芯片、計算機存儲器、磁盤或其他存儲介質。除了以軟件來實現(xiàn)之外,本文所述的邏輯可利用分立部件、集成電路、與可編程邏輯設備(諸如,現(xiàn)場可編程門陣列(FPGA)或微處理器)結合使用的可編程邏輯,或者包括它們任意組合的任何其他設備來體現(xiàn)。所有此類實施例旨在落入本發(fā)明的范圍之內。
因此,根據(jù)本發(fā)明的另一個方面,還提供了一種與運行應用關聯(lián)的智能機器人的數(shù)據(jù)交互裝置300。如圖3所示,該裝置300包括在機器人操作系統(tǒng)中,并包括:
對話管理器301,其用以監(jiān)聽當前運行應用,創(chuàng)建與運行應用相關聯(lián)的對話;
語義解析單元302,其用以拾取用戶針對該運行應用的多模態(tài)交互輸入并解析,從中獲取語義理解信息;
多模態(tài)輸出單元303,其用以在與運行應用關聯(lián)的對話環(huán)境下,輸出該運行應用的多模態(tài)數(shù)據(jù)。
在根據(jù)本發(fā)明的與運行應用關聯(lián)的智能機器人的數(shù)據(jù)交互裝置中,優(yōu)選的是,所述當前運行應用為系統(tǒng)聊天應用,所述系統(tǒng)聊天應用為智能機器人開機后的默認狀態(tài)。
在根據(jù)本發(fā)明的與運行應用關聯(lián)的智能機器人的數(shù)據(jù)交互裝置中,優(yōu)選的是,所述裝置300還包括:
狀態(tài)機,其用以將當前運行應用控制為前臺運行狀態(tài),其中,所述上下文對話實例中的上下文環(huán)境參數(shù)在本地保存;
在進行交互狀態(tài)切換時,所述狀態(tài)機用以備份當前運行狀態(tài)下的操作系統(tǒng)的運行環(huán)境參數(shù),并在再次切換為該運行狀態(tài)時,恢復所備份的運行環(huán)境參數(shù)。
在根據(jù)本發(fā)明的與運行應用關聯(lián)的智能機器人的數(shù)據(jù)交互裝置中,優(yōu)選的是,在語義解析單元中,
拾取用戶針對該運行應用的多模態(tài)交互輸入并解析上報至服務器;
從服務器中獲取語義理解信息。
在根據(jù)本發(fā)明的與運行應用關聯(lián)的智能機器人的數(shù)據(jù)交互裝置中,優(yōu)選的是,所述裝置還包括:
決策單元,其用以根據(jù)所述語義理解信息,決策該語義理解信息是否與所述運行應用關聯(lián),并在具備關聯(lián)時,輸出多模態(tài)數(shù)據(jù)。
如圖4所示,其中詳細顯示了根據(jù)本發(fā)明一個實施例進行機器人交互時機器人圖靈操作系統(tǒng)工作的示意圖。在機器人開機進行綁定后,首先圖靈操作系統(tǒng)控制其進入正常的聊天狀態(tài)。這時,如果用戶發(fā)出語音,機器人的ASR模塊對該段語音進行識別,并將識別的ASR內容通過本地的大腦服務器上報給遠程的云端大腦做語義理解。
這時,圖靈操作系統(tǒng)會從對話模塊的對話管理器(DialogMananger)中獲取機器人的當前狀態(tài)為:系統(tǒng)聊天。操作系統(tǒng)將之前獲取的語音識別內容跟系統(tǒng)聊天的當前狀態(tài)一同上報至云端。發(fā)送至云端的通信方式很多種,例如通過移動通信網(wǎng)絡、無線局域網(wǎng)等。云端可以根據(jù)當前環(huán)境對語音識別內容做出對應的理解,并向機器人下發(fā)理解后的文本響應內容。
機器人圖靈操作系統(tǒng)接收到文本響應內容后,根據(jù)當前所處狀態(tài)(聊天中),播放出文本到語音(TTS)的內容。
當進入例如唱歌應用后,機器人圖靈操作系統(tǒng)為唱歌應用新建對話(Dialog),并加入到對話管理器DialogManager中,并將唱歌Dialog標記為前臺。這時,如果已經(jīng)存在本地大腦服務器做出的語音識別結果,則同上,云端對識別結果做出分析后,將分析內容發(fā)送給圖靈操作系統(tǒng)。
接下來,圖靈操作系統(tǒng)會根據(jù)當前狀態(tài),并結合云端返回的信息的類型,如果是唱歌應用關心的交互則將消息發(fā)給唱歌應用,如果是閑聊內容則丟棄。
對于用戶輸入信息(例如識別出的語音內容)的處理策略的選擇,根據(jù)從對話管理器(DialogManager)中和系統(tǒng)全局配置文件中讀取狀態(tài),對輸入信息的處理策略做出選擇。
在一個實施例中,對于上傳云端所要求的數(shù)據(jù),則需要從對話管理器(DialogManager)中取得,云端結合機器人的狀態(tài)結合輸入內容一同決定語義如何理解。對于云端識別后下發(fā)的命令,則結合當前狀態(tài)決定是直接輸出,或者新建應用并切換到另外的應用運行狀態(tài)中。
應該理解的是,本發(fā)明所公開的實施例不限于這里所公開的特定結構、處理步驟或材料,而應當延伸到相關領域的普通技術人員所理解的這些特征的等同替代。還應當理解的是,在此使用的術語僅用于描述特定實施例的目的,而并不意味著限制。
說明書中提到的“一個實施例”或“實施例”意指結合實施例描述的特定特征、結構或特性包括在本發(fā)明的至少一個實施例中。因此,說明書通篇各個地方出現(xiàn)的短語“一個實施例”或“實施例”并不一定均指同一個實施例。
雖然本發(fā)明所公開的實施方式如上,但所述的內容只是為了便于理解本發(fā)明而采用的實施方式,并非用以限定本發(fā)明。任何本發(fā)明所屬技術領域內的技術人員,在不脫離本發(fā)明所公開的精神和范圍的前提下,可以在實施的形式上及細節(jié)上作任何的修改與變化,但本發(fā)明的專利保護范圍,仍須以所附的權利要求書所界定的范圍為準。