一、立项背景与目标
从"人口红利"转向"人才红利"的关键期,数字经济增速远超人才培养周期,劳动力市场出现严重结构性矛盾:企业端新兴岗位招不到合适的人,求职者端职业路径模糊、技能需求动态性强,技术端传统关键词匹配无法回答"技术A爆发会导致岗位B产生哪些新技能需求"。
核心痛点集中在三个难题:新兴岗位发现与定义、数据质量与幻觉防控、精准匹配与差距分析。
项目目标是构建一套数据驱动的智能决策系统,以岗位和能力为核心实体、以知识图谱为知识载体、以大模型为推理引擎,实现"新岗位发现、能力图谱动态更新、全景可视化、人岗匹配诊断、改进建议与学习路径"的全链路闭环。
服务对象覆盖三类:求职者获得匹配度诊断与个性化提升路径,企业HR实现岗位能力可视化与JD结构化管理,平台运营方完成多源数据治理与图谱演化追踪。
二、软件功能与核心模块
系统采用双角色权限模型,普通用户与管理员登录后导航菜单动态渲染,共九大模块。
普通用户与管理员共同开放六个模块。首页门户是品牌落地页,展示平台价值、六大核心能力、技术架构与数据处理五步链路。工作台是数据总览入口,聚合核心指标卡、岗位-能力图谱、能力雷达、演化时间轴、技能热度趋势、新兴技能前十、热门技能排行、岗位对比。知识图谱以岗位、技能、知识三类节点与带权关系边构成领域图谱,支持多维筛选、四种布局切换、节点详情查看。演化分析回答哪些技能在兴起、哪些在衰退、岗位能力如何随时间迁移,含趋势曲线、演化历史、兴衰前十、事件时间线、迁移桑基图。对比分析支持两岗位横向量化对比,含信息卡、五维雷达、技能差异表、薪资对比、转型路径。岗位匹配完成上传简历、AI提取技能、匹配度打分、能力雷达对比、技能差距分析、学习路径推荐的完整闭环。仅管理员可见三个模块。数据管理覆盖文档管理、网站管理、岗位采集、城市管理、城市代码映射、数据质量评估、操作日志七个页签。实体消歧将原始实体名归一化为标准名称加别名,覆盖岗位、技能、公司三类。系统设置配置AI模型、图数据库、通知与系统信息。
三、业务流程
端到端主流程为:多源数据采集、信息抽取、实体消歧、图谱构建、动态演化分析、人岗智能匹配。
文档入库流程为:上传文档、服务端解析、质量评估、确认入库、进入图谱数据源。招聘采集流程为:配置网站、选择省市与岗位、发起采集生成批次、爬虫抓取JD、质量评估、沉淀为图谱输入。人岗匹配流程为:上传简历选岗位、解析提取技能、多维度打分、输出匹配度与学习路径。
四、功能路径描述
普通用户路径为:登录后浏览知识图谱,筛选布局并点击节点看详情;分析技能演化,切换粒度查看兴衰前十与桑基图;对比两岗位,选A与B查看雷达与差异表;进行人岗匹配,上传简历选岗位查看匹配度与学习建议。
管理员路径为:进入数据管理,上传入库文档并质量评估;岗位采集选网站省市查看批次详情;实体消歧维护标准名称与别名;操作日志审计。
一、整体架构与设计思路
后端基于 Spring Boot 3.4.5 + Java 17,围绕"多源异构数据驱动的岗位能力图谱"分为四层:接入层含 15 个控制器、87 个接口,业务服务层覆盖文档管理、岗位采集、实体消歧、质量评估、JWT 鉴权等,解析抽取层完成文档解析、OCR、BERT-NER 实体抽取、LLM 关系抽取与图谱构建,存储底座由 MySQL、Nebula、Milvus、Elasticsearch、MinIO、MongoDB、Redis、Kafka 构成。
核心设计有五点:一是多模态存储,让每种数据库做最擅长的事,岗位技能关系入 Nebula,文档向量入 ES,关系记录入 MySQL,原始文件入 MinIO;二是"小模型 + 大模型"混合抽取,实体走本地 BERT-BiLSTM ONNX 保证速度成本,关系走 LLM 保证语义质量,两套可切换;三是文档解析策略化,七种格式统一入口;四是六维数据质量评估贯穿全链路;五是启动即完成基础设施预热。
二、量化产出
REST 接口 87 个,控制器 15 个,数据表 16 张,文档解析格式 7 种,NER 实体标签 5 类,技能分类 17 类,图谱模型 3 类节点加 3 类关系,向量维度 1024 维,数据质量 6 维。目标为 JD 解析、简历提取、人岗匹配准确率均不低于 90%。
三、难点与解决方案
ONNX 输出维度错位:模型输出全词表 21128 维而非标签数 5 维,解决方式是只取前 5 维并加越界保护。
中文 BERT 分词工程化:Java 端无等价分词器,自研 FullTokenizer 复刻 Python 预处理,避免标签漂移。
Spring Boot 3 与 MyBatis 兼容:显式排除内嵌 mybatis-spring,统一引入 3.0.3 对齐。
-parameters 缺失致 403 误判:开启编译参数,401 与 403 分开处理。
MinIO 与 OkHttp 冲突:排除内嵌 okhttp,统一管理连接池。
架构演进:从 Kafka + Python 解析收敛为 Java + MongoDB,保留抽象留后路。
LLM 输出 JSON 不稳定:强约束 Prompt 加二次实体对齐。
多格式兼容:策略模式分流,OCR 兜底,无法识别降级通用解析。
实体噪声消歧:黑名单过滤加标准库归一化。
冷启动:初始化收敛到 ApplicationReadyEvent,单项失败不阻断启动。
四、总结
项目以多模态存储底座与 AI 抽取链路为核心,实体走小模型、关系走大模型,架构经收敛演进,全链路贯穿六维质量评估,呼应"数据质量与幻觉防控"要求。