一种基于内容分块和BiLSTM模型的简历解析方法与流程

文档序号:17664701发布日期:2019-05-15 22:37阅读:1135来源:国知局
一种基于内容分块和BiLSTM模型的简历解析方法与流程

本发明涉及计算机技术领域,特别是涉及一种基于内容分块和bilstm模型的简历解析方法。



背景技术:

随着社会的发展,信息化的生活与人们已经变得息息相关,传统的纸质简历不便于数据的搜集,取而代之的是信息化的系统。国内众多的企业都有了自己的信息化系统,但是对于简历数据的采集仍然有一大问题,那就是简历的数据无法被准确地提取出来。简历信息不方便提取,导致人事部门经常需要花更多的时间对信息进行手工录入以及人力归档,大大降低了工作效率。

国内外也有众多支持简历解析功能的服务。然而国外的简历解析针对的是英语,英语在每个单词都是独立的,能够用比较轻松的方式拿到准确的内容含义,而中文独特的结构,利用上下文语义对内容进行推测则不便于编程的实现。

国内的简历解析方法则主要是通过对常见招聘网站的简历模板进行适配,准确率是比较高的,但是面对各种自由格式的简历,以及形形色色每年演替的简历模板,这样的内容提取手段显得非常无力。也有一些解析工具利用大数据对内容进行判断,对于一般企业无法提供庞大的数据量根本无法使用。



技术实现要素:

本发明主要解决的技术问题是提供一种基于内容分块和bilstm模型的简历解析方法,提高信息抽取准确率,减少简历信息提取过程数据损失。

为解决上述技术问题,本发明的基于内容分块和bilstm模型的简历解析方法,包括:

(1)获取简历样本;

(2)统计区分简历样本的文本的主体和标题,生成分类词典;

(3)利用bilstm模型训练简历文本,得到实体识别模型;

(4)通过正则表达对待解析的简历文本依据分类词典进行模糊匹配生成分类标记,匹配成功则把自当前匹配成功的分类标记到下一个匹配成功的分类标记之间的内容归入第一内容分块操作,继续通过正则表达依据分类此次进行分类,直到完成简历文本的内容分块操作;

(5)用正则表达式将待解析的简历文本依规则信息提取键值;

(6)依据(6)中提取的键值,建立键值信息库和键值白名单,将通过白名单的键值进入下一轮信息的提取;

(7)针对步骤(4)中归类的各内容分块,以时间点切割整合形成解析简历文本,利用步骤(3)中的实体识别模型对整合的简历文本进行实体识别,提取键值信息库中对应的信息。

优选的,上述的简历解析方法,所述简历样本的语言为中文。

优选的,上述的简历解析方法,所述步骤(4)的内容分块包括步骤(4.1)通过卷积神经网络算法依据字符的位置、字号、颜色、字体特征对常用简历内容的标题和正文区分为内容块;(4.2)将区分的内容块保存为关键字字典;(4.3)将关键字字典用于对简历文本进行分类识别和内容分块。

优选的,上述的简历解析方法,所述步骤(2)区分简历标题和文本的方法是文中字号的大小和字体的区别。

优选的,上述的简历解析方法,所述步骤(4)中的简历文本的形式为标题在内容之前。

优选的,上述的简历解析方法,所述步骤(5)用正则表达将待解析简历文本依规则信息提取键值的规则信息包括性别,身高体重,邮箱,电话号码,出生地和出生日期。

优选的,上述的简历解析方法,所述步骤(7)中利用(3)中的模型进行实体识别是指出对两个相邻的所述时间切割点的时间点之间的解析简历文本的内容进行实体识别。

优选的,上述的简历解析方法,所述步骤(5)中的键值信息库是将键值与关键词一一对应建立所述的键值信息库。

优选的,上述的简历解析方法,所述步骤(5)还包括将待解析的简历文本的文件格式转换为文本格式,所述的待解析的简历文本的文件的格式包括pdf格式,doc格式,docx格式,txt格式,html格式,mht格式,jpg格式,png格式。

优选的,上述的简历解析方法,所述的步骤(3)中利用bilstm模型训练中,所述简历文本的基础信息采用正则表达式规则提取,学历信息和工作经验信息使用关键信息识别器提取。

