欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于保持對話系統(tǒng)對話連貫性的方法及系統(tǒng)與流程

文檔序號:12465144閱讀:489來源:國知局
用于保持對話系統(tǒng)對話連貫性的方法及系統(tǒng)與流程

本發(fā)明涉及一種用于保持對話系統(tǒng)對話連貫性的方法及系統(tǒng)。



背景技術(shù):

在人機(jī)對話系統(tǒng)中,用戶和對話系統(tǒng)聊天的輪數(shù)是衡量該對話系統(tǒng)好壞的最直觀的指標(biāo)。為了提高用戶和對話系統(tǒng)聊天的輪數(shù),必須保障對話系統(tǒng)對話連貫性,一方面,在用戶討論的聊天主題下,對話系統(tǒng)需要盡可能在這個主題進(jìn)行相關(guān)回復(fù),避免答非所問;另一方面:當(dāng)用戶切換到新的聊天主題時,對話系統(tǒng)也需要切換到新的聊天主題下。

現(xiàn)有技術(shù)中,較為常用的保持對話系統(tǒng)對話連貫性的方法為:獲取前面N輪的歷史對話,并從中提取出關(guān)鍵詞,然后將這些關(guān)鍵詞跟當(dāng)前用戶的對話輸入相結(jié)合,作為系統(tǒng)輸入,由于該方法中包含前N輪對話的關(guān)鍵詞信息,因而可以在一定程度上保持對話的連貫性。

但是,現(xiàn)有技術(shù)的缺陷在于:一方面,N的取值很難確定,如果取得過小,例如,N=1,那么只能包含前面一輪的歷史對話信息,因而容易受限于局部信息;如果取得過大,又可能會超出上下文的范圍,引入無關(guān)信息;另一方面,從N輪歷史對話中很有可能獲取過多的關(guān)鍵詞,當(dāng)相關(guān)度低甚至無關(guān)的關(guān)鍵詞被引入時會給對話系統(tǒng)帶來噪音,而且,無關(guān)的關(guān)鍵詞越多,噪音越大,會嚴(yán)重影響對話質(zhì)量。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明要解決的技術(shù)問題是提供一種用于保持對話系統(tǒng)對話連貫性的方法及系統(tǒng),根據(jù)當(dāng)前對話輸入的內(nèi)容,實(shí)時地從所有以往話題中切割出與當(dāng)前對話屬于同一話題的相關(guān)話題集合,并從切割出的相關(guān)話題集合中,挖掘出最具有代表性的當(dāng)前話題關(guān)鍵詞,由于所挖掘出的關(guān)鍵詞包含了上下文信息,將當(dāng)前對話輸入內(nèi)容與當(dāng)前話題關(guān)鍵詞一并作為系統(tǒng)輸入,可以保持對話系統(tǒng)對話連貫性,從而實(shí)現(xiàn)人機(jī)對話達(dá)到持續(xù)深入的效果。

為解決上述技術(shù)問題,本發(fā)明提供的技術(shù)方案是:

一方面,本發(fā)明提供一種用于保持對話系統(tǒng)對話連貫性的方法,包括,根據(jù)當(dāng)前對話輸入,實(shí)時地從所有歷史對話中切割出與當(dāng)前對話屬于同一話題的相關(guān)話題集合;從相關(guān)話題集合中挖掘出當(dāng)前話題關(guān)鍵詞;根據(jù)當(dāng)前對話輸入和當(dāng)前話題關(guān)鍵詞,確定應(yīng)答輸出。

進(jìn)一步地,根據(jù)當(dāng)前對話輸入,實(shí)時地從所有歷史對話中切割出與當(dāng)前對話屬于同一話題的相關(guān)話題集合,具體包括,將當(dāng)前對話輸入標(biāo)記為Q0,并對歷史對話重新標(biāo)記,其中,歷史對話為[Q1,A1],[Q2,A2],…[Qi,Ai],…[Qn,An],重新標(biāo)記后的歷史對話為S1,S2,S3,S4,…,S2i-1,S2i,…S2n-1,S2n,其中,n為歷史對話的總數(shù)量,[Qi,Ai]為第i輪歷史對話,Qi為第i輪歷史對話中的對話輸入,Ai為第i輪歷史對話中的應(yīng)答輸出,S2i-1為Qi重新標(biāo)記后對應(yīng)的句子,S2i為Ai重新標(biāo)記后對應(yīng)的句子;根據(jù)當(dāng)前對話輸入和重新標(biāo)記后的歷史對話,按照預(yù)先設(shè)定的話題切割規(guī)則進(jìn)行話題切割,以獲得所有歷史對話中與當(dāng)前對話輸入屬于同一話題的相關(guān)話題集合。

進(jìn)一步地,話題切割規(guī)則為:計(jì)算S1與Q0的之間語義相似度M1,0,若M1,0<T,則S1與Q0不屬于同一話題,若M1,0≥T,則繼續(xù)計(jì)算,其中,T為預(yù)先設(shè)置的話題分割閾值;計(jì)算S2分別與S1和QO之間的語義相似度M2,1,M2,0,若max(M2,1,M2,0)<T,則S1與Q0屬于同一話題,若max(M2,1,M2,0)≥T,則繼續(xù)計(jì)算;計(jì)算S3分別與S2,S1和QO之間的語義相似度M3,2,M3,1,M3,0,若max(M3,2,M3,1,M3,0)<T,則S2,S1與Q0屬于同一話題,若max(M3,2,M3,1,M3,0)≥T,則繼續(xù)計(jì)算;以此類推,以獲得所有歷史對話中與當(dāng)前對話輸入屬于同一話題的相關(guān)話題集合。

進(jìn)一步地,計(jì)算每兩個句子之間語義相似度的步驟包括,將兩個句子分別轉(zhuǎn)換成句子向量,以獲得第一句子向量和第二句子向量;計(jì)算第一句子向量與第二句子向量之間的余弦值,并將此余弦值記為兩個句子間的語義相似度。

進(jìn)一步地,將句子轉(zhuǎn)換成句子向量的步驟具體包括,對句子進(jìn)行分詞,以獲得至少一個詞;在預(yù)先訓(xùn)練好的word2vec矩陣中匹配出每個詞對應(yīng)的詞向量;對匹配出的所有詞向量進(jìn)行計(jì)算,以獲得句子對應(yīng)的句子向量。

進(jìn)一步地,從相關(guān)話題集合中挖掘出當(dāng)前話題關(guān)鍵詞,具體包括,對相關(guān)話題集合中的每個句子進(jìn)行分詞,以獲得至少一個詞;在預(yù)先訓(xùn)練好的word2vec矩陣中匹配出每個詞對應(yīng)的詞向量;計(jì)算每個詞向量對應(yīng)的方差,其中,方差的計(jì)算公式為,Di=(Ci-C1)2+(Ci-C2)2+...+(Ci-Ci-1)2+(Ci-Ci+1)2+...+(Ci-Cm)2,其中,Di為第i個詞向量對應(yīng)的方差,Ci為第i個詞對應(yīng)的詞向量,m為總的詞向量的個數(shù);選取對應(yīng)方差最小的詞和對應(yīng)方差最大的詞作為當(dāng)前話題關(guān)鍵詞。

另一方面,本發(fā)明提供一種用于保持對話系統(tǒng)對話連貫性的系統(tǒng),包括,話題切割模塊:用于根據(jù)當(dāng)前對話輸入,實(shí)時地從所有歷史對話中切割出與當(dāng)前對話屬于同一話題的相關(guān)話題集合;關(guān)鍵詞提取模塊:用于從相關(guān)話題集合中挖掘出當(dāng)前話題關(guān)鍵詞;應(yīng)答模塊:用于根據(jù)當(dāng)前對話輸入和當(dāng)前話題關(guān)鍵詞,確定應(yīng)答輸出。

進(jìn)一步地,話題切割模塊,具體用于,將當(dāng)前對話輸入標(biāo)記為Q0,并對歷史對話重新標(biāo)記,其中,歷史對話為[Q1,A1],[Q2,A2],…[Qi,Ai],…[Qn,An],重新標(biāo)記后的歷史對話為S1,S2,S3,S4,…,S2i-1,S2i,…S2n-1,S2n,其中,n為歷史對話的總數(shù)量,[Qi,Ai]為第i輪歷史對話,Qi為第i輪歷史對話中的對話輸入,Ai為第i輪歷史對話中的應(yīng)答輸出,S2i-1為Qi重新標(biāo)記后對應(yīng)的句子,S2i為Ai重新標(biāo)記后對應(yīng)的句子;根據(jù)當(dāng)前對話輸入和重新標(biāo)記后的歷史對話,按照預(yù)先設(shè)定的話題切割規(guī)則進(jìn)行話題切割,以獲得所有歷史對話中與當(dāng)前對話輸入屬于同一話題的相關(guān)話題集合。

進(jìn)一步地,話題切割規(guī)則為:計(jì)算S1與Q0的之間語義相似度M1,0,若M1,0<T,則S1與Q0不屬于同一話題,若M1,0≥T,則繼續(xù)計(jì)算,其中,T為預(yù)先設(shè)置的話題分割閾值;計(jì)算S2分別與S1和QO之間的語義相似度M2,1,M2,0,若max(M2,1,M2,0)<T,則S1與Q0屬于同一話題,若max(M2,1,M2,0)≥T,則繼續(xù)計(jì)算;計(jì)算S3分別與S2,S1和QO之間的語義相似度M3,2,M3,1,M3,0,若max(M3,2,M3,1,M3,0)<T,則S2,S1與Q0屬于同一話題,若max(M3,2,M3,1,M3,0)≥T,則繼續(xù)計(jì)算;以此類推,以獲得所有歷史對話中與當(dāng)前對話輸入屬于同一話題的相關(guān)話題集合。

進(jìn)一步地,關(guān)鍵詞提取模塊,具體用于,對相關(guān)話題集合中的每個句子進(jìn)行分詞,以獲得至少一個詞;在預(yù)先訓(xùn)練好的word2vec矩陣中匹配出每個詞對應(yīng)的詞向量;計(jì)算每個詞向量對應(yīng)的方差,其中,方差的計(jì)算公式為,Di=(Ci-C1)2+(Ci-C2)2+...+(Ci-Ci-1)2+(Ci-Ci+1)2+...+(Ci-Cm)2,其中,Di為第i個詞向量對應(yīng)的方差,Ci為第i個詞對應(yīng)的詞向量,m為總的詞向量的個數(shù);選取對應(yīng)方差最小的詞和對應(yīng)方差最大的詞作為當(dāng)前話題關(guān)鍵詞。

本發(fā)明提供的用于保持對話系統(tǒng)對話連貫性的方法及系統(tǒng),根據(jù)當(dāng)前用戶對話輸入的內(nèi)容,實(shí)時地從所有以往話題中切割出與當(dāng)前對話屬于同一話題的相關(guān)話題集合,并從切割出的相關(guān)話題集合中,挖掘出最具有代表性的當(dāng)前話題關(guān)鍵詞,由于所挖掘出的關(guān)鍵詞包含了上下文信息,將當(dāng)前對話輸入內(nèi)容與當(dāng)前話題關(guān)鍵詞一并作為系統(tǒng)輸入,可以保持對話系統(tǒng)對話連貫性,從而實(shí)現(xiàn)人機(jī)對話達(dá)到持續(xù)深入的效果。

附圖說明

圖1是本發(fā)明實(shí)施例提供的用于保持對話系統(tǒng)對話連貫性的方法的流程圖;

圖2是本發(fā)明實(shí)施例提供的用于保持對話系統(tǒng)對話連貫性的方法的又一流程圖;

圖3是本發(fā)明實(shí)施例提供的用于保持對話系統(tǒng)對話連貫性的系統(tǒng)的框圖。

具體實(shí)施方式

下面通過具體的實(shí)施例進(jìn)一步說明本發(fā)明,但是,應(yīng)當(dāng)理解為,這些實(shí)施例僅僅是用于更詳細(xì)具體地說明之用,而不應(yīng)理解為用于以任何形式限制本發(fā)明。

實(shí)施例一

結(jié)合圖1,本實(shí)施例提供的用于保持對話系統(tǒng)對話連貫性的方法,包括:

