eBay並用圖片嵌入向量與文字嵌入向量來進行相似性推薦的技術架構。先將兩種模態的向量投影在同一個向量空間中,再利用Siamese雙塔模型比較主商品與推薦商品的圖文嵌入向量,計算出兩件商品共同被點擊的分數。(圖片來源/eBay)

二十幾年來,舉凡入口頁面、商品搜尋頁面、比價欄位、類似商品欄位、交叉銷售欄位、廣告商品欄位,甚至所謂「個人化推薦」欄位,eBay都遵循著同一套電商行之有年的傳統推薦思維,來推薦商品。

這套傳統作法就是商品相似性的推薦,以顧客所選擇或正在觀看的「主商品」作為比較基準,和不同「候選推薦商品」比較特徵,再根據相似性排序,推薦最相近的商品給顧客。

這些年來,eBay不斷強化推薦技術,例如從比對單字出現頻率的TF-IDF來計算相似性,走到利用NLP模型比對商品標題之間的語意。他們也持續增加不同維度的商品特徵,來進一步比較商品不同面向的相似性。甚至,會根據推薦情境,將主商品替換成其他資訊,例如商品搜尋條件、顧客最近瀏覽的商品等。

強化推薦技術時,eBay不惜投入大量時間、人力及硬體支出成本,反覆進行大規模、小顆粒度的測試和優化。他們動輒為了一個功能執行上千次實驗,或訓練多個版本的AI模型,只為了盡可能提升商品推薦關聯性。例如,為了強化相似性推薦系統理解商品敘述的能力,他們用了超過30億條商品標題,先後訓練了2個專屬NLP模型,再微調一次後,才投入實際應用。

這些做法升級當下,都有帶來或多或少的成效。不過,不論這些技術如何演進,歸根究柢都是在比較商品之間特徵相似性,並且假設,相似性高等於關聯性高,關聯性高等於顧客購買意願高。

以30億條商品標題訓練專屬NLP模型,強化語意相似性理解

25年來,eBay嘗試過各種商品相似性的推薦作法。最常用來比較的商品特徵是商品標題。多年來,他們比較商品標題的方法也很傳統,利用已經問世50年的詞彙出現頻率計算法TF-IDF,以及語意交集聯集比較法雅卡爾相似係數等統計學方法,來計算商品標題相似性。

直到2020年代,eBay才開始轉而使用NLP模型來進行語意嵌入向量(Embedding Vector)比對。他們採用當時主流的BERT家族模型。試用了優化版本的BERT模型RoBERTa後,他們發現使用NLP模型來推論相似性的效果明顯高於傳統統計學方法。為了盡可能提升相似性推論準確度,他們用自家30億筆歷史商品標題及2.5億條維基百科上的英、德、法、義、西語語句作為訓練資料,自行打造一個專屬BERT模型eBERT。接著,為了節省運算成本,eBay透過知識蒸餾模型壓縮法,以eBERT為老師網路,訓練出較輕量的學生網路MicroBERT。

為了再進一步改善MicroBERT模型推論相似性的效果,eBay又加入商品同時點擊(Co-clicking)數據,利用InfoNCE損失函數來微調此模型,以縮短相似商品間嵌入向量距離。微調後模型稱為Siamese MicroBERT,用來投入實際推薦場景。

可是,就算用了熱門的BERT模型,甚至嘗試了多種優化和改良方式,但是,eBay以商品標題資料來訓練的模型,仍舊是傳統商品相似性思維的推薦結果。

整合圖片與文字嵌入向量,同時比較多模態商品特徵

用文字來比較商品相似性後,eBay開始嘗試結合圖文相似度來比對商品。

過往,他們雖然有利用AI模型生成圖片和文字模態嵌入向量,但兩者是獨立儲存、處理,難以並用。實務上,推薦系統還是以商品標題的文字嵌入向量,作為主要推薦依據。只從商品標題文字相似性來推薦,可能會發生文字描述接近,但照片不相似,甚至品質低、圖文不符,使顧客失去興趣。

為了有效應用圖片向量於推薦,他們將圖和文向量投影到同一個向量空間,合併成圖文合一的多模態嵌入向量後,再來比較相似性。他們用TransH知識圖譜模型,將圖文嵌入向量投影到同一個超平面,以確保圖文嵌入向量代表同一件商品。接著,再用Triplet loss損失函數,來最小化相似商品的嵌入向量。經過這些處理,eBay便能並用商品圖片及文字嵌入向量,來比較商品相似性。

他們使用Siamese雙塔模型,進行2次嵌入向量比較,根據相似性來計算主商品及推薦商品同時被點擊機率,相似性越高越能提高顧客點擊推薦商品機率。