如上所述,本发明基于内容分块和bilstm模型的简历解析方法,利用简历结构化的特征对内容进行粗分、细分,再对理解性内容利用bilstm模型进行实体识别,提取出关键的信息。把各种各样的文档转换为统一的便于利用的数据供各种人力资源系统使用,能够友好地提高信息抽取准确率,减少简历信息提取过程数据损失并支持不同文件格式。

附图说明

图1是本发明实施例提供的简历解析方法的流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明通过bilstm模型训练和处理简历的文本,对简历文本自动进行筛选和提取,从而代替传统的人工筛选简历的方式,提高建立的筛选和提取检索的效率。本领域技术人员可以得知,lstm的全称是longshort-termmemory(中文译名:长短期记忆网络),它是rnn(recurrentneuralnetwork,循环神经网络)的一种。lstm适合用于对时序数据的建模,如文本数据。bilstm是bi-directionallongshort-termmemory(中文译名:前后向长短期记忆网络)的缩写,是由前向lstm与后向lstm组合而成。本发明充分利用了bilstm神经网络模型的特点,实现简历文本的自然语言处理任务建模和上下文信息处理。

参阅图1,是本发明实施例提供的基于内容分块和bilstm模型对简历进行解析的简历解析方法流程示意图。本发明实施例的简历解析方法包括以下步骤:

(1)获取简历样本,先通过搜集获取足够量的电子简历样本作为本发明的训练模型需要的样本,其中,简历样本可以从各类招聘网站上收集,述简历样本的语言只能为中文。简历样本的文件格式可以是doc格式、docx格式、mht格式、pdf格式或html格式,预订数量可以根据实际需要设定,为了提高模型的结果准确率,可以获取尽量多的简历样本,例如10000份。

(2)统计区分简历样本的文本的主体和标题,生成分类词典,通过统计区分主体文本和标题,其中,主体文本是指简历样本的正文内容,标题主要指简历的标题和各内容的小标题,并标记出用于区分内容块的简历标题,归纳成分类词典,其实现的代码部分如下:

input=tensor([[字号大小,是否加粗,字体种类,文本长度],

[字号大小,是否加粗,字体种类,文本长度],

...])

label=[标签1,标签2,...]

model=cnn_train(input,label)

newinput=[字号大小,是否加粗,字体种类,文本长度]

print(model.predict(newinput))

其中,把样本简历的每一行内容以特定的属性进行标记,标记的形式为{字号大小,是否加粗,字体种类,文本长度,标签},利用卷积神经网络算法,通过卷积神经网络算法进行训练,把每一行内容的特征信息进行压缩,从而提取出标题和正文的区别,得到一个用于区分标题和正文的分类器。然后用这个分类器对其余简历标题和正文的区分,把识别得到的标题进行汇总统计,由于简历具有通用性关键的内容划分标题一般不会太多可能性,可通过手工筛选分类来确定标题属于哪一种内容块,例如“学历”、“教育”、“工作”等区块,从而实现内容分块中最复杂的划分内容区块这一步。

(3)利用bilstm模型训练简历文本,得到实体识别模型,

具体地,把简历样本中的工作经验和项目经验的自然文本部分整理,标记上“时间,公司名称,职位名称”等实体信息,利用bilstm模型对文本进行训练,得到专门用于实体识别的关键信息识别器,例如,通过训练的识别工作经验的关键信息识别器,输入样本简历的一段内容,关键信息识别器输出哪几个字属于公司名称,又有哪几个字属于职位名称。通过关键信息识别器,简历解析就可以针对一段指定的简历文本找出指定的关键信息。

(4)将待解析的简历文本的文件格式转换为文本格式;其中,文档转换可以采用现时已有的转换包进行转换,目标是只保留文字和大致排版信息。

(5)通过正则表达对待解析的简历文本依据分类词典进行模糊匹配生成分类标记,匹配成功则把自当前匹配成功的分类标记到下一个匹配成功的分类标记之间的内容归入第一内容分块操作,继续通过正则表达依据分类此次进行分类,直到完成简历文本的内容分块操作,在通过正则表达式对分类词典依次进行模糊匹配时,假如连续匹配到了两个词语,那么两个词语之间的文本内容都归入第一个被匹配到的词语中,从而降低由于文本编辑空间不足的换行造成的内容误判,此步骤的代码部分如下:

其中,正则表达式匹配的原则是,由于标题由简单的内容主旨构成,不会有过多的冗余信息,因此,以关键词为核心进行匹配,再加上简历内容块的唯一性,可以准确拿到需要的区间信息。

