劉承佳,吳鵬,鄭曉娟
(深圳供電局有限公司,廣東 深圳 518000)
隨著信息技術的發展,越來越多的企業通過人力資源管理系統來完成數字化管理。而電力企業經過多年的發展,部門繁多且員工數量龐大,導致人力資源信息量過載,現有系統已無法對其進行合理地調配。因此,需要開發一種新的人力資源信息系統來自動篩選適合不同崗位的人才,并對已有的人才儲備進行自動化分析[1-3]。信息分析和推薦系統是解決信息過載的方式之一,系統首先對收集的信息進行量化建模,然后使用推薦算法實現對信息的分析與過濾,最終為用戶推薦其可能感興趣的信息[4-5]。文中推薦算法選擇了應用較為廣泛的協同過濾算法(Collaborative Filtering,CF),然而該算法存在冷啟動的問題。故文中在協同過濾算法的基礎上,結合深度學習算法(Deep Learning,DL),利用其在無監督學習上的優勢,提出了一種改進的信息綜合分析算法。
該文設計推薦系統的作用是從海量數據中分析、篩選出用戶可能感興趣的對象。其基本組成:用戶特征獲取、用戶模型建立、項目模型建立以及推薦算法執行。其中,用戶特征主要是從崗位信息中獲取,包括崗位名稱、技能要求、人數需求與薪資福利等信息;之后,通過所獲得的用戶特征建立用戶模型;而項目模型的建立則需要從企業內部員工信息中獲取姓名、年齡、教育、技能和工作經歷等相關信息,并通過一個評分矩陣將項目特征根據用戶模型轉化為具體評分,再形成最終的模型。同時,每項評分與用戶模型的相關度有關,相關度越高,評分越高。最終通過執行推薦算法向用戶推薦目標項目。因此該文使用協同過濾算法[6-8],該算法原理是通過尋找與已被推薦項目特征相似的項目來作為潛在目標,并選取排序Top-N 的項目進行推薦。
深度學習在不同領域上的應用越發廣泛[9-12],該文采用深度學習模型棧式去噪自編碼器(Stacked Denoising Autoencoder,SDA)來改進算法。SDA[13]由多個去噪自編碼器組成,自編碼器是一種用于無監督學習的神經網絡模型,該模型通過尋找最優化網絡參數將編碼數據轉換成最接近原始輸入的解碼數據[14-16]。而去噪自編碼器則是通過在原始輸入數據中加入噪聲數據,以期在編碼階段更優地獲取輸入數據中的關鍵信息。去噪自編碼器特征學習過程,如圖1所示。

圖1 去噪自編碼器特征學習過程
原始數據x∈[0,1]d通過隨機擾動映射為受損數據x′。然后編碼器利用非線性函數s將受損數據進行編碼以獲得隱含特征y∈[0,1]d,該過程可用函數fθ(x)表示為:
式中,θ={W,b}表示該映射的參數集合,W為d×d′維的權值參數矩陣,b為偏置向量。
解碼器由函數gθ′(y) 表示,其作用是將隱含特征y重新映射回重構數據z∈[0,1]d中,該過程可表征如下:
式中,θ′={W′,b′}表示該映射的參數集合,W′為d×d′維的權值矩陣,b′為偏置向量。
每個輸入數據x通過編解碼器均能得到一個隱含特征表示y以及原始輸入數據的重構數據z。去噪自編碼器通過反復優化模型中的參數,以獲得一個盡可能接近原始輸入數據x的重構數據z,進而令重構誤差最小,則有:
取釉質再礦化實驗組和釉質脫礦抑制實驗組中的所有釉質塊,去除抗酸指甲油后,進行干燥處理。用SEM雙面碳導電膠將釉質塊固定于樣品臺上,然后置于離子濺射儀中真空噴金鍍膜。鍍膜完成后,SEM下(×1 000)觀察所有樣本釉質表面形貌。
同時為了防止因模型權值過大而導致的過擬合現象,設立了一個權重衰減項:
最終得到模型的目標函數為:
式中,λ為權重衰減參數,通過對目標函數J使用梯度下降法(Gradient Descent,GD)即可獲得模型的最優參數。此時,x(i)即為z(i)的隱含特征表示。
棧式去噪自編碼器將前一層自編碼器提取到的特征作為后一層的原始輸入,再通過誤差反向傳播來調節每層的模型參數,使得各層編碼器的重構誤差均較小,最終獲得魯棒性更優的隱含特征[9]。棧式去噪自編碼器結構,如圖2 所示。

圖2 棧式去噪自編碼器結構
由于協同過濾算法需要根據已評分的項目來推算其他項目的得分。因此在系統的啟動初期,已評分項目較少,若仍通過上述方式進行項目評分,則會導致推薦Top-N 項目的準確率較低,而此種情況即為冷啟動問題。為了解決該問題,文中通過深度學習算法建立評分矩陣來預測冷啟動項目的評分,再利用協同過濾算法進行項目推薦。改進后的具體算法流程,如圖3 所示。

