我的项目整理

完整项目梳理

目录如下

一、背景介绍

二、需求分析

三、技术架构图

四、详细流程图

五、具体模型结构

六、部署运行

七、项目发展历程

八、项目中经历的问题&解决

九、未来待解决的问题


一、背景介绍

简历解析技术的门槛不高,稍微了解相关的技术就可以做到可用;但也可以说门槛相当高,因为要做到解析准确相当困难。
我司简历解析服务拥有行业领先的解析准确率,解析过程中会根据原始简历格式,采取针对性的解析方案,并结合NLP、深度学习、OCR等技术;解析字段超过200个,支持100+个招聘渠道,对各种样式的个性简历均有不俗的解析能力。

技术研发时长:9年(2011开始)

支持文件格式:14种(doc、docx、html、pdf、xls、xlsx、rtf、wps、txt、jpg、jpeg、png、bmp、gif)

支持招聘渠道:100+个(智联、前程等)

解析字段:200+个

支持语种:41种(简体中文,繁体中文,英语,日语和若干欧洲语言)

日处理简历量:60万

解析准确率

模板解析99.7%   

文本解析中重要信息97%~98%,其他信息92%

其他语种88%

二、需求分析

基于计算机技术,从非结构简历文本中快速准确提取出基本信息、技能、经历经验等信息,形成结构化数据,辅助简历筛选和人才分析工作。
技术性概括:将各式各样的简历解析成结构化的信息。

三、技术架构图

在解析服务中,根据上传文件分发到不同类别的解析方式中进行简历解析。

1.模板解析:根据文件名后缀or文件内容判断是否为支持的外部渠道简历,匹配渠道,再匹配渠道下的模板,最后使用对应模板的进行简历解析。

运用DOM Tree 解析,正则表达式匹配和KMP文本匹配算法。

2.Daxtra解析:德士达是一家提供简历解析的服务解决方案,但针对性准确率不高,我们将非简体中文的简历解析使用Daxtra进行解析。(外包)

3.简历矩阵解析:借助目前主流的深度学习神经网络架构,通过增强NLP(自然语言处理)技术、OCR 技术、语义分析、实体识别等,对简历特征进行建模,进行规模化的模型训练。

4.规则解析:旧版的,已不使用了,就是通过规则+正则进行文本匹配,从而到达简历解析效果。

Corn富文本提取:

java写的,grpc向外暴露,利用POI包将pdf和docx文件进行文本提取,可以提出出来:包含所有文本及其加粗、绝对位置、下划线、字号等样式

(除文本以外的位置、样式等特征信息对后面模型进行训练预测有着很不错的加持!)

深度学习模型:5个模型都是使用python写的,基于TensorFlow和keras,使用tensorflow-serving+docker部署,在k8s上进行运维管理。

四、详细流程图

数据清洗?

特征构建?

特征选择?

模型选择?

模型调优?

衡量指标?

 

五、具体模型结构

分句模型,模型代码如下:双向LSTM+CRF

其中双向LSTM添加注意力机制,可以使得化解瓶颈问题。

分类模型,具体代码如下:双向LSTM

六、部署运行

 

七、项目发展历程

第一阶段:模板解析阶段
根据简历页面结构构建通用的解析模板,通过路径匹配解析字段,实现简历的精准解析,中间主要用到了DOM Tree 解析,正则表达式匹配和KMP文本匹配算法。这个阶段对可以根据关键字和DOM Tree识别简历来源渠道并调用响应解析模板,因此可以对各大网站投递的简历有非常好的解析效果,但对纯文本简历解析效果较差。

第二阶段:文本解析阶段
根据简历文本内容特征和简历关键字进行解析,覆盖了全格式的简历文本解析;在这个版本中,我们增加了自主研发的根据关键词进行断句分词的自然语言处理模型,提升了对自主格式简历的解析效果。

第三阶段:增强NLP引擎结合简历行文规则阶段
这一阶段逐渐构建了专门用于简历解析的知识库,同时针对于简历的各种样式,逐步完善了上千个解析规则,为了实现不同格式简历类型的精准解析,自主研发对了对简历解析友好的文本提取服务,使得简历解析准确度突破了上升的萍颈,取得了市场领先地位;同时升级NLP引擎,弥补传统NLP无法根据行文格式进行分词断句的缺点,基本可以识别大部分简历

第四阶段:基于深度学习的智能解析引擎
借助目前主流的深度学习神经网络架构,通过增强NLP(自然语言处理)技术、OCR 技术、语义分析、实体识别等,对简历特征进行建模,进行规模化的模型训练,。使得智能简历解析引擎快速超过以往的解析水平。目前智能简历解析引擎实现一个月左右一次的自动模型迭代,不断的优化训练中。我们通过构建 文本预处理-> 文本重组-> 段落识别 -> 实体识别 -> 特征处理等管线,同时通过样本简历库,可以基本实现模型的自学习和自我进化。

 

八、项目中经历的问题&解决

【分词模型】
1.采用什么分词技术?
答:哈工大分词技术

2.遇到什么问题?
1)空格对分词造成的影响
答:分词前去除空格,之后还原

2)丢失空格导致超长词
答:采用AC自动机算法从词库中分词匹配

【分句模型】
1.采用什么分词技术?
答:双向LSTM+Attention+CRF,多任务训练=POS+NER+分类

【分类模型】
1.采用什么分词技术?
答:双向LSTM+Attention

采用的什么词向量?
答:中英文维基百科语料上的Word2Vec,使用的256维的

词不在词库中如何处理?
答:随机uniform一个(也可以考虑fasttext)

训练样本怎么来的?
答:利用当前线上模板解析结果生成值训练数据

训练样本类别不均衡怎么解决?
答:为避免训练不足的类别准确性过低,在训练的每个批次按比例组合各类别数据

九、未来待解决的问题

1

发表评论

电子邮件地址不会被公开。 必填项已用*标注

微信扫一扫

微信扫一扫

微信扫一扫,分享到朋友圈

我的项目整理
嘿!有什么能帮到您的吗?
返回顶部

显示

忘记密码?

显示

显示

获取验证码

Close