Java 无规则简历解析
无规则简历解析demo,写了很多规则,目的就是为了从简历中抓取数据。并不只是姓名,电话,邮箱等数据,而是尽量能做到抓取所有的数据。 说是无规则,其实大多数简历模板也都是有一定的规则的。
以下是我的一个结果,部分数据并没有打印出来,研究这方面的朋友可以加Q一起讨论:1654917395。 电话联系:18250073298 +qq或者电联免费获取演示视频
无规则简历解析需求分析
需求描述:写一个java方法或者工具类
传入参数:一个word的文件流
file.getInputStream()
返回一个json或者map 需要提取的信息如下
提供jar包和源代码
大体上使用java 使用其他技术不限
简历关键信息提取一览表
个人基本资料: 个人资料整体改成如下:
籍贯 (admin后台设置选择,单选)
个人头像 (上传1寸照片)
1姓名: xxxx必须提取 (必须提取 除非真的没有 一般都会有)
2性别、电话号码、邮箱、微信、qq、身份证号码 (必须提取 除非真的没有)
3年龄: x岁 婚姻状况:(根据简历实际填写情况获取,没有的话不提取)
4生日: 1990年02月 (精确到某年某月某日 如果简历中没有日可以不提取)
5现居住地: 福建省安溪县 (根据简历实际填写情况获取,没有的话不提取)
6学历: 本科/大专/初中/高中 等(必须提取 除非真的没有)
7毕业时间: 2013年06月(必须提取 除非真的没有 精确到某年某月某日 如果简历中没有日可以不提取) 格式:yyyy-mm-dd
计算工作年限:(最后参与工作时间减去毕业时间 可能存在没有工作经验的情况)
8毕业院校: xxxx 福建工程学院
所学专业: 通信工程 (根据简历实际情况获取)
开始工作时间: 2013-07-01 (yyyy-mm-dd格式,如果未没有工作经历则不提取 可能应届生 直接返回无工作经历)
工作时长: x年以上 (必须提取 重要指标)
政治面貌:(根据简历实际填写情况获取,没有的话不提取)
9自我评价:根据简历实际情况提取 如果没有 那么不提取
10学习经历:根据简历实际情况提取 如果没有 那么不提取
11 籍贯
12工作经历:这一部分需要处理两次
使用一个key和value存放所有的工作描述文本
不需要解析
使用另外一个key和value存放分类好的工作描述:(如不明白可咨询)分类好的工作描述按照集合的形式
以集合的形式呈现(可能每个简历表现形式不一样)(必须提取)
包含以下内容:
所属公司1
岗位名称1
所在城市1
工作描述1
开始时间1:
结束时间1:
掌握技能:以字符串呈现即可
所属公司2
岗位名称2
所在城市2
工作描述2
开始时间2:
结束时间2:
掌握技能:可能也是个集合
所属公司3
岗位名称3
所在城市3
工作描述3
开始时间3:
结束时间3:
掌握技能:可能也是个集合
13掌握技能情况这一部分需要处理两次
使用一个key和value存放所有的掌握技能情况描述文本
不需要解析
使用另外一个key和value存放分类好的掌握技能情况:(如不明白可咨询)分类好的掌握技能情况按照集合的形式(掌握情况+标签)以集合形势呈现
如:精通java 熟练掌握 jsp 熟悉c语言等等
掌握情况1
技能1
掌握情况2
技能2
技能3
掌握情况3
期望薪资:(文本框)(税前) (必需填数字,0代表面谈)
可接受工作地点:(后台设置选择,可多选,精确到地级市)(文本框)
14证书获得情况 只需提取简历中完整的描述即可 不需要分类
15其他:看简历里面是否有这一部分 没有可以不提取
说明:
以上内容除了标明必须提取的 其他的如果简历中没有对应的部分则可以不提取 返回空串即可
注意事项:
1.可以提供的是源代码和jar包
2.为了二次开发注释需要多写一点
项目经历:这一部分需要处理两次
使用一个key和value存放所有的项目经历描述文本
不需要解析
使用另外一个key和value存放分类好的项目经历描述:(如不明白可咨询)分类好的项目经历描述按照集合的形式
以集合的形式呈现(可能每个简历表现形式不一样)
包含以下内容:
项目名称1
所属公司1
负责模块(主要做了什么)1
项目描述1
开始时间1:
结束时间1:
项目名称2
所属公司2
负责模块(主要做了什么)2
项目描述2
开始时间2:
结束时间2: