KERL: A Knowledge-Guided Reinforcement Learning Modelfor Sequential Recommendation
摘要
時序推薦是基於用戶的順序行為,對未來的行為進行預測的任務。目前的工作利用深度學習技術的優勢,取得了很好的效果。但是這些工作僅專注於所推薦商品的局部收益,並未考慮該商品對於序列長期的影響。
強化學習(RL)通過最大化長期回報為這一問題提供了一個可能的解決方案。但是,在時推薦場景中,用戶與商品交互的稀疏性,動態性增加了強化學習的隨機探索的難度,使得模型不能很好地收斂。
Specifically, we formalize the sequential recommendation task as a Markov Decision Process (MDP), and make three major technical extensions in this framework, includingstate representation, reward function and learning algorithm.
- 首先,從開發 exploitation 和探索 exploration 兩個方面考慮,提出用KG信息增強狀態表示。
- 其次,我們精心設計了一個復合獎勵函數,該函數能夠計算序列級和知識級獎勵。
- 第三,我們提出了一種新的算法來更有效地學習所提出的模型。
- 據我們所知,這是第一次在基於RL的序列推薦中明確討論和利用知識信息,特別是在探索過程中。
1 INTRODUCTION
Sequential recommendation 有許多方法:classic matrix factorization、popular recurrent neural network approaches [5,9,14],通常,這些方法都是用極大似然估計(MLE)來訓練,以便逐步擬合觀測到的相互作用序列。
強化學習(RL)的最新進展[24]通過考慮最大化長期性能為這一問題提供了一個有希望的解決方案。
- [24] Mastering the game of Go with deep neuralnetworks and tree search. Nature 529, 7587 (2016), 484–489
首先,用戶-項目交互數據可能是稀疏的或有限的。 直接學習更困難的優化目標並不容易。
其次,RL模型的核心概念或機制是探索過程。采用單一或隨機的探索策略來捕捉用戶興趣的演變可能是不可靠的。從本質上講,用戶行為是復雜多變的,將RL算法應用於順序推薦,需要一個更可控的學習過程。所以我們以KG數據為指導,采用基於RL的學習方法進行順序推薦。
Indeed, KG data has been widely utilized in recommendationtasks [12,26,28]. 但只用在了開發 exploitation 過程,並沒有運用到探索 exploration 過程中。如 Figure 1,電影可以被分為兩個階段,直覺上,利用 KG 可以在每個階段很好地推薦電影,但是這兩個階段的電影在類型,風格和故事等許多方面都本質上是不同的。 現有的了解知識的順序推薦者很可能會在第一階段被“困住”,並且無法有效地捕獲這兩個階段之間的偏好漂移。

