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