一種融合社會網(wǎng)絡(luò)和項目特征的移動應(yīng)用推薦方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及的移動應(yīng)用推薦領(lǐng)域,特別是一種融合社會網(wǎng)絡(luò)和項目特征的移動應(yīng) 用推薦方法。
【背景技術(shù)】
[0002] 近年來,移動應(yīng)用的發(fā)展十分迅猛。然而,移動應(yīng)用行業(yè)長期以來存在的長尾問題 卻不容忽略,一些需求和下載量不高的應(yīng)用所占據(jù)的共同市場份額可以和主流應(yīng)用的市場 相當,甚至更大。同時,移動應(yīng)用市場存在顯式反饋少、評分數(shù)據(jù)可信度較低的問題,國內(nèi)應(yīng) 用市場推薦大多只考慮了評分和下載量兩個因素,學術(shù)界則集中于研究基于社交關(guān)系的應(yīng) 用推薦,但這些實際應(yīng)用和研究的推薦效果還有很大的提升空間,因此,移動應(yīng)用領(lǐng)域推薦 系統(tǒng)的研究勢在必行。
[0003] 推薦算法作為推薦系統(tǒng)的核心內(nèi)容,對推薦結(jié)果的準確性有著直接影響。協(xié)同過 濾算法是推薦系統(tǒng)中廣泛應(yīng)用的算法之一,主要分為基于用戶的協(xié)同過濾算法和基于物品 的協(xié)同過濾算法兩大類?;谟脩舻膮f(xié)同過濾算法主要思想是利用已經(jīng)掌握的用戶群過去 的行為和操作來推測當前用戶的興趣點。簡單來說,就是通過分析用戶共同評分項目來計 算兩個用戶之間的相似度,從而為相似用戶提供可能感興趣的推薦。傳統(tǒng)協(xié)同過濾算法通 常使用余弦公式或Pearson公式來計算用戶相似度。然而,協(xié)同過濾算法普遍存在數(shù)據(jù)稀 疏性問題,當評分數(shù)據(jù)稀疏時,用戶共同評分項目就會很少,甚至沒有。顯然,在這種情況下 判斷兩個用戶是否相似的計算方法并不準確。如表1所示,用戶^對"憤怒的小鳥I "和"斗 地主"進行了評分,用戶u2對"憤怒的小鳥II "和"升級"進行了評分。按照余弦和Pearson 方法,兩個用戶之間沒有共同評分項目,相似度為零。然而,"憤怒的小鳥I "和"憤怒的小 鳥II "是同一游戲的不同版本,相似度極高。"斗地主"和"升級"都屬于棋牌類游戲,也有一 定的相似度。判斷兩個用戶相似度為零顯然是不合理的。
[0004] 表1用戶-應(yīng)用評分矩陣示例
[0006] 目前國內(nèi)主流的移動應(yīng)用市場主要包括騰訊應(yīng)用寶、360手機助手、豌豆莢、小米 應(yīng)用市場等,其推薦策略如下:一,分類排行榜熱門應(yīng)用推薦;二,應(yīng)用開發(fā)者其他熱門應(yīng) 用推薦;三,與已下載應(yīng)用有關(guān)聯(lián)關(guān)系的系列應(yīng)用推薦。此外,國外的一些移動應(yīng)用推薦服 務(wù)如AppHero等,還能根據(jù)用戶的歷史活動數(shù)據(jù)和社交數(shù)據(jù)進行應(yīng)用推薦??偟膩碚f,當前 推薦所考慮的因素主要是用戶評分和應(yīng)用下載量。由于移動應(yīng)用相關(guān)信息具有多樣性、異 構(gòu)性、動態(tài)性等特點,并且面臨著數(shù)據(jù)稀疏、用戶欺詐等問題,導致推薦結(jié)果不夠準確、不夠 全面、且相似和單一,嚴重影響了移動應(yīng)用推薦的質(zhì)量。
[0007] 傳統(tǒng)的協(xié)同過濾技術(shù)需要用戶提供顯示的評分才能產(chǎn)生推薦結(jié)果,給使用者增加 了負擔。有研究者提出利用數(shù)據(jù)挖掘技術(shù)來隱式獲取用戶的評分,常用技術(shù)有:基于關(guān)聯(lián)規(guī) 則挖掘的推薦、基于知識的推薦、基于貝葉斯分類和決策樹技術(shù)等。對于評分數(shù)據(jù)的高度稀 疏問題,可以利用奇異值分解技術(shù)來減少項目空間的維數(shù),從而改善用戶評分數(shù)據(jù)的稀疏 性。
[0008] 隨著QQ、微信、微博等社交平臺的廣泛應(yīng)用,研究學者對在線社會網(wǎng)絡(luò)中豐富的社 會關(guān)系類型、隱含的大量社會關(guān)系信息、社會關(guān)系信息與推薦系統(tǒng)的融合等進行了大量的 研究。目前比較流行的是基于用戶聚類的推薦算法,該方法在稀疏數(shù)據(jù)和冷啟動的情況下 具有更好的推薦效果;此外,Irwin King、Qiang Yang、Enhong Chen等在用戶相似度、用戶 信任度和用戶影響力的協(xié)同過濾推薦算法方面也進行了較為深入的研究;后來,為進一步 提高推薦的準確性,Jon Kleinberg、Jie Tang等又提出了通過多重異構(gòu)社會網(wǎng)絡(luò)進行推薦 的算法。但是,融合社會關(guān)系的推薦系統(tǒng)一般都聚焦于社會網(wǎng)絡(luò)本身,如好友推薦、社會推 薦等,如何針對移動應(yīng)用推薦的特征,將社會關(guān)系與移動應(yīng)用推薦相結(jié)合,仍有待進一步研 究。
[0009] 本發(fā)明基本定義如下:
[0010] 定義1(移動應(yīng)用集合)Α= 為移動應(yīng)用集合,其中a」l彡i彡m為項 目名稱。
[0011] 定義2(用戶集合)U = {Up . . . un}為用戶集合,其中Ui I 1彡i彡η為用戶ID。
[0012] 定義3(用戶-應(yīng)用評分矩陣)R = {ru,a|u e U,a e A}為用戶-應(yīng)用評分矩陣, 其中\(zhòng)3表示用戶u對應(yīng)用a的評分,評分值為1~5的整數(shù)。
[0013] 定義4 (應(yīng)用相似度矩陣)
為應(yīng)用相似度矩陣,其中
表示應(yīng)用與應(yīng)用a j之間的相似程度,0表示完全不相似,1表示完全 相同,值越大用戶之間的相似度越高。
[0014] 定義5 (用戶相似度矩陣)
為用戶相似度矩陣,其 中表示用戶+與u ^的相似度,〇表示完全不相似,:表示完全相同,值越大用戶 之間的相似度越高。
[0015] 注意,"項目"(item)是協(xié)同過濾推薦算法中的概念,用于表示待推薦的物品或?qū)?象,在本發(fā)明中,主要針對的推薦對象為移動應(yīng)用,因此在后文中,"(移動)應(yīng)用"和"項目" 為等價互用的概念。
【發(fā)明內(nèi)容】
[0016] 本發(fā)明所要解決的技術(shù)問題是,針對現(xiàn)有技術(shù)不足,提供一種融合社會網(wǎng)絡(luò)和項 目特征的移動應(yīng)用推薦方法。
[0017] 為解決上述技術(shù)問題,本發(fā)明所采用的技術(shù)方案是:一種融合社會網(wǎng)絡(luò)和項目特 征的移動應(yīng)用推薦方法,其特征在于,包括以下步驟:
[0018] 1)從表征移動應(yīng)用項目的節(jié)點集合中隨機取出k個節(jié)點作為觀測點;
[0019] 2)利用如下所示的項目相似度計算公式,計算項目與每個觀測點之間的相似度:
[0021] ItemSim(A,B) e [0,1],如果項目與觀測點完全相同,則相似度ItemSim(A, B)為1 ;如果項目與觀測點沒有任何的共同特征,那么相似度ItemSim(A,B)為0 ;其中, distant(A,B)表示A與B之間的語義距離,ε為調(diào)節(jié)因子,取值為1,用于防止distant(A, B)值為0 ;depth⑷表示項目A所在節(jié)點的深度;depth⑶表示項目B所在節(jié)點的深度; density (A, B)表示A與B最近的共同祖先的子節(jié)點密度;α、β、γ取值范圍均為[0, 1], 且α+β+γ=1;
[0022] 3)根據(jù)經(jīng)上述步驟2)計算得到某節(jié)點與k個觀測點之間的相似度,將該節(jié)點劃歸 到相似度最高的觀測點為中心的簇中;同理對所有節(jié)點進行劃歸,形成k個簇;
[0023] 4)將每個簇中到簇中其它點距離和最小的點作為新的觀測點;
[0024] 5)迭代步驟2)~步驟4),直到這k個觀測點收斂,得到最終的簇;
[0025] 6)計算目標用戶u與其它用戶在項目評分經(jīng)歷上的相似度;計算目標用戶u對其 它用戶的信任度;根據(jù)top-N最近鄰選擇策略,選擇在項目評分經(jīng)歷上相似度最高的N個用 戶和信任度最高的N個的用戶作為目標用戶u的相似最近鄰和信任最近鄰,分別記為相似 用戶集合S和信任用戶集合T ;N為正整數(shù);
[0026] 7)利用下式預測目標用戶對未評分項目的偏好r" u,1:
[0028] r" u,;表示用戶u對項目i的預測評分;其中,UserSim(u, u s)和trust(u, ut)分 別表示用戶的相似度和信任度;識表示兩個最近鄰集合的評分預測在計算中所占的權(quán)重; $表示用戶u評分的均值;usS相似用戶集合S中的某一用戶,巧表示用戶us評分的均值; 4為信任用戶集合T中的某一用戶,$表示用戶ut評分的均值;表示用戶us對項目i 或其相似項目的評分;表示用戶Ut對項目i的評分;
[0029] 8)根據(jù)用戶對未評分項目的預測評分,選擇預測評分前top-N的項目作為推薦項 目推薦給用戶。
[0030] 其中,步驟