冯英杰,张志鸿,贾玉祥
(郑州大学 计算机与人工智能学院, 郑州 450001)
推荐系统基于用户的历史行为来学习和预测用户偏好[1],在电子商务中有广泛的应用。社会化电子商务中,用户可以在自己的社交网络中分享一件商品,并邀请朋友组队,以优惠的价格团购商品[2]。
现有研究工作大多忽略了用户与朋友分享利益的差异性,使得推荐结果产生偏差。例如,一个用户可能与同学在运动方面有相同的兴趣,与家人在食材的购买中具有相同的选择。简单来说,不同社会关系对用户行为的影响是有差异的。为团购发起者推荐合适的商品,对组团成功率以及商品销量具有重要影响。
为了捕获这种差异化的影响,设计模型时,需要同时考虑团购发起者的兴趣、参与者的兴趣以及发起者对其他用户的影响[3]。如何同时在团购行为和社交网络中提取关键的信息,并将提取到的信息融合到偏好学习中是具有挑战性的。
针对上述问题,提出一种双通道超图卷积网络(dual-channel hypergraph convolutional network for group-buying recommendation,HCGR),通过在团购数据集上使用图表示学习来解决问题。为了区分不同角色之间的购买行为,设计了超图卷积网络的嵌入-传播层,以便有效地获得用户的潜在偏好。
主要贡献概括如下:
1) 提出了一种基于双通道超图卷积网络的团购推荐方法,根据用户角色的不同,设置不同的消息传递机制。将社交关系融入推荐系统中,更细粒度地建模用户的社会影响力,从而捕获差异化的社会影响,使模型具有更好的泛化能力。
2) 在真实团购数据集上的实验表明,HCGR相较于对比模型,性能提升3.18%~4.46%。通过消融实验以及数据稀疏性实验,进一步验证了模型的合理性。
与团购推荐相关的推荐形式有群组推荐和社会推荐。群组推荐中的群组是预先设定的,而团购推荐中的团体是动态生成的。常用的群组推荐方法是基于模型的,进一步可分为概率模型和神经网络模型。概率模型聚合了成员的个体偏好,基于其对该组的影响进行推荐。Cao等[4]假设最有影响力的用户有能力代表群体,对群体的决策产生较高的影响,从而区分不同成员对最终决策的贡献。为了能够进一步细化聚合的过程,Vinh 等[5]首次利用自注意力网络对成员的细粒度交互建模。但是上述模型都过于依赖群体内部的用户信息,并没有利用群组间用户的社交关系。为了解决这个局限性,Fan等[6]提出了层次传播的社会自注意网络来模拟社会影响,将偏好聚合过程设计为多个投票步骤。
社会推荐本质上是将社会关系整合到推荐系统,一方面缓解数据稀疏问题,另一方面用来提升推荐的性能。得益于强大的数据建模能力,图神经网络(graph neural network,GNN)[7]在社会推荐上取得了巨大的成功。Fan等[8]首此将GNN引入社会推荐,将用户-商品和用户-用户建模为图数据。Song等[9]模拟了用户基于会话的兴趣以及动态的社会影响。但是上述研究依然是基于经典图,无法对于一些复杂的关系进行建模。因此,超图卷积网络(hypergraph convolution network,HCN)[10]被引入推荐系统。Wu等[11]提出了一种双图注意力网络来协作学习双重社会效应的表示,以权衡社会效应的相互作用。模型MHGCN[12]将存在于异质信息网络中的不同网络模体(Motif)转换为由不同超边构成的超图,并通过在超图网络中加入自环解决在模型前向传播过程中对异质信息网络覆盖不足的问题。然而,这些现有的基于超图的推荐模型都是针对特定数据形式设计的,不适用于团购推荐问题。
团购推荐作为一种新型推荐场景,相关研究相对较少。Bai等[13]提出一种混合两阶段推荐(HTPR)方法,该方法将离线准备和在线推荐相结合,将聚类和协同过滤技术相结合,对项目进行聚类后构建用户-项目类别趋势矩阵,然后对用户进行聚类,再通过协同过滤进行个性化推荐。Zhang等[3]提出构建有向异构图来表示行为数据和社交网络,并设计了一种多视角嵌入传播的图卷积网络模型,分别获取不同角色的潜在偏好。但上述模型仅利用了用户的成对关系,并未利用用户间的高阶关系以及购买物品的时间间隔等信息,本文中所提出的双通道超图卷积网络模型正是要解决这一问题。
与之前推荐系统方面的研究一致,使用U={u1,u2,…un}表示用户集(|U|=n),I={j1,j2,…,jm}表示商品集(|I|=m)。|U|=n,|I|=m对应用户和商品的数量。用户、商品及其关系通常由用户-商品交互图和社交图来表示。S∈Rn×n表示用户的在线社交关系,若用户u1与u2是朋友关系,则对应下标 (1,2)的元素值为1,否则值为0。在真实的场景下,通常是使用B=〈ui,Up,j〉来记录团购行为,其中ui表示团购发起者,Up={up1,up2,…,upn}表示为团购的参与者,参与者来源于发起者ui的在线社交网络。在团购行为中参与者分为2种角色:具有共同利益的陌生人us和具有相似兴趣的朋友uf。为了便于计算,在存在多个参与者时(即|Up|>1),则将此次团购拆分为多组o=〈ui,up,j〉的集合来描述。
根据上述背景和符号,研究的问题描述如下。
输入:用户在线社交关系S以及团体购买行为O。
输出:用户u成功组队购买商品j的概率的非标准化分数。
通过模型为用户生成目标商品的预测得分并对其进行排序,然后在候选商品池中生成topK推荐列表。
利用非对称超图谱卷积算子学习模型中超图的嵌入。对于简单图,卷积算子可以表示为Xl+1=σ(A·XlPl),其中A为邻接矩阵,X为特征矩阵,P为可学习权重矩阵。由于关联矩阵H表示节点与超边的关系,因此用HWHT度量齐次超图中节点之间的成对关系,其中W是为所有超边分配权重的权重矩阵。因此,超图卷积算子可以表示为:
Xl+1=σ(HWHT·XlPl)
(1)
传统的社会推荐算法大多是构建用户-用户,用户-商品的二部图,这样虽然可以很好地捕捉用户的偏好信息,但是却忽略了图中的高阶交互信息。
为了获取团购行为中不同角色间的高阶信息,利用图中所有类别的行为,首先将用户的在线社交网络图GS和团购行为图GO对齐,为了区别不同角色之间的多重交互,根据嵌入角色的不同,将超图GO又分为2种子图:不存在社交关系的相似兴趣购买行为GP及朋友分享购买行为GF,如图1所示。
图1 团购中的2种购买行为
为了揭示不同角色的社会影响,需要设计查询嵌入层来判断(ui,up)是否存在社交关系。通过用户在S以及O中的嵌入,找出超图中的2种子图GP和GF:
(2)
式中:NO和NS代表节点;EO和ES代表图GO与GS的超边。在实际编码时,将发起者-参与者作为键-值对存储在字典中,通过字典的运算可得到2种子图。由于字典无法用函数表示,因此使用集合运算替代。
将团购行为中发起者ui,参与者up,商品j构建为超边 (ui,j,up)∈E。因为每条超边上的节点数量相同,所以本文的研究是基于一致超图的。然后利用从超图中获得的用户表示,预测目标用户u与给定商品j之间存在交互的可能性。
用于团购推荐的超图卷积模型HCGR主要包括3个模块:初始嵌入层、超图卷积层以及模型预测与优化层,如图2所示。在初始嵌入层中,根据用户的行为将超图分为2个子图。在通道内,根据超图谱理论设计图的卷积操作,引入注意力机制聚合超边中不同角色的节点,并通过门控机制合理分配通道的权重。然后采用简单而有效的内积来捕获用户对平台推荐商品的兴趣。最后,结合朋友的偏好,生成目标用户与商品之间的分数,并使用贝叶斯个性化排序(bayesian personalized ranking,BPR)损失来优化模型的参数。
图2 HCGR模型架构
在该模型中,存在多个超图卷积层,因此使用Z∈Rn×d和Q∈Rm×d分别表示在每层学习到的特征维度大小为d的用户嵌入和商品嵌入。注意,这里的用户嵌入包含了发起者和参与者,为了便于用户和商品在相同的空间中表示,这里使用Cl=[Zl;Ql]表示第l层的嵌入,其中C(0)=[Z;Q]。
通过初始时团购行为中用户和商品的交互,可以得到用户i在团购行为O中的特征Zi,表示用户在商品空间中的历史行为统计。由此可得到社交关系图GS中用户与朋友之间的相似度计算方法:
(3)
4.2.1 通道内超图卷积
为了从超图中学习用户和商品的表示,使用超图卷积来捕获发起者、参与者和商品之间的高阶关系。参考式(1),可定义通道GP中的传播规则如式(4)所示,这里参照文献[14]去掉了非线性激活函数。
(4)
在团购行为中,用户与朋友可能共同购买多次,为了更好地捕获用户与朋友的共同偏好,将超边上发起者-参与者〈ui,uf〉作为一个整体,通过行为感知捕获ui和uf之间的相似性。可设置通道GF的传播规则为:
η=t(ui,uf)
(5)
由于不同的行为对最终生成的用户嵌入具有不同程度的影响。因此,为了动态地聚合不同角色邻居节点的影响,在两通道中引入注意力机制,由于注意力对输入的特征尺度敏感,这里使用双正规化[15],分别规范行和列:
式中:LeakyReLU是非线性激活函数;aT是可训练参数;权重矩阵P将Cvi和Cej映射到相同的向量空间。通过引入注意力机制,可以更好地描述超边内节点的相互影响。
经过l层的传播,可以得到用户和商品的l个不同的嵌入{C0,C1,…,Cl},根据现有的工作,可以连接所有层级,得到局部的用户和商品特征表示:
(7)
4.2.2 全局特征表示
通过通道内超图卷积,可以从2个通道中得到朋友分享行为嵌入Cf与陌生人共同购买行为嵌入Cp,为了能够自适应融合2个通道的表示,采用门控机制,通过计算门g得到最终的嵌入表示:
(8)
用户和商品的嵌入在同一向量空间中表示,因此超图卷积算子不能直接作用于显式社交网络。例如在图1中,用户u1,u4,u5在超图中分别属于不同的超边,且u1,u4,u5是存在社交关系的,但是在超图中并没有对其进行建模。为了解决这个问题,需要对用户社交关系进行编码,最后形成全面的用户表示。
在社会关系中,用户之间的联系强度并不一致,而且这种强度与用户之间的相似性相关联。为了获取用户的潜在特征,需要从高阶邻居获取信息。经过l层的传播后,从l阶邻居节点获取的用户嵌入可以表示为:
(9)
结合用户在商品空间中的表示,可以得到全面的用户表示:
(10)
1) 预测层:用户u成功购买商品j的预测函数,是通过取其最终表示的内积来计算的:
(11)
2) 优化层:为了优化模型的参数,采用在隐式推荐系统中广泛应用的BPR损失函数,如下:
(12)
{(i,j,j′)|(i,j)∈Y+,(i,j′)∈Y-}表示带有负样本的成对训练数据,Y+与Y-分别表示观察到的和采样到未观察的用户-商品交互集合。
6.1实验设置
6.1.1数据集
由于国内团购网站数据的保密性较高,获取相关的团购数据集较为困难,目前只有一个公开数据集Beibei,该数据集来自我国最大的母婴产品电子商务平台——贝贝,包含了平台数据库中的团购日志以及用户的社交关系。表1展示了数据集的具体信息。
表1 Beibei数据集信息
使用该数据集来评估模型,能够反映具有代表性的现实场景。由于该场景已经取得显著成效,例如拼多多,证明我们所研究的问题是具有应用价值的。
将数据集划分为训练集(占80%)和测试集(占20%)。对于所有提到的模型,包括基线和HCGR模型都使用推荐系统中常用的损失函数BPRloss进行训练。训练集中随机选取8个与用户没有交互过的商品作为负样本。对于所有的测试集,为每个用户随机生成800个未被交互的商品,然后对测试商品和采样商品进行排序。
将Adam优化器部署在大小为4 096的小批量上,并设置特征嵌入d=32进行拟合,在{1e-1,1e-3,1e-5,2e-3,3e-3}中调整学习率,在{1e-1,1e-2,1e-3,1e-4,1e-5}中搜索L2正则项的系数。同时设置超图卷积以及图卷积的层数为2。
6.1.2 基线和评价指标
将提出的HCGR模型与几种具有代表性的模型进行比较,包括协同过滤方法和社会推荐方法。为了使团购数据集能适用于下列模型,将发起者-商品和参与者-商品看作纯粹的用户-商品交互。
LightGCN[16]:通过用户-商品交互图线性传播用户和商品嵌入进行学习,并使用在所有层上学习到的嵌入的加权和作为最终嵌入结果。
UltraGCN[17]:通过约束损失替代显式消息传递,同时,分配更合适的边缘权重,灵活调整不同类型关系之间的相对重要性。
GraphRec[8]:提供了一种原则性的方法来联合捕获用户-项目图中的交互和用户的兴趣,对二部图异构强度进行了一致建模。
GBGCN[3]:从多视角以及交叉视图的传播获取团购中用户交互的复杂反馈以及社会影响,是针对于团购个性化推荐的模型。
Diffnet[18]:一种基于GCN的社会推荐模型, 提出了一种模拟用户受到递归社交行为传播的深度影响传播模型。
SHGCN[19]:将社会关系引入“用户-商品”关系,使其扩展为“用户-商品-用户”的三重关系,并统一使用超图卷积网络建模。
MHCN[20]:基于多通道超图的卷积网络,将用户-商品分为多个模体,并在学习目标中增加了自监督机制,用以最大化层次交互信息。
NGCF-EG:NGCF[21]是基于GCN的模型,通过高阶连接和传播注入协作信息,将社交网络合并到用户-商品二部图,从而得到扩展图。
为了全面评估算法,使用2个广泛使用的基于排名的度量,召回率Recall@K和归一化折扣累计增益NDCG@K:
(13)
对于6.1节中评价指标Recall@K与NDCG@K,将K值设置为{5,10},与现有基线的整体推荐性能比较如表2所示。
表2 在Beibei数据集上的整体性能
从表2中可以看出,HCGR在Beibei数据集上显著优于所有基线,在所有的Recall@K和NDCG@K度量中都优于所有基线。在Recall@5、Recall@10、NDCG@5、NDCG@10分别提高了4.46%、3.64%、3.74%、3.18%,并且HCGR在值较小的情况下表现更好,在团购的场景下更具有应用价值。随机选取5个种子进行重复训练,取平均结果,且样本中的t检验p值小于0.03,说明HCGR模型是有效且稳定的。
在团购场景下,用户和项目之间的关系是多重的。LightGCN旨在探索用户-项目二分图中的协同过滤信号,无法建模多重关系。UltraGCN解决了LightGCN显式消息传递以及多层堆叠所存在的问题,因此其性能略优于LightGCN,整体性能相对于UltraGCN提升了2.21%~4.49%。
通常情况下,推荐系统中使用社交网络信息表现会更好,例如,NGCF-EG在Recall@10和NDCG@10上的表现相较于GBGCN分别提升了3.16%、4.03%。一方面,社交关系的融入能够对推荐系统起到辅助作用,更好地了解用户的偏好。另一方面,社交关系能够有效地缓解推荐系统中常见的数据稀疏性问题。
从表2中可以看出,NGCF-EG直接将社交网络融入,其推荐效果没有体现出来,因为它不能捕获不同用户角色的社交关系潜在特征。相比而言,HCGR能够更加充分提取用户的潜在信息,建模用户的嵌入。
MHCN模型虽然同样使用超图提取用户之间的高阶信息,但是却有一定的局限性,因为其没有考虑到商品的交互时间。虽然考虑到了用户购买商品的多种方式,但是用户对商品的购买是具有先后性的,比如u1与u2虽然在社交关系中连通且购买了相同的商品,但是u1购买该商品较早,其特征空间可能已经发生变化。从表2中可以看出,MHCN模型在Beibei数据集上的表现并不理想。
数据稀疏性问题是推荐系统的主要问题,选择2个具有代表性的模型Diffnet和SHGCN作为对比,评判HCGR模型在稀疏数据上的推荐性能。具体来说,根据测试集中用户在训练集中的历史购买行为记录,将用户分为3组,并分别对3组用户进行评估。横轴显示了用户组信息,纵轴显示了L=10的情况下各组的推荐性能。对于每一组,都取5次训练的平均值,结果如图3所示。
图3 各组稀疏分布及实验结果
从图3(a)可以看出,90.27%的用户交互次数不超过10次,几乎一半以上的用户交互次数不超过5次。分别在3组用户中进行试验,能很好地体现出模型在稀疏条件下的推荐性能。
由图3(b)和图3(c)可以看出,交互次数在1~5的用户组中,Diffnet的表现与HCGR的表现是接近的,而SHGCN的表现却并不是很理想,可能是因为Diffnet能够更好地模拟用户社交影响的传播,因此在交互非常稀疏的条件下,Diffnet能够有较好的表现。在所有分组中,本文模型均优于另外2个模型,虽然在初始时提升效果并不明显,但随着用户交互次数的增加,模型Recall的NDCG和性能都迅速提高。相比于SHGCN,提升在6.5%~7.6%,说明了HCGR模型在缓解数据稀疏问题上的有效性。
表3 HCGR与其变体的推荐性能
从表3中可以看出,HCGR-G的推荐效果总是比HCGR-DC好,证明了设置双通道的有效性,也从侧面说明将用户分为不同角色进行处理的必要性。从结果上来看,设置双通道比单通道的效果提升 2.14%~3.49%。通过HCGR-G与HCGR的对比可以看出,相较于简单的拼接,使用门控聚合能够将推荐性能提升2.60%~3.15%。说明门控聚合可以更好地提取用户的潜在特征中显著的部分,进行平滑组合。
深度学习模型的超参数选择一直都是一个具有挑战性的问题。使用正则化用来防止过拟合,并在{1e-1,1e-2,1e-3,1e-4,1e-5}选择正则项。为了探究HCGR层数对性能的影响,在{1,2,3,4}范围内改变模型的深度。实验结果如图4所示。
图4 超参数对推荐性能的影响曲线
从图4(a)可以看出,当改变L2正则项时,Recall@10的波动在2.2%以内,NDCG@10的波动在2.7%以内,说明模型性能对超参数的设置并不敏感。从图4(b)可以看出,当层数为2时,模型的推荐性能达到最优,随着层数增加,HCGR在数据集上的性能下降,可能的原因是HCGR聚合了高阶邻居的信息,随着深度增加,会出现过拟合的问题。
对社会电子商务的团购推荐问题进行了研究,提出使用超图来表示团购行为,通过社交网络对团购中用户的角色进行区分,建立了双通道超图卷积网络模型,捕捉朋友之间的细粒度社会影响。在真实的团购数据集Beibei上的实验表明,HCGR模型优于所有对比模型,并能很好地缓解数据稀疏性问题。
在未来的工作中,计划在更多的团购场景中测试模型的有效性,验证模型的泛化能力。利用更多的显式信息,例如复杂交互的显示评分以及时间信息,对用户的长短期兴趣进行建模。考虑引入对比学习作为辅助任务,增强模型在更复杂场景下的推荐性能。