【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
在这里插入图片描述

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