这次看到这个开源的一个demo,想起若干年前做过的项目和参加的一些类似比赛经历,先来看看llm出来之前是怎么干的,两种:
- ocr(pdfparser等)解析简历的文字内容 + bert-crf(更早的比赛经历就不追溯了,那会bert都没出来,可以看看下图)等进行实体识别
- 结合cv的方式,版式分析+ocr+bert-crf等进行实体识别
pdfparser解析pdf(可编辑pdf情况,图片pdf使用ocr)
简历信息实体识别,很早之前的ner模型,后面演变成bert类
实体识别干了什么呢?
- 姓名联系方式解析:NER可以帮助提取简历中的联系方式,如电话号码、电子邮件地址等。
- 教育背景解析:NER可以帮助提取简历中的教育背景信息,如学校名称、专业、学位等。
- 工作经验解析:NER可以帮助提取简历中的工作经验信息,如公司名称、职位名称、工作时间等。
- 技能关键字解析:NER可以帮助提取简历中涉及的技能关键字,如语言能力、技术框架等。
有了上述概念,再来看本文接下来要将的框架(如下图)就很清楚,基本上一句话概括:使用layout划分简历的区块(个人信息、教育经历、项目经历、其他)+ ocr识别相应区块的文字+llm对相应文本进行实体识别 。
SmartResume pipline
也就是说,把曾经bert干的事情,使用llm替换了 ,因此,只要不考虑解析速度,这套系统其实是不错的。
题外话,解析得到相应的字段后,就是各种字段结果的标准化映射了,比如:公司名称mapping、日期标准化等等。
来看下性能 :在llm出来之前,我映像中各种模型+工程手段的简历解析模型速度快,准确率那时候已经很高了,llm在这个demo系统的pipline中也仅仅是替换了以前的bert模型,也许上下文上面有一些优势(毕竟bert之前是512长度)。
结论:pipline系统和以前的处理其实是一样的,这里面最重要的部分其实是如何准确的划分出简历的各个区块并将提取到区块内的文本恢复顺序 。
参考文献:Layout-Aware Parsing Meets Efficient LLMs: A Unified, Scalable Framework for Resume Information Extraction and Evaluation,https://arxiv.org/abs/2510.09722,
repo:https://github.com/alibaba/SmartResume/blob/main/README\_CN.md
往期相关:
