CRS(2)阅读笔记:2019RecSys-Deep Langu
前言
-
2019-推荐专会Recsys 长文:Critiquing-based CRS
Critiquing(评价)是一种对话推荐方法,可根据用户偏好反馈的物品属性来调整推荐。历史上Critiquing方法主要是基于约束(constraint-based)和基于效用(utility-based)的方法来更正推荐结果。本文从基于深度学习的推荐方法和基于语言的交互的角度重新审视了这一类方法。具体来说,提出了一种端到端的深度学习框架,该框架具有两个变体,它们扩展了NCF(Neural CF)架构,并带有解释和评价组件。这些体系结构不仅可以预测用户和物品的个性化关键短语,而且可以在潜在空间中嵌入基于语言的反馈,从而反过来调节后续的推荐。总而言之,本文提供了统一深度推荐和基于语言的反馈的第一步。
引言
批判是一种对话式(也称为顺序交互式)推荐的方法,可根据用户对有关物品属性的偏好反馈来调整推荐。例如,在统一评论(unit critiquing)中,用户可以通过请求具有更高分辨率的物品来批判数码相机的推荐(同一个属性);而在混合批注(compound critiquing)中,用户可以进一步探索电池寿命更长且价格更低的物品(不同方面的属性)。虽然以前的批评工作共同定义了会话推荐系统的一个重要子领域,但这些方法大多数都假定有一组固定的已知属性以及用于修改推荐的显式基于约束和基于功能的方法。
CRS的研究已经从基于批判方法的基础技术中取得了实质性进展。首先,从基本的推荐的角度看,基于深度学习的推荐方法目前可取得SOTA的结果。其次,最近的工作集中在会话推荐方法上,这些方法不假定先验物品具有固定的属性,而是在潜在因素模型之上积极应用explore-exploit策略。第三,基于语言的解释的使用也有了很大的进步。 但是,鉴于在深度推荐,潜在因素模型和解释方面的所有这些进步,尚不知道将其结合到深度对话式批评框架中的工作。
在这项工作中,我们旨在从基于深度学习的推荐方法以及可以固定一组推断的关键短语属性的基于语言的交互的角度重新审视评论框架。这些框架的修改使我们在进行批判的方式上需要进行两项重大更改:(1)在基于深度学习的系统中,必须在相同的潜在嵌入式空间中表达和操纵用户的喜好和反馈,以在评价后提供更新的推荐; (2)与一组固定物品属性相比,基于语言的交互提供了更丰富的交互空间,但是还引入了基于语言的标签的主观(个性化)判断,数据稀疏性,同义性和固有标签不确定性的问题。为了解决问题(1)和(2),首先将语言交互限制为从用户评论中提取的大量描述性关键短语。然后,我们提出了一种端到端的深度学习框架,该框架具有两种变体-一种判别式(deterministic)和一种概率式(probabilistic)-扩展了NCF。这些框架不仅可以推断出用户和商品的个性化关键短语说明,而且可以在与用户和商品嵌入相同的潜在空间中嵌入基于语言的反馈,以调制后续的批判性推荐。
模型框架
Deterministic Model: CE-NCF
-
Explanation Generation
文中构建可解释模型的关键假设是,观察到的用户i和物品j的评分{0(不喜欢),1(喜欢)}和二元解释向量都是从相同的隐含表征生成的,表征由用户隐含向量ui和物品表征vj共同编码。 将该假设表述为一个深度学习框架,如下图所示。 其中首先训练模型,以通过编码函数fe将用户嵌入ui和物品嵌入vj对编码为初始潜在表示zi,j。 然后,预测函数fr和fs分别为该用户项对生成“相似”交互作用ˆri,j∈[0,1]和解释ˆsi,j的概率:
与框架相对应,自低而上共三个关键部分
就解释类型而言,以上表述是通用的; 推荐的解释可以是相似物品清单,也可以是用自然语言陈述的原因。本文使用了从评论中提取的关键短语列表,因为它们具有丰富的信息和可解释性,即用从评论中挖掘出的关键短语Keyphrases来出显示喜欢或不喜欢某物品的确切原因 (因为某个属性不喜欢/喜好)。 这样,关键短语还支持一种简单的交互机制,使用户能够表达与推荐有关的个性化关键短语解释的异议(或同意),因此可以评价该推荐。 提取的关键短语如下:
- Explanation Critiquing
解释性批评的目的是基于用户与解释(即,属性描述)的互动来完善推荐。 直观地,批判使用户能够纠正在训练过程中学习到的静态偏好,以便推荐系统可以更好地匹配当前用户的偏好。 评判过程会增强隐向量的信息,反过来又会修正评分,以更好地适应用户当前的偏好。 从技术上讲,这可以通过反函数来实现
表示评级过的解释,即包含了用户反馈的信息,根据评论进行反向调整模型特征,这种形式符合反函数的定义。但是这种反函数不是直接存在的。我们通过最小化隐藏表征的重构损失来学习反函数的近似值。准确地说,评价步骤总结如下:
(1)预测函数fs(z)将潜在表示映射为针对每个推荐物品的特定用户的评分和解释。 (2)用户通过指出他们不同意的解释来进行批评,从而有效地将中的这些关键短语清零。
(3)逆预测函数将评价过的解释反向调整到隐表征中。
(4)最后,该模型如下更新每个用户项对的评分和解释:
-
训练
直观地,L0和L1是有监督学习任务,L2是一种自动编码任务,它鼓励模型学习潜在表示,这些表示形式可以从反函数中f〜-1◦fs中进行解释和恢复,三个函数都用MSE进行loss计算。
损失分为三部分:表示基本的评分预测loss,
是反映解释生成的关键词的准确度。
表示隐向量的差异loss
-
user & item embeddings
使用奇异值分解来得到用户和物品矩阵作为预训练信息加入模型中:
2. Variational Probabilistic Model: CE-VNCF
基于概率生成思想的模型,暂时略过
实验情况
-
数据集
Amazon商品数据,将商品评分二值化处理。
数据集不包含预选的关键短语。 文中使用以下通用处理步骤从评论中提取候选关键字,以用于每个数据集的解释和评价:
(1)从整个数据集的评论中提取高频名词和形容词短语的单字组和双字组列表。
(2)使用点向互信息(PMI)阈值修剪bigram关键字表,以确保统计上不太可能随机发生bigram。
(3)将每个评论表示为稀疏0-1向量,指示每个关键词是否在评论中出现。 -
评估
推荐侧:TopN推荐常见指标
解释侧:同样采用NDCG/MAP等指标进行评估,将生成的关键词与用户历史最流行的top关键词进行对比
评价效率Critiquing Effective:
针对推荐物品的关键词说明是为用户量身定制的,因此对于评估评判没有明确的事实依据。
因此,我们提出了一种新颖的评估指标,称为Falling MAP(F-MAP)。 给定一组项目S = {Itemj | j∈{1···n}},还有一个可加密的关键字短语k,如果k在针对用户i的项目j的Top-K解释预测中,我们说项目j属于项目集Sik。理想情况下,在用户对k进行批判之后,我们希望让所有受影响的物品Sik的排名从用户TopN推荐列表中“下降”(向下移动到排名列表的下方)。Falling MAP衡量在对关键词k进行评判前后,受影响的物品集Sik的排名差异。
总而言之,正面的F-MAP表示批评对潜在的嵌入具有预期的影响,即对最有可能受到批评的解释的项目的评级和等级均产生负面影响。 -
实验效果
【case study】
小结
本文是Critiquing-based CRS的DL方向研究,仍然是single-turn的交互,总体实现上还是比较清晰的,可以往多轮交互方向拓展,并对模型现有浅层网络进行改造。