認(rèn)識個(gè)性化推薦系統(tǒng):從推薦算法到產(chǎn)品冷啟動

4 評論 28473 瀏覽 210 收藏 20 分鐘

關(guān)于個(gè)性化推薦系統(tǒng)你了解多少?推薦算法如何結(jié)合到產(chǎn)品冷啟動中?文章一一解析。

為什么需要個(gè)性化推薦?

科技進(jìn)步帶來的是更大程度地提高效率和生產(chǎn)力已經(jīng)是無可爭辯的事實(shí)。

隨著時(shí)代變遷的廣告業(yè),從廣播、電視業(yè)廣告的輝煌,到互聯(lián)網(wǎng)門戶時(shí)代的banner廣告和狂轟亂炸的edm,再到了搜索引擎和移動互聯(lián)網(wǎng)時(shí)代的推薦位廣告,隨著人們的數(shù)據(jù)可被記錄并且計(jì)算,也隨之產(chǎn)生了計(jì)算廣告學(xué)這門新興學(xué)科。

從廣撒網(wǎng)的廣告形式到精準(zhǔn)地捕捉到用戶的需求,并且呈現(xiàn)給用戶更加恰當(dāng)?shù)膹V告,給互聯(lián)網(wǎng)公司帶來了巨額的廣告收入,這中間推薦系統(tǒng)功不可沒。

早期的門戶網(wǎng)站充斥著banner廣,并沒有精準(zhǔn)觸達(dá)用戶

電商的推薦系統(tǒng)則幫助電商網(wǎng)站大大提高銷售額,亞馬遜通過個(gè)性化推薦系統(tǒng)能夠提高35%的銷售量。

在2016年,推薦算法能夠?yàn)镹etflix節(jié)省每年10億美元。讓其中的冷門內(nèi)容也能夠發(fā)揮作用,需要依賴基于用戶習(xí)慣數(shù)據(jù)的個(gè)性化推薦系統(tǒng)——利用個(gè)性化推薦,相比簡單展示最受歡迎清單,觀看率提升3-4倍。

而近兩年興起的內(nèi)容分發(fā)類產(chǎn)品更是基于內(nèi)容推薦的個(gè)性化推薦收獲了大量用戶的注意力。今日頭條、一點(diǎn)資訊,或是百度的feed流產(chǎn)品,已經(jīng)成為了除了微信之外的“時(shí)間殺手”。讓用戶愿意沉浸其中的原因,除了產(chǎn)品內(nèi)容本身的建設(shè),也有來自于個(gè)性化推薦的重要力量。

推薦系統(tǒng)的核心思想:集群智慧

凱文凱利曾經(jīng)在《失控》中曾經(jīng)說到蜂群的故事:

蜜蜂看到一條信息:“去那兒,那是個(gè)好地方”。它們?nèi)タ催^之后回來舞蹈說,“是的,真是個(gè)好地方?!?通過這種重復(fù)強(qiáng)調(diào),所屬意的地點(diǎn)吸引了更多的探訪者,由此又有更多的探訪者加入進(jìn)來。按照收益遞增的法則,得票越多,反對越少。漸漸地,以滾雪球的方式形成一個(gè)大的群舞,成為舞曲終章的主宰,最大的蜂群獲勝。

動物的集群智慧

凱文凱利用超級有機(jī)體可以來形容蜂群。同樣,這個(gè)詞也可以來形容整個(gè)互聯(lián)網(wǎng)上的人群。他們在網(wǎng)絡(luò)上留下的痕跡可以說是無意識的,但是也帶有了某種“集群的意識”。

扯遠(yuǎn)了,還是來看看互聯(lián)網(wǎng)集群智慧的例子:

Wikipedia-用戶貢獻(xiàn)內(nèi)容:Wikipedia是一件集群智慧的典型產(chǎn)物,它完全由用戶來維護(hù),因?yàn)槊恳黄恼露紩写罅康挠脩羧ミM(jìn)行修改,所以最終的結(jié)果很少出現(xiàn)問題,而那些惡意的操作行為也會因?yàn)橛泻A康挠脩舻木S護(hù)而被盡快地修復(fù)。

