線巖團 陳文仲 余正濤 張亞飛 王紅斌
罪名預測是法律判決預測任務中具有代表性的子任務,也是法律輔助系統的重要組成部分[1].
罪名預測通常被看作針對案件事實的文本分類問題.早期研究工作通常利用統計機器學習方法實現罪名預測[2-4].隨著深度學習在自然語言處理領域的廣泛應用,基于深度學習方法的罪名預測模型大量涌現.
2018 中國“法研杯”司法人工智能挑戰賽發布中文司法判決預測數據集,共包含260 余萬條數據,數據源于“中國裁判文書網”公開的刑事法律文書[5].針對中文的司法判決預測任務,目前有較多的研究工作均在此數據集上展開.
Zhong 等[6]將多種判決預測任務之間的依賴視為有向無環圖,提出了拓撲多任務學習框架,并將多種判決任務間的依賴關系融入分類模型,改進了罪名預測效果.Yang 等[7]借助多任務間的拓撲結構,通過多角度前向預測和反向驗證提高了多任務審判預測性能.王文廣等[8]提出了融合層次注意力網絡和卷積神經網絡的多任務罪名預測模型.已有研究表明,將罪名預測與其他相關判決預測任務聯合建模,為模型提供更多的監督信息,可以改進罪名預測效果.
Jiang 等[9]采用深度強化學習方法抽取文本中的論據,并利用論據增強分類來提高罪名預測的準確率.劉宗林等[10]在罪名預測和法條推薦聯合模型中融入罪名關鍵詞提升了罪名預測性能.Xu 等[11]采用圖神經網絡學習易混淆法條之間的差異,并設計注意力機制充分利用這些差異從事實描述中抽取出明顯特征去區分易混淆罪名.已有的罪名預測工作大多從多任務學習和外部知識融入的角度開展罪名預測研究,未考慮罪名預測的數據分布問題.
由于各類案件發生概率的差異較大,罪名預測數據存在著嚴重的類別不平衡問題.以 Hu 等[12]構建的罪名預測數據集為例,Criminal-L 訓練集共包含149 類罪名,將各罪名按其樣本占比降序排列,其中前10 類高頻罪名對應的樣本占比約為78%,而最后100 類罪名的樣本僅占約3%,這是典型的“長尾數據”.各類罪名在數量上的高度不平衡易導致模型在訓練時偏向于高頻罪名而忽略低頻罪名,造成在罪名預測時低頻罪名易被錯誤分類的問題,從而嚴重影響模型性能.
針對罪名預測的類別不平衡問題,Hu 等[12]在人工標注法律屬性的基礎上,構建聯合罪名預測和法律屬性預測的多任務分類模型,提高了低頻罪名的預測性能.He 等[13]在膠囊網絡基礎上,提出融合文本序列信息和空間信息的罪名預測模型,并引入Focal Loss 損失函數,有效提高了低頻罪名的預測效果.
和已有的多任務方法[12]與改進損失函數的方法[13]不同,本文從數據增強角度研究罪名預測的類別不平衡問題.本文借鑒圖像分類中的混合樣本數據增強方法[14-15],在文本的表示空間中擴增訓練樣本,并提出融合罪名先驗概率的標簽合成策略,使合成樣本偏向低頻罪名類別,從而達到擴增低頻罪名訓練樣本的目的.在表示空間中合成偏向低頻罪名的訓練樣本,既擴增了訓練樣本的數量,又豐富了特征的多樣性,有助于平滑模型的分類面,提高模型的泛化能力.
本文采用 Lin 等[16]提出的結構化自注意力句子嵌入方法構建罪名預測模型,并在模型訓練過程中融入類別先驗混合樣本數據增強策略,提升模型性能.實驗結果表明,本文提出的融入類別先驗Mixup 數據增強的罪名預測方法可以在不增加人工標注和輔助任務的前提下,有效改進罪名預測模型性能,顯著提高低頻罪名的預測效果.本文提出方法的源代碼可從網址https://github.com/xianyt/proir_mixup_charge 下載.
本文方法的主要貢獻如下:
1)本文將Mixup 數據增強方法引入罪名預測任務中,利用文本表示空間中的插值操作合成訓練樣本.合成樣本增加了訓練樣本的多樣性,有效提高了罪名預測模型的泛化能力.
2)本文針對罪名不平衡問題,提出了類別先驗引導的Mixup 數據增強策略.該策略在文本表示空間中生成傾向于低頻罪名的合成樣本,擴增了低頻罪名樣本,有效緩解了罪名不平衡問題,提高了低頻罪名的預測效果.
3)與基線模型相比,本文方法在Hu 等[12]構建的3 個不同規模的罪名預測數據集上都取得了最好的預測效果.模型在宏準確率、宏召回率和宏F1 值上都有顯著提升,低頻罪名宏F1 值提升達到13.5%.
已有的罪名預測研究工作主要從多任務聯合學習[12]和外部知識融入[10]的角度來提升模型性能,并利用輔助任務和改進的損失函數來緩解罪名預測任務面臨的類別不平衡問題.與已有工作不同的是,本文從數據增強角度來改進罪名預測方法,提升罪名預測性能.和已有罪名預測方法相比,本文方法沒有引入輔助任務,也不需要額外的數據標注工作;另外,本文提出的數據增強策略不依賴于特定的文本編碼器,可以應用于已有的罪名預測模型.
Zhang 等[14]提出的Mixup 方法是一種應用于圖像分類的數據增強策略.該方法是從訓練集中隨機抽取圖像樣本,并通過線性混合來合成新的圖像樣本,有效改進了小樣本圖像分類的性能[14].由于文本是一種離散表示,所以Mixup 方法無法直接應用于文本分類任務.Verma 等[15]提出的Manifold Mixup 方法在圖像的嵌入空間中利用隨機混合圖像的向量表示來生成編碼空間中的偽樣本;相比Mixup 方法,Manifold Mixup 能夠提供更高層的監督信息,使模型具有更好的泛化能力.受Manifold Mixup 方法啟發,本文提出了融合類別先驗Mixup方法,與 Manifold Mixup 方法中對樣本向量表示和標簽采用相同混合因子的做法不同,本文方法針對文本表示和分類標簽采用不同的混合因子,利用罪名的先驗概率來生成偏向低頻類別的偽樣本,以此來緩解罪名不平衡問題.
目前,Mixup 方法在自然語言處理領域僅有少量的研究工作.Guo 等[17]將Mixup 數據增強方法應用于句子分類任務,提出了詞級和句子級的Mixup策略,提升了句子分類的性能,將Mixup 數據增強方法應用于句子分類任務,提出了詞級和句子級的Mixup 策略,提升了句子分類的性能.Chen等[18]將Mixup 方法應用于半監督文本分類任務,改進了分類效果.目前還未見針對不平衡文本分類問題的Mixup 方法.所以,本文面向罪名預測任務,研究不平衡文本分類的Mixup 數據增強策略具有明顯的創新性.
本文提出的罪名預測方法在深度學習文本分類模型基礎上,引入Mixup 數據增強策略,并利用罪名先驗概率生成偏向低頻罪名的偽樣本,以此緩解罪名預測中的類別不平衡問題.
本文提出的罪名預測模型包括編碼層、類別先驗引導Mixup 層和分類層3 層.圖1 展示了本文提出的罪名預測模型的總體結構.最下方的編碼層用于學習罪名描述文本的向量表示,該層包括3 個子層,分別是詞嵌入層、雙向長短時記憶網絡編碼層[19](Bi-directional long short-term memory,Bi-LSTM)和結構化注意力層[9].在訓練模型時,本文方法在編碼層與分類層間加入類別先驗引導Mixup層,該層通過隨機混合的文本向量表示和對應的分類標簽生成偽樣本和偽標簽.偽樣本向量表示和文本向量表示被送入分類層.分類層通過全連接層和Softmax 激活函數計算罪名預測值,并針對偽樣本和普通樣本計算分類損失.

圖1 罪名預測模型的總體結構圖Fig.1 Overview of proposed charge prediction model
本文選擇Bi-LSTM 作為文本編碼器主要有3個方面的考慮.首先,Bi-LSTM 是一種被廣泛應用的序列編碼器,可以有效對長文本進行建模.Bi-LSTM 適合用于對篇章級的案件描述進行編碼,其有效性已在多個罪名預測模型中得到驗證[6-7,13];其次,在實驗過程中作者發現,Bi-LSTM 與結構化注意力機制結合可能很好地獲取多個側面的文本分類特征.最后,相比于雙向編碼器表示模型(Bidirectional encoder representation from transformers,BERT)[20]等預訓練語言模型,Bi-LSTM 結構簡單易于訓練,可應用于大規模文本分類問題.而且,在類別嚴重不平衡的罪名預測任務上,Bi-LSTM 模型訓練過程中過擬合現象不明顯.第4.4 節對比了不同文本編碼器對罪名預測性能的影響.
案情描述和事實文本中的詞序列x=[w1,w2,···,wn]經過詞嵌入編碼后得到詞序列的低維向量表示E=[e1,e2,···,en],其中,n表示文本長度,wi表示文本中的第i個詞,ei∈Rd表示第i個詞的詞向量,d表示詞向量的維度.
Bi-LSTM 層以詞序列的向量表示為輸入計算詞語在上下文中的向量表示:

