APP下载

面向大规模裁判文书结构化的文本分类算法

2021-01-08谷松原李俊良

关键词:结构化文书段落

翁 洋,谷松原,李 静,王 枫,李俊良,李 鑫

(1. 四川大学数学学院,成都 610064;2. 四川大学法学院,成都 610207;3. 数之联科技有限公司,成都 610041)

国务院先后发布的《促进大数据发展行动纲要》、《新一代人工智能发展规划》,将大数据和人工智能发展正式上升到国家战略[1].近年来,最高人民法院积极推动人工智能在司法领域的应用向纵深处延展,为司法领域内人工智能的应用研究提供了时代契机.在国家政策的强力推动下,法院信息化建设工作蓬勃发展,法院信息化走向3.0 阶段,智慧法院已经成为中国法院组织、运行和管理的一种新的形态.法院的司法公开工作也取得重大进展,截至2019年12 月,已经有超过八千万份的裁判文书上网,为法律人工智能的实践和研究提供了海量的数据资源.

裁判文书是记载司法审判活动过程,明确当事人权利义务的司法产品[2],是司法活动成果的重要载体,也是研究法律文本信息的重要资源.裁判文书蕴含丰富的案件审判活动信息,其中案情事实、法律适用等信息尤为关键.基于案件关键审判信息,宏观层面,可以进行法律法规实施效果评估、诉讼制度改革效果评价等方面的研究;微观层面,可以进行裁判文书质量评估、案件复杂度测算等具体法律问题的研究.同时,也为基于裁判文书的类案推荐、裁判结果预测、智能问答等法律人工智能应用研究提供重要的要素指标.但是,裁判文书基本以纯文本形式公开,属于典型的非结构化数据[3],不同性质的内容的结构和形式可以说是完全不同的,而且因法院、法官、案由、撰写时间、表述风格等因素的不同,即使是相同性质的内容也都有着较大差异,这就使得从裁判文书中准确地识别和抽取信息变得十分困难.面对海量的裁判文书,人工处理不仅要耗费大量的时间和精力,还可能因为标准难以统一、过程难以控制而效果较差.因此,十分有必要探索基于规范要求的自动化的裁判文书结构化方法和路径,将形态各异的裁判文书转化为机器更易识别的、更为标准化的文本数据,为人工智能在法律领域更为广泛地应用提供数据基础.裁判文书根据案件类型,分为刑事、民事、行政、赔偿、执行、其他等共计6 类案件,其中民事案件文书占比达半数以上.在民事案件文书中,一审普通程序裁判文书占比超过80%,截至2019 年12 月,其数量超过两千万份.此外,该类文书表达多样性的特点更为突出,因此本文选取民事一审普通程序裁判文书作为研究样本.

裁判文书结构化是指对文书段落打上相应标签,属于文本分类任务.标签包含标题、首部、事实、理由、裁判依据、判决主文、尾部、落款、附录9 大类.目前的结构化方法因未考虑到裁判文书的上下文段落标签的结构特征,结构化效果较差.本文考虑将一种基于注意力机制的双向编码表征模型(bidirectional encoder representations from transformers,BERT)模型与双向的带条件随机场的长短期记忆(bidirectional long short-term memory conditional random field,Bi-LSTM-CRF)序列标注模型结合,首先依据最高人民法院下发的工作文件,并结合司法实务中的文书表达多样性整理民事一审普通程序裁判文书的标签体系;其次采用文本分类模型BERT 模型提取语义特征信息,作为段落的语义表示;最后,根据段落的语义内容,考虑文书上下文段落标签的结构特征,以篇章为输入,应用Bi-LSTM-CRF 模型进行序列标注,给文书段落打上相应标签,得到了几乎完全准确的段落文本分类结果.这种基于段落上下文的序列标注方法利用了裁判文书特有的段落结构信息,能够较好地提取语义特征信息,从而能够完整地利用到整篇裁判文书的信息,不会有信息损失,成功实现了裁判文书的结构化任务.

