我們喜歡網(wǎng)絡購物,特別是在掌上端,系統(tǒng)所推薦的商品極大地決定了用戶接下來的行為,對用戶流量的承接與分發(fā)、提升用戶購物體驗,成為提升用戶體驗的關(guān)鍵環(huán)節(jié)之一。
1.場景介紹
避免廣告嫌疑,我們以某商城為例,其場景主要包括大促會場入口和日常頻道兩大類,如圖 1 所示。其中左圖為大促會場入口,包括主會場入口和行業(yè)會場入口;主會場入口通過為用戶推薦 7 個商品(3 個在中間動態(tài)輪播)給大促主會場進行引流,引流 UV 達數(shù)千萬以上;行業(yè)會場入口通過為用戶推薦 4 個個性化會場和商品為數(shù)萬的會場引流。右圖為日常頻道,包括限時搶購、聚劃算和精選頻道;首頁通過個性化推薦商品為各個特色的頻道引流,通過各個頻道來培養(yǎng)用戶心智。
過去的首頁推薦更多的是在相關(guān)性推薦的單一數(shù)據(jù)目標上進行優(yōu)化,如今首頁的推薦系統(tǒng)不僅僅考慮推薦結(jié)果的相關(guān)性,還在推薦結(jié)果的發(fā)現(xiàn)性、多樣性等方面做了更深度的優(yōu)化。Graph Embedding、Transformer、深度學習、知識圖譜等新的技術(shù)已先后在推薦系統(tǒng)成功落地。
2.推薦框架
個性化推薦系統(tǒng)可以分為召回、排序和機制三個模塊。其中,召回模塊主要是從全量的商品素材中檢索出用戶感興趣的 TopK 個候選商品,排序模塊專注于用戶對商品的 CTR 預估,機制模塊負責后期的流量調(diào)控、體驗優(yōu)化、策略調(diào)控和最終的商品排序。整個推薦系統(tǒng)采用 Graph Embedding、Transformer、深度學習、知識圖譜、用戶體驗建模等新的技術(shù)構(gòu)建起來,后面章節(jié)將介紹這個推薦系統(tǒng)的關(guān)鍵技術(shù)點。
3.召回
3.1 Ranki2i
Item-CF 是目前應用最廣泛的召回算法,其原理是根據(jù)兩個商品被同時點擊的頻率來計算兩個商品之間的相似度 simScore,得到 i2i 表;然后通過用戶的 trigger 去查詢 i2i 表,擴展用戶感興趣的商品。Item-CF 的基本算法雖然簡單,但是要獲得更好的效果,往往需要根據(jù)實際的業(yè)務場景進行調(diào)優(yōu)。清除爬蟲、刷單等噪聲數(shù)據(jù),合理選擇計算商品之間相似度的數(shù)據(jù)的時間窗口。
Ranki2i 是一種改進的 Item-CF 算法,其在 Item-CF 得到的兩個商品之間的相似度 simScore 的基礎上再乘以該 trigger item 所召回的該 target item 在過去一段時間內(nèi)的 ctr (注意 ctr 的計算需要進行適當?shù)钠交?,?i2i 的 simScore 進行修正,使得 i2i 表不僅考慮了兩個商品的點擊共現(xiàn)性,還考慮了召回商品的點擊率。
經(jīng)典 Item-CF 類算法直接根據(jù)兩個商品被同時點擊的頻率來計算兩個商品之間的相似度,在尋找用戶點擊商品的相似、相關(guān)以及搭配商品上都有很大的優(yōu)勢,且其具有簡單、性能高等特點,已成為目前使用最為廣泛的召回算法。
然而由于經(jīng)典 Item-CF 類算法的召回結(jié)果的候選集限定在用戶的歷史行為類目中,并且算法難以結(jié)合商品的 Side Information,導致其推薦結(jié)果存在發(fā)現(xiàn)性弱、對長尾商品的效果差等問題,容易導致推薦系統(tǒng)出現(xiàn)“越推越窄”的問題,從而制約了推薦系統(tǒng)的可持續(xù)發(fā)展。為了更精準地給用戶推薦心儀的商品,同時維護推薦系統(tǒng)的可持續(xù)發(fā)展,解決推薦系統(tǒng)的發(fā)現(xiàn)性推薦和長尾推薦等問題,我們團隊提出了 S3Graph Embedding 算法和 MIND 算法。
3.2 S3 Graph Embedding
Graph Embedding 是一種將復雜網(wǎng)絡投影到低維空間的機器學習技術(shù),典型的做法是將網(wǎng)絡中的節(jié)點做向量化表達,使節(jié)點間的向量相似度接近原始節(jié)點間在網(wǎng)絡結(jié)構(gòu)、近鄰關(guān)系、Meta 信息等多維度上的相似性。
S3 Graph Embedding 算法利用全網(wǎng)以十億的用戶對十億規(guī)模的商品的序列化點擊行為構(gòu)建千億規(guī)模的 Graph,結(jié)合深度隨機游走技術(shù)對用戶行為進行 “ 虛擬采樣 ”,并引入商品的 Side Information 增加泛化學習能力,將全網(wǎng)的商品進行 Embedding,統(tǒng)一成同一維度的向量表示。
該向量被直接用在 Item-CF 中商品相似度的計算中,相比經(jīng)典 Item-CF 以共同點擊次數(shù)來衡量商品相似度的做法,該算法不需要兩個商品被同時點擊過也能計算出商品間的相似度,并且引入 Side Information 使其能更好地處理長尾的商品和冷啟動的商品。
3.3 MIND
Multi-Interest Network with Dynamic Routing (MIND) 是一種向量召回的方法,其通過構(gòu)建多個和商品向量在統(tǒng)一的向量空間的用戶興趣向量來表示用戶的多個興趣,然后通過這多個興趣向量去檢索出 TopK 個與其近鄰的商品向量,得到 TopK 個 用戶感興趣的商品。
傳統(tǒng) DeepMatch 方法為每個用戶生成一個興趣向量,但在實際的購物場景中,用戶的興趣是多樣的,不同興趣之間甚至可能是不相關(guān)的,比如用戶可能同時期望購買服裝、化妝品、零食,而一個長度有限的向量很難表示用戶這樣的多個興趣。我們的 MIND 模型通過 Dynamic Routing 的方法從用戶行為和用戶屬性信息中動態(tài)學習出多個表示用戶興趣的向量,更好地捕捉用戶的多樣興趣,來提升召回的豐富度和準確度。
3.4 Retargeting
Retargeting 是一種將用戶點擊、收藏或加購的商品再次推薦給用戶的一種推薦策略。在電商的推薦系統(tǒng)中,用戶的行為包含瀏覽、點擊、收藏、加購和下單等,我們當然希望用戶每一個行為流最終都能到達轉(zhuǎn)化的環(huán)節(jié),但是事實并非如此。當用戶產(chǎn)生了下單行為的某些上游行為時,會有相當一部分用戶因為各種原因沒有最終達成交易,但是用戶當時沒有產(chǎn)生下單行為并不代表用戶對當前商品不感興趣,當用戶再次來到商場時,我們根據(jù)用戶之前產(chǎn)生的先驗行為理解并識別用戶的真正意圖,將符合用戶意圖的商品再次推薦給用戶,引導用戶沿著行為流向下游,最終達到下單這個最終的行為。