推荐系统论文阅读(29)-美团:利用历史交互数据完善对话推荐系统
标题:利用历史交互数据改进会话式推荐系统
地址:https://dl . ACM . org/doi/pdf/10.1145/3340531.3412098。
这是我第一次就此写美团发表的论文。本文是一篇关于NPC和美团合作的CIKM的短文。它研究如何利用历史交互数据进行对话推荐。
近年来,对话推荐系统已经成为一个新的实用的研究课题。现有的CRS方法大多只从会话数据中学习有效的用户偏好表示。然而,本文使用历史交互数据从一个新的角度来改进CRS。因此,本文提出了一种新的预训练方法,通过预训练方法整合基于项目的偏好序列(来自历史交互数据)和基于属性的偏好序列(来自对话数据)。
随着电子商务平台中智能代理的快速发展,通过对话为用户提供高质量推荐的对话推荐系统成为一个新的研究课题。一般来说,CRS由对话模块和推荐模块组成。对话模块侧重于通过多轮交互获取用户的偏好,推荐模块侧重于如何利用推断出的偏好信息为用户推荐合适的商品。
现有的CRS大多是按照“系统需要用户响应”的模式设计的。在每次对话中,CRS会发出关于用户偏好的问题,用户会用个性化的反馈回复系统。通常情况下,系统会根据商品的某些属性生成一个系统查询(比如你最喜欢的电影类型是什么),用户反馈会反映出用户对这个属性的具体偏好(比如我喜欢动作片)。主流的方法是构建追踪模块,可以从这种多轮对话中推断出用户基于属性的偏好。这样,推断出的偏好就可以呈现为一系列推断出的属性(比如电影CRS中的“流派=动作→导演=詹姆斯·卡梅隆”)。有了这个序列,我们就可以用一些方法来做推荐,比如用知识图谱来做推荐。
然而,这些现有的CRS研究有两个主要问题。首先,对话本身的信息非常有限。许多CRS已经进一步优化,以减少系统和用户之间的交互次数。因此,在基于属性的推理偏好中,一些有用的属性可能会丢失。其次,仅使用基于属性的偏好进行推荐可能是不够的。例如,即使在筛选了几个属性之后,候选项集可能仍然很大。
为了解决上面提到的两个问题,我们需要将基于项目的方法和基于属性的方法结合起来。其中,基于历史的项目交互方式反映了用户的长期兴趣,基于会话属性的方式反映了用户的当前兴趣,即短期兴趣,是典型的长期和短期兴趣相结合的任务。
答:我之前说过,在CRS系统中,一个用户经过几轮对话,会有一个物品属性集合,A就是这个集合。
=?,其中属于a,是item的属性,n是属性序列的长度。
,其中是用户在对话之前在步骤k交互的项目。
我们进一步假设每个项ik还与一组属性值相关联,该组属性值由Aik表示,并且是整个属性集A的子集..
任务定义:根据CRS模块,首先采集基于属性的序列,然后利用点击序列进行推荐。关于这个任务的定义,深层次的理解应该是这样的:我们先有了属性序列,然后主要根据点击序列进行推荐。属性序列的建模是子模块任务,序列推荐是主任务。只要属性序列被更新,序列推荐任务就可以在属性序列被更新之后重用这些信息。
本文的基本模型由变压器构成,输入部分为嵌入层。这部分除了带物品id的嵌入矩阵,还有带属性的嵌入矩阵,还有一个P作为输入,就不说这个了,位置向量。
中间操作就是变压器、自关注、ffn的过程。这里不了解transformer结构的可以看论文。
输出部分是预测候选项I的概率:
其中ei是I的原始嵌入向量,w是映射矩阵,两个s是通过transformer结构的项和属性的最后向量。
熟悉bert的人都知道mask语言模型,用mask替换项目序列中的项目,然后预测这些被屏蔽的项目。
其中fik是从项变换器位置k开始的向量,SA是从熟悉结构的Aik位置开始的向量,w是映射矩阵,eik是原始项嵌入。
为了更好地融合基于项目的信息和基于属性的信息,本文还采用了一种交替掩码的方法,用随机负抽样的属性代替Aik。
其中fik是通过trm被替换项的向量,w是映射矩阵,faj是属性trm的向量,预测概率是aj是否被替换。
在LTR中,如果采用成对的优化方法,负抽样的技术是至关重要的,正样本的概率大于负样本的概率,所以我们需要选择一种负抽样方法来提高我们整个模型的优化。
MIP中的负采样方法是什么?IR-GAN和ELECT论文中使用的方法。
第一阶段选择SASRec作为成对排序模型,这也是本文中用于负样本的模型。负抽样方法如下:首先,我们通过成对排序的方式训练一个模型作为生成器,得到候选项的概率分布。有了这个概率分布,我们就可以用负抽样了,因为排名高的项目和真实的非常接近。至于为什么选择这个模型,论文中说它在序列推荐任务中表现得特别好,也就是作为一个排名模型效果很好。请注意,虽然发生器可以像在标准GAN中一样更新,但我们只训练它的参数一次。根据经验,我们发现迭代更新带来的提升是有限的。
整个训练分为两个阶段,第一个是预训练阶段,即训练两个表征学习模型,第二个是微调阶段,学习秩损失: