【论文阅读】Bundle Recommendation and Generation with Graph Neural Networks
目录
Introduction
* Prediction
* Training with hard negatives
* model
- Methodology of Bundle Generation
- Display Preview Effect
-
Methodology
-
- Graph Representation of Bundle Structure
- Node Retrieval Process
- Edge Construction Mechanism
-
model
-
- Display Preview Effect
Bundle Personalized Recommendations and Generation with Graph Neural Networks
Introduction
该工具旨在为用户提供一个捆绑包服务(bundle),以便帮助用户实现捆绑消费(bundled project recommendation)。Bundle即为一个捆绑包组合(bundling strategy),将多个相关或互补的产品组合在一起(complementary products),以便更好地满足用户的多样化需求(diverse user requirements)。这种策略类似于市场营销中的捆绑营销策略(bundled marketing tactics),通过提供套餐优惠、交叉销售等方式(package deals, cross-promotions)来吸引消费者并提升购买意愿(customer purchasing intent)。在电子商务平台中构建高效的捆包系统是一项重要任务(key task in e-commerce systems)。因此,在设计捆包方案时需充分考虑产品吸引力(product attractiveness)以及如何最大化满足用户需求(maximizing user needs satisfaction)的同时提供捆包语义表达功能(bundle semantic expression features)如整体信息展示、核心特征解析等
虽然这是一种新兴的交互模式,在平台与捆绑包之间的交流信息相对有限的情况下,在推测用户的偏好时也会遇到较大挑战。通常情况下,bundler推荐主要可分为两种类型:一种是为平台提供预装组件的bundler推荐方案;另一种则是为用户提供定制化的捆绑方案。
根据用户的偏好预测捆绑包与其组件的匹配度,并结合用户的互动数据以及捆绑包组件的相关属性作为辅助信息进行分析。基于现有数据优化后生成的最佳组合将能够充分满足用户的喜好需求。bundle生成 则是根据用户对现有捆绑包的喜好,生成一个最大满足用户喜好的捆绑包。因此,在构建推荐系统时,用户体验的数据具有重要意义。
本文中,根据以上两种方式分别给出了两种GNN模型,BGCN与BGGN 。
Bundle Recommendation
preview
目前已有研究中通常将捆绑推荐拆分为两个相互独立的任务,并通过共享参数将这两个任务关联起来。在该研究中提出了一个多任务学习框架。该多任务框架通过整合user-bundle与user-item的交互关系,并结合多任务学习的方式优化用户体验。能够有效地缓解了user-bundle交互数据稀疏的问题。但现有方法仍存在一些局限性:
- 存在用户、物品和捆绑包之间关系的分离建模问题,并未有效平衡主要任务与辅助任务的权重分配;
- 忽视了各个捆绑包之间的相互联系及其互换性;
- 用户在选择捆绑包时倾向于选择其中多数项目的组合,但在遇到一个不受欢迎的项目时可能会放弃整个捆绑包
为了应对现有局限性问题,在此提出了一种名为BGCN的新方法。该模型将三种类型节点——用户、物品和捆绑项——整合进一个异构图框架中,并通过中间节点item建立关联。在这一网络中,“bundle-item-bundle”模式反映了捆绑项之间的替换关系。此外,在模型训练过程中引入了具有挑战性的负样本进行训练,并进一步分析用户的决策机制
Problem Formulation
U: 用户集合及其大小参数为M
B: 捆绑包集合及其大小参数为N
I: 物品集合及其大小参数为O
三者之间的交互关系矩阵分别表示为:
X_{M\times N}, Y_{M\times O}, Z_{N\times O}
其中,
- X_{M\times N}表示用户与捆绑包之间的交互关系矩阵,
- Y_{M\times O}表示用户与物品之间的交互关系矩阵,
- Z_{N\times O}表示捆绑包与物品之间的交互关系矩阵。
输入部分:
INPUT: X, Y, Z
输出部分:
OUTPUT: 基于输入数据估计用户与捆绑包之间交互概率的模型
Methods
模型主要包含三个部分:异质图的构建,信息传播,硬负样本的训练
Heterogeneous graph construction
该图由顶点集合V和边集合E构成。其中顶点分为三类:用户节点(user)、包节点(bundle)和物品节点(item)。边则分为三种类型。对这三类顶点均采用了one-hot编码方案,并将这些编码转化为实数向量表示:

其中v_u^U表示用户u,其他同理。P,Q,R为embedding矩阵
Level propagation
Item level propagation
由于用户的偏好受物品特性和捆绑包吸引力共同作用的影响,在user-item间建立一个传播网络,并通过item级别的特征提取bundle的部分语义信息以实现精准匹配

一行一行看上面的公式:
- 用户节点整合其邻近的物品节点信息
- 物品节点在第一步完成整合之后将数据传递给邻近的用户节点
- 束装结构整合其邻近的物品节点信息是在第二步之后进行的操作
- 初始化阶段开始执行相关操作
Bundle level propagation
基于具有共享物品的捆绑包之间通常程度较高地相似,在衡量这种相似程度时可参考共享物品的数量指标。通过构建一个bundle-user传播机制来分析用户的偏好倾向,并在bundle-item-bundle传输路径上实施信息传播策略以捕获各捆绑包间的关联性

一行一行看上述公式:
- 用户将相关信息进行整合
- 店铺将用户数据进行整合,并将具有相同商品的店铺数据纳入系统管理(在系统中存在"Bundle-Item-Bundle"链接的情况下)
- 进行初始化操作
Prediction
在经过L层传播之后, 生成了包含 L 个user以及 L 个bundle的嵌入表示; 随后将各层嵌入表示进行融合处理, 并整合来自不同传播深度邻居的信息以进行预测:

连接以后,采用内积进行最终预测:

在上式中,我们通过两个层级的传播过程对users和bundles各自的向量进行点积计算,从而获得预测值
Training with hard negatives
相比单一产品或服务的定价来说,在捆绑销售模式下商品的价格往往更具竞争力。这也使得消费者在面对捆绑销售时往往会更加审慎地进行评估与决策,在预算使用上也会更加谨慎以求获得最大价值回报。即便如此,在某些情况下即便对其中大部分项目有偏好也可能因为存在一个不理想的组件而放弃整个捆绑销售方案。其关键在于两者的独特卖点是否能够互补而不至于产生相互冲突的问题
基于当前研究进展以及用户体验需求并结合包交互机制的特点,在深入分析现有学习策略的基础上

其中Q被定义为具有负采样的成对训练数据(u,b,c)的集合,具体形式为Q=\left\{ (u,b,c)|(u,b)\in Y^+,(u,c)\in Y^-\right\}。在每一个三元组中,c是具有挑战性的negative样本。这里的"bundle"被翻译为"包"以保持一致性,在这种情况下,c是一个没有与u进行交互过的包,并且这个包内部包含了许多与u有交互过的物品或者与b存在交集的物品。
model
总体的模型图如下所示:

构建图结构,并对其中每个节点进行逐个节点的信息传递;随后在团体级别的信息传递基础上生成嵌入表示;将这些嵌入表示连接后进行点积运算用于预测;选取难分类的样本用于强化训练;待模型达到收敛状态后输出结果
Bundle Generation
preview
现有的大部分研究集中于单个Bundle的生成问题上,在这一领域取得了显著进展。然而,在 bundle列表的相关研究方面仍存在不足之处。近年来的研究者们提出了能够同时处理Bundle列表的方法,并将其视为一种结构预测任务。其中内部项目按照价格排序排列以确保合理性和系统性安排。这种方法的主要缺陷体现在三个方面:首先,在处理复杂场景时效率较低;其次,在动态变化的数据环境中难以适应;最后缺乏对潜在关系的关注机制导致分析结果不够全面
- 由序列顺序决定的结果。基于价格排序的情况,在包内可能会有相关但相距较远的商品
- 基于序列的方法(如RNN和LSTM)存在局限性,在这种情况下只能导致较小规模的包
- 难以识别商品间的高阶关联,在一个包中并不是所有的商品都具有直接关系,在这种情况下可能存在一个中间 item 连接它们
针对这些问题的局限性
根据已有的bundles去生成类似的bundles
Method
模型主要分为三个部分:构造bundle graph、结点检索、边的构造
Bundle Graph
由于在一个较大的bundle中存在较多的items(本人认为这样的规模较大的捆绑包在现实中非常少见),直接将其构建成图较为困难(个人感觉)。此外,在一个bundle内部并不是所有的items都具有直接的相关性(直接构造边的方式并不合理)。基于用户的监督信号构建了bundle graph(基于 bundle 的流行度以及 item 之间的共现频率),并评估了 item 之间的关联程度(利用伯努利分布将关联度转换为二进制形式来判断两个 item 之间是否存在边)。

Nodes Retrieval
图生成的本质是在预测邻接矩阵中可能出现的具体元素值1 。由于在生成每一个bundle时会涉及到大量item的存在,在这种情况下直接将所有这些item作为候选项会产生巨大的计算开销。因此需要采取抽样策略,在这一过程中首先进行抽样操作以获取与当前bundle中item数量一致的负样本集合;随后基于BPR框架构建相应的模型,并采用以下公式进行候选item的计算(通过增大正样本与负样本之间的距离来提升模型性能),其中内积运算被用来作为评分的标准函数:

得到检索的结点集:I_u,维度为\eta
Edge Construction
基于GCN模型,在Bundle Graph中提取商品间的结构信息以及高阶商品间关系;以所生成的图为基础,在每一轮迭代过程中:
- 利用自回归机制从上一阶段获取到的商品列表;
- 依次分析并选择关键节点以构建连接;
每一轮迭代时: - 从I_u集合中搜索最优商品;
- 然后更新L中的商品列表;
initialization
初始化L_b,维度与I_u一致,为\eta\times\eta。生成L_b的概率表示为:

p(L_b^t)表示为当前时刻生成某一个item的概率,在此过程中受制于已经生成的全部items的影响。
embedding layer
将检索到的item表示为:h_i=H^Tv_i^{I_u}
H用于捕捉item之间的相关性
构建增广图\tilde G:基于现有的图G,并加入剩余节点I_x后,使得这些节点与图G中的各个节点相互连接。
采用GCN学习增广图\tilde G的信息,得到每个item的embedding

edges probability
在完成GCN的信息提取后,生成新的embedding表示h_i^L;基于混合伯努利分布的方法下,计算每个item与当前图G之间产生边的概率。

J_{u,b}为当前生成的图G中的结点集合
search and stop
计算新结点得分:将新 item 与其相关联的得分以及与其他节点相关的得分相加

选取前w个分数高的结点作为备选
graph score
通过将每个结点与图G相结合的方式构建了w个子群集,并对各子群集进行评估得分;随后筛选出得分前k名的子群集并转为下一阶段的操作步骤。
图分数:在最新迭代中使用的图像数据与用户进行的匹配得分加上该图像数据与系统内部商品条目的匹配评估值(其中关联程度越高,则表示系统内部商品之间的关联性越强):

确定具有最大值F_{u,b}对应项的下标,并将其作为当前步骤生成的节点(通过在L_b执行行交换操作)
多维度搜索

adaptive stop
特殊停止准则:基于PMF,或当图密度小于某个阈值时停止
model

搭建bundle结构并融入负样本实施BPR训练策略以筛选出表现优异的商品id在开始循环迭代过程中每条记录对应一个特定的物品id随后展开增广子图构造基于GCN模型提取各商品与现有子图之间的连接概率接着对所有结点的重要性得分进行评估选取排名最高的w项这些选中项将被用作基础来构造新的子图G随后针对新生成的子图G重新计算其各节点的关键性指标并筛选出表现最优的新子集更新现有的记录表将新增节点追加到当前记录中继续执行这一流程

