個性化推薦是怎么做的?

今日頭條帶動了“個性化推薦”的概念关拒,自此之后佃蚜,無論是工具產(chǎn)品,電商產(chǎn)品着绊,還是內(nèi)容型的產(chǎn)品谐算,都自帶內(nèi)容屬性,個性化算法也逐漸從賣點變?yōu)闃伺洹?/p>

  各種推薦算法不能僅僅是研發(fā)涉獵領域归露,作為PM洲脂,也要深入到算法內(nèi)部,了解算法的設計靶擦,以及結(jié)合內(nèi)容對算法不斷“調(diào)教”腮考,才能讓產(chǎn)品的推薦算法不斷完善,才能符合用戶的口味玄捕。

  目前比較流行的個性化推薦算法有以下幾種:

  基于內(nèi)容的推薦:根據(jù)內(nèi)容本身的屬性(特征向量)所作的推薦踩蔚。

  基于關聯(lián)規(guī)則的推薦:“啤酒與尿布”的方式,是一種動態(tài)的推薦枚粘,能夠?qū)崟r對用戶的行為作出推薦馅闽。是基于物品之間的特征關聯(lián)性所做的推薦,在某種情況下會退化為物品協(xié)同過濾推薦馍迄。

  協(xié)同過濾推薦:與基于關聯(lián)規(guī)則的推薦相比是一種靜態(tài)方式的推薦福也,是根據(jù)用戶已有的歷史行為作分析的基礎上做的推薦∨嗜Γ可分為物品協(xié)同過濾暴凑、用戶協(xié)同過濾、基于模型的協(xié)同過濾赘来。其中现喳,基于模型的協(xié)同又可以分為以下幾種類型:基于距離的協(xié)同過濾;基于矩陣分解的協(xié)同過濾凯傲,即Latent

