楊超群, 龐彥燕, 嚴若冰, 張世全, 胡 兵, 王 竹
(1. 四川大學(xué)數(shù)學(xué)學(xué)院, 成都 610064; 2. 四川大學(xué)法學(xué)院, 成都 610207)
隨著社會的發(fā)展,訴訟案件越來越多,使如何提高案件辦理效率成為了一個亟待解決的問題.人工智能在司法領(lǐng)域的應(yīng)用不斷增加正好適應(yīng)了提高訴訟效率的需求.許多機器學(xué)習(xí)的模型和算法也開始應(yīng)用到法律領(lǐng)域,通過人工智能來為法官提供基礎(chǔ)的司法輔助工作.
適用法條推薦實質(zhì)上是一個多標簽文本分類任務(wù),最終要達到的效果是對一段描述案情的法律文本給出全面而準確的適用法條. 文本分類是自然語言處理中的經(jīng)典任務(wù).傳統(tǒng)的方法,如 N-gram[1]方法在文本分類上已經(jīng)取得了較好的結(jié)果. 近幾年來,研究者開始使用機器學(xué)習(xí)的方法進行文本分類,如 doc2vec[2],F(xiàn)astText[3-4]和最近的Bert[5],XLNet[6]和ERNIE[7]等. 同時,也有一些研究者在法律領(lǐng)域中嘗試著使用文本分類,如Xiao等[8]在大規(guī)模數(shù)據(jù)集上進行了罪名預(yù)測、法條推薦和刑期預(yù)測.劉宗林等[9]提出了一種多任務(wù)學(xué)習(xí)模型,對罪名預(yù)測和法條推薦進行聯(lián)合建模.王業(yè)沛等[10]使用深度學(xué)習(xí)在裁判文書數(shù)據(jù)上提出了一個判決結(jié)果傾向性分析的模型,張虎等[11]提出了基于多模型融合的法條推薦方法,等等.
上述模型中的罪名預(yù)測、法條推薦等均針對所有法律領(lǐng)域的文本.本文則利用中國裁判文書網(wǎng)上對外公開的海量基礎(chǔ)數(shù)據(jù),聚焦于詐騙罪和離婚糾紛案件,以兩個不同案由下的裁判文書共十萬余份作為數(shù)據(jù)集,使用FastText模型對預(yù)訓(xùn)練的通用詞向量進行遷移學(xué)習(xí)[14]得到法律詞向量,再用法律詞向量構(gòu)建文檔向量進行文本分類.
本文使用的數(shù)據(jù)集包含已分段的詐騙罪案件裁判文書58 999份,共696 M, 離婚糾紛案件裁判文書49 882份,共260 M. 裁判文書中大致分主體基本信息、原告訴求(公訴機關(guān)指控)、被告答辯(僅限民事案件)、法院查明事實、法院說理、裁判依據(jù)、裁判結(jié)果等7個部分.
就法條推薦而言,僅其中法院查明事實、說理、裁判依據(jù)部分是有研究價值的. 因此,本文使用上述裁判文書數(shù)據(jù)時,為了避免不必要信息的干擾首先對裁判文書的不同部分進行了分段,每份分段的裁判文書都能看做一張表,如表1所示.其中第一列的數(shù)字代表第三列文本的類別,如[1]代表裁判文書的標題,[3]代表原告被告信息. 在數(shù)據(jù)預(yù)處理中,我們篩選使用了類別5(原告訴稱)、6(被告辯稱)、7(法院認定事實)、8(法院說理部分)、9(裁判依據(jù))和16(裁判結(jié)果),其中類別5、6、7、8和16用于訓(xùn)練詞向量,類別7和8用于構(gòu)建文檔向量,類別9用于提取每份文書對應(yīng)的法條.
表1 分段的裁判文書格式示例
FastText模型原本僅適用于英文.由于中文在每句話內(nèi)部不存在分隔符,只是一串連續(xù)的漢字,故需要將句子拆分成詞和空格相間分布的格式. 成熟的中文分詞算法能夠達到更好的自然語言處理效果,幫助模型理解復(fù)雜的中文語言. 本文在對中文語料庫進行分詞時,直接使用了已有較知名的分詞工具——結(jié)巴分詞對語料庫進行分詞處理.為了提高分詞的效果,這里還使用了清華大學(xué)開放中文詞庫[12]中的法律詞匯.
詞條歸一化(token normalization) 是將表面看起來不完全一致的多個詞條歸納成一個等價類,以便在它們之間進行匹配的處理過程. 例如,在一篇裁判文書中有這樣一句話:“被告人張三某,男”,則在此文書全文中,“被告人”和“張三某”是等價的.為了維持詞之間好的關(guān)聯(lián),將“張三某”關(guān)聯(lián)到“被告人”是很有必要的.更重要的是,“被告人”在語料庫的任何地方的地位都是一樣的,而“張三某”可能在此處是被告人,到另一處則是原告人.因而詞條歸一化提前消除了這些會誤導(dǎo)模型的信息.
由于本文使用的是中文法律語料庫,相比一般的的語料庫其涵蓋的詞面較窄,所以在進行詞條歸一化時,我們選取了其中較為重要的類別做歸一化. 如將原被告的人名替換成原被告,將形如“xxx, 以下簡稱x”等進行歸一化.
每篇文書的類別9包含了對應(yīng)案件所用到的全部法條,包括法律法規(guī)、司法解釋等,這正是法條推薦所需要的標簽. 為此,我們編寫程序,從每篇裁判文書的類別9中提取出所有的法條,精確到條.例如將“《中華人民共和國刑法》第二百六十六條第一款”提取為“刑法 266”. 這樣共得到了詐騙罪案件相關(guān)法條864個,離婚糾紛案件相關(guān)法條872個.圖1以詞云的形式給出了兩類案件中的頻率前兩百的法條.
(a)詐騙罪案件法條
(b)離婚糾紛案件法條
除了以上三種預(yù)處理手段,我們還使用網(wǎng)絡(luò)上公開的停用詞表,刪去了語料庫中標點符號、特殊字符和其他無實意的詞語;又刪除了文檔字數(shù)大于三萬或小于兩百五的極端情況的文書. 經(jīng)過前述處理,我們得到詐騙罪案件文書57 241份,其中詞向量數(shù)據(jù)集302 M,文檔分類數(shù)據(jù)集237 M;離婚糾紛案件文書46 303份,其中詞向量數(shù)據(jù)集86.6 M,文檔分類數(shù)據(jù)集47.5 M. 對于文檔分類模型,在每類案件的文書中分別隨機選取2 000件文書用作驗證集和測試集,剩余文書用于訓(xùn)練集.
FastText模型是Facebook公司于2016年開源的一個詞向量計算[3]和文本分類工具[4].在本節(jié)中,我們基于遷移學(xué)習(xí)的思想以FastText預(yù)訓(xùn)練的4.2G通用中文詞向量為初始向量,使用FastText詞嵌入模型在詞向量數(shù)據(jù)集上訓(xùn)練法律詞向量,再以此為初始向量,使用FastText文檔分類模型對文檔分類數(shù)據(jù)集進行法條推薦.
圖2 FastText模型的訓(xùn)練過程Fig.2 Training process of the FastText model
FastText中包含兩個詞嵌入模型,分別是CBOW模型和Skip-Gram模型,其中CBOW模型利用給定的上下文預(yù)測目標詞,而Skip-Gram模型則是利用輸入中心詞來預(yù)測上下文.它們充分利用了詞的上下文信息,這里我們只選用了Skip-Gram模型來訓(xùn)練詞向量. Skip-Gram的模型結(jié)構(gòu)如圖3所示.
圖3 Skip-Gram 模型的結(jié)構(gòu)Fig.3 Structure of the Skip-Gram model
假設(shè)文本序列是“公安機關(guān)查獲電動車發(fā)還被害人”,以“查獲”作為中心詞,背景窗口大小設(shè)為2.Skip-Gram模型所關(guān)心的是對中心詞“查獲”生成與它距離不超過兩個詞的背景詞“公安”、“機關(guān)”、“電動車”和“發(fā)還”的條件概率,即
更一般地,對長度為T的給定文本序列,在時間步t的詞的向量表示為w(t). 假設(shè)中心詞給定的情況下背景詞的生成是相互獨立的,則當(dāng)背景窗口大小為m時對任意給定中心詞,生成所有背景詞的條件概率為
模型在詞向量數(shù)據(jù)集上訓(xùn)練時利用了已有的詞向量結(jié)果,以便加快訓(xùn)練速度并得到更好的收斂結(jié)果,這里我們采用FastText模型預(yù)訓(xùn)練的4.2 G 300維詞向量作為訓(xùn)練起始向量,訓(xùn)練20個epoch得到了法律詞向量.
相比于詞嵌入模型,F(xiàn)astText文檔分類模型原理較為簡單,圖4給出了模型的示意圖.它將每篇裁判文書的文檔向量化為其中所有詞向量的平均,經(jīng)過一個隱藏層和softmax函數(shù)后的結(jié)果作為每個法條適用于此文書的條件概率,來計算模型預(yù)測出的法條和實際用到的法條之間的誤差,并通過梯度下降更新模型的參數(shù)和詞向量.這樣,文檔向量同時也得到了更新.
圖4 FastText文檔的分類模型結(jié)構(gòu)
在訓(xùn)練時,我們使用第2節(jié)中構(gòu)建的驗證集作為FastText模型自動調(diào)參的輸入,以微平均F1為自動調(diào)參的優(yōu)化指標進行超參數(shù)的調(diào)節(jié),使用微平均F1最高的一組超參數(shù)在訓(xùn)練集上訓(xùn)練. 利用訓(xùn)練好的模型,我們對測試集中的每個案件僅讀取裁判文書中的7(法院認定事實)和8(法院說理部分)得到文檔向量,計算每個法條與它的條件概率,并將大于閾值的法條作為該案件的適用法條推薦. 對于模型自動推薦的法條,我們通過與裁判文書中法官實際使用的法條(分段9裁判依據(jù))對比來計算推薦法條的準確率和召回率.
通過在詞向量數(shù)據(jù)集和文檔分類數(shù)據(jù)集上的訓(xùn)練,我們得到了兩組詞嵌入模型和文檔分類模型,分別適用于詐騙罪案件和離婚糾紛案件. 在圖5中,我們分別選取了詐騙罪案件和離婚糾紛案件的詞向量列表中前300的詞,使用TSNE將每個詞的300維詞向量投影到二維.可以看出,詞性詞義相似的詞會有相近的分布.
在表2中,我們對給定中心詞wc使用余弦相似度
找出最鄰近的5個詞.可以看出,相同的初始詞和相同的模型,在數(shù)據(jù)集不同的情況下通過遷移學(xué)習(xí)得到了不同的結(jié)果. 在初始狀態(tài)下,中心詞和鄰近詞只是詞義詞性相近,而中心詞對鄰近詞是沒有“偏好”的. 分別通過詐騙罪案件數(shù)據(jù)集和離婚糾紛案件數(shù)據(jù)集訓(xùn)練后,中心詞和鄰近詞的詞義詞性有所區(qū)別,但在鄰近詞的“偏好”上則體現(xiàn)了各自案件類型的特點. 這一現(xiàn)象表明通過對不同類型案件裁判文書的文本進行學(xué)習(xí)后所產(chǎn)生的向量是具備一定特殊性、針對性的.
(a)詐騙罪案件 (b)離婚糾紛案件
表2 不同數(shù)據(jù)集下部分詞與其鄰進5個詞
下文給出了一段分詞后詐騙罪案件的裁判文書,當(dāng)條件概率閾值取為0.5時,模型對此文本預(yù)測的法條為刑法 266 刑法 67 刑法 64 辦理詐騙刑事案件具體應(yīng)用法律若干問題解釋 1. 該段描述性文字通過本文采用的模型進行分析學(xué)習(xí)后,不僅準確地預(yù)測推薦了刑法第266條詐騙罪的法律條文,而且全面地預(yù)測推薦了更具有針對性的司法解釋——《關(guān)于辦理詐騙刑事案件具體應(yīng)用法律若干問題的解釋》第1條. 此法條是關(guān)于詐騙罪量刑標準的金額確定,法官看到推薦的這條司法解釋就能非常迅速地作出量刑裁判.
上述事實 被告 開庭審理 過程 中 無異議 物證 手機 部 被害人 黃某 陳述 證人 辛某 彭某 唐某 證言 書證 歸案 情況 戶籍 證明 通話記錄 微信 聊天記錄 截圖 陌陌 聊天記錄 截圖 銀行 流水 隨案移送 物品 清單 刑事判決書 辨認 筆錄 監(jiān)控 錄像 被告 供述 證據(jù) 證實 足以認定 本院認為 被告 非法占有 為目 虛構(gòu)事實 騙取 人財物 數(shù)額較大 其行 詐騙罪 公訴機關(guān) 指控 罪名 成立 本院 應(yīng)予 支持 被告 涉嫌犯罪 強制措施 期間 實施 犯罪行為 主觀惡性 社會危害性 較大 酌定 從重處罰 鑒于 被告 自愿 認罪 如實 供述 犯罪事實 悔罪 表現(xiàn) 酌情 從輕處罰
表3給出了模型在詐騙罪案件和離婚糾紛案件測試集上的結(jié)果,其準確率P和召回率R由如下公式給出:
其中TPi表示模型預(yù)測出法條i且法條i確為適用法條,F(xiàn)Pi表示模型預(yù)測出法條i但法條i不是適用法條,F(xiàn)Ni表示模型未預(yù)測出法條i但法條i為適用法條.
表3 不同條件概率閾值下的準確率與召回
顯然,模型在兩類案件上準確率都明顯高于召回率.離婚糾紛案件的準確率要稍高于詐騙罪案件,但離婚糾紛案件的召回率顯著低于詐騙罪案件的召回率,這可以由圖6給出解釋.圖中“高頻到低頻”線上第i個點表示將此類案件所有法條按頻數(shù)從高到低排序,前i個法條的頻數(shù)和占總頻數(shù)和的比例,“低頻到高頻”線上的點有對應(yīng)定義. 為突出主要部分,我們只展示了兩種排列首尾各50個法條的對應(yīng)值,圖中間的跳躍部分為省卻的法條.
另外,圖中兩條“高頻到低頻”線的交點的值為91.1%,對應(yīng)的兩條“低頻到高頻”線的交點的值為8.9%. 這表明高頻法條分布中離婚糾紛案件的被少數(shù)幾個法條占據(jù)主導(dǎo)地位,這有助于預(yù)測出的法條中有更多正確的法條,即離婚糾紛案件的準確率要稍高于詐騙罪案件.
圖6 法條頻數(shù)分布[13]Fig.6 Distribution of the law articles’ frequency[13]
究其原因,主要有三條.其一,離婚糾紛案件中所涉及的法條相對集中,常見的就是《婚姻法》和三部《婚姻法》司法解釋,而詐騙罪所涉及的法條卻很繁雜,雖然詐騙罪的刑法法條較為單一,但詐騙罪涉及的司法解釋很多且更為分散,不同類型的司法解釋均有. 其二,離婚糾紛案件的案情一般較為簡單,僅針對離婚爭議,基本僅涉及財產(chǎn)分割、債務(wù)承擔(dān)和子女撫養(yǎng)三個大類,而詐騙罪案件所涉及的案情類型非常多,生活中存在著大量不同類型的詐騙行為,所對應(yīng)的法條也各不相同. 其三,離婚糾紛都是單純的一個民事法律關(guān)系,但詐騙罪案件中可能會涉及到數(shù)罪案件,也就是同一案件中被告人涉及多項犯罪,所以裁判文書中會涉及到多個罪名的案件事實、法條引用,最終會成為影響正確率的因素.
還應(yīng)看到,在低頻法條的分布中,隨著頻數(shù)的降低離婚糾紛案件的低頻法條比詐騙罪案件占據(jù)更多比例,而模型在預(yù)測低頻法條時會更容易遺漏,所以離婚糾紛案件的召回率顯著低于詐騙罪案件的召回率.
首先,本算法是有效的. 根據(jù)上述結(jié)果分析顯示,無論詐騙罪案件還是離婚糾紛案件中,經(jīng)過本文采用的遷移學(xué)習(xí)方式后,均能夠做到準確地針對案情描述性文本推送適用法條. 在將來的智慧司法發(fā)展過程中,還可以將本文成功的經(jīng)驗擴展到其它民事、刑事案件中,最終形成整個庭審輔助系統(tǒng)可以對不同案由的案件提供針對性的法條推薦.
其次,本算法具有針對性. 通過對比詐騙罪案件和離婚糾紛案件所產(chǎn)生的的不同向量以及不同測試結(jié)果,可以看出不同類型案件由于自身特征的不同,在向量訓(xùn)練和最終法條推送過程中都存在著不同. 因此,在同一案由案件裁判文書的訓(xùn)練下進行遷移學(xué)習(xí)是非常有針對性的.
再次,本算法方式遷移學(xué)習(xí)具有全面性. 為了有效地幫助法官實現(xiàn)法條的全方位推薦適用,尤其是具有針對性的法規(guī)、司法解釋,本文在數(shù)據(jù)預(yù)處理中加入了裁判文書中引用的所有法條,并且在實驗?zāi)P偷慕⒅袑崿F(xiàn)了輸出包含法規(guī)、司法解釋在內(nèi)的不同類型適用法條.
最后,本算法還具有可拓展性. 隨著遷移學(xué)習(xí)模式的不斷完善,可嘗試利用這種模式開展對裁判文書數(shù)據(jù)進行其它方面的遷移學(xué)習(xí),比如證據(jù)推送、量刑預(yù)測等等,進一步為人工智能提供司法輔助工作開拓新的思路.