WWW20 關鍵詞生成提升電商會話推薦

哈工大SCIR發表於2020-06-01

論文名稱:Keywords Generation Improves E-Commerce Session-based Recommendation
論文作者:劉元興,任昭春,張偉男,車萬翔,劉挺,殷大偉
原創作者:劉元興
論文連結:https://dl.acm.org/doi/pdf/10.1145/3366423.3380232
程式碼連結:https://github.com/LeeeeoLiu/ESRM-KG
轉載須註明出處:哈工大SCIR

 0 背景

電商平臺的崛起改變了人們的購物習慣,越來越多的人習慣在電商平臺完成購買需求。根據圖1的預測,到2020年底,全球電商銷售額將達到4.2萬億美元,佔零售總額的16%。因此,預測使用者的意圖在電商推薦系統中越來越重要[1]。然而由於使用者隱私問題和大量使用者匿名使用,電商推薦系統通常無法跟蹤大部分電商使用者的長期使用者意圖[2]。此外,長期的使用者意圖跟蹤通常會產生粗粒度的結果,這會使推薦不明確[3,1]。使用者通常以特定的短期意圖訪問電商網站或應用,因此我們可以透過其在會話內短期的行為,分析細粒度的購物意圖[4]。

WWW20 關鍵詞生成提升電商會話推薦圖1 2014年至2023年全球零售電商銷售額(十億美元)

1 任務介紹

會話的開始是使用者開啟電商網站或應用。會話的結束是使用者斷開連線,或者長時間沒響應(通常情況下為20分鐘)。圖2顯示了使用者在一個會話內的點選序列。

WWW20 關鍵詞生成提升電商會話推薦圖2 一個會話內使用者的點選序列因此,基於會話的推薦任務是利用使用者當前的點選序列中前 n-1 個商品預測第 n 個商品,如圖3所示。其輸入是點選序列每個商品對應ID的序列,輸出是目標商品的ID。

WWW20 關鍵詞生成提升電商會話推薦圖3 基於會話的推薦任務

2 問題及動機

2.1 問題

儘管許多基於會話的推薦方法已應用於電商推薦場景並取得較大的進展[3,5,6,7,8,9],但由於包容性較低的問題,基於電商會話的推薦仍然具有挑戰性。以前的所有工作僅使用目標商品來監督訓練過程。以圖4為例,每個商品都有唯一的ID(SKU)。即使是兩款同樣配置的手機,因為外觀顏色的不同,也對應著不同的ID。在使用目標商品作為唯一的監督訊號的情況下,推薦系統預測其他三款手機都會受到懲罰。但是在實際的電商場景中,其他三款手機也有推薦的意義。因為使用者通常在下單時會根據自身的偏好進行調整,例如更改顏色等。因此,僅僅使用目標商品作為監督訊號限制了真實場景推薦效果的提升。

WWW20 關鍵詞生成提升電商會話推薦圖4 唯一的監督訊號會忽略有推薦意義的相似商品此外,現實電商場景中使用者的點選行為非常複雜且難以捉摸,很容易受到電商平臺中各種推薦和廣告優惠的影響。由於缺乏會話內有關使用者意圖的監督資訊,所有先前的工作都可能受到隱式點選序列中異常點選造成的影響。

2.2 動機

為了解決上述問題,我們考慮了一種新的監督訊號,即會話中的關鍵詞。我們注意到真實電商場景下,使用者視線之內的往往是商品的標題,而不是商品的ID。因此,我們可以利用會話中的商品標題資訊,獲取能反映使用者短期意圖的資訊。如圖5所示,我們構建一個商品標題的集合,其包含了使用者當前點選序列的每個商品的標題。然後我們進行分詞、去停用詞等預處理。最後,我們按照詞頻選擇 k 個詞,作為關鍵詞。

WWW20 關鍵詞生成提升電商會話推薦圖5 關鍵詞產生的過程然後,我們設計了一個新的任務,即關鍵詞生成。該任務利用輸入的點選序列生成關鍵詞。因此,當我們用多工學習將基於會話的推薦和關鍵詞生成結合之後,包容性低的問題得到了緩解。以圖6為例,不同顏色、不同配置的手機,一定程度上能反映出相似的資訊(例如,“iPhone,雙卡雙待,4G,手機”)。因此,對於推薦系統來說,即使推薦綠框內的三款手機會受到來自目標商品監督的懲罰,但在多工學習的情況下(當關鍵詞生成任務權重較大時),這三款手機仍可能被推薦系統納入考慮,推薦的效果會得到提升。其次,因為關鍵詞是按照詞頻提取的,直接忽略了意外點選的商品的資訊。因此,透過引入關鍵詞,也能緩解不可靠點選產生的影響。

