【Paper】Learning to Predict Charges for Criminal Cases with Legal Basis

Abstract

  • charge prediction task:對於一個給定案件確定合適的罪名(charges),這對那些由用戶輸入事實描述的法律輔助系統很有幫助。
  • 因爲相關法律條款(law articles)在該任務中扮演一個很重要的角色,因此,提出一個基於注意力(attention)的神經網絡方法,該方法對charge prediction任務和article extraction(相關條款提取)任務用一個統一的框架進行聯合建模。
  • 實驗結果表明,相關articles(條款)除了提供法律依據外,還可以明顯改善 charge prediction 結果,完整模型可以有效預測不同表達風格案件的適當charge(罪名)

1 Introduction

automatic charge prediction任務:通過分析案件的文本事實描述來確定合適的罪名(charges),例如:欺詐罪、盜竊罪或故意殺人罪。這些技術對於法律輔助系統至關重要,用戶可以通過用自己的語言描述案件來發現類似的案例或可能的penalties。這有助於非法律專業人員瞭解其相關案例的legal basis(法律依據),例如:他們或他們的朋友所涉及的案件,因爲大量的法律材料和缺乏法律術語的知識,使外行人很難自己完成。

難點

  • (1) 兩個不同charges之間的差異可能很微妙,例如:在中國刑事案件的背景下,要將“故意殺人”和“故意傷害”區分開來,需要從事實描述中確定被告是打算殺害被害人,還是僅僅意圖傷害受害人,而受害人不幸死於嚴重傷害。
  • (2) 一個案件中可能涉及多個犯罪,這就意味着我們需要在multi-label分類範式中進行charge prediction(罪名預測)
  • (3) 儘管我們可以期望現成的分類模型通過海量訓練數據,學會用相應的charges來標記案例,但是將案件涉及的law articles(法律條款)呈獻給用戶則是更有說服力的預測,這作爲支持預測的法律依據。這個問題在使用the civil law system(大陸法系)的國家至關重要,例如:中國(香港除外)只根據法律作出判決。例如,我國的判決書一般包含相關法律條款(在法院認爲部分)來支持判決。即使在使用the common law system的國家,例如:美國(路易斯安那州除外),其判決主要基於以前案件的決定,在作出決定時仍需要遵循一些法律。

現有的嘗試將自動charge prediction任務作爲單標籤分類任務,要麼採用KNN分類器(Liu et al., 2004; Liu and Hsieh, 2006)作用於shallow textual features上,或者爲具體的charges手動設計特徵,以幫助文本理解(Lin et al., 2012),這使得這些works很難擴展到更多的charge類型。

相關任務:查找特定案件所涉及的法律條款。

  • 簡單解決方案:通過使用一個固定的法律條款集合,將多標籤問題轉化爲多分類問題(Liu and Liao, 2005; Liu and Hsieh, 2006),該方法只能應用於少量的法律條款集合,不適合實際應用。
  • 改進方法:採用兩步法,首先執行初步分類,然後使用word-level(字級)和article-level features(文章級特徵)對結果re-ranking(重新排序)(Liu et al., 2015)。
  • 小結:這些努力推動機器學習和自然語言處理方法在 legal assistance services中的應用,但發展仍處於早期階段。例如:依靠專業知識,使用相對簡單的分類範式和淺層文本分析。更重要的是,charge prediction 和 relevant article extraction 等相關任務被獨立對待,而忽視了它們可以彼此受益的事實。

神經網絡的最新進展使我們能夠在統一的框架中對 charge prediction 和 relevant article extraction 共同建模,其中從案例事實描述到相關法律條款以及進一步收費的潛在對應關係可以由 two-stack 注意機制 顯式解決。具體來講,我們使用 一個sentence-level 和 一個document-level Bi-directional Gated Recurrent Units (Bi-GRU),並使用一系列factside attention組件來建模單詞和句子之間的相關性
,從而捕捉整個story以及案件的重要細節。給定fact描述的分析,我們學習了很多article-side attention components,以從制定法( statutory laws)中專心選擇最支持law articles,以支持我們的charge prediction,這在multi-label paradigm中進行了研究。

