基于毒品案件法律文书的实体及关系联合抽取方法与流程

文档序号:20490692发布日期:2020-04-21 22:01阅读:388来源:国知局
基于毒品案件法律文书的实体及关系联合抽取方法与流程

本发明涉及一种实体及关系的联合抽取方法,更具体地说,涉及一种基于毒品案件法律文书的实体及关系联合抽取方法。



背景技术:

现有的进行信息抽取的方法一般是采用流水线方法,即输入一个句子,首先进行命名实体识别,然后对识别出来的实体进行两两组合,再进行关系分类,最后把存在实体关系的三元组作为输出,但流水线方法还存在以下缺点:

(1)错误积累,流水线方式的前后两步是密切相关的,如果第一步的命名实体识别产生了一定的错误,在关系分类时,这种错误的命名实体会被继续利用而导致错误进一步被积累、放大;

(2)产生了过多的无用信息,因为第一步被识别出的命名实体都要被两两组合再进行关系分类,而在这些实体组合中,更多的是两实体之间没有关系或者两实体之间的关系并没有被预测正确,这就会带来很多的错误信息。



技术实现要素:

为了克服现有技术中存在的不足,本发明目的是提供一种基于毒品案件法律文书的实体及关系联合抽取方法。与流水线方法不同,该联合抽取方法使用单个模型将实体与关系一起提取,可以有效地整合实体和关系的信息,并且避免了流水线方法存在的错误积累等问题,取得良好的抽取效果。

为了实现上述发明目的,解决已有技术中所存在的问题,本发明采取的技术方案是:一种基于毒品案件法律文书的实体及关系联合抽取方法,包括以下步骤:

步骤1、建立数据集,将获取的毒品案件数据进行标注处理,确定模型进行一次训练需要的毒品案件数据的数量,每次训练都随机挑选相应毒品案件数据作为模型的输入,具体包括以下子步骤:

(a)、获取毒品案件数据,在已有的毒品案件数据中获得包含非法持有毒品、贩卖毒品和容留他人吸食毒品的刑事判决书,分析刑事判决书文法结构,抽取出刑事判决书中的案情描述作为数据集,获得有效毒品案件数据2098份;然后,按照7:3的比例划分训练集与测试集,训练集与测试集具有相同的数据格式,按照相同的过程完成预处理;

(b)、进行标注,根据任务的特点即需要同时标出毒品案件的实体及关系编写一个标注格式软件进行标注,该标注格式软件包含实体标签和关系标签,标注者在一次标注中,同时标出两个实体以及两个实体之间的关系,标注后的实体和关系信息存储在相应的xml文件中;

(c)、标注后进行处理,存储在xml文件中的已有实体标签仅包含实体信息,不包含关系信息,经过处理就是将关系信息融合到实体标签中,在每一个实体标签中加入位置信息与关系信息,处理成为新的标签,再将所有新的标签存储;

(d)、存储司法文本词汇表,为了将司法文本进行序列化,利用大语料库建立一个司法文本词汇表,再将训练集中的所有字词在司法文本词汇表中进行映射,每个词获得一个id;

(e)、产生批量数据,运用神经网络进行模型训练时,由于所采用的参数优化方法为随机梯度下降,因此需要将批量毒品案件数据送入模型,为了减小局部毒品案件数据的其他因素影响,编写函数随机选择了相应数量的毒品案件数据作为模型的输入;

步骤2、搭建联合抽取模型,根据司法文本本身的特点并结合自然语言处理领域的经典框架,搭建合适的联合抽取模型结构,具体包括以下子步骤:

(a)、在词嵌入阶段,首先进行分词,再使用word2vec方法中的skip-ngram模型训练256维的词向量,同时,对词中的每一个字随机产生一个256维的向量作为字向量,然后对该字序列利用三层卷积神经网络进行训练获得50维的隐层状态输出,将输出的50维向量与原来的词向量拼接而成的新向量作为该词的词向量;

(b)、模型的框架是编解码器框架,编码器对输入毒品案件数据进行编码处理,将输入句子通过神经网络的变换转变为中间语义向量,解码器会根据中间语义向量和历史信息来生成对应时刻要生成的单词;

(c)、编码阶段,模型使用的是卷积神经网络进行计算,n核的卷积神经网络相当于n元语言模型,且卷积核层次越高,关注到的相邻语义信息越充分;解码阶段,由于毒品案件数据集小,使用门循环神经网络进行计算,通过公式(l)至公式(5)进行描述,

rt=σ(wr·[ht-1,xt])(1)

