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.

  1. 首先,从开发 exploitation 和探索 exploration 两个方面考虑,提出用KG信息增强状态表示。
  2. 其次,我们精心设计了一个复合奖励函数,该函数能够计算序列级和知识级奖励。
  3. 第三,我们提出了一种新的算法来更有效地学习所提出的模型。
  4. 据我们所知,这是第一次在基于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),并在此框架中进行了三项主要的技术扩展。具体包括知识增强的状态表示方法、引入知识的奖励机制,以及基于截断策略的学习机制。

  1. 首先,提出用KG信息增强状态表示。通过学习序列级和知识级的状态表示,我们的模型能够更准确地捕捉用户偏好。为了实现这一目标,我们构建了一个预测未来用户偏好知识特征的归纳网络。
  2. 其次,我们精心设计了一个能够同时计算序列级和知识级奖励信号的复合奖励函数。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.
  3. 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 模型,包括 KERL仅用时序的信息;KERLh+c利用时序与历史知识信息; KERLh +f 利用时序与未来知识信息。我们将这三个模型同 KERL 进行比较,具体结果如图下所示:

对于激励函数,我们分析了单独考虑时序相似性和知识相似性对于模型性能的影响。下图展现了在 CD 数据集上模型的性能:

我们在 next-item 和 next-session 两个任务上验证了模型的有效性,KERL 一致超过了所有的基线方法。

6. 总结

该论文首次探讨了将强化学习应用于时序推荐任务的可行性,通过将该任务定义为 MDP 过程,赋予了时序预测模型捕获推荐商品长期收益的能力,并创造性地引入知识对强化学习的探索重复过程进行指导。文章在 next-item 和 next-session 两个推荐任务上验证了模型的有效性。

推荐系统论文之序列推荐:KERL的更多相关文章

  1. 序列推荐(transformer)

    目录 Attention演进(RNN&LSTM&GRU&Seq2Seq + Attention机制) LSTM GRU Seq2Seq + Attention机制 Attent ...

  2. 计算广告、推荐系统论文以及DSP综述

    http://www.huxmarket.com/detail/2966 DSP场景假定前提: 以CTR预估为例,向广告主以CPC(OCPC)方式收费,向ADX以CPM方式付费.投放计划受预算限制,在 ...

  3. SparkMLlib—协同过滤推荐算法,电影推荐系统,物品喜好推荐

    SparkMLlib-协同过滤推荐算法,电影推荐系统,物品喜好推荐 一.协同过滤 1.1 显示vs隐式反馈 1.2 实例介绍 1.2.1 数据说明 评分数据说明(ratings.data) 用户信息( ...

  4. 【推荐系统论文笔记】Introduction To Recommender Systems: Algorithms and Evaluation

    这篇论文比较短,正如题目所说,主要还是简单地介绍了一下推荐系统的一些算法以及评估的方法. 推荐系统之前是基于关键字信息的过滤系统,后来发展成为协同过滤系统,解决了两个问题:1.通过人工审核去评价那些具 ...

  5. CIKM 2013推荐系统论文总结

    这几天在家没事,介绍几篇CIKM上关于推荐系统的文章, Personalized Influence Maximization on Social Networks Social Recommenda ...

  6. Youtube深度学习推荐系统论文

    https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/45530.pdf https://zh ...

  7. DLRS(近三年深度学习应用于推荐系统论文汇总)

    Recommender Systems with Deep Learning Improving Scalability of Personalized Recommendation Systems ...

  8. KDD 2013推荐系统论文

     LCARS: A Location-Content-Aware Recommender SystemAuthors: Hongzhi Yin, Peking University; Yizhou S ...

  9. WSDM 2014推荐系统论文

    Xiao Yu, Hao Ma, Paul Hsu, Jiawei Han On Building Entity Recommender Systems Using User Click Log an ...

随机推荐

  1. python-自定义一个序列

    python的序列可以包含多个元素,开发者只要实现符合序列要求的特殊方法,就可以实现自己的序列 序列最重要的特征就是可以包含多个元素,序列有关的特使方法: __len__(self):该方法的返回值决 ...

  2. 翻译:《实用的Python编程》06_02_Customizing_iteration

    目录 | 上一节 (6.1 迭代协议) | 下一节 (6.3 生产者/消费者) 6.2 自定义迭代 本节探究如何使用生成器函数自定义迭代. 问题 假设你想要自定义迭代模式. 例如:倒数: >&g ...

  3. 攻防世界 reverse re4-unvm-me

    re4-unvm-me alexctf-2017 pyc文件,祭出大杀器EasyPythonDecompiler.exe 得到源代码: 1 # Embedded file name: unvm_me. ...

  4. dll远线程注入

    原理 核心函数 CreateRemoteThread:让在其他进程中创建一个线程变成可能 核心思想 HANDLE WINAPI CreateRemoteThread( __in HANDLE hPro ...

  5. javascript是一种什么样的语言

    javascript是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML网页上使用,用来给HTM ...

  6. 「HTML+CSS」--自定义加载动画【008】

    前言 Hello!小伙伴! 首先非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出- 哈哈 自我介绍一下 昵称:海轰 标签:程序猿一只|C++选手|学生 简介:因C语言结识编程,随后转入计算机 ...

  7. HTML5本地存储 localStorage操作使用详解

    1.html5几种存储形式 本地存储(localStorage && sessionStorage) 离线缓存(application cache) indexedDB 和 webSQ ...

  8. [Fundamental of Power Electronics]-PART II-7. 交流等效电路建模-7.3 脉冲宽度调制器建模

    7.3 脉冲宽度调制器建模 我们现在已经达成了本章开始的目标,为图7.1推导了一个有效的等效电路模型.但仍存在一个细节,对脉冲宽度调制(PWM)环节进行建模.如图7.1所示的脉冲宽度调制器可以产生一个 ...

  9. 树结构系列(三):B树、B+树

    树结构系列(三):B树.B+树 文章首发于「陈树义」公众号及个人博客 shuyi.tech,欢迎访问更多有趣有价值的文章. 文章首发于「陈树义」公众号及个人博客 shuyi.tech 平衡二叉树的查找 ...

  10. mp4视频中插入文字

    最近接到一个需求,需要往mp4中动态插入文字,并且mp4中的乌云能在文字上有飘动的效果,一开始想用canvas,但是由于本人经验不足,没什么思路,看到css3有一个属性:mix-blend-mode, ...