Factor Model(SVD)或者ALS;基于圖模型協(xié)同,即Graph嗦篱,也叫社會網(wǎng)絡圖模型冰单。

  1、產(chǎn)品冷啟動通過熱度算法進行內(nèi)容推薦

  產(chǎn)品發(fā)展初期灸促,由于一方面沒有用戶行為诫欠、用戶喜好、用戶畫像浴栽,另外也沒有大量的內(nèi)容樣本基礎荒叼,是很難開展個性化推薦的。所以在產(chǎn)品初期吃度,一般采取“熱度算法”甩挫,顧名思義就是把熱點的內(nèi)容優(yōu)先推薦給用戶。雖然無法做到基于興趣和習慣為每一個用戶做到精準化的推薦椿每,但能覆蓋到大部分的內(nèi)容需求,而且啟動成本比個性化推薦算法低太多英遭。

  熱度算法基本原理:

  新聞熱度分 = 初始熱度分 + 用戶交互產(chǎn)生的熱度分 – 隨時間衰減的熱度分

  Score = S0 + S(Users) – S(Time)

  1)以新聞或視頻較有時效性的內(nèi)容舉例间护,熱度隨內(nèi)容陳舊而分值衰減。

  2)初始熱度分不要一視同仁挖诸。

  按照新聞類別給予新聞不同的初始熱度汁尺,讓用戶關注度高的類別獲得更高的初始熱度分,從而獲得更多的曝光多律。軍事>娛樂>體育>財經(jīng)....

  對于重大事件的報道痴突,如何讓它入庫時就有更高的熱度,我們采用的是熱詞匹配的方式狼荞。


  即對大型新聞站點的頭條辽装,Twitter熱點,競品的頭條做監(jiān)控和扒取相味,并將這批新聞的關鍵詞維護到熱詞庫并保持更新;每條新聞入庫的時候拾积,讓新聞的關鍵詞去匹配熱詞庫,匹配度越高丰涉,就有越高的初始熱度分拓巧。這樣處理后,重大事件發(fā)生時一死,Twitter和門戶網(wǎng)站的爭相報道會導致熱詞集中化肛度,所有匹配到這些熱詞的新聞,即報道同樣事件的新聞投慈,會獲得很高的初始熱度分承耿。

  3)用戶交互的熱度分值比重不一冠骄。首先明確用戶的的哪些行為會提高新聞的熱度值,然后對這些行為賦予一定的得分規(guī)則瘩绒。

  例如對于單條新聞猴抹,用戶可以點擊閱讀(click),收藏(favor)锁荔,分享(share)蟀给,評論(comment)這四種行為,我們?yōu)椴煌男袨橘x予分數(shù)阳堕,就能得到新聞的實時用戶行為分為:

  S(Users) = 1*click + 5*favor + 10*comment + 20*share

  這里對不同行為賦予的分數(shù)為1,5,10,20跋理,但這個值不能是一成不變的;當用戶規(guī)模小的時候,各項事件都小恬总,此時需要提高每個事件的行為分來提升用戶行為的影響力;當用戶規(guī)模變大時前普,行為分也應該慢慢降低,因此做內(nèi)容運營時壹堰,應該對行為分不斷調(diào)整拭卿。

  當然也有偷懶的辦法,那就是把用戶規(guī)募溃考慮進去峻厚,算固定用戶數(shù)的行為分,即:

  S(Users) = (1*click + 5*favor + 10*comment + 20*share)/ DAU * N(固定數(shù))

  這樣就保證了在不同用戶規(guī)模下谆焊,用戶行為產(chǎn)生的行為分基本穩(wěn)定惠桃。

  2、基于內(nèi)容特征與用戶特征進行個性化推薦


  對于此種推薦辖试,有兩個實體:內(nèi)容和用戶辜王,因此需要有一個聯(lián)系這兩者的東西,即為標簽罐孝。內(nèi)容轉(zhuǎn)換為標簽即為內(nèi)容特征化呐馆,用戶則稱為用戶特征化。對于此種推薦肾档,主要分為以下幾個關鍵部分:

  標簽庫

  內(nèi)容特征化

  用戶特征化

  隱語義推薦

  綜合上面講述的各個部分即可實現(xiàn)一個基于內(nèi)容和用戶畫像的個性化推薦系統(tǒng)摹恰。

  標簽庫

  標簽是聯(lián)系用戶與物品、內(nèi)容以及物品怒见、內(nèi)容之間的紐帶俗慈,也是反應用戶興趣的重要數(shù)據(jù)源。標簽庫的最終用途在于對用戶進行行為遣耍、屬性標記闺阱。是將其他實體轉(zhuǎn)換為計算機可以理解的語言關鍵的一步。

  標簽庫則是對標簽進行聚合的系統(tǒng)舵变,包括對標簽的管理酣溃、更新等瘦穆。

  一般來說,標簽是以層級的形式組織的赊豌】富颍可以有一級維度、二級維度等碘饼。

  標簽的來源主要有:

  已有內(nèi)容的標簽

  網(wǎng)絡抓取流行標簽

  對運營的內(nèi)容進行關鍵詞提取

  對于內(nèi)容的關鍵詞提取熙兔,使用結(jié)巴分詞+TFIDF即可。此外艾恼,也可以使用TextRank來提取內(nèi)容關鍵詞住涉。

  這里需要注意的一點是對于關聯(lián)標簽的處理,比如用戶的標簽是足球钠绍,而內(nèi)容的標簽是德甲舆声、英超,那么用戶和內(nèi)容是無法聯(lián)系在一起的柳爽。最簡單的方式是人工設置關聯(lián)標簽媳握,此外也可以使用word2vec一類工具對標簽做聚類處理,構(gòu)建主題模型磷脯,將德甲毙芜、英超聚類到足球下面。

  內(nèi)容特征化

  內(nèi)容特征化即給內(nèi)容打標簽争拐。目前有兩種方式:

  人工打標簽

  機器自動打標簽

  針對機器自動打標簽,需要采取機器學習的相關算法來實現(xiàn)晦雨,即針對一系列給定的標簽架曹,給內(nèi)容選取其中匹配度最高的幾個標簽。這不同于通常的分類和聚類算法闹瞧“笮郏可以采取使用分詞 +Word2Vec來實現(xiàn),過程如下:

  將文本語料進行分詞奥邮,以空格,tab隔開都可以万牺,使用結(jié)巴分詞。

  使用word2vec訓練詞的相似度模型洽腺。

  使用tfidf提取內(nèi)容的關鍵詞A,B,C脚粟。

  遍歷每一個標簽,計算關鍵詞與此標簽的相似度之和蘸朋。

  取出TopN相似度最高的標簽即為此內(nèi)容的標簽核无。

  此外,可以使用文本主題挖掘相關技術藕坯,對內(nèi)容進行特征化团南。這也分為兩種情況:

  通用情況下噪沙,只是為了效果優(yōu)化的特征提取,那么可以使用非監(jiān)督學習的主題模型算法吐根。如LSA正歼、PLSI和GaP模型或者LDA模型。

  在和業(yè)務強相關時拷橘,需要在業(yè)務特定的標簽體系下給內(nèi)容打上適合的標簽局义。這時候需要使用的是監(jiān)督學習的主題模型。如sLDA膜楷、HSLDA等旭咽。

  用戶特征化

  用戶特征化即為用戶打標簽。通過用戶的行為日志和一定的模型算法得到用戶的每個標簽的權(quán)重赌厅。

  用戶對內(nèi)容的行為:點贊穷绵、不感興趣、點擊特愿、瀏覽仲墨。對用戶的反饋行為如點贊賦予權(quán)值1,不感興趣賦予-1;對于用戶的瀏覽行為揍障,則可使用點擊/瀏覽作為權(quán)值目养。

  對內(nèi)容發(fā)生的行為可以認為對此內(nèi)容所帶的標簽的行為。

  用戶的興趣是時間衰減的毒嫡,即離當前時間越遠的興趣比重越低癌蚁。時間衰減函數(shù)使用1/[log(t)+1], t為事件發(fā)生的時間距離當前時間的大小。

  要考慮到熱門內(nèi)容會干預用戶的標簽兜畸,需要對熱門內(nèi)容進行降權(quán)努释。使用click/pv作為用戶瀏覽行為權(quán)值即可達到此目的。

  此外咬摇,還需要考慮噪聲的干擾伐蒂,如標題黨等。

  另肛鹏,在非業(yè)務強相關的情況下逸邦,還可以考慮使用LSA主題模型等矩陣分解的方式對用戶進行標簽化。

  隱語義推薦

  有了內(nèi)容特征和用戶特征在扰,可以使用隱語義模型進行推薦缕减。這里可以使用其簡化形式,以達到實時計算的目的健田。

  用戶對于某一個內(nèi)容的興趣度(可以認為是CTR):

  其中i=1…N是內(nèi)容c具有的標簽烛卧,m(ci)指的內(nèi)容c和標簽i的關聯(lián)度(可以簡單認為是1),n(ui)指的是用戶u的標簽i的權(quán)重值,當用戶不具有此標簽時n(ui)=0,q?指的是內(nèi)容c的質(zhì)量,可以使用點擊率(click/pv)表示总放。

  3呈宇、其他運用

  除了個性化推薦,基于內(nèi)容的相關性算法能精準地給出一篇新聞的相關推薦列表局雄,對相關閱讀的實現(xiàn)非常有意義甥啄。此外,標簽系統(tǒng)對新聞分類的實現(xiàn)和提升準確性炬搭,也有重要的意義蜈漓。

  4、優(yōu)缺點

  基于內(nèi)容的推薦算法有幾個明顯優(yōu)點:

  對用戶數(shù)量沒有要求宫盔,無論日活幾千或是幾百萬融虽,均可以采用;因此個性化推薦早期一般采用這種方式。

  每個用戶的特征都是由自己的行為來決定的灼芭,是獨立存在的有额,不會有互相干擾,因此惡意刷閱讀等新聞不會影響到推薦算法彼绷。

  而最主要的缺點就是確定性太強了巍佑,所有推薦的內(nèi)容都是由用戶的閱讀歷史決定,所以沒辦法挖掘用戶的潛在興趣;也就是由于這一點寄悯,基于內(nèi)容的推薦一般與其他推薦算法同時存在萤衰。

  基于用戶的協(xié)同推薦


  終于,經(jīng)過團隊的努力猜旬,你的產(chǎn)品已經(jīng)有了大量活躍用戶了脆栋,這時候你開始不滿足于現(xiàn)有的算法。雖然基于內(nèi)容的推薦已經(jīng)很精準了洒擦,但總是少了那么一點性感筹吐。因為你所有給用戶的內(nèi)容都是基于他們的閱讀習慣推薦的,沒能給用戶“不期而遇”的感覺秘遏。

  于是,你就開始做基于用戶的協(xié)同過濾了嘉竟。

  基于用戶的協(xié)同過濾推薦算法邦危,簡單來講就是依據(jù)用戶A的閱讀喜好,為A找到與他興趣最接近的群體舍扰,所謂“人以群分”倦蚪,然后把這個群體里其他人喜歡的,但是A沒有閱讀過的內(nèi)容推薦給A边苹。

  舉例我是一個足球迷陵且,系統(tǒng)找到與我類似的用戶都是足球的重度閱讀者,但與此同時,這些“足球群體”中有一部分人有看NBA新聞的習慣慕购,系統(tǒng)就可能會給我推薦NBA內(nèi)容聊疲,很可能我也對NBA也感興趣,這樣我在后臺的興趣圖譜就更完善了沪悲。

  1获洲、用戶群體劃分

  做基于用戶的協(xié)同過濾,首先就要做用戶的劃分殿如,可以從三方面著手:

  (1)外部數(shù)據(jù)的借用

  這里使用社交平臺數(shù)據(jù)的居多贡珊,現(xiàn)在產(chǎn)品的登錄體系一般都借用第三方社媒的登錄體系,如國外的Facebook涉馁、Twitter门岔,國內(nèi)的微信、微博烤送,借用第三方賬戶的好處多多寒随,例如降低門檻,方便傳播等胯努,還能對個性化推薦起到重要作用牢裳。

  因為第三方賬戶都是授權(quán)獲取部分用戶信息的,往往包括性別叶沛,年齡蒲讯,工作甚至社交關系等,這些信息對用戶群劃分很有意義灰署。

  此外還有其他的一些數(shù)據(jù)也能借用判帮,例如IP地址,手機語種等溉箕。

  使用這些數(shù)據(jù)晦墙,你很容易就能得到一個用戶是北京的還是上海的,是大學生還是創(chuàng)業(yè)者肴茄,并依據(jù)這些屬性做準確的大類劃分晌畅。

  比如一篇行業(yè)投資分析出來后,“上海創(chuàng)業(yè)圈”這個群體80%的用戶都看過寡痰,那就可以推薦給剩下的20%抗楔。

  (2)產(chǎn)品內(nèi)主動詢問

  常見在產(chǎn)品首次啟動的時候,彈框詢問用戶是男是女拦坠,職業(yè)等连躏,這樣能對內(nèi)容推薦的冷啟動提供一些幫助。但總體來說贞滨,性價比偏低入热,只能詢問兩三個問題并對用戶的推薦內(nèi)容做非常粗略的劃分,同時要避免打擾到用戶;這種做法算是基于用戶個性化的雛形。

  (3)對比用戶特征

  新聞的特征加用戶的閱讀數(shù)據(jù)能得到用戶的特征勺良,那就可以通過用戶特征的相似性來劃分群體绰播。

  最后總結(jié),沒有一款完美的個性化推薦算法郑气,畢竟用戶的心里你別猜別猜別猜幅垮,但是產(chǎn)品經(jīng)理還是要結(jié)合自身產(chǎn)品不斷打磨算法。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末尾组,一起剝皮案震驚了整個濱河市忙芒,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌讳侨,老刑警劉巖呵萨,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異跨跨,居然都是意外死亡潮峦,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進店門勇婴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來忱嘹,“玉大人,你說我怎么就攤上這事耕渴【性茫” “怎么了?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵橱脸,是天一觀的道長础米。 經(jīng)常有香客問我,道長添诉,這世上最難降的妖魔是什么屁桑? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮栏赴,結(jié)果婚禮上蘑斧,老公的妹妹穿的比我還像新娘。我一直安慰自己须眷,他們只是感情好乌叶,可當我...
    茶點故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著柒爸,像睡著了一般。 火紅的嫁衣襯著肌膚如雪事扭。 梳的紋絲不亂的頭發(fā)上捎稚,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天,我揣著相機與錄音,去河邊找鬼今野。 笑死葡公,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的条霜。 我是一名探鬼主播催什,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼宰睡!你這毒婦竟也來了蒲凶?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤拆内,失蹤者是張志新(化名)和其女友劉穎旋圆,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體麸恍,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡灵巧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了抹沪。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片刻肄。...
    茶點故事閱讀 40,137評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖融欧,靈堂內(nèi)的尸體忽然破棺而出敏弃,到底是詐尸還是另有隱情,我是刑警寧澤蹬癌,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布权她,位于F島的核電站,受9級特大地震影響逝薪,放射性物質(zhì)發(fā)生泄漏隅要。R本人自食惡果不足惜媳维,卻給世界環(huán)境...
    茶點故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一轰传、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧榜晦,春花似錦虏肾、人聲如沸廓啊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谴轮。三九已至,卻和暖如春吹埠,著一層夾襖步出監(jiān)牢的瞬間第步,已是汗流浹背疮装。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留粘都,地道東北人廓推。 一個月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像翩隧,于是被迫代替她去往敵國和親樊展。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,086評論 2 355

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