式中,rt表示重置门,重置门控制前一状态有多少信息被写入到当前的候选集,σ表示sigmoid函数,xt表示t时刻的输入毒品案件数据,ht-1表示t-1时刻对应的神经网络的隐藏层输出,wr表示重置门参数,由模型训练得到,

zt=σ(wz·[ht-1,xt])(2)

式中,zt表示更新门,更新门用于控制前一时刻的状态信息被带入到当前状态中的程度,wz表示更新门参数,由模型训练得到,

式中,表示当前时刻隐藏层输出的一个候选集,表示候选集参数,由模型训练得到,

式中,ht表示t时刻对应的神经网络的隐藏层的最后状态,

yt=σ(wo·ht)(5)

式中,yt表示t时刻对应的神经网络的最后输出,wo表示输出门参数,由模型训练得到;

(d)、在编解码器框架中,对于每一个生成的词,输入句子中的每个词的贡献相同,因此模型在输出阶段利用注意力机制,为每一个不同的输入词计算出不同的权重,以此表示出该词对结果的影响程度,注意力模块的计算通过公式(6)至公式(9)进行描述,

a(s,h)=sth(6)

式中,a函数表示计算内积,

et′t=a(st′-1,ht)(7)

式中,ht表示编码器t时刻神经网络的隐藏层输出,st′-1表示解码器t′-1时刻的隐藏层输出,et′t表示两个隐藏层输出的相似度,

式中,αt′t是对et′t的归一化,作为每个输入对输出的贡献,

式中,ct′表示解码器t′时刻的最后输出;

步骤3、训练联合抽取模型,采用经过处理的训练毒品案件数据训练模型,在训练过程中根据训练误差调整训练次数、学习率、优化函数和网络结构超参数,具体包括以下子步骤:

(a)、以步骤1中划分出的训练集作为模型训练的毒品案件数据集,输入到神经网络模型中,开启模型训练,迭代计算获得模型参数;

(b)、在训练集中划分出一部分数据作验证集,将毒品案件数据输入到模型,计算模型的准确率、召回率和f值;

(c)、根据模型的测试结果,调整训练次数、学习率和网络结构超参数以获得模型表现最佳时的参数组合,记录参数,保存模型;

步骤4、测试联合抽取模型,利用测试毒品案件数据进行毒品案件实体和关系的联合抽取,观察模型在测试集毒品案件数据上的表现,确定模型的泛化能力,具体包括以下子步骤:

(a)、以步骤1中随机选择的测试集作为模型的测试毒品案件数据,按照相同的预训练的词向量进行毒品案件文本预处理,再将该文本语言数据序列化为模型可以计算的文本的向量表示;

(b)、将步骤4子步骤(a)获取的毒品案件文本的向量表示作为模型的输入,经模型计算后,得到毒品案件的实体以及关系;

(c)、比较上述输出值与真实值之间的差异,使用全部测试毒品案件数据计算模型的准确率、召回率以及f值,通过这几个评价指标,检验出该模型的泛化能力;

步骤5、结果讨论,得到步骤4中的评价指标之后,进行结果讨论,定位到模型预测发生错误的语料,进行错误分析,并结合分析结果,确定未来的改进方向,具体包括以下子步骤:

(a)、编写函数获取模型当前处理的毒品案件中被标出的实体与关系,与模型的输出结果进行对比,如果错误率超过预定阈值,则返回步骤3,调节参数或改变模型结构,重新进行训练;

(b)、如果错误率在阈值之内,则代表模型在整体的毒品案件数据中取得了良好的效果,因此,需要对每一个错误的毒品案件数据进行分析,分析错误语料的特殊性以及规律性,利用大规模语料中的自定义词典或者编写规则进行处理,以完成对这些特殊毒品案件的实体和关系的抽取;

(c)、完成步骤5子步骤(b)之后,模型便具备了解决涉毒类案件的实体和关系的联合抽取能力,同时,为了使得模型能够随着后续自然语言处理技术的不断更新而更新,便于进行模型重构。

步骤6、封装联合抽取模型,利用实验中的词向量、词汇表以及预处理程序,对训练好的模型可直接提取其他涉毒类案件语料中的实体和关系,若原始毒品案件数据不在训练集与测试集中,模型也会将原始毒品案件处理成为与训练集一样的毒品案件数据形式,具体包括以下子步骤:

(a)、模型在进行计算时,处理的是与训练毒品案件数据相同格式的词向量,因此在面对其他的涉毒类案件文本输入时,会先利用预处理程序根据词向量和词汇表将输入映射到向量空间,预处理工作完成后,输入毒品案件数据便成为可以用于模型计算的信息;

