作者:张晓堃
单位:大连理工大学
来源:社媒派SMP
论文链接:
会话推荐
研究动机
很多经济学研究表明,商品价格在用户选购商品时起着至关重要的作用。这也符合我们的认知,当用户浏览商品时,价格往往是用户最关注的商品属性。商家也常常在最显著的地方标明商品的价格,以引起消费者的注意。因此,为了更好的预测用户的购买行为,我们需要在会话推荐中考虑用户的价格偏好。
面临挑战
挑战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 数据集及评价指标
6.2 总体表现
6.3 价格因素的重要性
为了进一步验证价格因素在会话推荐中起到的重要作用,我们进行了消融实验。实验结果如表 3 所示,其中 CoHHN-c 没有引入类别信息,CoHHN-p 没有引入价格信息,CoHHN-pp 引入了价格信息,但只将价格信息用于更新节点表示,没有显式地抽取用户的价格偏好。
6.4 互导学习的效果
表 4 中,CoHHN-co 代表在原来的模型中移除互导学习机制,根据原始的用户价格及兴趣偏好计算商品得分,即按照如下公式计算商品得分:
CoHHN 优于 CoHHN-co,证明了我们提出的互导学习机制的有效性。也表明了,用户的价格偏好和兴趣偏好之间关系复杂,相互作用,共同决定用户的最终行为。而我们提出的互导学习机制可以有效地捕获价格偏好和兴趣偏好之间的关系,因而提升预测的准确性。
6.5 模型在不同价格层级下的表现
由以上实验可知,用户的购买行为由其价格偏好及兴趣偏好共同决定。然而,用户在这两种偏好下,展现出不同的特点。对于兴趣偏好,不同用户展现出极大的差异性。而对于价格偏好,大部分用户则趋向于购买中低价的商品。因此,如果我们一味地给用户推荐低价的商品,也会提高模型总体的准确度。但这种做法会损害商家的收益,因为往往高价的商品会给商家带来更高的利润。因此,我们在每个价格层级下检查模型的表现。
结果如图 4 所示,CoHHN 在所有价格层级上都要比最好的基线模型表现优异,证明了我们所提出的方法不仅能提升预测用户行为的准确度,也可以提高商家的收益。
价格因素在用户的购买行为中起着至关重要的作用,因此,我们提出一个新的方法互导异质超图网络 CoHHN,将价格因素引入到会话推荐任务当中。具体来说,我们为会话推荐定制了一个异质超图网络来从丰富的异质信息当中挖掘用户的价格偏好及兴趣偏好。在异质超图中,我们设计了一个双通道累积机制用来从异质信息中学习节点表示。基于学习到的节点表示,我们采用注意力层来获取用户的原始价格偏好及兴趣偏好。
随后,我们设计了一个互导学习机制,建模用户价格偏好与兴趣偏好在决定用户购买行为时的复杂关系。最后,我们根据用户偏好及商品特征,形成个性化推荐列表。我们在三个真实的数据集上进行了大量实验。结果证明了我们模型的有效性。进一步的实验也验证了价格因素对会话推荐的重要性。更多方法细节及实验结果请参见我们的论文。
由于公众号试行乱序推送,您可能不再准时收到机器学习与推荐算法的推送。为了第一时间收到本号的干货内容, 请将本号设为星标,以及常点文末右下角的“在看”。