目录
1、软件概述
ResumeSDK简历解析是北京无奇科技有限公司研发,业界领先的智能简历解析和人岗匹配算法厂商,提供专业的AI招聘技术服务,致力于人力资源行业智能化这一进程。并已经上线阿里云或腾讯云,有100次的免费试用额度,解析效果非常不错
官网地址:简历解析|人岗匹配|智能简历解析 - ResumeSDK
文档地址:简历解析接口文档 - ResumeSDK
类似竞品:AI-智能改变招聘,助力人力资源数字化 | 麦穗人工智能
2、编程案例
2.1、官网案例(阿里云)
import java.io.File;
import org.apache.commons.codec.binary.Base64;
import org.apache.http.Consts;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import org.json.JSONObject;
public class TestParseAli {
public static void testParser(String url, String fname, String appcode) throws Exception {
// 设置头字段
HttpPost httpPost = new HttpPost(url);
httpPost.setHeader("Authorization", "APPCODE " + appcode);
httpPost.addHeader("Content-Type", "application/json; charset=UTF-8");
httpPost.addHeader("Content-Type", "application/json");
// 读取简历内容
byte[] bytes = org.apache.commons.io.FileUtils.readFileToByteArray(new File(fname));
String data = new String(Base64.encodeBase64(bytes), Consts.UTF_8);
// 设置内容信息
JSONObject json = new JSONObject();
json.put("file_name", fname); // 文件名
json.put("file_cont", data); // 经base64编码过的文件内容
json.put("need_avatar", 0); // 是否需要解析头像
json.put("ocr_type", 1); // 1为高级ocr
StringEntity params = new StringEntity(json.toString(), Consts.UTF_8);
httpPost.setEntity(params);
// 发送请求
HttpClient httpclient = new DefaultHttpClient();
HttpResponse response = httpclient.execute(httpPost);
// 处理返回结果
String resCont = EntityUtils.toString(response.getEntity(), Consts.UTF_8);
System.out.println(resCont);
JSONObject res = new JSONObject(resCont);
System.out.println(res.toString(4));
}
public static void main(String[] args) throws Exception {
String url = "http://resumesdk.market.alicloudapi.com/ResumeParser";
String fname = "D:/resumeSDK/test_files/yaoming.doc"; //替换为你的文件名
String appcode = "你的appcode";
testParser(url, fname, appcode);
}
}
2.2、优化案例
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.codec.binary.Base64;
import org.apache.http.Consts;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import java.io.IOException;
import java.util.UUID;
public class ResumeSDK {
public static String parserStr(String content) {
try {
String url = "http://resumesdk.market.alicloudapi.com/ResumeParser";
// 设置头字段
HttpPost httpPost = new HttpPost(url);
httpPost.setHeader("Authorization", "APPCODE " + "7619614c299a42b080cbeebb0cf7659e");
httpPost.addHeader("Content-Type", "application/json; charset=UTF-8");
httpPost.addHeader("Content-Type", "application/json");
// 读取简历内容
byte[] bytes = content.getBytes();
String data = new String(Base64.encodeBase64(bytes), Consts.UTF_8);
// 设置内容信息
JSONObject json = new JSONObject();
json.put("file_name", UUID.randomUUID()); // 文件名
json.put("file_cont", data); // 经base64编码过的文件内容
json.put("need_avatar", 0); // 是否需要解析头像
json.put("ocr_type", 1); // 1为高级ocr
StringEntity params = new StringEntity(json.toString(), Consts.UTF_8);
httpPost.setEntity(params);
// 发送请求
HttpClient httpclient = new DefaultHttpClient();
HttpResponse response = httpclient.execute(httpPost);
// 处理返回结果
String resCont = null;
resCont = EntityUtils.toString(response.getEntity(), Consts.UTF_8);
System.out.println(resCont);
return resCont;
} catch (IOException e) {
System.out.println(e);
return "";
}
}
public static ResumeWritable parser(String content) {
try {
ResumeWritable resume = new ResumeWritable();
String jsonString = parserStr(content);
// 使用FastJSON解析JSON字符串
JSONObject jsonObject = JSON.parseObject(jsonString);
JSONObject result = jsonObject.getJSONObject("result");
String name = result.getString("name");
if (name != null) {
resume.setName(name);
}
String sex = result.getString("sex");
if (sex != null) {
resume.setSex(sex);
}
String phone = result.getString("phone");
if (phone != null) {
resume.setPhone(phone);
}
String location = result.getString("hometown_address");
if (location != null) {
resume.setLocation(location);
}
String age = result.getString("age");
if (age != null) {
resume.setAge(age);
}
//coding
return resume;
} catch (Exception ex) {
return null;
}
}
public static String parserJson(String content) {
try {
Resume resume = new Resume();
String jsonString = parserStr(content);
// 使用FastJSON解析JSON字符串
JSONObject jsonObject = JSON.parseObject(jsonString);
JSONObject result = jsonObject.getJSONObject("result");
resume.setName(result.getString("name"));
resume.setSex(result.getString("gender"));
resume.setPhone(result.getString("phone"));
resume.setAge(result.getString("age"));
return resume.toString();
// return JSONObject.toJSONString(resume);
} catch (Exception e) {
System.out.println(e);
return "";
}
}
public static void main(String[] args) throws Exception {
String log = "4342dfab322bc2701nd43ty5FlJZx4W7UvyWWOenl_XUMhVh|13+年工等所有能安装在windows系统上的软件进行功能测试和兼容性测试。3.针对不同的软件进行国际化和本地化测试(主要负责日语、德语、俄语、简中、繁中,包括桌面app和Storeapp的测试)4.编写自动化代码对桌面app软件进行测试,从安装到功能验证到卸载全流程自动化测试(IVU).5.编写cmd命令脚本,shell脚本等修改注册表和自动搭建机器环境等操作。工作成就与挑战:1.工作一年后,经过公司内部筛选,成功从一个手动测试变成自动化测试,编写了大量自动化测试脚本,为项目组节省了很多人力成本。WindowsPhone手机系统自动化测试工作描述:该项目是针对WindowsPhone手机系统在各个手机OEM厂商设备上的功能测试,24小时压力测试。责任描述:项目二1.负责手机各种环境的搭建,包括手机OFLab,安装各种操作系统及配置各种服务等。2.负责配置脚本的编写维护3.负责手机系统的自动化测试,包括健康、压力、性能等。4.编写Windows系统上各种app的自动化测试代码编写,CET-4语言能力日语:读写能力一般英语:读写能力熟练|听说能力可沟通";
String resume = ResumeSDK.parserStr(log);
System.out.println(resume);
}
}
3、解析结果
{
"status": {
"message": "success",
"code": 200
},
"result": {
"name": "姚明",
"gender": "男",
"age": "26",
"marital_status": "未婚",
"polit_status": "群众",
"major": "工业设计学",
"surname": "姚",
"height": "213cm",
"weight": "100kg",
"birthday": "1988.09.27",
"city_norm": "中国-北京-北京市",
"college": "清华大学",
"college_type": "0",
"college_rank": "2",
"has_oversea_edu": "0",
"has_oversea_exp": "0",
"city": "北京市",
"grad_time": "2015.07",
"degree": "硕士",
"race": "汉族",
"nationality": "中国",
"english_level": "大学英语6级",
"computer_level": "计算机三级",
"work_position": "产品专员",
"work_company": "腾讯",
"work_industry": "互联网",
"work_start_time": "2012.05",
"work_year_norm": "1",
"work_year": "1",
"work_job_nature": "全职",
"work_start_time_inf": "2012.05",
"phone": "13800112233",
"email": "[email protected]",
"postal_code": "100082",
"qq": "100086",
"weixin": "yaoming100082",
"expect_salary": "5000~10000元/月",
"expect_salary_min": "5000",
"expect_salary_max": "10000",
"expect_job": "产品经理",
"expect_industry": "互联网/电子商务",
"living_address": "北京市海淀区",
"living_address_norm": "中国-北京-北京市-海淀区",
"hukou_address_norm": "中国-天津-天津市-河北区",
"hukou_address": "河北",
"hometown_address_norm": "中国-天津-天津市-河北区",
"hometown_address": "河北",
"resume_type": "0",
"resume_source": "智联",
"resume_integrity": "84",
"resume_parse_time": "2019-07-07 22:33:02",
"resume_name": "yaoming.doc",
"avatar_data": "”data:image/jpg;base64,Jfda08sdfdaJ&&fdaafadsfsafds....",
"education_objs": [
{
"edu_college": "北京大学",
"edu_major": "工业设计",
"start_date": "2008.09",
"end_date": "2012.07",
"edu_degree": "本科",
"edu_degree_norm": "本科",
"edu_college_rank": "1",
"edu_college_type": "0",
}
{
"edu_college": "清华大学",
"edu_major": "工业设计",
"start_date": "2012.09",
"end_date": "2015.07",
"edu_degree": "硕士",
"edu_degree_norm": "本科",
"edu_college_rank": "2",
"edu_college_type": "0",
}
],
"job_exp_objs": [
{
"job_position": "产品专员",
"end_date": "至今",
"job_content": "工作内容:\n负责北京移动门户的持续优化及 h5 网站的需求整理、产品规划、原型制作,沟通设计、前端、开发保证项目按照规划\n正常进行,以及网站上线后的持续优化。",
"job_cpy": "腾讯",
"job_industry": "互联网",
"job_cpy_size": "500-999人",
"job_duration": "5年7个月",
"start_date": "2013.12"
},
{
"job_dept": "产品研发部",
"end_date": "2013.12",
"job_position": "产品助理",
"job_content": "工作内容:负责协助产品经理完成公司产品的需求整理、产品规划、原型制作,沟通开发、设计保证项目的进行,并\n定期向总经理汇报产品的进度,以及发展方向。",
"job_cpy": "百度",
"job_industry": "计算机软件",
"job_cpy_size": "50-100人",
"job_duration": "6个月",
"start_date": "2013.06"
},
{
"job_position": "ui设计师",
"end_date": "2013.06",
"job_content": "负责项目交互设计及界面设计。\n工作业绩: 1、 完成数据备份容灾系统的 ui设计及交互设计。\n2、 完成数据云平台的 ui设计及交互设计。",
"job_cpy": "阿里",
"job_industry": "计算机软件",
"job_cpy_size": "50-100人",
"job_duration": "1年1个月",
"start_date": "2012.05"
}
],
"proj_exp_objs": [
{
"proj_position": "h5",
"proj_resp": "责任描述: 对现有网站进行数据分析,整理需求输出需求文档,完成整个网站架构、流程设计及原型设计,协调设计、前端、开\n发完成网站上线。",
"proj_name": "北京移动项目",
"start_date": "2014.08",
"end_date": "至今"
},
{
"proj_resp": "责任描述: 对现有网站重新整理需求并规划,优化现有网站业务及网站流程,完成原型设计,协调设计开发上线。",
"proj_name": "移动集团统一门户项目",
"start_date": "2013.12",
"end_date": "2014.03"
},
{
"proj_resp": "责任描述: 整理pc 端需求功能,完成软件整体框架流程、产品规划,输出产品原型,沟通开发、设计确保项目顺利进行",
"proj_name": "3d开发",
"start_date": "2013.09",
"end_date": "2013.12"
},
{
"proj_resp": "责任描述: 整理婚礼淘需求,完成产品规划,输出产品原型,完成交互设计,沟通开发、前端保证产品严格按照设计完成并上\n线。",
"proj_name": "婚礼项目",
"start_date": "2013.06",
"end_date": "2013.09"
}
],
"training_objs": [
{
"train_org": "中国人民大学",
"train_cont": "2010 年:北京市互联网宣传管理办公室与中国人民大学新闻学院主办的北京地区网络新闻。"
}
],
"cert_objs": [
{
"langcert_lang": "英语",
"langcert_name": "大学英语4级"
},
{
"langcert_lang": "英语",
"langcert_name": "大学英语6级"
}
],
"lang_objs": [
{
"language_name": "英语"
}
],
"skills_objs": [
{
"skills_level": "熟练",
"skills_name": "visio"
},
{
"skills_level": "熟练",
"skills_name": "axure"
},
{
"skills_level": "熟练",
"skills_name": "ppt"
},
{
"skills_level": "熟练",
"skills_name": "excel"
},
{
"skills_name": "产品运营"
},
{
"skills_level": "熟练",
"skills_name": "思维导图"
},
{
"skills_level": "熟练",
"skills_name": "原型设计"
},
],
"cont_basic_info": "简历关键字:产品 设计 交互 用户体验\n姚明\n一年以上工作经验 | 男 | 26岁(1988 年 09月 27日) | 未婚 | 173cm\n居住地: 北京市-海淀区。。。",
"cont_expect_job": "希望行业:互联网/电子商务\n期望月薪: 面议/月\n目标职能: 产品经理",
"cont_education": "2008 /9--2012 /7 北京大学 工业设计专业 本科。。。",
"cont_job_exp": "2013 /12—至今:腾讯(500-999 人)\n所属行业: 互联网\n职位 : 产品专员\n工作内容:\n负责北京移动门户的持续优化及。。。",
"cont_proj_exp": "2014 /8—至今:北京移动 h5 网站\n责任描述: 对现有网站进行数据分析,整理需求输出需求文档,完成整个网站架构、流程设计及原型设计。。。",
"cont_job_skill": "1、精通挖掘用户需求,优化产品用户体验\n2、深刻理解以用户为中心设计理念,并深切的贯穿到工作当中。。。",
"raw_text": "简历关键字:产品 设计 交互 用户体验\n姚明\n一年以上工作经验 | 男 | 26岁(1988 年 09月 27日) | 未婚 。。。",
},
"eval": {
"salary": 8400
},
"tags": {
"industries": [
{
"tag_weight": 1.4,
"tag_name": "计算机软件"
},
{
"tag_weight": 1.0,
"tag_name": "通信/电信运营、增值服务"
},
{
"tag_weight": 1.0,
"tag_name": "互联网"
}
],
"pos_types": [
{
"tag_weight": 2.015383310857466,
"tag_name": "产品经理/主管"
},
{
"tag_weight": 1.2617799853900002,
"tag_name": "产品专员"
},
],
"pos_tags": [
{
"tag_weight": 1.4555183062553405,
"tag_name": "产品经理"
},
{
"tag_weight": 1.3040755200386047,
"tag_name": "产品专员"
},
{
"tag_weight": 0.7510459804534912,
"tag_name": "产品助理"
},
{
"tag_weight": 0.57615185379982,
"tag_name": "移动产品经理"
},
],
"skills_tags": [
{
"tag_weight": 0.8800841093063354,
"tag_name": "产品经理"
},
{
"tag_weight": 0.6550871372222901,
"tag_name": "axure"
},
{
"tag_weight": 0.6520612478256226,
"tag_name": "原型制作"
},
{
"tag_weight": 0.6261030197143556,
"tag_name": "产品规划"
},
]
}
}
标签:简历,name,resume,编程,job,tag,import,ResumeSDK,String
From: https://blog.csdn.net/taogumo/article/details/143716558