基于自然语义处理的裁判文书分割系统
2018-03-29郑少婉陆培民
郑少婉,陆培民
(福州大学 物理与信息工程学院,福建 福州 350002)
0 引言
现如今,各大法律数据库内文书都达到了千万份的数量级别,通过统计发现平均达到1 200万余份。不管是制作文书还是文书的判决方面,每一篇文书至少需要一名律师进行代理以及一名法官参与制作。因此,这庞大的裁判文书库中就蕴含着千万人次的律师与法官的参与。
立法存有一定的滞后性,不同的法院、法官对案件裁判的准则、尺度都存在差异,因此人们对案件的检索、案件分析和利用都变得困难。然而,对于刚入行的诉讼律师而言,通过搜索查找相似案例的方法,对案件进行分析以及对自身新案件进行策略制定、案件预判,都是至关重要的。对于不是诉讼律师的人来说,通过对案例的分析来了解当下的法律条文,可以避免公司运营、合同合约条款中存在的法律风险点。因此,对于法律案件的查找、分析、利用,不仅仅是法律人所需求的,也是当今很多人的需求。
通过以上需求,本文试图在法律专业垂直领域构建面向自然语义处理的裁判文书分割系统,对裁判文书按字段进行分析。针对案件的分析,首先利用SVM分词之后,通过同义词分析等技术实现语句的含义分析,将文书分割为判决书信息、原告信息、被告信息、案由信息、案件事实、原告诉求、被告辩称、证据信息、法院认定证据、法院观点、法律依据、判决结果等字段,进而提升裁判文书的查找速度以及案例分析的效率。
1 系统总体设计
1.1 系统框架
图1 系统框架
系统主要由后台的Java端和前台的Android端构成,两端通过Socket进行通信。设计框图如图1所示,Android端输入裁判文书,然后传输给Java服务端,Java服务端对收到的裁判文书首先按模型进行分词、词性标志等操作,再将分词等处理之后的文书进行语义基础上的分割。最后把处理得到的裁判文书结果传输给Android客户端,客户端将其显示到文本框界面。
1.2 系统功能设计
将裁判文书分割系统设计成两个部分,一部分为线下语料库的分词、词性标志等训练;另外一部分为线上的分析预测,即对分词等预处理后的文书进行分割处理。如图2所示,线下的语料库训练:通过爬虫技术从裁判文书网上采集到裁判文书存于MySQL数据库中,接着利用SVM、CRF等模型对文书进行中文分词、词性标志、依存句法分析等训练;线上分析预测部分,将分词、词性标志、依存句法分析之后的裁判文书进行语义方面的处理,包括语句处理、关键词提取、关键词相似度计算等,最后将裁判文书进行断句分割以及多个断句多次分割,其分割信息存于MySQL中,或显示在Android界面。
图2 语料库训练模块
上述系统中主要研究的是裁判文书通过自然语义理解的方法自动识别语句中的关键词,如“被告”、“原告”、“原告诉求”、“原告依法提起诉讼”等。其中最为关键的是系统能在语义基础上将“原告诉求”、“原告依法提起诉讼”等类似词,在分割字段信息中进行同等处理,将其划分为原告诉求字段。
2 系统模块
2.1 裁判文书线下模块
裁判文书线下模块包含语料库采集模块和裁判文书训练模块。裁判文书语料库模块包括采集模块和裁判文书语料抽取模块[1]。其中采集模块主要是从裁判文书网采集到尽可能多并且全面的中文裁判文书。裁判文书线下训练模块包括利用机器学习算法对裁判文书的句法成分进行分析以及结合传统的匹配法则进行语义关键信息提取。
2.2 裁判文书线上分析模块
语义理解是一种建立在词向量基础之上的相似度计算方法。它可以自动获取一些特定领域的未登录名词的对应语义模式,通过相似度计算方法,解决在一些特定领域的未登录词的相似问题。 然而相似度计算最大的关键点正是词向量的构建。因此,系统在法律专业领域上,首先利用Word2vec对裁判文书进行词向量构建,接着再利用余弦方法进行相似度计算,最后得到相似度值。
Word2vec的思想也如神经网络,它的结构为输入层-隐层-输出层的形式。Word2vec的关键部分是由Huffman编码构成词频。在其作用下,一些词频相似的词语的隐藏层激活的内容基本一致。当一些词语出现的频率越高时,它们激活的隐藏层数目会越少。因此通过Huffman编码可以有效地降低计算的复杂度。Word2vec不仅对语言模型进行建模,也可将词转化成向量。对于普通词语,如“过错”和“过失”在词语本身就只有一点点的差异,毋庸置疑将其定义为相似词。而对于“飞单”和“银行工作人员私自理财”这两词,单单按普通的匹配方式,它们差别很大,完全得不到相关性。而利用Word2vec的方法,从词频和词向量的方式计算可知两词具有很高的相关性。因此,对于这种将单词转化成向量的数值计算方法,可以得到意想不到的结果。
Word2vec构建词向量的方法包括“CBOW”和“Skip-gram”两种语言模型[2]。单纯地使用这两个模型中的一个模型来说,它们利用了Softmax函数,将会使时间复杂度变大,计算代价变大,而且对于大批量的文书训练,训练时间较长。
系统结合Skip-gram模型和 Hierarchical Softmax来降低时间复杂度。具体其网络结构如图3所示。
图3 Skip-gram 模型的结构示意图
Skip-gram模型处理的是在已知当前词W的基础上,预测其上下文Context(w)的词,则其语言模型的概率函数为:
(1)
其中,u表示w的上下文中的一个词语。
(2)
(3)
3 系统整体性能评估
3.1 语料库实现效果
裁判文书的分词、词性标注、依存句法分析的准确率是关键词提取以及文书分割准确率的前提。因此本系统在分词上采用了层叠HMM-viterbi模型对语料库进行了命名实体分词、未登录名词的训练[3],词性标志上采用了CRF模型进行训练以及利用SVM模型进行依存句法分析训练等操作。系统结合了这三者的训练,对裁判文书进行结构以及语句上的分析训练。此系统的分词效果可由以下例子进行分析,例如:“北京庄胜房地产开发有限公司”通过此方法进行分词时,结果如下:北京/ns, 庄胜/nz, 房地产/n, 开发/vn, 有限公司/nis,从这个分词结果中可看到,嵌套的机构名中,对人名、地名都可识别出来。最后将系统的分词、词性标志以及依存句法分析的结果与哈工大的LTP进行对比,准确率比较如表1~表3所示。
表1 中文分词准确率
表2 词性标注准确率
表3 依存关系准确率
其中准确率计算由如下方法得出:
准确率=正确分词(标志正确、依存关系分析正确)数目/实际进行分词(词性标志、依存关系)数目
3.2 分割效果
Android端输入裁判文书如图4所示。最初始输入完整的裁判文书,经模型分词、词性标志等处理之后,再送由Word2vec将各分词结果转化成词向量形式,进行各字段的信息的前后匹配、计算,得到分割结果。图5展示了分割之后的法院判决的观点和判决结果信息。
图4 Android端输入 图5 分割效果
4 结束语
本文使用了自然语义处理技术来提取裁判文书的关键信息,从而对案例的查找、分析及使用起到关键的辅导作用。
在本系统中,核心问题在于裁判文书关键信息的提取部分,采用了基于Word2vec基础上的自然语义处理技术来实现。利用Word2vec提取各字段中关键词并进行边界词识别、各字段内容分割。训练语料库时,对47 000余条的裁判文书进行了封闭式的训练,其训练结果使分词、词性标志、依存关系的准确率都达到了98%以上。外部输入文书的开放性测试,均达到了97%以上的准确率。
[1] 向李兴.基于自然语义处理的裁判文书推荐系统设计与实现[D].南京:南京大学,2015.
[2] 李跃鹏,金翠,及俊川.基于word2vec的关键词提取算法[J].科研信息化技术与应用,2015(4):54-59.
[3] 刘群,张华平,俞鸿魁,等.基于层叠隐马模型的汉语词法分析[J].计算机研究与发展,2004,41(8):1421-1429.