1. 程式人生 > >推薦系統之電商適用

推薦系統之電商適用

01

概述:

推薦一直是電商平臺的重要流量入口。以往在電商平臺上,推薦的場景更多的覆蓋在交易的各個環節,比如詳情頁、購物車、訂單及支付等。近年來推薦發展逐漸的多樣化,場景上逐漸覆蓋到各流量入口,推薦的實體也擴充套件到活動、類目、運營位等。

在電商網站裡進行商品推薦,可以提高整個網站商品銷售的有效轉化率,增加商品銷量。通過使用者已經瀏覽、收藏、購買的記錄,更精準的理解使用者需求,對使用者進行聚類、打標籤,推薦使用者感興趣的商品,幫助使用者快速找到需要的商品,適時放大需求,售賣更加多樣化的商品。甚至在站外推廣時,能夠做個性化營銷。

02 推薦系統

電商系統中的商品推薦位一般有:首頁運營Banner最底部的位置(猜你喜歡/為你推薦)、購物車最底部的位置(猜你喜歡為你推薦)、商品詳情頁中部(看了又看、買了又買、為你推薦等)、使用者簽到等位置。還有這兩年興起的內容電商,通過社群做內容來提高轉化率。

常規推薦

常規推薦的商品不會因為使用者不同產生差異,主要是運營配置的活動或固定商品(商品精選)。除了在固定推薦位選定某些商品進行配置,例如選取N件固定商品放在簽到頁進行推薦。還有一些固定規則的動態配置商品,例如圖中商品銷量排行榜、商品收藏排行榜、某品類的銷量排行榜(例如圖書會有許多排行榜),這類根據瀏覽、收藏、銷售資料做的商品統計在常規推薦時會經常用到,對使用者的消費決策影響也比較大。

在APP的盛行的前提下,使用者的瀏覽減少,更傾向於瀏覽和推薦,但簡單的商品列表和標語描述的衝擊力已然不夠,內容電商將商品嵌入到文案或者視訊中,通過詳細的描述消費感受和商品特點,激起使用者的同理心,這樣的購物消費更容易產生衝動性消費,而非計劃性消費。在內容電商中,除了平臺商家自己產生內容,還應允許使用者產生內容(UGC),並且對UGC內容進行激勵。內容形式有長圖文、視訊推薦、直播推薦等多種形式,在內容中嵌入商品購買入口,在瀏覽時可以直達商品,增加購買轉化率。對內容進行分類打標,可以縮短使用者查詢的路徑。建立內容社群,提供評論、關注、種草(收藏)、讚賞等多種互動方式,增加使用者粘性,提供分享到其他社交平臺(微信、微博等)的功能。在內容中儘量推薦統一風格或同一場景的商品,增加商品之間的關聯性。

個性推薦

個性化智慧推薦最終的目標就是讓一個普通訪問電商平臺的使用者,在進入平臺頁面時,系統能夠根據使用者日常的行為偏好和習慣,使用者心理想要購買的商品,在還沒有發生點選行為時,系統能自動推薦到使用者訪問的頁面,提升平臺使用者下單轉化率。即使在使用者沒有訪問平臺時,企業通過與使用者日常瀏覽網際網路行為軌跡的平臺進行聯盟合作,在聯盟平臺推送使用者希望購買的商品廣告和連結,刺激和引導使用者點選購買。即使在使用者沒有開啟電腦時,能夠通過資訊和郵件的方式,根據使用者平常的購買頻次和週期,在特定的時間推送到使用者手機和其他終端。

個性化智慧推薦系統設計建設由三步構成:第一建立平臺使用者行為的召回模型,維度基於使用者歷史行為資料召回、使用者偏好召回和使用者地域召回來實現,使用者歷史行為資料召回基於使用者歷史瀏覽、點選、購買、評論、分享、收藏、關注等觸點,分類推薦線上相關、線上相似、離線相關、離線相似行為;基於使用者偏好召回是基於使用者歸類畫像與平臺多屏互通融合;基於使用者地域召回是基於使用者地域的網格化來實現地域行為推薦演算法;第二是召回模型匹配演算法,利用演算法來得出與使用者召回行為的匹配商品及廣告資訊;第三是平臺針對匹配模型推薦結果的排序演算法,基於使用者互動日誌通過模型訓練特徵權重,採用排序演算法來實現自動匹配個性化推薦。

