本發(fā)明涉及智能機(jī)器人領(lǐng)域,尤其涉及一種智能機(jī)器人的多模態(tài)輸入數(shù)據(jù)處理方法及機(jī)器人操作系統(tǒng)。
背景技術(shù):
隨著智能機(jī)器人產(chǎn)品的逐漸普及,更多的智能機(jī)器人走進(jìn)家庭,成為孩子的玩伴和大人的管家。
在現(xiàn)有技術(shù)中,智能機(jī)器人在接收到用戶的多模態(tài)輸入數(shù)據(jù)后,操作系統(tǒng)將遍歷匹配所有應(yīng)用指令來(lái)處理接收到多模態(tài)輸入數(shù)據(jù),這鐘操作方式命中率太低、時(shí)間長(zhǎng),導(dǎo)致智能機(jī)器人對(duì)于多模態(tài)輸入數(shù)據(jù)的處理速度有限。
因此,為了在機(jī)器人接收到用戶的多模態(tài)輸入數(shù)據(jù)后,能夠快速的調(diào)用相應(yīng)的模塊執(zhí)行指令相關(guān)操作,避免對(duì)指令的漏執(zhí)行和不必要的遍歷匹配過(guò)程,亟需提供一種針對(duì)多模態(tài)數(shù)據(jù)進(jìn)行處理的方法,以提高用戶體驗(yàn)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問(wèn)題之一是需要提供一種在機(jī)器人接收到用戶的多模態(tài)輸入數(shù)據(jù)后,能夠快速的調(diào)用相應(yīng)的模塊執(zhí)行指令相關(guān)操作,避免對(duì)指令的漏執(zhí)行和不必要的遍歷匹配過(guò)程的方案。
為了解決上述技術(shù)問(wèn)題,本申請(qǐng)的實(shí)施例首先提供了一種智能機(jī)器人的多模態(tài)輸入數(shù)據(jù)處理方法,所述智能機(jī)器人安裝有機(jī)器人操作系統(tǒng),該處理方法包括:用戶意圖獲取步驟,接收并解析用戶的多模態(tài)輸入數(shù)據(jù),獲取用戶意圖;應(yīng)用確定步驟,確定與所述用戶意圖匹配的應(yīng)用;應(yīng)用執(zhí)行意圖獲取步驟,獲取所述多模態(tài)輸入數(shù)據(jù)所包含的該應(yīng)用執(zhí)行意圖;執(zhí)行指令生成步驟,以所述應(yīng)用執(zhí)行意圖與機(jī)器人操作系統(tǒng)的當(dāng)前應(yīng)用狀態(tài)值,匹配生成執(zhí)行指令;多模態(tài)輸出步驟,根據(jù)該執(zhí)行指令進(jìn)行多模態(tài)輸出。
優(yōu)選地,在所述執(zhí)行指令生成步驟中,進(jìn)一步包括:第一匹配步驟,分別與系統(tǒng)操作和動(dòng)作命令進(jìn)行匹配,判斷所述系統(tǒng)操作和動(dòng)作命令是否能夠生成與所述應(yīng)用執(zhí)行意圖相應(yīng)的執(zhí)行命令,若匹配成功則生成執(zhí)行指令,否則,執(zhí)行第二匹配步驟;第二匹配步驟,根據(jù)所述當(dāng)前應(yīng)用狀態(tài)值查找當(dāng)前應(yīng)用所在的應(yīng)用處理類,并判斷該應(yīng)用處理類是否能夠生成與所述應(yīng)用執(zhí)行意圖相應(yīng)的執(zhí)行命令。
優(yōu)選地,若第二匹配步驟失敗,則執(zhí)行第三匹配步驟;第三匹配步驟,按照權(quán)值順序遍歷匹配各應(yīng)用處理類是否能夠生成與所述應(yīng)用執(zhí)行意圖相應(yīng)的執(zhí)行命令。
優(yōu)選地,若第三匹配步驟失敗,則啟動(dòng)對(duì)話應(yīng)用處理所述多模態(tài)輸入數(shù)據(jù)。
優(yōu)選地,所述應(yīng)用狀態(tài)值包括應(yīng)用秘鑰APP Key和應(yīng)用執(zhí)行狀態(tài)Operate State。
另一方面,還提供了一種用于處理多模態(tài)輸入數(shù)據(jù)的機(jī)器人操作系統(tǒng),包括:用戶意圖獲取單元,其配置為接收并解析用戶的多模態(tài)輸入數(shù)據(jù),獲取用戶意圖;應(yīng)用確定單元,其配置為確定與所述用戶意圖匹配的應(yīng)用;應(yīng)用執(zhí)行意圖獲取單元,其配置為獲取所述多模態(tài)輸入數(shù)據(jù)所包含的該應(yīng)用執(zhí)行意圖;執(zhí)行指令生成單元,其配置為以所述應(yīng)用執(zhí)行意圖與機(jī)器人操作系統(tǒng)的當(dāng)前應(yīng)用狀態(tài)值,匹配生成執(zhí)行指令;多模態(tài)輸出單元,其配置為根據(jù)該執(zhí)行指令進(jìn)行多模態(tài)輸出。
優(yōu)選地,所述執(zhí)行指令生成單元進(jìn)一步包括:第一匹配子單元,其配置為分別與系統(tǒng)操作和動(dòng)作命令進(jìn)行匹配,判斷所述系統(tǒng)操作和動(dòng)作命令是否能夠生成與所述應(yīng)用執(zhí)行意圖相應(yīng)的執(zhí)行命令,若匹配成功則生成執(zhí)行指令,否則,啟動(dòng)第二匹配子單元;第二匹配子單元,其配置為根據(jù)所述當(dāng)前應(yīng)用狀態(tài)值查找當(dāng)前應(yīng)用所在的應(yīng)用處理類,并判斷該應(yīng)用處理類是否能夠生成與所述應(yīng)用執(zhí)行意圖相應(yīng)的執(zhí)行命令。
優(yōu)選地,所述執(zhí)行指令生成單元還包括:第三匹配子單元,其配置為在第二匹配子單元匹配失敗時(shí)啟動(dòng),按照權(quán)值順序遍歷匹配各應(yīng)用處理類是否能夠生成與所述應(yīng)用執(zhí)行意圖相應(yīng)的執(zhí)行命令。
優(yōu)選地,還包括:對(duì)話應(yīng)用啟動(dòng)單元,其配置為在第三匹配子單元匹配失敗時(shí)啟動(dòng)對(duì)話應(yīng)用處理所述多模態(tài)輸入數(shù)據(jù)。
優(yōu)選地,所述應(yīng)用狀態(tài)值包括應(yīng)用秘鑰APP Key和應(yīng)用執(zhí)行狀態(tài)Operate State。
與現(xiàn)有技術(shù)相比,上述方案中的一個(gè)或多個(gè)實(shí)施例可以具有如下優(yōu)點(diǎn)或有益效果:
本發(fā)明實(shí)施例通過(guò)利用機(jī)器人操作系統(tǒng)接收并解析用戶的多模態(tài)輸入數(shù)據(jù),獲取用戶意圖,確定與用戶意圖匹配的應(yīng)用以及獲取多模態(tài)輸入數(shù)據(jù)所包含的該應(yīng)用執(zhí)行意圖,并以應(yīng)用執(zhí)行意圖與機(jī)器人操作系統(tǒng)的當(dāng)前應(yīng)用狀態(tài)值,匹配生成執(zhí)行指令,最后根據(jù)該執(zhí)行指令進(jìn)行多模態(tài)輸出,能夠在機(jī)器人接收到用戶的多模態(tài)輸入數(shù)據(jù)后,快速的調(diào)用相應(yīng)的模塊執(zhí)行指令相關(guān)操作,避免對(duì)指令的漏執(zhí)行和不必要的遍歷匹配過(guò)程。
本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說(shuō)明書(shū)中闡述,并且,部分地從說(shuō)明書(shū)中變得顯而易見(jiàn),或者通過(guò)實(shí)施本發(fā)明的技術(shù)方案而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過(guò)在說(shuō)明書(shū)、權(quán)利要求書(shū)以及附圖中所特別指出的結(jié)構(gòu)和/或流程來(lái)實(shí)現(xiàn)和獲得。
附圖說(shuō)明
附圖用來(lái)提供對(duì)本申請(qǐng)的技術(shù)方案或現(xiàn)有技術(shù)的進(jìn)一步理解,并且構(gòu)成說(shuō)明書(shū)的一部分。其中,表達(dá)本申請(qǐng)實(shí)施例的附圖與本申請(qǐng)的實(shí)施例一起用于解釋本申請(qǐng)的技術(shù)方案,但并不構(gòu)成對(duì)本申請(qǐng)技術(shù)方案的限制。
圖1為根據(jù)本發(fā)明實(shí)施例的用于處理多模態(tài)輸入數(shù)據(jù)的機(jī)器人操作系統(tǒng)100的結(jié)構(gòu)框圖。
圖2為根據(jù)本發(fā)明實(shí)施例的執(zhí)行指令生成單元140的結(jié)構(gòu)框圖。
圖3為根據(jù)本發(fā)明實(shí)施例的智能機(jī)器人的多模態(tài)輸入數(shù)據(jù)處理方法的流程示意圖。
圖4為根據(jù)本發(fā)明實(shí)施例的多模態(tài)輸入數(shù)據(jù)處理方法的具體示例流程圖。
具體實(shí)施方式
以下將結(jié)合附圖及實(shí)施例來(lái)詳細(xì)說(shuō)明本發(fā)明的實(shí)施方式,借此對(duì)本發(fā)明如何應(yīng)用技術(shù)手段來(lái)解決技術(shù)問(wèn)題,并達(dá)成相應(yīng)技術(shù)效果的實(shí)現(xiàn)過(guò)程能充分理解并據(jù)以實(shí)施。本申請(qǐng)實(shí)施例以及實(shí)施例中的各個(gè)特征,在不相沖突前提下可以相互結(jié)合,所形成的技術(shù)方案均在本發(fā)明的保護(hù)范圍之內(nèi)。
另外,附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行。并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
(實(shí)施例)
圖1為根據(jù)本發(fā)明實(shí)施例的用于處理多模態(tài)輸入數(shù)據(jù)的機(jī)器人操作系統(tǒng)100的結(jié)構(gòu)框圖,下面參考圖1來(lái)說(shuō)明該機(jī)器人操作系統(tǒng)100的各個(gè)結(jié)構(gòu)和功能。
如圖1所示,本實(shí)施例的用于處理多模態(tài)輸入數(shù)據(jù)的機(jī)器人操作系統(tǒng)100主要包括:用戶意圖獲取單元110、應(yīng)用確定單元120、應(yīng)用執(zhí)行意圖獲取單元130、執(zhí)行指令生成單元140和多模態(tài)輸出單元150。
用戶意圖獲取單元110,其配置為接收并解析用戶的多模態(tài)輸入數(shù)據(jù),獲取用戶意圖。
需要說(shuō)明的是,多模態(tài)輸入數(shù)據(jù)主要包括音頻數(shù)據(jù)資源、視頻數(shù)據(jù)資源、圖像數(shù)據(jù)資源以及用于使機(jī)器人能夠輸出一定動(dòng)作或執(zhí)行軟件或硬件的程序指令資源。多模態(tài)輸入數(shù)據(jù)的組合比較復(fù)雜,戶意圖獲取單元110對(duì)多模態(tài)輸入數(shù)據(jù)進(jìn)行分析得到可靠或是有意義的結(jié)果,確定多模態(tài)信息發(fā)出者的真實(shí)意圖。
舉例而言,當(dāng)用戶向機(jī)器人發(fā)出語(yǔ)音信息“請(qǐng)?zhí)琛睍r(shí),機(jī)器人通過(guò)音頻采集的聲音數(shù)據(jù)中識(shí)別出了語(yǔ)音指令“請(qǐng)?zhí)琛薄S脩粢鈭D獲取單元110對(duì)上述語(yǔ)音指令的多模態(tài)輸入數(shù)據(jù)進(jìn)行預(yù)處理,例如,將語(yǔ)音信息轉(zhuǎn)換成文字信息,在預(yù)處理后,通過(guò)對(duì)這些語(yǔ)音指令輸入數(shù)據(jù)的綜合分析,推斷出該使用者想要機(jī)器人跳舞的用戶意圖。
應(yīng)用確定單元120,其與用戶意圖獲取單元110連接,該應(yīng)用確定單元120配置為確定與用戶意圖匹配的應(yīng)用。
在用戶意圖獲取單元110獲取用戶意圖之后,應(yīng)用確定單元120查詢與該用戶意圖對(duì)應(yīng)的應(yīng)用。在一個(gè)例子中,預(yù)先設(shè)定好一個(gè)應(yīng)用配置數(shù)據(jù)庫(kù),在該數(shù)據(jù)庫(kù)中關(guān)聯(lián)存儲(chǔ)了用戶意圖和應(yīng)用程序,即以列表的形式將用戶意圖和應(yīng)用程序關(guān)聯(lián)存儲(chǔ),一對(duì)一或多對(duì)一的存儲(chǔ)。例如,在用戶意圖包括有“跳舞”內(nèi)容時(shí),對(duì)應(yīng)的應(yīng)用程序?yàn)樘钁?yīng)用,因此應(yīng)用確定單元120能夠從應(yīng)用配置數(shù)據(jù)庫(kù)中查找列表信息找到與用戶意圖匹配的應(yīng)用。
應(yīng)用執(zhí)行意圖獲取單元130,其與用戶意圖獲取單元110連接,該應(yīng)用執(zhí)行意圖獲取單元130配置為獲取多模態(tài)輸入數(shù)據(jù)所包含的該應(yīng)用執(zhí)行意圖。
具體地,應(yīng)用執(zhí)行意圖獲取單元130對(duì)獲取的多模態(tài)輸入數(shù)據(jù)進(jìn)行解析,分析出其中所包含的應(yīng)用執(zhí)行意圖。如上例,由于機(jī)器人通過(guò)音頻采集的聲音數(shù)據(jù)中識(shí)別出了語(yǔ)音指令“請(qǐng)?zhí)琛?,因此,?yīng)用執(zhí)行意圖獲取單元130能夠獲取“打開(kāi)跳舞應(yīng)用”的應(yīng)用執(zhí)行意圖。除了“打開(kāi)某個(gè)應(yīng)用”的應(yīng)用執(zhí)行意圖以外,還包括“關(guān)閉某個(gè)應(yīng)用”、“打開(kāi)某個(gè)應(yīng)用的某個(gè)功能”和“關(guān)閉某個(gè)應(yīng)用的某個(gè)功能”等應(yīng)用執(zhí)行意圖。
執(zhí)行指令生成單元140,其與應(yīng)用執(zhí)行意圖獲取單元130連接,該執(zhí)行指令生成單元140配置為以應(yīng)用執(zhí)行意圖與機(jī)器人操作系統(tǒng)的當(dāng)前應(yīng)用狀態(tài)值,匹配生成執(zhí)行指令。
具體如圖2所示,執(zhí)行指令生成單元140進(jìn)一步包括:第一匹配子單元1402、第二匹配子單元1404和第三匹配子單元1406。這三個(gè)匹配子單元分別對(duì)系統(tǒng)操作、動(dòng)作命令和非對(duì)話應(yīng)用進(jìn)行匹配來(lái)生成執(zhí)行指令。
第一匹配子單元1402,其配置為分別與系統(tǒng)操作和動(dòng)作命令進(jìn)行匹配,判斷系統(tǒng)操作和動(dòng)作命令是否能夠生成與應(yīng)用執(zhí)行意圖相應(yīng)的執(zhí)行命令,若匹配成功則生成執(zhí)行指令,否則,啟動(dòng)第二匹配子單元1404。
需要說(shuō)明的是,系統(tǒng)操作是由操作系統(tǒng)本身發(fā)出的內(nèi)部指令,可能涉及軟件或硬件。動(dòng)作命令是跟硬件直接關(guān)聯(lián)的指令。以上面為例,應(yīng)用執(zhí)行意圖為“打開(kāi)跳舞應(yīng)用”,與系統(tǒng)操作和動(dòng)作命令無(wú)關(guān),因此在匹配后得到系統(tǒng)操作和動(dòng)作命令不能生成與應(yīng)用執(zhí)行意圖相應(yīng)的執(zhí)行命令,啟動(dòng)第二匹配子單元1404。
第二匹配子單元1404,其配置為根據(jù)當(dāng)前應(yīng)用狀態(tài)值查找當(dāng)前應(yīng)用所在的應(yīng)用處理類,并判斷該應(yīng)用處理類是否能夠生成與應(yīng)用執(zhí)行意圖相應(yīng)的執(zhí)行命令。其中,應(yīng)用狀態(tài)值包括應(yīng)用秘鑰APP Key和應(yīng)用執(zhí)行狀態(tài)Operate State。
需要說(shuō)明的是,在本實(shí)施例中,所有應(yīng)用處理類都被預(yù)先附加上唯一標(biāo)識(shí)——應(yīng)用秘鑰AppKey。而應(yīng)用執(zhí)行狀態(tài)Operate State表示當(dāng)前應(yīng)用所處的功能,如“開(kāi)始/運(yùn)行”,“暫?!?。設(shè)置該第二匹配子單元1404的目的是能夠考慮當(dāng)前應(yīng)用的狀態(tài)來(lái)進(jìn)一步啟動(dòng)待執(zhí)行的應(yīng)用,這樣能夠根據(jù)應(yīng)用上下文環(huán)境,即最新解析給及機(jī)器人操作系統(tǒng)的一些用戶意圖,判斷出設(shè)備當(dāng)前所處應(yīng)用的狀態(tài),做出合理的指令匹配。
例如,若當(dāng)前應(yīng)用狀態(tài)值為:APP Key=11(“11”對(duì)應(yīng)“跳舞應(yīng)用”)和Operate State=on(“on”對(duì)應(yīng)“運(yùn)行”),說(shuō)明當(dāng)前應(yīng)用處理類為“跳舞應(yīng)用”,該應(yīng)用處理類處于“運(yùn)行”狀態(tài),由于上例中解析出來(lái)的應(yīng)用執(zhí)行意圖為“打開(kāi)跳舞應(yīng)用”,因此可以判斷出當(dāng)前的應(yīng)用處理類可以生成與應(yīng)用執(zhí)行意圖相應(yīng)的執(zhí)行命令,那么直接利用當(dāng)前的跳舞應(yīng)用就可以完成處理,能夠快速實(shí)現(xiàn)對(duì)多模態(tài)輸入數(shù)據(jù)的處理。
第三匹配子單元1406,其配置為在第二匹配子單元1404匹配失敗時(shí)啟動(dòng),按照權(quán)值順序遍歷匹配各應(yīng)用處理類是否能夠生成與所述應(yīng)用執(zhí)行意圖相應(yīng)的執(zhí)行命令。
在出現(xiàn)應(yīng)用執(zhí)行意圖為“打開(kāi)跳舞應(yīng)用”,而當(dāng)前應(yīng)用處理類為非“跳舞應(yīng)用”且該應(yīng)用處理類處于“運(yùn)行”狀態(tài),則第二匹配子單元1404匹配失敗,此時(shí),第三匹配子單元1406按照預(yù)先設(shè)置的權(quán)值順序遍歷匹配各應(yīng)用處理類是否能夠生成相應(yīng)的執(zhí)行指令。在本例中,可以根據(jù)應(yīng)用處理類的使用頻率給各個(gè)應(yīng)用處理類預(yù)先設(shè)置權(quán)值,例如,音樂(lè)播放應(yīng)用的使用頻率最高,則給該應(yīng)用設(shè)置權(quán)值為10。
在上例中,第三匹配子單元1406首先判斷“音樂(lè)播放應(yīng)用”是否能夠生成與“打開(kāi)跳舞應(yīng)用”的應(yīng)用執(zhí)行意圖相應(yīng)的執(zhí)行命令,由于判斷結(jié)果為不能,因此依次根據(jù)權(quán)值判斷應(yīng)用處理類,直到遍歷到“跳舞應(yīng)用”,然后利用“跳舞應(yīng)用”生成相應(yīng)的執(zhí)行指令。
需要說(shuō)明的是,為了保證應(yīng)用處理類的訪問(wèn)安全性,本申請(qǐng)對(duì)不同的用戶設(shè)置了用戶權(quán)限數(shù)據(jù),第三匹配子單元1406在遍歷各應(yīng)用處理類之前,先判斷該用戶是否有所有應(yīng)用的訪問(wèn)權(quán)限,或者,匹配到對(duì)應(yīng)應(yīng)用后,檢查用戶是否有該應(yīng)用訪問(wèn)權(quán)限。
多模態(tài)輸出單元150,其配置為根據(jù)該執(zhí)行指令進(jìn)行多模態(tài)輸出。
執(zhí)行指令也可以稱為多模態(tài)輸出指令,在獲取執(zhí)行指令例如“繼續(xù)打開(kāi)跳舞應(yīng)用”時(shí),則當(dāng)前的跳舞應(yīng)用將音頻數(shù)據(jù)持續(xù)發(fā)送給語(yǔ)音輸出模塊直接輸出舞蹈音樂(lè),同時(shí)動(dòng)作輸出指令“運(yùn)動(dòng)至使用者面前,執(zhí)行舞蹈動(dòng)作”,為了使機(jī)器人端能夠?qū)崿F(xiàn)上述多模態(tài)輸出,在多模態(tài)輸出指令中需要包含用于使機(jī)器人執(zhí)行動(dòng)作輸出“運(yùn)動(dòng)至使用者面前,執(zhí)行舞蹈動(dòng)作”的完整信息,具體為用于驅(qū)動(dòng)機(jī)器人行走的驅(qū)動(dòng)電機(jī)的控制程序數(shù)據(jù),將該控制程序數(shù)據(jù)發(fā)送給對(duì)應(yīng)的電機(jī)驅(qū)動(dòng)模塊執(zhí)行,以及根據(jù)設(shè)置的舞蹈動(dòng)作數(shù)據(jù)控制機(jī)器人的臂部和腿部動(dòng)作。
由于在實(shí)際匹配過(guò)程中,會(huì)出現(xiàn)第一匹配子單元1402、第二匹配子單元1404和第三匹配子單元1406匹配失敗的情況,因此,在另一個(gè)實(shí)施例中,該機(jī)器人操作系統(tǒng)100還包括對(duì)話應(yīng)用啟動(dòng)單元160。
對(duì)話應(yīng)用啟動(dòng)單元160,其與第三匹配子單元1406連接,配置為在第三匹配子單元1406匹配失敗時(shí)啟動(dòng)對(duì)話應(yīng)用處理多模態(tài)輸入數(shù)據(jù)。設(shè)置對(duì)于應(yīng)用啟動(dòng)單元160僅是本發(fā)明的一個(gè)示例,如果通過(guò)匹配無(wú)法執(zhí)行所需輸出,通過(guò)語(yǔ)音來(lái)進(jìn)行輸出相對(duì)來(lái)說(shuō)是變劣的處理模式。
本發(fā)明實(shí)施例通過(guò)利用機(jī)器人操作系統(tǒng)接收并解析用戶的多模態(tài)輸入數(shù)據(jù),獲取用戶意圖,確定與用戶意圖匹配的應(yīng)用以及獲取多模態(tài)輸入數(shù)據(jù)所包含的該應(yīng)用執(zhí)行意圖,并以應(yīng)用執(zhí)行意圖與機(jī)器人操作系統(tǒng)的當(dāng)前應(yīng)用狀態(tài)值,匹配生成執(zhí)行指令,最后根據(jù)該執(zhí)行指令進(jìn)行多模態(tài)輸出,能夠在機(jī)器人接收到用戶的多模態(tài)輸入數(shù)據(jù)后,快速的調(diào)用相應(yīng)的模塊執(zhí)行指令相關(guān)操作,避免對(duì)指令的漏執(zhí)行和不必要的遍歷匹配過(guò)程。
下面參照?qǐng)D3中的流程對(duì)智能機(jī)器人操作系統(tǒng)100如何處理多模態(tài)輸入數(shù)據(jù)進(jìn)行分步說(shuō)明。需要說(shuō)明的是,該實(shí)施例應(yīng)用之前需要將所有應(yīng)用處理類加上唯一標(biāo)識(shí)——App Key。本實(shí)施例是一種解析用戶請(qǐng)求意圖的例子,可以處理所有機(jī)器人操作系統(tǒng)的命令意圖,并按系統(tǒng)操作、動(dòng)作命令、非對(duì)話應(yīng)用與對(duì)話應(yīng)用四大類分別進(jìn)行匹配處理。
(步驟S310)
用戶意圖獲取單元110接收并解析用戶的多模態(tài)輸入數(shù)據(jù),獲取用戶意圖。
(步驟S320)
應(yīng)用確定單元120確定與用戶意圖匹配的應(yīng)用。
(步驟S330)
應(yīng)用執(zhí)行意圖獲取單元130獲取多模態(tài)輸入數(shù)據(jù)所包含的該應(yīng)用執(zhí)行意圖。
(步驟S340)
執(zhí)行指令生成單元140以應(yīng)用執(zhí)行意圖與機(jī)器人操作系統(tǒng)的當(dāng)前應(yīng)用狀態(tài)值,匹配生成執(zhí)行指令。
(步驟S350)
多模態(tài)輸出單元150根據(jù)該執(zhí)行指令進(jìn)行多模態(tài)輸出.
下面以“跳舞應(yīng)用”為例,一邊參照?qǐng)D4一邊說(shuō)明如何匹配生成執(zhí)行指令并根據(jù)該執(zhí)行指令進(jìn)行多模態(tài)輸出。
當(dāng)用戶發(fā)出類似“跳舞”的語(yǔ)音指令后,機(jī)器人操作系統(tǒng)通過(guò)步驟S310~S330獲取與該語(yǔ)音指令對(duì)應(yīng)的應(yīng)用執(zhí)行意圖,然后將該應(yīng)用執(zhí)行意圖與機(jī)器人操作系統(tǒng)的當(dāng)前應(yīng)用狀態(tài)值(包括App Key與Operate State)作為輸入,進(jìn)行如下操作。
首先執(zhí)行指令生成單元140中的第一匹配子單元1402匹配系統(tǒng)操作與動(dòng)作命令,如無(wú)對(duì)應(yīng)匹配,則第二匹配子單元1404根據(jù)App Key,查詢當(dāng)前應(yīng)用所在應(yīng)用處理類,利用該應(yīng)用處理類優(yōu)先解析應(yīng)用執(zhí)行意圖。如不能解析應(yīng)用執(zhí)行意圖,則第三匹配子單元1406按權(quán)值遍歷匹配各類應(yīng)用處理類的啟動(dòng)命令,判斷是否能夠解析應(yīng)用執(zhí)行意圖,若沒(méi)有匹配成功項(xiàng),則對(duì)話應(yīng)用啟動(dòng)單元160使用“對(duì)話應(yīng)用”處理該應(yīng)用執(zhí)行意圖。
若在上面匹配步驟中,匹配成功后,多模態(tài)輸出單元150利用產(chǎn)生的執(zhí)行指令完成該次決策,處理相關(guān)業(yè)務(wù)操作,然后按照輸出協(xié)議封裝結(jié)果并將結(jié)果輸出。
現(xiàn)有技術(shù)中,通過(guò)簡(jiǎn)單的遍歷匹配應(yīng)用指令的操作方式會(huì)產(chǎn)生命中率太低、遍歷時(shí)間長(zhǎng)的問(wèn)題,如:機(jī)器人操作系統(tǒng)當(dāng)前處于跳舞應(yīng)用中,若用戶發(fā)出語(yǔ)音指令為的“跳下一首舞曲”的指令,根據(jù)本發(fā)明實(shí)施例就不需要像現(xiàn)有技術(shù)那樣遍歷全部應(yīng)用就能對(duì)該語(yǔ)音指令直接處理,節(jié)省時(shí)間。
另外,在現(xiàn)有技術(shù)中,一般不考慮應(yīng)用上下文環(huán)境來(lái)判斷設(shè)備當(dāng)前狀態(tài),做出合理的指令匹配。本發(fā)明實(shí)施例考慮了應(yīng)用上下文環(huán)境,能夠較為快速地處理多模態(tài)輸入數(shù)據(jù)。如:目前發(fā)出的“跳舞”指令,將由跳舞應(yīng)用處理該條指令,返回給當(dāng)前跳舞應(yīng)用的App Key與啟動(dòng)跳舞應(yīng)用的指令(Operate State),將按照App Key與Operate State啟動(dòng)跳舞應(yīng)用,之后的在發(fā)出語(yǔ)音指令如:“跳下一首舞曲”時(shí),將按照本發(fā)明方法解析該條指令,此時(shí)進(jìn)入本例中的第二步匹配指令,無(wú)需遍歷全部應(yīng)用。
本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計(jì)算裝置來(lái)實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來(lái)實(shí)現(xiàn),從而,可以將它們存儲(chǔ)在存儲(chǔ)裝置中由計(jì)算裝置來(lái)執(zhí)行,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來(lái)實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
雖然本發(fā)明所揭露的實(shí)施方式如上,但所述的內(nèi)容只是為了便于理解本發(fā)明而采用的實(shí)施方式,并非用以限定本發(fā)明。任何本發(fā)明所屬技術(shù)領(lǐng)域內(nèi)的技術(shù)人員,在不脫離本發(fā)明所揭露的精神和范圍的前提下,可以在實(shí)施的形式上及細(xì)節(jié)上作任何的修改與變化,但本發(fā)明的專利保護(hù)范圍,仍須以所附的權(quán)利要求書(shū)所界定的范圍為準(zhǔn)。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),包括上面實(shí)施例的全部或部分步驟,所述的存儲(chǔ)介質(zhì),如:ROM/RAM、磁碟、光盤(pán)等。