劉海鷗 孫晶晶 蘇妍嫄 張亞明



〔摘 要〕大數據環境下,推薦系統項目評分的稀疏性問題愈加突出,單興趣表示方法也難以對用戶多種情境興趣進行準確描述,導致推薦結果精度大大降低。鑒于此,提出一種多情境興趣表示方法,在此基礎上構建面向圖書館大數據知識服務的多情境興趣推薦模型,通過對用戶多情境興趣的層次劃分,利用蟻群層次挖掘的優勢來發現目標用戶的若干最近鄰類簇,然后根據類簇內相似用戶對目標項目的評分對未評分項目進行預測,最后結合MapReduce化的大數據并行處理方法來進行協同過濾推薦。實驗結果表明,多情境興趣的建模方法改善了單興趣建模存在的歧義推薦問題,有效緩解了大數據環境下項目評分的數據稀疏問題,MapReduce化的蟻群層次聚類方法也大大改善了推薦系統的運行效率。
〔關鍵詞〕大數據知識服務;多情境興趣;蟻群層次聚類;協同過濾推薦
DOI:10.3969/j.issn.1008-0821.2018.06.009
〔中圖分類號〕G203 〔文獻標識碼〕A 〔文章編號〕1008-0821(2018)06-0062-06
〔Abstract〕Under the big data environment,the sparsity problem of recommendation system project becomes more and more serious.In addition,the traditional single interest representation method is difficult to accurately described,resulting in the reduced accuracy of recommendation result.In view of this,this paper put forward with a kind of multiple interest representation based on recommendation model for library big data knowledge service,by dividing the level of user interest more situations,using ant colony level mining advantage to some target users nearest neighbor cluster.According to the cluster within the same user rating to forecast the goal of the project not scored,this paper finally implemented parallel processing method for collaborative filtering with the MapReduce data.The experimental results showed that the modeling method generates new multiple item clustering interest tree by hierarchical partition mechanism,enhanced the mining depth of situational interest,and the MapReduced ant colony clustering method also greatly reduced the overall computation time,significantly improved the efficiency of the recommendation system.
〔Key words〕library big data knowledge service;multi contextual interest;ACO hierarchical clustering;CF recommendation
隨著圖書館海量數據服務資源的不斷涌現,項目評分稀疏性[1]、信息語義復雜性與多重性[2]問題大大增加了圖書館大數據知識服務個性化推薦系統實現的難度。圖書館大數據知識服務的個性化推薦是將讀者興趣、知識領域等關聯信息加工為能夠生動描述讀者偏好的知識元,由此來支持數字圖書館各種推薦服務,最終為用戶提供滿足其個性化需求的知識資源。其中,項目評分的稀疏性問題研究已久,在此不詳細贅述;信息語義的多重性是指推薦系統中的信息缺乏明確的情境語義,其內容難以進行精準形式化的表示,沒有實現對推薦語義的細粒度關聯與挖掘,如圖書館推薦詞料庫中可能潛在的“一詞多義”、“多詞一義”現象。因此,推薦語料庫中語義表達的同義性、相關性、歧義性、可替代性大大降低了圖書館個性化推薦系統的精準性,由此產生許多與現實差距甚遠的推薦結果,出現“歧義推薦”問題。
與傳統的用戶單興趣表示與挖掘模型相比,用戶多興趣表示模型在傳統單語義興趣建模的基礎上,針對興趣多語義、多樣性的特點進行子類劃分和描述,以此降低不同子類興趣特征導致的語義分歧與相互干擾的影響,從而克服單興趣模型中各興趣特征主題間的影響問題,提高推薦的準確性。如余力、劉魯等[3]在探討用戶的多興趣推薦問題時,提出了融合用戶與項目評分的混合協同過濾推薦機制,同時給出了用戶的多興趣表示機制,這也是我國最早對用戶多興趣推薦進行探討的學術文獻,具有較強的理論指導意義,但該種方法難以對鄰居用戶與待預測項目的相關性進行準確描述。徐紅等[4]引入了基于時間的數據閾值、興趣類型以及用戶項目興趣權值的表達公式,以此探討用戶多興趣的表征問題。馬健等[5]在推薦系統中引入了滑動窗口與漸進遺忘策略,由此提出一種融合多興趣特征的推薦方法,實驗結果表明,該方法可保持對用戶興趣的持續更新,可為用戶提供符合其興趣特征的服務資源。楊長春、孫婧[6]將傳統協同過濾方法與用戶信任度相結合,建立了用戶多面興趣信任度的協同過濾挖掘模型,但是該模型面臨著用戶打分積極性不高而可能導致信任評分稀疏的問題。張富國等[7]在探討多興趣推薦過程中引入了用戶間的信任關系,基于信任視角分析用戶多興趣的協同過濾機制;模型不僅可以基于信任關系抵抗推薦過程中存在的“托”攻擊問題,同時還能進一步改善挖掘的性能與推薦的準確性。需要指出的是,融合信任的多興趣推薦需要對用戶間存在的信任關系/信任度進行準確衡量,但大多數研究者采用的實驗數據結構難以定量描述用戶間的信任關系,因此給多興趣推薦帶來了較大的問題。
鑒于多興趣建模與多興趣推薦存在的上述問題,有學者通過研究[8-9]提出了融合情境的多興趣表示方法與推薦機制,在傳統的單興趣表征模型中引入用戶的情境語義信息,基于用戶的不同情境對其興趣類別進行劃分,從而解決語義分歧挖掘的問題[10]。如在圖書館推薦系統中,用戶檢索“蘋果”一詞,系統給出了《蘋果病蟲害綜合防治》以及《蘋果故事:喬布斯的簡潔之道》兩個截然不同的推薦結果,這是因為檢索詞的“一詞多義”(蘋果本身存在“水果”與“電子產品”兩種語義)造成的。但如果考慮特定的情境,如在“電子產品類數目”情境類別中進行挖掘時,就能剔除《蘋果病蟲害綜合防治》的推薦結果,從而有效降低了不同類別興趣間同一語義相互干擾的問題,避免了歧義推薦的發生。基于此,本文針對圖書館推薦系統傳統的“用戶——興趣描述”的單語義推薦模型,進一步加大對圖書館用戶情境特征關聯的情境語義挖掘,提出“用戶——情境語義類別——興趣語義特征”的多級挖掘模式;同時,為解決多興趣的層次劃分以及海量數據下的層次搜索問題,本文在推薦模型中引入了蟻群算法與層次聚類方法,基于此提出一種面向圖書館大數據知識服務的多情境興趣推薦方法,通過對用戶情境興趣的多層次劃分,利用蟻群在搜索路徑上遺留的信息素來發現目標用戶近鄰類簇,利用類簇內其他用戶對目標項目的評分來預測未評分項目的評分,以此解決圖書館協同過濾推薦系統面臨的數據稀疏以及歧義推薦問題。
1 多情境興趣的蟻群層次聚類
在面向圖書館大數據知識服務的多情境興趣推薦過程中,為了獲得全局最優的精準推薦結果,本文引入了蟻群層次聚類方法,基于蟻群優化算法對層次聚類進行優化,基于此生成新的項目聚類興趣樹,然后經過蟻群算法的信息素反饋機制進行層次搜索,從而提高多興趣推薦的精度。
1.1 蟻群算法與層次聚類
聚類是數據挖掘領域的熱點關注問題,成功應用于用戶行為統計分析、機器學習等相關領域。但是聚類方法也存在其自身的局限性,即在進行層次劃分時由于缺乏全局待優化的目標函數而加大選擇的難度,退而求其次的局部合并效果難以實現全局聚類的效果。為了保障大數據多情境語義挖掘方法在多層次挖掘過程中獲得全局最優的高質量聚類結果,本文在改進過程中引入了蟻群優化與層次聚類算法,提出蟻群多情境語義挖掘方法,對情境語義的層次劃分與挖掘機制進行了改進,利用蟻群多路徑信息素反饋及其揮發機制來進行全局路徑尋優,從而實現全局最優的高質量聚類。蟻群多情境語義挖掘的具體步驟包括:
Step 1:對本文蟻群聚類涉及到的參數進行設置,給定實驗的必要條件。
Step 2:對螞蟻群進行啟動。假設初始時刻存在n座城市、h只螞蟻,螞蟻根據所經過的覓食路徑上遺留下的信息素來選擇合適的路徑,由此得到的路徑轉移概率設為pkij(t):
Step 3:對信息素進行更新。如某一時刻螞蟻實現了一次路徑轉移,則需對路徑上該螞蟻的信息素數量進行更新,計算公式為:
1.2 蟻群層次聚類方法
1.2.1 距離標準與簇心選擇
距離標準與簇心選擇是進行蟻群層次聚類的第一步,本文采用廣泛使用的歐氏距離來衡量興趣屬性的相似度:
1.2.2 目標函數選擇
本文在選擇目標函數時主要采用了Chaimontree的內部指標計算方法[11]:
1.2.3 蟻群算法的優化
鑒于蟻群算法會因為啟發式信息而導致其收斂速度上升,因此,本文在計算路徑選擇的轉移概率時引入了基于環境效應的信息素以及基于距離的啟發式信息:
1.2.4 蟻群層次聚類方法
1.3 算法的Mapreduce化
大數據環境下,蟻群層次聚類在計算過程中具有較高的并行性,當其求解規模較大時,會嚴重降低蟻群系統的收斂速度,從而影響多情境興趣的推薦效果以及推薦的實時性。利用Hadoop分布式與跨異構平臺優勢,可有效提高推薦的深度和精度,保障推薦的實時性。如文獻[12]基于MapReduce框架構建了云環境下個性化數字電視節目推薦模型;文獻[13]與文獻[14]分別提出了MapReduce處理的多文本聚類模型與圖書館個性化服務推薦算法。因此,本文使用云計算MapReduce處理工具對蟻群算法的并行運算進行處理,通過大數據MapReduce并行挖掘機制來改善算法的收斂速度。大數據的并行處理流程為:在推薦系統文件中輸入蟻群優化算法的信息素、城市間距離以及其他參數數據,每個又包括兩個階段。在蟻群算法的階段,在每一個上分配一定數量的蟻群,由此可獲取相關的參數數據,經過多次運算得出算法中各個螞蟻歷遍各城市的可行解,將這些可行解作為Map階段的輸出,同時也是Reduce階段的輸入;在Map階段,更新全局信息素,由此得出最優解并作為該階段的輸出。蟻群算法經過多次的迭代后,可得出算法的最優解。具體而言,MapReduce化的蟻群算法過程如下。
1.3.1 Map階段
1.3.2 Reduce階段
接收Map階段的相關輸出,以此作為Map的輸入〈key2,value2〉,對蟻群信息素進行更新,并行處理計算得出的最優值和最優解,得出〈key3,value3〉。如〈key3,value3〉滿足求解條件,則運算結束,否則繼續按照上述步驟循環進行。
2 多情境興趣的蟻群層次聚類推薦
按照前文蟻群層次聚類方法對情境相似的用戶進行聚類,聚類結果記為C={c1,c2,…,cn},其中n為聚類的個數。通過聚類,可以得出與目標用戶最近的鄰類簇,再用類簇內其他用戶對目標項目的評分來預測未評分項目的評分,從而進行過濾推薦。
2.1 項目評分預測
3.3 聚類實驗
在進行蟻群層次聚類的過程中,鑒于蟻群算法中存在多組不同的參數,為保證聚類效果達到最佳,在運算過程中首先需要調試參數。經過多次對本文蟻群聚類算法進行實驗發現,當聚類實驗過程中的螞蟻數量為100,λ取值0.5,且經過1 000次最大迭代次數時,蟻群的聚類效果較為理想,由此得出的偏離誤差較小。當螞蟻數=100時,運算得出的最小偏離誤差=28 795,此時的蟻群聚類效果如圖1(a)所示。經過進一步的實驗,當MIN=19 854,實驗的聚類效果達到最佳,如圖2(b)所示。
3.4 并行處理的性能分析
為了測試環境下本文多興趣推薦算法的性能,本部分采用加速比S與相對加速比指標S相對進行實驗分析。首先,以用戶為單位從該校數字圖書館借閱系統數據庫中分別抽取100個用戶、200個用戶、500個用戶和1 000個用戶,分別定義為數據集D1、D2、D3、D4,4個數據集中包含了若干種知識服務應用以及用戶對服務資源的評分(評分高低不同且評價服務資源的數量也不相同)。算法的聚類個數設定為10個,基于此測試Hadoop環境下上述數據集的并行運行時間,Hadoop運行的節點數量分別選擇2、4、6、8四種不同的情況,由此記錄下D1~D4數據集在不同數目節點下的運行時間,詳見圖2所示(橫坐標為節點數,縱坐標為加速比)。
從圖2的測試結果可以看出,在使用D1測試數據集時,本文推薦模型在Hadoop環境下運行的加速比曲線小于1,且會隨著節點數的增加而呈現出先降后升的變化;而當測試數據集為D2~D4時,在節點數量相同情況下,測試得出的加速比S會隨著數據量的變大而迅速增長,而在數據量相同的情況下,測試得出的加速比會隨節點數的增加而不斷上升。為了進一步對比Hadoop環境下不同數目節點對并行計算結果的影響,圖3對Hadoop分布式環境下算法執行的相對加速比S相對進行了對比(橫坐標為節點數,縱坐標為加速比)。根據圖3的比較結果可以看出,在D1數據集情況下,本實驗測試出的S相對曲線下降趨勢非常明顯,而對D2~D4數據集來說,雖然其S相對曲線也呈現出下降的趨勢,但隨節點數的增加,其S相對曲線的下降趨勢趨于平穩。從圖3的對比結果還可以看出,在小數據量如D1的測試情況下,推薦模型在Hadoop環境下的運行效率較低,沒有很好地體現并行計算的優勢,究其原因,主要是Hadoop環境下推薦系統的作業啟動時間以及交互時間較長,而真正用于并行計算的時間則相對較短,因此綜合在一起的最終運行時間較長,很難體現Hadoop集群并行計算的優勢。但隨著測試數據量的不斷增加,大數據環境下推薦系統用于啟動以及交互的時間占比逐步變小,而更多的比例則主要用于系統的并行計算。因此,測試數據集越大(推薦算法處理的數據量越多),本文算法并行計算的速度優勢就越明顯,推薦系統的并行處理效率也就越高。
3.5 推薦結果分析
為了驗證多興趣推薦方法的推薦性能,本文引入了Item-Based CF、User-Based CF以及Model-Based CF 3種傳統的推薦算法與其進行比較[18]。實驗過程中,分別賦予了最近鄰居(Nearest Neighbors)不同數值,通過對Nearest Neighbors數目的變化對上述3種算法MAE值的變化情況進行比較,最終得出的推薦結果如圖4、圖5所示。
值逐漸減小,且該值減小的幅度趨于增大;而與Item-Based CF、User-Based CF以及Model-Based CF推薦算法的比較結果也顯示,本文算法的MAE值明顯小于上述3種傳統推薦方法,表明本文推薦算法比傳統推薦算法的誤差更小,推薦結果更為準確。圖5表明,與3種傳統推薦算法(Item-Based CF、User-Based CF、Model-Based CF)相比,本文多情境興趣的圖書館大數據知識服務推薦方法可在較大程度上有效緩解傳統CF推薦的數據稀疏性問題,這是因為在大數據環境下,圖書館用戶成員評分數據的稀疏性會導致許多用戶沒有或極少有共同評分的項目,在使用傳統的協同過濾推薦算法時,就很難做出有效的挖掘,推薦的準確性大大降低。面向圖書館大數據知識服務的多情境興趣推薦算法通過對用戶情境興趣進行層次劃分,使用改進的層次聚類算法和新的目標函數生成聚類的興趣樹,然后通過蟻群算法中的信息素反饋機制進行層次搜索,由此得出與目標用戶最近的鄰類簇,再用類簇內其他用戶對目標項目的評分來預測未評分項目的評分,因此有效緩解了大數據環境下用戶評分數據極端稀疏的問題,取得了較好的推薦效果。
4 結 論
針對大數據環境下協同過濾面臨的評分稀疏與單興趣建模問題,提出一種面向圖書館大數據知識服務的多情境興趣推薦方法。實驗結果表明,本文方法有效解決了單興趣建模存在的歧義推薦問題,緩解了傳統協同過濾推薦的數據稀疏性問題,取得了更低的誤差值,MapReduce化的蟻群層次聚類方法也大大提高了系統的運行效率。本文貢獻主要包括以下3個方面:①提出一種圖書館大數據知識服務的多情境興趣模型的表示方法,通過對圖書館用戶多情境興趣的層次劃分生成新的項目聚類興趣樹,基于蟻群算法的信息素反饋機制進行層次搜索,以此解決單興趣建模存在的歧義推薦問題,提高多興趣推薦的寬度。②本文改進的蟻群層次聚類算法利用蟻群層次挖掘的優勢來發現目標用戶的若干最近鄰類簇,然后根據類簇內相似用戶對目標項目的評分預測未評分項目的評分,有效緩解了大數據環境下項目評分的數據稀疏問題,提高了推薦系統的精度。③面向大數據知識服務的蟻群層次聚類求解規模較大,嚴重影響蟻群系統的收斂速度與推薦系統的實時性,通過處理工具對蟻群算法的并行運算進行處理,大大減小了全局計算時間,顯著改善了推薦系統的運行效率。需要指出的是,本文實驗部分以某高校數字圖書館數據為例,其借閱系統的數據量還不夠大,雖然在一定程度上體現了大數據知識服務的特點,但還難以稱得上是真正意義上的大數據。擬在今后的實驗中進一步加大數據集的容量,深入分析大數據知識服務并行挖掘與協同推薦背后的內在規律。
參考文獻
[1]程芳,沈紅巖,趙艷.一種有效緩解數據稀疏問題的協同過濾推薦算法[J].現代情報,2017,37(3):76-79.
[2]韓璽,何秀美,張玥,等.基于語義關聯的圖書館移動視覺搜索資源與服務聚合研究[J].現代情報,2017,37(10):3-7.
[3]余力,劉魯,李雪峰.用戶多興趣下的個性化推薦算法研究[J].計算機集成制造系統,2004,10(12) :1610-1615.
[4]徐紅,彭黎,郭艾寅.基于用戶多興趣的協同過濾策略改進研究[J].計算機技術與發展,2011,21(4) :73-76.
[5]馬健,杜澤宇,李樹青.基于多興趣特征分析的圖書館個性化圖書推薦方法[J].現代圖書情報技術,2012,(6) :1-8.
[6]楊長春,孫婧.用戶多興趣信任度的個性化推薦[J].計算機工程與應用,2012,48(32) :80-84.
[7]張富國,徐升華.基于信任的電子商務推薦多樣性研究[J].情報學報,2010,29(2):350-355.
[8]陳晶.圖書館大數據知識服務情境化推薦系統[J].圖書館理論與實踐,2018,(6):181-187.
[9]張亞明.面向云環境的移動信息服務情景化協同過濾推薦[J].情報學報,2014,33(5):508-519.
[10]蔡肖紅,劉培玉,王智昊.基于語境情感消岐的評論傾向性分析[J].鄭州大學學報:理學版,2017,49(2) :48-53.
[11]Chaimontree S,Atkinson K,Coenen F.Best Clustering Configuration Metrics:Towards Multi-Agent Based Clustering[C].Proc of the 6th Int Conf Advanced Data Mining and Applications.Chongqing:Springer,LNAI,6440,2010:48-59.
[12]Chin-Feng Lai,Jui-Hung Changa,Chia-Cheng Hu,Yueh-Min Huang,Han-Chieh Chao.CPRS:A Cloud-Based Program Recommendation System for Digital TV Platforms[J].Future Generation Computer Systems,2011,27(6):823-835.
[13]杜秀英.基于聚類與語義相似分析的多文本自動摘要方法[J].情報雜志,2017,36(6):167-172.
[14]何勝,馮新翎,武群輝,等.基于用戶行為建模和大數據挖掘的圖書館個性化服務研究[J].圖書情報工作,2017,61(1):40-45.
[15]劉海鷗.面向大數據知識服務推薦的移動SNS信任模型[J].圖書館論壇,2014,(10):68-75.
[16]宓翠.融合云環境用戶情境興趣的移動SNS信任推薦模型[J].小型微型計算機系統,2018,38(3):630-634.
[17]劉海鷗.云環境用戶情境感知的移動服務QoS混合推薦[J].情報雜志,2016,35(4):183-189.
[18]何軍,劉業政,王錦坤.基于社會選擇和社會影響的社交網絡社群分類與群推薦策略研究[J].現代情報,2018,38(1):92-99.
(責任編輯:郭沫含)