首页> 中国专利> 一种基于知识图谱和文本分类模型的法律条文推荐方法

一种基于知识图谱和文本分类模型的法律条文推荐方法

摘要

本发明公开了一种基于知识图谱和文本分类模型的法律条文推荐方法,步骤包括:法律知识图谱构建、训练文本数据预处理、多标签分类模型训练、法律罪名要素识别、法律条文推荐。本发明采用知识图谱存储法律知识,可以详细展示各级罪名的关联,同时能够快速响应查询结果,能够方便的进行知识扩展和更新。采用TextCNN进行多标签文本分类,使用罪名作为分类标签,解决了罪名与法条不是一对一对应关系的问题。针对法律罪名信息的组合多样性,可以不断补充语料进行迭代,扩充法条推荐的广度。

著录项

  • 公开/公告号CN113065005A

    专利类型发明专利

  • 公开/公告日2021-07-02

    原文格式PDF

  • 申请/专利权人 南京烽火星空通信发展有限公司;

    申请/专利号CN202110548315.X

  • 发明设计人 穆宁;陶辉;陈洲;阮祥超;朱丹;

    申请日2021-05-19

  • 分类号G06F16/36(20190101);G06F16/35(20190101);G06F40/284(20200101);G06N3/04(20060101);G06N3/08(20060101);G06Q50/18(20120101);

  • 代理机构32200 南京经纬专利商标代理有限公司;

  • 代理人陆志斌

  • 地址 210019 江苏省南京市建邺区云龙山路88号烽火科技大厦A栋26F

  • 入库时间 2023-06-19 11:42:32

说明书

技术领域

本发明公开了一种基于知识图谱和文本分类模型的法律条文推荐方法,涉及知识图谱和NLP技术领域。

背景技术

随着人工智能在各个行业的广泛应用,人工智能结合法律成了一个热门的研究方向。其中比较常见的应用就是法律条文推荐,不仅能够辅助法官进行信息处理,还能为广大群众进行普法,具有明显应用价值。

现有技术中存在一些推荐方法:

1.基于FastText算法的智能法条推荐方法:通过FastText算法针对诈骗罪、抢劫、经济犯罪或离婚纠纷案件类的判决文书(案情描述),将法条作为分类标签,进行多标签文本分类识别,对案件事实进行分析,提供适用的法条推送。

2.基于倒排索引与Seq2Seq模型的法律法规推荐:构建法律法规的全文倒排索引,然后通过seq2seq神经网络模型输出检索文本对应的关键词序列,通过关键词序列在索引库中进行查询对应的法条信息。

现有技术中,方法一用法条作为分类标签,当罪名涉及多个法条的时候,会导致相同样例对应的法条标签增加,增加了模型训练的复杂度。方法二中神经网络模型输出的是最佳关键词序列,类似于分类模型的最佳标签,当检索词涉及多个法条的时候,会存在信息遗漏,同时维护全文索引库的成本相对较高。

发明内容

本发明所要解决的技术问题是:针对现有技术的缺陷,提供一种基于知识图谱和文本分类模型的法律条文推荐方法,全面有效的识别文本中的法律罪名要素,同时快速进行法条的查询推荐。

本发明为解决上述技术问题采用以下技术方案:

一种基于知识图谱和文本分类模型的法律条文推荐方法,所述方法包括如下步骤:

步骤一、法律知识图谱构建;

步骤二、训练文本数据预处理;

步骤三、多分类标签模型训练;

步骤四、法律罪名要素识别;

步骤五、法律条文推荐,根据罪名分类在法律知识图谱中快速找到对应的法律罪名实体和对应的法律条文实体。

作为本发明的进一步优选方案,所述法律知识图谱构建,包括:

101、从法律网站采集所有法律罪名信息和法律条文信息;

102、根据本体定义,将罪名和法条处理成实体和关系;

103、将数据入图库,构建法律知识图谱。

作为本发明的进一步优选方案,所述训练文本数据预处理,包括:

201、数据集构建:选择训练文本,对文本数据进行打标,标签为训练文本数据对应的罪名信息,然后将训练文本数据进行shape转换,shape维度是m*2;所述训练文本包括公开的判决文书、案件摘要或犯罪行为描述;

202、数据清洗分词:对shape中的content数据进行清洗,同时进行中文分词;

203、样本数值化:对shape中的content内容进行id化,提取所有分词,形成vocab,然后将中文替换成id,同时获取最大文本分词数量max_length,将content分词转换成维度是1*max_length的矩阵,对于长度小于max_length的进行zero padding,用0进行补位,最终输出input_x矩阵,表示所有的文本信息;

204、标签数值化:对shape中的label进行数值化,将标签类型表示为one-hot向量编码,生成input_y矩阵,表示input_x对应的标签信息,同时保存好标签转换器,存为label.pickle,供模型预测使用;

205、文本词向量转换:通过bert中文向量模型,将vocab对应的分词转换为词向量,生成embedding_matrix。

