個性化推薦系統綜述

     

1、推薦系統概念算法

一、推薦系統定義api

維基百科:推薦系統屬於資訊過濾的一種應用。推薦系統可以將可能受喜愛的資訊或實物(例如:電影、電視節目、音樂、書籍、新聞、圖片、網頁)推薦給使用者。網絡

推薦系統大致可分爲兩類,即個性化推薦和非個性化推薦。分佈式

二、推薦系統做用工具

從用戶角度:oop

  • 提升用戶忠誠度
  • 幫助用戶快速找到商品

從網站角度:性能

  • 提升網站交叉銷售能力
  • 提升成交轉化率

好的推薦系統更像一個有經驗的網站導購員學習

三、推薦系統與其餘系統的區別大數據

推薦與搜索優化

相同點:幫助用戶找到商品

不一樣點:搜索是經過用戶主動輸入的關鍵字進行查詢。推薦則是用戶在瀏覽網站的過程當中,不必定須要用戶輸入,根據當前網頁的上下文進行個性化的信息輸出。

推薦與廣告

相同點:基於用戶行爲

不一樣點:廣告目的是幫助商家推廣商品等,推薦系統幫助用戶找到想要的商品等。

推薦與SNS

相同點:它們都有基於人羣的共同點產生推薦

不一樣點:一個是機器,一個是人工

四、推薦系統的主要產品

  • 同類或者相關商品、店鋪推薦
  • 買了還買、看來還看等
  • 猜你喜歡
  • 羣體信息披露
  • 熱門排行榜
  • etc

2、推薦系統的組成

一、數據

  • explicit(顯式):能準確的反應用戶對物品的真實喜愛,但須要用戶付出額外的代價。如:用戶收藏、用戶評價。
  • Implicit(隱式):經過一些分析和處理,才能反映用戶的喜愛,只是數據不是很精確,有些行爲的分析存在較大的噪音。如:用戶瀏覽、用戶頁面停留時間、訪問次數。

二、算法

  • 離線:用戶類目偏好、用戶購買力分析、關聯性分析、類似矩陣計算等等
  • 在線:排序、過濾、增量計算

算法須要配合大量業務規則,沒有最好,只有更好!

三、消息系統

消息系統是大型系統不可或缺的重要組成部分,與其餘系統解耦,消息轉發。

四、搜索引擎

主要功能是進行文本分析抽取關鍵詞,做爲推薦系統的一個信息檢索技術內容相關性匹配。

五、NoSQL

簡單、高性能、方便定製

六、分佈式計算

使用MapReduce , Hive、Hadoop進行大規模數據統計和運算和大數據集合的ETL

3、淘寶的推薦系統

一、淘寶數據特色

  • 數據量巨大:數百萬店鋪、數億激活用戶、數億的在線商品、數十億的收藏信息…
  • 商品問題:同一類商品多個賣家、標類非標類、類目屬性正確性、惡意收藏、刷信譽…

二、淘寶推薦系統應用場景

目前覆蓋大小場景60多個,主要包括

  • Detail 瀏覽了還瀏覽
  • 收藏夾彈出層推薦
  • 購物車彈出層推薦
  • 已買到寶貝你可能感興趣
  • 淘寶無線應用
  • EDM(重複購買提醒)
  • 各個垂直頻道
  • 個性化list排序
  • 開放平臺api

淘寶業務產品豐富,推薦功能穿插其中,推薦功能涵蓋的範圍更廣,不少場景推薦算法與業務規則相關。

三、淘寶推薦系統算法

①基礎算法:聚類算法,預測算法,分類算法等,主要用於產生基礎知識庫

  • 預測算法:logistic 迴歸,經過以點擊率爲目標,以商品,賣家等因素做爲指標,創建預測模型構建淘寶優質寶貝庫
  • 分類算法:樸素貝葉斯,商品性別判斷(男性,女性,中性),用戶性別判斷
  • 聚類算法:人羣,用戶細分,用於降維

②推薦算法:content-based,collaborative-based,Association Rules等等

基於內容推薦:經過給用戶和商品標註Tag,經過內容匹配算法,推薦商品給用戶

  • 優勢:簡單,搜索引擎支持,解決部分冷啓動問題
  • 缺點:難以區分商品信息的品質,並且不能爲用戶發現新的感興趣的商品,只能發現和用戶已有興趣類似的商品

協同思想

  • 優勢:新奇特,個性化程度高
  • 缺點:冷啓動,稀疏性