综上所述,本文首先实现了既符合最高人民法院裁判文书规范化改革,也满足司法实务逻辑,同时兼顾到机器处理的技术需求的民事一审普通程序裁判文书的标签体系梳理;其次改进了裁判文书结构化方法,完整地利用了文书段落的语义信息和上下文段落标签的结构信息;最后基于该方法实现了良好的结构化效果,为基于裁判文书本身的体例研究、质量评估提供参考工具,为裁判文书中的关键审判信息的提取奠定基础.

1 相关工作

目前在法学领域内存在两种裁判文书结构化方法.一是正则表达式匹配,即通过正则表达式匹配进行相应段落的标签确定[4].该方法考虑到了裁判文书中的规范性表达,但是依托于海量裁判文书的正则表达式无法穷尽,存在着现有的正则表达式无法实现新增裁判文书的结构化处理的困境,也存在着正则表达式之间彼此可能存在冲突的难题,这是基于正则表达式本身的弊端.就裁判文书的表达而言,部分段落的正则表达一致,如“原告诉称”“被告辩称”“第三人陈述”等段落,在语义上没有明显区分,但因其属于不同的结构位置,而分属于不同段落,正则表达式无法解决这一问题,从而无法实现良好的结构化效果.二是基于文本分类模型的结构化方法,裁判文书结构化任务实际上就是段落文本的多分类问题.传统的分类方法一般先对文本做预处理,利用连续的词袋模型、向量空间模型[5]或基于主题特征[6]的向量表示方法等多种方式进行文本表示,提取特征,然后用分类器对分类结果进行预测[7],但是传统的分类方法提取特征的能力很差,并且需要大量的人工进行特征工程.单词的分布式表示[8]的提出和有效应用把高稀疏的文本数据转化为计算机能有效处理的数据,在图像处理中基于卷积神经网络(convolutional neural networks,CNN)模型[9]、递归神经网络(recurrent neural network,RNN)模型[10]以及它们的变体[11]的分类方法得以在文本数据中使用.因此基于深度学习的文本分类方法得以大显身手,端到端地解决问题,有较强的特征自抽取能力,能够显著降低传统的文本分类方法中人工抽取特征的难度.2014 年,Kim[12]提出了文本循环神经网络(text convolutional neural networks,TextCNN)模型,TextCNN 模型并行能力强、网络结构简单、参数数目少、计算量少、训练速度快、卷积网络能够有效地提取特征.但是TextCNN 模型中全局的池化操作(pooling)中丢失了结构信息.在此基础上,也可以考虑利用字向量嵌入CNN 模型对文本进行分类[13],但同样只能提取局部特征.快速文本分类(fast text classifier,FastText)模型[14]网络结构简捷,训练速度相比TextCNN 模型更快,但是效果略差于TextCNN 模型.文本递归神经网络(text recurrent neural network,TextRNN)模型相比TextCNN 模型,能够提取更远距离的上下文信息,但是模型参数多、并行能力差,二者各有优劣[14],本文选用TextCNN 模型作为基线模型.

BERT 模型由Devlin 等[15]提出,该模型是经过大型文本语料库训练后获得的通用的“语言理解”模型,是首个用于自然语言处理进行预训练的无监督、深度双向系统.BERT 模型的优势是提取特征的能力强,解决了一般的词向量方法无法处理一词多义问题的困难,并且能够适用各种自然语言处理任务,针对不同的自然语言处理任务,只需在微调时对模型进行改动,调整参数即可.针对文本分类任务,只需要在微调时在需要分类的文本前加上起始符号[CLS],最后加上全连接层进行分类预测.

