陸佳雯,武 頻,雷志丹,朱儒康
(上海大學 計算機工程與科學學院,上海 200444)
傳統線下招聘模式因成本高,效率差逐漸被線上招聘模式所取代。目前網站招聘推薦內容主要以目標職位精準性為主,推薦的職位類別相對狹窄[1]。根據求職者自身技能性質以及對崗位的要求,本文將通常概念的求職者分為兩大類:專業型人才和通用型人才。專業型人才指通常有著明確的行業方向意愿,從事職業對專業技能要求高的人群。通用型人才從事的職位通常對專業技能要求不高,且這類人群跨行就業率高,如快遞員、保潔和導購等等。傳統的推薦算法針對專業型人才有著不錯的推薦效果,而對于通用型人才,推薦結果準確率不高且崗位多樣性不足。
如廣泛使用的協同過濾推薦算法[2]通過分析用戶歷史評分情況,由于職位推薦數據集缺乏評分等反饋信息,所以該方法不適合人才崗位匹配型數據。基于內容的過濾推薦[3-5]通過抽取物品屬性進行特征學習,但是沒有考慮到求職者本身的屬性特征對擇業心理的影響。
針對傳統方法無法根據通用型人才這類人群本身的特點來實現多樣性、有效性的職位推薦的問題,本文算法從求職者本身的特點出發,在人口統計學數據的基礎上,利用層次分析法構建用戶屬性的層次結構模型并量化,用廣義Shapley函數與離散Choquet積分相結合的方法計算相似人群的最終評分,根據相似人群列表來進行職位推薦。該方法能有效緩解冷啟動問題,實現對通用型人才多樣及有效的職位推薦。
基于人口統計學數據的職位推薦將用戶本身非敏感的個人基本信息融入到相似人群的計算當中,建立用戶特征模型,得到最近用戶鄰集,最后系統將鄰集中評分高的職位進行推薦[6]。基于人口統計學數據的推薦相比其它的推薦算法,有以下幾方面優勢:
(1)有效緩解冷啟動問題。初次使用系統的用戶根據自身的屬性進行分析推薦,這些屬性不會因沒有使用記錄而缺失;
(2)不依賴用戶本身的數據。這個方法具有領域獨立性,可以應用在不同的領域。在一些特殊的領域,像音樂、電影以及職位的推薦,鄰近用戶的不同喜好及經歷不同,傳統的協同過濾方法不能有針對性的推薦。
加入人口統計學數據的推薦算法,彌補了傳統推薦算法的一些缺陷。通過加入用戶本身的屬性特征,計算相似人群,綜合考慮了通用型人才這類人群的相似屬性特征對擇業心理的影響,實現推薦的多樣性。本文利用層次分析法,對人口統計學數據進行量化處理[7],并使用廣義Shapley函數和人口統計學數據計算用戶間的相似度,最后利用逐級離散Choquet積分自下而上計算最終的模糊綜合評分[8],將最終評分列表的TOPN個用戶對應的職位列表推薦給當前用戶。
傳統的賦權方法大多存在著主觀因素強的問題[9,10]。在利用AHP算法對用戶指標進行重要度計算時,指標之間可能存在非獨立性依賴關系。傳統的可加測度雖然考慮到指標本身的重要性,卻忽視了兩兩組合時的聯合重要度。為了解決上述問題,本文將專家對應指標給出的權重通過公式計算出指標間的模糊測度,然后通過廣義Shapley函數求得最優權重。
定義1λ-模糊測度[11]:設P(X) 是非空集合X={x1,x2,…,xn} 的冪集,給定λ∈(-1,∞),μ∶P(X)→[0,1], 如果滿足以下條件則稱μ是X上的λ-模糊測度:
(1)μ(?)=0,μ(X)=1
(2)?A,B∈P(X), 若A?B, 則μ(A)<μ(B);
(3)μ(A∪B)=μ(A)+μ(B)+λμ(A)μ(B), 其中λ∈(-1,∞)。
λ模糊測度可以理解為屬性集A的重要程度。若λ=0即μ(A+B)=μ(A)+μ(B), 則μ是X上的可加測度,表示A和B之間是相互獨立的;若λ<0,μ(A∪B)<μ(A)+μ(B), 則μ是X上的次可加測度,表示A和B之間存在冗余關系;若λ>0,μ(A∪B)>μ(A)+μ(B),則μ是X上的超可加測度,表示A和B之間存在互補關系。在多指標決策問題當中,λ-模糊積分能實現更精準表達指標間的復雜相互影響關系。
定義2 廣義Shapley函數[12]:在決策過程中,由于指標間存在關聯關系,指標集S∈P(X) 的重要度不僅與自身有關系,還要考慮到其它指標。Shapely函數在博弈論領域中被廣泛研究。由于模糊測度μ是基于冪集的,所以一般的模糊測度增加了計算廣義Shapley值的復雜度。為了降低計算復雜度,本文利用λ-模糊測度來替換一般模糊測度。綜合考慮指標集S的重要度。廣義Shapley值定義如下
(1)
其中,X是所有指標 {x1,x2,…,xn} 的集合,S是X的任意一個子集,XS表示X的差集,n,t和s分別是N,T和S的基數,μ是X上的模糊測度。
由式(1)可知,如果S={i}, 則
(2)
本文利用相似人群來進行職位推薦,相似人群選擇的有效性對后期推薦的精度有直接影響。傳統的協同過濾算法會受數據量大的影響而增加數據稀疏的概率。本文通過基于人口統計學數據和廣義Choquet積分的層次分析法來計算用戶相似度,融入用戶個人基本屬性可以反映用戶特征及興趣偏好,具體算法流程如下:
步驟1 建立評估目標的遞階層次結構
該步驟主要是剖析復雜系統的過程,將目標的注意力放在層次結構的頂層且頂層僅有一個元素,下層元素的個數不定。評估目標的基本層次結構包含3層,從上往下依次是目標層、準則層以及指標層,這是基于逐層分解的思想而建立系統的評估體系。根據用戶在職位選擇過程中的影響因素,本文將用戶指標定為個人信息相似度及能力相似度這兩個準則,個人信息相似度準則包含的指標有年齡、性別、最高學歷、專業和城市,能力相似度準則包含的指標包括求職意向、歷史職位、工作經驗(時間)。構造的層次結構如圖1所示。

