基于迭代膨胀卷积神经网络的公安笔录命名实体识别方法与流程

文档序号:17643451发布日期:2019-05-11 00:49阅读:359来源:国知局
基于迭代膨胀卷积神经网络的公安笔录命名实体识别方法与流程

本发明是关于机器学习技术领域,特别是关于一种基于迭代膨胀卷积神经网络的公安笔录命名实体识别方法及计算机可读介质。



背景技术:

公安领域在多年的办案过程中,积累了大量案件笔录和涉案人员等非结构化的信息数据,侦查人员需要花费很多时间在庞大的文本处理工作上,如何将过往案件笔录中包含的信息提取出来,分析挖掘案情的关键线索、串并案件等,是公安部门信息化办案的首要工作。

自然语言处理(naturallanguageprocessing)技术能够有效处理非结构化文本数据。其中命名实体识别(namedentityrecognition,ner)作为自然语言处理的基本载体,是正确理解文本内容的基础。在公安领域的案件笔录文本处理中,通过给定笔录,利用命名实体识别技术能够识别文本中所包含的实体边界和类型,减少了人工查询和整理,为民警在办案过程中提供便利。命名实体识别主要有基于知识工程方法和机器学习方法两种。传统的知识工程方法主要依靠人工编写信息抽取的规则模式,处理特定知识领域的信息抽取问题。但该方法依赖于具体领域的语言和文本格式,规则制定过程耗时,建设周期长,具有领域高度相关性,模型的泛化能力较差。机器学习方法基于贝叶斯统计理论,将命名实体识别问题视作典型的分类问题,通过标注语料生成数据并对统计模型进行训练,实现未知文本实体的识别。与传统的知识工程相比,机器学习方法的泛化能力更强,其中神经网络更具有不易受到人为因素和特定领域影响的优点。目前在公安领域的自然语言处理中较多采用深度神经网络方法,将语料标注与词向量特征结合,通过减少人工特征在模型中的比重,可减少命名实体识别系统对于大型语料库的依赖;并通过概率统计降低规则方法的复杂度,有效提高了模型的性能。在实际中主要采用循环神经网络(recurrentneuralnetwork,rnn)、长短期记忆(longshorttermmemory,lstm)神经网络及卷积神经网络(convolutionalneuralnetworks,cnn)等深度学习算法。

现有技术存在基于cnn的命名实体识别方法,其技术方案如下:采用卷积神经网络cnn建立模型,首先利用语料标注得到文本标签,并获取字符的特征,然后与该领域的大型语料词向量结合,建立cnn神经网络模型,该方法主要利用了cnn善于描述数据局部特征和领域词向量的特性。现有技术还存在基于blstm的命名实体识别方法,其技术方案如下:lstm神经网络是rnn的一种特殊类型,通过输入门、忘记门和输出门的设计,在处理文本序列时可解决rnn所造成的长期依赖问题。目前对于序列化数据的标注任务,表现效果最好的实体识别算法基本上采用双向lstm(bidirectionallstm),避免了模型庞大的参数优化问题。采用blstm通过词向量、字符向量等特征,建立embedding层,再经过双向的lstm层,激励层后,最后为crf层。该模型集成了深度学习方法的优势,无需特征工程,仅使用词向量以及字符向量就可以达到很好的效果。

与其他领域相比,公安笔录涉及案件类别复杂,包含的实体种类也千差万别,如盗窃案件和枪支案件具有不同的涉案物品,而且实体的命名方式无法统一,造成同一物品的不同表达方式。因此如果缺乏大型通用语料库,cnn模型在卷积之后,末层神经元可能只得到了输入数据的局部信息,这会导致与当前标注字符和相邻字符之间的关联性缺失,形成孤立的标签。为了覆盖整个句子的全部字符,就需要更多的卷积层,这会导致参数过多,并会加大训练难度。而且cnn模型在训练中极易陷入搜索空间巨大的情况,同时易造成数据的稀疏性。而lstm模型的本质是处理序列数据问题,利用网络的记忆能力掌握全句的信息,从而确定单个字符的类型。然而在实际公安笔录的应用中,往往出现多条句子之间存在关联性的情况。若采用lstm模型训练,需合并整篇笔录中的语句作为单条数据,从而满足前后语句的语义衔接,这样会造成训练复杂度的增加;而且在并行计算方面,lstm无法体现出卷积网络的优势。

公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。



技术实现要素:

本发明的目的在于提供一种基于迭代膨胀卷积神经网络的公安笔录命名实体识别方法及计算机可读介质,其能够克服现有技术的缺点。

为实现上述目的,本发明提供了一种基于迭代膨胀卷积神经网络(idcnn)的公安笔录命名实体识别方法,包括如下步骤:

对数据进行预处理;

将原始语料数据分为训练集、测试集和验证集;

统计训练集的字符个数,得到字符数据集,按字符出现频率降序进行编码,得到字符对应编号数据集char_id;

将每条原始语料进行分词并编码,生成分词数据集segs;

