999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Siamese-ELECTRA 網絡結合對抗訓練的FAQ 問答模型研究

2021-08-24 08:36:44王仲林王衛(wèi)民朱樂俊
軟件導刊 2021年8期
關鍵詞:語義標準用戶

王仲林,王衛(wèi)民,朱樂俊

(江蘇科技大學 計算機學院,江蘇 鎮(zhèn)江 212003)

0 引言

基于常見問題集(Frequently Asked Questions,FAQ)的問答模型是智能客服系統(tǒng)核心技術之一[1],典型場景是:企業(yè)為了更好地服務于客戶,維護著大量標準問題—標準答案對,當用戶提出疑問時,服務者會根據經驗和行業(yè)背景知識將用戶問題映射到一個標準問題上,并返回對應的標準解答;如果當前FAQ 庫中沒有足夠的用戶咨詢信息,服務者會記錄用戶問題并標記,準備好答案后補充到常見問題集。隨著服務的持續(xù)運營,企業(yè)知識庫中的歷史數據規(guī)模不斷增長,客服人員在成千上萬條記錄中尋找用戶所需答案是一項重復性很高的工作,一方面十分耗費時間精力,另一方面若回答不及時容易引起客戶不滿。FAQ 問答模型可通過計算用戶問題與標準問題之間的語義相似性,檢索并返回與輸入問題最相似的候選問題答案。與基于關鍵字的搜索引擎相比,FAQ 問答系統(tǒng)允許用戶通過自然語言發(fā)問,能夠更深刻理解專業(yè)場景中用戶的意圖,為其提供更為精確的答疑服務。在一定規(guī)模語料庫支持下,經過良好訓練的FAQ 問答模型能廣泛應用各行各業(yè),為其提供智能化的解決方案,在提高效率的同時大大降低了客服人力成本。

FAQ 問答模型的核心是文本相似度計算[2]。以往基于TF-IDF 的向量空間模型難以表征自然語言文本深層次的語義變化;基于文本特征的方法需要專家配置大量的詞法句法模板;基于詞向量、卷積神經網絡、循環(huán)神經網絡以及注意力機制的一般深度學習方法難以有效處理長依賴和多義詞問題;而基于NLP 預訓練模型句對分類任務的相似匹配算法,雖然能夠自動提取到深層次的語義特征并充分對比句子之間的差異,但由于是句對耦合輸入,一次推理僅能預測兩個句子的關系,難以滿足應用級別的FAQ 問答系統(tǒng)要求[3]。

針對上述問題,本文選取在較小參數量情況下表現更好的NLP 預訓練模型ELECTRA,結合對抗訓練算法FGM,提出一種基于遷移學習語言模型和對抗訓練的FAQ 問答系統(tǒng),通過訓練一個Siamese 網絡結構,模型將語義上相似問句的特征向量映射到相近的向量空間,最終通過向量距離公式快速計算出語義相似性得分。實驗表明本文方法與多個已有模型相比表現更好。

1 相關工作

基于FAQ 的問答模型關鍵技術是如何計算用戶問題和標準問題之間的相似程度,以此為出發(fā)點將已有方法分為基于向量空間模型的傳統(tǒng)信息檢索方法、基于知網等語義資源的相似性度量方法、基于人工構造文本特征的機器學習方法、基于詞向量的深度學習方法,以及上述方法的混合搭配。

