張 婳,彭海英
(1.重慶郵電大學(xué) 通信與信息工程學(xué)院,重慶 400065;2.重慶郵電大學(xué) 重慶高校市級光通信與網(wǎng)絡(luò)重點實驗室,重慶 400065;3.重慶郵電大學(xué) 泛在感知與互聯(lián)重慶市重點實驗室,重慶 400065)
為減輕畢業(yè)生就業(yè)壓力,提升就業(yè)率,用推薦算法來實現(xiàn)精準(zhǔn)就業(yè)在當(dāng)前尤其重要。與傳統(tǒng)推薦場景不同的是,對應(yīng)屆大學(xué)生的就業(yè)推薦,用戶(大學(xué)畢業(yè)生)和項目(職業(yè))只在畢業(yè)生成功就業(yè)時產(chǎn)生一次交互,即每次推薦都伴隨著冷啟動問題,評分矩陣極其稀疏。目前,就業(yè)推薦常用的算法有協(xié)同過濾、基于內(nèi)容推薦和混合推薦等[1]。文獻[2]基于協(xié)同過濾的推薦算法,根據(jù)畢業(yè)生歷史就業(yè)數(shù)據(jù)的偏好計算企業(yè)敏感度、企業(yè)信任度,為畢業(yè)生推薦合適的企業(yè)列表。文獻[3]基于內(nèi)容的推薦算法,分別使用隨機森林和支持向量機的方法對學(xué)生特征進行提取,進而計算學(xué)生、職業(yè)匹配得分。為了平衡單一推薦算法的缺陷,混合推薦算法將多個推薦算法進行組合。文獻[4]進行了特征層面的組合,它對職業(yè)關(guān)聯(lián)性進行了深度挖掘,使用基于關(guān)系統(tǒng)計學(xué)習(xí)的貝葉斯網(wǎng)絡(luò)模型推斷職業(yè)相關(guān)性。文獻[5]進行了模型層面的組合,模型前半部分提取應(yīng)聘者與職業(yè)特征,后半部分使用層級注意力機制將各部分特征進行融合。文獻[6]使用學(xué)生在校數(shù)據(jù)提取學(xué)生特征,同時定義城市的綜合指數(shù),最后使用協(xié)同過濾推薦算法向畢業(yè)生推薦職業(yè)。以上算法分別從特征、模型角度出發(fā)提高推薦性能,其有效但不能較好地解決就業(yè)推薦中評分矩陣稀疏的問題。針對以上問題,同時結(jié)合大學(xué)生就業(yè)推薦的特點,提出一種基于混合深度神經(jīng)網(wǎng)絡(luò)的就業(yè)推薦算法。
設(shè)學(xué)生集合為S={s1,s2,…,sI},I表示學(xué)生總數(shù)。職業(yè)集合為C={c1,c2,…,cN},其包含不同的就業(yè)去向,N表示職業(yè)種類總數(shù)。為了有效地表示學(xué)生和職業(yè)特征,將學(xué)生屬性劃分為學(xué)生基本屬性和學(xué)生行為序列屬性,職業(yè)屬性劃分為職業(yè)基本屬性和職業(yè)描述屬性。學(xué)生si的基本屬性為
Gi=[(gi,1)T,…,(gi,LG)T,(gi,dense)T]
(1)
其中,向量gi,·表示學(xué)生基本屬性中的某一離散特征,LG為學(xué)生基本屬性中離散特征的數(shù)量。gi,dense是稠密向量,由學(xué)生基本屬性中的連續(xù)特征組成。職業(yè)cn的基本屬性為
Qn=[(qn,1)T,…,(qn,LQ)T,(qn,dense)T]
(2)
包括職業(yè)結(jié)構(gòu)化數(shù)據(jù)字段,其中向量qn,·表示離散特征,向量qn,dense由連續(xù)特征組成。
定義1 學(xué)生si行為序列屬性Ai
Ai=(ei,1,ei,2,…,ei,LA)
(3)
其使用學(xué)生的在校數(shù)據(jù),按照時間線提取其在校行為組成。由于學(xué)生在校行為具有隨機性,因此稱其為行為事件。其中,ei,·∈E是行為事件的向量表示。E表示學(xué)生行為事件集合。其指所有學(xué)生在校期間存在于數(shù)據(jù)集中的所有行為事件集合。行為事件集合的產(chǎn)生與處理在實驗數(shù)據(jù)集描述部分進行詳細(xì)闡述,LA表示學(xué)生最大行為序列長度。學(xué)生行為序列屬性旨在提取學(xué)生行為模式特征,以實現(xiàn)個性化推薦。
定義2 職業(yè)cn描述屬性為
Jn=(jn,1,jn,2…,jn,LJ)
(4)
為預(yù)處理后的職業(yè)cn的描述性文本,由詞語和標(biāo)識符的獨熱向量jn,·組成,其中LJ表示最大文本長度。使用職業(yè)描述屬性的原因是文本數(shù)據(jù)經(jīng)過預(yù)訓(xùn)練的詞向量表示,可以具備一定的語義相似度信息,譬如,對于企業(yè)單位發(fā)展領(lǐng)域的描述文本,可以通過詞向量之間的相似性獲得企業(yè)單位發(fā)展領(lǐng)域之間的相似性。因此,職業(yè)描述屬性有助于完善職業(yè)特征提取,從而提高整體推薦性能。
定義3 學(xué)生-職業(yè)評分矩陣定義為
R=[rin]I×N
(5)
其中,rin=1為學(xué)生si選擇職業(yè)cn,rin=0為學(xué)生si未選擇職業(yè)cn。畢業(yè)生就業(yè)推薦問題可定義為預(yù)測學(xué)生-職業(yè)評分矩陣。
由于學(xué)生、職業(yè)僅有一次交互,學(xué)生職業(yè)評分矩陣極為稀疏,因此為準(zhǔn)確挖掘?qū)W生和職業(yè)特征,提出一種基于混合深度神經(jīng)網(wǎng)絡(luò)的個性化推薦算法(personalized recommendation based on hybrid deep neural network,PRHN),其通過使用深度混合網(wǎng)絡(luò)來緩解稀疏性帶來的推薦質(zhì)量下降,同時使用行為序列屬性實現(xiàn)個性化推薦。所提模型架構(gòu)如圖1所示,該混合深度神經(jīng)網(wǎng)絡(luò)主要包括嵌入表示層、序列語義層、深度預(yù)測層和輸出層。其中嵌入表示層包含學(xué)生和職業(yè)的基本屬性嵌入、序列屬性嵌入、詞嵌入4個獨立的嵌入模塊,每個模塊學(xué)習(xí)對應(yīng)屬性的低維向量表征;序列語義層包含兩個獨立的多頭自注意力機制模塊,其輸入分別為學(xué)生行為序列屬性與職業(yè)描述屬性的低維向量表示序列,多頭自注意力機制模塊提取序列特征,輸出學(xué)生行為屬性與職業(yè)描述屬性序列特征的向量表征;深度預(yù)測層輸入為4個向量表示拼接而成,分別是學(xué)生、職業(yè)基本屬性向量嵌入表示以及學(xué)生行為屬性與職業(yè)描述屬性序列特征向量表示,輸入向量分別經(jīng)過特征交叉模塊與前饋模塊;輸出層將兩個模塊的輸出向量拼接后經(jīng)過sigmoid函數(shù)處理得到學(xué)生職業(yè)匹配度。以下將分別介紹嵌入表示層、序列語義層、深度預(yù)測層和輸出層。
圖1 PRHN總體架構(gòu)
在就業(yè)推薦場景下,學(xué)生、職業(yè)屬性具有大量如“所在學(xué)院”、“生源地”的離散特征。這些特征一般被編碼為獨熱向量。但這常常會導(dǎo)致向量維度過大產(chǎn)生較多無用神經(jīng)元。為了縮小向量維度,使用嵌入模塊將高維稀疏向量轉(zhuǎn)化為低維稠密向量。在學(xué)生基本屬性模塊中,將離散特征的嵌入向量與連續(xù)特征堆疊起來得到學(xué)生基本屬性嵌入
(6)
(7)
由于學(xué)生行為序列屬性具有時間特性,職業(yè)描述屬性為文本序列,因此使用序列語義層進行序列特征提取。在對序列建模的以往研究中,被廣泛使用的模型有長短時記憶網(wǎng)絡(luò)(long short-term memory,LSTM),其缺點是某兩項在序列中距離越遠(yuǎn),模型越難學(xué)習(xí)其中的依賴關(guān)系。卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)也被用于序列建模[8],其并行結(jié)構(gòu)具有更快的訓(xùn)練速度,但它長于識別局部特征,對全局特征不敏感。以上模型對于較長序列都具有一定的局限性。在本文場景下,對行為序列屬性側(cè)重于提取模式特征,對職業(yè)描述屬性側(cè)重于提取關(guān)鍵詞特征,因此多頭自注意力機制[9]被用于本文模型。
自注意力機制與傳統(tǒng)的注意力機制不同,其更關(guān)注序列內(nèi)部每一項的關(guān)聯(lián)性,不受距離遠(yuǎn)近的影響。而多頭自注意力機制進一步增加序列語義的方面級表達(dá),從而提取出具有規(guī)律性的模式特征。其結(jié)構(gòu)如圖2所示。首先,輸入矩陣與位置編碼相加,使模型可以識別位置特征。然后,經(jīng)過K層輸出,其中每一層包含兩個子層,分別是多頭自注意力層與前饋層,每一子層輸出都進行層歸一化。最后,經(jīng)過一個前饋層得到輸出。以下將分別介紹每一部分。
圖2 序列語義層結(jié)構(gòu)
位置編碼作用是使多頭自注意力機制可以捕獲序列中的順序信息,由于職業(yè)描述屬性為文本數(shù)據(jù),因此使用三角函數(shù)產(chǎn)生位置編碼PEJ,其可以描述為
(8)
多頭自注意力層主要實現(xiàn)序列內(nèi)部信息的交互。在學(xué)生行為序列屬性特征提取的場景下,多頭自注意力層將在每一行為事件向量與其它行為事件向量上產(chǎn)生多個交互結(jié)果,可以表示為
(9)
(10)
(11)
(12)
其中,函數(shù)LayerNorm表示層歸一化。
前饋層作用是提高這一模塊的非線性擬合能力,前饋層輸出表示為
(13)
將學(xué)生、職業(yè)基本屬性的嵌入與通過多頭自注意力機制的輸出拼接起來,然后經(jīng)過深度預(yù)測層來進一步產(chǎn)生特征間的交互。深度預(yù)測層分為深度特征交叉網(wǎng)絡(luò)和深層前饋網(wǎng)絡(luò)兩部分。特征交叉網(wǎng)絡(luò)[11]作用是實現(xiàn)特征之間的交互,對特征集合較大的推薦系統(tǒng),特征交叉可以減輕模型擬合壓力,較少過擬合風(fēng)險。
特征交叉網(wǎng)絡(luò)能自動且高效地實現(xiàn)特征交互,其總共包含V個子層,v+1層輸入表示為
(14)
(15)
深層前饋網(wǎng)絡(luò)作用是增加深度預(yù)測層的非線性擬合能力,包含Z個子層,z+1層的輸入表示為
(16)
為了預(yù)測學(xué)生是否選擇職業(yè),可將其建模為二分類問題,因此使用sigmoid函數(shù)作為輸出函數(shù)。匹配度預(yù)測結(jié)果表示為
(17)
(18)
(19)
其中,I、N分別是學(xué)生和職業(yè)的數(shù)量,rin表示學(xué)生si的就業(yè)選擇是否是職業(yè)cn。
以中國西部某高校2014屆、2015屆5791名學(xué)生的數(shù)據(jù)為實驗對象,數(shù)據(jù)集包含學(xué)生基本信息(性別、年級、生源地等)、學(xué)生成績信息、學(xué)生干部信息(職位、任職時間等)、學(xué)生就業(yè)去向、學(xué)生獎助信息、學(xué)生比賽信息。
在大學(xué)4年期間,5791名學(xué)生產(chǎn)生了428 929條學(xué)生課程成績記錄,將每一門課的原始成績進行標(biāo)準(zhǔn)化處理,并使用這門課程總體成績方差和績點占比共同組成這門課程的計算權(quán)重,將權(quán)重按大小排序,選取其中前20門課程作為學(xué)生基本屬性輸入。同時,學(xué)生成績數(shù)據(jù)按照其考試時間順序排序,對每一條原始成績數(shù)據(jù)劃為4個層次(高、中、低、掛科),其課程劃分為4個類別(專業(yè)課程、專業(yè)基礎(chǔ)課程、通識課程、其它),由此產(chǎn)生16個成績類行為事件類別,作為學(xué)生行為屬性輸入。除了成績類行為事件類別的學(xué)生行為屬性輸入,學(xué)生干部信息、學(xué)生獎助信息、學(xué)生比賽信息都以相似的方式預(yù)處理,共產(chǎn)生42類學(xué)生行為事件。對其進行樹形編碼,即為行為事件集合E。將學(xué)生的所有行為事件按照其時間順序排序,并對其長度小于最大長度的行為序列進行填充,作為學(xué)生行為序列屬性輸入。
原始就業(yè)去向數(shù)據(jù)包含企業(yè)名稱、就業(yè)類別、企業(yè)類別、位置信息等,其中企業(yè)名稱作為職業(yè)描述屬性的一部分輸入,其余字段進行獨熱編碼后作為職業(yè)基本屬性輸入。利用爬蟲技術(shù),從愛企查、天眼查等企業(yè)查詢網(wǎng)站得到企業(yè)的結(jié)構(gòu)化數(shù)據(jù)(成立時間、注冊資金等)和企業(yè)描述文本,預(yù)處理后分別作為職業(yè)基本屬性和描述屬性輸入。將原始數(shù)據(jù)集分為兩個,以測試模型的魯棒性。其中第一個數(shù)據(jù)集為1035名計算機學(xué)院的學(xué)生數(shù)據(jù),包含215種畢業(yè)去向,其數(shù)據(jù)稀疏度為99.53%,數(shù)據(jù)較為稀疏。第二個數(shù)據(jù)集為5791名學(xué)生數(shù)據(jù),包含1420種不同的就業(yè)去向,其數(shù)據(jù)稀疏度為99.93%,為極度稀疏數(shù)據(jù)。由于這種極度不平衡的數(shù)據(jù)集會使模型學(xué)習(xí)過程產(chǎn)生偏差,所以隨機抽取負(fù)樣本以及重采樣正樣本以平衡數(shù)據(jù)集。
將模型與以下具有代表性的推薦方法進行比較:
(1)RF[3](random forest):首先提取學(xué)生、職業(yè)特征,進而計算學(xué)生和職業(yè)是否匹配;
(2)NFM[12](neural factorization machines):擴展了矩陣分解(factorization machines,F(xiàn)M)模型,與神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)結(jié)合,可以學(xué)習(xí)特征之間的高階交互;
(3)P2CF[6](personalized preference collaborative filtering):個性化偏好協(xié)同算法,該算法通過海量校園記錄為畢業(yè)生推薦工作,可以識別出學(xué)生對工作的個人偏好;
(4)APJFNN[5](ability-aware person-job fit neural network):采用遞歸神經(jīng)網(wǎng)絡(luò)和層級注意力機制對文本數(shù)據(jù)進行處理,對職業(yè)簡歷匹配問題進行預(yù)測。
在真實數(shù)據(jù)集下進行實驗來驗證模型的有效性。PRHN與對比方法在性能指標(biāo)HR下的實驗結(jié)果如圖3、圖4所示,在性能指標(biāo)MRR下的實驗結(jié)果如圖5、圖6所示。隨著推薦集大小M的增長,模型的HR和MRR數(shù)值都隨之增加??梢钥闯?,所有方法的HR都比較低,這是由于學(xué)生就業(yè)數(shù)據(jù)集非常稀疏,這與多數(shù)主流就業(yè)推薦算法的實驗結(jié)果是一致的。在兩個數(shù)據(jù)集上PRHN都取得了較好的性能,這是因為PRHN的結(jié)構(gòu)可以對學(xué)生、職業(yè)特征進行有效提取,能有效緩解數(shù)據(jù)稀疏問題。相比于經(jīng)典方法RF,NFM在就業(yè)推薦任務(wù)上取得一定的效果增幅。原因是NFM在處理稀疏數(shù)據(jù)時有優(yōu)勢,其能自動提取隱式特征。P2CF在HR@50與MRR@50性能指標(biāo)下較NFM略高,原因是P2CF模型面對大學(xué)生進行推薦,針對性地處理就業(yè)問題中的地域特性。在所有對比算法中,APJFNN達(dá)到了最優(yōu)性能,原因在于其層次化的注意力模型結(jié)構(gòu)可以較好提取職業(yè)描述文本中的重要信息。相比于數(shù)據(jù)集1,數(shù)據(jù)集2上實驗的算法性能都有了大幅下降,其原因主要是數(shù)據(jù)集2的數(shù)據(jù)更為稀疏,并且由于數(shù)據(jù)集2包含不同專業(yè)的學(xué)生,其就業(yè)類型會具有不同的偏向,這對模型的挑戰(zhàn)性更大。PRHN在數(shù)據(jù)集1和數(shù)據(jù)集2上的HR@50相比于最佳對比算法分別提高了4.41%和3.54%,MRR@50相比于最佳對比算法分別提高了2.11%和2.05%。這一結(jié)果驗證了所設(shè)計的模型結(jié)構(gòu)的有效性。
圖3 在數(shù)據(jù)集1上各模型HR與近鄰個數(shù)關(guān)系
圖4 在數(shù)據(jù)集2上各模型HR與近鄰個數(shù)關(guān)系
圖5 在數(shù)據(jù)集1上各模型MRR與近鄰個數(shù)關(guān)系
圖6 在數(shù)據(jù)集2上各模型MRR與近鄰個數(shù)關(guān)系
為了驗證模型中的每一組件是否有效,設(shè)計以下模型進行對比實驗,并觀察它們是如何影響最終性能的??紤]以下3個變形模型進行比較。①模型PRHN-T不包含職業(yè)描述屬性部分的組件。具體來說,其不包含職業(yè)描述文本的嵌入和其序列特征提取。②模型PRHN-B不包含學(xué)生行為序列屬性部分的組件。③模型PRHN-D不包含特征交叉網(wǎng)絡(luò),其深度預(yù)測層只使用深層前饋網(wǎng)絡(luò)實現(xiàn)。實驗結(jié)果如圖7、圖8所示??梢钥闯觯謩e剝離這3個相關(guān)組件時,在兩個數(shù)據(jù)集上模型性能都有所下降,這驗證了它們在就業(yè)推薦任務(wù)上的有效性。其性能排序為PRHN-B 圖7 不同模型組件影響下HR@50對比 圖8 不同模型組件影響下MRR@50對比 本文設(shè)計了一種面向就業(yè)推薦的混合結(jié)構(gòu)的深度神經(jīng)網(wǎng)絡(luò)架構(gòu)。其能很好地提取學(xué)生、職業(yè)特征,解決數(shù)據(jù)過于稀疏化的問題。本文定義了學(xué)生行為序列屬性輸入,并且使用多頭自注意力機制提取序列的語義信息。同時,為了使模型學(xué)習(xí)更多職業(yè)特征,加入了職業(yè)描述屬性。最后,使用特征交叉網(wǎng)絡(luò)實現(xiàn)了各個特征模塊的交互。在真實數(shù)據(jù)上的實驗結(jié)果驗證了PRHN模型的有效性。 本文沒有對職業(yè)間的關(guān)聯(lián)性進行分析,使得模型無法推薦不在數(shù)據(jù)集中出現(xiàn)的職業(yè),這會造成在實際應(yīng)用時推薦的多樣性較差。在未來的研究中,將考慮職業(yè)間的關(guān)聯(lián)性,建立學(xué)生、企業(yè)圖譜,將其加入模型當(dāng)中,進一步提高模型的泛化能力。4 結(jié)束語