以上模型基于文本段落的语义本身进行标签匹配,对于裁判文书中语义没有明显区别的段落,没有考虑到裁判文书本身存在的结构性特征、段落级别的上下文语义之间的关系,难以进行精准匹配.裁判文书本身的结构性信息使得段落标签有一定的关系,想要利用段落之间标签的信息,可以从Bi-LSTM-CRF模型得到启发.Bi-LSTM-CRF 模型结合了双向长短期记忆(bidirectional long short-term memory,Bi-LSTM)模型和条件随机场(conditional random field,CRF)模型的优点[16],不仅能利用上下文的语义信息,而且能学习前后标签之间的信息[17],提高分类预测的准确度.RNN、长短期记忆模型(long short-term memory,LSTM)、Bi-LSTM 等模型能有效地学习上下文之间的信息,但考虑到段落标签之间有一定的限制,因此利用CRF 模型将整个句子的局部特征加权,学习标签之间的关系,最终得到最优的分类结果.这种将两种模型联合训练得到最终的序列标注模型的方法在词法分析、序列标注、命名实体识别等自然语言处理的任务种是很常见的[18-19].

基于以上思路,考虑将Bi-LSTM-CRF 模型用于裁判文书结构化任务.词法分析等任务是针对句子级别的任务,但是裁判文书结构化任务针对段落进行分类.因此本文考虑将BERT 模型与将Bi-LSTM-CRF模型结合,首先对整篇裁判文书进行段落级别的特征向量提取,再将整篇裁判文书作为Bi-LSTM-CRF 模型的输入,进行段落级别的标签匹配任务.这一方法将整篇文书作为标注对象,考虑裁判文书的结构性特征,段落标签之间有一定的顺序和限制,利用CRF 模型对相应段落标签的信息进行学习,最终得以匹配最合适的标签.本文的实验结果证明,基于BERT 的Bi-LSTM-CRF 模型在对裁判文书的段落进行标签匹配时,与基线模型相比,准确度和F1值都有很大的提升,得到了几乎完全准确的结构化结果.

2 方 法

2.1 任务概述

裁判文书结构化是指对文书段落打上相应标签,属于文本分类任务.裁判文书具有上下文段落标签的结构特征,即在同一篇裁判文书中,段落标签出现的顺序有一定的规律,如“法院认定事实”段落在“法院说理”段落前,而上下文的标签信息,是文书结构信息的参考指标.

2.2 实验模型

2.2.1 TextCNN 模型

TextCNN 模型[12]借鉴了传统CNN 模型的思想,类比图像处理中的像素点,针对段落级别的多分类问题,TextCNN 模型选择将一个自然段落中每个词的词向量拼接起来形成段落矩阵,作为输入.因为一个段落中处在相邻位置的词语是有一定联系的,因此在卷积层选取大小不同的多个卷积核进行处理,用以提取特征,这样不仅考虑了单个词语的语义信息,也考虑了该词语在段落中的上下文的信息.在池化层选取了一维最大值池化(1-max-pooling)将卷积层得到的多个特征向量中的最大值取出,拼在一起得到段落级别的向量v,这个向量可以作为段落的特征表示.如果处理文本分类任务,则在池化层后面加上全连接层,用于计算段落属于每一个类别的概率,选取概率值最大的一类作为预测结果.

2.2.2 BERT 模型

BERT 模型[15]是一种无监督的深层双向系统,采用一种基于注意力机制的编码- 解码框架(Transformer)的编码器作为主体模型结构,对文本建模,由此得到文本中每个词新的表示,这一表示不仅包含其本身的意思,还包括了文本上下文的信息.BERT 模型的预训练过程有2 个任务;第1 个任务是带掩码的语言模型,随机选取15%的位置的词,选择将该词挖去、替换或保持不变,利用语言模型去预测该位置的正确单词,便于利用文本上下文信息;第2个任务是预测两个句子之间的关系,给定两个句子s1和s2,预测 s2是否为接在s1后出现的句子,便于学习文本片段上下文之间的信息.考虑将BERT 模型用于特定的段落级别的文本分类任务时,只需要在微调阶段,在待分类的段落前面加上符号[CLS],在模型训练的过程中,[CLS]这个符号也有对应的向量表示,将这一向量表示视为段落的特征表示,记为p,如图1 所示,在Bi-LSTM-CRF 模型中仍会用到这一特征表示.在这一向量表示后加上全连接层,即可计算段落属于每一个类别的概率,选取概率值最大的一类作为分类预测结果.