2003 年,秦兵等[4]綜合利用向量空間模型的TF-IDF 方法和HowNet 的義原分類樹,提出一種中文句子相似度的計算方法;2007 年,葉正等[5]在向量空間模型基礎上提出一種基于分解向量空間和語義概念的問句相似度計算方法;2010 年,張琳等[6]提出一種基于多重信息的方法,即結合關鍵詞信息、句子結構信息和語義信息的句子相似度計算;同年,卜文娟等[7]提出一種基于概念圖的問句相似度計算方法;2014 年,鄭誠等[8]改進了傳統(tǒng)的VSM 模型,能更好地體現問題中詞的權重,并引入LDA 模型。通過主題—詞中詞的概率分布計算詞與詞的相關度,提出通過詞與詞間相關度計算句子與句子間相似度的算法;2015 年,Wang等[9]通過定義問題的文法特征,應用學習排序的方法基于FAQ 訓練了一個排序模型;2018 年,高旭楊[10]融 合word2vec 和BM25 打分,結合邏輯回歸實現了一個證書服務領域的FAQ 問答系統(tǒng);2019 年,莫歧等[11]提出一種聯合分類與匹配的FAQ 問答模型,能夠在充分利用標準問題信息的同時選擇真正要區(qū)分的負例;2020 年,宋文闖等[12]針對長度較短的問句引入了問題元和詞模思想,對用戶問題進行分解,并與傳統(tǒng)的相似度計算方法相融合,提出一個短文本相似度算法。

基于深度學習的方法在文本相似度計算領域成果顯著,是當前業(yè)界的主流方案。2015 年,Feng 等[13]在其論文中將Siamese-CNN 網絡應用到問答領域,提出并對比了4種不同的網絡結構;2016 年,Neculoiu 等[14]提出的Siamese-RNN 網絡可學習用于文本相似度計算的句嵌入;同年,Mueller 等[15]在AAAI 上發(fā)表了類似研究的文獻。從傳統(tǒng)的詞向量技術word2vec、GloVe 到神經網絡模型CNN、RNN、LSTM、Transformer 等,再到遷移學習理論在NLP 領域的應用,在大規(guī)模語料數據的支持下,深度學習技術己被證實超過了傳統(tǒng)信息檢索和統(tǒng)計機器學習方法在自然語言處理領域的表現;以BERT(Bidirectional Encoder Representa?tions from Transformers)為首的NLP 預訓練模型[16],通過在海量無監(jiān)督文本數據上預訓練,然后到下游NLP 具體任務中的微調方式,取得了多達11 項NLP 任務的最佳結果。

綜上所述,當前FAQ 問答領域研究的主要問題是如何基于最先進的NLP 預訓練模型構建一個高效可用的FAQ問答系統(tǒng)。本文創(chuàng)新點如下:使用ELECTRA-Samll 模型,該模型只有BERT-Base 版約十分之一的參數體積,卻達到與其相近的GLUE 分數;通過孿生網絡結構訓練模型,在模型層解耦了擴展問-標準問輸入組合,提高了FAQ 問答系統(tǒng)預測效率;基于對抗訓練算法,在嵌入層參數矩陣中添加對抗擾動,提高了模型的魯棒性和泛化能力;引入了多重否定損失,配合孿生網絡結構,只需正樣本句對即可完成模型訓練。

2 模型結構

在訓練階段,模型主要由一組權值共享的ELECRA 網絡[17]構成,縱向來看,主要包括嵌入層、特征提取層、池化層、相似度計算層和目標函數層5 個部分。使用孿生網絡結構的目的是在模型層(包括輸入層、特征提取層和池化層)將句對組合分離,減少預測時的計算復雜度。為進一步提高模型的魯棒性和泛化能力,本文在嵌入層基于對抗訓練算法FGM[18]添加了梯度擾動;特征提取層選用NLP 預訓練模型ELECTRA,其在相同體積情況下擁有比BERT 更好的效果。NLP 預訓練模型輸出向量較多,需要合理選擇輸出端的池化策略。為計算方便,訓練過程中的相似度計算由向量點積完成。目標函數層采用多重否定損失[19],使用同一batch 中其他輸入的響應作為當前輸入的負響應,只需輸入正例句對即可訓練模型,如圖1 所示。

Fig.1 Overall structure of the model圖1 模型整體結構

2.1 嵌入層

