以下内容纯属个人见解,欢迎大家交流。
发布于2021 SIGIR
1 motivation
1.1 问题
CRS中三个决策问题:询问哪些属性、推荐哪些项目以及何时询问或推荐。现有的方法主要针对分离会话和推荐组件的CRS中这三个决策问题中的一个或两个,这限制了CRS的可扩展性和通用性,缺乏一个稳定的训练过程。
在MCR场景中,CRS通常被定义为一个多步骤的决策过程,并通过政策学习的强化学习(RL)方法来解决。如图1(a)所示,基于rl的IRS只需要学习策略来决定推荐哪些项目。然而,在CRS中情况更加复杂,因为有两个组件需要被一致地考虑,即会话和推荐组件。现有方法CRM和EAR采用策略梯度来改进何时询问和询问哪些属性的策略,而推荐决策是由外部推荐模型做出的。为了减少策略学习中的行动空间,另一种最先进的方法SCPR只考虑学习何时询问或推荐的策略,而两个孤立的组件负责决定询问什么和推荐什么。这两种CRS的策略学习框架如图1(b)和1(c)所示:
尽管这些方法很有效,但在实际应用中仍有一些问题需要解决:(i)现有的CRS方法训练的模型缺乏对不同领域或应用的普遍性,因为CRS需要考虑三种不同的决策过程,包括询问哪些属性,推荐哪些项目,以及何时询问或推荐。训练离线推荐模型或使用综合对话历史对政策网络进行预训练需要额外的努力。(ii)政策学习难以集中,因为对话和推荐组成部分是孤立的,在培训过程中缺乏相互影响。
1.2 解决方法
为了解决这些问题,在本研究中,我们将上述三个独立的CRS决策过程作为一个统一的策略学习问题来利用CRS的最终目标,并在训练过程中填补推荐和会话组件之间的空白。这种统一会话推荐策略学习(UCRPL)旨在学习统一策略来决定行动,在每个会话回合询问属性或推荐项目,以最大化整个MCR过程的累积效用。本文提出的CRS统一策略学习概述如图2所示。
然而,UCRPL问题带来了两个挑战:(i)如何系统地结合会话和推荐组件来实现统一的策略学习?(ii)如何处理样本效率问题?随着UCRPL中的行动空间变得非常大,包括所有可用的属性和项目,它需要大量的交互数据来学习最优策略。幸运的是,图结构捕获了不同类型节点(即用户、项目和属性)之间丰富的相关信息,使我们能够发现用户对属性和项目的协作偏好。因此,我们可以利用图结构将推荐和会话组件集成为一个有机整体,其中会话会话可以被视为图中维护的节点序列,以动态地利用会话历史来预测下一个回合的行动。另一方面,虽然图的连通性也可以通过路径推理来消除无效动作,但仍有大量候选动作有待搜索。由于用户可能不会对所有项和属性都感兴趣,所以我们可以关注潜在的重要内容提高UCRPL的样本效率。
为此,我们提出了一个新的自适应的基于图的强化学习框架,即统一会话推荐(UNICORN)。具体来说,由于CRS的进化特性,我们利用动态加权图模型用户之间不断变化的相互关系,在交谈中项目和属性,考虑基于马尔可夫决策过程(MDP)同时处理环境决策的推荐和谈话。然后,我们集成了图增强表示学习和序列对话建模来捕获用户对物品和属性的动态偏好。此外,还设计了两种简单而有效的动作选择策略来处理样本效率问题。我们采用基于偏好的项目选择和基于加权熵的属性选择策略来只考虑潜在的重要行为,而不是枚举整个候选项目和属性集。
2 模型
2.1 graph-based MDP environment
MDP环境负责通知代理当前状态和可能采取的操作,然后根据当前策略与观察到的用户交互的匹配程度奖励代理。形式上,MDP环境可以用元组
分别表示state space, action space, state transition function, reward function
2.1.1 state
对于用户𝑢,我们考虑两个主要因素:
分别是t时刻都对话历史和动态的子图,其中:
分别表示用户u喜欢的属性,拒绝的属性和物品
2.1.2 action
根据当前的状态,agent会采取一个行为,推荐候选物品中的 一个,或者是询问候选属性中的一个
2.1.3 Transition
根据状态采用的行动,根据用户的反馈,获取到下一时刻的状态.
2.1.4 reward
(1),当用户接受推荐项目时,会得到强烈的积极奖励;
(2),当用户拒绝被推荐的物品时,给予消极奖励;
(3),当用户接受询问属性时的轻微正面奖励,
(4),当用户拒绝询问的属性时,一个消极的奖励
(5),当玩家到达最大回合数时将获得强烈的负奖励。
2.2 Graph-enhanced State Representation
2.2.1 Dynamic Weighted Graph Construction
2.2.2 Graph-based Representation Learning
2.2.3 Sequential Representation Learning
除了所涉及的用户、项目和属性之间的相互关系外,还期望CRS在当前状态下建模会话历史记录。与以往采用启发式特征进行会话历史建模的研究[12,14]不同,我们采用Transformer编码器[29]捕获会话历史的顺序信息,并关注决定下一步行动的重要信息。如[29]所述,每一层变压器由三个组件组成:(i)层的规格化定义为LayerNorm(·)。(ii)多头关注被定义为MultiHead(𝑸,𝑲,𝑽),其中𝑸,𝑲,𝑽分别是查询,键,值。(iii)定义ReLU激活的前馈网络为FFN(·)。以𝑙-th层为例
在我们的例子中,输入序列是在学习到的基于图的表示的当前会话历史中接受的属性。
最终,经过个transformer层后,的表示为:
2.3 Action Selection Strategy
一个较大的动作搜索空间会在很大程度上损害策略学习的性能。为此,我们提出了两种简单的策略来提高候选动作选择的样本效率。
2.3.1 Preference-based Item Selection
一般来说,对于要推荐的候选项,我们可以只考虑从最适合用户首选项的少数候选项中做出推荐,因为用户可能不会对所有项都感兴趣。为了实现这一点,我们根据选择top-𝐾𝑣候选项目。
2.3.2 Weighted Entropy-based Attribute Selection.
而对于要询问的候选属性,期望的属性应该不仅能够更好地消除候选项的不确定性,而且能够编码用户偏好。我们采用加权熵作为对候选属性进行裁剪的准则:
我们也选择了top-𝐾𝑝候选属性
2.4 Deep Q-Learning Network
在获得图增强状态表示和候选动作空间后,我们引入深度q -学习网络(DQN)[21]进行统一会话推荐策略学习。我们进一步实施了一些技术来增强和稳定DQN的训练。算法1给出了统一会话推荐器的训练过程
2.4.1 Dueling Q-Network
按照标准假设,延迟奖励被每个时间步𝛾的一个因子贴现,我们将q值𝑄(,)定义为基于状态和行为的预期奖励。如图3最右部分所示,dueling Q-network使用两个深度神经网络分别计算值函数𝑓𝜃𝑉(·)和优势函数𝑓𝜃𝐴(·)。那么q函数的计算方法为:
具有最优策略𝜋∗预期reward的最优q函数𝑄∗(𝑠𝑡,𝑎𝑡)遵循Bellman方程如下
2.4.2 Double Q-Learning with Prioritized Experience Replay
在MCR过程的每个片段中,在每个时间步𝑡,CRS agent通过描述的图增强状态表征学习获得当前状态表示𝑓𝜃𝑆(𝑠𝑡)。然后agent从候选行动空间A𝑡中选择一个行动𝑎𝑡,该行动空间是通过描述的行动选择策略获得的。这里我们结合𝜖-greedy方法来平衡动作采样中的探索和开发(即根据最大q值(概率1−𝜖)选择一个贪婪动作,随机动作(概率𝜖))。
然后,代理将从用户的反馈中获得奖励𝑟𝑡。根据反馈,当前状态𝑠𝑡转换为下一个状态𝑠𝑡+1,并相应地更新候选动作空间A𝑡+1。然后将体验(𝑠𝑡,𝑎𝑡,𝑟𝑡,𝑠𝑡+1,A𝑡+1)存储到重放缓冲区D中。为了训练DQN,我们从D中采样小批量的体验,并将以下损失函数最小化:
为了解决传统DQN中的高估偏差问题,我们采用了double q-learning方法,该方法将目标网络𝑄’作为在线网络的周期副本。将在线网络的目标值修改为:
其中𝜃𝑄’为目标网络的参数,通过软分配更新为
此外,传统的DQN从重放缓冲区均匀采样。为了更频繁地对那些有很多东西需要学习的重要转换进行采样,我们采用了学习潜力的优先重放代理,它以相对于绝对TD错误的𝛿的概率对转换进行采样
2.4.3 Model Inference
在学习到的UNICORN模型中,给定一个用户和他/她的会话历史,按照同样的过程得到候选行动空间和当前状态表示,然后根据最大q值决定下一步行动。如果所选操作指向某个属性,系统将询问用户对该属性的偏好。否则,系统将向用户推荐q值最高的top-𝐾项
3 实验
其中,hDCG(T,K)定义为:
其中𝑇和𝐾表示每个回合的会话回合数和推荐项目,𝑟(𝑡,𝑘)表示结果在回合𝑡的相关性和位置𝑘。然后可以从hDCG@(𝑇,𝐾)中提取hNDCG@(𝑇,𝐾),方法与原始NDCG@𝐾相同。由于MCR中每个会话只有一个目标项目,所以我们只需使用hDCG@(𝑇,𝐾)进行评估。hNDCG@(𝑇,𝐾)背后的直觉是,成功回合的回合数越少,对CRS越有利,而目标物品在成功回合的推荐列表中排名越高。