图1 用于提取段落特征表示的BERT模型Fig.1 Schematic of BERT model used to extract paragraph representations

2.2.3 Bi-LSTM-CRF 模型

图2 Bi-LSTM-CRF模型结构Fig.2 Bi-LSTM-CRF model architecture

在段落级别的分类任务中,基于裁判文书的段落结构之间有特定的联系,导致段落的标签会按照特定的顺序出现这一特点,考虑将Bi-LSTM-CRF 模型中的输入由段落变为篇章.如图2 所示,首先以自然段为单位将篇章分为若干个段落,利用BERT 模型得到段落级别的特征表示,即BERT 模型中[CLS]对应的向量表示,记为p.将得到的向量p 表示输入到Bi-LSTM 层,可以得到每一个段落属于某一类的得分.在CRF 层对段落之间的关系进行建模,考虑到篇章的整体结构,用以排除明显错误的分类结果,得到最佳的分类预测.

2.3 实验步骤

本文设计并实现了一种基于段落上下文的裁判文书结构化方法.首先根据最高人民法院下发的工作文件对民事一审普通程序裁判文书的标签体系进行整理,对数据集中的裁判文书进行人工标注,即对每一篇裁判文书的每一个段落打上对应的标签,得到了人工标注的裁判文书结构化数据集(见第2.3.1 节).将这一数据集分为训练集、开发集和测试集.模型的训练过程包括段落向量模型训练、段落向量表示转化(见2.3.2 节)和序列标注模型训练(见第2.3.3 节)等步骤,得到初步的序列标注模型.接下来利用开发集中的裁判文书数据对模型的参数进行调整,最后利用测试集的裁判文书数据对模型的能力进行评估.

2.3.1 段落标签

本文中的标签体系结合了最高人民法院关于裁判文书样式的规定与司法实践中裁判文书的撰写习惯,并考虑到裁判文书各部分间的内在逻辑,进行综合整理.

2016 年6 月,最高人民法院下发了《人民法院民事裁判文书制作规范》、《民事诉讼文书样式》,这两份文件自2016 年8 月1 日起施行.《民事诉讼文书样式》中将民事一审普通程序文书样式归纳为9 大部分,即标题、首部、事实、理由、裁判依据、判决主文、尾部、落款、附录.其中标题包括法院名称、文书名称、案号组成3 部分;首部包括诉讼参加人基本情况、案件由来和审理经过2 部分;事实包括当事人诉辩意见、证据和事实认定2 部分;尾部包括迟延履行责任告知、诉讼费用负担、上诉权利告知3 部分;落款包括合议庭署名、日期、书记员署名、院印4 部分.综上,最高人民法院在工作文件中对于民事一审普通程序文书的结构规定,共计18 个标签.

但是由于案由特性和不同程序对文书需求存在差异等因素,司法实践中生产出的文书的样式和结构与最高人民法院对文书样式的要求存在一定差异,且这种差异是被法院系统和社会公众广泛接受的.因此,在面向已有文书的处理中,仅以最高人民法院的规范作为标准是不够的,本文在进行标签整理的过程中结合司法实务中的通常写法,对于最高人民法院工作文件的样式进行了删减、调整与补充,内容如下:删除了“院印”(“院印”以印章形式存在,不是结构化工作的研究对象),将“当事人诉辩意见”扩充为“原告诉称”、“被告辩称”、“第三人陈述”3 个标签,增加了“文书标题”“其他”(兜底性标签)2 个标签,形成本文中应用的标签体系.