Google-利用海量數(shù)據(jù)進(jìn)行判斷:Google的Pagerank算法的核心思想是通過其他網(wǎng)頁對當(dāng)前網(wǎng)頁的引用數(shù)來判斷網(wǎng)頁的等級,這種算法需要通過海量的用戶數(shù)據(jù)來進(jìn)行。

協(xié)同過濾

說到個(gè)性化推薦最常用的設(shè)計(jì)思想,不得不說說協(xié)同過濾,它一種在做個(gè)性化推薦時(shí)候的方法論。

因?yàn)槿绻麅H僅按照單一的熱門推薦,網(wǎng)絡(luò)的馬太效應(yīng)(指強(qiáng)者愈強(qiáng)、弱者愈弱的現(xiàn)象)就會明顯;且長尾中物品較難被用戶發(fā)現(xiàn),造成了資源浪費(fèi)。而協(xié)同過濾問題恰恰解決了用戶的個(gè)性化需求(用戶更愿意打開自己感興趣或者熟悉的內(nèi)容),使得長尾上的物品有了被展示和消費(fèi)的可能性,也使得馬太效應(yīng)相對弱化。

協(xié)同過濾包括兩種類型:

1.Item-CF(基于物品的協(xié)同過濾):

小明在網(wǎng)站上看了《超人歸來》的電影,系統(tǒng)就會推薦與這部電影的相似的電影,比如《蜘蛛俠2》給小明。這是基于電影之間的相似性做出的推薦。(注意:兩部電影時(shí)間的是否相似是由大量用戶是否同時(shí)都看了這兩部電影得到的。如果大量用戶看了A電影,同時(shí)也看了B電影,即可認(rèn)為這兩部的電影是相似的,所以Item-CF仍然是基于用戶行為的。)

騰訊視頻中,當(dāng)觀看《超人歸來》時(shí)系統(tǒng)推送的電影

2.User-CF(基于用戶的協(xié)同過濾):

小明在購物網(wǎng)站上買了一副耳機(jī),系統(tǒng)中會找出與小明相似的“近鄰好友”他們除了買耳機(jī)之外,還買了什么。如果與小明相似的“近鄰”小華還買過音箱,而這件東西小明還沒買過,系統(tǒng)就會給小明推薦音箱。這是基于用戶之間的相似性做出的推薦。

注:這里的CF=collaborative filtering

而這兩種類型的協(xié)同過濾都是要基于用戶行為來進(jìn)行。

而除了協(xié)同過濾之外,還有基于內(nèi)容的推薦、基于知識的推薦、混合推薦等方式。

物以類聚,人以群分。

這句話很好地解釋了協(xié)同過濾這種方法的思想。

亞馬遜網(wǎng)站上對圖書的推薦 -基于Item-CF

前一陣參加了一個(gè)人工智能產(chǎn)品經(jīng)理的活動,主講人香港中文大學(xué)的湯曉鷗教授(目前人工智能視覺方面的頂級專家)說,目前機(jī)器視覺領(lǐng)域可以通過社交網(wǎng)絡(luò)照片或者個(gè)人相冊中的圖片的學(xué)習(xí),可以做到預(yù)測個(gè)人征信。與誰的合影,在什么地方拍照都成為了機(jī)器預(yù)測個(gè)人特征的判斷因素。

這也是利用了“人以群分”的常識,只是加上了高大上的機(jī)器視覺技術(shù)而已。

機(jī)器學(xué)習(xí)與個(gè)性化推薦的關(guān)系

什么是機(jī)器學(xué)習(xí)?《集群智慧編程》這本書里是這么解釋的:

機(jī)器學(xué)習(xí)是人工智能領(lǐng)域中與算法相關(guān)的一個(gè)子域,它允許計(jì)算機(jī)不斷地進(jìn)行學(xué)習(xí)。大多數(shù)情況下,這相當(dāng)于將一組數(shù)據(jù)傳遞給算法,并由算法推斷出與這些數(shù)據(jù)的屬性相關(guān)的信息-借助這些信息,算法就能夠預(yù)測出未來有可能出現(xiàn)的其他數(shù)據(jù)。這種預(yù)測是完全有可能的,因?yàn)閹缀跛蟹请S機(jī)數(shù)據(jù)中,都會包含這樣或那樣的“模式(patterns)”,這些模式的存在使機(jī)器得以據(jù)此進(jìn)行歸納。為了實(shí)現(xiàn)歸納,機(jī)器會利用它所認(rèn)定的出現(xiàn)數(shù)據(jù)中的重要特征對數(shù)據(jù)進(jìn)行“訓(xùn)練”,并借此得到一個(gè)模型。

機(jī)器學(xué)習(xí)本質(zhì)上是從數(shù)據(jù)中構(gòu)建模型來進(jìn)行“數(shù)據(jù)預(yù)測”或者“下決定”的事兒,而個(gè)性化推薦系統(tǒng)的本質(zhì),也是預(yù)測用戶可能感興趣的事兒。機(jī)器學(xué)習(xí)可以用來做個(gè)性化推薦系統(tǒng),也可以做其他類型的預(yù)測,比如金融欺詐偵測、安防、股票市場分析、垃圾email過濾等等。

這張圖很好地解釋了機(jī)器學(xué)習(xí)的工作過程。機(jī)器學(xué)習(xí)分為無監(jiān)督學(xué)習(xí)和有監(jiān)督學(xué)習(xí)兩種,也有延伸出增強(qiáng)學(xué)習(xí)和半監(jiān)督學(xué)習(xí)的方法。

Hadoop與Mahout

那些推薦算法這里不再贅述,但是大數(shù)據(jù)技術(shù)方面的基礎(chǔ)知識,作為小白還是需要要有所了解。

眾所周知,推薦系統(tǒng)的數(shù)據(jù)處理往往是海量的,所以處理這些數(shù)據(jù)的時(shí)候要用到像Hadoop這樣的分布式處理軟件框架。

Hadoop是一個(gè)能夠?qū)Υ罅繑?shù)據(jù)進(jìn)行分布式處理的軟件框架。 Hadoop 以一種可靠、高效、可伸縮的方式進(jìn)行數(shù)據(jù)處理。

Hadoop是一個(gè)生造出來的詞,而Mahout中文意思就是象夫,可以看出,如果把大數(shù)據(jù)比作一只大象的話,那mahout就是就是指揮大數(shù)據(jù)進(jìn)行運(yùn)算的指揮官。

Mahout 是 Apache Software Foundation(ASF) 旗下的一個(gè)開源項(xiàng)目,提供一些可擴(kuò)展的機(jī)器學(xué)習(xí)領(lǐng)域經(jīng)典算法的實(shí)現(xiàn),旨在幫助開發(fā)人員更加方便快捷地創(chuàng)建智能應(yīng)用程序。

其目的也和其他的開源項(xiàng)目一樣,Mahout避免了在機(jī)器學(xué)習(xí)算法上重復(fù)造輪子。

推薦系統(tǒng)的數(shù)據(jù)來源

眾所周知,對推薦系統(tǒng)的個(gè)性化推薦算法需要運(yùn)用來自用戶的數(shù)據(jù),那么這些數(shù)據(jù)都是來自于哪里,為我們所用呢?

基于用戶行為數(shù)據(jù):

舉個(gè)好玩的例子:通過GPS信號,可以測得手機(jī)速度以及位置,當(dāng)用戶的手機(jī)在早上8點(diǎn)由高速變成低速,可以判斷是從地鐵出來,就可以向他推薦附近的麥當(dāng)勞早餐優(yōu)惠券了。

另外,運(yùn)營商是可以得到用戶手機(jī)訪問過的網(wǎng)頁數(shù)據(jù)的,通過文本挖掘,可以了解用戶的偏好,如看過很多足球類的文章,可以了解用戶為喜歡足球的用戶,而喜歡足球的用戶很大的可能性是男性,則可以多推送一些相關(guān)的體育新聞內(nèi)容,甚至男性用品(比如剃須刀)廣告給他。

