高珊,何安娜,肖清泉
(貴州大學(xué)大數(shù)據(jù)與信息工程學(xué)院,貴州貴陽 550025)
隨著大數(shù)據(jù)時代的來臨,人民法律意識的加強和法律的普及已不僅僅局限于司法部門。大數(shù)據(jù)與司法相結(jié)合已成為必然趨勢[1]。早期文獻采用N-gram進行司法智能研究,屬于利用淺層的文本特征,準(zhǔn)確率較差[2-3]。Daniel 等人采取了人工提取案件顯著特征的方式進行美國法院的判決預(yù)測[4],準(zhǔn)確率提高了,但耗費了時間及精力。Hu 等人提出利用注意力機制模型解決司法判罰任務(wù)[5],模型結(jié)合罪名問題和相關(guān)法條,法條被充分利用,但對法條的監(jiān)督信息存在一定限制。該文利用CNN+GRU-Attention 技術(shù),充分利用罪名信息并且對監(jiān)督信息沒有限制。
數(shù)據(jù)來源于法研杯大賽,約有20 萬條文本數(shù)據(jù)。單項罪名約有12 萬條,占訓(xùn)練集78%。出現(xiàn)次數(shù)最多的罪名數(shù)量約為次數(shù)最少的2 000 倍,因此數(shù)據(jù)分布不均勻,此外數(shù)據(jù)中有較多易混淆罪名,易混淆罪名將影響模型性能,因此對易混淆罪名的處理是數(shù)據(jù)處理的關(guān)鍵。
針對易混淆罪名,該文采用提取要素維度關(guān)鍵特征的方式來區(qū)分易混淆罪名,易混淆罪名的處理流程如圖1 所示,以易混淆罪名“搶奪”“搶劫”為例,對整個處理流程進行分析。
圖1 易混淆罪名處理流程
第一步:分析易混淆罪名法條:搶劫罪指暴力對人實施或者對人加物實施,搶奪罪指的是暴力對物實施。第二步:提取易混淆罪名要素。搶劫罪要素:暴力+人/暴力+人+物;搶奪罪要素:暴力+物。通過正則表達式對文書提取“暴力”的詞匯,“受害人”詞匯以及“物品”詞匯,將提取的“暴力+人+物”設(shè)置為搶劫罪要素attr1,將提取的“暴力+物”設(shè)置為搶奪罪要素attr2。第三步:處理易混淆罪名要素。方式一:直接由Word2Vec 轉(zhuǎn)化為詞向量,在輸入模型的全連接層中參與模型訓(xùn)練,提高模型對易混淆罪名的分類準(zhǔn)確性。方式二;將要素與罪名進行強綁定,每個要素設(shè)定三個值,分別為命中、不命中、不確定。將輸入樣本在要素上作三分類預(yù)測。
該文提出CNN+GRU-Attention 網(wǎng)絡(luò)的判罰模型,具有卷積神經(jīng)網(wǎng)絡(luò)和GRU 網(wǎng)絡(luò)的共同特點[6-7]。模型結(jié)構(gòu)如圖2 所示。
圖2 CNN+GRU-Attention模型結(jié)構(gòu)圖
輸入層:司法事實描述X={A1,A2,…,An},向量化后X={x1,x2,…,xn}。卷積層采用多尺寸卷積核,一個卷積核的特征輸出如式(1)所示,高度為h,寬度為k,對h個詞進行卷積操作。
其中,w是值矩陣參數(shù),b是偏置項,x是輸入的特征值,表示第i行到第i+h-1 行的局部特征,Si為輸出的特征值,多個卷積核可得到多個特征。
池化層:池化層采取了最大池化操作,池化后的特征如式(2)所示:
GRU 層:采用雙向GRU 網(wǎng)絡(luò)在編碼層對數(shù)據(jù)進行雙向編碼,如式(3)所示,編碼后生成隱層向量,將隱層向量進行拼接,如式(5)所示,拼接后向量hi融合了司法文書的上下文語義信息。
Attention 機制:將GRU 層編碼后生成的特征向量與注意力層的權(quán)值相乘,將每條文本對應(yīng)罪名的詞級特征整合為句級特征。將hi輸入到Attention中,Attention 處理后輸出中間向量mi,如式(6)所示:
mc是實際向量,輸出向量mi與實際向量余弦相似度,求取各個詞語的注意力權(quán)重為αi,αi的計算公式如式(7)所示:
根據(jù)權(quán)重系數(shù)對輸出的拼接向量hi進行加權(quán)求和得到Hi,將求和得到的多個向量進行拼接,拼接后的矩陣為H,H如式(8)所示:
全連接層:全連接層采用ReLu、Dropout,并且加入了易混淆罪名要素,增加了模型對易混淆罪名區(qū)分的準(zhǔn)確率。
輸出層:經(jīng)過softmax 函數(shù)運算后得到判罰結(jié)果。在輸出層加入損失函數(shù)來解決罪名分布不均勻問題。focal loss 主要通過降低常見罪名權(quán)重,使模型關(guān)注于罕見罪名,進而解決罪名分布不均勻的情況。focal loss 是在交叉熵loss 基礎(chǔ)上進行了改進[8-9],該文的判罰模型本質(zhì)是多標(biāo)簽文本分類,因此將二分類focal loss展開為多標(biāo)簽分類focal loss公式如(9)所示:
其中,K是樣本總數(shù)目,K1是lFL1時樣本數(shù)目。focal loss 的最終損失為202 種罪名損失加權(quán)值總和。模型參數(shù)較多增加了負擔(dān)[10-12],因此需分組來設(shè)置參數(shù),具體參數(shù)如表1 所示。
表1 focal loss參數(shù)設(shè)置
優(yōu)化模型具體參數(shù)設(shè)置如表2 所示。
表2 優(yōu)化模型參數(shù)配置
將加入交叉熵loss 與focal loss 的模型進行性能對比,如表3 所示。
表3 模型性能對比實驗
采用focal loss 各項評估指標(biāo)均高于交叉熵loss,Accu 提升了1.82%,Pre 提升了0.45%,Rec 提升了1.62%,F(xiàn)1 提升了1.62%,因此focal loss 能夠使模型性能得到提升[13-14]。因為focal loss 函數(shù)增加了罕見罪名權(quán)重,減少了常見罪名權(quán)重,令模型對難以訓(xùn)練的標(biāo)簽進行學(xué)習(xí),從而提升模型性能[15-16]。加入其他司法判罰模型進行對比分析,各F1 值模型對比結(jié)果如表4 所示。
表4 各模型F1值對比
表4 加入了文獻[16]中的模型,通過對比分析得出如下結(jié)論:Attention-CNN 模型F1 值大 于CNN 模型,則加入了注意力機制模型能夠獲得更多語義信息。該文的模型F1 值最大,其次為CNN 類模型,最后是RNN 類模型,所以罪名預(yù)測時更多依據(jù)文書中的關(guān)鍵詞,而不是上下文語境信息。
系統(tǒng)總體設(shè)計流程圖如圖3 所示。
圖3 系統(tǒng)總體設(shè)計流程圖
1)文本顯示。點擊頁面文檔,文件名將被傳回后臺,在后臺存儲路徑中找到該文件并進行讀取,將讀取后內(nèi)容顯示到前端頁面。2)文本分類。讀取數(shù)據(jù)并且調(diào)用司法判罰模型進行分類,分類結(jié)果顯示到前端頁面。3)文本生成。點擊下載后,在本地新建文件,將已分類的文本寫入到新建文件中,則在本地存儲了罪名文書文件。
用戶選中目標(biāo)件,右側(cè)顯示出文件名以及文件內(nèi)容。點擊“分類”按鈕,分類結(jié)果被展示出來,如圖4 所示。用戶點擊“設(shè)置”選項,進入個人信息頁面,點擊“信息修改”按鈕即可完成修改,如圖5所示。罪名分類文書生成如圖6 所示,將分類后的文書以及分類結(jié)果生成文檔,點擊下載按鈕下載到本地。
圖4 罪名分類頁面
圖5 用戶個人信息頁面
圖6 罪名分類文書下載頁面
該文采用提取要素維度關(guān)鍵特征方式區(qū)分易混淆罪名,模型輸出層加入focal loss 函數(shù),解決了數(shù)據(jù)不均衡問題,通過實驗對比得出:文中模型加入focal loss,相比于交叉熵函數(shù)Accu、Pre、Rec、F1 性能提升了1.82%、0.45%、1.62%、1.62%。最后建立了司法判罰系統(tǒng),實現(xiàn)了罪名分類以及罪名分類文書生成功能,通過測試驗證了系統(tǒng)的有效性。