一.排序目標
- 將暴光多的購買少的商品下沉
- 將高質量的商品盡量靠前
- 提高訂單轉化率等
如下圖電商中,在商品名欄中輸入商品名,點擊查詢,系統將把最相關物品先前排。
二.排序的演變
1.文本匹配階段
2.人工加權階段
打分公式:
w1*score1+w2*score2+w3*score3+... = total_score
3.機器學習階段
機器學習可以持續的根據反饋的數據進行自我學習和迭代,不斷地挖掘業務價值,對目標問題進行持續優化。
目前生產環境上機器排序學習的框架,包含兩個部分:離線訓練和在線應用。離線部分主要是根據近一個月的歷史數據,訓練和調試多個能夠在線上使用的排序模型;模型在 推到線上之前會先在測試環境部署,測試人員會評估這個模型,確定沒問題推到線上進行分流A/B測試。
(1) .排序整體結構
(2) .模型簡要介紹
其實在排序前還有個召回階段,召回是從成千上萬個商品中粗選出幾十到幾百個商品作為排序的輸入部分。排序模型有很多,比如常用的一些CTR模型、learning to rank模 型等。下面是其中兩種排序模型。
A.LambdaMart
針對4種行為構建樣本:
暴光:0
點擊:1
收藏和加購:2
下單:3
LambdaMART模型可以分成Lambda和MART兩部分,底層模型訓練用的是 MART(Multiple Additive Regression Tree),也叫GBDT(Gradient Boosting Decision Tree), 它的核心是每一棵樹學習的是之前所有樹結論和的殘差, 這個殘差+當前的預測值就能得到真實值。而Lambda是MART求解過程使用 的梯度,其物理含義是一個待排序的文檔下 一次迭代應該排序的方向和強 度。
預測打分過程:
B.DeepFM
針對4種行為構建樣本,構建成點擊率預估模型:
暴光、點擊:0
收藏、加購和下單:1
DeepFM主要包括兩個部分,神經網絡部分(一個前饋網絡)和因子分解機部分,分別負責提取低階特征和高階特征。並且這兩部分共享權重矩陣,即共享Embedding層。
預測得分:
C.評估指標
線下評估常用方法:ndcg、map、auc等
線上評估:訂單轉化率(有效訂單數/訪客數uv)、gmv(已付款訂單和 未付款訂單兩者之和)等
D.使用的工具
原始數據 --> hive
數據處理和清洗 --> spark
樣本的存儲 --> hdfs
訓練平台:spark ml;tensorflow;torch;keras;deeplearning4j 等