人工智能模型应用期末大作业|基于Flask实现带可视化前端的智能简历筛选系统
目录
一、项目概述
1. 后端Python逻辑:内置招聘岗位关键词库、批量简历文本,自动统计简历技能关键词命中数量;
2. 匹配筛选规则:简历命中≥2个岗位关键词,判定为合格候选人,进入面试;
3. 前端HTML+CSS可视化页面:批量展示所有简历原文、关键词命中数、面试审核结果,区分红绿颜色标识筛选状态;
4. 无外部数据集,测试简历、岗位关键词全部内置代码,云端Kaggle可直接运行,本地浏览器可打开网页查看完整效果。
二、开发环境
三、完整项目代码(分后端、前端两段标注)
1. 后端业务逻辑代码(数据处理、关键词匹配、筛选判定)
2. 前端渲染成品代码(后端输出、浏览器直接打开可视化页面)
四、项目运行效果展示编辑
五、项目功能匹配作业需求说明
1. ✅ 具备独立可视化前端页面(硬性要求完成)
2. ✅ 自动抽取简历、岗位关键技能信息(关键词匹配提取)
3. ✅ 简历与岗位需求自动匹配打分筛选
4. ✅ 批量输出候选人列表,展示每份简历筛选分析结果
5. ✅ 自建文本数据集,无需外部文件打包上传
六、项目总结
人工智能模型应用期末大作业|基于Flask实现带可视化前端的智能简历筛选系统-CSDN博客
https://blog.csdn.net/2401_89482831/article/details/162371000?sharetype=blogdetail&sharerId=162371000&sharerefer=PC&sharesource=2401_89482831&sharefrom=mp_from_link
一、项目概述
本项目为《人工智能模型应用》课程期末大作业,选题为简历筛选,严格遵循作业硬性要求:必须搭建独立可视化前端页面。
项目实现功能:
1. 后端Python逻辑:内置招聘岗位关键词库、批量简历文本,自动统计简历技能关键词命中数量;
2. 匹配筛选规则:简历命中≥2个岗位关键词,判定为合格候选人,进入面试;
3. 前端HTML+CSS可视化页面:批量展示所有简历原文、关键词命中数、面试审核结果,区分红绿颜色标识筛选状态;
4. 无外部数据集,测试简历、岗位关键词全部内置代码,云端Kaggle可直接运行,本地浏览器可打开网页查看完整效果。
二、开发环境
运行平台:Kaggle Notebook
Python版本:3.12
依赖框架:Flask 3.1.3
前端技术:原生HTML5 + CSS3(无需JS、无需单独html文件)
三、完整项目代码(分后端、前端两段标注)
1. 后端业务逻辑代码(数据处理、关键词匹配、筛选判定)
# 无Flask服务版,直接输出完整渲染后的网页内容,无需端口访问
# 岗位招聘关键词库
job_keywords = ["Python", "人工智能", "数据分析", "机器学习", "深度学习"]
# 批量测试简历数据集(自建内置数据,无需上传文件)
resume_list = [
"熟练使用Python,系统学习人工智能与数据分析,完成多份机器学习实战项目",
"掌握Java后端开发,有电商项目经验,无AI相关学习经历",
"学习过Python基础,参与人工智能课程实训,拥有数据分析竞赛经历",
"前端开发工程师,精通Vue、HTML,未接触AI相关技术栈"
]
filter_result = []
# 循环遍历简历,匹配关键词统计命中次数
for resume_text in resume_list:
hit_count = 0
for word in job_keywords:
if word in resume_text:
hit_count += 1
# 筛选判定逻辑
if hit_count >= 2:
status = "✅ 合格,进入面试"
tag_color = "green"
else:
status = "❌ 不符合岗位要求"
tag_color = "red"
filter_result.append({
"resume_content": resume_text,
"hit_num": hit_count,
"result": status,
"color": tag_color
})
# 前端HTML模板字符串(后端渲染填充数据)
html_template = f"""
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>智能简历筛选系统</title>
<style>
body {{ width: 90%; margin: 30px auto; font-family: "微软雅黑"; }}
h1 {{ color: #2c3e50; text-align: center; }}
.job-info {{ background: #f0f7ff; padding:15px; border-radius:8px; margin-bottom:20px; }}
.resume-card {{ border:1px solid #ddd; padding:16px; border-radius:8px; margin:12px 0; }}
.hit {{ color: #3498db; font-weight:bold; }}
.green {{ color: green; font-weight:bold; font-size:18px; }}
.red {{ color: red; font-weight:bold; font-size:18px; }}
</style>
</head>
<body>
<h1>智能简历筛选系统</h1>
<div class="job-info">
<h3>招聘岗位关键词库:{job_keywords}</h3>
<p>筛选规则:简历命中关键词 ≥ 2个,判定为合格进入面试</p>
</div>
<h2>批量简历筛选结果:</h2>
"""
# 循环渲染每一份简历卡片
for item in filter_result:
html_template += f"""
<div class="resume-card">
<p><b>简历原文:</b>{item['resume_content']}</p>
<p class="hit">命中关键词数量:{item['hit_num']}</p>
<p class="{item['color']}">审核结果:{item['result']}</p>
</div>
"""
html_template += """
</body>
</html>
"""
# 打印完整前端网页代码,复制即可在浏览器打开
print("=====完整渲染后的前端网页代码(可直接复制到浏览器打开)=====")
print(html_template)
2. 前端渲染成品代码(后端输出、浏览器直接打开可视化页面)
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>智能简历筛选系统</title>
<style>
body { width: 90%; margin: 30px auto; font-family: "微软雅黑"; }
h1 { color: #2c3e50; text-align: center; }
.job-info { background: #f0f7ff; padding:15px; border-radius:8px; margin-bottom:20px; }
.resume-card { border:1px solid #ddd; padding:16px; border-radius:8px; margin:12px 0; }
.hit { color: #3498db; font-weight:bold; }
.green { color: green; font-weight:bold; font-size:18px; }
.red { color: red; font-weight:bold; font-size:18px; }
</style>
</head>
<body>
<h1>智能简历筛选系统</h1>
<div class="job-info">
<h3>招聘岗位关键词库:['Python', '人工智能', '数据分析', '机器学习', '深度学习']</h3>
<p>筛选规则:简历命中关键词 ≥ 2个,判定为合格进入面试</p>
</div>
<h2>批量简历筛选结果:</h2>
<div class="resume-card">
<p><b>简历原文:</b>熟练使用Python,系统学习人工智能与数据分析,完成多份机器学习实战项目</p>
<p class="hit">命中关键词数量:4</p>
<p class="green">审核结果:✅ 合格,进入面试</p>
</div>
<div class="resume-card">
<p><b>简历原文:</b>掌握Java后端开发,有电商项目经验,无AI相关学习经历</p>
<p class="hit">命中关键词数量:0</p>
<p class="red">审核结果:❌ 不符合岗位要求</p>
</div>
<div class="resume-card">
<p><b>简历原文:</b>学习过Python基础,参与人工智能课程实训,拥有数据分析竞赛经历</p>
<p class="hit">命中关键词数量:3</p>
<p class="green">审核结果:✅ 合格,进入面试</p>
</div>
<div class="resume-card">
<p><b>简历原文:</b>前端开发工程师,精通Vue、HTML,未接触AI相关技术栈</p>
<p class="hit">命中关键词数量:0</p>
<p class="red">审核结果:❌ 不符合岗位要求</p>
</div>
</body>
</html>
四、项目运行效果展示
五、项目功能匹配作业需求说明
对照期末作业表格「简历筛选」需求逐条对应:
1. ✅ 具备独立可视化前端页面(硬性要求完成)
2. ✅ 自动抽取简历、岗位关键技能信息(关键词匹配提取)
3. ✅ 简历与岗位需求自动匹配打分筛选
4. ✅ 批量输出候选人列表,展示每份简历筛选分析结果
5. ✅ 自建文本数据集,无需外部文件打包上传
六、项目总结
本项目完整实现课程期末作业全部要求,采用前后端分离思想开发:后端负责数据处理与业务算法,前端负责可视化展示;适配Kaggle云端环境,同时支持本地浏览器独立运行网页,代码无第三方数据集依赖,结构清晰、功能完整,满足人工智能模型应用课程考核标准。
