Advertisement

【论文阅读】Hypergraph Convolutional Network for Group Recommendation

阅读量:

目录

  • group recommendation

  • 双通道超图卷积网络

    • 符号定义
    • member-level偏好网络
    • group-level偏好网络
    • 组偏好聚合
    • 预测
    • 优化
  • 实验

    • 数据集
    • Baseline
    • 评价指标
    • 实验对比

原文: https://ieeexplore.ieee.org/abstract/document/9679118

group recommendation

群组推荐:给一组用户推荐items。在现实生活中,人们通常会共同消费某个产品,例如与朋友一起吃饭,与家人一起看电影。群组推荐中,各个成员的兴趣点可能不一致,并且对于最终决策的影响力和贡献度也不一致,因此其比给单个用户推荐要复杂许多。

目前的群组推荐方法:预定义策略 :用户兴趣采用预定义的策略进行建模,例如average、least misery等方式。这种方式在建模时不够准确并且不能够动态调整权重。基于模型 :通过捕获用户间的交互来合理的聚合信息。基于深度学习 :注意力机制、社交网络等。

这些方法存在一些缺陷:
1)没有利用group之间的交互信息,忽略了跨组的协作信号;例如下图中,可以从user和item两个视角考虑组之间的协作信息:user层面,g1和g2有共同的u2,可以推测g1可能对i3感兴趣,因为g2选择了i3;在item层面,g1和g3都选择了i2,g1可能对i4感兴趣,因为g3选择了i4。
在这里插入图片描述

2)group最终的选择可能不同于组内任何一个用户的兴趣,因此上述方式不足以描述总体偏好。例如一家三口去看电影,孩子喜欢卡通片,父母喜欢喜剧片,最终一起去电影院可能会选择教育电影。

双通道超图卷积网络

这篇文章提出双通道超图卷积网络(HCR):一个通道为超图卷积,融合跨组用户的偏好信息,一个通道为普通图卷积,了解群组的偏好。

符号定义

U=\left\{u_1,u_2,...u_m\right\}
I=\left\{i_1,i_2,...i_n\right\}
G=\left\{g_1,g_2,...g_k\right\}
分别表示user集合、item集合、group集合。
Y=[y_{th}]_{k\times n}表示group与item的交互,R=[r_{jh}]_{m\times n}代表user与item的交互。
超图G^h=(V^h,E^h)V^h包含user和item两种结点,E_h为group成员和交互过的item
重叠图G^o=(V^o,E^o),把超图的超边作为顶点,如果超边有重叠顶点,则连接两个超边,并将重叠比例作为边权重
在这里插入图片描述
如上图(a),虚线为超边,超边内包含user和组交互过的item,图(b)将超边作为顶点,e1和e2有一个顶点重叠,一共有6个顶点,因此其连接边权重为1/6

member-level偏好网络

主要包括两个步骤,先通过超图卷积学习user-item的高阶表示,再通过注意力机制学习组内成员的偏好:

超边共享的部分能够体现组之间偏好的协作关系,通过超图卷积来学习user和item的表示。采用超图卷积学习顶点的embedding,公式如下(这里不同于HGNN,舍去了非线性化部分):
在这里插入图片描述
group聚合user和item的信息,再将信息从group聚合到结点,实现跨组协作信息的提取,来增强user和item的表示。
在经过L层的卷积后,对每层的embedding进行平均得到:X^*=1/(L+1)\sum_{l=0}^LX^{(l)},并且将user和item的表示进行连接:X^*=[U^*;I^*]

为了考察成员对于组的决策的影响,本文对user的表示进行加权求和
在这里插入图片描述
其中系数\alpha (j,h)为可学习参数,表示user在组中决策时的影响。embedding u 表示user的历史偏好,而u *则包含了协作信息,将两者连接 起来共同加入计算。定义\alpha为:
在这里插入图片描述
W_u,W_i为可学习权重,学习用户表示以后,通过激活函数ReLU再与权重h^T相乘,转换为分数;
再对分数进行标准化(即上面公式的第二行,相当于softmax)。
这一步骤通过软注意力机制,结合用户历史和协作信息与项目属性和协作信息,来计算用户在群体决策中的贡献