個性化推薦的難點

平臺前端實現使用者千人千面,而後臺需要建立複雜的使用者行為資料採集、資料儲存、資料建模和使用者畫像過程,單純採集某一緯度的資料,僅能達到個性化推薦的部分效果,如果要提升個性化推薦的效果,就必須覆蓋使用者多領域足夠全面的行為軌跡,甚至使用者線下行為,這就形成了以網際網路電商平臺為核心的生態系統,要想建立全面的個性化推薦,資料採集的涉及領域需要足夠廣,足夠深。下面從使用者畫像、資料採集、資料儲存、資料建模講解個性化推薦的難度。

1

使用者畫像

使用者畫像是通過使用者興趣、行為、自身屬性建立的一個模型。通過對使用者的調研、對使用者行為的分析,結合業務的需求,將使用者分為不同的群體;然後在群體中抽象出一些典型的特徵,用結構化的資訊記錄下來,概括出使用者的特徵。根據使用者畫像標籤體系,對訪問平臺的使用者計算行為特徵值,使用者特徵提取並不是針對所有的標籤維度,對於優先關鍵標籤,如果從使用者資料庫查詢不到特徵值,就需要呼叫R函式對其進行計算,最終得出每個標籤維度的特徵值,依據特徵屬性值,就可以對使用者進行畫像處理。

使用者畫像有其自身的特性和侷限性,例如無法100%地描述一個人,且具有時效性,因此,需要根據使用者畫像的基礎資料持續更新和修正,同時要善於從已知資料中具象化出新的標籤使使用者畫像越來越鮮活立體,發揮其參考指引價值。

使用者畫像的作用

1.精準營銷,分析產品潛在使用者,針對特定群體利用簡訊郵件等方式進行營銷;

2.使用者統計,比如熱銷商品top100品牌;

3.資料探勘,構建智慧推薦系統,利用關聯規則計算,喜歡X運動品牌的人通常還喜歡什麼,利用聚類演算法分析,關注x品類人的性別、年齡分佈情況

4.效果評估,完善產品運營,提升服務質量,其實這也就相當於市場調研、使用者調研,迅速下定位服務群體,提供高水平的服務;

5.私人定製,即個性化的服務某類群體甚至每一位使用者(個人認為這是目前的發展趨勢,未來的消費主流)。

6.行業分析,業務經營分析以及競爭分析,影響企業發展戰略。

2

資料採集

首先需要在網站和移動App中進行埋點,在頁面埋入『隱形』探針,採集使用者行為資料和業務系統操作日誌、從資料庫中提取業務資料,採集回來儲存在資料服務,採集伺服器組負責將採集到的日誌資訊生成檔案,落地到儲存裝置,使用者行為資料採集基本上採用SDK方式;ETL伺服器負責將日誌檔案和結構化資料匯入資料儲存分析叢集,並將分析結果匯出到資料庫;資料解析伺服器負責連線資料分析伺服器,完成資料分析各項計算;儲存服務和分析服務提供資料分散式儲存和計算的基礎框架。

使用者行為資料的處理和分析具有較高的技術門檻:

1、SDK會採集到大量的"髒資料",包含一些空白區域和特殊符號,甚至根本沒有見過的資料型別,這些髒資料的處理和分析具有較大的技術挑戰,特別是資料的實時採集和處理。通常技術人員只有經歷了海量資料採集和處理,填平了大量"技術坑"之後,才能形成成熟的技術架構。

2、採集的資料都是以渠道、日期、地區統計,無法定位到具體每個使用者,計算統計出的資料都是規模資料,針對規模資料進行挖掘分析,無法支援,資料無法支撐系統做使用者獲客、留存、營銷推送使用。

所以,要使系統採集的資料指標能夠支援平臺前端的個性化行為分析,必須圍繞使用者為主線來進行畫像設計,在初期視覺化報表成果基礎上,將統計出來的不同規模資料,細分定位到每個使用者,使每個資料都有一個使用者歸屬。將分散無序的統計資料,在依據使用者來銜接起來,在現有產品介面上,每個統計資料都增加一個標籤,點選標籤,可以展示對應每個使用者的行為資料,同時可以連結到其他統計資料頁面。

3

資料儲存