统计训练集的所有字符的标签,并对标签按出现频次降序编号,得到标签数据tags_id;

将训练集按组划分以生成批量数据集butch_data;

建立基于idcnn的深度学习模型,随机抽取butch_data进行参数训练;

将膨胀算子计算的卷积矩阵组合,并采用dropout正则化模型参数,在每个批次的训练中将隐层神经元以概率p=0.5保留,得到每个字符对应的非归一化的对数概率logits值,其中该logits值将概率p由[0,1]映射到[-∞,+∞];

将上层产生的logits值经过交叉熵函数softmax计算,最终得到该字符的类别标签label,其中交叉熵函数j为标签类别数。

在一优选的实施方式中,对数据进行预处理包括:

采集多个公安笔录数据;以及

通过训练将多个公安笔录数据所包含的字符映射成100维实数词向量word2vec。

在一优选的实施方式中,其中,数据集中的字符包含对应标签tag。

在一优选的实施方式中,其中,未在word2vec中出现的字符id置0。

在一优选的实施方式中,批量数据集butch_data包括原始字符语料、字符对应的char_id、原始语料的分词数据集segs和字符对应标签的tags_id。

在一优选的实施方式中,在idcnn的深度学习模型中包括4个相同结构的膨胀卷积单元,每个膨胀卷积单元的膨胀算子为[{1},{1},{2}]。

本发明还提供了一种其上存储有计算机可执行代码的非暂时性计算机可读介质,在被执行时,计算机可执行代码可操作以使处理器进行以下操作:

对数据进行预处理;

将原始语料数据分为训练集、测试集和验证集;

统计训练集的字符个数,得到字符数据集,按字符出现频率降序进行编码,得到字符对应编号数据集char_id;

将每条原始语料进行分词并编码,生成分词数据集segs;

统计训练集的所有字符的标签,并对标签按出现频次降序编号,得到标签数据tags_id;

将训练集按组划分以生成批量数据集butch_data;

建立基于idcnn的深度学习模型,随机抽取butch_data进行参数训练;

将膨胀算子计算的卷积矩阵组合,并采用dropout正则化模型参数,在每个批次的训练中将隐层神经元以概率p=0.5保留,得到每个字符对应的非归一化的对数概率logits值,其中该logits值将概率p由[0,1]映射到[-∞,+∞];

将上层产生的所述logits值经过交叉熵函数softmax计算,最终得到该字符的类别标签label,其中交叉熵函数j为标签类别数。

在一优选的实施方式中,对数据进行预处理包括:

采集多个公安笔录数据;以及

通过训练将多个公安笔录数据所包含的字符映射成100维实数词向量word2vec。

在一优选的实施方式中,其中,数据集中的字符包含对应标签tag。

在一优选的实施方式中,其中,未在word2vec中出现的字符id置0。

在一优选的实施方式中,批量数据集butch_data包括原始字符语料、字符对应的char_id、原始语料的分词数据集segs、字符对应标签的tags_id。

在一优选的实施方式中,在idcnn的深度学习模型中包括4个相同结构的膨胀卷积单元,每个膨胀卷积单元的膨胀算子为[{1},{1},{2}]。

与现有技术相比,本发明的基于迭代膨胀卷积神经网络的公安笔录命名实体识别方法及计算机可读介质具有如下优点:本发明基于卷积神经网络层与层之间的节点独立的特点,并利用膨胀算子的搜索能力和卷积自身特有的并行计算能力,建立基于idcnn的命名实体识别模型,与cnn相比较,可有效避免卷积层数及参数过多的问题,提高了计算能力。与lstm相比,该模型无需考虑整篇笔录实体间的关联性,结合公安领域的词向量特征,对未登录词的预测有良好的效果,并且提高了并行计算能力。

附图说明

图1是根据本发明一实施方式的公安笔录命名实体识别方法流程图。

图2是根据本发明一实施方式的层级结构图。

具体实施方式

下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。

除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。

图1是根据本发明一实施方式的公安笔录命名实体识别方法流程图。如图所示,本发明的公安笔录命名实体识别方法包括如下步骤:

步骤101:对数据进行预处理;

步骤102:将原始语料数据分为训练集、测试集和验证集;

步骤103:统计训练集的字符个数,得到字符数据集,按字符出现频率降序进行编码,得到字符对应编号数据集char_id;

步骤104:将每条原始语料进行分词并编码,生成分词数据集segs;

步骤105:统计训练集的所有字符的标签,并对标签按出现频次降序编号,得到标签数据tags_id;

步骤106:将训练集按组划分以生成批量数据集butch_data;

步骤107:建立基于idcnn的深度学习模型,随机抽取butch_data进行参数训练;

步骤108:将膨胀算子计算的卷积矩阵组合,并采用dropout正则化模型参数,在每个批次的训练中将隐层神经元以概率p=0.5保留,得到每个字符对应的非归一化的对数概率logits值,其中该logits值将概率p由[0,1]映射到[-∞,+∞];

