專(zhuān)利名稱(chēng):聊天方法與系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及互聯(lián)網(wǎng)交互式對(duì)話(huà)方法,尤其涉及一種聊天方法與系統(tǒng)。
背景技術(shù):
互聯(lián)網(wǎng)的發(fā)展速度非常驚人,已經(jīng)成為了現(xiàn)代人每天生活的一部分。利用互聯(lián)網(wǎng)進(jìn)行相互通訊是互聯(lián)網(wǎng)的基本功能之一,從最初的電子郵件到現(xiàn)在風(fēng)靡的即時(shí)通訊工具都擁有廣大的用于群?;ヂ?lián)網(wǎng)另一大功能是獲取信息,然而互聯(lián)網(wǎng)的信息浩如煙海,即使有強(qiáng)大的搜索工具仍然很難找到想要的信息。另外現(xiàn)代的人生活節(jié)奏越來(lái)越快,壓力越來(lái)越大,隨之而來(lái)的就是與人的交流越來(lái)越少,為了適應(yīng)社會(huì)發(fā)展變化的需要,一些基于即時(shí)通訊平臺(tái)或短信平臺(tái)的聊天系統(tǒng)就產(chǎn)生了。這種系統(tǒng)是一種通過(guò)自然語(yǔ)言文字進(jìn)行人機(jī)對(duì)話(huà)的系統(tǒng),采用自然語(yǔ)言處理技術(shù)為核心,涉及到計(jì)算語(yǔ)言學(xué)、信息科學(xué)和人工智能等多門(mén)學(xué)科。該系統(tǒng)一方面完成對(duì)用戶(hù)問(wèn)題的分析處理;另一方面基于知識(shí)庫(kù)完成正確答案的生成,可以與用戶(hù)進(jìn)行聊天,也可以進(jìn)行查詢(xún)等多種功能。
例如與用戶(hù)可以進(jìn)行下面兩端對(duì)話(huà)對(duì)話(huà)1用戶(hù)明天深圳天氣怎樣?機(jī)器人明天深圳市晴,26~32度。
用戶(hù)太好了。
機(jī)器人是啊,這么好的天氣很適合郊游。
(改為機(jī)器人好天氣很適合郊游。)對(duì)話(huà)2用戶(hù)春節(jié)晚會(huì)上將會(huì)有什么節(jié)目?機(jī)器人春節(jié)晚會(huì)上有相聲、小品,劉德華還會(huì)在春節(jié)晚會(huì)上獻(xiàn)上他的新歌。
用戶(hù)太好了。
機(jī)器人到時(shí)別忘記通過(guò)電視收看哦。
(改為機(jī)器人今年春晚肯定很精彩)這兩段對(duì)話(huà)中,用戶(hù)都輸入了相同的一句話(huà)“太好了”,但是在第一段中是用戶(hù)知道天氣后說(shuō)“太好了”,第二段中是用戶(hù)知道春晚的節(jié)目后說(shuō)“太好了”,還有很多種情況下,用戶(hù)都會(huì)說(shuō)“太好了”,但是根據(jù)上下文的語(yǔ)境,很容易發(fā)現(xiàn),用戶(hù)說(shuō)“太好了”的含義是不同的。
聊天系統(tǒng)是根據(jù)用戶(hù)輸入的自然語(yǔ)言信息采用句子模式匹配,然后返回相應(yīng)的應(yīng)答技術(shù)實(shí)現(xiàn)。但是相同的句子模式下不能代表用戶(hù)與該系統(tǒng)交談的話(huà)題屬性也是相同的,這種現(xiàn)象也相當(dāng)普遍。本文種所述的模式是指用戶(hù)輸入的自然語(yǔ)言經(jīng)過(guò)加工處理提取處理的精練部分以及類(lèi)型等屬性。
為此目前有些聊天系統(tǒng)建設(shè)知識(shí)庫(kù)時(shí),在返回的應(yīng)答中人工設(shè)計(jì)一些有關(guān)用戶(hù)聊天話(huà)題屬性的標(biāo)簽,這些屬性是與系統(tǒng)中句子屬性相同的。系統(tǒng)接收到用戶(hù)輸入的自然語(yǔ)言信息并理解后,會(huì)在系統(tǒng)中對(duì)理解的自然語(yǔ)言信息進(jìn)行模式匹配,并找到該模式匹配的應(yīng)答信息,從應(yīng)答信息中選擇一個(gè)向用戶(hù)反饋,同時(shí)將該應(yīng)答信息的話(huà)題屬性標(biāo)簽返回給用戶(hù)。但是當(dāng)系統(tǒng)搜索不到與用戶(hù)輸入的信息相匹配的模式時(shí),就無(wú)法知道新話(huà)題屬性的屬性是什么,因此無(wú)法判斷用戶(hù)的話(huà)題屬性是否轉(zhuǎn)變,只有按照原來(lái)的話(huà)題屬性從應(yīng)答中選擇一個(gè)反饋給用戶(hù),也就很容易出現(xiàn)如下段對(duì)話(huà)的情況用戶(hù)明天深圳天氣怎樣?機(jī)器人明天深圳市晴,26~32度。
用戶(hù)深圳成功申辦大運(yùn)會(huì)了。
機(jī)器人是啊,這么好的天氣很適合郊游。(這個(gè)例子不太好,這一句不太像默認(rèn)應(yīng)答)以上對(duì)話(huà)中系統(tǒng)沒(méi)有匹配到用戶(hù)輸入的“深圳成功申辦大運(yùn)會(huì)了”,因此就延續(xù)了之前的天氣話(huà)題屬性。
由于聊天系統(tǒng)的知識(shí)庫(kù)都是有限的,當(dāng)聊天系統(tǒng)遇到不能匹配的模式后,根據(jù)當(dāng)前話(huà)題屬性有針對(duì)性的返回默認(rèn)應(yīng)答則能夠給予用戶(hù)更好的體驗(yàn),而且可以根據(jù)知識(shí)庫(kù)中知識(shí)分類(lèi)的分布,有針對(duì)性的將用戶(hù)引導(dǎo)到臨近的話(huà)題屬性上,可以保證人機(jī)交談更加流暢。
但是由于該方法是在前一次用戶(hù)輸入句子、聊天系統(tǒng)返回應(yīng)答時(shí)來(lái)設(shè)置話(huà)題屬性,在后一次用戶(hù)輸入問(wèn)句時(shí),如果沒(méi)有在知識(shí)庫(kù)中匹配到句子模式,就不能辨別新問(wèn)句的話(huà)題屬性,而仍然延續(xù)前一句的話(huà)題屬性,并依據(jù)舊話(huà)題屬性選擇一個(gè)默認(rèn)應(yīng)答。而實(shí)際上用戶(hù)最后一次的語(yǔ)句話(huà)題屬性可能已經(jīng)轉(zhuǎn)移,此時(shí)如果根據(jù)用戶(hù)每一次輸入重新判斷話(huà)題屬性是延續(xù)還是轉(zhuǎn)移,則會(huì)更好的鑒別用戶(hù)當(dāng)前談?wù)摰脑?huà)題屬性,在匹配不到句子模式時(shí)優(yōu)選當(dāng)前話(huà)題屬性有針對(duì)性的默認(rèn)應(yīng)答返回則能夠給予用戶(hù)更好的體驗(yàn)。因此在匹配模式后進(jìn)行話(huà)題屬性的賦予是現(xiàn)有技術(shù)中的關(guān)鍵癥結(jié)所在,其缺少判斷話(huà)題屬性是否轉(zhuǎn)移的方法;從而也就缺少了在用戶(hù)輸入自然語(yǔ)言信息后,進(jìn)行理解,識(shí)別話(huà)題屬性的過(guò)程。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題是提供一種能夠連續(xù)聊天的方法與系統(tǒng)。為解決上述技術(shù)問(wèn)題,本發(fā)明的目的是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的獲取輸入的語(yǔ)言信息,分析該語(yǔ)言信息的句子主干與確定句型;通過(guò)預(yù)置的話(huà)題詞典、所述的句子主干與句型確定該語(yǔ)言信息的話(huà)題屬性;判斷是否存在對(duì)應(yīng)于所述的句子主干與句型的句子模式,若否則從默認(rèn)應(yīng)答中選擇一個(gè)與所述話(huà)題屬性相對(duì)應(yīng)的應(yīng)答反饋,若是則確定一個(gè)模式,從該模式對(duì)應(yīng)的應(yīng)答中選擇一個(gè)反饋。
對(duì)應(yīng)與該方法本發(fā)明實(shí)施例還提供了一種聊天系統(tǒng),該系統(tǒng)包括獲取單元,用于獲取用戶(hù)輸入的自然語(yǔ)言信息;自然語(yǔ)言處理單元,用于通過(guò)計(jì)算語(yǔ)言知識(shí)分析所述的自然語(yǔ)言信息,確定該自然語(yǔ)言信息的句子主干與句型;計(jì)算語(yǔ)言知識(shí)存儲(chǔ)單元,用于存儲(chǔ)理解自然語(yǔ)言必須的知識(shí);
話(huà)題理解單元,用于通過(guò)句子主干與句型、話(huà)題詞典鑒別用戶(hù)輸入的自然語(yǔ)言的話(huà)題屬性;話(huà)題詞典存儲(chǔ)單元,用于存儲(chǔ)話(huà)題詞典,該詞典包括自然語(yǔ)言信息中關(guān)鍵詞與話(huà)題之間的關(guān)聯(lián)關(guān)系;推理單元,用于通過(guò)推理知識(shí)判斷是否存在對(duì)應(yīng)于所述的句子主干與句型的句子模式,若不存在則從默認(rèn)應(yīng)答中選擇一個(gè)與話(huà)題相對(duì)應(yīng)的應(yīng)答;若存在則確定一個(gè)模式從該模式對(duì)應(yīng)的應(yīng)答中選擇一個(gè)應(yīng)答;推理知識(shí)存儲(chǔ)單元,用于存儲(chǔ)對(duì)用戶(hù)輸入的自然語(yǔ)言信息匹配的各種句子模式;每種模式對(duì)應(yīng)的帶有話(huà)題屬性的應(yīng)答和帶有話(huà)題屬性的默認(rèn)應(yīng)答;發(fā)送單元,用于將推理單元選擇的應(yīng)答反饋給用戶(hù)。
本發(fā)明還提供了一種聊天方法,該方法包括獲取輸入的語(yǔ)言信息,分析該語(yǔ)言信息的句子主干與確定句型;通過(guò)所述的句子主干與句型鑒別該語(yǔ)言信息的話(huà)題屬性,若為無(wú)主題則將前次的話(huà)題屬性確定為本次的話(huà)題屬性;判斷是否存在多個(gè)所述的話(huà)題屬性;若否,則從預(yù)置的句子模式中選擇一個(gè)與該語(yǔ)言信息匹配的句子模式;若選擇到則從所述的句子模式對(duì)應(yīng)的應(yīng)答信息中選擇一個(gè)輸出;若沒(méi)有選擇到則從默認(rèn)應(yīng)答信息中選擇一個(gè)輸出;若是,則從預(yù)置的句子模式中對(duì)每一個(gè)話(huà)題屬性選擇一個(gè)與該語(yǔ)言信息匹配的句子模式,并從中隨機(jī)選擇一個(gè)句子模式,從該句子模式對(duì)應(yīng)的應(yīng)答信息中選擇一個(gè)輸出;若沒(méi)有匹配到的句子模式,則從默認(rèn)應(yīng)答信息中選擇一個(gè)輸出。
對(duì)應(yīng)于該方法,本發(fā)明還提供了一種聊天系統(tǒng),該系統(tǒng)包括語(yǔ)言信息獲取單元,用于獲取用戶(hù)輸入的自然語(yǔ)言信息;分析單元,用于通過(guò)計(jì)算語(yǔ)言知識(shí)分析所述的自然語(yǔ)言信息,確定該自然語(yǔ)言信息的句子主干與句型;自然語(yǔ)言知識(shí)存儲(chǔ)單元,用于存儲(chǔ)理解自然語(yǔ)言必須的知識(shí);
話(huà)題單元,用于通過(guò)所述的句子主干與句型、話(huà)題詞典鑒別該語(yǔ)言信息的話(huà)題屬性,若為無(wú)主題則將前次的話(huà)題屬性確定為本次的話(huà)題屬性;確定是否存在多個(gè)所述的話(huà)題屬性;話(huà)題存儲(chǔ)單元,用于存儲(chǔ)話(huà)題詞典,該詞典包括自然語(yǔ)言信息中關(guān)鍵詞與話(huà)題之間的關(guān)聯(lián)關(guān)系;推理模式及應(yīng)答單元,用于當(dāng)不存在多個(gè)所述的話(huà)題屬性時(shí),則從預(yù)置的句子模式中選擇一個(gè)與該語(yǔ)言信息匹配的句子模式;若選擇到則從所述的句子模式對(duì)應(yīng)的應(yīng)答信息中選擇一個(gè);若沒(méi)有選擇到則從默認(rèn)應(yīng)答信息中選擇一個(gè);當(dāng)存在多個(gè)所述的話(huà)題屬性時(shí),則從預(yù)置的句子模式中對(duì)每一個(gè)話(huà)題屬性選擇一個(gè)與該語(yǔ)言信息匹配的句子模式,并從中隨機(jī)選擇一個(gè)句子模式,從該句子模式對(duì)應(yīng)的應(yīng)答信息中選擇一個(gè);若沒(méi)有匹配到的句子模式,則從默認(rèn)應(yīng)答信息中選擇一個(gè);推理模式及應(yīng)答知識(shí)存儲(chǔ)單元,用于存儲(chǔ)對(duì)用戶(hù)輸入的自然語(yǔ)言信息匹配的各種句子模式;每種模式對(duì)應(yīng)的帶有話(huà)題屬性的應(yīng)答和帶有話(huà)題屬性的默認(rèn)應(yīng)答;發(fā)送應(yīng)答單元,用于將推理模式及應(yīng)答單元選擇的應(yīng)答反饋給用戶(hù)。
以上技術(shù)方案可以看出,由于在進(jìn)行模式匹配前就進(jìn)行了話(huà)題鑒別的過(guò)程,降低了模式匹配不到產(chǎn)生的話(huà)題無(wú)法鑒別的幾率;并且進(jìn)一步在判斷為句子話(huà)題屬性為無(wú)主題時(shí),將上一個(gè)句子的話(huà)題屬性賦予此次句子的話(huà)題屬性,使得在無(wú)主題時(shí)能夠連貫的進(jìn)行對(duì)話(huà)。
圖1為本發(fā)明實(shí)施例多層次話(huà)題體系的示意圖;圖2為本發(fā)明實(shí)施例多層次話(huà)題的聊天方法流程圖;圖3為本發(fā)明實(shí)施例多層次話(huà)題的聊天的系統(tǒng)圖;圖4為本發(fā)明實(shí)施例單一層次話(huà)題的聊天方法流程圖;圖5為本發(fā)明實(shí)施例單一層次話(huà)題的聊天方法系統(tǒng)圖。
具體實(shí)施例方式
本發(fā)明實(shí)施例提供了基于話(huà)題屬性鑒別的聊天方法與系統(tǒng),下面詳述實(shí)施例的內(nèi)容。
在與用戶(hù)進(jìn)行聊天前,首先要建立多層次話(huà)題機(jī)制的類(lèi)別體系,即一種根據(jù)話(huà)題粒度大小建立的多層次話(huà)題體系,參見(jiàn)圖1。這種多層次話(huà)題機(jī)制類(lèi)別體系是參照按照人類(lèi)的知識(shí)知識(shí)結(jié)構(gòu)建立的,例如影視明星是一個(gè)大粒度的話(huà)題,其下面包括有劉德華、張學(xué)友等多個(gè)相同小粒度的話(huà)題。
因自然語(yǔ)言處理很多需要訓(xùn)練,建立一些統(tǒng)計(jì)關(guān)系,這就需要預(yù)先建立一些計(jì)算語(yǔ)言知識(shí)庫(kù),專(zhuān)門(mén)用來(lái)對(duì)自然語(yǔ)言進(jìn)行處理;其中包括但不限制于詞典、詞頻、句法規(guī)則、語(yǔ)義規(guī)則等各種統(tǒng)計(jì)數(shù)據(jù),能夠得到句子的主干與句子的類(lèi)型等信息;并且還需要建立關(guān)鍵詞與話(huà)題之間的統(tǒng)計(jì)關(guān)系,建立關(guān)鍵詞和最小粒度話(huà)題之間的映射關(guān)系,一般是多對(duì)多的;關(guān)鍵詞對(duì)每個(gè)話(huà)題有不同的打分,建立每個(gè)關(guān)鍵詞與每個(gè)話(huà)題相關(guān)的概率的知識(shí)庫(kù),形成一個(gè)話(huà)題辭典。
在建立上述基礎(chǔ)內(nèi)容的基礎(chǔ)上,還需要建立推理知識(shí)庫(kù),存儲(chǔ)針對(duì)用戶(hù)可能輸入的各種自然語(yǔ)言對(duì)應(yīng)的模式,及每種模式下的應(yīng)答、默認(rèn)應(yīng)答等多種內(nèi)容,其中應(yīng)答信息也是按照多層次話(huà)題粒度劃分的。
下面詳細(xì)介紹與用戶(hù)聊天的方法,參見(jiàn)圖2步驟201獲取用戶(hù)輸入的自然語(yǔ)言信息,分析句子主干及確定句子類(lèi)型;此處就是利用計(jì)算語(yǔ)言知識(shí)庫(kù)中存儲(chǔ)的內(nèi)容進(jìn)行分析,該部分的內(nèi)容是人工智能領(lǐng)域一個(gè)重要的研究方向,它使得計(jì)算機(jī)能夠理解和運(yùn)用人類(lèi)的自然語(yǔ)言,可以實(shí)現(xiàn)人與計(jì)算機(jī)之間基于自然語(yǔ)言的有效通信。本文中所述的自然語(yǔ)言都是指的人類(lèi)使用的各種自然語(yǔ)言,例如中文、英文等。
步驟202進(jìn)行話(huà)題屬性鑒別。
因?yàn)橛脩?hù)輸入的自然語(yǔ)言信息是千變?nèi)f化的,有時(shí)候能夠通過(guò)句子主干與句型等信息鑒別出話(huà)題屬性,有時(shí)候鑒別不出話(huà)題屬性,例如“太好了”等等類(lèi)似的語(yǔ)句。此時(shí)鑒別的話(huà)題屬性就包括了話(huà)題屬性為有主題或無(wú)主題。
若用戶(hù)輸入例如“太好了”的句子時(shí),則將與用戶(hù)之前的多次對(duì)話(huà)的主題確定為本次話(huà)題的主題。
步驟203判斷話(huà)題是否有沖突;若有沖突則執(zhí)行步驟204,若沒(méi)有沖突則執(zhí)行步驟205;此步驟所述的話(huà)題有沖突是指,由于本實(shí)施例建立的是多層次話(huà)題機(jī)制的類(lèi)別體系,那么在用戶(hù)輸入的自然語(yǔ)言信息中可能會(huì)包括多個(gè)相同層次,即多個(gè)相同粒度的話(huà)題主題,那么系統(tǒng)就無(wú)法辨別用戶(hù)所述的到底是哪一個(gè)話(huà)題主題。
步驟204將粒度放大,確定一個(gè)話(huà)題屬性;該步驟就是指將多個(gè)相同粒度的話(huà)題主題逐步進(jìn)行粒度放大,查找該粒度、即該層次的高一層次的話(huà)題,看是否能夠找到一個(gè)包含所有相同粒度的話(huà)題主題的高粒度話(huà)題主題;若找到了,則將找到的高粒度話(huà)題主題確定為本此對(duì)話(huà)的話(huà)題主題;若沒(méi)有找到則將本次對(duì)話(huà)主題定為無(wú)主題。
步驟205通過(guò)分析的句子主干及確定的句子類(lèi)型、系統(tǒng)預(yù)置的推理知識(shí)庫(kù)判斷是否存在對(duì)應(yīng)的句子類(lèi)型;若存在則執(zhí)行步驟206;若不存在則執(zhí)行步驟217;此處判斷是否存在對(duì)應(yīng)的句子類(lèi)型的標(biāo)準(zhǔn)是相似度高,并且需要達(dá)到一定的限值才能是與句子主干、確定的句子類(lèi)型對(duì)應(yīng)的模型。
步驟206判斷是否僅匹配到一個(gè)句子模式,若是則執(zhí)行步驟208,若不是則執(zhí)行步驟207;步驟207因步驟204中進(jìn)一步確定的了話(huà)題屬性為有主題或無(wú)主題,在將粒度放大確定為無(wú)主題的情況下,從多個(gè)句子模式中任意選擇一個(gè)句子模式;在粒度放大確定有主題或者無(wú)話(huà)題沖突時(shí)確定的主題情況下,從多個(gè)句子模式中選擇話(huà)題匹配的句子模式。
步驟208判斷步驟207中選擇的句子模式是否有話(huà)題主題;若有則執(zhí)行步驟209;若沒(méi)有則執(zhí)行步驟210;步驟209判斷在該有話(huà)題主題的句子模式對(duì)應(yīng)的應(yīng)答中,是否有話(huà)題匹配的最小粒度話(huà)題應(yīng)答;若有則執(zhí)行步驟214;若沒(méi)有則執(zhí)行步驟211;推理知識(shí)庫(kù)中存儲(chǔ)的應(yīng)答信息也是按照多層次話(huà)題粒度劃分的,為了向用戶(hù)返回最貼近話(huà)題主題的應(yīng)答,所以首先在最小粒度話(huà)題的應(yīng)答中查找。
步驟210從該句子模式對(duì)應(yīng)的應(yīng)答中任意選擇一個(gè)應(yīng)答,并將該應(yīng)答反饋用戶(hù)。
步驟211根據(jù)預(yù)先設(shè)置的多層次話(huà)題粒度體系,判斷話(huà)題粒度是否到達(dá)了最高一級(jí),若沒(méi)有則執(zhí)行步驟212;若到達(dá)則執(zhí)行步驟210;步驟212將粒度放大;該步驟同步驟204的做法相似,就是指將多個(gè)相同粒度的話(huà)題主題進(jìn)行粒度放大,查找該粒度、即該層次的高一層次的話(huà)題,看是否能夠找到一個(gè)包含所有相同粒度的話(huà)題主題的高粒度話(huà)題主題。
步驟213判斷高一級(jí)的粒度中是否有話(huà)題匹配的應(yīng)答;若沒(méi)有則執(zhí)行步驟209;若有則執(zhí)行步驟214。
步驟214判斷是否有多個(gè)話(huà)題匹配的應(yīng)答,若有則執(zhí)行步驟215;若沒(méi)有則執(zhí)行步驟216。
步驟215從多個(gè)話(huà)題匹配的應(yīng)答中任意選擇一個(gè)應(yīng)答。
步驟216將選擇的應(yīng)答反饋給用戶(hù)。
步驟217在沒(méi)有匹配的問(wèn)句模式時(shí),判斷步驟204中確定的話(huà)題屬性是否為有主題,是則執(zhí)行步驟218;否則執(zhí)行步驟222;步驟218判斷默認(rèn)應(yīng)答中是否有最小粒度話(huà)題匹配的應(yīng)答;若有則執(zhí)行步驟221;若沒(méi)有則執(zhí)行步驟219;推理知識(shí)庫(kù)中存儲(chǔ)的默認(rèn)應(yīng)答信息也是按照多層次話(huà)題粒度劃分的,為了向用戶(hù)返回最貼近話(huà)題主題的應(yīng)答,所以首先在最小粒度話(huà)題的應(yīng)答中查找。
步驟219根據(jù)預(yù)先設(shè)置的多層次話(huà)題粒度體系,判斷話(huà)題粒度是否到達(dá)了最高一級(jí),若沒(méi)有則執(zhí)行步驟219;若到達(dá)則執(zhí)行步驟214;步驟220將粒度放大;該步驟同步驟204的做法相似,就是指將多個(gè)相同粒度的話(huà)題主題進(jìn)行粒度放大,查找該粒度、即該層次的高一層次的話(huà)題,看是否能夠找到一個(gè)包含所有相同粒度的話(huà)題主題的高粒度話(huà)題主題。
步驟221判斷高一級(jí)的粒度中是否有話(huà)題匹配的應(yīng)答;若沒(méi)有則執(zhí)行步驟214;若有則執(zhí)行步驟219。
步驟222從所有默認(rèn)應(yīng)答中任意選擇一個(gè)應(yīng)答,并反饋給用戶(hù)。
在此實(shí)施例的基礎(chǔ)上,為了更好的為了進(jìn)一步增加對(duì)話(huà)的連貫性,提高了用戶(hù)的滿(mǎn)意度,可以在確定話(huà)題主題時(shí)進(jìn)行進(jìn)一步細(xì)化,在話(huà)題主題轉(zhuǎn)移的情況下做相應(yīng)的處理。
此方法與上述的實(shí)施例基本相同,只是在步驟202、204時(shí)有相應(yīng)的變化,為此只詳細(xì)描述在202、204中的部分,將下述的內(nèi)容替換入上述實(shí)施例就可,其他步驟不再累述。
步驟202進(jìn)行話(huà)題屬性鑒別,并鑒別是否話(huà)題發(fā)生轉(zhuǎn)移。
因?yàn)橛脩?hù)輸入的自然語(yǔ)言信息是千變?nèi)f化的,有時(shí)候能夠通過(guò)句子主干與句型等信息鑒別出話(huà)題屬性,有時(shí)候鑒別不出話(huà)題屬性,例如“太好了”等等類(lèi)似的語(yǔ)句。此時(shí)鑒別的話(huà)題屬性就包括了話(huà)題屬性為有主題或無(wú)主題。
若用戶(hù)輸入例如“太好了”的句子時(shí),則將與用戶(hù)之前的多次對(duì)話(huà)的主題確定為本次話(huà)題的主題。
在鑒別話(huà)題屬性的同時(shí)進(jìn)行話(huà)題是否發(fā)生轉(zhuǎn)移的判斷,即通過(guò)對(duì)比多次之前的對(duì)話(huà)主題,判斷此次的話(huà)題是否發(fā)生轉(zhuǎn)移,并將結(jié)果保存。
步驟204將粒度放大,確定一個(gè)話(huà)題屬性;此處是指將多個(gè)相同粒度的話(huà)題主題進(jìn)行粒度放大,查找該粒度、即該層次的高一層次的話(huà)題,看是否能夠找到一個(gè)包含所有相同粒度的話(huà)題主題的高粒度話(huà)題主題;
若找到了,則將找到的高粒度話(huà)題主題確定為本此對(duì)話(huà)的話(huà)題主題;若沒(méi)有找到,并且根據(jù)步驟202中的話(huà)題轉(zhuǎn)移結(jié)果,進(jìn)行相應(yīng)的處理;若話(huà)題未發(fā)生轉(zhuǎn)移,則將前次的話(huà)題主題定為本次對(duì)話(huà)的話(huà)題主題;若話(huà)題發(fā)生轉(zhuǎn)移則將此次對(duì)話(huà)的主題定為無(wú)主題。
由于系統(tǒng)自身的存儲(chǔ)容量是有限的,為了更好的與用戶(hù)進(jìn)行流暢的對(duì)話(huà),本發(fā)明實(shí)施例還可以進(jìn)行主動(dòng)的話(huà)題轉(zhuǎn)移。例如可以在上述實(shí)施例的基礎(chǔ)上通過(guò)下述方法實(shí)現(xiàn)在有對(duì)應(yīng)于所述的句子主干與句型的句子模式,但與話(huà)題匹配的句子模型數(shù)量低于預(yù)置的限值時(shí),將該話(huà)題屬性進(jìn)行粒度放大,在放大的話(huà)題屬性粒度基礎(chǔ)上,判斷與此次話(huà)題屬性粒度相同的其他話(huà)題屬性的句子模型是否超過(guò)預(yù)置的限制,并從中選擇一個(gè)預(yù)置內(nèi)容最多的話(huà)題屬性;若選擇到則將從話(huà)題屬性轉(zhuǎn)移至新話(huà)題上,并反饋轉(zhuǎn)移了話(huà)題屬性的應(yīng)答;若沒(méi)有選擇到則從默認(rèn)應(yīng)答中選擇一個(gè)與所述話(huà)題屬性相對(duì)應(yīng)的應(yīng)答信息進(jìn)行反饋。
本發(fā)明實(shí)施例還提供了一種基于話(huà)題屬性鑒別的聊天系統(tǒng),參見(jiàn)圖3該系統(tǒng)包括獲取單元、自然語(yǔ)言處理單元、計(jì)算語(yǔ)言知識(shí)存儲(chǔ)單元、話(huà)題理解單元、話(huà)題詞典存儲(chǔ)單元、推理單元、推理知識(shí)存儲(chǔ)單元、發(fā)送單元;獲取單元,用于獲取用戶(hù)輸入的自然語(yǔ)言信息;自然語(yǔ)言處理單元,用于通過(guò)計(jì)算語(yǔ)言知識(shí)分析所述的自然語(yǔ)言信息,確定該自然語(yǔ)言信息的句子主干與句型;計(jì)算語(yǔ)言知識(shí)存儲(chǔ)單元,用于存儲(chǔ)理解自然語(yǔ)言必須的知識(shí);話(huà)題理解單元,用于通過(guò)句子主干與句型、話(huà)題詞典鑒別用戶(hù)輸入的自然語(yǔ)言的話(huà)題屬性;推理單元,用于通過(guò)推理知識(shí)判斷是否存在對(duì)應(yīng)于所述的句子主干與句型的句子模式,若不存在則從默認(rèn)應(yīng)答中選擇一個(gè)與話(huà)題相對(duì)應(yīng)的應(yīng)答;若存在則確定一個(gè)模式從該模式對(duì)應(yīng)的應(yīng)答中選擇一個(gè)應(yīng)答;推理知識(shí)存儲(chǔ)單元,用于存儲(chǔ)對(duì)用戶(hù)輸入的自然語(yǔ)言信息匹配的各種句子模式;每種模式對(duì)應(yīng)的帶有話(huà)題屬性的應(yīng)答和帶有話(huà)題屬性的默認(rèn)應(yīng)答;每種模式對(duì)應(yīng)的帶有話(huà)題屬性的應(yīng)答,模式的話(huà)題屬性是所有應(yīng)答的話(huà)題屬性的集合;推理知識(shí)存儲(chǔ)單元還包含沒(méi)有模式相對(duì)應(yīng)的默認(rèn)應(yīng)答,默認(rèn)應(yīng)答同樣帶有話(huà)題屬性。
發(fā)送單元,用于將推理單元選擇的應(yīng)答反饋給用戶(hù)。
其中話(huà)題理解單元具體包括了話(huà)題鑒別單元、話(huà)題粒度判斷單元、第一話(huà)題選擇單元、第二話(huà)題選擇單元、話(huà)題轉(zhuǎn)移判斷單元;話(huà)題鑒別單元,用于鑒別獲得的自然語(yǔ)言信息的話(huà)題屬性是否為無(wú)主題;第一話(huà)題選擇單元,用于通過(guò)話(huà)題鑒別單元鑒別出無(wú)主題的結(jié)果,將前次的話(huà)題屬性置為該次的話(huà)題屬性;第二話(huà)題選擇單元,用于通過(guò)話(huà)題粒度判斷單元判斷的存在多個(gè)相同粒度的話(huà)題結(jié)果,將該粒度基礎(chǔ)上進(jìn)行放大,直到選擇到一個(gè)包含所有話(huà)題粒度的話(huà)題;若選擇不到則將此次話(huà)題屬性定為無(wú)主題;用于在確定話(huà)題未發(fā)生轉(zhuǎn)移,且存在多個(gè)相同粒度話(huà)題結(jié)果、放大粒度后確定為無(wú)主題時(shí),將前次的話(huà)題主題確定為本次話(huà)題主題;在確定話(huà)題未發(fā)生轉(zhuǎn)移、存在多個(gè)相同粒度的話(huà)題結(jié)果、放大粒度后確定為無(wú)主題時(shí),將本次話(huà)題定為無(wú)主題。
話(huà)題粒度判斷單元,用于通過(guò)預(yù)置的話(huà)題粒度結(jié)構(gòu)判斷確定的此次話(huà)題屬性在其最小粒度下是否存在多個(gè)相同粒度的話(huà)題;話(huà)題轉(zhuǎn)移判斷單元,用于在話(huà)題鑒別單元鑒別出話(huà)題屬性為有主題時(shí),對(duì)比之前多次的話(huà)題主題,判斷此次話(huà)題主題是否發(fā)生轉(zhuǎn)移;話(huà)題詞典存儲(chǔ)單元,用于存儲(chǔ)話(huà)題詞典,該詞典包括自然語(yǔ)言信息中關(guān)鍵詞與話(huà)題之間的關(guān)聯(lián)關(guān)系;其中推理單元具體包括模式判斷單元、默認(rèn)應(yīng)答選擇單元、最小粒度判斷單元、默認(rèn)應(yīng)答話(huà)題選擇單元;第二無(wú)主題應(yīng)答選擇單元、第二應(yīng)答選擇單元;限值判斷單元、話(huà)題轉(zhuǎn)移單元、第三應(yīng)答選擇單元;模式判斷單元,用于通過(guò)推理知識(shí)判斷是否存在對(duì)應(yīng)于所述的句子主干與句型的句子模式;
默認(rèn)應(yīng)答選擇單元,用于在不存在匹配的句子模式、第二話(huà)題選擇單元確定話(huà)題屬性為無(wú)主題時(shí),從默認(rèn)應(yīng)答中選擇一個(gè);最小粒度判斷單元,用于在不存在匹配的句子模式、第二話(huà)題選擇單元確定話(huà)題屬性有主題時(shí),判斷默認(rèn)應(yīng)答中是否存在與其最小粒度話(huà)題匹配的應(yīng)答;默認(rèn)應(yīng)答話(huà)題選擇單元,用于在判斷默認(rèn)應(yīng)答中存在與其最小粒度話(huà)題匹配的應(yīng)答時(shí),從所述的話(huà)題匹配的應(yīng)答中選擇一個(gè);在判斷默認(rèn)應(yīng)答中不存在與其最小粒度話(huà)題匹配的應(yīng)答時(shí),從默認(rèn)應(yīng)答中選擇一個(gè)。
第一無(wú)主題應(yīng)答選擇單元、第一應(yīng)答選擇單元;第一無(wú)主題應(yīng)答選擇單元,用于在模式判斷單元判斷出僅有一個(gè)對(duì)應(yīng)于所述的句子主干與句型的句子模式、且話(huà)題屬性為無(wú)主題時(shí),從該句子對(duì)應(yīng)的應(yīng)答中選擇一個(gè);第一應(yīng)答選擇單元,用于在模式判斷單元判斷出僅有一個(gè)對(duì)應(yīng)于所述的句子主干與句型的句子模式、且話(huà)題屬性為有主題時(shí),從該模式對(duì)應(yīng)的應(yīng)答中選擇一個(gè)話(huà)題匹配的應(yīng)答。
第二無(wú)主題應(yīng)答選擇單元,用于在在模式判斷單元判斷出有多個(gè)對(duì)應(yīng)于所述的句子主干與句型的句子模式、且話(huà)題屬性為無(wú)主題時(shí),從模式匹配度最高的模式對(duì)應(yīng)的應(yīng)答中選擇一個(gè);第二應(yīng)答選擇單元,還用于在模式判斷單元判斷出有多個(gè)對(duì)應(yīng)于所述的句子主干與句型的句子模式、且話(huà)題屬性為有主題時(shí),則從話(huà)題屬性匹配的模式對(duì)應(yīng)的應(yīng)答中選擇一個(gè)話(huà)題屬性匹配的應(yīng)答。
推理知識(shí)存儲(chǔ)單元,進(jìn)一步用于存儲(chǔ)每種模式對(duì)應(yīng)的帶有轉(zhuǎn)移話(huà)題屬性的應(yīng)答;限值判斷單元,用于判斷是否有對(duì)應(yīng)于所述的句子主干與句型的句子模式,但與話(huà)題匹配的句子模式數(shù)量低于預(yù)置的限值;及將話(huà)題屬性進(jìn)行粒度放大,在放大的話(huà)題屬性粒度基礎(chǔ)上,判斷與此次話(huà)題屬性粒度相同的其他話(huà)題屬性的句子模型是否超過(guò)預(yù)置的限制;
話(huà)題轉(zhuǎn)移單元,用于在與此次話(huà)題屬性粒度相同的其他話(huà)題屬性的句子模型超過(guò)預(yù)置的限制,將從話(huà)題屬性轉(zhuǎn)移至新話(huà)題上;第三應(yīng)答選擇單元,用于在從話(huà)題屬性轉(zhuǎn)移時(shí)從每種模式對(duì)應(yīng)的帶有轉(zhuǎn)移話(huà)題屬性的應(yīng)答中選擇一個(gè)應(yīng)答。
上述的實(shí)施例是在多層次話(huà)題機(jī)制的情況下進(jìn)行了,下面所述的實(shí)施例是在單一層次話(huà)題機(jī)制下進(jìn)行。即所有的話(huà)題只有同一粒度。參見(jiàn)圖4,本實(shí)施例具體流程為步驟401獲取用戶(hù)輸入的自然語(yǔ)言信息,分析句子主干及確定句子類(lèi)型;此處就是利用計(jì)算語(yǔ)言知識(shí)庫(kù)中存儲(chǔ)的內(nèi)容進(jìn)行分析,該部分的內(nèi)容是人工智能領(lǐng)域一個(gè)重要的研究方向,它使得計(jì)算機(jī)能夠理解和運(yùn)用人類(lèi)的自然語(yǔ)言,可以實(shí)現(xiàn)人與計(jì)算機(jī)之間基于自然語(yǔ)言的有效通信。本文中所述的自然語(yǔ)言都是指的人類(lèi)使用的各種自然語(yǔ)言,例如中文、英文等。
步驟402進(jìn)行話(huà)題屬性鑒別。
因?yàn)橛脩?hù)輸入的自然語(yǔ)言信息是千變?nèi)f化的,有時(shí)候能夠通過(guò)句子主干與句型等信息鑒別出話(huà)題屬性,有時(shí)候鑒別不出話(huà)題屬性,例如“太好了”等等類(lèi)似的語(yǔ)句。此時(shí)鑒別的話(huà)題屬性就包括了話(huà)題屬性為有主題或無(wú)主題。
若用戶(hù)輸入例如“太好了”的句子時(shí),則將與用戶(hù)之前的多次對(duì)話(huà)的主題確定為本次話(huà)題的主題。
步驟403判斷話(huà)題是否有沖突;若有沖突則執(zhí)行步驟410,若沒(méi)有沖突則執(zhí)行步驟404;此步驟所述的話(huà)題有沖突是指,由于本實(shí)施例建立的是多層次話(huà)題體系,那么在用戶(hù)輸入的自然語(yǔ)言信息中可能會(huì)包括多個(gè)相同層次,即多個(gè)相同粒度的話(huà)題主題,那么系統(tǒng)就無(wú)法辨別用戶(hù)所述的到底是哪一個(gè)話(huà)題主題。
步驟404通過(guò)分析的句子主干及確定的句子類(lèi)型、系統(tǒng)預(yù)置的推理知識(shí)庫(kù)判斷是否存在對(duì)應(yīng)的句子類(lèi)型;若存在則執(zhí)行步驟405;若不存在則執(zhí)行步驟413;此處判斷是否存在對(duì)應(yīng)的句子類(lèi)型的標(biāo)準(zhǔn)是相似度高,并且需要達(dá)到一定的限值才能是與句子主干、確定的句子類(lèi)型對(duì)應(yīng)的模型。
步驟405判斷是否僅匹配到一個(gè)句子模式。若是則執(zhí)行步驟407;若否則執(zhí)行步驟406;步驟406從中選擇話(huà)題屬性匹配的句子模式,若選擇到則執(zhí)行步驟407;若沒(méi)有選擇到從中任意選擇一個(gè)執(zhí)行步驟407;步驟407判斷在該句子模式對(duì)應(yīng)的應(yīng)答中是否有話(huà)題匹配的應(yīng)答,若沒(méi)有則執(zhí)行步驟409;若有則執(zhí)行步驟408;步驟408從話(huà)題匹配的應(yīng)答中任意選擇一個(gè)反饋給用戶(hù);步驟409從該句子模式對(duì)應(yīng)的應(yīng)答中任意選擇一個(gè)反饋給用戶(hù);步驟410對(duì)所有有沖突的話(huà)題進(jìn)行句子模式匹配;步驟411判斷是否有匹配的句子模式,若有則執(zhí)行步驟412;若沒(méi)有則執(zhí)行步驟413步驟412任意從所有有沖突問(wèn)句模式中選擇一個(gè),執(zhí)行步驟407;步驟413判斷默認(rèn)應(yīng)答中是否有話(huà)題匹配的應(yīng)答,若有則執(zhí)行步驟414;若沒(méi)有則執(zhí)行步驟415;步驟414從句子模式對(duì)應(yīng)的話(huà)題匹配的應(yīng)答中任意選擇一個(gè)反饋給用戶(hù);步驟415從句子模式對(duì)應(yīng)的所有默認(rèn)應(yīng)答中任意選擇一個(gè)反饋給用戶(hù)。
本發(fā)明還提供了一種聊天系統(tǒng),參見(jiàn)圖5,該系統(tǒng)包括語(yǔ)言信息獲取單元、分析單元、話(huà)題單元、推理模式及應(yīng)答單元、發(fā)送應(yīng)答單元、自然語(yǔ)言知識(shí)存儲(chǔ)單元、話(huà)題存儲(chǔ)單元、推理模式及應(yīng)答知識(shí)存儲(chǔ)單元;獲取單元,用于獲取用戶(hù)輸入的自然語(yǔ)言信息;分析單元,用于通過(guò)計(jì)算語(yǔ)言知識(shí)分析所述的自然語(yǔ)言信息,確定該自然語(yǔ)言信息的句子主干與句型;自然語(yǔ)言知識(shí)存儲(chǔ)單元,用于存儲(chǔ)理解自然語(yǔ)言必須的知識(shí);話(huà)題單元,用于通過(guò)所述的句子主干與句型、話(huà)題詞典鑒別該語(yǔ)言信息的話(huà)題屬性,若為無(wú)主題則將前次的話(huà)題屬性確定為本次的話(huà)題屬性;確定是否存在多個(gè)所述的話(huà)題屬性;話(huà)題存儲(chǔ)單元,用于存儲(chǔ)話(huà)題詞典,該詞典包括自然語(yǔ)言信息中關(guān)鍵詞與話(huà)題之間的關(guān)聯(lián)關(guān)系;推理模式及應(yīng)答單元,用于當(dāng)不存在多個(gè)所述的話(huà)題屬性時(shí),則從預(yù)置的句子模式中選擇一個(gè)與該語(yǔ)言信息匹配的句子模式;若選擇到則從所述的句子模式對(duì)應(yīng)的應(yīng)答信息中選擇一個(gè);若沒(méi)有選擇到則從默認(rèn)應(yīng)答信息中選擇一個(gè);當(dāng)存在多個(gè)所述的話(huà)題屬性時(shí),則從預(yù)置的句子模式中對(duì)每一個(gè)話(huà)題屬性選擇一個(gè)與該語(yǔ)言信息匹配的句子模式,并從中隨機(jī)選擇一個(gè)句子模式,從該句子模式對(duì)應(yīng)的應(yīng)答信息中選擇一個(gè);若沒(méi)有匹配到的句子模式,則從默認(rèn)應(yīng)答信息中選擇一個(gè);推理模式及應(yīng)答知識(shí)存儲(chǔ)單元,用于存儲(chǔ)對(duì)用戶(hù)輸入的自然語(yǔ)言信息匹配的各種句子模式;每種模式對(duì)應(yīng)的帶有話(huà)題屬性的應(yīng)答和帶有話(huà)題屬性的默認(rèn)應(yīng)答;發(fā)送應(yīng)答單元,用于將推理模式及應(yīng)答單元選擇的應(yīng)答反饋給用戶(hù)。
以上技術(shù)方案可以看出,由于在進(jìn)行模式匹配前就進(jìn)行了話(huà)題鑒別的過(guò)程,降低了模式匹配不到產(chǎn)生的話(huà)題無(wú)法鑒別的幾率;并且進(jìn)一步在判斷為句子話(huà)題屬性為無(wú)主題時(shí),將上一個(gè)句子的話(huà)題屬性賦予此次句子的話(huà)題屬性,使得在無(wú)主題時(shí)能夠連貫的進(jìn)行對(duì)話(huà)。
進(jìn)一步在判斷話(huà)題屬性有主題時(shí),進(jìn)而將該次主題與前幾次的話(huà)題屬性進(jìn)行對(duì)比,確定是否發(fā)生話(huà)題轉(zhuǎn)移,若發(fā)生轉(zhuǎn)移在粒度方法確定為無(wú)主題時(shí)會(huì)進(jìn)行相應(yīng)的處理,進(jìn)一步增加了對(duì)話(huà)的連貫性,提高了用戶(hù)的滿(mǎn)意度。
由于系統(tǒng)自身的存儲(chǔ)容量是有限的,為了更好的與用戶(hù)進(jìn)行流暢的對(duì)話(huà),本發(fā)明實(shí)施例還可以進(jìn)行主動(dòng)的話(huà)題轉(zhuǎn)移,使得系統(tǒng)更加智能的與用戶(hù)進(jìn)行對(duì)話(huà)。
以上對(duì)本發(fā)明實(shí)施例提供的一種聊天方法與系統(tǒng)進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說(shuō)明書(shū)內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
權(quán)利要求
1.一種聊天方法,其特征在于,該方法包括獲取輸入的語(yǔ)言信息,分析該語(yǔ)言信息的句子主干與確定句型;通過(guò)預(yù)置的話(huà)題詞典、所述的句子主干與句型確定該語(yǔ)言信息的話(huà)題屬性;判斷是否存在對(duì)應(yīng)于所述的句子主干與句型的句子模式,若否則從默認(rèn)應(yīng)答中選擇一個(gè)與所述話(huà)題屬性相對(duì)應(yīng)的應(yīng)答反饋,若是則確定一個(gè)模式,從該模式對(duì)應(yīng)的應(yīng)答中選擇一個(gè)反饋。
2.根據(jù)權(quán)利要求1所述的聊天方法,其特征在于,確定該語(yǔ)言信息的話(huà)題屬性的方法具體為鑒別該語(yǔ)言信息是否為無(wú)主題,若是則將前次獲取的語(yǔ)言信息的話(huà)題屬性確定為本次話(huà)題屬性;通過(guò)在預(yù)置的話(huà)題屬性粒度結(jié)構(gòu)判斷確定的本次話(huà)題屬性在其最小粒度下是否存在多個(gè)相同粒度的話(huà)題屬性;若不存在,則通過(guò)預(yù)置的句子模式判斷是否存在對(duì)應(yīng)于所述的句子主干與句型的句子模式;若存在,在判斷是否存在對(duì)應(yīng)于所述的句子主干與句型的句子模式前,首先通過(guò)預(yù)置的話(huà)題屬性粒度結(jié)構(gòu)將該最小粒度放大,選擇到一個(gè)包含所有粒度的話(huà)題屬性,若選擇不到則將此次語(yǔ)言信息定為無(wú)主題。
3.根據(jù)權(quán)利要求2所述的聊天方法,其特征在于,在鑒別出此次話(huà)題屬性有主題時(shí),進(jìn)一步比較之前的話(huà)題屬性主題,判斷是否發(fā)生話(huà)題屬性轉(zhuǎn)移;在存在多個(gè)相同粒度的話(huà)題屬性、在粒度放大后確定話(huà)題屬性為無(wú)主題、并且確定話(huà)題屬性未發(fā)生轉(zhuǎn)移的情況下,將前次獲取的語(yǔ)言信息的話(huà)題屬性確定為本次話(huà)題屬性;在存在多個(gè)相同粒度的話(huà)題屬性、在粒度放大后確定話(huà)題屬性為無(wú)主題、并且確定話(huà)題屬性發(fā)生轉(zhuǎn)移的情況下,將本次話(huà)題屬性定為無(wú)主題。
4.根據(jù)權(quán)利要求1至3其中之一所述的聊天方法,其特征在于,從默認(rèn)應(yīng)答中選擇一個(gè)與所述話(huà)題屬性相對(duì)應(yīng)的應(yīng)答信息進(jìn)行反饋的方法具體為判斷此次話(huà)題屬性是否為無(wú)主題,若是,則從默認(rèn)應(yīng)答中選擇一個(gè)進(jìn)行反饋;若否,則判斷默認(rèn)應(yīng)答中是否存在與最小粒度話(huà)題屬性匹配的應(yīng)答,若存在則將該應(yīng)答進(jìn)行反饋;若不存在則將該話(huà)題屬性粒度放大,選擇一個(gè)高粒度話(huà)題屬性匹配的應(yīng)答進(jìn)行反饋,若直到最高粒度仍然選擇不到話(huà)題屬性匹配的應(yīng)答,則從默認(rèn)應(yīng)答中選擇一個(gè)輸出。
5.根據(jù)權(quán)利要求1所述的聊天方法,其特征在于,若僅有一個(gè)對(duì)應(yīng)于所述的句子主干與句型的句子模式,且話(huà)題屬性為無(wú)主題,則從該句子模式對(duì)應(yīng)的應(yīng)答中選擇一個(gè)應(yīng)答反饋;若話(huà)題屬性為有主題,則從該句子模式對(duì)應(yīng)的應(yīng)答中選擇一個(gè)話(huà)題屬性匹配的應(yīng)答反饋。
6.根據(jù)權(quán)利要求1所述的聊天方法,其特征在于,若存在多個(gè)對(duì)應(yīng)于所述的句子主干與句型的句子模式,且話(huà)題屬性為無(wú)主題,則從中選擇一個(gè)模式匹配度最高的,根據(jù)該模式匹配度最高的模式選擇一個(gè)應(yīng)答反饋;若存在多個(gè)對(duì)應(yīng)于所述的句子主干與句型的句子模式,且話(huà)題屬性有主題,則選擇一個(gè)話(huà)題屬性匹配的模式,從該模式對(duì)應(yīng)的應(yīng)答中選擇一個(gè)話(huà)題屬性匹配的應(yīng)答反饋。
7.根據(jù)權(quán)利要求5或6所述的聊天方法,其特征在于,在話(huà)題屬性有主題時(shí),從模式對(duì)應(yīng)的應(yīng)答中選擇一個(gè)話(huà)題屬性匹配應(yīng)答的方法為判斷所述的對(duì)應(yīng)應(yīng)答中是否存在與最小粒度話(huà)題屬性匹配的應(yīng)答,若存在則將該應(yīng)答進(jìn)行反饋;若不存在則將該話(huà)題屬性粒度放大,選擇一個(gè)高粒度話(huà)題屬性匹配的應(yīng)答進(jìn)行反饋,若直到最高粒度仍然選擇不到,則從所述的對(duì)應(yīng)應(yīng)答中選擇一個(gè)輸出。
8.根據(jù)權(quán)利要求5或6所述的聊天方法,其特征在于,若有對(duì)應(yīng)于所述的句子主干與句型的句子模式,但與話(huà)題匹配的句子模型數(shù)量低于預(yù)置的限值時(shí),將該話(huà)題屬性進(jìn)行粒度放大,在放大的話(huà)題屬性粒度基礎(chǔ)上,判斷與此次話(huà)題屬性粒度相同的其他話(huà)題屬性的句子模型是否超過(guò)預(yù)置的限制,并從中選擇一個(gè)預(yù)置內(nèi)容最多的話(huà)題屬性;若選擇到則將從話(huà)題屬性轉(zhuǎn)移至新話(huà)題上,并反饋轉(zhuǎn)移了話(huà)題屬性的應(yīng)答;若沒(méi)有選擇到則從默認(rèn)應(yīng)答中選擇一個(gè)與所述話(huà)題屬性相對(duì)應(yīng)的應(yīng)答信息進(jìn)行反饋。
9.一種聊天系統(tǒng),其特征在于,該系統(tǒng)包括獲取單元、自然語(yǔ)言處理單元、計(jì)算語(yǔ)言知識(shí)存儲(chǔ)單元、話(huà)題理解單元、話(huà)題詞典存儲(chǔ)單元、推理單元、推理知識(shí)存儲(chǔ)單元、發(fā)送單元;獲取單元,用于獲取用戶(hù)輸入的自然語(yǔ)言信息;自然語(yǔ)言處理單元,用于通過(guò)計(jì)算語(yǔ)言知識(shí)分析所述的自然語(yǔ)言信息,確定該自然語(yǔ)言信息的句子主干與句型;計(jì)算語(yǔ)言知識(shí)存儲(chǔ)單元,用于存儲(chǔ)理解自然語(yǔ)言必須的知識(shí);話(huà)題理解單元,用于通過(guò)句子主干與句型、話(huà)題詞典鑒別用戶(hù)輸入的自然語(yǔ)言的話(huà)題屬性;話(huà)題詞典存儲(chǔ)單元,用于存儲(chǔ)話(huà)題詞典,該詞典包括自然語(yǔ)言信息中關(guān)鍵詞與話(huà)題之間的關(guān)聯(lián)關(guān)系;推理單元,用于通過(guò)推理知識(shí)判斷是否存在對(duì)應(yīng)于所述的句子主干與句型的句子模式,若不存在則從默認(rèn)應(yīng)答中選擇一個(gè)與話(huà)題相對(duì)應(yīng)的應(yīng)答;若存在則確定一個(gè)模式從該模式對(duì)應(yīng)的應(yīng)答中選擇一個(gè)應(yīng)答;推理知識(shí)存儲(chǔ)單元,用于存儲(chǔ)對(duì)用戶(hù)輸入的自然語(yǔ)言信息匹配的各種句子模式;每種模式對(duì)應(yīng)的帶有話(huà)題屬性的應(yīng)答和帶有話(huà)題屬性的默認(rèn)應(yīng)答;發(fā)送單元,用于將推理單元選擇的應(yīng)答反饋給用戶(hù)。
10.根據(jù)權(quán)利要求9所述的聊天系統(tǒng),其特征在于,話(huà)題理解單元具體包括話(huà)題鑒別單元、話(huà)題粒度判斷單元、第一話(huà)題選擇單元、第二話(huà)題選擇單元;話(huà)題鑒別單元,用于鑒別獲得的自然語(yǔ)言信息的話(huà)題屬性是否為無(wú)主題;第一話(huà)題選擇單元,用于通過(guò)話(huà)題鑒別單元鑒別出無(wú)主題的結(jié)果,將前次的話(huà)題屬性置為該次的話(huà)題屬性;第二話(huà)題選擇單元,用于通過(guò)話(huà)題粒度判斷單元判斷的存在多個(gè)相同粒度的話(huà)題結(jié)果,將將該粒度基礎(chǔ)上進(jìn)行放大,直到選擇到一個(gè)包含所有話(huà)題粒度的話(huà)題;若選擇不到則將此次話(huà)題屬性定為無(wú)主題;話(huà)題粒度判斷單元,用于通過(guò)預(yù)置的話(huà)題粒度結(jié)構(gòu)判斷確定的此次話(huà)題屬性在其最小粒度下是否存在多個(gè)相同粒度的話(huà)題;
11.根據(jù)權(quán)利要求10所述的聊天系統(tǒng),其特征在于,話(huà)題理解單元進(jìn)一步包括話(huà)題轉(zhuǎn)移判斷單元;話(huà)題轉(zhuǎn)移判斷單元,用于在話(huà)題鑒別單元鑒別出話(huà)題屬性為有主題時(shí),對(duì)比之前多次的話(huà)題主題,判斷此次話(huà)題主題是否發(fā)生轉(zhuǎn)移;第二話(huà)題選擇單元,進(jìn)一步用于在確定話(huà)題未發(fā)生轉(zhuǎn)移,且存在多個(gè)相同粒度話(huà)題結(jié)果、放大粒度后確定為無(wú)主題時(shí),將前次的話(huà)題主題確定為本次話(huà)題主題;在確定話(huà)題未發(fā)生轉(zhuǎn)移、存在多個(gè)相同粒度的話(huà)題結(jié)果、放大粒度后確定為無(wú)主題時(shí),將本次話(huà)題定為無(wú)主題。
12.根據(jù)權(quán)利要求9至11其中之一所述的聊天系統(tǒng),其特征在于,推理單元具體包括模式判斷單元、默認(rèn)應(yīng)答選擇單元、最小粒度判斷單元、默認(rèn)應(yīng)答話(huà)題選擇單元;模式判斷單元,用于通過(guò)推理知識(shí)判斷是否存在對(duì)應(yīng)于所述的句子主干與句型的句子模式;默認(rèn)應(yīng)答選擇單元,用于在不存在匹配的句子模式、第二話(huà)題選擇單元確定話(huà)題屬性為無(wú)主題時(shí),從默認(rèn)應(yīng)答中選擇一個(gè);最小粒度判斷單元,用于在不存在匹配的句子模式、第二話(huà)題選擇單元確定話(huà)題屬性有主題時(shí),判斷默認(rèn)應(yīng)答中是否存在與其最小粒度話(huà)題匹配的應(yīng)答;默認(rèn)應(yīng)答話(huà)題選擇單元,用于在判斷默認(rèn)應(yīng)答中存在與其最小粒度話(huà)題匹配的應(yīng)答時(shí),從所述的話(huà)題匹配的應(yīng)答中選擇一個(gè);在判斷默認(rèn)應(yīng)答中不存在與其最小粒度話(huà)題匹配的應(yīng)答時(shí),從默認(rèn)應(yīng)答中選擇一個(gè)。
13.根據(jù)權(quán)利要求9所述的聊天系統(tǒng),其特征在于,推理單元還包括第一無(wú)主題應(yīng)答選擇單元、第一應(yīng)答選擇單元;第一無(wú)主題應(yīng)答選擇單元,用于在模式判斷單元判斷出僅有一個(gè)對(duì)應(yīng)于所述的句子主干與句型的句子模式、且話(huà)題屬性為無(wú)主題時(shí),從該句子對(duì)應(yīng)的應(yīng)答中選擇一個(gè);第一應(yīng)答選擇單元,用于在模式判斷單元判斷出僅有一個(gè)對(duì)應(yīng)于所述的句子主干與句型的句子模式、且話(huà)題屬性為有主題時(shí),從該模式對(duì)應(yīng)的應(yīng)答中選擇一個(gè)話(huà)題匹配的應(yīng)答。
14.根據(jù)權(quán)利要求9所述的聊天系統(tǒng),其特征在于,推理單元還包括第二無(wú)主題應(yīng)答選擇單元、第二應(yīng)答選擇單元;第二無(wú)主題應(yīng)答選擇單元,用于在在模式判斷單元判斷出有多個(gè)對(duì)應(yīng)于所述的句子主干與句型的句子模式、且話(huà)題屬性為無(wú)主題時(shí),從模式匹配度最高的模式對(duì)應(yīng)的應(yīng)答中選擇一個(gè);第二應(yīng)答選擇單元,還用于在模式判斷單元判斷出有多個(gè)對(duì)應(yīng)于所述的句子主干與句型的句子模式、且話(huà)題屬性為有主題時(shí),則從話(huà)題屬性匹配的模式對(duì)應(yīng)的應(yīng)答中選擇一個(gè)話(huà)題屬性匹配的應(yīng)答。
15.根據(jù)權(quán)利要求13、14所述的聊天系統(tǒng),其特征在于,推理單元還包括限值判斷單元、話(huà)題轉(zhuǎn)移單元、第三應(yīng)答選擇單元;推理知識(shí)存儲(chǔ)單元,進(jìn)一步用于存儲(chǔ)每種模式對(duì)應(yīng)的帶有轉(zhuǎn)移話(huà)題屬性的應(yīng)答;限值判斷單元,用于判斷是否有對(duì)應(yīng)于所述的句子主干與句型的句子模式,但與話(huà)題匹配的句子模型數(shù)量低于預(yù)置的限值;及將話(huà)題屬性進(jìn)行粒度放大,在放大的話(huà)題屬性粒度基礎(chǔ)上,判斷與此次話(huà)題屬性粒度相同的其他話(huà)題屬性的句子模型是否超過(guò)預(yù)置的限制;話(huà)題轉(zhuǎn)移單元,用于在與此次話(huà)題屬性粒度相同的其他話(huà)題屬性的句子模型超過(guò)預(yù)置的限制,將從話(huà)題屬性轉(zhuǎn)移至新話(huà)題上;第三應(yīng)答選擇單元,用于在從話(huà)題屬性轉(zhuǎn)移時(shí)從每種模式對(duì)應(yīng)的帶有轉(zhuǎn)移話(huà)題屬性的應(yīng)答中選擇一個(gè)應(yīng)答。
16.一種聊天方法,其特征在于,該方法包括獲取輸入的語(yǔ)言信息,分析該語(yǔ)言信息的句子主干與確定句型;通過(guò)所述的句子主干與句型鑒別該語(yǔ)言信息的話(huà)題屬性,若為無(wú)主題則將前次的話(huà)題屬性確定為本次的話(huà)題屬性;判斷是否存在多個(gè)所述的話(huà)題屬性;若否,則從預(yù)置的句子模式中選擇一個(gè)與該語(yǔ)言信息匹配的句子模式;若選擇到則從所述的句子模式對(duì)應(yīng)的應(yīng)答信息中選擇一個(gè)輸出;若沒(méi)有選擇到則從默認(rèn)應(yīng)答信息中選擇一個(gè)輸出;若是,則從預(yù)置的句子模式中對(duì)每一個(gè)話(huà)題屬性選擇一個(gè)與該語(yǔ)言信息匹配的句子模式,并從中隨機(jī)選擇一個(gè)句子模式,從該句子模式對(duì)應(yīng)的應(yīng)答信息中選擇一個(gè)輸出;若沒(méi)有匹配到的句子模式,則從默認(rèn)應(yīng)答信息中選擇一個(gè)輸出。
17.根據(jù)權(quán)利要求16所述的聊天方法,其特征在于,從預(yù)置的句子模式中,選擇一個(gè)與該語(yǔ)言信息匹配的句子模式的方法具體為判斷預(yù)置的句子模式中是否有所述的語(yǔ)言信息匹配的句子模式;若有,則判斷是否僅存在一個(gè)匹配的預(yù)置的句子模式;若是,則從所述的句子模式對(duì)應(yīng)的應(yīng)答信息中選擇一個(gè)輸出;若否,則從多個(gè)匹配的預(yù)置的句子模式中選擇話(huà)題屬性匹配的句子模式;若沒(méi)有,則從默認(rèn)應(yīng)答信息中選擇一個(gè)輸出。
18.根據(jù)權(quán)利要求16或17所述的聊天方法,其特征在于,所述的從默認(rèn)應(yīng)答信息中選擇一個(gè)輸出的方法為判斷默認(rèn)應(yīng)答信息中是否有話(huà)題屬性匹配的應(yīng)答,若沒(méi)有則隨即選擇一個(gè);若有則從話(huà)題屬性匹配的應(yīng)答信息中選擇一個(gè)輸出。
19.根據(jù)權(quán)利要求16或17其中之一所述的聊天方法,其特征在于,從所述的句子模式對(duì)應(yīng)的應(yīng)答信息中選擇一個(gè)的方法具體為判斷所述對(duì)應(yīng)的應(yīng)答信息中是否有話(huà)題屬性匹配的應(yīng)答,若有則從話(huà)題屬性匹配的應(yīng)答中隨機(jī)選擇一個(gè)輸出;若沒(méi)有則從所有對(duì)應(yīng)的應(yīng)答信息中選擇一個(gè)輸出。
20.一種聊天系統(tǒng),其特征在于,該系統(tǒng)包括語(yǔ)言信息獲取單元、分析單元、話(huà)題單元、推理模式及應(yīng)答單元、發(fā)送應(yīng)答單元、自然語(yǔ)言知識(shí)存儲(chǔ)單元、話(huà)題存儲(chǔ)單元、推理模式及應(yīng)答知識(shí)存儲(chǔ)單元;語(yǔ)言信息獲取單元,用于獲取用戶(hù)輸入的自然語(yǔ)言信息;分析單元,用于通過(guò)計(jì)算語(yǔ)言知識(shí)分析所述的自然語(yǔ)言信息,確定該自然語(yǔ)言信息的句子主干與句型;自然語(yǔ)言知識(shí)存儲(chǔ)單元,用于存儲(chǔ)理解自然語(yǔ)言必須的知識(shí);話(huà)題單元,用于通過(guò)所述的句子主干與句型、話(huà)題詞典鑒別該語(yǔ)言信息的話(huà)題屬性,若為無(wú)主題則將前次的話(huà)題屬性確定為本次的話(huà)題屬性;確定是否存在多個(gè)所述的話(huà)題屬性;話(huà)題存儲(chǔ)單元,用于存儲(chǔ)話(huà)題詞典,該詞典包括自然語(yǔ)言信息中關(guān)鍵詞與話(huà)題之間的關(guān)聯(lián)關(guān)系;推理模式及應(yīng)答單元,用于當(dāng)不存在多個(gè)所述的話(huà)題屬性時(shí),則從預(yù)置的句子模式中選擇一個(gè)與該語(yǔ)言信息匹配的句子模式;若選擇到則從所述的句子模式對(duì)應(yīng)的應(yīng)答信息中選擇一個(gè);若沒(méi)有選擇到則從默認(rèn)應(yīng)答信息中選擇一個(gè);當(dāng)存在多個(gè)所述的話(huà)題屬性時(shí),則從預(yù)置的句子模式中對(duì)每一個(gè)話(huà)題屬性選擇一個(gè)與該語(yǔ)言信息匹配的句子模式,并從中隨機(jī)選擇一個(gè)句子模式,從該句子模式對(duì)應(yīng)的應(yīng)答信息中選擇一個(gè);若沒(méi)有匹配到的句子模式,則從默認(rèn)應(yīng)答信息中選擇一個(gè);推理模式及應(yīng)答知識(shí)存儲(chǔ)單元,用于存儲(chǔ)對(duì)用戶(hù)輸入的自然語(yǔ)言信息匹配的各種句子模式;每種模式對(duì)應(yīng)的帶有話(huà)題屬性的應(yīng)答和帶有話(huà)題屬性的默認(rèn)應(yīng)答;發(fā)送應(yīng)答單元,用于將推理模式及應(yīng)答單元選擇的應(yīng)答反饋給用戶(hù)。
全文摘要
本發(fā)明實(shí)施例提供了一種聊天方法,該方法包括獲取輸入的語(yǔ)言信息,分析該語(yǔ)言信息的句子主干與確定句型;通過(guò)預(yù)置的話(huà)題詞典、所述的句子主干與句型確定該語(yǔ)言信息的話(huà)題屬性;判斷是否存在對(duì)應(yīng)于所述的句子主干與句型的句子模式,若否則從默認(rèn)應(yīng)答中選擇一個(gè)與所述話(huà)題屬性相對(duì)應(yīng)的應(yīng)答反饋,若是則確定一個(gè)模式,從該模式對(duì)應(yīng)的應(yīng)答中選擇一個(gè)反饋。對(duì)應(yīng)于該方法,本發(fā)明還提供了一種聊天系統(tǒng),該系統(tǒng)包括獲取單元、自然語(yǔ)言處理單元、計(jì)算語(yǔ)言知識(shí)存儲(chǔ)單元、話(huà)題理解單元、話(huà)題詞典存儲(chǔ)單元、推理單元、推理知識(shí)存儲(chǔ)單元、發(fā)送單元。
文檔編號(hào)H04L12/58GK101071418SQ20071008957
公開(kāi)日2007年11月14日 申請(qǐng)日期2007年3月29日 優(yōu)先權(quán)日2007年3月29日
發(fā)明者劉云峰, 楊海松, 禹榮凌, 劉致遠(yuǎn), 文勖 申請(qǐng)人:騰訊科技(深圳)有限公司