RS Meet DL(80)-在评分预测中建模“同化-对比”效应

2020-03-17 15:48:03 浏览数 (1)

本文介绍的论文是Recsys17上的“最佳论文”,题目是《Modeling the Assimilation-Contrast Effects in Online Product Rating Systems: Debiasing and Recommendations》,主要是建模了评分预测中的“同化-对比”效应(Assimilation-Contrast Effects),看完之后的感觉就是:

好了,趁着热乎劲,赶紧总结一波!可能有些细节没有理解到位,欢迎大家一起来交流讨论!

1、背景

在线评分系统对于电商、视频平台来说是非常重要的模块。用户对产品的评分可以帮助推荐系统作出更加准确的推荐,同时也会影响后面的用户对于该产品的购买决策,以及对于该产品的评分。

对评分系统来说,很重要的一点是能够获取到用户的一个无偏的评分。但是其他历史的评分会用户的评分产生影响,从而使得用户的评分不在是无偏的。从宏观的角度看,这种偏差会使得整个的历史评分分布偏离产品内在质量(这里我理解是这样的,假设评分对应1-5,产品质量也是1-5,那么如果评分是无偏的,那么质量为3的产品所对应的评分分布应该是均值为3的正态分布,而有偏的评分会使得这种分布的均值偏离3),这有可能误导用户做出错误的购买决策;从微观的角度看,评分的偏差会对推荐系统每次推荐结果的准确性造成一定程度的损失。

本文重点关注的是在微观层面,目标是在每次推荐的过程中去建模这种历史评分所带来的影响。

那么这种影响到底是什么呢?即所谓的“同化-对比”效应,我们在下一节中进行介绍。

2、“同化-对比”效应

2.1 数据集介绍

我们通过两个数据集来描述评分系统中的“同化-对比”效应。两个数据集分别是Amazon和TripAdvisor,其中,Amazon数据集中,主要关注四个最大的类别,分别是books, movies, electronics和clothes。数据集的概括描述如下:

接下来介绍一些符号定义:

接下来,我们来看看历史评分是如何影响当前评分的。影响用户评分的因素主要可以概括为两方面,一是产品的质量,二是其他用户的评分。

那么产品的质量如何定义呢?这里用了一个比较巧妙的做法,使用没有看到历史评分的用户的打分均值来定义产品的质量。进一步,这里按照产品质量区间对产品进行了聚类。区间的大小为0.2,同时重点关注[2.9,3.1]和[3.9,4.1]这两个区间的产品集合。这样可以认为第一个区间的产品质量为3,第二个区间的产品质量为4。

那么对于每一个产品集合,又有如下的符号定义:

这里定义的先验期望是历史评分的均值,那么先验期望和当次打分均值的关系是怎样的呢?我们绘制二者的相关性曲线:

先解释一个疑惑,前面在定义产品质量的时,我们使用的是没有看过历史评分的用户的打分均值,而先验期望则是产品所有的历史评分。因此你可以发现,在质量区间[2.9,3.1]的产品,其历史评分均值也可以小于2.5或者大于3.5。那么从上面的图来看,主要有两个发现:

1)产品的历史评分会影响用户的当次评分,二者呈现一个较为明显的正相关关系(PCC是皮尔逊相关系数的缩写)

2)以上面五组曲线中的任意一组为例,图中的黑线代表y=x,当先验期望比产品质量要低时,用户的评分会高于先验期望(在y=x上方的部分),相反,当先验期望比产品质量要高时,用户的评分会低于先验期望(在y=x下方的部分)。对于这个结论,该如何解释呢?

2.2 “同化-对比”效应解释

接下来,我们就来解释上面的两组发现:

1)为什么历史评分会影响当次评分? 2)为什么历史评分的影响会呈现上图的走势?

先来回答第一个问题,一种可能的解释是用户在做出购买产品的决策时,会去参考其他用户的评分和评价,在这一过程中,就形成了他对产品的先验期望。而这个先验期望会和产品本身的质量一起影响用户的购买决策。因此,不同的历史评分会给用户带来不同的先验期望,进一步影响用户的当前决策和评分。

要回答第二个问题,这里先结合下图介绍三个心理学理论:

1)“Assimilate” theory(同化效应):用户对产品的满意度(评分)和先验期望相似(图中的橙色的线),即先验期望越高,用户的满意度也越高

2)“Contrast” theory(对比效应):用户将扩大其先验期望和产品质量之间的差异(图中紫色的线)。比如说,如果他的先验期望低于产品质量,那么他对产品的满意度反而更高。

3)“Assimilate-Contrast” theory(同化-对比效应):如果产品质量和先验期望之间的差距在可接受的范围内,则表现出同化效应,如果二者的差距过大,则表现出对比效应(图中红色的线)。

那么数据集中表现出的是哪种效应呢?这里我们首先把所有的数据集合并,然后选择产品质量在[2.9,3.1]中的产品,绘制先验期望和当次打分的折线图:

可以看到,数据集大致体现出了一种同化-对比效应,在先验期望为[1.8,4.6]时,表现出同化效应,在[1,1.8)和(4.6,5]中表现出的是对比效应。

好了,我们知道了数据集中存在这么一种同化-对比效应,该如何去建模这种效应,从而提升评分预测的准确性呢?下一节给你答案。

3、评分预测建模

3.1 Base Model:Latent Factor Model

这里使用的基准模型是latent factor模型,其评分预测公式如下:

其中,bu和bp分别代表用户和产品的偏差,xu和yp是分别代表用户向量和物品向量。

3.2 Historical Influence Aware Latent Factor Model (HIALF)

对于HIALF来说,评分计算分成了两部分,第一部分刻画用户对于产品的质量评分,第二部分刻画产品历史评分对用户评分的影响。

第一部分取决于产品的内在评分以及用户对于产品的兴趣,计算方式如下:

根据之前的讨论,数据集中存在同化-对比效应,这种效应主要受历史评分与用户对产品的质量评分有关(在之前的讨论中,我们没有单独考虑单个用户对于产品质量的评分,而是考虑了所有用户对于产品质量评分的均值,但对于单个用户的一次评分预测来说,质量评分是需要建模的,也就是刚才说的计算的第一部分)。这里使用β (x )来刻画这种效用,其中x=ep,i-qu,p。另一方面,历史评分的长度也是需要考虑的,如果一个产品有100个历史评分,那么按理来说应该比只有1个历史评分能产生更大的影响。因此第二部分的计算公式可以写作:

所以,HIALF的整体评分计算公式如下:

其中au是需要学习的标量,代表用户受历史评分影响的程度。

整体的讲完了,我们还有一些问题需要解决,β (x )长什么样?f(|Hp,i|)又张什么样?别着急,咱们慢慢道来!

首先来看β (x ),这里使用的是核回归的方法,这是一种加权KNN的方法,具体的算法可以参考博客:https://blog.csdn.net/weixin_41770169/article/details/80658712,咱这里就不细讲了。核回归的计算公式如下:

这里el是一些具体的点,假设评分系统只有1-5评分可以选,那么历史评分均值和用户质量评分的差值的区间是[-4,4],那么可以令:

而x是之前所介绍的ep,i-qu,p,w是核函数,这里具体形式是:

而权重vl是需要通过模型进行学习的。

再来看f(|Hp,i|),其计算公式如下:

上式中x代表的是历史评分的长度,而f(0)=0。

同时,我们还进一步对历史评分均值进行了处理,使得时间距离越近的评分权重更高:

其中:

最后,来看下模型的损失函数。比较简单,平方损失 L2正则:

不过正则化的参数有点多,我们一起再来回顾下:

4、实验结果

最后咱们来看看具体的实验结果,首先来看看β (x ),

基本都符合同化-对比效应。然后再来看看不同评分预测方法在测试集上的MSE:

可以看到,HIALF在五个数据集上都取得了最好的效果。

好了,本文就介绍到这里了!不愧是最佳论文,十分硬核,有时间的同学都可以读一下!

0 人点赞