魏云東
(北京市中小企業(yè)信用再擔(dān)保有限公司,北京 100010)
就業(yè)問題是當(dāng)今社會(huì)難題之一,人力資源市場(chǎng)提供的信息平臺(tái)成為了很多求職者選擇工作和企業(yè)招聘人員選擇崗位相關(guān)人才的場(chǎng)所之一。但是在網(wǎng)絡(luò)大數(shù)據(jù)爆炸的今天,人工查詢相關(guān)崗位或人才信息的招聘和求職方式已經(jīng)不能滿足日益增長(zhǎng)的求職和人才需求[1-2]。大數(shù)據(jù)技術(shù)是以大規(guī)模數(shù)據(jù)為基礎(chǔ),利用各種算法挖掘數(shù)據(jù)背后隱藏的具有利用價(jià)值的信息。機(jī)器對(duì)于大數(shù)據(jù)技術(shù)開發(fā)的每一個(gè)階段都是有幫助的,因此大數(shù)據(jù)分析的每一個(gè)階段都涉及很多傳統(tǒng)算法以及機(jī)器學(xué)習(xí)算法[3-4]。將大數(shù)據(jù)技術(shù)應(yīng)用到人力資源市場(chǎng)中可以幫助提高求職和人才招聘過程的智能化程度,實(shí)現(xiàn)智能崗位和人才匹配,促進(jìn)社會(huì)就業(yè)[5-6]。鑒于此,本文將梯度提升樹算法與卷積神經(jīng)網(wǎng)絡(luò)算法相結(jié)合,用于人力資源市場(chǎng)的人才智能推薦,以期提高人力資源市場(chǎng)的信息化程度。
本文使用分布式云集群方式進(jìn)行數(shù)據(jù)采集。在進(jìn)行人才信息采集時(shí),首先與合作企業(yè)進(jìn)行多數(shù)據(jù)來源渠道確認(rèn),最后將數(shù)據(jù)類型按照需求類型進(jìn)行數(shù)據(jù)源分類,分配多個(gè)執(zhí)行線程。系統(tǒng)的子服務(wù)器以任務(wù)列的形式動(dòng)態(tài)收集不同類型的數(shù)據(jù),并且實(shí)時(shí)進(jìn)行更新[7-8]。圖1是使用流式分布式進(jìn)行數(shù)據(jù)采集的流程圖。
圖1 流式分布式數(shù)據(jù)采集流程圖
圖1顯示的流式分布式人才數(shù)據(jù)采集流程主要包含數(shù)據(jù)匯集模塊和數(shù)據(jù)歸類模塊。數(shù)據(jù)匯集模塊可對(duì)不同的采集來源進(jìn)行分類,并根據(jù)此信息分區(qū)關(guān)聯(lián),構(gòu)建相應(yīng)的任務(wù)隊(duì)列。數(shù)據(jù)歸類模塊則是以時(shí)間片為單元進(jìn)行微量批處理,形成的數(shù)據(jù)流可供后續(xù)人才推薦使用。
本文采集的數(shù)據(jù)主要包括求職人員的個(gè)人信息(編號(hào)、性別、年齡、聯(lián)系方式、教育背景等)、工作崗位要求基本信息(崗位類型、工作內(nèi)容、工作時(shí)間等)、求職人員用戶行為信息(用戶行為類型、發(fā)生時(shí)間等)。但是經(jīng)過流式分布式數(shù)據(jù)采集之后獲取的信息不能直接用于后續(xù)算法的模型訓(xùn)練,部分信息可能存在重復(fù)采集、缺失不完整和無效填寫等情況[9-10]。因此,數(shù)據(jù)采集完成之后需要進(jìn)行數(shù)據(jù)清洗、抽取和轉(zhuǎn)換的預(yù)處理,保證收集信息的可用性。
就業(yè)市場(chǎng)人才的數(shù)據(jù)信息包括求職崗位所屬行業(yè),包括“教育”“互聯(lián)網(wǎng)”“銷售”等;薪資取值包括“2000元以下”“2000元~3000元”等。這些信息無法被計(jì)算機(jī)系統(tǒng)直接識(shí)別和使用,因此需要對(duì)其進(jìn)行編碼轉(zhuǎn)換[11-12]。圖2是以求職崗位為例的人才信息獨(dú)熱編碼化示意圖,本文為每個(gè)不同類型的人才信息劃定唯一的獨(dú)熱編碼。該編碼可以作為后續(xù)核心算法的輸入內(nèi)容。
圖2 崗位所屬行業(yè)信息獨(dú)熱編碼化示意圖
對(duì)人才信息進(jìn)行獨(dú)熱編碼處理之后,編碼數(shù)據(jù)可作為算法輸入內(nèi)容,但是由于人才信息數(shù)據(jù)量過于龐大,影響后續(xù)梯度提升樹的特征轉(zhuǎn)換和算法處理速度[8-9]。本文使用Embedding操作對(duì)獨(dú)熱編碼進(jìn)行降維處理。
yz=F(Wzxz+bz)
(1)
公式(1)中的yz是降維后的向量;xz為需降維的輸入特征,z為其索引值;Wz表示mz×nz的矩陣;bz表示向量偏差項(xiàng);F(·)是激活函數(shù),屬于非線性類型。
進(jìn)行降維處理之后的人才信息使用梯度提升樹的特征轉(zhuǎn)換能力進(jìn)行特征篩選和編碼。在梯度提升樹的構(gòu)建中,構(gòu)建每棵子樹的過程是有監(jiān)督的編碼過程,提升樹模型對(duì)特征屬性進(jìn)行分類的規(guī)則即為葉子節(jié)點(diǎn),從根節(jié)點(diǎn)至葉子節(jié)點(diǎn)的過程便是樣本劃分過程[13]。梯度提升樹模型中自帶的屬性劃分規(guī)則對(duì)編碼格式為0/1序列的向量進(jìn)行類別特征判斷,當(dāng)前樹模型類別特征中對(duì)應(yīng)葉子節(jié)點(diǎn)的元素值為1,其他葉子節(jié)點(diǎn)元素值為0[14-15]。相似地,梯度提升模型中的多棵決策樹會(huì)對(duì)降維之后的獨(dú)熱編碼針對(duì)其類別特征進(jìn)行分類,所有特征組合即可得到轉(zhuǎn)換后的新特征,特征轉(zhuǎn)換的操作示意圖見圖3。
圖3 特征轉(zhuǎn)換流程圖
圖3中的3棵決策樹分別對(duì)應(yīng)求職人員的個(gè)人信息、工作崗位要求和行為信息。求職人員的原始信息輸入梯度提升樹之后,分別落在3棵決策樹的第1、2、3個(gè)葉子節(jié)點(diǎn)上,經(jīng)過決策樹特征分類之后的求職人員個(gè)人信息、工作崗位要求和行為信息可分別表示為[1,0]、[0,1,0]、[0,0,1,0]。將所有的特征組合起來,形成新向量[1,0,0,1,0,0,0,1,0],該向量即可反映求職人員的所有信息。
(2)
對(duì)大量數(shù)據(jù)進(jìn)行挖掘的時(shí)候,神經(jīng)網(wǎng)絡(luò)算法比傳統(tǒng)算法更具優(yōu)越性,數(shù)據(jù)量越大,神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)結(jié)果更加精準(zhǔn)[16]。本文使用模型堆疊集模式訓(xùn)練混合卷積神經(jīng)網(wǎng)絡(luò)模型,生成最終推薦結(jié)果。
一般而言,卷積神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)包括特征提取層和特征映射層[17-18]。本文使用的混合卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示,輸入層的輸入數(shù)據(jù)為經(jīng)過梯度提升樹處理之后的人才信息,通過多個(gè)卷積層的運(yùn)算提取信息核心特征[19-20]。拼接之后的數(shù)據(jù)在卷積與局部連接混合進(jìn)行高層特征抽象學(xué)習(xí)之后,得到網(wǎng)絡(luò)的推薦預(yù)測(cè)概率pCNN和pLC。對(duì)pCNN和pLC平均化處理之后將該求職人員劃分為“推薦”和“不推薦”2類。
圖4 混合卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
交叉熵?fù)p失函數(shù)是用于訓(xùn)練混合卷積神經(jīng)網(wǎng)絡(luò)的損失函數(shù)[21],其表達(dá)式如式(3):
(3)
其中,p表示樣本的預(yù)測(cè)概率;y表示樣本實(shí)際的類別標(biāo)簽。
根據(jù)公式(3)可計(jì)算圖4中對(duì)某一求職人員的推薦概率值和真實(shí)推薦結(jié)果之間的誤差。如果模型計(jì)算結(jié)果不符合實(shí)際要求,模型反向傳播,以更新參數(shù)最小化目標(biāo)損失函數(shù),獲取新的推薦概率。若推薦概率符合要求,則完成本次訓(xùn)練;否則再次更新權(quán)重計(jì)算概率直至滿足要求。
本文設(shè)計(jì)的多通道混合卷積中每個(gè)卷積通道的模型都是由2個(gè)卷積層和一個(gè)最大池化層構(gòu)成,搭配ReLU非線性激活函數(shù),因此在組成結(jié)構(gòu)上是一致的,每個(gè)通道卷積操作的算法如式(4):
ci=F(Ki×X+bi)
(4)
其中,i表示第i個(gè)卷積通道,Ki表示對(duì)應(yīng)卷積通道不同尺寸的卷積核,用于進(jìn)行不同特征的學(xué)習(xí);不同卷積通道的卷積處理結(jié)果用ci表示;X為輸入數(shù)據(jù),bi為對(duì)應(yīng)通道卷積操作的偏置量,F(xiàn)(·)表示非線性激活操作。多通道卷積處理的結(jié)果為:
c=[c1,c2,…,cn]
(5)
公式(5)中的c為所有卷積處理后的組合結(jié)果。多通道化卷積操作可以將特征的整體抽象特性很好地保存下來,并且還有利于抑制過度擬合,讓混合卷積神經(jīng)網(wǎng)絡(luò)模型的分類效果更好。
圖4中的卷積與局部連接混合子模型主要由2個(gè)模塊構(gòu)成,即局部連接模塊和卷積處理模塊,公式(6)為局部連接操作的算法表達(dá)式:
lc=F(Kp×XT+b)
(6)
其中,b為不同卷積操作的偏置項(xiàng);K為卷積操作的權(quán)值共享化過濾器,Kp為局部連接操作的非權(quán)值共享化過濾器。卷積模塊包括了一個(gè)最大池化層和2個(gè)卷積層,ReLU為卷積模塊的激活函數(shù),局部連接模塊的激活函數(shù)也是ReLU,該模塊包含了2個(gè)局部連接層。卷積操作和局部連接操作后續(xù)都需要通過基于ReLU激活函數(shù)的全連接層,輸出維度大小分別為512、256和64,并通過基于Sigmoid激活函數(shù)的全連接層得到推薦預(yù)測(cè)概率。
本文將采集的人力資源數(shù)據(jù)集劃分為2類,分別為算法訓(xùn)練數(shù)據(jù)集和算法測(cè)試數(shù)據(jù)集,比例為9∶1。模型得出的推薦結(jié)果為“推薦”或“不推薦”,樣本也對(duì)應(yīng)劃分為“正樣本”和“負(fù)樣本”。正樣本表示發(fā)生了崗位瀏覽、申請(qǐng)和收藏的樣本,負(fù)樣本表示無任何交互行為的樣本,亦或是被用戶設(shè)置為對(duì)崗位不感興趣的樣本。研究構(gòu)建的數(shù)據(jù)集中有11726名求職人員,由于某些求職人員對(duì)多個(gè)崗位產(chǎn)生求職意向,因此數(shù)據(jù)集中的工作崗位有48658個(gè),推薦的正樣本數(shù)為275362條,負(fù)樣本數(shù)為182454條。經(jīng)過預(yù)處理和劃分處理后,推薦的正樣本數(shù)與負(fù)樣本數(shù)的比例約為1.5∶1,比例比較均衡。本文使用精確率、召回率以及F1-Score來評(píng)價(jià)人才推薦系統(tǒng)的推薦效果:
(7)
(8)
(9)
公式(7)、公式(8)、公式(9)分別是推薦精確率、召回率以及F1-Score的計(jì)算公式。FNR為推薦給求職人員不感興趣的崗位數(shù)量;TR表示給求職人員正確推薦的他們真正感興趣的崗位數(shù)量;FR表示錯(cuò)誤推薦給求職人員并不感興趣的崗位數(shù)量。
為了驗(yàn)證本文設(shè)計(jì)的基于大數(shù)據(jù)技術(shù)的人力市場(chǎng)人才推薦算法設(shè)計(jì)思路的可行性,將不集成梯度提升樹的混合卷積神經(jīng)網(wǎng)絡(luò)算法、梯度提升樹、基于梯度提升樹的混合卷積神經(jīng)網(wǎng)絡(luò)算法三者進(jìn)行對(duì)比實(shí)驗(yàn),分別命名3類算法為A、B、C算法,對(duì)比結(jié)果如圖5與表1所示。
表1 3類算法推薦人才的F1-Score驗(yàn)證結(jié)果
圖5 算法的召回率實(shí)驗(yàn)對(duì)比圖
從圖5可以看出,在任一推薦長(zhǎng)度下,本文構(gòu)建算法的召回率均高于其他的算法,并且在一定范圍內(nèi),召回率與崗位推薦長(zhǎng)度成正比。在推薦長(zhǎng)度為70的時(shí)候,本文設(shè)計(jì)的算法的召回率約為0.819,梯度提升樹和不集成梯度提升樹的混合卷積神經(jīng)網(wǎng)絡(luò)算法的召回率分別約為0.745和0.768,本文設(shè)計(jì)的算法在召回率上優(yōu)于傳統(tǒng)人才推薦算法。
從表1可以看出,當(dāng)推薦長(zhǎng)度為70的時(shí)候,基于梯度提升樹和神經(jīng)網(wǎng)絡(luò)的人力資源推薦算法的F1-Score在0.741左右,而另外2種算法的F1-Score分別約為0.675和0.673。由此可以看出,本文算法優(yōu)于其他2種算法。綜上分析可知,在這2種推薦質(zhì)量評(píng)價(jià)標(biāo)準(zhǔn)中,本文算法在召回率和F1-Score上分別至少提高了9.78%和10.1%,這表明了通過梯度提升樹轉(zhuǎn)換的方式可以更好地發(fā)揮卷積的作用,提高模型的推薦質(zhì)量。
圖6是本文算法與傳統(tǒng)的ItemCF(Project based collaborative filtering algorithm)、PMF(Matrix decomposition based on probability)、UserCF(User based collaborative filtering algorithm)、CBF(Content based recommendation algorithm)、DNN(Four layer deep neural network)等算法的召回率對(duì)比結(jié)果。當(dāng)崗位推薦長(zhǎng)度為70的時(shí)候,本文算法的召回率約為0.821,而UserCF、ItemCF、CBF、DNN和PMF算法的召回率分別大約為0.576、0.663、0.685、0.685、0.685,由此可以看出,本文算法在召回率的指標(biāo)上相對(duì)于目前常用的算法能取得更好的效果。
圖6 各算法的召回率實(shí)驗(yàn)對(duì)比
從圖7可以看出,當(dāng)崗位推薦長(zhǎng)度為70時(shí),本文算法的F1-Score約為0.738,而UserCF、ItemCF、CBF、DNN和PMF算法的F1-Score分別大約為0.466、0.516、0.610、0.640、0.596,表明本文算法更具有優(yōu)勢(shì)。綜上可知,本文驗(yàn)證了基于梯度提升樹和神經(jīng)網(wǎng)絡(luò)的人力資源推薦算法對(duì)提高人力資源推薦質(zhì)量的有效性。
圖7 各算法的F1-Score實(shí)驗(yàn)對(duì)比
目前,國內(nèi)大多人力資源信息平臺(tái)都使用的是搜索關(guān)鍵詞或者崗位性質(zhì)這樣的傳統(tǒng)推薦方式,不僅浪費(fèi)時(shí)間,還很難實(shí)現(xiàn)精準(zhǔn)匹配。本文利用大數(shù)據(jù)技術(shù)深入挖掘求職人員信息和工作崗位信息之間的聯(lián)系,將梯度提升樹算法和卷積神經(jīng)網(wǎng)絡(luò)算法相結(jié)合,應(yīng)用于人力資源市場(chǎng)領(lǐng)域。特征的轉(zhuǎn)換處理是在梯度提升樹中進(jìn)行的,高維抽象特征在混合卷積中進(jìn)行提取,從而提高人力資源推薦質(zhì)量。通過驗(yàn)證本文算法的性能以及與傳統(tǒng)常用推薦算法的對(duì)比分析,當(dāng)崗位推薦長(zhǎng)度為70的時(shí)候,本文算法的F1-Score約為0.738,召回率約為0.821,高于其他算法,說明本文算法能夠明顯提高人才推薦質(zhì)量。但是本文構(gòu)建的模型缺少實(shí)際的應(yīng)用測(cè)試,后續(xù)還需要進(jìn)行實(shí)際應(yīng)用以改進(jìn)存在的不足。