小析智能的人崗匹配一個(gè)非常重要的流程是將用戶想要推薦的崗位名稱進(jìn)行標(biāo)準(zhǔn)化,然后對海量簡歷完成初步篩選。小析內(nèi)部有一個(gè)完整標(biāo)準(zhǔn)化崗位的知識圖譜,如何將用戶輸入的五花八門的崗位標(biāo)準(zhǔn)化分類到對應(yīng)的標(biāo)準(zhǔn)化崗位是一個(gè)非常重要的問題,直接影響到人崗匹配的初篩結(jié)果。
Java程序員,java工程師,java軟件開發(fā),表達(dá)出來的都是java的標(biāo)準(zhǔn)化崗位。在這種情況下,如果招聘人員搜索的是java軟件開發(fā),其希望匹配的對象應(yīng)該包括了以上三類,而不是僅僅進(jìn)行java軟件開發(fā)的簡歷的匹配。此文中,我們將介紹一下小析智能在崗位標(biāo)準(zhǔn)化的研究進(jìn)展。
深度研究
在小析智能,我們不斷努力著更新完善我們的人工智能技術(shù)。因此,我們的研發(fā)人員每個(gè)星期五有固定半天的自發(fā)興趣研究時(shí)間來閱讀最新的機(jī)器學(xué)習(xí)論文和研究成果,并評估在我們的產(chǎn)品中帶來改善的可能性。特別是針對用戶提出的建議和問題,我們會嘗試脫離現(xiàn)有的系統(tǒng),嘗試使用更合適的技術(shù)來解決客戶的問題。
某天,小析智能研究員小張閱讀到了一篇2019ACL會議的一篇論文,里面提到了使用孿生時(shí)間循環(huán)神經(jīng)網(wǎng)絡(luò)來計(jì)算兩個(gè)文本實(shí)體的相似度。并認(rèn)為該方法說不定適用與我們的搜索崗位標(biāo)注化的問題。能對我們目前使用淺學(xué)習(xí)加集成模型(boosting)帶來改善。于是我們便啟動了我們的效果對比流程。所謂效果流程,就是將新舊版本算法在一個(gè)較大的數(shù)據(jù)集中運(yùn)行,然后讓專家對兩個(gè)版本的效果進(jìn)行評估標(biāo)注,如果新版本統(tǒng)計(jì)性顯著比舊的版本后,在考慮后各種場外因素(如運(yùn)行時(shí)間,代碼維護(hù)成本等)后會將算法進(jìn)行迭代。最后統(tǒng)計(jì)得出,在890個(gè)標(biāo)準(zhǔn)化崗位里,我們的崗位標(biāo)準(zhǔn)化測試集準(zhǔn)確率從96.2%提高到了98.4%, 特別是對于一些小析較罕見的行業(yè)類別(光電子行業(yè),服務(wù)行業(yè))準(zhǔn)確率有了顯著提高,保持了我們人崗匹配系統(tǒng)在行業(yè)的領(lǐng)先優(yōu)勢。
崗位標(biāo)準(zhǔn)化
很多崗位名稱有多種不同的表達(dá)方式,例如上面提到的java軟件開發(fā)的例子。同理,算法崗可能也叫機(jī)器學(xué)習(xí)工程師,數(shù)據(jù)科學(xué)家。這個(gè)例子比較極端,崗位名稱中基本沒有出現(xiàn)相同的字,但基本意味著同樣的意思。這樣使得傳統(tǒng)的詞袋模型沒法對其相似度進(jìn)行計(jì)算,因?yàn)橄嗨贫榷际?。同樣,崗位的叫法也取決于公司的文化,行業(yè),甚至招聘經(jīng)理的書寫習(xí)慣。
比較常見的特征提取是對中文詞語進(jìn)行分割,然后以序列方式表示。例如高級機(jī)器學(xué)習(xí)工程師可以表達(dá)為‘高級’,’機(jī)器學(xué)習(xí)’,’工程師’。而資深數(shù)據(jù)科學(xué)專家可以表達(dá)為‘資深’,’數(shù)據(jù)科學(xué)’,’專家’。根據(jù)傳統(tǒng)計(jì)算機(jī)的理解方式,其會計(jì)算兩個(gè)序列出現(xiàn)詞的相似度和順序,在這種情況下,我們一般的機(jī)器學(xué)習(xí)算法會判定其相似度非常低。還有一個(gè)情況,如果招聘經(jīng)歷打錯(cuò)了字變成機(jī)器學(xué)習(xí)供程師,則會嚴(yán)重影響匹配的準(zhǔn)確度。這樣明顯會大大影響用戶體驗(yàn),我們需要更聰明的匹配方法。
再看一個(gè)例子,有客戶直接使用招聘網(wǎng)站發(fā)布的崗位名稱進(jìn)行招聘,如大數(shù)據(jù)工程師(四大銀行,薪資優(yōu)厚),如果算法無法正確提取真正表明崗位的部分進(jìn)行核心分析,會鬧出預(yù)測成金融崗位的笑話。在此插播一個(gè)小析對此情況的匹配結(jié)果,我們的人崗匹配系統(tǒng)在職能標(biāo)準(zhǔn)化時(shí)專注于對大數(shù)據(jù)工程師這個(gè)崗位關(guān)鍵詞進(jìn)行分析,不會被其他詞語影響。

綜上,一個(gè)優(yōu)秀的匹配方法需要有如下特點(diǎn),
-? 應(yīng)該能夠理解同義詞
-? 能夠忽略和崗位無關(guān)的詞語
-? 能夠處理拼寫錯(cuò)誤和不同表達(dá)方式
崗位名稱深度表示
為了更好地對輸入的崗位名稱有更深度的理解,和小析簡歷解析一樣,我們引入了深度學(xué)習(xí)技術(shù)。深度學(xué)習(xí)的優(yōu)勢是不需要用手動對輸入進(jìn)行特征提取,如分詞,停頓詞處理等。并且針對每個(gè)字或者每個(gè)序列有一個(gè)高維度的向量表達(dá)。這樣可以更好地比較兩串輸入的相似度。
對于崗位標(biāo)準(zhǔn)化的問題,我們的目標(biāo)是相同的崗位有相似的向量表達(dá),而不同的崗位有相距甚遠(yuǎn)的向量表達(dá)。在此,我們收集了上千萬的崗位對數(shù)據(jù),并有對應(yīng)兩個(gè)崗位關(guān)系的標(biāo)簽,如果兩者相同,標(biāo)簽為1,否則為0。然后使用了雙向LSTM(長短記憶模型)作為embedding層,并加入了attention機(jī)制使權(quán)重集中在重要的地方對數(shù)據(jù)進(jìn)行向量化處理。最后將兩個(gè)輸入的隱藏層輸出作為孿生神經(jīng)網(wǎng)絡(luò)的輸入,得到最終相似度的能量函數(shù)。
下圖是簡化的網(wǎng)絡(luò)機(jī)構(gòu)描述:

引入深度學(xué)習(xí)讓小析智能的崗位標(biāo)準(zhǔn)化有了顯著的提高。