步驟S1:根據(jù)當(dāng)前對話輸入,實(shí)時地從所有歷史對話中切割出與當(dāng)前對話屬于同一話題的相關(guān)話題集合;

步驟S2:從相關(guān)話題集合中挖掘出當(dāng)前話題關(guān)鍵詞;

步驟S3:根據(jù)當(dāng)前對話輸入和當(dāng)前話題關(guān)鍵詞,確定應(yīng)答輸出。

本發(fā)明實(shí)施例提供的用于保持對話系統(tǒng)對話連貫性的方法,根據(jù)當(dāng)前對話輸入的內(nèi)容,實(shí)時地從所有以往話題中切割出與當(dāng)前對話屬于同一話題的相關(guān)話題集合,并從切割出的相關(guān)話題集合中,挖掘出最具有代表性的當(dāng)前話題關(guān)鍵詞,由于所挖掘出的關(guān)鍵詞包含了上下文信息,將當(dāng)前對話輸入內(nèi)容與當(dāng)前話題關(guān)鍵詞一并作為系統(tǒng)輸入,可以保持對話系統(tǒng)對話連貫性,從而實(shí)現(xiàn)人機(jī)對話達(dá)到持續(xù)深入的效果。

優(yōu)選地,如圖2所示地,根據(jù)當(dāng)前對話輸入,實(shí)時地從所有歷史對話中切割出與當(dāng)前對話屬于同一話題的相關(guān)話題集合,具體包括,

步驟S1.1:將當(dāng)前對話輸入標(biāo)記為Q0,并對歷史對話重新標(biāo)記,其中,歷史對話為[Q1,A1],[Q2,A2],…[Qi,Ai],…[Qn,An],重新標(biāo)記后的歷史對話為S1,S2,S3,S4,…,S2i-1,S2i,…S2n-1,S2n,其中,n為歷史對話的總數(shù)量,[Qi,Ai]為第i輪歷史對話,Qi為第i輪歷史對話中的對話輸入,Ai為第i輪歷史對話中的應(yīng)答輸出,S2i-1為Qi重新標(biāo)記后對應(yīng)的句子,S2i為Ai重新標(biāo)記后對應(yīng)的句子;

步驟S1.2:根據(jù)當(dāng)前對話輸入和重新標(biāo)記后的歷史對話,按照預(yù)先設(shè)定的話題切割規(guī)則進(jìn)行話題切割,以獲得所有歷史對話中與當(dāng)前對話輸入屬于同一話題的相關(guān)話題集合。

本實(shí)施例中,具體地,話題切割規(guī)則為:

a)計(jì)算S1與Q0的之間語義相似度M1,0,若M1,0<T,則S1與Q0不屬于同一話題,若M1,0≥T,則繼續(xù)計(jì)算b),其中,T為預(yù)先設(shè)置的話題分割閾值;

b)計(jì)算S2分別與S1和QO之間的語義相似度M2,1,M2,0,若max(M2,1,M2,0)<T,則S1與Q0屬于同一話題,若max(M2,1,M2,0)≥T,則繼續(xù)計(jì)算c);

c)計(jì)算S3分別與S2,S1和QO之間的語義相似度M3,2,M3,1,M3,0,若max(M3,2,M3,1,M3,0)<T,則S2,S1與Q0屬于同一話題,若max(M3,2,M3,1,M3,0)≥T,則繼續(xù)計(jì)算下一步驟;

以此類推,以獲得所有歷史對話中與當(dāng)前對話輸入屬于同一話題的相關(guān)話題集合。

進(jìn)一步具體地,計(jì)算每兩個句子之間語義相似度的步驟包括,將兩個句子分別轉(zhuǎn)換成句子向量,以獲得第一句子向量和第二句子向量;計(jì)算第一句子向量與第二句子向量之間的余弦值,并將此余弦值記為兩個句子間的語義相似度。

更加具體地,將句子轉(zhuǎn)換成句子向量的步驟具體包括,對句子進(jìn)行分詞,以獲得至少一個詞;在預(yù)先訓(xùn)練好的word2vec矩陣中匹配出每個詞對應(yīng)的詞向量;對匹配出的所有詞向量進(jìn)行計(jì)算,以獲得句子對應(yīng)的句子向量。