(b)、然后将步骤6子步骤(a)的向量信息作为模型输入,模型内部通过神经网络计算得到该毒品案件中概率最大的实体和关系,将该实体和关系以三元组实体1,关系,实体2的形式输出;

(c)、得到步骤6子步骤(b)三元组输出后,便可根据其格式进行相应处理,根据面向的对象不同而以不同的方式进行处理,或者是存在法院的内网数据库中或者是以填写案卡的方式将毒品案件数据保存在格式化的文本中。

本发明有益效果是:一种基于毒品案件法律文书的实体及关系联合抽取方法,包括以下步骤:(1)建立数据集,(2)搭建联合抽取模型,(3)训练联合抽取模型,(4)测试联合抽取模型,(5)结果讨论,(6)封装联合抽取模型。与已有技术相比,本发明方法使用单个模型将实体与关系一起提取,可以有效地整合实体和关系的信息,并且避免了流水线方法存在的错误积累等问题,利用神经网络模型,减少了特征提取中的人工参与,利用注意力机制,关注了每个词对抽取结果的贡献,提高了抽取结果的准确性。

附图说明

图1是本发明方法步骤流程图。

图2是本发明中的神经网络模型图。

具体实施方式

下面结合附图对本发明作进一步说明。

如图1所示,一种基于毒品案件法律文书的实体及关系联合抽取方法,包括以下步骤:

步骤1、建立数据集,将获取的毒品案件数据进行标注处理,确定模型进行一次训练需要的毒品案件数据的数量,每次训练都随机挑选相应毒品案件数据作为模型的输入,具体包括以下子步骤:

(a)、获取毒品案件数据,在已有的毒品案件数据中获得包含非法持有毒品、贩卖毒品和容留他人吸食毒品的刑事判决书,分析刑事判决书文法结构,抽取出刑事判决书中的案情描述作为数据集,获得有效毒品案件数据2098份;然后,按照7:3的比例划分训练集与测试集,训练集与测试集具有相同的数据格式,按照相同的过程完成预处理;

(b)、进行标注,根据任务的特点即需要同时标出毒品案件的实体及关系编写一个标注格式软件进行标注,该标注格式软件包含实体标签和关系标签,标注者在一次标注中,同时标出两个实体以及两个实体之间的关系,标注后的实体和关系信息存储在相应的xml文件中;

(c)、标注后进行处理,存储在xml文件中的已有实体标签仅包含实体信息,不包含关系信息,经过处理就是将关系信息融合到实体标签中,在每一个实体标签中加入位置信息与关系信息,处理成为新的标签,再将所有新的标签存储;

(d)、存储司法文本词汇表,为了将司法文本进行序列化,利用大语料库建立一个司法文本词汇表,再将训练集中的所有字词在司法文本词汇表中进行映射,每个词获得一个id;

(e)、产生批量数据,运用神经网络进行模型训练时,由于所采用的参数优化方法为随机梯度下降,因此需要将批量毒品案件数据送入模型,为了减小局部毒品案件数据的其他因素影响,编写函数随机选择了相应数量的毒品案件数据作为模型的输入;

步骤2、搭建联合抽取模型,根据司法文本本身的特点并结合自然语言处理领域的经典框架,搭建合适的联合抽取模型结构,具体包括以下子步骤:

(a)、在词嵌入阶段,首先进行分词,再使用word2vec方法中的skip-ngram模型训练256维的词向量,同时,对词中的每一个字随机产生一个256维的向量作为字向量,然后对该字序列利用三层卷积神经网络进行训练获得50维的隐层状态输出,将输出的50维向量与原来的词向量拼接而成的新向量作为该词的词向量;

(b)、模型的框架是编解码器框架,编码器对输入毒品案件数据进行编码处理,将输入句子通过神经网络的变换转变为中间语义向量,解码器会根据中间语义向量和历史信息来生成对应时刻要生成的单词;

(c)、编码阶段,模型使用的是卷积神经网络进行计算,n核的卷积神经网络相当于n元语言模型,且卷积核层次越高,关注到的相邻语义信息越充分;解码阶段,由于毒品案件数据集小,使用门循环神经网络进行计算,通过公式(l)至公式(5)进行描述,

rt=σ(wr·[ht-1,xt])(1)

式中,rt表示重置门,重置门控制前一状态有多少信息被写入到当前的候选集,σ表示sigmoid函数,xt表示t时刻的输入毒品案件数据,ht-1表示t-1时刻对应的神经网络的隐藏层输出,wr表示重置门参数,由模型训练得到,

zt=σ(wz·[ht-1,xt])(2)

式中,zt表示更新门,更新门用于控制前一时刻的状态信息被带入到当前状态中的程度,wz表示更新门参数,由模型训练得到,

