本發(fā)明屬于個(gè)性化推薦技術(shù)領(lǐng)域,尤其涉及一種基于超圖結(jié)構(gòu)的社交網(wǎng)絡(luò)推薦模型構(gòu)建方法。
背景技術(shù):
隨著網(wǎng)絡(luò)信息以指數(shù)級(jí)增長(zhǎng),如何提高信息利用效率,緩解信息過(guò)載問(wèn)題一直是一個(gè)重要的研究領(lǐng)域。其中推薦系統(tǒng)是解決上述問(wèn)題的重要途徑,目前推薦系統(tǒng)在電子商務(wù)、信息檢索、智慧旅游、網(wǎng)絡(luò)廣告、移動(dòng)應(yīng)用、輿情預(yù)測(cè)等領(lǐng)域有著重要作用,自2006年netflix宣布推薦系統(tǒng)競(jìng)賽以來(lái),激起了很多科研工作者的興趣,其中推薦準(zhǔn)確性成了各個(gè)推薦系統(tǒng)最重要的衡量指標(biāo)。
傳統(tǒng)的knn協(xié)同過(guò)濾推薦,由于只利用鄰居用戶評(píng)分信息對(duì)推薦項(xiàng)目進(jìn)行預(yù)測(cè),因而造成推薦準(zhǔn)確度較低的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種基于超圖結(jié)構(gòu)的社交網(wǎng)絡(luò)推薦模型構(gòu)建方法,旨在解決傳統(tǒng)的knn協(xié)同過(guò)濾推薦,由于只利用鄰居用戶評(píng)分信息對(duì)推薦項(xiàng)目進(jìn)行預(yù)測(cè),因而造成推薦準(zhǔn)確度較低的問(wèn)題。
本發(fā)明實(shí)施例提供了一種基于超圖結(jié)構(gòu)的社交網(wǎng)絡(luò)推薦模型構(gòu)建方法,該方法包括如下步驟:
s1、基于社交網(wǎng)絡(luò)中的用戶-項(xiàng)目評(píng)分矩陣構(gòu)建以項(xiàng)目為中心的超圖及以用戶為中心的超圖;
s2、基于所述項(xiàng)目為中心的超圖及所述以用戶為中心的超圖確定用戶的鄰居用戶和項(xiàng)目的鄰接項(xiàng)目,計(jì)算用戶評(píng)價(jià)相似度,項(xiàng)目特征相似度及用戶特征相似度;
s3、在矩陣因子分解模型的基礎(chǔ)上,融入用戶評(píng)價(jià)相似度、用戶特征相似度和項(xiàng)目特征相似度,獲取目標(biāo)函數(shù);
s4、對(duì)目標(biāo)函數(shù)采用隨機(jī)梯度下降算法,可迭代求出用戶潛在因子矩陣pi及項(xiàng)目潛在因子矩陣qj;
s5、基于用戶潛在因子矩陣pi及項(xiàng)目潛在因子矩陣qj預(yù)測(cè)用戶對(duì)項(xiàng)目的評(píng)分,向用戶推薦預(yù)測(cè)評(píng)分最高的項(xiàng)目。
本發(fā)明實(shí)施例在矩陣因子分解模型的基礎(chǔ)上,融入社交網(wǎng)絡(luò)中存在多種社交信息,包括用戶特征、項(xiàng)目特征、用戶評(píng)分,因而使得推薦模型描述得更為全面,從而提高推薦系統(tǒng)的準(zhǔn)確率。
附圖說(shuō)明
圖1為本發(fā)明實(shí)施例提供的基于超圖結(jié)構(gòu)的社交網(wǎng)絡(luò)推薦模型構(gòu)建方法的流程圖;
圖2為本發(fā)明實(shí)施例提供的用戶對(duì)電影的評(píng)價(jià)表;
圖3為本發(fā)明實(shí)施例提供的基于用戶對(duì)電影的評(píng)價(jià)表構(gòu)建的以用戶為中心的超圖;
圖4為本發(fā)明實(shí)施例提供的基于用戶對(duì)電影的評(píng)價(jià)表構(gòu)建的以項(xiàng)目為中心的超圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
圖1為本發(fā)明實(shí)施例提供的基于超圖結(jié)構(gòu)的社交網(wǎng)絡(luò)推薦模型構(gòu)建方法的流程圖,該方法包括如下步驟:
s1、基于社交網(wǎng)絡(luò)中的用戶-項(xiàng)目評(píng)分矩陣構(gòu)建以項(xiàng)目為中心的超圖及以用戶為中心的超圖;
在本發(fā)明實(shí)施例中,假設(shè)某社交網(wǎng)絡(luò)有m個(gè)項(xiàng)目,有n個(gè)用戶,基于該社交網(wǎng)絡(luò)構(gòu)建m×n的評(píng)分矩陣,例如,社交網(wǎng)絡(luò)有四個(gè)電影資源,分別是s={s1,s2,s3,s4},有8個(gè)用戶分別是u={u1,u2,u3,u4,u5,u6,u7,u8},假設(shè)用戶對(duì)電影的評(píng)價(jià)表如圖2所示,構(gòu)建以用戶為中心的超圖如圖3所示,構(gòu)建的以項(xiàng)目為中心的超圖如圖4所示,若該網(wǎng)絡(luò)是一個(gè)以項(xiàng)目為中心的超圖,其中該網(wǎng)絡(luò)表示為h=(s,es),其中s={s1,s2,…,sm}代表項(xiàng)目節(jié)點(diǎn)集合,es={es1,es2,…,esm}表示超邊結(jié)合,其滿足條件
s2、基于項(xiàng)目為中心的超圖及以用戶為中心的超圖確定用戶的鄰居用戶和項(xiàng)目的鄰接項(xiàng)目,計(jì)算用戶評(píng)價(jià)相似度,項(xiàng)目特征相似度及用戶特征相似度;
在本發(fā)明實(shí)施例中,用戶ui和用戶uj共同評(píng)價(jià)過(guò)的項(xiàng)目集合為is={s1,s2,…,sn},即
用戶ui和用戶uj共同評(píng)價(jià)過(guò)的項(xiàng)目集合為is={s1,s2,…,sn},則用戶ui和用戶uj的評(píng)價(jià)相似度定義為:
其中,sim_c(ui,uj)簡(jiǎn)記為scij,即為用戶評(píng)價(jià)相似度,
其中,rik=rank(ui,sk)為用戶ui對(duì)項(xiàng)目sk的評(píng)價(jià),即為用戶對(duì)項(xiàng)目提供的服務(wù)進(jìn)行等級(jí)評(píng)定。
在本發(fā)明實(shí)施例中,項(xiàng)目si和項(xiàng)目sj的特征相似度,用特征向量的余弦相似度表示,即:
將sim_s(si,sj)簡(jiǎn)記為ssij,即為項(xiàng)目特征相似度,
在本發(fā)明實(shí)施例中,用戶ui和用戶uj的特征相似度,用特征向量的余弦相似度表示,即:
將sim_u(ui,uj)簡(jiǎn)記為suij,即為用戶特征相似度,其中,
s3、在矩陣因子分解模型的基礎(chǔ)上,融入用戶評(píng)價(jià)相似度、用戶特征相似度和項(xiàng)目特征相似度,獲取目標(biāo)函數(shù);
在本發(fā)明實(shí)施例中,矩陣因子分解模型是在戶潛在因子的概率分布及項(xiàng)目潛在因子的概率分布滿足零均值高斯先驗(yàn)基礎(chǔ)之上建立的模型。
步驟s3具體包括如下步驟:
s31、設(shè)定用戶潛在因子的概率分布及項(xiàng)目潛在因子的概率分布滿足零均值高斯先驗(yàn),構(gòu)建矩陣因子分解模型;
在本發(fā)明實(shí)施例中,用戶潛在因子的概率分布及項(xiàng)目潛在因子的概率分布滿足零均值高斯先驗(yàn),所以用戶潛在因子的概率分布及項(xiàng)目潛在因子的概率分布表達(dá)式如下:
其中,
s32、在用戶潛在因子的概率分布基礎(chǔ)上融入用戶評(píng)價(jià)相似度,基于給定的定鄰居用戶潛在因子得到第一目標(biāo)用戶潛在因子條件概率分布;
在本發(fā)明實(shí)施例中,用戶傾向于購(gòu)買(mǎi)朋友推薦的商品,因此使用朋友圈或鄰居用戶的信息可以提高推薦準(zhǔn)確度,即用戶的興趣受鄰居用戶的潛在因子影響,即在公式(5)的基礎(chǔ)上融入用戶評(píng)價(jià)相似度,在給定鄰居用戶潛在因子條件下可以得到第一目標(biāo)用戶潛在因子條件概率分布,具體如下:
其中,p(p|sc,ω)表示第一目標(biāo)用戶潛在因子條件概率分布,ω表示零均值球面高斯先驗(yàn),nui表示用戶ui的鄰居用戶,sciv表示用戶ui和其鄰居用戶uv之間的評(píng)價(jià)相似度,pv表示鄰居用戶uv的潛在因子特征矩陣,在本發(fā)明實(shí)施例中,鄰居用戶是指用戶ui和用戶uv對(duì)共同評(píng)價(jià)過(guò)項(xiàng)目sj,即
s33、在用戶潛在因子的概率分布基礎(chǔ)上融入用戶特征相似度,基于給定的鄰居用戶特征得到第二目標(biāo)用戶潛在因子條件概率分布;
在本發(fā)明實(shí)施例中,具有相同特征的用戶往往具有較類(lèi)似的用戶興趣,因此鄰居用戶特征對(duì)目標(biāo)用戶潛在因子產(chǎn)生影響,即可在公式(5)的基礎(chǔ)上融入用戶特征相似度,基于給定的鄰居用戶特征得到第二目標(biāo)用戶潛在因子條件概率分布,具體如下:
其中,p(p|su,ω)為第二目標(biāo)用戶潛在因子條件概率分布,ω表示零均值球面高斯先驗(yàn),nui表示用戶ui的鄰居用戶,suiv表示用戶ui和其鄰居用戶uv的特征相似度,pv表示鄰居用戶uv的潛在因子特征矩陣。
s34、在項(xiàng)目潛在因子的概率分布基礎(chǔ)上融入項(xiàng)目特征相似度,基于給定的鄰接項(xiàng)目特征得到目標(biāo)項(xiàng)目潛在因子條件概率分布;
在本發(fā)明實(shí)施例中,具有相同特征的項(xiàng)目在某個(gè)時(shí)間段類(lèi)會(huì)比較流行,因此鄰接項(xiàng)目特征對(duì)目標(biāo)項(xiàng)目潛在因子產(chǎn)生影響,即可在公式(6)的基礎(chǔ)上融入項(xiàng)目特征相似度,基于給定的鄰接項(xiàng)目特征得到目標(biāo)項(xiàng)目潛在因子條件概率分布,具體如下:
其中,p(q|ss,ω)為目標(biāo)項(xiàng)目潛在因子條件概率分布,ω表示零均值球面高斯先驗(yàn),
在本發(fā)明實(shí)施例中,上述步驟s32、步驟s33及步驟s34在順序上并無(wú)先后之分。
s35、在以矩陣因子分解模型的基礎(chǔ)上,結(jié)合第一目標(biāo)用戶潛在因子條件概率分布、第二目標(biāo)用戶潛在因子條件概率分布及目標(biāo)項(xiàng)目潛在因子條件概率分布,通過(guò)貝葉斯定理推理獲取推導(dǎo)公式;
通過(guò)貝葉斯定理推理,結(jié)合公式(7)、(8)和(9),得到下列推導(dǎo)公式:
其中,iij為指示變量,若用戶ui對(duì)項(xiàng)目sj存在評(píng)分,則取值1,否則取值0。
s36、利用凸優(yōu)化理論對(duì)推導(dǎo)進(jìn)行求對(duì)數(shù),即可以得到目標(biāo)函數(shù)。
在本發(fā)明實(shí)施例中,目標(biāo)函數(shù)的表達(dá)式如下:
其中,rij為用戶ui對(duì)項(xiàng)目sj的評(píng)分,
s4、對(duì)目標(biāo)函數(shù)采用隨機(jī)梯度下降算法,可迭代求出用戶潛在因子矩陣pi及項(xiàng)目潛在因子矩陣qj;
在本發(fā)明實(shí)施例中,按照式迭代公式(12)和(13)進(jìn)行迭代,即可求出用戶潛在因子矩陣pi及項(xiàng)目潛在因子qj,其中迭代公式(12)、(13)表示如下:
其中t是迭代次數(shù),l是步長(zhǎng),本發(fā)明是實(shí)施例中默認(rèn)值取為0.0005,可以根據(jù)精度需要自行設(shè)置,其一般取值范圍是[0.0001,0.1],
s5、基于用戶潛在因子矩陣pi及項(xiàng)目潛在因子矩陣qj測(cè)用戶對(duì)項(xiàng)目的評(píng)分,向用戶推薦預(yù)測(cè)評(píng)分最高的項(xiàng)目。
在本發(fā)明實(shí)施例中,用戶對(duì)項(xiàng)目評(píng)分的預(yù)測(cè)可以采取公式如下:
其中,
本發(fā)明實(shí)施例在矩陣因子分解模型的基礎(chǔ)上,融入社交網(wǎng)絡(luò)中存在多種社交信息,包括用戶特征、項(xiàng)目特征、用戶評(píng)分,因而使得推薦模型描述得更為全面,從而提高推薦系統(tǒng)的準(zhǔn)確率。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。