基于相似性傳播與流行度降維的混合推薦方法
【專利摘要】本發(fā)明涉及一種基于相似性傳播與流行度降維的混合推薦方法,對(duì)稀疏的數(shù)據(jù)進(jìn)行了兩階段處理,首先通過(guò)相似性傳播方法,利用用戶、資源及Tag的相似矩陣不斷迭代以擴(kuò)展它們的鄰居,從而填充為零的元素;之后,考慮到原始數(shù)據(jù)存在無(wú)意義的垃圾Tag問(wèn)題,將搜索引擎中的評(píng)分算法引入進(jìn)來(lái)計(jì)算Tag的流行度,刪除流行度低于某個(gè)閾值的Tag以精簡(jiǎn)數(shù)據(jù),從而對(duì)矩陣降維。而將基于內(nèi)容的推薦與協(xié)同過(guò)濾推薦結(jié)合起來(lái),既可以使得推薦結(jié)果具有多樣性,又可以一定程度上緩解稀疏性和冷啟動(dòng)的問(wèn)題。提供了對(duì)個(gè)性化推薦過(guò)程中數(shù)據(jù)稀疏性問(wèn)題的一種解決方法,該方法對(duì)推薦結(jié)果精度高,具有準(zhǔn)確性高、可靠性高的優(yōu)點(diǎn)。
【專利說(shuō)明】基于相似性傳播與流行度降維的混合推薦方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種數(shù)據(jù)挖掘的個(gè)性化推薦技術(shù),特別涉及一種基于相似性傳播與流行度降維的混合推薦方法。
【背景技術(shù)】
[0002]在個(gè)性化推薦算法的研究中,社會(huì)化標(biāo)簽作為一種重要的顯示評(píng)分技術(shù),不僅可以描述資源而且可以表征用戶的偏好,因此結(jié)合社會(huì)化標(biāo)簽的推薦正成為互聯(lián)網(wǎng)推薦引擎中的研究熱點(diǎn)。然而大多數(shù)推薦算法的研究都面臨著數(shù)據(jù)稀疏性的問(wèn)題。目前解決稀疏性問(wèn)題的研究方法主要分為采用各種技術(shù)對(duì)矩陣進(jìn)行填充和數(shù)據(jù)降維兩大類。
[0003]在對(duì)矩陣進(jìn)行填充方面,最簡(jiǎn)單的矩陣填充方法是將用戶未評(píng)分項(xiàng)目設(shè)為一個(gè)固定的缺省值,可以是用戶對(duì)其他項(xiàng)目的平均評(píng)分值或其他用戶對(duì)該項(xiàng)目的平均評(píng)分值,但該方法對(duì)用戶的推薦質(zhì)量有待提高。另一種矩陣填充方法是采用預(yù)測(cè)填充方法,如采用BP神經(jīng)網(wǎng)絡(luò)對(duì)項(xiàng)目進(jìn)行預(yù)測(cè),但網(wǎng)絡(luò)模型的學(xué)習(xí)速度較慢,算法效率較低,而且對(duì)用戶的推薦質(zhì)量有待提高;采用樸素貝葉斯方法估算項(xiàng)目所屬的分類,利用此類中其他項(xiàng)目的評(píng)分來(lái)預(yù)測(cè)未評(píng)分項(xiàng)目的評(píng)分,從而減小數(shù)據(jù)稀疏性。另外有一些研究利用相似性傳播的方法,假定用戶的品味具有傳遞性,并利用此傳遞性對(duì)矩陣進(jìn)行填充,這些方法對(duì)用戶的推薦質(zhì)量有明顯的提升。但是,目前基于相似性傳播來(lái)填充矩陣的方法只考慮了兩維空間:用戶和資源。將Tag這一維空間考慮進(jìn)來(lái)解決數(shù)據(jù)稀疏性問(wèn)題更有意義。
[0004]在數(shù)據(jù)降維方面,采用奇異值分解技術(shù)可以減少向量空間的維數(shù)。有些研究將主成分分析(PCA)用在推薦中,利用主成分分析對(duì)評(píng)分?jǐn)?shù)據(jù)預(yù)處理,原始評(píng)分?jǐn)?shù)據(jù)被投射到最相關(guān)的主特征向量上。還可以采用聚類的方法,利用用戶間相似性對(duì)用戶聚類,將離目標(biāo)用戶最近的一個(gè)類的所有用戶作為其鄰居,從而對(duì)數(shù)據(jù)進(jìn)行降維度。這些方法的優(yōu)點(diǎn)是能有效提高推薦系統(tǒng)的預(yù)測(cè)準(zhǔn)確率,不足之處是算法的復(fù)雜度比較高。
【發(fā)明內(nèi)容】
[0005]本發(fā)明是針對(duì)推薦算法中數(shù)據(jù)存在稀疏性的問(wèn)題,提出了一種基于相似性傳播與流行度降維的混合推薦方法,提供了對(duì)個(gè)性化推薦過(guò)程中數(shù)據(jù)稀疏性問(wèn)題的一種解決方法,該方法對(duì)推薦結(jié)果精度高,具有準(zhǔn)確性高、可靠性高的優(yōu)點(diǎn)。
[0006]本發(fā)明的技術(shù)方案為:一種基于相似性傳播與流行度降維的混合推薦方法,具體包括如下步驟:
[0007]I)數(shù)據(jù)建模:利用原始用戶、資源及Tag的三元數(shù)據(jù)構(gòu)建二元數(shù)據(jù)模型,即構(gòu)建稀疏矩陣UT矩陣、UR矩陣及RT矩陣,
[0008]其中:U = Iu1, u2,, um}表示m個(gè)用戶集合,R= Ir1, r2,..., rj表示η個(gè)資源集合,T= It1, t2,..., tp}表示 P 個(gè) Tag 集合;
[0009]2)相似性計(jì)算:通過(guò)步驟I)所得二元數(shù)據(jù)模型,采用pearson相關(guān)系數(shù)計(jì)算用戶之間、資源之間及Tag之間的相似性值,計(jì)算相似矩陣UU矩陣、RR矩陣及TT矩陣;
[0010]3)相似性傳播:利用步驟2)所得相似矩陣對(duì)步驟I)稀疏矩陣進(jìn)行迭代以傳播和擴(kuò)展它們的相似鄰居,每迭代一次,需要對(duì)稀疏矩陣進(jìn)行一次標(biāo)準(zhǔn)化,從而填充為O的元素;
[0011]4)流行度降維:通過(guò)改進(jìn)PageRank算法,利用資源、用戶和Tag三者之間的互增強(qiáng)關(guān)系進(jìn)行迭代,得到最終Tag的流行度值,刪除流行度低于閾值的Tag,從而對(duì)矩陣降維;
[0012]5)混合推薦:使用平衡因子α,綜合基于內(nèi)容的推薦和協(xié)同過(guò)濾推薦算法,為用戶生成推薦。
[0013]所述步驟I)三元數(shù)據(jù)是關(guān)于用戶、資源及Tag之間關(guān)系的數(shù)據(jù),每條記錄為一個(gè)三元關(guān)系,形式為:用戶ID,資源ID,Tag1, Tag2,…,Tagq,其中q≤ρ,表示用戶對(duì)一個(gè)資源標(biāo)注了一組標(biāo)簽,稀疏矩陣UT矩陣、UR矩陣及RT矩陣如下表示:
【權(quán)利要求】
1.一種基于相似性傳播與流行度降維的混合推薦方法,其特征在于,具體包括如下步驟: 1)數(shù)據(jù)建模:利用原始用戶、資源及Tag的三元數(shù)據(jù)構(gòu)建二元數(shù)據(jù)模型,即構(gòu)建稀疏矩陣UT矩陣、UR矩陣及RT矩陣, 其中:U = Iu1, u2, , um}表示m個(gè)用戶集合,R = Ir1, r2,..., rj表示η個(gè)資源集合,T = It1, t2,..., tp}表示 P 個(gè) Tag 集合; 2)相似性計(jì)算:通過(guò)步驟I)所得二元數(shù)據(jù)模型,采用Pearson相關(guān)系數(shù)計(jì)算用戶之間、資源之間及Tag之間的相似性值,計(jì)算相似矩陣UU矩陣、RR矩陣及TT矩陣; 3)相似性傳播:利用步驟2)所得相似矩陣對(duì)步驟I)稀疏矩陣進(jìn)行迭代以傳播和擴(kuò)展它們的相似鄰居,每迭代一次,需要對(duì)稀疏矩陣進(jìn)行一次標(biāo)準(zhǔn)化,從而填充為O的元素; 4)流行度降維:通過(guò)改進(jìn)PageRank算法,利用資源、用戶和Tag三者之間的互增強(qiáng)關(guān)系進(jìn)行迭代,得到最終Tag的流行度值,刪除流行度低于閾值的Tag,從而對(duì)矩陣降維; 5)混合推薦:使用平衡因子α,綜合基于內(nèi)容的推薦和協(xié)同過(guò)濾推薦算法,為用戶生成推薦。
2.根據(jù)權(quán)利要求1所述基于相似性傳播與流行度降維的混合推薦方法,其特征在于,所述步驟I)三元數(shù)據(jù)是關(guān)于用戶、資源及Tag之間關(guān)系的數(shù)據(jù),每條記錄為一個(gè)三元關(guān)系,形式為:用戶ID,資源ID, Tag1, Tag2,..., Tagq,其中q ( P,表示用戶對(duì)一個(gè)資源標(biāo)注了一組標(biāo)簽,稀疏矩陣UT矩陣、UR矩陣及RT矩陣如下表示:
Utuj表示用戶Ui使用Tag tj標(biāo)注的資源數(shù);
表示資源巧被了&8 tj標(biāo)注的用戶數(shù)。
3.根據(jù)權(quán)利要求1所述基于相似性傳播與流行度降維的混合推薦方法,其特征在于,所述步驟2)中相似矩陣UU矩陣、RR矩陣及TT矩陣計(jì)算: 用戶間的相似矩陣UU的元素UUm表示用戶Ui與用戶+的相似性,該相似性分別通過(guò)UR矩陣和UT矩陣來(lái)計(jì)算,然后取兩個(gè)相似性的均值,公式為:
其中,Simiij(UR)是根據(jù)矩陣UR得到的用戶Ui和用戶Uj的相似性,Simiij(UT)是根據(jù)UT矩陣得到的用戶Ui和用戶+的相似性;資源間相似性矩陣RR的元素rri, j表示資源ri與r」的相似性,該相似性分別通過(guò)UR矩陣和RT矩陣來(lái)計(jì)算,然后取兩個(gè)相似性的均值,公式為:
其中,(【W(wǎng))是根據(jù)矩陣UR得到的資源ri和資源&的相似性,Simri,r.(RT)是根據(jù)RT矩陣得到的資源&和資源&的相似性; Tag間相似性矩陣TT的元素tti, J表示Tag t,與相似性,該相似性分別通過(guò)UT矩陣和RT矩陣來(lái)計(jì)算,然后取兩個(gè)相似性的均值,公式為:
其中,(W)表示利用矩陣UT得到的Tag ti與tj相似性,Simtutj (燈)表示利用矩陣RT得到的Tag \與tj相似性。
4.根據(jù)權(quán)利要求3所述基于相似性傳播與流行度降維的混合推薦方法,其特征在于,所述相似性計(jì)算:
其中,R(Ui)表示用戶Ui標(biāo)注的資源集合,R(Uj)表示用戶+標(biāo)注的資源集合;r為用戶4和用戶+共同標(biāo)注的資源;表示用戶Ui對(duì)資源r的偏好值:表示用戶Ui對(duì)所有標(biāo)注過(guò)的資源的平均偏好值;表示用戶對(duì)資源r的偏好值,‘表示用戶對(duì)所有標(biāo)注過(guò)的資源的平均偏好值;
其中,T(Ui)表示用戶Ui標(biāo)注的Tag集合,T(Uj)表示用戶Uj標(biāo)注的Tag集合;t為用戶Ui和用戶U」共同標(biāo)注的Tag ; Utuut表示用戶Ui對(duì).Tagt的偏好值,^表示用戶Ui對(duì).所有.標(biāo)注過(guò):的Tag的平均偏好值; Hf ,t表示用戶Uj對(duì)Tagt的偏好值,Ut^表示用戶Uj對(duì)所有標(biāo)注過(guò)的Tag的平均偏好值;
其中,U(r,)表示標(biāo)注資源ri的用戶集合,U(rj)表示標(biāo)注資源&的用戶集合;u為同時(shí)標(biāo)注資源A和資源&的用戶; uru,n表示用戶u對(duì)資源ri的偏好值,表示所有標(biāo)注過(guò)資源&的用戶對(duì)資源ri的平均偏好值; uru’rj表示用戶u對(duì)資源&的偏好值,^表示所有標(biāo)注過(guò)資源&的用戶對(duì)資源rj的平均偏好值;
其中,T Cri)表示資源η被標(biāo)注的Tag集合,TCrj)表示資源r」被標(biāo)注的Tag集合;t為同時(shí)標(biāo)注資源A和資源r」的Tag ; ?η,?表示資源A對(duì)Tag t的偏好值,表示資源A對(duì)所有標(biāo)注過(guò)的Tag的平均偏好值;表示資源L對(duì)Tag t的偏好值,Tt^j表示資源&對(duì)所有標(biāo)注過(guò)的Tag的平均偏好值;
其中,UCti)表示Tagti被標(biāo)注的用戶集合,U (tj)表示Tagti被標(biāo)注的用戶集合;u為同時(shí)標(biāo)注Tagti與tj的用戶;表示用戶t的偏好值,表示所有標(biāo)注過(guò)的Tag \的用戶對(duì)Tag \的平均偏好值; ?4&表示用戶u對(duì)Tag tj的偏好值,Ut I表示所有標(biāo)注過(guò)的Tag t」的用戶對(duì)Tag tj的平均偏好值;
其中,IUti)表示Tag \被標(biāo)注的資源集合,R(tp表示Tag \被標(biāo)注的資源集合;r為同時(shí)標(biāo)注Tag ti與tj資源;
表示資源I^iTag ti的偏好值,rt (.表示所有標(biāo)注過(guò)的Tag 1^的資源對(duì)Tag的平均偏好值;
表示資源r對(duì)Tagtj的偏好值,rtit.表示所有標(biāo)注過(guò)的Tag tj的資源對(duì)Tag tj的平均偏好值。
5.根據(jù)權(quán)利要求1所述基于相似性傳播與流行度降維的混合推薦方法,其特征在于,所述步驟3)相似性傳播公式如下:
其中,i表示相似性傳播迭代的次數(shù); UTt, RTt和URt分別表示UT矩陣RT矩陣和UR矩陣的轉(zhuǎn)置矩陣; (UT)i+1、(RT)i+1和(UR)i+1分別表示經(jīng)過(guò)i次迭代后的UT矩陣、RT矩陣和UR矩陣。
6.根據(jù)權(quán)利要求1所述基于相似性傳播與流行度降維的混合推薦方法,其特征在于,所述步驟4)流行度降維算法基于如下假設(shè):被高素質(zhì)用戶用高質(zhì)量的Tag標(biāo)注的資源具有更高價(jià)值,而用高質(zhì)量的Tag標(biāo)注高價(jià)值資源的用戶也具有更高的素質(zhì),被高素質(zhì)的用戶用來(lái)標(biāo)注高價(jià)值資源的Tag通常具有更高的質(zhì)量,通過(guò)改進(jìn)PageRank算法,利用資源、用戶和Tag三者之間的互增強(qiáng)關(guān)系進(jìn)行迭代,得到最終Tag的流行度值,根據(jù)流行度進(jìn)行刪除,刪除流行度低的垃圾Tag,流行度降維公式為:
Tj+\ =M Ir X Rj 其中,j表示流行度降維迭代的次數(shù)I為所有Tag的流行度矢量;Ri為所有資源的流行度矢量;Ui對(duì)所有用戶的流行度矢量;初始化Ttl都設(shè)為1,即Ttl = (1,1, , I) ;MTU, Mue和Mkt分別為傳播后的TU矩陣、UR矩陣和RT矩陣;MTTU,MTUK和Mtkt分別表示傳播后的TU矩陣、UR矩陣和RT矩陣的轉(zhuǎn)置矩陣。
7.根據(jù)權(quán)利要求1所述基于相似性傳播與流行度降維的混合推薦方法,其特征在于,所述步驟5)將基于內(nèi)容的推薦和協(xié)同過(guò)濾推薦兩種方法結(jié)合起來(lái),預(yù)測(cè)結(jié)果值如下:Rankaybrid (Ui, r」)=a Rankcontent (Ui, + (1- a ) Rankcp (Ui, r」) 其中,Rank?!?(Ui,rp為基于內(nèi)容推薦算法得到的用戶Ui對(duì)資源的評(píng)分;Rankcp(Uijrj)為協(xié)同過(guò)濾推薦算法得到的用戶Ui對(duì)資源&的評(píng)分;α為平衡因子(O < α<D ;
Rankcontent (Ui, Tj)的計(jì)算公式為:
Rankcontent(ui; Tj) = sim(Utij, Ttjj) 其中,Uti表示UT矩陣中用戶Ui對(duì)所有Tag的偏好矢量,表示為Uti = (utia,Utij2,…,Uti, p) ;rtj表示RT矩陣中資源r」對(duì)所有Tag的偏好矢量,表示為rt」=(rtja, rtJj2,...,rtJ, P); Sim(Utyrtj)為傳統(tǒng)的修正的余弦相似度公式,公式如下:
其中,T為標(biāo)簽集合,UtUi,tt,分別表示用戶Ui和資源L對(duì)Tag的平均偏好值;Utua為用戶Ui對(duì)Tag t的偏好值;rtrj,t為資源rj對(duì)Tag t的偏好值; 利用UU相似性矩陣,可選出用戶Ui的前m個(gè)最近鄰居集合AWui,用戶Ui對(duì)資源rj的預(yù)測(cè)評(píng)分Rank^^Ui, !」)的計(jì)算公式如下:
其中,uru.和urUk分別表不用戶Ui和用戶uk的平均評(píng)分值為用戶Ui和用戶Uk的相似性;urUk,rj為用戶Uk對(duì)資源h的評(píng)分,MVlii表示用戶Ui的最近鄰居集合。
【文檔編號(hào)】G06F17/30GK104182543SQ201410452338
【公開日】2014年12月3日 申請(qǐng)日期:2014年9月5日 優(yōu)先權(quán)日:2014年9月5日
【發(fā)明者】趙海燕, 郭娣 申請(qǐng)人:上海理工大學(xué)