本發(fā)明涉及自然語(yǔ)言處理技術(shù)領(lǐng)域,尤其涉及一種基于多輪交互的語(yǔ)料生成方法和裝置。
背景技術(shù):
隨著計(jì)算機(jī)技術(shù)的發(fā)展,自然語(yǔ)言處理(naturallanguageprocessing,nlp)的人機(jī)交互中產(chǎn)生一種重要的交互方式-多輪對(duì)話,多輪對(duì)話中通常有兩個(gè)或多個(gè)代理(agent),通過(guò)自然語(yǔ)言的方式交替進(jìn)行多輪交互,從而使得對(duì)話持續(xù)。多輪對(duì)話例如,在電商平臺(tái)的用戶和客服之間,通過(guò)語(yǔ)音、文字等方式進(jìn)行多輪的溝通和交流,以達(dá)到解決某種問(wèn)題的目的。在多輪交互建模的過(guò)程中,需要讓參與者扮演對(duì)話中一方的角色,和交互系統(tǒng)進(jìn)行對(duì)話,即,基于大量的語(yǔ)料生成對(duì)話數(shù)據(jù)訓(xùn)練模型,使得交互系統(tǒng)能夠基于該對(duì)話數(shù)據(jù)訓(xùn)練模型為后臺(tái)服務(wù)器生成準(zhǔn)確的自動(dòng)回復(fù)。
相關(guān)技術(shù)中,讓參與者扮演對(duì)話中一方的角色,和交互系統(tǒng)進(jìn)行對(duì)話,在開始對(duì)話前可以分配至參與者一些說(shuō)明,引導(dǎo)參與者開始并展開對(duì)話。
這種方式下,語(yǔ)料生成的人力成本較高,效果不佳。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明旨在至少在一定程度上解決相關(guān)技術(shù)中的技術(shù)問(wèn)題之一。
為此,本發(fā)明的一個(gè)目的在于提出一種基于多輪交互的語(yǔ)料生成方法,能夠有效降低多輪交互中的語(yǔ)料生成的人力成本,并且,由于馬爾可夫鏈中離散事件隨機(jī)性,使得生成的語(yǔ)料具有較好的隨機(jī)性和多樣性。
本發(fā)明的另一個(gè)目的在于提出一種基于多輪交互的語(yǔ)料生成裝置。
為達(dá)到上述目的,本發(fā)明第一方面實(shí)施例提出的基于多輪交互的語(yǔ)料生成方法,包括:依據(jù)馬爾可夫鏈中節(jié)點(diǎn)之間的狀態(tài)轉(zhuǎn)移概率確定當(dāng)前節(jié)點(diǎn);執(zhí)行綁定在所述當(dāng)前節(jié)點(diǎn)上的動(dòng)作事件,并執(zhí)行與所述動(dòng)作事件對(duì)應(yīng)的消息模板事件;依據(jù)所述狀態(tài)轉(zhuǎn)移概率,執(zhí)行所述馬爾可夫鏈中的部分節(jié)點(diǎn)上的動(dòng)作事件及對(duì)應(yīng)的消息模板事件,以生成所述多輪交互的語(yǔ)料。
本發(fā)明第一方面實(shí)施例提出的基于多輪交互的語(yǔ)料生成方法,通過(guò)依據(jù)狀態(tài)轉(zhuǎn)移概率,執(zhí)行馬爾可夫鏈中的部分節(jié)點(diǎn)上的動(dòng)作事件及對(duì)應(yīng)的消息模板事件,以生成多輪交互的語(yǔ)料,由于是由計(jì)算機(jī)程序直接觸發(fā)執(zhí)行生成語(yǔ)料,因此,能夠有效降低多輪交互中的語(yǔ)料生成的人力成本,并且,由于馬爾可夫鏈中離散事件隨機(jī)性,使得生成的語(yǔ)料具有較好的隨機(jī)性和多樣性。
為達(dá)到上述目的,本發(fā)明第二方面實(shí)施例提出的基于多輪交互的語(yǔ)料生成裝置,包括:第一確定模塊,用于依據(jù)馬爾可夫鏈中節(jié)點(diǎn)之間的狀態(tài)轉(zhuǎn)移概率確定當(dāng)前節(jié)點(diǎn);執(zhí)行模塊,用于執(zhí)行綁定在所述當(dāng)前節(jié)點(diǎn)上的動(dòng)作事件,并執(zhí)行與所述動(dòng)作事件對(duì)應(yīng)的消息模板事件;生成模塊,用于依據(jù)所述狀態(tài)轉(zhuǎn)移概率,執(zhí)行所述馬爾可夫鏈中的部分節(jié)點(diǎn)上的動(dòng)作事件及對(duì)應(yīng)的消息模板事件,以生成所述多輪交互的語(yǔ)料。
本發(fā)明第二方面實(shí)施例提出的基于多輪交互的語(yǔ)料生成裝置,通過(guò)依據(jù)狀態(tài)轉(zhuǎn)移概率,執(zhí)行馬爾可夫鏈中的部分節(jié)點(diǎn)上的動(dòng)作事件及對(duì)應(yīng)的消息模板事件,以生成多輪交互的語(yǔ)料,由于是由計(jì)算機(jī)程序直接觸發(fā)執(zhí)行生成語(yǔ)料,因此,能夠有效降低多輪交互中的語(yǔ)料生成的人力成本,并且,由于馬爾可夫鏈中離散事件隨機(jī)性,使得生成的語(yǔ)料具有較好的隨機(jī)性和多樣性。
本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過(guò)本發(fā)明的實(shí)踐了解到。
附圖說(shuō)明
本發(fā)明上述的和/或附加的方面和優(yōu)點(diǎn)從下面結(jié)合附圖對(duì)實(shí)施例的描述中將變得明顯和容易理解,其中:
圖1是本發(fā)明一實(shí)施例提出的基于多輪交互的語(yǔ)料生成方法的流程示意圖;
圖2為本發(fā)明實(shí)施例中馬爾可夫鏈的結(jié)構(gòu)示意圖;
圖3是本發(fā)明另一實(shí)施例提出的基于多輪交互的語(yǔ)料生成方法的流程示意圖;
圖4是本發(fā)明一實(shí)施例提出的基于多輪交互的語(yǔ)料生成裝置的結(jié)構(gòu)示意圖;
圖5是本發(fā)明另一實(shí)施例提出的基于多輪交互的語(yǔ)料生成裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號(hào)表示相同或類似的元件或具有相同或類似功能的元件。下面通過(guò)參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能理解為對(duì)本發(fā)明的限制。相反,本發(fā)明的實(shí)施例包括落入所附加權(quán)利要求書的精神和內(nèi)涵范圍內(nèi)的所有變化、修改和等同物。
圖1是本發(fā)明一實(shí)施例提出的基于多輪交互的語(yǔ)料生成方法的流程示意圖。
本實(shí)施例中基于多輪交互的語(yǔ)料生成方法可以被配置在基于多輪交互的語(yǔ)料生成裝置中。該基于多輪交互的語(yǔ)料生成裝置可以設(shè)置在服務(wù)器中,或者也可以設(shè)置在電子設(shè)備中,本發(fā)明實(shí)施例對(duì)此不作限制。
其中,電子設(shè)備例如為個(gè)人電腦(personalcomputer,pc),云端設(shè)備或者移動(dòng)設(shè)備,移動(dòng)設(shè)備例如智能手機(jī),或者平板電腦等。
需要說(shuō)明的是,本發(fā)明實(shí)施例的執(zhí)行主體,在硬件上可以例如為服務(wù)器/電子設(shè)備中的中央處理器(centralprocessingunit,cpu),在軟件上可以例如為服務(wù)器/電子設(shè)備中的應(yīng)用程序,對(duì)此不作限制。
該基于多輪交互的語(yǔ)料生成方法可以應(yīng)用在nlp的人機(jī)交互中。
參見(jiàn)圖1,該方法包括:
s11:依據(jù)馬爾可夫鏈中節(jié)點(diǎn)之間的狀態(tài)轉(zhuǎn)移概率確定當(dāng)前節(jié)點(diǎn)。
馬爾可夫鏈指數(shù)學(xué)中具有馬爾可夫性質(zhì)的離散事件隨機(jī)過(guò)程。該隨機(jī)過(guò)程中,在給定當(dāng)前知識(shí)或信息的情況下,過(guò)去(即當(dāng)前以前的歷史狀態(tài))對(duì)于預(yù)測(cè)將來(lái)(即當(dāng)前以后的未來(lái)狀態(tài))是無(wú)關(guān)的。
在本發(fā)明的實(shí)施例中,可以依據(jù)馬爾可夫鏈的數(shù)學(xué)特性,即馬爾可夫鏈中節(jié)點(diǎn)之間的狀態(tài)轉(zhuǎn)移概率執(zhí)行綁定在當(dāng)前節(jié)點(diǎn)上的動(dòng)作事件,并執(zhí)行與動(dòng)作事件對(duì)應(yīng)的消息模板事件,由于馬爾可夫鏈中離散事件隨機(jī)性,使得生成的語(yǔ)料具有較好的隨機(jī)性和多樣性。
其中,馬爾可夫鏈中節(jié)點(diǎn)之間的狀態(tài)轉(zhuǎn)移概率可以是預(yù)先設(shè)定的。
在具體的執(zhí)行過(guò)程中,可以首先將馬爾可夫鏈中的開始狀態(tài)的節(jié)點(diǎn)作為起始節(jié)點(diǎn),進(jìn)而依據(jù)預(yù)先設(shè)定的狀態(tài)轉(zhuǎn)移概率確定當(dāng)前節(jié)點(diǎn),在對(duì)每條路徑遍歷的過(guò)程中,每次依據(jù)預(yù)先設(shè)定的狀態(tài)轉(zhuǎn)移概率所確定的當(dāng)前節(jié)點(diǎn)可以不同或者相同。
參見(jiàn)圖2,圖2為本發(fā)明實(shí)施例中馬爾可夫鏈的結(jié)構(gòu)示意圖,其中,包括:節(jié)點(diǎn)模塊21、狀態(tài)轉(zhuǎn)移概率22、起始節(jié)點(diǎn)23以及終止節(jié)點(diǎn)24,每個(gè)節(jié)點(diǎn)模塊21中包括有預(yù)先綁定的動(dòng)作事件。
s12:執(zhí)行綁定在當(dāng)前節(jié)點(diǎn)上的動(dòng)作事件,并執(zhí)行與動(dòng)作事件對(duì)應(yīng)的消息模板事件。
其中,當(dāng)前節(jié)點(diǎn)上的動(dòng)作事件可以是預(yù)先綁定在馬爾可夫鏈中的節(jié)點(diǎn)上的,且與動(dòng)作事件對(duì)應(yīng)的消息模板事件也可以是預(yù)先生成的。
在本發(fā)明的實(shí)施例中,動(dòng)作事件可以例如為方法函數(shù),與動(dòng)作事件對(duì)應(yīng)的消息模板事件可以例如為方法函數(shù)的應(yīng)答,可以通過(guò)運(yùn)行源程序代碼來(lái)觸發(fā)執(zhí)行對(duì)應(yīng)的消息模板事件,進(jìn)而通過(guò)運(yùn)行源程序代碼來(lái)執(zhí)行基于多輪交互的語(yǔ)料生成方法,在方法執(zhí)行時(shí),基于當(dāng)前節(jié)點(diǎn)的標(biāo)識(shí)調(diào)用預(yù)先綁定的方法函數(shù)觸發(fā)執(zhí)行該當(dāng)前節(jié)點(diǎn)上的動(dòng)作事件,算法實(shí)現(xiàn)簡(jiǎn)便,且保障方法執(zhí)行的時(shí)效性。
可選地,動(dòng)作事件包括:用于生成用戶側(cè)語(yǔ)料的用戶動(dòng)作事件和用于生成系統(tǒng)側(cè)語(yǔ)料的系統(tǒng)動(dòng)作事件,參見(jiàn)圖2中,節(jié)點(diǎn)模塊21中的用戶動(dòng)作事件可以用u表示,系統(tǒng)動(dòng)作事件可以用g表示,具體地,用戶動(dòng)作事件可以例如為,request_create(date,event),表征用戶側(cè)請(qǐng)求創(chuàng)建日程,系統(tǒng)動(dòng)作事件可以例如為,ask_time(),表征系統(tǒng)側(cè)詢問(wèn)請(qǐng)求創(chuàng)建日程的時(shí)間,其它節(jié)點(diǎn)模塊中的動(dòng)作事件如圖2中所示,對(duì)此不作限制。
執(zhí)行預(yù)先綁定在當(dāng)前節(jié)點(diǎn)上的動(dòng)作事件,并執(zhí)行與動(dòng)作事件對(duì)應(yīng)的消息模板事件,包括:從用戶動(dòng)作事件對(duì)應(yīng)的多個(gè)消息模板事件中,隨機(jī)確定第一目標(biāo)消息模板事件;在用戶動(dòng)作事件攜帶有第一參數(shù)時(shí),從第一目標(biāo)消息模板事件所攜帶的多個(gè)參數(shù)取值中,隨機(jī)確定第一參數(shù)的取值;基于第一參數(shù)的取值執(zhí)行第一目標(biāo)消息模板事件;從系統(tǒng)動(dòng)作事件對(duì)應(yīng)的多個(gè)消息模板事件中,隨機(jī)確定第二目標(biāo)消息模板事件;在系統(tǒng)動(dòng)作事件攜帶有第二參數(shù)時(shí),將第一參數(shù)的取值作為第二參數(shù)的取值;基于第二參數(shù)的取值執(zhí)行第二目標(biāo)消息模板事件。
在本發(fā)明的實(shí)施例中,通過(guò)執(zhí)行綁定在當(dāng)前節(jié)點(diǎn)上的動(dòng)作事件,并執(zhí)行與動(dòng)作事件對(duì)應(yīng)的消息模板事件,而不需要真人參與,由于是由計(jì)算機(jī)程序直接觸發(fā)執(zhí)行的,因此,能夠有效降低多輪交互中的語(yǔ)料生成的人力成本。
s13:依據(jù)狀態(tài)轉(zhuǎn)移概率,執(zhí)行馬爾可夫鏈中的部分節(jié)點(diǎn)上的動(dòng)作事件及對(duì)應(yīng)的消息模板事件,以生成多輪交互的語(yǔ)料。
參見(jiàn)上述圖2,在本發(fā)明的實(shí)施例中,可以依據(jù)預(yù)先配置的狀態(tài)轉(zhuǎn)移概率,執(zhí)行馬爾可夫鏈中的部分或者全部節(jié)點(diǎn)上的動(dòng)作事件及對(duì)應(yīng)的消息模板事件,即,可以在執(zhí)行綁定在當(dāng)前節(jié)點(diǎn)上的動(dòng)作事件,并執(zhí)行與動(dòng)作事件對(duì)應(yīng)的消息模板事件之后,依據(jù)狀態(tài)轉(zhuǎn)移概率確定下一個(gè)節(jié)點(diǎn),例如,可以將當(dāng)前節(jié)點(diǎn)所在的路徑上,與當(dāng)前節(jié)點(diǎn)之間的狀態(tài)轉(zhuǎn)移概率最大的下一個(gè)節(jié)點(diǎn)作為當(dāng)前節(jié)點(diǎn),進(jìn)而,再下一輪執(zhí)行時(shí),將狀態(tài)轉(zhuǎn)移概率第二大的下一個(gè)節(jié)點(diǎn)作為當(dāng)前節(jié)點(diǎn),或者,也可以隨機(jī)的依據(jù)狀態(tài)轉(zhuǎn)移概率確定下一個(gè)節(jié)點(diǎn),執(zhí)行每個(gè)節(jié)點(diǎn)上的動(dòng)作事件及對(duì)應(yīng)的消息模板事件,以生成多輪交互的語(yǔ)料,對(duì)此不作限制。
本實(shí)施例中,通過(guò)依據(jù)狀態(tài)轉(zhuǎn)移概率,執(zhí)行馬爾可夫鏈中的部分節(jié)點(diǎn)上的動(dòng)作事件及對(duì)應(yīng)的消息模板事件,以生成多輪交互的語(yǔ)料,由于是由計(jì)算機(jī)程序直接觸發(fā)執(zhí)行生成語(yǔ)料,因此,能夠有效降低多輪交互中的語(yǔ)料生成的人力成本,并且,由于馬爾可夫鏈中離散事件隨機(jī)性,使得生成的語(yǔ)料具有較好的隨機(jī)性和多樣性。
圖3是本發(fā)明另一實(shí)施例提出的基于多輪交互的語(yǔ)料生成方法的流程示意圖。
參見(jiàn)圖3,該方法包括:
s31:根據(jù)外部指令對(duì)馬爾可夫鏈中節(jié)點(diǎn)之間的狀態(tài)轉(zhuǎn)移概率進(jìn)行配置。
在本發(fā)明的實(shí)施例中,可以根據(jù)經(jīng)驗(yàn)或者統(tǒng)計(jì)數(shù)據(jù)來(lái)確定馬爾可夫鏈中各節(jié)點(diǎn)之間的狀態(tài)轉(zhuǎn)移概率,對(duì)此不作限制。例如,通過(guò)對(duì)多輪交互中上文數(shù)據(jù)進(jìn)行分析得知,用戶在創(chuàng)建一個(gè)日程后,有50%的概率會(huì)再次創(chuàng)建,有30%的概率會(huì)對(duì)已建好日程進(jìn)行修改,有20%的概率會(huì)將該日程刪除,那么,可以將50%、30%,以及20%配置為對(duì)應(yīng)節(jié)點(diǎn)之間的狀態(tài)轉(zhuǎn)移概率。
s32:基于多輪交互的屬性特征,確定多輪交互中可能的動(dòng)作事件及對(duì)應(yīng)的消息模板事件。
在本發(fā)明的實(shí)施例中,多輪交互的屬性特征可以具體例如為該多輪交互所能實(shí)現(xiàn)的功能,屬性特征可以例如,日程管理,對(duì)此不作限制。
在本發(fā)明的實(shí)施例中,用戶動(dòng)作事件/系統(tǒng)動(dòng)作事件包括:用于發(fā)送文本消息的第一類動(dòng)作事件,以及用于調(diào)用應(yīng)用程序api接口再發(fā)送文本消息的第二類動(dòng)作事件。
其中,以多輪交互的屬性特征為日程管理進(jìn)行示例,第一類動(dòng)作事件例如,當(dāng)系統(tǒng)側(cè)執(zhí)行“詢問(wèn)時(shí)間”的系統(tǒng)動(dòng)作時(shí),會(huì)向用戶側(cè)發(fā)送文本消息“請(qǐng)問(wèn)日程什么時(shí)間開始”。第二類動(dòng)作事件例如,當(dāng)系統(tǒng)執(zhí)行“創(chuàng)建日程”的系統(tǒng)動(dòng)作時(shí),先調(diào)用創(chuàng)建日程的api接口,創(chuàng)建成功后再向用戶發(fā)送文本消息“已創(chuàng)建好日程”。
參見(jiàn)表1,表1為本發(fā)明實(shí)施例中,日程管理的多輪交互中可能的動(dòng)作事件及對(duì)應(yīng)的消息模板事件,及動(dòng)作事件對(duì)應(yīng)的含義說(shuō)明,對(duì)此不作限制。
表1
s33:將可能的動(dòng)作事件綁定至馬爾可夫鏈中的節(jié)點(diǎn)上。
在本發(fā)明的實(shí)施例中,可以通過(guò)編寫源程序代碼的方式,將可能的動(dòng)作事件綁定至馬爾可夫鏈中的節(jié)點(diǎn)上,或者,也可以通過(guò)調(diào)用預(yù)設(shè)的服務(wù)將可能的動(dòng)作事件綁定至馬爾可夫鏈中的節(jié)點(diǎn)上,對(duì)此不作限制。
通過(guò)設(shè)置用于發(fā)送文本消息的第一類動(dòng)作事件,以及用于調(diào)用應(yīng)用程序api接口再發(fā)送文本消息的第二類動(dòng)作事件,且通過(guò)預(yù)先基于多輪交互的屬性特征,確定多輪交互中可能的動(dòng)作事件及對(duì)應(yīng)的消息模板事件,能夠有效降低多輪交互中的語(yǔ)料生成的人力成本,結(jié)合線上實(shí)際交互狀況模擬多輪交互中的動(dòng)作事件,有效保障了基于多輪交互中語(yǔ)料生成的精準(zhǔn)度,具有較強(qiáng)的參考性。
s34:依據(jù)馬爾可夫鏈中節(jié)點(diǎn)之間的狀態(tài)轉(zhuǎn)移概率確定當(dāng)前節(jié)點(diǎn)。
在本發(fā)明的實(shí)施例中,可以依據(jù)馬爾可夫鏈的數(shù)學(xué)特性,即馬爾可夫鏈中節(jié)點(diǎn)之間的狀態(tài)轉(zhuǎn)移概率執(zhí)行綁定在當(dāng)前節(jié)點(diǎn)上的動(dòng)作事件,并執(zhí)行與動(dòng)作事件對(duì)應(yīng)的消息模板事件,由于馬爾可夫鏈中離散事件隨機(jī)性,使得生成的語(yǔ)料具有較好的隨機(jī)性和多樣性。
其中,馬爾可夫鏈中節(jié)點(diǎn)之間的狀態(tài)轉(zhuǎn)移概率可以是預(yù)先設(shè)定的。
在具體的執(zhí)行過(guò)程中,可以首先將馬爾可夫鏈中的開始狀態(tài)的節(jié)點(diǎn)作為起始節(jié)點(diǎn),進(jìn)而依據(jù)預(yù)先設(shè)定的狀態(tài)轉(zhuǎn)移概率確定當(dāng)前節(jié)點(diǎn),在對(duì)每條路徑遍歷的過(guò)程中,每次依據(jù)預(yù)先設(shè)定的狀態(tài)轉(zhuǎn)移概率所確定的當(dāng)前節(jié)點(diǎn)可以不同或者相同。
參見(jiàn)圖2,圖2為本發(fā)明實(shí)施例中馬爾可夫鏈的結(jié)構(gòu)示意圖,其中,包括:節(jié)點(diǎn)模塊21、狀態(tài)轉(zhuǎn)移概率22、起始節(jié)點(diǎn)23以及終止節(jié)點(diǎn)23,每個(gè)節(jié)點(diǎn)模塊21中包括有預(yù)先綁定的動(dòng)作事件。
s35:執(zhí)行綁定在當(dāng)前節(jié)點(diǎn)上的動(dòng)作事件,并執(zhí)行與動(dòng)作事件對(duì)應(yīng)的消息模板事件。
其中,當(dāng)前節(jié)點(diǎn)上的動(dòng)作事件可以是預(yù)先綁定在馬爾可夫鏈中的節(jié)點(diǎn)上的,且與動(dòng)作事件對(duì)應(yīng)的消息模板事件也可以是預(yù)先生成的。
在本發(fā)明的實(shí)施例中,動(dòng)作事件可以例如為方法函數(shù),與動(dòng)作事件對(duì)應(yīng)的消息模板事件可以例如為方法函數(shù)的應(yīng)答,可以通過(guò)運(yùn)行源程序代碼來(lái)觸發(fā)執(zhí)行對(duì)應(yīng)的消息模板事件,進(jìn)而通過(guò)運(yùn)行源程序代碼來(lái)執(zhí)行基于多輪交互的語(yǔ)料生成方法,在方法執(zhí)行時(shí),基于當(dāng)前節(jié)點(diǎn)的標(biāo)識(shí)調(diào)用預(yù)先綁定的方法函數(shù)觸發(fā)執(zhí)行該當(dāng)前節(jié)點(diǎn)上的動(dòng)作事件,算法實(shí)現(xiàn)簡(jiǎn)便。
可選地,動(dòng)作事件包括:用于生成用戶側(cè)語(yǔ)料的用戶動(dòng)作事件和用于生成系統(tǒng)側(cè)語(yǔ)料的系統(tǒng)動(dòng)作事件,參見(jiàn)圖2中,節(jié)點(diǎn)模塊21中的用戶動(dòng)作事件可以用u表示,系統(tǒng)動(dòng)作事件可以用g表示,具體地,用戶動(dòng)作事件可以例如為,request_create(date,event),表征用戶側(cè)請(qǐng)求創(chuàng)建日程,系統(tǒng)動(dòng)作事件可以例如為,ask_time(),表征系統(tǒng)側(cè)詢問(wèn)請(qǐng)求創(chuàng)建日程的時(shí)間,其它節(jié)點(diǎn)模塊中的動(dòng)作事件如圖2中所示,對(duì)此不作限制。
執(zhí)行預(yù)先綁定在當(dāng)前節(jié)點(diǎn)上的動(dòng)作事件,并執(zhí)行與動(dòng)作事件對(duì)應(yīng)的消息模板事件,包括:從用戶動(dòng)作事件對(duì)應(yīng)的多個(gè)消息模板事件中,隨機(jī)確定第一目標(biāo)消息模板事件;在用戶動(dòng)作事件攜帶有第一參數(shù)時(shí),從第一目標(biāo)消息模板事件所攜帶的多個(gè)參數(shù)取值中,隨機(jī)確定第一參數(shù)的取值;基于第一參數(shù)的取值執(zhí)行第一目標(biāo)消息模板事件;從系統(tǒng)動(dòng)作事件對(duì)應(yīng)的多個(gè)消息模板事件中,隨機(jī)確定第二目標(biāo)消息模板事件;在系統(tǒng)動(dòng)作事件攜帶有第二參數(shù)時(shí),將第一參數(shù)的取值作為第二參數(shù)的取值;基于第二參數(shù)的取值執(zhí)行第二目標(biāo)消息模板事件。
可選地,在用戶動(dòng)作事件未攜帶第一參數(shù)時(shí),直接執(zhí)行第一目標(biāo)消息模板事件;或者,在系統(tǒng)動(dòng)作事件未攜帶第二參數(shù)時(shí),直接執(zhí)行第二目標(biāo)消息模板事件。
通過(guò)分別模擬用戶側(cè)和系統(tǒng)側(cè)的動(dòng)作事件,實(shí)現(xiàn)了生成基于多輪交互中的語(yǔ)料。
在本發(fā)明的實(shí)施例中,通過(guò)執(zhí)行綁定在當(dāng)前節(jié)點(diǎn)上的動(dòng)作事件,并執(zhí)行與動(dòng)作事件對(duì)應(yīng)的消息模板事件,而不需要真人參與,由于是由計(jì)算機(jī)程序直接觸發(fā)執(zhí)行的,因此,能夠有效降低多輪交互中的語(yǔ)料生成的人力成本。
s36:依據(jù)狀態(tài)轉(zhuǎn)移概率,執(zhí)行馬爾可夫鏈中的部分節(jié)點(diǎn)上的動(dòng)作事件及對(duì)應(yīng)的消息模板事件,以生成多輪交互的語(yǔ)料。
在本發(fā)明的實(shí)施例中,生成的多輪交互的語(yǔ)料示意可以如下:
對(duì)話1:
u:新建一個(gè)明天的日程,回訪客戶張三。
g:請(qǐng)問(wèn)幾點(diǎn)?
u:上午十點(diǎn)。
g:已創(chuàng)建明天上午十點(diǎn)的日程:回訪客戶張三。
u:地址是中關(guān)村大廈1201。
g:已將日程地點(diǎn)設(shè)為中關(guān)村大廈1201。
對(duì)話2:
u:下周一公司季度總結(jié)會(huì),時(shí)間下午四點(diǎn)。
g:下周一下午四點(diǎn),公司季度總結(jié)會(huì),已創(chuàng)建日程。
u:不對(duì),時(shí)間是下午三點(diǎn)。
g:已將日程時(shí)間改為下午三點(diǎn)。
本實(shí)施例中,通過(guò)設(shè)置用于發(fā)送文本消息的第一類動(dòng)作事件,以及用于調(diào)用應(yīng)用程序api接口再發(fā)送文本消息的第二類動(dòng)作事件,且通過(guò)預(yù)先基于多輪交互的屬性特征,確定多輪交互中可能的動(dòng)作事件及對(duì)應(yīng)的消息模板事件,能夠結(jié)合線上實(shí)際交互狀況模擬多輪交互中的動(dòng)作事件,有效保障了基于多輪交互中語(yǔ)料生成的精準(zhǔn)度,具有較強(qiáng)的參考性。通過(guò)依據(jù)狀態(tài)轉(zhuǎn)移概率,執(zhí)行馬爾可夫鏈中的部分節(jié)點(diǎn)上的動(dòng)作事件及對(duì)應(yīng)的消息模板事件,以生成多輪交互的語(yǔ)料,由于是由計(jì)算機(jī)程序直接觸發(fā)執(zhí)行生成語(yǔ)料,因此,能夠有效降低多輪交互中的語(yǔ)料生成的人力成本,并且,由于馬爾可夫鏈中離散事件隨機(jī)性,使得生成的語(yǔ)料具有較好的隨機(jī)性和多樣性。
圖4是本發(fā)明一實(shí)施例提出的基于多輪交互的語(yǔ)料生成裝置的結(jié)構(gòu)示意圖。
參見(jiàn)圖4,該裝置400包括:第一確定模塊401、執(zhí)行模塊402,以及生成模塊403,其中,
第一確定模塊401,用于依據(jù)馬爾可夫鏈中節(jié)點(diǎn)之間的狀態(tài)轉(zhuǎn)移概率確定當(dāng)前節(jié)點(diǎn)。
執(zhí)行模塊402,用于執(zhí)行綁定在當(dāng)前節(jié)點(diǎn)上的動(dòng)作事件,并執(zhí)行與動(dòng)作事件對(duì)應(yīng)的消息模板事件。
可選地,一些實(shí)施例中,動(dòng)作事件包括:用于生成用戶側(cè)語(yǔ)料的用戶動(dòng)作事件和用于生成系統(tǒng)側(cè)語(yǔ)料的系統(tǒng)動(dòng)作事件,參見(jiàn)圖5,執(zhí)行模塊402,包括:
第一消息模板事件確定子模塊4021,用于從用戶動(dòng)作事件對(duì)應(yīng)的多個(gè)消息模板事件中,隨機(jī)確定第一目標(biāo)消息模板事件。
第一參數(shù)值確定子模塊4022,用于在用戶動(dòng)作事件攜帶有第一參數(shù)時(shí),從第一目標(biāo)消息模板事件所攜帶的多個(gè)參數(shù)取值中,隨機(jī)確定第一參數(shù)的取值。
第一執(zhí)行子模塊4023,用于基于第一參數(shù)的取值執(zhí)行第一目標(biāo)消息模板事件。
第二消息模板事件確定子模塊4024,用于從系統(tǒng)動(dòng)作事件對(duì)應(yīng)的多個(gè)消息模板事件中,隨機(jī)確定第二目標(biāo)消息模板事件。
第二參數(shù)值確定子模塊4025,用于在系統(tǒng)動(dòng)作事件攜帶有第二參數(shù)時(shí),將第一參數(shù)的取值作為第二參數(shù)的取值。
第二執(zhí)行子模塊4026,用于基于第二參數(shù)的取值執(zhí)行第二目標(biāo)消息模板事件。
可選地,第一執(zhí)行子模塊4023,還用于在用戶動(dòng)作事件未攜帶第一參數(shù)時(shí),直接執(zhí)行第一目標(biāo)消息模板事件。
第二執(zhí)行子模塊4026,還用于在系統(tǒng)動(dòng)作事件未攜帶第二參數(shù)時(shí),直接執(zhí)行第二目標(biāo)消息模板事件。
可選地,一些實(shí)施例中,參見(jiàn)圖5,該裝置400還包括:
配置模塊404,用于根據(jù)外部指令對(duì)馬爾可夫鏈中節(jié)點(diǎn)之間的狀態(tài)轉(zhuǎn)移概率進(jìn)行配置。
第二確定模塊405,用于基于多輪交互的屬性特征,確定多輪交互中可能的動(dòng)作事件及對(duì)應(yīng)的消息模板事件。
綁定模塊406,用于將可能的動(dòng)作事件綁定至馬爾可夫鏈中的節(jié)點(diǎn)上。
生成模塊403,用于依據(jù)狀態(tài)轉(zhuǎn)移概率,執(zhí)行馬爾可夫鏈中的部分節(jié)點(diǎn)上的動(dòng)作事件及對(duì)應(yīng)的消息模板事件,以生成多輪交互的語(yǔ)料。
可選地,用戶動(dòng)作事件/系統(tǒng)動(dòng)作事件包括:用于發(fā)送文本消息的第一類動(dòng)作事件,以及用于調(diào)用應(yīng)用程序api接口再發(fā)送文本消息的第二類動(dòng)作事件。
需要說(shuō)明的是,前述圖1-圖3實(shí)施例中對(duì)基于多輪交互的語(yǔ)料生成方法實(shí)施例的解釋說(shuō)明也適用于該實(shí)施例的基于多輪交互的語(yǔ)料生成裝置400,其實(shí)現(xiàn)原理類似,此處不再贅述。
本實(shí)施例中,通過(guò)依據(jù)狀態(tài)轉(zhuǎn)移概率,執(zhí)行馬爾可夫鏈中的部分節(jié)點(diǎn)上的動(dòng)作事件及對(duì)應(yīng)的消息模板事件,以生成多輪交互的語(yǔ)料,由于是由計(jì)算機(jī)程序直接觸發(fā)執(zhí)行生成語(yǔ)料,因此,能夠有效降低多輪交互中的語(yǔ)料生成的人力成本,并且,由于馬爾可夫鏈中離散事件隨機(jī)性,使得生成的語(yǔ)料具有較好的隨機(jī)性和多樣性。
需要說(shuō)明的是,在本發(fā)明的描述中,術(shù)語(yǔ)“第一”、“第二”等僅用于描述目的,而不能理解為指示或暗示相對(duì)重要性。此外,在本發(fā)明的描述中,除非另有說(shuō)明,“多個(gè)”的含義是兩個(gè)或兩個(gè)以上。
流程圖中或在此以其他方式描述的任何過(guò)程或方法描述可以被理解為,表示包括一個(gè)或更多個(gè)用于實(shí)現(xiàn)特定邏輯功能或過(guò)程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本發(fā)明的優(yōu)選實(shí)施方式的范圍包括另外的實(shí)現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時(shí)的方式或按相反的順序,來(lái)執(zhí)行功能,這應(yīng)被本發(fā)明的實(shí)施例所屬技術(shù)領(lǐng)域的技術(shù)人員所理解。
應(yīng)當(dāng)理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來(lái)實(shí)現(xiàn)。在上述實(shí)施方式中,多個(gè)步驟或方法可以用存儲(chǔ)在存儲(chǔ)器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來(lái)實(shí)現(xiàn)。例如,如果用硬件來(lái)實(shí)現(xiàn),和在另一實(shí)施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項(xiàng)或他們的組合來(lái)實(shí)現(xiàn):具有用于對(duì)數(shù)據(jù)信號(hào)實(shí)現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(pga),現(xiàn)場(chǎng)可編程門陣列(fpga)等。
本技術(shù)領(lǐng)域的普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法攜帶的全部或部分步驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),包括方法實(shí)施例的步驟之一或其組合。
此外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理模塊中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)模塊中。上述集成的模塊既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),也可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。
上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或光盤等。
在本說(shuō)明書的描述中,參考術(shù)語(yǔ)“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說(shuō)明書中,對(duì)上述術(shù)語(yǔ)的示意性表述不一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。
盡管上面已經(jīng)示出和描述了本發(fā)明的實(shí)施例,可以理解的是,上述實(shí)施例是示例性的,不能理解為對(duì)本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的范圍內(nèi)可以對(duì)上述實(shí)施例進(jìn)行變化、修改、替換和變型。