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