張 青,王肖霞,孫豫峰,楊風(fēng)暴
(中北大學(xué) 信息與通信工程學(xué)院,山西 太原 030051)
法條的自動(dòng)推送方法研究大多數(shù)采用神經(jīng)語言模型對法律案件進(jìn)行訓(xùn)練,獲取案件的語義信息,再進(jìn)行特征提取獲取更加抽象的文本特征信息,進(jìn)而實(shí)現(xiàn)法條的自動(dòng)推送。目前應(yīng)用于法律領(lǐng)域的神經(jīng)語言模型是在通用領(lǐng)域進(jìn)行訓(xùn)練,法條自動(dòng)推送作為新興起的研究任務(wù),暫時(shí)還沒有專門為法律領(lǐng)域訓(xùn)練的神經(jīng)語言模型。同時(shí)法律領(lǐng)域較通用領(lǐng)域而言,法律案件文本內(nèi)容更加復(fù)雜且法律專業(yè)術(shù)語偏多,專業(yè)術(shù)語特征信息能夠幫助模型理解法律案件,因此,尋找合適的神經(jīng)語言模型與特征提取模型來獲取有效的案件語義信息與特征信息成為本文的主要研究內(nèi)容。
本文針對公益訴訟案件內(nèi)容復(fù)雜難以理解,專業(yè)術(shù)語特征信息難以有效提取等問題,提出了基于BBCAL(BERT-BiLSTM-CNN-Attention based on law)模型的法條自動(dòng)推送方法。該模型通過解決法律案件的兩大問題來提升法條自動(dòng)推送能力。一是針對法律案件較其它文本而言內(nèi)容復(fù)雜難以理解的問題,通過BERT模型來獲取法律案件詞向量,引入BiLSTM模型來建立長序列信息,挖掘詞向量更深層次的含義。二是針對法律案件專業(yè)術(shù)語偏多難以有效提取的問題,引入CNN模型,構(gòu)造不同的卷積核尺寸來捕獲不同粒度專業(yè)術(shù)語的特征信息,獲取法律文本的專業(yè)術(shù)語特征信息,再結(jié)合注意力機(jī)制(Attention),來獲得與當(dāng)前任務(wù)最相關(guān)的特征,進(jìn)而提高法條自動(dòng)推送效果,最后輸入分類層實(shí)現(xiàn)法條的自動(dòng)推送。
目前大部分法條的自動(dòng)推送智能化研究[1-3]是采用文本分類[4,5]技術(shù)來實(shí)現(xiàn),基于深度學(xué)習(xí)[6,7]的方法可以自動(dòng)提取文本的語義信息,能夠節(jié)省時(shí)間,彌補(bǔ)了由于人為失誤而造成語義信息提取不完善的缺點(diǎn)。Li等[8]構(gòu)造了卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)應(yīng)用于法律文本分類任務(wù)中,通過CNN模型獲取文本的局部特征信息來提高文本分類精度。但是CNN模型需要提前設(shè)置卷積尺寸的大小,以至于無法建模更長的序列信息,忽略了文本上下文關(guān)系。為解決這類問題,黃等[9]將BiLSTM模型引入分類任務(wù)當(dāng)中,采用前向LSTM與后向LSTM對文本進(jìn)行雙向編碼建模長序列信息,進(jìn)而捕獲法律文本的上下文關(guān)系。但是BiLSTM模型并不適合單獨(dú)進(jìn)行分類任務(wù),因?yàn)樵谟?xùn)練過程中模型會丟棄一些在某些情況下可能有用的信息,無法聚焦文本局部特征問題。Li等[10]提出聯(lián)合LSTM與CNN模型的優(yōu)勢,提取文本的局部特征信息以及上下文信息,結(jié)果表明其在分類任務(wù)上有較好的效果。但是CNN-BiLSTM模型將不同特征在一起進(jìn)行編碼,有可能忽略了文本重要特征,注重于次級特征。Xiao等[11]提出了在BiLSTM與CNN模型中引入Attention[12],對重要的特征信息賦予更高的權(quán)重,進(jìn)而提高分類的效果。
在以上的方法中,模型的輸入為初始化的文本詞向量,未能考慮文本中上下文的聯(lián)系。為了使語義信息的提取能夠達(dá)到理想的效果,該模型在訓(xùn)練過程中會浪費(fèi)大量時(shí)間,而且需要補(bǔ)充廣泛的語料庫進(jìn)行嵌入學(xué)習(xí),只有當(dāng)語料庫內(nèi)容足夠充足時(shí)才能達(dá)到理想的狀態(tài)。
Google AI提出一種基于深度學(xué)習(xí)的BERT[13](bidirectional encoder representations from transformers)語言預(yù)訓(xùn)練模型。BERT模型生成的向量能夠由周圍的單詞進(jìn)行動(dòng)態(tài)通知,能夠更高效處理一詞多義的問題,而且該向量表示還包含了其它形式的重要信息,這些信息產(chǎn)生更精確的特征表示,捕獲大量的語義信息。Sun等[14]采用BERT模型來獲取文本的語義信息,再進(jìn)行微調(diào)應(yīng)用于分類任務(wù)中。楊[15]融合BERT、CNN與Attention模型進(jìn)行罪名與法條的預(yù)測,通過BERT模型獲取法律文本的語義信息,再通過Attention對重要的語義信息賦予更高的權(quán)重,最后利用CNN模型提取法律案件的局部特征信息,在一定程度上提高了法條預(yù)測效果,但是該方法也忽略文本的長序列信息。
在公益訴訟案件的法條自動(dòng)推送任務(wù)中,為了能夠更好捕獲法律案件中的語義信息,以及有效提取法律案件中專業(yè)術(shù)語特征信息,提出了一種基于BBCAL模型的法條自動(dòng)推送方法。該方法主要由4個(gè)部分組成,分別為預(yù)處理、BERT預(yù)訓(xùn)練、BiLSTM-CNN-Attention以及輸出部分,整體流程如圖1所示。
圖1 BBCAL模型
公益訴訟案件文本包含了多方面內(nèi)容,如違法事實(shí)、行政部門不作為、損害后果、涉及的法律法規(guī)等,因此需要對文本進(jìn)行預(yù)處理,提取模型所需要的內(nèi)容。篩選其中的違法事實(shí)與涉及的相關(guān)法條,根據(jù)篩選出的法條建立一個(gè)法律法規(guī)字典,每一個(gè)法條對應(yīng)一個(gè)索引,最后將篩選的違法事實(shí)作為文本的內(nèi)容,涉及的法律法規(guī)索引作為標(biāo)簽,標(biāo)記后的文本見表1,將其作為BERT預(yù)訓(xùn)練模型的輸入。
BERT使用Transformer作為算法的主要框架,它能更徹底捕捉語句中的雙向關(guān)系,獲取法律案件中豐富的語義信息。BERT主要包括文本嵌入模塊和特征提取模塊。
2.2.1 文本嵌入模塊
BERT預(yù)訓(xùn)練模型中文本嵌入模塊包含了MASK掩蓋語句(MLM)和預(yù)測下一段語句(NSP)兩項(xiàng)任務(wù)。MLM任務(wù)可以用來訓(xùn)練獲得語句的雙向特征,即在文本的每個(gè)句子中用[MASK]來隨機(jī)遮蔽15%的詞,然后讓模型預(yù)測被遮蔽的詞。其中,并不是每個(gè)句子中都用[MASK]去隨機(jī)遮蔽,而是有80%的概率去遮蔽,10%的概率用其它的詞代替,10%的概率保持不變。NSP任務(wù)可以
表1 標(biāo)記后的文本
用來捕捉兩個(gè)句子的聯(lián)系,目的是預(yù)測下一個(gè)句子是否與當(dāng)前句子有關(guān)。
公益訴訟案件文本嵌入過程如圖2所示,將標(biāo)記后的文本輸入到模型中,進(jìn)行Token嵌入(Token Embeddings)、句子嵌入(Segment Embeddings)與位置嵌入(Position Embeddings),該3種嵌入表示再次進(jìn)行處理后得出最終的文本嵌入表示,其中[CLS]和[SEP]分別為開始標(biāo)志與結(jié)束標(biāo)志。記文本嵌入表示為Vi,其計(jì)算如式(1)所示
Vi=TiWt+SiWs+PiWp
(1)
式中:Ti,Si,Pi分別為字符編碼、分割編碼、位置編碼,Wt,Ws,Wp為可調(diào)參數(shù)。
2.2.2 特征提取模塊
特征提取模塊采用Transformer框架為基礎(chǔ)進(jìn)行構(gòu)建,利用多個(gè)Transformer堆疊對文本向量進(jìn)行深層次編碼,原理如圖3所示,其中Vi為文本嵌入表示,Qi為經(jīng)過Transformer特征提取后的輸出。
Transformer中采用編碼器-解碼器架構(gòu),由多個(gè)編碼(encoder)層與解碼(decoder)層構(gòu)成。在每一個(gè)encoder層首先使用自注意力機(jī)制(self-attention)結(jié)構(gòu)進(jìn)行數(shù)據(jù)處理,可以使當(dāng)前節(jié)點(diǎn)不僅能關(guān)注當(dāng)前的詞,也能注意到周圍詞的影響,從而獲取具有上下文聯(lián)系的語義信息,然后在將處理后的數(shù)據(jù)輸入前饋神經(jīng)網(wǎng)絡(luò)中進(jìn)行前向傳播。而每個(gè)子層后都引入了殘差連接與歸一化算法來解決深層網(wǎng)絡(luò)中出現(xiàn)的梯度消散問題。decoder層由3個(gè)子層組成,同樣包含了encoder層中的二個(gè)子層,不同的是在二個(gè)子層之間引入了Attention層,來幫助節(jié)點(diǎn)獲取當(dāng)前需要關(guān)注的重點(diǎn)特征信息。文本的嵌入表示輸入到encoder層,多頭自注意力機(jī)制處理完數(shù)據(jù)后輸入前饋神經(jīng)網(wǎng)絡(luò)中進(jìn)行并行計(jì)算,繼續(xù)輸入到下一個(gè)encoder層,再重復(fù)以上的計(jì)算。encoder層的內(nèi)部原理如圖4所示。
圖4 encoder層內(nèi)部原理
(1)多頭自注意力機(jī)制
多頭自注意力機(jī)制其結(jié)構(gòu)由多個(gè)自注意力機(jī)制連接而成,其中每一個(gè)自注意力機(jī)制內(nèi)部結(jié)構(gòu)均相同。其內(nèi)部原理結(jié)構(gòu)如圖5所示。
圖5 自注意力機(jī)制原理
圖5中,該機(jī)制通過輸入表示初始化3個(gè)向量,即Query(q)、Key(k)和Value(v),其中q表示對字嵌入乘以一個(gè)權(quán)重矩陣、k用以表示周圍各個(gè)字的向量特征信息、v表示目標(biāo)字的上下文關(guān)系信息,再通過學(xué)習(xí)獲得最適合的向量。記自注意力機(jī)制的輸入為 {I1,I2,…,IN}, 首先對其初始化3個(gè)向量矩陣,q與k計(jì)算單詞之間的相似性,然后再與v進(jìn)行點(diǎn)乘運(yùn)算后得出注意力分?jǐn)?shù),記該機(jī)制的最終輸出結(jié)果為Zi,計(jì)算公式如下所示
qi=linear(Ii)=IiWiq
(2)
ki=linear(Ii)=IiWik
(3)
vi=linear(Ii)=IiWiv
(4)
(5)
其中,Ii為輸入的向量,Wiq,Wik,Wiv為可訓(xùn)練的參數(shù)。
BERT語言模型由于引入了多頭自注意力機(jī)制結(jié)構(gòu),使其無法對向量進(jìn)行后續(xù)的處理。這是因?yàn)榍梆伾窠?jīng)網(wǎng)絡(luò)每次只能處理一個(gè)輸入向量,無法處理由多個(gè)自注意力機(jī)制產(chǎn)生的多個(gè)輸出,因此需要將多個(gè)輸出轉(zhuǎn)換成一個(gè)輸出,即將多個(gè)矩陣乘以一個(gè)權(quán)重矩陣從而轉(zhuǎn)換成一個(gè)輸出。記該輸出為M,計(jì)算如式(6)所示
M=Concat(Z1,Z2…,ZN)WP
(6)
式中:WP為可訓(xùn)練的權(quán)重矩陣,Concat表示對內(nèi)部向量進(jìn)行拼接。
(2)前饋神經(jīng)網(wǎng)絡(luò)
多頭自注意力機(jī)制處理后的向量矩陣需要再執(zhí)行前向傳播,即需要輸入前饋神經(jīng)網(wǎng)絡(luò)中進(jìn)行處理,但是需要先進(jìn)行殘差連接與歸一化操作,以解決神經(jīng)網(wǎng)絡(luò)的退化等問題,如式(7)所示
L=LayerNorm(I⊕M)
(7)
式中:⊕為殘差連接,I,M分別為經(jīng)過轉(zhuǎn)換后的輸入與輸出,LayerNorm表示正則化操作。
最后使用前饋神經(jīng)網(wǎng)絡(luò)對該向量矩陣進(jìn)行處理,前饋神經(jīng)網(wǎng)絡(luò)包含了線性映射與激活函數(shù)兩部分,如式(8)所示
Q=linear(ReLU(linear(L)))
(8)
式中:ReLU為激活函數(shù),linear為線性映射。
為了進(jìn)一步挖掘詞向量更深層次的含義以及提取專業(yè)術(shù)語特征信息,將經(jīng)由BERT模型后得到的詞向量表示Q輸入BiLSTM-CNN-Attention模型中。首先通過BiLSTM模型來對BERT詞向量雙向編碼,再通過設(shè)置CNN不同卷積核尺寸獲取法律案件的專業(yè)術(shù)語特征信息,最后引入Attention對不同專業(yè)術(shù)語特征信息賦予不同的權(quán)重,如圖6所示。
圖6 BiLSTM-CNN-Attention
從目前的情況來看,行政事業(yè)單位越來越重視財(cái)務(wù)內(nèi)部監(jiān)督,專職會計(jì)職能逐漸向管理會計(jì)職能轉(zhuǎn)變,內(nèi)部控制各項(xiàng)制度逐漸規(guī)范。而財(cái)務(wù)體制的改革涉及財(cái)政、人事、職能、內(nèi)部機(jī)構(gòu)運(yùn)行等方面,實(shí)際情況中,行政事業(yè)單位內(nèi)部控制仍然缺乏健全的相互監(jiān)督機(jī)制。因此,行政事業(yè)單位要根據(jù)實(shí)際的運(yùn)營情況,對財(cái)務(wù)監(jiān)督的相關(guān)機(jī)制進(jìn)行完善。在完善的過程中,要對具體的監(jiān)督職責(zé)進(jìn)行劃分,確保具體的職責(zé)落實(shí)到各個(gè)崗位以及工作人員,并在劃分過程中分離不相容的崗位以及人員,避免出現(xiàn)一人多崗的現(xiàn)象,進(jìn)而使財(cái)務(wù)監(jiān)督的相關(guān)部門形成相互影響、相互制約的關(guān)系[2]。
(9)
經(jīng)由BiLSTM模型提取了詞向量更深層次的含義,但是卻忽略了法律案件的專業(yè)術(shù)語特征信息,因此引入CNN模型,設(shè)置不同的卷積核提取法律案件專業(yè)術(shù)語特征信息。將BiLSTM的輸出輸入CNN模型當(dāng)中,設(shè)置不同的卷積核,提取專業(yè)術(shù)語特征信息C, 最后采用Attention對提取的不同特征信息賦予不同的權(quán)重,得到最終的文本表示向量CAttention, 如以下公式所示
C=f(W·H+b)
(10)
CAttention=Attention(C)
(11)
其中,b為偏置項(xiàng),f為非線性函數(shù)。
最終的輸出為多分類任務(wù),采用softmax函數(shù)來計(jì)算文本所屬每一個(gè)類別的概率,最大的概率為預(yù)測法條的類別。計(jì)算如式(12)所示
(12)
式中:Zn為第n個(gè)值,j為預(yù)測法條數(shù)量。
這里選擇交叉熵做為損失函數(shù),如式(13)所示
(13)
式中:yc為樣本值,P(Zn) 為softmax輸出概率。
本文實(shí)驗(yàn)的環(huán)境配置見表2。
表2 實(shí)驗(yàn)環(huán)境配置
BERT-BiLSTM-CNN的參數(shù)設(shè)置見表3。
本實(shí)驗(yàn)采用精確率precision、召回率recall和F1_score作為實(shí)驗(yàn)結(jié)果的評價(jià)指標(biāo)。公式如下所示
(14)
(15)
(16)
其中,c表示被預(yù)測為正類的測試樣本中真正為正類的測試樣本;m表示所有被預(yù)測為正類的測試樣本(包括正確類和錯(cuò)誤類);n表示為所有真正的正類測試樣本(包括預(yù)測正確的和預(yù)測成負(fù)類)。
表3 BERT-BiLSTM-CNN參數(shù)設(shè)置
為了驗(yàn)證本文方法的有效性,在公益訴訟案件數(shù)據(jù)集上分別對7種神經(jīng)網(wǎng)絡(luò)模型在法條自動(dòng)推送的任務(wù)上進(jìn)行了實(shí)驗(yàn)對比,具體實(shí)驗(yàn)結(jié)果見表4。
表4 各模型法條自動(dòng)推送結(jié)果
3.4.1 各模型結(jié)果對比
比較表4中既未經(jīng)過BERT預(yù)訓(xùn)練也未添加Attention的CNN、BiLSTM、BiLSTM-CNN這3種模型,可以發(fā)現(xiàn),CNN模型法條自動(dòng)推送的結(jié)果要優(yōu)于BiLSTM模型,在各個(gè)指標(biāo)上均有提高,在F1_score上提高1.32%,說明了法條自動(dòng)推送任務(wù)中更加依賴于法律案件中專業(yè)術(shù)語的特征信息。BiLSTM-CNN模型的分類結(jié)果在F1_score上分別比CNN與BiLSTM提高了2.07%與3.39%,表明了結(jié)合法律案件上下文聯(lián)系與專業(yè)術(shù)語特征信息的分類效果更優(yōu)。
比較表4中有無經(jīng)過BERT預(yù)訓(xùn)練與Attention機(jī)制的兩組模型,即CNN與BERT-CNN模型、BiLSTM與BERT-BiLSTM模型、BiLSTM-CNN與BERT-BiLSTM-CNN模型。通過比較發(fā)現(xiàn),無論是哪一種模型,對文本進(jìn)行BERT預(yù)訓(xùn)練后的分類效果都有很大程度的提升,添加了BERT預(yù)訓(xùn)練模型相比于未添加的模型在F1_score上分別提升了7.72%、8.18%以及7.06%,由此可以看出,經(jīng)過BERT預(yù)訓(xùn)練后的模型能夠有效獲取法率案件語義信息,再經(jīng)由特征提取能夠很好標(biāo)識法律文本,從而使得法條自動(dòng)推送效果更為準(zhǔn)確。
比較表4中有無添加Attention機(jī)制的兩組模型,可以看出BiLSTM-CNN-Attention相比于BiLSTM-CNN在F1_score指標(biāo)上提高了0.69%,BBCAL在F1_score上相比于BERT-BiLSTM-CNN提高了3.40%,說明了加入Attention 機(jī)制能使模型忽略句子中無關(guān)特征,去除噪聲的干擾,且能夠更加高效合理地注重于關(guān)鍵專業(yè)術(shù)語特征信息,并賦予這些關(guān)鍵專業(yè)術(shù)語特征信息更高的權(quán)值。
3.4.2 卷積核尺寸與數(shù)量對模型的影響
由表5可以看出,卷積核尺寸的大小會影響著提取專業(yè)術(shù)語特征信息的能力。在卷積核尺寸為[2,3,4]時(shí),模型效果達(dá)到最優(yōu),這是因?yàn)樵诜砂讣?dāng)中,粒度為2和4的專業(yè)術(shù)語分布最多,通過融合可以準(zhǔn)確提取其特征信息。隨著卷積核尺寸的不斷增大,模型的效果不斷降低,這是因?yàn)樵谔崛√卣餍畔r(shí),過多的無用信息會造成干擾,無法準(zhǔn)確有效提取專業(yè)術(shù)語特征信息,通過分析最終確定卷積核尺寸為[2,3,4]。
表5 卷積核尺寸的影響
從表6中可以看出,選取不同數(shù)量的卷積核也會影響著法條的自動(dòng)推送效果。當(dāng)卷積核數(shù)量為64時(shí),模型的分類效果較低,這是因?yàn)榫矸e核數(shù)量較少時(shí)特征圖的數(shù)量也就較少,CNN模型擬合能力不夠容易欠擬合,造成分類效果下降。而卷積核數(shù)量選取過多時(shí),不僅會增加模型訓(xùn)練的時(shí)間,還會造成果過擬合的問題,導(dǎo)致出現(xiàn)差異性較大的案例時(shí)法條自動(dòng)推送效果不理想。當(dāng)卷積核數(shù)量為128與256時(shí),法條自動(dòng)推送的效果較好,后者的卷積核數(shù)量是前者的一倍,但是F1_score只提高了0.32%,結(jié)合卷積核越多訓(xùn)練時(shí)間越長且容易造成過擬合,最終確定CNN模型的卷積核數(shù)量為128。
3.4.3 丟失率對模型的影響
除此之外,還進(jìn)一步考慮了丟失率對法條自動(dòng)推送模型的影響,丟失率可以按照一定比例隨機(jī)讓一部分隱層節(jié)點(diǎn)失效,在訓(xùn)練樣本較少的情況之下,可以防止模型過擬合以影響文本分類效果。在BERT-CNN、BERT-BiLSTM-CNN、
表6 卷積核數(shù)量的影響
BBCAL這3種模型上進(jìn)行丟失率的比較。根據(jù)以往經(jīng)驗(yàn),分別選取了丟失率為0.4、0.5、0.6、0.7和0.8,來進(jìn)行實(shí)驗(yàn)結(jié)果對比。由圖7所示,在3種模型當(dāng)中,當(dāng)丟失率為0.5與0.6時(shí),模型能夠達(dá)到理想效果。在本文方法上,當(dāng)丟失率為0.5時(shí),法條自動(dòng)推送F1_score為87.53%,達(dá)到最優(yōu),說明了相比于丟失率為0.6時(shí),丟失率為0.5可以保留更多的特征信息,因此最終確定丟失率為0.5。
圖7 丟失率的影響
3.4.4 模型的收斂曲線與混淆矩陣
為了進(jìn)一步的提升該模型的有效性與穩(wěn)定性,分別研究了損失(loss)與精準(zhǔn)(accuracy)收斂曲線,如圖8、圖9所示,圖8為loss與epoch的變化曲線,圖9為accuracy與epoch的變化曲線。由圖8可以看出當(dāng)epoch達(dá)到18之后,loss趨于穩(wěn)定,模型達(dá)到收斂。而圖9當(dāng)中,當(dāng)epoch達(dá)到15之后accuracy就開始收斂,模型趨于穩(wěn)定。隨著epoch的增大,訓(xùn)練的次數(shù)就越多,需要花費(fèi)大量的時(shí)間去進(jìn)行訓(xùn)練,甚至?xí)鲞^擬合的現(xiàn)象,綜合以上因素,最終確定epoch為15。
使用文本的方法,得到混淆矩陣,見表7。
圖8 損失收斂曲線
圖9 精準(zhǔn)收斂曲線
本文面向公益訴訟法律案件,提出了一種融合案件語義信息與法律專業(yè)術(shù)語特征信息的法條自動(dòng)推送模型,通過BERT模型獲取法律案件的詞向量表示,解決了一詞多義的問題,引入BiLSTM模型來挖掘BERT模型詞向量更深層次的含義,解決長期依賴問題,再輸入后續(xù)模型中提取專業(yè)術(shù)語的特征信息,最后進(jìn)行分類任務(wù)。研究表明,經(jīng)過BiLSTM模型挖掘后的向量以及提取法律專業(yè)術(shù)語特征信息的模型在法條自動(dòng)推送任務(wù)上效果更優(yōu),因?yàn)锽ERT將多個(gè)Transformer編碼器堆疊在一起進(jìn)行雙向?qū)W習(xí),再通過BiLSTM模型記憶的特點(diǎn),可以更好獲取復(fù)雜法律案件的上下文信息,理解復(fù)雜法律案件,而CNN模型可以有效提取不同粒度的專業(yè)術(shù)語特征信息,再通過Attention關(guān)注重要專業(yè)術(shù)語特征信息,最終提升了法條自動(dòng)推送效果。
表7 混淆矩陣