(6)用正则表达式将简历文本依规则信息提取键值,具体地,用正则表达式把简历中的大部分的基础信息进行高效提取,设计有针对性的规则额外对其余键值信息进行补充提取,针对性的规则例如:从邮箱中判断是不是qq邮箱,假如是qq邮箱那么就可以推断邮箱中的数字是qq号码;假如找到了出生地信息,那么可以推断出这个人的籍贯就是该出生地所在地。

其中,大部分的规则包括性别,身高体重,邮箱,电话号码,出生地和出生日期等。而键值对规则,则以关键词补全冒号作为一个信息补全的操作,然后以“键:值(空格)键:值”的模式进行正则表达式匹配。匹配得到的结果中可能会有一部分是假的键值对,例如是简历使用者自己在内容部分编辑写入的,因此需要一个审核的流程,把有效的留下来,无意义的舍去,留下来的有效键归并到常用键值库中,作为白名单,从而实现对内容进行自动的筛选保留。

由于键值对的存在可能是用户输入信息产生的,故而,需要白名单对常见的符合要求的键值进行筛选,从而提高内容提取的准确度;由于键值是针对简历文本你的全文,因此,有些键值对属于步骤(7)中的待解析文本内容,而让这些信息重新回归到步骤(7)当中则经过这个键值白名单进行审核,而每个内容分块中的键值都有自己独特的称呼方式,以确保不会错乱。

(7)依据步骤(6)中提取的键值,建立键值信息库和键值白名单,将通过白名单的键值进入下一轮信息的提取,具体地,把步骤(6)中的键值保存到专门的库中,作为关键信息库,并建立键值白名单机制,这个建立过程也是需要人工定期审核的,仅允许通过审查的新键值进入下一轮信息的提取。通过对白名单机制的一次次审核和筛查对比,逐步提高解析成功率。

(8)针对步骤(5)中归类的各内容分块,以时间点切割整合形成待解析简历文本,利用步骤(3)中的实体识别模型对整合的简历文本进行实体识别,提取键值信息库中对应的信息,具体地,针对已经归类的各个部分内容,以时间作为划分点,对文本进行整合,并用(3)中训练出来的关键信息识别器进行关键信息抽取,提取的信息包含公司名字、职位名称等,得到关键信息的提取,其余信息均作为详细信息返回,减少内容损耗。

其中,内容划分的过程以时间信息作为划分点,对两个时间之间的内容进行实体识别,识别用到的是第三部中训练得到的模型。模型体积较大,每次加载会影响效率。因此利用一个微服务服务器作为容器,预加载并常驻于内存中,程序直接的交流通过发送https请求进行,以json格式的数据进行标准化的交互,以确保性能和准确度。识别完以后,内容完整保留并以详细信息作为保留字段,确保信息的高还原和关键信息的准确获取兼顾。

每一有效关键词及其对应的描述信息可以输出到统一的数据表中,并且预定格式可以是json格式。

通过上述方式,本发明实施例的简历解析方法通过搜集的简历样本,对常见的标题和关键词进行整理即上文步骤中的(2)和(7),接着利用常见的标题在文本中的独特位置信息和字号信息进行简历内容块划分,并依据标题类型的分类选择不同的信息提取方式,例如:基础信息采用正则表达式等规则提取,而学历信息和工作经验信息则使用关键信息识别器进行抽取。其中,简历文本的基础信息包括姓名、性别、手机号、邮箱和居住地等。

本发明能够基于简历内容分块技术和bilstm模型进行自动化的简历解析,能够提高信息抽取准确率并支持简历文本的格式包括pdf,doc,docx,txt,html,mht,jpg,png等格式不同文件格式,并通过针对姓名,性别,年龄,籍贯,手机号,电子邮箱,身高,体重等多达20多个关键基础信息的提取,进而可以实现根据教育经历推测最高学历信息,根据工作经验推测最近一份工作信息。

本发明可以输入涵盖全国95%的学校信息,提取的关键词的学历信息包括从中学到大学的提取,而工作经验利用bilstm模型进行实体识别标记,对公司名称和职称进行有效提取,进一步针对工作经验的详细信息,提高信息的可利用程度。由此,本发明省去对简历文本的内容进行审查总结的大量大力,利用bilstm模型实现解析简历的精准度,通过利用本发明可为招聘网站、公司hr部门提供丰富方便备用的人才资源库。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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