崔 斌, 鄒 蕾, 徐明月
(北京京航計算通訊研究所信息工程事業部, 北京 100074)
違法事實要素作為訴訟案件的關鍵要素之一,影響著對案件進行決策的效率。違法事實要素抽取可以協助高檢人員從海量訴訟案件中快速有效提取出違法事實,以用于案情摘要、可解釋性的類案推送以及相關知識推薦等司法領域的實際業務需求中,并可以為高檢人員提供參考,以推動案件辦理流程,加快處理速度。通常情況下,要素抽取問題[1-4]可以轉化為文本分類[5-8]。
早期的研究工作大都采用基于統計規則的文本分類方法來進行相關要素抽取,如王亞坤等[9]提出一種級聯模型并通過手動建立規則的方法對相關事實要素進行抽取;程良等[10]通過依存樹與規則相結合的方法提取語句關鍵要素。該類方法可以有效提高抽取效果,但需要人為建立規則,使得抽取效果受人為因素影響較大。隨著機器學習的發展,越來越多的學者開始將其用于要素的抽取過程,如Li等[11]提出一種基于馬爾科夫邏輯網絡方法并將其用于民事訴訟案件的決策中,該方法可以有效抽取出相關要素;文獻[12]對事實要素進行擴充,比如添加了雙方是否有不良習慣、庭外調解是否有效等,事實要素越全面,就更加符合實際情況。但是該類方法主要適用于訓練語料規模較小且要素種類較少的情況。針對上述方法存在的高度依賴人工制訂規則模板,只局限于少量數據的問題,很多學者提出將深度學習方法用于相關要素抽取工作中,如劉宗林等[13]提出一種基于雙向長短時記憶(bi-long short term memory,Bi-LSTM)模型[14]對法條和罪名要素進行抽取,完成了司法領域的要素抽取工作,利用word2vec[15]得到詞向量,采用Bi-LSTM循環網絡模型進行深度編碼,在對文本進行編碼時考慮上下文信息,得到文本表示并抽取出法條和罪名要素。該類方法相比傳統機器學習方法抽取效果有較大的提高。但是,此類方法采用word2vec模型得到的詞向量是固定的,不能跟隨上下文語境進行改變,所以不具備詞義消歧能力,影響了最終的抽取效果。為了提高抽取效果,有學者提出了基于BERT的增強型(BiLSTM conditional random field,BiLSTM-CRF)模型[16],來對推文惡意軟件名稱進行抽取,相比基于word2vec的詞向量編碼方法,該方法借助雙向編碼器表示(bidirectional encoder representations from transformer, BERT)預訓練模型[17],獲得了具有語義消歧能力的增強型抽取模型,提高了抽取效果。然而,對訴訟案件違法事實要素抽取效果往往依賴相關領域內知識,BERT作為一種預訓練模型,可以將豐富的領域知識輸入到后續模型訓練中用來提高抽取結果。
綜合以上分析,針對訴訟案件違法事實要素抽取效果依賴領域內知識的問題,現提出一種基于BERT的訴訟案件違法事實要素抽取方法,通過領域內知識對BERT模型進行預訓練可以將其融入到模型中,使得模型參數對訴訟案件數據變得更為擬合。同時,模型采用BERT來獲得詞向量,具備詞義消歧能力,以期提高抽取效果。最后,采用循環卷積神經網絡(BiLSTM convolutional neural networks, BiLSTM-CNN)[14,18]對文本進行編碼并獲取在文本分類任務中扮演關鍵角色的信息并完成違法事實要素抽取。
訴訟案件違法事實要素抽取模型結構如圖1所示,主要包括BERT模型預訓練模塊、訴訟案件特征提取模塊(包括BERT文本表示、BiLSTM-CNN特征提取)和模型輸出模塊三個部分組成。

E1,E2,…,EN為監督數據的向量化表示;T1,T2,…,TN為經過BERT模型的輸出
對于訴訟案件,采用領域內的無監督數據對BERT模型進行預訓練。將原始訴訟案件數據經過分句處理,每一個句子作為預訓練階段的輸入,經過掩碼語言模型(mask language model,MLM)和下一句預測(next sentence prediction,NSP)任務預測[17],訓練得出相關模型參數。其結構框圖如圖2所示。
圖2中,輸入的無監督數據用Z1,Z2,…,ZN表示,經過詞嵌入向量化輸出為I1,I2,…,IN[式(1)]。經過BERT預訓練模型的輸出為T1,T2,…,TN。

