專利名稱:一種基于用戶親密度的混合推薦系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明一種基于用戶親密度的混合推薦系統(tǒng)及方法,屬于計(jì)算機(jī)領(lǐng)域網(wǎng)絡(luò)數(shù)據(jù)挖掘領(lǐng)域。
背景技術(shù):
社交網(wǎng)站(Social Network Sites,即SNS)是一種線上的方便人與人之間進(jìn)行社交的網(wǎng)站,SNS的用戶可以在線上發(fā)布照片、狀態(tài)、日志等,其他用戶可以對(duì)這些進(jìn)行評(píng)論、轉(zhuǎn)發(fā)等操作,增進(jìn)人與人之間交流和溝通,從而達(dá)到社交的目的。當(dāng)前的SNS普遍都具有推薦功能,推薦功能的目的是向用戶推薦其感興趣并可能接受的項(xiàng)目。一方面,這提高了用戶體驗(yàn),使用戶能夠更快找到自己感興趣的項(xiàng)目,另一方面,從商業(yè)角度考慮這能達(dá)到SNS營銷的目的。因此,選擇一種準(zhǔn)確高效的推薦方法至關(guān)重要。然而,由于SNS數(shù)據(jù)稀疏、散亂等特點(diǎn),單純使用基于協(xié)同過濾的推薦或基于內(nèi)容的推薦所獲得的效果較差。根據(jù)SNS數(shù) 據(jù)產(chǎn)生的一個(gè)特點(diǎn),即較大部分?jǐn)?shù)據(jù)產(chǎn)生于用戶互動(dòng)的分享操作、評(píng)論操作、“O”操作的過程中。通過網(wǎng)站的數(shù)據(jù)庫,可以很容易的獲得用戶間產(chǎn)生的分享、評(píng)論、“@”操作的頻率。用戶互動(dòng)的頻率與程度反映了用戶之間親密度的不同,依據(jù)用戶間的親密度不同,可以在成對(duì)的用戶間進(jìn)行推薦。將基于協(xié)同過濾、基于內(nèi)容以及基于用戶親密度的推薦結(jié)合成一個(gè)混合推薦方法,更大程度地利用SNS數(shù)據(jù)向用戶推薦更合適的內(nèi)容。
發(fā)明內(nèi)容
本發(fā)明的技術(shù)解決問題克服現(xiàn)有技術(shù)的不足,提供一種基于用戶親密度的混合推薦系統(tǒng)及方法,充分利用社交網(wǎng)站中的數(shù)據(jù),通過對(duì)用戶間互動(dòng)操作的分析,獲得用戶相互的親密度,通過親密度關(guān)系來進(jìn)行推薦,并結(jié)合已有的基于協(xié)同過濾的推薦和基于內(nèi)容的推薦,使系統(tǒng)應(yīng)用具有實(shí)用性強(qiáng)、準(zhǔn)確度高、以及實(shí)現(xiàn)方便的優(yōu)點(diǎn)。本發(fā)明的技術(shù)解決方案一種基于用戶親密度的混合推薦系統(tǒng)及方法,其充分利用SNS的數(shù)據(jù)進(jìn)行推薦,如圖I所示包括用戶親密度確定模塊在生成對(duì)用戶的推薦結(jié)果之前,掃描數(shù)據(jù)庫,根據(jù)數(shù)據(jù)庫中保存的用戶數(shù)據(jù),獲取某用戶與其他用戶的互動(dòng)行為,統(tǒng)計(jì)這些行為進(jìn)行的次數(shù),確定該用戶對(duì)其他用戶的親密度,并將親密度歸一化,將結(jié)果存儲(chǔ)在數(shù)據(jù)庫中;所述用戶親密度是采用社交網(wǎng)站中兩個(gè)用戶之間發(fā)生的“O”、轉(zhuǎn)發(fā)、評(píng)論操作的次數(shù)來度量,并且用戶親密度關(guān)系屬于單向關(guān)系,以I (A —B)表示用戶A對(duì)用戶B的親密度,有I (A —B) ^ I (B - A);基于用戶親密度的推薦結(jié)果生成模塊根據(jù)用戶親密度確定模塊的結(jié)果,從數(shù)據(jù)庫中獲取與該用戶親密度最高的前N個(gè)用戶,N由本系統(tǒng)的輸入指定,合并這些用戶所關(guān)注的項(xiàng)目作為推薦結(jié)果E1,將該結(jié)果保存至數(shù)據(jù)庫,為后續(xù)操作提供相關(guān)數(shù)據(jù);基于協(xié)同過濾的推薦結(jié)果生成模塊掃描網(wǎng)站數(shù)據(jù)庫,根據(jù)數(shù)據(jù)庫中保存的用戶所關(guān)注的項(xiàng)目情況,獲得該用戶與其他用戶的相似度,將與該用戶相似度最高的前N個(gè)用戶所關(guān)注的項(xiàng)目作為推薦結(jié)果E2, N由本系統(tǒng)的輸入指定,將該結(jié)果保存至數(shù)據(jù)庫,為后續(xù)操作提供相關(guān)數(shù)據(jù);基于內(nèi)容的推薦結(jié)果生成模塊掃描網(wǎng)站數(shù)據(jù)庫,獲得該用戶與待推薦項(xiàng)目的描述關(guān)鍵詞向量,將與該用戶關(guān)鍵詞向量相似度最高的前N個(gè)項(xiàng)目作為推薦結(jié)果E3, N由本系統(tǒng)的輸入指定,將該結(jié)果保存至數(shù)據(jù)庫,為后續(xù)操作提供相關(guān)數(shù)據(jù);結(jié)果整合模塊從數(shù)據(jù)庫中提取前面三個(gè)模塊的生成結(jié)果,合并成為待推薦項(xiàng)目集合E,掃描該集合,確定集合中每個(gè)項(xiàng)目在Ep E2, E3總共出現(xiàn)的次數(shù),最后將出現(xiàn)次數(shù)高于指定次數(shù)的項(xiàng)目作為結(jié)果推薦給用戶,在用戶訪問網(wǎng)站時(shí)進(jìn)行顯示,用戶根據(jù)推薦的結(jié)果選擇自己感興趣的項(xiàng)目進(jìn)行關(guān)注。所述用戶親密度確定模塊實(shí)現(xiàn)過程如下(I)選擇需要推薦的用戶,掃描該用戶與其他所有用戶的互動(dòng)記錄,確定該用戶與其他用戶間發(fā)生的轉(zhuǎn)發(fā)、評(píng)論操作的次數(shù);(2)使用以下公式計(jì)算用戶親密度I (A — B) = s · s (s) +c · s (c) +a · s (a)其中S(S)、S(C)、s(a)分別 代表每進(jìn)行一次分享、評(píng)論、“O”操作對(duì)親密度得分的貢獻(xiàn)值,由系統(tǒng)輸入確定;S、C、a分別代表該用戶對(duì)另一用戶的分享、評(píng)論、操作的次數(shù),求得親密度之后,將其保存下來,用作下一步的歸一化處理;(3)使用以下公式對(duì)親密度進(jìn)行歸一化N (A — B) = (I (A — B) -Imin (A — B)) / (Imax (A — B) -Imin(A — B))其中N(A —B)是歸一化處理結(jié)果,I (A —B)是用戶A對(duì)當(dāng)前用戶的親密度得分,Ifflin(A - B)是該用戶對(duì)其他用戶親密度計(jì)算中得分的最小值,Imax (A —B)該用戶對(duì)其他用戶親密度計(jì)算中得分的最大值;親密度歸一化完畢后,將結(jié)果輸出保存至網(wǎng)站數(shù)據(jù)庫中。一種基于用戶親密度的混合推薦方法,實(shí)現(xiàn)步驟如下(I)當(dāng)需要向用戶推薦項(xiàng)目時(shí),掃描網(wǎng)站數(shù)據(jù)庫,獲得該用戶與其他用戶的分享、評(píng)論、“O”操作次數(shù),然后根據(jù)操作次數(shù)以及設(shè)定的操作貢獻(xiàn)值計(jì)算用戶與其他用戶的親密度,并將獲得的用戶親密度進(jìn)行歸一化,然后將歸一化結(jié)果保存在數(shù)據(jù)庫中;(2)從數(shù)據(jù)庫中選取親密度最高的前N個(gè)用戶,N由本系統(tǒng)的輸入指定,獲得這些用戶所關(guān)注的項(xiàng)目,將這些項(xiàng)目合并成為沒有重復(fù)項(xiàng)的集合,將該集合作為基于用戶親密度的推薦結(jié)果集保存于數(shù)據(jù)庫中;(3)使用基于協(xié)同過濾的推薦結(jié)果生成獲得基于協(xié)同過濾的推薦結(jié)果集,將其保存于數(shù)據(jù)庫中;(4)使用基于內(nèi)容的推薦結(jié)果生成模塊獲得基于內(nèi)容的推薦結(jié)果集,將其保存于數(shù)據(jù)庫中;(5)從數(shù)據(jù)庫中獲得前面三個(gè)結(jié)果集,合并成為沒有重復(fù)項(xiàng)的待推薦結(jié)果集,掃描該結(jié)果集中的項(xiàng)目,計(jì)算出每個(gè)項(xiàng)目在三個(gè)集合中的出現(xiàn)總次數(shù),將總次數(shù)高于指定次數(shù)的項(xiàng)目作為結(jié)果推薦給用戶,在用戶訪問網(wǎng)站時(shí)進(jìn)行顯示,用戶根據(jù)推薦的結(jié)果選擇自己感興趣的項(xiàng)目進(jìn)行關(guān)注。本發(fā)明與現(xiàn)有技術(shù)相比的優(yōu)點(diǎn)在于(I)本發(fā)明考慮了用戶間關(guān)系對(duì)用戶推薦的影響,使推薦結(jié)果更加具有代表性,增大了用戶接受推薦結(jié)果的可能性,達(dá)到推薦的目的。
(2)本發(fā)明充分利用SNS的數(shù)據(jù),從度量上刻畫了用戶間的關(guān)系,豐富推薦結(jié)果,一定程度上彌補(bǔ)了 SNS數(shù)據(jù)稀疏、離散的特點(diǎn)。(3)本發(fā)明降低網(wǎng)站的推薦系統(tǒng)的耦合度,三個(gè)推薦模塊以松耦合的方式結(jié)合,模塊間即可單獨(dú)工作,也可協(xié)同工作。當(dāng)某一模塊需要維護(hù)時(shí),其他模塊仍然能支撐系統(tǒng)運(yùn)轉(zhuǎn),不影響功能的連續(xù)性,提高了系統(tǒng)的可維護(hù)性和可用性。
圖I為本發(fā)明系統(tǒng)的體系結(jié)構(gòu)圖;圖2為本發(fā)明系統(tǒng)中的用戶親密度確定模塊的獲得用戶親密度得分的實(shí)現(xiàn)過程;圖3為本發(fā)明系統(tǒng)中的用戶親密度確定模塊的歸一化實(shí)現(xiàn)過程;
圖4為本發(fā)明系統(tǒng)中的基于用戶親密度的推薦結(jié)果生成模塊的實(shí)現(xiàn)過程;圖5為本發(fā)明系統(tǒng)中的結(jié)果整合模塊實(shí)現(xiàn)過程。
具體實(shí)施例方式下面結(jié)合附圖對(duì)本發(fā)明進(jìn)行詳細(xì)說明。如圖I所示,本發(fā)明一種基于用戶親密度的混合推薦系統(tǒng)及方法由用戶親密度確定模塊、基于用戶親密度的推薦結(jié)果生成模塊、基于協(xié)同過濾的推薦結(jié)果生成模塊、基于內(nèi)容的推薦結(jié)果生成模塊、結(jié)果整合模塊構(gòu)成。整個(gè)實(shí)現(xiàn)過程如下(I)當(dāng)需要向用戶推薦項(xiàng)目時(shí),掃描網(wǎng)站數(shù)據(jù)庫,獲得該用戶與其他用戶的分享、評(píng)論、“O”操作次數(shù),然后根據(jù)操作次數(shù)以及設(shè)定的操作貢獻(xiàn)值計(jì)算用戶與其他用戶的親密度,并將獲得的用戶親密度進(jìn)行歸一化,然后將歸一化結(jié)果保存在數(shù)據(jù)庫中。(2)從數(shù)據(jù)庫中選取親密度最高的前N個(gè)的用戶,N由本系統(tǒng)的輸入指定,獲得這些用戶所關(guān)注的項(xiàng)目,將這些項(xiàng)目合并成為沒有重復(fù)項(xiàng)的集合,將該集合作為基于用戶親密度的推薦結(jié)果集保存于數(shù)據(jù)庫中。(3)使用基于協(xié)同過濾的推薦結(jié)果生成模塊獲得基于協(xié)同過濾的推薦結(jié)果集,將其保存于數(shù)據(jù)庫中。(4)使用基于內(nèi)容的推薦結(jié)果生成模塊獲得基于內(nèi)容的推薦結(jié)果集,將其保存于數(shù)據(jù)庫中。(5)從數(shù)據(jù)庫中獲得前面三個(gè)結(jié)果集合并成為沒有重復(fù)項(xiàng)的待推薦結(jié)果集,掃描該結(jié)果集中的項(xiàng)目,計(jì)算出每個(gè)項(xiàng)目在三個(gè)集合中的出現(xiàn)總次數(shù)。將總次數(shù)高于指定次數(shù)的項(xiàng)目作為結(jié)果推薦給用戶,在用戶訪問網(wǎng)站時(shí)進(jìn)行顯示,用戶可以根據(jù)推薦的結(jié)果選擇自己感興趣的項(xiàng)目進(jìn)行關(guān)注。。上述各模塊的具體實(shí)現(xiàn)過程如下I.用戶親密度確定模塊該模塊實(shí)現(xiàn)過程如圖2、3所示當(dāng)需要向用戶A進(jìn)行推薦時(shí),設(shè)用戶間每進(jìn)行一次分享、評(píng)論、的得分分別為s (r) =3,s (c) =1,s (a) =5,掃描數(shù)據(jù)庫,根據(jù)數(shù)據(jù)庫中保存的用戶數(shù)據(jù)統(tǒng)計(jì)用戶A與其他用戶進(jìn)行的操作次數(shù),獲得分享、評(píng)論進(jìn)行的次數(shù)分別為s、c、a,然后使用
權(quán)利要求
1.一種基于用戶親密度的混合推薦系統(tǒng),其特征在于包括 用戶親密度確定模塊在生成對(duì)用戶的推薦結(jié)果之前,掃描數(shù)據(jù)庫,根據(jù)數(shù)據(jù)庫中保存的用戶數(shù)據(jù),獲取某用戶與其他用戶的互動(dòng)行為,統(tǒng)計(jì)這些行為進(jìn)行的次數(shù),確定該用戶對(duì)其他用戶的親密度,并將親密度歸一化,將結(jié)果存儲(chǔ)在數(shù)據(jù)庫中;所述用戶親密度是采用社交網(wǎng)站中兩個(gè)用戶之間發(fā)生的“O”、轉(zhuǎn)發(fā)、評(píng)論操作的次數(shù)來度量,并且用戶親密度關(guān)系屬于單向關(guān)系,以I (A —B)表示用戶A對(duì)用戶B的親密度,有I (A —B) ^ I (B - A); 基于用戶親密度的推薦結(jié)果生成模塊根據(jù)用戶親密度確定模塊的結(jié)果,從數(shù)據(jù)庫中獲取與該用戶親密度最高的前N個(gè)用戶,N由本系統(tǒng)的輸入指定,合并這些用戶所關(guān)注的項(xiàng)目作為推薦結(jié)果E1,將該結(jié)果保存至數(shù)據(jù)庫,為后續(xù)操作提供相關(guān)數(shù)據(jù); 基于協(xié)同過濾的推薦結(jié)果生成模塊掃描網(wǎng)站數(shù)據(jù)庫,根據(jù)數(shù)據(jù)庫中保存的用戶所關(guān)注的項(xiàng)目情況,獲得該用戶與其他用戶的相似度,將與該用戶相似度最高的前N個(gè)用戶所關(guān)注的項(xiàng)目作為推薦結(jié)果E2, N由本系統(tǒng)的輸入指定,將該結(jié)果保存至數(shù)據(jù)庫,為后續(xù)操作提供相關(guān)數(shù)據(jù); 基于內(nèi)容的推薦結(jié)果生成模塊掃描網(wǎng)站數(shù)據(jù)庫,獲得該用戶與待推薦項(xiàng)目的描述關(guān)鍵詞向量,將與該用戶關(guān)鍵詞向量相似度最高的前N個(gè)項(xiàng)目作為推薦結(jié)果E3,N由本系統(tǒng)的輸入指定,將該結(jié)果保存至數(shù)據(jù)庫,為后續(xù)操作提供相關(guān)數(shù)據(jù); 結(jié)果整合模塊從數(shù)據(jù)庫中提取前面三個(gè)模塊的生成結(jié)果,合并成為待推薦項(xiàng)目集合E,掃描該集合,確定集合中每個(gè)項(xiàng)目在E1、E2、E3總共出現(xiàn)的次數(shù),最后將出現(xiàn)次數(shù)高于指定次數(shù)的項(xiàng)目作為結(jié)果推薦給用戶,在用戶訪問網(wǎng)站時(shí)進(jìn)行顯示,用戶根據(jù)推薦的結(jié)果選擇自己感興趣的項(xiàng)目進(jìn)行關(guān)注。
2.根據(jù)權(quán)利要求I所述的一種基于用戶親密度的混合推薦系統(tǒng)及,其特征在于所述用戶親密度確定模塊實(shí)現(xiàn)過程如下 (1)選擇需要推薦的用戶,掃描該用戶與其他所有用戶的互動(dòng)記錄,確定該用戶與其他用戶間發(fā)生的“O”、轉(zhuǎn)發(fā)、評(píng)論操作的次數(shù); (2)使用以下公式計(jì)算用戶親密度
3.一種基于用戶親密度的混合推薦方法,其特征在于步驟如下 (1)當(dāng)需要向用戶推薦項(xiàng)目時(shí),掃描網(wǎng)站數(shù)據(jù)庫,獲得該用戶與其他用戶的分享、評(píng)論、“O”操作次數(shù),然后根據(jù)操作次數(shù)以及設(shè)定的操作貢獻(xiàn)值計(jì)算用戶與其他用戶的親密度,并將獲得的用戶親密度進(jìn)行歸一化,然后將歸一化結(jié)果保存在數(shù)據(jù)庫中; (2)從數(shù)據(jù)庫中選取親密度最高的前N個(gè)用戶,N由本系統(tǒng)的輸入指定,獲得這些用戶所關(guān)注的項(xiàng)目,將這些項(xiàng)目合并成為沒有重復(fù)項(xiàng)的集合,將該集合作為基于用戶親密度的推薦結(jié)果集保存于數(shù)據(jù)庫中; (3)使用基于協(xié)同過濾的推薦結(jié)果生成獲得基于協(xié)同過濾的推薦結(jié)果集,將其保存于數(shù)據(jù)庫中; (4)使用基于內(nèi)容的推薦結(jié)果生成模塊獲得基于內(nèi)容的推薦結(jié)果集,將其保存于數(shù)據(jù)庫中; (5)從數(shù)據(jù)庫中獲得前面三個(gè)結(jié)果集,合并成為沒有重復(fù)項(xiàng)的待推薦結(jié)果集,掃描該結(jié)果集中的項(xiàng)目,計(jì)算出每個(gè)項(xiàng)目在三個(gè)集合中的出現(xiàn)總次數(shù),將總次數(shù)高于指定次數(shù)的項(xiàng)目作為結(jié)果推薦給用戶,在用戶訪問網(wǎng)站時(shí)進(jìn)行顯示,用戶根據(jù)推薦的結(jié)果選擇自己感興趣的項(xiàng)目進(jìn)行關(guān)注。
全文摘要
一種基于用戶親密度的混合推薦系統(tǒng)及方法,該系統(tǒng)及方法能向社交網(wǎng)站中的用戶推薦其感興趣的項(xiàng)目。該系統(tǒng)由5個(gè)模塊組成用戶親密度確定模塊、基于用戶親密度的推薦結(jié)果生成模塊、基于協(xié)同過濾的推薦結(jié)果生成模塊、基于內(nèi)容的推薦結(jié)果生成模塊、結(jié)果整合模塊。該方法通過確定用戶親密度、獲得基于用戶親密度的推薦結(jié)果、獲得基于協(xié)同過濾的推薦結(jié)果、獲得基于內(nèi)容的推薦結(jié)果、整合結(jié)果5個(gè)過程實(shí)現(xiàn)。該方法充分利用社交網(wǎng)站中的數(shù)據(jù),彌補(bǔ)傳統(tǒng)推薦系統(tǒng)的不足,使該系統(tǒng)應(yīng)用具有實(shí)用性強(qiáng)、準(zhǔn)確度高、以及實(shí)現(xiàn)方便的優(yōu)點(diǎn)。
文檔編號(hào)G06F17/30GK102880691SQ20121034919
公開日2013年1月16日 申請(qǐng)日期2012年9月19日 優(yōu)先權(quán)日2012年9月19日
發(fā)明者李超, 余建, 呂志強(qiáng) 申請(qǐng)人:北京航空航天大學(xué)深圳研究院