©作者 | 张晓堃

单位 | 大连理工大学

来源 | 社媒派SMP

论文标题:

Price DOES Matter! Modeling Price and Interest Preferences in Session-based Recommendation

收录会议:

SIGIR 2022

论文作者:

张晓堃,徐博,杨亮,李晨亮,马凤龙,刘海峰,林鸿飞

作者单位:

大连理工大学,武汉大学,宾夕法尼亚州立大学

论文链接:

https://arxiv.org/pdf/2205.04181.pdf

代码链接:

https://github.com/Zhang-xiaokun/CoHHN

会话推荐

推荐系统是缓解信息爆炸的重要工具,其在现代电子商务网站中起着不可替代的作用。传统的推荐系统通常利用用户长期的历史行为数据来预测用户未来的行为。然而,在大多数情况下,由于隐私政策及用户未登录等原因,我们无法获取用户丰富的历史数据。因此,研究人员提出了会话推荐(session-based recommendation)。会话推荐根据匿名用户有限的交互数据来预测其接下来的行为。因为其巨大的实用价值,会话推荐一经提出就吸引了广泛的关注。

研究动机

现有的会话推荐方法只集中于建模用户的兴趣偏好 (interest preferences),即用户喜欢一件商品的程度。它们忽略了另一个很重要的因素,用户的价格偏好 (price preferences),即用户愿意用多少钱购买这件商品。不同于商品的其他属性,如颜色、款式等,影响用户对商品的喜爱程度,商品价格往往直接决定用户是否会购买一件商品。

很多经济学研究表明,商品价格在用户选购商品时起着至关重要的作用。这也符合我们的认知,当用户浏览商品时,价格往往是用户最关注的商品属性。商家也常常在最显著的地方标明商品的价格,以引起消费者的注意。因此,为了更好的预测用户的购买行为,我们需要在会话推荐中考虑用户的价格偏好。

面临挑战

当我们将用户价格偏好引入到会话推荐当中时,我们面临着以下两个挑战:

挑战1:用户的价格偏好隐藏在多种异质信息内。

用户的价格偏好严重依赖于商品所属的类别。比如,对于笔记本电脑,用户会出于对高性能的追求而购买一件昂贵的笔记本电脑;而对于睡衣,用户因只打算居家穿着而购买一件便宜的睡衣。因此,在建模用户的价格偏好时,我们需要考虑商品的类别信息。这样一来,在会话推荐中,我们需要统一考虑商品,商品价格以及商品类别等多种异质信息。如何建模这些异质信息,进而抽取出用户的价格偏好,是我们面临的第一个挑战。

挑战2:用户价格偏好和兴趣偏好之间的关系复杂,相互作用,共同决定用户的最终选择。

用户在进行购买决定时,常常作价格和兴趣之间的权衡 (price-interest trade-off)。即,对于一件商品,用户会综合考虑对这件商品的喜爱程度及是否可以接受其价格,最后决定是否购买这件商品。例如,用户可能会出于对一件商品强烈的兴趣而愿意为其支付高价(签名版的球衣要比正常的球衣贵很多,但用户还是愿意为其买单);又如,用户也可能会因为价格便宜而购买一件他原本不是十分喜欢的商品(打折,促销等降价活动总是会让人心动)。由此可见,用户的价格偏好和兴趣偏好相互影响、共同决定用户的最终选择。那么,如何建模用户价格偏好和兴趣偏好之间复杂的关系,是我们面临的另一个挑战。

解决方案

针对以上两个挑战,我们提出了一个新的模型,互导异质超图网络 CoHHN (Co-guided Heterogeneous Hypergraph Network)。

针对第一个挑战,我们为会话推荐专门设计了一种异质超图网络。所提出的异质超图网络 (Heterogeneous Hypergraph Network) 结合了异质图和超图的优点(即异质图能够有效地建模异质信息,而超图可以捕获节点间复杂高阶的关系),用以建模会话推荐中涉及的多种异质信息,进而获取用户的价格偏好及兴趣偏好。

针对第二个挑战,我们提出了一个互导学习机制 (Co-guided Learning Schema)。所提出的互导学习机制使得用户价格偏好和兴趣偏好互相融合,指导彼此的表示学习过程,进而建模这两种偏好在决定用户行为时存在的复杂关系。