為了獲得具有上下文語義的詞語表示,本文將正向和逆向的LSTM 輸出和ei拼接作為第i個詞在序列中的隱狀態表示:

通過拼接hi序列可得到詞序列的隱狀態表示H∈Rn×(2u+d),其中,u表示隱狀態的維度.

本文采用結構化自注意力層來計算文本多個側面的向量表示.該層的注意力權重矩陣A∈Rr×n由2 層感知機計算得到,

式中,Ws1∈和Ws2∈是注意力層的參數,da和r為模型的超參數,da表示注意力層隱狀態的維度,r是注意力機制的個數.
文本表示矩陣Z∈Rr×(2u+d)由詞序列的隱狀態表示H和注意力權重矩陣A的乘積得到,

文本的向量表示z由矩陣Z中的r個向量拼接得到,其維度為r×(2u+d).
在訓練過程中,類別先驗引導Mixup 層通過隨機混合批次內的文本向量表示得到擴增的文本向量表示,其中M是一個批次內的樣本數據量,具體方法將在第 3 節中詳細闡述.
最后,分類層通過線性層和Softmax 激活函數預測各罪名的概率,

式中,W∈RK×r(2u+d)和b∈RK分別是線性層的權重矩陣和偏置,K表示罪名類別數.
Mixup 數據增強方法的主要思想是通過混合隨機抽取的2 個圖像和對應標簽來生成偽樣本來擴增訓練數據[14].在此基礎上,Verma 等[15]提出在嵌入空間中生成偽樣本的Manifold Mixup 方法,

式中,gk(·)表示神經網絡編碼器中從輸入到第k層的前向過程,λ∈[0,1] 為混合因子,由Beta 分布采樣得到.該方法在圖像的嵌入空間中合成偽樣本,利用更高層次的表示為模型提供更多的監督信號,從而有效提高了模型的泛化能力.
算法 1.類別先驗Mixup 訓練算法


本文借鑒Manifold Mixup 方法的思想,在文本的向量表示空間中合成偽樣本.在此基礎上,提出了融合類別先驗的Mixup 數據增強策略.該策略在合成樣本的表示和標簽時采用不同的混合因子,并通過各類別罪名的先驗概率計算標簽的混合因子,以便使偽樣本的標簽偏向低頻罪名.本文提出的融合類別先驗Mixup 數據增強策略的公式可表示為:

式中,f(·)為將文本編碼為向量的神經網絡,λ∈[0,1]為樣本的混合因子,由Beta (α,α)分布采樣得到,α為超參數,λy∈[0,1] 為標簽的混合因子,(xi,yi)和(xj,yj)是從同一個訓練批次中隨機抽取的樣本對.
為了能在訓練過程中通過Mixup 方法擴增低頻罪名訓練樣本,本文通過融合各類別罪名的先驗概率來指導 Mixup 為低頻罪名標簽賦予更大的混合因子,使得合成的偽樣本更偏向于少樣本類別.為此,首先根據類別先驗概率計算類別混合因子λp:

式中,p(xi)和p(xj)分別為樣本xi和xj所對應類別的先驗概率.各類別罪名的先驗概率根據訓練集中的各類別罪名的占比計算得到.如果xi為低頻罪名,則意味著其先驗概率低,那么按式(9)為其分配較大的λp,以使得偽樣本的標簽偏向低頻罪名;反之,為其分配較小的λp.
在得到λp后,本文將之與采樣得到的樣本混合因子λ進行平均得到標簽混合因子λy:

通過引入類別先驗,使得合成樣本既擴增了訓練樣本,同時緩解了模型過于偏向高頻罪名的問題.
本文將Mixup 數據增強策略引入深度學習罪名預測模型中.在訓練過程中通過式(8)、式(9)和式(10)隨機混合一個批次內的文本向量表示及其標簽來獲得偽樣本,并利用交叉熵分別計算樣本和偽樣本的損失,模型損失L(θ)公式如下:

式中,第1 項為樣本分類損失,第2 項為偽樣本分類損失.M為一個批次的樣本數量,K為罪名類別數,yik∈{0,1} 為樣本i在類別k上的標簽,∈[0,1]為偽樣本j在類別k上的偽標簽,分別為樣本i和j在類別k上的預測值.
融合類別先驗Mixup 數據增強的罪名預測模型的訓練過程參見算法1.算法輸入中的文本編碼器對應第2 節的編碼層,罪名先驗概率由訓練集中各罪名的樣本數量預先估計得到.
為了驗證所提出方法的有效性,本文將之與現有罪名預測方法進行對比實驗,并分析了相關實驗結果.
本文采用Hu 等[12]構建的罪名預測數據集驗證本文方法的有效性.該數據集主要針對低頻罪名和易混淆罪名預測任務構建,不包含多被告、數罪并罰的情形.該數據集包含小、中、大3 個不同規模的子數據集,分別命名為Criminal-S、Criminal-M、Criminal-L,數據集統計信息參見表1.

表1 數據集統計信息Table 1 The statistics of different datasets
圖2 展示了Criminal 數據集中3 個不同規模子數據集訓練樣本的高頻、中頻和低頻罪名的分布情況.圖2 中的高頻、中頻和低頻罪名根據Criminal-S 數據集的樣本數量統計得到,其中低頻罪名為樣本數少于10 的罪名(共 49 類),高頻罪名為樣本數多于100 的罪名(共49 類),其余的作為中頻罪名(共51 類).由圖2 可以看出,3 個不同規模數據集的罪名分布均呈現出典型的“長尾分布”特征,其中,49 類高頻罪名樣本占比約為97%,中頻罪名樣本占比僅為2.6%左右,而3 個子數據集的低頻罪名更加稀少,均少于1%.從圖2 還可發現,3 個不同規模的樣本分布差異主要集中在低頻罪名上.