第1次是比較商品自身的圖片與文字嵌入向量距離,來排除圖文不符對相似性的削弱。第2次,將主商品與推薦商品,各自的圖文嵌入向量捉對比較相似性。

自此,eBay的推薦模型,從文字推薦,發展到了多模態,文字結合圖片的商品特徵,來比較商品相似性。雖然eBay推薦技術往前跨了一大步,但仍舊是聚焦在商品相似性,透過商品相似性無法做到的事,就算用了圖片結合文字,還是做不到。

轉化顧客行為成商品特徵,與商品資訊投影到同一個向量空間

eBay不是不知道顧客數據的重要性,也曾用顧客數據來解決沒有主商品的推薦比較,但是,他們受限於商品相似性思維的框架,就算拿到顧客數據,還是回頭用來強化商品相似性,而沒有真正發揮顧客數據中多元興趣維度的價值。

像是在eBay首頁、「與你最近瀏覽相似」等欄位,有時還沒取得顧客瀏覽的主商品資訊。eBay用了一個號稱「顧客導向」的排序模型,分為「深度」與「廣度」2部分的架構。在深度面,eBay將顧客瀏覽及搜尋的商品,以及這些行為的頻率和順序,轉化為對應商品特徵,作為「顧客向量」,來會充當一般推薦情境的主商品角色,進行比較。

另外在廣度面,eBay採用了記憶商品常見銷售情況及顧客行為特徵,來建立一般性的推薦(而非個人化)的資訊,例如熱門商品、關聯商品及顧客習慣。綜合這2個架構的輸出數據,此模型便能在顧客沒有點擊主商品時,根據顧客過往行為來推薦商品。

雖然他們用了顧客行為數據建立「顧客向量」來推薦商品,但是,這個「顧客向量」,只是從顧客行為提取出一系列商品特徵,用來與推薦商品進行相似性比較,仍未跳脫以商品相似性為推薦基礎的精神。

商品相似性典範限制了思維及推薦效果

eBay對商品相似性的重視根深蒂固,每當要優化推薦方法時,他們第一個想法就是:「如何強化相似性推論?」

比如說,他們有一個收費的相似性商品推薦廣告版面,採用梯度提升樹(Gradient Boosted Tree)來訓練背後的推薦模型,採用了多種排序演算法,包括熱門度、商品品質及相似性,為了提高廣告轉換率,放大了熱門度對排序的影響。

如此一來,透過這個版面推薦的商品,可能會出現與主商品差異很大的產品,例如高價手錶頁面,出現了價格和外觀都與主商品相差甚遠的產品。

當eBay團隊發現了這個問題時,就直接選擇提高商品相似性的權重,反而沒有近一步細究、微調模型中不同因素的權重。他們誤以為,只要調整相似性就能讓推薦商品更具關聯性,也更能引起消費者購買。

甚至,他們刻意排除熱門度的影響,微調出一個新模型,來過濾舊模型的結果。新模性移除了所有與熱門度有關的排序功能,加入了一個購買機率的目標函式,賦予更高權重給相似性分數高的商品。不過,套用新模型後推薦結果,並沒有如預期全面提高顧客的購買率,只有部分商品有效。

這個結果反映出,還有其他需要考慮的影響因素,但是eBay團隊發現推薦機制出問題時,習慣把商品相似性視為萬靈丹,什麼都先從這個角度來思考解法。

eBay這種改善推薦機制的做法,不是在實驗「哪一個推薦要素錯了」,而只是聚焦在「如何強化相似性權重、強化多少」。這種過度強調商品相似性的思維,侷限了他們工程團隊的思考空間。

歷年來,eBay不斷改善推薦機制,確實有效提升了以相似性為基礎的推薦方法。不過,Nitzan Mekel-Bobrav坦言,要打破eBay推薦機制面臨的瓶頸,不是靠現代化舊有做法。就算相似性推薦做得再極致,此思維原本無法處理的推薦情境,仍然無法處理。

他認為,eBay機制要有所突破,必須要從根本改變思維。首先,定義商品關聯性時,要跳脫25年來對相似性的執著,考量到更多因素。

不只如此,他們還要跳脫平臺本位思考角度,否則,當顧客有興趣的商品不被平臺視為同一分類,就算關聯性對一般人顯而易見,商品相似性推薦系統仍無法推薦。新思維應改從顧客角度出發,嘗試理解顧客如何認知自家商品,根據每一個顧客的興趣來調整商品分類和理解方法,才能做到超級個人化的商品推薦。

 後續報導請見 超級個人化推薦是eBay下一步目標

熱門新聞

Advertisement