使用者行為資料採集後,需要儲存在資料倉庫,對採集的原始資料進行ETL加工處理,首先需要處理掉儲存的無效重複資料,對於使用者行為沒有影響或重複資料,對非結構化資料和半結構化資料進行結構化處理,並對資料進行補缺、替換、資料合併、資料拆分、資料載入和異常處理。

4

資料建模

使用者模型的表示方法有4類: 協同過濾模型、行為規則的模型、基於概念的使用者興趣模型與向量空間模型。向量空間模型(VSM)是最為常用的使用者模型表示方法之一, 通常使用一組向量值描述使用者特徵, 向量的每一個維度代表使用者感興趣的一個主題。

維度的提取往往與網站系統的資料特徵有關: 在標籤系統中, 特徵維度往往由使用者提供的標籤表示; 在檢索系統中, 特徵語詞來自分析系統頁面後所得到的關鍵詞; 在協同過濾系統中, 可以把專案認為是描述使用者特徵的維度。使用VSM構建使用者行為模型的困難是, 資料中並沒有明確表示資訊行為的詞語, 所以在構建描述資訊行為的維度時, 需要從資料中抽象出描述資訊行為的維度。

瀏覽路徑能夠在一定程度上反映使用者瀏覽行為特徵。根據使用者的瀏覽路徑(包括頁面停留時間)計算使用者之間的相似性。但此方法僅適用於網站頁面型別較少的情況, 如果頁面較多或者包含較多的動態頁面, 會使構造矩陣過於稀疏, 導致使用者聚類不準確。有研究依據使用者訪問路徑建立頁面序列, 使用關聯規則挖掘頁面跳轉規律; 或將使用者訪問的頁面分類, 計算使用者在這些頁面之間跳轉的概率以描述使用者資訊行為。由於訪問日誌中只記錄用戶訪問的頁面, 沒有標識出使用者資訊行為, 使得使用者的行為序列資訊沒有被充分挖掘。

03

推薦流程

個性化推薦系統一般有三大環節:預處理 -> 召回 -> 排序 。

預處理

第一個環節是預處理,預處理指的是對各種資料來源的資料進行特徵提取和特徵構建,例如:內容特徵提取,使用者行為畫像構建。

召回

第二個環節是召回,召回就是把預處理產生的特徵作為輸入引數,訓練出推薦模型,然後使用推薦模型得出候選集合的過程。常用的召回方式有:基於內容推薦、基於協同過濾推薦等。

排序

第三個環節是排序,簡單來說就是將候選集合根據一定的規則,例如:點選預估、匹配關聯度、人為權重等進行調整,從而影響最後的推薦順序。

資料流流向:

以上是一個簡單的推薦猜你喜歡實現,首先演算法離線訓練好與該商品的相似商品集,當線上使用者請求過來的時候,有一個使用者實時點選過的相似商品召回策略,該策略先獲取使用者實時點選過的商品列表,再取每個商品的相似商品。從而得到一個候選集。再通過線上排序進行點選率預估。取其中top商品從而得到一個推薦結果集。實際的場景中,將在離線訓練、召回策略、排序策略等環節不斷優化。召回策略中,除了支援實時個性化外,還可以不斷髮掘新的策略,進行策略,引入強化學習進行意圖識別等。線上排序中支援LR、GBDT等模型外,還需要平衡效能與特徵維度,支援模型的線上學習等。

概念

LR:邏輯迴歸模型(Logistic Regression, LR)

GBDT:梯度提升決策樹(Gradient Boosting Decision Tree,GBDT)

04

系統架構

推薦系統的整體工程架構如下圖,從下至上包括離線計算層、實時計算層、線上服務層,另外是後臺配置管理系統和資料排程服務。

線上服務:排序系統、推薦引擎、ABTEST實驗、推薦投放等;

實時計算層:根據使用者實時行為,提取使用者實時特徵、線上模型訓練。

離線計算層:根據使用者歷史行為,進行相關性訓練、商品初排分、離線特徵提取等

線上服務

系統分成推薦投放系統、排序系統、推薦引擎、abtest、欄位補全服務等。

  1. 推薦投放:推薦統一介面,負責召回規則、abtest、埋點、欄位補全。
  2. 排序系統:點選率預估,各打散置頂等業務層排序。
  3. 推薦引擎:離線演算法訓練的結果集儲存。
  4. 欄位補全:商品等正排資訊補全,比如價格、標題等。