式中,表示当前时刻隐藏层输出的一个候选集,表示候选集参数,由模型训练得到,

式中,ht表示t时刻对应的神经网络的隐藏层的最后状态,

yt=σ(wo·ht)(5)

式中,yt表示t时刻对应的神经网络的最后输出,wo表示输出门参数,由模型训练得到;

(d)、在编解码器框架中,对于每一个生成的词,输入句子中的每个词的贡献相同,因此模型在输出阶段利用注意力机制,为每一个不同的输入词计算出不同的权重,以此表示出该词对结果的影响程度,注意力模块的计算通过公式(6)至公式(9)进行描述,

a(s,h)=sth(6)

式中,a函数表示计算内积,

et′t=a(st′-1,ht)(7)

式中,ht表示编码器t时刻神经网络的隐藏层输出,st′-1表示解码器t′-1时刻的隐藏层输出,et′t表示两个隐藏层输出的相似度,

式中,αt′t是对et′t的归一化,作为每个输入对输出的贡献,

式中,ct′表示解码器t′时刻的最后输出;

步骤3、训练联合抽取模型,采用经过处理的训练毒品案件数据训练模型,在训练过程中根据训练误差调整训练次数、学习率、优化函数和网络结构超参数,具体包括以下子步骤:

(a)、以步骤1中划分出的训练集作为模型训练的毒品案件数据集,输入到神经网络模型中,开启模型训练,迭代计算获得模型参数;

(b)、在训练集中划分出一部分数据作验证集,将毒品案件数据输入到模型,计算模型的准确率、召回率和f值;

(c)、根据模型的测试结果,调整训练次数、学习率和网络结构超参数以获得模型表现最佳时的参数组合,记录参数,保存模型;

步骤4、测试联合抽取模型,利用测试毒品案件数据进行毒品案件实体和关系的联合抽取,观察模型在测试集毒品案件数据上的表现,确定模型的泛化能力,具体包括以下子步骤:

(a)、以步骤1中随机选择的测试集作为模型的测试毒品案件数据,按照相同的预训练的词向量进行毒品案件文本预处理,再将该文本语言数据序列化为模型可以计算的文本的向量表示;

(b)、将步骤4子步骤(a)获取的毒品案件文本的向量表示作为模型的输入,经模型计算后,得到毒品案件的实体以及关系;

(c)、比较上述输出值与真实值之间的差异,使用全部测试毒品案件数据计算模型的准确率、召回率以及f值,通过这几个评价指标,检验出该模型的泛化能力;

步骤5、结果讨论,得到步骤4中的评价指标之后,进行结果讨论,定位到模型预测发生错误的语料,进行错误分析,并结合分析结果,确定未来的改进方向,具体包括以下子步骤:

(a)、编写函数获取模型当前处理的毒品案件中被标出的实体与关系,与模型的输出结果进行对比,如果错误率超过预定阈值,则返回步骤3,调节参数或改变模型结构,重新进行训练;

(b)、如果错误率在阈值之内,则代表模型在整体的毒品案件数据中取得了良好的效果,因此,需要对每一个错误的毒品案件数据进行分析,分析错误语料的特殊性以及规律性,利用大规模语料中的自定义词典或者编写规则进行处理,以完成对这些特殊毒品案件的实体和关系的抽取;

(c)、完成步骤5子步骤(b)之后,模型便具备了解决涉毒类案件的实体和关系的联合抽取能力,同时,为了使得模型能够随着后续自然语言处理技术的不断更新而更新,便于进行模型重构。

步骤6、封装联合抽取模型,利用实验中的词向量、词汇表以及预处理程序,对训练好的模型可直接提取其他涉毒类案件语料中的实体和关系,若原始毒品案件数据不在训练集与测试集中,模型也会将原始毒品案件处理成为与训练集一样的毒品案件数据形式,具体包括以下子步骤:

(a)、模型在进行计算时,处理的是与训练毒品案件数据相同格式的词向量,因此在面对其他的涉毒类案件文本输入时,会先利用预处理程序根据词向量和词汇表将输入映射到向量空间,预处理工作完成后,输入毒品案件数据便成为可以用于模型计算的信息;

(b)、然后将步骤6子步骤(a)的向量信息作为模型输入,模型内部通过神经网络计算得到该毒品案件中概率最大的实体和关系,将该实体和关系以三元组实体1,关系,实体2的形式输出;

(c)、得到步骤6子步骤(b)三元组输出后,便可根据其格式进行相应处理,根据面向的对象不同而以不同的方式进行处理,或者是存在法院的内网数据库中或者是以填写案卡的方式将毒品案件数据保存在格式化的文本中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1