產品識算法(三):個性化推薦

上篇上上篇的基礎,我們就可以針對性的對一個產品搭建出一個個性化推薦模型芍阎,在這個模型中燎斩,我們需要解決兩個問題:第一推薦什么;第二哪些內容應該優(yōu)先推薦匆帚。上兩篇文章很好的給出了具體的算法參考熬词,大家可以回顧。

在進入這篇文章的正題之前吸重,我們先一起解決上篇文章遺留的問題:

1.依據(jù)上面的公式互拾,最后的分值 P 是不是會變成負數(shù)?比喻 08 年北京的奧運會的某篇報道……

2.很多 App 上的文章都有轉發(fā)晤锹、收藏摩幔、點贊等功能,那么有這些因素存在后鞭铆,算法該怎么調整或衡?

先來解決第一個問題,我們看一下上篇文章中我們最后的公式為:

那么為了避免出現(xiàn)負數(shù)(其實負數(shù)并不影響算法的執(zhí)行车遂,只是在某些環(huán)境下封断,為了數(shù)據(jù)美觀,我們盡量避免負數(shù)出現(xiàn))這個問題很好調整舶担,我們只需要將上面的公式做下微調

經(jīng)過微調之后坡疼,熱度值無限接近于零,這也符合實際衣陶,時間過去的越久柄瑰,一篇文章的熱度就越低。

我們知道任何一篇報道或文章都存在用戶交互行為剪况,像評論教沾、收藏、點贊译断、轉發(fā)等等行為是影響熱度的重要指標授翻,這個時候我們引入一個新的因子:用戶行為分;我們用

表示,

那么我的公式最后就調整為:

在算法執(zhí)行初期堪唐,根據(jù)運營的數(shù)據(jù)和經(jīng)驗巡语,合理制定用戶行為分,例如:

不同的產品這些分值可以調整淮菠,在算法實施過程中盡量保證各個影響因子能夠調整配置男公。

好了,上面的問題解決了兜材±砼欤看似很簡單,做起來是很復雜的......

當你和我一樣曙寡,順著這個思路糠爬,一步一步將這些算法上線之后,并獲得一定的數(shù)據(jù)反饋和領導的認可举庶,恭喜你执隧,你的內容產品已經(jīng)順利度過早期階段,擁有幾萬或者十幾萬的日活户侥。每當這個時候镀琉,你會發(fā)現(xiàn)由于這些內容在你所制定的算法驅動下呈現(xiàn)給用戶,會出現(xiàn)以下幾個問題:

1.內容太過集中

2.個性化和長尾化的內容都被埋沒

抱著解決這兩個問題的目的蕊唐,是時候上個性化推薦了屋摔。個性化推薦一般有兩種解決方案,基于內容的個性化推薦替梨;基于用戶的個性化推薦钓试。這兩種解決方案,用通俗的話解釋:喜歡A的用戶在某種程度上也喜歡和A相似的B副瀑;喜歡A的用戶1和喜歡A的用戶2弓熏,在某種程度上有一定的相似性,那么盡量把用戶2喜歡的某個物品(或文章)B推薦給用戶1糠睡。

這兩種解決方案挽鞠,市場上都有典型的代表產品,基于用戶的協(xié)同過濾對用戶的規(guī)模要求相當高狈孔,所以今天的文章內容我們就以基于內容的個性化推薦為例展開信认。

我們先來看看幾個名詞“特征向量、分詞均抽、關鍵詞”嫁赏,任何兩篇文章或者兩本書或者兩個歌單,我們都可以用“特征向量”來標識目標的屬性到忽,文章橄教、書籍、歌單是所有標簽(關鍵詞)的合集喘漏,那么標簽越類似兩個目標內容越相似护蝶。獲得關鍵詞的第一步是要講目標進行拆分,為了簡捷翩迈,我們以兩篇文章為例:

1.分詞

分詞前面有提到過持灰,分詞有兩個詞庫,正常詞庫和停用詞庫负饲。正常詞庫類似一個規(guī)則堤魁,將目標文章按規(guī)則來分詞;停用詞庫是去掉目標文章中沒用的詞返十,比喻:“了妥泉、嗎、的洞坑、地”和“the盲链、are、that”等之類的迟杂,因為這些詞對分析沒有任何作用刽沾,在分詞前先剔除。

網(wǎng)絡每天都在更新排拷,正常詞庫和停用詞庫需要不斷的更新侧漓,如果某篇文章中出現(xiàn)“瘋狂打call”“尬聊”“扎心了,老鐵”等詞之后监氢,機器算法是識別不了的布蔗。所以詞庫需要不斷的更新,這些網(wǎng)上有很多忙菠,各種各樣可供參考何鸡。

2.關鍵詞

關鍵詞是決定一篇文章的特征向量指標,有沒有可能兩篇文章的關鍵詞重合的90%牛欢,但是講的卻是兩件事呢骡男?答案是肯定的“茫看個例子:

文章1:“支付寶和往年一樣又開始集福分錢了”主要講述支付寶的集父羰ⅲ活動球散,“支付寶”是個高頻詞而咆,文章最后說了句:“大家可以分錢了”,那么“分錢”最后也被收錄醉锄,進入了特征向量.

