本篇的思維導圖如下:
1橡类、社交網(wǎng)絡數(shù)據(jù)
自從搜索引擎谷歌誕生后笼蛛,大家都在討論互聯(lián)網(wǎng)的下一個金礦是什么。現(xiàn)在弛车,幾乎所有的人都認為那就是社交網(wǎng)絡齐媒。根據(jù)尼爾森2010年的報告,用戶在互聯(lián)網(wǎng)上22%的時間花費在社交網(wǎng)站 和社交媒體上1纷跛。Facebook和Twitter作為兩種不同類型社交網(wǎng)絡的代表喻括,是目前互聯(lián)網(wǎng)界的寵兒。谷歌公司也不甘落后贫奠,連續(xù)推出了很多社交網(wǎng)絡產(chǎn)品(Buzz和Google Plus)唬血。國內(nèi)的互聯(lián)網(wǎng)以新浪微博為代表,也吸引了很多人的眼球唤崭。
社交網(wǎng)絡數(shù)據(jù)的來源有下面幾個:
電子郵件
用戶注冊信息:比如公司拷恨、學校等
用戶的位置數(shù)據(jù):IP地址或者GPS數(shù)據(jù)
論壇和討論組
即時聊天工具
社交網(wǎng)站
2、社交網(wǎng)絡數(shù)據(jù)簡介
一般來說谢肾,有3種不同的社交網(wǎng)絡數(shù)據(jù):
雙向確認的社交網(wǎng)絡數(shù)據(jù):一般通過無向圖表示
單向關注的社交網(wǎng)絡數(shù)據(jù):用戶關系是單向的腕侄,可以通過有向圖表示
基于社區(qū)的社交網(wǎng)絡數(shù)據(jù):比如豆瓣小組
社交網(wǎng)絡數(shù)據(jù)中也存在長尾分布,主要根據(jù)用戶的入度和出度芦疏,用戶的入度反映了用戶的社會影響力冕杠,而用戶的出度代表了一個用戶關注的用戶數(shù)。從下圖可以看出酸茴,一個社交網(wǎng)絡中影響力大的用戶總是占少數(shù)分预,同時關注很多人的用戶占少數(shù),而絕大多數(shù)只關注很少的人弊决。
3噪舀、基于社交網(wǎng)絡的推薦
社會化推薦之所以受到很多網(wǎng)站的重視魁淳,是源于如下的優(yōu)點:
好友推薦可以增加推薦的信任度
社交網(wǎng)絡可以解決冷啟動問題
當然飘诗,社會化推薦有時候也有一定的缺點,主要是不一定提高推薦算法的離線精度界逛,因為社交網(wǎng)絡中好友關系不是基于共同興趣產(chǎn)生的昆稿,所以用戶好友的興趣往往和用戶的興趣不一致。
3.1 基于鄰域的社會化推薦算法
如果給定一個社交網(wǎng)絡和一份用戶行為數(shù)據(jù)集息拜。其中社交網(wǎng)絡定義了用戶之間的好友關系溉潭,而用 戶行為數(shù)據(jù)集定義了不同用戶的歷史行為和興趣數(shù)據(jù)净响。那么我們想到的最簡單算法是給用戶推薦好友喜歡的物品集合。即用戶u對物品i的興趣pui可以通過如下公式計算喳瓣。
其中out(u)是用戶u的好友集合馋贤,如果用戶v喜歡物品i,則rvi=1畏陕,否則rvi=0配乓。不過,即使都是 用戶u的好友惠毁,不同的好友和用戶u的熟悉程度和興趣相似度也是不同的犹芹。因此,我們應該在推薦 算法中考慮好友和用戶的熟悉程度以及興趣相似度:
這里鞠绰,wuv 由兩部分相似度構成腰埂,一部分是用戶u和用戶v的熟悉程度,另一部分是用戶u和用 戶v的興趣相似度蜈膨。熟悉度可以用用戶之間的共同好友比例來度量:
而興趣相似度可以通過和UserCF類似的方法度量屿笼,即如果兩個用戶 喜歡的物品集合重合度很高,兩個用戶的興趣相似度很高翁巍。
3.2 基于圖的社會化推薦算法
在社交網(wǎng)站中存在兩種關系刁卜,一種是用戶對物品的興趣關系,一種是用戶之間的社交網(wǎng)絡關系曙咽。用戶的社交網(wǎng)絡可以表示為社交網(wǎng)絡圖蛔趴,用戶對物品的行為可以表示為用戶物品二分圖,而這兩種圖可以結合成一個圖例朱。如下圖所示:
在定義完圖中的頂點和邊后孝情,需要定義邊的權重。其中用戶和用戶之間邊的權重可以定義為 用戶之間相似度的?a 倍(包括熟悉程度和興趣相似度)洒嗤,而用戶和物品之間的權重可以定義為用 戶對物品喜歡程度的 ? b倍箫荡。?a 和b ? 需要根據(jù)應用的需求確定。如果我們希望用戶好友的行為對 推薦結果產(chǎn)生比較大的影響渔隶,那么就可以選擇比較大的?a 羔挡。相反,如果我們希望用戶的歷史行為 對推薦結果產(chǎn)生比較大的影響间唉,就可以選擇比較大的 ?b 绞灼。
在定義完圖中的頂點、邊和邊的權重后呈野,我們就可以利用基于隨機游走的PersonalRank圖排序算法給每個用戶生成推薦結果低矮。