一種基于場(chǎng)景的人機(jī)交互方法和裝置制造方法
【專(zhuān)利摘要】本申請(qǐng)公開(kāi)了一種基于場(chǎng)景的人機(jī)交互方法,包括:A、建立任務(wù)和任務(wù)類(lèi)型之間的關(guān)聯(lián),建立事實(shí)和事實(shí)類(lèi)型之間的關(guān)聯(lián);建立事實(shí)類(lèi)型和任務(wù)類(lèi)型之間的關(guān)系圖,利用所述關(guān)系圖建立事實(shí)和任務(wù)的關(guān)系;所述事實(shí)為用戶提供的信息以及任務(wù)執(zhí)行產(chǎn)生的信息;所述任務(wù)為根據(jù)事實(shí)提供的信息,計(jì)算機(jī)系統(tǒng)執(zhí)行一系列操作并返回執(zhí)行結(jié)果;B、利用事實(shí)類(lèi)型和任務(wù)類(lèi)型之間的關(guān)系圖,檢查任務(wù)所需事實(shí)是否足夠;若是,根據(jù)所述任務(wù)的任務(wù)類(lèi)型中執(zhí)行相應(yīng)的任務(wù)操作;C、判斷是否超過(guò)指定時(shí)間,沒(méi)有這個(gè)會(huì)話的新的信息傳入,若是,結(jié)束本流程,否則返回步驟B。本申請(qǐng)還公開(kāi)了一種基于場(chǎng)景的人機(jī)交互裝置。本申請(qǐng)方案使得用戶輸入的各類(lèi)信息可以在整個(gè)會(huì)話過(guò)程中復(fù)用,并支持多次交互才能完成的會(huì)話交互過(guò)程。
【專(zhuān)利說(shuō)明】一種基于場(chǎng)景的人機(jī)交互方法和裝置【技術(shù)領(lǐng)域】
[0001]本申請(qǐng)涉及人機(jī)交互技術(shù),尤其涉及一種基于場(chǎng)景的人機(jī)交互方法和裝置。
【背景技術(shù)】
[0002]人機(jī)交互(HCI,Human-Computer Interaction),是指人與計(jì)算機(jī)之間使用某種對(duì)話語(yǔ)言,以一定的交互方式,為完成確定任務(wù)的人與計(jì)算機(jī)之間的信息交換過(guò)程。目前廣泛使用的基于分類(lèi)、搜索等技術(shù)的自然語(yǔ)言應(yīng)答系統(tǒng),是通過(guò)自然語(yǔ)言進(jìn)行人機(jī)交互的方式,即用戶通過(guò)自然語(yǔ)言向計(jì)算機(jī)系統(tǒng)輸入信息,計(jì)算機(jī)系統(tǒng)根據(jù)輸入信息解析其語(yǔ)義,根據(jù)語(yǔ)義確定所需檢索的數(shù)據(jù)庫(kù)類(lèi)別,并對(duì)相應(yīng)類(lèi)別的數(shù)據(jù)庫(kù)進(jìn)行檢索,將檢索結(jié)果以自然語(yǔ)言形式將相應(yīng)返回給用戶。
[0003]在人機(jī)交互過(guò)程,用戶提出的某些問(wèn)題可能與之前問(wèn)答的內(nèi)容有關(guān),這類(lèi)問(wèn)題定義為場(chǎng)景問(wèn)題。例如,用戶第一次輸入一個(gè)商品名,系統(tǒng)回答這個(gè)商品的基本信息,隨后用戶輸入一個(gè)商品的屬性名,系統(tǒng)需要根據(jù)上次用戶輸入的商品名,查詢?cè)撋唐穼?duì)應(yīng)屬性的屬性值。用戶輸入的商品名就屬于場(chǎng)景問(wèn)題。
[0004]現(xiàn)有的基于分類(lèi)、搜索等技術(shù)的自然語(yǔ)言應(yīng)答系統(tǒng),不保存場(chǎng)景信息,只能處理一問(wèn)一答的問(wèn)題。由于沒(méi)有場(chǎng)景,對(duì)于很多基于場(chǎng)景的命名實(shí)體識(shí)別和語(yǔ)義標(biāo)注無(wú)法進(jìn)行。對(duì)于一些需要多次問(wèn)答實(shí)現(xiàn)的會(huì)話流程,也需要場(chǎng)景保存上下文信息。一些不通用的場(chǎng)景管理中,信息不能得到充分共享,使得用戶需要重復(fù)輸入相同信息。
【發(fā)明內(nèi)容】
[0005]本申請(qǐng)?zhí)峁┝艘环N基于場(chǎng)景的人機(jī)交互方法和裝置,使得用戶輸入的各類(lèi)信息可以在整個(gè)會(huì)話過(guò)程中復(fù)用,并支持多次交互才能完成的會(huì)話交互過(guò)程。
[0006]本申請(qǐng)實(shí)施例提供了一種基于場(chǎng)景的人機(jī)交互方法,包括:
[0007]A、建立任務(wù)和任務(wù)類(lèi)型之間的關(guān)聯(lián),建立事實(shí)和事實(shí)類(lèi)型之間的關(guān)聯(lián);建立事實(shí)類(lèi)型和任務(wù)類(lèi)型之間的關(guān)系圖,利用所述關(guān)系圖建立事實(shí)和任務(wù)的關(guān)系;所述事實(shí)為用戶提供的信息以及任務(wù)執(zhí)行產(chǎn)生的信息;所述任務(wù)為根據(jù)事實(shí)提供的信息,計(jì)算機(jī)系統(tǒng)執(zhí)行一系列操作并返回執(zhí)行結(jié)果;
[0008]B、利用事實(shí)類(lèi)型和任務(wù)類(lèi)型之間的關(guān)系圖,檢查任務(wù)所需事實(shí)是否足夠;若是,根據(jù)所述任務(wù)的任務(wù)類(lèi)型中執(zhí)行相應(yīng)的任務(wù)操作;
[0009]C、判斷是否超過(guò)指定時(shí)間,沒(méi)有這個(gè)會(huì)話的新的信息傳入,若是,結(jié)束本流程,否則返回步驟B。
[0010]較佳地,所述事實(shí)和任務(wù)的關(guān)系包括:事實(shí)類(lèi)型之間的依賴關(guān)系,即若第一事實(shí)類(lèi)型依賴于第二事實(shí)類(lèi)型,則在第一事實(shí)類(lèi)型的依賴屬性中記錄第二事實(shí)類(lèi)型的引用;
[0011]任務(wù)與子任務(wù)之間的關(guān)系,即若一個(gè)任務(wù)包含子任務(wù),則該任務(wù)執(zhí)行時(shí),需要調(diào)用至少一個(gè)子任務(wù);
[0012]以及[0013]任務(wù)類(lèi)型和事實(shí)類(lèi)型之間的使用關(guān)系,即若第一任務(wù)類(lèi)型的任務(wù)需要使用第一事實(shí)類(lèi)型的事實(shí)來(lái)完成所需要進(jìn)行的操作,則在第一任務(wù)類(lèi)型的所需事實(shí)屬性中記錄第一事實(shí)類(lèi)型的引用及所需的數(shù)量。
[0014]較佳地,步驟B之前進(jìn)一步包括:
[0015]接收需要執(zhí)行的會(huì)話標(biāo)志、任務(wù)和事實(shí),根據(jù)會(huì)話標(biāo)志,找到對(duì)應(yīng)的會(huì)話;如果沒(méi)有找到,則創(chuàng)建一個(gè)新的會(huì)話;
[0016]將接收的所有事實(shí)插入到會(huì)話的事實(shí)隊(duì)列中,在事實(shí)的類(lèi)型屬性中記錄它所屬事實(shí)類(lèi)型的引用;
[0017]根據(jù)發(fā)現(xiàn)事實(shí)的限定關(guān)系,設(shè)置接收的所有事實(shí)之間的依賴關(guān)系;
[0018]將所要處理的任務(wù)插入到會(huì)話的任務(wù)棧中,在任務(wù)的類(lèi)型屬性中記錄它所屬任務(wù)類(lèi)型的引用;
[0019]根據(jù)任務(wù)的類(lèi)型屬性中記錄的任務(wù)類(lèi)型的所需事實(shí)屬性中記錄的事實(shí)類(lèi)型,找到所關(guān)聯(lián)的所有事實(shí)類(lèi)型及所需數(shù)量;根據(jù)這些事實(shí)類(lèi)型找到在這個(gè)會(huì)話中所有屬于上述事實(shí)類(lèi)型的事實(shí);
[0020]將所找到的事實(shí)按照加入會(huì)話的時(shí)間的逆序排序,根據(jù)對(duì)每種事實(shí)類(lèi)型所需數(shù)量,事實(shí)之間的依賴關(guān)系,從新到舊選取對(duì)應(yīng)數(shù)量的事實(shí),將這些事實(shí)的引用加入到這個(gè)任務(wù)的所需事實(shí)屬性中。
[0021 ] 較佳地,步驟B包括:
[0022]B1、如果當(dāng)前會(huì)話的任務(wù)棧中有任務(wù),則取棧頂?shù)娜蝿?wù)作為當(dāng)前任務(wù),檢查當(dāng)前任務(wù)所需事實(shí)是否足夠;如果足夠,執(zhí)行步驟B2 ;如果不夠,執(zhí)行步驟B4 ;
[0023]B2、判斷當(dāng)前任務(wù)執(zhí)行過(guò)程中,是否需要執(zhí)行其他任務(wù)作為子任務(wù),若是,將所述其他任務(wù)作為當(dāng)前任務(wù),返回步驟BI ;否則,繼續(xù)執(zhí)行步驟B3 ;
[0024]B3、根據(jù)當(dāng)前任務(wù)的類(lèi)型屬性中記錄的任務(wù)類(lèi)型中記錄的執(zhí)行腳本或者類(lèi),執(zhí)行任務(wù)操作,如果任務(wù)操作執(zhí)行完成,則將當(dāng)前任務(wù)從任務(wù)棧中出棧,并結(jié)束步驟B ;
[0025]B4、根據(jù)所缺事實(shí)的事實(shí)類(lèi)型,返回事實(shí)不足的提示,并結(jié)束步驟B。
[0026]較佳地,所述檢查當(dāng)前任務(wù)所需事實(shí)是否足夠包括:
[0027]根據(jù)當(dāng)前任務(wù)的類(lèi)型屬性中記錄的任務(wù)類(lèi)型的所需事實(shí)屬性中記錄的事實(shí)類(lèi)型,確定是否滿足如下兩個(gè)條件:
[0028]每一種事實(shí)類(lèi)型的事實(shí)都有;
[0029]數(shù)量都符合要求;
[0030]如果上述兩條都滿足,則任務(wù)所需的事實(shí)足夠,否則任務(wù)所需的事實(shí)不夠。
[0031]本申請(qǐng)實(shí)施例還提供了一種基于場(chǎng)景的人機(jī)交互裝置,包括:
[0032]關(guān)系建立模塊,用于建立任務(wù)和任務(wù)類(lèi)型之間的關(guān)聯(lián),建立事實(shí)和事實(shí)類(lèi)型之間的關(guān)聯(lián);建立事實(shí)類(lèi)型和任務(wù)類(lèi)型之間的關(guān)系圖,利用所述關(guān)系圖建立事實(shí)和任務(wù)的關(guān)系;所述事實(shí)為用戶提供的信息以及任務(wù)執(zhí)行產(chǎn)生的信息;所述任務(wù)為根據(jù)事實(shí)提供的信息,計(jì)算機(jī)系統(tǒng)執(zhí)行一系列操作并返回執(zhí)行結(jié)果;
[0033]執(zhí)行模塊,用于利用事實(shí)類(lèi)型和任務(wù)類(lèi)型之間的關(guān)系圖,檢查任務(wù)所需事實(shí)是否足夠;若是,根據(jù)所述任務(wù)的任務(wù)類(lèi)型中執(zhí)行相應(yīng)的任務(wù)操作;
[0034]判斷模塊,用于判斷是否超過(guò)指定時(shí)間,沒(méi)有這個(gè)會(huì)話的新的信息傳入,若是,去使能所述判斷模塊。
[0035]較佳地,所述事實(shí)和任務(wù)的關(guān)系包括:事實(shí)類(lèi)型之間的依賴關(guān)系,即若第一事實(shí)類(lèi)型依賴于第二事實(shí)類(lèi)型,則在第一事實(shí)類(lèi)型的依賴屬性中記錄第二事實(shí)類(lèi)型的引用;
[0036]任務(wù)與子任務(wù)之間的關(guān)系,即若一個(gè)任務(wù)包含子任務(wù),則該任務(wù)執(zhí)行時(shí),需要調(diào)用至少一個(gè)子任務(wù);
[0037]以及
[0038]任務(wù)類(lèi)型和事實(shí)類(lèi)型之間的使用關(guān)系,即若第一任務(wù)類(lèi)型的任務(wù)需要使用第一事實(shí)類(lèi)型的事實(shí)來(lái)完成所需要進(jìn)行的操作,則在第一任務(wù)類(lèi)型的所需事實(shí)屬性中記錄第一事實(shí)類(lèi)型的引用及所需的數(shù)量。
[0039]較佳地,該裝置進(jìn)一步包括:
[0040]會(huì)話管理模塊,用于接收需要執(zhí)行的會(huì)話標(biāo)志、任務(wù)和事實(shí),根據(jù)會(huì)話標(biāo)志,找到對(duì)應(yīng)的會(huì)話;如果沒(méi)有找到,則創(chuàng)建一個(gè)新的會(huì)話;
[0041]事實(shí)管理模塊,用于將接收的所有事實(shí)插入到會(huì)話的事實(shí)隊(duì)列中,在事實(shí)的類(lèi)型屬性中記錄它所屬事實(shí)類(lèi)型的引用;根據(jù)發(fā)現(xiàn)事實(shí)的限定關(guān)系,設(shè)置接收的所有事實(shí)之間的依賴關(guān)系;
[0042]任務(wù)管理模塊,用于將所要處理的任務(wù)插入到會(huì)話的任務(wù)棧中,在任務(wù)的類(lèi)型屬性中記錄它所屬任務(wù)類(lèi)型的引用;根據(jù)任務(wù)的類(lèi)型屬性中記錄的任務(wù)類(lèi)型的所需事實(shí)屬性中記錄的事實(shí)類(lèi)型,找到所關(guān)聯(lián)的所有事實(shí)類(lèi)型及所需數(shù)量;根據(jù)這些事實(shí)類(lèi)型找到在這個(gè)會(huì)話中所有屬于上述事實(shí)類(lèi)型的事實(shí);將所找到的事實(shí)按照加入會(huì)話的時(shí)間的逆序排序,根據(jù)對(duì)每種事實(shí)類(lèi)型所需數(shù)量,事實(shí)之間的依賴關(guān)系,從新到舊選取對(duì)應(yīng)數(shù)量的事實(shí),將這些事實(shí)的引用加入到這個(gè)任務(wù)的所需事實(shí)屬性中。
[0043]較佳地,執(zhí)行模塊包括:
[0044]當(dāng)前任務(wù)確定單元,用于判斷當(dāng)前會(huì)話的任務(wù)棧中是否有任務(wù),若是,則取棧頂?shù)娜蝿?wù)作為當(dāng)前任務(wù),檢查當(dāng)前任務(wù)所需事實(shí)是否足夠;如果足夠,判斷當(dāng)前任務(wù)執(zhí)行過(guò)程中,是否需要執(zhí)行其他任務(wù)作為子任務(wù),若是,將所述其他任務(wù)作為當(dāng)前任務(wù);如果不夠,使能失敗提示單元;
[0045]當(dāng)前任務(wù)執(zhí)行單元,用于根據(jù)當(dāng)前任務(wù)的類(lèi)型屬性中記錄的任務(wù)類(lèi)型中記錄的執(zhí)行腳本或者類(lèi),執(zhí)行任務(wù)操作,如果任務(wù)操作執(zhí)行完成,則將當(dāng)前任務(wù)從任務(wù)棧中出棧
[0046]失敗提示單元,用于根據(jù)所缺事實(shí)的事實(shí)類(lèi)型,返回事實(shí)不足的提示。
[0047]較佳地,所述檢查當(dāng)前任務(wù)所需事實(shí)是否足夠包括:
[0048]根據(jù)當(dāng)前任務(wù)的類(lèi)型屬性中記錄的任務(wù)類(lèi)型的所需事實(shí)屬性中記錄的事實(shí)類(lèi)型,確定是否滿足如下兩個(gè)條件:
[0049]每一種事實(shí)類(lèi)型的事實(shí)都有;
[0050]數(shù)量都符合要求;
[0051]如果上述兩條都滿足,則任務(wù)所需的事實(shí)足夠,否則任務(wù)所需的事實(shí)不夠。
[0052]從以上技術(shù)方案可以看出,本申請(qǐng)方提供了一種通用的場(chǎng)景信息管理解決方案,在多次交互的系統(tǒng)中,使得關(guān)鍵信息在整個(gè)會(huì)話過(guò)程中得到復(fù)用,并提供的信息不足的檢查機(jī)制;簡(jiǎn)化了人機(jī)會(huì)話系統(tǒng)的開(kāi)發(fā),提高了開(kāi)發(fā)的效率?!緦?zhuān)利附圖】
【附圖說(shuō)明】
[0053]圖1為本申請(qǐng)實(shí)施例提供的基于場(chǎng)景的人機(jī)交互方法的初始化過(guò)程示意圖;
[0054]圖2為本申請(qǐng)實(shí)施例提供的事實(shí)類(lèi)型(FactType)和任務(wù)類(lèi)型(TaskType)之間的關(guān)系圖;
[0055]圖3為本申請(qǐng)實(shí)施例提供的基于場(chǎng)景的人機(jī)交互方法的執(zhí)行流程示意圖。
【具體實(shí)施方式】
[0056]在介紹本申請(qǐng)技術(shù)方案之前,首先對(duì)該方案涉及的技術(shù)術(shù)語(yǔ)進(jìn)行簡(jiǎn)要介紹:
[0057]事實(shí)(Fact):用戶提供的信息以及任務(wù)執(zhí)行產(chǎn)生的信息;
[0058]任務(wù)(Task):根據(jù)事實(shí)(Fact)提供的信息,計(jì)算機(jī)系統(tǒng)執(zhí)行一系列操作并返回執(zhí)行結(jié)果;
[0059]會(huì)話(Context):—個(gè)用戶和計(jì)算機(jī)系統(tǒng)的一次連續(xù)的一系列交互過(guò)程;一個(gè)會(huì)話中記錄交互過(guò)程中的事實(shí)(Fact)和任務(wù)(Task)
[0060]會(huì)話還可以用于隔離不同的用戶的任務(wù)(Task)和事實(shí)(Fact);
[0061]任務(wù)棧(TaskStack):保存一個(gè)會(huì)話(Context)中的未執(zhí)行完的任務(wù)(Task),新的任務(wù)(Task)在棧頂,舊的任務(wù)(Task)在棧底;任務(wù)棧(TaskStack)支持任務(wù)的交叉執(zhí)行和歷史任務(wù)的再次執(zhí)行;
[0062]事實(shí)隊(duì)列(FactList):按照加入時(shí)間的先后順序,保存一個(gè)會(huì)話(Context)中的所有事實(shí)(Fact);事實(shí)隊(duì)列(FactList)的作用是記錄事實(shí)(Fact)的新舊,使得可以根據(jù)事實(shí)(Fact)選擇事實(shí)(Fact);
[0063]任務(wù)類(lèi)型(TaskType):記錄任務(wù)(Task)的通用信息,包括和事實(shí)類(lèi)型(FactType)的元關(guān)系,具體執(zhí)行任務(wù)(Task)的類(lèi)或者腳本;
[0064]事實(shí)類(lèi)型(FactType):記錄事實(shí)(Fact)的通用信息,包括和任務(wù)類(lèi)型(TaskType)的元關(guān)系,以及事實(shí)類(lèi)型(FactType)之間的依存元關(guān)系;利用事實(shí)類(lèi)型(FactType)之間的關(guān)系,可以防止過(guò)期事實(shí)(Fact)被錯(cuò)誤使用。
[0065]實(shí)例一:商品信息查詢
[0066]用戶:輸入一個(gè)商品名稱或商品id或商品鏈接;
[0067]機(jī)器:識(shí)別出該商品;
[0068]用戶:多少錢(qián);
[0069]機(jī)器:查詢商品的價(jià)格;
[0070]用戶:CPU多大;
[0071 ] 機(jī)器:查詢商品的CPU信息。
[0072]這個(gè)簡(jiǎn)單交互過(guò)程中,價(jià)格、CPU分別是價(jià)格事實(shí)類(lèi)型下的價(jià)格事實(shí)、屬性事實(shí)類(lèi)型下的CPU事實(shí),而交互過(guò)程中不需要用戶每次都輸入商品名稱(id),是通過(guò)會(huì)話保存的事實(shí)(商品id事實(shí))來(lái)實(shí)現(xiàn)的,這是一個(gè)非組合的任務(wù)類(lèi)型。上述連續(xù)交互過(guò)程構(gòu)成一組會(huì)話。
[0073]實(shí)例二:商品導(dǎo)購(gòu)
[0074]用戶:我想買(mǎi)筆記本;
[0075]機(jī)器:請(qǐng)輸入您想買(mǎi)的筆記本品牌;[0076]用戶:蘋(píng)果;
[0077]機(jī)器:請(qǐng)輸入您接受的價(jià)格范圍;
[0078]用戶:2000—4000 ;
[0079]機(jī)器:推薦出符合條件的商品。
[0080]這個(gè)交互過(guò)程為組合任務(wù)類(lèi)型,包含了推薦任務(wù)、屬性查詢?nèi)蝿?wù)等,推薦任務(wù)需要品牌、價(jià)格、尺寸等事實(shí),當(dāng)用戶輸入提示的事實(shí)時(shí),屬性查詢?nèi)蝿?wù)也依賴這些事實(shí),當(dāng)所需要的事實(shí)足夠時(shí),各個(gè)子任務(wù)也完成了,進(jìn)而整個(gè)組合任務(wù)執(zhí)行完畢。
[0081]本申請(qǐng)?zhí)峁┑幕趫?chǎng)景的人機(jī)交互方法,其基本設(shè)計(jì)思想包括:
[0082]建立事實(shí)類(lèi)型(FactType)和任務(wù)類(lèi)型(TaskType)之間的關(guān)系圖,利用這個(gè)關(guān)系圖建立事實(shí)(Fact)和任務(wù)(Task)的關(guān)系;
[0083]利用事實(shí)類(lèi)型(FactType)和任務(wù)類(lèi)型(TaskType)之間的關(guān)系圖,檢查任務(wù)(Task)所需事實(shí)(Fact)是否足夠;若是,根據(jù)這個(gè)任務(wù)(Task)的任務(wù)類(lèi)型(TaskType)中執(zhí)行相應(yīng)的任務(wù)操作。
[0084]為使本申請(qǐng)技術(shù)方案的技術(shù)原理、特點(diǎn)以及技術(shù)效果更加清楚,以下結(jié)合具體實(shí)施例對(duì)本申請(qǐng)技術(shù)方案進(jìn)行詳細(xì)闡述。
[0085]本申請(qǐng)實(shí)施例提供的基于場(chǎng)景的人機(jī)交互方法的初始化過(guò)程如圖1所示,包括如下步驟:
[0086]步驟101:建立任務(wù)類(lèi)型(TaskType)和事實(shí)類(lèi)型(FactType)之間的關(guān)系圖。對(duì)于緊急及經(jīng)常變化的任務(wù)和操作,同時(shí)編寫(xiě)任務(wù)類(lèi)型(TaskType)的執(zhí)行腳本,存儲(chǔ)到數(shù)據(jù)存儲(chǔ)系統(tǒng)中。
[0087]本申請(qǐng)實(shí)施例提供的事實(shí)類(lèi)型(FactType)和任務(wù)類(lèi)型(TaskType)之間的關(guān)系圖如圖2所示。其中,會(huì)話由一系列任務(wù)以及事實(shí)構(gòu)成,每個(gè)任務(wù)屬于特定的任務(wù)類(lèi)型,每個(gè)事實(shí)也屬于特定的事實(shí)類(lèi)型。任務(wù)類(lèi)型(TaskType)包括組合任務(wù)類(lèi)型(CompositeTaskType)和內(nèi)部任務(wù)類(lèi)型(InnerTaskType)。組合任務(wù)類(lèi)型可以分解為幾個(gè)子任務(wù)類(lèi)型來(lái)共同實(shí)現(xiàn);內(nèi)部任務(wù)類(lèi)型則不包括子任務(wù)類(lèi)型,可以直接被執(zhí)行。
[0088]操作類(lèi)型(OperationType)和事實(shí)類(lèi)型(FactType)屬于元數(shù)據(jù)層。元數(shù)據(jù)層用于描述整個(gè)任務(wù)和任務(wù)所需事實(shí)的關(guān)系,以及所有任務(wù)所執(zhí)行的操作。對(duì)于固定的任務(wù),以類(lèi)的形式實(shí)現(xiàn)每一種具體的任務(wù)類(lèi)型(TaskType)、操作類(lèi)型(OperationType)和事實(shí)類(lèi)型(FactType)。對(duì)于緊急及經(jīng)常變化的任務(wù),將這些任務(wù)類(lèi)型(TaskType)、操作類(lèi)型(OperationType)和事實(shí)類(lèi)型(FactType)以圖的形式存儲(chǔ)到圖形數(shù)據(jù)庫(kù)中,也可以以對(duì)象的形式,存儲(chǔ)在內(nèi)存中,一個(gè)對(duì)象將對(duì)應(yīng)圖中的一個(gè)節(jié)點(diǎn),對(duì)象之間的關(guān)聯(lián)對(duì)應(yīng)圖中的邊。將任務(wù)類(lèi)型(TaskType)、操作類(lèi)型(OperationType)中的操作以腳本的形式進(jìn)行存儲(chǔ)。
[0089]步驟102:在事實(shí)類(lèi)型(FactType)之間建立依賴關(guān)系。即如果事實(shí)類(lèi)型(FactType)A依賴于事實(shí)類(lèi)型(FactType)B,將在事實(shí)類(lèi)型(FactType)A的依賴(dependence)屬性中記錄事實(shí)類(lèi)型(FactType)B的引用。那么當(dāng)事實(shí)類(lèi)型(FactType)B不再使用時(shí),事實(shí)類(lèi)型(FactType)A也不能再被使用。
[0090]步驟103:在任務(wù)類(lèi)型(TaskType)和事實(shí)類(lèi)型(FactType)之間建立使用關(guān)系。即如果一個(gè)任務(wù)類(lèi)型(TaskType)的任務(wù)(Task)需要使用一個(gè)事實(shí)類(lèi)型(FactType)的事實(shí)(Fact)來(lái)完成所需要進(jìn)行的操作,則在這個(gè)任務(wù)類(lèi)型(TaskType)的所需事實(shí)(neededFact)屬性中記錄這個(gè)事實(shí)類(lèi)型(FactType)的引用及所需的數(shù)量。
[0091]步驟104:編寫(xiě)任務(wù)類(lèi)型(TaskType)的相關(guān)代碼的類(lèi)。
[0092]本申請(qǐng)另一實(shí)施例提供的基于場(chǎng)景的人機(jī)交互方法的執(zhí)行流程如圖3所示,包括:
[0093]步驟301:接收需要執(zhí)行的會(huì)話標(biāo)志(SessionID)、任務(wù)(Task)和事實(shí)(Fact),根據(jù)會(huì)話標(biāo)志(SessionID),找到對(duì)應(yīng)的會(huì)話(Context)。如果沒(méi)有,貝U倉(cāng)ll建一個(gè)新的會(huì)話(Context)。
[0094]步驟302:將接收的所有事實(shí)(Fact)插入到會(huì)話(Context)的事實(shí)隊(duì)列(FactList)中,在事實(shí)(Fact)的類(lèi)型(type)屬性中記錄它所屬事實(shí)類(lèi)型(FactType)的引用。
[0095]步驟303:設(shè)置接收的所有事實(shí)之間的依賴關(guān)系。
[0096]例如,根據(jù)事實(shí)(Fact)A的類(lèi)型屬性中記錄的事實(shí)類(lèi)型(FactType)A中的依賴屬性中記錄事實(shí)類(lèi)型(FactType)B,找到在當(dāng)前會(huì)話(Context)中的類(lèi)型(type)屬性為事實(shí)類(lèi)型(FactType)B的最新的事實(shí)(Fact) B (即在最靠近事實(shí)隊(duì)列尾部);如果有事實(shí)(Fact)B存在,在事實(shí)(Fact)A的依賴(dependence)屬性中記錄事實(shí)(Fact)B的引用;若無(wú)事實(shí)(Fact)B存在,輸出事實(shí)類(lèi)型(FactType)B的事實(shí)(Fact)B不足的提示。
[0097]步驟304:將所要處理的任務(wù)(Task)插入到會(huì)話(Context)的任務(wù)棧(TaskStack)中,在任務(wù)(Task)的類(lèi)型(type)屬性中記錄它所屬任務(wù)類(lèi)型(TaskType)的引用。
[0098]步驟305:根據(jù)任務(wù)(Task)的類(lèi)型屬性中記錄的任務(wù)類(lèi)型(TaskType)的所需事實(shí)(neededFact)屬性中記錄的事實(shí)類(lèi)型(FactType),找到所關(guān)聯(lián)的所有事實(shí)類(lèi)型(FactType)及所需數(shù)量;根據(jù)這些事實(shí)類(lèi)型(FactType)找到在這個(gè)會(huì)話(Context)中所有是這些事實(shí)類(lèi)型(FactType)的事實(shí)(Fact)(根據(jù)事實(shí)(Fact)的類(lèi)型屬性)。
[0099]步驟306:將所找到的事實(shí)按照加入會(huì)話(Context)的時(shí)間的逆序排序,根據(jù)對(duì)每種事實(shí)類(lèi)型(FactType)所需數(shù)量,事實(shí)(Fact)之間的依賴關(guān)系(即,如果需要一個(gè)事實(shí)(Fact)A所依賴的事實(shí)(Fact)B的事實(shí)類(lèi)型(FactType)的事實(shí)(Fact),則需要先將事實(shí)(Fact)B加入任務(wù)(Task)的所需事實(shí)(neededFact)屬性中,才能將事實(shí)(Fact)A加入任務(wù)(Task)的所需事實(shí)(neededFact)屬性中),從新到舊選取對(duì)應(yīng)數(shù)量的事實(shí)(Fact),將這些事實(shí)(Fact)的引用加入到這個(gè)任務(wù)(Task)的所需事實(shí)(neededFact)屬性中。
[0100]步驟307:如果當(dāng)前會(huì)話(Context)的任務(wù)棧(TaskStack)中有任務(wù)(Task),則取棧頂?shù)娜蝿?wù)(Task)作為當(dāng)前任務(wù),檢查當(dāng)前任務(wù)(Task)所需事實(shí)(Fact)是否足夠;如果足夠,執(zhí)行步驟308 ;如果不夠,執(zhí)行步驟311。
[0101]檢查方法具體如下所示:
[0102]根據(jù)當(dāng)前任務(wù)(Task)的類(lèi)型(type)屬性中記錄的任務(wù)類(lèi)型(TaskType)的所需事實(shí)(neededFact)屬性中記錄的事實(shí)類(lèi)型(FactType),確定是否滿足如下兩個(gè)條件:
[0103]每一種事實(shí)類(lèi)型(FactType)的Fact都有;
[0104]數(shù)量都符合要求;
[0105]如果上述兩條都滿足,則任務(wù)足夠,否則認(rèn)為不夠。
[0106]步驟308:判斷當(dāng)前任務(wù)(Task)執(zhí)行過(guò)程中,是否需要執(zhí)行其他任務(wù)(Task)作為子任務(wù),若是,將所述其他任務(wù)(Task)作為當(dāng)前任務(wù),返回步驟307;否則,繼續(xù)執(zhí)行步驟309。
[0107]步驟309:根據(jù)當(dāng)前任務(wù)(Task)的類(lèi)型(type)屬性中記錄的任務(wù)類(lèi)型(TaskType)中記錄的執(zhí)行腳本或者類(lèi),執(zhí)行任務(wù)操作,如果任務(wù)(Task)操作執(zhí)行完成,則將當(dāng)前任務(wù)從棧中出棧。
[0108]步驟310:判斷是否超過(guò)指定時(shí)間,沒(méi)有這個(gè)會(huì)話(Context)的新的信息傳入,若是,結(jié)束本流程,否則返回步驟307。
[0109]步驟311:根據(jù)所缺事實(shí)(Fact)的事實(shí)類(lèi)型(FactType),返回事實(shí)不足的提示,并結(jié)束本流程。
[0110]本申請(qǐng)實(shí)施例還提供了一種基于場(chǎng)景的人機(jī)交互裝置,包括:
[0111]關(guān)系建立模塊,用于建立任務(wù)和任務(wù)類(lèi)型之間的關(guān)聯(lián),建立事實(shí)和事實(shí)類(lèi)型之間的關(guān)聯(lián);建立事實(shí)類(lèi)型和任務(wù)類(lèi)型之間的關(guān)系圖,利用所述關(guān)系圖建立事實(shí)和任務(wù)的關(guān)系;所述事實(shí)為用戶提供的信息以及任務(wù)執(zhí)行產(chǎn)生的信息;所述任務(wù)為根據(jù)事實(shí)提供的信息,計(jì)算機(jī)系統(tǒng)執(zhí)行一系列操作并返回執(zhí)行結(jié)果;
[0112]執(zhí)行模塊,用于利用事實(shí)類(lèi)型和任務(wù)類(lèi)型之間的關(guān)系圖,檢查任務(wù)所需事實(shí)是否足夠;若是,根據(jù)所述任務(wù)的任務(wù)類(lèi)型中執(zhí)行相應(yīng)的任務(wù)操作;
[0113]判斷模塊,用于判斷是否超過(guò)指定時(shí)間,沒(méi)有這個(gè)會(huì)話的新的信息傳入,若是,去使能所述判斷模塊。
[0114]較佳地,所述事實(shí)和任務(wù)的關(guān)系包括:事實(shí)類(lèi)型之間的依賴關(guān)系,即若第一事實(shí)類(lèi)型依賴于第二事實(shí)類(lèi)型,則在第一事實(shí)類(lèi)型的依賴屬性中記錄第二事實(shí)類(lèi)型的引用;
[0115]任務(wù)與子任務(wù)之間的關(guān)系,即若一個(gè)任務(wù)包含子任務(wù),則該任務(wù)執(zhí)行時(shí),需要調(diào)用至少一個(gè)子任務(wù);
[0116]以及
[0117]任務(wù)類(lèi)型和事實(shí)類(lèi)型之間的使用關(guān)系,即若第一任務(wù)類(lèi)型的任務(wù)需要使用第一事實(shí)類(lèi)型的事實(shí)來(lái)完成所需要進(jìn)行的操作,則在第一任務(wù)類(lèi)型的所需事實(shí)屬性中記錄第一事實(shí)類(lèi)型的引用及所需的數(shù)量。
[0118]較佳地,該裝置進(jìn)一步包括:
[0119]會(huì)話管理模塊,用于接收需要執(zhí)行的會(huì)話標(biāo)志、任務(wù)和事實(shí),根據(jù)會(huì)話標(biāo)志,找到對(duì)應(yīng)的會(huì)話;如果沒(méi)有找到,則創(chuàng)建一個(gè)新的會(huì)話;
[0120]事實(shí)管理模塊,用于將接收的所有事實(shí)插入到會(huì)話的事實(shí)隊(duì)列中,在事實(shí)的類(lèi)型屬性中記錄它所屬事實(shí)類(lèi)型的引用;根據(jù)發(fā)現(xiàn)事實(shí)的限定關(guān)系,設(shè)置接收的所有事實(shí)之間的依賴關(guān)系;
[0121]任務(wù)管理模塊,用于將所要處理的任務(wù)插入到會(huì)話的任務(wù)棧中,在任務(wù)的類(lèi)型屬性中記錄它所屬任務(wù)類(lèi)型的引用;根據(jù)任務(wù)的類(lèi)型屬性中記錄的任務(wù)類(lèi)型的所需事實(shí)屬性中記錄的事實(shí)類(lèi)型,找到所關(guān)聯(lián)的所有事實(shí)類(lèi)型及所需數(shù)量;根據(jù)這些事實(shí)類(lèi)型找到在這個(gè)會(huì)話中所有屬于上述事實(shí)類(lèi)型的事實(shí);將所找到的事實(shí)按照加入會(huì)話的時(shí)間的逆序排序,根據(jù)對(duì)每種事實(shí)類(lèi)型所需數(shù)量,事實(shí)之間的依賴關(guān)系,從新到舊選取對(duì)應(yīng)數(shù)量的事實(shí),將這些事實(shí)的引用加入到這個(gè)任務(wù)的所需事實(shí)屬性中。
[0122]較佳地,執(zhí)行模塊包括:[0123]當(dāng)前任務(wù)確定單元,用于判斷當(dāng)前會(huì)話的任務(wù)棧中是否有任務(wù),若是,則取棧頂?shù)娜蝿?wù)作為當(dāng)前任務(wù),檢查當(dāng)前任務(wù)所需事實(shí)是否足夠;如果足夠,判斷當(dāng)前任務(wù)執(zhí)行過(guò)程中,是否需要執(zhí)行其他任務(wù)作為子任務(wù),若是,將所述其他任務(wù)作為當(dāng)前任務(wù);如果不夠,使能失敗提示單元;
[0124]當(dāng)前任務(wù)執(zhí)行單元,用于根據(jù)當(dāng)前任務(wù)的類(lèi)型屬性中記錄的任務(wù)類(lèi)型中記錄的執(zhí)行腳本或者類(lèi),執(zhí)行任務(wù)操作,如果任務(wù)操作執(zhí)行完成,則將當(dāng)前任務(wù)從任務(wù)棧中出棧
[0125]失敗提示單元,用于根據(jù)所缺事實(shí)的事實(shí)類(lèi)型,返回事實(shí)不足的提示。
[0126]較佳地,所述檢查當(dāng)前任務(wù)所需事實(shí)是否足夠包括:
[0127]根據(jù)當(dāng)前任務(wù)的類(lèi)型屬性中記錄的任務(wù)類(lèi)型的所需事實(shí)屬性中記錄的事實(shí)類(lèi)型,確定是否滿足如下兩個(gè)條件:
[0128]每一種事實(shí)類(lèi)型的事實(shí)都有;
[0129]數(shù)量都符合要求;
[0130]如果上述兩條都滿足,則任務(wù)所需的事實(shí)足夠,否則認(rèn)為不夠。
[0131]本申請(qǐng)?zhí)峁┑幕趫?chǎng)景的人機(jī)交互方法可以實(shí)現(xiàn)如下有益技術(shù)效果:在多次交互的過(guò)程中,使得信息可以在整個(gè)會(huì)話過(guò)程中得到復(fù)用;并提供的信息不足的檢查機(jī)制;簡(jiǎn)化了人機(jī)會(huì)話系統(tǒng)的開(kāi)發(fā),提高了開(kāi)發(fā)的效率。
[0132]以上所述僅為本申請(qǐng)的較佳實(shí)施例而已,并不用以限制本申請(qǐng)的保護(hù)范圍,凡在本申請(qǐng)技術(shù)方案的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請(qǐng)保護(hù)的范圍之內(nèi)。
【權(quán)利要求】
1.一種基于場(chǎng)景的人機(jī)交互方法,其特征在于,包括: A、建立任務(wù)和任務(wù)類(lèi)型之間的關(guān)聯(lián),建立事實(shí)和事實(shí)類(lèi)型之間的關(guān)聯(lián);建立事實(shí)類(lèi)型和任務(wù)類(lèi)型之間的關(guān)系圖,利用所述關(guān)系圖建立事實(shí)和任務(wù)的關(guān)系;所述事實(shí)為用戶提供的信息以及任務(wù)執(zhí)行產(chǎn)生的信息;所述任務(wù)為根據(jù)事實(shí)提供的信息,計(jì)算機(jī)系統(tǒng)執(zhí)行一系列操作并返回執(zhí)行結(jié)果; B、利用事實(shí)類(lèi)型和任務(wù)類(lèi)型之間的關(guān)系圖,檢查任務(wù)所需事實(shí)是否足夠;若是,根據(jù)所述任務(wù)的任務(wù)類(lèi)型中執(zhí)行相應(yīng)的任務(wù)操作; C、判斷是否超過(guò)指定時(shí)間,沒(méi)有這個(gè)會(huì)話的新的信息傳入,若是,結(jié)束本流程,否則返回步驟B。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述事實(shí)和任務(wù)的關(guān)系包括:事實(shí)類(lèi)型之間的依賴關(guān)系,即若第一事實(shí)類(lèi)型依賴于第二事實(shí)類(lèi)型,則在第一事實(shí)類(lèi)型的依賴屬性中記錄第二事實(shí)類(lèi)型的引用; 任務(wù)與子任務(wù)之間的關(guān)系,即若一個(gè)任務(wù)包含子任務(wù),則該任務(wù)執(zhí)行時(shí),需要調(diào)用至少一個(gè)子任務(wù); 以及 任務(wù)類(lèi)型和事實(shí)類(lèi)型之間的使用關(guān)系,即若第一任務(wù)類(lèi)型的任務(wù)需要使用第一事實(shí)類(lèi)型的事實(shí)來(lái)完成所需要進(jìn)行的操作,則在第一任務(wù)類(lèi)型的所需事實(shí)屬性中記錄第一事實(shí)類(lèi)型的引用及所需的數(shù)量。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟B之前進(jìn)一步包括: 接收需要執(zhí)行的會(huì)話標(biāo)志、任務(wù)和事實(shí),根據(jù)會(huì)話標(biāo)志,找到對(duì)應(yīng)的會(huì)話;如果沒(méi)有找到,則創(chuàng)建一個(gè)新的會(huì)話; 將接收的所有事實(shí)插入到會(huì)話的事實(shí)隊(duì)列中,在事實(shí)的類(lèi)型屬性中記錄它所屬事實(shí)類(lèi)型的引用; 根據(jù)發(fā)現(xiàn)事實(shí)的限定關(guān)系,設(shè)置接收的所有事實(shí)之間的依賴關(guān)系; 將所要處理的任務(wù)插入到會(huì)話的任務(wù)棧中,在任務(wù)的類(lèi)型屬性中記錄它所屬任務(wù)類(lèi)型的引用; 根據(jù)任務(wù)的類(lèi)型屬性中記錄的任務(wù)類(lèi)型的所需事實(shí)屬性中記錄的事實(shí)類(lèi)型,找到所關(guān)聯(lián)的所有事實(shí)類(lèi)型及所需數(shù)量;根據(jù)這些事實(shí)類(lèi)型找到在這個(gè)會(huì)話中所有屬于上述事實(shí)類(lèi)型的事實(shí); 將所找到的事實(shí)按照加入會(huì)話的時(shí)間的逆序排序,根據(jù)對(duì)每種事實(shí)類(lèi)型所需數(shù)量,事實(shí)之間的依賴關(guān)系,從新到舊選取對(duì)應(yīng)數(shù)量的事實(shí),將這些事實(shí)的引用加入到這個(gè)任務(wù)的所需事實(shí)屬性中。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,步驟B包括: B1、如果當(dāng)前會(huì)話的任務(wù)棧中有任務(wù),則取棧頂?shù)娜蝿?wù)作為當(dāng)前任務(wù),檢查當(dāng)前任務(wù)所需事實(shí)是否足夠;如果足夠,執(zhí)行步驟B2 ;如果不夠,執(zhí)行步驟B4 ; B2、判斷當(dāng)前任務(wù)執(zhí)行過(guò)程中,是否需要執(zhí)行其他任務(wù)作為子任務(wù),若是,將所述其他任務(wù)作為當(dāng)前任務(wù),返回步驟BI ;否則,繼續(xù)執(zhí)行步驟B3 ; B3、根據(jù)當(dāng)前任務(wù)的類(lèi)型屬性中記錄的任務(wù)類(lèi)型中記錄的執(zhí)行腳本或者類(lèi),執(zhí)行任務(wù)操作,如果任務(wù)操作執(zhí)行完成,則將當(dāng)前任務(wù)從任務(wù)棧中出棧,并結(jié)束步驟B ;B4、根據(jù)所缺事實(shí)的事實(shí)類(lèi)型,返回事實(shí)不足的提示,并結(jié)束步驟B。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述檢查當(dāng)前任務(wù)所需事實(shí)是否足夠包括: 根據(jù)當(dāng)前任務(wù)的類(lèi)型屬性中記錄的任務(wù)類(lèi)型的所需事實(shí)屬性中記錄的事實(shí)類(lèi)型,確定是否滿足如下兩個(gè)條件: 每一種事實(shí)類(lèi)型的事實(shí)都有; 數(shù)量都符合要求; 如果上述兩條都滿足,則任務(wù)所需的事實(shí)足夠,否則任務(wù)所需的事實(shí)不夠。
6.一種基于場(chǎng)景的人機(jī)交互裝置,其特征在于,包括: 關(guān)系建立模塊,用于建立任務(wù)和任務(wù)類(lèi)型之間的關(guān)聯(lián),建立事實(shí)和事實(shí)類(lèi)型之間的關(guān)聯(lián);建立事實(shí)類(lèi)型和任務(wù)類(lèi)型之間的關(guān)系圖,利用所述關(guān)系圖建立事實(shí)和任務(wù)的關(guān)系;所述事實(shí)為用戶提供的信息以及任務(wù)執(zhí)行產(chǎn)生的信息;所述任務(wù)為根據(jù)事實(shí)提供的信息,計(jì)算機(jī)系統(tǒng)執(zhí)行一系列操作并返回執(zhí)行結(jié)果; 執(zhí)行模塊,用于利用事實(shí)類(lèi)型和任務(wù)類(lèi)型之間的關(guān)系圖,檢查任務(wù)所需事實(shí)是否足夠;若是,根據(jù)所述任務(wù)的任務(wù)類(lèi)型中執(zhí)行相應(yīng)的任務(wù)操作; 判斷模塊,用于判斷是否超過(guò)指定時(shí)間,沒(méi)有這個(gè)會(huì)話的新的信息傳入,若是,去使能所述判斷模塊。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述事實(shí)和任務(wù)的關(guān)系包括:事實(shí)類(lèi)型之間的依賴關(guān)系,即若第一事實(shí)類(lèi)型依賴于第二事實(shí)類(lèi)型,則在第一事實(shí)類(lèi)型的依賴屬性中記錄第二事實(shí)類(lèi)型的引用; 任務(wù)與子任務(wù)之間的關(guān)系,即若一個(gè)任務(wù)包含子任務(wù),則該任務(wù)執(zhí)行時(shí),需要調(diào)用至少一個(gè)子任務(wù); 以及 任務(wù)類(lèi)型和事實(shí)類(lèi)型之間的使用關(guān)系,即若第一任務(wù)類(lèi)型的任務(wù)需要使用第一事實(shí)類(lèi)型的事實(shí)來(lái)完成所需要進(jìn)行的操作,則在第一任務(wù)類(lèi)型的所需事實(shí)屬性中記錄第一事實(shí)類(lèi)型的引用及所需的數(shù)量。
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,該裝置進(jìn)一步包括: 會(huì)話管理模塊,用于接收需要執(zhí)行的會(huì)話標(biāo)志、任務(wù)和事實(shí),根據(jù)會(huì)話標(biāo)志,找到對(duì)應(yīng)的會(huì)話;如果沒(méi)有找到,則創(chuàng)建一個(gè)新的會(huì)話; 事實(shí)管理模塊,用于將接收的所有事實(shí)插入到會(huì)話的事實(shí)隊(duì)列中,在事實(shí)的類(lèi)型屬性中記錄它所屬事實(shí)類(lèi)型的引用;根據(jù)發(fā)現(xiàn)事實(shí)的限定關(guān)系,設(shè)置接收的所有事實(shí)之間的依賴關(guān)系; 任務(wù)管理模塊,用于將所要處理的任務(wù)插入到會(huì)話的任務(wù)棧中,在任務(wù)的類(lèi)型屬性中記錄它所屬任務(wù)類(lèi)型的引用;根據(jù)任務(wù)的類(lèi)型屬性中記錄的任務(wù)類(lèi)型的所需事實(shí)屬性中記錄的事實(shí)類(lèi)型,找到所關(guān)聯(lián)的所有事實(shí)類(lèi)型及所需數(shù)量;根據(jù)這些事實(shí)類(lèi)型找到在這個(gè)會(huì)話中所有屬于上述事實(shí)類(lèi)型的事實(shí);將所找到的事實(shí)按照加入會(huì)話的時(shí)間的逆序排序,根據(jù)對(duì)每種事實(shí)類(lèi)型所需數(shù)量,事實(shí)之間的依賴關(guān)系,從新到舊選取對(duì)應(yīng)數(shù)量的事實(shí),將這些事實(shí)的引用加入到這個(gè)任務(wù)的所需事實(shí)屬性中。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,執(zhí)行模塊包括:當(dāng)前任務(wù)確定單元,用于判斷當(dāng)前會(huì)話的任務(wù)棧中是否有任務(wù),若是,則取棧頂?shù)娜蝿?wù)作為當(dāng)前任務(wù),檢查當(dāng)前任務(wù)所需事實(shí)是否足夠;如果足夠,判斷當(dāng)前任務(wù)執(zhí)行過(guò)程中,是否需要執(zhí)行其他任務(wù)作為子任務(wù),若是,將所述其他任務(wù)作為當(dāng)前任務(wù);如果不夠,使能失敗提示單元; 當(dāng)前任務(wù)執(zhí)行單元,用于根據(jù)當(dāng)前任務(wù)的類(lèi)型屬性中記錄的任務(wù)類(lèi)型中記錄的執(zhí)行腳本或者類(lèi),執(zhí)行任務(wù)操作,如果任務(wù)操作執(zhí)行完成,則將當(dāng)前任務(wù)從任務(wù)棧中出棧失敗提示單元,用于根據(jù)所缺事實(shí)的事實(shí)類(lèi)型,返回事實(shí)不足的提示。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述檢查當(dāng)前任務(wù)所需事實(shí)是否足夠包括: 根據(jù)當(dāng)前任務(wù)的類(lèi)型屬性中記錄的任務(wù)類(lèi)型的所需事實(shí)屬性中記錄的事實(shí)類(lèi)型,確定是否滿足如下兩個(gè)條件: 每一種事實(shí)類(lèi)型的事實(shí)都有; 數(shù)量都符合要求; 如果上述兩條 都滿足,則任務(wù)所需的事實(shí)足夠,否則任務(wù)所需的事實(shí)不夠。
【文檔編號(hào)】G06F9/44GK103942056SQ201410185289
【公開(kāi)日】2014年7月23日 申請(qǐng)日期:2014年5月5日 優(yōu)先權(quán)日:2014年5月5日
【發(fā)明者】張喜, 羅歡, 姜文, 何泉昊 申請(qǐng)人:北京京東尚科信息技術(shù)有限公司, 北京京東世紀(jì)貿(mào)易有限公司