一种基于双层BiLSTM-CRF的工作履历信息抽取方法与流程

文档序号:17476915发布日期:2019-04-20 06:11阅读:524来源:国知局
一种基于双层BiLSTM-CRF的工作履历信息抽取方法与流程
本发明涉及信息自动抽取领域,更具体地,涉及一种基于双层bilstm-crf的工作履历信息抽取方法。
背景技术
:工作履历对于认识一个人有着非常重要的意义。可是由于履历往往信息量比较大,导致可读性较低,获取信息速度较慢。如能将履历进行结构化,将文本中的信息抽取出来,可大大提高信息的获取速度和质量,也可以为后续的分析提供数据基础。对于工作履历中的工作经历的信息实体的抽取是非常难的。包括工作的地点,组织部门,职务等。其难度一方面来源于地点,组织部门,职务等的不规则性,中文书写和表达的灵活性。但更为重要的一方面是,实际表达中地点和组织部门,组织部门和职务之间的实体往往存在交叉问题。实体的交叉问题指的是一个句子中的某个字符同时属于多个实体。该问题会造成字符难以划分,给信息的抽取增加了较大的难度。面对履历的信息抽取,目前主要有三种处理方法。第一种是人工处理,由人去阅读相关文本信息,然后去抽取里面包含的信息实体。这种方法对于人力的消耗比较大,在面对履历数量比较多,信息量比较大的情况下,效率下降的比较快。第二种方法是使用规则或其他机器学习的方法进行文本信息抽取,该方法先通过规则,关键字等方法,对文本进行预处理。然后针对各自的特点再次通过规则或者其他机器学习的方法进行信息抽取,获取履历中的信息。第三种方法是将该ner问题转化为序列标注问题,使用条件随机场(crf),循环神经网络(rnn)等方法对文本信息进行序列标注,进行信息抽取,一般使用针对不同实体训练不同识别器,通过分开识别的方法进行解决。但是,该方法割裂开来实体之间的联系,导致抽取率较低。而面对抽取过程中遇到的实体交叉的问题。一般针对不同实体训练不同识别器,分开识别,从而对信息实体进行抽取。技术实现要素:本发明为克服上述现有技术所述的至少一种缺陷,提供一种基于双层bilstm-crf的工作履历信息抽取方法本发明旨在至少在一定程度上解决上述技术问题。本发明的首要目的是更准确的抽取出工作经历中的地名,组织结构名,职务名等信息,弥补传统方法在进行工作履历分析的时候抽取能力的不足,得到的信息更加的整齐和完整。为解决上述技术问题,本发明的技术方案如下:一种基于双层bilstm-crf的工作履历信息抽取方法,包括以下步骤:s1:工作履历信息预处理;s2:根据时间拆分工作履历信息为工作经历,对工作经历预处理;s3:利用双层bilstm-crf模型对工作经历的信息实体进行抽取;s4:对s3中抽取的信息实体进一步处理;s5:整理信息。优选地,步骤s1中工作履历信息预处理包括对除工作地点、组织部门和职务的信息进行提取。优选地,步骤s2中工作经历为包括工作地点、组织部门和职务的句子。优选地,步骤s3中双层bilstm-crf模型,具体为:包括第一bilstm-crf模型与第二bilstm-crf模型,第一bilstm-crf模型用于获取组织部门信息,包括第一embedding层、第一bilstm神经网络和第一crf层,其中embedding层使用预训练好的word2vec模型,word2vec模型能将句子中的每个字映射成为一300维的向量,将工作经历使用空格补全成为20个字符长度后使用word2vec模型将工作经历转化为一20*300的向量,作为第一bilstm神经网络的输入;第一bilstm神经网络包括第一正向lstm层、第一反向lstm层和第一线性变换层,第一正向lstm层和第一反向lstm层的输入为经第一embedding层得到的20*300的向量,分别输出另一20*300的向量,将两个输出经线性变换层组合得到一20*600的向量lstm_ouput,利用下述公式得到第一crf层的状态特征函数:crf_inpute=lstm_ouput*w+b式中,crf_inpute为第一crf层的状态特征函数,w为一600*9的权重向量,b为一20*9的偏移向量b;第一crf层利用状态特征函数给各种可能的序列打分,用于获取状态转移函数以及最优的序列,同时产生最大似然估计作为误差进行用于梯度下降优化模型,具体如下:给各种可能的序列打分的公式如下:式中,score(x,y)为打分函数,为状态特征函数,为状态转移函数,由第一crf层自动生成;利用softmax得到归一化后的概率,可以得到各种情况的概率:其最大似然如下:第二bilstm-crf模型包括第二embedding层、第三embedding层、第二bilstm神经网络、第二线性变换层和第二crf层,其中:第二embedding层与第一embedding层一样,第三embedding层使用onehot编码对第一bilstm-crf模型产生的序列进行处理,得到一20*9的向量;第二bilstm神经网络针对每一句子得到另一20*9的向量,将该向量和第三embedding层得到的20*9的向量合并得到一个20*18的向量,使用一18*9的权重向量w1和20*9的偏移权重向量b1进行线性变换,得到一20*9的状态特征向量作为第二crf层的输入;第二crf层利用状态特征向量给各种可能的序列打分,用于获取状态转移函数以及最优的序列,同时产生最大似然估计作为误差进行用于梯度下降优化模型;使用双层bilstm-crf时因为在实际中,在履历的工作经历和学习经历部分,组织部门这个信息比较特殊,经常会和地点,职务等其他信息产生交叉现象,一个模型无法很好解决交叉问题,而且单独将组织结构提取出来的结果可以作为输入反馈给第二个模型,进一步提高准确率。第一个模型用于获取组织部门信息,因为工作经历和学习经历中,组织部门的信息经常会和地点,职务等其他信息产生交叉现象,单独进行获取一方面可以解决交叉问题,另外一方面获取的结果也可以作为输入,增强其他信息的获取,输入为文本信息,输入为序列标注信息,该序列对于组织部门信息进行了标注,可以获取得到组织部门信息;第二个模型用于获取地点和职务信息,输入为文本信息以及第一个模型生成的序列标注信息,输出为序列标注信息,该序列对于地点和职务进行了标注,可以获取得到地点和职务等信息。优选地,步骤s4中对s3中抽取的信息实体进一步处理具体为:s4.1:将s3得到的信息实体使用消歧算法进行计算,修改实体;s4.2:对s4.1处理后的信息实体使用联想规则,优化实体信息。优选地,步骤s4.1具体为:s4.1.1:针对不同的信息实体,预先采集不同的实体数据作为知识库,解决冷启动问题;s4.1.2:计算每一个被抽取出来的实体,计算其与知识库中所有实体的差异:correlative(a,b)=m*editdist(a,b,w1,w2,w3)+1/relativedist(a,b)式中,a是抽取的信息实体,b是知识库中的实体,m表示权重,editdist使用编辑距离算法,输出代表两者的编辑距离,w1,w2,w3代表在计算编辑距离时候增、删、改步骤的距离权重,权重指数m,w1,w2,w3根据不同的使用场景做不同的改变,relativedist(a,b)代表两个实体的相似距离,即按照顺序的两个实体中相同的字符数量占较短实体长度的比例,correlative(a,b)为差异;当correlative(a,b)等于0,直接跳出计算;当correlative(a,b)小于差异阈值k,则两者指向同一个实体,并且有一定概率p使用知识库中的实体对该信息实体进行替换;当correlative(a,b)大于差异阈值k,则该信息实体为新实体,并加入知识库,更新知识库;阈值k依赖于两个实体的长度,阀值k是判断两个实体之间关系的分水岭,k值太小会影响匹配率,太大会影响正确率,其计算公式为:k=max(|a-b|/2+1,1/2*min(a,b));概率p计算公式为:p=(k-correlative(a,b)+1)*2/k。优选地,步骤s4.2具体为:根据不同的实体,设定不同的联想规则,根据上下文和自身特点制定规则,进行相应补全。一种基于双层bilstm-crf的工作履历信息抽取系统,包括预处理模块、抽取模块、消歧模块、联想模块和完善模块,其中:预处理模块完成工作履历信息预处理,根据时间拆分工作履历信息为工作经历,对工作经历预处理,其输出端与抽取模块的输入端相连;抽取模块利用双层bilstm-crf模型对工作经历的信息实体进行抽取,其输出端与消歧模块的输入端相连;消歧模块完成对信息实体使用消歧算法进行计算,修改实体,其输出端与联想模块的输入端相连;联想模块的输入端完成对信息实体使用联想规则,优化实体信息,其输出端与完善模块的输入端相连;完善模块完成整理信息并输出。与现有技术相比,本发明技术方案的有益效果是:使用双层bilstm-crf模型,可以更好的抽取工作经历中的信息实体。更好解决因信息实体交叉,中文信息实体不规则等因素造成信息抽取困难问题。此外,将传统信息抽取任务分成多个子任务(包括实体抽取,消歧,联想),增加了消歧模块和联想模块。高聚合,低耦合。可以并发进行,提高抽取性能。同时,本发明还可以充分利用上下文关系,丰富实体信息。可以更加好的完成信息抽取任务,得到更好的呈现效果。附图说明图1为本发明的一种基于双层bilstm-crf的工作履历信息抽取方法流程图;图2为本发明中履历信息中存在的实体交叉问题示意图;图3为本发明双层bilstm-crf模型结构示意图;图4为本发明的一种基于双层bilstm-crf的工作履历信息抽取系统。具体实施方式附图仅用于示例性说明,不能理解为对本专利的限制;为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。下面结合附图和实施例对本发明的技术方案做进一步的说明。实施例1本实施例提供的一种基于双层bilstm-crf的工作履历信息抽取方法,如图1,包括以下步骤:s1:工作履历信息预处理;s2:根据时间拆分工作履历信息为工作经历,对工作经历预处理;s3:利用双层bilstm-crf模型对工作经历的信息实体进行抽取;s4:对s3中抽取的信息实体进一步处理;s5:整理信息。步骤s1中工作履历信息预处理包括对除工作地点、组织部门和职务的信息进行提取。步骤s2中工作经历为包括工作地点、组织部门和职务的句子。步骤s3中双层bilstm-crf模型,如图3所示,具体为:包括第一bilstm-crf模型与第二bilstm-crf模型,第一bilstm-crf模型用于获取组织部门信息,包括第一embedding层、第一bilstm神经网络和第一crf层,其中embedding层使用预训练好的word2vec模型,word2vec模型能将句子中的每个字映射成为一300维的向量,将工作经历使用空格补全成为20个字符长度后使用word2vec模型将工作经历转化为一20*300的向量,作为第一bilstm神经网络的输入;第一bilstm神经网络包括第一正向lstm层、第一反向lstm层和第一线性变换层,第一正向lstm层和第一反向lstm层的输入为经第一embedding层得到的20*300的向量,分别输出另一20*300的向量,将两个输出经线性变换层组合得到一20*600的向量lstm_ouput,利用下述公式得到第一crf层的状态特征函数:crf_inpute=lstm_ouput*w+b式中,crf_inpute为第一crf层的状态特征函数,w为一600*9的权重向量,b为一20*9的偏移向量b;第一crf层利用状态特征函数给各种可能的序列打分,用于获取状态转移函数以及最优的序列,同时产生最大似然估计作为误差进行用于梯度下降优化模型,具体如下:给各种可能的序列打分的公式如下:式中,score(x,y)为打分函数,为状态特征函数,为状态转移函数,由第一crf层自动生成;利用softmax得到归一化后的概率,可以得到各种情况的概率:其最大似然如下:第二bilstm-crf模型包括第二embedding层、第三embedding层、第二bilstm神经网络、第二线性变换层和第二crf层,其中:第二embedding层与第一embedding层一样,第三embedding层使用onehot编码对第一bilstm-crf模型产生的序列进行处理,得到一20*9的向量;第二bilstm神经网络针对每一句子得到另一20*9的向量,将该向量和第三embedding层得到的20*9的向量合并得到一个20*18的向量,使用一18*9的权重向量w1和20*9的偏移权重向量b1进行线性变换,得到一20*9的状态特征向量作为第二crf层的输入;第二crf层利用状态特征向量给各种可能的序列打分,用于获取状态转移函数以及最优的序列,同时产生最大似然估计作为误差进行用于梯度下降优化模型;步骤s4中对s3中抽取的信息实体进一步处理具体为:s4.1:将s3得到的信息实体使用消歧算法进行计算,修改实体;s4.2:对s4.1处理后的信息实体使用联想规则,优化实体信息。优选地,步骤s4.1具体为:s4.1.1:针对不同的信息实体,预先采集不同的实体数据作为知识库,解决冷启动问题;s4.1.2:计算每一个被抽取出来的实体,计算其与知识库中所有实体的差异:correlative(a,b)=m*editdist(a,b,w1,w2,w3)+1/relativedist(a,b)式中,a是抽取的信息实体,b是知识库中的实体,m表示权重,editdist使用编辑距离算法,输出代表两者的编辑距离,w1,w2,w3代表在计算编辑距离时候增、删、改步骤的距离权重,权重指数m,w1,w2,w3根据不同的使用场景做不同的改变,relativedist(a,b)代表两个实体的相似距离,即按照顺序的两个实体中相同的字符数量占较短实体长度的比例,correlative(a,b)为差异;当correlative(a,b)等于0,直接跳出计算;当correlative(a,b)小于差异阈值k,则两者指向同一个实体,并且有一定概率p使用知识库中的实体对该信息实体进行替换;当correlative(a,b)大于差异阈值k,则该信息实体为新实体,并加入知识库,更新知识库;阈值k依赖于两个实体的长度,阀值k是判断两个实体之间关系的分水岭,k值太小会影响匹配率,太大会影响正确率,其计算公式为:k=max(|a-b|/2+1,1/2*min(a,b));概率p计算公式为:p=(k-correlative(a,b)+1)*2/k。步骤s4.2具体为:根据不同的实体,设定不同的联想规则,根据上下文和自身特点制定规则,进行相应补全。在具体实施过程中,在实际处理过程中,会出现如图2所示的实体交叉问题,利用本实施的方法与其它方法对于5000份官员任职履历信息的抽取准确率如表1所示:表1地名组织部门职务使用一个模型91.7385.4392.51每个实体一个模型91.8585.2192.72本实施例方法93.2585.2193.58传统的序列标注方法由于实体交叉干扰,在地名和职务的抽取效率都是比较低的。而针对每个实体单独训练一个模型。复杂度比较高之余由于实体间的信息没有得到共享,所以实体提取效果还是稍逊本文的方法。而在本实施例中,还加入了消歧联想操作,使得对于信息抽取的整体呈现效果更好。以下是个实际对比例子:输入为:1983年,任西南财经学民商法教研室主任;一年后改任金融法研究所所长;1992年起任成都市委副主委;使用传统方法得到的抽取结果如表2所示:表2时间地点组织部门职务1983-未知西南财经学民商法教研室主任1984-未知null金融法研究所所长1992-未知null成都市委副主委该方法无法识别到成都市,无法对西南财经大学的笔误写法进行修改,也无法根据上下文明确教研室主任的任职时间到1984年为止。针对每个实体分开进行信息抽取的结果如表4所示:表4时间地点组织部门职务1983-未知null民商法教研室主任1984-未知null金融法研究所所长1992-未知成都市成都市委副主委该方法由于割裂开了多个实体的关系,所以无法识别出笔误的学校。也无法根据上下文明确教研室主任的任职时间到1984年为止。本实施例的处理结果如表5所示:时间地点组织部门职务1983-1984西南财经大学民商法研究所主任1984-未知西南财经大学金融法研究所所长1992-未知成都市成都市委市委副主委对于实体的抽取,完善,隐含信息的补充也处理的更好。实施例2本实施例提供的一种基于双层bilstm-crf的工作履历信息抽取系统,如图4,包括预处理模块、抽取模块、消歧模块、联想模块和完善模块,其中:预处理模块完成工作履历信息预处理,根据时间拆分工作履历信息为工作经历,对工作经历预处理,其输出端与抽取模块的输入端相连;抽取模块利用双层bilstm-crf模型对工作经历的信息实体进行抽取,其输出端与消歧模块的输入端相连;消歧模块完成对信息实体使用消歧算法进行计算,修改实体,其输出端与联想模块的输入端相连;联想模块的输入端完成对信息实体使用联想规则,优化实体信息,其输出端与完善模块的输入端相连;完善模块完成整理信息并输出。相同或相似的标号对应相同或相似的部件;附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制;显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1