今天介绍一篇比较有意思的论文,发表在SIGIR 20上,关于在推荐系统中应用行为经济学理论。
省流小助手:
- 前景理论(Prospect Theory)
- 推荐的item需要有评分(ratings)
解决的问题
行为经济学是研究“非理性人”在经济活动中的行为规律的学科,很多结论都非常有意思。这篇paper最根本的想法是观察到在电商推荐中,用户选择商品会受到评论的影响,购买好评率比较低的商品有更高的“风险”,而每个人对于风险的偏好和忍耐程度是不同的,通过构建每个用户对每个商品的价值函数(value function),排序,就可以得到对每个用户的推荐结果(top k)。
方法
前景理论的简单介绍
行为经济学的最近非常热的学科,已经有三次诺贝尔经济学奖都颁给了相关的学者(分别是2002年颁给提出前景理论的丹尼尔·卡尼曼,2013年颁给《非理性繁荣》的作者罗伯特·J·席勒,2017年颁给提出心理账户的理查德·塞勒)。如果想了解更多关于行为经济学的知识,非常推荐理查德·塞勒的书《助推》和《错误的行为》,但我在这里只是前景理论做非常简要的介绍。
这篇paper主要会使用前景理论的两个结论:
1、人在损失100元得到的痛苦,要比获得100元时得到的快乐是不同的,痛苦要比快乐要大。形式化的表示如下图
2、人对于小概率事情会高估它的概率(典型的如买彩票),对于高概率事件会低估它的概率
模型细节
1、如何评估损失(loss)和获得(gain)?
前景理论的基础在于loss和gain对应的价值是不等的,所以首先要解决的问题就是,如何定义电商场景里的loss和gain。
引入参数 r_u 表示用户心中对于商品评分的期望(注意这个r_u是用户级别的,不是用户-商品级别的),如果商品的评分小于r_u,表示损失,反之,表示获得。因为商品有价格,所以用如下的公式将损失或者获得归一化:
这里假设了商品的评分取值范围是1-5。
2、计算价值(value function)
这里要说明的是 alpha, beta, gamma 都是每个用户的超参数。(是的,每个用户上的参数,这也就是paper题目中personalized risk preferences的来源,这也就意味着,为了真正用起来,泛化方式要重新考虑)。这些含义就是每个人对同样的loss或者gain,反应程度也是不同的。
3、计算评分的分布
上面的 r_i 并不是单个商品的平均评分,而是单个评分,所以这里要使用评分的分布做加权。这里会用到第二个结论,weighting function。
这里有一个细节,考虑到部分商品的部分评分是0,为了解决0概率的问题,在4.2节中讲了如何去估计评分的分布(Weibull分布)。
4、计算加权的前景价值(Prospect Value)
这里,我们可以计算得到每个用户对每个商品的的前景价值,然后选择top K商品作为推荐的结果。
结果
作者在Amazon、Movielens、Ciao和Epinions数据集上做了对比实验,后三个数据集中实际上是没有价格这个数据的,所以作者统一对所有item设置了1元的price。
对比的模型分别是:
- SVD
- Bayesian Personalized Ranking
- Neural Collaborative Filtering
- MPUM:Multi-Product Utility Maximization for recommendation
结果上看,F1和NDCG都有明显的提升。
总结
将前景理论融入到推荐系统中,我觉得文章给了一个不错的定义问题的方法,但受限于使用场景,比如推荐商品本身需要有评分,并且商品需要和广义的风险有关系(比如基金、股票有亏损风险),这个方法的适用性并不是很广。
更普遍的一种使用方式,可能是将前景理论在每个人身上体现出来的规律,作为一种用户特征加入到推荐系统中。