模型嵌入層即ELECTRA 模型的輸入層,與傳統(tǒng)的詞向量加神經網絡方法不同的是,NLP 預訓練模型的輸入層本身便包含了詞向量矩陣,即嵌入層的參數在預訓練階段與模型一起從零開始訓練,基于這種方式得到的詞嵌入對預訓練模型適配更好,依據上下文環(huán)境可以更好地表征多義詞問題。此外,為了提升模型效果,本文基于FGM 算法對ELECTRA 模型嵌入層的參數矩陣添加了對抗擾動。

2.1.1 輸入表示

與BERT 模型相同,ELECTRA 的輸入由詞嵌入、部分嵌入和位置嵌入3 部分疊加而成。如圖2 所示,Token Em?beddings 表示詞向量,第一個位置是[CLS]標志,一般用于下游分類任務;[SEP]標志是分隔符,用于將兩個句子隔開;Segment Embeddings 的作用也是分開兩個句子,增強區(qū)分效果;Position Embeddings 表示位置向量,引入的原因是Transformer 的自注意力機制丟失了輸入的序列信息。

Fig.2 ELECTRA embedded layer input representation圖2 ELECTRA 嵌入層輸入表示

本文方法由于使用孿生網絡結構解除了擴展問-標準問句對的耦合,所以每次輸入模型只有一個句子,不需要使用[SEP]標記分隔雙句。

2.1.2 對抗訓練

神經網絡的線性特點使其較容易受到線性擾動攻擊,基于該特性構造的對抗樣本會在不易察覺的情況下引起模型誤判。對抗訓練是防御對抗樣本的一種方式,其基本思想是在原始輸入樣本中添加一個梯度擾動,得到對抗樣本后以攻代守,用其訓練模型。Madry 等[20]從優(yōu)化的視角將對抗訓練解釋為一個尋找鞍點問題,即Min-Max 公式,如式(1)所示。

其中,L為損失函數,S為擾動的范圍空間,D是輸入樣本的分布。右邊的max 部分表示內部損失最大化,尋找最有效的擾動使模型出錯;左邊的min 部分表示外部經驗風險的最小化,防御攻擊,找到最魯棒的模型參數。

式(1)中添加radv的目的是為了使L(θ,x+radv,y)增大,可以取梯度上升的方向。因此:

為了防止radv數值過大,通常要將其標準化后加約束?。即:

式(3)即為基于對抗訓練算法FGM(Fast Gradient Method)添加的梯度干擾。針對每條樣本構造出x+radv后,使用(x+radv,y)對模型參數θ進行梯度下降更新。

與CV 領域不同的是,輸入神經網絡的自然語言文本在最外層表示為離散的one-hot 向量,歐式距離恒為理論上不存在添加擾動的基礎。因此,在NLP 任務中,對抗訓練方法更多的是對嵌入層輸出的連續(xù)向量添加干擾,作為一種類似正則化的方法使用。實踐結果表明,該方法可以有效提高模型在NLP 任務上的效果。Ju 等[21]將對抗訓練方法引入到QA 問答任務中,在CoQA 數據集上取得了很好的結果;Gan 等[22]在構建視覺語言表示學習模型時提出了大規(guī)模對抗訓練方法,通過在預訓練和微調階段添加對抗干擾。模型在下游的圖像和文本檢索任務中得到不同程度的提升。

2.2 特征提取層

ELECTRA 是NLP 預訓練模型的一種,基本結構與BERT 相同,同樣是一個基于Transformer 的雙向編碼器模型,旨在通過聯合調節(jié)所有層中的左右上下文來實現語句的深度雙向表示[23]。只需要一個額外的輸出層,就可以對預訓練的網絡進行微調,從而為NLP 任務創(chuàng)建最先進的模型,無需針對特定任務大量修改模型結構(見圖3)。

Fig.3 ELECTRA model structure圖3 ELECTRA 模型結構

與其他NLP 預訓練模型不同的是,ELECTRA 模型使用了類似生成對抗網絡的新穎預訓練方法,使模型能夠以更快的速度在更小的體積上收斂。在參數量相同的情況下,ELECTRA 的效果要優(yōu)于BERT,體積越小的版本中相差越明顯。算法應用不僅要盡可能地提高預測精度,推理性能也非常重要。

如圖4 所示,ELECTRA 模型的預訓練由生成器和判別器兩部分組成。生成器是一個基于遮蔽語言模型的體積較小的類BERT 結構,用于預測被[MASK]標記遮蓋的標簽;判別器同樣是一個類BERT 結構,用于判斷輸入的字符是否被生成器替換過(即預測出的標簽與原始語料不同),兩邊模型的嵌入層參數共享,左右兩部分模型一起訓練。不同于生成對抗網絡的是,判別器梯度不會反向傳播到生成器,訓練的損失函數如下:

Fig.4 Pre-training process of ELECTRA model圖4 ELECTRA 模型預訓練過程

通過這種新穎的預訓練任務和框架,ELECTRA 不僅可以和遮蔽語言模型(如BERT)一樣利用大規(guī)模無監(jiān)語料進行預訓練,而且模型收斂速度更快,學習到的語義表示粒度更加細致。多種預訓練模型的參數量和GLUE 分數對比如表1 所示。

Table 1 Comparison of NLP pre-training models表1 NLP 預訓練模型對比

從表1可以看出,ELECTRA-Base與BERT-Base的參數量都為110M,卻擁有更好的效果。ELECTRA-Small 僅有14M 參數,卻有著接近BERT-Base 的性能,并且超過了66M 模型參數的蒸餾BERT(DistilBERT)。

2.3 池化層

ELECTRA 模型的多層Transformer 結構中,每層均可提取出向量,因此需要合理選擇輸出的池化方式。如圖5 所示,主要有CLS 池化策略,即取CLS 標記對應的向量作為輸出向量;平均池化策略,即平均最后一層所有位置的向量作為輸出;最后n 層CLS 平均池化策略,即取最后n 層CLS向量做平均。為了獲取信息更完整的句嵌入表示,本文在實驗中選用平均池化策略。

Fig.5 Output vector pooling strategy圖5 輸出向量池化策略

2.4 相似度計算層與目標函數層

FAQ 檢索式問答的核心任務是如何根據用戶問題找到與其語義最相似的標準問題。對于用戶問題x最相似的標準問題是y的概率可設為P(y|x),該概率分布可寫成:

基于P(y|x)能夠對可能響應x的候選標準問題y進行排序。使用神經網絡模型來學習P(x,y)的聯合概率,即:

對于任何給定的x,在模型訓練完畢后分母都是一個常數,不會影響預測時的相似度排序。式(4)要求在每輪訓練迭代中對所有可能的響應yk的概率進行求和,計算代價過高??赏ㄟ^在語料庫中均勻地采樣K 個響應(包括y)來近似表示P(x):

結合式(6)和式(7),可以得到用于訓練神經網絡模型的近似概率公式:

多重否定損失是Henderson 等在設計郵件智能回復系統(tǒng)時使用的損失函數。假設同一batch 中其他響應均為當前響應的負例,訓練目標是使數據的近似均值負對數概率最小化,無需在數據集中添加負樣本。

一個batch 中K個可能的響應將被用來近似P(x,y),包括一個正確的響應和K-1 個隨機的否定(負例)。為提高效率和簡化步驟,使用訓練批次中隨機梯度下降的其他樣例響應作為負響應。對于一組批次大小為K的正例句對集合,將有K個用戶問x=(x1,…,xK)及其對應的K個標準問y=(y1,…,yK)。當i ≠j 時,每個回答yj可當作xi的一個消極候選。訓練梯度下降時是一個隨機打亂過程,因此每個x的K-1 個負例在每輪迭代中都是不同的。

對于單個訓練批次,如式(9)所示:

其中,θ代表神經網絡的參數,S代表神經網絡的計算。

3 模型預測

模型訓練完成后,具有相似語義問句的特征向量將被強制映射到相近的向量空間中。預測時,經過ELECTRA模型的特征提取,一條問題語句被編碼為一個特征表示向量??梢允孪扔嬎愫脵z索庫中所有標準問的句向量,獲得集合S=(s1,s2,…,sn),當有用戶咨詢時,通過模型提取特征,可獲得用戶問的語義向量u,通過計算向量u和集合S中所有的句向量空間距離,可以快速獲取當前用戶問和所有標準問之間的相似性得分。基于該語義相似度得分可對候選問題進行相似度排序,返回最接近用戶意圖的候選標準問題。預測流程如圖6 所示。

Fig.6 Model prediction process圖6 模型預測流程

本文實驗使用余弦距離計算特征向量的相似度,計算方法如式(10)所示,其中Ai,Bi分別代表向量A和B的各分量。

對于應用級別FAQ 問答系統(tǒng),可以使用Facebook 開源的近似向量檢索庫Faiss,能夠有效縮短標準問題召回時間。Faiss 框架為稠密向量提供高效相似度搜索和聚類,可為向量建立索引,并支持超大規(guī)模的相似向量檢索,如表2所示。詳細的評測結果可閱讀文獻[25-26]。

Table 2 Features of Faiss framework表2 Faiss 框架特性

4 實驗

4.1 數據集和實驗環(huán)境

實驗數據源于某企業(yè)的智能客服項目,共38 251 條高質量的正樣本(擴展問-標準問句對),提取出標準問題并去重后獲得933 條標準問。在該數據集中,擴展問和標準問的對應關系為n:1,即對于每一條擴展問,只有一條與之相匹配的標準問題,如表3 所示。原始數據為Excel 格式,通過Python 的Pandas 庫清洗和規(guī)整數據集,隨機打亂順序后轉化成.tsv 格式。

實驗中,隨機采樣6 000 條做測試集,其余32 251 條樣本作為訓練集參與訓練。為充分展示NLP 預訓練模型在中文FAQ 問答中的效果,僅對長度大于16 的問句進行去停用詞處理,并清洗掉部分特殊字符。由于使用多重否定損失,不再需要向數據集中添加負樣本。

Table 3 Examples of data表3 數據示例

實驗環(huán)境如表4 所示。

Table 4 Experimental environment表4 實驗環(huán)境

ELECTRA 中文版預訓練權重[27]使用哈工大訊飛聯合實驗室發(fā)布的ELECTRA-small-Chinese 版本,PyTorch 版的權重需要通過Transformers 提供的轉換腳本進行轉換。

評價指標是模型在檢索Topk個(k=1,3,…)最相似問題時的準確率(Accuracy),如式(11)所示。

4.2 實驗結果與分析

模型在實驗數據集上的對比結果如表5 所示,從表中可以看出,在文本相似度計算任務上,本文的Siamese-ELECTRA 模型要優(yōu)于傳統(tǒng)的詞向量加CNN 或LSTM 方法。在微調階段,對抗訓練的引入對模型效果有一定提升。

Table 5 Comparison of model effects表5 模型效果對比 (%)

此外,本文選取一組數據調整后調用模型服務進行預測,用于驗證和分析所述問答模型效果,如表6 所示。

Table 6 Data analysis of forecast results表6 預測結果數據分析

通過表6 的數據分析可以直觀看出本文模型的魯棒性和泛化能力都較為出色,能夠很好地適應一些常見擴展問法的調整。其中值得注意的是樣例8、9 和10,這組樣例的實驗結果表明,對于語義距離較遠的句對組合,模型可能存在一定的過擬合現象,對于這樣的組合,搭建系統(tǒng)時需要特別進行檢查和數據增強。

5 結語

