Conversational Recomender System(对话式推荐)

CRS(5)阅读笔记:2020SIGIR-Towards Que

2021-03-14  本文已影响0人  阿瑟_TJRS

前言

这项工作提出了一种新的基于问题的推荐方法Qrec&&,通过回答自动构建并通过算法选择的问题来帮助用户以交互方式寻找物品。
以前的会话推荐系统要求用户表达对物品或物品方面的偏好。相反,我们的模型要求用户表达他们对描述性商品功能的偏好(descriptive item features)。
该模型首先用
新颖的矩阵分解算法进行离线训练,然后通过基于用户答案的封闭式方案在线迭代更新用户/物品向量。
并通过使用广义二分搜索推断用户对物品的基本信念和偏好,
以学习最佳的提问策略**,从而向用户提出一系列问题。

这篇论文的motivation描述的可能不太清楚:主要点是指出当前领域研究还是很有限,现有方法主要还是依赖对物品提问或者对物品的factet提问(属性)

文中假设:可以根据与物品相关的文本信息来区分项目,例如说明和评论

因此,文中提出的模型基于相关内容中提取的描述性术语向用户提出问题,并基于CF进行推荐。

模型方法

完整模型框架如下图所示, 主要包括五个部分:

1. Rec modules

包括两部分:

  1. the offline initialization module
  2. the continuous updating module

具体而言,对于用户-物品交互矩阵R \in \mathbb{R}^{N \times M},而整合了用户交互反馈后的交互矩阵为R(即为在线数据), 利用矩阵分解的思想,将R分解成为用户和物品特征矩阵,在这种基本思路上,文中提出了一套自己的QMF:

其中对基本的推荐场景即离线训练情况和用户交互场景做了区分。

优化目标即为

可以转换为 具体训练中分为两个阶段:线下和线上优化:
线下优化
利用Adam对参数进行学习,由于离线下没有交互数据Y,所以对第二部分系数设为0; 通过历史数据R可以对U,V,p进行预训练。
线上优化
通过ALS交替最小二乘法对模型参数U,V进行更新,可以保证效率 通过交替固定参数对两种变量进行交替更新。

交互数据通过以下方式更新,对于第l个问题,对于一个物品j,其交互更新如下:

假设用户的答案是由目标项目驱动的,那么这也代表了用户的答案。因此,例如,如果问题是“您要寻找棉布[cotton]吗?”并且目标物品描述将“cotton”作为一个实体,那么对于所有也将“棉”作为重要实体的物品,y_j^l=1
如果问题是“您是否正在寻找[沙滩巾 beacj towel]物品?”并且目标产品的说明或评论中不包含“沙滩巾”(用户的回答为“否”),则对于不是沙滩巾的所有商品y_j^l=1

根据目标物品是否与请求的实体相关,利用用户的反馈更新交互记录,具体而言,用于更新与特定用户有关的Y,(Y_i即用户i的在线交互向量,其每个维度Y_{ij}对应于第j个物品。然后ui和所有物品向量V进行在线更新(ALS)。仅影响当前用户的交互会话,而不会影响任何后续的用户交互。当我们询问实体e并观察用户的响应时,用户对与答案一致的物品的偏好会增加。随着系统不断向用户i提出问题并合并他/她的响应,用户特征向量U和物品特征向量V发生变化并朝着真正的用户和物品向量调整。

Question Learning

如何从问题库中选择下个问题进行提问。

使用所有历史评分进行离线初始化后,用户将启动与我们推荐系统的互动,系统会询问一些问题以了解用户潜在因素,项目潜在因素和用户心智(user belief)。在此交互阶段,重要的是选择最能提供信息的问题,从而有效地学习用户的偏好,从而最大程度地减少提出的问题的数量并有效地定位目标物品。我们使用估计的用户偏好来学习接下来要问的最具区分性的问题。通过多项式概率分布π∗对用户对物品描述集合D的偏好进行建模。基于贝叶斯的观点,假设在用户偏好π∗上有一个先验分布P,这是在π∗的所有可能取值上的概率密度函数PDF:即标准的狄利克雷分布


基于离线模型为每个用户对物品进行评分和排名,每个物品的排名表达了我们对每个给定用户对项目偏好的最初信念。该初始信念将用于初始化Dirichlet分布的超参数α。 将物品i的αi设置为1/(p_i+1),其中p_i是物品i在排名列表中的索引。 Y_i对应当前用户i截止目前在不同物品上的提问匹配。

狄利克雷分布是多项式分布的共轭分布:

,根据狄利克雷分布的性质,可以通过更新分布参数\alphaY_i来更新用户偏好分布。

应用GBS来找到最能将第l个问题中其余物品的预测用户偏好的预测质量最接近两等分的实体,作为要询问的近乎最佳的实体:

C_l是第l次提问的候选物品空间。通过二分搜索,找到将用户偏好进行均分的entity。

Question Asking

向用户询问有价值的问题,取决于相关信息的问题池。给定一个物品,用户应该能够在参考相关项目(或考虑到项目)的情况下以“是”或“否”回答有关该物品的问题。在这项工作中,使用实体链接算法TAGME 从物品说明文本中提取有意义的短语(通常是实体)以构建问题库。这些实体被认为是构成物品最重要的特征,向用户提问关于基于物品相关的某些实体是否存在。在TAGME中,非结构化文本中每个带注释的短语使用概率加权,该概率衡量该子字符串的可靠性,仅将具有高概率的短短语视为实体。

经过一系列初步实验,我们将阈值设置为0.1,并过滤出概率低于0.1的短短语。在此之前,还删除了停用词。从语料库中提取出最重要的实体后,所提出的算法以“Are you seeking for a [entity] related item”的形式提出一系列问题。 在这种情况下,用户可以根据自己的信念回答“是”,“否”或“不确定”。

4. Question-based Recommender System

完整的推荐框架如下,设定提问轮次,完成提问后进行推荐:

实验情况

用户评估

小结

本文在MF的框架上,针对CRS任务,对MF进行了合理改造,主要设计了提问模块和线上更新模块,是一个比较简单的CRS系统,对话轮次固定,没有对话管理模块。论文上结构有点绕,读起来不是很顺畅

END

本人简书所有文章均为原创,欢迎转载,请注明文章出处 。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问本人简书主页查看最新信息https://www.jianshu.com/u/40d14973d97c

上一篇下一篇

猜你喜欢

热点阅读