李美玲,任亞偉,孫軍梅,李秀梅,何鑫睿
(杭州師范大學 信息科學與工程學院,杭州 311121)
隨著電子商務的快速興起,智能客服成為金融領域的一大研究熱點.智能客服的核心是快速、準確地回答用戶的咨詢問題.傳統的智能客服模型主要是計算用戶提問語句和知識庫語句的相似度,通過匹配的方式檢索出答案.盡管用戶提問語句和知識庫語句包含相似的關鍵詞,但語義邏輯卻可能截然不同[1],如表1所示.其中,Q 表示用戶提問語句,T 表示語義相同的語句一,F 表示語義不同的語句二.因此,智能客服模型中語句相似度的計算需要綜合考慮關鍵詞信息和語義邏輯信息.

表1 語句例子
句子相似度是實現智能客服的關鍵技術,是文本相似度識別的子集[2].基于深度學習的方法是進行文本相似度計算的重要方法,它從不同角度提取文本中的信息,可以更大限度利用上下文信息,從而提高輸入表征的信息量,克服文本語義表示上的鴻溝問題,使計算結果更加準確.基于深度學習的方法利用Word2Vec[3]等詞向量方法將詞語轉化為詞向量后,輸入到神經網絡模型中,得出句子的語義特征表示,再將語義特征表示送入全連接層或使用距離公式進行語義相似度計算.Hu 等將卷積神經網絡(Convolutional Neural Network,CNN)[4]用于問題文本相似度計算中,分別對兩個句子用CNN 進行編碼,然后將編碼后的文本向量進行拼接,送入全連接網絡[5].Yin 等使用兩個獨立的帶有注意力最大值池化的字符級和單詞級CNN 模型進行相似度計算[6].CNN 在卷積層使用濾波器抽取文本特征,只能獲取濾波器窗口內單詞間的依賴關系,無法獲取句子中所有單詞間的依賴信息,無法獲取整體結構信息.與CNN 不同,循環神經網絡(Recurrent Neural Network,RNN)不僅考慮前一時刻的輸入,而且賦予網絡對前面內容的記憶功能.Mueller 在詞向量的基礎上提出了使用長短時記憶(Long-Short Term Memory,LSTM)[7]神經網絡提取句子的語義特征,并結合余弦距離計算獲得的句子向量的相似程度[8].由于單向長短時記憶神經網絡只能捕獲前一時刻的信息,Neculoiu提出利用雙向長短時記憶神經網絡(Bidirectional Longshort Term Memory,Bi-LSTM)[9]同時獲取上下文的信息,加強句子特征的提取[10].Bowman 等人使用時間遞歸神經網絡在數據集SICK (Sentence Involving Compositional Knowledge)進行語義推理[11].紀明宇等人將門控循環網絡(Gated Neural Network,GRU)應用在智能客服數據的相似度計算上取得了不錯的效果[12].
循環神經網絡如LSTM、GRU 編碼句子時,句子間的依賴程度會隨著距離增加而減弱.為彌補循環神經網絡這一缺點,Hu 引入了注意力機制[13],其核心思想是通過給文本詞向量和其他隱藏表示向量分配不同的權重系數來突出對結果影響較大的特征.楊飛以單詞和句子為研究對象,提出Siamese-LSTM 模型融入注意力機制可以在高維的結構空間中學習文本的豐富語義特征表示[14].Lin 等提出自注意力機制能編碼遠距離的依賴關系[15].Vaswani 等提出的基于自注意力的翻譯模型(Transformer)中采用的多頭注意力(multi-head attention)能集成不同子空間的信息提高編碼依賴關系的能力[16].胡艷霞等基于多頭注意力機制和Tree-LSTM的句子相似度計算,實現句子對間相關語義結構特征的充分利用[17].
本文面向金融證券領域智能客服,在文獻[8]所研究的Siamese 網絡的基礎上,引入多頭注意力機制提取不同語義空間中字詞間的依賴關系,提出多特征融合的句子相似度模型,更好地捕捉兩個句子語義中的上下文信息,進而更好地計算用戶提問語句和知識庫語句之間的相似度.本文主要貢獻有以下兩點:
1)提出一種面向智能客服的句子相似度模型,該模型融合語義特征和詞形特征,其中詞形特征基于傳統統計特征方法實現,極大保留了關鍵詞和詞頻相似度特征;語義特征基于深度學習方法實現,能夠抽取文本全局結構信息和深層語義信息,并且加入多頭注意力機制集成不同子空間的信息以理解字詞之間的依賴關系,更好地計算金融證券領域中用戶提問語句與知識庫語句之間的相似度.相比于傳統單一神經網絡模型和基于注意力機制的神經網絡模型,本文提出的多特征融合模型可以取得更好的相似度計算效果.
2)利用網絡爬蟲技術抓取數據,得到金融證券領域的用戶詢問數據集,并在該數據集基礎上運用數據增強技術[18]進行不同倍數的數據增強,利用數據增強后的數據集進一步驗證了本文提出的多特征融合模型的有效性和泛化能力.
本文面向金融證券領域,提出多特征融合模型用于計算智能客服中用戶提問語句和語料庫語句相似度.該模型綜合考慮語句的詞形特征和語義特征,利用關鍵詞信息和詞頻信息得到語句的詞形特征,利用語義信息得到語句的語義特征.模型具體結構如圖1所示.

圖1 多特征融合模型圖
首先在預處理層,對用戶提問語句S1與語料庫語句S2進行去無用字符、去停用詞、中文糾錯、中文分詞等預處理操作,然后通過特征提取模塊分別獲得詞形特征矩陣和語義特征矩陣,并在特征融合層將詞形特征矩陣和語義特征矩陣按列拼接,之后輸入到分類層進行相似度判斷.最終將機器學習分類器分類結果作為兩個語句間多特征融合相似度判斷結果.多特征融合模型充分利用關鍵詞和詞頻方面信息提取兩個語句的詞形特征,以及深度學習方法提取兩個語句的語義特征.
該模塊由N-gram 算法[19]、編輯距離[20]和Jaccard[21]相似度3 種傳統統計特征方法構成,用于獲取預處理層輸出語句的詞形特征矩陣.首先采用Ngram 算法,該算法是基于統計語言模型的經典算法,但其只考察了語句對中詞出現的信息,沒有完全考慮詞之外的其他信息,例如語句間的編輯距離、相同詞的數量等.因此,本文在N-gram 算法基礎上,引入語句編輯距離差異和Jaccard 相似度作為影響因素.獲取詞形特征模塊分以下4個步驟進行:
1)利用N-gram 算法得到語句S1和語句S2在詞序列方面的相似度特征,具體計算如下式所示:

其中,S imS(S1,S2,n) 表示S1和S2基于不同階Ngram的句子相似度值,len1(n)和len2(n)分別是S1和S2的n元N-gram的個數,意義在于計算兩個長度不同句子的相似度時引入一定的懲罰措施.SimN指計算兩個句子的對應N-gram 集合之間的相似度,通過將文本里面的內容按照字節進行大小為N的滑動窗口操作,形成長度為N的字節片段序列,然后通過計算公共子串[22]的比例來衡量相似度,這里N取3.
2)通過動態規劃求S1轉換到S2的操作數(插入、刪除和替換)得到語句S1和語句S2在編輯距離方面的相似度特征.操作數越少則編輯距離越小,相似性越高.
3)通過Jaccard 算法統計得到語句S1和語句S2在所含相同詞匯數量方面的相似度特征.通常,兩個句子中共同出現的詞語較多,即反應了兩個句子間相同成分占的比例越大,則相似性越高,具體計算如下式所示:

4)將獲得的N-gram 相似度矩陣、編輯距離相似度矩陣和Jaccard 相似度矩陣按列拼接獲得三特征融合的詞形特征矩陣.
該模塊通過深度學習方法獲取預處理層輸出語句的語義特征矩陣.我們提出基于多頭注意力機制的神經網絡模型LBMA (LSTM Based on Multi-head Attention),主要包括詞向量嵌入層、網絡編碼層、注意力交互層、語義特征融合層.如圖2所示,語句S1和語句S2經過詞嵌入層將句子中的詞映射為對應的詞向量,這里我們將位置信息映射為與詞向量相同維度的向量,位置編碼的目的是區分句子中詞的位置信息,計算公式如式(3)和式(4)所示,并將詞向量和位置編碼合并輸入網絡編碼層.

