劉順文
摘要:個性化就業(yè)推薦系統(tǒng)可以幫助求職者在海量的就業(yè)信息中,快速找出適合個人實際情況的就業(yè)信息。由于就業(yè)信息數(shù)量過于龐大,系統(tǒng)計算得出推薦結果的過程不僅耗時長,而且個性化服務的效果也很難令人滿意。將Slope one算法和就業(yè)信息內容相似性相結合,構成的改進Slope one算法引入個性化就業(yè)推薦策略中,采用MapReduce分布式編程實現(xiàn)改進Slope one算法并運行在Hadoop集群上,幫助提高個性化就業(yè)信息推薦的質量,增強用戶體驗效果。
關鍵詞:Slope one算法;內容相似性;個性化就業(yè)推薦系統(tǒng)
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2016)12-0084-02
Abstract: Personalized employment recommender system can help job seekers to find out the employment information which is according with the actual situation of individual quickly in vast amounts of employment information. Due to the large amount of employment information, The process of system calculated recommendation results is not only time-consuming, and the effect of the personalized services is difficult to satisfactory The Slope one algorithm and similarity of employment information constitute an improved Slope one algorithm,it is achieved by MapReduce and runned in Hadoop cluster, to help improve the quality of personalized employment information recommendation and enhance the user experience.
Key words: Slope one algorithm; similarity of content; personalized employment recommender system
1 概述
21世紀,信息技術和互聯(lián)網技術發(fā)展迅猛,我們在享受互聯(lián)網帶來的巨大便捷和紅利的同時,互聯(lián)網產生的大規(guī)模數(shù)據(jù)引發(fā)了信息超載問題。通過百度、Google等傳統(tǒng)的搜索引擎,在輸入關鍵詞后可以快速地為我們檢索出相關的內容,但是無法提供符合每個人實際情況的個性化信息。個性化的信息推薦系統(tǒng)成為解決信息超載問題的有力工具,可以滿足我們對個性化信息的追求。
在互聯(lián)網上眾多的就業(yè)信息中,求職者通過信息分類瀏覽,輸入關鍵字查找來尋求一份適合自己的就業(yè)崗位,費時費力,很容易陷入信息迷航中,也不一定能找到符合個人實際情況并且令人滿意的就業(yè)信息。為了有效解決這個問題,很多研究學者提出了一種方法,根據(jù)求職者的求職簡歷、歷史行為、用戶歷史評分數(shù)據(jù)等信息,通過個性化推薦策略的分析與計算,找出最符合其求職意向和個人實際情況的就業(yè)信息推薦給求職者,這就是個性化就業(yè)推薦系統(tǒng)。雖然個性化就業(yè)推薦系統(tǒng)可以為求職者提供個性化的就業(yè)信息服務,但是在面對海量的就業(yè)信息是,個性化服務的實時性和服務效果并不是很理想。將分布式計算平臺Hadoop和個性化就業(yè)推薦系統(tǒng)相結合,形成分布式的個性化就業(yè)推薦系統(tǒng),借助高效的MapReduce計算方式來應對海量的數(shù)據(jù)分析和計算,以此來提高推薦系統(tǒng)的實時性和用戶體驗效果。
2 Slope one算法概述
個性化推薦算法效率的高低直接決定著個性化推薦結果的好與差, 由于Slope one算法簡單高效,在線計算的速度快,近幾年在個性化推薦領域備受關注。Slope one算法的思想是基于新物品與用戶評分過的物品之間的平均偏好值差異來預測用戶對新物品的偏好值,它認為兩個物品的偏好值之間存在某種線性關系,形如[fx=x+b]這樣的線性函數(shù),可以由物品x的偏好值估算出用戶對新物品的偏好值[f(x)],而計算兩兩物品之間的平均偏好值差異值b成為關鍵。物品i和物品j之間的平均偏差值,記為[devj,i],采用公式(1)來計算:
其中,β表示Slope one算法在最終計算結果中所占的權重值,通過對實驗結果的分析,β的取值范圍為[0.6,0.7],計算結果較佳。
對于Slope one算法對系統(tǒng)內存的消耗大的問題,通過分析,上述的改進Slope one算法適合于MapReduce分布式計算方式,將個性化就業(yè)推薦系統(tǒng)部署在基于Hadoop平臺的分布式系統(tǒng)上,改進Slope one算法的實現(xiàn)采用MapReduce形式的分布式編程,運行在Hadoop集群上,計算過程中產生的中間結果和對內存的消耗,由集群中各個節(jié)點分攤。這樣不僅僅可以解決大規(guī)模數(shù)據(jù)下,個性化推薦系統(tǒng)計算效率低的問題,而且可以很好地解決Slope one算法消耗大量內存的問題。
4 改進的Slope one算法在個性化就業(yè)推薦系統(tǒng)中的應用
個性化就業(yè)推薦系統(tǒng)部署在Hadoop集群上,改進Slope one算法以MapReduce作業(yè)的形式實現(xiàn)的步驟如下:
第一步,計算用戶的歷史評分記錄。
把所有的評分記錄分為訓練集和非訓練集兩部分,非訓練集中的評分值全部初始化設置為0。在Map過程中,輸出數(shù)據(jù)的格式為
第二步,計算就業(yè)信息之間的平均偏好值差異。
需要兩個MapReduce作業(yè)來計算就業(yè)信息之間平均偏好值的差異,第一個MapReduce作業(yè)計算待預測就業(yè)信息和其他就業(yè)信息之間的平均偏好值差異。將上一步的結果中相同的UserID進行合并,找出Rate值為0的記錄。Map過程中,將Rate值不為0的InfoID1和Rate值為0的InfoID2結合在一起(InfoID1,InfoID2)作為輸出數(shù)據(jù)的key,輸出的value為(UserID,rate),rate為InfoID1和InfoID2的評分差??梢栽赾ombine階段,合并得到
第二個MapReduce作業(yè)計算訓練集中就業(yè)信息之間的平均偏好值差異。以兩兩組合的InfoID為key,value的格式仍然為(UserID,rate)作為Map過程的輸出,在Reduce過程,求出就業(yè)信息之間的平均評分差值dev,最后的輸出格式為<(InfoID1,InfoID2),(UserID,dev)>.
然后合并兩個MapReduce作業(yè)的結果,得到的輸出為<(UserID,InfoID),Rate>,看作是一個用戶對一條就業(yè)信息的評分值。
第三步,計算就業(yè)信息之間的相似度矩陣。
讀取每一條就業(yè)信息,把就業(yè)信息的文本內容以向量的形式來表示。以
第三步,預測偏好值。
按照公式(8),把第二步和第三步的結果進行整理分析,即可得到用戶u對就業(yè)信息j的最終預測評分值。
5 結論
將改進Slope one算法進入基于Hadoop平臺的個性化就業(yè)推薦系統(tǒng)中,推薦結果的平均絕對誤差(MAE)減小,為實時的在線推薦助益很大,提高了個性化推薦策略的計算效率和個性化就業(yè)信息推薦的質量。但是整個個性化就業(yè)推薦系統(tǒng)的改進完善之路不會停止,我們需要將其他領域的知識和更先進的方法引入到就業(yè)信息推薦系統(tǒng)中,致力于個性化推薦服務質量邁向更高的層次,Slope one算法也需要在實際應用中不斷地去改進以提高算法效率。
參考文獻:
[1] 黃梅娟. 協(xié)同過濾算法在個性化就業(yè)推薦系統(tǒng)中研究[J].電腦知識與技術,2015,11(8).
[2] 杜茂康, 劉苗, 李韶華,等. 基于鄰近項目的Slope One協(xié)同過濾算法[J]. 重慶郵電大學學報:自然科學版, 2014, 26(3).
[3] 宮翠爽. 基于Hadoop計算模型的Slope One算法改進[D].鞍山: 遼寧科技大學, 2014.
[4] 胡旭, 魯漢榕, 陳新,等. 基于項目屬性相似和MapReduce并行化的Slope One算法[J]. 空軍預警學院學報, 2015(1):54-58.
[5] 王毅. 基于Hadoop的Slope One及其改進算法實現(xiàn)[D].成都: 西南交通大學, 2011.
[6] 楊凌云. 基于Slope One算法的圖書推薦系統(tǒng)優(yōu)化[J]. 電腦知識與技術, 2015(4):79-81.
[7] 馬騰騰, 朱慶華, 曹菡,等. 基于Hadoop的旅游景點推薦的算法實現(xiàn)與應用[J]. 計算機技術與發(fā)展, 2016(3).
[8] Dietmar Jannach,Markus Zanker.推薦系統(tǒng)[M]. 蔣凡,譯.北京:人民郵電出版社,2013:25-28.