本文基于Siamese-ELECTRA 網絡、對抗訓練算法FGM以及多重否定損失,提出一種新的FAQ 檢索式問答模型。該模型利用ELECTRA 來提取問句豐富的語義特征,通過訓練一個Siamese 網絡結構,將語義上相似問句的特征向量映射到相近的向量空間,最終基于特征向量之間的距離快速找到最相似的候選標準問題。實驗表明本文模型優(yōu)于多個已有重要模型,但本文模型仍存在一些問題尚未解決,如多模型融合方法如何通過合并多個模型的檢索結果提高最終重排序結果的精確度。此外,本文模型僅利用了問題與問題之間的信息,沒有利用到問題與答案之間的信息,如何結合兩部分內容來提高模型的表現是后續(xù)要研究的工作。

猜你喜歡
語義標準用戶
2022 年3 月實施的工程建設標準
語言與語義
忠誠的標準
當代陜西(2019年8期)2019-05-09 02:22:48
美還是丑?
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
“上”與“下”語義的不對稱性及其認知闡釋
現代語文(2016年21期)2016-05-25 13:13:44
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
一家之言:新標準將解決快遞業(yè)“成長中的煩惱”
專用汽車(2016年4期)2016-03-01 04:13:43
認知范疇模糊與語義模糊
主站蜘蛛池模板: 波多野结衣中文字幕久久| 亚洲天堂免费观看| 99色亚洲国产精品11p| 国产精品美乳| 成人毛片免费观看| 国产美女在线观看| 97se综合| 亚洲成a人片77777在线播放| 亚洲精品高清视频| 亚洲日韩第九十九页| 无码精品福利一区二区三区| 亚洲日本中文字幕乱码中文| 亚洲欧美日韩中文字幕一区二区三区 | 久久国产精品影院| 日韩精品无码一级毛片免费| 国产色偷丝袜婷婷无码麻豆制服| 国产男女XX00免费观看| 视频国产精品丝袜第一页| 国产精品久久久精品三级| 久久国产成人精品国产成人亚洲| 欧美一区福利| 激情综合网激情综合| 亚洲不卡影院| 亚洲AV无码一区二区三区牲色| 成人免费一级片| 国产凹凸一区在线观看视频| 亚洲三级电影在线播放| 99久久国产综合精品2020| 亚洲丝袜中文字幕| 国产成人亚洲无码淙合青草| 91精品啪在线观看国产60岁 | 亚洲欧美一区二区三区蜜芽| 欧美三級片黃色三級片黃色1| 国产综合精品一区二区| 久精品色妇丰满人妻| 国产chinese男男gay视频网| 久久国语对白| 99er精品视频| 亚洲日产2021三区在线| 国产真实二区一区在线亚洲| 精品无码一区二区三区在线视频| 亚洲精品福利视频| 国产精品福利社| 自拍亚洲欧美精品| 国产免费观看av大片的网站| 欧美日本在线一区二区三区| 亚洲无线观看| 91娇喘视频| 国产白浆在线观看| 麻豆国产原创视频在线播放| 精品免费在线视频| 自拍偷拍欧美日韩| 国产主播在线观看| 亚洲另类色| 中文国产成人久久精品小说| 国产成人精品日本亚洲77美色| 欧美v在线| 国产超碰在线观看| 精品小视频在线观看| 亚洲av片在线免费观看| 国产成人免费观看在线视频| 国产精品免费福利久久播放| 国产chinese男男gay视频网| 成人无码区免费视频网站蜜臀| 免费一级毛片| 成人在线天堂| 97狠狠操| 国内精品自在欧美一区| 一本视频精品中文字幕| 尤物成AV人片在线观看| 亚洲综合二区| 91网址在线播放| 一本色道久久88| 永久免费无码日韩视频| 无码内射在线| 色国产视频| 久久精品66| 亚洲欧美一区二区三区图片| 国产精品13页| 国产乱子伦精品视频| 国产精品亚洲专区一区| 91色在线观看|