由此,本文提出的标签体系,既满足于最高人民法院对于裁判文书样式的规范性规定,又符合司法实践中裁判文书撰写的通常习惯,同时充分考虑到裁判文书不同部分之间的内在逻辑联系,在整理中也照顾到了机器处理的技术需求,建立以21 个标签为内容的标签体系.即文书标题、法院名称、文书名称、案号、诉讼参与人信息、案件审理经过、原告诉称、被告辩称、第三人陈述、法院认定事实、法院说理、裁判依据、判决结果、迟延履行责任、诉讼费用、上诉权利告知、审判人员、裁判日期、书记员、附件、其他.标签体系如表1 所示.

表1 标签体系Tab.1 Label system

根据已经确定的21 个标签,对从中国裁判文书网随机抽取的民事一审普通程序的裁判文书进行人工标注,得到了人工标注的裁判文书结构化数据集.

2.3.2 段落向量模型训练及表示转化

将人工标注的裁判文书结构化数据集用来训练BERT 模型,取段落的起始符号[CLS]对应的向量p作为段落的特征表示.对任意的段落文本,都可以得到这样的特征表示,在模型的训练过程中这一向量逐渐有更加成熟的表示.

2.3.3 序列标注模型训练

对完整的一篇裁判文书,首先进行自然分段,将每段文字输入到用于提取段落特征的BERT 模型中,提取段落向量p 作为对应段落的特征表示,将裁判文书每一段对应的段落向量输入到Bi-LSTM-CRF 模型中即可得到段落的分类结果.

3 实验结果与分析

本文的实验环境如下:Linux 操作系统,Tensorflow 作为深度学习框架,Flaskweb 作为服务框架,Python3 作为开发语言.

3.1 实验数据

本文的实验数据来源于中国裁判文书网.在裁判文书中,民事裁判文书在总文书中的占比达半数以上,在民事裁判文书中,一审普通程序裁判文书占比超过80%,因此选取民事一审普通程序裁判文书具有代表性.与其他审理程序的裁判文书相比,民事裁判文书表达更加多样,段落语义信息更为丰富,在完成结构化任务的过程中更具难度,而一审裁判文书是民事裁判文书中的基础文书,因此将民事一审裁判文书作为数据集,有利于将本文中的方法扩展应用于其他文书.在中国裁判文书网上随机抽取5 000 篇民事一审案件适用普通程序的裁判文书,段落量级大概为15 万个自然段落.对于实验的裁判文书数据集进行分割,产生训练集、开发集和测试集(分割比为0.7∶0.15∶0.15).

3.2 实验结果

3.2.1 不同模型的对比实验

本文提出了基于篇章中的段落级别上下文的裁判文书结构化方法,首先利用经过预训练和下游分类任务微调的BERT 模型提取篇章中每一个段落的起始符号[CLS]对应的向量作为段落的特征表示p,然后将整个篇章的若干个段落特征表示输入到序列标注模型中进行标签预测.在实验中,通过消融实验来比较不同的模型提取段落特征的能力以及是否利用段落上下文的结构化信息对结果的影响,将TextCNN 模型作为基线模型,与BERT 分类模型、TextCNN+Bi-LSTM-CRF 模型与BERT+Bi-LSTMCRF 模型分别做实验对比,实验结果如表2 所示.

从准确率、召回率和F1值3 个维度的整体表现来看,BERT+Bi-LSTM-CRF 模型效果非常好,达到了几乎完全准确的结构化效果.TextCNN/BERT+Bi-LSTM-CRF 模型全面优于TextCNN 模型和BERT 模型,准确率、召回率和F1值均有明显提升(均大于3%).利用BERT+Bi-LSTM-CRF 模型得到了几乎完全准确的段落文本分类结果,成功实现了裁判文书的结构化任务.段落向量表示方法的选择影响裁判文书标注的精确度,BERT 模型提取文本特征的能力优于TextCNN 模型,BERT+Bi-LSTM-CRF 模型优于TextCNN+Bi-LSTM-CRF 模型.使用CRF 模型对裁判文书标签之间的关系进行建模,大大地提升了标注的精确度,TextCNN +Bi-LSTM-CRF 模型优于TextCNN 模型,BERT +Bi-LSTM-CRF 模型优于BERT 模型.

