崔 斌, 鄒 蕾, 徐明月
(北京京航計(jì)算通訊研究所信息工程事業(yè)部, 北京 100074)
違法事實(shí)要素作為訴訟案件的關(guān)鍵要素之一,影響著對案件進(jìn)行決策的效率。違法事實(shí)要素抽取可以協(xié)助高檢人員從海量訴訟案件中快速有效提取出違法事實(shí),以用于案情摘要、可解釋性的類案推送以及相關(guān)知識推薦等司法領(lǐng)域的實(shí)際業(yè)務(wù)需求中,并可以為高檢人員提供參考,以推動案件辦理流程,加快處理速度。通常情況下,要素抽取問題[1-4]可以轉(zhuǎn)化為文本分類[5-8]。
早期的研究工作大都采用基于統(tǒng)計(jì)規(guī)則的文本分類方法來進(jìn)行相關(guān)要素抽取,如王亞坤等[9]提出一種級聯(lián)模型并通過手動建立規(guī)則的方法對相關(guān)事實(shí)要素進(jìn)行抽?。怀塘嫉萚10]通過依存樹與規(guī)則相結(jié)合的方法提取語句關(guān)鍵要素。該類方法可以有效提高抽取效果,但需要人為建立規(guī)則,使得抽取效果受人為因素影響較大。隨著機(jī)器學(xué)習(xí)的發(fā)展,越來越多的學(xué)者開始將其用于要素的抽取過程,如Li等[11]提出一種基于馬爾科夫邏輯網(wǎng)絡(luò)方法并將其用于民事訴訟案件的決策中,該方法可以有效抽取出相關(guān)要素;文獻(xiàn)[12]對事實(shí)要素進(jìn)行擴(kuò)充,比如添加了雙方是否有不良習(xí)慣、庭外調(diào)解是否有效等,事實(shí)要素越全面,就更加符合實(shí)際情況。但是該類方法主要適用于訓(xùn)練語料規(guī)模較小且要素種類較少的情況。針對上述方法存在的高度依賴人工制訂規(guī)則模板,只局限于少量數(shù)據(jù)的問題,很多學(xué)者提出將深度學(xué)習(xí)方法用于相關(guān)要素抽取工作中,如劉宗林等[13]提出一種基于雙向長短時(shí)記憶(bi-long short term memory,Bi-LSTM)模型[14]對法條和罪名要素進(jìn)行抽取,完成了司法領(lǐng)域的要素抽取工作,利用word2vec[15]得到詞向量,采用Bi-LSTM循環(huán)網(wǎng)絡(luò)模型進(jìn)行深度編碼,在對文本進(jìn)行編碼時(shí)考慮上下文信息,得到文本表示并抽取出法條和罪名要素。該類方法相比傳統(tǒng)機(jī)器學(xué)習(xí)方法抽取效果有較大的提高。但是,此類方法采用word2vec模型得到的詞向量是固定的,不能跟隨上下文語境進(jìn)行改變,所以不具備詞義消歧能力,影響了最終的抽取效果。為了提高抽取效果,有學(xué)者提出了基于BERT的增強(qiáng)型(BiLSTM conditional random field,BiLSTM-CRF)模型[16],來對推文惡意軟件名稱進(jìn)行抽取,相比基于word2vec的詞向量編碼方法,該方法借助雙向編碼器表示(bidirectional encoder representations from transformer, BERT)預(yù)訓(xùn)練模型[17],獲得了具有語義消歧能力的增強(qiáng)型抽取模型,提高了抽取效果。然而,對訴訟案件違法事實(shí)要素抽取效果往往依賴相關(guān)領(lǐng)域內(nèi)知識,BERT作為一種預(yù)訓(xùn)練模型,可以將豐富的領(lǐng)域知識輸入到后續(xù)模型訓(xùn)練中用來提高抽取結(jié)果。
綜合以上分析,針對訴訟案件違法事實(shí)要素抽取效果依賴領(lǐng)域內(nèi)知識的問題,現(xiàn)提出一種基于BERT的訴訟案件違法事實(shí)要素抽取方法,通過領(lǐng)域內(nèi)知識對BERT模型進(jìn)行預(yù)訓(xùn)練可以將其融入到模型中,使得模型參數(shù)對訴訟案件數(shù)據(jù)變得更為擬合。同時(shí),模型采用BERT來獲得詞向量,具備詞義消歧能力,以期提高抽取效果。最后,采用循環(huán)卷積神經(jīng)網(wǎng)絡(luò)(BiLSTM convolutional neural networks, BiLSTM-CNN)[14,18]對文本進(jìn)行編碼并獲取在文本分類任務(wù)中扮演關(guān)鍵角色的信息并完成違法事實(shí)要素抽取。
訴訟案件違法事實(shí)要素抽取模型結(jié)構(gòu)如圖1所示,主要包括BERT模型預(yù)訓(xùn)練模塊、訴訟案件特征提取模塊(包括BERT文本表示、BiLSTM-CNN特征提取)和模型輸出模塊三個(gè)部分組成。
E1,E2,…,EN為監(jiān)督數(shù)據(jù)的向量化表示;T1,T2,…,TN為經(jīng)過BERT模型的輸出
對于訴訟案件,采用領(lǐng)域內(nèi)的無監(jiān)督數(shù)據(jù)對BERT模型進(jìn)行預(yù)訓(xùn)練。將原始訴訟案件數(shù)據(jù)經(jīng)過分句處理,每一個(gè)句子作為預(yù)訓(xùn)練階段的輸入,經(jīng)過掩碼語言模型(mask language model,MLM)和下一句預(yù)測(next sentence prediction,NSP)任務(wù)預(yù)測[17],訓(xùn)練得出相關(guān)模型參數(shù)。其結(jié)構(gòu)框圖如圖2所示。
圖2中,輸入的無監(jiān)督數(shù)據(jù)用Z1,Z2,…,ZN表示,經(jīng)過詞嵌入向量化輸出為I1,I2,…,IN[式(1)]。經(jīng)過BERT預(yù)訓(xùn)練模型的輸出為T1,T2,…,TN。
圖2 經(jīng)過MLM和NSP兩個(gè)任務(wù)預(yù)測輸出模型的參數(shù)Fig.2 The parameters of the output model predicted after MLM and NSP
BERT通過MLM任務(wù)進(jìn)行預(yù)訓(xùn)練,即在一句話中掩蔽掉幾個(gè)單詞,然后通過上下文對掩蔽掉的單詞進(jìn)行預(yù)測。假設(shè)無監(jiān)督領(lǐng)域內(nèi)數(shù)據(jù)用Z1,Z2,…,ZN表示,經(jīng)過向量化輸出為I1,I2,…,IN[由式(1)得到]。這個(gè)嵌入過程包括三個(gè)部分:詞嵌入Ke(token embeddings),分割信息嵌入Se(segment embeddings),位置信息的嵌入Pe(position embeddings)。詞嵌入Ke是對輸入的每一個(gè)字信息Ze(1≤e≤N)進(jìn)行編碼,分割信息嵌入Se是對分割信息Fe進(jìn)行編碼,位置信息嵌入Pe是對位置的信息We進(jìn)行編碼。對無監(jiān)督數(shù)據(jù)的向量化表示過程如圖3所示。
圖3 無監(jiān)督數(shù)據(jù)的向量化表示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為可以訓(xùn)練的參數(shù)。
同理,BERT對監(jiān)督數(shù)據(jù)的向量化表示為Ee,其原理與圖3類似。
訴訟案件特征提取模塊包括BERT對訓(xùn)練過程中的監(jiān)督數(shù)據(jù)進(jìn)行文本表示和BiLSTM-CNN特征提取兩部分構(gòu)成。BERT主要采用多層多個(gè)Trm(transformer)模塊對文本進(jìn)行編碼,對于每一個(gè)Trm,輸入監(jiān)督數(shù)據(jù)的嵌入信息Ee,由“多頭注意力網(wǎng)絡(luò)”和“前饋神經(jīng)網(wǎng)絡(luò)及正則化”兩部分構(gòu)成,Trm的結(jié)構(gòu)如圖4所示。
圖4 Trm 結(jié)構(gòu)圖Fig.4 Structure of Trm
1.2.1 多頭注意力網(wǎng)絡(luò)
其中多頭注意力網(wǎng)絡(luò)是由多個(gè)“頭”組成的網(wǎng)絡(luò),對于一個(gè)“頭”,其結(jié)構(gòu)圖如圖5所示,輸出hi為
圖5 單頭注意力機(jī)制Fig.5 Single-headed attention mechanism
hi=attention(Qi,Ki,Vi)=
(5)
MultiHead(X)=Concat(h1,h2,…,hN)Wo
(6)
式(6)中:Wo為網(wǎng)絡(luò)里可以訓(xùn)練的參數(shù)。
1.2.2 前饋神經(jīng)網(wǎng)絡(luò)及正則化
在多頭注意力機(jī)制之后,文中采用前饋神經(jīng)網(wǎng)絡(luò)來防止網(wǎng)絡(luò)中產(chǎn)生“退化”問題,由兩層線性的ReLU函數(shù)構(gòu)成,輸出FFN(x)為
FFN(x1)=max(W4x1+b1,0)W5+b2
(7)
式(7)中:x1為公式中的MultiHead(X);W4、W5、b1、b2為網(wǎng)絡(luò)中可以訓(xùn)練的參數(shù)。
對FFN(x)進(jìn)行正則化操作,設(shè)輸出h′f為
為考察該方法用于實(shí)際樣品中Hg2+檢測的性能,人體尿液為檢測對象構(gòu)建檢測體系。實(shí)驗(yàn)采用加標(biāo)法,向離心管中加入4 μL的本底尿液,然后加入不同濃度的汞離子溶液,反應(yīng)溶液中的汞離子濃度分別為15 pmol/L、20 pmol/L、50 pmol/L。結(jié)果如表2所示,檢測尿液樣品的平均回收率為97.6%~103.7%之間,RSD在1.7%~3.1%之間;說明設(shè)計(jì)的傳感器可用于尿液樣本中的汞離子檢測,具有較好的準(zhǔn)確度。
h′f=LN[FFN(x1)]=LN[max(W4x1+b1,0)W5+b2]
(8)
式(8)中:LN(layer normalization)為正則化函數(shù)。
1.2.3 循環(huán)卷積神經(jīng)網(wǎng)絡(luò)
h″j=BiLSTM[h′f]
(9)
之后將其輸入給CNN單元,提取關(guān)鍵信息kj為
kj=CNN(h″j)
(10)
(11)
采用focal loss[19]作為模型的損失函數(shù),表達(dá)式為
(12)
數(shù)據(jù)來自“裁判文書網(wǎng)”的公益訴訟類型數(shù)據(jù),以公益訴訟案件中的食品安全案件為例,經(jīng)過數(shù)據(jù)預(yù)處理,得到訓(xùn)練集869條數(shù)據(jù),開發(fā)集192條數(shù)據(jù),測試集208條數(shù)據(jù)。請法律專業(yè)博士生對數(shù)據(jù)集的要素標(biāo)簽進(jìn)行標(biāo)注,其中相關(guān)事實(shí)要素標(biāo)簽有20種。部分?jǐn)?shù)據(jù)如表1所示。
表1 數(shù)據(jù)集舉例Table 1 Example of data set
以精確率P、召回率R、F1和準(zhǔn)確率A為評價(jià)指標(biāo)。
(13)
(14)
(15)
(16)
式中:TP、FP、TN、FN分別為正類判定為正類、負(fù)類判定為正類、負(fù)類判定為負(fù)類、正類判定為負(fù)類。
實(shí)驗(yàn)采用python語言進(jìn)行編程,采用基于tensorflow的框架實(shí)現(xiàn)模型架構(gòu),操作系統(tǒng)是Win10, 64位,處理器采用Nvidia 系列GPU 12 GB 顯存。
輸入數(shù)據(jù)集相關(guān)參數(shù)設(shè)置:訓(xùn)練集批次大小batch_size 32, 驗(yàn)證集和測試集batch_size 8,最大句子長度設(shè)為128。對于模型主要參數(shù)如表2所示。
表2 相關(guān)參數(shù)設(shè)置Table 2 Related parameter setting
為了驗(yàn)證本文方法的有效性,實(shí)驗(yàn)中采用Text-CNN、BiLSTM、CNN-BiLSTM、法律判決預(yù)測模(LJP)[20]、BERT-FC進(jìn)行實(shí)驗(yàn)。
2.3.1 各模型結(jié)果對比
表3是各種方法對比結(jié)果,從中可以得出兩個(gè)結(jié)論。一是本文方法相比其他方法,無論是否經(jīng)過預(yù)訓(xùn)練,在各指標(biāo)上,取得了一致性的結(jié)果,均優(yōu)于其他方法。本文方法相比表現(xiàn)最好的 (BERT fully-connect,BERT-FC)方法,未經(jīng)過預(yù)訓(xùn)練和經(jīng)過預(yù)訓(xùn)練,在F1指標(biāo)上,分別提高了1.31%和1.27%,原因在于本文方法在用BERT得到向量文本表示后,又添加了BiLSTM-CNN對文本進(jìn)一步進(jìn)行編碼并提取出對后續(xù)分類任務(wù)中具有影響力的關(guān)鍵詞語,捕捉到了文本中的關(guān)鍵信息,以此信息作為分類依據(jù),可以提高分類結(jié)果。本文方法和BERT-FC方法相比,其他基于詞嵌入編碼的方法(Text-CNN,BiLSTM,CNN-BiLSTM,LJP),在F1指標(biāo)上也均有了較大的提高,說明基于BERT的編碼方法,要優(yōu)于基于詞嵌入的編碼方法,原因在于BERT在對字或者詞進(jìn)行編碼時(shí),考慮到了上下文的關(guān)系,可以解決“一詞多義”問題,可以根據(jù)上下文情況不同,靈活對當(dāng)前字或者詞進(jìn)行理解,這樣得到的編碼更符合現(xiàn)實(shí),以此為依據(jù)得到的分類結(jié)果勢必會提高,而基于詞嵌入的編碼方法,對詞的理解是機(jī)械性的,沒有考慮到上下文關(guān)系,一個(gè)詞往往只賦予一個(gè)向量或者一個(gè)編碼,不能解決“一詞多義”問題。二是對各方法,經(jīng)過預(yù)訓(xùn)練的模型較未經(jīng)過預(yù)訓(xùn)練的模型,各指標(biāo)均有所提高。比如,經(jīng)過領(lǐng)域內(nèi)預(yù)訓(xùn)練后,每種方法在F1指標(biāo)上平均提高了2%,說明對模型進(jìn)行領(lǐng)域內(nèi)數(shù)據(jù)的預(yù)訓(xùn)練,可以提升分類任務(wù)結(jié)果。其中的一個(gè)原因可能是經(jīng)過訴訟案件領(lǐng)域內(nèi)數(shù)據(jù)的預(yù)訓(xùn)練,使得模型的參數(shù)與數(shù)據(jù)變得更為“擬合”,利用這種擬合后的參數(shù)再去對案件進(jìn)行違法事實(shí)要素抽取(分類),分類結(jié)果得到提升。為了進(jìn)一步說明本方法的有效性,對比了不同方法對違法事實(shí)要素抽取的準(zhǔn)確率,結(jié)果如圖6和圖7所示,圖6是各個(gè)方法經(jīng)過預(yù)訓(xùn)練后抽取準(zhǔn)確率,圖7未經(jīng)過預(yù)訓(xùn)練,對比圖6和圖7可以看出,對于每一種不同的方法,經(jīng)過預(yù)訓(xùn)練后,均取得了更高的準(zhǔn)確率,這也驗(yàn)證了預(yù)訓(xùn)練是可以提高抽取結(jié)果的。單獨(dú)比較每一種方法,無論是否經(jīng)過預(yù)訓(xùn)練,本文方法均取得了最高的準(zhǔn)確率,分別達(dá)到98.80%和96.90%。
圖6 經(jīng)過預(yù)訓(xùn)練的各方法準(zhǔn)確率對比Fig.6 Accuracy of each method after pre-training
圖7 沒有經(jīng)過預(yù)訓(xùn)練的各方法準(zhǔn)確率對比Fig.7 Accuracy of each method without pre-training
表3 各個(gè)模型的違法事實(shí)要素抽取結(jié)果Table 3 Extraction results of illegal fact elements of each model
2.3.2 focal 損失函數(shù)對比實(shí)驗(yàn)
實(shí)驗(yàn)?zāi)康氖菍Ρ冉徊骒負(fù)p失函數(shù)和focal損失函數(shù)對最終分類結(jié)果的影響,分類結(jié)果如表4所示。
表4 不同損失函數(shù)結(jié)果對比Table 4 Comparison of results of different loss functions
從表4可以看出,對于不同編碼方法,采用focal損失函數(shù)比交叉熵?fù)p失函數(shù)均取得了較高的分類結(jié)果,前者在F1值指標(biāo)上,對于Text-CNN、BERTFC、本文方法平均提高了1%,這說明focal損失函數(shù)對于不同難度的類別均有了正確的分類,原因在于采用focal loss函數(shù)時(shí),通過調(diào)整因子γ的取值減少易分類樣本的權(quán)重,使得模型在訓(xùn)練時(shí)更專注于難分類的樣本,從而減少了簡單樣本的影響。這說明focal損失函數(shù)可以處理訴訟案件存在的違法事實(shí)要素種類繁多,同時(shí)可能存在好幾種,而且每一種要素對應(yīng)的樣本數(shù)量不一樣,存在容易區(qū)分的和難以區(qū)分的類別等問題。
基于BERT的訴訟案件違法事實(shí)抽取模型相比傳統(tǒng)模型,抽取效果均有較大的提升。模型融入領(lǐng)域內(nèi)無監(jiān)督數(shù)據(jù),能夠使其參數(shù)更為“擬合”抽取過程的監(jiān)督型數(shù)據(jù),提高抽取效果。BERT對訴訟案件進(jìn)行編碼,可以解決特征提取中存在的“一詞多義”問題。加入BiLSTM-CNN網(wǎng)絡(luò),能夠抽取出與結(jié)果相關(guān)的關(guān)鍵信息,提高訴訟案件違法事實(shí)要素抽取的性能。對于各個(gè)模型經(jīng)過預(yù)訓(xùn)練后,均取得了更高的準(zhǔn)確率,說明預(yù)訓(xùn)練可以提高違法要素抽取的準(zhǔn)確率。