基于社交網(wǎng)絡(luò)數(shù)據(jù):

通過用戶的社交網(wǎng)絡(luò)數(shù)據(jù)可以基于好友關(guān)系,推薦朋友給用戶。當(dāng)小紅和小明同時(shí)有10個(gè)朋友,那就說明他們在一個(gè)朋友圈子。他們共同好友越多,就更有可能在兩個(gè)人之間做相互推薦。

基于上下文的數(shù)據(jù):

上下文的數(shù)據(jù)又可以分為兩種,時(shí)間上下文與地點(diǎn)上下文

舉一個(gè)栗子,在時(shí)間上下文的情況下,某外賣app需要根據(jù)早中晚人們的用餐習(xí)慣來給用戶推送不一樣的食物或者優(yōu)惠券,這樣推薦不同的食物更符合用戶的習(xí)慣。

另外根據(jù)地點(diǎn)的上下文說的是,如果你在辦公室用某外賣app點(diǎn)一份外賣,那么推薦給你的外賣餐廳是要離你較近的,而不是推送十公里以外的餐廳。

基于內(nèi)容的推薦與熱度算法

我們要知道個(gè)性化推薦一般會有兩種通用的方法,包括基于內(nèi)容的個(gè)性化推薦,和基于用戶行為的個(gè)性化推薦。

基于用戶行為的推薦,會有基于物品的協(xié)同過濾(Item-CF)與基于用戶的協(xié)同過濾(User-CF)兩種。

而協(xié)同過濾往往都是要建立在大量的用戶行為數(shù)據(jù)的基礎(chǔ)上,在產(chǎn)品發(fā)布之初,沒有那么大量的數(shù)據(jù)。所以這個(gè)時(shí)候就要依靠基于內(nèi)容的推薦或者熱度算法

基于內(nèi)容的推薦

一般來說,基于內(nèi)容的推薦的意思是,會在產(chǎn)品初期打造階段引入專家的知識來建立起商品的信息知識庫,建立商品之間的相關(guān)度。

比如,汽車之家的所有的車型,包括了汽車的各種性能參數(shù);電商網(wǎng)站中的女裝也包括了各種規(guī)格。

在內(nèi)容的推薦過程中,只需要利用用戶當(dāng)時(shí)的上下文情況:例如用戶正在看一個(gè)20萬左右的大眾轎車,系統(tǒng)就會根據(jù)這輛車的性能參數(shù),來找到另外幾輛與這輛車相似的車來推薦給用戶。

一般來說,建立這樣的數(shù)據(jù)庫需要專業(yè)人士、編輯等通過手動完成,有一定的工作量,但對于冷啟動階段的產(chǎn)品來說,是一個(gè)相對有效的方法。

汽車之家網(wǎng)站在用戶查看一輛車的同時(shí)推薦與其相似的車

另外一種情況是純文本的內(nèi)容沒有明確的參數(shù)特征,在這種情況下,需要通過文本分析技術(shù)來自動提取文本的關(guān)鍵詞(通過自然語言技術(shù)的進(jìn)行分詞),通過數(shù)據(jù)挖掘來找到文本與文本之間的聯(lián)系和相似性。

熱度算法

左:微博? 右:今日頭條

另外,由于各種社會熱點(diǎn)話題普遍是人們關(guān)注較高的,以及由于在產(chǎn)品發(fā)展初期,沒有收集到大量用戶數(shù)據(jù)的情況下,“熱度算法”也是一種慣常使用的方式。

“熱度算法“即將熱點(diǎn)的內(nèi)容優(yōu)先推薦給用戶。

這里值得注意的是,熱點(diǎn)不會永遠(yuǎn)是熱點(diǎn),而是具有時(shí)效性的。

所以發(fā)布初期用熱度算法實(shí)現(xiàn)冷啟動,積累了一定量級以后,才能逐漸開展個(gè)性化推薦算法。

而熱度算法在使用時(shí)也需要考慮到如何避免馬太效應(yīng):毋庸置疑的是,在滾雪球的效應(yīng)之下,互聯(lián)網(wǎng)民的消費(fèi)&觀點(diǎn)&行為會趨同,就像前一陣《戰(zhàn)狼2》的熱映一樣,史無前例的票房成績完全取決于鋪天蓋地式的宣傳,而群體將會成為烏合之眾。

產(chǎn)品的冷啟動

每個(gè)有推薦功能的產(chǎn)品都會遇到冷啟動(cold start)的問題,也是很多創(chuàng)業(yè)公司遇到的較為棘手的問題。

在早期團(tuán)隊(duì)資金有限的情況下,如何更好地提升用戶體驗(yàn)?

如果給用戶的推薦千篇一律、沒有亮點(diǎn),會使得用戶在一開始就對產(chǎn)品失去了興趣,放棄使用。所以冷啟動的問題需要上線新產(chǎn)品認(rèn)真地對待和研究。

在產(chǎn)品剛剛上線,新用戶到來的時(shí)候,如果沒有他在應(yīng)用上的行為數(shù)據(jù),也無法預(yù)測其興趣。另外,當(dāng)新商品上架也會遇到冷啟動的問題,沒有收集到任何一個(gè)用戶對其瀏覽,點(diǎn)擊或者購買的行為,也無從判斷將商品如何進(jìn)行推薦。

所以在冷啟動的時(shí)候要同時(shí)考慮用戶的冷啟動和物品的冷啟動

我總結(jié)了并延伸了項(xiàng)亮在《推薦系統(tǒng)實(shí)踐》中的一些方法,可以參考:

  1. 提供熱門內(nèi)容,類似剛才所介紹的熱度算法,將熱門的內(nèi)容優(yōu)先推給用戶。
  2. 利用用戶注冊信息,可以利用人口統(tǒng)計(jì)學(xué)的一些特征,如性別、國籍、學(xué)歷、居住地來預(yù)測用戶的偏好,當(dāng)然在極度強(qiáng)調(diào)用戶體驗(yàn)的今天,注冊過程的過于繁瑣也會影響到用戶的轉(zhuǎn)化率,所以另外一種方式更加簡單且有效,即利用用戶社交網(wǎng)絡(luò)賬號授權(quán)登陸,導(dǎo)入社交網(wǎng)站上的好友信息或者一些行為數(shù)據(jù)。
  3. 在用戶登錄時(shí)收集對物品的反饋,了解用戶興趣,推送相似的物品。
  4. 在一開始引入專家知識,建立知識庫、物品相關(guān)度表;或者通過自然語言處理來進(jìn)行文本的數(shù)據(jù)挖掘。
  5. 通過用戶在時(shí)間和地點(diǎn)的上下文來進(jìn)行實(shí)時(shí)的預(yù)測。

參考資料

  • 《推薦系統(tǒng)實(shí)踐》 項(xiàng)亮
  • 《集群智慧編程》Toby Segara
  • 《失控》凱文凱利
  • 《機(jī)器學(xué)習(xí)的本質(zhì)是人類學(xué)習(xí)?5大要素詳解個(gè)性化推薦的商業(yè)化之路》紀(jì)達(dá)麒
  • 《一個(gè)大數(shù)據(jù)屌絲的一天》劉鵬的“計(jì)算廣告”公眾號
  • 《產(chǎn)品經(jīng)理需要了解的算法——熱度算法和個(gè)性化推薦》 ?盧爭超
  • 《煉數(shù)成金推薦系統(tǒng)課程》

 

本文由 @文俊 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來自PEXELS,基于CC0協(xié)議

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. :mrgreen: 寫得好啊

    來自四川 回復(fù)
  2. 學(xué)習(xí)了。

    來自北京 回復(fù)
  3. 目前正在做冷啟動的個(gè)性化推薦設(shè)計(jì)!受教了!

    來自四川 回復(fù)
    1. ?? 一起進(jìn)步,哈哈。

      來自北京 回復(fù)