進(jìn)一步優(yōu)選地,結(jié)合圖2所示地,從相關(guān)話題集合中挖掘出當(dāng)前話題關(guān)鍵詞,具體包括,

步驟S2.1:對相關(guān)話題集合中的每個句子進(jìn)行分詞,以獲得至少一個詞;

步驟S2.2:在預(yù)先訓(xùn)練好的word2vec矩陣中匹配出每個詞對應(yīng)的詞向量;

步驟S2.3:計(jì)算每個詞向量對應(yīng)的方差,其中,方差的計(jì)算公式為,Di=(Ci-C1)2+(Ci-C2)2+...+(Ci-Ci-1)2+(Ci-Ci+1)2+...+(Ci-Cm)2,其中,Di為第i個詞向量對應(yīng)的方差,Ci為第i個詞對應(yīng)的詞向量,m為總的詞向量的個數(shù);

步驟S2.4:選取對應(yīng)方差最小的詞和對應(yīng)方差最大的詞作為當(dāng)前話題關(guān)鍵詞。

本實(shí)施例中,詞對應(yīng)的方差越小,表示該詞越處于中心位置,即,該詞與相關(guān)話題集合中的其他詞在語義上越接近;而詞對應(yīng)的方差越大,則表示該詞越處于邊沿位置,即,該詞與相關(guān)話題集合中的其他詞在語義上差異越大。此外,本實(shí)施例選取對應(yīng)方差最小的詞和對應(yīng)方差最大的詞作為當(dāng)前話題關(guān)鍵詞,其原因在于,方差最小,表示該詞最能夠表示當(dāng)前話題中所論述的內(nèi)容;方差最大,表示該詞最能夠表示當(dāng)前話題所能達(dá)到的外沿部分,這兩個詞從兩個不同的維度編碼了當(dāng)前話題的上下文信息,能夠更好地把控全局對話信息,從而更好地保持對話連貫性。

實(shí)施例二

結(jié)合圖3,本實(shí)施例提供的用于保持對話系統(tǒng)對話連貫性的系統(tǒng),包括,

話題切割模塊1:用于根據(jù)當(dāng)前對話輸入,實(shí)時地從所有歷史對話中切割出與當(dāng)前對話屬于同一話題的相關(guān)話題集合;

關(guān)鍵詞提取模塊2:用于從相關(guān)話題集合中挖掘出當(dāng)前話題關(guān)鍵詞;

應(yīng)答模塊3:用于根據(jù)當(dāng)前對話輸入和當(dāng)前話題關(guān)鍵詞,確定應(yīng)答輸出。

本發(fā)明實(shí)施例提供的用于保持對話系統(tǒng)對話連貫性的系統(tǒng),根據(jù)當(dāng)前對話輸入的內(nèi)容,實(shí)時地從所有以往話題中切割出與當(dāng)前對話屬于同一話題的相關(guān)話題集合,并從切割出的相關(guān)話題集合中,挖掘出最具有代表性的當(dāng)前話題關(guān)鍵詞,由于所挖掘出的關(guān)鍵詞包含了上下文信息,將當(dāng)前對話輸入內(nèi)容與當(dāng)前話題關(guān)鍵詞一并作為系統(tǒng)輸入,可以保持對話系統(tǒng)對話連貫性,從而實(shí)現(xiàn)人機(jī)對話達(dá)到持續(xù)深入的效果。

優(yōu)選地,話題切割模塊1,具體用于,

將當(dāng)前對話輸入標(biāo)記為Q0,并對歷史對話重新標(biāo)記,其中,歷史對話為[Q1,A1],[Q2,A2],…[Qi,Ai],…[Qn,An],重新標(biāo)記后的歷史對話為S1,S2,S3,S4,…,S2i-1,S2i,…S2n-1,S2n,其中,n為歷史對話的總數(shù)量,[Qi,Ai]為第i輪歷史對話,Qi為第i輪歷史對話中的對話輸入,Ai為第i輪歷史對話中的應(yīng)答輸出,S2i-1為Qi重新標(biāo)記后對應(yīng)的句子,S2i為Ai重新標(biāo)記后對應(yīng)的句子;

根據(jù)當(dāng)前對話輸入和重新標(biāo)記后的歷史對話,按照預(yù)先設(shè)定的話題切割規(guī)則進(jìn)行話題切割,以獲得所有歷史對話中與當(dāng)前對話輸入屬于同一話題的相關(guān)話題集合。

本實(shí)施例中,具體地,話題切割規(guī)則為:

a)計(jì)算S1與Q0的之間語義相似度M1,0,若M1,0<T,則S1與Q0不屬于同一話題,若M1,0≥T,則繼續(xù)計(jì)算b),其中,T為預(yù)先設(shè)置的話題分割閾值;

b)計(jì)算S2分別與S1和QO之間的語義相似度M2,1,M2,0,若max(M2,1,M2,0)<T,則S1與Q0屬于同一話題,若max(M2,1,M2,0)≥T,則繼續(xù)計(jì)算c);

c)計(jì)算S3分別與S2,S1和QO之間的語義相似度M3,2,M3,1,M3,0,若max(M3,2,M3,1,M3,0)<T,則S2,S1與Q0屬于同一話題,若max(M3,2,M3,1,M3,0)≥T,則繼續(xù)計(jì)算下一步驟;

以此類推,以獲得所有歷史對話中與當(dāng)前對話輸入屬于同一話題的相關(guān)話題集合。

進(jìn)一步優(yōu)選地,關(guān)鍵詞提取模塊2,具體用于,對相關(guān)話題集合中的每個句子進(jìn)行分詞,以獲得至少一個詞;在預(yù)先訓(xùn)練好的word2vec矩陣中匹配出每個詞對應(yīng)的詞向量;計(jì)算每個詞向量對應(yīng)的方差,其中,方差的計(jì)算公式為,Di=(Ci-C1)2+(Ci-C2)2+...+(Ci-Ci-1)2+(Ci-Ci+1)2+...+(Ci-Cm)2,其中,Di為第i個詞向量對應(yīng)的方差,Ci為第i個詞對應(yīng)的詞向量,m為總的詞向量的個數(shù);選取對應(yīng)方差最小的詞和對應(yīng)方差最大的詞作為當(dāng)前話題關(guān)鍵詞。

本實(shí)施例中,詞對應(yīng)的方差越小,表示該詞越處于中心位置,即,該詞與相關(guān)話題集合中的其他詞在語義上越接近;而詞對應(yīng)的方差越大,則表示該詞越處于邊沿位置,即,該詞與相關(guān)話題集合中的其他詞在語義上差異越大。此外,本實(shí)施例選取對應(yīng)方差最小的詞和對應(yīng)方差最大的詞作為當(dāng)前話題關(guān)鍵詞,其原因在于,方差最小,表示該詞最能夠表示當(dāng)前話題中所論述的內(nèi)容;方差最大,表示該詞最能夠表示當(dāng)前話題所能達(dá)到的外沿部分,這兩個詞從兩個不同的維度編碼了當(dāng)前話題的上下文信息,能夠更好地把控全局對話信息,從而更好地保持對話連貫性。

盡管本發(fā)明已進(jìn)行了一定程度的描述,明顯地,在不脫離本發(fā)明的精神和范圍的條件下,可進(jìn)行各個條件的適當(dāng)變化??梢岳斫?,本發(fā)明不限于所述實(shí)施方案,而歸于權(quán)利要求的范圍,其包括所述每個因素的等同替換。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
高邑县| 军事| 论坛| 板桥市| 剑河县| 三河市| 凤山县| 绍兴县| 外汇| 乌审旗| 汾西县| 五常市| 贵阳市| 花莲县| 常熟市| 庐江县| 乌鲁木齐市| 徐汇区| 安平县| 江城| 南城县| 虎林市| 昌吉市| 益阳市| 吉隆县| 佛山市| 长岛县| 株洲市| 丘北县| 沽源县| 曲阳县| 昭苏县| 昭觉县| 富顺县| 晋城| 大厂| 成武县| 金寨县| 阿图什市| 犍为县| 嘉荫县|