WWW20 關鍵詞生成提升電商會話推薦圖6 引入關鍵詞挽救被忽略的相似商品

3 方法

我們提出帶有關鍵詞生成的基於電商會話的推薦模型,簡稱為ESRM-KG。我們首先介紹概念闡述我們任務的定義。然後,我們分別詳細介紹點選預測和關鍵詞生成部分。最後,我們說明模型的整體方法。

3.1 任務定義

與之前基於會話的推薦不同,在本文中我們設計一個新的任務。模型 不只能夠產生推薦結果,也能夠生成關鍵詞。所以我們定義新任務:

其中是輸入的點選序列、是產生的推薦結果以及是生成的關鍵詞。同時受到關鍵詞和最後一個點選的監督,模型能夠同時輸出推薦列表和關鍵詞。

WWW20 關鍵詞生成提升電商會話推薦圖7 基於會話的推薦與關鍵詞生成任務示意圖

3.2 點選預測

點選預測包含了兩個部分:C-Encoder和Predictor,如圖8所示。C-Encoder用來學習序列行為的表示。然後Predictor利用C-Encoder編碼之後的結果產生推薦列表。

WWW20 關鍵詞生成提升電商會話推薦圖8 點選預測部分的結構

3.3 關鍵詞生成

關於關鍵詞生成,我們採用了Transformer。因為Transformer在文字生成任務中表現出色[10,11,12]。如圖9所示,關鍵詞生成部分包含了K-Encoder和Decoder。基於其自注意力機制,K-Encoder可以在當前會話中學習長期依賴的資訊。然後,Decoder將資訊轉換為詞機率分佈

WWW20 關鍵詞生成提升電商會話推薦圖9 關鍵詞生成部分的結構

3.4 整體方法

受[3]的啟發,我們探索會話的混合表示,來產生更精確的推薦。因為點選預測中的C-Encoder可以學習序列行為的表示,而關鍵詞生成中的K-Encoder在捕獲有關當前會話的注意力資訊方面做得很好。因此,我們將C-Encoder的輸出與K-Encoder的輸出拼接,作為會話的混合表示:

WWW20 關鍵詞生成提升電商會話推薦圖10 ESRM-KG 結構

我們使用多工學習框架來訓練點選預測和關鍵詞生成元件。

4 實驗設定

4.1 資料集

為了驗證關鍵詞生成能夠提升基於會話的推薦並評估ESRM-KG模型在基於電商會話的推薦中的效能,我們收集了一個大規模的真實世界資料集。首先,我們介紹資料收集的過程。我們從真實的電商平臺收集使用者在2018年7月1日的點選。然後利用使用者點選的表和2018年7月1日的商品資訊表求交來過濾沒有商品資訊的商品。接下來,我們使用LTP[13]對商品標題進行分詞。我們得到處理後的點選資料,其中包括會話ID,時間戳,商品ID和商品標題,如表1所示。

表1 收集的點選資料的定義

WWW20 關鍵詞生成提升電商會話推薦

然後,我們進一步處理收集的點選資料以進行實驗。我們透過會話唯一的ID將點選資料分成多個會話。參考[3],我們保留了會話長度範圍為5到20的會話。然後我們將最後兩個小時的會話作為測試集,其餘的會話作為訓練集。表2提供了我們收集的實驗資料集的詳細統計資訊。

表2 資料集的統計資訊

WWW20 關鍵詞生成提升電商會話推薦

4.2 評價指標

我們採用了Recall@K和MRR@K來評價點選預測。在實驗中,K=5, 10, 15, and 20。

在關於關鍵詞生成中,我們採用ROUGE[14]作為評價指標。在我們的實驗中,我們使用ROUGE-1(R-1),ROUGE-2(R-2),ROUGE-L(R-L)。

5 實驗結果與分析