meber-level网络得到最终的embedding为: g_t^M

group-level偏好网络

直接聚合组内成员的偏好作为组的偏好可能会忽略group-level的固有偏好,group的偏好可能与组内成员都不一致。

通过对重叠图进行卷积,获取组的表示,捕获组之间的高阶交互信息:
在这里插入图片描述
上式中,G为group embedding,Q为可学习权重,
同样的,对经过L层卷积得到的embedding进行平均,得到最终的embeddingG^*=1/(L+1) \sum_{l=0}^L G^{(l)}

在group-level得到embedding: g_t^G=G^*_t

组偏好聚合

通过上述两个level网络得到两个embedding:g_t^M, g_t^G,为了合并两个隐层表示,设计了一种门控网络(参考LSTM和GRU):
在这里插入图片描述

预测

对于group-item待预测对,采用以下公式进行预测:
在这里插入图片描述
i_h为目标item的嵌入,w为预测层的权重。

优化

采用pairwise学习框架 来设计损失函数:
在这里插入图片描述
D_G表示group-item训练集,每个项为三元组(t,h,h'),表示组g_ti_h产生了交互,而与i_{h'}没有交互。

由于数据的稀疏性,为进一步提升准确度,加入了user-item交互信息,同样地,对于user-item对,采用与上述group-item预测相同的参数进行预测:
在这里插入图片描述
最终的损失函数 如下:
在这里插入图片描述
同样的,D_U中三元组表示,用户u_ji_h有交互,与i_{h'}没有交互
在这里插入图片描述

实验

数据集

复制代码
    Mafengwo:为马蜂窝网站数据集
    CAMRa2011:用户和群组对电影的评分
    
    
      
      
    

预处理:
a. 每个群组至少有2个成员,以及至少与3个item交互过
b. 由于两个数据集都只包含正样本,需要从缺失数据中随机抽取负样本,进行配对。
在这里插入图片描述

Baseline

NCF :将组看作一个虚拟用户,同时使用用户和虚拟用户的信息进行预测
Popularity :根据item的流行度进行推荐,流行度用交互次数来衡量
COM :基于概率理论模拟群体活动
UL_ALL :分级聚合
AGR :基于注意力机制,学习用户注意力权重
SoAGREE :社交信息增强,分层注意网络

评价指标

HR@N:每个用户top-N列表中属于测试集合的item个数,与测试集中用户实际交互item的个数,之比
HR@N=\frac{NumberOfHits@N}{GT}
分子为命中数量,分母为总数。

NDCG@NNDCG是什么,评价排序的准确性

实验对比

1. 组推荐任务
在这里插入图片描述

2. 用户推荐任务
在这里插入图片描述
3. HCR每个组件的重要性
在这里插入图片描述

复制代码
    HCR_M:只有member-level网络
    HCR_G:只有group-level网络
    
    
      
      
    

组推荐中(table4)

  • 在组推荐中,HCR优于只有其他两种模型,说明了两个层级对于整体模型都有作用
  • 在Mafenwo数据集上,HCR_M优于HCR_G,由于该数据集平均成员数和总用户数大,且群体交互信息少,因此更适用member-level方式聚合信息
  • 在CAMRa2011数据集上,由于平均组成员数和总用户数少,成员的兴趣组合较少,且群体交互数据多,因此更实用group-level方式

用户推荐中(table5)

  • HCR_M在Mafengwo数据集获得最佳性能,用户数量庞大,group-level建模可能会干扰用户兴趣的学习
  • 在CAMRa2011上,HCR获得最佳性能。

4. 超参数

  • 考察卷积层数的影响:层数为3时,在两个数据集上效果较好
    在这里插入图片描述

  • 考察负采样策略(随机采样各种数量的缺失数据作为负样本)的合理性,当选择更多的负样本时,负采样的性能变得稳定,并近似于所有缺失数据的结果。根据实验结果可知,采样更多的阴性样本是有益的。通过增加负样本数,模型具有更大的优化能力。随着负样本的增加,模型性能大大提高并趋于稳定:
    在这里插入图片描述

全部评论 (0)

还没有任何评论哟~