圖2 訓練集罪名樣本分布Fig.2 Charge distribution of the training set
為進一步比較3 個子數據集在類別不平衡上的差異,本文在圖3 展示了樣本數量最少的 75 個罪名的樣本分布情況.本文統計了Criminal-S 數據集中各罪名的樣本數量,并將罪名按樣本從多到少排列作為圖3 的橫坐標.圖3 的縱坐標為各罪名樣本的占比.從圖3 可發現,3 個數據集中頻樣本上的分布基本一致,但是在低頻樣本分布上具有明顯差異.在Criminal-S 數據集中低頻罪名的分布比較穩定,最低占比穩定在0.013%左右.Criminal-M 數據集的低頻罪名占比在0.005%~0.013%之間波動,而Criminal-L 數據集的低頻罪名占比在0.003%~0.013%之間波動.相比之下,Criminal-L 數據集類別不平衡程度最嚴重,Criminal-M 數據集次之,而Criminal-S 數據集類別不平衡程度最輕.

圖3 訓練集罪名部分樣本分布Fig.3 Charge distribution of the training set
在評價指標方面,本文與文獻[12-13]同樣采用準確率(Accuracy,Acc.)、宏精確率(Macro-precision,MP)、宏召回率(Macro-recall,MR)和宏F1 值(Macro F1)作為模型性能的評價指標.
本文采用Pytorch 實現提出的模型和算法.犯罪事實描述的最大詞序列長度設為500,詞頻低于5 的詞被視為未知詞.詞嵌入維度d設為100,并采用文獻[12]的預訓練詞向量初始化嵌入層參數.Bi-LSTM 層的隱狀態維度u設為300.嵌入層和Bi-LSTM 層的dropout 值分別設置為0.3 和0.1.結構化自注意力機制的頭數r設為24,注意力層隱狀態維度da設為128.樣本混合因子λ由參數α=150的Beta 分布采樣得到,標簽混合因子λy由式(9)和式(10)計算得到.
模型采用Adam 梯度下降算法[21]訓練,初始學習率設為 0.001,β1=0.9,β2=0.999,ε=10-8.最大訓練輪次設為50,批次大小設為256.訓練過程采用提前停止策略,并根據驗證集損失函數最小選擇最優模型.
為減小案件描述中不同金額、重量、酒精含量、年齡等對模型詞匯表的影響,本文在數據預處理時對犯罪事實描述中的金額、重量、酒精含量、年齡等的數字部分進行了替換處理.例如,將“2018 年”替換為“×年”,“1 000 元”替換為“×元”.
本文采用以下幾種典型的文本分類模型和當前性能最優的罪名預測方法作為基線模型:
1)TFIDF+SVM:該方法采用詞頻逆文檔頻率(Term frequency-inverse document frequency,TFIDF)[22]抽取文本特征,特征維度為2 000,并采用支持向量機(Support vector machine,SVM)[23]作為分類器.
2)卷積神經網絡(Convolutional neural networks,CNN):該方法利用多個不同尺度的卷積網絡構建文本分類器[24].
3)長短期記憶網絡:采用雙層LSTM 作為案件事實編碼器,并利用最大池化獲取分類特征[19].
4)事實-法條注意力模型(Fact-law attention model,Fact-Law Att):Luo 等[25]提出的融合法條相關性與注意力機制的多任務罪名預測模型.
5)小樣本屬性模型(Few-shot attributes model,Few-Shot Attri):Hu 等[12]提出的融合法律屬性與罪名預測的聯合模型,該方法通過引入法律屬性分類任務改進低頻罪名預測性能.
6)序列增強型的膠囊模型(Sequence enhanced capsule model,SECaps):He 等[13]提出的融合文本序列信息和空間信息的罪名預測模型,并引入 Focal Loss 損失函數,進而改進低頻罪名的預測效果.
除TFIDF+SVM 模型外,其余對比模型詞嵌入維度設為100.LSTM 模型的隱狀態維度設為100.CNN 模型的濾波器寬度為(2,3,4,5),每個濾波器的大小為25.基線模型實驗結果引用自文獻[12-13].
本文實現了2 個引入Mixup 數據增強策略的模型:LSTM-Att-Manifold-Mixup 表示引入Manifold Mixup 數據增強策略的罪名預測模型,LSTMAtt-Prior-Mixup 為融合類別先驗Mixup 的罪名預測模型.本文方法與基線模型的對比實驗結果見表2.
由表2 的實驗結果可以看出,本文方法與基線模型相比,在3 個數據集上均取得了最好的預測結果,準確率、宏精確率、宏召回率和宏F1 值均顯著優于基線模型.與現有最優模型SECaps 相比,本文模型LSTM-Att-Prior-Mixup 在Criminal-M 數據集上的性能提升最為明顯,準確率提升了0.9%,MP 值提高了9.5%,MR 值提高了 11.8%,F1 值提高了10.5%.對比實驗結果表明,類別先驗Mixup數據增強方法能有效提高罪名預測模型的性能.

