天天看點

KDD 2020 <A Dual Heterogeneous Graph Attention Network to Improve Long-Tail Performance for Shop Search in E-Commerce> 論文解讀

新零售智能引擎事業群出品

背景

店鋪搜尋是淘寶搜尋的一個組成部分,目前淘寶有近千萬的店鋪,7日活躍店鋪也達到百萬級别。店鋪搜尋場景擁有日均千萬級别UV,引導上億的GVM。

PC端和移動端可以通過如下圖中的tab點選後可以進入。

KDD 2020 <A Dual Heterogeneous Graph Attention Network to Improve Long-Tail Performance for Shop Search in E-Commerce> 論文解讀
KDD 2020 <A Dual Heterogeneous Graph Attention Network to Improve Long-Tail Performance for Shop Search in E-Commerce> 論文解讀

在淘寶平台上,絕大多數被曝光的都是高頻的查詢詞或者商品(店鋪),這就會導緻所謂的長尾現象。下圖中我們統計了query和店鋪的出現頻次和rank的關系。其中縱坐标是一天内搜尋query/曝光店鋪數,橫坐标是query/店鋪的rank。

KDD 2020 <A Dual Heterogeneous Graph Attention Network to Improve Long-Tail Performance for Shop Search in E-Commerce> 論文解讀
KDD 2020 <A Dual Heterogeneous Graph Attention Network to Improve Long-Tail Performance for Shop Search in E-Commerce> 論文解讀

對于長尾的query和店鋪,我們通過建構異構圖網絡,同時利用同構與異構鄰居去增強query和店鋪的向量表示,提高長尾的效果。

一些intuition

為什麼引入異構資訊效果可能會好呢?在訓練和預測的過程中我們找到了如下一些例子:

KDD 2020 <A Dual Heterogeneous Graph Attention Network to Improve Long-Tail Performance for Shop Search in E-Commerce> 論文解讀

上圖中,使用者搜尋的query和目标店鋪在訓練資料中并沒有共現,語義也無關聯。但是可以通過query-item和item-shop将query和shop聯系起來。

KDD 2020 <A Dual Heterogeneous Graph Attention Network to Improve Long-Tail Performance for Shop Search in E-Commerce> 論文解讀

這是另一個更複雜的例子,上圖中query和shop同樣在訓練資料中沒有共現,但是可以通過異構資訊聯系起來。

上述兩個例子單純使用NCF baseline是無法預測成功的,而下面介紹的DHGAN模型能夠預測成功。

異構圖建構

我們針對店鋪搜尋場景,選取了query、shop、item三種結點,并将這三種結點進行組合形成異構邊。

例如q2q連接配接點選同一個店鋪的query,shop2item連接配接屬于某個店鋪的商品,詳細資料統計如下圖所示。其中edges為異構邊的總數,weighted edges為聚合去重後異構邊的總數。

KDD 2020 <A Dual Heterogeneous Graph Attention Network to Improve Long-Tail Performance for Shop Search in E-Commerce> 論文解讀

模型

相關術語

異構圖: 指擁有多種不同類型結點和多種邊關系的圖結構,相對應的是同構圖,其中僅存在單一類型的節點和邊。

圖神經網絡: 指将神經網絡應用于無規則的圖結構的一類算法,主要應用于對圖節點學習一個語義化的向量,然後将學到的節點表示應用于下遊任務,如節點分類,鍊路預測等。

注意力機制:廣泛應用于自然語言處理與計算機視覺的一種模仿人類注意力的計算機制,其核心目标是從衆多資訊中選擇出對目前任務目标更關鍵的資訊。

模型概述

我們提出對偶圖注意力網絡(dual heterogeneous graph attention network (DHGAN))來解決長尾問題。模型首先通過使用者在店鋪搜尋和商品搜尋中的行為日志資料來建構異構圖網絡,然後同時挖掘并利用查詢詞/店鋪在異構圖中的同構與異構鄰居,利用這些相鄰結點來增強自身的向量化表達,接着通過遷移商品搜尋中的知識與資料,利用商品标題來彌補使用者搜尋查詢詞與店鋪名稱之間的文本語義鴻溝,最後融入多種使用者特征來實作搜尋召回結果的個性化。

模型細節

總體架構

模型總體架構是一個雙塔結構(two tower),如下圖所示

KDD 2020 <A Dual Heterogeneous Graph Attention Network to Improve Long-Tail Performance for Shop Search in E-Commerce> 論文解讀

其中雙塔的左邊輸入是使用者和query,包含同構與異構鄰居、商品搜尋的成交商品标題之後等資訊,通過DHGAN和TKPS兩個子產品将聚合為一個向量(請參考下文的詳細介紹),雙塔右側的輸入是shop,與query用到的資訊類似,也同樣通過DHGAN和TKPS兩個子產品聚合為一個向量。最終在雙塔架構的頂端利用向量内積(inner product)來衡量相關度,并以此作為召回店鋪的分數依據。

KDD 2020 <A Dual Heterogeneous Graph Attention Network to Improve Long-Tail Performance for Shop Search in E-Commerce> 論文解讀

DHGAN子產品