圖3 協同過濾結合深度學習的算法流程
協同過濾結合深度學習算法首先進行的是數據的采集與預處理。數據采集主要是從人力資源系統中采集分公司、用人崗位以及人才簡歷等信息。通過數據處理將采集的數據進行轉換、整理并形成數據庫,該數據庫的結構如圖4 所示。

圖4 數據庫結構
其可分為缺編崗位信息(t_job),年齡信息(t_age_type)、工作時間信息(t_worktime_type)、儲備人才信息(t_user)、工作類別信息(t_category_type)、教育信息(t_education_type)、薪酬信息(t_salary_type)和評分信息(t_rating)。項目與用戶的匹配程度通過評分信息來體現,rating 表示最終的評分,其分值越高代表項目與用戶的匹配度越高。
數據采集處理后,構建用戶-項目評分矩陣以及項目屬性矩陣。評分矩陣是將用戶的招聘需求經過一定規則轉化成各項評分;項目屬性矩陣則是將員工的信息轉化成文本特征向量,并采用棧式去噪自編碼器從該向量中提取出項目的低維隱含特征向量。概率矩陣分解通過項目低維特征向量以及評分矩陣進行學習,最終獲取用戶和項目的隱語義向量。隱語義模型可通過下式計算用戶a對項目i的評分:
式中,ma,k、ni,k分別代表用戶a的喜好與第k個隱語義的關系,以及項目i與第k個隱語義的關系,然后再選取Top-N 評分項目進行推薦。
系統軟件架構采用如圖5 所示的MVC 結構。

圖5 系統軟件架構圖
其中,應用層負責系統頁面顯示與界面交互,包含基礎的應用、人才推薦和個性化信息顯示等;中間層則實現數據的采集處理、構建數據庫以及深度學習模型的訓練、項目評分矩陣的刷新等;存儲層則負責對數據庫進行管理,包括應用層與底層存儲之間的數據交互、中間層深度學習模型訓練與數據庫之間的交互等。該結構將系統的各個組件解耦,以降低組件之間的相互依賴性,從而提高系統的可移植性。
系統的數據流如下:
1)應用程序向用戶提供基本的業務功能;
2)ETL 服務器采集用戶的行為日志,并從MySQL 中獲取系統采集的原始數據;
3)經清洗和轉化,形成可用于算法模型訓練的數據格式并保存在MySQL 中;
4)訓練服務器從MySQL 中加載訓練數據庫進行訓練,得到的推薦結果保存在MySQL 中;
5)應用程序從MySQL 中獲取推薦結果并向用戶進行展示;
6)同時ETL 不斷監控系統中是否有新的簡歷信息,并通知訓練服務器及時更新數據,且刷新評分矩陣。
推薦系統的性能主要通過推薦算法的平均絕對誤差、均方根誤差、準確率以及召回率指標進行衡量。其中,平均絕對誤差和均方根誤差的計算公式可表征為:
式中,U、I分別代表用戶集與項目集,分別為項目β對于用戶α的預測及實際評分。準確率則為用戶感興趣的項目占系統推薦項目總數的比例,召回率為系統推薦項目中用戶感興趣的項目占所有感興趣項目的比例。
該文采集了企業內部的1 000 名員工簡歷信息與企業發布的50 個工作崗位,同時將冷啟動項目設置為100 個。其中,將10%的簡歷作為訓練集,剩余90%則作為測試集。分別采用協同過濾算法以及所提算法進行實驗,選出評分最高的100 名內部人才進行推薦,實驗結果如表1 所示。

表1 實驗結果
從表中可看出,該文算法的誤差較低,且準確率較協同過濾算法提升了約20%。
此外,文中還分別在不同冷啟動項目下對兩種推薦算法進行了測試,結果如圖6 所示。

圖6 冷啟動項目對推薦準確率影響
由圖可知,該文算法對冷啟動項目的敏感度較低,而協同過濾算法在冷啟動項目增多的情況下推薦準確率持續下降。由此證明,該文算法有效解決了傳統協同過濾算法的冷啟動問題。
電力企業的發展使得員工數量快速增長,同時還導致人力資源數據量的持續增多。對于企業而言,如何更有效地將人才匹配到合適的崗位,并對內部人才進行分析與歸類極為重要。文中研究了基于協同過濾與深度學習的信息綜合分析算法,其在協同過濾算法的基礎上,通過深度學習模型訓練構建項目的評分矩陣,還利用該矩陣來計算冷啟動項目的預測分數,進而克服了協同過濾算法中的冷啟動問題,構建出了相對應的推薦系統實現人員推薦。此外,該文算法還進一步降低了篩選海量數據所耗費的人力及時間,從而可以為企業人事提供良好的數據支撐。