- 【12】2018. Improving Sequential Recommendation with Knowledge-Enhanced Mem-ory Networks. In SIGIR. 505–514.
- 【26】2018. RippleNet: Propagating User Preferences on the KnowledgeGraph for Recommender Systems.
- 【28】2019. KGAT:Knowledge Graph Attention Network for Recommendation. In KDD. 950–958
我們將順序推薦任務正式化為馬爾可夫決策過程(MDP),並在此框架中進行了三項主要的技術擴展。具體包括知識增強的狀態表示方法、引入知識的獎勵機制,以及基於截斷策略的學習機制。
- 首先,提出用KG信息增強狀態表示。通過學習序列級和知識級的狀態表示,我們的模型能夠更准確地捕捉用戶偏好。為了實現這一目標,我們構建了一個預測未來用戶偏好知識特征的歸納網絡。
- 其次,我們精心設計了一個能夠同時計算序列級和知識級獎勵信號的復合獎勵函數。For sequence-level reward,the BLEU metric [21] from machine translation, and measure the overall quality of the recommendation sequence. For knowledge-level reward, we force theknowledge characteristics of the actual and the recommended se-quences to be similar.
- Third, we propose a truncated policy gradientstrategy to train our model. Concerning the sparsity and instabilityin training induction network, we further incorporate a pairwiselearning mechanism with simulated subsequences to improve the learning of the induction network.(沒理解)
2 RELATED WORK
Sequential Recommendation.順序推薦旨在根據用戶的歷史互動數據來預測他們的未來行為。 早期工作通常利用馬爾可夫鏈來捕獲順序行為的單步依賴性。
- 【22】2010. Factor-izing Personalized Markov Chains for Next-basket Recommendation. In WWW.811–820 設計了個性化的馬爾可夫鏈以提供建議.
- 【27】2015. Learning Hierarchical Representation Model for NextBasket Recommendation.利用表征學習方法對用戶和項目之間的復雜交互進行建模。
- 【19】
- 2018. Translation-based factorization ma-chines for sequential recommendation. InRecSys. 63–71. 結合 translation and metric-based approaches for sequential recommendation.
另一條線是對多步順序行為進行建模,這被證明是順序推薦的一種更有效的方法,並且基於遞歸神經網絡(RNN)的模型在該領域得到了廣泛的應用[5,20,29]。基於RNN的模型可以很好地捕獲較長的序列行為進行推薦。
- 【5】2017. Sequential User-basedRecurrent Neural Network Recommendations. InRecSys. 152–160.
- 【20】2017. Personalizing Session-based Recommendations with Hierarchical RecurrentNeural Networks. InRecSys. 130–137
- 【9】2016. Session-based Recommendations with Recurrent Neural Networks. In ICLR
- [14] Wang-Cheng Kang and Julian J. McAuley. 2018. Self-Attentive Sequential Rec-ommendation. In ICDM. 197–206
3 PRELIMINARY
除了用戶的歷史交互數據,還有一個 KG,其中假設每個item可以與KG對齊。【33】2019. KB4Rec: A Data Set for Linking Knowledge Bases withRecommender Systems. Data Intell.1, 2 (2019), 121–136。
任務定義:主要圍繞着 predict the next item 與【12】2018. Improving Sequential Recommendation with Knowledge-Enhanced Mem-ory Networks. InSIGIR. 505–514 設置相似。
4 OUR APPROACH

4.1 A MDP Formulation for Our Task
環境狀態包含用於順序推薦的所有有用信息,包括交互歷史和KG。st = [ i1:t , G ],其中 G 代表 KG 信息,s0 = [0, G]。Vst 代表狀態 st 。
根據狀態,the agent 選擇一個 action at 屬於A,即從課程集合 I 選擇中一個課程 it+1 進行推薦。

在 action 后,agent 收到一個 reward,例如 rt+1 = R(st, at) , 獎勵函數可以反應出推薦的質量。並且狀態根據狀態轉移函數進行更新
T(T:S×T→S):st+1=T(st,at)=T([u, i1:t, G],ij(at))。
4.2 Learning Knowledge-Enhanced State Representation
盡管已經在基於序列的任務中提出了許多RL方法[21,35],但它們主要集中在學習算法上,並且缺乏對外部知識信息的利用
- 【21】2016.Sequence Level Training with Recurrent Neural Networks. InICLR.
- 【35】2019. Reinforcement Learning to Optimize Long-term User Engagement inRecommender Systems. InKDD. 2810–2818.
本文為了 enhance the state representations 分為兩部分:sequence-level and knowledge-level state representations.
4.2.1 Sequence-level State Representation.
采用標准的 GRU for encoding previous interaction sequence。這樣主要捕獲用戶偏好的順序特征,並且不利用知識信息來推導狀態表示。

4.2.2 Knowledge-level State Representation.
如【12】,KG 可以用來提高序列推薦的表現。However, previous methods mainly consider enhancing item or user representations with KG data for fitting short-term behaviors with MLE [35]. 所以為了平衡 exploitation and exploration,提出兩個 knowledge-based preference for a user,當前知識偏好(簡稱當前偏好)和未來知識偏好(簡稱未來偏好)。
- 【12】2018. Improving Sequential Recommendation with Knowledge-Enhanced Mem-ory Networks. InSIGIR. 505–514.
- 【35】2019. Reinforcement Learning to Optimize Long-term User Engagement inRecommender Systems. InKDD. 2810–2818.
Learning Current Preference. 先用 TransE 得到每一個 item it 的 KG embedding Veit ,再使用 平均池方法(a simple average pooling method)來聚合用戶與之交互的歷史項的 embedding。

Predicting Future Preference. As the key point to achieve effective exploration,利用未來偏好來捕捉用戶在未來時間的興趣。我們構建了 an induction network 來預測未來偏好。通過使用 全連接網絡結果, an induction network 可以更好地捕捉用戶興趣的演變,特別是偏好漂移。

