中软杯-详细设计说明书
一、 引言
1.1 编写目的
本报告的目的是对智能创作平台进行详细设计说明,以便用户及项目开发人员了解产品详细的设计与实现。为开发人员提供开发参考书。以下叙述将结合文字描述、伪代码,图表等来描述智能创作平台的详细设计和相关的模块描述。
1.2 项目背景
项目名称:枫心智创
任务提出者:西南大学
开发者:红蜻蜓队
用户:公司,内容编辑,政府等相关用户。
1.3 定义
使用人工智能算法,生成契合文章主题内容和有吸引力的优质标题和摘要,并开发出一套智能创作WEB系统,帮助人类提升对于简历分析的效率和质量,主要涉及自然语言处理、自然语言生成、自然语言理解技术。设计程序为微信小程序 ,主要操作语言是javascript,辅助语言python
1.4 参考资料
数据提取参考:文字识别OCR (baidu.com)
shouzhong/Scanner: 二维码/条码识别、身份证识别、银行卡识别、车牌识别、图片文字识别、黄图识别、驾驶证(驾照)识别 (github.com)
界面以及线程优化参考:snooda/net-speeder: net-speeder 在高延迟不稳定链路上优化单线程下载速度 (github.com)
快速上手 - Vant Weapp (youzan.github.io)
二、 总体设计
2.1 需求概述
用户通过手动上传文档提交新闻文章至服务器进行识别,从而的到该文章的标题和摘要。
基本功能需求
基本功能一:简历信息、岗位信息录入功能,至少支持文本、PDF格式输入。
基本功能二:简历分析功能,自动提取简历中的关键信息,支持的信息维度至少包括:姓名、年龄、最高学历、毕业院校、工作年限。
基本功能三:简历信息统计和展示功能,提供简历信息的统计可视化以及单一简历的分析可视化。
基本功能四:支持DOCX、JPEG/PNG图片格式简历录入。
基本功能五:支持人才画像构建,画像标签选手可自行定义,如“工作稳定/变动频繁/人工智能/薪酬预期”等。
基本功能六:需要具备人岗匹配功能,对不同的岗位信息按不同的优先级给出求职者的排序。
非功能性需求
1.用户登录。
2.人工客户咨询
3.软件需求文档查看
4.简历分析次数购买,支付系统
5.职位薪资预测
6.人物画像
2.2 软件结构
[图片上传失败...(image-97a18e-1686902517155)]
三、模块描述
3.1 模块基本信息
名称 | 编号 | 所在文件 | 所在包 |
---|---|---|---|
主页 | 1 | /home | /pages |
分析(上传文件) | 2 | /fenxi/fenxi | /pages |
服务 | 3 | /fuwu/fuwu | /pages |
我的 | 4 | /my/my | /pages |
分析简历文件 | 5 | /jldetail/jldetail | /pages |
活动 | 6 | /huodong/huodong | /pages |
企业搜索 | 7 | /searchP/searchP | /pages |
AI/人工咨询 | 8 | /chatC/chatC | /pages |
如表1所示,说明了各个模块的基本信息,包括模块名称、编号、所在文件和所在包。
3.2 功能概述
3.2.1 登录和注册
如果是新用户,可以通过点击新用户注册进行用户的注册。之后通过输入你的邮箱,点击获取验证码,输入你邮箱获取的验证码,然后输入密码,实现用户的注册。完成用户注册之后,就能登录,进行简历分析操作。
3.2.2 分析(上传文件/分析模式)
支持上传你想要上传的任何格式,以及选择不同的分析类型,包含极速模式,普通模式以及精准模式,让你的简历分析更加完整且准确,分析结果不仅包括简历内部人员的基本信息,还包含职能分析图,能力预测图,还有AI智能分析的职位预测图等,这都根据简历实际内容自动更改。
3.2.2 分析(上传文件)
读取文档,经过数据清洗后,输入到已经训练好的模型,经过模型的计算,输出给AI进行智能解析,对于一些不好读取的内容,编写了一定的Python代码进行辅助更改
3.3 算法
3.3.1 隐马尔可夫模型HMM
隐马尔科夫模型(Hidden Markov Model,以下简称HMM)是比较经典的机器学习模型了,它在语言识别,自然语言处理,模式识别等领域得到广泛的应用。
当然,随着目前深度学习的崛起,尤其是RNN,LSTM等神经网络序列模型的火热,HMM的地位有所下降。
但是作为一个经典的模型,学习HMM的模型和对应算法,对我们解决问题建模的能力提高以及算法思路的拓展还是很好的。
3.3.2 正则表达式
正则表达式是一种用于匹配和操作文本的强大工具,它是由一系列字符和特殊字符组成的模式,用于描述要匹配的文本模式。
正则表达式可以在文本中查找、替换、提取和验证特定的模式。
3.4 简历处理逻辑
下图是新闻标题生成和新闻摘要生成模块的流程图,开始首先上传文档、数据清洗,输入到模型后生成简历分析结果和能力分析模型。
[图片上传失败...(image-3b246b-1686902517155)]
3.5 接口
3.5.1数据库接口
获取企业数据,分析简历基础
● URL:https://pacfoewk.lc-cn-n1-shared.com
● Method:GET
响应参数:
参数名 | 类型 | 描述 |
---|---|---|
appId | string | 填写数据库id |
appKey | string | 数据库密钥 |
serverURLs | string | 服务器地址 |
3.5.2 AI简历分析接口
请求示例
HTTP 方法:POST
请求URL: https://aip.baidubce.com/rest/2.0/ocr/v1/accurate_basic
URL参数:
参数 | 值 |
---|---|
access_token | 通过API Key和Secret Key获取的access_token,参考“Access Token获取” |
Header如下:
参数 | 值 |
---|---|
Content-Type | application/x-www-form-urlencoded |
Body中放置请求参数,参数详情如下:
请求参数
参数 | 是否必选 | 类型 | 可选值范围 | 说明 |
---|---|---|---|---|
image | 和 url/pdf_file/ofd_file 四选一 | string | - | 图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过10M,最短边至少15px,最长边最大8192px,支持jpg/jpeg/png/bmp格式 优先级:image > url > pdf_file,当image字段存在时,url、pdf_file字段失效 |
url | 和 image/pdf_file/ofd_file 四选一 | string | - | 图片完整url,url长度不超过1024字节,url对应的图片base64编码后大小不超过10M,最短边至少15px,最长边最大8192px,支持jpg/jpeg/png/bmp格式 优先级:image > url > pdf_file,当image字段存在时,url字段失效 请注意关闭URL防盗链 |
pdf_file | 和 image/url/ofd_file 四选一 | string | - | PDF文件,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过10M,最短边至少15px,最长边最大8192px 优先级:image > url > pdf_file,当image、url字段存在时,pdf_file字段失效 |
pdf_file_num | 否 | string | - | 需要识别的PDF文件的对应页码,当 pdf_file 参数有效时,识别传入页码的对应页面内容,若不传入,则默认识别第 1 页 |
ofd_file | 和 image/url/pdf_file 四选一 | string | - | OFD文件,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过8M,最短边至少15px,最长边最大8192px 优先级:image > url > pdf_file > ofd_file,当image、url、pdf_file字段存在时,ofd_file字段失效 |
ofd_filie_num | 否 | string | - | 需要识别的OFD文件的对应页码,当 ofd_file 参数有效时,识别传入页码的对应页面内容,若不传入,则默认识别第 1 页 |
language_type | 否 | string | auto_detect CHN_ENG ENG JAP KOR FRE SPA POR GER ITA RUS DAN DUT MAL SWE IND POL ROM TUR GRE HUN THA VIE ARA HIN | 识别语言类型,默认为CHN_ENG 可选值包括: - auto_detect:自动检测语言,并识别 - CHN_ENG:中英文混合 - ENG:英文 - JAP:日语 - KOR:韩语 - FRE:法语 - SPA:西班牙语 - POR:葡萄牙语 - GER:德语 - ITA:意大利语 - RUS:俄语 - DAN:丹麦语 - DUT:荷兰语 - MAL:马来语 - SWE:瑞典语 - IND:印尼语 - POL:波兰语 - ROM:罗马尼亚语 - TUR:土耳其语 - GRE:希腊语 - HUN:匈牙利语 - THA:泰语 - VIE:越南语 - ARA:阿拉伯语 - HIN:印地语 |
detect_direction | 否 | string | true/false | 是否检测图像朝向,默认不检测,即:false。朝向是指输入图像是正常方向、逆时针旋转90/180/270度。可选值包括: - true:检测朝向; - false:不检测朝向 |
paragraph | 否 | string | true/false | 是否输出段落信息 |
probability | 否 | string | true/false | 是否返回识别结果中每一行的置信度 |
3.5.3 AI交互接口
3.5.4 用户信息接口
用户注册
● URL:https://pacfoewk.lc-cn-n1-shared.com
● Method:GET
响应参数:
参数名 | 类型 | 描述 |
---|---|---|
appId | string | 填写数据库id |
appKey | string | 数据库密钥 |
serverURLs | string | 服务器地址 |
3.5.5 预测工资与忠诚度计算
通过对于简历提供的工作信息,以平均职位、行业、企业停留时长,使用简书上提供的公式可以计算产品运营第五篇:用户忠诚度计算模型 - 简书 (jianshu.com)
四、测试计划
模型测试部分,主要是通过不同的解码策略,对已经训练好的模型进行单个样本的标题和摘要生成。
4.1 训练数据集测试
用于评估训练数据集带来的影响,应包括下列内容:
a) 数据集均衡性:指数据集包含的各种类别的样本数量一致程度和数据集样本分布的偏差程度;
b) 数据集规模:通常用样本数量来衡量,大规模数据集通常具有更好的样本多样性;
c) 数据集标注质量:指数据集标注信息是否完备并准确无误;
d) 数据集污染情况:指数据集被人为添加的恶意数据的程度。
预期结果:训练数据集完好,且与模型精度正相关。
4.2 对抗样本测试
用于评估对抗性样本对深度学习算法的影响,应包括下列内容:
a) 白盒方式生成的样本:指目标模型已知的情况下,利用梯度下降等方式生成对抗性样本;
b) 黑盒方式生成的样本:指目标模型未知的情况下,利用一个替代模型进行模型估计,针对替代模型使用白盒方式生成对抗性样本;
c) 指定目标生成的样本:指利用已有数据集中的样本,通过指定样本的方式生成对抗性样本;
d) 不指定目标生成的样本:指利用已有数据集中的样本,通过不指定样本(或使用全部样本)的方式生成对抗性样本。
预期结果:在有对抗样本的情况下也能生成较为准确的标题和摘要