
金融技術實施專家大衛·摩爾
招聘人員正在使用越來越復雜的軟件和工具來掃描簡歷,并將其與張貼的工作職位和工作規格進行匹配。如果你的簡歷是通用的,或者工作說明模糊和/或通用,這些工具將對你不利。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%'。聽起來很棒,但我不會得意忘形?,F在您可以閱讀文檔的摘要并獲得相似度度量。幾率在提高。
接下來,我們可以看看職位描述關鍵詞,看看簡歷中哪些是匹配的。我們是否錯過了幾個關鍵字,可以加強匹配接近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展示了這可能是什么樣子。
“重要性”變量是簡歷中的短語得分?!跋嗨菩浴弊兞渴荈uzzy-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
解碼數據基因:從數字敏感度到邏輯思維 每當看到超市貨架上商品的排列變化,你是否會聯想到背后的銷售數據波動?三年前在零售行 ...
2025-05-23在本文中,我們將探討 AI 為何能夠加速數據分析、如何在每個步驟中實現數據分析自動化以及使用哪些工具。 數據分析中的AI是什么 ...
2025-05-20當數據遇見人生:我的第一個分析項目 記得三年前接手第一個數據分析項目時,我面對Excel里密密麻麻的銷售數據手足無措。那些跳動 ...
2025-05-20在數字化運營的時代,企業每天都在產生海量數據:用戶點擊行為、商品銷售記錄、廣告投放反饋…… 這些數據就像散落的拼圖,而相 ...
2025-05-19在當今數字化營銷時代,小紅書作為國內領先的社交電商平臺,其銷售數據蘊含著巨大的商業價值。通過對小紅書銷售數據的深入分析, ...
2025-05-16Excel作為最常用的數據分析工具,有沒有什么工具可以幫助我們快速地使用excel表格,只要輕松幾步甚至輸入幾項指令就能搞定呢? ...
2025-05-15數據,如同無形的燃料,驅動著現代社會的運轉。從全球互聯網用戶每天產生的2.5億TB數據,到制造業的傳感器、金融交易 ...
2025-05-15大數據是什么_數據分析師培訓 其實,現在的大數據指的并不僅僅是海量數據,更準確而言是對大數據分析的方法。傳統的數 ...
2025-05-14CDA持證人簡介: 萬木,CDA L1持證人,某電商中廠BI工程師 ,5年數據經驗1年BI內訓師,高級數據分析師,擁有豐富的行業經驗。 ...
2025-05-13CDA持證人簡介: 王明月 ,CDA 數據分析師二級持證人,2年數據產品工作經驗,管理學博士在讀。 學習入口:https://edu.cda.cn/g ...
2025-05-12CDA持證人簡介: 楊貞璽 ,CDA一級持證人,鄭州大學情報學碩士研究生,某上市公司數據分析師。 學習入口:https://edu.cda.cn/g ...
2025-05-09CDA持證人簡介 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度、美團、阿里等 ...
2025-05-07相信很多做數據分析的小伙伴,都接到過一些高階的數據分析需求,實現的過程需要用到一些數據獲取,數據清洗轉換,建模方法等,這 ...
2025-05-06以下的文章內容來源于劉靜老師的專欄,如果您想閱讀專欄《10大業務分析模型突破業務瓶頸》,點擊下方鏈接 https://edu.cda.cn/g ...
2025-04-30CDA持證人簡介: 邱立峰 CDA 數據分析師二級持證人,數字化轉型專家,數據治理專家,高級數據分析師,擁有豐富的行業經驗。 ...
2025-04-29CDA持證人簡介: 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度,美團,阿里等 ...
2025-04-28CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-27數據分析在當今信息時代發揮著重要作用。單因素方差分析(One-Way ANOVA)是一種關鍵的統計方法,用于比較三個或更多獨立樣本組 ...
2025-04-25CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-25在當今數字化時代,數據分析師的重要性與日俱增。但許多人在踏上這條職業道路時,往往充滿疑惑: 如何成為一名數據分析師?成為 ...
2025-04-24