實驗評估

  • 數據集:我們在預測中國 criminal cases 的 predicting charges 相關數據上評估我們的模型。該數據集是從中國政府網站上利用簡單的規則自動提取 fact descriptions, relevant law articles and the charges,如圖1所示。
  • 定性分析,本方法可有效對給定案件預測合理的charges,並提供相關支撐的law articles。
  • 定量分析(quantitive analysis):對 charge predicion 中fact-side和article-side信息影響的量化分析,表明除了提供法律依據外,相關law articles還包含有助於大陸法系提升charge prediction。
  • 泛化性:該模型還可對criminal cases的新聞報道進行預測
    在這裏插入圖片描述

2 相關工作

charge prediction task:基於案件事實預測合理的罪名(charges)。

  • 之前工作將其當作多分類任務,將fact description作爲輸入,輸出一個charge標籤。
    • (Liu et al.,2004; Liu and Hsieh, 2006)使用KNN分別分類12和6項犯罪罪名(臺灣)。然而,除了 KNN 方法的可伸縮性較差,word-level 和 phrase-level 的淺層特徵不能捕獲足夠的evidence來區分具有細微差異的類似charges。
    • (Lin et al., 2012) 提出來通過對於2個charges手動設計辨別具體charge因素來更深入地瞭解案例。該方法遭受可測量性的問題,原因:對於每對charges都需要人力來設計和標。
  • 本方法:使用Bi-GRU和一個two-stack注意機制來綜合理解一個案件,而不依賴顯式人工註釋。

在大陸法系內,some works關注確定特定案例的適用law articles

  • (Liu and Liao, 2005; Liu and Hsieh, 2006) 僅只考慮一組固定的law articles組合,將multi-label問題轉換爲一個multi-class分類問題,由於考慮到更多的law articles時可能的組合數量將呈指數增長,因此無法很好地擴展。
  • (Liu et al., 2015)設計一個可擴展的two-step方法,方法是首先使用SVM進行初步的law articles分類,然後使用詞級features和文章之間的co-occurence tendency(共現趨勢)對結果進行re-ranking。
  • 本方法:使用SVM提取 top-k 候選 articles,但是進一步採用 Bi-GRU 和 article-side 注意力來更好地理解texts並探索articles之間的相關性。更重要的是,使用我們的charge prediction框架來優化articles提取任務,這不僅爲了解事實提供了另一種觀點,而且爲支持最終決定提供了legal basis(法律依據)。

另一個相關工作思路是預測案件的總體結果。目標可以是which party will the outcome side with(???)(Aletras et al.,2016),也可以是本法院是肯定還是推翻下級法院的決定((Katz et al., 2016)。我們的工作與它們不同之處在於,除了二分類結果之外,我們進一步關注於案件的詳細結果,即the charges,其中輸出可能包含多個標籤。

我們也與 法律問答任務(legal question answering task) 具有相似的精神,其目標是回答日本法律律師考試中的是/否問題,我們都認爲相關的law articles對於大陸法系中的決定至關重要。不同於我們,這項任務需要參與者首先提取相關Japanese Civil Code articles (日本民法典條款),然後使用它們來回答yes/no的問題。前一階段通常被視爲信息檢索任務,後一階段被視爲a textual entailment 任務。

在 AI 和 law 領域,也有工作試圖類案推送(Raghav et al., 2016; Chen et al., 2013),這在普通的法律體系中的決策至關重要。我們的工作不是尋找相關案例,而是側重於預測具體的charges,我們還強調law articles在決策中的重要性,這在大陸法系中非常重要,因爲大陸法系的決定完全基於成文法(statutory laws)。

我們的工作還與document classification(文檔分類)任務有關,主要區別在於我們需要自動識別適用的law articles以支持和改進charge預測。近來,各種神經網絡結構,例如CNN、RNN被用於document embedding來進一步分類。

  • (Tang et al., 2015) 提出一個two-layer方法,用CNN或RNN來sentence embedding,而其他的RNN用於document embedding。
  • (Yang et al., 2016)進一步使用global context vectors在embedding過程中專注地將信息性單詞或句子與非信息性單詞或句子區分開來,本方法具有相似的思想。
  • 但是,我們採用了更靈活和更具描述性的two-stack attention mechanism,一個stack用於fact embedding,另一個stack用於article embedding,該stack根據fact-side的線索爲每個實例動態生成,作爲額外的指導。另一個區別是我們任務的multi-label性質,而不是優化多個二分類任務(Nam et al., 2014),我們在訓練中將multi-label目標轉化爲label distribution(標籤分佈),使用交叉熵作爲loss函數,並使用針對驗證集調整的閾值來產生最終預測,該預測在我們的試驗性實驗中表現更好。

3 Data Preparation

數據集

  • 來源:China Judgements Online(since 2013),中國政府發佈判決文書。
  • 過程
    • 隨機選取50,000個文檔用於訓練,5,000用於驗證 和 5,000 用於測試。
    • 爲了保證每個charge都有足夠的訓練數據,僅使用charges頻數大於80的訓練數據,並把其他的charges作爲negative data。
    • 對於law articles,使用《中華人民共和國刑法》中的規定。
  • 數據集:包含50個不同的charges,321個不同的law articles,每個事實描述平均383個words,每個案例3.81個law articles,3.56%的案例有多個charges。

數據樣本

  • 過程
    • 判決文書如圖1所示,並將一個document分爲三部分,並分別提取fact description, articles, and charges。
    • 使用人工收集的 charge list 來識別所有charges,law articles是通過正則表達式提取的。提取的charges and articles被設爲相應的事實描述的ground truth。
    • 罕見情況:我們掩蓋在事實描述中出現的所有的charges。

小結

  • 難點:匹配不同的被告相關的fact和對應的charges。簡化爲只考慮:只有一個被告的案件。
  • 雖然這種簡化可能改變真實的charge分佈,但是這使得我們可以在不依賴法律從業人員的標註的情況下,自動構建大規模高質量的數據集。

4 Our Approach

在這裏插入圖片描述
本方法如圖2所示,包括如下步驟

  1. 輸入 fact description 給 document encoder 生成 fact embedding df\mathbf{d}_f,其中 ufw\mathbf{u}_{fw}ufs\mathbf{u}_{fs}是global word-level and sentence-level context vectors,用於選擇有豐富信息的words and sentences;
  2. 與此同時,fact description 通過 article extractor 來找到 top kk 個相關的 law articles
  3. 這些 law articles 通過另一個 document encoder 進行 embedded(嵌入),之後傳遞給 article aggregator 選擇具有支持性的 law articles 並生成集聚的 article embedding da\mathbf{d}_a。具體來說,從 df\mathbf{d}_f 動態生成的三個context vectors,即uaw,uas\mathbf{u}_{aw}, \mathbf{u}_{as} and uad\mathbf{u}_{ad},用於在article document encoder 和 the article aggregator中產生attention values。
  4. 最後,串聯 df\mathbf{d}_{f}da\mathbf{d}_{a}並通過一個softmax分類器來預測輸入案件的charge分佈。

4.1 Document Encoder

document embedding problem可轉化爲兩個序列embedding問題(詞 =》句 =》文檔)。
在這裏插入圖片描述
如圖3所示,步驟:

  • 使用sentence-level sequence encoder對每個句子進行emded;
  • 使用document-level sequence encoder對上步驟嵌入的向量進行聚合來生成 document embedding d\mathbf{d}
  • 注意:上述兩 encoders 可使用不同結構,但本文爲了簡便使用相同結構。

Bi-GRU Sequence Encoder

  • 背景:構建 sequence encoder 的一個挑戰是如何考慮不同元素之間的相關性。一個典型方法是Bi-GRU;
  • 基本思想:使用門機制(gating mechanism)編碼每個元素的上下文,來蹤sequence的狀態。具體來說,Bi-GRU首先使用一個前向和一個反向GRU用兩個相反的方向來編碼sequence,之後連接兩個GRU的狀態以形成自己的狀態。
  • 具體過程:給定序列 [x1,x2,...,xT][\mathbf{x}_1,\mathbf{x}_2,...,\mathbf{x}_T],其中 xt\mathbf{x}_t 是輸入元素 tt 的embedding,Bi-GRU在位置 tt 的狀態爲
    ht=[hft,hbt](1)\mathbf{h}_t=[\mathbf{h}_{ft},\mathbf{h}_{bt}]\tag{1}
    其中 hft 和 hbt\mathbf{h}_{ft} \text{ 和 }\mathbf{h}_{bt} 是forward和nackward GRU在位置 tt 上的狀態。The final sequence embedding 不是串聯 hft 和 hbt\mathbf{h}_{ft} \text{ 和 }\mathbf{h}_{bt} 就是使用 ht\mathbf{h}_{t} 的均值。

Attentive Sequence Encoder
在這裏插入圖片描述

  • 背景:當序列較長時,直接使用 [hft,hbt][\mathbf{h}_{ft},\mathbf{h}_{bt}] 來編碼序列通常無法捕獲所有信息,而使用 ht\mathbf{h}_{t} 的均值也具有將useless elements(無用元素)與informative(有用信息豐富)的元素相同對待的缺點。
  • 方法:受(Yang et al., 2016)啓發,使用一個 context vector(上下文向量)來attentively聚合元素,但是當使用extra guidance時,我們允許動態生成context vector,而不是使用global context vector(見4.2)。
  • 具體過程:如圖4所示,給定Bi-GRU狀態序列 [h1,h2,...,hT][\mathbf{h}_{1},\mathbf{h}_{2},...,\mathbf{h}_{T}],attentive sequence encoder 計算attention值序列[α1,α2,...,αT][\alpha_1,\alpha_2,...,\alpha_T],其中αt[0,1] and tαt=1\alpha_t \in{[0,1]} \text{ and } \sum_t{\alpha_t}=1。final sequence embedding g\mathbf{g} 計算如下:
    g=t=1Tαthtαt=exp(tanh(Wht)Tu)texp(tanh(Wht)Tu)(2)\mathbf{g}=\sum_{t=1}^{T}{\alpha_{t}\mathbf{h}_t}\\ \alpha_{t}=\frac{exp(tanh(\mathbf{W}\mathbf{h}_t)^T\mathbf{u})}{\sum_t{exp(tanh(\mathbf{W}\mathbf{h}_t)^T\mathbf{u})}}\tag{2}
    其中,W\mathbf{W}是一個權重矩陣,u\mathbf{u}是context vector,用於區分informative elements 和 non-informative ones。
  • 通過使用該序列編碼器進行fact embedding,fact-side attention模塊實際上包含兩個組件,即單詞級別和句子級別,分別使用 ufw\mathbf{u}_{fw}ufs\mathbf{u}_{fs} 作爲它們的global context vectors。

4.2 Using Law Articles(多輸出)

  • 挑戰:成文法包含大量articles,這使得將複雜的模型直接應用於這些articles非常耗時,因此難以擴展。
  • 方法:一個two-step方法,具體來講,首先構建一個快速易擴展的分類器來過濾掉很大一部分不相關的articles並保留 top kk articles;之後,使用神經網絡來全面理解 top kk articles,進一步使用 article-side attention 模塊來選擇最支持charge prediction的articles。

Top kk Article Extractor

  • 方法:將相關articles提取視爲多個二分類問題。具體來講,對每個article構建一個二分類器,重點關注與輸入案件的相關性,共構建321個二分類器,擴展只需添加更多的二分類器即可。
  • 具體方法:用 word-based SVM 作爲二分類器,該分類器速度快且在文本分類中表現良好。具體來講,使用bag-ofwords TF-IDF作爲特徵,使用chi-square(卡方)作爲特徵選擇,使用線性核用於二分類器。

Article Encoder

  • 方法:每個 law article 可能包含多個句子,所以對於提取的top k articles使用4.1所示的 document encoder 來生成 embedding aj,j[1,k]\mathbf{a}_j,j\in{[1,k]}。在使用類似的體系結構時,article encoder 與fact encoder 不同,它不是使用global context向量,而是根據其對應的 fact embedding df\mathbf{d}_f 爲每個案件動態生成其word-level text vector uaw\mathbf{u}_{aw}和 sentence-level context vector uas\mathbf{u}_{as}
    uaw=Wwdf+bw;     uas=Wsdf+bs(3)\mathbf{u}_{aw}=\mathbf{W}_w\mathbf{d}_f+\mathbf{b}_w;\ \ \ \ \ \mathbf{u}_{as}=\mathbf{W}_s\mathbf{d}_f+\mathbf{b}_s\tag{3}
    其中,W\mathbf{W}_*爲權重矩陣,b\mathbf{b}_*爲偏置。
  • 作用:context vectors,uaw\mathbf{u}_{aw}uas\mathbf{u}_{as} 分別用於生成 word-level and sentence-level attention 值。通過動態context vectors,fact embedding df\mathbf{d}_{f} 實際上指導我們的模型針對每個案件的事實關注信息量大的單詞或句子,而不僅僅是選擇一般性的信息量大的單詞或句子。

Attentive Article Aggregator

  • 目標:從提取的 top kk articles中找到用於charge prediction的支持性articles,並相應地生成 aggregated article embedding
  • 現狀:top k extracted articles的順序並非十分可信==》使用雙向 RNN 來 embed 每個元素的 context 仍然是有益的,即使在順序不存在的集中也是如此。==》有利於利用相關articles的co-occurrence tendency(共現趨勢)
  • 具體方法:使用4.1中的attentive sequence encoder來生成aggregated article embedding da\mathbf{d}_a。再次,爲了用事實描述引導attention,我們動態地生成article-level context vector uad\mathbf{u}_{ad}:
    uad=Wddf+bd(4)\mathbf{u}_{ad}=\mathbf{W}_{d}\mathbf{d}_{f}+\mathbf{b}_{d}\tag{4}
  • 小結:the attentive sequence encoder產生的attention values可以看作是每個article與輸入case的相關性,可以用來對 top k articles 進行排名和過濾。結果可以顯示給用戶作爲charge prediction的法律依據

4.3 The Output

爲了最後的charge prediction,首先串聯 document embedding df\mathbf{d}_f 和 aggregated article embedding da\mathbf{d}_a,之後輸入到兩個 FC 層生成 vector d\mathbf{d'},之後通過一個softmax分類器生成預測的charge分佈。我們使用驗證集(validation set)確定閾值 τ\tau,將所有輸出概率大於 τ\tau 的charges視爲positive預測。FC的輸入只有df\mathbf{d}_fda\mathbf{d}_a,這意味着我們僅使用fact或articles進行預測。

損失函數:交叉熵
Loss=i=1Nl=1Lyillogoil(5)Loss=-\sum_{i=1}^{N}\sum_{l=1}^{L}{y_{il}\log{o_{il}}}\tag{5}
其中 NN 表示訓練數據的數量,LL 表示charges的數量,yily_{il}oilo_{il}表示案件 ii 對於charge ll 的 target 和 預測概率。charge target分佈yil\mathbf{y}_{il}是通過將positive labels設置爲 1mi\frac{1}{m_i}、negative設置爲0完成的,其中 mim_i 是案件 ii positive 標籤的數量。

Supervised Article Attention

  • 基本思想:利用在判決文書中自然地使用gold-standard law articles來監督訓練期間的article attention
  • 具體來講,給定 top kk articles,我們希望 article attention distribution αRk\mathbf{\alpha}\in{\mathbb{R}^k} 模擬 target article distribution tRk\mathbf{t}\in{\mathbb{R}^k},若article jj 是gold-standard articles 那麼 tj=1kt_j=\frac{1}{k'} 否則 tj=0t_j=0。其中,kk' 是top kk articles中 gold-standard articles 的數量。之後,再次使用cross entropy loss function:
    Loss=i=1N(l=1Lyillog(oil)+βj=1ktijlog(αij))(6)Loss=-\sum_{i=1}^{N}(\sum_{l=1}^{L}{y_{il}\log{(o_{il})}}+\beta\sum_{j=1}^{k}{t_{ij}\log{(\alpha_{ij})}})\tag{6}
    其中,β\beta是article attention損失的權重。

5 Experiments

5.1 Experimental Setup

  • HanLP:中文分詞、詞性標註(POS tagging)
  • Word embeddings:使用word2vec在判決文件、多個法律論壇和百度百科的網頁上訓練。詞嵌包含573,353 words、100dimension。
  • the final input:對於每個POS tag初始化50-d向量並串聯word embedding。
  • 超參數設置:Bi-GRU中每個GRU大小爲75,兩個FC層大小爲200、150。article extractor 生成 top 20 articles,公式6中β=0.1\beta=0.1,閾值 τ=0.4\tau=0.4,訓練使用SGD,學習率爲0.1,batch-size=8。

模型變形(2種):不帶article attention supervision 和 只使用facts進行charge prediction。

  • 後者類似於state-of-art文本分類(Yang et al., 2016),但適應了我們問題的多標籤性質。

評價指標:precision, recall and F1,包括micro-level和macro-level

  • 背景:charge分佈不平衡,top 5 charges佔據超過60%的案件。
  • macro-precision/recall:每個charge的precision/recall平均值
  • micro-precision/recall :averaged over each prediction

Experiments

Charge Prediction Results

在這裏插入圖片描述
Article Extraction Results
在這裏插入圖片描述
Performance on News Data
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章