表2 罪名預測對比實驗結果Table 2 Comparative experimental results
與LSTM-Att-Manifold-Mixup 方法相比,引入類別先驗的LSTM-Att-Prior-Mixup 方法在召回率和F1 值上具有明顯提升,但其對準確率和MP值的影響并不明顯,在Criminal-L 的準確率和宏精確率略有下降.但總的來說引入類別先驗有助于提高罪名預測的總體性能,而不會對模型準確率造成過多不利影響.LSTM-Att-Prior-Mixup 方法針對小規模數據集Criminal-S 的提升最顯著,相比SECapsF1 提高了6.8%,而對于Criminal-M 和Criminal-L 數據集提升效果有所減弱,其主要原因可能是隨訓練樣本的增多,Mixup 方法合成樣本的作用在減弱,甚至成為一種不利于模型訓練的噪聲,從而影響模型的準確率和 MP 值.
為進一步驗證本文方法對低頻罪名分類性能的改進作用,本文針對不同頻率罪名開展對比實驗,根據訓練集中罪名的出現頻率將罪名劃分為3 類,出現次數不高于10 的罪名被看作低頻罪名,出現次數高于100 的罪名被看作高頻罪名,其余的作為中頻罪名.針對Criminal-S 數據集的不同頻率罪名預測實驗結果見表3.
由表3 可以看出,本文方法在高頻、中頻和低頻罪名上的宏F1 值均優于基線模型.本文模型對低頻罪名預測性能的提升尤為顯著,相比SECaps 模型宏F1 值提升達到 13.5%.實驗結果表明,本文提出的數據增強策略不僅能大幅改進低頻罪名的分類效果,對高頻和中頻罪名預測性能也有一定的促進作用.其主要原因是合成樣本有助平滑模型分類的決策面,而類別先驗引導的Mixup 數據增強策略合成的數據有效增強了低頻罪名的訓練數據,從而提高了模型對低頻罪名的泛化能力.

表3 不同頻率罪名預測宏 F1 值Table 3 Macro F1 value of different frequency charges
為驗證本文方法對易混淆罪名預測性能的改進,本文選取Criminal-S 數據集中4 組典型的易混淆罪名開展實驗,它們分別是“放火罪”與“失火罪”、“搶奪罪”與“搶劫罪”、“行賄罪”與“受賄罪”、“盜伐林木罪”與“濫伐林木罪”.表4 為現有方法與本文方法針對易混淆罪名的宏F1 值.
由表4 可以看出,與基線模型相比,本文方法對易混淆罪名的預測宏F1 值獲得了明顯提高.相比性能最好的SECaps 模型,本文方法在易混淆罪名上的宏F1 值提升了1.6%.文本方法在易混淆罪名上與LSTM-Att-Manifold-Mixup 模型性能相當,宏F1 值僅相差0.2%.實驗結果表明,在文本的嵌入空間中合成偽樣本,可以改進模型的泛化能力,提升易混淆罪名預測結果.