關聯規則:類目的相關性、商品相關性、人的相關性

四、推薦系統的效果評測

  • Offline: 給定輸入輸出,驗證系統的輸出
  • Online : ABTest (衡量指標:CTR GMV 轉換率)

五、淘寶推薦系統的設計

  • 提供統一的平臺管理各個推薦模塊
  • 提供高性能分佈式存儲
  • 提供算法的AbTest和效果統計
  • 提供靈活算法配置

①   分佈是存儲:Treasure

  • 存儲雲梯(hadoop)上對用戶、商品等原始數據分析的結果
  • 雲梯週期性同步,無實時更新
  • 爲推薦系統提供ABTest存儲支持
  • 可直接存儲部分推薦算法的結果供推薦使用
  • 動態部署

②調度系統

  • 負責週期性雲梯(hadoop)任務調度
  • 分佈式
  • 生產者 消費者

③協調系統

  • Zookeeper集羣
  • 智能路由
  • 線上與線下聯動通知
  • Job依賴通知

總結:推薦系統是須要不斷創新而且與場景和行業有事緊密的關係

產品推薦分2種,一種是以營銷爲目的,一種是真心以爲好。今天只談第一種。

以前咱們也作過一個,自認爲不錯,客戶和客服的反饋也好,惋惜沒能正式上線,至今hold。思路很簡單,「客戶告訴咱們他願意花多少錢[X],但願獲得什麼效果[Y],咱們幫他們選擇合適的路徑[P]。」其中,X相對容易得到,Y則因自己的多樣性須要先作細分,抽象成可量化的特徵。而後對每一個特徵,選取路徑P1.P2……Pn,作組合分析,最後是將全部的Y的特徵放一塊兒作全局優化。固然,投入的可能不止是錢,也多是時間什麼的,不過那麼算的話,就太複雜了。

咱們最後只完成了如此宏大理想的第一步,即在客戶說我要走第一條路時,咱們告訴他你應該穿什麼鞋……提及來好細節呀……那時咱們能看到的路徑就一兩條,還盡是泥濘,生怕把客戶引過去人家不樂意,或是走着走着摔跤了,修第一條路的人也不給力,一直說着「要不等咱們再修好點,你再帶人來?」哎,反正很糾結。

最後的結論是時機未到,還需等待。

悲催!

這幾天又想起這事,發現產品推薦的思路不老是靠譜,只有在特定環境下,才能作得有意義。

首先,客戶的訴求實在太難抽象和量化了。他們常說的「這個產品作得很差」「它沒達到我想要的效果」諸如此類,都是很難處理的反饋,當你再追問下去或是表示但願他們能說得再細化一些,他們會想想,回答兩個字「感受」呀……總之,能清晰描述需求的客戶很少。若是你再問他,你是注重A呢仍是B?回答都想要的客戶基本佔了90%。

其次,客戶沒你想得那麼傻也沒太聰明,但他們多數很懶。一個新產品意味着一套新內容新要求新操做,對大多數人來講,若是現有的已經能知足他,就不會有強烈的嘗試衝動,特別是當嘗試還要付費的時候。因此,在新產品上線前作小流量試驗,爲了徵集到更多的自願客戶,常採起免費試用或至少半價的推廣方式。從實際經驗看,能招募到8個左右的大客戶已屬上佳。

第三,客戶真的須要產品推薦嗎。本週我還就這個話題專門找了幾個相熟的客服,她們也幫我問過了客戶。答案差很少,客戶不須要,客服能夠看看。客戶一般會對推薦類的東西抱着懷疑態度,他們知道你的目的是營銷,潛意識會想你是否是要我掏錢啊,蠻抗拒的。想一想你接到保險公司電話時的反應吧,和那個差很少。客服呢,畢竟有工做壓力,他們以往的推薦經驗多半是來源於我的積累、同事分享和一些幫助文檔,不多有實時的可參考的數據和信息,更沒有相似的工具以輔助,因此挺歡迎。另外還說一點,客服不但願這樣的產品開放給客戶,特別是有詳細數據和趨勢圖的,主要是怕解釋成本會增長。

也有好消息,好消息是大部分客戶很愛問別人怎麼作的,競爭對手啊,同行業的都在作什麼,看到不錯的產品也會主動詢問。好比最近很火的百度開放平臺,諮詢的就挺多。惋惜客服問個人時候,我也徹底不瞭解……

就是下面這個。

說到這裏,我就想,產品推薦換種形式會不會更好?

昨晚去泰好味吃飯,每一個桌上的餐牌上都寫着上個月的銷售狀況,第一名是冬陰功湯,賣出500多份,第二名好像是鳳梨飯,共列了十多道菜,都寫清楚了6月份銷售的份數。以往去吃飯前都愛查大衆點評,看看哪些是招牌菜,餐廳的這個舉動倒省了初來的食客不知點什麼的煩惱,看起來好貼心,比服務員說「咱們這裏的xxx賣得很好」,一看價格,心中涌起「貴死了」的反感情緒要好得多。

那產品推薦能這麼作嗎?

既然客戶想知道,咱們就適當告知其餘人在用什麼,或者最近什麼紅,充分利用人們的從衆心理。若是能保證數據和資料的真實性,能創建起暢通的反饋機制,能讓用戶清晰地表達出須要什麼不要什麼,有了必定量的積累後,再開始作推薦。

如今作推薦的一般場景,是面對一個沒有頭像喜愛不明的客戶,可能連他的性別都搞錯。通常的,從他的用戶ID和註冊時填寫的基本信息,最多還有在其餘產品線的表現狀況,能略知一二。以前咱們用和該客戶同類型的客戶數據作了預估,也用真實數據對預估的作了檢驗,結果並不許確。想一想也是必然,用過去的經驗預估將來都不必定準,用別人過去的狀況去看怎麼可能準呢。

我所瞭解的產品推薦就這麼多了,總結一下。

1. 若是客戶能清晰地說明投入和但願的產出,且對路徑無任何偏好,即按照你推薦的結果去執行,事情會簡單得多。

2. 產品推薦創建在對客戶和對產品的充分了解之上。二者都在變更,會很難。

3. 其實就是性價比和最優分配的問題,但不少數據未知,難求最優解。解的方法已經有了,在此不方便透露。

4. 推薦是趨勢,時機仍未到。在現今,或許作排行榜類的效果更好。對相同的數據,客戶會有不一樣的解讀和選擇。他們會爲本身的決策負責,卻不必定願意爲你的推薦買單。

 

 

互聯網技術的迅速發展使得大量的信息同時呈如今咱們面前,傳統的搜索算法只能呈現給全部的用戶同樣的排序結果,沒法針對不一樣用戶的興趣愛好提供相應的服務。信息的爆炸使得信息的利用率反而下降,這種現象被稱之爲信息超載。個性化推薦,包括個性化搜索,被認爲是當前解決這個問題最有效的工具之一。推薦問題從根本上說是代替用戶評估它從未看過的產品,這些產品包括書、電影、CD、網頁、甚至能夠是飯店、音樂、繪畫等等。

個性化推薦系統經過創建用戶與信息產品之間的二元關係,利用已有的選擇過程或類似性關係挖掘每一個用戶潛在感興趣的對象,進而進行個性化推薦。高效的推薦系統能夠挖掘用戶潛在的消費傾向,爲衆多的用戶提供個性化服務。 一個完整的推薦系統由3個部分組成:

  • 收集用戶信息的行爲記錄模塊
  • 分析用戶喜愛的模型分析模塊
  • 推薦算法模塊

推薦算法模塊是最核心的部分。根據推薦算法的不一樣,推薦系統能夠分爲以下幾類:

  • 協同過濾(collaborative filtering)系統
  • 基於內容(content-based)的推薦系統
  • 基於用戶-產品二部圖網絡結構(network-based)的推薦系統
  • 混合(hybrid)推薦系統
  • 其餘

1. 協同過濾系統

第一代被提出並獲得普遍應用的推薦系統。如amazon的書籍推薦,Jester的笑話推薦,等等。

1)核心思想:利用用戶的歷史信息計算用戶之間的類似性——>利用與目標用戶類似性較高的用戶對其餘產品的評價來預測目標用戶對特定產品的喜愛程度——>根據喜愛程度來對目標用戶進行推薦。

在計算用戶之間類似度時,大部分都是基於用戶對共同喜愛產品的打分。最經常使用的方法是Pearson相關性和夾角餘弦。

協同過濾推薦系統的算法能夠分爲兩類,基於記憶(memory-based)&基於模型(model-based)。前者是根據系統中全部被打過度的產品信息進行預測,注重於預測用戶的相對偏好而不是評分絕對值;後者是收集打分數據進行學習並推斷用戶行爲模型,再對某個產品進行預測打分。

2)優勢:

  • 發現用戶潛在的興趣偏好,推薦新信息
  • 能推薦難以進行內容分析的產品

3)缺點:

  • 因爲是基於用戶對產品的評分,因此對新用戶進行推薦或者是對用戶推薦新產品,精度不高
  • 隨着用戶量的增多,計算量呈線性增長,影響系統的性能

2. 基於內容的推薦系統

是協同過濾技術的延續與發展。

1)核心思想:分別對用戶和產品創建配置文件——>比較用戶與產品配置文件的類似度——>推薦與其配置文件最類似的產品。

例如,在電影推薦中,基於內容的系統首先分析用戶已經看過的打分較高的電影的共性(演員、導演、風格等),再推薦與這些用戶感興趣的電影內容類似度很高的其餘電影。基於內容的推薦算法根本在於信息獲取和信息過濾。由於在文本信息獲取與過濾方面的研究較爲成熟,現有不少基於內容的推薦系統都是經過分析產品的文本信息進行推薦。 在信息獲取中,最經常使用的是TF-IDF方法

2)優勢:

  • 能處理新用戶、新產品的問題(冷啓動)
  • 實際系統中用戶對產品的打分信息很是少,基於內容的推薦系統能夠不受打分稀疏性問題的約束
  • 能推薦新出現的產品和非流行的產品,發現隱藏信息
  • 經過列出推薦內容的特徵,能夠解釋爲何推薦這些產品,使用戶在使用時具備更好的用戶體驗

3)缺點:

  • 受到信息獲取技術的約束,例如自動提取多媒體數據(圖形、視頻流、聲音流等)的內容特徵具備技術上的困難
  • 若是兩個不一樣的產品剛好用相同的特徵詞表示,這兩個產品就沒法區分
  • 若是一個系統只推薦與用戶的配置文件高度相關的產品,那麼推薦的只能是與用戶以前購買過的產品很是類似的產品,沒法保證推薦的多樣性

3. 基於網絡結構的推薦算法

僅僅把用戶和產品的內容特徵當作抽象的節點,全部算法利用的信息都藏在用戶和產品的選擇關係中。

1)核心思想:創建用戶—產品二部圖關聯網絡

對於任意目標用戶i,假設i選擇過全部的產品,每種產品都具備向i推薦其餘產品的能力,把全部i沒有選擇過的產品按照他喜歡的程度進行排序,把排名靠前的推薦給i。

在一樣的用戶喜愛程度下,推薦冷門的產品要比推薦熱門的產品意義更大。在一樣精確度下,推薦的產品數量越少越好。

提升精確度的方法還有:

  • 去除重複性
  • 經過引入耦合閾值(即只考慮類似性大於或等於給定閾值的用戶以及和這些用戶鏈接的產品)

2)優勢:開闢了推薦算法研究的新方向

3)缺點:

  • 一樣面臨着新用戶新產品的問題。新用戶或新產品剛進入系統時沒有任何選擇或被選信息,系統沒法與其餘用戶或產品創建關聯網絡
  • 受到用戶選擇關係創建時間的影響,若是把用戶與產品的全部關聯關係都考慮在內,沒法區分出長期興趣和短時間興趣點,過多地考慮長期興趣點會使系統沒法給出知足用戶短時間興趣的產品,大大下降推薦準確度

4. 混合推薦

將上述幾種推薦方法有機結合,實際的推薦系統中最多見的是基於協同過濾和基於內容的。

1)獨立系統相互結合

獨立的應用協同過濾,基於內容和基於網絡結構的算法進行推薦,而後將兩種或多種系統的推薦結果結合,利用預測打分的線性組合進行推薦。或者,只推薦某一時刻在某一評價指標下表現更好的算法的結果。

2)在協同過濾系統中加入基於內容的算法

利用用戶的配置文件進行傳統的協同過濾計算,用戶的類似度經過基於內容的配置文件計算得出,而非共同打過度的產品的信息。這樣能夠克服協同過濾系統中的稀疏性問題,另外,不只僅是當產品被配置文件類似的用戶打了分才能被推薦,若是產品與用戶的配置文件很類似也會被直接推薦。

5. 其餘方法

1)關聯規則分析:關注用戶行爲的關聯模式。如買了香菸的人大多會購買打火機,所以能夠在香菸和打火機間創建關聯關係,經過這種關係推薦其餘產品。

2)基於社會網絡分析的推薦算法:如利用用戶的購買行爲創建他對產品的偏好類似性,依此向用戶推薦產品並預測產品的銷售狀況,從而增強用戶黏性。

相關文章
相關標籤/搜索