文章2:“現(xiàn)在過年壓歲錢我都是支付寶發(fā)”访得×祝“支付寶”按例被收錄陕凹,文章最后總結的時候說“每年過個年,都是在分錢鳄炉,壓歲錢都支付寶發(fā)杜耙,感覺時代進步真快”,雖然整篇文章“分線”只出現(xiàn)一次拂盯,但是還是被收錄進入特征向量佑女。

兩篇文章的關鍵詞非常類似,但是講述的卻是兩個完全不同的事谈竿,這個時候機器算法就會出錯团驱,將這些相關性弱的文章誤以為類似,這個時候推薦出去就會出大事空凸,所以特征向量還需要引入第二個指標嚎花,叫詞頻TF(Term Frequency),衡量每個關鍵詞在文章中出現(xiàn)的頻率呀洲。

那么又有一個問題贩幻,如果兩篇文章的關鍵詞重合度很高,詞頻也和接近两嘴,是不是說明關聯(lián)性就很強呢丛楚?大多數(shù)情況是這樣的,但是也有特殊憔辫,比喻某些文章都是將武漢的趣些,武漢美食、武漢大學贰您、武漢互聯(lián)網(wǎng)坏平、武漢體育等等,這些關鍵詞都包含武昌锦亦、漢陽舶替、漢口等,并且都有這相似的頻率杠园,那么算法就會誤以為他們是相關性極強的文章顾瞪,所以我們引入一個新的指標,即在所有文章中出現(xiàn)頻率的相反值抛蚁,用IDF(Inverse Document Frequency)表示陈醒。這個也很好理解,因為一個詞在所有文章出現(xiàn)的頻率小瞧甩,在某篇文章中出現(xiàn)的頻率大钉跷,這個詞就對該篇文章的標識作用越大。因此肚逸,關鍵詞對文章的作用衡量出來就為TFIDF=TF*IDF爷辙,這個就是著名的TF-IDF模型彬坏。

3.算法實現(xiàn)

完成了分詞和關鍵詞之后,每一篇文章就可以用關鍵詞集合來表示了:

根據(jù)前面幾篇文章的內容膝晾,兩個向量的夾角越小苍鲜,相似度越高,假設兩篇文章的特征向量如下表:

那么這兩篇文章就由“支付寶”和“分錢”兩個重合關鍵詞決定玷犹,根據(jù)余弦相似度可以算出兩篇文章的相似度,這里不做贅述洒疚,有心的朋友可以看看前面的文章歹颓。

4.用戶特征

用戶特征類似熱度算法一樣,根據(jù)用戶閱讀油湖、評論巍扛、收藏、轉發(fā)等行為來賦予一個“鐘意度”乏德,例如

那么將文章和用戶鐘意度結合起來撤奸,我們只需要將關鍵詞的TFIDF乘以用戶行為特征即可得到用戶特征分數(shù)。

我們有文章特征喊括、用戶特征胧瓜,就能根據(jù)根據(jù)用戶關鍵詞做匹配,得出最符合用戶胃口的文章郑什,做出個性化推薦府喳。基于內容的個性化推薦不需要大規(guī)模的用戶量蘑拯,無論幾億钝满、幾千甚至幾百都可以,因此是絕大多數(shù)產品前期做推薦的不二首選申窘。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末弯蚜,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子剃法,更是在濱河造成了極大的恐慌碎捺,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件贷洲,死亡現(xiàn)場離奇詭異牵寺,居然都是意外死亡,警方通過查閱死者的電腦和手機恩脂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進店門帽氓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人俩块,你說我怎么就攤上這事黎休∨欤” “怎么了?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵势腮,是天一觀的道長联贩。 經(jīng)常有香客問我,道長捎拯,這世上最難降的妖魔是什么泪幌? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮署照,結果婚禮上祸泪,老公的妹妹穿的比我還像新娘。我一直安慰自己建芙,他們只是感情好没隘,可當我...
    茶點故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著禁荸,像睡著了一般右蒲。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上赶熟,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天瑰妄,我揣著相機與錄音,去河邊找鬼映砖。 笑死翰撑,一個胖子當著我的面吹牛,可吹牛的內容都是我干的啊央。 我是一名探鬼主播眶诈,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼瓜饥!你這毒婦竟也來了逝撬?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤乓土,失蹤者是張志新(化名)和其女友劉穎宪潮,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體趣苏,經(jīng)...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡狡相,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了食磕。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片尽棕。...
    茶點故事閱讀 38,716評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖彬伦,靈堂內的尸體忽然破棺而出滔悉,到底是詐尸還是另有隱情伊诵,我是刑警寧澤,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布回官,位于F島的核電站曹宴,受9級特大地震影響,放射性物質發(fā)生泄漏歉提。R本人自食惡果不足惜笛坦,卻給世界環(huán)境...
    茶點故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望苔巨。 院中可真熱鬧版扩,春花似錦、人聲如沸恋拷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蔬顾。三九已至,卻和暖如春湘捎,著一層夾襖步出監(jiān)牢的瞬間诀豁,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工窥妇, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留舷胜,地道東北人。 一個月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓活翩,卻偏偏與公主長得像烹骨,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子材泄,可洞房花燭夜當晚...
    茶點故事閱讀 43,612評論 2 350

推薦閱讀更多精彩內容