圖2 經過MLM和NSP兩個任務預測輸出模型的參數Fig.2 The parameters of the output model predicted after MLM and NSP
BERT通過MLM任務進行預訓練,即在一句話中掩蔽掉幾個單詞,然后通過上下文對掩蔽掉的單詞進行預測。假設無監督領域內數據用Z1,Z2,…,ZN表示,經過向量化輸出為I1,I2,…,IN[由式(1)得到]。這個嵌入過程包括三個部分:詞嵌入Ke(token embeddings),分割信息嵌入Se(segment embeddings),位置信息的嵌入Pe(position embeddings)。詞嵌入Ke是對輸入的每一個字信息Ze(1≤e≤N)進行編碼,分割信息嵌入Se是對分割信息Fe進行編碼,位置信息嵌入Pe是對位置的信息We進行編碼。對無監督數據的向量化表示過程如圖3所示。

圖3 無監督數據的向量化表示Fig.3 Vectorization representation of unsupervised data
由圖3可得最終BERT編碼器的輸入信息Ie可表示為
Ie=Ke+Se+Pe
(1)
式(1)中:
Ke=Ze×W1
(2)
Se=Fe×W2
(3)
Pe=We×W3
(4)
式中:W1、W2、W3為可以訓練的參數。
同理,BERT對監督數據的向量化表示為Ee,其原理與圖3類似。
訴訟案件特征提取模塊包括BERT對訓練過程中的監督數據進行文本表示和BiLSTM-CNN特征提取兩部分構成。BERT主要采用多層多個Trm(transformer)模塊對文本進行編碼,對于每一個Trm,輸入監督數據的嵌入信息Ee,由“多頭注意力網絡”和“前饋神經網絡及正則化”兩部分構成,Trm的結構如圖4所示。

圖4 Trm 結構圖Fig.4 Structure of Trm
1.2.1 多頭注意力網絡
其中多頭注意力網絡是由多個“頭”組成的網絡,對于一個“頭”,其結構圖如圖5所示,輸出hi為

圖5 單頭注意力機制Fig.5 Single-headed attention mechanism
hi=attention(Qi,Ki,Vi)=
(5)
MultiHead(X)=Concat(h1,h2,…,hN)Wo
(6)
式(6)中:Wo為網絡里可以訓練的參數。
1.2.2 前饋神經網絡及正則化
在多頭注意力機制之后,文中采用前饋神經網絡來防止網絡中產生“退化”問題,由兩層線性的ReLU函數構成,輸出FFN(x)為
FFN(x1)=max(W4x1+b1,0)W5+b2
(7)
式(7)中:x1為公式中的MultiHead(X);W4、W5、b1、b2為網絡中可以訓練的參數。
對FFN(x)進行正則化操作,設輸出h′f為
為考察該方法用于實際樣品中Hg2+檢測的性能,人體尿液為檢測對象構建檢測體系。實驗采用加標法,向離心管中加入4 μL的本底尿液,然后加入不同濃度的汞離子溶液,反應溶液中的汞離子濃度分別為15 pmol/L、20 pmol/L、50 pmol/L。結果如表2所示,檢測尿液樣品的平均回收率為97.6%~103.7%之間,RSD在1.7%~3.1%之間;說明設計的傳感器可用于尿液樣本中的汞離子檢測,具有較好的準確度。
h′f=LN[FFN(x1)]=LN[max(W4x1+b1,0)W5+b2]
(8)
式(8)中:LN(layer normalization)為正則化函數。
1.2.3 循環卷積神經網絡

h″j=BiLSTM[h′f]
(9)
之后將其輸入給CNN單元,提取關鍵信息kj為
kj=CNN(h″j)
(10)

(11)
采用focal loss[19]作為模型的損失函數,表達式為
(12)

數據來自“裁判文書網”的公益訴訟類型數據,以公益訴訟案件中的食品安全案件為例,經過數據預處理,得到訓練集869條數據,開發集192條數據,測試集208條數據。請法律專業博士生對數據集的要素標簽進行標注,其中相關事實要素標簽有20種。部分數據如表1所示。

表1 數據集舉例Table 1 Example of data set
以精確率P、召回率R、F1和準確率A為評價指標。
(13)
(14)
(15)
(16)
式中:TP、FP、TN、FN分別為正類判定為正類、負類判定為正類、負類判定為負類、正類判定為負類。
實驗采用python語言進行編程,采用基于tensorflow的框架實現模型架構,操作系統是Win10, 64位,處理器采用Nvidia 系列GPU 12 GB 顯存。
輸入數據集相關參數設置:訓練集批次大小batch_size 32, 驗證集和測試集batch_size 8,最大句子長度設為128。對于模型主要參數如表2所示。

表2 相關參數設置Table 2 Related parameter setting
為了驗證本文方法的有效性,實驗中采用Text-CNN、BiLSTM、CNN-BiLSTM、法律判決預測模(LJP)[20]、BERT-FC進行實驗。
2.3.1 各模型結果對比
表3是各種方法對比結果,從中可以得出兩個結論。一是本文方法相比其他方法,無論是否經過預訓練,在各指標上,取得了一致性的結果,均優于其他方法。本文方法相比表現最好的 (BERT fully-connect,BERT-FC)方法,未經過預訓練和經過預訓練,在F1指標上,分別提高了1.31%和1.27%,原因在于本文方法在用BERT得到向量文本表示后,又添加了BiLSTM-CNN對文本進一步進行編碼并提取出對后續分類任務中具有影響力的關鍵詞語,捕捉到了文本中的關鍵信息,以此信息作為分類依據,可以提高分類結果。本文方法和BERT-FC方法相比,其他基于詞嵌入編碼的方法(Text-CNN,BiLSTM,CNN-BiLSTM,LJP),在F1指標上也均有了較大的提高,說明基于BERT的編碼方法,要優于基于詞嵌入的編碼方法,原因在于BERT在對字或者詞進行編碼時,考慮到了上下文的關系,可以解決“一詞多義”問題,可以根據上下文情況不同,靈活對當前字或者詞進行理解,這樣得到的編碼更符合現實,以此為依據得到的分類結果勢必會提高,而基于詞嵌入的編碼方法,對詞的理解是機械性的,沒有考慮到上下文關系,一個詞往往只賦予一個向量或者一個編碼,不能解決“一詞多義”問題。二是對各方法,經過預訓練的模型較未經過預訓練的模型,各指標均有所提高。比如,經過領域內預訓練后,每種方法在F1指標上平均提高了2%,說明對模型進行領域內數據的預訓練,可以提升分類任務結果。其中的一個原因可能是經過訴訟案件領域內數據的預訓練,使得模型的參數與數據變得更為“擬合”,利用這種擬合后的參數再去對案件進行違法事實要素抽取(分類),分類結果得到提升。為了進一步說明本方法的有效性,對比了不同方法對違法事實要素抽取的準確率,結果如圖6和圖7所示,圖6是各個方法經過預訓練后抽取準確率,圖7未經過預訓練,對比圖6和圖7可以看出,對于每一種不同的方法,經過預訓練后,均取得了更高的準確率,這也驗證了預訓練是可以提高抽取結果的。單獨比較每一種方法,無論是否經過預訓練,本文方法均取得了最高的準確率,分別達到98.80%和96.90%。

圖6 經過預訓練的各方法準確率對比Fig.6 Accuracy of each method after pre-training

圖7 沒有經過預訓練的各方法準確率對比Fig.7 Accuracy of each method without pre-training

表3 各個模型的違法事實要素抽取結果Table 3 Extraction results of illegal fact elements of each model
2.3.2 focal 損失函數對比實驗
實驗目的是對比交叉熵損失函數和focal損失函數對最終分類結果的影響,分類結果如表4所示。

表4 不同損失函數結果對比Table 4 Comparison of results of different loss functions
從表4可以看出,對于不同編碼方法,采用focal損失函數比交叉熵損失函數均取得了較高的分類結果,前者在F1值指標上,對于Text-CNN、BERTFC、本文方法平均提高了1%,這說明focal損失函數對于不同難度的類別均有了正確的分類,原因在于采用focal loss函數時,通過調整因子γ的取值減少易分類樣本的權重,使得模型在訓練時更專注于難分類的樣本,從而減少了簡單樣本的影響。這說明focal損失函數可以處理訴訟案件存在的違法事實要素種類繁多,同時可能存在好幾種,而且每一種要素對應的樣本數量不一樣,存在容易區分的和難以區分的類別等問題。
基于BERT的訴訟案件違法事實抽取模型相比傳統模型,抽取效果均有較大的提升。模型融入領域內無監督數據,能夠使其參數更為“擬合”抽取過程的監督型數據,提高抽取效果。BERT對訴訟案件進行編碼,可以解決特征提取中存在的“一詞多義”問題。加入BiLSTM-CNN網絡,能夠抽取出與結果相關的關鍵信息,提高訴訟案件違法事實要素抽取的性能。對于各個模型經過預訓練后,均取得了更高的準確率,說明預訓練可以提高違法要素抽取的準確率。