表2 实验结果Tab.2 Experimental results

3.2.2 实验结果分析

TextCNN/BERT+Bi-LSTM-CRF 模型全面优于TextCNN 模型和BERT 模型.TextCNN 模型和BERT模型在对数据处理时,将一篇裁判文书的每段文本作为一个样本来进行标注,是基于文本语义上来进行分类的,忽略了一篇裁判文书的结构信息.在裁判文书中存在着如“原告诉称”、“被告辩称”、“第三人陈述”等段落,在文本语义的表示上没有明显区别,只是因为文本出现在篇章中不同的位置,造成分属不同的标签.在使用TextCNN 模型和BERT 模型对段落标签进行预测时,容易将文字内容相近的部分错分.TextCNN/BERT+Bi-LSTM-CRF 模型将一篇裁判文书作为一个样本,在CRF 层从篇章整体的结构中提取标签之间的关系,对裁判文书的每一段进行预测时也对该段在整个篇章的位置有所考虑.这样模型既考虑了裁判文书文本本身的语义信息,也考虑了篇章的结构信息以及上下文的标签信息,从而提升预测的效果.

在进行段落向量表示时,BERT 模型要优于TextCNN 模型.其原因有两点:一是是否采用预训练.BERT 模型在语言模型的预训练阶段运用Transformer 模型提取特征,比TextCNN 模型的网络更加复杂,能更多地提取语义信息,因此效果优于未采用预训练的TextCNN 模型;二是不同模型保留信息的完整度.TextCNN 模型固定了文本的输入长度,当文本过长会从后截断;而在训练BERT 模型的时候,采用的是不固定长度的方式(除非文本长度大于512 个字,会进行截断,实际情况中99.9%的文本段落都小于512 个字),因此保留的信息更加完整.

4 结 语

本文提出了一种利用裁判文书的段落上下文语义特征,对裁判文书结构化的机器学习方法.该方法首先选用BERT 模型用于提取裁判文书段落的语义特征信息,BERT 模型采用Transformer 作为特征抽取器,在预训练阶段选取双向的语言模型,针对特定的文本分类任务进行了微调,在裁判文书的每一自然段落前加上起始符号[CLS],将在BERT 模型中这一符号对应的向量作为该段的语义特征表示,提取特征的能力远远优于TextCNN 模型.考虑文书上下文段落标签的结构特征,最终以篇章为输入,对由BERT模型得到的若干个段落的语义特征向量应用 Bi-LSTM-CRF 模型,进行序列标注的裁判文书结构化处理.实验结果表明,该模型较基线模型而言,准确率、召回率和F1值均有明显提升,尤其在考虑了裁判文书段落上下文标签的结构特征之后,准确率、召回率和F1值有了大幅提升,具有几乎完全准确的结构化效果,实现了段落与标签的精准匹配,为裁判文书的深度应用提供支撑.

另外,值得注意的是本文采取的结构化方法核心在于利用裁判文书段落级别的上下文语义特征信息,并非只是限定于民事一审裁判文书的方法,选取民事一审裁判文书更多是出于实践中的普遍性需求和考量.其他审理程序的裁判文书相较于民事一审文书同样具备段落级别的上下文语义特征信息,因此可以扩展适用本文的方法.

猜你喜欢

结构化文书段落
趣味•读写练 答案
借助问题情境,让结构化教学真实发生
改进的非结构化对等网络动态搜索算法
深度学习的单元结构化教学实践与思考
【短文篇】
左顾右盼 瞻前顾后 融会贯通——基于数学结构化的深度学习
心理小测试
我的小天地
除了合理、最强、高效“3+1文书写作法”的代名词还有什么?
夏天,爱情的第四段落