推薦系統(tǒng)實踐-利用社交網(wǎng)絡(luò)信息

獲取社交網(wǎng)絡(luò)數(shù)據(jù)的途徑:
電子郵件啸驯;用戶注冊信息客扎;用戶的位置信息;論壇和討論組罚斗;即時通訊工具徙鱼;社交網(wǎng)絡(luò)
社交瓦那個羅分為3種不同的社交網(wǎng)絡(luò)類型:雙向確認(rèn)的社交網(wǎng)絡(luò)(人人),單向關(guān)注的社交網(wǎng)絡(luò)(微博)针姿,基于社區(qū)的社交網(wǎng)絡(luò)(豆瓣)
社交網(wǎng)絡(luò)用戶的入度近似長尾分部袱吆,這說明在一個社交網(wǎng)絡(luò)中影響力大的用戶總是占少數(shù)
社會化推薦之所以受到很多網(wǎng)站的重視,因為:
①好友推薦可以增加推薦的信任度搓幌;
②社交網(wǎng)絡(luò)可以解決冷啟動問題

考慮用戶的熟悉程度以及興趣相似度杆故,用戶u對物品i的興趣pui可以通過如下公式計算:


wuv由兩個部分相似度構(gòu)成,一部分是用戶u對用戶v的熟悉程度溉愁;另一部分是用戶u和用戶v的興趣相似程度处铛。熟悉程度可以定義如下(out(u)是用戶u的好友集合):

興趣相似度定義如下:

其中N(u)是用戶u喜歡的物品集合
基于圖的社會化推薦算法


該圖上有用戶頂點(圓圈)和物品頂點(方塊)兩種頂點
在定義完圖的頂點和邊后饲趋,需要定義邊的權(quán)重。其中用戶之間邊的權(quán)重可以定義為用戶之間相似度的α倍(包含熟悉程度和興趣相似度)撤蟆。而用戶和物品之間的權(quán)重可以定義為用戶對物品喜歡程度的β倍奕塑。α和β需要根據(jù)應(yīng)用的需求確定。

在社交網(wǎng)絡(luò)中家肯,還有一種關(guān)系龄砰,即兩個用戶屬于同一個社群。如下圖讨衣,可以加入一種節(jié)點表示社群换棚,然后使用圖推薦算法(比如PersonalRank)給用戶推薦物品:

實際系統(tǒng)中的社會化推薦算法
在物品數(shù)不是很多的網(wǎng)站,可以很容易地講物品相關(guān)表緩存在內(nèi)存中反镇,因此查詢相關(guān)物品的代價很低固蚤,所以ItemCF算法很容易在實際環(huán)境下實現(xiàn)
另外有兩種方法改進基于鄰域的社會化推薦算法。第一種方法治標(biāo)不治本歹茶,簡單說就是可以做兩處截斷夕玩。第一處截斷就是在拿用戶好友集合時并不拿出用戶所有的好友,而是只拿出和用戶相似度最高的N個好友惊豺。此外燎孟,在查詢每個用戶的歷史行為時,可以只返回最近一個月的行為尸昧。
第二種方法需要重新設(shè)計數(shù)據(jù)庫揩页。推特的解決方案是給每個用戶維護一個消息隊列(message queue),當(dāng)一個用戶發(fā)表一條微博時彻磁,所有關(guān)注他的用戶的消息隊列都會加入這條微博碍沐。所以我們可以按照如下方法設(shè)計系統(tǒng):
①首先,為每個用戶維護一個消息隊列衷蜓,用于存儲他的推薦列表累提;
②當(dāng)一個用戶喜歡一個物品時,就將(物品ID磁浇,用戶ID和時間)這條記錄寫入關(guān)注該用戶的推薦列表消息隊列中斋陪;
③當(dāng)用戶訪問推薦系統(tǒng)時,讀出他的推薦列表消息隊列置吓,對于這個消息隊列中的每個物品无虚,重新計算該物品的權(quán)重。計算權(quán)重時需要考慮物品在隊列中出現(xiàn)的次數(shù)衍锚,物品對應(yīng)的用戶和當(dāng)前用戶的熟悉程度友题、物品的時間戳。
社會化推薦和協(xié)同過濾推薦系統(tǒng)
社會化推薦系統(tǒng)往往很難通過離線試驗評測戴质,因為社會化推薦的優(yōu)勢不在于增加預(yù)測準(zhǔn)確度度宦,而是在于通過用戶的好友增加用戶對推薦結(jié)果的信任度踢匣,從而讓用戶點擊那些冷門的推薦結(jié)果。