模型

我们提出的 CoHHN 模型如图所示。首先,我们根据匿名用户产生的会话(session)构建了异质超图,紧接着我们设计了一种双通道信息累积机制来学习节点的表示,随后我们使用注意力层来分别获取用户的原始价格偏好及兴趣偏好,然后我们提出互导学习机制来建模价格偏好及兴趣偏好之间的关系用以修正原始的价格偏好和兴趣偏好表示,最后我们根据用户的价格偏好和兴趣偏好为用户形成个性化推荐列表。

5.1 异质超图构建 

构建异质超图的流程如模型图最左侧所示。其中,S 代表匿名用户产生的会话,x 代表用户在会话中购买的某件商品,每件商品具有三种特征:i 是商品 ID,p 是商品的价格层级(我们将商品的绝对价格离散化得到价格层级),c 是商品的类别。

相应地,在构建的异质超图中,我们定义了三种异质节点,分别是 i(商品 ID),p(商品价格)和 c(商品类别)。根据异质节点间存在的不同关系,我们在异质超图中定义了三种不同类型的超边(hyperedge),分别是:特征超边,由一个商品所包含的所有特征组成;价格超边,由一个会话中所有商品的价格组成;会话超边,由一个会话中所有的商品 ID 组成。

5.2 双通道信息累积

在构建好异质超图以后,我们需要设计算法在异质超图中学习节点表示,以此编码商品的特征信息及用户的偏好信息。在所构建的异质超图中,一个目标节点 (p1) 会与不同类型的节点相邻接({c1,c2} {i1, i4})。其中,具有相同类型的节点包含同质的信息({c1, c2} 都表示类别信息),而不同的类型对目标节点贡献的语义不同({类型信息和 ID 信息对价格贡献不同的语义})。所以我们提出一个新的信息传递机制-双通道信息累积,将信息传递过程划分为两个通道:类内通道 (intra-type) 及类间通道 (inter-type)。我们先在每个类内进行信息累积,然后在类间进行信息传递。

对于类内信息传递,因为涉及的都是同质信息,所以我们采取注意力机制来获得类型表示,具体公式如下:

其可以抽象为一个函数:

对于类间信息传递,因为涉及的是异质信息,所以我们采用门控机制将不同的信息传递给目标节点,具体公式如下:

其可以抽象为一个函数:

利用提出的双通道累积机制,模型可以学习各个节点的表示,其中对于 ID 节点,我们额外引入了共现信息,将一个会话内的 ID 节点表示均值用于更新这一会话中的 ID 节点表示,具体公式如下:

最后,我们将这个过程迭代 r 次,获得每个节点的最终表示。值得注意的是,我们主要采用特征超边所表现出来的节点邻接关系来进行双通道信息累积。

5.3 用户偏好抽取 

基于学习到的节点表示,我们进一步依赖价格超边和会话超边来分别抽取用户的价格偏好和兴趣偏好。

对于用户价格偏好,我们采用多头注意力机制,使用序列中最后一个位置的输出做为用户的价格偏好。公式如下:

对于用户兴趣偏好,我们采用常用的注意力机制,将位置信息拼接到各个 ID 节点表示后,对所有 ID 节点的表示进行线性求和获得用户的兴趣偏好。公式如下:

5.4 互导学习机制 

基于学习到的用户原始价格偏好及兴趣偏好,我们提出一种互导学习机制来模拟用户选购商品时权衡价格与兴趣的过程。互导学习机制使价格偏好与兴趣偏好在不同的空间内进行交互,互相指引表示学习的过程,最终获得综合的用户价格偏好及兴趣偏好。公式如下:

5.5 用户行为预测 

根据学习到的用户价格偏好及兴趣偏好,以及商品的价格表示及 ID 表示,我们根据以下公式来计算每件商品被购买的概率:

我们使用交叉熵损失函数作为模型的损失函数:

字符级别的对齐约束

6.1 数据集及评价指标 

我们在三个公开数据集上进行实验,数据集情况如表1所示。我们采用会话推荐内常用的Prec@k和MRR@k作为评价指标。

6.2 总体表现

模型的总体表现如表 2 所示。由表可知,我们提出的模型 CoHHN 在所有数据集及所有评价指标上都取得了最优的结果。这证明了我们模型的有效性。

6.3 价格因素的重要性

为了进一步验证价格因素在会话推荐中起到的重要作用,我们进行了消融实验。实验结果如表 3 所示,其中 CoHHN-c 没有引入类别信息,CoHHN-p 没有引入价格信息,CoHHN-pp 引入了价格信息,但只将价格信息用于更新节点表示,没有显式地抽取用户的价格偏好。

由表 3 可知,CoHHN-pp 优于 CoHHN-p,CoHHN-c 优于 CoHHN-p,这证明了引入价格信息确实能够有助于理解用户行为,进而准确地预测用户偏好,验证了价格在会话推荐中的重要性。另外,CoHHN 优于 CoHHN-pp,证明了价格因素在用户购买行为中起到决定性的作用,应该被重点强调而不只是作为辅助信息来更新节点表示。

6.4 互导学习的效果

表 4 中,CoHHN-co 代表在原来的模型中移除互导学习机制,根据原始的用户价格及兴趣偏好计算商品得分,即按照如下公式计算商品得分:

CoHHN 优于 CoHHN-co,证明了我们提出的互导学习机制的有效性。也表明了,用户的价格偏好和兴趣偏好之间关系复杂,相互作用,共同决定用户的最终行为。而我们提出的互导学习机制可以有效地捕获价格偏好和兴趣偏好之间的关系,因而提升预测的准确性。

6.5 模型在不同价格层级下的表现

由以上实验可知,用户的购买行为由其价格偏好及兴趣偏好共同决定。然而,用户在这两种偏好下,展现出不同的特点。对于兴趣偏好,不同用户展现出极大的差异性。而对于价格偏好,大部分用户则趋向于购买中低价的商品。因此,如果我们一味地给用户推荐低价的商品,也会提高模型总体的准确度。但这种做法会损害商家的收益,因为往往高价的商品会给商家带来更高的利润。因此,我们在每个价格层级下检查模型的表现。

结果如图 4 所示,CoHHN 在所有价格层级上都要比最好的基线模型表现优异,证明了我们所提出的方法不仅能提升预测用户行为的准确度,也可以提高商家的收益。

结论

价格因素在用户的购买行为中起着至关重要的作用,因此,我们提出一个新的方法互导异质超图网络 CoHHN,将价格因素引入到会话推荐任务当中。具体来说,我们为会话推荐定制了一个异质超图网络来从丰富的异质信息当中挖掘用户的价格偏好及兴趣偏好。在异质超图中,我们设计了一个双通道累积机制用来从异质信息中学习节点表示。基于学习到的节点表示,我们采用注意力层来获取用户的原始价格偏好及兴趣偏好。

随后,我们设计了一个互导学习机制,建模用户价格偏好与兴趣偏好在决定用户购买行为时的复杂关系。最后,我们根据用户偏好及商品特征,形成个性化推荐列表。我们在三个真实的数据集上进行了大量实验。结果证明了我们模型的有效性。进一步的实验也验证了价格因素对会话推荐的重要性。更多方法细节及实验结果请参见我们的论文。

更多阅读

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