圖2 LBMA 模型框架
圖3為LBMA 模型中網絡編碼層、注意力交互層和語義特征融合層的詳細結構圖.包含位置編碼的詞向量經過LSTM 網絡和Bi-LSTM 網絡進行全局語義特征編碼表示,將LSTM 網絡輸出經過點乘的方法送入CNN 網絡層充分提取句子間的相似特征信息,同時運用多頭注意力機制獲取LSTM 網絡輸出不同子空間的字詞依賴特征,其中多頭注意力計算過程如式(5)–式(7)所示,并將經過多頭注意力機制重新語義編碼的向量全局平均池化后經過余弦相似度和曼哈頓相似度兩個特征提取方法獲取深層語義特征,將Bi-LSTM網絡輸出經過乘法、減法和最大值3個特征提取方法獲取差異特征,最終將以上特征通過矩陣拼接的方式進行語義特征融合.

圖3 LBMA中網絡編碼層、注意力交互層和語義特征融合層的詳細結構圖

其中,pos表示詞語在句子中的位置,i表示詞向量的位置,%表示取余操作,dmodel表示詞向量維度.


本文所采用的基礎數據集為2019“海康杯”第八屆浙江省大學生服務外包創新應用大賽公共數據集.此外,我們通過Python 網絡爬蟲技術模擬瀏覽器行為的方式,從百度知道動態抓取數據,對該基礎數據集進行擴充,得到金融證券領域用戶詢問數據集.通過人工標注的方法,將已有數據中每對相似語句標注為標簽1,作為正樣本數據集,即兩個句子同義;將已有數據中每對不相似語句標注為標簽0,作為負樣本數據集,即兩個句子異義.共獲取金融證券領域相關數據117588 條,其中數據正負樣本比為52877:64711,并將數據集中的60%作為訓練集,40%作為測試集.為驗證模型泛化能力,在盡量不改變語義的前提下,本文利用適合中文語料的4 種數據增強方法[18]擴充數據集.4 種方法為同義詞替換(Synonym Replacement,SR)、隨機插入(Random Insertion,RI)、隨機交換(Random Swap,RS)和隨機刪除(Random Deletion,RD),其中,SR是從句子中隨機選取n個不屬于停用詞表中的字詞,并隨機選擇其同義詞替換它們;RI是隨機找出句中某個不屬于停用詞表的詞,并求出其隨機的同義詞,將該同義詞插入句子的隨機位置,重復n次;RS是隨機的選擇句子兩個字詞并交換它們的位置,重復n次;RD是以每一條語料中改動的詞所占的比例p隨機刪除句子中的一個字詞,重復n次,其中,p和n均是人為設置的值.該數據增強技術生成類似于原始數據并引入一定程度噪聲的增強數據,該方法有助于防止過擬合,其中同義詞替換和隨機插入操作會引入新的詞匯,允許模型泛化到那些在測試集中但不在訓練集中的字詞.
實驗根據召回率(Recall,R)實際識別出的正確結果與數據庫中總的正確結果的百分比,如式(8);準確率(Accuracy,A)返回結果中所有預測正確結果占總樣本數的百分比,如式(9);F1 分數(F1-score)值為召回率(R)和精確率(P)的調和平均值,如式(11).3個評價指標的計算結果來評價算法計算相似度的性能.


其中,TP為真正類(True Positive)即一個實例是正類且被預測為正類;FN為假負類(False Negative)即一個實例是正類但被預測為負類;FP為假正類即一個實例為負類但被預測為正類;TN為真負類(True Negative)即一個實例是負類且被預測為負類.
在本文的實驗中,詞向量采用Word2Vec 詞嵌入向量表示方法,其中每個詞向量維度為300 維,詞典大小為2.08 MB,Batch size 設置為512,激活函數采用Sigmoid,學習率設為0.001,代價函數選擇二元交叉熵(binary_crossentropy),為了緩解訓練中可能出現的過擬合問題,隨機失活率(dropout rate)設置為0.5,采用Adam 優化方法,模型迭代次數(epoch)最大設為20,使用Earlystopping,多頭注意力機制中注意力個數設置為8.
為驗證本文提出的詞形特征模塊有效性和語義特征模塊有效性,設置實驗1和實驗2;為驗證提出的多特征融合模型有效性,設置實驗3;為驗證數據增強方法有效性,設置實驗4,具體實驗結果如下.
實驗1.基于詞形特征的語句相似度計算
為驗證三詞形特征融合方法的有效性,我們分別用N-gram、編輯距離和Jaccard 相似度3 種基線方法和三詞形特征融合方法對測試集進行相似度計算,根據召回率、準確率和F1 值進行評價.當三詞形特征融合時,我們經過多次對比實驗后選擇基于RBF 核的支持向量機分類器[23]進行分類判斷,設置閾值為0.8,將測試結果中大于閾值的數據歸為1 即判斷兩個語句同義,小于閾值的數據歸為0 即判斷兩個語句異義,并將分類器分類結果作為兩個語句間的詞形相似度判斷結果.各評價指標結果如表2所示.

