[發(fā)明專利]一種融合上下文信息的多輪對話方法及系統(tǒng)有效
| 申請?zhí)枺?/td> | 202110163418.4 | 申請日: | 2021-02-05 |
| 公開(公告)號: | CN112818105B | 公開(公告)日: | 2021-12-07 |
| 發(fā)明(設(shè)計)人: | 潘昌琴;林涵陽;楊濤;卓麗棟;張路;盧進(jìn)樺;陳羽中 | 申請(專利權(quán))人: | 江蘇實達(dá)迪美數(shù)據(jù)處理有限公司 |
| 主分類號: | G06F16/332 | 分類號: | G06F16/332;G06F16/33;G06N3/08;G06N3/04 |
| 代理公司: | 福州元創(chuàng)專利商標(biāo)代理有限公司 35100 | 代理人: | 張燈燦;蔡學(xué)俊 |
| 地址: | 215332 江蘇省蘇州市昆山市花橋*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 融合 上下文 信息 輪對 方法 系統(tǒng) | ||
1.一種融合上下文信息的多輪對話方法,其特征在于,包括以下步驟:
步驟A:從智能客服系統(tǒng)中獲取用戶與客服的相關(guān)對話數(shù)據(jù),提取用戶與客服之間的會話,構(gòu)建多輪對話訓(xùn)練集;
步驟B:構(gòu)建用于多輪對話的融合上下文信息的深度學(xué)習(xí)網(wǎng)絡(luò)模型及其損失函數(shù),以多輪對話訓(xùn)練集中的對話與回答作為輸入,在訓(xùn)練集上通過最小化損失函數(shù)訓(xùn)練深度學(xué)習(xí)網(wǎng)絡(luò)模型;
步驟C:將用戶的對話輸入訓(xùn)練好的深度學(xué)習(xí)網(wǎng)絡(luò)模型中,輸出最匹配的回答;
所述多輪對話訓(xùn)練集中的每條樣本由一個三元組(u,a,y)構(gòu)成,其中u={u1,u2,...,ut,...,un}表示用戶與客服之間的對話上下文,ut表示對話中的第t條語句,n表示對話的語句數(shù),a表示候選的回答,y表示標(biāo)簽,y∈{0,1},y=1表示回答a是正確的回答,y=0表示回答a是錯誤的回答;在智能客服系統(tǒng)中,若用戶與客服間的會話標(biāo)記為已解決,表示用戶與客服間的對話解決了用戶提出的問題,故利用標(biāo)記為已解決的會話構(gòu)造多輪對話訓(xùn)練集的正樣本:首先排除用戶與客服對話過程中的寒暄語句,之后將客服最后的回答作為三元組(u,a,y)的a,客服最后的回答之前的用戶與客服的對話語句構(gòu)成u,標(biāo)簽y設(shè)置為1,構(gòu)成多輪對話訓(xùn)練集中的正樣本;除客服最后的回答以外,在用戶與客服的對話語句中隨機(jī)選擇客服回復(fù)的一條語句作為a,標(biāo)簽設(shè)置為0,則構(gòu)成多輪對話訓(xùn)練集的負(fù)樣本;
所述步驟B具體包括以下步驟:
步驟B1:構(gòu)建融合上下文信息的深度學(xué)習(xí)網(wǎng)絡(luò)模型,所述深度學(xué)習(xí)網(wǎng)絡(luò)模型包括輸入編碼層、注意力層、上下文建模層以及輸出層;所述輸入編碼層分別對對話與回答進(jìn)行詞語級和字符級編碼,并分別融合對話與回答的詞語級表征和字符級表征,生成對話與回答的多粒度語義表征;所述注意力層包括多頭注意力子層、交互子層和自注意力子層,用于提取對話與回答中與對話與回答語義匹配相關(guān)的上下文信息,減少噪聲的影響,得到語義增強(qiáng)后的對話與答案的語義表征向量;所述上下文建模層用于捕獲對話和回答之間的長期依賴關(guān)系;最后將融合后的語義表征向量輸入到所述輸出層中,使用softmax輸出回答與對話相匹配的概率;
步驟B2:構(gòu)建所述深度學(xué)習(xí)網(wǎng)絡(luò)模型的損失函數(shù),選擇交叉熵作為深度學(xué)習(xí)網(wǎng)絡(luò)模型的損失函數(shù),計算公式如下:
其中,pi表示第i個樣本中包含的回答為對話的正確答案的概率,yi為標(biāo)簽,yi∈{0,1},yi=1表示第i個樣本中包含的回答為對話的正確答案,yi=0表示第i個樣本中包含的回答不是對話的正確答案;是L2正則化項,λ是學(xué)習(xí)率,θ包含所有參數(shù);
步驟B3:遍歷多輪對話訓(xùn)練集,對訓(xùn)練集中的每個訓(xùn)練樣本,按步驟B4-B7進(jìn)行處理;
步驟B4:將訓(xùn)練樣本中的對話輸入到輸入編碼層,進(jìn)行詞語級和字符級編碼,融合得到對話的多粒度表征向量,將訓(xùn)練樣本中的回答輸入到輸入編碼層,進(jìn)行詞語級和字符級編碼,得到回答的多粒度表征向量;
步驟B5:將對話的多粒度表征向量與回答的多粒度表征向量輸入到注意力層,計算得到融合對話與回答語義信息的表征向量序列
步驟B6:將步驟B5得到的表征向量序列輸入到上下文建模層中進(jìn)行上下文建模,提取對話與回答語句之間的依賴關(guān)系,得到上下文感知的融合對話與回答語義信息的表征向量
步驟B7:將步驟B6得到的表征向量輸入到輸出層中,使用softmax進(jìn)行歸一化操作,得到回答與對話相匹配的概率;
步驟B8:根據(jù)步驟B2的損失函數(shù)計算損失并進(jìn)行反向傳播,通過多次迭代最小化損失函數(shù),采用mini-batch梯度下降法進(jìn)行分批優(yōu)化,得到訓(xùn)練好的融合上下文信息的深度學(xué)習(xí)網(wǎng)絡(luò)模型;
所述步驟B4具體包括以下步驟:
步驟B41:對樣本進(jìn)行預(yù)處理,然后查詢預(yù)訓(xùn)練的詞向量矩陣,分別得到該樣本的對話與回答的詞語級表征向量;
對對話中的每條語句進(jìn)行分詞并去除停用詞,設(shè)定為固定長度l,若該語句進(jìn)行分詞并去除停用詞后剩余的詞數(shù)小于l,則填充零向量,若大于l,則截斷到固定長度l;然后查詢預(yù)訓(xùn)練的詞向量矩陣得到每條語句中每個詞的詞向量,由對話中各個詞的詞向量構(gòu)成對應(yīng)語句的詞語級表征向量,同樣,對回答a進(jìn)行分詞并去除停用詞,設(shè)定為固定長度l,若回答進(jìn)行分詞并去除停用詞后剩余的詞數(shù)小于l,則填充零向量,若大于l,則截斷到固定長度l;然后查詢預(yù)訓(xùn)練的詞向量矩陣得到回答中每個詞的詞向量,由回答中各個詞的詞向量構(gòu)成回答的詞語級表征向量;
步驟B42:查詢預(yù)訓(xùn)練的字符向量矩陣,分別得到該樣本的對話與回答的字符級表征向量;
其中,對于對話中的每條語句ut,t=1,2,...,n,對于ut中的每個詞,查詢預(yù)訓(xùn)練的字符向量矩陣,獲得構(gòu)成該詞的每個字符的字符向量,由每個字符的字符向量構(gòu)成該詞的字符向量矩陣,將該詞的字符向量矩陣輸入到卷積神經(jīng)網(wǎng)絡(luò)中,使用多個卷積核進(jìn)行字符級特征提取,再進(jìn)行最大池化操作,得到每個詞的字符級表征向量,由ut中各個詞的字符級表征向量構(gòu)成ut的字符級表征向量;對于回答a中的每個詞,查詢預(yù)訓(xùn)練的字符向量矩陣,獲得構(gòu)成該詞的每個字符的字符向量,由每個字符的字符向量構(gòu)成該詞的字符向量矩陣,將該詞的字符向量矩陣輸入到卷積神經(jīng)網(wǎng)絡(luò)中,使用多個卷積核進(jìn)行字符級特征提取,再進(jìn)行最大池化操作,得到每個詞的字符級表征向量,由回答a中各個詞的字符級表征向量構(gòu)成回答的字符級表征向量;
步驟B43:對于對話中的每條語句,分別連接語句中每個詞的字符級表征向量與詞語級表征向量,得到對話中每條語句的多粒度表征向量對于回答,分別連接回答中每個詞的字符級表征向量與詞語級表征向量,得到回答的多粒度表征向量d表示每個詞的多粒度表征向量的維度;
所述步驟B5具體包括以下步驟:
步驟B51:將對話中的每條語句的多粒度表征向量輸入到多頭注意力子層中,提取每條語句的關(guān)鍵信息,得到對話中每條語句的表征向量;將回答的多粒度表征向量輸入到多頭注意力子層中,提取回答中的關(guān)鍵信息,得到回答的表征向量;
選擇能夠整除d的整數(shù)s,對于對話中的每條語句ut,t=1,2,...,n,將ut分成多個子句,即將ut的表征向量平均切分成s個子向量,得到子向量序列其中是的第h個子向量,然后對每個子句單獨進(jìn)行注意力權(quán)重的計算,即將與自身構(gòu)成一個子向量對對每個子向量對單獨利用注意力機(jī)制進(jìn)行計算,提取每個子句的關(guān)鍵信息,匯總后得到ut的表征向量,公式如下:
其中MHA表示多頭注意力機(jī)制,為多頭注意力的輸出,W1為多頭注意力機(jī)制的訓(xùn)練參數(shù),[;]表示向量連接操作;
連接對話中每條語句的表征向量,得到對話的表征向量其中[;]表示向量連接操作,Lu=n×l,為對話中的每條語句的詞語數(shù)之和,因此,也可定義為表示中對應(yīng)第i個詞的表征向量;
按照同樣方式,將回答分成多個子句,即將回答a的表征向量平均切分成s個子向量,得到子向量序列其中回答的表征向量的第h個子向量;對回答的每個子句單獨進(jìn)行注意力權(quán)重的計算,即將與自身構(gòu)成一個子向量對對每個子向量對單獨利用注意力機(jī)制進(jìn)行計算,提取每個子句的關(guān)鍵信息,匯總后得到a的表征向量公式如下:
其中MHA表示多頭注意力機(jī)制,為多頭注意力的輸出,W2為多頭注意力機(jī)制的訓(xùn)練參數(shù),[;]表示向量連接操作;l為回答的詞語數(shù),因此,也可以定義為表示中對應(yīng)第j個詞的表征向量;
步驟B52:將對話的表征向量與回答的表征向量輸入到交互子層,計算對話與回答的語義交互,得到對話的回答語義信息指導(dǎo)下的表征向量和回答的對話語義信息指導(dǎo)下的表征向量
步驟B53:將對話的回答語義信息指導(dǎo)下的表征向量與回答的對話語義信息指導(dǎo)下的表征向量輸入到自注意力子層,輸出融合對話與回答語義信息的表征向量;
所述步驟B52具體包括以下步驟:
步驟B521:將整個對話的語義表征和回答的語義表征進(jìn)行交互,獲取對話的表征向量與回答的表征向量計算公式如下:
其中eij表示對話和回答之間的相似度矩陣,為對話中第i個詞考慮回答語義信息交互后的表征向量,為回答中第j個詞考慮對話語義信息交互后的表征向量,
步驟B522:計算表征向量與的差與的哈達(dá)瑪積連接四個包含對話與回答之間語義匹配信息的表征向量,得到對話的表征向量計算表征向量與的差與的哈達(dá)瑪積連接四個回答與對話之間語義匹配信息的表征向量,得到回答的表征向量其中[;]表示向量連接操作;
步驟B523:對步驟B522得到的對話的表征向量在第一個維度上進(jìn)行切分,切分為n個維度為l×4d的向量矩陣,分別對應(yīng)對話中每條語句的表征向量
所述步驟B53具體包括以下步驟:
步驟B531:將對話中每條語句的表征向量輸入到自注意力機(jī)制模塊中,首先將在第一個維度上劃分為對應(yīng)ut中第i個詞的表征向量,然后通過tanh激活函數(shù)得到的隱層表示,然后動態(tài)計算語句中不同詞的注意力權(quán)重分布,通過softmax函數(shù)歸一化注意力權(quán)重,通過注意力權(quán)重加權(quán),得到對話中每條語句的表征向量同樣將回答的表征向量輸入到自注意力機(jī)制模塊中,在第一個維度上劃分對應(yīng)回答a中第i個詞的表征向量,然后通過tanh激活函數(shù)得到的隱層表示,然后動態(tài)計算語句中不同詞的注意力權(quán)重分布,通過softmax函數(shù)歸一化注意力權(quán)重,通過注意力權(quán)重加權(quán),得到回答的表征向量其公式如下:
其中,W3,b3,W4,W5,b5,W6均為待訓(xùn)練的參數(shù);
步驟B532:拼接對話中的每條語句的表征向量與得到融合對話與回答語義信息的表征向量序列
2.一種融合上下文信息的多輪對話系統(tǒng),其特征在于,包括存儲器、處理器以及存儲于存儲器上并能夠在處理器上運行的程序模塊,所述程序模塊包括:
訓(xùn)練集構(gòu)建模塊,用于采集用戶與客服之間的對話與回答數(shù)據(jù),構(gòu)建對話訓(xùn)練集;
模型訓(xùn)練模塊,用于使用對話訓(xùn)練集,訓(xùn)練融合上下文信息的深度學(xué)習(xí)網(wǎng)絡(luò)模型;以及
多輪對話模塊,用于與用戶進(jìn)行對話,將用戶的對話輸入訓(xùn)練好的深度學(xué)習(xí)網(wǎng)絡(luò)模型中,輸出最匹配的回答;
當(dāng)處理器運行所述程序模塊時,實現(xiàn)如權(quán)利要求1所述的方法步驟。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于江蘇實達(dá)迪美數(shù)據(jù)處理有限公司,未經(jīng)江蘇實達(dá)迪美數(shù)據(jù)處理有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110163418.4/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 信息記錄介質(zhì)、信息記錄方法、信息記錄設(shè)備、信息再現(xiàn)方法和信息再現(xiàn)設(shè)備
- 信息記錄裝置、信息記錄方法、信息記錄介質(zhì)、信息復(fù)制裝置和信息復(fù)制方法
- 信息記錄裝置、信息再現(xiàn)裝置、信息記錄方法、信息再現(xiàn)方法、信息記錄程序、信息再現(xiàn)程序、以及信息記錄介質(zhì)
- 信息記錄裝置、信息再現(xiàn)裝置、信息記錄方法、信息再現(xiàn)方法、信息記錄程序、信息再現(xiàn)程序、以及信息記錄介質(zhì)
- 信息記錄設(shè)備、信息重放設(shè)備、信息記錄方法、信息重放方法、以及信息記錄介質(zhì)
- 信息存儲介質(zhì)、信息記錄方法、信息重放方法、信息記錄設(shè)備、以及信息重放設(shè)備
- 信息存儲介質(zhì)、信息記錄方法、信息回放方法、信息記錄設(shè)備和信息回放設(shè)備
- 信息記錄介質(zhì)、信息記錄方法、信息記錄裝置、信息再現(xiàn)方法和信息再現(xiàn)裝置
- 信息終端,信息終端的信息呈現(xiàn)方法和信息呈現(xiàn)程序
- 信息創(chuàng)建、信息發(fā)送方法及信息創(chuàng)建、信息發(fā)送裝置