SIGIR 2022 | 基于用户价格偏好及兴趣偏好的会话推荐相关推荐

  1. SIGIR 2022 | 当多层级遇到多兴趣:用于序列推荐的多粒度神经模型

    ©作者 | 机器之心编辑部 来源 | 机器之心 来自快手和武汉大学的研究者通过结合多兴趣学习和多层级图卷积聚合提出了一种多粒度神经模型,显著增强了精确学习用户复杂行为的能力,对用户不同层级下多种兴趣的 ...

  2. Python+Django+Mysql个性化图书推荐系统 图书在线推荐系统 基于用户、项目、内容的协同过滤推荐算法(带设计报告)

    Python+Django+Mysql个性化图书推荐系统 图书在线推荐系统 基于用户.项目.内容的协同过滤推荐算法 WebBookRSM.Python python实现协同过滤推荐算法实现 源代码下载 ...

  3. #今日论文推荐#WSDM 2022 | 基于双曲几何无标度图建模的知识感知推荐

    #今日论文推荐#WSDM 2022 | 基于双曲几何无标度图建模的知识感知推荐 为了缓解传统推荐系统中的冷启动与数据稀疏问题,近年来,向推荐系统中引入外部知识构建知识图谱受到了越来越多的关注.此外,由 ...

  4. Python+Django+Mysql简单在线课程推荐系统 基于用户、项目、内容的协同过滤推荐算法 SimpleOnlineCourseCFRSPyth python实现协同过滤推荐算法实现源代码下载

    Python+Django+Mysql简单在线课程推荐系统 基于用户.项目.内容的协同过滤推荐算法 SimpleOnlineCourseCFRSPyth python实现协同过滤推荐算法实现源代码下载 ...

  5. Python+Django+Mysql个性化二手车推荐系统 汽车推荐系统 基于用户、项目、内容的协同过滤推荐算法 WebCarCFRSPython python实现协同过滤推荐算法实现源代码下载

    Python+Django+Mysql个性化二手车推荐系统 汽车推荐系统 基于用户.项目.内容的协同过滤推荐算法 WebCarCFRSPython python实现协同过滤推荐算法实现源代码下载 一. ...

  6. SIGIR 2021 | 基于用户偏好感知的虚假新闻检测

    ©PaperWeekly 原创 · 作者 | 金金 单位 | 阿里巴巴研究实习生 研究方向 | 推荐系统 简介 近年来,虚假信息和假新闻对个人和社会造成了不利影响,引起了对假新闻检测的广泛关注.大多数 ...

  7. Python+Django+Mysql实现在线音乐推荐系统 基于用户、项目、兴趣标签的协同过滤推荐在线音乐系统、用户兴趣标签推荐系统 代码实现 源代码下载

    Python+Django+Mysql实现在线音乐推荐系统(基于用户.项目的协同过滤推荐算法) 一.项目简介 1.开发工具和实现技术 pycharm2020professional版本,python3 ...

  8. MetaSelector:基于用户级自适应模型选择的元学习推荐

    文章目录 前言 Abstract Background 什么叫元学习? 元学习与机器学习的区别 元学习数据分布 推荐系统 Contributions: Method MetaSelector fram ...

  9. 基于物品的协同过滤mysql_使用Mahout基于用户和物品相似度进行协同过滤推荐内容...

    基于用户User协同过滤 package mahout; import java.io.File; import java.io.IOException; import java.util.List; ...

最新文章

  1. ffmpeg常用转换命令,支持WAV转AMR
  2. PCL点云库学习(1):环境配置(Ubuntu16.04+QT5+VTK8.0)
  3. Nginx使用服务信号升级
  4. php用go做跳转翻页,go.php跳转不输出权重的跳转方式真的有用么?
  5. tomcat Server.xml Context配置
  6. jQuery 1.9.1中live()变更
  7. js获取字符串出现次数最多_js如何获取字符串中出现次数最多的字符
  8. 设计模式之禅之设计模式-组合模式
  9. python asyncio_python asyncio(一)
  10. linux子进程杀不掉怎么办,LINUX KILL -9 杀不掉,求解决方法
  11. Thymeleaf 生成静态化模板
  12. HTML5浏览器兼容性解决方案
  13. 10月15号 360一面
  14. 看了这个教程,学会快速找出三等分点
  15. catia 二次开发:环境变量路径,检查路径存在,关闭文件,对象为空,获取pad对象,err,part的product,全局变量,常量,SystemService,input,选择文件 时间,函数调用
  16. iOS:error: unable to read input file
  17. 七战DTCC铸成ACE Director 去哪儿网周彦伟畅聊数据库的十八般武艺
  18. 如何用css写出一个三角形
  19. 跨境电商面临“寒冬”考验,如何转型升级入局新赛道(Starday)
  20. React-Navigation的goBack()跳转到指定页面,以及不同栈之间的页面的返回操作

热门文章

  1. PageRank 算法初步了解
  2. php写入速度rabbit,PHP操作RabbitMQ简单Demo
  3. 简述造成软件危机的原因
  4. GAN-风格迁移-CycleGAN论文解读
  5. JavaScript奇淫技巧:反调试
  6. 燕山大学数据结构二级项目实验报告
  7. 《Docker系列》Docker安装Hadoop
  8. 多维高斯混合模型参数估计(python)
  9. 联想Y7000P 2019装Ubuntu双系统遇到的问题
  10. Python抓取图片