焦夢(mèng)蕾 徐勇 趙濤 武雅利 許崇
摘? 要:隨著消費(fèi)數(shù)據(jù)的不斷增長(zhǎng),用戶對(duì)推薦系統(tǒng)產(chǎn)生了個(gè)性化以外的動(dòng)態(tài)需求。本文以“動(dòng)態(tài)”和“推薦”作為關(guān)鍵詞,介紹了動(dòng)態(tài)推薦系統(tǒng)中所涉及的動(dòng)態(tài)因素,總結(jié)了動(dòng)態(tài)協(xié)同過濾技術(shù)、聚類技術(shù)和實(shí)時(shí)計(jì)算框架技術(shù)三種目前研究者主要采用的動(dòng)態(tài)推薦技術(shù),并總結(jié)了其優(yōu)缺點(diǎn),為更好地構(gòu)建動(dòng)態(tài)推薦系統(tǒng)服務(wù)。
關(guān)鍵詞:動(dòng)態(tài)推薦技術(shù);個(gè)性化;動(dòng)態(tài)因素;協(xié)同過濾;Storm
中圖分類號(hào):TP391.3 ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2019)08-0007-03
(School of Management Science and Engineering,Anhui University of Finance and Economics,Bengbu? 233030,China)
Abstract:With the continuous growth of consumption data,users have a dynamic demand for recommendation system beyond personalization. Based on the “dynamic” and “recommended” as keywords,this paper introduces the dynamic factors involved in the dynamic recommendation system,summarizes the dynamic collaborative filtering technology,clustering technology and real-time computing framework technology,which are the three main dynamic recommendation technologies currently used by researchers,and summarizes their advantages and disadvantages,so as to better construct the dynamic recommendation system.
Keywords:dynamic recommendation technology;personalization;dynamic factors;collaborative filtering;Storm
0? 引? 言
個(gè)性化推薦系統(tǒng)的基礎(chǔ)是數(shù)據(jù)的收集與存儲(chǔ),通過數(shù)據(jù)將用戶與信息相關(guān)聯(lián),通過特征將用戶與用戶相區(qū)分,從而達(dá)到千人千面的效果。個(gè)性化推薦系統(tǒng)的核心是數(shù)據(jù)的邏輯計(jì)算,通過協(xié)同過濾、特征匹配、相似度計(jì)算等推薦算法挖掘數(shù)據(jù)的邏輯關(guān)系,篩選出更適合的數(shù)據(jù)。個(gè)性化推薦系統(tǒng)的目的是有效率的推薦服務(wù),通過數(shù)據(jù)邏輯與用戶需求的交互,對(duì)數(shù)據(jù)信息進(jìn)行排序,以優(yōu)先順序進(jìn)行推薦。其中,數(shù)據(jù)的邏輯計(jì)算能夠直接影響個(gè)性化推薦系統(tǒng)的準(zhǔn)確度,而有效率的推薦服務(wù)對(duì)個(gè)性化推薦系統(tǒng)的準(zhǔn)確度也會(huì)產(chǎn)生一定程度的間接影響。因此,個(gè)性化推薦系統(tǒng)由數(shù)據(jù)層、計(jì)算邏輯層和推薦服務(wù)層三部分構(gòu)成。雖然目前已有許多被廣泛使用的個(gè)性化推薦系統(tǒng),但對(duì)于商業(yè)用途來說,在準(zhǔn)確度和實(shí)時(shí)性兩方面還有提升的空間,因此也成為了近年來研究者重點(diǎn)關(guān)注的內(nèi)容?;陟o態(tài)信息的個(gè)性化推薦系統(tǒng)具有可擴(kuò)展性差和實(shí)時(shí)性不高等問題,在用戶數(shù)和商品數(shù)不斷更新的過程中,需要考慮動(dòng)態(tài)推薦來解決重復(fù)推薦系統(tǒng)使工作效率降低等問題。為了更好地構(gòu)建動(dòng)態(tài)推薦系統(tǒng),主要從兩方面入手,一是弄清楚何為“動(dòng)態(tài)”,二是考慮采用何種“推薦”技術(shù)。
1? 動(dòng)態(tài)因素
在個(gè)性化推薦系統(tǒng)的三個(gè)組成部分中,涉及“動(dòng)態(tài)”這一關(guān)鍵因素的有數(shù)據(jù)層和推薦服務(wù)層。
1.1? 數(shù)據(jù)層
推薦系統(tǒng)的數(shù)據(jù)主要分為兩大類,一是用戶數(shù)據(jù),二是商品數(shù)據(jù)。用戶數(shù)據(jù)中包含姓名、年齡等靜態(tài)屬性數(shù)據(jù),同時(shí)也包含收入、偏好等動(dòng)態(tài)屬性數(shù)據(jù)。商品數(shù)據(jù)中屬于靜態(tài)屬性的數(shù)據(jù)有商品名稱、商品功能等,屬于動(dòng)態(tài)屬性的數(shù)據(jù)有商品評(píng)分、商品評(píng)論等。獲取靜態(tài)數(shù)據(jù)所構(gòu)建的個(gè)性化推薦系統(tǒng)無法在動(dòng)態(tài)數(shù)據(jù)發(fā)生變化時(shí)改變推薦結(jié)果,但研究表明動(dòng)態(tài)數(shù)據(jù)會(huì)在一定程度上影響推薦結(jié)果。從顯性角度來說,用戶的評(píng)分、購買行為會(huì)直觀改變代表用戶偏好的數(shù)據(jù);從隱性角度來說,用戶瀏覽、評(píng)論行為則不一定代表用戶偏好的改變,也不會(huì)使數(shù)據(jù)獲取發(fā)生變化。因此,考慮動(dòng)態(tài)數(shù)據(jù)的獲取與存儲(chǔ)是構(gòu)建動(dòng)態(tài)推薦系統(tǒng)的第一步。如衛(wèi)星君等學(xué)者對(duì)物品按屬性劃分,在混淆技術(shù)的基礎(chǔ)上,給出噪音系數(shù)、評(píng)分偏移函數(shù)和目標(biāo)偏移函數(shù),提出混淆流行交叉托攻擊模型。設(shè)計(jì)攻擊概貌自動(dòng)產(chǎn)生器注入系統(tǒng)數(shù)據(jù)庫,同最流行項(xiàng)中添加平均項(xiàng)構(gòu)造的混淆托攻擊對(duì)比[1]。用戶在互聯(lián)網(wǎng)上的任何行為,都會(huì)產(chǎn)生日志,比如用戶瀏覽了哪個(gè)網(wǎng)站,用戶搜索了哪個(gè)名詞,用戶點(diǎn)擊了哪個(gè)廣告,用戶播放了哪個(gè)視頻等等。這些數(shù)據(jù)都會(huì)產(chǎn)生動(dòng)態(tài)變化從而影響推薦過程中的信息輸入。如劉曜等提出一種融合時(shí)間上下文信息的基于二分圖模型個(gè)性化推薦算法。首先引入時(shí)間衰減函數(shù)對(duì)基于二分圖模型的SimRank算法進(jìn)行改進(jìn),使得時(shí)間對(duì)推薦的影響量化成圖中節(jié)點(diǎn)的關(guān)聯(lián)概率值,設(shè)計(jì)出融合時(shí)間信息的SimRank算法。再與協(xié)同過濾算法相結(jié)合得到最終結(jié)果[2]。陸佳煒等則是提出了一種USDR模型,通過將用戶數(shù)據(jù)和系統(tǒng)數(shù)據(jù)分類來快速得到用戶和系統(tǒng)的不同推薦度,以實(shí)現(xiàn)數(shù)據(jù)的高效推薦[3]。
1.2? 推薦服務(wù)層
已有研究對(duì)傳統(tǒng)推薦服務(wù)做了如下改進(jìn):
(1)數(shù)據(jù)局部聚合:將相同消息內(nèi)容的推薦放在一起,這樣就可以做局部的批量推薦;
(2)增加服務(wù)吞吐數(shù)據(jù)分片:將不同消息內(nèi)容的推薦分割為不同的數(shù)據(jù)片,不同的數(shù)據(jù)片可以并行推薦;
(3)提高推薦效率守護(hù)線程:每臺(tái)服務(wù)實(shí)例都保留一個(gè)守護(hù)線程,用于監(jiān)控推薦過程,確保推薦有且僅有一次送達(dá)。楊珍等提出動(dòng)態(tài)更新機(jī)制的加權(quán)LFM用于推薦個(gè)性化產(chǎn)品服務(wù)方案。針對(duì)余弦相似度計(jì)算忽略個(gè)體差異的問題,提出采用云滴距離測(cè)度與云的余弦相似度加權(quán)后的綜合相似度,預(yù)測(cè)并填充空缺數(shù)據(jù),減少數(shù)據(jù)稀疏性;采用加權(quán)LFM推薦產(chǎn)品服務(wù)方案,以約束新用戶興趣差異性,提高推薦精度;采用差值平均法更新推薦結(jié)果[4]。
基于用戶位置的個(gè)性化推薦就是動(dòng)態(tài)推薦服務(wù)的典型示例,Karidi等人的研究就提出了一種高效的語義推薦方法,Twitter在信息流中幫助用戶推薦有趣的內(nèi)容。此方法的基礎(chǔ)是一個(gè)知識(shí)圖譜(KG),它可以將所有感興趣的用戶主題表示為各種概念、對(duì)象、事件、人員、實(shí)體、位置以及它們之間的關(guān)系。通過從推文中檢索語義信息來構(gòu)建用戶興趣圖譜,對(duì)推文推薦進(jìn)行排名[5]。此外,使用KG來計(jì)算用戶之間的興趣相似度,并基于相同的基本原則給出了推薦。除此之外,還有研究采用對(duì)比更新的方法提供動(dòng)態(tài)推薦服務(wù)。Zi-yang Zhang等提出了一種考慮用戶能力和可信度的雙層鄰居選擇方案。具體來說,該方案由兩個(gè)模塊組成:
(1)功能模塊,根據(jù)第一層鄰居提供建議的能力進(jìn)行選擇;
(2)信任模塊,根據(jù)第二層鄰居對(duì)建議的動(dòng)態(tài)可信度進(jìn)一步進(jìn)行識(shí)別[6]。信任評(píng)估模塊提出了一個(gè)動(dòng)態(tài)信任評(píng)估模塊,具體來說采用并修正Beta信任模型,從目標(biāo)用戶的角度來計(jì)算用戶的信任值,并考慮時(shí)間因素來捕捉用戶偏好的變化。選擇具有高信任值的鄰居將極大地幫助系統(tǒng)始終如一地向目標(biāo)用戶提供高質(zhì)量的推薦。陸佳煒等學(xué)者對(duì)云環(huán)境中的推送方法進(jìn)行了研究,主動(dòng)幫助用戶發(fā)現(xiàn)自己偏好的信息,并將這些信息展現(xiàn)給可能需要的用戶,并且實(shí)現(xiàn)了傳統(tǒng)的數(shù)據(jù)推薦方法無法處理的多源異構(gòu)數(shù)據(jù)的云推薦[3]。推薦服務(wù)層的“動(dòng)態(tài)”主要以結(jié)合聚類、云環(huán)境等技術(shù)設(shè)計(jì)算法實(shí)現(xiàn)動(dòng)態(tài)推薦。
2? 動(dòng)態(tài)推薦技術(shù)
目前研究者所采用的動(dòng)態(tài)推薦技術(shù)主要有三類,一是基于傳統(tǒng)的協(xié)同過濾所改進(jìn)的動(dòng)態(tài)協(xié)同過濾技術(shù);二是通過引入以聚類技術(shù)為主的大數(shù)據(jù)技術(shù)進(jìn)行快速動(dòng)態(tài)推薦;三是采用實(shí)時(shí)計(jì)算框架技術(shù)構(gòu)建動(dòng)態(tài)推薦系統(tǒng),如Spark、Storm等。
2.1? 動(dòng)態(tài)協(xié)同過濾技術(shù)
基于協(xié)同過濾的推薦系統(tǒng)的成功依賴于大量用戶和項(xiàng)目的可用性。但是很多用戶只對(duì)少數(shù)幾個(gè)項(xiàng)目有行為。解決這個(gè)問題的一種方法是使用用戶的人口統(tǒng)計(jì)來計(jì)算用戶之間的相似性,例如:年齡、性別、教育程度、地區(qū)或就業(yè)情況。另一種方法是通過用戶之間的關(guān)系來計(jì)算使用行為,例如:評(píng)論、轉(zhuǎn)發(fā)和收藏。這就是矩陣分解方法的原理,該方法把用戶-評(píng)分矩陣分解成多個(gè)矩陣之積,通過更新多個(gè)分解矩陣對(duì)原始的用戶-評(píng)分矩陣達(dá)到動(dòng)態(tài)協(xié)同過濾的效果。此外,還可以采用給予新得分更高的權(quán)重來增量更新用戶和項(xiàng)目的相似度進(jìn)行動(dòng)態(tài)協(xié)同過濾。蔣偉等就在矩陣分解模型的基礎(chǔ)上,提出了耦合用戶和物品輔助信息的矩陣分解混合協(xié)同過濾框架;然后,基于此框架又提出了耦合物品屬性信息COS相似度的過濾模型[7]。Wei Zhang等人也結(jié)合主題建模和矩陣因子分解(MF)提出了一種概率生成模型。使用分層主題建模來建模條目?jī)?nèi)容和作者信息,并使用MF來建模用戶的評(píng)級(jí)行為。用回歸模型描述這兩個(gè)模型之間的關(guān)系,并根據(jù)數(shù)據(jù)自動(dòng)平衡[8]。如果用戶只對(duì)少數(shù)幾個(gè)項(xiàng)目進(jìn)行了評(píng)級(jí),那么推薦將主要基于用戶的產(chǎn)品;否則,將基于他/她的評(píng)級(jí)。類似地,將主要根據(jù)內(nèi)容推薦評(píng)級(jí)很少的項(xiàng)目;否則,將主要根據(jù)其評(píng)級(jí)進(jìn)行推薦。
2.2? 聚類技術(shù)
在構(gòu)建動(dòng)態(tài)推薦系統(tǒng)時(shí)采用的聚類技術(shù)主要有模糊聚類、K-means聚類等。如Yoori等提出了一種在混合云環(huán)境下考慮應(yīng)用特性的資源整合分析方法和一種經(jīng)濟(jì)有效的推薦方法。資源聚類分析采用自組織映射和K-means算法對(duì)相似資源進(jìn)行動(dòng)態(tài)聚類。此外,經(jīng)濟(jì)有效的資源推薦方法采用基于應(yīng)用程序感知的資源聚類的效率度量[9]。Xian-fen Xie則提出了一種基于雙聚類的網(wǎng)頁推薦方法,研究結(jié)合了基于密度的聚類和K均值聚類的優(yōu)點(diǎn)。先對(duì)隨機(jī)抽樣進(jìn)行基于密度的聚類,然后以每個(gè)聚類的中心和聚類的個(gè)數(shù)作為初始參數(shù),實(shí)現(xiàn)快速的K-means聚類。然后將每個(gè)中間集群的主題分布與用戶閱讀歷史中的Web頁面內(nèi)容進(jìn)行比較,然后根據(jù)相似度得分依次選擇中間集群,將流行度和近似值因素結(jié)合起來構(gòu)建推薦模型[10]。使用聚類技術(shù)能夠縮小用戶或項(xiàng)目的最近鄰居搜索范圍,改善數(shù)據(jù)稀疏性問題,從而提高推薦的動(dòng)態(tài)性。
2.3? 實(shí)時(shí)計(jì)算框架技術(shù)
對(duì)于動(dòng)態(tài)推薦來說,算法本身不能太過復(fù)雜,基于Spark構(gòu)建推薦系統(tǒng)能夠?qū)⑾到y(tǒng)中推薦運(yùn)算的過程和結(jié)果在內(nèi)存中實(shí)現(xiàn)與保存,加快了推薦計(jì)算的速度,也更好地適用于數(shù)據(jù)挖掘等需要大量迭代的運(yùn)算。賈曉光運(yùn)用Spark框架技術(shù)提出了一種針對(duì)項(xiàng)目?jī)?nèi)容學(xué)習(xí)優(yōu)化的改進(jìn)模型協(xié)同深度推薦CDL-I,通過對(duì)模型進(jìn)行拆分,提出一種并行訓(xùn)練CDL-I的方法,將其移植到Spark分布式集群上,并行地對(duì)模型各部分參數(shù)進(jìn)行訓(xùn)練優(yōu)化,增強(qiáng)模型所能處理數(shù)據(jù)的規(guī)模和擴(kuò)展性[11]。
基于Storm構(gòu)建推薦系統(tǒng)可以把算法分成離線部分和動(dòng)態(tài)部分,利用Hadoop離線任務(wù)盡量把查詢數(shù)據(jù)庫比較多的、可以預(yù)先計(jì)算的模型先訓(xùn)練好,或者把計(jì)算的中間數(shù)據(jù)先計(jì)算好,然后把少量更新的計(jì)算留給Storm動(dòng)態(tài)計(jì)算,一般是具體的評(píng)分階段。肖云鵬等學(xué)者設(shè)計(jì)實(shí)現(xiàn)一種社交網(wǎng)絡(luò)評(píng)分預(yù)測(cè)方法。首先,針對(duì)評(píng)分主觀性問題,引入并優(yōu)化相關(guān)云模型理論,提出采用綜合云模型生成評(píng)分標(biāo)準(zhǔn)并轉(zhuǎn)化用戶評(píng)分的方法。其次,針對(duì)預(yù)測(cè)不準(zhǔn)確問題,引入隸屬度概念,分別利用社交關(guān)系及相似群體建立兩個(gè)評(píng)分預(yù)測(cè)模型,并基于高斯變換融合兩部分預(yù)測(cè)結(jié)果生成預(yù)測(cè)評(píng)分[12]。個(gè)性化推薦技術(shù)優(yōu)缺點(diǎn)比較結(jié)果如表1所示。
3? 結(jié)? 論
本文對(duì)動(dòng)態(tài)推薦系統(tǒng)中的“動(dòng)態(tài)”與“推薦”兩方面內(nèi)容進(jìn)行了詳細(xì)介紹與總結(jié),其中在“動(dòng)態(tài)”方面指出了在數(shù)據(jù)層和推薦服務(wù)層這兩個(gè)個(gè)性化推薦系統(tǒng)的組成部分中所涉及的動(dòng)態(tài)因素及相關(guān)研究;在“推薦”方面通過對(duì)已有文獻(xiàn)的梳理,總結(jié)了動(dòng)態(tài)推薦技術(shù)、聚類技術(shù)以及基于Spark和基于Storm實(shí)時(shí)計(jì)算框架技術(shù)三類動(dòng)態(tài)推薦技術(shù)及其優(yōu)缺點(diǎn),為研究者更好地構(gòu)建動(dòng)態(tài)推薦系統(tǒng)服務(wù)。
參考文獻(xiàn):
[1] 衛(wèi)星君,顧清華.針對(duì)協(xié)同過濾推薦系統(tǒng)的混淆托攻擊模型 [J].計(jì)算機(jī)與數(shù)字工程,2018,46(8):1575-1579+1696.
[2] 劉曜,潘芳,潘郁,等.基于融合時(shí)間信息影響的Sim-Rank算法的個(gè)性化推薦 [J].統(tǒng)計(jì)與決策,2018,34(13):85-87.
[3] 陸佳煒,盧成炳,王辰昊,等.基于USDR模型的云推薦方法研究 [J].計(jì)算機(jī)測(cè)量與控制,2018,26(8):227-232+237.
[4] 楊珍,耿秀麗.面向個(gè)性化產(chǎn)品服務(wù)方案的推薦方法與應(yīng)用 [J].中國(guó)機(jī)械工程,2018,29(16):1965-1974+1983.
[5] Danae Pla Karidi,Yannis Stavrakas,Yannis Vassiliou. Tweet and followee personalized recommendations based on knowledge graphs [J].Journal of Ambient Intelligence and Humanized Computing,2018,9(6):2035-2049.
[6] Ziyang Zhang,Yuhong Liu,Zhigang Jin,et al. A dynamic trust based two-layer neighbor selection scheme towards online recommender systems [J].Neurocomputing,2018,285:94-103.
[7] 蔣偉,秦志光.耦合輔助信息的矩陣分解推薦模型 [J].計(jì)算機(jī)應(yīng)用研究,2019(10):1-11.
[8] ZHANG W,ZHUANG J Y,YONG X,et al. Personalized topic modeling for recommending user-generated content [J].Frontiers of Information Technology & Electronic Engineering,2017,18(5):708-718.
[9] Yoori Oh,Yoonhee Kim.A resource recommendation methodbased on dynamic cluster analysis of application characteristics [J].Cluster Computing,2018(22):175-184.
[10] Xianfen Xie,Binhui Wang.Web page recommendation via twofold clustering:considering user behavior and topic relation [J].Neural Comput & Applic,2018,(29):235-243.
[11] 賈曉光.基于Spark的并行化協(xié)同深度推薦模型 [J].計(jì)算機(jī)工程與應(yīng)用,2018,54(14):71-76.
[12] 肖云鵬,孫華超,戴天驥,等.一種基于云模型的社交網(wǎng)絡(luò)推薦系統(tǒng)評(píng)分預(yù)測(cè)方法 [J].電子學(xué)報(bào),2018,46(7):1762-1767.
作者簡(jiǎn)介:焦夢(mèng)蕾(1995.10-),女,漢族,安徽淮南人,在讀碩士,研究方向:數(shù)據(jù)挖掘與智能商務(wù);徐勇(1978.01-),男,漢族,安徽涇縣人,教授,研究方向:數(shù)據(jù)挖掘與社會(huì)計(jì)算,大數(shù)據(jù)與人工智能。