簡介
- 當前電商搜索系統(tǒng)面臨的兩個主要挑戰(zhàn)如下:(1)文本不匹配,語義匹配的商品召回;(2)召回結(jié)果的個性化; 本文為了解決這兩個問題,提出了DPSR(Deep Personalized and Semantic Retrieval)模型。DPSR主要作用于檢索的召回層,使得召回結(jié)果更加個性化并且能夠召回具有語義匹配的商品。最終AB實驗發(fā)現(xiàn),能夠提升1.29%的轉(zhuǎn)化率,并且對于長尾Query提升的更多約10.03%的轉(zhuǎn)化率。
電商搜索系統(tǒng)簡介
- 電商搜索系統(tǒng)大致分為以下幾個模塊:
(0)離線商品庫建設(shè)、及倒排索引的建立。
(1)Query Processing(QP模塊):主要包括分詞、拼寫糾錯、查詢改寫等;
(2)Candidate Retrieval(候選集召回):基于離線建立的倒排索引,從幾千萬個商品中召回幾百至上千的商品。用于減少整體服務(wù)耗時。
(3)Ranking(排序模塊):用于對召回的結(jié)果進行排序,可以經(jīng)過多層排序包括粗排、精排、重排等階段。

電商搜索系統(tǒng)大致框架.png

淘寶搜索引擎架構(gòu).png
相關(guān)工作
- 傳統(tǒng)的檢索模型比如LSI, PLSI等都是監(jiān)督式的模型,通過詞語的共現(xiàn)關(guān)系及矩陣分解,學(xué)習詞和Doc的embedding;采用的是一種非監(jiān)督式的學(xué)習方法。DSSM, CDSSM是早期使用神經(jīng)網(wǎng)絡(luò)做語義匹配的模型。這些模型直接用于排序階段,本文提出的模型是用于召回階段。雙塔模型廣泛被用于推薦系統(tǒng)的召回過程,本文提出的DPSR模型也是一個雙塔模型,在前面的模型基礎(chǔ)上進行改進。
DPSR模型結(jié)構(gòu)
- DPSR模型主要分為以下幾個模塊:(1)Offline Model Training [離線模型訓(xùn)練];(2)Offline Indexing [離線item embedding索引建立];(3)Online Serving [在線服務(wù)];

DPSR模塊劃分.png
DPSR模型主要技術(shù)點
1. 雙塔模型結(jié)構(gòu)
- DPSR模型是一個典型的雙塔模型,由Query塔
和Item塔
組成;對于一個給定的query
,和item
,一個經(jīng)典的雙塔模型的輸出得分
如下。
代表
對應(yīng)的embedding向量,
代表物品
對應(yīng)的embedding向量。通常
函數(shù)采用的是簡單的內(nèi)積操作,即
;
- 雙塔模型這樣的設(shè)計,可以使得Query embedding和Item embedding計算獨立開來。離線可以計算得到所有Item embedding然后建立索引,在線動態(tài)計算用戶輸入的Query embedding,然后通過最近鄰搜索算法找到最近鄰的TopK個Item。 注意:測試的時候每個頭的Query embedding都去召回固定數(shù)量的item,然后通過Query embedding, Item embedding的內(nèi)積對所有的召回結(jié)果進行排序和截斷。
2. Query塔的多頭機制
- 從論文中圖3可以看出,通過User Profile, User History Events, Query Tokens embedding得到一個大的embedding之后,經(jīng)過
次投影得到
個不同的embedding然后經(jīng)過三個激活函數(shù)為Relu的MLP層,再經(jīng)過歸一化得到最終的Query embedding。因為有
個不同的頭,所以會得到
個Query embedding;
- 通過多頭的Query embedding,能夠?qū)W到Query不同的意圖;比如同一個Query的不同語義(例如蘋果)、同一個query的不同品牌(例如手機)、同一個brand的不同產(chǎn)品(例如三星);
3. 損失函數(shù)優(yōu)化
假設(shè)總共有
個頭,每個頭得到的Query embedding為
,其中
;item embedding為
,其維度為
。
權(quán)重
的計算公式如下,使用一個softmax函數(shù)得到。下式中參數(shù)
為softmax函數(shù)的溫控因子。
的取值越大,輸出結(jié)果越平滑。
-
最終訓(xùn)練集是一個三元組的形式,包含輸入的Query,正樣本
,負樣本
DPSR訓(xùn)練集.png -
損失函數(shù)采用的是hinge loss,具體公式如下。其中
是一個固定的邊界值。
DPSR損失函數(shù).png
4. 負樣本的采樣
-
本文采用了一個混合的負樣本采樣策略:Random Negatives和Batch Negatives兩種策略。 Random Negatives隨機的從整個batch中進行采樣。Batch Negatives從batch中的正樣本進行采樣,按照item出現(xiàn)的頻率進行采樣。最終負樣本集合是這兩個策略的混合,通過參數(shù)
進行控制。Random Negatives樣本的比例為
,Batch Negatives的樣本比例為
;

image.png

image.png

image.png
-
最終,整個DPSR模型離線訓(xùn)練流程如下:
image.png
5. 人為反饋數(shù)據(jù)
- 除了使用點擊數(shù)據(jù),我們的模型還使用了一些人為反饋數(shù)據(jù):(1)Most skipped items: 對于某個Query下召回的商品,如果某個人曝光很多次都跳過了沒有任何正向行為,把其作為負樣本;(2)Human generated data:利用人工的一些領(lǐng)域知識標注的正負樣本數(shù)據(jù);(3)Human labels and bad case reports:人工標注的數(shù)據(jù),和badcase反饋的數(shù)據(jù);
參考文獻
- [京東] Towards Personalized and Semantic Retrieval: An End-to-End Solution for E-commerce Search via Embedding Learning https://arxiv.org/pdf/2006.02282.pdf
- [淘寶] Embedding-based Product Retrieval in Taobao Search https://arxiv.org/pdf/2106.09297.pdf