關於實驗,我們設定了六個研究問題:

  • RQ1:關鍵詞生成可以提升基於會話的推薦的效能嗎?ESRM-KG在點選預測中的整體表現如何?

  • RQ2:在點選預測中,K-Encoder和C-Encoder各自起到了什麼作用?哪一個更重要?

  • RQ3:在多工學習中,不同權重下的點選預測的效能如何?點選預測的效能會隨著多工學習中的權重的增大而提高嗎?

  • RQ4:關鍵詞的長度是否對點選預測的效果有影響?長關鍵詞能否取得更好的效果?

  • RQ5:ESRM-KG生成的關鍵詞的質量如何?

  • RQ6:基於會話的推薦是否有助於關鍵詞生成?

其中RQ1是關於模型的整體效果,用來驗證關鍵詞生成能否提升基於會話的推薦的效果。關於RQ2、3、4,我們分別探索了模型不同組成部分對推薦效能的影響。關於RQ5,我們分析了生成的關鍵詞的質量。最後,設定RQ6的的目的是更好地探索關鍵詞生成和基於會話的推薦之間的關係。

5.1 關鍵詞生成對點選預測的影響

RQ1:關鍵詞生成可以提升基於會話的推薦的效能嗎?ESRM-KG在點選預測中的整體表現如何?

5.1.1 點選預測的整體效能

表3 不同方法在不同K的取值情況下的點選預測效能

WWW20 關鍵詞生成提升電商會話推薦

我們發現對於所有K取值的Recall和MRR,ESRM-KG模型始終優於ESRM-KG (only Prediction)。ESRM-KG (only Prediction)表示ESRM-KG模型刪除了關鍵字生成部分。因為NARM在我們的實驗中具有最佳效能,我們將NARM設定為主基線,來評估我們方法的整體效能。透過將關鍵詞生成應用於模型,我們發現我們提出的ESRM-KG模型在Recall和MRR方面優於所有基線。我們的模型分別在Recall@5,Recall@10,Recall@15和Recall@20方面比NARM分別提高了6.23%,6.29%,5.86%和5.53%。在MRR方面,我們發現ESRM-KG的表現也相當不錯。就MRR@5,MRR@10,MRR@15和MRR@20而言,它比NARM分別增長2.73%,2.79%,2.75%和2.74%。

5.1.2 Embedding 視覺化

為了進一步探討關鍵詞生成的影響,我們將ESRM-KG模型和ESRM-KG (only Prediction) 的商品Embedding視覺化。具體而言,我們從所有商品中隨機選取100個商品。然後,我們使用PCA將Embedding向量的維數降到2。從圖11中,我們發現透過結合關鍵詞生成,商品的Embedding變得稠密。我們分析對於包含相似商品的兩個不同點選序列,兩個會話的關鍵詞可能相似。因此,關鍵詞生成可能從不同的序列行為中學習相同的意圖,從而縮小商品之間的差距。

WWW20 關鍵詞生成提升電商會話推薦圖11 商品 Embedding 視覺化

5.1.3 輸入和輸出的樣例分析

我們展示了模型輸入和輸出的樣例。為了方便觀察,我們用商品圖片替換商品ID。在輸入點選序列中,我們注意到大多數商品與一類商品(即主機)相關。因此,我們將主機當作當前會話的意圖。從表4中,我們可以觀察到:由於缺少其他資訊,意外點選(即輸入點選序列中的第10個點選,顯示器)會對推薦產生嚴重的影響。具體而言,在ESRM-KG (only Prediction)模型提供的推薦列表的前20名中,有6種商品與顯示器相關。在關鍵詞生成的幫助下,ESRM-KG模型從點選序列中學習到額外的資訊。因此,大多數推薦結果與主機有關。此外,透過比較兩個模型的推薦列表中目標商品的排名,我們發現ESRM-KG模型推薦效果更好。最後,從ESRM-KG模型生成的關鍵詞中,我們可以觀察到ESRM-KG模型在捕獲當前會話的意圖方面表現良好。

表4 模型的輸入和輸出

WWW20 關鍵詞生成提升電商會話推薦

此外,在上述情況下,我們還展示了商品Embedding視覺化。如圖12所示,我們發現ESRM-KG模型產生的商品Embedding比ESRM-KG(only Prediction) 模型產生的商品Embedding更稠密。根據以上討論,我們得出結論,關鍵詞生成有助於基於會話的推薦。

WWW20 關鍵詞生成提升電商會話推薦圖12 輸入輸出樣例中商品Embedding視覺化

5.2 不同編碼器對點選預測的影響

RQ2:在點選預測中,K-Encoder和C-Encoder各自起到了什麼作用?哪一個更重要?

ESRM-KG(E=encoder)表示點選預測的預測器僅使用編碼器中的表示來產生推薦。因此,我們比較了不同編碼器結構的效能。如表5所示,我們可以看到C-Encoder和K-Encoder都能在點選預測中取得不錯的效果。同時,C-Encoder的效能優於K-Encoder。我們還發現,相對於ESRM-KG(E=K-Encoder)模型,ESRM-KG模型分別在Recall@10,Recall@15和Recall@20方面實現了2.53%,3.03%和3.32%的提高。透過將C-Encoder和K-Encoder結合使用,可以同時提高Recall和MRR。我們認為,K-Encoder在捕獲點選項之間的注意力方面表現良好[12]。但是,它缺乏當前會話的全域性表示。因此,C-Encoder和K-Encoder的組合可以得到比較好的效果。

表5 不同編碼器下點選預測的效果

WWW20 關鍵詞生成提升電商會話推薦

5.3 多工學習中不同權重對點選預測的影響

RQ3:在多工學習中,不同權重下的點選預測的效能如何?點選預測的效能會隨著多工學習中的權重的增大而提高嗎?

ESRM-KG(W=weight)表示在多工學習中,點選預測的損失權重是weight。我們探索多工學習中點選預測損失的不同權重對點選預測的影響。從圖15中,我們可以看到:首先,當點選預測的權重為0.9(關鍵詞生成的權重為0.1)時,模型得到的結果最差(無論是在Recall還是MRR上)。我們認為,關鍵詞生成的權重低會導致關鍵詞對當前會話提供的監督無用。其次,就Recall而言,不同的權重(0.9除外)對點選預測結果有輕微的影響。但是,就MRR而言,當權重為0.3時,模型表現最佳。我們推斷,當點選預測權重為0.3時,關鍵詞生成可以更好地捕捉會話中使用者的需求。因此,目標商品的排名提升了。

WWW20 關鍵詞生成提升電商會話推薦圖13 多工學習中點選預測在不同權重下的效能

5.4 不同關鍵詞長度對點選預測的影響

RQ4:關鍵詞的長度是否對點選預測的效果有影響?長關鍵詞能否取得更好的效果?

TOP-K表示ESRM-KG(L=top-k)模型。這裡的K範圍是10、15、20、25和30。如圖14所示,就Recall和MRR而言,我們發現TOP-20優於TOP-10和TOP-30。但是,在Recall和MRR上,TOP-10和TOP-15的結果不太好。從這種現象,我們發現,當關鍵詞的長度太小時,它可能會提供不足的資訊,這將使關鍵詞生成對推薦的幫助受到很大限制。此外,我們可以看到TOP-30在Recall@15,Recall@20,MRR@15和MRR@20上取得了最佳結果。但是,在Recall@5和MRR@5上,TOP-30不如TOP-25,在Recall@10和MRR@20上不如TOP-20。關於這種現象,我們認為可能導致較長的關鍵詞可能使得ESRM-KG模型傾向於生成關鍵詞。儘管推薦效能在某些方面得到了增強,例如Recall@20,但它也面臨目標商品在推薦列表中排名較低的問題。

WWW20 關鍵詞生成提升電商會話推薦圖14 不同關鍵詞長度下點選預測的效能

5.5 生成關鍵詞的質量

RQ5:ESRM-KG生成的關鍵詞的質量如何?

表6 四個生成的關鍵詞的樣例

WWW20 關鍵詞生成提升電商會話推薦

#623和#979對應的是推薦命中情況下模型生成的句子。而其他兩個,則是推薦未命中情況下模型生成的句子。一方面,ESRM-KG模型生成的關鍵詞質量比較好。從#623 句子中,我們可以看到ESRM-KG模型在捕獲會話中有意義的關鍵詞以及忽略無意義的單詞(例如,對應的標準答案中的“購買”,“完整”和“滿足”)時表現良好。此外,從#979句子中我們可以得知,即使生成的關鍵詞的順序與標準答案中的關鍵詞順序不相同,我們仍然可以理解關鍵詞想要表達的資訊。另一方面,關鍵詞生成中也存在缺點。例如,ESRM-KG模型在#29句子中生成重複內容,例如“Mobile”,“6”,“32GB”和“Gold”。此外,ESRM-KG模型還會生成不正確的實體,例如在句子#2486中,“啤酒”變成“可口可樂”。

