對(duì)話處理方法和對(duì)話管理系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供一種對(duì)話處理方法和對(duì)話管理系統(tǒng)。所述方法包括:獲取與任務(wù)相關(guān)的用戶需求數(shù)據(jù);根據(jù)所述用戶需求數(shù)據(jù)和預(yù)先配置的與所述任務(wù)相關(guān)的任務(wù)參數(shù)更新用戶的對(duì)話狀態(tài);根據(jù)所述對(duì)話狀態(tài)生成至少一個(gè)候選動(dòng)作數(shù)據(jù);根據(jù)所述至少一個(gè)候選動(dòng)作數(shù)據(jù)生成回應(yīng)文本數(shù)據(jù)。
【專利說(shuō)明】對(duì)話處理方法和對(duì)話管理系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)的人機(jī)交互,尤其涉及一種對(duì)話處理方法和對(duì)話管理系統(tǒng)。
【背景技術(shù)】
[0002]傳統(tǒng)的任務(wù)型對(duì)話系統(tǒng)包括語(yǔ)音識(shí)別模塊、自然語(yǔ)言理解模塊、對(duì)話管理模塊、后端數(shù)據(jù)處理模塊、自然語(yǔ)言生成模塊以及語(yǔ)音合成模塊。在構(gòu)建一個(gè)面向具體任務(wù)的對(duì)話系統(tǒng)時(shí),除了語(yǔ)音識(shí)別模塊和語(yǔ)音合成模塊之外,其他四個(gè)模塊都需要根據(jù)具體應(yīng)用任務(wù)定制化開(kāi)發(fā)。
[0003]關(guān)于任務(wù)的定制化開(kāi)發(fā),目前主要有兩種方式:
[0004]1、根據(jù)具體任務(wù)的業(yè)務(wù)邏輯重新開(kāi)發(fā)各個(gè)模塊。以這種方式定制的系統(tǒng)一般都能很好滿足具體任務(wù)需求,但是開(kāi)發(fā)量大。
[0005]2、將對(duì)話系統(tǒng)狀態(tài)表示和系統(tǒng)動(dòng)作抽象化,使用增強(qiáng)學(xué)習(xí)的方法,通過(guò)與環(huán)境交互學(xué)習(xí)來(lái)構(gòu)建對(duì)話系統(tǒng)。以這種方式定制的系統(tǒng)需要大量的對(duì)話語(yǔ)料來(lái)完善對(duì)話策略,實(shí)現(xiàn)難度也比較大,并且學(xué)習(xí)到的策略可理解性差,系統(tǒng)可控度低。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的在于提供一種對(duì)話處理技術(shù),通過(guò)在對(duì)話系統(tǒng)中對(duì)涉及任務(wù)的對(duì)話服務(wù)進(jìn)行定制,提高對(duì)話管理系統(tǒng)的可擴(kuò)展性。
[0007]根據(jù)本發(fā)明的一方面,提供一種對(duì)話處理方法,所述方法包括:獲取與任務(wù)相關(guān)的用戶需求數(shù)據(jù);根據(jù)所述用戶需求數(shù)據(jù)和預(yù)先配置的與所述任務(wù)相關(guān)的任務(wù)參數(shù)更新用戶的對(duì)話狀態(tài);根據(jù)所述對(duì)話狀態(tài)生成至少一個(gè)候選動(dòng)作數(shù)據(jù);根據(jù)所述至少一個(gè)候選動(dòng)作數(shù)據(jù)生成回應(yīng)文本數(shù)據(jù)。
[0008]根據(jù)本發(fā)明的另一方面,提供一種對(duì)話管理系統(tǒng),所述系統(tǒng)包括:需求獲取裝置,用于獲取與任務(wù)相關(guān)的用戶需求數(shù)據(jù);對(duì)話狀態(tài)更新裝置,用于根據(jù)所述需求獲取裝置獲取的用戶需求數(shù)據(jù)和預(yù)先配置的與所述任務(wù)相關(guān)的任務(wù)參數(shù)更新用戶的對(duì)話狀態(tài);動(dòng)作生成裝置,用于根據(jù)所述對(duì)話狀態(tài)更新裝置更新的對(duì)話狀態(tài)生成至少一個(gè)候選動(dòng)作數(shù)據(jù);文本生成裝置,用于根據(jù)所述動(dòng)作生成裝置生成的至少一個(gè)候選動(dòng)作數(shù)據(jù)生成回應(yīng)文本數(shù)據(jù)。
[0009]本發(fā)明的對(duì)話處理方法和對(duì)話管理系統(tǒng)可在對(duì)話系統(tǒng)中對(duì)涉及具體任務(wù)的對(duì)話服務(wù)進(jìn)行定制,并且基于對(duì)話管理系統(tǒng)通過(guò)定制的對(duì)話服務(wù)進(jìn)行對(duì)話交互處理,從而在引入新任務(wù)的對(duì)話服務(wù)時(shí),僅需要配置對(duì)話狀態(tài)參數(shù)和處理規(guī)則,不需要重新開(kāi)發(fā)對(duì)話服務(wù),大大地提高了所述對(duì)話管理系統(tǒng)的可擴(kuò)展性,并且節(jié)省研發(fā)、部署的成本。
【專利附圖】
【附圖說(shuō)明】
[0010]圖1示出應(yīng)用了根據(jù)本發(fā)明的示例性實(shí)施例的對(duì)話管理系統(tǒng)的對(duì)話服務(wù)定制的總體框架;
[0011]圖2是示出根據(jù)本發(fā)明的示例性實(shí)施例的對(duì)話處理方法的流程圖;
[0012]圖3示出根據(jù)本發(fā)明的示例性實(shí)施例的對(duì)話參數(shù)的示例;
[0013]圖4示出根據(jù)本發(fā)明的示例性實(shí)施例的HTTP數(shù)據(jù)訪問(wèn)的訪問(wèn)配置的示例;
[0014]圖5示出根據(jù)本發(fā)明的示例性實(shí)施例的數(shù)據(jù)庫(kù)訪問(wèn)的訪問(wèn)配置的示例;
[0015]圖6示出根據(jù)本發(fā)明的示例性實(shí)施例的對(duì)話參數(shù)的屬性配置的示例;
[0016]圖7是示出根據(jù)本發(fā)明的示例性實(shí)施例的對(duì)話管理系統(tǒng)的邏輯框圖。
【具體實(shí)施方式】
[0017]本發(fā)明的總體構(gòu)思是,提供一種涉及任務(wù)的對(duì)話管理系統(tǒng),通過(guò)對(duì)涉及具體任務(wù)的業(yè)務(wù)邏輯功能模塊進(jìn)行任務(wù)配置來(lái)實(shí)現(xiàn)涉及具體任務(wù)對(duì)話管理,從而可利用所述對(duì)話管理系統(tǒng)來(lái)實(shí)現(xiàn)新任務(wù)的對(duì)話定制,而不需要重新開(kāi)發(fā)涉及所述新任務(wù)的對(duì)話服務(wù),允許用戶快速地應(yīng)用定制的對(duì)話管理系統(tǒng)。另一方面,在對(duì)話交互的處理中,可通過(guò)所述對(duì)話管理系統(tǒng)來(lái)管理用戶的對(duì)話狀態(tài),并且根據(jù)已有的任務(wù)配置來(lái)生成回應(yīng)文本。
[0018]這里所說(shuō)的任務(wù)配置包括涉及任務(wù)的對(duì)話狀態(tài)的參數(shù)配置和涉及任務(wù)的業(yè)務(wù)規(guī)則配置。
[0019]下面結(jié)合附圖詳細(xì)地描述根據(jù)本發(fā)明的示例性實(shí)施例的對(duì)話處理方法以及對(duì)話管理系統(tǒng)。
[0020]為了直觀地闡述本發(fā)明涉及的數(shù)據(jù)、規(guī)則以及本發(fā)明的思想,在本說(shuō)明書(shū)中,僅以機(jī)票預(yù)訂的任務(wù)為示例來(lái)具體描述服務(wù)定制、對(duì)話交互的處理以及對(duì)話管理。本領(lǐng)域的普通技術(shù)人員可以理解,本發(fā)明的應(yīng)用不限于機(jī)票預(yù)訂,而是適用于諸如就餐預(yù)訂、酒店預(yù)訂、電影票預(yù)訂等各種涉及多輪交互的對(duì)話任務(wù)。
[0021]圖1示出應(yīng)用了根據(jù)本發(fā)明的示例性實(shí)施例的對(duì)話管理系統(tǒng)的對(duì)話服務(wù)定制的總體框架。本發(fā)明涉及的對(duì)話服務(wù)定制主要涉及塊130?160。
[0022]參照?qǐng)D1,塊110用于接收用戶輸入的自然語(yǔ)言表達(dá)的用戶需求文本。塊120用于通過(guò)自然語(yǔ)言解析獲得所述用戶需求文本的解析結(jié)果。
[0023]此后,塊130用于將所述解析結(jié)果與環(huán)境特征參數(shù)結(jié)合進(jìn)行用戶的對(duì)話狀態(tài)更新。該模塊主要用于記錄和維護(hù)對(duì)話管理系統(tǒng)的狀態(tài)。
[0024]例如,用戶說(shuō)“我想定去上海的機(jī)票”,在對(duì)所述文本進(jìn)行自然語(yǔ)言解析后可以得到用戶意圖(即任務(wù))為“訂機(jī)票”。其次,抽取對(duì)話時(shí)的環(huán)境信息,包括當(dāng)前時(shí)間、用戶所在地、歷史動(dòng)作等信息。
[0025]在進(jìn)行對(duì)話定制時(shí),可預(yù)先配置用于表示該任務(wù)涉及的任務(wù)參數(shù)的狀態(tài)的槽位列表。例如,在定制“訂機(jī)票”服務(wù)時(shí),涉及到的槽位包括出發(fā)地、目的地、出發(fā)日期、出發(fā)時(shí)間、座位類型、飛機(jī)類型、機(jī)票價(jià)格、航空公司、出發(fā)機(jī)場(chǎng)、到達(dá)機(jī)場(chǎng)等。此外,還可配置與所述任務(wù)相關(guān)的情景先驗(yàn)信息,如時(shí)間先驗(yàn)信息(包括哪個(gè)月、星期幾、幾點(diǎn)鐘等)、地域先驗(yàn)信息(包括是否工業(yè)城市、是否旅游區(qū)、城市規(guī)模類型等)以及歷史動(dòng)作信息(如上次詢問(wèn)到現(xiàn)在的交互輪數(shù)、上次確認(rèn)到現(xiàn)在的交互輪數(shù)等)。
[0026]可選地,通過(guò)多個(gè)槽位表示所述與所述任務(wù)相關(guān)的任務(wù)參數(shù)的狀態(tài),將根據(jù)情景先驗(yàn)信息生成的對(duì)話參數(shù)分別表示為特征向量。
[0027]圖3示出根據(jù)本發(fā)明的示例性實(shí)施例的對(duì)話參數(shù)的示例。其中,通過(guò)多個(gè)屬性槽位來(lái)表示任務(wù)參數(shù)的狀態(tài),所述槽位的狀態(tài)可以是空、默認(rèn)值、多值、錯(cuò)誤值和正常值之一;通過(guò)特征向量來(lái)表示時(shí)間先驗(yàn)信息、地獄先驗(yàn)信息以及歷史動(dòng)作信息。
[0028]此后,塊140用于對(duì)更新的對(duì)話狀態(tài)進(jìn)行檢查,并生成至少一個(gè)候選動(dòng)作數(shù)據(jù)
(140)。該模塊的主要目的是基于當(dāng)前的對(duì)話狀態(tài),從所有系統(tǒng)動(dòng)作中僅過(guò)濾出當(dāng)前有效的系統(tǒng)動(dòng)作,減少系統(tǒng)動(dòng)作決策階段錯(cuò)誤率,輸出候選動(dòng)作列表。
[0029]該模塊進(jìn)行的檢查可包括,但不限于,槽位默認(rèn)值檢查、需求細(xì)化檢查(包括參數(shù)間的屬性依賴檢查和參數(shù)間的屬性觸發(fā)檢查)、參數(shù)值確認(rèn)檢查以及參數(shù)澄清。以下將具體描述所述幾種檢查以及在對(duì)話定制中對(duì)所述檢查的規(guī)則設(shè)置。
[0030]槽位默認(rèn)倌.檢杳
[0031]針對(duì)特定的任務(wù),在一定的對(duì)話狀態(tài)下,一些特征/屬性可以取默認(rèn)值,值的來(lái)源可以是任務(wù)定制,也可以來(lái)自于用戶模型(如用戶檔案和交互歷史等)。
[0032]通過(guò)檢查任務(wù)定制的條件或者用戶模型信息,如果有滿足條件的默認(rèn)值,則生成候選槽值默認(rèn)動(dòng)作。例如,如果一個(gè)用戶經(jīng)常預(yù)定經(jīng)濟(jì)艙機(jī)票,則新開(kāi)啟一次訂票對(duì)話時(shí),可以生成一個(gè)機(jī)票座位類型為“經(jīng)濟(jì)艙”的槽值默認(rèn)動(dòng)作。
[0033]在進(jìn)行服務(wù)定制時(shí),對(duì)于需要該動(dòng)作的應(yīng)用任務(wù),開(kāi)發(fā)者可以進(jìn)行默認(rèn)值的配置和用戶模型服務(wù)的配置,配置缺省表示不使用這類動(dòng)作。默認(rèn)值配置包含目標(biāo)槽位、默認(rèn)值、和默認(rèn)條件。如訂機(jī)票任務(wù)中,可以配置:
[0034]flight fIight_leave_date [today]TARGET = flight_status
[0035](查詢航班狀態(tài)時(shí),將出發(fā)日期默認(rèn)為今天)
[0036]可配置用戶模型服務(wù)的接口(包含服務(wù)的IP地址和端口),以通過(guò)所述用戶模型來(lái)進(jìn)行槽位默認(rèn)值的檢查。例如:
[0037]user—model—ip: 10.81.14.98
[0038]user—model—port:6101
[0039]需求細(xì)化檢杳
[0040]為了完成目標(biāo)任務(wù),有時(shí)需要主動(dòng)向用戶詢問(wèn)必要的特征信息。
[0041]例如,為了完成機(jī)票預(yù)訂,用戶提供了目的地,就需要想用戶詢問(wèn)出發(fā)地和出發(fā)日期。在當(dāng)前狀態(tài)下,可通過(guò)屬性依賴檢查和屬性觸發(fā)檢查來(lái)對(duì)用戶的需求進(jìn)行細(xì)化處理。
[0042]屬性依賴是指目標(biāo)任務(wù)的完成依賴的參數(shù)(槽位),如機(jī)票的查詢可以依賴于出發(fā)地、目的地、出發(fā)日期,機(jī)票價(jià)格可以依賴于航班號(hào)和座位類型等,應(yīng)用開(kāi)發(fā)者可方便地預(yù)先配置好這些依賴信息。屬性觸發(fā)指的是對(duì)于有連續(xù)性需求的用戶,滿足一個(gè)需求后,為完成下一個(gè)需求,需要主動(dòng)去詢問(wèn)下個(gè)需求依賴的參數(shù)(槽位)。例如,在機(jī)票和酒店的混合任務(wù)中,用戶完成機(jī)票預(yù)訂后,對(duì)話服務(wù)可嘗試主動(dòng)詢問(wèn)用戶希望預(yù)定目的地哪里的酒店。
[0043]在進(jìn)行服務(wù)定制時(shí),應(yīng)用開(kāi)發(fā)者可根據(jù)需求來(lái)配置屬性依賴和屬性觸發(fā),配置缺省表示不使用這類動(dòng)作。例如,航班價(jià)格查詢的屬性依賴關(guān)系可包括:
[0044]flight flight_price flight_num|flight_seat_grade
[0045](航班價(jià)格依賴于航班號(hào)和座位類型)
[0046]flight flight_price flight_origin|flight_destinat1n|flight_leave_date Iflight_seat_grade
[0047](航班價(jià)格依賴于出發(fā)地、目的地、出發(fā)日期、座位類型)
[0048]屬性觸發(fā)關(guān)系:
[0049]flight END hotel = hotel_place
[0050](機(jī)票查詢結(jié)束,觸發(fā)酒店地點(diǎn)詢問(wèn))
[0051]參數(shù)倌.確認(rèn)檢杳
[0052]在接收到的某個(gè)槽位值的置信度不是很高時(shí),需要向用戶確認(rèn)是否是該值。需要進(jìn)行確認(rèn)的參數(shù)包括自然語(yǔ)言處理輸出的低置信度槽位值、用戶模型推薦的槽位值等。
[0053]因此,可查看當(dāng)前的對(duì)話狀態(tài)是否包括低置信度的槽位或用戶模型推薦的槽位;如果包括低置信度的槽位或用戶模型推薦的槽位,則生成參數(shù)值確認(rèn)的候選動(dòng)作數(shù)據(jù)。
[0054]參數(shù)澄清檢杳
[0055]所述參數(shù)澄清是指在當(dāng)前的對(duì)話狀態(tài)中包含歧義的時(shí)候,對(duì)話服務(wù)主動(dòng)詢問(wèn)用戶涉及參數(shù)的具體意義。這類問(wèn)題主要涉及一個(gè)值可能具有多種含義的情況或某個(gè)槽位可能去多個(gè)值的情況。例如,對(duì)話服務(wù)詢問(wèn)“您想訂從哪到哪的機(jī)票? ”,用戶回答“北京”,此時(shí)北京可能是出發(fā)地也可能是目的地,需要向用戶澄清;再例如,用戶說(shuō)“我想定去廣東的機(jī)票”,由于在廣東多個(gè)城市有飛機(jī)場(chǎng),所以需要詢問(wèn)用戶具體想到哪個(gè)城市。
[0056]因此,在參數(shù)澄清檢查處理中,檢查當(dāng)前用戶的對(duì)話狀態(tài)是否包含歧義槽或者歧義值。如果包含歧義槽或者歧義值,則生成澄清候選動(dòng)作。
[0057]此后,優(yōu)選地,還配置塊150,用于根據(jù)所述用戶的對(duì)話狀態(tài)和決策規(guī)則,從所述至少一個(gè)候選動(dòng)作數(shù)據(jù)選擇優(yōu)選動(dòng)作數(shù)據(jù)。
[0058]在塊140生成多個(gè)候選動(dòng)作數(shù)據(jù)的情況下,可通過(guò)預(yù)先設(shè)置的決策規(guī)則從所述多個(gè)候選動(dòng)作數(shù)據(jù)中選取一個(gè)作為確定的優(yōu)選動(dòng)作數(shù)據(jù)。
[0059]所述決策規(guī)則可以是預(yù)定的動(dòng)作優(yōu)先級(jí)或預(yù)設(shè)的動(dòng)作決策模型。
[0060]例如,可預(yù)先設(shè)置按照以下(優(yōu)先級(jí)高到低的)順序選擇優(yōu)選動(dòng)作:澄清動(dòng)作、確認(rèn)動(dòng)作、槽位值默認(rèn)動(dòng)作、需求細(xì)化動(dòng)作(屬性依賴或?qū)傩杂|發(fā))。
[0061]另一方面,可通過(guò)使用訓(xùn)練樣本訓(xùn)練出的動(dòng)作決策模型為所述多個(gè)候選動(dòng)作計(jì)算特征函數(shù)的值,選擇計(jì)算的特征函數(shù)的值最高的候選動(dòng)作數(shù)據(jù)作為所述優(yōu)選動(dòng)作數(shù)據(jù)。
[0062]塊160用于根據(jù)所述優(yōu)選動(dòng)作數(shù)據(jù)生成回應(yīng)文本數(shù)據(jù),并且將所述回應(yīng)文本數(shù)據(jù)返回給用戶。其中,可對(duì)確定為默認(rèn)動(dòng)作的優(yōu)選動(dòng)作賦予默認(rèn)值,根據(jù)所述優(yōu)選動(dòng)作數(shù)據(jù)訪問(wèn)數(shù)據(jù)源調(diào)取所需的數(shù)據(jù),以生成所述回應(yīng)文本數(shù)據(jù)。
[0063]這里,所述數(shù)據(jù)源可以是本地?cái)?shù)據(jù)源、HTTP網(wǎng)絡(luò)數(shù)據(jù)源和/或數(shù)據(jù)庫(kù)數(shù)據(jù)源。
[0064]在服務(wù)定制中,開(kāi)發(fā)者可根據(jù)任務(wù)的需要以及資源狀態(tài)選擇適合的數(shù)據(jù)訪問(wèn)方式或多種訪問(wèn)方式的組合。
[0065]例如,可通過(guò)本地文件注冊(cè)的方式將資源文件加入對(duì)話管理系統(tǒng),注冊(cè)文件每行注冊(cè)一個(gè)本地資源文件,格式示例如下:
[0066]flight:flight, data flight_num|flight_origin|fIight_destinat1n|…
[0067](領(lǐng)域名:數(shù)據(jù)文件名\t數(shù)據(jù)文件每行格式)
[0068]HTTP網(wǎng)絡(luò)數(shù)據(jù)源的訪問(wèn)一般僅支持JSON格式數(shù)據(jù)返回,在配置時(shí)需注明HTTP服務(wù)的域名和參數(shù)列表格式以及結(jié)果JSON數(shù)據(jù)格式。例如,圖4示出根據(jù)本發(fā)明的示例性實(shí)施例的HTTP數(shù)據(jù)訪問(wèn)的訪問(wèn)配置的示例。其中,任務(wù)類型為機(jī)票預(yù)訂,網(wǎng)址前綴為url_domain:rec.baidu.com/travel/ctrip/domestic_f light ?,參數(shù)格式為 deity =[fIight_origin] &acity = [fIight_destinat1n] &date = [flight_leave_date],并且制定數(shù)據(jù)格式為JSON。圖5示出根據(jù)本發(fā)明的示例性實(shí)施例的數(shù)據(jù)庫(kù)訪問(wèn)的訪問(wèn)配置的示例,在此不再詳細(xì)描述其中的數(shù)據(jù)字段。
[0069]此外,生成的回應(yīng)文本數(shù)據(jù)可以是結(jié)果摘要、目標(biāo)結(jié)果和/或交互問(wèn)題文本。結(jié)果摘要是對(duì)多條DATA返回?cái)?shù)據(jù)的摘要展示,如訂機(jī)票任務(wù)中某天從北京到上海的機(jī)票有20班,結(jié)果摘要就會(huì)對(duì)這些結(jié)果做重要信息匯總展示。目標(biāo)結(jié)果是有確定槽位需求時(shí),精準(zhǔn)信息結(jié)果表示的生成,如用戶問(wèn)從北京到上海便宜的飛機(jī)多少錢,此時(shí)給出具體的數(shù)據(jù)。交互問(wèn)題指的是需求細(xì)化、值確認(rèn)、澄清時(shí),系統(tǒng)對(duì)用戶的主動(dòng)問(wèn)題生成,如詢問(wèn)用戶“您想什么時(shí)候觸發(fā)? ”,“您是想定經(jīng)濟(jì)艙機(jī)票嗎? ”,“您的目的地具體是哪個(gè)?如廣州、深圳、東莞
A-A- ”
寺〇 O
[0070]在所述總體框架中,也可不配置塊150,而是由塊160根據(jù)生成的任一候選動(dòng)作數(shù)據(jù)生成所述回應(yīng)文本數(shù)據(jù)。
[0071]此外,優(yōu)選地,在所述總體框架中,還可配置沖突檢查和/或數(shù)值推算(塊170)。所述塊170可用于對(duì)塊2中要更新的對(duì)話狀態(tài)數(shù)據(jù)進(jìn)行沖突檢查和/或數(shù)值推算,并且/或者由于對(duì)塊160中通過(guò)數(shù)據(jù)源訪問(wèn)調(diào)取的數(shù)據(jù)進(jìn)行沖突檢查和/或數(shù)值推算。
[0072]下面將參照?qǐng)D6具體說(shuō)明沖突檢查和/或數(shù)值推算的規(guī)則設(shè)置和定制。圖6示出根據(jù)本發(fā)明的示例性實(shí)施例的對(duì)話參數(shù)的屬性配置的示例。
[0073]在塊170,可配置以下數(shù)據(jù)沖突中的至少一個(gè):對(duì)話參數(shù)超出值域、對(duì)話參數(shù)間發(fā)生隸屬關(guān)系沖突以及對(duì)話參數(shù)間發(fā)生參數(shù)值比較關(guān)系沖突。
[0074]軺出倌域
[0075]超出值域是指槽位值(特征值)超出了預(yù)定義的取值范圍。例如,在訂機(jī)票任務(wù)中,用戶說(shuō)“預(yù)定去濮陽(yáng)的飛機(jī)票”;但由于河南濮陽(yáng)沒(méi)有飛機(jī)場(chǎng),目的地城市超出了取值范圍。
[0076]在服務(wù)定制過(guò)程中,可定義各槽位的值域。例如,如圖6所示,將flight_origin(航班出發(fā)地)的取值范圍配置在文件flight_origin_range中。使用[]表示整數(shù)、浮點(diǎn)數(shù)(Int,float)類型等數(shù)據(jù)。
[0077]隸屬關(guān)系沖突
[0078]如果兩個(gè)相互間有隸屬關(guān)系的槽位,其分別對(duì)應(yīng)的值之間沒(méi)有滿足這種隸屬關(guān)系,就會(huì)發(fā)生沖突。例如,用戶兩次分別說(shuō)“預(yù)定去北京的飛機(jī)票”、“到虹橋機(jī)場(chǎng)”,由于機(jī)場(chǎng)和城市之間有隸屬關(guān)系,需要檢查槽位值之間的這種關(guān)系發(fā)生沖突。
[0079]在服務(wù)定制中,可定義槽位之間的隸屬關(guān)系數(shù)據(jù)。例如,如圖6所示,“flight_origin>flight_ori_airport”表示出發(fā)機(jī)場(chǎng)隸屬于出發(fā)城市,而且具體的隸屬關(guān)系數(shù)據(jù)可在文件origin_airport中查找到。
_0] 參數(shù)值比較沖突
[0081]有些槽位(特征)之間有固定的比較關(guān)系,如大于關(guān)系、小于關(guān)系、不等關(guān)系等。如果特定槽位對(duì)應(yīng)的值之間不滿足這種關(guān)系就會(huì)沖突。例如用戶兩次分別說(shuō)了 “我想定去上海的飛機(jī)票”、“從上海出發(fā)”,出發(fā)地和目的地不能相同,此時(shí)都為上海,則發(fā)生沖突。
[0082]在服務(wù)定制中,可定義槽位之間比較關(guān)系定制,包括大于關(guān)系槽、小于關(guān)系槽、不等關(guān)系槽等。例如,如圖6所示,“uneq: flight_destinat1n”表示“flight_origin (航班出發(fā)地)”不能等于“flight_destinat1n(航班目的地)”。
[0083]在塊170,還可配置以下至少一種數(shù)據(jù)推算規(guī)則:
[0084]算術(shù)運(yùn)算
[0085]如果屬性之間有算術(shù)運(yùn)算關(guān)系,則可以根據(jù)已有的值通過(guò)運(yùn)算得到新的槽位值,有加減乘除等。例如,機(jī)票價(jià)格折扣等于機(jī)票當(dāng)如價(jià)格除以機(jī)票原價(jià)。因此,當(dāng)獲知機(jī)票原價(jià)1000元和機(jī)票現(xiàn)價(jià)300元時(shí),就可以通過(guò)除法運(yùn)算得到機(jī)票折扣為3.0折。
[0086]在服務(wù)定制中,可定義槽位之間的算術(shù)運(yùn)算關(guān)系(arithmetic_operat1ns)。例如,如圖6所示,可以將票價(jià)的折扣槽位配置為:
[0087]arithmetic_operat1ns:fIight_ticket_price/flight_ticket_ori_price。
[0088]新值引入
[0089]如果在任務(wù)中,一個(gè)槽位的值可以由另一個(gè)槽位的值完全確定,則在被依賴的槽位值被確定后,可以相應(yīng)地更新其依賴槽位的值。例如,在訂機(jī)票的任務(wù)中,用戶說(shuō)了要乘坐航班3u8994,對(duì)話服務(wù)可以直接從后臺(tái)獲取出發(fā)地是南京,目的地是成都。
[0090]在服務(wù)定制中,可定義槽位之間的觸發(fā)關(guān)系(trigger)。例如,如圖6所示,可將航班號(hào)槽位表示為:
[0091]trigger:f light_origin | f light_destinat1n {air_line}
[0092]舊倌清宇
[0093]如果兩個(gè)槽位值之間存在互斥關(guān)系,其中一個(gè)槽位更新后出現(xiàn)了與領(lǐng)域槽位值的互斥,則需清空其中一個(gè)槽位的值。例如,在預(yù)定火車票的任務(wù)中,用戶說(shuō)要乘坐硬臥車票,如果歷史屬性中有高鐵列車類型,則列車類型與座位類型沖突,需要清空其中一個(gè)屬性值。
[0094]在服務(wù)定制中,可定義槽位之間的互斥關(guān)系(exclus1n)。例如,可將座位類型槽位(train_seat_grade)表不為:
[0095]exclus1n:train_seat_grade {ticket_seat_map}
[0096]以上參照?qǐng)D1詳細(xì)描述了在對(duì)話管理系統(tǒng)中對(duì)涉及具體任務(wù)的對(duì)話服務(wù)定制。通過(guò)該對(duì)話管理系統(tǒng),在設(shè)計(jì)新的任務(wù)的對(duì)話服務(wù)時(shí),無(wú)需重新開(kāi)發(fā)所述任務(wù)的對(duì)話服務(wù),而僅需對(duì)涉及新任務(wù)的對(duì)話狀態(tài)參數(shù)和規(guī)則進(jìn)行配置/定制,大大地提高了所述對(duì)話管理系統(tǒng)的可擴(kuò)展性,并且節(jié)省研發(fā)、部署的成本。
[0097]以下將參照?qǐng)D2詳細(xì)地說(shuō)明根據(jù)本發(fā)明的示例性實(shí)施例的對(duì)話處理方法。
[0098]圖2是示出根據(jù)本發(fā)明的示例性實(shí)施例的對(duì)話處理方法的流程圖。通過(guò)定制的圖1示出的塊130?塊160執(zhí)行所述對(duì)話處理方法。
[0099]參照?qǐng)D2,在步驟S210,獲取與任務(wù)相關(guān)的用戶需求數(shù)據(jù)。
[0100]根據(jù)本發(fā)明的示例性實(shí)施例,所述用戶需求數(shù)據(jù)包括對(duì)用戶需求的文本數(shù)據(jù)進(jìn)行自然語(yǔ)言解析獲得的解析結(jié)果,例如通過(guò)圖1中的塊120的自然語(yǔ)言解析處理獲得的解析結(jié)果。
[0101]在步驟S220,根據(jù)所述用戶需求數(shù)據(jù)和預(yù)先配置的與所述任務(wù)相關(guān)的任務(wù)參數(shù)更新用戶的對(duì)話狀態(tài)。
[0102]由于前述已對(duì)塊130進(jìn)行了定制,因此,可根據(jù)所述解析結(jié)果對(duì)塊130定制的對(duì)話參數(shù)進(jìn)行更新。
[0103]具體地,根據(jù)本發(fā)明的示例性實(shí)施例,如果所述解析結(jié)果指示對(duì)話的初次交互,則根據(jù)所述解析結(jié)果獲取預(yù)先配置的與所述任務(wù)相關(guān)的任務(wù)參數(shù),并且根據(jù)所述預(yù)先配置的與所述任務(wù)相關(guān)的任務(wù)參數(shù)和情景先驗(yàn)信息生成對(duì)話參數(shù)。
[0104]根據(jù)本發(fā)明的可選實(shí)施例,通過(guò)多個(gè)槽位表示所述與所述任務(wù)相關(guān)的任務(wù)參數(shù)的狀態(tài),將根據(jù)情景先驗(yàn)信息生成的對(duì)話參數(shù)分別表示為特征向量。
[0105]例如,在初次交互中,獲知用戶意圖/任務(wù)為預(yù)訂機(jī)票,則根據(jù)塊130的定制生成包括出發(fā)地、目的地、出發(fā)日期、出發(fā)時(shí)間、機(jī)票艙位、當(dāng)前時(shí)間、當(dāng)前地點(diǎn)、哪個(gè)月、星期幾、幾點(diǎn)鐘、是否為工業(yè)城市、是否為旅游區(qū)、城市規(guī)模類型、上次詢問(wèn)到現(xiàn)在的交互輪次上次澄清到現(xiàn)在的輪次等等的對(duì)話參數(shù),并且根據(jù)解析結(jié)果中包含的數(shù)據(jù)以及環(huán)境信息進(jìn)行所述對(duì)話參數(shù)的更新。
[0106]此后,在步驟S230,根據(jù)所述對(duì)話狀態(tài)生成至少一個(gè)候選動(dòng)作數(shù)據(jù)。
[0107]具體地,步驟S230可包括:根據(jù)預(yù)設(shè)的檢查條件對(duì)所述對(duì)話參數(shù)進(jìn)行狀態(tài)檢查,并且根據(jù)所述狀態(tài)檢查的結(jié)果生成所述至少一個(gè)候選動(dòng)作數(shù)據(jù)。
[0108]如前所述,在塊140中已定制了多個(gè)檢查條件。所述預(yù)設(shè)的檢查條件可包括以下檢查條件中的至少一個(gè):槽位默認(rèn)值檢查條件、參數(shù)間的屬性依賴檢查條件、參數(shù)間的屬性觸發(fā)檢查條件、參數(shù)值確認(rèn)檢查條件以及參數(shù)澄清條件。
[0109]例如,在預(yù)訂機(jī)票的任務(wù)對(duì)話的首次交互中,可默認(rèn)地將機(jī)票艙位設(shè)置為“經(jīng)濟(jì)艙”;再例如,在預(yù)訂機(jī)票的任務(wù)對(duì)話的首次交互中,由于機(jī)票的查詢依賴于出發(fā)地、目的地、出發(fā)日期,機(jī)票的價(jià)格依賴于航班號(hào)和機(jī)票艙位,因此,需要生成詢問(wèn)這些信息的候選動(dòng)作;再例如,在前次交互中詢問(wèn)“您想訂從哪到哪的機(jī)票? ”后,用戶回答“北京”,此時(shí)北京可能是出發(fā)地也可能是目的地,因此需要生成向用戶澄清目的地還是出發(fā)地的候選動(dòng)作。
[0110]在步驟S240,根據(jù)所述至少一個(gè)候選動(dòng)作數(shù)據(jù)生成回應(yīng)文本數(shù)據(jù)。這里,可根據(jù)所述至少一個(gè)候選動(dòng)作數(shù)據(jù)當(dāng)中的任一候選動(dòng)作數(shù)據(jù)生成所述回應(yīng)文本數(shù)據(jù)。根據(jù)動(dòng)作的類型,生成的回應(yīng)文本數(shù)據(jù)可以是結(jié)果摘要、目標(biāo)結(jié)果和/或交互問(wèn)題文本。
[0111]在生成回應(yīng)文本數(shù)據(jù)的過(guò)程中,可涉及本地或外部數(shù)據(jù)源的訪問(wèn),以調(diào)取生成所述回應(yīng)文本數(shù)據(jù)所需的參數(shù)數(shù)據(jù)(如根據(jù)出發(fā)地、目的地、出發(fā)日期來(lái)查詢航班信息)。根據(jù)本發(fā)明的示例性實(shí)施例,步驟S240可還包括:根據(jù)更新的對(duì)話參數(shù)和所述優(yōu)選動(dòng)作數(shù)據(jù)從數(shù)據(jù)源獲取回應(yīng)所需的參數(shù)數(shù)據(jù),并且根據(jù)獲取的參數(shù)數(shù)據(jù)和所述優(yōu)選動(dòng)作數(shù)據(jù)生成所述回應(yīng)文本數(shù)據(jù)。
[0112]在生成回應(yīng)文本數(shù)據(jù)的過(guò)程中,還可涉及采用默認(rèn)值的對(duì)話參數(shù),則還需填充所述對(duì)話參數(shù)的默認(rèn)值。
[0113]根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述方法可還包括:根據(jù)所述用戶的對(duì)話狀態(tài)和決策規(guī)則,從所述至少一個(gè)候選動(dòng)作數(shù)據(jù)選擇優(yōu)選動(dòng)作數(shù)據(jù)。所述決策規(guī)則可以是預(yù)定的動(dòng)作優(yōu)先級(jí)和預(yù)設(shè)的動(dòng)作決策模型之一。
[0114]在所述決策規(guī)則是預(yù)設(shè)的動(dòng)作決策模型的情況下,所述從所述至少一個(gè)候選動(dòng)作數(shù)據(jù)選擇優(yōu)選動(dòng)作數(shù)據(jù)的處理包括:基于所述動(dòng)作決策模型分別獲取每個(gè)所述候選動(dòng)作數(shù)據(jù)對(duì)應(yīng)的特征函數(shù)值,選取與所述特征函數(shù)值中的最大值對(duì)應(yīng)的候選動(dòng)作數(shù)據(jù)作為所述優(yōu)選動(dòng)作數(shù)據(jù)。通過(guò)預(yù)先訓(xùn)練的動(dòng)作策略模型來(lái)進(jìn)行候選動(dòng)作的選擇,可更準(zhǔn)確地確定適于所述任務(wù)并且適合當(dāng)前對(duì)話狀態(tài)的動(dòng)作數(shù)據(jù)。
[0115]根據(jù)本發(fā)明的前述優(yōu)選實(shí)施例,在步驟S240中,根據(jù)所述優(yōu)選動(dòng)作數(shù)據(jù)生成回應(yīng)文本數(shù)據(jù)。步驟S240可包括:根據(jù)更新的對(duì)話參數(shù)和所述優(yōu)選動(dòng)作數(shù)據(jù)從數(shù)據(jù)源獲取回應(yīng)所需的參數(shù)數(shù)據(jù),并且根據(jù)獲取的參數(shù)數(shù)據(jù)和所述優(yōu)選動(dòng)作數(shù)據(jù)生成所述回應(yīng)文本數(shù)據(jù)。步驟S240可還包括:如果所述優(yōu)選動(dòng)作數(shù)據(jù)所需的參數(shù)數(shù)據(jù)采用默認(rèn)值,則使用相應(yīng)的默認(rèn)值填充所述參數(shù)數(shù)據(jù)。
[0116]由于在圖1所示的對(duì)話定制處理中,還可定制塊170,因此,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,步驟S220還包括:對(duì)要更新的對(duì)話參數(shù)的值分別進(jìn)行數(shù)據(jù)沖突檢測(cè),并且如果檢測(cè)到數(shù)據(jù)沖突,則清空已更新的對(duì)話參數(shù)的值或者發(fā)送用于確認(rèn)要更新的對(duì)話參數(shù)的值是否正確的消息。
[0117]其中,所述數(shù)據(jù)沖突可包括以下沖突中的至少一個(gè):對(duì)話參數(shù)超出值域、對(duì)話參數(shù)間發(fā)生隸屬關(guān)系沖突以及對(duì)話參數(shù)間發(fā)生參數(shù)值比較關(guān)系沖突。
[0118]根據(jù)本發(fā)明的另一優(yōu)選實(shí)施例,步驟S220還包括:對(duì)要更新的對(duì)話參數(shù)的值分別進(jìn)行參數(shù)值推算,并且使用推算得到的值更新所述對(duì)話參數(shù)。
[0119]所述參數(shù)值推算可包括:參數(shù)值的算術(shù)運(yùn)算、新參數(shù)值引入以及參數(shù)值的舊值清空等。參照?qǐng)D1中塊170的配置和定制已具體說(shuō)明了所述參數(shù)值推算的處理。
[0120]根據(jù)本發(fā)明的另一優(yōu)選實(shí)施例,步驟S240可還包括:對(duì)獲取的參數(shù)數(shù)據(jù)分別進(jìn)行數(shù)據(jù)沖突檢測(cè),并且如果檢測(cè)到數(shù)據(jù)沖突,則丟棄被檢測(cè)到數(shù)據(jù)沖突的參數(shù)數(shù)據(jù)。同理,步驟S240可還包括:對(duì)獲取的對(duì)話參數(shù)的值分別進(jìn)行參數(shù)值推算,并且使用推算得到的值和所述優(yōu)選動(dòng)作數(shù)據(jù)生成所述回應(yīng)文本數(shù)據(jù)。
[0121]如上參照?qǐng)D1?圖6對(duì)本發(fā)明實(shí)施例的對(duì)話管理系統(tǒng)多個(gè)模塊的配置和定制以及本發(fā)明實(shí)施例的對(duì)話處理方法的詳細(xì)描述可以看出,本發(fā)明的對(duì)話處理方法可在對(duì)話系統(tǒng)中對(duì)涉及具體任務(wù)的對(duì)話服務(wù)進(jìn)行定制,并且基于對(duì)話管理系統(tǒng)通過(guò)定制的對(duì)話服務(wù)進(jìn)行對(duì)話交互處理,從而在引入新任務(wù)的對(duì)話服務(wù)時(shí),僅需要配置對(duì)話狀態(tài)參數(shù)和處理規(guī)則,不需要重新開(kāi)發(fā)對(duì)話服務(wù),大大地提高了所述對(duì)話管理系統(tǒng)的可擴(kuò)展性,并且節(jié)省研發(fā)、部署的成本。
[0122]圖7是示出根據(jù)本發(fā)明的示例性實(shí)施例的對(duì)話管理系統(tǒng)的邏輯框圖。
[0123]參照?qǐng)D7,根據(jù)本發(fā)明的示例性實(shí)施例的對(duì)話管理系統(tǒng)包括需求獲取裝置710、對(duì)話狀態(tài)更新裝置720、動(dòng)作生成裝置730和文本生成裝置740。
[0124]需求獲取裝置710用于獲取與任務(wù)相關(guān)的用戶需求數(shù)據(jù)。根據(jù)本發(fā)明的示例性實(shí)施例,所述用戶需求數(shù)據(jù)包括對(duì)用戶需求的文本數(shù)據(jù)進(jìn)行自然語(yǔ)言解析獲得的解析結(jié)果。
[0125]對(duì)話狀態(tài)更新裝置720用于根據(jù)需求獲取裝置710獲取的用戶需求數(shù)據(jù)和預(yù)先配置的與所述任務(wù)相關(guān)的任務(wù)參數(shù)更新用戶的對(duì)話狀態(tài)。
[0126]根據(jù)本發(fā)明的示例性實(shí)施例,如果所述解析結(jié)果指示對(duì)話的初次交互,則對(duì)話狀態(tài)更新裝置720用于從所述解析結(jié)果獲取預(yù)先配置的與所述任務(wù)相關(guān)的任務(wù)參數(shù),根據(jù)預(yù)先配置的與所述任務(wù)相關(guān)的任務(wù)參數(shù)和情景先驗(yàn)信息生成對(duì)話參數(shù),并且用于根據(jù)所述解析結(jié)果更新所述對(duì)話參數(shù)。
[0127]根據(jù)本發(fā)明的示例性實(shí)施例,對(duì)話狀態(tài)更新裝置720還用于通過(guò)多個(gè)槽位表示所述預(yù)先配置的與所述任務(wù)相關(guān)的任務(wù)參數(shù)的狀態(tài),并且用于將根據(jù)情景先驗(yàn)信息生成的對(duì)話參數(shù)分別表示為特征向量。
[0128]動(dòng)作生成裝置730用于根據(jù)對(duì)話狀態(tài)更新裝置720更新的對(duì)話狀態(tài)生成至少一個(gè)候選動(dòng)作數(shù)據(jù)。
[0129]具體地,動(dòng)作生成裝置730用于根據(jù)預(yù)設(shè)的檢查條件對(duì)所述對(duì)話參數(shù)進(jìn)行狀態(tài)檢查,并且根據(jù)所述狀態(tài)檢查的結(jié)果生成所述至少一個(gè)候選動(dòng)作數(shù)據(jù)。
[0130]所述預(yù)設(shè)的檢查條件包括以下至少一個(gè)檢查條件:槽位默認(rèn)值檢查條件、參數(shù)間的屬性依賴檢查條件、參數(shù)間的屬性觸發(fā)檢查條件、參數(shù)值確認(rèn)檢查條件以及參數(shù)澄清條件。
[0131]文本生成裝置740用于根據(jù)動(dòng)作生成裝置730生成的至少一個(gè)候選動(dòng)作數(shù)據(jù)生成回應(yīng)文本數(shù)據(jù)。
[0132]根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述系統(tǒng)還包括動(dòng)作決策裝置(未示出),用于根據(jù)所述用戶的對(duì)話狀態(tài)和決策規(guī)則,從所述至少一個(gè)候選動(dòng)作數(shù)據(jù)選擇優(yōu)選動(dòng)作數(shù)據(jù);并且,文本生成裝置740用于根據(jù)所述優(yōu)選動(dòng)作數(shù)據(jù)生成回應(yīng)文本數(shù)據(jù)。
[0133]所述決策規(guī)則可以是預(yù)定的動(dòng)作優(yōu)先級(jí)和預(yù)設(shè)的動(dòng)作決策模型之一。
[0134]其中,所述動(dòng)作決策裝置用于基于所述動(dòng)作決策模型分別獲取每個(gè)所述候選動(dòng)作數(shù)據(jù)對(duì)應(yīng)的特征函數(shù)值,選取與所述特征函數(shù)值中的最大值對(duì)應(yīng)的候選動(dòng)作數(shù)據(jù)作為所述優(yōu)選動(dòng)作數(shù)據(jù)。
[0135]根據(jù)本發(fā)明的優(yōu)選實(shí)施例,文本生成裝置740用于根據(jù)更新的對(duì)話參數(shù)和所述優(yōu)選動(dòng)作數(shù)據(jù)從數(shù)據(jù)源獲取回應(yīng)所需的參數(shù)數(shù)據(jù),并且根據(jù)獲取的參數(shù)數(shù)據(jù)和所述優(yōu)選動(dòng)作數(shù)據(jù)生成所述回應(yīng)文本數(shù)據(jù)。
[0136]根據(jù)本發(fā)明的可選實(shí)施例,如果所述優(yōu)選動(dòng)作數(shù)據(jù)所需的參數(shù)數(shù)據(jù)采用默認(rèn)值,則文本生成裝置740使用相應(yīng)的默認(rèn)值填充所述參數(shù)數(shù)據(jù)。
[0137]根據(jù)本發(fā)明的優(yōu)選實(shí)施例,所述系統(tǒng)還包括數(shù)據(jù)沖突檢測(cè)裝置(未示出)。對(duì)話狀態(tài)更新裝置720和/或文本生成裝置740可通過(guò)所述數(shù)據(jù)沖突檢測(cè)裝置進(jìn)行數(shù)據(jù)沖突的檢測(cè)。
[0138]所述數(shù)據(jù)沖突檢測(cè)裝置對(duì)以下數(shù)據(jù)沖突中的至少一個(gè)進(jìn)行檢測(cè):對(duì)話參數(shù)超出值域、對(duì)話參數(shù)間發(fā)生隸屬關(guān)系沖突以及對(duì)話參數(shù)間發(fā)生參數(shù)值比較關(guān)系沖突。
[0139]所述數(shù)據(jù)沖突檢測(cè)裝置對(duì)對(duì)話狀態(tài)更新裝置720要更新的對(duì)話參數(shù)檢測(cè)數(shù)據(jù)沖突。如果檢測(cè)到數(shù)據(jù)沖突,則對(duì)話狀態(tài)更新裝置720清空已更新的對(duì)話參數(shù)的值或者發(fā)送用于確認(rèn)要更新的對(duì)話參數(shù)的值是否正確的消息。
[0140]所述數(shù)據(jù)沖突檢測(cè)裝置對(duì)對(duì)文本生成裝置740獲取的參數(shù)數(shù)據(jù)分別進(jìn)行數(shù)據(jù)沖突檢測(cè)。如果所述數(shù)據(jù)沖突檢測(cè)裝置檢測(cè)到數(shù)據(jù)沖突,則文本生成裝置740丟棄被檢測(cè)到數(shù)據(jù)沖突的參數(shù)數(shù)據(jù)。
[0141]根據(jù)本發(fā)明的另一優(yōu)選實(shí)施例,所述系統(tǒng)還包括數(shù)據(jù)推算裝置(未示出)。對(duì)話狀態(tài)更新裝置720和/或文本生成裝置740可通過(guò)所述數(shù)據(jù)推算裝置進(jìn)行數(shù)據(jù)值的推算。
[0142]所述數(shù)據(jù)推算裝置對(duì)對(duì)話狀態(tài)更新裝置720要更新的對(duì)話參數(shù)的值分別進(jìn)行參數(shù)值推算,對(duì)話狀態(tài)更新裝置720使用推算得到的值更新所述對(duì)話參數(shù)。
[0143]所述數(shù)據(jù)推算裝置對(duì)文本生成裝置740獲取的對(duì)話參數(shù)的值分別進(jìn)行參數(shù)值推算,文本生成裝置740使用推算得到的值和所述優(yōu)選動(dòng)作數(shù)據(jù)生成所述回應(yīng)文本數(shù)據(jù)。
[0144]如上參照附圖對(duì)本發(fā)明實(shí)施例的對(duì)話管理系統(tǒng)多個(gè)模塊的配置和定制、本發(fā)明實(shí)施例的對(duì)話處理方法以及對(duì)話管理系統(tǒng)的詳細(xì)描述可以看出,本發(fā)明的對(duì)話處理方法以及對(duì)話管理系統(tǒng)可在對(duì)話系統(tǒng)中對(duì)涉及具體任務(wù)的對(duì)話服務(wù)進(jìn)行定制,并且基于對(duì)話管理系統(tǒng)通過(guò)定制的對(duì)話服務(wù)進(jìn)行對(duì)話交互處理,從而在引入新任務(wù)的對(duì)話服務(wù)時(shí),僅需要配置對(duì)話狀態(tài)參數(shù)和處理規(guī)則,不需要重新開(kāi)發(fā)對(duì)話服務(wù),大大地提高了所述對(duì)話管理系統(tǒng)的可擴(kuò)展性,并且節(jié)省研發(fā)、部署的成本。
[0145]需要指出,根據(jù)實(shí)施的需要,可將本申請(qǐng)中描述的各個(gè)步驟拆分為更多步驟,也可將兩個(gè)或多個(gè)步驟或者步驟的部分操作組合成新的步驟,以實(shí)現(xiàn)本發(fā)明的目的。
[0146]上述根據(jù)本發(fā)明的方法可在硬件、固件中實(shí)現(xiàn),或者被實(shí)現(xiàn)為可存儲(chǔ)在記錄介質(zhì)(諸如CD ROM、RAM、軟盤(pán)、硬盤(pán)或磁光盤(pán))中的軟件或計(jì)算機(jī)代碼,或者被實(shí)現(xiàn)通過(guò)網(wǎng)絡(luò)下載的原始存儲(chǔ)在遠(yuǎn)程記錄介質(zhì)或非暫時(shí)機(jī)器可讀介質(zhì)中并將被存儲(chǔ)在本地記錄介質(zhì)中的計(jì)算機(jī)代碼,從而在此描述的方法可被存儲(chǔ)在使用通用計(jì)算機(jī)、專用處理器或者可編程或?qū)S糜布?諸如ASIC或FPGA)的記錄介質(zhì)上的這樣的軟件處理??梢岳斫?,計(jì)算機(jī)、處理器、微處理器控制器或可編程硬件包括可存儲(chǔ)或接收軟件或計(jì)算機(jī)代碼的存儲(chǔ)組件(例如,RAM、R0M、閃存等),當(dāng)所述軟件或計(jì)算機(jī)代碼被計(jì)算機(jī)、處理器或硬件訪問(wèn)且執(zhí)行時(shí),實(shí)現(xiàn)在此描述的處理方法。此外,當(dāng)通用計(jì)算機(jī)訪問(wèn)用于實(shí)現(xiàn)在此示出的處理的代碼時(shí),代碼的執(zhí)行將通用計(jì)算機(jī)轉(zhuǎn)換為用于執(zhí)行在此示出的處理的專用計(jì)算機(jī)。
[0147]以上所述,僅為本發(fā)明的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本【技術(shù)領(lǐng)域】的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。
【權(quán)利要求】
1.一種對(duì)話處理方法,其特征在于,所述方法包括: 獲取與任務(wù)相關(guān)的用戶需求數(shù)據(jù); 根據(jù)所述用戶需求數(shù)據(jù)和預(yù)先配置的與所述任務(wù)相關(guān)的任務(wù)參數(shù)更新用戶的對(duì)話狀態(tài); 根據(jù)所述對(duì)話狀態(tài)生成至少一個(gè)候選動(dòng)作數(shù)據(jù); 根據(jù)所述至少一個(gè)候選動(dòng)作數(shù)據(jù)生成回應(yīng)文本數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述用戶需求數(shù)據(jù)包括對(duì)用戶需求的文本數(shù)據(jù)進(jìn)行自然語(yǔ)言解析獲得的解析結(jié)果。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)所述用戶需求數(shù)據(jù)和預(yù)先配置的與所述任務(wù)相關(guān)的任務(wù)參數(shù)更新用戶的對(duì)話狀態(tài)的步驟包括: 如果所述解析結(jié)果指示對(duì)話的初次交互,則根據(jù)所述解析結(jié)果獲取預(yù)先配置的與所述任務(wù)相關(guān)的任務(wù)參數(shù),根據(jù)所述預(yù)先配置的與所述任務(wù)相關(guān)的任務(wù)參數(shù)和情景先驗(yàn)信息生成對(duì)話參數(shù), 根據(jù)所述解析結(jié)果更新所述對(duì)話參數(shù)。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,通過(guò)多個(gè)槽位表示所述與所述任務(wù)相關(guān)的任務(wù)參數(shù)的狀態(tài),將根據(jù)情景先驗(yàn)信息生成的對(duì)話參數(shù)分別表示為特征向量。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述根據(jù)所述對(duì)話狀態(tài)生成至少一個(gè)候選動(dòng)作數(shù)據(jù)的步驟包括: 根據(jù)預(yù)設(shè)的檢查條件對(duì)所述對(duì)話參數(shù)進(jìn)行狀態(tài)檢查, 根據(jù)所述狀態(tài)檢查的結(jié)果生成所述至少一個(gè)候選動(dòng)作數(shù)據(jù)。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述預(yù)設(shè)的檢查條件包括槽位默認(rèn)值檢查條件、參數(shù)間的屬性依賴檢查條件、參數(shù)間的屬性觸發(fā)檢查條件、參數(shù)值確認(rèn)檢查條件以及參數(shù)澄清條件。
7.根據(jù)權(quán)利要求3?6中任一項(xiàng)所述的方法,其特征在于,所述方法還包括: 根據(jù)所述用戶的對(duì)話狀態(tài)和決策規(guī)則,從所述至少一個(gè)候選動(dòng)作數(shù)據(jù)選擇優(yōu)選動(dòng)作數(shù)據(jù),并且 所述根據(jù)所述至少一個(gè)候選動(dòng)作數(shù)據(jù)生成回應(yīng)文本數(shù)據(jù)的步驟包括:根據(jù)所述優(yōu)選動(dòng)作數(shù)據(jù)生成回應(yīng)文本數(shù)據(jù)。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述決策規(guī)則是預(yù)定的動(dòng)作優(yōu)先級(jí)和預(yù)設(shè)的動(dòng)作決策模型之一, 其中,所述從所述至少一個(gè)候選動(dòng)作數(shù)據(jù)選擇優(yōu)選動(dòng)作數(shù)據(jù)的處理包括:基于所述動(dòng)作決策模型分別獲取每個(gè)所述候選動(dòng)作數(shù)據(jù)對(duì)應(yīng)的特征函數(shù)值,選取與所述特征函數(shù)值中的最大值對(duì)應(yīng)的候選動(dòng)作數(shù)據(jù)作為所述優(yōu)選動(dòng)作數(shù)據(jù)。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述根據(jù)所述優(yōu)選動(dòng)作數(shù)據(jù)生成回應(yīng)文本數(shù)據(jù)的處理包括: 根據(jù)更新的對(duì)話參數(shù)和所述優(yōu)選動(dòng)作數(shù)據(jù)從數(shù)據(jù)源獲取回應(yīng)所需的參數(shù)數(shù)據(jù),并且 根據(jù)獲取的參數(shù)數(shù)據(jù)和所述優(yōu)選動(dòng)作數(shù)據(jù)生成所述回應(yīng)文本數(shù)據(jù)。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述根據(jù)所述優(yōu)選動(dòng)作數(shù)據(jù)生成回應(yīng)文本數(shù)據(jù)的處理還包括: 如果所述優(yōu)選動(dòng)作數(shù)據(jù)所需的參數(shù)數(shù)據(jù)采用默認(rèn)值,則使用相應(yīng)的默認(rèn)值填充所述參數(shù)數(shù)據(jù)。
11.根據(jù)權(quán)利要求10所述的方法,其特征在于,所述根據(jù)所述解析結(jié)果更新所述對(duì)話參數(shù)的處理還包括: 對(duì)要更新的對(duì)話參數(shù)的值分別進(jìn)行數(shù)據(jù)沖突檢測(cè), 如果檢測(cè)到數(shù)據(jù)沖突,則清空已更新的對(duì)話參數(shù)的值或者發(fā)送用于確認(rèn)要更新的對(duì)話參數(shù)的值是否正確的消息。
12.根據(jù)權(quán)利要求11所述的方法,其特征在于,所述數(shù)據(jù)沖突包括以下沖突中的至少一個(gè):對(duì)話參數(shù)超出值域、對(duì)話參數(shù)間發(fā)生隸屬關(guān)系沖突以及對(duì)話參數(shù)間發(fā)生參數(shù)值比較關(guān)系沖突。
13.根據(jù)權(quán)利要求12所述的方法,其特征在于,所述根據(jù)所述解析結(jié)果更新所述對(duì)話參數(shù)的處理還包括: 對(duì)要更新的對(duì)話參數(shù)的值分別進(jìn)行參數(shù)值推算,并且使用推算得到的值更新所述對(duì)話參數(shù)。
14.根據(jù)權(quán)利要求11所述的方法,其特征在于,所述根據(jù)獲取的參數(shù)數(shù)據(jù)和所述優(yōu)選動(dòng)作數(shù)據(jù)生成所述回應(yīng)文本數(shù)據(jù)的處理還包括: 對(duì)獲取的參數(shù)數(shù)據(jù)分別進(jìn)行數(shù)據(jù)沖突檢測(cè), 如果檢測(cè)到數(shù)據(jù)沖突,則丟棄被檢測(cè)到數(shù)據(jù)沖突的參數(shù)數(shù)據(jù)。
15.根據(jù)權(quán)利要求14所述的方法,其特征在于,所述根據(jù)獲取的參數(shù)數(shù)據(jù)和所述優(yōu)選動(dòng)作數(shù)據(jù)生成所述回應(yīng)文本數(shù)據(jù)的處理還包括: 對(duì)獲取的對(duì)話參數(shù)的值分別進(jìn)行參數(shù)值推算,并且 使用推算得到的值和所述優(yōu)選動(dòng)作數(shù)據(jù)生成所述回應(yīng)文本數(shù)據(jù)。
16.一種對(duì)話管理系統(tǒng),其特征在于,所述系統(tǒng)包括: 需求獲取裝置,用于獲取與任務(wù)相關(guān)的用戶需求數(shù)據(jù); 對(duì)話狀態(tài)更新裝置,用于根據(jù)所述需求獲取裝置獲取的用戶需求數(shù)據(jù)和預(yù)先配置的與所述任務(wù)相關(guān)的任務(wù)參數(shù)更新用戶的對(duì)話狀態(tài); 動(dòng)作生成裝置,用于根據(jù)所述對(duì)話狀態(tài)更新裝置更新的對(duì)話狀態(tài)生成至少一個(gè)候選動(dòng)作數(shù)據(jù); 文本生成裝置,用于根據(jù)所述動(dòng)作生成裝置生成的至少一個(gè)候選動(dòng)作數(shù)據(jù)生成回應(yīng)文本數(shù)據(jù)。
17.根據(jù)權(quán)利要求16所述的系統(tǒng),其特征在于,所述用戶需求數(shù)據(jù)包括對(duì)用戶需求的文本數(shù)據(jù)進(jìn)行自然語(yǔ)言解析獲得的解析結(jié)果。
18.根據(jù)權(quán)利要求17所述的系統(tǒng),其特征在于, 如果所述解析結(jié)果指示對(duì)話的初次交互,則所述對(duì)話狀態(tài)更新裝置用于根據(jù)所述解析結(jié)果獲取預(yù)先配置的與所述任務(wù)相關(guān)的任務(wù)參數(shù),根據(jù)預(yù)先配置的與所述任務(wù)相關(guān)的任務(wù)參數(shù)和情景先驗(yàn)信息生成對(duì)話參數(shù),并且 所述對(duì)話狀態(tài)更新裝置用于根據(jù)所述解析結(jié)果更新所述對(duì)話參數(shù)。
19.根據(jù)權(quán)利要求18所述的系統(tǒng),其特征在于,所述對(duì)話狀態(tài)更新裝置還用于通過(guò)多個(gè)槽位表示所述預(yù)先配置的與所述任務(wù)相關(guān)的任務(wù)參數(shù)的狀態(tài),并且用于將根據(jù)情景先驗(yàn)信息生成的對(duì)話參數(shù)分別表示為特征向量。
20.根據(jù)權(quán)利要求19所述的系統(tǒng),其特征在于,所述動(dòng)作生成裝置用于根據(jù)預(yù)設(shè)的檢查條件對(duì)所述對(duì)話參數(shù)進(jìn)行狀態(tài)檢查,并且根據(jù)所述狀態(tài)檢查的結(jié)果生成所述至少一個(gè)候選動(dòng)作數(shù)據(jù)。
21.根據(jù)權(quán)利要求20所述的系統(tǒng),其特征在于,所述預(yù)設(shè)的檢查條件包括槽位默認(rèn)值檢查條件、參數(shù)間的屬性依賴檢查條件、參數(shù)間的屬性觸發(fā)檢查條件、參數(shù)值確認(rèn)檢查條件以及參數(shù)澄清條件。
22.根據(jù)權(quán)利要求18?21中任一項(xiàng)所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括動(dòng)作決策裝置,用于 根據(jù)所述用戶的對(duì)話狀態(tài)和決策規(guī)則,從所述至少一個(gè)候選動(dòng)作數(shù)據(jù)選擇優(yōu)選動(dòng)作數(shù)據(jù),并且 所述文本生成裝置用于根據(jù)所述優(yōu)選動(dòng)作數(shù)據(jù)生成回應(yīng)文本數(shù)據(jù)。
23.根據(jù)權(quán)利要求22所述的系統(tǒng),其特征在于,所述決策規(guī)則是預(yù)定的動(dòng)作優(yōu)先級(jí)和預(yù)設(shè)的動(dòng)作決策模型之一, 其中,所述動(dòng)作決策裝置用于基于所述動(dòng)作決策模型分別獲取每個(gè)所述候選動(dòng)作數(shù)據(jù)對(duì)應(yīng)的特征函數(shù)值,選取與所述特征函數(shù)值中的最大值對(duì)應(yīng)的候選動(dòng)作數(shù)據(jù)作為所述優(yōu)選動(dòng)作數(shù)據(jù)。
24.根據(jù)權(quán)利要求23所述的系統(tǒng),其特征在于,所述文本生成裝置用于根據(jù)更新的對(duì)話參數(shù)和所述優(yōu)選動(dòng)作數(shù)據(jù)從數(shù)據(jù)源獲取回應(yīng)所需的參數(shù)數(shù)據(jù),并且根據(jù)獲取的參數(shù)數(shù)據(jù)和所述優(yōu)選動(dòng)作數(shù)據(jù)生成所述回應(yīng)文本數(shù)據(jù)。
【文檔編號(hào)】G06F17/28GK104360897SQ201410593684
【公開(kāi)日】2015年2月18日 申請(qǐng)日期:2014年10月29日 優(yōu)先權(quán)日:2014年10月29日
【發(fā)明者】焦增濤, 汪冠春 申請(qǐng)人:百度在線網(wǎng)絡(luò)技術(shù)(北京)有限公司