表4 易混淆罪名預測宏F1 值Table 4 Macro F1 value for confusing charges
為了驗證本文提出的數據增強方法對不同編碼器的適應性,本文將模型中的文本編碼器替換為BERT 預訓練語言模型,并針對Criminal-S 數據集進行了對比實驗.
考慮到司法文本的領域特性,本文采用清華大學人工智能研究院自然語言處理與社會人文計算研究中心提供的刑事文書BERT 預訓練語言模型[26]作為模型的編碼層.在實驗中,本文實現了兩個基于BERT 罪名預測模型,其中BERT-CLS 表示采用[CLS]對應向量作為文本表示的罪名預測模型;BERT-Att 表示在BERT 輸出的基礎上采用結構化自注意力機制獲取文本表示的罪名預測模型.在微調BERT 模型時,作者根據實驗發現將學習速率設為 1×10-4,并根據驗證集的F1 值選擇最優模型時獲得的性能最好.此外,由于受限于GPU 的顯存容量,BERT 模型訓練的批次大小設為32.表5展示了不同編碼器與不同Mixup 數據增強策略結合后,模型對測試集的預測 F1 值.
由表5 的實驗結果對比可以看出,以BERT 作為編碼器的模型預測性能均低于采用Bi-LSTM 作為編碼器的模型.在實驗過程中發現采用BERT 作為編碼器的罪名預測模型存在嚴重的過擬合問題.在訓練過程中,BERT 模型在訓練集上的準確率上升很快,在第7~8 輪時模型對訓練集的準確率達到1,但此時驗證集的準確率為94%左右.出現這一現象的原因可能是BERT 模型參數量巨大,在微調時模型過于偏向高頻罪名,從而導致模型的總體性能較差.

表5 不同編碼器對比實驗結果Table 5 Comparative experimental results of different encoder
對比不同的BERT 模型,BERT-Att 的性能要優于 BERT-CLS.實驗結果表明在預訓練語言模型的基礎上,采用結構化注意機制有助于模型學習到更好的分類特征.
在數據增強策略方面,BERT-CLS 模型和BERT-Att 模型在引入數據增強策略后,模型性能均獲得明顯提升.與Manifold-Mixup 方法相比,本文提出的類別先驗 Mixup 數據增強策略可獲得更好的預測性能.
實驗結果表明,本文提出的類別先驗Mixup 數據增強策略可適用于不同的文本分類模型,同時有助于改進模型對類別不平衡文本分類數據的性能.
類別先驗Mixup 數據增強策略和結構化自注意力機制是本文方法的重要組成部分.為驗證它們對罪名預測模型性能的影響,本文進行了2 組消融實驗.第1 組實驗從模型訓練過程中移除類別先驗Mixup 數據增強策略,該實驗在表6 標記為LSTMAtt.第2 組實驗在移除類別先驗Mixup 數據增強策略基礎上,將結構化自注意力層替換為最大池化層,該實驗標注記為LSTM-Maxpool.
由表6 的消融實驗結果可發現,移除類別先驗Mixup 數據增強策略后,模型性能明顯下降,模型針對Criminal-S 和Criminal-M 兩個數據集的準確率和宏精確率有所下降,而3 個數據集的MR 平均下降了4.9%,F1 值平均下降了3.4%.實驗結果表明,本文提出的類別先驗 Mixup 數據增強策略對緩解罪名不平衡具有重要作用,數據增強策略可顯著提高模型的召回率和F1 值,而不會對模型的準確率和宏精確率造成過多的影響.

