亢文倩
(昆明理工大學(xué) 信息工程與自動化學(xué)院,云南 昆明 650500)
問句分類是問答系統(tǒng)的一個重要處理過程[1],是在用戶給定自然語言問句的前提下,將問句與預(yù)定義類別形成映射,并用類別標(biāo)簽表示。該類別標(biāo)簽作為對問句答案范圍的語義約束,用于檢索與標(biāo)簽對應(yīng)的答案,盡可能地縮減檢索空間,提升檢索效率。傳統(tǒng)的問句分類方法大致分為基于規(guī)則的方法、基于機(jī)器學(xué)習(xí)的方法以及基于深度學(xué)習(xí)的方法三種。
基于深度學(xué)習(xí)的問句分類方法近年來成為研究的熱點,相較于機(jī)器學(xué)習(xí)方法常用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)模型[2-3]、長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)模型[4-6]等網(wǎng)絡(luò)結(jié)構(gòu),這些方法可以端到端地獲取文本特征,大大降低了人力成本和時間成本。但由于深度學(xué)習(xí)的特性,在節(jié)省資源的同時也受到數(shù)據(jù)稀疏的影響。深度學(xué)習(xí)模型處理下游自然語言處理(Natural Language Processing,NLP)任務(wù)的前提是,訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)屬于同一個領(lǐng)域,也就是說它們必須擁有共同的特征空間和相同的數(shù)據(jù)分布,否則分類精度會大大降低。如果要對新領(lǐng)域的問句進(jìn)行分類,則需要在新領(lǐng)域?qū)δP椭匦逻M(jìn)行訓(xùn)練,故而深度學(xué)習(xí)分類器的可重用性較低。
深度遷移學(xué)習(xí)將深度學(xué)習(xí)方法與遷移學(xué)習(xí)相結(jié)合,對于上述問題是一種很有效的解決方法。例如,雙向編碼器表征量(Bidirectional Encoder Representations from Transformers,BERT)[7]使 用Transformer 作為主要框架,首先預(yù)訓(xùn)練模型并初始化參數(shù),其次根據(jù)下游任務(wù)的使用目標(biāo)域數(shù)據(jù)對參數(shù)進(jìn)行微調(diào),可以替代Word2Vec 應(yīng)用到文本分類等11 項NLP 任務(wù)中。SUN 等人[8]對比了在文本分類上BERT 模型的不同微調(diào)方法的性能。由于BERT模型從訓(xùn)練數(shù)據(jù)中提取特征,因此忽略了文本標(biāo)簽所提供的語義信息。
PURI 等人[9]對分類任務(wù)進(jìn)行自然語言描述,將其作為輸入并對模型訓(xùn)練,將所有任務(wù)轉(zhuǎn)化為QA 任務(wù),輸出為自然語言答案。KISHALOY 等人[10]提出了一種零樣本學(xué)習(xí)方法(TARS),在上述模型基礎(chǔ)上,將文本分類轉(zhuǎn)化成二進(jìn)制分類。TARS 模型在情感分析領(lǐng)域的分類適配性較高,而在問題、主題類型的分類正確率較低。
通過對以上方法的研究與分析,本文將類別標(biāo)簽用于BERT 微調(diào)分類器的訓(xùn)練,比較標(biāo)簽和問句的語義相似度,獲取兩者的關(guān)聯(lián)性,提出一種融合標(biāo)簽語義特征的BERT 微調(diào)問句分類方法,簡稱L-BERT-FiT。
鑒于深度遷移學(xué)習(xí)強(qiáng)大的泛化能力和特征提取能力,L-BERT-FiT 主要由以下3 部分組成如圖1所示。
(1)定義虛擬標(biāo)簽詞典。首先,模型訪問訓(xùn)練集和測試集,獲取已知的標(biāo)簽文本,生成一個虛擬的標(biāo)簽詞典。在對模型進(jìn)行預(yù)訓(xùn)練時,將該詞典中的標(biāo)簽與問句形成一一對應(yīng)的元組<預(yù)測標(biāo)簽,問句>作為輸入。
(2)特征提取。將輸入的預(yù)測標(biāo)簽視為文本×1,問句視為文本×2,則將分類任務(wù)視為計算文本×1和×2 相似度任務(wù)。提取×1 的語義信息和×2 的語義信息,并比較兩者的相關(guān)性,將其作為輸入特征,調(diào)節(jié)BERT 參數(shù)。
(3)BERT 微調(diào)。在上述預(yù)訓(xùn)練完成后,使用微量的目標(biāo)域數(shù)據(jù)對BERT 模型進(jìn)行參數(shù)微調(diào),并使用SoftMax 函數(shù)作為輸出層的線性激活函數(shù),選擇分類結(jié)果(正確/錯誤)。
獲取源領(lǐng)域和將要進(jìn)行預(yù)測分類的目標(biāo)域類別標(biāo)簽生成標(biāo)簽詞典。例如,源域包含兩個類別的問句“Society”“Computers”“Entertainment”“Sports”,目標(biāo)域的問句可能屬于類別“Science”“Business”“Education”“Health”,則生成的虛擬標(biāo)簽詞典則為{Society,Computers,Entertainment,Sports,Science,Business,Education,Health}。
如圖2 所示,在BERT 訓(xùn)練時,輸入的元組格式為<預(yù)測類標(biāo)簽,問句>。BERT 將輸入的文本的格式轉(zhuǎn)化為“[CLS]y[SEP]x[SEP]”,其中y代表類標(biāo)簽,x代表問句,[SEP]標(biāo)志用于間隔兩個文本輸入,[CLS]標(biāo)志位于輸入起始位置。
圖2 L-BERT-FiT 生成的詞嵌入
如圖2 所示,BERT 將輸入文本x中的每個單詞轉(zhuǎn)換為詞嵌入E,每個詞嵌入都由3 部分組成:Token 嵌入+Segment 嵌入+Position 嵌入。并對E進(jìn)行加權(quán)映射得到三個向量Query(Q)、Key(K)和Value(V),其中Q=K=V。然后,計算輸入的特征矩陣[11]:
K,Q,V的輸入維度為dK,dQ,dV,SoftMax激活函數(shù)用以獲取權(quán)重。由于BERT 中的Selfattention 機(jī)制是多頭的,即可以獲得多個Attention輸出,則Transformer-encoder 輸出的最終特征矩陣為[11]:
式中:h代表h個Attention head,W O代表線性映射,將向量映射到高維空間更易獲取所需信息。參數(shù)矩陣
獲取到特征向量后,需要計算標(biāo)簽向量A和問句向量B的語義相似度.這里使用特征向量的點積(cosine)來進(jìn)行計算:
最后,使用SoftMax 函數(shù)形成一個概率分布,比較同一問句與不同標(biāo)簽的相似度,取值最高的輸出為TRUE,其余的輸出為FALSE。
2.1.1 數(shù)據(jù)集
實驗數(shù)據(jù)集采用的是Yahoo! Answers數(shù)據(jù)集[12]。此數(shù)據(jù)集為英文問答數(shù)據(jù)集,共含有10 個不同的問句類別。人為地根據(jù)不同的類別標(biāo)簽將數(shù)據(jù)集劃分為3 個不同的領(lǐng)域,每個領(lǐng)域包含4 種類別的問句,如表1 所示:
表1 實驗數(shù)據(jù)集的領(lǐng)域劃分
在實驗過程中,選擇不同的領(lǐng)域作為源域和目標(biāo)域。選取10 000 條源域數(shù)據(jù)作為訓(xùn)練集,用以預(yù)訓(xùn)練模型;500 條目標(biāo)域數(shù)據(jù)作為開發(fā)集,用以微調(diào)BERT;4 000 條目標(biāo)域數(shù)據(jù)作為訓(xùn)練集,用于測試模型在目標(biāo)域的分類效果。
2.1.2 數(shù)據(jù)預(yù)處理
對數(shù)據(jù)集中的問句進(jìn)行降噪處理,去除標(biāo)點及特殊符號,去除多余空格,將大寫字母轉(zhuǎn)換為小寫;并將原始數(shù)字標(biāo)簽替換為文本標(biāo)簽,處理結(jié)果如表2 所示。
表2 預(yù)處理前后的數(shù)據(jù)元組對比
本實驗在Google colab 上利用Python3.7 編寫,使用Flair 框架。模型網(wǎng)絡(luò)層數(shù)為12,注意多頭個數(shù)h=12,參數(shù)總量為110 MB。詞嵌入大小為512,隱藏維度768,dropout=0.1。epoch 的最大數(shù)量為20,每批執(zhí)行110 次迭代,最大batch 為16,初始學(xué)習(xí)率為0.000 1。
為了宏觀地反映L-BERT-FiT 模型的跨領(lǐng)域問句分類性能,對每個模型分別進(jìn)行5 組跨領(lǐng)域分類實驗,每組實驗分別進(jìn)行3 次,實驗結(jié)果取3 次的平均值。
由表3 可見,L-BERT-FiT 的分類性能在不同領(lǐng)域存在波動,當(dāng)L-BERT-FiT 由領(lǐng)域1 遷移至領(lǐng)域3 時,精度相較BERT-FiT 提升最高,提升4.28%。當(dāng)L-BERT-FiT 由領(lǐng)域2 遷移至領(lǐng)域1 時,精度相較BERT-FiT 提升最低,僅提升了1.38%。這可能與不同域之間的距離和提取的特征數(shù)量有關(guān),但總體上實驗結(jié)果得到了顯著提升。
表3 L-BERT-FiT 與BERT 微調(diào)模型在跨域問句分類中的精度(單位:%)
由表3 可以得出結(jié)論,與BERT 微調(diào)相比,L-BERT-FiT 的平均精度提高了約2.86%,進(jìn)一步提升了深度遷移學(xué)習(xí)模型——BERT 微調(diào)的跨領(lǐng)域的問句分類效果。
本文提出了一種融合標(biāo)簽語義特征的BERT 微調(diào)問句分類方法,提取類別標(biāo)簽的語義信息和問句與標(biāo)簽的語義相似度作為特征對BERT 模型進(jìn)行微調(diào)。實驗證明,這種方法在新領(lǐng)域問句集中獲得了較好的分類結(jié)果。
然而在模型訓(xùn)練時,輸入的<預(yù)測標(biāo)簽,問句>一對一元組會導(dǎo)致如下問題:輸入元組的數(shù)量成倍增長,大大增加了計算時間和成本。未來的工作將著手于解決計算負(fù)載的問題,降低模型的時間成本。問句作為短文本,面臨著特征稀疏的問題,未來將對問句進(jìn)行數(shù)據(jù)增強(qiáng),進(jìn)一步提升分類精度。此外,由于環(huán)境限制,實驗使用了BERT-BASE 版本,目前已經(jīng)有更多的BERT 變體,如ALBert、RoBERTa、ERNIE 等,未來將研究這些版本是否對跨領(lǐng)域問句分類任務(wù)有著更好的效果,進(jìn)一步提高模型的推理能力。