DHGAN全稱為dual heterogeneous graph attention network,如上圖所示,該子產品利用同構與異構鄰居去增強query和店鋪的向量表示。

以使用者查詢詞(query)為例,我們首先挖掘到它的同構鄰居(query neighbors)與異構鄰居(shop neighbors),然後通過作用于兩種鄰居的層次圖注意力網絡(Attention Net),第一層注意力網絡分别融合(fusing)同構資訊(homogeneous information)與異構資訊(heterogeneous information),其中同構資訊的融合直接采用注意力網絡,而異構資訊的融合采用heterogeneous neighbor transformation matrix (HNTM)将query映射到shop所在的向量空間。第二層注意力網絡進而對兩種類型的資訊進行融合(fusing homo-heterogeneous information),最終達到同時利用同構與異構鄰居增強自身表達的效果。作用于店鋪(shop)的層次圖注意力網絡結構與作用于查詢詞的完全相同,隻是網絡參數相異。

TKPS子產品

KDD 2020 <A Dual Heterogeneous Graph Attention Network to Improve Long-Tail Performance for Shop Search in E-Commerce> 論文解讀

如上圖所示,同樣以使用者查詢詞為例,首先遷移商品搜尋中的知識進來,即利用同樣的查詢詞在商品搜尋下的成交商品标題(item neighbors title),然後對查詢詞文本(target query text)和鄰居商品标題進行文本向量化,通過一個池化(pooling)操作得到其向量表示,最後通過聚合(aggregation)商品标題,和查詢詞自身進行拼接&轉換(concatenation & transformation)得到加強化的查詢詞文本向量表達。對于店鋪(shop),則利用店鋪中的商品文本資訊來強化店鋪的文本向量表達。

Loss定義

我們的模型的基礎loss為傳統的交叉熵,定義如下

KDD 2020 <A Dual Heterogeneous Graph Attention Network to Improve Long-Tail Performance for Shop Search in E-Commerce> 論文解讀

直覺上,無論是query還是shop的鄰居結點,都應該和query和shop有一定的相似性,是以除了交叉熵,我們還定義了一個Neighbor proximity loss,如下所示:

KDD 2020 <A Dual Heterogeneous Graph Attention Network to Improve Long-Tail Performance for Shop Search in E-Commerce> 論文解讀

其中h_i為目前結點,h_j為h_i的鄰居結點作為正樣本,h_k為随機采樣的結點作為負樣本。

模型最終的loss是上述兩個loss加上正則化,分别通過alpha和lamda參數進行控制。

KDD 2020 <A Dual Heterogeneous Graph Attention Network to Improve Long-Tail Performance for Shop Search in E-Commerce> 論文解讀

實驗

離線效果

離線資料集建構

為了證明DHGAN模型補充長尾資料資訊的優勢,我們除了對所有測試資料進行測試,還構造了hard和long tail兩種特殊的資料集。其中hard資料集選取在訓練資料中沒有出現的query-shop對,而long tail資料集選取僅在訓練資料集中出現一次的query和僅出現一次的shop。詳細資料集統計如下圖所示,其中interactions為訓練/測試資料中正例的條數,queries、shops、items、users分别為訓練/測試資料中的數量。需要注意的是,為了避免特征穿越的問題,我們在測試時并沒有用到item資訊。

KDD 2020 <A Dual Heterogeneous Graph Attention Network to Improve Long-Tail Performance for Shop Search in E-Commerce> 論文解讀

總體效果

我們選取了11種baseline進行比較,并測試了DHGAN加入個資訊化資訊和未加入個性化資訊(DHGAN_{NP})的版本,最終實驗結果如下:

KDD 2020 <A Dual Heterogeneous Graph Attention Network to Improve Long-Tail Performance for Shop Search in E-Commerce> 論文解讀

可以看出,DHGAN模型在測試全集中各項名額有1%的提升,而在hard和long tail兩種模型專注優化的資料集各項名額上有4~8%的提升。

消融實驗

下圖中,w/o homo 表示去掉 q2q & s2s, w/o hete表示去掉 q2s & s2q, w/o item表示去掉 q2i & s2i,可以看出,不同種類的異構資訊均對模型有一定提升,其中item異構資訊對模型提升最明顯。

KDD 2020 <A Dual Heterogeneous Graph Attention Network to Improve Long-Tail Performance for Shop Search in E-Commerce> 論文解讀

超參數分析

我們也對鄰居的個數和loss weight alpha進行了分析。下圖可以看出,這兩個參數需調整才能達到最好效果,最終模型鄰居數目均設為6,alpha設為0.001

KDD 2020 <A Dual Heterogeneous Graph Attention Network to Improve Long-Tail Performance for Shop Search in E-Commerce> 論文解讀

總結

店鋪搜尋召回面臨長尾問題和語義鴻溝,為了解決該問題,我們在店鋪搜尋召回場景對偶圖注意力網絡(DHGAN),補充語義,取得更好的召回效果。目前模型user側僅包含profile資訊,未來嘗試将user-item,user-shop等異構資訊引入模型進一步提升效果。

更多資料挖掘内容檢視:

《KDD論文精華解讀》

繼續閱讀