表6 消融實驗罪名預測結果Table 6 Results of ablation experiments
本文將結構化自注意力層替換為Max-pooling層后,模型性能大幅下降,準確率平均下降了0.9%,MP 平均下降了22.8%,MR 平均下降了28.4%,F1值平均下降了25.8%,該實驗結果表明,從文本中獲取豐富的分類特征對于罪名預測模型的性能提升具有重要影響.相比于最大池化層,結構化自注意力機制能夠更加有效地捕獲不同側面案情的文本特征,從而大幅提高模型的性能.
從消融實驗結果可看出,在利用結構注意力獲取有效罪名分類特征的基礎上,引入本文提出的類別先驗Mixup 數據增強策略可進一步提高罪名預測性能.
本節討論模型主要超參數對罪名預測性能的影響.
樣本混合因子λ決定了樣本的合成比例,對偽樣本的分布具有重要影響.本文對比了不同Beta分布超參數對模型性能的影響.圖4 展示了不同超參數α下模型對Criminal-S 數據集的預測結果,橫坐標為超參數α,縱坐標為模型性能指標.
由圖4 的實驗結果可以看出,隨著超參數α的增大模型的性能也逐步提高.其原因是當α值較小時,采樣得到的λ值偏向于0 或1,導致偽樣本向量表示偏向其中一個樣本,影響了偽樣本的多樣性.當α值增大時,采樣得到的λ值趨向于0.5,則樣本表示在合成樣本中的占比趨向于平均,則合成樣本在表示空間中分布更加均勻.這樣的數據分布有助于平滑模型的分類決策面,提高模型的泛化能力.當α超過 150 后模型性能有所下降,其原因可能是采樣得到的λ值接近0.5 且方差很小,這也會影響合成樣本的多樣性,從而對模型訓練造成不利影響.

圖4 Beta 分布超參數的影響Fig.4 Impact of Beta distribution parameters
當α超過150 后模型性能有所下降,其原因可能是采樣得到的λ值接近0.5 且方差很小,這也會影響合成樣本的多樣性,從而對模型訓練造成不利影響.
結構化自注意力層的超參數r決定了文本表示的維度.圖5 展示了不同r值對應的模型性能,橫坐標為r的值,縱坐標為模型的性能指標.
由圖5 結果可以看出,隨著注意力頭數r的增大,文本表示包含的特征越來越豐富,模型的性能也不斷提升.當r大于24 后,模型性能有所下降,其原因可能是當r增大時,模型的復雜度也隨之增大,導致模型過擬合,降低了模型的泛化能力.

圖5 注意力頭數的影響Fig.5 Impact of head number in attention Layer
本文通過可視化模型的注意力權重來分析罪名預測模型的分類依據,并通過對比LSTM-Att 模型和LSTM-Att-Prior-Mixup 的注意力差異對數據增強策略對模型的影響進行分析.
圖6 展示了模型對低頻罪名“拐騙兒童罪”案例的注意力權重分布情況.從總體上看,2 個模型都關注到了案情描述中比較重要的詞語,比如“不知去向”“借口”等.但是,相比于LSTM-Att-Prior-Mixup 模型,LSTM-Att 模型的注意力更加分散,它還關注了許多與罪名分類無關的詞語,如“港南區”“評定”等.可能正是由于這些注意力的分散導致LSTM-Att 模型將該案件錯分為“非法拘禁罪”.

圖6 低頻罪名案例Fig.6 Sample of low frequency charge
圖7 展示了模型對易混淆罪名“行賄罪”案例的注意力權重分布情況.與低頻罪名案例中的情況類似,兩個模型都關注到了案情描述中比較重要的詞語,比如“行賄”“收受”“x萬”等與行賄、受賄緊密相關的詞語.然而,相比之下LSTM-Att 模型的注意力更加分散,從而導致模型將該案件錯分為“受賄罪”.

圖7 易混淆罪名案例Fig.7 Sample of confusing charge
綜上所述,類別先驗Mixup 有助于模型學習到更優的注意力機制,使得模型關注的詞語更加集中,從而提高了模型對低頻罪名和易混淆罪名的預測能力.
本文將Mixup 數據增強策略引入到罪名預測任務中,并針對罪名不平衡問題提出了類別先驗Mixup 數據增強策略,有效緩解了類別不平衡帶來的影響,提高了低頻罪名和易混淆罪名的分類性能;相比已有方法,本文提出的類別先驗Mixup 數據增強方法簡單有效,無需額外的人工標注,也不需要引入輔助任務.
本文主要關注于改進低頻罪名預測性能,并針對單罪名預測問題驗證了所提方法的有效性,而數罪并罰情況下的Mixup 數據增強策略將在下一步工作中進行研究.