施君可
(浙江理工大學(xué) 信息學(xué)院, 杭州 310018)
近年來,裁判文書結(jié)合NLP 衍生出諸多任務(wù),如:類案檢索、信息抽取等,但大多研究均基于刑事案件,缺乏對民事案件領(lǐng)域下的研究。 而且,由于民事案件的判決結(jié)果不會出現(xiàn)原告“勝訴、敗訴”等確切字句,只有“支持原告部分請求”、“駁回原告其余請求”等字樣,只能對裁判文書的案件事實(shí)進(jìn)行了傾向性分類。 此外,民間借貸案件存在借貸金額不同、借貸關(guān)系復(fù)雜等因素,可能還存在“同案不同判”的問題[1],并且相關(guān)從事人員不易從大量的文書中尋找到同類別的參考文書。 針對這些狀況,本文基于民間借貸一審判決書數(shù)據(jù)集,以案件事實(shí)作為輸入,通過深度學(xué)習(xí)技術(shù)進(jìn)行案件事實(shí)傾向性類別預(yù)測的研究。 本文主要工作如下:
(1)提出了基于Albert-Tiny-DPCNN 的案件事實(shí)標(biāo)簽分類模型。 該模型使用Albert-Tiny 進(jìn)行詞嵌入,使用DPCNN 的特征提取結(jié)構(gòu)捕獲文本語義,并使用帶類別權(quán)重的焦點(diǎn)損失進(jìn)行模型訓(xùn)練。 實(shí)驗(yàn)結(jié)果表明,相比于對照模型,該模型的準(zhǔn)確率與加權(quán)F1值更高,準(zhǔn)確率能夠達(dá)到79.65%。
(2)本文在上述模型的基礎(chǔ)上,采用注意力機(jī)制增強(qiáng)特征提取層輸出向量的重要特征、減弱無用特征,使用標(biāo)簽平滑歸一化方法提升模型的泛化能力,準(zhǔn)確率提升到了81.22%,增加了1.97%。
本文研究了近幾年來裁判文書結(jié)合深度學(xué)習(xí)的分類模型的現(xiàn)狀。 王文廣等學(xué)者[2]基于HAN 和DPCNN 提出了法律判決預(yù)測模型HAC,在刑期預(yù)測等各項(xiàng)判決預(yù)測任務(wù)中表現(xiàn)良好。 王業(yè)沛等學(xué)者[3]探索了不同層數(shù)的LSTM 模型在預(yù)測判決結(jié)果的傾向性分類時的效果, 發(fā)現(xiàn)3 層LSTM 在實(shí)驗(yàn)中準(zhǔn)確率較高,但僅使用LSTM 很難凸顯文本的重要信息。 王寧等學(xué)者[4]使用基于注意力的BiGRU 模型來預(yù)測判決結(jié)果的傾向性,實(shí)驗(yàn)發(fā)現(xiàn)模型能在一定程度上進(jìn)行有效預(yù)測,但模型的準(zhǔn)確率仍有提升空間。 自2018年底始,預(yù)訓(xùn)練模型從最開始的Word2Vec、Glove 過 渡 到 了BERT 系 列、ERNIE、XLNet、MPNet 等模型[5-6]。 目前,預(yù)訓(xùn)練語言模型被廣泛使用在文本分類任務(wù)中。 王立梅等學(xué)者[7]對比了TextCNN、TextRNN、Transformer、Bert 模型,然后優(yōu)化了最優(yōu)模型的嵌入方式。 孟令慈[8]基于Bert-LSTM 模型對刑事案件進(jìn)行結(jié)果分類研究,通過對序列進(jìn)行編碼和特征融合來獲取類別信息。
本文判決結(jié)果傾向性分類模型的主要架構(gòu)如圖1 所示,主要包括3 個部分:嵌入層的作用是將輸入文本轉(zhuǎn)為詞向量矩陣,本文比較了Word2Vec[9]與Albert-Tiny[10]在本文任務(wù)中的效果;特征提取層是為了提取詞向量矩陣中的語義特征,本文比較了TextCNN[11]、TextRCNN[12]、DPCNN[13]三 種 網(wǎng) 絡(luò) 結(jié)構(gòu)對模型的影響;分類層將輸入的神經(jīng)元數(shù)量壓縮至類別個數(shù)。 此外,本文對比了交叉熵?fù)p失函數(shù)和焦點(diǎn)損失函數(shù)對模型的影響。
圖1 模型基本框架Fig. 1 Basic structure of the model
本文采用selenium 工具從中國裁判文書官網(wǎng)(https:/ /wenshu.court.gov.cn/)爬取民間借貸一審判決書,并以此構(gòu)建數(shù)據(jù)集。 裁判文書的文本格式較為規(guī)范,本文通過分析裁判文書的結(jié)構(gòu),使用正則提取數(shù)據(jù)中的案件事實(shí)(fact)、判決理由(reason)、判決依據(jù)(legal)、判決結(jié)果(verdict)四個部分。 然后,本文構(gòu)建了判決結(jié)果傾向性類別標(biāo)簽集合,并結(jié)合reason、legal、verdict 的內(nèi)容進(jìn)行數(shù)據(jù)標(biāo)注,將verdict 轉(zhuǎn)為數(shù)值表示。 標(biāo)簽集合見表1。
表1 類別標(biāo)簽集合Tab. 1 Collection of category tags
本文采用Word2Vec 詞向量和Albert 詞向量作為詞嵌入進(jìn)行實(shí)驗(yàn)研究。 由于文本信息不能直接作為輸入,在詞嵌入操作前需要將文本序列化。 文本序列化,即把詞序列表示成一系列能夠表達(dá)文本語義的數(shù)字表示,每個數(shù)字代表一個詞在詞表中的索引號。 之后,形狀為[L] 的文本序列W經(jīng)過詞嵌入層后會轉(zhuǎn)換成形狀為[L,D] 的詞嵌入矩陣E,L為文本序列長度,D為詞向量維度,wi表示輸入文本序列中的第i個詞在詞表中的索引,e(wi) 表示詞表中索引為wi的詞對應(yīng)的詞向量,如式(1)所示:
基于此,進(jìn)一步展開研究分述如下。
(1)Word2Vec。 Word2Vec[9]把所有詞語投影到K維的向量空間,將文本內(nèi)容的處理簡化為K維向量空間中的向量運(yùn)算。 本文使用jieba 工具對案件事實(shí)進(jìn)行分詞,并去除了無關(guān)字符與常用停用詞。其次,本文使用分詞去停后的案件事實(shí)構(gòu)建語料庫,使用gensim 開源工具Word2Vec 的skip-gram 算法訓(xùn)練W2V 詞向量表。 接著,將分詞去停后的案件事實(shí)詞序列進(jìn)行文本序列化處理[4],并統(tǒng)一文本長度為150。 最后,本文用文本序列和W2V 詞向量表實(shí)現(xiàn)靜態(tài)詞嵌入。
(2)Albert-Tiny。 本文使用了Albert-Tiny 進(jìn)行下游任務(wù)的微調(diào),為保證輸入文本相同,模型的輸入為分詞去停后的案件事實(shí)。 首先,本文使用繼承了transformers 的BertTokenizer 的Tokenizer 實(shí)現(xiàn)文本序列化。 接著,統(tǒng)一文本序列化長度為300,對超出298 的數(shù)據(jù)進(jìn)行截斷,在文本序列首部添加類別符號‘[CLS]’,在尾部添加結(jié)束符號‘[SEP]’,并對不足的文本序列進(jìn)行填充。 最后,使用transformers的AlbertModel 進(jìn)行下游任務(wù)微調(diào),得到需要的AlbertTiny 詞向量。
目前,文本分類模型多種多樣,本文主要探索了TextCNN[11]、TextRCNN[12]、DPCNN[13]三 種 特 征 提取結(jié)構(gòu)在模型中的表現(xiàn)效果。 其中,TextCNN 使用不同大小的卷積核來捕獲輸入文本對應(yīng)的詞向量矩陣中相鄰詞匯之間的特征信息。 因卷積核尺寸通常不會很大,使得TextCNN 無法捕獲長距離信息,故該模型較為適合中短文本場景,并不適合長文本。TextRCNN 使用雙向長短期記憶網(wǎng)絡(luò)獲取輸入文本的上下文信息,并通過最大池化篩選出最重要的特征,能夠獲取長距離依賴。 DPCNN 通過增加感受野來緩解長距離依賴問題,主要用區(qū)域卷積增加模型可編碼的輸入文本長度,并通過殘差結(jié)構(gòu)增加網(wǎng)絡(luò)深度來緩解梯度彌散問題。
寧都縣是贛南臍橙主產(chǎn)區(qū)之一,臍橙種植面積1.33萬hm2,年產(chǎn)量臍橙達(dá)60多萬t,遠(yuǎn)銷國內(nèi)外。寧都臍橙平均產(chǎn)量可達(dá)3 000 kg/667 m2以上,平均產(chǎn)值可達(dá)1.2萬元/667 m2以上,經(jīng)濟(jì)效益非常可觀,是目前贛南臍橙適種區(qū)內(nèi)產(chǎn)業(yè)扶貧中最好的一個項(xiàng)目。柑桔紅蜘蛛暴發(fā)常造成臍橙減產(chǎn)以及臍橙樹勢虛弱,為害嚴(yán)重時造成臍橙逐漸死亡。
分類層采用全連接網(wǎng)絡(luò)結(jié)構(gòu)來提取特征間的關(guān)系,該層的輸入為特征提取層后的文本語義向量,輸出為每個類別的概率,如圖2 所示。 圖2 中,第一層全連接的維度形狀為1?n,第二層全連接的維度形狀為1?(n/2), 輸出層(即最終結(jié)果輸出的網(wǎng)絡(luò)層)形狀為1?C的分類結(jié)果,這里C為類別標(biāo)簽的數(shù)量,該輸出向量通過softmax分類器后得到的可能性最高的類別即為預(yù)測的類別。 除輸出層外的2個全連接層采用了LeakReLu激活函數(shù)。 另外,可根據(jù)訓(xùn)練效果來決定是否對全連接的輸出結(jié)果進(jìn)行批歸一化處理。
圖2 分類層結(jié)構(gòu)Fig. 2 Classification layer structure
本文的標(biāo)簽分類任務(wù)屬于多分類問題,故模型的最后一層應(yīng)使用softmax函數(shù)進(jìn)行歸一化,并在計算真實(shí)標(biāo)簽與預(yù)測結(jié)果之間的損失值時以softmax結(jié)果中概率最高的類別為預(yù)測標(biāo)簽。 本文對比了Pytorch框架中的交叉熵?fù)p失(CrossEntropyLoss)函數(shù)以及自定義的焦點(diǎn)損失函數(shù)(FocalLoss)在模型訓(xùn)練中的表現(xiàn)效果,并在訓(xùn)練過程中增加類別權(quán)重w來緩解類別不平衡問題。 由于上述的損失函數(shù)內(nèi)部已使用softmax分類器,故本節(jié)模型的最后一層不必再使用softmax進(jìn)行歸一化。 這里,給出帶類別權(quán)重的交叉熵?fù)p失函數(shù)見式(2):
其中,N是批大小;Xn是批中第n條數(shù)據(jù)的預(yù)測標(biāo)簽值,xn,i為第n條數(shù)據(jù)的第i類別的預(yù)測概率;Yn是批中第n條數(shù)據(jù)的真實(shí)標(biāo)簽,yn,i為第i類別的真實(shí)標(biāo)簽值,只有一個類別為1,其余類別為0;C是類別數(shù)目;LCE為N條數(shù)據(jù)的交叉熵?fù)p失均值;wi是第i類別的類別權(quán)重。 接下來,給出焦點(diǎn)損失函數(shù)[14]見式(3):
其中,N、Xn、xn,i、Yn、yn,i、C的含義與式(2)相同;LF為N條數(shù)據(jù)的焦點(diǎn)損失均值;pn(Xn,Yn) 表示第n條數(shù)據(jù)預(yù)測的各類別輸出為1 的概率;αt是權(quán)重因子;γ∈ [0,5] 是聚焦參數(shù)。 本文中將超參αt替換為類別權(quán)重數(shù)組來緩解類別不均衡問題。
本文使用的操作系統(tǒng)環(huán)境為Ubuntu18.04,硬件環(huán)境為Intel Xeon Platinum 8163(Skylake) 2.5 GHz,內(nèi)存為92 GB,GPU 為1 ?Tesla V100 NVLink-32 G,python 集成平臺Anaconda3,采用的Deep Learning框架為pytorch,使用的依賴有:numpy、pandas、regex、 jieba、 gensim、 scikit - learn、 pytorch、transformers、matplotlib、tensorboard。
本文通過爬蟲在中國裁判文書網(wǎng)收集相關(guān)的民事一審判決書,使用數(shù)據(jù)篩選過后留下30000條數(shù)據(jù)來進(jìn)行實(shí)驗(yàn)研究,并按6 ∶2 ∶2 的比例劃分訓(xùn)練集、驗(yàn)證集、測試集。
本文的數(shù)據(jù)集共有7 個類別,但各類別的樣本數(shù)量分布并不均勻,分別為{600,100,11300, 480,70, 15950, 1500},故對于該問題,本文在模型訓(xùn)練過程中使用了帶類別權(quán)重的損失函數(shù),類別權(quán)重W的計算方式具體如下:
表2 對比模型實(shí)驗(yàn)中的參數(shù)表Tab. 2 Parameters in the comparative model experiment
本 文 采 用 準(zhǔn) 確 率(accuracy)、 加 權(quán)F1值(Weighted -F1) 作為結(jié)果傾向性預(yù)測模型的評價指標(biāo)。 準(zhǔn)確率計算方法公式具體如下:
其中,Nright,Nwrong分別表示預(yù)測正確、錯誤的數(shù)量。
加權(quán)F1值可以用作多分類問題的評價指標(biāo)之一,可以減輕數(shù)據(jù)不平衡帶來的影響。 加權(quán)F1值考慮了樣本不均衡的原因, 在計算查準(zhǔn)率(Precisionweighted) 和召回率(Recallweighted) 時,需要各個類別的查準(zhǔn)率(precision) 和召回率(recall) 乘以該類在總樣本中的占比來求和。 而加權(quán)F1值為Precisionweighted和Recallweighted的調(diào)和平均數(shù),詳見式(6)~式(10):
其中,TPi表示真實(shí)類別為第i類、且被模型判定為第i類的樣本數(shù);FPi表示真實(shí)類別非第i類、且被模型判定為第i類的樣本數(shù);FNi表示真實(shí)類別為第i類、且被模型判定為非第i類的樣本數(shù);
本文比較了不同的詞嵌入方式、特征提取方式、損失函數(shù)相互組合的模型在訓(xùn)練時的表現(xiàn)效果,結(jié)果見表3。 表3 中,W2V 表示W(wǎng)ord2Vec 嵌入方式,TextCNN、TextRCNN、DPCNN 為特征提取方式,CEL表示交叉熵?fù)p失函數(shù)、FL 表示焦點(diǎn)損失函數(shù)。
從表3 的實(shí)驗(yàn)數(shù)據(jù)可知,與交叉熵?fù)p失函數(shù)相比,焦點(diǎn)損失函數(shù)能夠在一定程度上提高模型準(zhǔn)確率。 相比于Word2Vec 靜態(tài)詞向量,AlBert-Tiny 詞向量的嵌入效果更好,能更好地學(xué)習(xí)詞之間的關(guān)系,使得特征提取層輸出的特征向量包含更多的文本語義信息。 特征提取層使用的網(wǎng)絡(luò)結(jié)構(gòu)中,DPCNN 的效果相對較好,能更準(zhǔn)確地捕獲文本特征。
表3 對比模型的準(zhǔn)確率與加權(quán)F1值Tab. 3 Comparing the accuracy and the weighted-F1value of the model
上述實(shí)驗(yàn)中,模型AlBert-Tiny +DPCNN 在對比實(shí)驗(yàn)中的準(zhǔn)確率最高,基于該模型,本文進(jìn)行了變體測試與參數(shù)實(shí)驗(yàn)。 變體測試主要包括2 個方向:對特征提取層輸出的文本特征向量進(jìn)行注意力加權(quán)、標(biāo)簽平滑歸一化。 接下來,可做闡釋表述如下。
(1)Albert-Tiny +DPCNN:對比實(shí)驗(yàn)中表現(xiàn)最優(yōu)的模型。
(2)Albert-Tiny +DPCNN +LSR:LSR 表示標(biāo)簽平滑歸一化[15],該技術(shù)通過平滑歸一化方法擾動真實(shí)標(biāo)簽來解決過度擬合的問題。 對標(biāo)簽的具體處理詳見式(11):
(3)Albert-Tiny +DPCNN+Att:注意力原理不依賴于任何框架,本文搭建了2 層全連接層的Att注意力模塊,通過該模塊來捕獲重要特征,減小無用特征,提升特征提取層的文本語義表征能力。 具體如圖3 所示。
圖3 特征提取層使用的注意力模塊Fig. 3 Attention module
(4)Albert-Tiny +DPCNN+Att+LSR:結(jié)合了(2)、(3)中的Att 與LSR 兩種方式。
表4 為變體模型的對比實(shí)驗(yàn)結(jié)果,從中可以得到以下結(jié)論:
表4 Albert-Tiny+DPCNN 及其變體的準(zhǔn)確率與加權(quán)F1值Tab. 4 Accuracy and weighted-F1value of Albert-Tiny+DPCNN and its variants
(1)在特征提取層中使用注意力機(jī)制在一定程度上可以提高模型準(zhǔn)確率,增強(qiáng)特征提取層的文本語義提取效果。
(2)標(biāo)簽平滑正則化在一定程度上增強(qiáng)了模型泛化能力,加快了模型的收斂。 圖4(a)、圖4(b)分別為模型訓(xùn)練過程中準(zhǔn)確率與加權(quán)F1的變化曲線,明顯可見使用Albert-Tiny 進(jìn)行詞嵌入時,在epoch等于4 或5 時能達(dá)到較好效果。
圖4 準(zhǔn)確率與加權(quán)F1值變化曲線Fig. 4 Change curve of accuracy and weighted -F1value
圖5 (a)、圖5(b)分別記錄了Albert-Tiny +DPCNN +Att +LSR 的準(zhǔn)確率Acc與加權(quán)F1值(Weighted- F1) 隨標(biāo)簽平滑歸一化參數(shù)alpha、隨機(jī)失活層的失活系數(shù)beta的變化過程。 標(biāo)簽平滑歸一化參數(shù)alpha能夠用來提高模型的泛化能力,從圖5(a)可見,當(dāng)alpha在0.2 附近時,模型的表現(xiàn)效果較好。 隨機(jī)失活系數(shù)beta是防止過擬合的優(yōu)化參數(shù),并從圖5(b)中可知,當(dāng)alpha =0.2、beta值在0.5附近時,模型的表現(xiàn)效果較好。
圖5 準(zhǔn)確率與加權(quán)F1值隨alpha、beta變化的曲線Fig. 5 The curve of accuracy and weighted-F1values changing withalphaandbeta
本文提出了基于Albert-Tiny-DPCNN 的分類模型,并將其應(yīng)用于案件事實(shí)標(biāo)簽預(yù)測任務(wù)。 該模型以案件事實(shí)為輸入,以判決結(jié)果的傾向性類別為真實(shí)標(biāo)簽,通過對案件事實(shí)進(jìn)行單標(biāo)簽多分類來實(shí)現(xiàn)類別預(yù)測。 基于民間借貸一審判決書數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果證明,本文提出的模型準(zhǔn)確率能夠達(dá)到79.65%,高于其他對照組。 此外,本文使用注意力機(jī)制加強(qiáng)了重要特征信息,減小了噪聲與無用特征的影響,并用標(biāo)簽平滑歸一化提升模型泛化能力,模型的準(zhǔn)確率達(dá)到了81.22%,提升了1.97%。
雖然,本文提出的模型在實(shí)驗(yàn)數(shù)據(jù)集上擁有較好的表現(xiàn),但若想在實(shí)際應(yīng)用場景中使用依舊存在以下改進(jìn)之處。 第一,深度學(xué)習(xí)中的網(wǎng)絡(luò)模型需要大量數(shù)據(jù)的支撐,本文數(shù)據(jù)集的樣本數(shù)量亟待擴(kuò)充,模型泛化能力有待加強(qiáng);第二,目前,NLP 領(lǐng)域中除Albert 外還有ELMO、MPNet 等預(yù)訓(xùn)練語言模型,因此下一步工作可以嘗試深入探討其他模型,另外采用多特征融合或結(jié)合傳統(tǒng)機(jī)器學(xué)習(xí)的方法可能取得不錯的效果。