孫倩,秦永彬,2,黃瑞章,2,劉麗娟,陳艷平,2
1.貴州大學計算機科學與技術(shù)學院,貴州 貴陽 550025;2.公共大數(shù)據(jù)國家重點實驗室,貴州 貴陽 550025;3.貴州師范學院,貴州 貴陽 550018
隨著智能司法建設的穩(wěn)固推進,人工智能技術(shù)逐漸滲透到法院審判工作中。法律查詢、信息檢索等智能輔助辦案功能被不斷地探索和實踐,極大地促進了審判體系的現(xiàn)代化。當前,法院在長期的司法實踐中積累了大量的裁判文書,裁判文書是法院的審理過程和結(jié)果的載體,其中蘊含了重要的案情信息和隱藏的知識價值。利用裁判文書的案情事實部分,發(fā)現(xiàn)隱含的特征信息,是支撐智慧法院輔助辦案的核心,是提升法院工作效率和保障司法公平的重要途徑[1]。
罪名預測是智能司法輔助辦案中的重要任務。在具體的司法實踐中,法官通常從案情事實出發(fā),依據(jù)案情特征及其邏輯關(guān)系進行判定。在此過程中,案件要素發(fā)揮了重要作用。案件要素是指案情事實描述中的關(guān)鍵行為詞及與行為相關(guān)的要素。
案例1故意殺人罪:“XX市人民檢察院指控,被告人黨某在家中因生活瑣事與其婆婆吳某發(fā)生爭執(zhí),在爭吵與打斗過程中,黨某持磚頭擊打吳某頭部,致其當場死亡?!?/p>
案例2搶劫罪:“XX市人民檢察院指控,被告人王某某竄至X市X區(qū)X路X超市門口,持刀對被害人段某某進行威脅,從段某某包內(nèi)搶走現(xiàn)金400余元后,逃至X小區(qū)旁一網(wǎng)吧內(nèi),王某某在網(wǎng)吧內(nèi)被公安民警抓獲?!?/p>
案例1和案例2分別是故意殺人罪和搶劫罪的案情事實部分。案例1是由于雙方發(fā)生爭執(zhí),行為人黨某故意使用兇器擊打被害人吳某頭部,導致被害人吳某死亡。案例2是由于行為人王某某單方面原因,持刀威脅被害人并搶走財物。兩個案例在犯罪起因和經(jīng)過、適用罪名、包含案件要素等方面均不同。由此可見,案件要素的獲取可以實現(xiàn)案情事實和判決結(jié)果的關(guān)聯(lián)。此外,案情事實中通常包含多個行為動作,其中某些行為對判決結(jié)果產(chǎn)生的影響不大。如何找到句子的中心行為要素并建立關(guān)聯(lián)關(guān)系對于案情過程表示有重要影響。
因此,本文將犯罪過程表示為一系列以“行為”為核心且具有時序關(guān)系的案件要素,即案件要素序列,并融合文本語義表示,實現(xiàn)結(jié)合案件要素序列的罪名預測。本文主要貢獻如下。
● 本文提出了一種結(jié)合案件要素序列的罪名預測方法。該方法利用圖卷積神經(jīng)網(wǎng)絡(graph convolutional network,GCN)模型獲取案件要素序列表示,利用卷積神經(jīng)網(wǎng)絡(convolutional neural network,CNN)模型獲取文本語義表示,然后融合進行罪名預測。
● 在實驗部分,通過與現(xiàn)有方法進行對比,融合案件要素序列表示能顯著提高罪名預測性能,本文方法的有效性得到驗證。特別地,該方法對易混淆罪名區(qū)分也有良好的表現(xiàn)。
作為法律審判預測的重要任務之一,罪名預測指根據(jù)給定的案件預測罪名。在早期罪名預測任務中,大部分工作使用統(tǒng)計分析方法。后來量化分析[2]和關(guān)聯(lián)分析[3]被提出,但這類方法局限性較強,只針對特定領(lǐng)域的數(shù)據(jù)集。
隨著機器學習的發(fā)展,罪名預測任務可以分為基于特征工程和基于神經(jīng)網(wǎng)絡的方法。Lin W C等人[4]重點討論了強盜罪和恐嚇取財罪,并定義了21種法律要素標簽,利用這些要素標簽進行罪名分類。Liu Y H等人[5]提出一種基于文本挖掘的方法,使用支持向量機(support vector machine,SVM)進行分類。在人工智能技術(shù)的加持下,法律研究逐漸變得智能化、自動化。Jiang X等人[6]通過深度強化學習方法提取事實部分的依據(jù)并將該依據(jù)信息融入分類模型,從而提高準確性。Kang L Y等人[7]針對刑事案件的事實部分,根據(jù)罪名的定義來創(chuàng)建輔助事實以擴充其表示,從而提高預測準確率。Yang X T等人[8]從事實描述中提取出相關(guān)片段進行特征增強,將罪名作為監(jiān)督標簽進行預測。劉宗林等人[9]從事實描述中抽取有助于區(qū)分易混淆罪名的指示性罪名關(guān)鍵詞,從而解決罪名預測任務中的罪名易混淆問題。除了使用案情事實部分,相關(guān)研究者還引入案件相關(guān)信息來輔助預測。Luo B F等人[10]提出基于注意力的神經(jīng)網(wǎng)絡方法,并引入法條信息進行罪名預測。Hu Z K等人[11]針對低頻罪名和易混淆罪名引入10個有代表性的屬性進行區(qū)分,利用注意力機制生成與屬性相關(guān)的事實表示,依據(jù)不同屬性進行預測。He C Q等人[12]提出一種序列增強的膠囊網(wǎng)絡模型來解決低頻罪名,并設計一個注意力殘差單元來提供輔助信息。敖紹林等人[13]利用三元組損失(triplet loss)技術(shù)調(diào)節(jié)CNN,從而更好地學習案件表示的語義特征向量。當前研究大多采用增強案情事實信息或引入輔助信息的方式。通過分析真實案例發(fā)現(xiàn)案件要素和行為發(fā)生順序?qū)τ趯徟薪Y(jié)果有顯著影響,但上述研究沒有考慮該情況。在司法要素方面,黃輝等人[14]提出了基于BERT閱讀理解框架的司法要素抽取方法,該方法建立了輔助問句和裁判文書之間的語義聯(lián)系,增強了模型的學習能力。張虎等人[15]通過抽取判決要素,結(jié)合法條與語義差異性進行罪名預測。
近年來,圖神經(jīng)網(wǎng)絡(graph neural network,GNN)被作為圖數(shù)據(jù)挖掘領(lǐng)域的熱門研究方向之一,相關(guān)研究者將圖神經(jīng)網(wǎng)絡與自然語言處理任務結(jié)合并取得了一定的成果。在此過程中,他們提出了文本數(shù)據(jù)的多種構(gòu)圖方式,將文本分類任務轉(zhuǎn)換為圖分類或節(jié)點分類任務。Yao L等人[16]將文檔和詞作為圖節(jié)點,對文本語料庫構(gòu)建文本圖,將文本分類問題看作節(jié)點分類問題。Zhang Y F等人[17]認為每個文檔都有自己的結(jié)構(gòu)圖,提出一種基于圖神經(jīng)網(wǎng)絡的歸納式文本分類方法,將文本分類轉(zhuǎn)換為圖分類任務。Hu L M等人[18]提出一種異質(zhì)圖注意力(heterogeneous graph attention,HGAT)網(wǎng)絡來學習短文本的表示并進行分類。Huang L Z等人[19]提出了一個基于圖神經(jīng)網(wǎng)絡的模型,該模型能為每個輸入文本生成一個文本級別的圖。在司法領(lǐng)域,Xu N等人[20]提出一種圖神經(jīng)網(wǎng)絡來自動學習易混淆法律文本間的細微差別,并設計了一種利用學習到的差異從事實描述中提取有效的區(qū)別特征的注意力機制。
上述研究表明,圖神經(jīng)網(wǎng)絡對文本處理有積極意義。然而在司法研究領(lǐng)域,圖神經(jīng)網(wǎng)絡的應用較少。由于每個案件文本都可以表示為圖結(jié)構(gòu),為了更好地捕獲案件事實特征,本文將圖神經(jīng)網(wǎng)絡與司法數(shù)據(jù)結(jié)合,以此來聚合關(guān)聯(lián)案件的表示,捕獲更多潛在信息。
本文的罪名預測模型主要分為4個部分,其結(jié)構(gòu)如圖1所示。第一部分,案件要素圖構(gòu)建。針對案件要素識別中存在的缺乏訓練數(shù)據(jù)集、識別困難等問題,采用基于BERT(bidirectional encoder representation from transformer)模型[21]的案件要素識別方法進行要素識別,并根據(jù)案件要素及要素間的關(guān)聯(lián)關(guān)系構(gòu)建案件要素圖。第二部分,案件要素序列表示。本文引入雙層圖卷積神經(jīng)網(wǎng)絡模型對案件要素圖進行建模,捕獲案件間的潛在關(guān)系,形成案件要素序列表示。第三部分,文本語義表示。根據(jù)模型特點,使用文本卷積神經(jīng)網(wǎng)絡(TextCNN)模型[22]捕獲文本語義特征表示。第四部分,模型輸出。將文本語義特征與案件要素序列特征融合,并經(jīng)過全連接(fully connected,F(xiàn)C)層輸出。
圖1 罪名預測模型結(jié)構(gòu)
在司法案例數(shù)據(jù)中,每個案件都有自己的圖結(jié)構(gòu)。本文將案件要素作為圖節(jié)點,案件要素間的關(guān)聯(lián)關(guān)系作為邊,構(gòu)建案件要素圖。從案情事實中獲取案件要素需要著重考慮3個問題。首先,刑事案件犯罪過程復雜,案件要素之間關(guān)系眾多,如何捕獲要素間的特征關(guān)系對于案情事實表示較為關(guān)鍵;其次,在案情事實的單個句子中可能出現(xiàn)多個行為要素,極大地增加了面向單一行為要素識別的訓練壓力;最后,由于司法數(shù)據(jù)的特點,缺乏相關(guān)訓練數(shù)據(jù)集。
針對以上問題,本文使用刑事判決書中的事實部分,經(jīng)過人工標注形成案件要素數(shù)據(jù)集。結(jié)合中文謂語動詞標注方法的規(guī)則及句法要素識別方法[23-24],本文使用BERT-CRF框架實現(xiàn)案件要素識別。BERT的雙向Transform框架能很好地融合上下文信息,增加的條件隨機場(conditional random field,CRF)層可以捕獲標簽間的概率轉(zhuǎn)換信息。本文將案件要素識別任務轉(zhuǎn)換為序列標注任務。
本文采用BERT作為主要模型,模型的輸入為對應的詞向量、位置向量、句向量3個嵌入特征。的輸入向量可以表示為:
經(jīng)過BERT模型后將向量表示輸入CRF層進行標簽預測。本文使用“BIO”標簽體系預測所屬標簽:
其中,“B-ε”表示該元素是案件要素的開始字符;“I-ε”表示該元素是案件要素的中間字符,也可以表示單個詞語;“O”表示該元素不屬于任何類型。ε∈{SUB,ADV,PRE,RAI,TEM,LOC},“SUB”表示犯罪主體;“ADV”表示犯罪行為描述;“PRE”表示犯罪行為;“RAI”表示犯罪行為導致的結(jié)果;“TEM”表示犯罪時間;“LOC”表示犯罪地點。由于單字形式不利于案件要素圖構(gòu)建,本文在識別模型輸出后增加了一個數(shù)據(jù)后處理操作,即將當前B標簽位置開始到下一個B標簽位置結(jié)束之間的漢字進行拼接。經(jīng)過數(shù)據(jù)后處理后,得到被包含在各句子中的案件要素集合,最終形成案情事實kd包含的案件要素kdV:
其中,h表示句子中存在的案件要素數(shù)量。進一步地,去除案件要素集合V中重復的案件要素,得到不重復案件要素集合V′:
其中,r表示案例數(shù)據(jù)集包含的不重復案件要素個數(shù)。本文將案件要素作為節(jié)點,案件要素之間存在的關(guān)聯(lián)關(guān)系作為邊。具體來說,對于案件要素vi、vj∈V′,本文依據(jù)案件要素的共現(xiàn)信息構(gòu)建邊,邊的權(quán)重通過點互信息(pointwise mutual information,PMI)計算,這一過程可以表示為:
其中,eij表示案件要素vi與vj之間的邊,當vi=vj時,eij表示當前節(jié)點的自環(huán)邊。PMI主要用于計算詞語間的語義相似度,計算過程可以表示為:
若 PMI(vi,vj)為正,則表示語義相關(guān)度較高;若PMI(vi,vj)為負,則表示相關(guān)度較低;若PMI(vi,vj)為0,則表示不相關(guān)。面向整個案例數(shù)據(jù)集D,案件要素之間的邊集合E可以表示為:
為了后續(xù)獲取節(jié)點自身的特征信息,每個案件要素節(jié)點都存在一個自環(huán)邊。本文將案件要素作為圖節(jié)點,案件要素之間的關(guān)聯(lián)關(guān)系作為邊,構(gòu)建案件要素圖G= (V′,E)。由于每個案件都有屬于自身的圖結(jié)構(gòu),案件要素圖G可被認為由K個案件要素子圖組成,即:
GCN可以利用邊和節(jié)點的信息聚合生成新的節(jié)點表示,從而對圖結(jié)構(gòu)數(shù)據(jù)信息進行有效提取,GCN在圖表示學習領(lǐng)域具有強大的優(yōu)勢。從圖節(jié)點角度出發(fā),節(jié)點的學習過程是將自身的特征信息傳送給鄰居節(jié)點,再將鄰居節(jié)點的特征信息收集,以此來聚合節(jié)點間的特征信息。結(jié)合案件犯罪過程及案件要素圖的構(gòu)建方式,本文利用雙層GCN模型進行序列建模。
在GCN中當前隱藏層到下一個隱藏層對節(jié)點的特征變換可以表示為:
其中,W(l)、b(l)分別表示在l層的權(quán)重、截距;σ表示非線性變換;X(l)表示在l層的節(jié)點特征;當層數(shù)為零時,X0表示初始節(jié)點狀態(tài);A為鄰接矩陣,可以表示為:
其中,Aij=eij。為了相對保持數(shù)據(jù)間關(guān)系并獲取自身節(jié)點特征信息,對鄰接矩陣進行歸一化處理并加入節(jié)點自環(huán)信息。該過程可表示為:
其中,cij表示歸一化因子。案情描述dk在第l+1層上的特征可以表示為:
根據(jù)dk的案件要素特征集合形成其案件要素序列表示kdL。
文本語義表示使用了TextCNN模型,該模型網(wǎng)絡結(jié)構(gòu)簡單且能獲得不同抽象層次的語義信息。TextCNN主要分為輸入層、卷積層、池化層和全連接層。在卷積層進行特征向量計算時,設置不同尺寸的卷積核實現(xiàn)局部特征的捕捉,使得提取到的特征向量具有代表性。
其中,W∈Rhm為濾波器尺寸,b是一個偏置常量,f是非線性函數(shù)。本文通過設置不同大小的濾波器得到dk的多個特征表示C= [c1,c2,…,cT-h(huán)+1]。為了獲取有效特征,本文采用最大池化獲得案情事實kd的文本語義表示kdC。該過程可以表示為:
圖卷積神經(jīng)網(wǎng)絡擅于捕獲全局信息,除了挖掘自身節(jié)點信息,還可以獲取相鄰節(jié)點關(guān)系蘊含在圖結(jié)構(gòu)中的其他信息。TextCNN可以較好地捕捉句子的局部信息,但在卷積池化操作中容易丟失文本序列信息??紤]到兩個模型的特點,為了豐富案情事實表示,本文將案件要素序列表示kdL與文本語義表示kdC融合輸入全連接層,以獲取其最終表示p。該過程可形式化表示為:
最后輸出到Softmax層中預測出其類別z,該過程可形式化表示為:
本文使用的案件要素數(shù)據(jù)集含有6類案件要素,共計46000個標簽。罪名預測數(shù)據(jù)集來源于貴州省某人民法院的搶劫、搶奪、詐騙、敲詐勒索、危險駕駛和交通肇事6類案件。為了驗證案件要素序列對罪名預測的效果,本文罪名預測數(shù)據(jù)集中的罪名均為單罪名。本文首先從6類案件中均勻抽取10000個案件作為實驗原始數(shù)據(jù);然后使用正則匹配方式提取案情事實部分,刪除缺失、無效、重復的案情事實文本,修正亂碼等情況,并對數(shù)據(jù)進行脫敏和清洗;最后將案情事實作為內(nèi)容,其對應罪名作為標簽,形成罪名預測數(shù)據(jù)集。該罪名預測數(shù)據(jù)集涉及6類罪名,共有8690個案情事實。其中,搶劫罪1544個、搶奪罪1546個、詐騙罪1656件、敲詐勒索罪725個、危險駕駛罪1547個、交通肇事罪1672個。
為了更好地體現(xiàn)模型實際表現(xiàn),在保證標簽分布均勻的情況下,本文將罪名預測數(shù)據(jù)集按照7:2:1的比例劃分為訓練集、測試集和驗證集。
由于模型輸入層需要輸入一個定長的文本序列,而案情事實長度表達不固定,本文對數(shù)據(jù)集中的文本分布長度進行統(tǒng)計,發(fā)現(xiàn)超過90%的案情文本字符數(shù)量集中在區(qū)間[100,500],如圖2所示。綜合分析文本長度分布情況,本文將400個字符作為數(shù)據(jù)輸入定長。
圖2 數(shù)據(jù)集文本長度分布
本文采用機器學習算法中的常用評測指標(即精確率、召回率、綜合評價指標(F1))對實驗結(jié)果進行分析和評判。另外,宏平均(macro-average)和微平均(micro-average)也是衡量文本分類器的指標。宏平均是計算每一類別指標值的平均值,微平均是結(jié)合不同類別指標值的貢獻來計算平均值。綜合本文罪名預測數(shù)據(jù)集的類別和數(shù)量分布情況,本文實驗結(jié)果均使用宏平均計算產(chǎn)生。
為了驗證所提方法的有效性,本文設計了3組對比實驗。實驗一使用本文所提方法與SVM、TextRNN等模型進行對比;實驗二是用于驗證案件要素序列有效性的消融實驗;實驗三使用本文方法在易混淆罪名預測上進行實驗分析。
(1)模型對比實驗
為了驗證結(jié)合案件要素序列的罪名預測方法的有效性,本文將所提方法與傳統(tǒng)方法進行對比。TFIDF_SVM采用詞頻逆向文檔頻率(term frequencyinverse document frequency,TFIDF)進行文本特征抽取,再使用SVM進行分類。TextRNN采用雙層長短期記憶(long short-term memory,LSTM)網(wǎng)絡獲取文本特征。采用單層神經(jīng)網(wǎng)絡結(jié)構(gòu)的FastText對文本進行bi-gram和trigram特征提取。TextCNN采用多個不同尺寸的卷積和最大池化進行分類。本文實現(xiàn)了兩個融合案件要素序列表示的模型,TextRNN_seq表示在TextRNN的基礎(chǔ)上引入案件要素序列表示,TextCNN_seq表示在TextCNN的基礎(chǔ)上引入案件要素序列表示。除了TFIDF_SVM模型,其余實驗模型中的詞嵌入維度均為400維。TextCNN的卷積核尺寸為(2,3,5)。
實驗結(jié)果見表1,本文方法的實驗性能明顯優(yōu)于傳統(tǒng)方法。由于案情事實長度表達不固定,有些案情事實長度較長,TextRNN模型在選取最后一個時間步的向量表示時容易對前面的部分信息造成遺忘。FastText由于模型結(jié)構(gòu)特點,容易造成文本結(jié)構(gòu)信息丟失問題。而TextCNN模型能對文本的局部特征進行有效感知,在此類數(shù)據(jù)上表現(xiàn)優(yōu)異。進一步地,本文將案件要素維度的案情事實表示與文本語義表示進行融合實驗。實驗結(jié)果表明,與傳統(tǒng)方法相比,融合案件要素序列方法的實驗結(jié)果均有一定提升,TextCNN_seq模型取得了最優(yōu)效果。其主要原因是案件要素序列的加入能獲取案件關(guān)鍵特征,結(jié)合TextCNN提取的文本語義特征,從多維度豐富案情事實表示,實現(xiàn)案情事實的深層分析。
表1 罪名預測實驗結(jié)果
(2)消融實驗
本文對預測錯誤的案例數(shù)據(jù)進行輸出分析,發(fā)現(xiàn)錯誤案例數(shù)據(jù)中普遍存在案情事實文本較短、案件行為要素較少的情況。為了驗證行為要素的關(guān)鍵性,本文對案件要素序列的行為要素進行了消融實驗。簡單來說,在案件要素圖構(gòu)建過程中故意丟失全部行為要素后再進行實驗,以達到實驗目的。
為了充分表達行為要素對實驗結(jié)果的影響,本文將行為要素作為控制變量共進行了3組不同的實驗。第一組實驗使用TextCNN,表示僅使用案情事實文本特征;第二組實驗使用TextCNN_seq,表示在第一組實驗的基礎(chǔ)上融合了完整的案件要素序列;第三組實驗使用TextCNN_seq_nopre,表示在第一組實驗的基礎(chǔ)上融合了缺失行為要素的案件要素序列。
實驗結(jié)果見表2,TextCNN_seq相比,TextCNN_seq_nopre的性能下降明顯。其主要原因是行為要素的缺失導致案件間重復要素急劇減少,在使用圖卷積神經(jīng)網(wǎng)絡對案件要素序列建模學習時不能很好地聚合關(guān)聯(lián)案件的特征,使得獲取到的案情事實特征不具備足夠的代表性。由此可見,行為要素的存在可以學習潛在關(guān)聯(lián)信息,更好地獲取案件關(guān)鍵特征。另外,TextCNN_seq_nopre的性能低于TextCNN。由此表明,大量非關(guān)鍵特征的加入使得特征變得稀疏,導致實驗性能不佳。
表2 消融實驗結(jié)果
(3)易混淆罪名預測實驗
為了驗證本文所提方法預測易混淆罪名的性能較好,本文選取了兩組常見的易混淆罪名進行實驗,即交通肇事罪和危險駕駛罪。
實驗結(jié)果見表3,本文所提方法對易混淆罪名的預測性能有明顯提升。實現(xiàn)結(jié)果表明,通過對案件要素的抽取,建模學習案件要素序列表示,在獲取案件獨有表示的同時使犯罪結(jié)果更加清晰,這對于易混淆罪名的區(qū)分具有積極意義,能提升易混淆罪名的預測性能。
表3 易混淆罪名實驗結(jié)果
在當前的罪名預測研究中,主要使用文本內(nèi)容或引入輔助信息進行預測,往往忽略了關(guān)鍵案件要素。針對此問題,本文將案件要素引入罪名預測任務,提出了一種結(jié)合案件要素序列的罪名預測方法,從案件要素和文本內(nèi)容維度豐富案情事實表示,深度挖掘案情事實潛在語義結(jié)構(gòu)。本文在單罪名情況下驗證了所提方法的有效性,并凸顯了案件要素序列的重要性。在下一步研究工作中,筆者將在多罪名情況下對所提方法進行探索驗證。