目前最流行的信息流推薦算法是Facebook的EdgeRank戈抄,該算法綜合考慮了信息流中每個會話的時間离唬、長度與用戶興趣的相似度。FB將其他用戶對當(dāng)前用戶信息流的會話產(chǎn)生過行為的行為成為Edge划鸽,而每一個會話權(quán)重定義為:


ue指產(chǎn)生行為的用戶和當(dāng)前用戶的相似度输莺,這里的相似度主要是在社交網(wǎng)絡(luò)圖中的熟悉度;
we指行為的權(quán)重裸诽,這里的行為包括創(chuàng)建嫂用、評論、like(喜歡)丈冬、打標(biāo)簽等尸折,不同的行為有不同的權(quán)重;
de指時間衰減參數(shù)殷蛇,越早的行為對權(quán)重的影響越低
不過ER算法的個性化因素僅僅是好友的熟悉度,并沒有考慮帖子內(nèi)容和用戶興趣的相似度橄浓。
為此粒梦,GroupLens的研究人員JC深入研究了信息流推薦中社會興趣的個性化興趣之間的關(guān)系,他的排名考慮了如下因素:
①會話的長度荸实;
②話題的相關(guān)性匀们;
③用戶熟悉程度
試驗結(jié)果說明,綜合考慮用戶的社會興趣和個人興趣對于提高用戶滿意度是有幫助的
基于好友的推薦算法可以用來給用戶推薦提名在現(xiàn)實中互相熟悉准给,而在當(dāng)前社交網(wǎng)絡(luò)中沒有聯(lián)絡(luò)的其他用戶泄朴。
對于用戶u和v,我們可以用共同好友比例計算他們的相似度:

def FriendSuggestion(User, G, GT):
    suggestions = dict()
    friends = G[user]
    for fid in G[user]:
        for ffid in GT[fid]:
            if ffid in friends:
                continue
            if ffid not in suggestions:
                suggestions[ffid] = 0
            suggestions[ffid] += 1
    suggestions = {x:y / math.sqrt(len(G[user])*len(G[x])for x,y in suggestions)}

但在微博這種有向社交網(wǎng)絡(luò)中露氮,這兩個集合就不同了祖灰,因此也可以通過in(u)定義另一種相似度:



同時,我們也可以定義第三種有向的相似度:



但是畔规,這個相似度有一個缺點局扶,就是該相似度的定義下所有人都和名人有很大的相似度,因此可以用如下相似度:

這些相似度的計算無論時間復(fù)雜度還是空間復(fù)雜度都不是很高非常適合在線應(yīng)用使用

社交網(wǎng)絡(luò)研究有兩個著名的問題叁扫,第一個是如何度量人的重要性三妈,也就是社交網(wǎng)絡(luò)頂點的中心度(centrality),第二個問題是如何度量社交網(wǎng)絡(luò)中人和人之間的關(guān)系莫绣,也就是鏈接預(yù)測畴蒲。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市对室,隨后出現(xiàn)的幾起案子模燥,更是在濱河造成了極大的恐慌咖祭,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件涧窒,死亡現(xiàn)場離奇詭異心肪,居然都是意外死亡,警方通過查閱死者的電腦和手機纠吴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進店門硬鞍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人戴已,你說我怎么就攤上這事固该。” “怎么了糖儡?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵伐坏,是天一觀的道長。 經(jīng)常有香客問我握联,道長桦沉,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任金闽,我火速辦了婚禮纯露,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘代芜。我一直安慰自己埠褪,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布挤庇。 她就那樣靜靜地躺著钞速,像睡著了一般。 火紅的嫁衣襯著肌膚如雪嫡秕。 梳的紋絲不亂的頭發(fā)上渴语,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天,我揣著相機與錄音昆咽,去河邊找鬼遵班。 笑死,一個胖子當(dāng)著我的面吹牛潮改,可吹牛的內(nèi)容都是我干的狭郑。 我是一名探鬼主播,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼汇在,長吁一口氣:“原來是場噩夢啊……” “哼翰萨!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起糕殉,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤亩鬼,失蹤者是張志新(化名)和其女友劉穎殖告,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體雳锋,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡垃喊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年靴寂,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡掖肋,死狀恐怖油啤,靈堂內(nèi)的尸體忽然破棺而出色罚,到底是詐尸還是另有隱情窟扑,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布袋马,位于F島的核電站初澎,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏虑凛。R本人自食惡果不足惜碑宴,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望桑谍。 院中可真熱鬧墓懂,春花似錦、人聲如沸霉囚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽盈罐。三九已至,卻和暖如春闪唆,著一層夾襖步出監(jiān)牢的瞬間盅粪,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工悄蕾, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留票顾,地道東北人。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓帆调,卻偏偏與公主長得像奠骄,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子番刊,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,490評論 2 348

推薦閱讀更多精彩內(nèi)容