步骤109:将上层产生的所述logits值经过交叉熵函数softmax计算,最终得到该字符的类别标签label,其中交叉熵函数j为标签类别数。

图2是根据本发明一实施方式的层级结构图。如图所示,本发明的实现过程在于:

(1)数据嵌入层,该层实现了将字符型的数据编码,生成数字表示的向量,并组成butch_data列表。

首先进行数据预处理,本发明通过采集大量公安笔录数据,经训练将所包含的字符映射成100维实数词向量word2vec,该矩阵能够捕捉到公安领域词汇所潜在的特征关联信息;

将已标注笔录(原始语料数据)分为训练集、测试集和验证集,其中数据集中的字符应包含对应标签tag;

统计训练集的字符个数,得到字符数据集,按字符出现频率降序进行编码,得到字符对应编号数据集char_id,其中未在word2vec中出现的字符id置0;

将每条原始语料进行分词并编码,生成分词数据集segs,其中分词处理方法为:长度1的分词编码为’0’,长度2的分词编码为‘13’,长度大于2的分词编码为‘123’,其中2的个数应等于l-2,l其中为分词长度;

统计训练集的所有字符的标注标签,并对标签按出现频次降序编号,得到标签数据tags_id;

将训练集按组划分,共有num_butch组,每组butch_size个数据集,每批量数据集butch_data包括原始字符语料、字符对应的char_id、原始语料的分词数据集segs、字符对应标签的tags_id。每组数据量长度均为该组字符串中的最大长度,不足字符置0。

(2)idcnn层。建立基于idcnn的深度学习模型,随机抽取butch_data进行参数训练。

该层包含4个相同结构的膨胀卷积单元(迭代4次),每个单元的膨胀算子为[{1},{1},{2}]。对输入矩阵进行计算时,会跳过膨胀算子涵盖的数据,保证了卷积后的矩阵尺寸大小(即参数量)不变,同时扩大了卷积层的搜索范围,能够迅速覆盖全局数据,并且无需进行池化层的计算。

当模型损失值loss达到设定条件或迭代次数完成,则训练终止。

(3)dropout层。将3个膨胀算子计算的卷积矩阵组合,并进行dropout计算,防止过拟合其结果为每个字符对应的logits值。

(4)crf解码层。首先将上层产生的logits经过softmax计算,将其变为概率值,并与labels的概率分布进行交叉熵计算,最终得到该字符的类别标签。

以下通过具体实例对本发明做进一步说明。

本发明采集1000篇案件类型为入户盗窃的询问笔录,经过筛选处理后保留900篇笔录文本,通过标注笔录中所包含的受害人基本信息、发案时间及地点、涉案物品及物品属性等实体,建立了基于idcnn-crf的命名实体识别模型,并将笔录数据分为训练集、测试集与验证集三个数据集,比例为5:1:1,该装置最终实现了受害人姓名、性别、身份证号、联系方式、时间、地点、钱包、手机、现金、首饰、卡类等实体的识别,以及物品的颜色和品牌属性等。

具体实现如下:

首先将原始语料数据进行标记,训数据标签标记方式采用bioes规则,位于该实体起始位置字符为b-label,位于该实体中间字符标记为i-label,末尾字符标记为e-label,若该实体仅包含一个字符,则标记为s-label,其余不属于实体类型的字符标记为o。例如:

“我[o]叫[o]张[b-per]小[i-per]刚[e-per],[o]被[o]盗[o]了[o]一[b-num]部[e-num]相[b-article]机[e-article],[o]是[o]银[b-color]色[e-color]的[o]三[b-brand]星[e-brand]照[b-aticle]相[i-article]机[e-article]。[o]”。

然后统计所有的字符组成集合,并对其进行特征编码,生成char_id,该数据为字典格式,key为字符,value为字符对应的编号,从1开始按照出现频率大小降序排列,未出现的字符置0。其中,嵌入层的词向量word2vec采用连续词袋模型(cbow)训练,共包含16115个字符。

对句子进行分词并编码,例如“我/叫/张小刚/,/被盗/了/一部/相机/,/是/银色/的/三星/相机”编码为“0/0/123/0/13/0/13/13”。

按照句子长度进行标准化处理,均与该组最长句子保持一致,不足补0,组成批量数据集。

训练idcnn深度学习模型,其中训练迭代次数为100次,学习率lr=0.001,dropout=0.5。并根据每次迭代的loss值进行优化,这里采用adam(adaptivemomentestimation)优化算法对参数更新。

将模型的输出使用relu激活函数,并将其结果进行dropout计算,最后传入softmax,计算得到损失值。

本发明采用900篇左右的笔录文本,训练数据量较少。对于传统cnn方法而言,针对相同数量笔录下,对于测试数据的精度不到90%,而采用lstm,不仅训练时间增加,且其精度也保持在90%左右。本发明的精度能够提高至95%左右,精度较高,减少了系统对于大型语料库的依赖;且提高了未登录词的识别能力,由于公安笔录实体类别较复杂,对于未登录词的识别能力是尤为重要的。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。

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