圖1 層次結構模型
步驟2 計算模糊測度及Shapley值
以圖1中個人信息相似度指標為例,其對應有5個評估指標:年齡C1, 性別C2, 最高學歷C3, 城市C4, 專業C5。 通過專家對應5個指標構造判斷矩陣,即任意兩因素之間的重要程度比值。對比矩陣如下


表1 1~9數量標度
上訴構造的判斷矩陣不一定滿足一致性,例如C1∶C2=2∶1,C2∶C3=3∶1,C1∶C3=5∶1 (如果滿足一致性應該為6∶1)。當CR小于0.1時則認為該判斷矩陣具有一致性。如果滿足一致性,那么最大特征值所對應的特征向量即為各指標對應的權值。一致性可通過計算一致性比率CR來判定,由式(3)表示
CR=CI/RI
(3)
其中,RI大小為固定值,它和矩陣的階數n有關,具體數值見表2。

表2 RI指數對照
CI計算公式如式(4)所示
(4)
其中,n為判斷矩陣的階數,λ是最大特征值。由最大特征向量得到各指標的權值μ=(μ(C1),μ(C2),…,μ(Cn))。 考慮到指標之間的聯合重要度。令μ(Ci) 是Ci的權值,P(C) 是C={C1,C2,…,Cn} 的冪集。基于λ-模糊測度,一些學者[12]給出了計算μ(A)(A?C即?A∈P(C)) 的方法,模糊測度公式如下
(5)
尤其當A=C時,μ(A)=μ(C)=1。 因為集合C={C1,C2,…,Cn} 存在關聯關系,所以有下式成立
(6)
將每個指標對應的權值代入式(6)求得λ的值,再將所求λ值代入式(5),可以分別求得C={C1,C2,…,Cn} 各指標子集的模糊測度。根據式(1)、式(2)以及得到的各指標子集的模糊測度,進一步計算得到各指標的廣義Shapley值作為指標最終權重。
步驟3 相似度計算
求職者間的指標相似度F={f(c1),f(c2),…,f(cn)} 計算包括數值型數據和字符型數據,指標間相似度的度量f(ci)=sim(x,y) 應該具有以下幾個特性:
(1)對稱性:sim(x,y)=sim(y,x);
(2)等價性:sim(x,y)=1,sim(y,z)=1, 那么sim(x,z)=1;
(3)非負性: 0 局部相似度計算公式見表3。 表3 具體局部相似度計算公式 步驟4 求綜合評估結果 每個用戶最終相似度評分通過離散Choquet積分公式計算得出。設 (X,F) 是可測空間,μ∶F→[0,+∞] 上的非負單調集函數,且μ(?)=0,f是空間上的非負可測函數的集合。f關于μ的積分定義為 (7) 其中,Fα={ci|f(ci)≥α,ci∈C},C={C1,C2,…,Cn},α∈[0,∞)。 設μ為P(C) 上的模糊測度。f(Ci) 表示函數f(C) 在點Ci處的值,令W={f(C1),f(C2),…,f(Cn)},W中的函數值按升序排列,表示形式如下 上述條件成立,式(7)可以變形如下 (8) 基于底層的廣義Shapley的模糊測度和相似度數值,通過Choquet積分自下而上逐級求得評估結果。將得到的TOPN個相似用戶的對應數據庫中的職位列表推薦給當前用戶。 實驗數據是由招聘公司提供的真實的招聘匹配信息,包括3217條職位-求職者匹配信息、2041條公司信息、12 335 條求職者信息、5519條職位信息。以這些數據的匹配信息作為實驗數據集。 實驗結果通過計算準確率、召回率來衡量。其中,L(v) 表示通過上述算法為求職者v推薦的職位列表。Mv表示職位錄取的求職者列表 根據準確率和召回率計算調和平均值M1, 公式為 本文依據圖1并參考招聘公司專家給出的評價矩陣得到C={C1,C2,…,C5} 各指標的權重向量μ1=(0.2,0.3,0.5,0.4,0.3)T, 考慮到指標之間的關聯關系,由式(6)可以得到 從而得到λ=-0.804。 同理,對于能力相似度準測的指標:求職意向C6, 歷史職業C7, 工作經驗C8賦予權重向量μ2=(0.6,0.4,0.4)T, 可得λ=-0.698; 目標層的指標:個人信息相似度C9, 能力相似度C10賦予權重μ3=(0.5,0.6), 可得λ=-0.33。 根據式(5)獲得每個指標子集的模糊測度,根據式(2)進一步計算各指標子集的廣義Shapley模糊測度,以個人相似度指標為例,其各指標子集的廣義Shapley值見表4。 表4 個人相似度各指標子集的廣義Shapley值 在求得各層的廣義Shapley值與表3中的相似度計算公式的基礎上,根據式(8)離散Choquet積分公式,逐層計算Choquet積分,得出相似用戶列表。 圖2展示了調和平均值的對比結果,通過利用眾和雷達招聘網站提供的真實招聘數據來計算推薦成功率,將結果與傳統推薦算法進行對比。發現本文提出的基于人口統計數據和廣義Choquet積分的職位推薦算法在TOPN的各個取值中都有更好的效果。面對通用型人才這類跨行就業率高的人群,傳統推薦算法很難通過計算職位的精準性來滿足求職者的擇業心理。當N取值較小時其推薦效果仍然優于另外兩種算法,因為在計算時融合了人口統計學數據與廣義λ-Shapley Choquet積分,很好彌補了權重賦值的主觀性并考慮了指標間的關聯關系,且有效緩解了冷啟動問題。當N的取值越大時,推薦效果也越好。這是由于對于通用型人才來說,擇業沒有一個固定的行業意愿,受不同崗位待遇的影響較大,跨行就業率高。傳統職位推薦算法從追求崗位推薦的精準性方面很難滿足這類人群的需求。從圖2中可以看出,當N的取值達到35時,本文提出的職位推薦算法M1達到了37.1%,傳統的基于AHP的推薦算法為28.75%,而基于內容的推薦算法僅為23.4%,M1值至少提高了8.35%。由此驗證了融合廣義Shapley函數和Choquet的層次分析法的職位推薦算法要比單獨考慮一種因素的算法效果好得多,這也驗證了本文算法的有效性。 圖2 3種算法調和平均值比較 在職位推薦高有效性的前提下,為了更直觀地展示為通用型人才在職位推薦時的崗位多樣性,選取了表5中3個具有不同屬性特征的人群代表,用戶1和用戶2屬于通用型人才,這類人群在求職時會更關注工作地點以及薪資待遇,且同類別人群跨行就業概率大,所以表6通過計算相似人群來獲取的推薦結果呈現出推薦崗位的多樣性。同時,通過相似人群的共同特征來獲取的職位推薦列表也為求職者提供了潛在職業的可能性。而用戶3屬于專業型人才范疇,由于這類人群本身在求職時有明確的目標崗位,推薦結果的行業跨度不如前兩者來得大,這樣也滿足了這類人才在求職時的行業需求。 表5 待推薦目標求職者 表6 目標用戶TOP-5職位推薦 本文提出了一種基于人口統計學數據和廣義Choquet積分的職位推薦算法,結合了非可加測度與廣義λ-Shapley Choquet積分對傳統的層次分析法進行優化,對相似用戶進行排序和擇優。區別于傳統基于內容的推薦算法,本文充分考慮了通用型人才這類人群在擇業時考慮的外在因素,算法從個人基本信息相似度和能力相似度出發,考慮了年齡、性別、最高學歷、專業、城市、求職意向、歷史職業、工作經驗這幾個指標,利用改進的層次分析法將個人屬性進行量化,由專家給出每個指標的重要度,利用廣義Shapley函數計算出指標之間的最優模糊測度。最后利用Choquet積分從下而上逐層計算得出最終的模糊綜合評分,選取TOPN個用戶ID,在用戶庫中查詢對應的職位列表進行推薦。 該方案有效處理了不同指標之間的關聯關系,彌補了傳統推薦算法中職位推薦范圍局限、無法融合求職者本身的屬性特征、挖掘潛在職業可能性的問題。因而具有很強的可操作性以及實用性。實驗結果顯示,對比傳統的基于內容或者基于AHP的推薦算法,本文提出的職位推薦算法效果對于通用型人才人群更佳。為推薦算法的應用研究提供了參考。融合職位的流行度走勢進行職位推薦是下一步的研究方向。

3 實驗結果
3.1 實驗數據集
3.2 基于人口統計學與廣義Choquet積分的推薦實驗結果




4 結束語