表2 詞形特征計算相似度的各評價指標結果(%)
從表2可知,三詞形特征融合能提升效果,使召回率、準確率為、F1 值都提升到85%以上.
實驗2.基于語義特征的語句相似度計算
為驗證基于多頭注意力機制的神經網絡模型LBMA的有效性和比較不同深度學習模型的效果,我們加入了Siamese-LSTM、Siamese-LSTM-Att和Siamese-LSTM-Self Att 三個基線模型進行對比,實驗采用五折交叉驗證的方式選取評價指標的平均值作為各評價指標結果,如表3所示,模型準確率對比曲線如圖4所示.

表3 神經網絡模型計算相似度的各評價指標結果(%)

圖4 不同模型準確率的變化曲線
從表3可知,Siamese-LSTM 模型準確率為84.19%,而加入注意力機制的Siamese-LSTM-Att 模型相比Siamese-LSTM 模型準確率提升了4.58%,可以看出局部注意力對于模型表現提升是有效的.加入自注意力機制的Siamese-LSTM-Self Att 相比Siamese-LSTM 模型提升了6.82%,表明自注意力機制更能捕捉句子中的語義特征.此外,LBMA 相比Siamese-LSTM 模型提升了10.24%,可以看出基于多頭注意力的神經網絡模型LBMA 提取語義特征能力更強.
從圖4可知,我們的模型在第2個epoch 時就達到了90%的準確率,并在第8個epoch 開始緩慢提升,模型接近收斂點,證明我們的基于多頭注意力機制的神經網絡模型收斂速度明顯快于其他的模型.
實驗3.多特征融合模型相似度計算
為驗證多特征融合模型的有效性,進行多特征融合模型相似度計算實驗,該實驗結果與三詞形特征融合模型和語義特征模型LBMA 結果相比較,各評價指標結果如表4所示.

表4 不同模型計算相似度的各評價指標結果(%)
從表4可知,多特征融合模型計算結果高于三詞形特征融合模型和語義特征模型LBMA 計算結果,因此多特征融合方法對于金融證券領域句子相似度計算是有效的.
實驗4.數據增強有效性驗證
為驗證數據增強方法有效性,進行數據增強實驗,并將該實驗結果與原數據集實驗結果相比較.數據增強方法如下,本文借助外部Synonyms 知識庫引入新的中文詞匯,實現4 種數據增強方法中同義詞替換和隨機插入操作,然后設置對于每一條語料增強的數據量n和每一條語料中改動的詞所占的比例p,并在原始數據的基礎上對于每一條語料分別通過4 種數據增強方法獲得4n條增強數據,并將4n條數據打亂順序后選出前n條并保留原始數據為最終數據.具體地,我們兩次運用數據增強技術,其中比例p都設置為0.1,n分別設置為1和4,即每條數據分別增強1 條和4 條并保留原數據,分別擴充至235176 條(2 倍)和587940 條(5 倍),與原數據集進行對比實驗,多特征融合模型中的機器學習分類器經過多次對比實驗后選擇基于RBF核的支持向量機,數據增強后各評價指標結果如表5.

表5 多特征融合模型數據增強后各評價指標結果(%)
從表5可知,多特征融合模型在數據增強后召回率、準確率和F1 值均有所提升,說明數據增強方法對于該數據集是有效的,可以提升模型泛化能力,進一步說明模型對于增強的那一部分數據的特征提取效果更好.
本文為提高金融證券領域客服的智能性,提出融合詞形特征和語義特征的句子相似度計算模型,其中詞形特征考慮了N-gram 相似度、編輯距離、Jaccard相似度三種詞形信息,并提出基于多頭注意力機制的神經網絡模型LBMA 提取句子間的語義特征.實驗結果表明,與單一神經網絡模型和基于注意力的神經網絡模型相比,LBMA的性能有所提升,且多特征融合模型在客服數據中也獲得了較好的效果.為驗證數據增強方法對于多特征融合模型的有效性,我們在盡量不改變語義信息的前提下使用數據增強方法擴充數據集進行對比實驗,進一步提升了多特征融合模型的句子相似度計算效果.