作为本发明的进一步优选方案,所述多分类标签模型训练,包括:

301、采用TextCNN算法进行多标签模型训练,其中,句子向量可以表示为X

每一次滑窗的卷积操作结果为c

c

其中,ω表示的是卷积核,

由于句子长度为n,卷积核高度为h,需要滑窗n-h+1次,卷积汇总结果表示为:

c=[c

采用全局最大池化进行卷积,即

将池化层结果经过全连接层转换,通过sigmoid函数压缩成数值在(0,1)的实数,表示各分类的概率,得到T×1的向量y,T表示标签类别,W表示权重矩阵,b为偏置项:

y=sigmoid(W*z+b);

302、将文本数据划分为train、evaluate、test三个数据集,通过train数据进行训练,其他数据集进行评估和测试;

303、设置学习率为0.0001,loss值计算加入L1正则化,将训练数据通过embedding_matrix转成向量,进行轮询训练;

304、将训练好的最优模型进行保存,用于法律罪名要素识别。

作为本发明的进一步优选方案,所述法律罪名要素识别,包括:

401、检索文本预处理:基于保存的vocab embedding_matrix,将输入文本进行向量化,然后加载法律要素识别模型,获取标签概率分布;

402、标签概率转化:根据阈值筛选符合条件的分类,将概率分布转为数值化标签,同时通过label.pickle转换成具体的标签,即罪名分类。

本发明采用以上技术方案与现有技术相比,具有以下技术效果:本发明针对传统推荐方法的推荐范围和效率的局限性,做出了以下改进:

1.采用知识图谱存储法律知识,可以详细展示各级罪名的关联,同时能够快速响应查询结果,能够方便的进行知识扩展和更新。

2.采用TextCNN进行多标签文本分类,使用罪名作为分类标签,解决了罪名与法条不是一对一对应关系的问题。

3.针对法律罪名信息的组合多样性,可以不断补充语料进行迭代,扩充法条推荐的广度。

附图说明

图1是本发明中,法律条文推荐流程示意图;

图2是本发明中,法律知识图谱样例结构示意图;

图3是本发明中,法条推荐结果示意图;

图4是本发明所述方法中,法律条文推荐整体流程示意图。

具体实施方式

下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

本发明公开了一种基于知识图谱和文本分类模型的法条推荐方法,步骤包括:法律知识图谱构建、训练文本数据预处理、多标签分类模型训练、法律罪名要素识别、法律条文推荐,具体如下:

步骤一、法律知识图谱构建,包括:

101、从法律网站采集所有法律罪名信息和法律条文信息。

102、根据本体定义,将罪名和法条处理成实体和关系。

103、将数据入图库,构建法律知识图谱。

步骤二、训练文本数据预处理,包括:

201、数据集构建:将公开的判决文书、案件摘要、犯罪行为描述等作为训练文本,手动对文本数据进行打标,标签为文本数据对应的罪名信息,可以为多值,然后将训练数据进行shape转换,shape维度是m*2。

202、数据清洗分词:对shape中的content数据进行清洗(通过哈工大stopwords),同时使用jieba进行中文分词。

203、样本数值化:对shape中的content内容进行id化,提取所有分词,形成vocab,然后将中文替换成id,同时获取最大文本分词数量max_length,将content分词转换成维度是1*max_length的矩阵,对于长度小于max_length的进行zero padding,用0进行补位,最终输出input_x矩阵,表示所有的文本信息。

204、标签数值化:对shape中的label进行数值化,将标签类型表示为one-hot向量编码,生成input_y矩阵,表示input_x对应的标签信息,同时保存好标签转换器,存为label.pickle,供模型预测使用。

205、文本词向量转换:通过bert中文向量模型,将vocab对应的分词转换为词向量,生成embedding_matrix。

步骤三、多分类标签模型训练,包括:

301、采用TextCNN算法进行多标签模型训练,其中,句子向量可以表示为X

每一次滑窗的卷积操作结果为c

c

其中,ω表示的是卷积核,

由于句子长度为n,卷积核高度为h,需要滑窗n-h+1次,卷积汇总结果表示为:

c=[c

采用全局最大池化进行卷积,即

将池化层结果经过全连接层转换,通过sigmoid函数压缩成数值在(0,1)的实数,表示各分类的概率,得到T×1的向量y,T表示标签类别,W表示权重矩阵,b为偏置项:

y=sigmoid(W*z+b);

302、将文本数据划分为train、evaluate、test三个数据集,通过train数据进行训练,其他数据集进行评估和测试;

303、设置学习率为0.0001,loss值计算加入L1正则化,将训练数据通过embedding_matrix转成向量,进行轮询训练;

304、将训练好的最优模型进行保存,用于法律罪名要素识别。

步骤四、法律罪名要素识别,包括:

401、检索文本预处理:基于保存的vocab embedding_matrix,将输入文本进行向量化,然后加载法律要素识别模型,获取标签概率分布。

402、标签概率转化:根据阈值筛选符合条件的分类,将概率分布转为数值化标签,同时通过label.pickle转换成具体的标签,即罪名分类。

步骤五、法律条文推荐,根据罪名分类找到在知识图谱中快速的找到对应的罪名实体和对应的法律条文实体。

下面结合附图对本发明的技术方案做进一步的详细说明:

基于中国刑法罪名和相关法律条文构建知识图谱,然后根据判决文书、案情摘要、犯罪行为描述等信息文本训练法律罪名要素识别模型,然后通过知识图谱进行法条信息推荐,具体流程如图1所示,该流程共分为5个步骤:

步骤一、法律知识图谱构建:

需要对中国刑法罪名进行格式封装,处理成三级罪名结构,其中一级罪名为父类,共10种,共包含469条法律罪名,结构样例如表1所示:

表1刑法罪名要素样例

根据本体设计,将采集的刑法罪名对应的法律条文(法条样例信息见表2)作为输入,抽取存在关联的实体信息,内部包含法律条文、条目详情、法律罪名要素这些实体,数据格式样例如表3所示:

表2法律条文信息样例

法条信息中,name字段对应的是三级罪名,与具体法条产生关联,可能会存在多值,抽取的时候用“;”分割。

表3关联实体数据格式样例

结合三级标签数据和关联实体数据,将数据通过MR处理成知识图谱需要的点边结构,然后将数据存入图数据库,结构样例如图2所示。

步骤二、训练文本数据处理:

首先对采集的公开判决文书、案件摘要、犯罪行为描述等文本进行打标,标签为文本数据对应的罪名信息,多值标签用“_”分割,样例见表4。

表4训练文本数据打标样例

对打标完的数据进行矩阵转化,shape维度是m*2,宽度有两列分别表示label、content,对shape["content"]进行清洗和分词,清洗通过哈工大停词去除文本中的特殊符号、常见词、生僻字等,然后对清洗后的文本进行jieba分词,同时在shape中增加一列length,表示文本分词长度。此时对文本进行数值转化,整合所有文本分词生成vocab词典,每个分词都有一个序列号id,同时获取最长的length,作为文本的数组宽度,shape["content"]中的分词转为id,同时进行zero padding,将不足max_length的位置用数值0填补,将转化后的文本矩阵记为input_x。

shape["content"]转化完成后,对shape["label"]进行数值转化,采用one-hot向量编码,宽度为所有label的种类数量,转化后的标签矩阵记为input_y。

input_x,input_y的样例如表5所示:

表5打标数据数值化样例

最后将标签转化器和词表另存为label.pickle和vocab.pickle,同时通过bert训练好的法律相关的中文词向量模型,将vocab中的分词转为词向量,记为embedding_matrix。

步骤三、多标签分类模型训练:

采用TextCNN模型,设置模型参数:卷积核大小filter_size=[3,4,5],每个大小对应的卷积核数量num_filters=64,最大句子长度max_lengh=128,激活函数选用ReLU,池化策略为1-max-pooling,dorpout rate=0.5,学习率learning_rate=0.0001,batch_size=256,epochs=100。

划分数据集,开始训练,训练时会自动将输入的文本数据(此处为预处理好的数值矩阵)进行向量化,通过初始化加载的embedding_matrix将input_x转化为向量矩阵(见表6),每一轮次的训练随机有放回抽取256条向量数据作为一个批度的输入,根据损失函数计算公式获取每一批尺度训练结果的loss值,利用梯度下降算法寻找模型最优参数解。经过不断迭代训练,最终得到一个多标签分类模型。

表6输入向量矩阵

步骤四、法律罪名要素识别:

首先对输入文本进行清洗和分词,通过vocab转换为数值矩阵,然后通过加载embedding_matrix得到输入文本的向量矩阵,调用训练好的多标签分类模型,输出结果,然后通过函数将输出结果转为概率分布,若output_y_embedding的概率值大于阈值0.5,可以认为当前概率对应的标签有效,将结果数值化,有效的概率数值为1,其余为0,得到output_y,然后通过label.pickle将获取实际的罪名标签。具体样例见表7:

表7法条识别结果样例

[0 1 0 ... 0 1 0]对应的结果标签为:故意杀人罪、抢劫罪。

步骤五、法律条文推荐:

根据罪名分类在知识图谱中快速找到对应的罪名实体。若实体是三级罪名,则直接获取相关联的法律条文;若不是三级罪名,通过罪名实体的关联关系找到所有的三级罪名实体,然后推荐所有相关的法律条文。故意杀人罪、抢劫罪都是三级罪名,可以直接推荐法条信息,样例如图3所示。综合以上步骤,本发明的整体推荐流程图如图4所示。

上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质,在本发明的精神和原则之内,对以上实施例所作的任何简单的修改、等同替换与改进等,均仍属于本发明技术方案的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号