推薦投放

投放框架的功能如下:

1. 提供統一的推薦介面。

2. 各個場景的召回策略規則,可熱部署。

3. 提供通用資料來源介面、工具類,方便演算法推薦規則編寫。

4. 演算法實驗以及埋點統計。

5. 推薦輔助工具。

推薦投放架構圖:

服務API呼叫統一投放介面獲取推薦資料,投放介面解析請求引數,組裝成下游推薦策略引數,對返回的推薦結果,拼裝打點引數。為了實現推薦演算法的線上對比,介面實現中接入了AB實驗系統,它根據指定策略將上游請求按指定比例進行分流,通過實驗配置,靈活控制不同流量的實驗策略,演算法工程師線上試驗多個演算法效果,極大的提升了推薦演算法的迭代速度,優化推薦效果。

推薦策略模板是整個推薦投放服務實施的核心,監聽動態配置服務,通過配置引數變更來驅動各類模板更新,迭代業務。推薦策略流程:入參補全 -> 資料召回 -> 精排 -> 格式化 -> 推薦資料補全。入參擴充套件模板,對入參做補充、修改,簡化業務邏輯實現;業務模板,實現推薦策略主邏輯,由各類召回元件模板和精排呼叫組成(可選),一個業務模板中可以包含多個召回元件模板,組成資料召回鏈(實時點選偏好 -> 離線偏好 -> 店鋪偏好 -> 類目偏好 -> ...);資料元件模板,通過配置從不同的資料來源召回和過濾資料;資料補全模板,按業務模板召回的推薦資料項ID補全詳細的欄位值;格式化模板,根據展現層樣式需求,將推薦結果封裝成展現層可載入渲染的資料格式。對於已實現的推薦策略和能夠使用現有模板組裝的推薦策略,都可以在動態配置服務平臺上通過配置釋出快速實現業務迭代和新增,一定程度上實現了程式碼簡化,提高業務開發迭代效率。

推薦策略

推薦策略是整個推薦邏輯的核心,比如猜你喜歡場景,有使用者實時特徵做相關性的召回策略,也有使用者離線特徵的相關性召回策略。並且按照一定的配比merge出結果集,再呼叫排序系統的lr模型做點選率預估,這些都是需要寫在策略腳本里。

推薦儲存

主要承載了使用者特徵以及離線推薦結果集,儲存系統對讀寫效能要求非常高。

1. 整條推薦鏈路希望在50ms-100ms內完成。一次複雜的推薦請求會請求上百次(以儲存中的key為單位)儲存資料,儲存需要在1ms內返回。

2. 對時延要求比較高,比如需要收集使用者的曝光行為資料做降權,同時曝光資料的量非常大,對記憶體有挑戰。

排序系統

排序系統的職責是對候選集進行排序,其中核心點在於模型和特徵,理想情況下系統儘可能支援多的模型和特徵,但是線上計算需要較小的時延,這就要求系統要平衡效果和效能,前期推薦系統可以支援LR和GBDT兩種排序模型。

線性模型公式

x是特徵,θ是權重,一個模型通常有幾十維特徵,這些特徵的計算和儲存就成為系統最大的挑戰。

1. 控制候選集數量在千級別,候選集增長整體計算就比較慢,rt也會上升。

2. 實體(商品)特徵本地儲存,每次需要排序特定數量商品,本地儲存可以極大緩解網路壓。

3. 針對記憶體瓶頸,將使用者相關特徵遷移到遠端,考慮每次查詢只會查幾次使用者特徵資料,開銷不大。

4. 平行計算,複雜模型下,組裝特徵和計算還是比較費時,為了提升rt系統進行平行計算,充分利用cpu的資源,在系統容量不變的情況下提升rt。

總結

個性化推薦所取得的成就是一個“意料之外卻情理之中”的結果。個性化使用者體驗將是大勢所趨,從搜尋走向發現(推薦),通過搜尋滿足使用者主動表達的需求,通過推薦挖掘滿足使用者的潛在需求。市場營銷的核心是使用者體驗,而使用者體驗的極致是個性化,滿足每一位使用者的不同需求,以人為本的電子商務才能夠真正獲得使用者的青睞。