張 晗,鄭偉昊,竇志成,文繼榮
1.中國人民大學(xué) 信息學(xué)院,北京 100872
2.大數(shù)據(jù)管理與分析方法研究北京市重點實驗室,北京 100872
3.中國人民大學(xué) 高瓴人工智能學(xué)院,北京 100872
4.數(shù)據(jù)工程與知識工程教育部重點實驗室,北京 100872
近年來,以機器學(xué)習(xí)和深度學(xué)習(xí)為代表的人工智能技術(shù)發(fā)展迅速,研究人員以及工業(yè)界將人工智能技術(shù)應(yīng)用到各種不同的領(lǐng)域和實際場景,例如醫(yī)療領(lǐng)域的腫瘤影像診斷、金融領(lǐng)域的股票預(yù)測和城市規(guī)劃領(lǐng)域的城市計算等。人工智能技術(shù)促進了各種研究和工業(yè)領(lǐng)域的智能化的發(fā)展。人工智能在各個領(lǐng)域交叉融合發(fā)展的趨勢促使利用人工智能等技術(shù)構(gòu)建法律智能以解決法律任務(wù)得到學(xué)界的逐漸認(rèn)同。深度學(xué)習(xí)和自然語言處理等人工智能技術(shù)在信息檢索、文本分類等研究領(lǐng)域取得了顯著成果,一些研究工作進而將這些技術(shù)應(yīng)用到法律領(lǐng)域,法律任務(wù)智能化引起了學(xué)界甚至工業(yè)界的廣泛關(guān)注。司法領(lǐng)域全國法律裁判文書網(wǎng)提供了大量真實且格式規(guī)范的司法案例和數(shù)據(jù),進一步促進了法律任務(wù)智能化的研究和應(yīng)用。
目前法律任務(wù)智能化已經(jīng)應(yīng)用于各種場景中,例如司法案件檢索、法律法條的檢索、案情法律依據(jù)推薦、司法問答、自動定罪、自動量刑、裁判文書自動生成等[1]。法律領(lǐng)域的諸多任務(wù)主要是基于文本進行分析和研究,并且需要進行語義層面的分析,主要涉及自然語言處理(NLP)技術(shù),例如自動定罪涉及文本分類、文本語義分析等技術(shù)。當(dāng)前深度學(xué)習(xí)為代表的NLP技術(shù)在諸多需要語義分析的任務(wù)中取得顯著成果,例如閱讀理解、問答等,也促進了法律任務(wù)智能化的研究。
法律任務(wù)智能化不僅可以提升司法人員辦案的效率,例如卷宗檢索和類案推薦等技術(shù)可以幫助司法人員快速找到相關(guān)案件和法律法條從而提升司法人員工作效率;它也可以一定程度上提升司法公正性,例如基于深度學(xué)習(xí)定罪等技術(shù)通常是基于大量歷史案件的信息學(xué)習(xí)定罪的特征以預(yù)測罪名,一定程度上可以降低司法人員出現(xiàn)人為錯誤的可能性。
法律任務(wù)智能化中一個重要任務(wù)是法律判決預(yù)測。在法律領(lǐng)域中,通常包含定罪和量刑兩個主要的任務(wù)。定罪是司法機關(guān)為懲罰犯罪、保障人權(quán),依據(jù)法律規(guī)定,根據(jù)證據(jù)認(rèn)定行為事實并進而認(rèn)定犯罪嫌疑人和被告人的行為罪與非罪、此罪與彼罪、重罪與輕罪及罪數(shù)的活動[2-3],例如盜竊罪與故意殺人罪的確定。量刑是指司法機關(guān)在定罪的基礎(chǔ)上,考慮刑事責(zé)任的輕重,依據(jù)法律規(guī)定對犯罪人是否判處刑罰或者適用某種非刑罰處理方式,判處何種刑罰和刑期以及是否執(zhí)行某種刑罰的審判活動[2,4]。例如,犯罪嫌疑人的年齡是量刑時的參考情節(jié)之一,同一種罪行且其他犯罪方式一致時,未成年人的刑罰會比成年人輕,低于14歲的未成年人會更輕。
計算機領(lǐng)域中法律判決預(yù)測任務(wù)通常包括法條推薦、定罪預(yù)測和刑期預(yù)測。該任務(wù)是在給定一個案件的案情描述時,自動預(yù)測犯罪嫌疑人涉及的相關(guān)法條和罪名以及判處的刑期。相關(guān)法條是與犯罪嫌疑人的案情事實相關(guān)的刑法等法律條文,罪名是法律條文中明確規(guī)定的罪名,刑期預(yù)測通常是對犯罪人的主刑的裁量。主刑也稱為基本刑,是我國法律對犯罪人主要的處罰方式,一般包括管制、拘役、有期徒刑、無期徒刑和死刑。例如,圖1中林某濫用職權(quán)案中,給定經(jīng)司法機關(guān)偵查確認(rèn)的案情描述,模型應(yīng)自動推薦的相關(guān)法條為刑法第三百九十七條,此外模型應(yīng)自動預(yù)測出犯罪嫌疑人林某的罪名為濫用職權(quán)罪,林某的刑期為有期徒刑2年(24個月)。
圖1 司法領(lǐng)域的判決示例Fig.1 Example of judgement of criminal case in judicial field
早期法律判決預(yù)測相關(guān)研究工作采用統(tǒng)計和概率的方法(Keown等人[5]、Nagel等人[6]、Segal等人[7]、Lauderdale等人[8]以及Ulmer等人[9])會損失案情描述信息和刑期預(yù)測情節(jié)等信息?;谌斯?gòu)建特征的機器學(xué)習(xí)研究工作如林琬真等人[10]和高菲等人[11]提升了自動判決相關(guān)任務(wù)的準(zhǔn)確率,但是存在損失案情描述語義信息等問題。針對早期工作的問題,一些研究者提出了一些基于深度學(xué)習(xí)的法律判決預(yù)測方法,如Luo等人[12]、Hu等人[13]、Zhong等人[14]、Xu等人[15]的工作。這些工作多是基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)或者雙向循環(huán)神經(jīng)網(wǎng)絡(luò)(LSTM)等神經(jīng)網(wǎng)絡(luò)模型對案情描述進行編碼,利用注意力機制將法條信息融入案情表示,或考慮三個子任務(wù)之間的關(guān)系或法條之間的差異來提升法律判決預(yù)測任務(wù)的性能。雖然這些基于深度學(xué)習(xí)的研究工作在法律判決預(yù)測任務(wù)上取得了很好的效果,但是這些工作未考慮利用法律文本本身的多層層次化信息。
如圖2所示,刑法法律文本包含多層結(jié)構(gòu)。以刑法第三百九十七條為例,在法條大類的層次上該法條屬于瀆職罪,在罪名的層次上該法條包含兩個罪名:濫用職權(quán)罪和玩忽職守罪,在刑期的層次上濫用職權(quán)罪和玩忽職守罪的刑罰標(biāo)準(zhǔn)都有三年以下有期徒刑或者拘役和三年以上七年以下有期徒刑等。
圖2 法條的層次化信息示例Fig.2 Hierarchical information of law
針對該問題,本文引入了法律文本的多層層次化信息用于法律判決預(yù)測任務(wù)。具體來說,本文首先對法律文本的多層層次化信息進行預(yù)處理,生成法條、罪名和刑期三個層次,并利用協(xié)同注意力機制將三個層次的信息融入案情描述中,分別得到每個子任務(wù)融合不同層次的法律文本信息的案情描述表示,并按照子任務(wù)之間的順序來預(yù)測司法判決結(jié)果。
本文主要的貢獻如下:(1)考慮到法律文本具有多層結(jié)構(gòu)信息,針對不同的子任務(wù)引入不同層次的法律文本信息并提出一種融合案情描述與法律文本多層結(jié)構(gòu)信息的的神經(jīng)網(wǎng)絡(luò)模型;(2)在真實數(shù)據(jù)集上進行大量實驗并與現(xiàn)有最好的深度神經(jīng)網(wǎng)絡(luò)模型進行比較和分析,實驗結(jié)果表明本文提出的模型優(yōu)于當(dāng)前最好的法律判決預(yù)測模型,這證明了本文提出的模型的有效性。
法律任務(wù)智能化目前相關(guān)的研究方向有許多,如智能法律問答、摘要生成、法律閱讀理解以及法律判決預(yù)測等研究方向。傳統(tǒng)人工的法律問答一般需要專業(yè)的律師針對提出的問題查詢相關(guān)法律法規(guī)并結(jié)合專業(yè)知識進行分析和解釋,通常費用較高且專業(yè)律師資源有限使得民眾的需求無法滿足,因而Fawei等人[16]提出了一個智能化的法律問答系統(tǒng),利用問題中相關(guān)的案件信息和法律法規(guī)并結(jié)合法律推理進行分析和回答。Long等人[17]根據(jù)問題中的案件信息、法律法規(guī)及問題請求等信息通過閱讀理解模型來實現(xiàn)法律問題的判定和回答。Xiao等人[18]提出利用CNN模型對中文的法律問題進行分類以幫助普通民眾獲取法律知識。
司法人員在現(xiàn)實的業(yè)務(wù)場景中需要對各類案件信息進行快速和認(rèn)真的閱讀并獲取案件信息的關(guān)鍵內(nèi)容形成文本摘要,面對司法人員的現(xiàn)實需求,法律領(lǐng)域的自動摘要生成也受到研究者的關(guān)注。Merchant等人[19]采用潛在語義分析的方法對長篇的法律文書進行關(guān)鍵信息的抽取以生成摘要,Kanapala等人[20]對摘要生成相關(guān)的研究進行總結(jié)和分析。
法律判決是司法中非常重要和嚴(yán)謹(jǐn)?shù)墓ぷ?,對于刑事案件更是如此。刑事案件的判決結(jié)果通常涉及犯罪嫌疑的重大的人身權(quán)利,現(xiàn)實的司法工作中通常都是司法機關(guān)根據(jù)法律依據(jù)經(jīng)過多人多輪認(rèn)真討論的結(jié)果,判決結(jié)果都具有司法上可解釋性且有理有據(jù)。因而法律任務(wù)智能化的司法可解釋性的研究也得到研究者的關(guān)注,Jiang等人[21]研究自動定罪任務(wù)的可解釋性問題,基于強化學(xué)習(xí)和文本分類模型抽取判決結(jié)果依據(jù)。Ye等人[22]提出序列生成模型從案情描述中生成法庭的判決依據(jù)。Liu等人[23]引用注意使用序列到序列的(Seq2Seq)模型來預(yù)測決策的原因。
法律任務(wù)智能化中一個研究者重點關(guān)注的任務(wù)是法律判決預(yù)測。法律判決預(yù)測通常是根據(jù)法律裁判文書及相關(guān)法律文本自動預(yù)測犯罪嫌疑人的涉及的法條、罪名、判處的刑期和罰金等判決結(jié)果。我國的法律案件通??梢詣澐譃樾淌掳讣⒚袷掳讣托姓讣?。刑事案件主要依據(jù)刑法對犯罪嫌疑人進行判決,判決結(jié)果按照法律責(zé)任又可分為主刑和附加刑。當(dāng)前法律判決預(yù)測任務(wù)研究的案件主要是刑事案件,主要對刑事案件中的主刑進行預(yù)測。例如Sulea等人[24-25]、林琬真等人[10]、Luo等人[12]、Hu等人[13]、Zhong等人[14]和Xu等人[15]都是基于刑事案件進行研究。
一些早期的工作通常是利用一些機器學(xué)習(xí)的方法對案件進行分類,例如Sulea等人[24-25]、林琬真等人[10]。后續(xù)深度學(xué)習(xí)模型在各個領(lǐng)域的應(yīng)用,一些研究工作開始關(guān)注司法領(lǐng)域的判決任務(wù)。例如,Wang等人[26]提出了一種案情描述和法條的層次化文本匹配模型來預(yù)測犯罪嫌疑人的罪名。Chen等人[27]采用門控機制來提高刑期預(yù)測的性能。Luo等人[12]利用案情事實與法律條文之間的注意機制來幫助預(yù)測罪名。此外一些工作對樣本較少的罪名進行了研究,如Hu等人[13]通過引入罪名的人工屬性特征來提高少樣本類別的定罪預(yù)測準(zhǔn)確率。
隨著大規(guī)模數(shù)據(jù)集出現(xiàn)以及任務(wù)標(biāo)準(zhǔn)化的定義出現(xiàn)[28],法律判決預(yù)測任務(wù)(LJP)被定義為由法條推薦、罪名預(yù)測和刑期預(yù)測三個子任務(wù)來組成。一些研究者提出了一些解決法律判決預(yù)測的新方法。Zhong等人[14]提出了一個拓?fù)鋱D來利用不同LJP任務(wù)之間的關(guān)系來提升每個子任務(wù)的性能。Yang等人[29]在LJP任務(wù)中引入了多視角前向預(yù)測和后向驗證來提升子任務(wù)的性能。Xu等人[15]通過將所有相關(guān)法條信息引入LJP任務(wù)中,構(gòu)建法條之間的關(guān)系圖來區(qū)分易混淆案件以提高LJP任務(wù)的性能。
本章將詳細(xì)介紹本文中所研究問題的定義以及相關(guān)符號和術(shù)語。
首先需要明確本文涉及的法律判決預(yù)測任務(wù)的范圍。我國的司法案件主要分為刑事案件、民事案件和行政案件,本文選取刑事案件作為研究重點。刑事案件根據(jù)涉案人數(shù)和罪名數(shù)可分為單人單罪、單人多罪和多人多罪等,本文主要選取單人單罪的刑事案件作為研究重點。本文中法律判決預(yù)測任務(wù)涉及裁判文書中的案情描述,刑法中相關(guān)的法律文本,裁判文書中的判決口結(jié)果中的罪名和刑期。具體的說明如下:
法律文本:我國的司法判決都是根據(jù)現(xiàn)行法律文本的規(guī)定以及案件的事實描述來確定犯罪嫌疑人所觸犯的法條、罪名和相應(yīng)的刑期從而確定判決結(jié)果的。本文將數(shù)據(jù)集相關(guān)的刑法法條表示為L={a1,a2,…,aan},其中an為法律條文數(shù)。
裁判文書:本文中使用的數(shù)據(jù)集主要是來自于裁判文書。裁判文書主要由案情描述、法庭判決緣由和判決結(jié)果構(gòu)成,案情描述是描述犯罪嫌疑人個人基本信息、犯罪行為、時間、地點和累犯次數(shù)等信息。由于案情描述包含的信息較多,文本的長度通常較長,因此本文將案情描述的文本表示為句子的序列Fact={s1,s2,…,sn},其中si是一個由單詞組成的句子序列,n是案情所包含的句子總數(shù)。判決結(jié)果包含相關(guān)法條、罪名和刑期等,分別表示ya、yc、yp。
如圖3所示,本文中的法律判決預(yù)測任務(wù)是基于多任務(wù)的框架,法律文本信息和案情描述經(jīng)過預(yù)處理及詞向量編碼表示送入模型進行交互。最終法律文本和案情描述經(jīng)過模型編碼得到每個子任務(wù)的特征表示,從而用于預(yù)測每個子任務(wù)的標(biāo)簽。
圖3 法律判決預(yù)測任務(wù)定義Fig.3 Definition of legal judgment prediction task
推薦相關(guān)法條任務(wù)是根據(jù)案情描述Fact以及刑法的法律條文L來自動預(yù)測犯罪嫌疑人所觸犯的法律條文ya。本文主要研究單人單罪的案件,即只有一個犯罪嫌疑人且只觸犯一個法條的案件。因此推薦法條的子任務(wù)是一個單標(biāo)簽多分類任務(wù)。該任務(wù)可定義為Ta:fa(Fact,L)~ya。
定罪任務(wù)是根據(jù)案情描述Fact以及刑法的法律條文L來自動預(yù)測犯罪嫌疑人所觸犯的法律條文中的罪行。與推薦相關(guān)法條的任務(wù)類似,本文主要研究單人單罪的案件,即只有一個犯罪嫌疑人且只觸犯相應(yīng)法條的一個罪名的案件。因此定罪的子任務(wù)也是一個單標(biāo)簽多分類任務(wù)。該任務(wù)可定義為Tc:fc(Fact,L)~yc。
刑期預(yù)測任務(wù)是Fact以及刑法的法律條文L來自動預(yù)測犯罪嫌疑人的刑期。刑法中的刑罰包含管制、拘役、有期徒刑、無期徒刑、死刑。本文中主要涉及有期徒刑、無期徒刑、死刑。其中有期徒刑在刑法中區(qū)間通常是一年、二年、三年、五年、七年、十年、十五年。本文按照數(shù)據(jù)集中刑罰的統(tǒng)一處理,分為“死刑或無期”“十年以上”“七到十年”“五到七年”“三到五年”“二到三年”“一到二年”“九到十二個月”“六到九個月”“零到六個月”“無刑期”。因此刑期預(yù)測任務(wù)同樣被定義是一個多分類任務(wù),該任務(wù)可定義為Tp:fp(Fact,L)~yp。
本章將具體介紹本文提出的融合法律文本多層層次化信息的LJP模型。
如圖4所示,模型主要由案情描述編碼模塊、法律文本多層層次化(Article、Charge、Prison)編碼模塊、案情描述和法律文本層次化信息的交互模塊、三個子任務(wù)特征交互模塊,以及模型預(yù)測模塊組成。下文將具體介紹每個模塊的功能。
圖4 模型整體框架圖Fig.4 Overall framework of model
案情描述編碼模塊。從圖3可以看出由于案情描述的文本通常較長且涉及犯罪嫌疑人的個人信息以及犯罪嫌疑人所犯事實的起因經(jīng)過等信息,其中決定犯罪嫌疑人所犯罪行的信息相對較為分散,因此本文采用句向量表示案情描述的文本。案情描述模塊將輸入案件的案情描述分為n個句子,每個句子經(jīng)過詞向量編碼后表示為si,因此整個案件的案情描述可以表示為n個句子的向量序列Fact={s1,s2,…,sn}。之后案情描述的句向量表示Fact送入案情描述和法律文本層次化信息的交互模塊。案情描述再經(jīng)過注意力機制(Attn)處理得到輸出向量F作為子任務(wù)的特征。模塊的具體實現(xiàn)細(xì)節(jié)將在3.2中介紹。
法律文本多層層次化編碼模塊。由于法律條文是具有多層結(jié)構(gòu)信息的,為了將法律條文的多層結(jié)構(gòu)信息用于法律判決預(yù)測的三個子任務(wù),本文將法律文本劃分為三個層級:法條、罪名、刑期(情節(jié)輕重程度等量刑情節(jié))。與案情描述編碼模塊類似,將預(yù)處理的法律文本信息采用句向量的編碼模式處理,然后依次得到法律文本中涉及刑期、罪名和法條向量表示Larticle、Lcharge、Lprison作為模塊的輸出。該模塊的輸出送入到案情描述和法律文本多層層次化信息的交互模塊。具體的實現(xiàn)細(xì)節(jié)在3.3節(jié)中介紹。
案情描述和法律文本多層層次化信息的交互模塊。該模塊將法律文本多層層次化編碼模塊得到的法條表示Larticle、Lcharge、Lprison和案情的表示Fact通過協(xié)同注意力機制得到三個融合法條信息的表示F1、F2、F3以及法律文本融合案情的表示F1a、F2c、F3p。這些特征作模型預(yù)測模塊的輸入,具體實現(xiàn)細(xì)節(jié)在3.4節(jié)中介紹。
三個子任務(wù)特征交互模塊。推薦法條子任務(wù)將案情描述模塊的輸出F,案情描述和法律文本的交互得到的融合法條信息的案情表示向量F1、法條對案情信息的注意力權(quán)重向量F1a作為該任務(wù)的輸入。最后將這些特征級連為Farticle并采用多層感知機(MLP)來預(yù)測相關(guān)法條。
定罪子任務(wù)將案情描述F,融合罪名信息的案情表示向量F2、罪名對案情的注意力權(quán)重向量F2c以及推薦法條子任務(wù)的特征Farticle作為總的特征,并將這些特征級連后通過MLP層來預(yù)測罪名。
刑期預(yù)測子任務(wù)將案情描述F,案情融合罪名信息的表示向量F3、案情對罪名的注意力權(quán)重向量F2c以及罪名預(yù)測子任務(wù)的特征Fcharge作為總的特征,并將這些特征級連后通過MLP層來預(yù)測刑期。具體實現(xiàn)細(xì)節(jié)在3.5節(jié)中介紹。
在司法領(lǐng)域中案情描述文本通常較長,本文將案情描述文本劃分為多個句子,首先通過CNN模型得到句子的表示從而得到整個案情描述的表示。具體來說,如圖5所示本文首先將案情描述文本預(yù)處理為n個句子,每個句子最多包含sl個詞,每個句子中的詞使用詞向量wi進行表示。然后本文將每個句子送入4個不同的CNN子模塊,這4個CNN采用不同的卷積窗口用于獲取不同粒度的特征。每個CNN子模塊經(jīng)過卷積層和池化層得到的特征向量拼接作為最終一個句子的向量表示si。案情描述的表示由每個句子的向量表示構(gòu)成,即Fact={s1,s2,…,sn}。
圖5 案情描述中句子的編碼表示Fig.5 Representation of sentence in case description
法律文本的多層結(jié)構(gòu)如圖6所示,刑法中同一個法條大類通常包含多個不同的法條,一個法條通常包含一個或者多個罪名的相應(yīng)描述,同一個罪名通常對不同程度的量刑情節(jié)規(guī)定了相應(yīng)的刑期。本文認(rèn)為這種層次化的信息對于法律判決預(yù)測任務(wù)是有用的。如圖6所示,刑法第三百九十七條的法條大類是瀆職罪,該法條對濫用職權(quán)罪和玩忽職守罪作出了明確的規(guī)定,其中濫用職權(quán)罪又按照情節(jié)的嚴(yán)重程度規(guī)定了不同刑期的刑罰。
由于刑法涉及的法條相對不多,本文對每個法條按照法條-罪名-刑期的三層結(jié)構(gòu)人工劃分為三個層次。本文將法條大類信息作為法條層的法律要素,法條規(guī)定的罪名描述文本作為罪名層的法律要素,刑期及量刑情節(jié)等文本信息作為刑期層的法律要素。
與案情描述的處理類似,本文采用3.2節(jié)的句向量編碼模塊依次對法條、罪名和刑期層構(gòu)建法律文本向量表示。具體來說,本文首先將一個刑期層的所有法律要素(如情節(jié)嚴(yán)重、三年以下等文本信息)經(jīng)句向量編碼表示為hi,然后通過注意力機制融合刑期的中不同的法律要素表示構(gòu)成該刑期的總的向量表示。罪名層同刑期層的處理方式類似,此外本文將刑期層的表示作為罪名層的法律要素,法條層的處理同理,如圖6。統(tǒng)一的處理公式如下:
圖6 法律文本層次化的表示Fig.6 Hierarchical representation of legal text
其中Wx、bx、ux為參數(shù)矩陣,hi為輸入的法律要素通過CNN得到的句向量表示,maski表示相應(yīng)的法律要素是否參與計算,d為輸入序列的詞向量維度,sf為對所有法律要素hi的注意力總的向量表示,對應(yīng)一個刑期的表示或者一個罪名的向量表示。
本文通過協(xié)同注意力機制將法律文本的層次化信息與案情描述進行細(xì)粒度的交互。本節(jié)首先介紹協(xié)同注意力機制的原理。如圖7所示,輸入向量A=(a1,a2,…,ai,…,am),B=(b1,b2,…,bj,…,bn),其 中A∈Rm×d,B∈Rn×d,ai和bj的維度是相同的。為了計算A中每個向量ai和B中每個向量對bj的匹配得分,將向量B和AT點乘得到一個二維矩陣M。在此基礎(chǔ)上分別通過按行和按列做Softmax得到bj對每個ai的注意權(quán)重矩陣ri和ai對每個bj的注意力權(quán)重矩陣cj。然后對ri注意力矩陣作row-wise平均得到最終的avg權(quán)重,再將avg權(quán)重與矩陣C相乘得到B矩陣的注意力向量。具體公式如下:
圖7 協(xié)同注意力機制原理圖Fig.7 Co-attention mechanism
本文通過構(gòu)建不同層次的法律文本信息與案情描述的交互,得到三個子任務(wù)相應(yīng)的融合法律文本信息的案情描述表示F1、F2、F3。此外本文也分別得到法條、罪名和刑期對案情的注意力權(quán)重向量F1a、F2c、F3p作為三個子任務(wù)特征的一部分。
法律判決預(yù)測的三個子任務(wù)推薦法條、定罪和刑期預(yù)測在司法中有依次的順序關(guān)系,即確定相關(guān)法條才能確定相應(yīng)的罪名,確定相應(yīng)的罪名才能按照法律文本規(guī)定確定相應(yīng)的刑期。因此本文將推薦法條作為定罪和刑期預(yù)測的上游任務(wù),定罪任務(wù)作為刑期預(yù)測的上游任務(wù)。本文將上游任務(wù)的特征向量送入下游任務(wù)中從而實現(xiàn)子任務(wù)的順序關(guān)系,如圖4所示。
首先本文對案情描述進行句向量表示從而得到案情描述的整體表示F,作為所有子任務(wù)案情描述表示的基礎(chǔ)特征。
推薦法條子任務(wù)。本文通過協(xié)同注意力機制得到的融合法條信息的案情描述表示F1以及法條對案情的注意力權(quán)重向量F1a。本文將Fa=concat[F;F1;F1a]作為該任務(wù)的總的特征并采用MLP來預(yù)測相關(guān)法條,公式如下:
定罪子任務(wù)。與推薦法條任務(wù)類似,本文通過協(xié)同注意力機制得到的融合罪名信息的案情描述表示F2、罪名對案情描述的注意力權(quán)重向量F2c。本文將Fc=concat[F,F1,F2,F2c,Fam]作為該任務(wù)的總的特征,并采用MLP來預(yù)測罪名y?charge。Fam是推薦法條任務(wù)中Fa過全連接層后的特征。公式如下:
刑期預(yù)測子任務(wù)。與定罪子任務(wù)類似,本文將上游子任務(wù)得到的融合刑期信息的案情描述表示F3作為該刑期預(yù)測任務(wù)的刑期相關(guān)的特征,并將Fp=concat[F,F1,F2,F3,Fcm]作為該任務(wù)的總的特征,并采用MLP來預(yù)測刑期。Fcm是定罪任務(wù)中Fc通過全連階層后的特征。公式如下:
本文中法律判決預(yù)測的三個子任務(wù)推薦法條、定罪和刑期預(yù)測都建模為多分類任務(wù),因此本文采用交叉熵?fù)p失函數(shù)作為每個子任務(wù)的損失函數(shù)。具體公式如下:
最終法律判決預(yù)測任務(wù)總的損失函數(shù)如下:
其中z1、z2、z3分別是三個子任務(wù)損失函數(shù)的權(quán)重。
將詳細(xì)介紹本文的實驗設(shè)置、基線模型,然后在真實的數(shù)據(jù)集上進行了大量實驗并對實驗結(jié)果進行比較分析,從而驗證本文提出的融合法律文本多層層次化信息的法律判決預(yù)測模型的有效性。
本文中實驗使用的數(shù)據(jù)集是中國人工智能與法律挑戰(zhàn)(CAIL2018[28])的公開數(shù)據(jù)集。該數(shù)據(jù)集分為CAIL-smal(l練習(xí)階段數(shù)據(jù)集)和CAIL-big(第一階段數(shù)據(jù)集),如表1所示。數(shù)據(jù)集中每個案例包含事實描述、適用的相關(guān)法條、罪名和刑期等信息。為了與基線模型對比,本文過濾了具有多個相關(guān)法條和多個罪名的案例,即多人多罪的案件,只保留單一法條和單一罪行的案例。此外,參照Zhong等人[14],本文只保留了不少于100個案例樣本的相關(guān)法條和罪名的類別,并過濾掉相關(guān)法條和罪名不一致的案例,并將刑期限劃分為不重疊的時間間隔。
表1 數(shù)據(jù)集的統(tǒng)計信息。Table 1 Statistics of datasets
詞的向量表示在自然語言處理的任務(wù)起著十分重要的作用,常用的詞向量表示有詞袋模型和詞的分布式向量表示模型。詞袋模型是對每個詞進行獨熱編碼,向量的維度是整個詞典的詞個數(shù)。詞袋模型具有向量維度高和缺乏語義關(guān)系描述的問題,因而本文采用詞的分布式向量表示。分布式向量表示的如法律領(lǐng)域中,與盜竊有關(guān)的詞有“偷盜”“盜取”“偷竊”等,在分布式表示中這些詞向量之間的距離更近,有效地表示詞語義之間的相似性。本文基于深度學(xué)習(xí)的模型采用分布式詞向量表示,選取經(jīng)典的Word2vec詞向量模型進行訓(xùn)練以得到詞向量表示。Word2vec一般有兩種算法用于訓(xùn)練詞向量,分別為連續(xù)詞袋模型(CBOW)算法和跳字模型(Skip-gram)算法,本文采用Skip-gram算法用于訓(xùn)練詞向量,其中詞向量的維度設(shè)置為200。數(shù)據(jù)預(yù)處理是基于文本的深度學(xué)習(xí)方法中的一個重要模塊。本文對數(shù)據(jù)集中案例的案情描述及法條信息的預(yù)處理主要包括分詞和去停詞。本文THULAC[30]工具對法律文本和案情描述等文本進行分詞并去除句子中標(biāo)點符號、“的”等停詞,使深度學(xué)習(xí)模型關(guān)注語義信息較高的重要詞匯,過濾次數(shù)較少的詞條,以及案件對案情描述無有用信息的“足以認(rèn)定”之后的文本。
本文中法律判決預(yù)測的三個子任務(wù)(推薦法條、定罪和刑期預(yù)測)都建模為多分類任務(wù),因此本文采用多分類任務(wù)常用的評價指標(biāo)準(zhǔn)確率(accuracy)、宏精確率(macro-precision)、宏召回率(macro-recall)和宏F1值(macro-F1)對三個子任務(wù)結(jié)果進行評價。評價指標(biāo)的計算公式如下:
其中TPi、FPi、FNi、Pi、Ri、F1i分別為第i個類別所對應(yīng)的真陽性樣本數(shù)、假陽性樣本數(shù)、假陰性樣本數(shù)、精確率、召回率和F1值。
為了驗證本文提出的融合法律文本多層層次化信息的法律判決預(yù)測模型的有效性,本文對比了目前在法律判決預(yù)測任務(wù)上效果最好的模型?;€模型設(shè)置如下所示。
CNN[31]:基于CNN的模型,具有多個過濾窗口寬度用于文本分類,在法律判決預(yù)測任務(wù)中采用多任務(wù)的訓(xùn)練方式來訓(xùn)練模型。
HARNN[32]:該模型是一種基于RNN的神經(jīng)網(wǎng)絡(luò),具有分層注意機制,用于文檔分類。與CNN模型類似,HARNN也中采用多任務(wù)的訓(xùn)練方式來訓(xùn)練模型。
FLA[12]:該模型使用注意機制捕獲案情的事實描述與數(shù)據(jù)集所涉及的法條之間權(quán)重信息用于定罪預(yù)測。
Few-Shot[13]:該模型提出一種區(qū)分混淆罪名的深度學(xué)習(xí)方法,首先根據(jù)法律知識人工構(gòu)建10個用于區(qū)分罪名的屬性特征,并用注意力機制通過案情描述預(yù)測這10個屬性特征從而增強模型的表示能力。
TOPJUDGE[14]:該方法利用法律判決預(yù)測LJP的拓?fù)浣Y(jié)構(gòu)并基于多任務(wù)學(xué)習(xí)框架,將子任務(wù)之間的依賴關(guān)系轉(zhuǎn)化為有向無環(huán)圖來提升三個子任務(wù)的性能。
MPBFN-WCA[29]:該方法也是基于法律判決預(yù)測的多任務(wù)學(xué)習(xí)框架,采用多角度前向預(yù)測和后向驗證來提升三個子任務(wù)的性能。
LADAN[15]:該方法通過構(gòu)建法條之間的圖蒸餾模型來獲取區(qū)分相近法條的特征從而提升法律判決預(yù)測的性能,這是目前最好的模型。
HLJP:本文中提出的融合法條多層層次化信息的法律判決預(yù)測模型,本文模型的具體參數(shù)設(shè)置如下:本文中預(yù)訓(xùn)練的詞向量維度為200,案情描述的句子最長含有100個詞,每個案情描述最多有16個句子。模型訓(xùn)練的批處理樣本數(shù)為128,模型中CNN的卷積的窗口長度為2到5,CNN模型的特征長度為256。本文訓(xùn)練模型使用AdamW優(yōu)化器,學(xué)習(xí)率設(shè)置為1E-3,權(quán)重衰減設(shè)置為1E-3。
為了比較本文提出的融合法律多層層次化信息的模型HJLP和基線模型,本文在CAIL-small和CAIL-big進行了大量的實驗,實驗結(jié)果如表2和表3所示。在實驗設(shè)計時,由于FLA、CNN、HARNN和Few-Shot等模型原有的論文不是在法律判決預(yù)測任務(wù)實現(xiàn)的,因此本文在原有模型基礎(chǔ)上增加了相應(yīng)的子任務(wù)分別表示為:FLA+MTL(MTL表示三個法律判決子任務(wù))、CNN+MTL、HARNN+MTL和Few-Shot+MTL。
表2 模型在CAIL-small數(shù)據(jù)集上的法律判決預(yù)測任務(wù)結(jié)果Table 2 Results of model on CAIL-small dataset 單位:%
表3 模型在CAIL-big數(shù)據(jù)集上的法律判決預(yù)測任務(wù)結(jié)果Table 3 Results of model on CAIL-big dataset 單位:%
從實驗結(jié)果可以看出:
(1)本文提出的模型HLJP在CAIL-small和CAILbig數(shù)據(jù)集上整體都是優(yōu)于當(dāng)前最好的LJP模型LADAN。其中在CAIL-small數(shù)據(jù)集上的推薦相關(guān)法條任務(wù)上本文的模型HLJP比最好的模型LADAN在評價指標(biāo)Acc上提升了5.81%,在評價指標(biāo)F1上提升了7.58%,在罪名預(yù)測任務(wù)上的F1上提升了1.03%,在刑期預(yù)測任務(wù)上的評價指標(biāo)上也有提升。在CAIL-big數(shù)據(jù)集上的推薦相關(guān)法條任務(wù)上本文的模型HLJP比最好的模型LADAN在評價指標(biāo)F1上提升了4.24%,定罪任務(wù)在F1上提升了1.46%。表格中加粗的實驗結(jié)果表示與最佳基線模型LADAN相比有顯著性改善(p<0.05)。總體來說實驗結(jié)果驗證了本文提出的模型HLJP的有效性和魯棒性。
(2)從具體子任務(wù)的角度來說,本文提出的模型HLJP在CAIL-small和CAIL-big數(shù)據(jù)集上F1的提升都要高于定罪任務(wù)和刑期預(yù)測任務(wù)。例如在CAIL-small上評價指標(biāo)F1提升了7.58%,在罪名預(yù)測任務(wù)上評價指標(biāo)F1提升了1.03%,刑期預(yù)測提升了不到0.5%。在CAIL-big數(shù)據(jù)集上罪名預(yù)測任務(wù)有提升而刑期預(yù)測甚至出現(xiàn)了性能的下降。相比較而言法律文本多層層次化信息的對推薦相關(guān)法條任務(wù)效果更明顯,而對定罪和刑期預(yù)測任務(wù)而言效果不是很好??赡艿脑蚴潜疚脑诜l多層層次化信息模塊設(shè)計時定罪和刑期預(yù)測層的特征相對更少,另外一個可能原因是刑期預(yù)測任務(wù)中刑期的法律要素對每個罪行的描述比較相似但是不同罪行的刑期卻不同。
(3)從數(shù)據(jù)集的角度來說,本文提出的模型HLJP在CAIL-small數(shù)據(jù)集上評價指標(biāo)的提升要比在CAIL-big數(shù)據(jù)集上提升要高。例如,相關(guān)法條推薦任務(wù)HLJP在CAIL-small數(shù)據(jù)集上評價指標(biāo)F1提升了7.58%,而在CAIL-big數(shù)據(jù)集上評價指標(biāo)F1僅提升了4.24%,在刑期預(yù)測任務(wù)和定罪任務(wù)也有類似的特點。主要原因可能是CAIL-small數(shù)據(jù)集相對于CAIL-big數(shù)據(jù)集而言類別的數(shù)目更少并且法條和罪名的通常是一對一的關(guān)系,本文增加了法條層信息以后更容易區(qū)分不同的類別。CAIL-small中類別分布相對CAIL-big更均衡,例如推薦法條第二百三十四條的案件在CAIL-small有860與100多個案件的少樣本類別比例在8∶1,而在CAIL-big中該案例有18萬個左右,少樣本類別的案件數(shù)目依然在100~200個,這可能也其中一個原因。
為了進一步驗證本文提出的模型HLJP考慮法律文本多層層次化信息的效果,與Xu等人[15]實驗一致,本文在CAIL-small數(shù)據(jù)集上作了消融實驗。如表4所示,“-無層次化信息”表示本文在HJLP模型的基礎(chǔ)上去除層次化的法律文本信息表示只保留法條的表示;HLJP表示本文提出的模型。從實驗結(jié)果可以看出本文提出的模型在去除法律文本層次化的信息之后,在法條推薦、罪名預(yù)測和刑期預(yù)測三個子任務(wù)上的Acc和F1評價指標(biāo)上都有顯著下降,說明本文提出的考慮法律文本層次化信息是十分有效的。
表4 消融實驗Table 4 Ablation experiment 單位:%
本文選取智能司法領(lǐng)域中十分重要的法律判決預(yù)測任務(wù)作為研究重點?,F(xiàn)有基于深度學(xué)習(xí)的法律判決預(yù)測方法通常未考慮法律文本中的多層層次化信息,針對該問題本文引入法律文本的多層層次化信息用于法律判決預(yù)測任務(wù)。具體來說,本文首先對法律文本的多層層次化信息預(yù)處理,利用協(xié)同注意力機制得到每個子任務(wù)的融合不同層次的法條信息的案情描述的表示從而提升三個子任務(wù)的性能。本文在真實的公開數(shù)據(jù)集上進行了實驗,結(jié)果顯示本文提出的融合法律文本多層結(jié)構(gòu)信息的方法在法律判決預(yù)測任務(wù)上優(yōu)于當(dāng)前最好的模型。
本文的研究也存在一定不足之處,如本文只選取了單人單罪作為研究重點。我國法律中有多種類型的案件,本文只針對刑事案件做研究,未對民事和行政各類等案件做對比實驗。此外本文也未將研究重點放在少樣本類別的。未來,本文考慮從以下幾個方面繼續(xù)研究人工智能在法律判決預(yù)測領(lǐng)域的應(yīng)用:(1)司法領(lǐng)域存在類別不均衡的問題,現(xiàn)有方法在類別不均衡的數(shù)據(jù)集上性能依然有限;(2)現(xiàn)有的法律判決預(yù)測任務(wù)多是基于單人單罪進行研究,很少有研究多人多罪的;(3)法律判決預(yù)測具有很強的因果關(guān)系,在司法領(lǐng)域構(gòu)建可解釋性的模型是十分必要的。