5.6 建議對關鍵詞生成的影響

RQ6:基於會話的推薦是否有助於關鍵詞生成?

表7 不同方法關鍵詞生成的效能

WWW20 關鍵詞生成提升電商會話推薦

ESRM-KG(only Generation)表示ESRM-KG模型刪除了點選預測部分。如表7所示,我們發現ESRM-KG(only Generation)模型在所有指標方面都優於ESRM-KG模型。基於這種現象,我們認為基於會話的推薦可能對關鍵詞的生成沒有幫助。對於推薦任務,即使預測商品與目標商品非常相似,也仍將被視為負例,受到懲罰。因此,關鍵詞生成可能經常會因基於會話的推薦而遭受“干擾”,效能會下降。

6 結論

在本文中,我們探索了關鍵詞生成對基於電商會話的推薦的影響。我們提出了一種新穎的混合模型,即ESRM-KG,將關鍵詞生成融入到基於會話的推薦中。在大規模的真實世界電商資料集上進行的廣泛實驗驗證了ESRM-KG模型的有效性:首先,我們發現關鍵詞生成在基於電商會話的推薦中顯著提高了下次點選預測的效果。然後,我們比較了不同編碼器結構的效能。接下來,我們探討了多工學習中點選預測損失的不同權重對點選預測的影響。此外,我們還討論了不同關鍵詞長度的影響。此外,我們還透過樣例分析研究了生成的關鍵詞的優缺點。最後,我們探討了基於會話的推薦對關鍵詞生成的影響。

參考文獻

[1] Meizi Zhou, Zhuoye Ding, Jiliang Tang, and Dawei Yin. 2018. Micro behaviors: A new perspective in e-commerce recommender systems. In WSDM. ACM, 727–735.

[2] Dietmar Jannach, Malte Ludewig, and Lukas Lerche. 2017. Session-based item recommendation in e-commerce: on short-term intents, reminders, trends and discounts. User Modeling and User-Adapted Interaction 27, 3-5 (2017), 351–392.

[3] Jing Li, Pengjie Ren, Zhumin Chen, Zhaochun Ren, Tao Lian, and Jun Ma. 2017. Neural attentive session-based recommendation. In CIKM. ACM, 1419–1428.

[4] Maryam Tavakol and Ulf Brefeld. 2014. Factored MDPs for detecting topics of user sessions. In RecSys. ACM, 33–40.

[5] Balázs Hidasi, Alexandros Karatzoglou, Linas Baltrunas, and Domonkos Tikk. 2016. Session-based recommendations with recurrent neural networks. In ICLR.

[6] Qiao Liu, Yifu Zeng, Refuoe Mokhosi, and Haibin Zhang. 2018. STAMP: ShortTerm Attention/Memory Priority Model for Session-based Recommendation. In KDD.

[7] Pengjie Ren, Zhumin Chen, Jing Li, Zhaochun Ren, Jun Ma, and Maarten de Rijke. 2019. RepeatNet: A Repeat Aware Neural Recommendation Machine for Session-based Recommendation. In AAAI.

[8] Yong Kiam Tan, Xinxing Xu, and Yong Liu. 2016. Improved recurrent neural networks for session-based recommendations. In DLRS. ACM, 17–22.

[9] Shu Wu, Yuyuan Tang, Yanqiao Zhu, Liang Wang, Xing Xie, and Tieniu Tan. 2019. Session-based Recommendation with Graph Neural Networks. In AAAI.

[10] Arman Cohan, Franck Dernoncourt, Doo Soon Kim, Trung Bui, Seokhwan Kim, Walter Chang, and Nazli Goharian. 2018. A Discourse-Aware Attention Model for Abstractive Summarization of Long Documents. In NAACL.

[11] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. 2018. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. CoRR abs/1810.04805 (2018). arXiv:1810.04805 http://arxiv.org/abs/1810.04805

[12] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Łukasz Kaiser, and Illia Polosukhin. 2017. Attention is All you Need. In NIPS. 5998–6008.

[13] Wanxiang Che, Zhenghua Li, and Ting Liu. 2010. Ltp: A chinese language technology platform. In COLING. 13–16.

[14] Chin-Yew Lin. 2004. ROUGE: a Package for Automatic Evaluation of Summaries. In ACL.

相關文章