湯佳杰 曹永忠 朱俊武 顧 浩
(揚州大學信息工程學院 江蘇 揚州 225127)
隨著社會經(jīng)濟取得前所未有的發(fā)展,人力資源在推動社會經(jīng)濟發(fā)展中的作用不斷提高。特別是21世紀以來,作為國家競爭力來源的人力資源已上升至國家戰(zhàn)略層面的高度。但是,在如此激烈的競爭環(huán)境下,人力資源價值評估理論和實踐卻相對滯后,導致企業(yè)在招聘時需要通過多重環(huán)節(jié)對應聘者進行考核來確定其各項技能水平,整個招聘過程包括筆試、面試等預估環(huán)節(jié)將長達數(shù)月;同時,對企業(yè)內部已招聘的員工的人力資源價值沒有進行量化分析,以至于許多經(jīng)過企業(yè)培養(yǎng),具有豐富管理經(jīng)驗及高新技術技能的員工因自身價值得不到體現(xiàn)而另謀出路。此現(xiàn)象在人力資源密集型、知識密集型的IT行業(yè)中十分常見,因此對IT行業(yè)中軟件開發(fā)者的人力資源價值進行正確評估就顯得尤為重要。
近幾年以來,以大數(shù)據(jù)、云計算、人工智能、物聯(lián)網(wǎng)、區(qū)塊鏈等時代前沿技術為基礎的數(shù)字科技正在不斷加速各行各業(yè)的產(chǎn)業(yè)融合與轉型,不斷改變著人們的生活方式。因此,作為前沿技術開發(fā)者的高技術軟件開發(fā)者被各企業(yè)所爭搶。開源社區(qū)作為各層次水平的軟件開發(fā)者的聚集地,其中積累了大量的軟件開發(fā)者人力資源數(shù)據(jù)、軟件開發(fā)數(shù)據(jù)及軟件開發(fā)者日常活動數(shù)據(jù)。為了充分利用這些數(shù)據(jù),GitHub根據(jù)注冊用戶在社區(qū)中的日常行為數(shù)據(jù)開發(fā)了“Discover repositories”向使用者推薦相關存儲庫。除此以外,我們仍可以從這些數(shù)據(jù)中挖掘高水平或高潛力的軟件開發(fā)者信息,并用于公司招聘。
然而,GitHub并沒有專門為招聘人員提供相關信息來推斷軟件開發(fā)者的技能水平。因此,為了評估開發(fā)人員的質量,招聘人員必須手工檢索相應軟件開發(fā)者的個人信息及存儲倉庫。Marlow等[1]認為,招聘人員必須投入大量精力和時間來收集和評估GitHub上軟件開發(fā)者展示的某些相關技能方面信息。因此,本文將重點利用GitHub用戶信息及其存儲庫相關指標來解決招聘者在招聘軟件開發(fā)者時無法評價其價值的問題,為企業(yè)的高效招聘提供一種新的解決方案。
人們對人力資源研究的熱情始于美國經(jīng)濟學家舒爾茨和貝克爾,他們提出的人力資本理論在經(jīng)濟學中具有舉足輕重的地位。人力資源價值評估主要是根據(jù)被評估者自身現(xiàn)有條件,并參考在未來可能創(chuàng)造的價值,反映人力資源在當前時間點的勞動能力。從人力資源個體價值的角度出發(fā),國內外一些學者先后提出了一系列計量模型。其中作為所有模型基礎的理論是馬克思的勞動價值論[2],其認為人力資源成長過程中積累的知識、技能和經(jīng)驗等因素可作為人力資源價值的組成部分,并在工作時將其中的價值轉移到商品中。
目前,國內外人力資源個體價值評估方法分為兩種:第一種為傳統(tǒng)管理學評估模型,這些模型通過統(tǒng)計人力資源價值形成過程中的投入,并把工資作為評價個體人力資源價值的方式,如未來工資報酬折現(xiàn)法[3-4]、人力資本加工成本法[4]、隨機報酬價值法[5]和完全價值測定法[6]等;第二種為機器學習的方法,如支持向量機、神經(jīng)網(wǎng)絡和深度學習等。文獻[7]在問卷調查選擇人力資源價值影響因素的基礎上,對藍領階層價值影響因素進行聚類,通過聚類把人員劃分為5個重要程度并針對情況對相應人員提出激勵措施。文獻[8]通過BP神經(jīng)網(wǎng)絡對電力企業(yè)員工績效做出評估,首先由評估人員對設定的17個指標打分,把分數(shù)作為神經(jīng)網(wǎng)絡輸入向量,并把當期考核結果作為輸出向量對神經(jīng)網(wǎng)絡進行訓練,驗證了神經(jīng)網(wǎng)絡評估的有效性與高效性。文獻[9]通過Elman神經(jīng)網(wǎng)絡對歷年員工創(chuàng)造價值、員工人數(shù)、員工離職率的學習,預測當年可創(chuàng)造價值與員工離職概率,為企業(yè)人力資源配置的研究和實踐提供了一種新的方法,具有一定現(xiàn)實意義。文獻[10]設計了19項可能會為高校人力資源帶來風險的因素,建立了高校人力資源風險評估模型,并通過RBF神經(jīng)網(wǎng)絡對風險做出分類評估,實證研究識別錯誤率為6%,能夠較好地識別高風險樣本。
近年來,隨著計算機硬件的發(fā)展,深度學習也再次受到人們的關注,卷積神經(jīng)網(wǎng)絡及循環(huán)神經(jīng)網(wǎng)絡作為其中的代表,被廣泛應用于各種領域,如計算機視覺[11]、自然語言處理[12]、語音識別[13]、機器翻譯[14]、醫(yī)療[15]和金融[16]等領域。為了完成以上各項任務,構建的神經(jīng)網(wǎng)絡規(guī)模不斷增大,并且為了獲得更好的性能,多種神經(jīng)網(wǎng)絡結構堆疊使用。文獻[17]構造了CNN-LSTM結構的神經(jīng)網(wǎng)絡,通過CNN提取樣本特征,輸入LSTM中預測設備故障,通過一周內采集的60萬組數(shù)據(jù)對網(wǎng)絡進行訓練,預測值的準確率達83.27%。文獻[18]提出了一種基于CNN-LSTM框架的繪畫作品作者分類方法,對中國畫的作者進行預測分類,給出其可能作者及其概率,較深度卷積神經(jīng)網(wǎng)絡精確率、召回率、F1-score分別提高8.45%、8.08%、8.27%。
綜上,只要確定了合理的價值評估體系并將之科學地轉換為量化的變量值,在樣本足夠的情況下,神經(jīng)網(wǎng)絡可以較準確地完成軟件開發(fā)者人力資源價值評估。但僅僅知道軟件開發(fā)者當前價值是不夠的,招聘者無法預知其未來價值,所以需要使用LSTM神經(jīng)網(wǎng)絡對其未來價值進行預測。因此,本文提出一種基于CNN-LSTM混合神經(jīng)網(wǎng)絡的軟件開發(fā)者人力資源價值評估及預測方法。
文獻[19]研究了GitHub中流行的項目及受歡迎的軟件開發(fā)者,使用PageRank算法評估用戶的影響力,并根據(jù)影響力向招聘人員推薦GitHub軟件開發(fā)者。文獻[20]研究了存儲倉庫的流行度與其使用的編程語言、特征之間的關系,并使用存儲倉庫的Fork與Watch數(shù)來確定其流行程度。研究發(fā)現(xiàn)大多數(shù)對GitHub的研究單一地集中于用戶或項目,而少數(shù)聯(lián)合研究的多為項目推薦系統(tǒng),如文獻[21]基于用戶行為及其關注項目特性構造用戶行為矩陣,通過TF-IDF統(tǒng)計源代碼文件和項目文檔中每個單詞,獲取項目關鍵詞并構造相似性矩陣,通過矩陣相似性向用戶推薦相似項目。
鑒于未有GitHub軟件開發(fā)者人力資源價值的相關研究,本文從軟件開發(fā)者現(xiàn)有價值和未來價值分析了GitHub軟件開發(fā)者價值的影響因素,將影響因素分為編程能力、項目管理能力、學習能力、團隊合作能力和技術影響力,并提出敬業(yè)度概念,建立如圖1所示的軟件開發(fā)者價值評估指標體系。
圖1 開源社區(qū)軟件開發(fā)者人力資源價值評估體系
定義1編程能力PA:表示為一個三元組PA=(PR,W,S)。其中:PR表示軟件開發(fā)者自身創(chuàng)建的存儲倉庫的集合,在一定程度上創(chuàng)建的存儲倉庫越多編程能力越強;W表示存儲倉庫被標記數(shù)的集合,被標記數(shù)量表示有多少軟件開發(fā)者對此倉庫感興趣,可以反映該存儲倉庫的質量與創(chuàng)新度;S表示存儲倉庫被其他軟件開發(fā)者贊同數(shù)的集合,其反映內容與W相同。如果PR=?,則W、S均為?。
定義2項目管理能力MA:表示為一個六元組MA=(R,Prs,CM,RE,B,CT)。其中:R表示軟件開發(fā)者所有存儲倉庫的集合;Prs表示項目拉取請求數(shù)量的集合,其表示倉庫創(chuàng)建者對其他軟件開發(fā)者提交修改的審核情況,數(shù)量越多,管理能力越強;CM表示存儲倉庫提交修改次數(shù)的集合;RE存儲倉庫擁有版本數(shù)的集合;B表示存儲倉庫擁有分支數(shù)的集合;CT表示為存儲倉庫作出貢獻的人員數(shù)的集合,為項目作出貢獻的人越多,管理者要審核的代碼就越多,其管理能力也就越強。
定義3學習能力LA:表示為一個二元組LA=(LN,FR)。其中:LN表示軟件開發(fā)者所掌握的編程語言集合,所掌握的編程語言反映軟件開發(fā)者所能完成的工作領域,越多表示學習能力越強;FR表示拷貝的存儲倉庫的集合,拷貝的倉庫需要時間熟悉其代碼構成,軟件開發(fā)者作出貢獻的拷貝倉庫越多,其學習能力越強。
定義4團隊合作能力TA:表示為一個二元組TA=(FK,CT)。其中:FK表示存儲倉庫被拷貝數(shù)的集合,數(shù)量越多,倉庫擁有者與其他軟件開發(fā)者合作的概率越大;CT表示為存儲倉庫作出貢獻的人員數(shù)的集合,其數(shù)量越多,表明為該倉庫作出貢獻的團隊成員越多,倉庫擁有者與其他軟件開發(fā)者的合作就越多。
定義5技術影響力I:表示為一個三元組I=(FE,FI,SS)。其中:FE為關注該軟件開發(fā)者的用戶集合,關注該軟件開發(fā)者的人數(shù)越多,表示越多的軟件開發(fā)者認為其技術水平高超;FI為該軟件開發(fā)者關注的用戶集合,表示該軟件開發(fā)者認為其技術值得學習;SS為該軟件開發(fā)者被其他軟件開發(fā)者贊同的信息集合,表示其對這些存儲倉庫的認可。
定義6敬業(yè)度LY,分為每日貢獻度CD、工作態(tài)度WA。敬業(yè)度為二元組LY=(CD,WA),其中:WA表示軟件開發(fā)者活躍天數(shù)占全年天數(shù)的比例,活躍天數(shù)越多表示其對工作越滿意,其工作態(tài)度越端正;CD表示軟件開發(fā)者每日貢獻占全年活躍日平均貢獻次數(shù)的比例。CD=(EC,AD),WA=(AD),其中:AD表示軟件開發(fā)者在一年內的活躍天數(shù);EC表示軟件開發(fā)者每日貢獻次數(shù)的集合。
(1)
(2)
LY=CD×WA
(3)
定義7軟件開發(fā)者人力資源價值為七元組V=(P,PA,MA,LA,TA,I,LY)。其中:P表示待評估價值的軟件開發(fā)者;PA表示軟件開發(fā)者的編程能力,即項目經(jīng)歷的集合;MA表示軟件開發(fā)者項目管理能力;I表示軟件開發(fā)者的技術影響力;LA表示軟件開發(fā)者的學習能力;TA表示軟件開發(fā)者的團隊合作能力;LY表示軟件開發(fā)者的敬業(yè)度。V表示軟件開發(fā)者的價值分類的集合。
本文數(shù)據(jù)集為GitHub中真實用戶信息,首先根據(jù)GitHub的advanced search搜索找出各個用戶、用戶項目之間的URL鏈接關系,再找出網(wǎng)頁中存放所需數(shù)據(jù)的HTML標簽,之后使用Python編寫爬蟲程序,獲取整個網(wǎng)頁結構。使用Beautiful Soup解析網(wǎng)頁HTML標簽,獲得標簽中數(shù)據(jù),同時記錄數(shù)據(jù)采集時間,本文中采集的數(shù)據(jù)集記錄了部分軟件開發(fā)者連續(xù)2年每日各項屬性值的變化情況。
研究發(fā)現(xiàn)GitHub中軟件開發(fā)者人數(shù)與其價值呈現(xiàn)冪律分布,即大多數(shù)軟件開發(fā)者在GitHub中沒有貢獻,少數(shù)軟件開發(fā)者貢獻占據(jù)總貢獻的80%,所以爬取的數(shù)據(jù)樣本分布不均衡,為了解決這一問題,本文使用SMOTE算法[22]對訓練樣本進行擴充。
由于采集的17種參數(shù)大小范圍都不同,為了防止大數(shù)吞小數(shù)的情況發(fā)生,同時為了加快模型的收斂速度與評估準確度,所以需要對數(shù)據(jù)進行歸一化處理。本文把樣本值與樣本特征最大值的比值作為輸入,計算公式如(4)所示,計算后,樣本特征各數(shù)值將會在[0,1]范圍之間。
(4)
式中:Xi表示某組樣本的輸入值;X和Xmax分別表示特征真實值和特征的最大值。
本文采用最小-最大規(guī)范化方法歸一化后的17種輸入特征來評估軟件開發(fā)者當前的價值,并根據(jù)招聘人員對軟件開發(fā)者的招聘欲望作為軟件開發(fā)者價值,把軟件開發(fā)者價值分為5類,如表1所示。
表1 軟件開發(fā)者價值類別說明
本文構建了包含一個卷積層、一個池化層、一個全連接層、一個輸出層的卷積神經(jīng)網(wǎng)絡,因為輸入數(shù)據(jù)維度較低,所以不需要過于復雜的網(wǎng)絡結構。首先卷積層經(jīng)過卷積核提取出不同的特征,再經(jīng)過池化層的最大池化使得后續(xù)計算復雜度降低并提取樣本主要特征。因為評估樣本數(shù)據(jù)量有限,為降低過擬合風險,引入池化層Dropout[23],以此增加可訓練模型數(shù)量。最后通過全連接層及Softmax分類器輸出層得到軟件開發(fā)者所屬價值類別的概率,并反歸一化為對應類別。類別數(shù)據(jù)同時與對應的日期信息作為特征輸入構建的LSTM神經(jīng)網(wǎng)絡中預測軟件開發(fā)者未來價值。本文采用的網(wǎng)絡模型結構如圖2所示,其中:Ti表示輸入的第i種元素;T表示為此組數(shù)據(jù)采集時間。
圖2 混合神經(jīng)網(wǎng)絡結構
3.1.1卷積神經(jīng)網(wǎng)絡
輸入樣本Xi∈V包含17個元素,設卷積核尺寸為F,步長為S,補零層數(shù)為P,卷積核個數(shù)為N,則經(jīng)過卷積后的特征圖大小為:
(5)
對于每一個卷積層的神經(jīng)元i:
neti=Xi×Fi+bi
(6)
outi=f(neti)=max(0,neti)
(7)
式中:neti表示卷積核輸出的第i個元素;Fi表示卷積核的第i個元素;bi表示卷積核的偏置;f表示卷積層的ReLU激活函數(shù)。
池化層使用最大池化,設池化尺寸為Q×1,步長為S,那么卷積后每個特征圖對應的池化輸出大小為:
(8)
經(jīng)過池化層的降維,然后再經(jīng)過全連接層的計算,最后通過輸出層的Softmax分類器,得到軟件開發(fā)者對應每一類價值的概率,五類概率總和為1,其中概率最大的為軟件開發(fā)者對應的價值類別。
模型使用反向傳播算法進行訓練,通過不斷的迭代使誤差函數(shù)收斂到最小,本文使用的誤差函數(shù)為交叉熵損失函數(shù),公式如下:
(9)
式中:ai表示實際輸出;yi表示期望的輸出;C表示誤差。
模型通過Adam優(yōu)化器[24]進行優(yōu)化,該算法基于梯度的一階矩估計與二階矩估計計算更新步長,結合AdaGrad和RMSProp優(yōu)化算法的優(yōu)點,使得參數(shù)更新不受梯度變化影響,且能夠自動調整學習率。首先計算時間t時刻的梯度:
gt=▽θJ(θt-1)
(10)
其次計算梯度的指數(shù)移動平均數(shù),更新有偏第一矩估計和有偏二階原始矩估計,指數(shù)衰減率β1=0.9,β2=0.999。
mt=β1mt-1+(1-β1)gt
(11)
(12)
然后計算偏差修正的一階矩估計和偏差修正的二階矩估計:
(13)
(14)
最后用以上計算出來的值更新模型的目標函數(shù)θ,初始學習率設置η=0.001,ε=10-8。
(15)
算法流程如算法1所示。
算法1軟件開發(fā)者價值評估算法
輸入:數(shù)據(jù)樣本訓練集U={X1,X2,…,X992},測試集T={X993,X994,…,X1 416},其中Xi=(PR,W,S,R,CM,RE,B,Prs,CT,LN,FR,FK,FE,FI,SS,EC,AD,V),V∈{1,2,3,4,5},ε,學習率η,迭代次數(shù)E,卷積核FC,卷積核個數(shù)N,卷積步長SC,池化窗口FS,池化步長SS,指數(shù)衰減率β1、β2。
輸出:軟件開發(fā)者價值類別概率V′。
1.T←SMOTE(U);
//均衡擴充樣本
2.form←1 to length(T) do
//最大最小化歸一
4.Yi,i=m←one-hot(V);
//樣本標簽轉化為獨熱編碼
5.end for
6.fore←1 toEdo
//多次迭代訓練網(wǎng)絡
7.form←1 to length(U) do
//訓練集訓練
8.forn←1 toNdo
//不同卷積核的訓練
//一維卷積
//激活函數(shù)
//最大池化
12.end for
//池化展平
//全連接層
//SoftMax分類器
16.Lm←Cross_Entropy_Loss(Yi,Ym);
//交叉熵損失函數(shù)
17.Adam(β1,β2,η,ε);
//Adam優(yōu)化器更新參數(shù)
18.end for
19.end for
20.forn←1 to length(T) do
//測試集評估
21.Yn←trained_CNN(Tn);
//訓練后CNN測試集樣本評估價值
22.V′←decode(Yn);
//獨熱編碼解碼為對應價值類別
23.acc,recall,fscore←compare(V′,Tn.V);
//樣本真實值與評估值計算評價指標
24.end for
3.1.2LSTM神經(jīng)網(wǎng)絡
使用訓練完成的卷積神經(jīng)網(wǎng)絡對軟件開發(fā)者歷史價值做出評估,結果隨對應時間輸入LSTM神經(jīng)網(wǎng)絡中。LSTM通過神經(jīng)元中的輸入門、遺忘門、輸出門來控制神經(jīng)元對歷史信息的記憶與遺忘,使得神經(jīng)網(wǎng)絡能夠學習序列中的長期依賴關系。
輸入門:
it=σ(Wxixt+Whiht-1+Wcict-1+bi)
(16)
遺忘門:
ft=σ(Wxfxt+Whfht-1+Wcfct-1+bf)
(17)
當前時刻的單元狀態(tài):
ct=ftct-1+ittanh(Wxcxt+Whcht-1+bc)
(18)
輸出門:
ot=σ(Wxoxt+Whoht-1+Wcoct-1+bo)
(19)
ht=ottanh(ct)
(20)
式中:Wxi、Wxf、Wxcv和Wxo分別表示輸入門、遺忘門、當前單元狀態(tài)和輸出門第i層權重矩陣;xt、ht-1和ct-1分別表示當前時刻網(wǎng)絡的輸入值、上一時刻的輸出值和上一時刻的單元狀態(tài);bi、bf、bc和bo分別表示對應門的偏置;σ為Sigmoid非線性函數(shù)。通過式(16)-式(20)得出模型輸出,并根據(jù)式(21)計算其反向傳播誤差。
(21)
算法流程如算法2所示。
算法2軟件開發(fā)者價值預測算法
輸入:注冊時間大于三年的軟件開發(fā)者三年內每日所有指標經(jīng)過CNN評估后產(chǎn)生的數(shù)據(jù)集D={D1,D2,…,D1 095},訓練集T1={D1,D2,…,D730},測試集T2={D731,D732,…,D1 095},其中Dm=(d,V′),d為數(shù)據(jù)采集日期,V′∈{1,2,3,4,5};lookback=2。
1.U←create_dataset(T1,lookback);
//根據(jù)條件劃分訓練集
2.form←1 to length(D) do
//LSTM訓練
3.Lm←LSTM(Um);
4.Dm←Dense(Lm);
//全連接層得到預測值
5.Loss←MSE(Dm,Um);
//計算誤差
6.Adam(β1,β2,η,ε);
//更新參數(shù)
7.end for
8.MPAE,RMSE←LSTM(T2);
//計算網(wǎng)絡評價指標
//預測未來價值類別
采用GitHub中采集并由專家做出評估的共992組數(shù)據(jù)作為訓練數(shù)據(jù),在采用SMOTE算法平衡數(shù)據(jù)集后,對不同參數(shù)設置下的卷積神經(jīng)網(wǎng)絡進行訓練得到其準確率,卷積神經(jīng)網(wǎng)絡各參數(shù)對模型準確率的影響如表2所示。
表2 卷積神經(jīng)網(wǎng)絡各參數(shù)對模型準確率的影響
續(xù)表2
可以看出隨著卷積核尺寸的增加,模型準確率先提升再下降,訓練時間則不斷增加,因為較小的卷積核能夠提取樣本中更為細化的特征,但是過于細化會導致過擬合,影響模型的分類能力。同時較大的卷積核會使卷積產(chǎn)生的特征輸出增加,計算量暴增,這就導致了訓練時間的增加,因此根據(jù)訓練集準確率及訓練時間確定3×1的卷積核尺寸。
確定卷積核尺寸之后,對卷積核的個數(shù)進行實驗。從表2中可以看出增加卷積核個數(shù),訓練集的準確率開始時有所提升,但是再繼續(xù)增加卷積核個數(shù)時,模型的準確率反而降低,訓練時間卻大大增加,因此根據(jù)訓練集準確率及訓練時間,本文選取的卷積核個數(shù)為128。
最后確定池化窗口大小,從表2中可以看出隨著池化尺寸的增加,模型的準確率、訓練時間則不斷降低。這是因為最小的1×1池化尺寸輸入輸出相同,學習到的特征精細,但是訓練時間將大幅增加且可能導致過擬合,較大的池化尺寸則可能忽略了樣本特征,因此綜合考慮訓練集準確率及訓練時間,本文選取了2×1的池化尺寸。
在選定各參數(shù)后,計算準確率最高情況下卷積神經(jīng)網(wǎng)絡在測試集上各項評價指標,如表3所示,其訓練誤差、準確率和迭代次數(shù)關系如圖3、圖4所示。
表3 測試集分類評價指標
圖3 卷積神經(jīng)網(wǎng)絡訓練誤差
圖4 卷積神經(jīng)網(wǎng)絡評估準確率
使用訓練完成的卷積神經(jīng)網(wǎng)絡對注冊時間大于三年的軟件開發(fā)者歷史數(shù)據(jù)進行評估,使用前兩年歷史數(shù)據(jù)作為訓練集,并以2019年數(shù)據(jù)作為驗證集,對LSTM神經(jīng)網(wǎng)絡進行訓練,訓練誤差如圖5所示;為了說明本文LSTM神經(jīng)網(wǎng)絡的預測性能,選擇MSE(均方誤差)、RMSE(均方根誤差)、MAE(平均絕對誤差)、MAPE(平均絕對百分比誤差)和SMAPE(對稱平均絕對百分比誤差)對建立的模型預測效果進行評估,結果如表4所示。
圖5 LSTM訓練誤差
表4 預測模型評價指標
利用已建立的評估模型對測試集軟件開發(fā)者進行價值評估及預測,部分評估結果見表5。
表5 部分軟件開發(fā)者價值評估結果
取序號為4的軟件開發(fā)者歷史記錄,通過卷積神經(jīng)網(wǎng)絡評估人力資源價值后輸入LSTM進行擬合,通過訓練集樣本的人力資源價值變化數(shù)據(jù)對LSTM進行擬合訓練,預測開發(fā)者在測試集上的人力資源價值類別變化情況。
通過驗證集數(shù)據(jù)分析可得:
(1) 424組驗證數(shù)據(jù)得出的軟件開發(fā)者價值評估結果與實際價值相符,評估正確率為98.59%。
(2) 通過表5中序號為1和2的軟件開發(fā)者數(shù)據(jù)可以看出,在軟件開發(fā)者無存儲倉庫或者有存儲倉庫無活躍的情況下,軟件開發(fā)者是無價值的,符合管理學中人力資源價值評估的預測性特點。即當前的評估值能夠在一定程度上反映未來其能夠創(chuàng)造的價值,且未來不能創(chuàng)造價值的人力資源,是無法評估其當前價值的。
(3) 通過價值評估得到的軟件開發(fā)者價值類別,可以幫助招聘人員快速發(fā)現(xiàn)GitHub中高價值技術人才,為企業(yè)人才戰(zhàn)略提供基礎保障。并且根據(jù)預測結果,能夠大致判斷該用戶的職業(yè),如圖6和圖7所示,用戶在兩年內價值為1的時間階段較長且集中于寒暑假,可判斷大致職業(yè)為教師或者學生,此類軟件開發(fā)者招聘概率較高;而在職用戶價值為1的時間較短且頻繁,此種情況下招聘概率較低,若其前期價值變化符合規(guī)律而近期出現(xiàn)大幅變化,則招聘成功率將會增加。
圖6 LSTM神經(jīng)網(wǎng)絡訓練集擬合
圖7 LSTM神經(jīng)網(wǎng)絡測試集擬合
本文提出一種使用混合神經(jīng)網(wǎng)絡對GitHub軟件開發(fā)者進行人力資源價值評估的方法,并對軟件開發(fā)人才未來價值進行預測。首先分析了影響軟件開發(fā)者的價值的因素,選取17種參數(shù)作為特征參數(shù)構建模型并訓練;然后對GitHub軟件開發(fā)者進行實例驗證,通過對歷史數(shù)據(jù)的學習,其預測結果符合當前人力資源,能夠有效為企業(yè)招聘高技術人力資源及為企業(yè)內部人力資源考核提供參考,具有廣泛的現(xiàn)實意義。
因為GitHub中無軟件開發(fā)者的貨幣性特征,本文只選取了其中對評估影響較大的非貨幣性且可數(shù)值化的參數(shù),后續(xù)應考慮把一些文本參數(shù)量化后作為特征,如軟件開發(fā)者使用編程語言、項目使用編程語言等,并且根據(jù)這些數(shù)據(jù)評估軟件開發(fā)者在不同編程領域的價值,以此作為推薦系統(tǒng)中Top-N排序的一項指標實現(xiàn)人力資源個性化推薦。