简介
校导帮智能
欢迎使用校导帮智能云服务!
校导帮简历解析云服务平台提供先进的简历解析和简历挖掘技术解决方案,致力于人力资源行业智能化这一进程。通过技术提升行业工作效率,减少人力资源管理成本;同时帮助招聘和猎头行业更 好地进行内容业务数据处理,提供工作效率。
关于我们
我们是南京大学“校导帮”团队。校导帮团队推出“有数”数据库和“优引”人岗匹配平台两大产品一款产品,用于提供大数据与人工智能算法驱动的高端人才寻访与引进服务。
校导帮作为人才服务机构,在“互联网+”背景下,如何利用大数据、云计算等信息为企业人才资源提供强大的技术支持,为人才搭建良好的成长信息化平台尤为重要。截止2022年6月,校导帮已向多个部门和企业推荐了多位海内外人才,其中包括2名院士和8名国家级人才计划人员。
服务简介
在当前求职布告软件和社交招聘盛行的环境下,每个空缺职位可能有数以百计的申请。企业需要对大量简历进行评估。从而挑选正确的简历/履历是所有公司的一项关键招聘业务决策。如果出现错误的候选人信息或者时间过久可能意味着将会错过合格的求职者,不相匹配的求职者,或者变得缺乏竞争力。
我们世界领先的简历解析可以帮助您优化招聘管理流程和招聘管理系统。校导帮的简历解析、搜索和匹配帮你完善一套节省行政、优化、存储、管理、分析和寻找候选人数据等的最佳方案。
我们提供独立部署或SaaS服务两套方案:
独立部署:服务部署在客户自有服务器上,支持本地服务器和云服务器两种独立部署方式。
SaaS服务:服务部署在校导帮服务器上,客户通过远程调用 API 的方式使用简历解析服务。
套餐信息
接口说明
获取套餐信息
返回用户套餐信息包括剩余简历解析额度,套餐过期时间。
请求说明
- 请求方式:get+application/json 方式
- 请求路径:https://api.xiaodaobang.com/v1/plan
请求头字段说明(header)
- Content-Type: application/json
参数说明(parameters)
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
id |
String | 是 | 用户ID |
secret |
String | 是 | 用户密匙 |
- 注:参数可放在请求路径中,如:
https://api.xiaodaobang.com/v1/plan?id=CLIENTID&secret=SECRET
返回结果说明
返回结果 | 返回结果类型 | 说明 |
---|---|---|
plan_type |
String | 用户套餐类型(by_quota 或 by_time 或 by_monthly_quota ) |
plan_end_at |
String | 用户套餐过期时间 |
left_quota |
Integer | 用户简历解析限额 |
product_name |
String | 产品名称 |
样本示例
[
{
"plan_type": "plan_end_at",
"left_quota": 9840,
"product_name": "简历解析",
"plan_end_at": "2018-10-13T20:39:16.152Z"
},
{
"plan_type": "by_quota",
"left_quota": 10000,
"product_name": "人物画像"
},
{
"plan_type": "by_quota",
"left_quota": 9990,
"product_name": "人岗匹配"
},
{
"plan_type": "by_quota",
"left_quota": 9961,
"product_name": "简历画像解析"
}
]
简历解析
接口说明
解析编码简历
发送经过base64编码的简历文件,返回解析结果。2.6.0以上新版本支持多种解析模式,极速模式,普通模式和高精度模式。
极速模式:适用于对解析速度要求极高的用户,单份简历解析速度平均比普通模式快3倍,解析速度大幅领先行业标准。目前仅支持纯中文或纯英文简历,中英文混合简历会当作纯中文处理。
普通模式:适用于大多数用途,字段完整度会比极速模式略高,解析效果大幅领先行业标准。
高精度模式:适用于对解析效果要求极高,但对解析时间不太敏感的用户。结合最先进的深度学习语义理解技术和海量知识词库,得到业内最精准的解析结果。
请求说明
- 请求方式:post+application/json 方式
- SaaS请求路径:https://api.xiaodaobang.com/v1/parser/parse_base
- 本地请求路径:http://localhost:port/parse_base
请求头字段说明(header)
- Content-Type: application/json
头字段参数 | 字段类型 | 必须 | 说明 |
---|---|---|---|
id |
String | 是 | 用户ID |
secret |
String | 是 | 用户密匙 |
请求查询说明(query)
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
rawtext |
Int | 否 | 是否返回原始简历内容,1 返回,0 不返回 |
handle_image |
Int | 否 | 是否处理图片简历,1 处理,0 不处理 |
avatar |
Int | 否 | 是否提取简历头像,1 处理,0 不处理 |
parse_mode |
String | 否 | 校导帮独创解析模式,客户可以根据具体需求选择最适合的简历解析模式,fast 极速模式,general 普通模式,accurate 高精度模式,默认解析模式为普通模式 |
ocr_mode |
String | 否 | 图片转文字OCR模式,general 普通模式,accurate 高精度模式,默认解析模式为普通模式 |
ocr_service |
String | 否 | OCR服务供应商,tencent 腾讯OCR, xiaodaobang 校导帮自研OCR, alicloud 阿里OCR, baidu 百度OCR, 默认为百度OCR (仅限本地部署) |
请求内容说明(body)
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
resume_base |
String | 是 | 经 base64 编码的简历文件内容 |
file_name |
String | 是 | 简历文件名(请确保后缀正确) |
请求内容结构体示例:
{
"resume_base": "BASE64RESUME",
"file_name": "my-resume.pdf"
}
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
cv_name |
简历文件名 | 系统缓存文件名 | String |
cv_id |
简历ID | 系统缓存简历ID | String |
errorcode |
错误码 | 请参照错误码汇总,解析成功则为 0 | Int |
errormessage |
错误信息 | 解析错误信息 | String |
version |
版本 | 简历解析版本 | String |
cv_language |
简历语言 | zh, zh/en, en | String |
src_site |
简历来源 | 51job, lagou, liepin, zhilian, other | String |
src_id |
简历ID | 对应招聘网站所属的简历ID,若没有识别出简历来源, 则ID为空 | String |
updated_time |
更新时间 | 简历更新时间,若没有则为空 | String |
avatar_data |
简历头像图片 | BASE64格式的简历头像图片,没有头像返回空字符串 | String |
avatar_url |
简历头像图片所在URL | 如简历中头像图片为链接形式,保存头像所在链接URL,没有链接返回空字符串 | String |
parsing_result |
中文解析结果 | 请参照返回解析结果列表,没有解析结果则为 {} | Object |
english_parsing_result |
英文解析结果 | 请参照返回解析结果列表,没有解析结果则为 {} | Object |
resume_integrity |
简历完整度评分 | 简历完整度评分,简历内容约完整,得分越高,分数范围为0-1 | Double |
- 注:中文(parsing_result)及英文(english_parsing_result)解析返回结果字段均一致,请参照返回解析结果列表
样本示例
{
"cv_name": "090a53f943431f51e9902a7851fce7ec.tmp",
"src_site": "zhilian",
"src_id" : "JM552042269R90250001123",
"updated_time" : "2019-01-02",
"errormessage": "succeed",
"cv_id": "",
"errorcode": 0,
"version": "4.2.1",
"cv_language": "zh",
"avatar_data": "",
"avatar_url": "",
"parsing_result": {...},
"english_parsing_result": {...},
"resume_integrity": 0.6485568
}
解析文件简历(仅限本地部署)
发送原始简历文件,返回解析结果。2.6.0以上新版本支持多种解析模式,极速模式,普通模式和高精度模式。
极速模式:适用于对解析速度要求极高的用户,单份简历解析速度平均比普通模式快3倍,解析速度大幅领先行业标准。目前仅支持纯中文或纯英文简历,中英文混合简历会当作纯中文处理。
普通模式:适用于大多数用途,字段完整度会比极速模式略高,解析效果大幅领先行业标准。
高精度模式:适用于对解析效果要求极高,但对解析时间不太敏感的用户。结合最先进的深度学习语义理解技术和海量知识词库,得到业内最精准的解析结果。
请求说明
- 请求方式:post+multipart/form-data 方式
- 本地请求路径:http://localhost:port/parse_file
请求查询说明(query)
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
rawtext |
Int | 否 | 是否返回原始简历内容,1 返回,0 不返回 |
handle_image |
Int | 否 | 是否处理图片简历,1 处理,0 不处理 |
avatar |
Int | 否 | 是否提取简历头像,1 处理,0 不处理 (仅限本地部署) |
parse_mode |
String | 否 | 校导帮独创解析模式,客户可以根据具体需求选择最适合的简历解析模式,fast 极速模式,general 普通模式,accurate 高精度模式,默认解析模式为普通模式 |
ocr_mode |
String | 否 | 图片转文字OCR模式,general 普通模式,accurate 高精度模式,默认解析模式为普通模式 |
ocr_service |
String | 否 | OCR服务供应商,tencent 腾讯OCR, xiaodaobang 校导帮自研OCR, alicloud 阿里OCR, baidu 百度OCR, 默认为百度OCR (仅限本地部署) |
请求内容说明(body)
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
file |
File | 是 | 原始简历文件 |
请求内容结构体示例:
{
"file": {原始简历},
}
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
cv_name |
简历文件名 | 系统缓存文件名 | String |
cv_id |
简历ID | 系统缓存简历ID | String |
errorcode |
错误码 | 请参照错误码汇总,解析成功则为 0 | Int |
errormessage |
错误信息 | 解析错误信息 | String |
version |
版本 | 简历解析版本 | String |
cv_language |
简历语言 | zh, zh/en, en | String |
src_site |
简历来源 | zhilian, 51job, liepin, lagou | String |
avatar_data |
简历头像图片 | BASE64格式的简历头像图片,没有头像返回空字符串 | String |
avatar_url |
简历头像图片所在URL | 如简历中头像图片为链接形式,保存头像所在链接URL,没有链接返回空字符串 | String |
parsing_result |
中文解析结果 | 请参照返回解析结果列表,没有解析结果则为 {} | Object |
english_parsing_result |
英文解析结果 | 请参照返回解析结果列表,没有解析结果则为 {} | Object |
resume_integrity |
简历完整度评分 | 简历完整度评分,简历内容约完整,得分越高,分数范围为0-1 | Double |
- 注:中文(parsing_result)及英文(english_parsing_result)解析返回结果字段均一致,请参照返回解析结果列表
样本示例
{
"cv_name": "090a53f943431f51e9902a7851fce7ec.tmp",
"src_site": "zhilian",
"src_id" : "JM552042269R90250001123",
"updated_time" : "2019-01-02",
"errormessage": "succeed",
"cv_id": "",
"errorcode": 0,
"version": "4.2.1",
"cv_language": "zh",
"avatar_data": "",
"avatar_url": "",
"resume_integrity": 0.6485568,
"parsing_result": {
"basic_info": {...},
"contact_info": {...},
"education_experience": {...},
"work_experience": {...},
"social_experience": {...},
"project_experience": {...},
"training_experience": {...},
"others": {...},
"resume_rawtext": {...}
},
"english_parsing_result": {
"basic_info": {...},
"contact_info": {...},
"education_experience": {...},
"work_experience": {...},
"social_experience": {...},
"project_experience": {...},
"training_experience": {...},
"others": {...},
"resume_rawtext": {...}
}
}
结果列表
基本信息
基本信息变量名为 basic_info
,变量类型为 object
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
name |
姓名 | 中文姓名 | String |
gender |
性别 | 男/女 | String |
work_start_year |
开始工作年限 | 四位数年份,如2013 | String |
national_identity_number |
身份证号 | 中国居民身份证号码 | String |
date_of_birth |
生日 | 出生日期,如 1981-02-01,如只有年月,则为1981-02 | String |
ethnic |
民族 | 中国56个民族, 如 汉族,壮族 | String |
current_location |
所在地 | 所在地城市或区域,如 北京西城,湖南长沙 | String |
current_location_norm |
所在地(标准化) | 所在地标准化 中国-北京-北京-昌平区,仅支持中国地区 | String |
detailed_location |
详细地址 | 具体家庭居住地,如 长沙市雨花区劳动西路1号 | String |
age |
年龄 | 当前年龄,整数 | Int |
num_work_experience |
工作经验 | 当前工作年限,整数 | Int |
current_company |
当前公司 | String | |
current_position |
当前职位 | String | |
school_name |
毕业学校 | 最高学历学校 | String |
school_type |
毕业院校类别 | 985 211/211/空值 | String |
degree |
学历 | 最高学历 博士/MBA/EMBA/硕士/本科/大专/高中/中专/初中 | String |
major |
专业 | 最高学历专业 | String |
desired_position |
期望职位 | String | |
current_salary |
当前薪水 | 当前工资或当前工资范围,如 20000-30000元/月,15-30万人民币等,以简历为准 | String |
desired_salary |
期望薪水 | 期望工资或期望工资范围,如 2001-2999元/月,10k-12k等,以简历为准 | String |
industry |
所属行业 | 最新工作的所属行业 | String |
desired_industry |
期望行业 | 候选人提及期望行业,本字段目前仅支持中文简历提取 | String |
current_status |
求职状态 | 在职,正在找工作/在职,考虑好的职业机会/在职,暂不考虑其他机会/已离职/应届生 | String |
political_status |
政治面貌 | 党员/团员/群众 | String |
marital_status |
婚姻状况 | 未婚/已婚 | String |
zipcode |
邮编 | 6位数字邮编,如 510610 | String |
birthplace |
籍贯 | 籍贯地区,如 广东广州,洛阳,江苏。以简历描述为准 | String |
birthplace_norm |
籍贯(标准化) | 标准化籍贯地区,如 中国-江苏-南京,仅支持中国地区 | String |
expect_location |
期望工作地区 | 期望工作城市或区域,多个地区则以英文逗号分隔,如 北京,上海 | String |
expect_location_norm |
期望工作地区(标准化) | 期望工作城市或区域,多个地区则以英文逗号分隔,分别为标准化地名,中国-广东-广州,中国-广东-深圳,仅支持中国地区 | String |
lastupdate_time |
简历解析完成时间 | 简历解析请求完成的时间格式为 "2020-10-09-06-23-15" | String |
recent_graduate_year |
最近毕业年份 | 表示候选人最近一段学历毕业的年份,如2020 | String |
professional_level |
候选人专业级别 | 根据经历评估候选人所在级别,初级/中级/高级/资深,本字段目前仅支持中文简历提取 | String |
样本示例
"basic_info":
{
"name": "张三",
"gender": "男",
"work_start_year": "2009",
"national_identity_number": "44010419860822102",
"date_of_birth": "1972",
"ethnic": "汉族",
"current_location": "湖南长沙",
"current_location_norm": "中国-湖南-长沙",
"detailed_location": "长沙市雨花区劳动西路1号",
"age": 46,
"num_work_experience": 8,
"current_company": "湘潭广电中心",
"current_position": "摄影师/记者",
"school_name": "北京师范大学",
"school_type": "985 211",
"degree": "本科",
"major": "新闻学",
"desired_position": "财务/审计/税务、行政/后勤/文秘、仓库/物料管理员",
"current_salary": "20000-30000元/月",
"desired_salary": "30000-50000元/月",
"industry": "新闻",
"desired_industry": "新闻/传媒",
"current_status": "已离职",
"political_status": "群众",
"marital_status": "已婚",
"zipcode": "310000",
"birthplace": "广东广州",
"birthplace_norm": "中国-广东-广州",
"expect_location": "北京,上海",
"expect_location_norm": "中国-北京-北京,中国-上海-上海",
"lastupdate_time": "2019-04-26-19-31-54",
"recent_graduate_year": "2009",
"professional_level": "高级"
}
联系方式
联系方式变量名为 contact_info
,变量类型为 object
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
phone_number |
手机 | 国内11位手机号 | String |
home_phone_number |
固定电话 | 国内8位座机号 | String |
email |
邮箱 | 合格邮箱地址 | String |
QQ |
QQ号 | QQ号码 | String |
wechat |
微信号 | 微信号码 | String |
样本示例
"contact_info":
{
"phone_number": "13833334444",
"home_phone_number": "38880842",
"email": "xxx@163.com",
"QQ": "827193845",
"wechat": "827193845"
}
教育背景
教育背景变量名为 education_experience
,变量类型为 array[object]
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
start_time_year |
开始时间年份 | 4位数年份,2006 | String |
start_time_month |
开始时间月份 | 2位数月份,06 | String |
end_time_year |
结束时间年份 | 4位数年份,2009 | String |
end_time_month |
结束时间月份 | 2位数月份,09 | String |
still_active |
是否仍在 | 1/0,1表示仍未毕业 | Int |
school_name |
学校 | String | |
school_level |
学校级别 | 985 211/211/空值 | String |
study_model |
上课模式 | 全职,兼职 | String |
location |
地点 | 城市名 | String |
degree |
学位 | 博士/MBA/EMBA/硕士/本科/大专/高中/中专/初中 | String |
major |
专业 | String | |
GPA |
GPA | String | |
ranking |
排名 | 学生在年级排名 | String |
courses |
所学课程 | String | |
department |
学院 | String | |
school_rank |
学校排名 | 中国大学最新排名 | String |
abroad |
是否海外院校 | 1/0, 1表示海外院校与港澳台院校 | Int |
abroad_country |
海外国家 | 海外国家或地区名称,如中国大陆院校,则为空字符 | String |
样本示例
"education_experience":
[
{
"start_time_year": "2006",
"start_time_month": "06",
"end_time_year": "2009",
"end_time_month": "09",
"still_active": 0,
"school_name": "湖南师范大学",
"school_level": "985 211",
"study_model": "全职",
"location": "长沙",
"degree": "本科",
"major": "新闻学",
"GPA": "3.81",
"ranking": "15/320",
"courses": "新闻与采访,经济学,文学鉴赏,社会舆论心理学",
"department": "新闻学院",
"school_rank": "128",
"abroad": 1,
"abroad_country": "美国"
}
]
工作经历
工作经历变量名为 work_experience
,变量类型为 array[object]
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
start_time_year |
开始时间年份 | 4位数年份,2016 | String |
start_time_month |
开始时间月份 | 2位数月份,01 | String |
end_time_year |
结束时间年份 | 4位数年份,2018 | String |
end_time_month |
结束时间月份 | 2位数月份,05 | String |
still_active |
是否仍在 | 1/0,1表示仍在其位 | Int |
company_name |
公司名称 | String | |
department |
所属部门 | String | |
location |
地点 | String | |
job_title |
职位名 | String | |
description |
工作描述 | String | |
industry |
公司行业 | 公司所属行业,如果没有填写,且使用了候选人画像,则会根据画像模型自动推断所在公司行业 | String |
job_function |
职位职能 | 职位所属职能 | String |
company_size |
公司规模 | 公司人数,100-499人,1000人以上等 | String |
company_type |
公司类型 | 公司类型,如民营,国家机关,个体等,具体以简历描述为准 | String |
salary |
工资水平 | 该岗位工资水平,如,3000-5000元/月 | String |
underling_num |
下属人数 | 管理下属人数人数,10人 | String |
report_to |
汇报对象 | 简历提及汇报对象,如总经理 | String |
skills |
工作技能 | 该段工作经历中用到技能,本字段目前仅支持中文简历提取 | Array[String] |
样本示例
"work_experience":
[
{
"start_time_year": "2016",
"start_time_month": "01",
"end_time_year": "2018",
"end_time_month": "05",
"still_active": 1,
"company_name": "湘潭广电中心",
"department": "摄影部",
"location": "湘潭",
"job_title": "摄影师/记者",
"description": "在湘潭广电中心的时政新闻部实习记者的期间,在实习老师的的指导下初步掌握了相关的新闻记者工作流程,包括采访、摄像、新闻稿的编辑、后期编辑等。并积累了一定的实习经验,完善了所学习的专业知识\n",
"industry": "新闻",
"job_function": "影视/媒体/出版/印刷",
"company_size": "500-1000人",
"company_type": "民营",
"salary": "2000-4000元",
"underling_num": "10人",
"report_to": "总经理",
"skills": [
"后期编辑",
"摄像",
"采访"
]
}
]
社会经历
社会经历变量名为 social_experience
,变量类型为 array[object]
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
start_time_year |
开始时间年份 | 4位数年份,2013 | String |
start_time_month |
开始时间月份 | 2位数月份,03 | String |
end_time_year |
结束时间年份 | 4位数年份,2013 | String |
end_time_month |
结束时间月份 | 2位数月份,11 | String |
still_active |
是否仍在 | 1/0,1表示仍在其位 | Int |
organization_name |
公司/学校/社团名 | String | |
department |
所属部门 | String | |
location |
地点 | String | |
job_title |
职位名 | String | |
description |
工作描述 | String |
样本示例
"social_experience":
[
{
"start_time_year": "2013",
"start_time_month": "03",
"end_time_year": "2013",
"end_time_month": "11",
"still_active": 0,
"organization_name": "大学生市场调研竞赛",
"department": "科技部",
"location": "北京",
"job_title": "参赛者",
"description": "自己组队进行了比赛,并在此过程之中进行了市场调研、现状研究、模型分析、创\n新设计、预期成果等\n参与的学校社团有学生会、市场部、勤工助学部等并在期间参与多次活动组织与策划任务"
}
]
项目经历
项目经历变量名为 project_experience
,变量类型为 array[object]
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
start_time_year |
开始时间年份 | 4位数年份,2014 | String |
start_time_month |
开始时间月份 | 2位数月份,01 | String |
end_time_year |
结束时间年份 | 4位数年份,2014 | String |
end_time_month |
结束时间月份 | 2位数月份,03 | String |
still_active |
是否仍在 | 1/0,1表示仍在继续该经历 | Int |
project_name |
项目名称 | String | |
company_name |
项目所属公司 | 本字段目前仅支持中文简历提取 | String |
location |
地点 | 项目地点城市或区域 | String |
job_title |
职位名 | String | |
job_function |
职位所属标准职能 | 如果使用了候选人画像,会根据画像模型自动推断项目标准职能,否则为空字符串 | String |
description |
项目描述 | String | |
skills |
项目技能 | 该段项目经历中用到技能,本字段目前仅支持中文简历提取 | Array[String] |
样本示例
"project_experience":
[
{
"start_time_year": "2014",
"start_time_month": "01",
"end_time_year": "2014",
"end_time_month": "03",
"still_active": 0,
"project_name": "小看(双平台已上线)",
"company_name": "小看科技有限公司",
"location": "北京",
"job_title": "参加者",
"job_function": "项目经理",
"description": "职责:\n获取底层用户手机本地的相册中的数据集,熟练使用 PhotoKit 和 ALAssetsLibrary 来进行用户本地\n图片视频集的获取,并且根据每个图片自身的信息不同进行重新划分,例如是否使用过美图秀秀等这一类\n的图片美化软件修过的图片,以及不同应用接受保存或者创建的图片,同时进行速率优化,在用户的手机",
"skills": [
"PhotoKit",
"ALAssetsLibrary"
]
}
]
培训经历
培训经历变量名为 training_experience
,变量类型为 array[object]
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
start_time_year |
开始时间年份 | 4位数年份,2014 | String |
start_time_month |
开始时间月份 | 2位数月份,01 | String |
end_time_year |
结束时间年份 | 4位数年份,2014 | String |
end_time_month |
结束时间月份 | 2位数月份,03 | String |
still_active |
是否仍在 | 1/0,1表示仍在继续该培训经历 | Int |
organization_name |
培训机构名 | String | |
location |
地点 | String | |
subject |
培训主题 | String | |
description |
培训描述 | String |
样本示例
"training_experience":
[
{
"start_time_year": "2014",
"start_time_month": "01",
"end_time_year": "2014",
"end_time_month": "03",
"still_active": 0,
"organization_name": "新东方厨师学校",
"location": "北京",
"subject": "厨师培训",
"description": "在一个月的培训中,我熟练掌握了怎么烧一顿好吃的泡面"
}
]
补充信息
补充信息变量名为 others
,变量类型为 object
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
skills |
技能 | 整合提取后的专业技能列表 | Array[String] |
it_skills |
计算机技能 | 整合提取后的计算机技能列表 | Array[String] |
business_skills |
商业技能 | 整合提取后的商业技能列表 | Array[String] |
language |
语言 | 掌握语言技能 | Array[String] |
certificate |
证书 | 所获证书 | Array[String] |
awards |
奖项 | 所获奖项 | Array[String] |
self_evaluation |
自我评价 | 个人评价描述 | String |
样本示例
"others": {
"skills": [
"word",
"spss",
"excle",
"eviews",
"powerpoint",
"市场调研",
"客户服务"
],
"it_skills": [
"spss"
],
"business_skills": [
"word",
"powerpoint"
],
"language": [
"英语",
"汉语"
],
"certificate": [
"英语四级",
"会计电算化",
"普通话证书",
"证券从业资格证"
],
"awards": [
"茶学院征文大赛二等奖",
"三等奖学金",
"民生银行手机创新大赛三等奖"
],
"self_evaluation": "我是一个好人"
}
原始文字
原始文字返回需设置请求查询 rawtext=1
, 原始文字变量名为 resume_rawtext
,变量类型为 string
样本示例
"resume_rawtext": "姓名:候选人\n目标职能:人事总监,人事经理,行政经理/主管/办公室主任\n工作经验:8年"
样本代码
请联系校导帮客服获取测试接口账户以及代码。试用时请替换代码中的
-
your_client_id
-
your_client_secret
为您的ID以及密匙信息。
Python2
此代码需要安装 pip install requests
。
解析编码简历
# python2.x
# __ coding:utf-8 __
# coding=utf8
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
import requests
import base64
# 注:需要安装requests模块
def main():
cv_file = "resume.txt" #请替换为您的简历
print(cv_api(cv_file))
def cv_api(cv_file):
cv_url = "http://api.xiaodaobang.com/v1/parser/parse_base?avatar=1&handle_image=1&rawtext=1&parse_mode=fast" #支持图片解析,提取简历头像,提取简历原文本,且使用快速解析模式
return upload_file(cv_url, cv_file)
def upload_file(url, file_path):
file_handler = open(file_path, 'rb')
content = base64.b64encode(file_handler.read())
headers = {
'id': 'your_client_id', #替换为您的ID
'secret': 'your_client_secret' #替换为您的密匙
}
json = {
'resume_base': content,
'file_name': file_path
}
result = requests.post(url, json=json, timeout=15, verify=False, headers=headers)
return result.text
if __name__ == "__main__":
main()
解析文件简历
# python2.x
# __ coding:utf-8 __
# coding=utf8
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
import requests
import json
# 注:需要安装requests模块
def main():
cv_file = "resume.txt" #请替换为您的简历
print(cv_api(cv_file))
def cv_api(cv_file):
cv_url = "http://localhost:port/parse_file?avatar=1&handle_image=1&rawtext=1&parse_mode=fast" #支持图片解析,提取简历头像,提取简历原文本,且使用快速解析模式
return upload_file(cv_url, cv_file)
def upload_file(url, file_path):
json_data = {"file": open(file_path, 'rb')}
result = requests.post(url, files=json_data, timeout=15, verify=False)
return result.text
if __name__ == "__main__":
main()
Python3
此代码需要安装 pip install requests
。
解析编码简历
# python3.x
# __ coding:utf-8 __
# coding=utf8
import sys
import importlib
import requests
import base64
importlib.reload(sys)
# 注:需要安装requests模块
def main():
cv_file = "resume.txt" # 请替换为您的简历
print(cv_api(cv_file))
def cv_api(cv_file):
cv_url = "http://api.xiaodaobang.com/v1/parser/parse_base?avatar=1&handle_image=1&rawtext=1&parse_mode=fast" # 支持图片解析,提取简历头像,提取简历原文本,且使用快速解析模式
return upload_file(cv_url, cv_file)
def upload_file(url, file_path):
file_handler = open(file_path, 'rb')
content = base64.b64encode(file_handler.read())
headers = {
'id': 'your_client_id', # 替换为您的ID
'secret': 'your_client_secret' # 替换为您的密匙
}
json = {
'resume_base': content.decode('utf-8'),
'file_name': file_path
}
result = requests.post(url, json=json, timeout=15, verify=False, headers=headers)
return result.text
if __name__ == "__main__":
main()
解析文件简历
# python2.x
# __ coding:utf-8 __
# coding=utf8
import sys
import importlib
import requests
import base64
importlib.reload(sys)
# 注:需要安装requests模块
def main():
cv_file = "resume.txt" #请替换为您的简历
print(cv_api(cv_file))
def cv_api(cv_file):
cv_url = "http://localhost:port/parse_file?avatar=1&handle_image=1&rawtext=1&parse_mode=fast" #支持图片解析,提取简历头像,提取简历原文本,且使用快速解析模式
return upload_file(cv_url, cv_file)
def upload_file(url, file_path):
json_data = {"file": open(file_path, 'rb')}
result = requests.post(url, files=json_data, timeout=15, verify=False)
return result.text
if __name__ == "__main__":
main()
Java
此代码需要安装 apache-http, json, commons-io
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 parse_base {
public static void testResumeParser(String url, String fname, String client_id, String client_secret) throws Exception {
byte[] bytes = org.apache.commons.io.FileUtils.readFileToByteArray(new File(fname));
String data = new String(Base64.encodeBase64(bytes), Consts.UTF_8);
HttpPost httpPost = new HttpPost(url);
httpPost.setEntity(new StringEntity(data, Consts.UTF_8));
// 设置头字段
httpPost.setHeader("id", client_id);
httpPost.setHeader("secret", client_secret);
httpPost.addHeader("content-type", "application/json");
// 设置内容信息
JSONObject json = new JSONObject();
json.put("file_name", fname); // 文件名
json.put("resume_base", data); // 经base64编码过的文件内容
StringEntity params = new StringEntity(json.toString());
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://api.xiaodaobang.com/v1/parser/parse_base?avatar=1&handle_image=1&rawtext=1&parse_mode=fast", //支持图片解析,提取简历头像,提取简历原文本,且使用快速解析模式
String fname = "./resume.txt"; //替换为您的文件名
String client_id = "your_client_id"; //替换为您的ID
String client_secret = "your_client_secret"; //替换为您的密匙
testResumeParser(url, fname, client_id, client_secret);
}
}
Golang
package main
import (
"bytes"
"crypto/tls"
"fmt"
"log"
"net/http"
"os"
"encoding/base64"
"encoding/json"
"bufio"
"io/ioutil"
)
// Creates a new file upload http request
func newfileUploadRequest(uri string, path string) (http.Request, error) {
file, err := os.Open(path)
if err != nil {
return nil, err
}
defer file.Close()
// Read entire JPG into byte slice.
reader := bufio.NewReader(file)
content, _ := ioutil.ReadAll(reader)
// Encode as base64.
encoded := base64.StdEncoding.EncodeToString(content)
values := map[string]string{"resume_base": encoded, "file_name": path}
jsonValue, _ := json.Marshal(values)
req, err := http.NewRequest("POST", uri, bytes.NewBuffer(jsonValue))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("id", "your_client_id") //替换为您的ID
req.Header.Set("secret", "your_client_secret") //替换为您的密匙
return req, err
}
func api_cv(file_path string) {
request, err := newfileUploadRequest("http://api.xiaodaobang.com/v1/parser/parse_base?avatar=1&handle_image=1&rawtext=1&parse_mode=fast", file_path)
if err != nil {
log.Fatal(err)
}
tr := &http.Transport{
TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
}
client := &http.Client{Transport: tr}
resp, err := client.Do(request)
if err != nil {
log.Fatal(err)
} else {
body := &bytes.Buffer{}
_, err := body.ReadFrom(resp.Body)
if err != nil {
log.Fatal(err)
}
resp.Body.Close()
fmt.Println(body)
}
}
func main() {
api_cv("./resume.txt") //替换为您的简历
}
Javascript
此代码需要安装 npm install request
。
var request = require('request');
var fs = require('fs');
var filePath = './resume.txt'; //替换为您的简历
var options = {
url: "http://api.xiaodaobang.com/v1/parser/parse_base?avatar=1&handle_image=1&rawtext=1&parse_mode=fast", //支持图片解析,提取简历头像,提取简历原文本,且使用快速解析模式
headers: {
'id': 'your_client_id', //替换为您的ID
'secret': 'your_client_secret' //替换为您的密匙
},
json: {
'resume_base': Buffer(fs.readFileSync(filePath))
.toString('base64'),
'file_name': filePath
}
};
var result = request.post(options, function(err, resp, body) {
if (err) {
console.log(err);
process.exit(1);
} else {
console.log(body);
process.exit(0);
}
});
Ruby
require "uri"
require "net/http"
require 'json'
require 'base64'
file_path = "./resume.txt" #替换为您的简历
encoded_string = Base64.encode64(File.open(file_path, "rb").read)
uri = URI('http://api.xiaodaobang.com/v1/parser/parse_base?avatar=1&handle_image=1&rawtext=1&parse_mode=fast') #支持图片解析,提取简历头像,提取简历原文本,且使用快速解析模式
req = Net::HTTP::Post.new(uri, 'Content-Type' => 'application/json')
req['id'] = 'your_client_id' #替换为您的ID
req['secret'] = 'your_client_secret' #替换为您的密匙
req.body = {resume_base: encoded_string, file_name: file_path}.to_json
res = Net::HTTP.start(uri.hostname, uri.port) do |http|
http.request(req)
end
puts res.body
PHP
<?php
$url = "http://api.xiaodaobang.com/v1/parser/parse_base?avatar=1&handle_image=1&rawtext=1&parse_mode=fast"; //支持图片解析,提取简历头像,提取简历原文本,且使用快速解析模式
$file_path= './resume.txt'; //替换为您的简历
$file = base64_encode(file_get_contents($file_path));
$post_data = array(
"resume_base" => $file,
"file_name" => $file_path
);
$post_data_string = json_encode($post_data);
$header_data = array(
'Content-Type: application/json',
'id: your_client_id', //替换为您的ID
'secret: your_client_secret' //替换为您的密匙
);
$ch = curl_init();
curl_setopt($ch , CURLOPT_URL , $url);
curl_setopt($ch , CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch , CURLOPT_POST, 1);
curl_setopt($ch , CURLOPT_POSTFIELDS, $post_data_string);
curl_setopt($ch , CURLOPT_HTTPHEADER, $header_data);
$output = curl_exec($ch);
curl_close($ch);
print_r($output);
?>
支持文件格式
目前我们可以解析PDF, DOC, DOCX, XML, HTML, TXT, MNT, JPEG, PNG等近百种主流格式的简历。
错误码汇总
错误码 | 错误码含义 |
---|---|
0 | 正确 |
10 | 超过总数限制(欠费) |
11 | 解析服务过期 |
12 | 文件大小超过2M |
13 | 超过每秒钟并发限制 |
20 | secret_key错误 |
30 | API服务器内部错误 |
70 | 必填字段不存在 |
71 | 头字段错误 |
72 | 筛选参数不符合要求 |
80 | 简历解析文件错误 |
81 | 英文简历解析件错误 |
90 | 不支持该文件格式 |
91 | 不支持图片文件解析 |
92 | 文件不是真实简历 |
93 | 不支持英文简历解析 |
候选人画像
接口说明
分析编码简历
发送经过base64编码的简历文件,返回人物画像分析结果。
请求说明
- 请求方式:post+application/json 方式
- SaaS请求路径:https://api.xiaodaobang.com/v1/bundle/analyze_base
- 本地请求路径:http://localhost:port/analyze_base
请求头字段说明(header)
- Content-Type: application/json
头字段参数 | 字段类型 | 必须 | 说明 |
---|---|---|---|
id |
String | 是 | 用户ID |
secret |
String | 是 | 用户密匙 |
请求查询说明(query)
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
parsing_result |
Int | 否 | 是否返回解析简历内容,1 返回,0 不返回 |
rawtext |
Int | 否 | 是否在解析简历内容中返回原始简历内容,1 返回,0 不返回 |
handle_image |
Int | 否 | 是否处理图片简历,1 处理,0 不处理 |
avatar |
Int | 否 | 是否提取简历头像,1 处理,0 不处理 |
parse_mode |
String | 否 | 校导帮独创解析模式,客户可以根据具体需求选择最适合的简历解析模式,fast 极速模式,general 普通模式,accurate 高精度模式,默认解析模式为普通模式 |
ocr_mode |
String | 否 | 图片转文字OCR模式,general 普通模式,accurate 高精度模式,默认解析模式为普通模式 |
ocr_service |
String | 否 | OCR服务供应商,tencent 腾讯OCR, alicloud 阿里OCR, baidu 百度OCR, 默认为百度OCR(仅限本地部署) |
请求内容说明(body)
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
resume_base |
String | 是 | 经 base64 编码的简历文件内容 |
file_name |
String | 是 | 简历文件名(请确保后缀正确) |
请求内容结构体示例:
{
"resume_base": "BASE64RESUME",
"file_name": "RESUMENAME"
}
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
cv_name |
简历文件名 | 系统缓存文件名 | String |
cv_id |
简历ID | 系统缓存简历ID | String |
errorcode |
错误码 | 请参照错误码汇总,解析成功则为 0 | Int |
errormessage |
错误信息 | 解析错误信息 | String |
version |
版本 | 简历解析版本 | String |
cv_language |
简历语言 | zh, zh/en, en | String |
src_site |
简历来源 | zhilian, 51job | String |
avatar_data |
简历头像图片 | BASE64格式的简历头像图片,没有头像返回空字符串 | String |
avatar_url |
简历头像图片所在URL | 如简历中头像图片为链接形式,保存头像所在链接URL,没有链接返回空字符串 | String |
parsing_result |
中文解析结果 | parsing_result=1 时返回,请参照返回解析结果列表,没有解析结果则为 {} |
Object |
english_parsing_result |
英文解析结果 | parsing_result=1 时返回,请参照返回解析结果列表,没有解析结果则为 {} |
Object |
predicted_result |
人物画像预测 | 请参照返回解析结果列表 | Object |
- 注:中文(parsing_result)及英文(english_parsing_result)解析返回结果字段均一致,请参照返回解析结果列表
样本示例
{
"cv_name": "090a53f943431f51e9902a7851fce7ec.tmp",
"src_site": "zhilian",
"src_id" : "JM552042269R90250001123",
"updated_time" : "2019-01-02",
"errormessage": "succeed",
"cv_id": "",
"errorcode": 0,
"version": "2.4.1",
"cv_language": "zh",
"avatar_data": "",
"avatar_url": "",
"parsing_result": {...},
"english_parsing_result": {...},
"predicted_result": {...}
}
分析解析后简历
发送经过校导帮简历解析的json格式,返回候选人画像分析结果。需要与校导帮简历解析 json格式 parsing_result 里字段完全相同
请求说明
- 请求方式:post+application/json 方式
- SaaS请求路径:https://api.xiaodaobang.com/v1/bundle/analyze_json
- 本地请求路径:http://localhost:port/analyze_json
请求头字段说明(header)
- Content-Type: application/json
头字段参数 | 字段类型 | 必须 | 说明 |
---|---|---|---|
id |
String | 是 | 用户ID |
secret |
String | 是 | 用户密匙 |
请求内容说明(body)
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
parsing_result |
Object | 是 | 校导帮简历解析json结果,请参照返回解析结果列表 |
请求内容结构体示例:
{
"parsing_result": {...}
}
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
errorcode |
错误码 | 请参照错误码汇总,解析成功则为 0 | Int |
errormessage |
错误信息 | 解析错误信息 | |
predicted_result |
人物画像预测 | 请参照返回解析结果列表 | Object |
样本示例
{
"errormessage": "succeed",
"errorcode": 0,
"predicted_result": {...}
}
分析文件简历(仅限本地部署)
发送原始简历文件,返回人物画像分析结果。
请求说明
- 请求方式:post+multipart/form-data 方式
- 本地请求路径:http://localhost:port/analyze_file
请求查询说明(query)
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
parsing_result |
Int | 否 | 是否返回解析简历内容,1 返回,0 不返回 |
rawtext |
Int | 否 | 是否在解析简历内容中返回原始简历内容,1 返回,0 不返回 |
handle_image |
Int | 否 | 是否处理图片简历,1 处理,0 不处理 |
avatar |
Int | 否 | 是否提取简历头像,1 处理,0 不处理 (仅限本地部署) |
parse_mode |
String | 否 | 校导帮独创解析模式,客户可以根据具体需求选择最适合的简历解析模式,fast 极速模式,general 普通模式,accurate 高精度模式,默认解析模式为普通模式 |
ocr_mode |
String | 否 | 图片转文字OCR模式,general 普通模式,accurate 高精度模式,默认解析模式为普通模式 |
ocr_service |
String | 否 | OCR服务供应商,tencent 腾讯OCR, alicloud 阿里OCR, baidu 百度OCR, 默认为百度OCR(仅限本地部署) |
请求内容说明(body)
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
file |
File | 是 | 原始简历文件 |
请求内容结构体示例:
{
"file": {原始简历},
}
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
cv_name |
简历文件名 | 系统缓存文件名 | String |
cv_id |
简历ID | 系统缓存简历ID | String |
errorcode |
错误码 | 请参照错误码汇总,解析成功则为 0 | Int |
errormessage |
错误信息 | 解析错误信息 | String |
version |
版本 | 简历解析版本 | String |
cv_language |
简历语言 | zh, zh/en, en | String |
src_site |
简历来源 | zhilian, 51job | String |
avatar_data |
简历头像图片 | BASE64格式的简历头像图片,没有头像返回空字符串 | String |
avatar_url |
简历头像图片所在URL | 如简历中头像图片为链接形式,保存头像所在链接URL,没有链接返回空字符串 | String |
parsing_result |
中文解析结果 | parsing_result=1 时返回,请参照返回解析结果列表,没有解析结果则为 {} |
Object |
english_parsing_result |
英文解析结果 | parsing_result=1 时返回,请参照返回解析结果列表,没有解析结果则为 {} |
Object |
predicted_result |
人物画像预测 | 请参照返回解析结果列表 | Object |
- 注:中文(parsing_result)及英文(english_parsing_result)解析返回结果字段均一致,请参照返回解析结果列表
样本示例
{
"cv_name": "090a53f943431f51e9902a7851fce7ec.tmp",
"src_site": "zhilian",
"src_id" : "JM552042269R90250001123",
"updated_time" : "2019-01-02",
"errormessage": "succeed",
"cv_id": "",
"errorcode": 0,
"version": "2.4.1",
"cv_language": "zh",
"avatar_data": "",
"avatar_url": "",
"parsing_result": {...},
"english_parsing_result": {...},
"predicted_result": {...}
}
结果列表
候选人技能分析
基于简历工作经历、项目经历以及描述技能等信息,利用校导帮知识图谱和机器学习模型,预测全面的简历技能。预测技能将涵盖总结简历已有技能,并进一步拓展到简历中未直接出现但相关的技能。返回结果中技能分数对应该技能与简历的相关系数。
候选人技能变量名为 predicted_skills
,变量类型为 array[object]
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
score |
职业技能分数 | 对应职业技能分数式,范围在0-1 | Double |
skill |
职业技能名称 | String |
样本示例
"predicted_skills":
[
{
"score": 0.9900551679068115,
"skill": "JAVA"
},
{
"score": 0.9437187602615934,
"skill": "Android"
},
{
"score": 0.9146758073698338,
"skill": "Hadoop"
},
{
"score": 0.8948237479718333,
"skill": "Spring"
},
{
"score": 0.8099258858447139,
"skill": "项目管理"
},
{
"score": 0.7689174693647406,
"skill": "Mysql"
}
]
候选人职称分析
基于简历工作经历、项目经历、培训经历等信息,利用校导帮知识图谱和机器学习模型,预测多层次的适用于候选人的职位名称。其中从第一级别到第三级的职位名称由宽泛到细分。返回结果中职位分数对应该职位与简历的相关系数。
候选人职称变量名为 predicted_titles
,变量类型为 array[object]
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
score |
职位分数 | 职位名称对应分数式,范围在0-1 | Double |
title |
多层次职位名称 | 嵌套型格式 | Object |
title.l1 |
第一级别职位名称 | String | |
title.l2 |
第二级别职位名称 | String | |
title.l3 |
第三级别职位名称 | String |
样本示例
"predicted_titles":
[
{
"score": 1.0,
"title":
{
"l1": "IT/互联网/通信",
"l2": "软件/互联网开发/后端",
"l3": "JAVA"
}
},
{
"score": 0.6068965095550017,
"title":
{
"l1": "IT/互联网/通信",
"l2": "软件/互联网开发/后端",
"l3": "安卓开发"
}
},
{
"score": 0.2752016047234638,
"title":
{
"l1":"IT/互联网/通信",
"l2":"互联网产品/运营管理",
"l3":"项目管理"
}
}
]
跳槽率预测
基于简历工作经历、教育经历、候选人所得薪资与行业平均水平、行业信息、工作变化频率等信息,利用校导帮机器学习模型,预测候选人跳槽率。分数越高则候选人越有跳槽的可能。如果简历中明确提及正在找工作,则跳槽率为1
候选人跳槽率变量名为 predicted_turnover
,变量类型为 double
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
predicted_turnover |
跳槽率预测 | 候选人现阶段跳槽概率,范围在0-1 | Double |
样本示例
"predicted_turnover": 0.8724
薪资预测
基于简历工作经历、教育经历、项目经历、培训经历、最高学习、专业、工作年限、职称等信息,利用校导帮机器学习模型,预测候选人薪资。
候选人薪资预测变量名为 predicted_salary
,变量类型为 string
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
predicted_salary |
薪资预测 | 一共九档 under_4000,4000_to_6000,6000_to_8000,8000_to_10000,10000_to_15000,15000_to_20000,20000_to_30000,30000_to_40000,40000+ | String |
样本示例
"predicted_salary": "10000_to_15000"
期望薪资提取
直接提取简历中候选人填写的期望薪资。
候选人期望薪资变量名为 desired_salary
,变量类型为 string
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
desired_salary |
主观期望薪资 | 一共九档 under_4000,4000_to_6000,6000_to_8000,8000_to_10000,10000_to_15000,15000_to_20000,20000_to_30000,30000_to_40000,40000+ | String |
样本示例
"desired_salary": "10000_to_15000"
总体能力值评价
基于候选人简历综合描述,对候选人总体能力得分进行预测。其中教育背景指数基于学历、学校排名、绩点等因素;所获荣誉指数基于简历获奖信息;语言指数基于语言种类;领导力指数基于工作项目经历以及职称;社会活动指数基于简历社会经历;工作经历指数基于候选人工作经历、年限、职位等。
候选人总体能力值变量名为 predicted_capability
,变量类型为 object
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
education |
教育背景指数 | 0-10分数 | Double |
honor |
所获荣誉指数 | 0-10分数 | Double |
language |
语言指数 | 0-10分数 | Double |
leadership |
领导力指数 | 0-10分数 | Double |
socialexp |
社会活动指数 | 0-10分数 | Double |
workexp |
工作经历指数 | 0-10分数 | Double |
样本示例
"predicted_capability":
{
"education": 6.5,
"honor": 6.0,
"language": 7.0,
"leadership": 8.0,
"socialexp": 6.0,
"workexp": 6.8
}
行业隶属度评价
基于简历的工作经历、教育经历、项目经历等描述,预测候选人对如下12大行业的隶属度评分。分数越高则对该行业的隶属度越高。
候选人行业隶属度变量名为 predicted_industry
,变量类型为 object
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
互联网 |
互联网行业归属度 | 0-10分数 | Double |
产品 |
产品行业归属度 | 0-10分数 | Double |
人事/行政/高级管理 |
人事/行政/高级管理行业归属度 | 0-10分数 | Double |
咨询/法律/公务员 |
咨询/法律/公务员行业归属度 | 0-10分数 | Double |
工程师 |
工程师行业归属度 | 0-10分数 | Double |
建筑/房地产 |
建筑/房地产行业归属度 | 0-10分数 | Double |
教育/翻译/服务业 |
教育/翻译/服务业行业归属度 | 0-10分数 | Double |
生产/采购/物流 |
生产/采购/物流行业归属度 | 0-10分数 | Double |
生物/制药/医疗/护理 |
生物/制药/医疗/护理行业归属度 | 0-10分数 | Double |
运营/客服/销售/市场 |
运营/客服/销售/市场行业归属度 | 0-10分数 | Double |
金融 |
金融行业归属度 | 0-10分数 | Double |
其他 |
其他行业归属度 | 0-10分数 | Double |
样本示例
"predicted_industry":
{
"互联网": 10.0,
"产品": 7.0,
"人事/行政/高级管理": 5.0,
"其他": 5.0,
"咨询/法律/公务员": 5.0,
"工程师": 6.0,
"建筑/房地产": 5.0,
"教育/翻译/服务业": 5.0,
"生产/采购/物流": 5.0,
"生物/制药/医疗/护理": 5.0,
"运营/客服/销售/市场": 5.0,
"金融": 6.0
}
工作忠诚度分析
基于简历的换工作经历和每段提取工作经历的类型,通过大数据算法计算该候选人对公司和对行业职能的忠诚度 stability
,变量类型为 object
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
average_job_function_time |
每个职能的平均停留时间,没有换过职能则为Null | 按月为单位 | Double |
average_industry_time |
每个行业的平均停留时间,没有换过行业则为Null | 按月为单位 | Double |
average_work_time |
每段工作的平均停留时间,没有换过工作则为Null | 按月为单位 | Double |
work_stability |
综合判断该候选人的工作忠诚度 | 稳定/频繁跳槽 | String |
样本示例
"stability":
{
"average_job_function_time": 112.0,
"average_industry_time": 112.0,
"average_work_time": 74.66666666666667,
"work_stability": "稳定"
},
简历亮点分析
通过千万级数据对职场成功原因进行总结,给您提供最科学的方式解码候选人的潜在优势。 简历亮点分析变量名为 highlights
,变量类型为 object
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
occupation |
工作经历亮点 | 工作经历中发掘的亮点 | Array[String] |
education |
学习经历亮点 | 教育经历中发掘的亮点 | Array[String] |
project |
项目经历亮点 | 项目经历中发掘的亮点 | Array[String] |
others |
其他亮点 | 其他亮点 | Array[String] |
tags |
亮点标签 | 亮点标签 | Array[String] |
样本示例
"highlights":
{
"occupation": ["行业龙头企业从业经历", "专业技能扎实", "有领导经历"],
"education": ["拥有MBA学位", "TOP2院校毕业"],
"project": ["拥有丰富的项目经验", "有项目外包经验"],
"others" ["英语水平不错哦", "计算机水平挺高", "有非常难考的注册会计师证书哦"],
"tags" ["名企经历", "海外留学经历", "技术达标", "证书达人"]
}
简历风险分析
通过千万级数据对职场潜在风险进行总结分析,给您挖掘候选人的潜在风险因素。 简历风险分析变量名为 risks
,变量类型为 object
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
occupation |
工作经历风险 | 工作经历中存在的风险点 | Array[String] |
education |
学习经历风险点 | 教育经历中存在的风险点 | Array[String] |
tags |
风险点标签 | 风险点标签 | Array[String] |
样本示例
"risks":
{
"occupation": ["第一段工作经历晚于毕业时间9个月", "有3段工作经历时长不到一年,工作不太稳定", "过往有过外包的工作经历"],
"education": ["有专升本的经历", "本科经历异常,一共读了7年"],
"tags" ["专升本", "外包经历", "工作不稳定", "明显工作空档期"]
}
简历标签提取
结合机器学习和招聘知识图谱技术为候选人提供标准化标签管理系统,方便招聘人员仅阅读标签,就可以做到全方位了解候选人。同时,用到了知识图谱技术, 能够提供多个维度的隐含信息,如候选人专业技能(每个技能能够获得其所属类别,前端,后端,算法,产品管理等),历史任职公司信息(如根据知识图谱提供所在公司的行业地位), 毕业院校信息(是否海外名校,国家,是否国内顶尖院校,是否985, 211,重点本科),候选人标准行业背景(根据从业公司,所做项目结合知识图谱提供候选人行业背景),语言掌握程度(从语言考试信息,留学国家等推断语言熟练度),候选人专业等级, 是否有管理经验,软性技能标签(文字表达能力,逻辑思维,沟通能力等)等。
标准化岗位解析变量名为 tags
,变量类型为 Object
,字段表示仍在研发当中
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
basic |
基本信息标签 | 类型为 experience, level, expect_location, current_location, salary, political_status, age, gender | Array[Object] |
basic.tag |
基本信息标签名称 | String | |
basic.type |
标签类型 | String | |
education |
教育背景标签 | 类型为 degree, abroad, abroad_country, major, school_level, publication | Array[Object] |
education.tag |
教育背景标签名称 | String | |
education.type |
标签类型 | String | |
professional |
职业标签 | 类型为 standard_title, job_title, industry, management, company_class | Array[Object] |
professional.tag |
职业标签名称 | String | |
professional.type |
标签类型 | String | |
skills |
技能标签 | 类型为 professional_skill, soft_skill | Array[Object] |
skills.tag |
技能标签名称 | String | |
skills.type |
标签类型 | String | |
skills.subclass |
技能类型类别 | String | |
others |
其他信息标签 | 类型为 language, certificate, award | Array[Object] |
others.tag |
其他信息标签名称 | String | |
others.type |
标签类型 | String | |
others.level |
掌握程度,目前仅支持语言掌握程度 | String |
样本示例
"tags": {
"basic": [
{
"tag": "5-10年经验",
"type": "experience"
},
{
"tag": "资深",
"type": "level"
},
{
"tag": "北京",
"type": "current_location"
},
{
"tag": "天津",
"type": "expect_location"
},
{
"tag": "30-40K",
"type": "salary"
},
{
"tag": "中共党员",
"type": "political_status"
},
{
"tag": "30-35岁",
"type": "age"
},
{
"tag": "男",
"type": "gender"
}
],
"education": [
{
"tag": "博士学位",
"type": "degree"
},
{
"tag": "海外留学经历",
"type": "abroad"
},
{
"tag": "留学地区:美国",
"type": "abroad_country"
},
{
"tag": "计算机专业",
"type": "major"
},
{
"tag": "985院校",
"type": "school_level"
},
{
"tag": "211院校",
"type": "school_level"
},
{
"tag": "发表过NIPS文章",
"type": "publication"
}
],
"professional": [
{
"tag": "互联网-后端开发-算法",
"type": "standard_title"
},
{
"tag": "互联网-后端开发-大数据",
"type": "standard_title"
},
{
"tag": "机器学习工程师",
"type": "job_title"
},
{
"tag": "Hadoop工程师",
"type": "job_title"
},
{
"tag": "互联网行业",
"type": "industry"
},
{
"tag": "管理岗位经验",
"type": "management"
},
{
"tag": "世界500强企业",
"type": "company_class"
}
],
"skills": [
{
"tag": "Hadoop",
"type": "professional_skill",
"subclass": "大数据"
},
{
"tag": "HBase",
"type": "professional_skill",
"subclass": "大数据"
},
{
"tag": "NLP",
"type": "professional_skill",
"subclass": "机器学习"
},
{
"tag": "Spark",
"type": "professional_skill",
"subclass": "大数据"
},
{
"tag": "Storm",
"type": "professional_skill",
"subclass": "大数据"
},
{
"tag": "Python",
"type": "professional_skill",
"subclass": "后端开发"
},
{
"tag": "C++",
"type": "professional_skill",
"subclass": "后端开发"
},
{
"tag": "逻辑思维",
"type": "soft_skill",
"subclass": "软性技能"
},
{
"tag": "沟通能力",
"type": "soft_skill",
"subclass": "软性技能"
},
{
"tag": "文字表达能力",
"type": "soft_skill",
"subclass": "软性技能"
},
{
"tag": "专研精神",
"type": "soft_skill",
"subclass": "软性技能"
}
],
"others": [
{
"tag": "英语六级",
"type": "certificate"
},
{
"tag": "托福",
"type": "certificate"
},
{
"tag": "会计师证",
"type": "certificate"
},
{
"tag": "日语",
"type": "language",
"level": "熟练"
},
{
"tag": "英语",
"type": "language",
"level": "精通"
},
{
"tag": "本科生奖学金",
"type": "award"
}
]
}
样本代码
请联系校导帮客服获取测试接口账户以及代码。试用时请替换代码中的
-
your_client_id
-
your_client_secret
为您的ID以及密匙信息。
Python2
此代码需要安装 pip install requests
。
分析编码简历
# python2.x
# __ coding:utf-8 __
# coding=utf8
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
import requests
import base64
# 注:需要安装requests模块
def main():
cv_file = "resume.txt" #请替换为您的简历
print(cv_api(cv_file))
def cv_api(cv_file):
cv_url = "http://api.xiaodaobang.com/v1/bundle/analyze_base?avatar=1&handle_image=1&rawtext=1&parsing_result=1" #支持图片解析,提取简历头像,提取简历原文本,且返回简历解析结果
return upload_file(cv_url, cv_file)
def upload_file(url, file_path):
file_handler = open(file_path, 'rb')
content = base64.b64encode(file_handler.read())
headers = {
'id': 'your_client_id', #替换为您的ID
'secret': 'your_client_secret' #替换为您的密匙
}
json = {
'resume_base': content,
'file_name': file_path
}
result = requests.post(url, json=json, timeout=15, verify=False, headers=headers)
return result.text
if __name__ == "__main__":
main()
分析文件简历
# python2.x
# __ coding:utf-8 __
# coding=utf8
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
import requests
import json
# 注:需要安装requests模块
def main():
cv_file = "resume.txt" #请替换为您的简历
print(cv_api(cv_file))
def cv_api(cv_file):
cv_url = "http://localhost:port/analyze_file?avatar=1&handle_image=1&rawtext=1&parsing_result=1" #支持图片解析,提取简历头像,提取简历原文本,且返回简历解析结果"
return upload_file(cv_url, cv_file)
def upload_file(url, file_path):
json_data = {"file": open(file_path, 'rb')}
result = requests.post(url, files=json_data, timeout=15, verify=False)
return result.text
if __name__ == "__main__":
main()
分析解析后简历
# python2.x
# __ coding:utf-8 __
# coding=utf8
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
import requests
import json
# 注:需要安装requests模块
def main():
cv_file = "resume.json" #请替换为您的json格式简历解析结果文件,需要与校导帮简历解析格式一模一样
print(cv_api(cv_file))
def cv_api(cv_file):
cv_url = "http://api.xiaodaobang.com/v1/bundle/analyze_json"
return upload_file(cv_url, cv_file)
def upload_file(url, file_path):
headers = {
'id': 'your_client_id', # 替换为您的ID
'secret': 'your_client_secret' # 替换为您的密匙
}
json_data = json.load(open(file_path, 'rb'))
result = requests.post(url, json=json_data, timeout=15, verify=False, headers=headers)
return result.text
if __name__ == "__main__":
main()
Python3
此代码需要安装 pip install requests
。
分析编码简历
# python3.x
# __ coding:utf-8 __
# coding=utf8
import sys
import importlib
import requests
import base64
importlib.reload(sys)
# 注:需要安装requests模块
def main():
cv_file = "resume.txt" #请替换为您的简历
print(cv_api(cv_file))
def cv_api(cv_file):
cv_url = "http://api.xiaodaobang.com/v1/bundle/analyze_base?avatar=1&handle_image=1&rawtext=1&parsing_result=1"# 支持图片解析,提取简历头像,提取简历原文本,且返回简历解析结果"
return upload_file(cv_url, cv_file)
def upload_file(url, file_path):
file_handler = open(file_path, 'rb')
content = base64.b64encode(file_handler.read())
headers = {
'id': 'your_client_id', # 替换为您的ID
'secret': 'your_client_secret' # 替换为您的密匙
}
json = {
'resume_base': content.decode('utf-8'),
'file_name': file_path
}
result = requests.post(url, json=json, timeout=15, verify=False, headers=headers)
return result.text
if __name__ == "__main__":
main()
分析文件简历
# python3.x
# __ coding:utf-8 __
# coding=utf8
import sys
import importlib
import requests
import base64
import json
importlib.reload(sys)
# 注:需要安装requests模块
def main():
cv_file = "resume.txt" #请替换为您的简历
print(cv_api(cv_file))
def cv_api(cv_file):
cv_url = "http://localhost:port/analyze_file?avatar=1&handle_image=1&rawtext=1&parsing_result=1" #支持图片解析,提取简历头像,提取简历原文本,且返回简历解析结果"
return upload_file(cv_url, cv_file)
def upload_file(url, file_path):
json_data = {"file": open(file_path, 'rb')}
result = requests.post(url, files=json_data, timeout=15, verify=False)
return result.text
if __name__ == "__main__":
main()
分析解析后简历
# python3.x
# __ coding:utf-8 __
# coding=utf8
import sys
import importlib
import requests
import base64
import json
importlib.reload(sys)
# 注:需要安装requests模块
def main():
cv_file = "resume.json" #请替换为您的json格式简历解析结果文件,需要与校导帮简历解析格式一模一样
print(cv_api(cv_file))
def cv_api(cv_file):
cv_url = "http://api.xiaodaobang.com/v1/bundle/analyze_json"
return upload_file(cv_url, cv_file)
def upload_file(url, file_path):
headers = {
'id': 'your_client_id', # 替换为您的ID
'secret': 'your_client_secret' # 替换为您的密匙
}
json_data = json.load(open(file_path, 'rb'))
result = requests.post(url, json=json_data, timeout=15, verify=False, headers=headers)
return result.text
if __name__ == "__main__":
main()
Java
此代码需要安装 apache-http, json, commons-io
分析编码简历
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 analyze_base {
public static void testResumeParser(String url, String fname, String client_id, String client_secret) throws Exception {
byte[] bytes = org.apache.commons.io.FileUtils.readFileToByteArray(new File(fname));
String data = new String(Base64.encodeBase64(bytes), Consts.UTF_8);
HttpPost httpPost = new HttpPost(url);
httpPost.setEntity(new StringEntity(data, Consts.UTF_8));
// 设置头字段
httpPost.setHeader("id", client_id);
httpPost.setHeader("secret", client_secret);
httpPost.addHeader("content-type", "application/json");
// 设置内容信息
JSONObject json = new JSONObject();
json.put("file_name", fname); // 文件名
json.put("resume_base", data); // 经base64编码过的文件内容
StringEntity params = new StringEntity(json.toString());
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://api.xiaodaobang.com/v1/bundle/analyze_base?avatar=1&handle_image=1&rawtext=1&parsing_result=1"; //支持图片解析,提取简历头像,提取简历原文本,且返回简历解析结果
String fname = "./resume.txt"; //替换为您的文件名
String client_id = "your_client_id"; //替换为您的ID
String client_secret = "your_client_secret"; //替换为您的密匙
testResumeParser(url, fname, client_id, client_secret);
}
}
分析解析后简历
import java.io.File;
import java.io.BufferedReader;
import java.io.FileReader;
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.apache.commons.io.FileUtils;
import org.json.JSONObject;
public class analyze_json {
public static void AnalyzeJson(String url, String fname, String client_id, String client_secret) throws Exception {
File file = new File(fname);
String content = FileUtils.readFileToString(file, "utf-8");
// 有些java程序会在unicode前产生\uFEFF, 需要先行替换
if (content.startsWith("\uFEFF")){
content = content.replace("\uFEFF", "");
}
// Convert JSON string to JSONObject
JSONObject resumejson = new JSONObject(content);
System.out.println(content);
HttpPost httpPost = new HttpPost(url);
// 设置头字段
httpPost.addHeader("content-type", "application/json");
httpPost.addHeader("id", client_id); // 请替换成您的ID
httpPost.addHeader("secret", client_secret); // 请替换成您的密钥
// 设置内容信息
// 将json 变回string, 发送请求
httpPost.setEntity(new StringEntity(resumejson.toString(), Consts.UTF_8));
// 发送请求
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 {
// 人物画像分析 json,需要与校导帮简历解析格式完全一致,不然会失败
String url = "http://api.xiaodaobang.com/v1/bundle/analyze_json?avatar=1&handle_image=1&rawtext=1&parsing_result=1"; //支持图片解析,提取简历头像,提取简历原文本,且返回简历解析结果
String fname = "./resume.json"; //替换为您的文件名
String client_id = "your_client_id"; //替换为您的ID
String client_secret = "your_client_secret"; //替换为您的密匙
AnalyzeJson(url, fname, client_id, client_secret);
}
}
Golang
package main
import (
"bytes"
"crypto/tls"
"fmt"
"log"
"net/http"
"os"
"encoding/base64"
"encoding/json"
"bufio"
"io/ioutil"
)
// Creates a new file upload http request
func newfileUploadRequest(uri string, path string) (http.Request, error) {
file, err := os.Open(path)
if err != nil {
return nil, err
}
defer file.Close()
// Read entire JPG into byte slice.
reader := bufio.NewReader(file)
content, _ := ioutil.ReadAll(reader)
// Encode as base64.
encoded := base64.StdEncoding.EncodeToString(content)
values := map[string]string{"resume_base": encoded, "file_name": path}
jsonValue, _ := json.Marshal(values)
req, err := http.NewRequest("POST", uri, bytes.NewBuffer(jsonValue))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("id", "your_client_id") //替换为您的ID
req.Header.Set("secret", "your_client_secret") //替换为您的密匙
return req, err
}
func api_cv(file_path string) {
request, err := newfileUploadRequest("http://api.xiaodaobang.com/v1/bundle/analyze_base", file_path)
if err != nil {
log.Fatal(err)
}
tr := &http.Transport{
TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
}
client := &http.Client{Transport: tr}
resp, err := client.Do(request)
if err != nil {
log.Fatal(err)
} else {
body := &bytes.Buffer{}
_, err := body.ReadFrom(resp.Body)
if err != nil {
log.Fatal(err)
}
resp.Body.Close()
fmt.Println(body)
}
}
func main() {
api_cv("./resume.txt") //替换为您的简历
}
Javascript
此代码需要安装 npm install request
。
var request = require('request');
var fs = require('fs');
var filePath = './resume.txt'; //替换为您的简历
var options = {
url: "http://api.xiaodaobang.com/v1/bundle/analyze_base?avatar=1&handle_image=1&rawtext=1&parsing_result=1", //支持图片解析,提取简历头像,提取简历原文本,且返回简历解析结果
headers: {
'id': 'your_client_id', //替换为您的ID
'secret': 'your_client_secret' //替换为您的密匙
},
json: {
'resume_base': Buffer(fs.readFileSync(filePath))
.toString('base64'),
'file_name': filePath
}
};
var result = request.post(options, function(err, resp, body) {
if (err) {
console.log(err);
process.exit(1);
} else {
console.log(body);
process.exit(0);
}
});
Ruby
require "uri"
require "net/http"
require 'json'
require 'base64'
file_path = "./resume.txt" #替换为您的简历
encoded_string = Base64.encode64(File.open(file_path, "rb").read)
uri = URI('http://api.xiaodaobang.com/v1/bundle/analyze_base')
req = Net::HTTP::Post.new(uri, 'Content-Type' => 'application/json')
req['id'] = '' #替换为您的ID
req['secret'] = '' #替换为您的密匙
req.body = {resume_base: encoded_string, file_name: file_path}.to_json
res = Net::HTTP.start(uri.hostname, uri.port) do |http|
http.request(req)
end
puts res.body
PHP
<?php
$url = "http://api.xiaodaobang.com/v1/bundle/analyze_base?avatar=1&handle_image=1&rawtext=1&parsing_result=1"; //支持图片解析,提取简历头像,提取简历原文本,且返回简历解析结果
$file_path= './resume.txt'; //替换为您的简历
$file = base64_encode(file_get_contents($file_path));
$post_data = array(
"resume_base" => $file,
"file_name" => $file_path
);
$post_data_string = json_encode($post_data);
$header_data = array(
'Content-Type: application/json',
'id: your_client_id', //替换为您的ID
'secret: your_client_secret' //替换为您的密匙
);
$ch = curl_init();
curl_setopt($ch , CURLOPT_URL , $url);
curl_setopt($ch , CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch , CURLOPT_POST, 1);
curl_setopt($ch , CURLOPT_POSTFIELDS, $post_data_string);
curl_setopt($ch , CURLOPT_HTTPHEADER, $header_data);
$output = curl_exec($ch);
curl_close($ch);
print_r($output);
?>
错误码汇总
错误码 | 错误码含义 |
---|---|
0 | 正确 |
10 | 超过总数限制(欠费) |
11 | 解析服务过期 |
12 | 文件大小超过2M |
13 | 超过每秒钟并发限制 |
20 | secret_key错误 |
30 | API服务器内部错误 |
70 | 必填字段不存在 |
71 | 头字段错误 |
72 | 筛选参数不符合要求 |
80 | 简历解析服务器内部错误 |
81 | 英文服务器内部错误 |
90 | 不支持该文件格式 |
91 | 不支持图片文件解析 |
92 | 文件不是真实简历 |
93 | 不支持英文简历解析 |
候选人数据库
接口说明
插入简历
发送简历信息,并将简历储存至人岗匹配和人才搜索数据库。目前简历插入去重支持以下四个模式,
overwrite
(仅保留新插入简历,删除所有此前重复简历),skip
(仅保留数据库已有的简历,新的不插入), keep_latest
(根据智能算法仅保持更新年份最近的简历), keep_both
(不进行去重,直接插入简历)
请求说明
- 请求方式:post+application/json 方式
- SaaS请求路径:https://api.xiaodaobang.com/v1/peipei/resumes
- 本地请求路径:http://localhost:port/resumes
请求头字段说明(header)
- Content-Type: application/json
头字段参数 | 字段类型 | 必须 | 说明 |
---|---|---|---|
id |
String | 是 | 用户ID |
secret |
String | 是 | 用户密匙 |
请求查询说明(query)
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
handle_image |
Int | 否 | 是否处理图片简历,1 处理,0 不处理。默认为0 。 |
请求内容说明(body)
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
resume_base |
String | 是 | 经 base64 编码的简历文件内容。 |
file_name |
String | 是 | 简历文件名(请确保后缀正确)。 |
folder_name |
String | 否 | 目标文件夹名称,可用于快速搜索,默认为default-folder 。 |
index |
String | 否 | 需要插入的简历库Index名称(仅限于本地部署),默认为resumes 。 |
update_mode |
String | 否 | 插入简历的去重模式,现支持overwrite, skip, keep_both, keep_latest 默认为keep_both 。 |
predicted_result |
Int | 否 | 插入时候是否进行人物画像分析并一同储存,1 表示进行画像分析,0 表示不进行。默认为0 。如本地部署使用并未采购人物画像则无法设置为1 。 |
请求内容结构体示例:
{
"resume_base": "BASE64RESUME",
"file_name": "my-resume.pdf",
"folder_name": "my_resume",
"index": "resumes",
"update_mode": "keep_latest",
"predicted_result": 0,
}
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
errorcode |
错误码 | 请参照错误码汇总,插入简历成功则为 0 | Int |
errormessage |
错误信息 | 错误信息 | String |
cv_id |
简历ID | 每个简历在简历库中的唯一ID | String |
样本示例
{
"errorcode": 0,
"errormessage": "succeed",
"cv_id": "fb8d73a8-4541-11e9-bd23-f45c89abd109"
}
插入解析简历(仅限本地部署)
发送校导帮简历解析解析后json格式,并将简历储存至人岗匹配数据库。需要与校导帮简历解析json格式parsing_result
里字段完全相同。目前简历插入去重支持以下四个模式,
overwrite
(仅保留新插入简历,删除所有此前重复简历),skip
(仅保留数据库已有的简历,新的不插入), keep_latest
(根据智能算法仅保持更新年份最近的简历), keep_both
(不进行去重,直接插入简历)
请求说明
- 请求方式:post+application/json 方式
- 本地请求路径:http://localhost:port/resumes/json
请求头字段说明(header)
- Content-Type: application/json
请求内容说明(body)
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
parsing_result |
Object | 是 | 经校导帮简历解析后的json格式,请参照简历解析返回结果 |
predicted_result |
Object | 否 | 经校导帮人物画像分析后的json格式,请参照人物画像返回结果 |
folder_name |
String | 否 | 目标文件夹名称,可用于快速搜索,默认为default-folder 。 |
index |
String | 否 | 需要插入的简历库Index名称(仅限于本地部署),默认为resumes 。 |
update_mode |
String | 否 | 插入简历的去重模式,现支持overwrite , skip , keep_both , keep_latest 默认为keep_both 。 |
tags |
Object | 否 | 可额外插入自定义的tag字段。需提前通过相应API添加自定义tag 名称及格式,请参照添加自定义tag字段 |
candidates |
Array[Object] | 否 | 投递候选人信息。其中可包含candidate_id , job_id , job_title , stage_id , stage_type , consideration_status , creator_id , created_at , source |
请求内容结构体示例:
{
"parsing_result": {...},
"predicted_result": {...},
"folder_name": "my resume",
"index": "resumes",
"update_mode": "keep_latest",
"tags": {
"customized_tag_1": ["已入职", "已发offer"],
"customized_tag_2": "数据科学家",
...
}
}
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
errorcode |
错误码 | 请参照错误码汇总,插入简历成功则为 0 | Int |
errormessage |
错误信息 | 错误信息 | String |
cv_id |
简历ID | 每个简历在简历库中的唯一ID | String |
样本示例
{
"errorcode": 0,
"errormessage": "succeed",
"cv_id": "fb8d73a8-4541-11e9-bd23-f45c89abd109"
}
删除简历
根据INDEX名称和简历ID从人岗匹配数据库删除简历。
请求说明
- 请求方式:delete+application/json 方式
- SaaS请求路径:https://api.xiaodaobang.com/v1/peipei/resumes/:cv_id
- 本地请求路径(默认index):http://localhost:port/resumes/:cv_id
- 本地请求路径(自定义index):http://localhost:port/indices/:index_name/resumes/:cv_id
请求头字段说明(header)
- Content-Type: application/json
头字段参数 | 字段类型 | 必须 | 说明 |
---|---|---|---|
id |
String | 是 | 用户ID |
secret |
String | 是 | 用户密匙 |
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
errorcode |
错误码 | 请参照错误码汇总,删除简历成功则为 0 | Int |
errormessage |
错误信息 | 错误信息 | String |
样本示例
{
"errorcode": 0,
"errormessage": "succeed"
}
获取单个简历
根据简历ID获取单个简历。
请求说明
- 请求方式:get+application/json 方式
- SaaS请求路径:https://api.xiaodaobang.com/v1/peipei/resumes/:cv_id
- 本地请求路径(默认index):http://localhost:port/resumes/:cv_id
- 本地请求路径(自定义index):http://localhost:port/indices/:index_name/resumes/:cv_id
请求头字段说明(header)
- Content-Type: application/json
头字段参数 | 字段类型 | 必须 | 说明 |
---|---|---|---|
id |
String | 是 | 用户ID |
secret |
String | 是 | 用户密匙 |
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
errorcode |
错误码 | 请参照错误码汇总,获取成功则为 0 | Int |
errormessage |
错误信息 | 错误信息 | String |
resume |
简历信息 | 请参照人岗匹配结果列表 | Object |
样本示例
{
"errorcode": 0,
"errormessage": "succeed",
"resume": {
"cv_id": "090a53f943431f51e9902a7851fce7ec",
"parsing_result": {...}
}
}
获取重复简历
根据原始获取疑似重复简历ID。
请求说明
- 请求方式:post+application/json 方式
- SaaS请求路径:https://api.xiaodaobang.com/v1/peipei/duplicate_resumes
- 本地请求路径:http://localhost:port/duplicate_resumes
请求头字段说明(header)
- Content-Type: application/json
头字段参数 | 字段类型 | 必须 | 说明 |
---|---|---|---|
id |
String | 是 | 用户ID |
secret |
String | 是 | 用户密匙 |
请求内容说明(body)
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
resume_base |
String | 是 | 经 base64 编码的简历文件内容。 |
file_name |
String | 是 | 简历文件名(请确保后缀正确)。 |
folder_name |
String | 否 | 简历查重目标文件夹名称,可用于快速搜索,默认为default-folder 。 |
index |
String | 否 | 需要查重目标简历库Index名称(仅限于本地部署),默认为resumes 。 |
source |
Array[String]/String | 否 | 需要返回的疑似重复简历字段,如希望返回所有基本信息,则输入source="parsing_result.basic_info" ,默认返回空数组 |
max_return |
Int | 否 | 最大返回疑似重复简历数量,默认100(仅需本地部署) |
请求内容结构体示例:
{
"resume_base": "BASE64RESUME",
"file_name": "my-resume.pdf",
"folder_name": "my_resume",
"index": "resumes"
}
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
errorcode |
错误码 | 请参照错误码汇总,获取成功则为 0 | Int |
errormessage |
错误信息 | 错误信息 | String |
duplicate_ids |
疑似重复简历ID | 疑似重复简历的CV_ID | Array[String] |
duplicate_resumes |
疑似重复简历内容 | 通过source字段控制返回结果包含字段,默认不反悔重复简历的内容,返回空数组 | Array[Objec] |
样本示例
{
"errorcode": 0,
"errormessage": "succeed",
"duplicate_ids": ["090a53f943431f51e9902a7851fce7ec"],
"duplicate_resumes": [{...}]
}
通过JSON获取重复简历
根据原始获取疑似重复简历ID。
请求说明
- 请求方式:post+application/json 方式
- SaaS请求路径:https://api.xiaodaobang.com/v1/peipei/duplicate_resumes_json
- 本地请求路径:http://localhost:port/duplicate_resumes_json
请求头字段说明(header)
- Content-Type: application/json
头字段参数 | 字段类型 | 必须 | 说明 |
---|---|---|---|
id |
String | 是 | 用户ID |
secret |
String | 是 | 用户密匙 |
请求内容说明(body)
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
parsing_result |
String | 是 | 经校导帮简历解析后的json格式,请参照简历解析返回结果 |
folder_name |
String | 否 | 简历查重目标文件夹名称,可用于快速搜索,默认为default-folder 。 |
index |
String | 否 | 需要查重目标简历库Index名称(仅限于本地部署),默认为resumes 。 |
source |
Array[String]/String | 否 | 需要返回的疑似重复简历字段,如希望返回所有基本信息,则输入source="parsing_result.basic_info" ,默认返回空数组 |
max_return |
Int | 否 | 最大返回疑似重复简历数量,默认100(仅需本地部署) |
请求内容结构体示例:
{
"parsing_result": {...},
"folder_name": "my resume",
"index": "resumes"
}
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
errorcode |
错误码 | 请参照错误码汇总,获取成功则为 0 | Int |
errormessage |
错误信息 | 错误信息 | String |
duplicate_ids |
疑似重复简历ID | 疑似重复简历的CV_ID | Array[String] |
duplicate_resumes |
疑似重复简历内容 | 通过source字段控制返回结果包含字段,默认不反悔重复简历的内容,返回空数组 | Array[Objec] |
样本示例
{
"errorcode": 0,
"errormessage": "succeed",
"duplicate_ids": ["090a53f943431f51e9902a7851fce7ec"],
"duplicate_resumes": [{...}]
}
列出全部简历
返回我们数据库中的全部简历。默认不通过任何筛选返回头20份简历
请求说明
- 请求方式:get+application/json 方式
- SaaS请求路径:https://api.xiaodaobang.com/v1/peipei/resumes
- 本地请求路径:http://localhost:port/resumes
请求头字段说明(header)
- Content-Type: application/json
头字段参数 | 字段类型 | 必须 | 说明 |
---|---|---|---|
id |
String | 是 | 用户ID |
secret |
String | 是 | 用户密匙 |
请求查询说明(query)
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
folder_name |
String | 否 | 目标文件夹名称,可用于快速搜索,默认为default-folder 。 |
index |
String | 否 | 简历库Index名称(仅限于本地部署),默认为resumes 。 |
offset |
Int | 否 | 查询起始位置。默认为0,范围在0-10000 |
limit |
Int | 否 | 查询返回数量 。默认为20,范围在1-1000 ,本地部署用户可通过配置文件ES_RESULT_MAX_RETURN参数修改 |
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
errorcode |
错误码 | 请参照错误码汇总,列出简历成功则为 0 | Int |
errormessage |
错误信息 | 错误信息 | String |
hits |
简历数量 | 对应目标简历库中简历总数量 | Int |
resumes |
列出简历 | 请参照人岗匹配结果列表 | Array[Object] |
样本示例
{
"errorcode": 0,
"errormessage": "succeed",
"hits": 200,
"resumes": [...]
}
更新简历字段(仅限本地部署)
根据简历ID更新简历自定义字段。
请求说明
- 请求方式:put+application/json 方式
- 本地请求路径(默认index):http://localhost:port/resumes/:cv_id
- 本地请求路径(自定义index):http://localhost:port/indices/:index_name/resumes/:cv_id
请求头字段说明(header)
- Content-Type: application/json
请求内容说明(body)
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
folder_name |
Array[String]/String | 否 | 简历查重目标文件夹名称,可用于快速搜索 |
candidates |
Array[Object] | 否 | 投递候选人记录 |
请求内容结构体示例:
{
"folder_name": ["数据科学家"],
"candidates": [{
"candidate_id": "1",
"job_id": "1",
"job_title": "数据科学家",
"creator_id": "1",
"stage_id": "1",
"consideration_status": true,
"stage_type": "面试",
"created_at": "2021-04-22T10:45:00Z",
"source": "51job"
}]
}
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
errorcode |
错误码 | 请参照错误码汇总,添加字段成功则为 0 | Int |
errormessage |
错误信息 | 错误信息 | String |
样本示例
{
"errorcode": 0,
"errormessage": "succeed"
}
更新简历自定义字段(仅限本地部署)
根据简历ID更新简历自定义字段。
请求说明
- 请求方式:put+application/json 方式
- 本地请求路径(默认index):http://localhost:port/resumes/:cv_id
- 本地请求路径(自定义index):http://localhost:port/indices/:index_name/resumes/:cv_id/tags
请求头字段说明(header)
- Content-Type: application/json
请求内容说明(body)
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
tags.<tag> |
Array[String]/String | 否 | 自定义搜索字段,添加方式请参考添加自定义tag字段 |
请求内容结构体示例:
{
"tags": {
"customized_tag_1": [
"已入职",
"已发offer"
],
"customized_tag_2": "数据科学家"
}
}
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
errorcode |
错误码 | 请参照错误码汇总,添加字段成功则为 0 | Int |
errormessage |
错误信息 | 错误信息 | String |
样本示例
{
"errorcode": 0,
"errormessage": "succeed"
}
创建数据库Index(仅限本地部署)
创建数据库Index。
请求说明
- 请求方式:post+application/json 方式
- 本地请求路径:http://localhost:port/indices
请求头字段说明(header)
- Content-Type: application/json
请求内容说明(body)
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
index |
String | 否 | 搜索数据库的index名称,默认为resumes |
请求内容结构体示例:
{
"index": "resumes"
}
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
errorcode |
错误码 | 请参照错误码汇总,创建成功则为 0 | Int |
errormessage |
错误信息 | 错误信息 | String |
样本示例
{
"errorcode": 0,
"errormessage": "succeed"
}
获取index列表(仅限本地部署)
获取搜索数据库Index列表。
请求说明
- 请求方式:get+application/json 方式
- 本地请求路径:http://localhost:port/indices
请求头字段说明(header)
- Content-Type: application/json
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
errorcode |
错误码 | 请参照错误码汇总,获取成功则为 0 | Int |
errormessage |
错误信息 | 错误信息 | String |
indices |
index列表 | Array[String] |
样本示例
{
"errorcode": 0,
"errormessage": "succeed",
"indices": ["index1", "index2"]
}
删除index(仅限本地部署)
删除搜索数据库Index。
请求说明
- 请求方式:delete+application/json 方式
- 本地请求路径:http://localhost:port/indices/:index
请求头字段说明(header)
- Content-Type: application/json
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
errorcode |
错误码 | 请参照错误码汇总,删除成功则为 0 | Int |
errormessage |
错误信息 | 错误信息 | String |
样本示例
{
"errorcode": 0,
"errormessage": "succeed"
}
添加自定义tag字段(仅限本地部署)
在指定的INDEX中添加指定类型,可提供智能搜索的字段。在添加完成后建议在插入简历和搜索前等待2-3秒等待后台搜索数据库更新完成。在新字段添加前,目标INDEX中不能插入任何包含该字段的简历,否则出现字段已存在错误。新添加字段需要在此后插入的简历中存在,且使用tags
进行封装。如果新添加字段名为customized_tag
,插入简历中该字段信息需放在如下样本。具体样本可参照插入解析简历。
{
"parsing_result": {...},
"index": "resumes",
"tags": {
"customized_tag": ...
}
}
请求说明
- 请求方式:post+application/json 方式
- 本地请求路径:http://localhost:port/indices/:index/tags
请求头字段说明(header)
- Content-Type: application/json
请求内容说明(body)
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
tag_name |
String | 是 | 新添加可搜索字段的名称,文档后续以<tag> 指代。请勿在命名中包含 . ,min ,max ,等字符。字段名仅支持英文字母以及下划线。 |
tag_type |
String | 是 | 新添加可搜索字段的字段类型,目前支持 text/array_text/array_keyword/integer/float/date/bool |
请求内容结构体示例:
{
"tag_name": "<tag>",
"tag_type": "text"
}
自定义字段类型说明(tag-body)
tag_type
可选择类型如下表所示。
字段类型 | 说明 | 样例 |
---|---|---|
text |
文本类型数据 | 已通过面试 ,未通过面试 |
array_text |
文本类型数据数组 | ARRAY[java , c++ , python ] |
array_keyword |
文本关键词类型数据数组 | ARRAY[java , c++ , python ] |
integer |
整数数据 | 1 ,8 |
float |
浮点类型数据 | 1.03 ,4.88 |
date |
日期类型数据 | 目前ES7.5版本及以上支持 2019/05/01 ,2019-05-01 ,2019-05-01 11:11:11 ,2019-05-01 11:11:11.111 ,2019-05-01T11:11:11.111 ,2019/05/01 11:11:11.111 ,ES7.4及以下只支持2019-05-01T11:11:11 格式 |
bool |
布尔型数据 | True ,False |
自定义字段搜索方式说明(tag-search)
假设插入字段名称为customized_tag
。请勿在命名中包含 .
,min
,max
,等字符。字段名仅支持英文字母以及下划线。搜索方式请参照搜索简历。
字段类型 | 支持搜索字段 | 参考样本 | 搜索方式描述 | 说明 |
---|---|---|---|---|
text |
tags.min_<tag> |
tags.min_customized_tag |
文本最小值搜索,只是普通字符串大小比较 | 如搜索abc ,则abcd 可以通过筛选 |
text |
tags.max_<tag> |
tags.max_customized_tag |
文本最大值搜索,只是普通字符串大小比较 | 如搜索abc ,则abcd 不能通过筛选 |
text |
tags.<tag> |
tags.customized_tag |
文本分词搜索 | 如搜索大数据研发 ,则大数据 和研发 二词都能通过筛选 |
text |
tags.<tag>.keyword |
tags.customized_tag.keyword |
文本keyword搜索 | 如搜索大数据研发 ,必须要字段完全等于大数据研发 才能通过筛选 |
array_text |
tags.<tag> |
tags.customized_tag |
使用文本数组进行分词搜索,AND逻辑 | 如搜索ARRAY[java, 大数据],则需要数组所有元素都包含才能通过筛选 |
array_text |
tags.<tag>.or |
tags.customized_tag.or |
使用文本数组进行分词搜索,OR逻辑 | 如搜索ARRAY[java, 大数据],则只要包含java , 大数据 任意一项就能通过筛选 |
array_keyword |
tags.<tag> |
tags.customized_tag |
使用文本数组进行keyword搜索,AND逻辑 | 如搜索ARRAY[java, 大数据],则需要数组所有元素都包含(文字完全相同)才能通过筛选 |
array_keyword |
tags.<tag>.or |
tags.customized_tag.or |
使用文本数组进行keyword搜索,OR逻辑 | 如搜索ARRAY[java, 大数据],则只要包含(文字完全相同)java , 大数据 任意一项就能通过筛选 |
integer |
tags.min_<tag> |
tags.min_customized_tag |
整数类型最小值搜索 | 如搜索5 ,则只有数值大于等于5 才会通过搜索 |
integer |
tags.max_<tag> |
tags.max_customized_tag |
整数类型最大值搜索 | 如搜索5 ,则只有数值小于等于5 才会通过搜索 |
integer |
tags.<tag> |
tags.customized_tag |
整数类型等于搜索 | 如搜索5 ,则只有数值等于5 才会通过搜索 |
float |
tags.min_<tag> |
tags.min_customized_tag |
浮点类型最小值搜索 | 如搜索5.0 ,则只有数值大于等于5.0 才会通过搜索 |
float |
tags.max_<tag> |
tags.max_customized_tag |
浮点类型最大值搜索 | 如搜索5.0 ,则只有数值小于等于5.0 才会通过搜索 |
date |
tags.min_<tag> |
tags.min_customized_tag |
时间类型最小值搜索 | 如搜索2015-01-01T12:10:30 ,则只有比这个时间晚才会通过搜索 |
date |
tags.max_<tag> |
tags.max_customized_tag |
时间类型最大值搜索 | 如搜索2015-01-01T12:10:30 ,则只有比这个时间早才会通过搜索 |
bool |
tags.<tag> |
tags.customized_tag |
Boolean类型搜索 | 如搜索False ,则只有数值是False 才会通过搜索 |
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
errorcode |
错误码 | 请参照错误码汇总,添加成功则为 0 | Int |
errormessage |
错误信息 | 错误信息 | String |
样本示例
{
"errorcode": 0,
"errormessage": "succeed"
}
使用流程案例
此API允许用户针对指定INDEX自定义搜索筛选条件字段(FILTER),具体使用方式请参照以下案例:
某用户在校导帮简历解析标准字段外添加了面试阶段(phase),HR评分(hr_score)两个新字段,并希望能够将其加入搜索条件。
可使用本API对指定INDEX现有数据库字段进行更新,面试阶段分为投递/初筛/一面/二面/OFFER,HR评分为0-5的分数。
第一步
发送添加搜索字段请求至http://localhost:port/indices/:index/tags添加面试阶段字段(phase)
请求内容结构体示例:
{
"tag_name": "phase",
"tag_type": "text"
}
发送添加搜索字段请求至http://localhost:port/indices/:index/tags添加HR评分字段(hr_score)
请求内容结构体示例:
{
"tag_name": "hr_score",
"tag_type": "float"
}
第二步
插入包含该字段的简历,新添加字段需要包含在字段tags之下,且只能够使用insert-json API进行插入,插入简历需遵照以下格式
{
"parsing_result": {...},
"predicted_result": {...},
"folder_name": "my resume",
"index": "resumes",
"update_mode": "keep_latest",
"tags":{"phase": "一面", "hr_score": 3.5}
}
第三步
进行搜索,如需要筛选在一面阶段,且HR评分3分以上的候选人,可参照以下例子
{
"filter": [
{"tags.phase.keyword": "一面"},
{"tags.min_hr_score": 3.0}
],
"index": "resumes"
}
添加自定义复合搜索字段
在指定的INDEX中添加新的复合搜索字段。所以复合搜索字段前缀为ud
,表示user-defined。假设query_name名称是my_query
,则可以通过ud_my_query
进行搜索。
请求说明
- 请求方式:post+application/json 方式
- 本地请求路径:http://localhost:port/indices/:index/query_fields
请求头字段说明(header)
- Content-Type: application/json
请求内容说明(body)
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
query_search_field |
ARRAY[Object] | 是 | 新添加QUERY字段与权重信息 |
query_search_field.field |
String | 是 | 搜索字段的路径 |
query_search_field.weight |
Float/Int | 是 | 对应搜索字段的权重 |
query_name |
String | 是 | 新添加QUERY逻辑名称 |
请求内容结构体示例:
{
"query_name": "text",
"query_search_field": [{"field": "parsing_result.basic_info.current_position", "weight":20},
{"field": "parsing_result.basic_info.current_company", "weight":10}]
}
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
errorcode |
错误码 | 请参照错误码汇总,添加成功则为 0 | Int |
errormessage |
错误信息 | 错误信息 | String |
样本示例
{
"errorcode": 0,
"errormessage": "succeed"
}
人才搜索
接口说明
搜索简历
在简历库中进行智能简历搜索。用户必须要先使用候选人数据模块中的 插入简历接口才能够使用本功能。
注意:用户数据库初始化并没有任何数据,如用户需要进行智能简历搜索测试, 需要先按照插入简历插入需要匹配的简历到您专属人才数据库。 简历插入后永久有效,可支持无限次搜索。具体简历数据库操作可参考简历数据库模块
请求说明
- 请求方式:post+application/json 方式
- SaaS请求路径:https://api.xiaodaobang.com/v1/peipei/search_resumes
- 本地请求路径:http://localhost:port/search_resumes
请求头字段说明(header)
- Content-Type: application/json
头字段参数 | 字段类型 | 必须 | 说明 |
---|---|---|---|
id |
String | 是 | 用户ID |
secret |
String | 是 | 用户密匙 |
请求内容说明(body)
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
query |
Array[Object] | 否 | 搜索条件。最后返回结果将根据搜索条件进行智能评分排序。 |
filter |
Array[Object] | 否 | 筛选条件。该条件用于硬性筛选,对返回结果的排序无关。 |
index |
String | 否 | 查询数据库名称。默认为resumes |
offset |
Int | 否 | 查询起始位置。默认为0,范围在0-10000 |
limit |
Int | 否 | 查询返回数量 。默认为20,范围在1-1000 ,本地部署用户可通过配置文件ES_RESULT_MAX_RETURN参数修改 |
搜索及筛选条件说明(search-body)
可放入query
以及filter
中的字段汇总。多选
表示将多个搜索值可以通过array的形式一起搜索,如"school_name": ["北京大学", "清华大学"]
。经历类别
表示搜索字段是否可归类为同一经历内,如果搜索字段经历类别相同,则可通过括号的形式对同一经历内多字段进行筛选,如{"school_name": "北京大学", "major": "金融"}
。
如搜索时main中输入数组,则main中每个条件都需要满足才会返回结果。如希望使用智能多维度搜索模式,可在main中放入多个关键词,用空格分割,如main": "java python"
, 则会综合考虑两者对返回结果进行智能排序。
参数 | 参数类型 | 多选 | 经历类别 | 说明 |
---|---|---|---|---|
main |
String | 是 | 全文综合搜索,只适用于 query 条件内。 |
|
resume_rawtext |
String | 是 | 原始文本搜索。 | |
folder_name |
String | 是 | 简历文件夹名称。 | |
name |
String | 是 | 姓名。 | |
gender |
String | 是 | 性别。男 ,女 |
|
political_status |
String | 是 | 政治面貌。党员 ,团员 ,群众 |
|
phone_number |
String | 是 | 手机。 | |
email |
String | 是 | 邮箱。 | |
QQ |
String | 是 | QQ号。 | |
wechat |
String | 是 | 微信。 | |
current_location |
String | 是 | 当前城市。目前仅支持城市,不支持省份。 | |
expect_location |
String | 是 | 期望城市。目前仅支持城市,不支持省份。 | |
degree |
String | 是 | 教育经历 | 教育经历。初中 ,中专 ,高中 ,大专 ,本科 ,硕士 ,MBA , EMBA ,博士 。 |
school_level |
String | 是 | 教育经历 | 学校等级。211 ,985 。 |
school_name |
String | 是 | 教育经历 | 学校名称。 |
school_name.keyword |
String | 是 | 教育经历 | 学校名称。(完全匹配) |
major |
String | 是 | 教育经历 | 专业。 |
courses |
String | 是 | 教育经历 | 所学课程。 |
abroad |
Int | 否 | 教育经历 | 是否海外院校,1表示是,0表示不是 |
abroad_country |
String | 是 | 教育经历 | 海外院校国家 |
current_position |
String | 是 | 当前职位。 | |
desired_position |
String | 是 | 期望职位。 | |
min_work_exp |
Int | 否 | 最低工作年限。0-99 |
|
max_work_exp |
Int | 否 | 最高工作年限。0-99 |
|
min_age |
Int | 否 | 最低年龄限制 | |
max_age |
Int | 否 | 最高年龄限制 | |
early_graduate_year |
Int | 否 | 最早毕业时间 | |
latest_graduate_year |
Int | 否 | 最晚毕业时间 | |
company_name |
String | 是 | 工作经历 | 公司名称。 |
company_name.keyword |
String | 是 | 工作经历 | 公司名称。(完全匹配) |
industry |
String | 是 | 工作经历 | 所属行业。 |
job_function |
String | 是 | 工作经历 | 职位所属职能。 |
job_title |
String | 是 | 工作经历 | 职位名。 |
job_title.keyword |
String | 是 | 工作经历 | 职位名。(完全匹配) |
department |
String | 是 | 工作经历 | 部门名。 |
work_description |
String | 是 | 工作经历 | 工作经历描述。 |
social_description |
String | 是 | 社会经历描述。 | |
project_description |
String | 是 | 项目经历描述。 | |
training_description |
String | 是 | 培训经历 | 培训经历描述。 |
training_organization_name |
String | 是 | 培训经历 | 培训机构名称。 |
skills |
String | 是 | 技能。 | |
it_skills |
String | 是 | 计算机技能。 | |
business_skills |
String | 是 | 商业技能。 | |
language |
String | 是 | 语言。 | |
certificate |
String | 是 | 证书。 | |
awards |
String | 是 | 奖项。 | |
self_evaluation |
String | 是 | 自我评价。 | |
tags.<tag> |
自定义搜索字段,添加方式请参考添加自定义tag字段 (仅限本地部署使用) | |||
max_candidate_created_at |
Datetime | 否 | 最晚投递时间,需要设置投递字段。格式为2021-04-22T10:45:00Z (仅限本地部署使用) |
|
min_candidate_created_at |
Datetime | 否 | 最早投递时间,需要设置投递字段。格式为2021-04-22T10:45:00Z (仅限本地部署使用) |
|
candidate_consideration_status |
Boolean | 否 | 候选人投递淘汰状态 (仅限本地部署使用) | |
candidate_job_title |
String | 是 | 投递职位名 (仅限本地部署使用) |
请求内容结构体示例:
{
"query": [
{"main": "数据科学 python"}
],
"filter": [
{"degree": ["中专", "大专"]},
{"current_location": "深圳"},
{"school_name": ["北京大学", "清华大学"], "major": "金融"},
{"folder_name": "测试简历"}
],
"index": "resumes",
"offset": 1,
"limit": 100
}
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
errorcode |
错误码 | 请参照错误码汇总,搜索成功则为 0 | Int |
errormessage |
错误信息 | 错误信息 | String |
hits |
匹配数量 | 简历库中简历总匹配数量 | Int |
resumes |
匹配简历 | 请参照人岗匹配结果列表 ,且不包含rawscore和score字段 | Array[Object] |
样本示例
{
"errorcode": 0,
"errormessage": "succeed",
"hits": 1200,
"resumes": [...]
}
样本代码
请联系校导帮客服获取测试接口账户以及代码。试用时请替换代码中的
-
your_client_id
-
your_client_secret
为您的ID以及密匙信息。
Python2
此代码需要安装 pip install requests
。
插入简历
# python2.x
# __ coding:utf-8 __
# coding=utf8
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
import requests
import base64
# 注:需要安装requests模块
def main():
cv_file = "resume.txt" #替换为您的简历
print(cv_api(cv_file))
def cv_api(cv_file):
cv_url = "http://api.xiaodaobang.com/v1/peipei/resumes"
return upload_file(cv_url, cv_file)
def upload_file(url, file_path, folder_name='default-folder'):
file_handler = open(file_path, 'rb')
content = base64.b64encode(file_handler.read())
headers = {
'id': 'your_client_id', # 替换为您的ID
'secret': 'your_client_secret' # 替换为您的密匙
}
json_data = {
'resume_base': content.decode('utf-8'),
'file_name': file_path,
'folder_name': folder_name,
'update_mode': 'keep_latest' # 如发现重复简历则时间上更新的简历会被保留,用户可自行根据自己需求调整插入模式
}
result = requests.post(url, json=json_data, timeout=15, verify=False, headers=headers)
return result.text
if __name__ == "__main__":
main()
插入解析简历
# python2.x
# __ coding:utf-8 __
# coding=utf8
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
import requests
import json
# 注:需要安装requests模块
def main():
cv_file = "resume.json" #请替换为您的json格式简历解析结果文件,需要与校导帮简历解析格式一模一样
print(cv_api(cv_file))
def cv_api(cv_file):
cv_url = "http://localhost:port/resumes/json"
return upload_file(cv_url, cv_file)
# 可以替换您的文件夹名称,如不同岗位使用不同的文件夹名称,本地部署不需要用户名密码
def upload_file(url, file_path, folder_name='default-folder'):
headers = {
# 本接口仅支持本地部署,本地部署不需要用户名密码
'Content-Type': 'application/json'
}
json_data = dict()
json_data['parsing_result'] = json.load(open(file_path, 'rb'))['parsing_result']
json_data['folder_name'] = folder_name
json_data['update_mode'] = 'keep_latest' # 如发现重复简历则时间上更新的简历会被保留,用户可自行根据自己需求调整插入模式
result = requests.post(url, json=json_data, timeout=15, verify=False, headers=headers)
return result.text
if __name__ == "__main__":
main()
删除简历
# python2.x
# __ coding:utf-8 __
# coding=utf8
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
import requests
# 注:需要安装requests模块
def main():
cv_id = ""# 请替换成您想删除的cv_id
print(cv_api(cv_id))
def cv_api(cv_id):
headers = {
'id': 'your_client_id', # 替换为您的ID
'secret': 'your_client_secret' # 替换为您的密匙
}
# 如您要删除的cv_id是12345,则请求路径为 http://api.xiaodaobang.com/v1/peipei/resumes/12345
url = "http://api.xiaodaobang.com/v1/peipei/resumes/%s" % cv_id
result = requests.delete(url, headers=headers)
return result.text
if __name__ == "__main__":
main()
筛选全部简历
# python2.x
# __ coding:utf-8 __
# coding=utf8
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
import requests
# 注:需要安装requests模块
def main():
print(list_api())
def list_api():
# 默认输出20份简历,如需加入筛选条件,可参照 https://wiki.xiaodaobang.com/#recommender-api-all
# 例如想筛选5年工作经验以上,本科,北京或者上海的简历,并要100份 URL 为 http://api.xiaodaobang.com/v1/peipei/resumes?degree=本科&city=北京,上海&min_work_exp=5&limit=100
url = "http://api.xiaodaobang.com/v1/peipei/resumes"
headers = {
'id': 'your_client_id', # 替换为您的ID
'secret': 'your_client_secret' # 替换为您的密匙
}
result = requests.get(url, headers=headers, timeout=15, verify=False)
return result.text
if __name__ == "__main__":
main()
简历搜索
# python2.x
# __ coding:utf-8 __
# coding=utf8
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
import requests
import json
# 注:需要安装requests模块
def main():
print(json.loads(upload_jd()))
def upload_jd():
url = "http://api.xiaodaobang.com/v1/peipei/search_resumes"
headers = {
'id': 'your_client_id', # 替换为您的ID
'secret': 'your_client_secret' # 替换为您的密匙
}
json = {
# 替换您的评分条件,此部分字段不但会进行筛选,也会针对结果进行智能排序
"query": [{"main": "数据科学 python"}],
# 替换您的筛选条件,此部分只会作为筛选,不作为评分条件
"filter": [{"current_location": "深圳"}, {"school_level": "211"}]
}
result = requests.post(url, json=json, timeout=15, verify=False, headers=headers)
return result.text
if __name__ == "__main__":
main()
Python3
此代码需要安装 pip install requests
。
插入简历
# python3.x
# __ coding:utf-8 __
# coding=utf8
import sys
import importlib
import requests
import base64
importlib.reload(sys)
# 注:需要安装requests模块
def main():
cv_file = "resume.txt"#替换为您的简历
print(cv_api(cv_file))
def cv_api(cv_file):
cv_url = "http://api.xiaodaobang.com/v1/peipei/resumes"
return upload_file(cv_url, cv_file)
def upload_file(url, file_path, folder_name='default-folder'):
file_handler = open(file_path, 'rb')
content = base64.b64encode(file_handler.read())
headers = {
'id': 'your_client_id', # 替换为您的ID
'secret': 'your_client_secret' # 替换为您的密匙
}
json_data = {
'resume_base': content.decode('utf-8'),
'file_name': file_path,
'folder_name': folder_name,
'update_mode': 'keep_latest' # 如发现重复简历则时间上更新的简历会被保留,用户可自行根据自己需求调整插入模式
}
result = requests.post(url, json=json_data, timeout=15, verify=False, headers=headers)
return result.text
if __name__ == "__main__":
main()
插入解析简历
# python3.x
# __ coding:utf-8 __
# coding=utf8
import sys
import importlib
import requests
import base64
import json
importlib.reload(sys)
# 注:需要安装requests模块
def main():
cv_file = "resume.json" #请替换为您的json格式简历解析结果文件,需要与校导帮简历解析格式一模一样
print(cv_api(cv_file))
def cv_api(cv_file):
cv_url = "http://localhost:port/resumes/json"
return upload_file(cv_url, cv_file)
# 可以替换您的文件夹名称,如不同岗位使用不同的文件夹名称,本地部署不需要用户名密码
def upload_file(url, file_path, folder_name='default-folder'):
headers = {
# 本接口仅支持本地部署,本地部署不需要用户名密码
'Content-Type': 'application/json'
}
json_data = dict()
json_data['parsing_result'] = json.load(open(file_path, 'rb'))['parsing_result']
json_data['folder_name'] = folder_name
json_data['update_mode'] = 'keep_latest' # 如发现重复简历则时间上更新的简历会被保留,用户可自行根据自己需求调整插入模式
result = requests.post(url, json=json_data, timeout=15, verify=False, headers=headers)
return result.text
if __name__ == "__main__":
main()
删除简历
# python3.x
# __ coding:utf-8 __
# coding=utf8
import sys
import importlib
import requests
importlib.reload(sys)
# 注:需要安装requests模块
def main():
cv_id = ""# 请替换成您想删除的cv_id
print(cv_api(cv_id))
def cv_api(cv_id):
headers = {
'id': 'your_client_id', # 替换为您的ID
'secret': 'your_client_secret' # 替换为您的密匙
}
# 如您要删除的cv_id是12345,则请求路径为 http://api.xiaodaobang.com/v1/peipei/resumes/12345
url = "http://api.xiaodaobang.com/v1/peipei/resumes/%s" % (cv_id)
result = requests.delete(url, headers=headers)
return result.text
if __name__ == "__main__":
main()
筛选全部简历
# python3.x
# __ coding:utf-8 __
# coding=utf8
import sys
import importlib
import requests
importlib.reload(sys)
# 注:需要安装requests模块
def main():
print(list_api())
def list_api():
# 默认输出20份简历,如需加入筛选条件,可参照 https://wiki.xiaodaobang.com/#recommender-api-all
# 例如想筛选5年工作经验以上,本科,北京或者上海的简历,并要100份 URL 为 http://api.xiaodaobang.com/v1/peipei/resumes?degree=本科&city=北京,上海&min_work_exp=5&limit=100
url = "http://api.xiaodaobang.com/v1/peipei/resumes"
headers = {
'id': 'your_client_id', # 替换为您的ID
'secret': 'your_client_secret' # 替换为您的密匙
}
result = requests.get(url, headers=headers, timeout=15, verify=False)
return result.text
if __name__ == "__main__":
main()
简历搜索
# python2.x
# __ coding:utf-8 __
# coding=utf8
import sys
import requests
import json
# 注:需要安装requests模块
def main():
print(json.loads(upload_jd()))
def upload_jd():
url = "http://api.xiaodaobang.com/v1/peipei/search_resumes"
headers = {
'id': 'your_client_id', # 替换为您的ID
'secret': 'your_client_secret' # 替换为您的密匙
}
json = {
# 替换您的评分条件,此部分字段不但会进行筛选,也会针对结果进行智能排序
"query": [{"main": "数据科学 python"}],
# 替换您的筛选条件,此部分只会作为筛选,不作为评分条件
"filter": [{"current_location": "深圳"}, {"school_level": "211"}]
}
result = requests.post(url, json=json, timeout=15, verify=False, headers=headers)
return result.text
if __name__ == "__main__":
main()
Java
此代码需要安装 apache-http, json, commons-io
插入简历
import java.io.File;
import java.io.BufferedReader;
import java.io.FileReader;
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.apache.commons.io.FileUtils;
import org.json.JSONObject;
public class insert_resume {
public static void testInsertResume(String url, String fname, String client_id, String client_secret, String folder_name, String update_mode) throws Exception {
byte[] bytes = org.apache.commons.io.FileUtils.readFileToByteArray(new File(fname));
String data = new String(Base64.encodeBase64(bytes), Consts.UTF_8);
HttpPost httpPost = new HttpPost(url);
httpPost.setEntity(new StringEntity(data, Consts.UTF_8));
// 设置头字段
httpPost.setHeader("id", client_id);
httpPost.setHeader("secret", client_secret);
httpPost.addHeader("content-type", "application/json");
// 设置内容信息
JSONObject json = new JSONObject();
json.put("folder_name", "default-folder"); // 如有需要,可输入
json.put("file_name", fname); // 文件名
json.put("resume_base", data); // 经base64编码过的文件内容
json.put("update_mode", update_mode); // 去重模式
StringEntity params = new StringEntity(json.toString());
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://api.xiaodaobang.com/v1/peipei/resumes";
String fname = "resume.txt"; //替换为您的文件名
String client_id = "your_client_id"; //替换为您的ID
String client_secret = "your_client_secret"; //替换为您的密匙
String folder_name = "default-folder"; // 替换成您想插入简历的文件夹名称,默认为default-folder
String update_mode = "overwrite"; // 如发现重复简历则会直接用新简历覆盖,用户可自行根据自己需求调整插入模式
testInsertResume(url, fname, client_id, client_secret, folder_name, update_mode);
}
}
插入解析简历
import org.apache.commons.io.FileUtils;
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 insert_resume_json {
public static void testjson(String url, String fname, String folder_name, String update_mode) throws Exception {
File file = new File(fname);
String content = FileUtils.readFileToString(file, "utf-8");
// 有些java程序会在unicode前产生\uFEFF, 需要先行替换
if (content.startsWith("\uFEFF")){
content = content.replace("\uFEFF", "");
}
// Convert JSON string to JSONObject
JSONObject resumejson = new JSONObject(content);
resumejson.put("folder_name": folder_name);
resumejson.put("update_mode": update_mode);
System.out.println(content);
HttpPost httpPost = new HttpPost(url);
// 设置头字段, json插入简历库仅支持本地部署,不需要用户名密码
httpPost.addHeader("content-type", "application/json");
// 设置内容信息
// 将json 变回string, 发送请求
httpPost.setEntity(new StringEntity(resumejson.toString(), Consts.UTF_8));
// 发送请求
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 {
// 插入 json 格式简历至人岗匹配数据库
String url = "http://localhost:port/resumes/json"; //port替换成您的人岗匹配端口
String fname = "resume.json"; //替换为您的文件名
String folder_name = "default-folder"; // 替换成您想插入简历的文件夹名称,默认为default-folder
String update_mode = "overwrite"; // 如发现重复简历则会直接用新简历覆盖,用户可自行根据自己需求调整插入模式
testjson(url, fname, folder_name, update_mode);
}
}
删除简历
import java.io.File;
import java.io.BufferedReader;
import java.io.FileReader;
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.client.methods.HttpDelete;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import org.apache.commons.io.FileUtils;
import org.json.JSONObject;
public class delete_resume {
public static void testDeleteResume(String url, String cv_id, String client_id, String client_secret) throws Exception {
HttpDelete httpDelete = new HttpDelete(url + cv_id);
// 设置头字段
httpDelete.setHeader("id", client_id);
httpDelete.setHeader("secret", client_secret);
httpDelete.addHeader("content-type", "application/json");
// 发送请求
HttpClient httpclient = new DefaultHttpClient();
HttpResponse response = httpclient.execute(httpDelete);
// 处理返回结果
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://api.xiaodaobang.com/v1/peipei/resumes/";
String cv_id = ""; //替换为您想删除的简历的cv_id, 如您想删除简历的cv_id是12345,则url为 http://api.xiaodaobang.com/v1/peipei/resumes/12345
String client_id = "your_client_id"; //替换为您的ID
String client_secret = "your_client_secret"; //替换为您的密匙
testDeleteResume(url, cv_id, client_id, client_secret);
}
}
筛选全部简历
import java.io.File;
import java.io.BufferedReader;
import java.io.FileReader;
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.client.methods.HttpDelete;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import org.apache.commons.io.FileUtils;
import org.json.JSONObject;
public class list_resume {
public static void testListResume(String url, String client_id, String client_secret) throws Exception {
// 使用get请求
HttpGet httpGet = new HttpGet(url);
// 设置头字段
httpGet.setHeader("id", client_id);
httpGet.setHeader("secret", client_secret);
httpGet.addHeader("content-type", "application/json");
// 发送请求
HttpClient httpclient = new DefaultHttpClient();
HttpResponse response = httpclient.execute(httpGet);
// 处理返回结果
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://api.xiaodaobang.com/v1/peipei/resumes";
String client_id = "your_client_id"; //替换为您的ID
String client_secret = "your_client_secret"; //替换为您的密匙
testListResume(url, client_id, client_secret);
}
}
简历搜索
import java.io.File;
import java.util.ArrayList;
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.JSONArray;
import org.json.JSONObject;
public class search_resume {
public static void searcher(String url, String client_id, String client_secret) throws Exception {
HttpPost httpPost = new HttpPost(url);
// 设置头字段
httpPost.setHeader("id", client_id);
httpPost.setHeader("secret", client_secret);
httpPost.addHeader("content-type", "application/json");
// 设置内容信息
JSONObject json = new JSONObject();
// 替换您的评分条件,此部分字段不但会进行筛选,也会针对结果进行智能排序
json.put("query", new JSONArray("[{\"main\": \"数据科学 python\"}]"));
// 替换您的筛选条件,此部分只会作为筛选,不作为评分条件
json.put("filter", new JSONArray("[{\"school_level\": \"211\"}, {\"current_location\": \"深圳\"}]"));
StringEntity params = new StringEntity(json.toString(), Consts.UTF_8);
httpPost.setEntity(params);
// 发送请求
HttpClient httpclient = new DefaultHttpClient();
HttpResponse response = httpclient.execute(httpPost, Consts.UTF_8);
// 处理返回结果
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://api.xiaodaobang.com/v1/peipei/match_resumes";
String client_id = "your_client_id"; //替换为您的ID
String client_secret = "your_client_secret"; //替换为您的密匙
searcher(url, client_id, client_secret);
}
}
Javascript
此代码需要安装 npm install request
。
插入简历
var request = require('request');
var fs = require('fs');
var filePath = './resume.txt'; //替换为您的简历
var folder_name = 'default-folder'; //替换成你想插入的文件夹,如不输入,则使用默认文件夹
var options = {
url: "http://api.xiaodaobang.com/v1/peipei/resumes",
headers: {
'id': 'your_client_id', //替换为您的ID
'secret': 'your_client_secret' //替换为您的密匙
},
json: {
'resume_base': Buffer(fs.readFileSync(filePath)).toString('base64'),
'file_name': filePath,
'folder_name': folder_name,
'update_mode': 'overwrite' // 如发现重复简历则会直接用新简历覆盖,用户可自行根据自己需求调整插入模式
}
};
var result = request.post(options, function(err, resp, body) {
if (err) {
console.log(err);
process.exit(1);
} else {
console.log(body);
process.exit(0);
}
});
删除简历
var request = require('request');
var cv_id = 'd29703da-aec2-11ea-aba3-0242ac130003'// 请替换成您想删除的cv_id
var options = {
url: 'http://api.xiaodaobang.com/v1/peipei/resumes/' + cv_id,
headers: {
'id': 'your_client_id', //替换为您的ID
'secret': 'your_client_secret' //替换为您的密匙
}
};
var result = request.delete(options, function(err, resp, body) {
if (err) {
console.log(err);
process.exit(1);
} else {
console.log(body);
process.exit(0);
}
});
筛选全部简历
var request = require('request');
var options = {
url: "http://api.xiaodaobang.com/v1/peipei/resumes",
headers: {
'id': 'your_client_id', //替换为您的ID
'secret': 'your_client_secret' //替换为您的密匙
}
};
var result = request.get(options, function(err, resp, body) {
if (err) {
console.log(err);
process.exit(1);
} else {
console.log(body);
process.exit(0);
}
});
简历搜索
var request = require('request');
var options = {
url: "http://api.xiaodaobang.com/v1/peipei/search_resumes",
headers: {
'id': 'your_client_id', //替换为您的ID
'secret': 'your_client_secret' //替换为您的密匙
},
json: {
// 替换您的评分条件,此部分字段不但会进行筛选,也会针对结果进行智能排序
"query": [{"main": "数据科学 python"}],
// 替换您的筛选条件,此部分只会作为筛选,不作为评分条件
"filter": [{"current_location": ["深圳", "广州"]}, {"school_level": "211"}] }
};
var result = request.post(options, function(err, resp, body) {
if (err) {
console.log(err);
process.exit(1);
} else {
console.log(body);
process.exit(0);
}
});
PHP
插入简历
<?php
$url = "http://api.xiaodaobang.com/v1/peipei/resumes";
$file_path= './resume.txt'; //替换为您的简历
$update_mode= 'overwrite';
$folder_name= 'default-folder';
$file = base64_encode(file_get_contents($file_path));
$post_data = array(
"resume_base" => $file,
"file_name" => $file_path,
"update_mode" => $update_mode, // 如发现重复简历则会直接用新简历覆盖,用户可自行根据自己需求调整插入模式
"folder_name" => $folder_name // 替换成您想插入简历的文件夹名称,默认为default-folder
);
$post_data_string = json_encode($post_data);
$header_data = array(
'Content-Type: application/json',
'id: your_client_id', //替换为您的ID
'secret: your_client_secret' //替换为您的密匙
);
$ch = curl_init();
curl_setopt($ch , CURLOPT_URL , $url);
curl_setopt($ch , CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch , CURLOPT_POST, 1);
curl_setopt($ch , CURLOPT_POSTFIELDS, $post_data_string);
curl_setopt($ch , CURLOPT_HTTPHEADER, $header_data);
$output = curl_exec($ch);
curl_close($ch);
print_r($output);
?>
删除简历
<?php
$cv_id = "c99b56c0-aed4-11ea-aba3-0242ac130003"; // 替换成要删除的CVID
$url = "http://api.xiaodaobang.com/v1/peipei/resumes/{$cv_id}";
$header_data = array(
'Content-Type: application/json',
'id: your_client_id', //替换为您的ID
'secret: your_client_secret' //替换为您的密匙
);
$ch = curl_init();
curl_setopt($ch , CURLOPT_URL , $url);
curl_setopt($ch , CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_setopt($ch , CURLOPT_HTTPHEADER, $header_data);
$output = curl_exec($ch);
curl_close($ch);
print_r($output);
?>
筛选全部简历
<?php
$url = "http://api.xiaodaobang.com/v1/peipei/resumes";
$header_data = array(
'Content-Type: application/json',
'id: your_client_id', //替换为您的ID
'secret: your_client_secret' //替换为您的密匙
);
$ch = curl_init();
curl_setopt($ch , CURLOPT_URL , $url);
curl_setopt($ch , CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch , CURLOPT_HTTPGET, 1);
curl_setopt($ch , CURLOPT_HTTPHEADER, $header_data);
$output = curl_exec($ch);
curl_close($ch);
print_r($output);
?>
简历搜索[search-list-test-[php]]
<?php
$url = "http://api.xiaodaobang.com/v1/peipei/search_resumes";
$post_data = array(
"query" => array(
array("main" => "数据科学 python"), // 替换您的评分条件,此部分字段不但会进行筛选,也会针对结果进行智能排序
"filter" => array(
array("current_location" => "沈阳"), // 替换您的筛选条件,此部分只会作为筛选,不作为评分条件
array("school_level" => "211") // 替换您的筛选条件,此部分只会作为筛选,不作为评分条件
)
);
$post_data_string = json_encode($post_data);
$header_data = array(
'Content-Type: application/json',
'id: your_client_id', //替换为您的ID
'secret: your_client_secret' //替换为您的密匙
);
$ch = curl_init();
curl_setopt($ch , CURLOPT_URL , $url);
curl_setopt($ch , CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch , CURLOPT_POST, 1);
curl_setopt($ch , CURLOPT_POSTFIELDS, $post_data_string);
curl_setopt($ch , CURLOPT_HTTPHEADER, $header_data);
$output = curl_exec($ch);
curl_close($ch);
print_r($output);
?>
错误码汇总
错误码 | 错误码含义 |
---|---|
0 | 正确 |
10 | 超过总数限制(欠费) |
11 | 解析服务过期 |
12 | 文件大小超过2M |
13 | 超过每秒钟并发限制 |
20 | secret_key错误 |
30 | API服务器内部错误 |
70 | 必填字段不存在 |
71 | 头字段错误 |
72 | 筛选参数不符合要求 |
73 | 更新Index错误 |
80 | 请求错误 |
81 | 英文服务器内部错误 |
90 | 不支持该文件格式 |
91 | 不支持图片文件解析 |
92 | 文件不是真实简历 |
93 | 不支持英文简历解析 |
101 | 授权失败 |
人岗匹配
接口说明
匹配多份简历
发送职位名称及职位描述,返回用户简历数据库中最匹配的简历。用户必须要先使用候选人数据模块中的 插入简历接口才能够使用本功能。
注意:用户数据库初始化并没有任何数据,如用户需要进行匹配多份简历测试, 需要先按照插入简历插入需要匹配的简历到您专属人才数据库。 简历插入后永久有效,可对多个岗位进行快速匹配。具体简历数据库操作可参考简历数据库模块
请求说明
- 请求方式:post+application/json 方式
- SaaS请求路径:https://api.xiaodaobang.com/v1/peipei/match_resumes
- 本地请求路径:http://localhost:port/match_resumes
请求头字段说明(header)
- Content-Type: application/json
头字段参数 | 字段类型 | 必须 | 说明 |
---|---|---|---|
id |
String | 是 | 用户ID |
secret |
String | 是 | 用户密匙 |
请求内容说明(body)
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
job |
Object | 是 | 人岗匹配岗位内容。 |
job.job_title |
String | 是 | 职位名称。如提供职位描述,可省略职位名称。 |
job.description |
String | 是 | 职位描述。如提供职位名称,可省略职位描述。 |
filter |
Array[Object] | 否 | 请参照筛选条件 |
offset |
Int | 否 | 查询起始位置。默认为0,范围在0-10000 。 |
limit |
Int | 否 | 查询返回数量 。默认为20,范围在1-1000 ,本地部署用户可通过配置文件ES_RESULT_MAX_RETURN参数修改 |
index |
String | 否 | 查询的index名称。默认为resumes 。 |
请求内容结构体示例:
{
"job": {
"job_title": "机器学习工程师",
"description": "熟练掌握图像处理算法原理,精通OpenCV,熟悉Halcon等视觉算法库及工具, 熟悉神经网络、支持向量机、深度学习等优先考虑. 熟悉主流的机器学习算法,能够熟练使用深度学习TensorFlow、Caffe等深度学习框架;"
},
"filter": [
{"degree": ["中专", "大专"]},
{"current_location": "深圳"},
{"school_name": ["北京大学", "清华大学"], "major": "金融"},
{"folder_name": "测试简历"}
],
"index": "resumes",
"offset": 1,
"limit": 100
}
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
errorcode |
错误码 | 请参照错误码汇总,匹配成功则为 0 | Int |
errormessage |
错误信息 | 错误信息 | String |
hits |
匹配数量 | 简历库中简历总匹配数量 | Int |
resumes |
匹配简历 | 请参照人岗匹配结果列表 | Array[Object] |
样本示例
{
"errorcode": 0,
"errormessage": "succeed",
"hits": 1200,
"resumes": [...]
}
匹配单独简历
发送职位名称,职位描述及简历信息,返回多维度匹配分数。
请求说明
- 请求方式:post+application/json 方式
- SaaS请求路径:https://api.xiaodaobang.com/v1/peipei/score_resume
- 本地请求路径:http://localhost:port/score_resume
请求头字段说明(header)
- Content-Type: application/json
头字段参数 | 字段类型 | 必须 | 说明 |
---|---|---|---|
id |
String | 是 | 用户ID |
secret |
String | 是 | 用户密匙 |
请求内容说明(body)
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
resume |
Object | 是 | 简历内容。 |
resume.resume_base |
String | 是 | 经 base64 编码的简历文件内容。 |
resume.file_name |
String | 是 | 简历文件名(请确保后缀正确)。 |
job |
Object | 是 | 职位内容。 |
job.job_title |
String | 否 | 职位名称。如提供职位描述,可省略职位名称 |
job.description |
String | 否 | 职位描述。如提供职位名称,可省略职位描述。 |
请求内容结构体示例:
{
"job": {
"job_title": "机器学习工程师",
"description": "熟练掌握图像处理算法原理,精通OpenCV,熟悉Halcon等视觉算法库及工具, 熟悉神经网络、支持向量机、深度学习等优先考虑. 熟悉主流的机器学习算法,能够熟练使用深度学习TensorFlow、Caffe等深度学习框架;"
},
"resume": {
"resume_base": "BASE64RESUME",
"file_name": "my-resume.pdf"
}
}
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
errorcode |
错误码 | 请参照错误码汇总,匹配成功则为 0 | Int |
errormessage |
错误信息 | 错误信息 | String |
score |
匹配分数 | 请参照返回得分结果列表 | Object |
样本示例
{
"errorcode": 0,
"errormessage": "succeed",
"score": {...}
}
匹配单独Json简历
发送职位名称,职位描述及简历信息,返回多维度匹配分数。
请求说明
- 请求方式:post+application/json 方式
- SaaS请求路径:https://api.xiaodaobang.com/v1/peipei/score_resume_json
- 本地请求路径:http://localhost:port/score_resume_json
请求头字段说明(header)
- Content-Type: application/json
头字段参数 | 字段类型 | 必须 | 说明 |
---|---|---|---|
id |
String | 是 | 用户ID |
secret |
String | 是 | 用户密匙 |
请求内容说明(body)
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
resume |
Object | 是 | 简历内容。 |
resume.parsing_result |
Object | 是 | 解析简历内容。请参照简历解析结果列表 |
job |
Object | 是 | 职位内容。 |
job.job_title |
String | 否 | 职位名称。如提供职位描述,可省略职位名称 |
job.description |
String | 否 | 职位描述。如提供职位名称,可省略职位描述。 |
请求内容结构体示例:
{
"job": {
"job_title": "机器学习工程师",
"description": "熟练掌握图像处理算法原理,精通OpenCV,熟悉Halcon等视觉算法库及工具, 熟悉神经网络、支持向量机、深度学习等优先考虑. 熟悉主流的机器学习算法,能够熟练使用深度学习TensorFlow、Caffe等深度学习框架;"
},
"resume": {
"parsing_result": {...}
}
}
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
errorcode |
错误码 | 请参照错误码汇总,匹配成功则为 0 | Int |
errormessage |
错误信息 | 错误信息 | String |
score |
匹配分数 | 请参照返回得分结果列表 | Object |
样本示例
{
"errorcode": 0,
"errormessage": "succeed",
"score": {...}
}
匹配相似简历(正在努力研发中,敬请期待)
发送简历信息,返回相似简历。
请求说明
- 请求方式:post+application/json 方式
- SaaS请求路径:https://api.xiaodaobang.com/v1/peipei/similar_resumes
- 本地请求路径:http://localhost:port/similar_resumes
请求头字段说明(header)
- Content-Type: application/json
头字段参数 | 字段类型 | 必须 | 说明 |
---|---|---|---|
id |
String | 是 | 用户ID |
secret |
String | 是 | 用户密匙 |
请求内容说明(body)
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
resume |
Object | 是 | 简历内容。 |
resume.resume_base |
String | 是 | 经 base64 编码的简历文件内容。 |
resume.file_name |
String | 是 | 简历文件名(请确保后缀正确)。 |
filter |
Array[Object] | 否 | 请参照筛选条件 |
offset |
Int | 否 | 查询起始位置。默认为0,范围在0-10000 。 |
limit |
Int | 否 | 查询返回数量 。默认为20,范围在1-1000 ,本地部署用户可通过配置文件ES_RESULT_MAX_RETURN参数修改 |
index |
String | 否 | 查询的index名称。默认为resumes 。 |
请求内容结构体示例:
{
"resume": {
"resume_base": "BASE64RESUME",
"file_name": "my-resume.pdf"
},
"filter": [
{"degree": ["中专", "大专"]},
{"current_location": "深圳"},
{"school_name": ["北京大学", "清华大学"], "major": "金融"},
{"folder_name": "测试简历"}
],
"index": "resumes",
"offset": 1,
"limit": 100
}
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
errorcode |
错误码 | 请参照错误码汇总,匹配成功则为 0 | Int |
errormessage |
错误信息 | 错误信息 | String |
hits |
匹配数量 | 简历库中简历总匹配数量 | Int |
resumes |
匹配简历 | 请参照人岗匹配结果列表 | Array[Object] |
样本示例
{
"errorcode": 0,
"errormessage": "succeed",
"hits": 1200,
"resumes": [...]
}
结果列表
匹配简历
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
cv_id |
简历ID | 简历识别ID | String |
cv_name |
简历hash | 包含简历后缀的简历内容hash | String |
match_level |
匹配等级(仅限于人岗匹配接口) | 0为完全不匹配,1为略微匹配,2为一般匹配, 3为较为匹配,4为非常匹配,5为完美匹配 | Int |
match_score |
匹配分数(仅限于人岗匹配接口) | 分数范围 0-5,越高说明越匹配 | Double |
parsing_result |
简历内容 | 请参照简历解析结果列表 | Object |
样本示例
最优候选人变量名为 resumes
,变量类型为 array[object]
"resumes":
[
{
"cv_id": "090a53f943431f51e9902a7851fce7ec",
"cv_name": "5d9ca20117ce4fd6ffd1f1abf12618ab.html",
"match_score": 4.2,
"match_level": 5,
"parsing_result": {...}
},
{
"cv_id": "090a53f943431f51e9902a7851fce7eb",
"cv_name": "5d9ca20117ce4fd6ffd1f1abf12618sb.html",
"match_score": 3.8,
"match_level": 4,
"parsing_result": {...}
},
{
"cv_id": "090a53f943431f51e9902a7851fce7ea",
"cv_name": "5d9ca20117ce4fd6ffd1f1abf12618cb.html",
"match_score": 3.5,
"match_level": 4,
"parsing_result": {...}
}
]
单个简历评分
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
match_score |
输入简历信息与岗位综合匹配得分 | 分数范围 0-5,越高说明越匹配 | Double |
match_level |
输入简历信息与岗位综合匹配等级 | 0为完全不匹配,1为略微匹配,2为一般匹配, 3为较为匹配,4为非常匹配,5为完美匹配 | Int |
contribution |
输入简历信息与岗位综合多维度评分 | 单个维度范围 0-5,加权平均可得到综合得分 | Object |
contribution.company_score |
过往工作单位知名度得分 | 分数范围 0-5,根据公司知识图谱,此前工作单位知名度越大,得分越高 | Double |
contribution.school_score |
学校等级得分 | 分数范围 0-5,毕业院校级别越高得分越高,985,211,一本院校等 | Double |
contribution.degree_score |
学历得分得分 | 分数范围 0-5,学历越高则得分越高 | Double |
contribution.exp_score |
工作经验得分 | 分数范围 0-5,工作年限越丰富则得分越高 | Double |
contribution.title_score |
职能匹配度得分 | 分数范围 0-5,过往工作经历与匹配岗位职能匹配度越高则得分越高 | Double |
contribution.declare_skill_score |
提及技能匹配得分 | 分数范围 0-5,JD提及技能匹配度得分 | Double |
contribution.infer_skill_score |
隐形技能匹配得分 | 分数范围 0-5,JD没提及,根据技能知识图谱推荐的技能匹配度得分 | Double |
样本示例
单个简历人岗匹配评分变量名为 score
,变量类型为 Object
"score": {
"match_score": 3.2,
"match_level": 3,
"contribution":{
"company_score": 1.5,
"school_score": 4.0,
"degree_score": 4.0,
"exp_score": 5.0,
"title_score": 3.0,
"declare_skill_score": 2.5,
"infer_skill_score": 1.5,
}
}
样本代码
请联系校导帮客服获取测试接口账户以及代码。试用时请替换代码中的
-
your_client_id
-
your_client_secret
为您的ID以及密匙信息。
Python2
此代码需要安装 pip install requests
。
匹配多份简历
# python2.x
# __ coding:utf-8 __
# coding=utf8
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
import requests
import json
# 注:需要安装requests模块
def main():
print(json.loads(upload_jd()))
def upload_jd():
url = "http://api.xiaodaobang.com/v1/peipei/match_resumes"
headers = {
'id': 'your_client_id', #替换为您的ID
'secret': 'your_client_secret' #替换为您的密匙
}
json = {
"job":{
# 替换为您的岗位名称
"job_title": "机器学习工程师",
# 替换为您的岗位描述
"description": "熟练掌握图像处理算法原理,精通OpenCV,熟悉Halcon等视觉算法库及工具, 熟悉神经网络、支持向量机、深度学习等优先考虑. 熟悉主流的机器学习算法,能够熟练使用深度学习TensorFlow、Caffe等深度学习框架;"
}
}
result = requests.post(url, json=json, timeout=15, verify=False, headers=headers)
return result.text
if __name__ == "__main__":
main()
匹配单份简历
# python2.x
# __ coding:utf-8 __
# coding=utf8
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
import requests
import json
import base64
# 注:需要安装requests模块
def main():
cv_file = "resume.txt" #请替换为您的简历
print(json.loads(upload_jd(cv_file)))
def upload_jd(file_path):
url = "http://api.xiaodaobang.com/v1/peipei/score_resume"
file_handler = open(file_path, 'rb')
content = base64.b64encode(file_handler.read())
headers = {
'id': 'your_client_id', #替换为您的ID
'secret': 'your_client_secret' #替换为您的密匙
}
resume = {
'resume_base': content,
'file_name': file_path
}
json = {
"job":{
# 替换为您的岗位名称
"job_title": "人事行政经理",
# 替换为您的岗位描述
"description": "全面负责沈阳分公司及所属各办事处的人力资源及行政管理工作,主要岗位职责如下: 1.结合总部人力资源整体战略计划,制定分公司人力资源管理规划; 2.起草、修改和完善人力资源相关管理制度和工作流程; 3.参与职位管理、组织机构设置,组织编写、审核各部门职能说明书与职位说明书; 4.根据分公司组织架构及用人需求制定招聘计划和程序,开展招聘工作; 5.制定培训计划,实施培训方案,组织完成培训工作和培训效果评估,完善培训体系"
},
"resume": resume
}
result = requests.post(url, json=json, timeout=15, verify=False, headers=headers)
return result.text
if __name__ == "__main__":
main()
Python3
此代码需要安装 pip install requests
。
匹配多份简历
# python3.x
# __ coding:utf-8 __
# coding=utf8
import requests
import json
def main():
print(json.loads(upload_jd()))
def upload_jd():
url = "http://api.xiaodaobang.com/v1/peipei/match_resumes"
headers = {
'id': 'your_client_id', #替换为您的ID
'secret': 'your_client_secret' #替换为您的密匙
}
json = {
"job":{
# 替换为您的岗位名称
"job_title": "机器学习工程师",
# 替换为您的岗位描述
"description": "熟练掌握图像处理算法原理,精通OpenCV,熟悉Halcon等视觉算法库及工具, 熟悉神经网络、支持向量机、深度学习等优先考虑. 熟悉主流的机器学习算法,能够熟练使用深度学习TensorFlow、Caffe等深度学习框架;"
}
}
result = requests.post(url, json=json, timeout=15, verify=False, headers=headers)
return result.text
if __name__ == "__main__":
main()
匹配单份简历
# python3.x
# __ coding:utf-8 __
# coding=utf8
import sys
import requests
import json
import base64
# 注:需要安装requests模块
def main():
cv_file = "resume.txt" #请替换为您的简历
print(json.loads(upload_jd(cv_file)))
def upload_jd(file_path):
url = "http://api.xiaodaobang.com/v1/peipei/score_resume"
file_handler = open(file_path, 'rb')
content = base64.b64encode(file_handler.read())
headers = {
'id': 'your_client_id', #替换为您的ID
'secret': 'your_client_secret' #替换为您的密匙
}
resume = {
'resume_base': content.decode('utf-8'),
'file_name': file_path
}
json = {
"job":{
# 替换为您的岗位名称
"job_title": "人事行政经理",
# 替换为您的岗位描述
"description": "全面负责沈阳分公司及所属各办事处的人力资源及行政管理工作,主要岗位职责如下: 1.结合总部人力资源整体战略计划,制定分公司人力资源管理规划; 2.起草、修改和完善人力资源相关管理制度和工作流程; 3.参与职位管理、组织机构设置,组织编写、审核各部门职能说明书与职位说明书; 4.根据分公司组织架构及用人需求制定招聘计划和程序,开展招聘工作; 5.制定培训计划,实施培训方案,组织完成培训工作和培训效果评估,完善培训体系"
},
"resume": resume
}
result = requests.post(url, json=json, timeout=15, verify=False, headers=headers)
return result.text
if __name__ == "__main__":
main()
Java
此代码需要安装 apache-http, json, commons-io
匹配多份简历
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 java_demo {
public static void recommender(String url, String client_id, String client_secret) throws Exception {
HttpPost httpPost = new HttpPost(url);
httpPost.setEntity(new StringEntity(data, Consts.UTF_8));
// 设置头字段
httpPost.setHeader("id", client_id);
httpPost.setHeader("secret", client_secret);
httpPost.addHeader("content-type", "application/json");
// 设置内容信息
JSONObject json = new JSONObject();
JSONObject job = new JSONObject();
job.put("job_title", "机器学习工程师"); // 替换为您的岗位名称
jpb.put("description", "熟练掌握图像处理算法原理,精通OpenCV,熟悉Halcon等视觉算法库及工具, 熟悉神经网络、支持向量机、深度学习等优先考虑. 熟悉主流的机器学习算法,能够熟练使用深度学习TensorFlow、Caffe等深度学习框架;" ); //替换为您的岗位描述
json.put("job", job)
StringEntity params = new StringEntity(json.toString());
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://api.xiaodaobang.com/v1/peipei/match_resumes";
String client_id = "your_client_id"; //替换为您的ID
String client_secret = "your_client_secret"; //替换为您的密匙
recommender(url, client_id, client_secret);
}
}
匹配单份简历
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 score_resume {
public static void recommender(String url, String fname, String client_id, String client_secret) throws Exception {
byte[] bytes = org.apache.commons.io.FileUtils.readFileToByteArray(new File(fname));
String data = new String(Base64.encodeBase64(bytes), Consts.UTF_8);
HttpPost httpPost = new HttpPost(url);
// 设置头字段
httpPost.setHeader("id", client_id);
httpPost.setHeader("secret", client_secret);
httpPost.addHeader("content-type", "application/json");
// 设置简历信息
JSONObject json = new JSONObject();
JSONObject resume = new JSONObject();
resume.put("file_name", fname); // 文件名
resume.put("resume_base", data); // 经base64编码过的文件内容
json.put("resume", resume);
// 设置岗位信息
JSONObject job = new JSONObject();
job.put("job_title", "人事行政经理"); // 替换为您的岗位名称
job.put("description", "全面负责沈阳分公司及所属各办事处的人力资源及行政管理工作,主要岗位职责如下: 1.结合总部人力资源整体战略计划,制定分公司人力资源管理规划; 2.起草、修改和完善人力资源相关管理制度和工作流程; 3.参与职位管理、组织机构设置,组织编写、审核各部门职能说明书与职位说明书; 4.根据分公司组织架构及用人需求制定招聘计划和程序,开展招聘工作; 5.制定培训计划,实施培训方案,组织完成培训工作和培训效果评估,完善培训体系" ); //替换为您的岗位描述
json.put("job", job);
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://api.xiaodaobang.com/v1/peipei/score_resume";
String client_id = "your_client_id"; //替换为您的ID
String client_secret = "your_client_secret"; //替换为您的密匙
String fname = "./resume.txt"; //替换为您的文件名
recommender(url, fname, client_id, client_secret);
}
}
Javascript
此代码需要安装 npm install request
。
匹配多份简历
var request = require('request');
var options = {
url: "http://api.xiaodaobang.com/v1/peipei/match_resumes",
headers: {
'id': 'your_client_id', //替换为您的ID
'secret': 'your_client_secret' //替换为您的密匙
},
json: {
'job': {
'job_title': '机器学习工程师', // 替换为您的岗位名称
'description': '熟练掌握图像处理算法原理,精通OpenCV,熟悉Halcon等视觉算法库及工具, 熟悉神经网络、支持向量机、深度学习等优先考虑. 熟悉主流的机器学习算法,能够熟练使用深度学习TensorFlow、Caffe等深度学习框架;' //替换为您的岗位描述
},
// 替换您人岗匹配前筛选条件,如不做任何筛选进行匹配,则忽略此字段
'filter': [{'current_location': ['深圳', '广州']}, {'school_level': '211'}] }
};
var result = request.post(options, function(err, resp, body) {
if (err) {
console.log(err);
process.exit(1);
} else {
console.log(body);
process.exit(0);
}
});
匹配单份简历
var request = require('request');
var fs = require('fs');
var filePath = './resume.txt'; //替换为您的简历
var options = {
url: "http://api.xiaodaobang.com/v1/peipei/score_resume",
headers: {
'id': 'your_client_id', //替换为您的ID
'secret': 'your_client_secret' //替换为您的密匙
},
json: {
'job': {
'job_title': '人事行政经理', // 替换为您的岗位名称
'description': '全面负责沈阳分公司及所属各办事处的人力资源及行政管理工作,主要岗位职责如下: 1.结合总部人力资源整体战略计划,制定分公司人力资源管理规划; 2.起草、修改和完善人力资源相关管理制度和工作流程; 3.参与职位管理、组织机构设置,组织编写、审核各部门职能说明书与职位说明书; 4.根据分公司组织架构及用人需求制定招聘计划和程序,开展招聘工作; 5.制定培训计划,实施培训方案,组织完成培训工作和培训效果评估,完善培训体系' //替换为您的岗位描述
},
'resume': {
'resume_base': Buffer(fs.readFileSync(filePath)).toString('base64'),
'file_name': filePath
}
}
};
var result = request.post(options, function(err, resp, body) {
if (err) {
console.log(err);
process.exit(1);
} else {
console.log(body);
process.exit(0);
}
});
Ruby
匹配多份简历
require "uri"
require "net/http"
require 'json'
require 'base64'
uri = URI('http://api.xiaodaobang.com/v1/peipei/match_resumes')
req = Net::HTTP::Post.new(uri, 'Content-Type' => 'application/json')
req['id'] = 'your_client_id' #替换为您的ID
req['secret'] = 'your_client_secret' #替换为您的密匙
#替换您的搜索岗位名称与描述
req.body = {job: {job_title: "机器学习工程师", description: "熟练掌握图像处理算法原理,精通OpenCV,熟悉Halcon等视觉算法库及工具, 熟悉神经网络、支持向量机、深度学习等优先考虑. 熟悉主流的机器学习算法,能够熟练使用深度学习TensorFlow、Caffe等深度学习框架;"}}.to_json
res = Net::HTTP.start(uri.hostname, uri.port) do |http|
http.request(req)
end
puts res.body
匹配单份简历
require "uri"
require "net/http"
require 'json'
require 'base64'
file_path = "./resume.txt" #替换为您的简历
encoded_string = Base64.encode64(File.open(file_path, "rb").read)
uri = URI('http://api.xiaodaobang.com/v1/peipei/score_resume')
req = Net::HTTP::Post.new(uri, 'Content-Type' => 'application/json')
req['id'] = 'your_client_id' #替换为您的ID
req['secret'] = 'your_client_secret' #替换为您的密匙
#替换您的搜索岗位名称与描述
req.body = {resume: {resume_base: encoded_string, file_name: file_path}, job: {job_title: "人事行政经理", description: "全面负责沈阳分公司及所属各办事处的人力资源及行政管理工作,主要岗位职责如下: 1.结合总部人力资源整体战略计划,制定分公司人力资源管理规划; 2.起草、修改和完善人力资源相关管理制度和工作流程; 3.参与职位管理、组织机构设置,组织编写、审核各部门职能说明书与职位说明书; 4.根据分公司组织架构及用人需求制定招聘计划和程序,开展招聘工作; 5.制定培训计划,实施培训方案,组织完成培训工作和培训效果评估,完善培训体系"}}.to_json
res = Net::HTTP.start(uri.hostname, uri.port) do |http|
http.request(req)
end
puts res.body
PHP
匹配多份简历
<?php
$url = "http://api.xiaodaobang.com/v1/peipei/match_resumes";
$post_data = array("job" => array(
"job_title" => "机器学习工程师", // 替换为您的岗位名称
"description" => "熟练掌握图像处理算法原理,精通OpenCV,熟悉Halcon等视觉算法库及工具, 熟悉神经网络、支持向量机、深度学习等优先考虑. 熟悉主流的机器学习算法,能够熟练使用深度学习TensorFlow、Caffe等深度学习框架;" //替换为您的岗位描述
),
"filter" => array(
array("current_location" => "沈阳"), // 替换您人岗匹配前筛选条件,如不做任何筛选进行匹配,则忽略此字段
array("school_level" => "211") // 替换您人岗匹配前筛选条件,如不做任何筛选进行匹配,则忽略此字段
)
);
$post_data_string = json_encode($post_data);
$header_data = array(
'Content-Type: application/json',
'id: your_client_id', //替换为您的ID
'secret: your_client_secret' //替换为您的密匙
);
$ch = curl_init();
curl_setopt($ch , CURLOPT_URL , $url);
curl_setopt($ch , CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch , CURLOPT_POST, 1);
curl_setopt($ch , CURLOPT_POSTFIELDS, $post_data_string);
curl_setopt($ch , CURLOPT_HTTPHEADER, $header_data);
$output = curl_exec($ch);
curl_close($ch);
print_r($output);
?>
匹配单份简历
<?php
$url = "http://api.xiaodaobang.com/v1/peipei/score_resume";
$file_path= './resume.txt'; //替换为您的简历
$file = base64_encode(file_get_contents($file_path));
$resume_data = array(
"resume_base" => $file,
"file_name" => $file_path
);
$post_data = array("job" => array(
"job_title" => "人事行政经理", // 替换为您的岗位名称
"description" => "全面负责沈阳分公司及所属各办事处的人力资源及行政管理工作,主要岗位职责如下: 1.结合总部人力资源整体战略计划,制定分公司人力资源管理规划; 2.起草、修改和完善人力资源相关管理制度和工作流程; 3.参与职位管理、组织机构设置,组织编写、审核各部门职能说明书与职位说明书; 4.根据分公司组织架构及用人需求制定招聘计划和程序,开展招聘工作; 5.制定培训计划,实施培训方案,组织完成培训工作和培训效果评估,完善培训体系" //替换为您的岗位描述
),
"resume" => $resume_data
);
$post_data_string = json_encode($post_data);
$header_data = array(
'Content-Type: application/json',
'id: your_client_id', //替换为您的ID
'secret: your_client_secret' //替换为您的密匙
);
$ch = curl_init();
curl_setopt($ch , CURLOPT_URL , $url);
curl_setopt($ch , CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch , CURLOPT_POST, 1);
curl_setopt($ch , CURLOPT_POSTFIELDS, $post_data_string);
curl_setopt($ch , CURLOPT_HTTPHEADER, $header_data);
$output = curl_exec($ch);
curl_close($ch);
print_r($output);
?>
错误码汇总
错误码 | 错误码含义 |
---|---|
0 | 正确 |
10 | 超过总数限制(欠费) |
11 | 解析服务过期 |
12 | 文件大小超过2M |
13 | 超过每秒钟并发限制 |
20 | secret_key错误 |
30 | API服务器内部错误 |
70 | 必填字段不存在 |
71 | 头字段错误 |
72 | 筛选参数不符合要求 |
80 | 简历解析服务器内部错误 |
81 | 英文服务器内部错误 |
90 | 不支持该文件格式 |
91 | 不支持图片文件解析 |
92 | 文件不是真实简历 |
93 | 不支持英文简历解析 |
职位解析
接口说明
解析职位信息
发送纯文本的职位描述,返回解析结果。
请求说明
- 请求方式:post+application/json 方式
- SaaS请求路径:https://api.xiaodaobang.com/v1/peipei/parse_jd
- 本地请求路径:http://localhost:port/parse_jd
请求头字段说明(header)
- Content-Type: application/json
头字段参数 | 字段类型 | 必须 | 说明 |
---|---|---|---|
id |
String | 是 | 用户ID |
secret |
String | 是 | 用户密匙 |
请求内容说明(body)
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
job.description |
String | 是 | JD文本内容 |
job.job_title |
String | 否 | 招聘职位名称 |
delimiter |
String | 否 | 切割文本使用的REGEX,默认为 [\s::,]+ |
请求内容结构体示例:
{
"job":{
"description": "1、计算机或相关专业,大学本科及以上学历;
2、4年及以上搜索业务开发经验,扎实算法基本功,熟悉主流机器学习和文本挖掘算法;
3、熟悉java、Python等流行编程语言,熟悉tf、pytorch等框架,编程能力强。
4、对大数据相关工具 Hadoop,Spark,Storm,Hbase等有实际使用经验;
5、有搜索、推荐或广告等行业背景优先。
6、具备机器学习、自然语言处理、深度学习和良好的实践经验背景者优先。",
"job_title": "机器学习工程师"
}
}
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
errorcode |
错误码 | 解析成功则为 0 | Int |
errormessage |
错误信息 | 解析错误信息 | String |
version |
版本信息 | String | |
parsing_result |
职位解析结果 | Object | |
parsing_result.origin |
整合职位解析信息 | 请参照职位解析结果整合列表,没有解析结果则为 {} | Object |
parsing_result.standard |
标准化解析结果结果 | 请参照标准化解析结果列表,没有解析结果则为 {} | Object |
parsing_result.tags |
职位解析标签 | 请参照职位解析标签结果列表,没有解析结果则为 {} | Object |
样本示例
{
"errormessage": "succeed",
"errorcode": 0,
"parsing_result": {
"origin": {...},
"standard": {...},
"tags": {...}
}
}
结果列表
原始职位解析结果
原始职位解析结果变量名为 origin
,变量类型为 Object
,字段表示仍在研发当中
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
company_name |
公司名 | 招聘公司名称 | String |
job_title |
职位名 | 招聘职位名称 | String |
job_function |
职位职能 | 职位所属标准职能 | String |
department |
招聘部门 | 职位所在部门描述 | String |
degree |
学历要求 | 职位学历要求描述 | String |
major |
专业要求 | 职位专业要求描述 | String |
work_exp |
工作年限 | 工作年限信息描述 | String |
num_hire |
招聘人数 | 职位招聘人数描述 | String |
school_level |
学校要求 | 学校等级要求描述 | String |
company_requirement |
任职公司要求 | 之前任职公司偏好 | String |
professional_skills |
专业技能要求 | 专业技能要求描述 | String |
soft_skills |
软性技能要求 | 软性技能要求描述 | String |
bonus_skills |
加分技能要求 | 加分技能要求描述 | String |
languages |
语言要求 | 语言要求描述 | String |
certificates |
证书 | 证书要求描述 | String |
gender |
性别要求 | 性别要求描述 | String |
age |
年龄要求 | 年龄要求描述 | String |
company_industry |
公司行业 | 公司行业描述 | String |
management_requirement |
管理能力要求 | String | |
professional_requirement |
职能经验要求 | String | |
industry_requirement |
行业经验要求 | String | |
salary |
薪资水平 | 薪资水平描述 | String |
benefit |
福利待遇 | 福利待遇描述 | String |
address |
工作地址 | 工作地址信息 | String |
email |
邮箱信息 | String | |
phone_number |
电话 | 联系电话信息 | String |
wechat |
微信 | String | |
company_intro |
公司介绍 | 公司介绍描述 | String |
样本示例
"origin":
{
"company_name": "校导帮智能",
"job_title": "算法工程师",
"job_function": "算法",
"department": "R&D",
"degree": "本科及以上\n大学本科及以上学历;",
"major": "1、计算机或相关专业",
"work_exp": "经验5-10年",
"num_hire": "招5人",
"school_level": "985,211大学优先",
"company_requirement": "BAT工作经历优先",
"professional_skills": "熟悉主流机器学习和文本挖掘算法;\n3、熟悉java、Python等流行编程语言\n熟悉tf、pytorch等框架\n编程能力强。\n4、对大数据相关工具",
"soft_skills": "4. 有良好的逻辑思维能力、沟通能力和文字表达能力;",
"bonus_skills": "熟悉云数据库优先",
"languages": "流利英语口语,能够用英语进行邮件沟通",
"certificates": "全国计算机二级证优先考虑",
"gender": "男女不限",
"age": "年龄35-44岁之间",
"company_industry": "计算机互联网行业",
"management_requirement": "具有项目主管经验",
"professional_requirement": "Hbase等有实际使用经验;\n6、具备机器学习、自然语言处理、深度学习和良好的实践经验背景者优先。",
"industry_requirement": "5、有搜索、推荐或广告等行业背景优先。",
"salary": "40k-70k",
"benefit": "创始团队来自国内外名校,拥有多年丰富工作经验;股东方资金实力雄厚,无需融资;业内资源丰富,有良好的金融行业合作关系;公司80%以上为技术人员,氛围和谐简单~",
"address": "北京经济技术开发区荣华中路22号亦城财富中心B座11层",
"email": "xxx@xxx.com",
"phone_number": "88888888",
"wechat": "XXXXXXXXX",
"company_intro": "公司有100人,2018年成立,刚通过A轮融资"
}
标准化职位信息抽取
标准化职位解析变量名为 standard
,变量类型为 Object
,字段表示仍在研发当中
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
gender |
标准化性别要求 | Object | |
gender.value |
标准化性别要求 | 不限/男/女 | String |
gender.type |
标准化性别要求类型 | requirement/optional | String |
political_status |
标准化政治面要求 | Object | |
political_status.value |
标准化政治面貌要求 | 不限/团员/党员 | String |
political_status.type |
标准化性别要求类型 | requirement/optional | String |
abroad |
海外院校要求 | Object | |
abroad.value |
海外院校要求 | 不限/海外 | String |
abroad.type |
海外院校要求类型 | requirement/optional | String |
age |
标准化年龄要求 | Object | |
age.lowerbound |
年龄下限 | 0-100,无提及默认0 | Int |
age.upperbound |
年龄上限 | 0-100,无提及默认100 | Int |
age.type |
年龄要求类型 | requirement/optional | String |
work_exp |
标准化工作经验要求 | Object | |
work_exp.lowerbound |
工作经验下限 | 0-100,无提及默认0 | Int |
work_exp.upperbound |
工作经验上限 | 0-100,无提及默认100 | Int |
work_exp.type |
工作经验要求类型 | requirement/optional | String |
degree |
标准学历要求 | 职位学历要求描述 | Object |
degree.lowerbound |
学历要求下限 | 博士/MBA/EMBA/硕士/本科/大专/高中/中专/初中 | String |
degree.upperbound |
学历要求上限 | 博士/MBA/EMBA/硕士/本科/大专/高中/中专/初中 | String |
degree.type |
学历要求类型 | requirement/optional | String |
school_level |
标准化学校要求 | Object | |
school_level.lowerbound |
学校等级要求下限 | worldclass/top/abroad/985/211/good/空 | String |
school_level.upperbound |
学校等级要求上限 | worldclass/top/abroad/985/211/good/空 | String |
school_level.type |
学校等级要求类型 | requirement/optional | String |
certificate |
证书信息 | Array[Object] | |
certificate.value |
证书名称 | String | |
city |
工作城市 | 标准化工作城市信息 | Array[Object] |
city.value |
工作城市 | 城市名称 | String |
major |
要求专业 | Array[Object] | |
major.value |
专业名词 | String | |
soft_skills |
软性技能要求数组 | Array[Object] | |
soft_skills.value |
软性技能名称 | String | |
professional_requirement |
职能经验要求 | Array[Object] | |
professional_requirement.value |
职能名称 | String | |
professional_requirement.exp |
年限要求 | Int | |
industry_requirement |
行业经验要求 | Array[Object] | |
industry_requirement.value |
行业名称 | String | |
industry_requirement.exp |
年限要求 | Int | |
languages |
标准化语言要求 | 语言一共三种要求掌握的程度 understand/proficient/expert | Array[Object] |
languages.value |
语言名称 | String | |
languages.level |
语言熟练度要求 | understand/proficient/expert | String |
professional_skills |
标准化专业技能要求 | 专业技能一共三种要求掌握的程度 understand/proficient/expert | Array[Object] |
professional_skills.value |
技能名称 | String | |
professional_skills.level |
语言熟练度要求 | understand/proficient/expert | String |
样本示例
"standard":
{
"gender": {
"value": "不限",
"type": "optional"
},
"political_status": {
"value": "不限",
"type": "optional"
},
"abroad": {
"value": "海外",
"type": "optional"
},
"age": {
"lowerbound": 0,
"type": "optional",
"upperbound": 40
},
"work_exp": {
"lowerbound": 5,
"type": "optional",
"upperbound": 10
},
"degree": {
"lowerbound": "本科",
"type": "requirement",
"upperbound": "博士"
},
"school_level": {
"lowerbound": "211",
"type": "requirement",
"upperbound": "worldclass"
},
"certificate": [{
"value": "全国计算机二级"
}],
"city": [{
"value": "北京"
}],
"major": [{
"value": "计算机相关"
}],
"soft_skills": [{
"value": "逻辑思维"
},
{
"value": "沟通能力"
},
{
"value": "文字表达能力"
}
],
"professional_requirement": [{
"value": "大数据开发",
"exp": 5
},
{
"value": "数据分析",
"exp": 3
}
],
"industry_requirement": [{
"value": "广告行业",
"exp": 1
}],
"languages": [{
"value": "英语",
"level": "expert"
},
{
"value": "西班牙语",
"level": "proficient"
},
{
"value": "日语",
"level": "understand"
}
],
"professional_skills": [{
"value": "数据分析",
"level": "expert"
},
{
"value": "Python",
"level": "expert"
},
{
"value": "Hadoop",
"level": "understand"
},
{
"value": "HBase",
"level": "understand"
},
{
"value": "NLP",
"level": "understand"
},
{
"value": "Spark",
"level": "understand"
},
{
"value": "Storm",
"level": "understand"
},
{
"value": "Pytorch",
"level": "proficient"
},
{
"value": "大数据",
"level": "proficient"
},
{
"value": "机器学习",
"level": "proficient"
},
{
"value": "C++",
"level": "proficient"
},
{
"value": "Javascript",
"level": "proficient"
},
{
"value": "深度学习",
"level": "proficient"
}
]
}
职位标签抽取
标准化职位解析变量名为 tags
,变量类型为 Object
,字段表示仍在研发当中
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
basic |
基本信息标签 | 类型为 experience, level, location, salary, political_status, age, gender | Array[Object] |
basic.tag |
基本信息标签名称 | String | |
basic.type |
标签类型 | String | |
education |
教育背景标签 | 类型为 degree, abroad, major, school_level, publication | Array[Object] |
education.tag |
教育背景标签名称 | String | |
education.type |
标签类型 | String | |
professional |
职业标签 | 类型为 standard_title, job_title, industry, management | Array[Object] |
professional.tag |
职业标签名称 | String | |
professional.type |
标签类型 | String | |
skills |
技能标签 | 类型为 professional_skill, soft_skill | Array[Object] |
skills.tag |
技能标签名称 | String | |
skills.type |
标签类型 | String | |
skills.subclass |
技能类别 | String | |
others |
其他信息标签 | 类型为 language, certificate, award, company_class, benefit | Array[Object] |
others.tag |
其他信息标签名称 | String | |
others.type |
标签类型 | String | |
others.level |
掌握程度,目前仅支持要求语言掌握程度 | String |
样本示例
"tags": {
"basic": [{
"tag": "5-10年经验",
"type": "experience"
},
{
"tag": "资深",
"type": "level"
},
{
"tag": "北京",
"type": "location"
},
{
"tag": "30-40K",
"type": "salary"
},
{
"tag": "中共党员",
"type": "political_status"
},
{
"tag": "30-35岁",
"type": "age"
},
{
"tag": "性别不限",
"type": "gender"
}
],
"education": [{
"tag": "本科",
"type": "degree"
},
{
"tag": "海外留学经历",
"type": "abroad"
},
{
"tag": "计算机相关专业",
"type": "major"
},
{
"tag": "985院校",
"type": "school_level"
},
{
"tag": "211院校",
"type": "school_level"
},
{
"tag": "期刊论文",
"type": "publication"
}
],
"professional": [{
"tag": "互联网-后端开发-算法",
"type": "standard_title"
},
{
"tag": "机器学习工程师",
"type": "job_title"
},
{
"tag": "互联网行业",
"type": "industry"
},
{
"tag": "管理职位经验",
"type": "management"
}
],
"skills": [{
"tag": "Hadoop",
"type": "professional_skill",
"subclass": "大数据"
},
{
"tag": "HBase",
"type": "professional_skill",
"subclass": "大数据"
},
{
"tag": "NLP",
"type": "professional_skill",
"subclass": "机器学习"
},
{
"tag": "Spark",
"type": "professional_skill",
"subclass": "大数据"
},
{
"tag": "Storm",
"type": "professional_skill",
"subclass": "大数据"
},
{
"tag": "Python",
"type": "professional_skill",
"subclass": "后端开发"
},
{
"tag": "C++",
"type": "professional_skill",
"subclass": "后端开发"
},
{
"tag": "逻辑思维",
"type": "soft_skill",
"subclass": "软性技能"
},
{
"tag": "沟通能力",
"type": "soft_skill",
"subclass": "软性技能"
},
{
"tag": "文字表达能力",
"type": "soft_skill",
"subclass": "软性技能"
},
{
"tag": "专研精神",
"type": "soft_skill",
"subclass": "软性技能"
}
],
"others": [{
"tag": "英语六级",
"type": "certificate"
},
{
"tag": "托福",
"type": "certificate"
},
{
"tag": "会计师证",
"type": "certificate"
},
{
"tag": "日语",
"type": "language",
"level": "熟练"
},
{
"tag": "英语",
"type": "language",
"level": "熟练"
},
{
"tag": "本科生奖学金",
"type": "award"
},
{
"tag": "五险一金",
"type": "benefit"
},
{
"tag": "免费下午茶",
"type": "benefit"
},
{
"tag": "世界五百强",
"type": "company_class"
},
{
"tag": "行业龙头",
"type": "company_class"
}
]
}
样本代码
请联系校导帮客服获取测试接口账户以及代码。试用时请替换代码中的
-
your_client_id
-
your_client_secret
为您的ID以及密匙信息。
Python3
此代码需要安装 pip install requests
。
解析职位
# python3.x
# __ coding:utf-8 __
import sys
import importlib
import requests
import base64
# 注:需要安装requests模块
import json
import requests
def parse_jd(jd, title=''):
body = {}
body['job'] = {"description": jd, "job_title": title}
headers = {
'id': 'your_client_id', #替换为您的ID
'secret': 'your_client_secret' #替换为您的密匙
}
url = "https://api.xiaodaobang.com/v1/peipei/parse_jd"
result = requests.post(url, json=body, headers=headers)
return result
if __name__ == "__main__":
txt = """任职要求:
1、本科及以上学历,计算机、通信、电子、自动化等相关专业
2、一年以上机器视觉与图像处理行业项目开发经验,具有全国计算机二级证书
3、熟练掌握图像处理算法原理,精通OpenCV,熟悉Halcon等视觉算法库及工具
4、精通C++/C#编程语言
5、对图像识别算法有深刻理解及应用经验优先
6、具有强的协调沟通能力、分析解决问题能力及团队合作精神
7、熟悉神经网络、支持向量机、深度学习等优先考虑
2、 熟悉主流的机器学习算法,能够熟练使用深度学习TensorFlow、Caffe等深度学习框架;
"""
result = parse_jd(txt, title="算法工程师").json()['parsing_result']
print(json.dumps(result, indent=4, ensure_ascii=False))
错误码汇总
错误码 | 错误码含义 |
---|---|
0 | 正确 |
10 | 超过总数限制(欠费) |
11 | 解析服务过期 |
12 | 文件大小超过2M |
13 | 超过每秒钟并发限制 |
20 | secret_key错误 |
30 | API服务器内部错误 |
70 | 必填字段不存在 |
71 | 头字段错误 |
72 | 筛选参数不符合要求 |
80 | 服务器内部错误 |
知识图谱
接口说明
目前知识图谱包含以下实体:
实体类型 | 说明 |
---|---|
company |
公司 |
job_title |
岗位名称 |
standard_job_title |
标准职能名称 |
university |
学校 |
school |
高校内学院/系 |
major |
专业 |
skill |
技能 |
industry |
行业 |
公司搜索
用于通过公司相关信息搜索对应公司实体,可输入任意公司全称、公司简称、产品名等。返回对应实体ID,公司名,行业,地点,logo等基础信息,同时包括搜索的得分。
请求说明
- 请求方式:get+application/json 方式
- SaaS请求路径:https://api.xiaodaobang.com/v1/kg/companies
- 本地请求路径:http://localhost:port/companies
请求头字段说明(header)
- Content-Type: application/json
头字段参数 | 字段类型 | 必须 | 说明 |
---|---|---|---|
id |
String | 是 | 用户ID |
secret |
String | 是 | 用户密匙 |
参数说明(parameters)
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
keyword |
String | 是 | 搜索关键词 |
limit |
Int | 否 | 查询返回数量 。默认为10 |
offset |
Int | 否 | 跳过多少数量作为offset。 |
- 注:参数可放在请求路径中,如:
https://api.xiaodaobang.com/v1/kg/companies?keyword=阿里巴巴
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
errorcode |
错误码 | 解析成功则为 0 | Int |
errormessage |
错误信息 | 解析错误信息 | String |
hits |
公司总数 | 公司库中公司总匹配数量 | Int |
companies |
公司列表 | 请参照公司搜索结果列表 | Array[Object] |
样本示例
{
"errormessage": "succeed",
"errorcode": 0,
"hits": 234,
"companies": [
{...},
{...},
{...}
]
}
公司自动补全
用于在搜索输入未完成的情况下通过部分公司名前缀补全公司名,可识别公司名、公司简称、产品名等。相对与搜索而言,补全接口应用于用户正在打字的过程中及时推测用户搜索目标公司,因此匹配条件相比搜索更为宽松并只返回公司名、实体ID等基础信息。
请求说明
- 请求方式:get+application/json 方式
- SaaS请求路径:https://api.xiaodaobang.com/v1/kg/suggester/companies
- 本地请求路径:http://localhost:port/suggester/companies
请求头字段说明(header)
- Content-Type: application/json
头字段参数 | 字段类型 | 必须 | 说明 |
---|---|---|---|
id |
String | 是 | 用户ID |
secret |
String | 是 | 用户密匙 |
参数说明(parameters)
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
keyword |
String | 是 | 搜索关键词 |
limit |
Int | 否 | 查询返回数量 。默认为10 |
offset |
Int | 否 | 跳过多少数量作为offset。 |
- 注:参数可放在请求路径中,如:
https://api.xiaodaobang.com/v1/kg/suggester/companies?keyword=阿里巴巴
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
errorcode |
错误码 | 解析成功则为 0 | Int |
errormessage |
错误信息 | 解析错误信息 | String |
hits |
公司总数 | 公司库中公司总匹配数量 | Int |
companies |
公司列表 | 请参照公司自动补全结果列表 | Array[Object] |
样本示例
{
"errormessage": "succeed",
"errorcode": 0,
"hits": 234,
"companies": [
{...},
{...},
{...}
]
}
公司实体对齐
根据用户输入的信息,通过公司全称、公司简称、产品名等,对齐公司实体。可应用于简历解析结果中的公司名的实体对齐。接口返回较为完善的公司信息。
请求说明
- 请求方式:get+application/json 方式
- SaaS请求路径:https://api.xiaodaobang.com/v1/kg/augment/company
- 本地请求路径:http://localhost:port/augment/company
请求头字段说明(header)
- Content-Type: application/json
头字段参数 | 字段类型 | 必须 | 说明 |
---|---|---|---|
id |
String | 是 | 用户ID |
secret |
String | 是 | 用户密匙 |
参数说明(parameters)
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
keyword |
String | 是 | 搜索关键词 |
- 注:参数可放在请求路径中,如:
https://api.xiaodaobang.com/v1/kg/augment/company?keyword=阿里巴巴
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
errorcode |
错误码 | 解析成功则为 0 | Int |
errormessage |
错误信息 | 解析错误信息 | String |
company |
公司详情 | 请参照公司实体对齐结果 | Object |
样本示例
{
"errormessage": "succeed",
"errorcode": 0,
"company": {...}
}
公司详情
通过公司实体ID查询公司具体细节。返回知识图谱数据库中完整的公司信息。
请求说明
- 请求方式:get+application/json 方式
- SaaS请求路径:https://api.xiaodaobang.com/v1/kg/companies/{:company_token}
- 本地请求路径:http://localhost:port/companies/{:company_token}
请求头字段说明(header)
- Content-Type: application/json
头字段参数 | 字段类型 | 必须 | 说明 |
---|---|---|---|
id |
String | 是 | 用户ID |
secret |
String | 是 | 用户密匙 |
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
errorcode |
错误码 | 解析成功则为 0 | Int |
errormessage |
错误信息 | 解析错误信息 | String |
company |
公司详情 | 请参照公司详情结果 | Object |
样本示例
{
"errormessage": "succeed",
"errorcode": 0,
"company": {...}
}
公司统计
通过公司实体ID查询公司数据统计。返回知识图谱数据库中完整的对应统计信息。
请求说明
- 请求方式:get+application/json 方式
- SaaS请求路径:https://api.xiaodaobang.com/v1/kg/stats/companies/{:company_token}
- 本地请求路径:http://localhost:port/stats/companies/{:company_token}
请求头字段说明(header)
- Content-Type: application/json
头字段参数 | 字段类型 | 必须 | 说明 |
---|---|---|---|
id |
String | 是 | 用户ID |
secret |
String | 是 | 用户密匙 |
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
errorcode |
错误码 | 解析成功则为 0 | Int |
errormessage |
错误信息 | 解析错误信息 | String |
stats |
公司统计 | 请参照公司统计结果 | Object |
样本示例
{
"errormessage": "succeed",
"errorcode": 0,
"stats": {...}
}
学校搜索
用于通过学校相关信息搜索对应学校实体,可输入任意学校全称、学校简称等。返回对应实体ID,学校名,地点,logo等基础信息,同时包括搜索的得分。
请求说明
- 请求方式:get+application/json 方式
- SaaS请求路径:https://api.xiaodaobang.com/v1/kg/universities
- 本地请求路径:http://localhost:port/universities
请求头字段说明(header)
- Content-Type: application/json
头字段参数 | 字段类型 | 必须 | 说明 |
---|---|---|---|
id |
String | 是 | 用户ID |
secret |
String | 是 | 用户密匙 |
参数说明(parameters)
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
keyword |
String | 是 | 搜索关键词 |
limit |
Int | 否 | 查询返回数量 。默认为10 |
offset |
Int | 否 | 跳过多少数量作为offset。 |
- 注:参数可放在请求路径中,如:
https://api.xiaodaobang.com/v1/kg/universities?keyword=北京大学
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
errorcode |
错误码 | 解析成功则为 0 | Int |
errormessage |
错误信息 | 解析错误信息 | String |
hits |
学校总数 | 学校库中学校总匹配数量 | Int |
universities |
学校列表 | 请参照学校搜索结果列表 | Array[Object] |
样本示例
{
"errormessage": "succeed",
"errorcode": 0,
"hits": 234,
"universities": [
{...},
{...},
{...}
]
}
学校自动补全
用于在搜索输入未完成的情况下通过部分学习名前缀补全学校名,可识别学校全称、学校简称等。相对与搜索而言,补全接口应用于用户正在打字的过程中及时推测用户搜索目标学校,因此匹配条件相比搜索更为宽松并只返回学校名、实体ID等基础信息。
请求说明
- 请求方式:get+application/json 方式
- SaaS请求路径:https://api.xiaodaobang.com/v1/kg/suggester/universities
- 本地请求路径:http://localhost:port/suggester/universities
请求头字段说明(header)
- Content-Type: application/json
头字段参数 | 字段类型 | 必须 | 说明 |
---|---|---|---|
id |
String | 是 | 用户ID |
secret |
String | 是 | 用户密匙 |
参数说明(parameters)
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
keyword |
String | 是 | 搜索关键词 |
limit |
Int | 否 | 查询返回数量 。默认为10 |
offset |
Int | 否 | 跳过多少数量作为offset。 |
- 注:参数可放在请求路径中,如:
https://api.xiaodaobang.com/v1/kg/suggester/universities?keyword=北京大学
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
errorcode |
错误码 | 解析成功则为 0 | Int |
errormessage |
错误信息 | 解析错误信息 | String |
hits |
学校总数 | 学校库中学校总匹配数量 | Int |
universities |
学校列表 | 请参照学校自动补全结果列表 | Array[Object] |
样本示例
{
"errormessage": "succeed",
"errorcode": 0,
"hits": 234,
"universities": [
{...},
{...},
{...}
]
}
学校实体对齐
根据用户输入的信息,通过学校全称、学校简称等,对齐学校实体。可应用于简历解析结果中的学校名的实体对齐。接口返回较为完善的学校信息。
请求说明
- 请求方式:get+application/json 方式
- SaaS请求路径:https://api.xiaodaobang.com/v1/kg/augment/university
- 本地请求路径:http://localhost:port/augment/university
请求头字段说明(header)
- Content-Type: application/json
头字段参数 | 字段类型 | 必须 | 说明 |
---|---|---|---|
id |
String | 是 | 用户ID |
secret |
String | 是 | 用户密匙 |
参数说明(parameters)
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
keyword |
String | 是 | 搜索关键词 |
- 注:参数可放在请求路径中,如:
https://api.xiaodaobang.com/v1/kg/augment/university?keyword=北京大学
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
errorcode |
错误码 | 解析成功则为 0 | Int |
errormessage |
错误信息 | 解析错误信息 | String |
university |
学校详情 | 请参照学校实体对齐结果 | Object |
样本示例
{
"errormessage": "succeed",
"errorcode": 0,
"university": {...}
}
学校详情
通过学校实体ID查询学校具体细节。返回知识图谱数据库中完整的学校信息。
请求说明
- 请求方式:get+application/json 方式
- SaaS请求路径:https://api.xiaodaobang.com/v1/kg/universities/{:university_token}
- 本地请求路径:http://localhost:port/universities/{:university_token}
请求头字段说明(header)
- Content-Type: application/json
头字段参数 | 字段类型 | 必须 | 说明 |
---|---|---|---|
id |
String | 是 | 用户ID |
secret |
String | 是 | 用户密匙 |
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
errorcode |
错误码 | 解析成功则为 0 | Int |
errormessage |
错误信息 | 解析错误信息 | String |
university |
学校详情 | 请参照学校详情结果 | Object |
样本示例
{
"errormessage": "succeed",
"errorcode": 0,
"university": {...}
}
专业自动补全
输入任意专业关键词等,自动补全专业名
请求说明
- 请求方式:get+application/json 方式
- SaaS请求路径:https://api.xiaodaobang.com/v1/kg/suggester/majors
- 本地请求路径:http://localhost:port/suggester/majors
请求头字段说明(header)
- Content-Type: application/json
头字段参数 | 字段类型 | 必须 | 说明 |
---|---|---|---|
id |
String | 是 | 用户ID |
secret |
String | 是 | 用户密匙 |
参数说明(parameters)
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
keyword |
String | 是 | 搜索关键词 |
limit |
Int | 否 | 查询返回数量 。默认为10 |
offset |
Int | 否 | 跳过多少数量作为offset。 |
- 注:参数可放在请求路径中,如:
https://api.xiaodaobang.com/v1/kg/suggester/majors?keyword=金融
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
errorcode |
错误码 | 解析成功则为 0 | Int |
errormessage |
错误信息 | 解析错误信息 | String |
hits |
专业总数 | 专业库中专业总匹配数量 | Int |
majors |
专业列表 | 请参照专业自动补全结果列表 | Array[Object] |
样本示例
{
"errormessage": "succeed",
"errorcode": 0,
"hits": 234,
"majors": [
{...},
{...},
{...}
]
}
学院自动补全
输入任意学院关键词等,自动补全学院名
请求说明
- 请求方式:get+application/json 方式
- SaaS请求路径:https://api.xiaodaobang.com/v1/kg/suggester/colleges
- 本地请求路径:http://localhost:port/suggester/colleges
请求头字段说明(header)
- Content-Type: application/json
头字段参数 | 字段类型 | 必须 | 说明 |
---|---|---|---|
id |
String | 是 | 用户ID |
secret |
String | 是 | 用户密匙 |
参数说明(parameters)
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
keyword |
String | 是 | 搜索关键词 |
limit |
Int | 否 | 查询返回数量 。默认为10 |
offset |
Int | 否 | 跳过多少数量作为offset。 |
- 注:参数可放在请求路径中,如:
https://api.xiaodaobang.com/v1/kg/suggester/colleges?keyword=数学
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
errorcode |
错误码 | 解析成功则为 0 | Int |
errormessage |
错误信息 | 解析错误信息 | String |
hits |
学院总数 | 学院库中学院总匹配数量 | Int |
colleges |
学院列表 | 请参照学院自动补全结果列表 | Array[Object] |
样本示例
{
"errormessage": "succeed",
"errorcode": 0,
"hits": 234,
"colleges": [
{...},
{...},
{...}
]
}
职位名自动补全
输入任意职位名关键词,自动补全职位名
请求说明
- 请求方式:get+application/json 方式
- SaaS请求路径:https://api.xiaodaobang.com/v1/kg/suggester/job_titles
- 本地请求路径:http://localhost:port/suggester/job_titles
请求头字段说明(header)
- Content-Type: application/json
头字段参数 | 字段类型 | 必须 | 说明 |
---|---|---|---|
id |
String | 是 | 用户ID |
secret |
String | 是 | 用户密匙 |
参数说明(parameters)
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
keyword |
String | 是 | 搜索关键词 |
limit |
Int | 否 | 查询返回数量 。默认为10 |
offset |
Int | 否 | 跳过多少数量作为offset。 |
- 注:参数可放在请求路径中,如:
https://api.xiaodaobang.com/v1/kg/suggester/job_titles?keyword=北京大学
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
errorcode |
错误码 | 解析成功则为 0 | Int |
errormessage |
错误信息 | 解析错误信息 | String |
hits |
职位名总数 | 职位名库中职位名总匹配数量 | Int |
job_titles |
职位名列表 | 请参照职位名自动补全结果列表 | Array[Object] |
样本示例
{
"errormessage": "succeed",
"errorcode": 0,
"hits": 234,
"job_titles": [
{...},
{...},
{...}
]
}
技能自动补全
输入任意技能关键词,自动补全技能名
请求说明
- 请求方式:get+application/json 方式
- SaaS请求路径:https://api.xiaodaobang.com/v1/kg/suggester/skills
- 本地请求路径:http://localhost:port/suggester/skills
请求头字段说明(header)
- Content-Type: application/json
头字段参数 | 字段类型 | 必须 | 说明 |
---|---|---|---|
id |
String | 是 | 用户ID |
secret |
String | 是 | 用户密匙 |
参数说明(parameters)
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
keyword |
String | 是 | 搜索关键词 |
limit |
Int | 否 | 查询返回数量 。默认为10 |
offset |
Int | 否 | 跳过多少数量作为offset。 |
- 注:参数可放在请求路径中,如:
https://api.xiaodaobang.com/v1/kg/suggester/skills?keyword=python
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
errorcode |
错误码 | 解析成功则为 0 | Int |
errormessage |
错误信息 | 解析错误信息 | String |
hits |
技能总数 | 技能库中技能总匹配数量 | Int |
skills |
技能列表 | 请参照技能自动补全结果列表 | Array[Object] |
样本示例
{
"errormessage": "succeed",
"errorcode": 0,
"hits": 234,
"skills": [
{...},
{...},
{...}
]
}
实体对齐查询
输入任意名称,算法进行对齐搜索,返回最匹配的标准实体名称与实体类型
请求说明
- 请求方式:get+application/json 方式
- SaaS请求路径:https://api.xiaodaobang.com/v1/kg/entities
- 本地请求路径:http://localhost:port/entities
请求头字段说明(header)
- Content-Type: application/json
头字段参数 | 字段类型 | 必须 | 说明 |
---|---|---|---|
id |
String | 是 | 用户ID |
secret |
String | 是 | 用户密匙 |
参数说明(parameters)
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
keyword |
String | 是 | 搜索关键词 |
type |
String | 否 | 目标实体的类型,目前支持 skill, job_title, standard_job_title, major, school 如不输入,则算法自动进行实体类型推断 |
- 注:参数可放在请求路径中,如:
https://api.xiaodaobang.com/v1/kg/entities?keyword=python
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
errorcode |
错误码 | 请参照错误码汇总,匹配成功则为 0 | Int |
errormessage |
错误信息 | 错误信息 | String |
hits |
匹配实体总数 | 知识图谱中较匹配实体的数量 | Int |
entities |
匹配实体列表 | 请参照知识图谱链接实体 | Array[Object] |
样本示例
{
"errormessage": "succeed",
"errorcode": 0,
"hits": 234,
"entities": [
{...},
{...},
{...}
]
}
不同类关联实体查询
发送实体名称和目标实体类型,返回指定类型中连接最紧密的实体。 以下是可以回答问题的一些例子:
对于算法工程师,什么技能最重要?
JAVA工程师一般从什么专业毕业?
应用数学毕业适合做什么类型的工作?
后端开发的职能下,有什么常见的岗位名称?
请求说明
- 请求方式:post+application/json 方式
- SaaS请求路径:https://api.xiaodaobang.com/v1/kg/edge/connected_entities
- 本地请求路径:http://localhost:port/edge/connected_entities
请求头字段说明(header)
- Content-Type: application/json
头字段参数 | 字段类型 | 必须 | 说明 |
---|---|---|---|
id |
String | 是 | 用户ID |
secret |
String | 是 | 用户密匙 |
请求内容说明(body)
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
entity.entity_name |
String | 是 | 需要查询实体的名称 |
entity.target_entity_type |
String | 是 | 目标实体的类型,目前支持 job_title, standard_job_title, skill, major, all 作为目标查询。 all 表示不限返回实体的类型 |
entity.src_entity_type |
String | 否 | 输入实体的名称,目前支持 job_title, standard_job_title, major, skill |
offset |
Int | 否 | 查询起始位置。默认为0,范围在0-10000 。 |
limit |
Int | 否 | 查询返回数量 。默认为20,范围在1-1000 ,本地部署用户可通过配置文件ES_KG_RESULT_MAX_RETURN参数修改 |
请求内容结构体示例:
{
"entity": {
"entity_name": "机器学习工程师",
"target_entity_type": "skill",
"src_entity_type": "job_title"
},
"offset": 1,
"limit": 100
}
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
errorcode |
错误码 | 请参照错误码汇总,匹配成功则为 0 | Int |
errormessage |
错误信息 | 错误信息 | String |
hits |
返回实体数量 | 简历库中简历总匹配数量 | Int |
src_entity_type |
输入实体类型 | 如果用户输入了实体类型,则以用户输入为准,否则算法会自动进行类型判断 | Int |
entities |
匹配实体 | 请参照知识图谱实体结果列表 | Array[Object] |
样本示例
{
"errorcode": 0,
"errormessage": "succeed",
"hits": 10,
"src_entity_type": "job_title",
"entities": [...]
}
相同类别实体相似查询
发送实体名称和实体类型,返回相同类型中最相似的实体信息。 以下是可以回答问题的一些例子:
掌握JAVA的同时还需要掌握哪些相关技能?
算法工程师有哪些细分的方向?
有什么与复旦大学相同类型的院校?
请求说明
- 请求方式:post+application/json 方式
- SaaS请求路径:https://api.xiaodaobang.com/v1/kg/edge/similar_entities
- 本地请求路径:http://localhost:port/edge/similar_entities
请求头字段说明(header)
- Content-Type: application/json
头字段参数 | 字段类型 | 必须 | 说明 |
---|---|---|---|
id |
String | 是 | 用户ID |
secret |
String | 是 | 用户密匙 |
请求内容说明(body)
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
entity.entity_name |
String | 是 | 需要查询实体的名称 |
entity.src_entity_type |
String | 否 | 输入实体的类型,目前支持 job_title, skill, major, school ,如果不输入,算法会自动进行类型判断 |
offset |
Int | 否 | 查询起始位置。默认为0,范围在0-10000 。 |
limit |
Int | 否 | 查询返回数量 。默认为20,范围在1-1000 ,本地部署用户可通过配置文件ES_KG_RESULT_MAX_RETURN参数修改 |
请求内容结构体示例:
{
"entity": {
"entity_name": "机器学习工程师",
"src_entity_type": "job_title"
},
"offset": 0,
"limit": 10
}
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
errorcode |
错误码 | 请参照错误码汇总,匹配成功则为 0 | Int |
errormessage |
错误信息 | 错误信息 | String |
hits |
返回实体数量 | 简历库中简历总匹配数量 | Int |
src_entity_type |
输入实体类型 | 如果用户输入了实体类型,则以用户输入为准,否则算法会自动进行类型判断 | Int |
entities |
匹配实体 | 请参照知识图谱实体结果列表 | Array[Object] |
样本示例
{
"errorcode": 0,
"errormessage": "succeed",
"hits": 10,
"src_entity_type": "job_title",
"entities": [...]
}
两个实体相似度得分计算
发送两个实体信息,返回相似度得分。 以下是可以回答问题的一些例子:
SQL和JAVA的技能相似度如何? PYTHON对于机器学习工程师有多关键?
请求说明
- 请求方式:post+application/json 方式
- SaaS请求路径:https://api.xiaodaobang.com/v1/kg/edge/similar_entity_score
- 本地请求路径:http://localhost:port/edge/similar_entity_score
请求头字段说明(header)
- Content-Type: application/json
头字段参数 | 字段类型 | 必须 | 说明 |
---|---|---|---|
id |
String | 是 | 用户ID |
secret |
String | 是 | 用户密匙 |
请求内容说明(body)
参数 | 参数类型 | 必须 | 说明 |
---|---|---|---|
entity_first.entity_name |
String | 是 | 需要查询实体的名称 |
entity_first.src_entity_type |
String | 否 | 输入实体的类型,目前支持 job_title, skill, major, school ,如果不输入,算法会自动进行类型判断 |
entity_second.entity_name |
String | 是 | 需要查询实体的名称 |
entity_second.src_entity_type |
String | 否 | 输入实体的类型,目前支持 job_title, skill, major, school ,如果不输入,算法会自动进行类型判断 |
请求内容结构体示例:
{
"entity_first": {
"entity_name": "机器学习工程师",
"src_entity_type": "job_title"
},
"entity_second": {
"entity_name": "神经网络",
"src_entity_type": "skill"
},
}
返回结果说明
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
errorcode |
错误码 | 请参照错误码汇总,匹配成功则为 0 | Int |
errormessage |
错误信息 | 错误信息 | String |
score |
关联度得分 | 分数从0-1 | Double |
样本示例
{
"errorcode": 0,
"errormessage": "succeed",
"score": 0.823423
}
结果列表
公司搜索
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
entity_id |
公司实体ID | 公司实体ID | String |
company_name |
公司全名 | 公司注册全名 | String |
regist_base_name |
公司基础名 | 公司注册全名中的基础名 | String |
company_abbr_name |
公司简称 | 公司简称 | String |
country |
所在国家 | 公司所在国家 | String |
city |
所在城市 | 公司所在城市 | String |
company_type |
公司类型 | 公司类型 | String |
founded_date |
成立时间 | 公司成立时间 | String |
industry |
所属行业 | 公司所属行业 | String |
sub_industry |
所属子行业 | 公司所属子行业 | String |
company_stage |
公司阶段 | 公司当前阶段 | String |
logo_url |
公司logo | 公司logo | String |
score |
搜索分数 | 搜索分数(分数越高匹配度越高) | Double |
样本示例
"companies": [
{
"entity_id": "--sibrLosochoW1w"
"company_name": "深圳市腾讯计算机系统有限公司",
"regist_base_name": "腾讯",
"company_abbr_name": "腾讯科技",
"country": "中国",
"city": "深圳",
"company_type": "民企",
"founded_date": "1998-11-11",
"industry": "IT/互联网",
"sub_industry": "社交网络",
"company_stage": "已上市",
"logo_url": "https://img.xiaodaobang.com/static/company/logo/--sibrLosochoW1w.jpg",
"score": 228.068,
},
{
"entity_id": "bSKLfrq31ZPdJ6Bu",
"company_name": "深圳市腾讯网域计算机网络有限公司",
"regist_base_name": "腾讯网域",
"company_abbr_name": "腾讯网域",
"country": "中国",
"city": "深圳",
"company_type": "民企",
"founded_date": "1997-4-28",
"industry": "IT/互联网",
"sub_industry": "游戏",
"company_stage": "未融资",
"logo_url": "https://img.xiaodaobang.com/static/company/logo/bSKLfrq31ZPdJ6Bu.jpg",
"score": 168.57733,
}
]
公司自动补全
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
company_abbr_name |
公司简称 | 公司简称 | String |
company_name |
公司全名 | 公司注册全名 | String |
entity_id |
公司实体ID | 公司实体ID | String |
logo_url |
公司logo连接 | 公司logo | String |
regist_base_name |
公司基础名 | 公司注册全名中的基础名 | String |
样本示例
"companies": [
{
"company_abbr_name": "腾讯科技",
"company_name": "深圳市腾讯计算机系统有限公司",
"entity_id": "--sibrLosochoW1w",
"logo_url": "https://img.xiaodaobang.com/static/company/logo/--sibrLosochoW1w.jpg",
"regist_base_name": "腾讯"
},
{
"company_abbr_name": "易搜信息",
"company_name": "济南易搜信息科技有限公司",
"entity_id": "2JdNiKetSZ_afqXv",
"logo_url": "https://img.xiaodaobang.com/static/company/logo/2JdNiKetSZ_afqXv.jpg",
"regist_base_name": "易搜"
},
{
"company_abbr_name": "讯腾智科",
"company_name": "北京讯腾智慧科技股份有限公司",
"entity_id": "6U3KLiHUBiHB4tk-",
"logo_url": "https://img.xiaodaobang.com/static/company/logo/6U3KLiHUBiHB4tk-.jpg",
"regist_base_name": "讯腾"
},
{
"company_abbr_name": "讯腾鹰巡",
"company_name": "北京讯腾鹰巡时代信息技术有限公司",
"entity_id": "oHH9qAdbtmdOa6gT",
"logo_url": "https://img.xiaodaobang.com/static/company/logo/oHH9qAdbtmdOa6gT.jpg",
"regist_base_name": "讯腾鹰巡时代"
}
]
公司实体对齐
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
entity_id |
公司实体ID | 公司实体ID | String |
company_name |
公司全名 | 公司注册全名 | String |
regist_base_name |
公司基础名 | 公司注册全名中的基础名 | String |
regist_industry |
公司基础行业 | 公司注册全名中的基础行业 | Array[String] |
regist_location |
公司基础城市 | 公司注册全名中的基础城市 | String |
regist_company_type |
公司基础类型 | 公司注册全名中的基础类型 | String |
company_abbr_name |
公司简称 | 公司简称 | String |
country |
所在国家 | 公司所在国家 | String |
city |
所在城市 | 公司所在城市 | String |
investment_category |
公司资本类型 | 公司资本类型 | String |
company_type |
公司类型 | 公司类型 | String |
founded_date |
成立时间 | 公司成立时间 | String |
industry |
所属行业 | 公司所属行业 | String |
sub_industry |
所属子行业 | 公司所属子行业 | String |
company_stage |
公司阶段 | 公司当前阶段 | String |
logo_url |
公司logo | 公司logo | String |
general_tags |
公司标签列表 | 公司标签列表 | Array[String] |
description |
公司介绍 | 公司介绍 | String |
样本示例
"company": {
"entity_id": "HRhC5_2K3zCcNe3_",
"company_name": "百度(中国)有限公司",
"regist_base_name": "百度",
"regist_industry": [
"科技",
"搜索"
],
"regist_location": "北京",
"regist_company_type": "有限公司",
"company_abbr_name": "百度",
"country": "中国",
"city": "北京",
"investment_category": "国内",
"company_type": "民企",
"founded_date": "2000",
"industry": "商业服务",
"sub_industry": "B2D开发者服务",
"company_stage": "已上市",
"logo_url": "https://img.xiaodaobang.com/static/company/logo/HRhC5_2K3zCcNe3_.jpg",
"general_tags": [
"硬件",
"科技",
"移动互联网",
"综合",
"综合视频网站",
"网络文学",
"视频",
"视频广告",
"视频网站",
"金融",
"阅读",
"风投"
],
"description": "百度,全球最大的中文搜索引擎、最大的中文网站。2000年1月创立于北京中关村。 1999年底,身在美国硅谷的李彦宏看到了中国互联网及中文搜索引擎服务的巨大发展潜力,抱着技术改变世界的梦想,他毅然辞掉硅谷的高薪工作,携搜索引擎专利技术,于2000年1月1日在中关村创建了百度公司。从最初的不足10人发展至今,员工人数超过17000人。如今的百度,已成为中国最受欢迎、影响力最大的中文网站。百度拥有数千名研发工程师,这是中国乃至全球最为优秀的技术团队,这支队伍掌握着世界上最为先进的搜索引擎技术,使百度成为中国掌握世界尖端科学核心技术的中国高科技企业,也使中国成为美国、俄罗斯、和韩国之外,全球仅有的4个拥有搜索引擎核心技术的国家之一。 从创立之初,百度便将“让人们最便捷地获取信息,找到所求”作为自己的使命,成立以来,公司秉承“以用户为导向”的理念,不断坚持技术创新,致力于为用户提供“简单,可依赖”的互联网搜索产品及服务,其中包括:以网络搜索为主的功能性搜索,以贴吧为主的社区搜索,针对各区域、行业所需的垂直搜索,Mp3搜索,以及门户频道、IM等,全面覆盖了中文网络世界所有的搜索需求,根据第三方权威数据,百度在中国的搜索份额超过80%。 在面对用户的搜索产品不断丰富的同时,百度还创新性地推出了基于搜索的营销推广服务,并成为最受企业青睐的互联网营销推广平台。目前,中国已有数十万家企业使用了百度的搜索推广服务,不断提升着企业自身的品牌及运营效率。通过持续的商业模式创新,百度正进一步带动整个互联网行业和中小企业的经济增长,推动社会经济的发展和转型。 为推动中国数百万中小网站的发展,百度借助超大流量的平台优势,联合所有优质的各类网站,建立了世界上最大的网络联盟,使各类企业的搜索推广、品牌营销的价值、覆盖面均大面积提升。与此同时,各网站也在联盟大家庭的互助下,获得最大的生存与发展机会。作为国内的一家知名企业,百度也一直秉承“弥合信息鸿沟,共享知识社会”的责任理念,坚持履行企业公民的社会责任。成立来,百度利用自身优势积极投身公益事业,先后投入巨大资源,为盲人、少儿、老年人群体打造专门的搜索产品,解决了特殊群体上网难问题,极大地弥补了社会信息鸿沟问题。此外,在加速推动中国信息化进程、净化网络环境、搜索引擎教育及提升大学生就业率等方面,百度也一直走在行业领先的地位。2011年初,百度还特别成立了百度基金会,围绕知识教育、环境保护、灾难救助等领域,更加系统规范地管理和践行公益事业。 2005年,百度在美国纳斯达克上市,一举打破首日涨幅最高等多项纪录,并成为首家进入纳斯达克成分股的中国公司。通过数年来的市场表现,百度优异的业绩与值得依赖的回报,使之成为中国企业价值的代表,傲然屹立于全球资本市场。2009年,百度更是推出全新的框计算技术概念,并基于此理念推出百度开放平台,帮助更多优秀的第三方开发者利用互联网平台自主创新、自主创业,在大幅提升网民互联网使用体验的同时,带动起围绕用户需求进行研发的产业创新热潮,对中国互联网产业的升级和发展产生巨大的拉动效应。 今天,百度已经成为中国最具价值的品牌之一,英国《金融时报》将百度列为“中国十大世界级品牌”,成为这个榜单中最年轻的一家公司,也是唯一一家互联网公司。而“亚洲最受尊敬企业”、“全球最具创新力企业”、“中国互联网力量之星”等一系列荣誉称号的获得,也无一不向外界展示着百度成立数年来的成就。 多年来,百度董事长兼CEO李彦宏,率领百度人所形成的“简单可依赖”的核心文化,深深地植根于百度。这是一个充满朝气、求实坦诚的公司,以搜索改变生活,推动人类的文明与进步,促进中国经济的发展为己任,正朝着更为远大的目标而迈进。",
}
公司详情
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
entity_id |
公司实体ID | 公司实体ID | String |
company_name |
公司全名 | 公司注册全名 | String |
regist_base_name |
公司基础名 | 公司注册全名中的基础名 | String |
regist_industry |
公司基础行业 | 公司注册全名中的基础行业 | Array[String] |
regist_location |
公司基础城市 | 公司注册全名中的基础城市 | String |
regist_company_type |
公司基础类型 | 公司注册全名中的基础类型 | String |
company_abbr_name |
公司简称 | 公司简称 | String |
company_abbr_names |
公司简称列表 | 公司简称列表 | Array[String] |
company_alias |
公司别名列表 | 公司别名列表 | Array[String] |
company_name_eng |
公司英文名 | 公司英文名 | String |
country |
所在国家 | 公司所在国家 | String |
city |
所在城市 | 公司所在城市 | String |
investment_category |
公司资本类型 | 公司资本类型 | String |
company_size_upper |
公司规模(最大) | 公司大小(最大) | Int |
company_size_lower |
公司规模(最小) | 公司大小(最大) | Int |
company_type |
公司类型 | 公司类型 | String |
founded_date |
成立时间 | 公司成立时间 | String |
industry |
所属行业 | 公司所属行业 | String |
industry_id |
所属行业ID | 公司所属行业ID | Int |
sub_industry |
所属子行业 | 公司所属子行业 | String |
company_stage |
公司阶段 | 公司当前阶段 | String |
logo_url |
公司logo | 公司logo | String |
general_tags |
公司标签列表 | 公司标签列表 | Array[String] |
important_tags |
优先公司标签列表 | 优先公司标签列表 | Array[String] |
description |
公司介绍 | 公司介绍 | String |
company_url |
公司官网 | 公司官网链接 | String |
products |
公司产品列表 | 公司产品列表 | Array[String] |
updated_time |
更新时间 | 数据最后更新时间 | String |
events |
公司事件 | 公司事件信息 | Array[Object] |
events.date |
公司事件时间 | 公司事件时间 | Object |
events.date.event_date |
时间日期 | String | |
events.date.event_year |
事件年份 | String | |
events.date.event_month |
事件月份 | String | |
events.date.event_day |
事件日 | String | |
events.meta |
公司事件内容 | 公司事件内容信息 | Object |
events.meta.event_name |
事件名称 | String | |
events.meta.event_url |
事件名称 | String | |
events.meta.finance_stage |
融资阶段 | String | |
events.meta.investment_amount |
投资金额 | String | |
events.meta.partner |
事件对象 | String | |
events.meta.event_type |
事件类型 | String | |
people |
公司高管 | 公司高管信息 | Array[Object] |
people.name |
公司高管姓名 | String | |
people.personal_profile |
公司高管经历 | String | |
people.title |
公司高管职位 | String |
样本示例
"company": {
"city": "北京",
"company_abbr_name": "美团",
"company_abbr_names": [
"三快科技"
],
"company_alias": [
"美团点评",
"北京三快科技有限公司",
"beijing science and technology co.,three fast",
"美团"
],
"company_name": "北京三快科技有限公司",
"company_name_eng": "Beijing Science And Technology Co.,Three Fast",
"company_size_lower": 1000,
"company_size_upper": 9999,
"company_stage": "已上市",
"company_type": "民企",
"company_url": "http://sh.meituan.com",
"country": "中国",
"description": "美团的使命是“帮大家吃得更好,生活更好”。公司作为生活服务电子商务平台,拥有美团、大众点评、美团外卖等消费者熟知的App,服务涵盖餐饮、外卖、打车、共享单车、酒店旅游、电影、休闲娱乐等200多个品类,业务覆盖全国2800个县区市。截至2020年6月30日止十二个月,美团年度交易用户总数达4.6亿,平台活跃商户总数达630万。 \n2018年9月20日,美团(股票代码:3690.HK)正式在港交所挂牌上市。 截至2020年10月19日,市值超过1900亿美元,位列中国上市互联网公司第3名,全球第8名。\n当前,美团战略聚焦 Food +Platform,正以“吃”为核心,建设生活服务业从需求侧到供给侧的多层次科技服务平台。与此同时,美团正着力将自己建设成为一家社会企业,希望通过和党政部门、高校及研究院所、主流媒体、公益组织、生态伙伴等的深入合作,构建智慧城市,共创美好生活。",
"entity_id": "brand_P5uIfx4csuAQ4ocV",
"events": [
{
"date": {
"event_date": "2018-09-20",
"event_day": "20",
"event_month": "09",
"event_year": "2018"
},
"meta": {
"event_name": "",
"event_url": "",
"finance_stage": "IPO",
"investment_amount": "331.39亿港元",
"partner": "",
"event_type": "上市"
}
},
{
"date": {
"event_date": "2018-09-01",
"event_day": "01",
"event_month": "09",
"event_year": "2018"
},
"meta": {
"event_name": "",
"event_url": "",
"finance_stage": "PRE-IPO",
"investment_amount": "15亿美元",
"partner": "加华资本,中国国有企业结构调整基金,腾讯产业共赢基金",
"event_type": "融资"
}
},
{
"date": {
"event_date": "2017-10-19",
"event_day": "19",
"event_month": "10",
"event_year": "2017"
},
"meta": {
"event_name": "",
"event_url": "",
"finance_stage": "战略融资",
"investment_amount": "40亿美元",
"partner": "腾讯产业共赢基金,Coatue Management,Sequoia Capital,挚信资本,GIC新加坡政府投资公司",
"event_type": "融资"
}
},
{
"date": {
"event_date": "2016-07-18",
"event_day": "18",
"event_month": "07",
"event_year": "2016"
},
"meta": {
"event_name": "",
"event_url": "",
"finance_stage": "战略融资",
"investment_amount": "",
"partner": "华润资本",
"event_type": "融资"
}
},
{
"date": {
"event_date": "2016-01-19",
"event_day": "19",
"event_month": "01",
"event_year": "2016"
},
"meta": {
"event_name": "",
"event_url": "",
"finance_stage": "E轮",
"investment_amount": "33亿美元",
"partner": "中金公司,红杉资本中国,今日资本,腾讯产业共赢基金,DST Global,高达投资,Temasek淡马锡,挚信资本,高瓴资本,Ontario Teachers",
"event_type": "融资"
}
},
{
"date": {
"event_date": "2014-12-22",
"event_day": "22",
"event_month": "12",
"event_year": "2014"
},
"meta": {
"event_name": "",
"event_url": "",
"finance_stage": "D轮",
"investment_amount": "7亿美元",
"partner": "",
"event_type": "融资"
}
},
{
"date": {
"event_date": "2014-05-01",
"event_day": "01",
"event_month": "05",
"event_year": "2014"
},
"meta": {
"event_name": "",
"event_url": "",
"finance_stage": "C轮",
"investment_amount": "3亿美元",
"partner": "红杉资本中国,阿里巴巴,General Atlantic泛大西洋投资",
"event_type": "融资"
}
},
{
"date": {
"event_date": "2011-07-01",
"event_day": "01",
"event_month": "07",
"event_year": "2011"
},
"meta": {
"event_name": "",
"event_url": "",
"finance_stage": "B轮",
"investment_amount": "5000万美元",
"partner": "红杉资本中国,北极光创投,阿里巴巴,华登国际",
"event_type": "融资"
}
},
{
"date": {
"event_date": "2010-09-30",
"event_day": "30",
"event_month": "09",
"event_year": "2010"
},
"meta": {
"event_name": "",
"event_url": "",
"finance_stage": "A轮",
"investment_amount": "1200万美元",
"partner": "红杉资本中国",
"event_type": "融资"
}
},
{
"date": {
"event_date": "2010-03-01",
"event_day": "01",
"event_month": "03",
"event_year": "2010"
},
"meta": {
"event_name": "",
"event_url": "",
"finance_stage": "",
"investment_amount": "",
"partner": "源码资本,方正和生投资,和玉资本,盘古创富",
"event_type": "融资"
}
}
],
"founded_date": "2007-4-10",
"general_tags": [
"b2c",
"china_internet_100",
"good_company",
"internet",
"ktv",
"o2o",
"中小微企业贷",
"互联网",
"互联网_100_2017",
"产业",
"产业基金",
"人力",
"企业",
"企业服务",
"众包",
"优惠",
"便利店",
"借贷融资",
"其他服务业",
"其他生活服务",
"创业",
"协会",
"商家",
"团购",
"团队优秀",
"图谱",
"基础设施",
"外卖",
"外卖订餐",
"外卖配送",
"大数据",
"婚庆服务",
"媒体",
"居民服务业",
"工具类",
"平台",
"开发工具",
"快捷",
"批发零售",
"折扣",
"拍照",
"指数",
"支付",
"支付终端",
"数据服务",
"数据管理平台",
"数据采集",
"文娱传媒",
"新零售",
"旅行",
"智能",
"智能pos机",
"服务",
"本地生活",
"本地生活服务",
"消费",
"消费升级",
"消费生活",
"消费者服务",
"港股",
"点评",
"物流运输",
"生活服务",
"生鲜",
"电子商务",
"电影",
"电影票务",
"社区",
"社区服务",
"社区论坛",
"科技",
"移动互联网",
"移动支付",
"系统",
"线上",
"综合性生活服务",
"综合性电商",
"综合零售",
"美业",
"美元",
"美食",
"美食外卖",
"订餐",
"返利",
"返现",
"连锁",
"配送",
"配送服务",
"酒店旅游",
"金融",
"零售",
"零售业",
"风投",
"餐饮",
"餐饮o2o服务",
"餐饮业",
"餐饮服务"
],
"important_tags": [
"2017中国互联网前100强"
],
"industry": "互联网",
"industry_id": 330,
"investment_category": "国内",
"logo_url": "https://img.xiaodaobang.com/static/company/logo/brand_P5uIfx4csuAQ4ocV.png",
"people": [
{
"name": "王兴",
"personal_profile": "毕业于清华大学,曾创业立校内网,后被千橡集团收购;创办饭否网、美团网。人人网(原校内网)创始人,饭否网总裁,美团网创始人、原CEO。\n1997年,从龙岩一中保送到清华大学电子工程系无线电专业,2001年毕业于清华大学。\n2003年,放弃美国学业回国创立校内网,2006年被千橡集团收购。\n2007年,创办饭否网。\n2010年,创办团购网站美团网。\n2014年,王兴入围2014年度华人经济领袖。\n2015年10月8日,美团网和大众点评网合并。\n2015年,王兴在财富中文版40岁以下商界精英榜中排名第三。\n2015年11月10日,大众点评官网宣布人事调整,王兴出任大众点评、美团合并后新公司的CEO。\n2016年1月,王兴入围2015中国十大经济年度人物奖。",
"title": "CEO"
},
{
"name": "王慧文",
"personal_profile": "王慧文,美团网联合创始人兼副总裁、前人人网联合创始人、来电网创始人、淘房网创始人。王慧文与王兴从两人2004年创办的第一个项目开始,王慧文就跟随着王兴,从校内、饭否、海内、到如今的美团,是王兴创业以来最忠实的伙伴。\n2011年,放弃淘房网,重新回到王兴麾下,加入美团网担任副总裁职务,负责美团网的市场和产品相关工作。",
"title": "联合创始人&CTO&高级副总裁"
},
{
"name": "穆荣均",
"personal_profile": "美团的联合创始人兼CTO。负责美团点评的金融服务及公司事务。穆荣均在互联网行业拥有超过10年的管理及经营经验。在共同创办本公司之前,穆先生曾于2005年7月至2007年5月在中国领先的互联网搜索提供商百度公司(纳斯达克代码BIDU)担任高级软件工程师及项目经理。穆荣均亦是专门从事迷你博客的社交媒体公司饭否网(fanfou.com)的联合创始人并于2007年5月至2009年7月担任该公司技术总监。穆荣均于2002年7月获清华大学自动化工程学士学位,并于2005年7月获清华大学计算机科学与技术硕士学位。",
"title": "联合创始人&高级副总裁&CPO"
},
{
"name": "邵珠庆",
"personal_profile": "7年互联网行业开发经验;原美团高级技术职位;原酷讯高级技术职位。",
"title": "CTO"
},
{
"name": "沈丽",
"personal_profile": "沈丽曾负责百度LBS业务,于2014年9月加入美团,出任高级副总裁。加入美团后沈丽深得王兴赏识,此后不久就负责猫眼电影的全面工作。",
"title": "高级副总裁"
},
{
"name": "夏飞侨",
"personal_profile": "夏飞侨,美团点评副总裁。",
"title": "副总裁"
},
{
"name": "郭庆",
"personal_profile": "郭庆,美团网副总裁&旅行住宿事业部总经理。",
"title": "副总裁"
},
{
"name": "陈亮",
"personal_profile": "陈亮曾经负责美团移动端,随后成为美团酒店负责人。",
"title": "高级副总裁"
},
{
"name": "王莆中",
"personal_profile": "王莆中,美团点评高级副总裁,负责美团闪购,之前负责外卖配送。",
"title": "高级副总裁"
},
{
"name": "陈旭东",
"personal_profile": "陈旭东,美团点评高级副总裁,负责大零售事业群B2B事业部。毕业于北京大学,同时拥有中欧国际工商学院EMBA,曾先后担任联想集团高级副总裁、中国区总裁、中国及亚太新兴市场总裁、神奇工场CEO、联想移动业务集团总裁及摩托罗拉管理委员会主席等职务。同时,陈旭东还曾担任三胞集团全球执行副总裁,分管全球3C零售和新奇特业务,在零售领域拥有丰富管理经验。",
"title": "高级副总裁"
}
],
"products": [
"美团闪购",
"美团智能支付",
"美团外卖",
"美团",
"美团拍店",
"猫眼电影",
"松鼠便利",
"美团小贷"
],
"regist_base_name": "美团",
"regist_company_type": "有限公司",
"regist_industry": [
"科技"
],
"regist_location": "北京",
"sub_industry": "本地生活",
"updated_time": "2021-03-22 11:34:45"
}
公司统计
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
entity_id |
公司实体ID | 公司实体ID | String |
company_name |
公司全名 | 公司注册全名 | String |
regist_base_name |
公司基础名 | 公司注册全名中的基础名 | String |
company_abbr_name |
公司简称 | 公司简称 | String |
logo_url |
公司logo | 公司logo | String |
degree_stat |
学历统计 | 公司员工学历统计 | Array[Object] |
school_stat |
学校统计 | 公司员工毕业学校统计 | Array[Object] |
from_company_stat |
跳槽来源统计 | 公司员工跳槽来源统计 | Array[Object] |
to_company_stat |
跳槽去向统计 | 公司员工跳槽来源统计 | Array[Object] |
salary_stat |
薪水统计 | 公司员工薪水统计 | Object |
salary_stat.average |
平均薪水 | 公司员工平均薪水 | Int |
salary_stat.compare |
薪水对比 | 薪水对比(城市、行业)统计 | Array[Object] |
salary_stat.salary |
薪水分布 | 薪水分布统计 | Array[Object] |
样本示例
"stats": {
"entity_id": "--sibrLosochoW1w",
"company_name": "深圳市腾讯计算机系统有限公司",
"regist_base_name": "腾讯",
"company_abbr_name": "腾讯科技",
"logo_url": "https://img.xiaodaobang.com/static/company/logo/--sibrLosochoW1w.jpg",
"degree_stat": [
{
"degree": "本科",
"percent": 63.88851952341449
},
{
"degree": "大专及以下",
"percent": 14.30900637662201
},
{
"degree": "硕士",
"percent": 21.230169036301
},
{
"degree": "博士及以上",
"percent": 0.5723050636624955
}
],
"school_stat": [
{
"logo_id": 347,
"logo_url": "https://img.xiaodaobang.com/static/company_ext/logo/深圳大学.jpg",
"name": "深圳大学",
"percent": 11.476039006279821
},
{
"logo_id": 281,
"logo_url": "https://img.xiaodaobang.com/static/company_ext/logo/华中科技大学.jpg",
"name": "华中科技大学",
"percent": 9.259574343535872
},
{
"logo_id": 303,
"logo_url": "https://img.xiaodaobang.com/static/company_ext/logo/中山大学.jpg",
"name": "中山大学",
"percent": 7.5277075733079775
},
{
"logo_id": 299,
"logo_url": "https://img.xiaodaobang.com/static/company_ext/logo/电子科技大学.jpg",
"name": "电子科技大学",
"percent": 7.278146088076193
},
{
"logo_id": 295,
"logo_url": "https://img.xiaodaobang.com/static/company_ext/logo/武汉大学.jpg",
"name": "武汉大学",
"percent": 7.352537248934878
},
{
"logo_id": 304,
"logo_url": "https://img.xiaodaobang.com/static/company_ext/logo/华南理工大学.jpg",
"name": "华南理工大学",
"percent": 5.971253230765002
}
],
"from_company_stat": [
{
"logo_url": "https://img.xiaodaobang.com/static/company_ext/logo/5ceba65f28b68d0d154cd793.jpg",
"name": "华为技术有限公司",
"percent": 18.250403884210368
},
{
"logo_url": "https://img.xiaodaobang.com/static/company_ext/logo/5ceba65f28b68d0d154cd7a2.jpg",
"name": "北京百度网讯科技有限公司",
"percent": 11.03025125028143
},
{
"logo_url": "https://img.xiaodaobang.com/static/company_ext/logo/5ceba65f28b68d0d154cd798.jpg",
"name": "阿里巴巴(中国)网络技术有限公司",
"percent": 9.834360719519724
},
{
"logo_url": "https://img.xiaodaobang.com/static/company_ext/logo/5ceba65c28b68d0d154c5334.jpg",
"name": "新浪网技术(中国)有限公司",
"percent": 7.2024331300188775
},
{
"logo_url": "https://img.xiaodaobang.com/static/company_ext/logo/5ceba65f28b68d0d154cd70d.jpg",
"name": "北京搜狐互联网信息服务有限公司",
"percent": 7.1868925810884114
},
{
"logo_url": "https://img.xiaodaobang.com/static/company_ext/logo/5ceba65e28b68d0d154caf80.jpg",
"name": "微软(中国)有限公司",
"percent": 4.820104810373373
}
],
"to_company_stat": [
{
"logo_url": "https://img.xiaodaobang.com/static/company_ext/logo/5ceba65f28b68d0d154cd790.jpg",
"name": "北京京东世纪贸易有限公司",
"percent": 14.323192757058232
},
{
"logo_url": "https://img.xiaodaobang.com/static/company_ext/logo/5ceba65f28b68d0d154cd7a2.jpg",
"name": "北京百度网讯科技有限公司",
"percent": 15.217287033625496
},
{
"logo_url": "https://img.xiaodaobang.com/static/company_ext/logo/5ceba65f28b68d0d154cd798.jpg",
"name": "阿里巴巴(中国)网络技术有限公司",
"percent": 13.928056868770877
},
{
"logo_url": "https://img.xiaodaobang.com/static/company_ext/logo/5ceba65f28b68d0d154cd793.jpg",
"name": "华为技术有限公司",
"percent": 7.139898621275272
}
],
"salary_stat": {
"average": 11074,
"compare": [
{
"compare_group": "city",
"percentile": 45
},
{
"compare_group": "industry",
"percentile": 38
}
],
"salary": [
{
"percent": 21.006653042214047,
"salary_range": "0-6"
},
{
"percent": 19.5100157037403,
"salary_range": "6-10"
},
{
"percent": 9.80373398905488,
"salary_range": "10-12"
},
{
"percent": 22.689452763298227,
"salary_range": "12-16"
},
{
"percent": 9.67257098221083,
"salary_range": "16-20"
},
{
"percent": 9.072082363855342,
"salary_range": "20-25"
},
{
"percent": 8.245491155626372,
"salary_range": ">25"
}
]
},
}
学校搜索
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
entity_id |
学校实体ID | 学校实体ID | String |
school_name |
学校中文名 | 学校中文名 | String |
school_abbr_name |
学校中文简称 | 学校中文简称 | String |
school_name_eng |
学校英文名 | 学校英文名 | String |
country |
所在国家 | 学校所在国家 | String |
logo_url |
学校logo | 学校logo | String |
square_logo_url |
学校正方形logo | 学校正方形logo | String |
score |
搜索分数 | 搜索分数(分数越高匹配度越高) | Double |
样本示例
"universities": [
{
"entity_id": "YzQxHRXI",
"school_name": "北京大学",
"school_abbr_name": "北大",
"country": "中国",
"school_name_eng": "Peking University",
"logo_url": "https://img.xiaodaobang.com/static/unviersity/logo/YzQxHRXI.com/uploads/school_logo/image/96/48119cab-7c8a-40cd-8f5c-548780498890"
"square_logo_url": "https://img.xiaodaobang.com/static/unviersity/square_logo/YzQxHRXI.jpg",
"score": 64.56882,
},
{
"entity_id": "OxuQvlGT",
"school_name": "北海道大学",
"school_abbr_name": "北大",
"country": "日本",
"school_name_eng": "Hokkaido University ほっかいどうだいがく",
"logo_url": null,
"square_logo_url": "https://img.xiaodaobang.com/static/unviersity/square_logo/OxuQvlGT.jpg",
"score": 56.451088,
}
]
学校自动补全
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
entity_id |
学校实体ID | 学校实体ID | String |
name |
学校简称/全称/昵称 | 学校简称/全称/昵称 | String |
root_name |
学校全称 | 学校全称 | String |
样本示例
"universities": [
{
"entity_id": "YzQxHRXI",
"name": "北大",
"root_name": "北京大学",
},
{
"entity_id": "OxuQvlGT",
"name": "北大",
"root_name": "北海道大学",
},
]
学校实体对齐
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
entity_id |
学校实体ID | 学校实体ID | String |
school_name |
学校中文名 | 学校中文名 | String |
school_abbr_name |
学校中文简称 | 学校中文简称 | String |
school_name_eng |
学校英文名 | 学校英文名 | String |
country |
所在国家 | 学校所在国家 | String |
province |
所在省 | 学校所在省 | String |
city |
所在城市 | 学校所在城市 | String |
school_focus |
学校类型 | 学校类型 | String |
school_level |
录取类型 | 录取类型(一本、二本、三本等) | String |
domestic_ranking |
国内排名 | 国内排名 | String |
global_ranking |
国际排名 | 国际排名 | String |
founded_date |
创建时间 | 创建时间 | String |
school_type |
学校形式 | 学校形式(公办/民营/私立) | String |
logo_url |
学校logo | 学校logo | String |
square_logo_url |
学校正方形logo | 学校正方形logo | String |
样本示例
"university": {
"entity_id": "YzQxHRXI",
"school_name": "北京大学",
"school_abbr_name": "北大",
"school_name_eng": "Peking University",
"country": "中国",
"province": "北京",
"city": "北京",
"school_focus": "综合",
"school_level": "一本",
"domestic_ranking": 1,
"global_ranking": 30,
"founded_date": "1898",
"school_type": "公办"
"logo_url": "https://img.xiaodaobang.com/static/unviersity/logo/YzQxHRXI.com/uploads/school_logo/image/96/48119cab-7c8a-40cd-8f5c-548780498890",
"square_logo_url": "https://img.xiaodaobang.com/static/unviersity/square_logo/YzQxHRXI.jpg",
}
学校详情
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
entity_id |
学校实体ID | 学校实体ID | String |
school_name |
学校中文名 | 学校中文名 | String |
school_abbr_name |
学校中文简称 | 学校中文简称 | String |
school_name_eng |
学校英文名 | 学校英文名 | String |
school_abbr_name_eng |
学校英文简称 | 学校英文简称 | String |
school_alias_names |
学校别名列表 | 学校别名列表 | Array[String] |
school_abbr_names |
学校简称列表 | 学校简称列表 | Array[String] |
country |
所在国家 | 学校所在国家 | String |
province |
所在省 | 学校所在省 | String |
city |
所在城市 | 学校所在城市 | String |
managed_department |
管辖机构 | 管辖机构 | String |
school_level |
录取类型 | 录取类型(一本、二本、三本等) | String |
school_url |
学校网站 | 学校网站 | String |
domestic_ranking |
国内排名 | 国内排名 | String |
global_ranking |
国际排名 | 国际排名 | String |
founded_date |
创建时间 | 创建时间 | String |
school_type |
学校形式 | 学校形式(公办/民营/私立) | String |
departments |
学院列表 | 学院列表 | Array[String] |
majors |
专业列表 | 专业列表 | Array[String] |
logo_url |
学校logo | 学校logo | String |
square_logo_url |
学校正方形logo | 学校正方形logo | String |
school_code |
学校标识码 | 学校标识码 | String |
school_focus |
学校类型 | 学校类型 | String |
description |
学校简介 | 学校简介 | String |
tags |
学校标签 | 学校标签 | Array[String] |
样本示例
"university": {
"entity_id": "YzQxHRXI",
"school_name": "北京大学",
"school_abbr_name": "北大",
"school_name_eng": "Peking University",
"school_abbr_name_eng": "pku",
"school_alias_names": [
"peking university",
"北京大学法学院",
"北京大学光华管理学院",
"北京大学",
"guanghua school of management,peking university",
"北大法学院",
"北大",
"pku",
"北大光华管理学院",
"peking university law school",
"光华"
],
"school_abbr_names": [
"BEIDA",
"北大光华",
"北大法学院",
"PKU",
"北大",
"光华管理学院",
"光华"
],
"country": "中国",
"province": "北京",
"city": "北京",
"managed_department": "中华人民共和国教育部",
"school_level": "一本",
"school_url": "http://www.pku.edu.cn",
"domestic_ranking": 1,
"global_ranking": 30,
"founded_date": "1898",
"school_type": "公办",
"departments": [
"心理与认知科学学院",
"人文学部",
"考古文博学院",
"新闻与传播学院",
"元培学院",
"海洋研究院",
"核科学与技术研究院",
"地球与空间科学学院",
"公共卫生学院",
"前沿交叉学科研究院",
"国际法学院",
"信息工程学院",
"信息管理系",
"工学院",
"对外汉语教育学院",
"新媒体研究院",
"经济学院",
"理学部",
"汇丰商学院",
"艺术学院",
"数学科学学院",
"软件与微电子学院",
"基础医学院",
"医学网络教育学院",
"历史学系",
"城市与环境学院",
"医学人文研究院/公共教学部",
"医学部",
"深圳研究生院",
"法学院",
"城市规划与设计学院",
"信息与工程科学部",
"马克思主义学院",
"宗教学系",
"化学生物学与生物技术学院",
"物理学院",
"外国语学院",
"政府管理学院",
"环境与能源学院",
"光华管理学院",
"化学与分子工程学院",
"新材料学院",
"建筑与景观设计学院",
"药学院",
"社会学系",
"歌剧研究院",
"心理学系",
"体育教研部",
"国际关系学院",
"信息科学技术学院",
"生命科学学院",
"社会科学部",
"人文社会科学学院",
"先进技术研究院",
"国家发展研究院",
"护理学院",
"环境科学与工程学院",
"中国语言文学系",
"哲学系"
],
"majors": [
"德语",
"应用统计学",
"数学",
"眼科学",
"法语",
"城市管理",
"皮肤病与性病学",
"数学与应用数学",
"计算机科学与技术",
"免疫学",
"世界史",
"病理学与病理生理学",
"口腔医学",
"马克思主义理论",
"宗教学",
"艺术史论",
"工科试验班类",
"行政管理",
"社会工作",
"哲学",
"大气科学",
"教育经济与管理",
"缅甸语",
"国际政治",
"材料化学",
"材料科学与工程",
"精神病与精神卫生学",
"核物理",
"城乡规划",
"会计学",
"矿物学、岩石学、矿床学",
"运动医学",
"戏剧影视文学",
"新闻学",
"日语",
"越南语",
"波斯语",
"企业管理",
"生物学",
"财政学",
"外交学",
"统计学",
"智能科学与技术",
"应用化学",
"人文地理与城乡规划",
"妇产科学",
"亚非语言文学",
"大气与海洋科学",
"印度语言文学",
"经济学",
"泰语",
"信息管理与信息系统",
"人类学",
"构造地质学",
"法学",
"应用语言学",
"生物医学工程",
"文化产业管理",
"天文学",
"空间科学与技术",
"汉语言文学",
"理论经济学",
"乌尔都语",
"心理学",
"电子信息科学与技术",
"数据科学与大数据技术",
"化学生物学",
"生物技术",
"金融学",
"工程力学",
"机器人工程",
"信息与计算科学",
"俄语",
"流行病与卫生统计学",
"物理学",
"印度尼西亚语",
"文物保护技术",
"政治学与行政学",
"菲律宾语",
"航空航天工程",
"资源与环境经济学",
"英语语言文学",
"葡萄牙语",
"国际经济与贸易",
"广告学",
"考古学",
"汉语言",
"地理学",
"儿少卫生与妇幼保健学",
"核技术及应用",
"外科学(骨外,泌尿外)",
"印地语",
"保险学",
"广播电视学",
"西班牙语",
"希伯来语",
"地球化学",
"市场营销",
"化学",
"古典文献学",
"历史学",
"电子科学与技术",
"编辑出版学",
"内科学(肾病,心血管病,血液病)",
"朝鲜语",
"生物科学",
"肿瘤学",
"中国语言文学类",
"基础心理学",
"国民经济学",
"图书馆学",
"梵语巴利语",
"文物与博物馆学",
"英语",
"地理信息科学",
"蒙古语",
"微电子科学与工程",
"政治学",
"工商管理",
"地质学",
"环境工程",
"阿拉伯语",
"通信与信息系统",
"理论与应用力学",
"生态学",
"药学",
"社会学",
"自然地理与资源环境",
"地球物理学",
"应用心理学",
"天体物理",
"力学",
"环境科学",
"中国语言文学",
"固体地球物理学",
"儿科学"
],
"logo_url": "https://img.xiaodaobang.com/static/unviersity/logo/YzQxHRXI.com/uploads/school_logo/image/96/48119cab-7c8a-40cd-8f5c-548780498890",
"square_logo_url": "https://img.xiaodaobang.com/static/unviersity/square_logo/YzQxHRXI.jpg",
"school_code": "4111010001",
"school_focus": "综合",
"description": "北京大学(peking university)简称“北大”,诞生于1898年,初名京师大学堂,是中国近代第一所国立大学,也是最早以“大学”之名创办的学校,其成立标志着中国近代高等教育的开端。北大是中国近代以来唯一以国家最高学府身份创立的学校,最初也是国家最高教育行政机关,行使教育部职能,统管全国教育。北大催生了中国最早的现代学制,开创了中国最早的文科、理科、社科、农科、医科等大学学科,是近代以来中国高等教育的奠基者。1912年5月3日,京师大学堂改称北京大学校,严复为首任校长。1917年,蔡元培出任校长,“循思想自由原则、取兼容并包之义”,把北大办成全国学术和思想中心,使北大成为新文化运动中心、五四运动策源地。1937年抗日战争爆发,北大与清华大学、南开大学南迁长沙,组成国立长沙临时大学。不久迁往昆明,改称国立西南联合大学。1946年10月在北平复学。北大由教育部直属,中央直管副部级建制,是国家双一流、211工程、985工程、2011计划重点建设的全国重点大学,九校联盟、中国大学校长联谊会、京港大学联盟、亚洲大学联盟、东亚研究型大学协会、国际研究型大学联盟、环太平洋大学联盟、东亚四大学论坛、国际公立大学论坛、中俄综合性大学联盟重要成员。北大始终与国家民族的命运紧密相连,聚集了许多学者专家,培养了众多优秀人才,创造了大批重大科学成果,影响和推动了中国近现代思想理论、科学技术、文化教育和社会发展的进程。",
"tags": [
"211",
"985",
"双一流",
"一流大学建设高校A类"
]
}
专业自动补全
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
name_eng |
专业英文名 | 专业英文名 | String |
name |
专业名 | 专业名 | String |
entity_id |
专业实体ID | 专业实体ID | String |
样本示例
"majors": [
{
"name_eng": null,
"name": "商务",
"entity_id": "SNqvohpt"
},
{
"name_eng": null,
"name": "商务谈判",
"entity_id": "PyRUi7RZ"
},
{
"name_eng": "Business English",
"name": "商务英语",
"entity_id": "PdkC3hQs"
},
{
"name_eng": null,
"name": "国际商务酒店",
"entity_id": "9dMFlFu8"
}
]
学院自动补全
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
name |
学院名 | 学院名 | String |
entity_id |
学院实体ID | 学院实体ID | String |
样本示例
"colleges": [
{
"name": "数学系",
"entity_id": "bKe868jM"
},
{
"name": "数学与应用数学系",
"entity_id": "lVN2Uicu"
},
{
"name": "数学院",
"entity_id": "cG-roBl9"
},
{
"name": "数学学部",
"entity_id": "IjNowPXd"
}
]
职位名自动补全
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
name |
职位名 | 职位名 | String |
entity_id |
职位名实体ID | 职位名实体ID | String |
样本示例
"job_titles": [
{
"name": "商务",
"entity_id": "ZpZ5DvlX"
},
{
"name": "bd商务",
"entity_id": "VAVDNTXC"
},
{
"name": "商务bd",
"entity_id": "HS593TWo"
},
{
"name": "商务采购",
"entity_id": "uuKV4xUS"
}
]
技能自动补全
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
name |
技能名 | 技能名 | String |
subclass |
技能大类 | 技能大类 | String |
entity_id |
技能实体ID | 技能实体ID | String |
样本示例
"skills": [
{
"name": "python",
"subclass": "后端",
"entity_id": "NbQ5n5ml"
},
{
"name": "Django",
"subclass": "后端",
"entity_id": "ILyz6GIq"
},
{
"name": "python软件开发",
"subclass": "后端",
"entity_id": "h7IPnHgl"
},
{
"name": "python框架",
"subclass": "后端",
"entity_id": "j87PWXkB"
}
]
知识图谱链接实体
变量名 | 变量含义 | 备注 | 字段类型 |
---|---|---|---|
entity.entity_id |
实体ID | 实体ID | String |
entity.entity_name |
实体名称 | 相似实体的名称 | String |
entity.entity_type |
实体类型 | 相似实体的类型 | String |
score |
相似度分数 | 分数范围 0-1,越高说明连接越紧密 | Double |
样本示例
最优候选人变量名为 entities
,变量类型为 array[object]
"entities":
[
{
"score": 0.6553673,
"entity": {
"entity_id": "zqGcbQWyquA",
"entity_type": "skill",
"entity_name": "LSTM"
}
},
{
"score": 0.653783,
"entity": {
"entity_id": "b6fUzA-3Ars",
"entity_type": "skill",
"entity_name": "Tensorflow"
}
},
{
"score": 0.642938,
"entity": {
"entity_id": "G7i5532UTFQ",
"entity_type": "skill",
"entity_name": "深度学习"
}
}
]
样本代码
请联系校导帮客服获取测试接口账户以及代码。试用时请替换代码中的
-
your_client_id
-
your_client_secret
为您的ID以及密匙信息。
Python2
此代码需要安装 pip install requests
。
公司搜索
# python2.x or python3.x
# __ coding:utf-8 __
# coding=utf8
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
import requests
import json
# 注:需要安装requests模块
def main():
name = "抖音" #请替换为您要搜索的名称
print(search_company(name))
def search_company(name):
headers = {
'id': 'your_client_id', #替换为您的ID
'secret': 'your_client_secret' #替换为您的密匙
}
url = "http://api.xiaodaobang.com/v1/kg/suggester/companies?keyword={}".format(name)
result = requests.get(url, timeout=60, verify=False, headers=headers)
print(json.dumps(result.json(), indent=4, ensure_ascii=False))
if __name__ == "__main__":
main()
公司实体对齐
import requests
import json
# 注:需要安装requests模块
def main():
name = "抖音" #请替换为您要搜索的名称
print(augment_company(name))
def augment_company(name):
headers = {
'id': 'your_client_id', #替换为您的ID
'secret': 'your_client_secret' #替换为您的密匙
}
url = "http://api.xiaodaobang.com/v1/kg/augment/company?keyword={}".format(name)
result = requests.get(url, timeout=60, verify=False, headers=headers)
print(json.dumps(result.json(), indent=4, ensure_ascii=False))
if __name__ == "__main__":
main()
相同类别实体相似查询
import requests
import json
# 注:需要安装requests模块
def main():
name = "神经网络" #请替换为您要搜索的名称
print(json.dumps(get_similar_entity(name).json(), indent=4, ensure_ascii=False))
def get_similar_entity(name, src_entity_type="", limit=10):
url = "http://api.xiaodaobang.com/v1/kg/edge/similar_entities/"
entity = {
"entity_name": name,
"src_entity_type": src_entity_type
}
if not src_entity_type:
del entity["src_entity_type"]
json = {
"entity": entity,
"offset": 0,
"limit": limit
}
result = requests.post(url, json=json, timeout=60, verify=False)
return result
if __name__ == "__main__":
main()
不同类别实体相似查询
import requests
import json
# 注:需要安装requests模块
def main():
name = "神经网络" #请替换为您要搜索的名称
entity_type = "job_title" #请替换为您要输出的相似实体名称
print(json.dumps(get_connect_entity(name, entity_type).json(), indent=4, ensure_ascii=False))
def get_connect_entity(name, target_entity_type, src_entity_type="", limit=5):
url = "http://api.xiaodaobang.com/v1/kg/edge/connect_entities/"
entity = {
"entity_name": name,
"target_entity_type": target_entity_type,
"src_entity_type": src_entity_type
}
if not src_entity_type:
del entity["src_entity_type"]
json = {
"entity": entity,
"offset": 0,
"limit": limit
}
result = requests.post(url, json=json, timeout=60, verify=False)
return result
if __name__ == "__main__":
main()
错误码汇总
错误码 | 错误码含义 |
---|---|
0 | 正确 |
10 | 超过总数限制(欠费) |
11 | 知识图谱服务过期 |
13 | 超过每秒钟并发限制 |
20 | secret_key错误 |
70 | 必填字段不存在 |
71 | 头字段错误 |
72 | 查询类型不支持,请阅读接口文档确认目前支持的计算类型 |
73 | 更新Index错误 |
74 | 实体ID或token错误 |