4.2.3 Deriving the Final State Representation.
最后的狀態表示為 vst ,where “⊕” is the vector concatenation operator

4.3 Setting the Reward with Knowledge Information
把 reward function 分為兩部分

Sequence-level Reward. 在序列推薦中,一個好的獎勵函數不僅要考慮單個步驟的表現,還需要衡量推薦序列的整體表現。用上了評估機器翻譯的指標 BLEU。

其中 precm 是修正后的精度,計算如下:

pm is an m-gram subsequence of it:t+k ,# 代表統計前者在后者中出現的次數。
Knowledge-level Reward. 推薦的 item 與一樣利用 TransE 聚合,計算相似度,如下:

4.4 Learning and Discussion
Based on these subsequences, a pairwise ranking mechanism is then proposed to learn the induction network. 具體算法流程

接下來介紹細節。
4.4.1 Training with Truncated Policy Gradient.
目標是 learn a stochastic policy π that maximizes the expected cumulative reward J(Θ) for all uses. J(Θ) 的導數如下:

其中 γ is the discount factor to balance the importance of the current reward and future reward。
我們采用了一種截斷式的 policy gradient 策略來對目標函數進行優化,對於用戶的每個狀態 , 隨機采樣L條長度為 k 的子序列,進行梯度更新:

4.4.2 Training the Induction Network.
在 KERL 中我們通過設計一個推斷網絡來建模歷史知識和未來知識的關聯。但是訓練數據的稀疏性使得該網絡不能很好地收斂。考慮到 KERL 通過 policy gradient 策略采樣了一系列子序列進行模型的學習,我們試圖引入這些序列,通過構造一個排序模型學習推斷網絡。
具體的,我們先得到每一個序列的知識表達,
。給定兩個子序列知識表達
,我們按照如下的規則構造鍵對

4.4.3 Discussion.
KERL 模型的主要創新之處在於它結合了未來基於知識的偏好,這個在【11】【12】和【28】被忽略了,導致很難捕捉用戶興趣偏移。
- 【11】2019. Taxonomy-Aware Multi-Hop Reasoning Networks for SequentialRecommendation. InWSDM. 573–581.
- 【12】2018. Improving Sequential Recommendation with Knowledge-Enhanced Mem-ory Networks. InSIGIR. 505–514
- 【28】2019. KGAT:Knowledge Graph Attention Network for Recommendation. InKDD. 950–958
盡管以前基於RL的推薦模型[30,35,37]迫使模型最大化長期獎勵,但它們要么依賴獎勵功能,要么采用隨機探索策略。 因此,這些基於RL的模型尚未很好地研究(informative exploration strategy)信息探索策略。
- 【30】2019. Reinforcement Knowledge Graph Reasoning for Explainable Recommenda-tion. InSIGIR.
- 【35】2019. Reinforcement Learning to Optimize Long-term User Engagement inRecommender Systems. InKDD. 2810–2818
- 【37】2019.MarlRank: Multi-agent Reinforced Learning to Rank. InCIKM. 2073–2076.
5. 模型試驗效果
慮到我們的模型把 KG 的信息分別融合進了激勵函數和狀態表達之中,我們先通過剝離試驗來具體的分析每一塊的性能。
針對 RL 的狀態表示,KERL 總共使用了三種不同的信息,分別是序列信息,歷史知識,以及未來知識。我們首先分析一下不同的信息對於性能的影響,具體設計了三種基於不同狀態表示 KERL 模型,包括 KERLh 僅用時序的信息;KERLh+c利用時序與歷史知識信息; KERLh +f 利用時序與未來知識信息。我們將這三個模型同 KERL 進行比較,具體結果如圖下所示:

對於激勵函數,我們分析了單獨考慮時序相似性和知識相似性對於模型性能的影響。下圖展現了在 CD 數據集上模型的性能:

我們在 next-item 和 next-session 兩個任務上驗證了模型的有效性,KERL 一致超過了所有的基線方法。

6. 總結
該論文首次探討了將強化學習應用於時序推薦任務的可行性,通過將該任務定義為 MDP 過程,賦予了時序預測模型捕獲推薦商品長期收益的能力,並創造性地引入知識對強化學習的探索重復過程進行指導。文章在 next-item 和 next-session 兩個推薦任務上驗證了模型的有效性。
