標籤:折扣 也有 基於內容的推薦 apriori演算法 方便 add asc 建議 擷取
一、 電商推薦演算法簡述
目前比較多的電商模式為B2B,B2C,O2O,在本文介紹和需要舉例說明的地方B2B電商模式為主。
電商推薦根據推薦內容不同分為物品推薦、商家推薦;流行的推薦應用主要有三個方面:1)針對使用者的瀏覽、搜尋等行為所做的相關推薦;2)根據購物車或物品收藏所做的相似物品推薦;3)根據曆史會員購買行為記錄,利用推薦機製做Direct Mail或會員營銷。其中推薦演算法主要分為以下幾個類:
1、基於使用者的協同過濾推薦演算法
a. 找到與目標使用者興趣相似的使用者集合
b. 找到這個集合中使用者喜歡的、並且目標使用者沒有聽說過的物品推薦給目標使用者
2、基於Item(項目)的協同過濾推薦演算法
a.基於使用者對某商品的興趣程度,尋找出相似性最大的物品。
b.將相似性最大的物品推薦給目標使用者。
協同過濾舉例:四個使用者ABCD,對5個商品abcde的興趣與否見下表(實際使用者對物品的興趣程度有區別,需要具體的評分量化),這裡方便理解原理,用二元值表示使用者對物品是否感興趣。
|
a |
b |
c |
d |
e |
目標物品 |
A |
1 |
1 |
0 |
1 |
0 |
1 |
B |
1 |
0 |
1 |
0 |
0 |
0 |
C |
0 |
1 |
0 |
0 |
1 |
1 |
D |
0 |
1 |
1 |
1 |
0 |
? |
基於使用者的協同過濾:指根據使用者對各物品的興趣度計算相似性,相似性的演算法有很多(主要有餘弦相似性、相關相似性以及歐式距離等),上述與使用者D相似對最高的是使用者A,使用者A對目標物品的興趣度為1,就可將目標物品推薦給使用者D。
基於item的協同過濾:指從物品維度上看,根據使用者對每個物品的興趣度,計算物品間的相似性,可以算出物品b和目標物品的相似性最大,使用者D對物品b感興趣,則很可能對目標使用者感興趣。
3、基於內容的推薦演算法
商品為客觀體,提取商品對象的特徵,尋找相似性比較大的物品進行推薦。系統首先對物品的屬性進行建模,通過相似性計算,發現物品A和B相似性較高,或者他們都屬於同類物品。系統還會發現某使用者喜歡物品A,由此得出結論,某使用者可能對物品B也感興趣,於是將物品B推薦給該使用者。
基於內容的推薦演算法比較容易理解,主要用到分類、聚類演算法,對使用者興趣可以很好的建模,並通過對物品屬性維度增加,獲得更好的推薦精度。但是物品的屬性有限,很難得到更多資料屬性,且對於部分物品屬性特徵提取有時候比較困難,只考慮物品本身的特徵,忽略使用者的行為特徵,存在一定片面性,對於從未購買物品的新使用者存在冷啟動問題,不能對新使用者進行推薦。
4、基於關聯規則的推薦演算法
基於關聯規則的推薦是以關聯規則為基礎,把已購商品作為規則頭,規則體為推薦對象。關聯規則挖掘可以發現不同商品在銷售過程中的相關性,關聯規則就是在一個交易資料庫中統計購買了商品集X的交易中有多大比例的交易同時購買了商品集Y,其直觀的意義就是使用者在購買某些商品的時候有多大傾向去購買另外一些商品,根據某種商品所屬的信賴度較高的關聯規則,推薦物品。
根據使用者的購買記錄,提取關聯規則,常用的演算法有Apriori演算法,為了提取頻繁項集和一定信賴度的關聯規則。Apriori演算法的主要原則是如果項集A是頻繁的,那麼它的子集都是頻繁的。如果項集A是不頻繁的,那麼所有包括它的父集都是不頻繁的,簡化頻繁項集的選擇的複雜度。
5、基於RFM的推薦演算法
6、基於人口統計特徵的推薦演算法
這是最為簡單的一種推薦演算法,它只是簡單的根據系統使用者的基本資料發現使用者的相關程度,然後將相似使用者喜愛的其他物品推薦給目前使用者。系統首先會根據使用者的屬性建模,比如使用者的年齡,性別,興趣等資訊。根據這些特徵計算使用者間的相似性。比如系統通過計算髮現使用者A和C比較相似。就會把A喜歡的物品推薦給C。
基於人口統計特徵推薦演算法的優勢是不需要曆史資料,沒有新使用者冷啟動問題,不依賴於物品的屬性,不足是演算法比較粗糙,效果很難令人滿意,只適合簡單的推薦。
7、混合推薦演算法
融合以上方法,以加權或者串聯、並聯等方式盡心融合。實際應用最多的是內容推薦和協同過濾推薦的組合。最簡單的做法就是分別用基於內容的方法和協同過濾推薦方法去產生一個推薦預測結果,然後用某方法組合其結果,如加權、變換、混合、特徵組合、層疊、特徵擴充、元層級等。組合推薦一個最重要原則就是通過組合後要能避免或彌補各自推薦技術的弱點。
1)加權(Weight):加權多種推薦技術結果。
2)變換(Switch):根據問題背景和實際情況或要求決定變換採用不同的推薦技術。
3)混合(Mixed):同時採用多種推薦技術給出多種推薦結果為使用者提供參考。
4)特徵組合(Feature combination):組合來自不同推薦資料來源的特徵被另一種推薦演算法所採用。
5)層疊(Cascade):先用一種推薦技術產生一種粗糙的推薦結果,第二種推薦技術在此推薦結果的基礎上進一步作出更精確的推薦。
6)特徵擴充(Featureaugmentation):一種技術產生附加的特徵資訊嵌入到另一種推薦技術的特徵輸入中。
7)元層級(Meta-level):用一種推薦方法產生的模型作為另一種推薦方法的輸入
二、 各種推薦演算法的優缺點
推薦方法 |
優點 |
缺點 |
協同過濾推薦 |
新異興趣發現、不需要領域知識; 隨著時間推移效能提高; 推薦個人化、自動化程度高; 能處理複雜的非結構化對象 |
稀疏問題; 可擴充性問題; 新使用者問題; 品質取決於曆史資料集; 系統開始時推薦品質差; |
基於內容推薦 |
推薦結果直觀,容易解釋; 不需要領域知識 |
新使用者問題; 複雜屬性不好處理; 要有足夠資料構造分類器 |
基於規則推薦 |
能發現新興趣點; 不要領域知識 |
規則抽取難、耗時; 產品名同義性問題; 個人化程度低; |
基於人口統計 |
不需要曆史資料,沒有冷啟動問題; 不依賴於物品的屬性,因此其他領域的問題都可無縫接入 |
演算法比較粗糙,效果很難令人滿意,只適合簡單的推薦 |
三、 推薦演算法總結
鑒於各種推薦演算法的優缺點和適應情境,系統開始與系統成熟時的推薦演算法應有區別。系統開始時,使用者資料不夠多,交易行為記錄資料比較少,倘若利用基於內容和協同過濾的推薦演算法存在很多新使用者冷啟動問題。在系統成熟時,使用者交易資料較多,部分演算法用到矩陣,產生較大的疏鬆陣列資料,運算量大,需要結合組合推薦法。總結B2B電商平台在系統初和系統成熟時的推薦演算法建議:
系統初可使用的推薦方法:
1、基於人口統計、熱搜、瀏覽記錄
基於人口統計的推薦:通過註冊以及詢問得知一些使用者的屬性資訊,譬如年齡、居住城市、受教育程度、性別、職業等等,能夠得到使用者之間屬性的相似性;
熱搜:站內熱搜,按排名進行推薦;
基於瀏覽記錄的內容的推薦:部分產品的內容特徵比較好提取,比如帶文字描述的產品,也有內容特徵比較難提取的,片,或者瀏覽的商品不詳,則需要人工或智能爬取相關資訊。總的來說,這一部分的推薦是基於使用者瀏覽的內容,通過提取特徵,計算相似性,推薦相似產品(相似產品的推薦精確度可能比較難達到要求,通過提高粒度,進行品類推薦是常見做法)。
2、標籤系統
利用標籤也只能是提高有少量行為的使用者的推薦準確性,對於純粹的冷啟動使用者,是沒有協助的,因為這些人還沒有打過任何標籤。系統也可以給商品打上標籤,但是這裡面沒有個人化的因素,效果會打一個折扣。從這個意義上講,利用標籤進行推薦、激勵使用者打標籤以及引導使用者選擇合適的標籤,都非常重要。引導使用者多打標籤,通過標籤進行分類推薦也是常用的方法
3、多維資料的利用
每個人處於一個巨大的社會網路中,在多個網站存在行為資料,相當比例的使用者都具有交叉購物的習慣,把這些網路資料整合起來,特別是知道每個節點身份的對應關係,可以帶來的巨大的社會經濟價值。使用‘遷移學習法’,可以實現跨領域的推薦。多維資料的利用能解決新使用者的冷啟動問題。
神州商橋的使用者來自本來的使用者群的比例應該很大,從其它的資料介面擷取資料來源,獲得使用者的基礎資訊。
系統成熟時可使用的推薦方法:
1、 協同過濾推薦法
2、 基於內容的推薦法
3、 基於關聯規則,使用者與使用者之間的關聯,商品與商品之間的關聯
4、 組合推薦法(協同過濾和基於內容的推薦的結合)
這三個推薦法在電商系統成熟時應用的比較多,行為資料充足使得這些演算法的推薦效果比較好,然而在資料量級特別大的時候存在資料稀疏問題,一般採用的解決辦法是把這些商品資訊粗粒化,譬如只考慮一個個的品類,資料就會立刻變得稠密。如果能夠計算品類之間的相似性,就可以協助進行基於品類的推薦。
四、推薦演算法評價指標
準確度、多樣性、新穎性和覆蓋率。每一類下轄很多不同的指標,譬如準確度指標又可以分為四大類,分別是預測評分準確度、預測評分關聯、分類準確度、排序準確度四類。第二個層次是商業應用上的關鍵表現指標,譬如受推薦影響的轉化率,購買率,客單價,購買品類數等等,第三個層次是使用者真實的體驗,注意保護使用者隱私。
電商推薦演算法