金融技术实施专家大卫·摩尔
招聘人员正在使用越来越复杂的软件和工具来扫描简历,并将其与张贴的工作职位和工作规格进行匹配。如果你的简历是通用的,或者工作说明模糊和/或通用,这些工具将对你不利。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
推荐学习书籍 《CDA一级教材》在线电子版正式上线CDA网校,为你提供系统、实用、前沿的学习资源,助你轻松迈入数据分析的大门! ...
2025-03-07在数据驱动决策的时代,掌握多样的数据分析方法,就如同拥有了开启宝藏的多把钥匙,能帮助我们从海量数据中挖掘出关键信息,本 ...
2025-03-06在备考 CDA 考试的漫漫征途上,拥有一套契合考试大纲的优质模拟题库,其重要性不言而喻。它恰似黑夜里熠熠生辉的启明星,为每一 ...
2025-03-05“纲举目张,执本末从。”若想在数据分析领域有所收获,一套合适的学习教材至关重要。一套优质且契合需求的学习教材无疑是那关 ...
2025-03-04以下的文章内容来源于刘静老师的专栏,如果您想阅读专栏《10大业务分析模型突破业务瓶颈》,点击下方链接 https://edu.cda.cn/go ...
2025-03-04在现代商业环境中,数据分析师的角色愈发重要。数据分析师通过解读数据,帮助企业做出更明智的决策。因此,考取数据分析师证书成为了许多人提升职业竞争力的选择。本文将详细介绍考取数据分析师证书的过程,包括了解证书种类和 ...
2025-03-03在当今信息化社会,大数据已成为各行各业不可或缺的宝贵资源。大数据专业应运而生,旨在培养具备扎实理论基础和实践能力,能够应 ...
2025-03-03数据分析师认证考试全面升级后,除了考试场次和报名时间,小伙伴们最关心的就是报名费了,报 ...
2025-03-032025年刚开启,知乎上就出现了一个热帖: 2024年突然出现的经济下行,使各行各业都感觉到压力山大。有人说,大环境越来越不好了 ...
2025-03-03大数据分析师培训旨在培养学员掌握大数据分析的基础知识、技术及应用能力,以适应企业对数据分析人才的需求。根据不同的培训需求 ...
2025-03-03小伙伴们,最近被《哪吒2》刷屏了吧!这部电影不仅在国内掀起观影热潮,还在全球范围内引发了关注,成为中国电影崛起的又一里程 ...
2025-03-03以下的文章内容来源于张彦存老师的专栏,如果您想阅读专栏《Python 数据可视化 18 讲(PyEcharts、Matplotlib、Seaborn)》,点 ...
2025-02-28最近,国产AI模型DeepSeek爆火,其创始人梁文峰走进大众视野。《黑神话:悟空》制作人冯骥盛赞DeepSeek为“国运级别的科技成果” ...
2025-02-271.统计学简介 听说你已经被统计学劝退,被Python唬住……先别着急划走,看完这篇再说! 先说结论,大多数情况下的学不会都不是知 ...
2025-02-27“我们的利润率上升了,但销售额却没变,这是为什么?” “某个业务的市场份额在下滑,到底是什么原因?” “公司整体业绩稳定, ...
2025-02-26在数据分析工作中,你可能经常遇到这样的问题: 从浏览到消费的转化率一直很低,那到底该优化哪里呢? 如果你要投放广告该怎么 ...
2025-02-25近来deepseek爆火,看看deepseek能否帮我们快速实现数据看板实时更新。 可以看出这对不知道怎么动手的小白来说是相当友好的,尤 ...
2025-02-25挖掘用户价值本质是让企业从‘赚今天的钱’升级为‘赚未来的钱’,同时让用户从‘被推销’变为‘被满足’。询问deepseek关于挖 ...
2025-02-25在当今这个数据驱动的时代,几乎每一个业务决策都离不开对数据的深入分析。而其中,指标波动归因分析更是至关重要的一环。无论是 ...
2025-02-25以下文章来源于数有道 ,作者数据星爷 SQL查询是数据分析工作的基础,也是CDA数据分析师一级的核心考点,人工智能时代,AI能为 ...
2025-02-25