京公网安备 11010802034615号
经营许可证编号:京B2-20210330
金融技术实施专家大卫·摩尔
招聘人员正在使用越来越复杂的软件和工具来扫描简历,并将其与张贴的工作职位和工作规格进行匹配。如果你的简历是通用的,或者工作说明模糊和/或通用,这些工具将对你不利。AI真的在反对你的工作申请,我不确定你是否知道或是否会接受它!但是让我演示一些技巧,可以帮助您平衡困难。当然,我们将使用NLP(自然语言处理)、Python和一些Altair可视化。准备好反击了吗?
考虑到你对你在网上注意到的一个好职位感兴趣。还有多少人会看到同样的工作?和你有大致相同的经验和资历?你认为可能有多少申请人提出申请?会不会少于10个或者少于1000个?
此外,考虑到面试小组可能只有5个强有力的候选人。那么,如何从995份申请中筛选出5个强有力的候选人呢?这就是为什么我说你需要平衡胜算,否则就会被扔出杂草!
我想,首先,你可以把这些简历分成3或5份。把它们打印出来,分配给人类读者。每个阅读器从他们的堆中提供一个选择。有5个读者,这是一堆200份简历--去挑选最好的一两份。阅读这些会花很长时间,最终可能只会产生一个答案。我们可以用Python在几分钟内阅读所有那些简历!
在Medium上阅读这篇文章“我如何使用NLP(Spacy)筛选数据科学简历”,发现只要两行代码就可以收集这1000份简历的文件名。
#Function to read resumes from the folder one by one mypath='D:/NLP_Resume/Candidate Resume' onlyfiles = [os.path.join(mypath, f) for f in os.listdir(mypath) if os.path.isfile(os.path.join(mypath, f))]
变量'onlyfiles'是一个Python列表,其中包含使用Python os库获得的所有简历的文件名。如果你研究了文章,你还会看到你的简历是如何根据关键词分析几乎自动地进行排名和淘汰的。既然我们正在努力提高几率,我们需要关注你想要的工作规格和你目前的简历。他们匹配吗?
为了提高胜算,我们需要扫描工作描述、简历,并衡量匹配程度。理想情况下,我们这样做,以便输出是有用的调整在游戏中为您。
因为这是你的简历,你可能有PDF或DOCX格式。Python模块可用于读取大多数数据格式。图1演示了如何读取已将内容保存到文本文件中的文档。
第一步总是打开文件并读取行。下面的步骤是从字符串列表转换为单个文本,并在此过程中进行一些清理。图1创建了变量'job content'和'cv content',它们表示一个包含所有文本的string对象。下一个代码片段展示了如何直接读取Word文档。
import docx2txt
resume = docx2txt.process("DAVID MOORE.docx")
text_resume = str(resume)
变量'text_resume'是一个string对象,保存简历中的所有文本,就像以前一样。也可以使用PYPDF2。
import PyPDF2
只需说,从业者有一系列的选项来阅读文档,将它们转换为干净的处理过的文本。这些文件可能很广泛,很难阅读,坦率地说,也很枯燥。你可以从总结开始。
我喜欢Gensim并且经常使用它。
from gensim.summarization.summarizer import summarize from gensim.summarization import keywords
我们通过读取一个Word文件创建了变量'RESUME_TEXT'。让我们对简历和职位发布做一个总结。
print(summarize(text_resume, ratio=0.2))
Summarizer.summarizer.summary将为您创建一个简洁的摘要。
summarize(jobContent, ratio=0.2)
现在你可以阅读工作角色和你现有简历的总体摘要了!您是否遗漏了摘要中突出显示的工作角色?细致入微的小细节可以帮助你推销自己。你的总结文件是否有意义,并显示出你的基本素质?
也许仅仅一个简明的总结是不够的。接下来,让我们来衡量一下你的简历和工作说明书有多相似。图2提供了代码。
广义地说,我们创建一个文本对象列表,然后创建一个sklearn CountVectorizer()类的实例。我们还引入了cosine_similarity度量,它帮助我们度量两个文档的相似性。'您的简历符合工作描述的69.44%'。听起来很棒,但我不会得意忘形。现在您可以阅读文档的摘要并获得相似度度量。几率在提高。
接下来,我们可以看看职位描述关键词,看看简历中哪些是匹配的。我们是否错过了几个关键字,可以加强匹配接近100%?现在去斯帕西。到目前为止,这是一段相当长的旅程。Gensim,sklearn,现在是Spacy!我希望你没有头晕!
from spacy.matcher import PhraseMatcher matcher = PhraseMatcher(Spnlp.vocab) from collections import Counter from gensim.summarization import keywords
我们将使用spacy的PhraseMatcher特性来匹配工作描述和简历中的关键短语。Gensim关键字可以帮助提供匹配的短语。图3显示了如何运行匹配。
使用图3中的代码片段提供了一个匹配的关键字列表。图4显示了总结这些关键字匹配的方法。使用集合中的计数器字典。
“报告”一词包含在工作描述中,简历有3个点击量。哪些短语或关键字在招聘启事中,而不在简历中?我们能再加点吗?我使用Pandas来回答这个问题-您可以看到图5中的输出。
如果这是真的,那也很奇怪。文档级别的匹配率为69.44%,但看看简历上没有提到的一长串关键词。图6显示了所提到的关键字。
在现实中,与工作规范匹配的关键字很少,这导致我对69.44%的余弦相似度度量持怀疑态度。尽管如此,这种可能性还是在提高,因为我们可以在简历中看到职位说明书中没有的关键词。更少的关键字匹配意味着你更有可能被淘汰。查看缺失的关键字,你可以继续,加强简历,并重新运行分析。不过,只是在简历中加入关键词会有负面影响,你必须非常小心你的艺术。你可能通过了最初的自动筛选,但你会因为缺乏写作技能而被淘汰。我们确实需要对短语进行排名,并专注于工作规范中的基本主题或词汇。
接下来让我们看看排名短语。对于这个练习,我将使用我自己的NLP类和一些我以前使用过的方法。
from nlp import nlp as nlp LangProcessor = nlp() keywordsJob = LangProcessor.keywords(jobContent) keywordsCV = LangProcessor.keywords(cvContent)
使用我自己的类,我从前面创建的job和Resume对象中恢复了排序短语。下面的代码片段为您提供了方法定义。我们现在使用rake模块来提取ranked_prasses和分数。
def keywords(self, text):
keyword = {}
self.rake.extract_keywords_from_text(text)
keyword['ranked phrases'] = self.rake.get_ranked_phrases_with_scores()
return keyword
图7提供了方法调用输出的说明。
“项目管理方法-项目管理”排在第31.2位,所以这是招聘中最关键的话题。简历中的关键短语也可以稍加改动就打印出来。
for item in keywordsCV['ranked phrases'][:10]: print (str(round(item[0],2)) + ' - ' + item[1] )
阅读简历和招聘启事中最重要的短语,我们可以问自己是否有匹配或相似的程度?我们当然可以运行一个序列来找出答案!下面的代码在职务公告和简历中的排名短语之间创建交叉引用。
sims = []
phrases = []
for key in keywordsJob['ranked phrases']:
rec={}
rec['importance'] = key[0]
texts = key[1] sims=[]
avg_sim=0
for cvkey in keywordsCV['ranked phrases']:
cvtext = cvkey[1]
sims.append(fuzz.ratio(texts, cvtext))
#sims.append(lev.ratio(texts.lower(),cvtext.lower()))
#sims.append(jaccard_similarity(texts,cvtext)) count=0
for s in sims:
count=count+s
avg_sim = count/len(sims)
rec['similarity'] = avg_sim
rec['text'] = texts
phrases.append(rec)
注意,我们使用fuzzy-wuzzy作为匹配引擎。代码还有一个Levenshtein比率和JACCARD_SIMAGILE函数。图8展示了这可能是什么样子。
“重要性”变量是简历中的短语得分。“相似性”变量是Fuzzy-Wuzzy的比值得分。“项目管理方法”一词排在31.2位,但交叉引用被评分的简历短语平均得分仅为22.5位。虽然项目管理是这份工作的首要任务,但简历在不同的技术项目上得分更明显。通过执行类似的练习,您可以看到AI是如何对抗应用程序的。
图9显示了另一个视角。使用标记(单词)显示每个单词在工作描述中的重要性,而不是在简历中的点击量--文档中某个特定单词出现的次数越多,影响就越大。财务这个词在职位描述中的重要性不高,但在简历中的影响力很大。这是一个财务人员在找IT工作吗?文字可以出卖你与AI!
我敢肯定你现在已经拿到那张照片了。使用NLP工具和库可以帮助真正理解一个工作描述和衡量相对匹配。这当然不是强健或福音,但它确实倾向于甚至几率。你的话很重要,但你不能在简历中胡乱添加关键词。你真的得写一份强有力的简历,申请适合你的角色。文本处理和文本挖掘是一个很大的课题,我们只触及到可以做什么的表面。我发现文本挖掘和基于文本的机器学习模型非常准确。让我们看看使用牛郎星的一些视觉效果,然后总结。
我最近经常使用牵牛星,所以Seaborn或Matplotlib更多。牵牛星中的语法正好能让我听懂。我做了三个视觉效果来帮助讨论--图10显示了关键字在简历中的重要性和影响力。使用颜色比例,我们可以看到像收养这样的词在简历中出现了两次,但在招聘公告中的优先级较低。
图11显示了在招聘公告和简历中找到的排序主题的交叉引用。最重要的短语是“项目管理…”,但它在简历中的排名中得分较低。
图12描绘了类似的词。财务在简历上被用了10次,但在招聘启事上却只字不提。项目一词会在简历中提到,也会出现在招聘公告中。
看着图表,在我看来简历和工作描述似乎不太匹配。很少的共享关键词和排名短语看起来很不一样。这就是让你的简历被杂草洗掉的原因!
阅读这篇文章可能更像是一部大预算的“拍摄他们死的CGI好莱坞”电影。所有的大牌演员一般都出现在那些大片中。大型NLP库在本文中扮演了主要角色,我们甚至还客串了更多的名字,也许是更老、更成熟的名字,比如NLTK。我们使用了Gensim、Spacy、sklearn等库,并演示了它们的用法。我自己的类客串了一次,包装了NLTK、rake、textblob和一堆其他模块,所有这些都展示了对文本分析的见解,向您展示了如何与获得梦想工作的机会分开。
想要找到理想的工作,需要清晰而不懈地关注细节,仔细准备工作申请、简历和求职信。使用自然语言处理不会把你变成最好的候选人。那取决于你!但它可以提高你击败AI驱动的早期回合的机会。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
初中毕业想考证,先确认“我能不能报”,再比较证书价值。学历门槛不够的证书,宣传再多也与你无关;能报但对应不上岗位的证书, ...
2026-11-02市场岗确有一批报考不设专业限制的证书,但“不限专业”只解决能不能报,真正决定值不值的是三件事:对应市场岗哪条子路径、招聘 ...
2026-11-02“大学生必考证书有哪些”这个问题,本身就藏着一个需要先拆掉的假设:似乎存在一份人人适用的必考清单。实际上,除了少数与毕业 ...
2026-11-02“最好考的一级证书”这个问题,最容易踩的坑不是选错证书,而是没先弄清“一级”在目标证书体系里到底指什么。有的体系里,一级 ...
2026-11-02“职业证书哪个含金量高”这个问题,很难用一张榜单回答。原因不复杂:证书的“含金量”取决于你拿它做什么。想进入必须持证的行 ...
2026-11-02“证件含金量排名”是搜索量很高的词,但直接给你一份“十大证书排行榜”的文章,基本可以跳过。原因很简单:证书的含金量不是单 ...
2026-11-02在校大专生能考的证书,大体分三类:通用能力类(英语等级、计算机等级、普通话水平测试)、职业技能等级类,以及部分不要求工作 ...
2026-11-02在家闲着想考个证书,最容易踩的坑是先去搜“含金量排行榜”,然后被一堆培训广告牵着走。更稳妥的顺序是反过来的:先看自己属于 ...
2026-11-02“注册类证书”不是一个可以随手列全的清单,它更像一个制度口径:通常指国家职业资格目录中设有注册管理、与执业准入挂钩的资格 ...
2026-11-02“现在考什么证有用”很难有统一答案。同一张证书,对想进会计事务所的人有用,对想做新媒体运营的人可能帮助有限;对需要评职称 ...
2026-11-02“适合女生考的证书有哪些含金量高”,这个问题里藏着两个容易走偏的前提。一是把“女生”当成职业属性,仿佛有一份统一的女性证 ...
2026-11-02先说结论:工商管理专业女生不必追“女生必考”榜单。证书有没有用,取决于它能不能对上你准备投的岗位。比较稳妥的做法,是先在 ...
2026-11-02“什么证好考又实用”这个问题,最怕两种回答:一种是列一堆“通过率高”的证书,却不告诉你考完能干什么;另一种是反过来只谈含 ...
2026-11-02“女士可以考哪些证书”并没有一份统一答案。真正决定你能考什么的,不是性别,而是三件事:你现在的身份(在校、在职还是准备转 ...
2026-11-02大专学历想考运营岗位证书,先给结论:能报的证书不少,但值得考的集中在三类——平台官方运营/投放认证、职业技能等级评价、数 ...
2026-11-02大学生判断一张证书是否重要,不用先看宣传热度,而要看四件事:它是否匹配你的目标岗位,校招时是否真用得上,在校期间是否具备 ...
2026-11-02先把结论说清楚:在校期间以2—4张核心证书为宜,其中1—2张通用底证、1—2张与目标岗位对应的方向证;高壁垒资格证只在符合报考 ...
2026-11-02大学生问证书推荐,最容易掉进的坑是“别人考什么我也考什么”。证书本身没有统一的含金量排序,同一张证,对目标岗位是硬门槛, ...
2026-11-02经管毕业生没有一张“通吃”的证书。比较有用的选择,是先按财会、金融、市场、人力、综合管理几个方向锁定目标岗位,再把证书分 ...
2026-11-02“程序员考什么证书含金量高”,没有放之四海皆准的答案。同样是“高含金量”,对后端开发、云原生工程师、数据开发和安全工程师 ...
2026-11-02