扬州公司做网站公司哪家好,做视频网站怎么对接云盘,网站开发需求网,济南外贸网站建设题目#xff1a; Multi-behavior Recommendation with Graph Convolutional Networks 论文地址#xff1a; 论文代码#xff1a;
想法
将相同行为的交互方式进行了聚合来计算user Embedding和item Embedding
创新
模型要做的事情就是user-item传播层学习行为影响力度 Multi-behavior Recommendation with Graph Convolutional Networks 论文地址 论文代码
想法
将相同行为的交互方式进行了聚合来计算user Embedding和item Embedding
创新
模型要做的事情就是user-item传播层学习行为影响力度item-item传播层去捕获行为语义
摘要
过去的问题
传统的推荐模型仅仅利用一种用户-物品的交互数据如购买行为因而综述遭受数据稀疏和冷启动的问题但是该用户可能没有购买只是浏览、点击和收藏等这些隐藏信息。
早期的推荐系统并没有考虑到这些隐藏信息的权重信息也就忽略了这些数据中隐藏的行为语义。
我们
我们的工作中创造了一个统一的图来表示多行为的数据
并且提出了我们的模型叫做**MBGCN**题目使用GCN的层层传播语义的功能
2 PROBLEM FORMULATION
在在线信息系统的真实场景中用户可以通过点击、收集、购买、分享等多种方式与平台提供的物品进行交互。在各种类型的用户项目交互中总有一种类型直接决定着平台的利润。
例如电子商务推荐系统一直是针对购买行为设计的App推荐系统是针对下载行为设计的。
但是单一行为的方式往往效果不好而且缺乏数据。
在这项工作中我们的目标是利用其他类型的反馈设计一个推荐模型的目标行为。 约定一下 假定行为的数量是TTT
交互矩阵YtY^tYt表明了和item有没有交互。
所有的行为矩阵可以表示为{Y1,Y2,...,YT}\left \{ Y^1, Y^2,...,Y^T \right \}{Y1,Y2,...,YT}其中{Y1,Y2,...,YT−1}\left \{ Y^1, Y^2,...,Y^{T-1} \right \}{Y1,Y2,...,YT−1}表示为辅助行为而YTY^TYT表示为目标行为。
注意对行为的时间顺序或强度顺序没有限制。换句话说行为t−1t-1t−1并没有ttt之前发生并且yuit−1y_{ui}^{t-1}yuit−1和yuity_{ui}^{t}yuit并没有反应的更强或者更弱。那么多行为推荐的任务可以表述为:
Input user-item的交互数据 TTT种类型的行为
Output user u在T-th行为下和item i交互的概率
3 METHODOLOGY
我们的模型有四个重要的组成部分: 1)一个共享层它为用户和项目嵌入提供初始化; 2)user-item传播层学习每个行为的强度同时提取基于多行为的用户-物品交互的协同过滤信号; 3)item-item传播层根据行为类型细化项目之间的特殊关系即行为语义; 4)联合预测模块。 3.1 Unified Heterogeneous Graph
输入交互数据用无向图表示 G(V,E)\mathrm{G(V,E)}G(V,E)其中节点由user和item组成。
在E\mathrm{E}E中的边包含了不同行为的不同的user-item的交互边名字为(u,i)t(u, i)_t(u,i)t,t∈Nrt\in N_rt∈Nr其中NrN_rNr是所有行为类型的集合
同时在items之间一些meta-paths将会基于用户的协同行为多个用户都购买了XX建立。
比如iphone和AirPods很多人都同时购买了那么item-purchase-user-purchase-item的元路径将会被建立。
也因此元路径的类型和行为类型数量是一样的
3.2 Shared Embedding Layer
pi(0)∈Rdand qj(0)∈Rdp_{i}^{(0)} \in \mathcal{R}^{d} \text { and } q_{j}^{(0)} \in \mathcal{R}^{d}pi(0)∈Rd and qj(0)∈Rd是user和item的嵌入。
之后可以将user和item的嵌入向量可以用嵌入矩阵表示
同时我们使用one-hot矩阵乘法获得某个用户和item的向量
其中IDkUID_{k}^UIDkU和IDjVID_{j}^VIDjV分别是用户uku_kuk和iji_jij的one-hot向量。
3.3 Behavior-aware User-Item Propagation
为了捕获基于多行为的CF信号我们在用户和项目之间建立了一个消息传递体系结构。 相同的颜色的线表示的是相同的行为
3.3.1 User Embedding Propagation.
我们的主要想法是根据行为类型通过两个关键因素:行为内在强度和交互稀疏性来考虑物品对用户偏好的不同影响。
User Behavior Propagation Weight Calculation: 由于不同的行为对目标行为的贡献不同我们为每个行为分配权重,也就是wtw_twt为了行为ttt。
为了融合行为重要性和行为稀疏性我们为用户 u 定义了特定行为 t 的传播权值αut\alpha _{ut}αut如下所示:
其中wtw_twt对于所有用户来说是一样的。
nutn_{ut}nut是被user u操作的行为 t 的数量 这取决于用户。∑m∈Nrαum\sum_{m \in N_{r}} \alpha_{u m}∑m∈Nrαum是所有用户u的交互
www更大的行为将会比更小的行为重要∑t∈Nrαut1\sum_{t \in N_{r}} \alpha_{u t}1∑t∈Nrαut1而且该权重是系统自动学习到的。
Neighbour Item Aggregation Based on behavior. 对于每个用户来说不同的行为对目标行为的贡献是不同的但直觉上相同行为下交互的物品反映了用户相似的偏好强度。
因此将与用户具有相同行为交互的项聚合在一起以获得每个行为的一个嵌入pu,t(l)p_{u,t}^{(l)}pu,t(l)该式子表示 对于在行为 t 下的用户 u 的表示
NtI(u)N_t^I(u)NtI(u)是用户u在行为t下的交互的items
qi(l)q_i^{(l)}qi(l)是item i的在层l的嵌入
聚合函数可以是一个函数如简单的均值函数抽样的均值函数最大池化等等。这里我们使用简单的中值函数
pu,t(l)p_{u,t}^{(l)}pu,t(l)用户 u 在行为 t 下在 lll-th 层的聚合嵌入。
Behavior-level Item Propagation for User就是上面图的上半部分
我们根据权重αut\alpha_{ut}αut对嵌入在一起的邻居项聚合求和然后通过一个编码器矩阵得到user u的最终邻居项聚合。我们采用无激活函数的图神经网络来细化基于多行为的信息 αut\alpha_{ut}αut它既取决于行为显著性也取决于每种行为下的用户交互量。
3.3.2 Item Embedding Propagation
上面的item-to-user是根据用户的行为然后赋予item权重得到的用户特征。
这里的user-to-item中item的特性是静态的所以不管行为类型假设不同用户对同一项内容的贡献是相同的。
下面就是聚合用户行为后的 虽然在user-to-item的传播中没有考虑行为类型但不能说多行为不能用于物品特征学习。
事实上item相关性或者换句话说行为语义可以从item-to-item的多行为数据中学习。
3.4 Item-Relevance Aware Item-Item Propagation 但是前面提到了需要解决的第二个问题是捕捉items之间的关系所以item还需要进行一次传播得到额外的一个在不同行为下的item表示。即被同一个用户都交互了的物品之间存在有特殊的连接 这个操作也可以参考上图目的是求出item i 的下一层嵌入 即t1行为之间进行聚合t2行为之间进行聚合就行。
上图是t1行为的下图是t2行为下的
3.5 Joint Prediction
得到各层的表示直接拼接就行 然后可以做两个预测任务User-based CF Scoring和Item-based CF Scoring。
3.5.1 User-based CF Scoring
根据所得到的用户和物品的embedding做简单的内积。
3.5.2 Item-based CF Scoring
计算与用户u交互的所有物品们与目标物品iii的相关性分数两个item之间被某用户有相同的行为如都购买了会影响到分数。 最后两者一起作为预测分数
所以其实对应开头的两个问题模型要做的事情就是user-item传播层学习行为影响力度item-item传播层去捕获行为语义
3.6 Model Training
BPR loss它强调了观察到的和未观察到的用户-物品交互之间的相对顺序并声称观察到的交互对于用户的偏好学习具有指导性应该比未观察到的交互获得更高的预测分数。 其中O{(u,i,j)∣(u,i)∈R,(u,j)∈R−}O\left\{(u, i, j) \mid(u, i) \in R^{},(u, j) \in R^{-}\right\}O{(u,i,j)∣(u,i)∈R,(u,j)∈R−}表示成对目标行为训练数据集 RR^R表示观察到的目标行为; R−R^-R−表示了没有观察到的目标行为 σ(⋅)\sigma (\cdot )σ(⋅)激活函数 Θ\ThetaΘ是所有可训练的参数 β\betaβ是归一化系数控制L2归一化的强度以防止过拟合。
我们提出了两种广泛使用的dropout方法:message dropout和node dropout到一些用户节点和项目节点。Message dropout以possibility的形式随机删除一些流动的消息而node dropout则随机删除一个特定的节点并提取其所有流动的信息。