金融技术实施专家大卫·摩尔
招聘人员正在使用越来越复杂的软件和工具来扫描简历,并将其与张贴的工作职位和工作规格进行匹配。如果你的简历是通用的,或者工作说明模糊和/或通用,这些工具将对你不利。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驱动的早期回合的机会。
数据分析咨询请扫描二维码
在信息爆炸的时代,数据分析师如同探险家,在浩瀚的数据海洋中寻觅有价值的宝藏。这不仅需要技术上的过硬实力,还需要一种艺术家 ...
2024-12-19在当今信息化社会,大数据已成为各行各业不可或缺的宝贵资源。大数据专业应运而生,旨在培养具备扎实理论基础和实践能力,能够应 ...
2024-12-19阿里P8、P9失业都找不到工作?是我们孤陋寡闻还是世界真的已经“癫”成这样了? 案例一:本硕都是 985,所学的专业也是当红专业 ...
2024-12-19CDA持证人Louis CDA持证人基本情况 我大学是在一个二线城市的一所普通二本院校读的,专业是旅游管理,非计算机非统计学。毕业之 ...
2024-12-18最近,知乎上有个很火的话题:“一个人为何会陷入社会底层”? 有人说,这个世界上只有一个分水岭,就是“羊水”;还有人说,一 ...
2024-12-18在这个数据驱动的时代,数据分析师的技能需求快速增长。掌握适当的编程语言不仅能增强分析能力,还能帮助分析师从海量数据中提取 ...
2024-12-17在当今信息爆炸的时代,数据分析已经成为许多行业中不可或缺的一部分。想要在这个领域脱颖而出,除了热情和毅力外,你还需要掌握 ...
2024-12-17数据分析,是一项通过科学方法处理数据以获取洞察并支持决策的艺术。无论是在商业环境中提升业绩,还是在科研领域推动创新,数据 ...
2024-12-17在数据分析领域,图表是我们表达数据故事的重要工具。它们不仅让数据变得更加直观,也帮助我们更好地理解数据中的趋势和模式。相 ...
2024-12-16在当今社会,我们身处着一个飞速发展、变化迅猛的时代。不同行业在科技进步、市场需求和政策支持的推动下蓬勃发展,呈现出令人瞩 ...
2024-12-16在现代商业世界中,数据分析师扮演着至关重要的角色。他们通过解析海量数据,为企业战略决策提供有力支持。要有效完成这项任务, ...
2024-12-16在当今数据爆炸的时代,数据分析师是组织中不可或缺的导航者。他们通过从大量数据中提取可操作的洞察力,帮助企业在竞争激烈的市 ...
2024-12-16在现代企业中,数据分析师扮演着至关重要的角色。他们不仅负责处理和分析大量的数据,还需要将这些分析结果转化为切实可行的商业 ...
2024-12-16在当今的大数据时代,数据分析已经成为推动企业战略的重要组成部分。无论是金融、医疗、零售,还是制造业,各个行业对数据分析的 ...
2024-12-16在当今这个以数据为驱动力的时代,数据分析领域正在迅速扩展与发展。随着大数据、人工智能和机器学习技术的不断进步,数据分析已 ...
2024-12-16在信息爆炸和数据驱动的时代,数据分析专业是否值得一选成为许多人思考的议题。无论是刚刚迈入大学校门的新生,还是考虑职业转型 ...
2024-12-16适合数据分析专业学生的实习岗位有很多,以下是一些推荐: 阿里巴巴数据分析岗位实习:适合经济、统计学、数学及计算机专业的 ...
2024-12-16在数据科学领域,探索实习机会是一个理想的学习和成长方式。实习不仅可以提供宝贵的实践经验,还能帮助学生发展关键的数据分析技 ...
2024-12-16在当今信息驱动的时代,数据分析不仅成为了企业决策的重要一环,还催生了各种职业机会。从技术到业务,数据分析专业的就业岗位种 ...
2024-12-16在现代企业中,数据分析师被誉为“数据探险家”,他们通过揭示隐藏在数据背后的故事,帮助公司优化业务策略和做出明智的决策。然 ...
2024-12-16