杨品莉,谢志长
(四川大学电子信息学院,成都610065)
司法领域中,司法文件存在数据量大,文件种类繁多,案件涉及面广等问题,所以实现司法领域中的信息自动化是司法领域发展的必然趋势。司法领域中的信息自动化可以减轻司法从业人员的工作负担,有助于提高司法行业办事效率,有利于实现司法领域的信息共享[1]。
近年来,随着各种自然语言处理技术的不断提出,以及司法领域实现司法信息自动化的迫切需要,越来越多的自然语言处理技术应用到司法领域中,如实体识别、关系抽取等[2]。在法律案例文本中存在着大量的司法领域实体,如“张三”、“四川省人民法院”、“成都市中级人民检察院”等专用名词,这些司法领域实体的识别是实现司法领域信息自动化的基础,是后续实现司法信息抽取,构建司法领域知识图谱等技术的前提。因而,司法领域实体识别的研究对司法领域的发展显得尤为重要。
目前,命名实体识别作为自然语言处理的一项基础研究,在很多领域都取得了大量的研究成果[3-4]。但是由于中文字符相较于英文字符的特殊性,中文字符存在一词多义的现象以及中文字符词与词的联系比较紧密,中文领域实体识别的研究成果目前相对比较少[5-6]。由于司法领域的特殊性,具有专用名词多,训练数据难以获取等特点,因此司法领域的实体识别研究成果相对更少。最早的命名实体方法有以下几种:①基于词典和规则的方法[7],此类实体识别方法需要专家手动创建规则模板,利用模式和字符串匹配识别命名实体;②基于统计的中文命名实体识别方法,包括条件随机场(Con⁃ditional Random Fields,CRF)[8]、最大熵模型(Maximum Entropy,ME)[9]、隐马尔可夫模型(Hidden Markov Mode,HMM)[10]、支持向量机(Support Vector Machine,SVM)[11]等,基于统计的方法需要从训练语料中统计分析出特征,并将特征加入到特征向量中。以上两类方法都对语料库的要求比较高,需要专家手动从数据集中提取特征,并且两类方法的可移植性和准确率也比较差。随着深度学习技术在自然语言处理中的应用越来越广泛,以及词的分布式表示[12]的提出,基于深度学习的命名实体识别技术也取得了一些成果[13],并逐渐应用到各类领域实体识别中。然而,基于深度学习的方法根据一系列给定的特征独立的对每个字符进行预测,没有考虑上文已经预测的标签,这可能造成预测到的标签序列无效[14],这在一定程度上降低了实体预测结果的准确性。
基于此,本文提出了一种基于BiLSTM-CRF[15-17]网络模型的司法实体识别方法,并采用Adam 优化器对模型进行优化。基于BiLSTM-CRF 的网络模型除了能够保留基于深度学习方法的优点,将字符作为基本的处理单位,对每个字符分配类别标记外,还引入了一些约束条件,避免了基于深度学习的方法存在的问题,能够获得比较高的实体识别准确率。方法的总体流程图如图1 所示,首先处理司法案例文本,获取数据集,然后将数据集放入BiLSTM-CRF 网络模型训练,选取最优的优化器,并与其他模型比较,实验结果表明我们提出的模型在司法领域实体识别上是有效的。
图1 本文实现司法实体识别方法总览
循环神经网络(Recurrent Neural Network,RNN)[18]是一种典型的处理序列化语句的深度学习网络模型,其在理论上能够处理任意长度的序列,学习到任意长度的上下文信息。但经实践证明,如果序列的长度过长,会出现梯度消失问题而无法继续进行优化。由此可得出RNN 存在长度依赖问题,并不能获取任意长度的上下文特征信息。
针对这个问题,长短期记忆模型(Long Short-Term Memory,LSTM)[19]被提出,LSTM 模型实际上是RNN 模型的一种改进模型。LSTM 模型及LSTM 单元工作流程如图2 所示,该模型利用门机制改变传送到细胞状态的信息来保持信息传递的持久性,从而能够学到长距离上下文特征,有效解决RNN 的长度依赖问题。
图2 LSTM单元工作流程
LSTM 模型由三个用sigmoid 作为激活函数的门结构及一个细胞状态组成,三个门结构分别为输入门,遗忘门和输出门。LSTM 一个单元的工作流程为:
其中当前时刻的输入为xt;前一时刻的隐层状态为ht-1;当前时刻的隐层状态为ht;临时细胞状态为;当前时刻细胞状态为Ct;上一刻细胞状态为Ct-1。遗忘门的作用是选择要遗忘的信息,遗忘门的输入为ht-1和xt,输出为遗忘门的值ft。计算当前时刻细胞状态,输入的值为it,ft,以及Ct-1,输出为当前时刻细胞状态Ct。计算输出门和当前时刻隐层状态,输入为ht-1,xt以及Ct,输出为输出门的值Ot以及隐层状态ht。最终,得到与句子长度相同的隐层状态序列:
但是单向LSTM 模型只能编码从前到后的信息,不能编码从后到前的信息。为了获得更多的信息,BiL⁃STM[20]被提出,BiLSTM 模型由前向LSTM 模型(提取过去的特征)和后向LSTM 模型(提取未来的特征)组成,可以得到双向的语义信息。本文在后续实验中采用BiLSTM 模型,对每个句子都执行前向和后向操作。
为了解决从BiLSTM 模块中输出的标签序列可能无效的问题,我们提出将CRF 模块连接到BiLSTM 模块的隐层输出,对BiLSTM 模块输出的标签序列联合解码,进行句子级的序列标注,而不是单独解码每个标签。
CRF 一般用于计算整个序列的联合概率。CRF 的参数化形式定义如下:
图3 BiLSTM-CRF模型
式中,tk,δl是特征函数,λk,μl为相应的权重,Zx是规范因子。上式指根据输入序列x,得到输出序列y的条件概率。tk是定义在边上的特征函数,称为转移特征,依靠当前词及前一个词判断是否符合该特征,由当前位置及前一个位置决定。δl是定义在节点上的特征函数,称为状态特征,由当前位置决定。tk,δl都由具体位置决定,所以是局部特征函数。通常,特征函数的取值为1 或0;当条件满足时取1,条件不满足时取0。因此,CRF 输出结果完全由特征函数tk,δl及权重λk,μl决定。
CRF 模块可以通过从训练集学习到一些约束,以确保最终预测到的实体标签序列是有效的,从而解决基于神经网络方法的预测标签序列可能无效的问题。在CRF 模块的损失函数中,输出分数最大的序列为标签预测序列,我们假设给定序列X,设序列标注结果为y,则定义分数为:
其中,P是BiLSTM 模块隐层输出经线性操作后得到的初试得分矩阵,A是转换得分矩阵。Ai,j为标签i后面的标签为标签j的概率,Pi,j为词Wi映射到标签j的概率。对输入序列X对应的输出标签序列y计算分数,最终的预测标签序列为得分最高的序列。
本文的BiLSTM-CRF 网络结构如图3 所示,该网络结构由BiLSTM 和CRF 两部分组成。首先,查找输入文本序列中每个字符对应的字符向量,将查找得到的字符向量序列作为模型中BiLSTM 模块的输入,分别通过该模块前向LSTM 及后向LSTM 得到字符向量的隐层编码表示,然后通过CRF 层为每个字符分配标记,计算初试得分和转换得分两类分数,最终输出的标记序列为总分最高的序列。
本文实验数据集来自从裁判文书网上下载的1000份裁判文书,主要包括减刑案件、假释案件以及暂予监外案件三种案件的裁判文书,我们将其中600 份裁判文书作为训练集,200 份作为验证集,200 份作为测试集。首先,将1000 份裁判文书规范格式,去掉空格,然后在法学专家的帮助下利用语料标注工具YDEEA 将裁判文书标记为BIO 字标签形式作为模型的输入。在本文中,我们定义了5 类实体类别(姓名,地点,司法单位,案卷编号,犯罪类型)以及11 类字标签,如表1所示。
表1 BIO 字标签类别
本文基于NVIDIA 1080TI 显卡及CUDA 9.0 提供的GPU 运算支持实现了对BiLSTM-CRF 网络模型的训练及测试。本文设计实现的司法实体识别系统基于Python 程序设计语言开发,神经网络模型的开源工具使用的是TensorFlow 框架。
实验中使用的超参数设置如表2 所示。其中,词向量维度设置为200,最大序列长度设置为300,epoch设置为300,Batch_size 设置为16,dropout 设置为0.5,learning rate 设置为0.001。
表2 训练BiLSTM-CRF 模型参数设置
为了本文的模型进行评估,在本文中采用准确率(precision),召回率(recall)以及F1 值(F-measure)作为评价指标。评价指标的计算公式如下所示:
在实验中,我们采用目前主流的优化器自适应矩估计(Adam)优化实验结果。Adam 具有计算不同参数的自适应学习率的能力,以及低内存需求和高计算效率,适用于较大规模的数据集。为了验证Adam 优化器的效果,我们在对比实验中采用GD,RMS prop 优化器分别对模型进行优化,比较不同优化器对实验结果的影响。
门循环单元(GRU)[21]是LSTM 的变体。GRU 中只有更新门(获取序列中长距离依赖关系)和重置门(获取序列中短距离依赖关系)。本文为了体现BiLSTM 在特定司法文本数据集上的效果,对比实验将BiLSTM 模块替换为GRU 模块,对网络重新训练。
在基于BiLSTM-CRF 的网络模型上训练数据集,准确率,召回率以及F1 值等几项评价指标都取得了比较好的结果,其中准确率为0.876,召回率为0.858,F1值为0.855。如表3 所示,使用Adam 优化器相较于其他优化器取得了更好的实验结果,准确率、召回率及F1 值都明显高于其他优化器。
表3 不同优化器在数据集下的评价指标比较
根据表4,模型中使用BiLSTM 模块比使用GRU模块,准确率提升了0.038,召回率提升了0.06,F1 值提升了0.028。对比实验表明在司法文本数据集上,采用BiLSTM 来输出标签序列可以获得更好的实体识别效果。
表4 不同模型在数据集下的评价指标比较
本文对减刑、假释以及暂予监外的裁判文书中的姓名、地点、司法单位、案卷编号、犯罪类型等5 类实体进行识别。表5 比较了裁判文书中不同实体类型的识别效果,结果显示案卷编号的几项评价指标比较低,这可能是由于案卷编号的描述比较复杂,既有数字、文字,有的可能还含有括号,比较难找到一种通用的规则。
表5 不同实体的评价指标比较
本文设计实现了基于BiLSTM-CRF 的司法领域实体识别系统,该系统能识别出减刑案件,假释案件及暂予监外案件的裁判文书中的姓名,司法单位,地点,案卷编号,犯罪类型等实体,在各项评价指标上都取得了比较好的结果,为实现司法信息自动化,研究司法事件抽取,构建司法领域知识图谱打下了基础。
另外,该系统也存在一些待改进的地方,例如可以通过增加语料,实现更多司法实体类别例如法条等的识别。还可以通过细分实体类别来获得更准确的实体识别结果。因此下一步计划采用通用数据集与司法领域数据集相结合的方式扩充数据集,以期提高实体识别效果和识别更多在司法领域中比较关键的实体。