现实世界中存在大量的对象, 这些对象及其相互之间的关联关系形成了一个庞大而复杂的网络, 即信息网络. 随着对象类别及关联关系的复杂化, 信息网络逐渐向异构化方向发展, 异构信息网络包含多种类别的对象和关联关系. 由于异构信息网络具有丰富的语义信息, 因而被越来越多地应用于推荐系统, 处理复杂的多元异构的数据. 在本文主要讨论的电商场景下的商品推荐问题中, 用户与项目(商品)之间会产生“浏览”“收藏”“购买”等各种类型的交互数据, 这些数据所形成的异构信息网络结构优良, 蕴含了大量信息, 可以用于为用户提供高质量的推荐(如图 1所示). 因此, 如何充分利用异构信息网络异构、多样化的特点, 如何深入挖掘网络中所隐含的信息并应用于推荐系统中, 是需要亟待研究的问题.
|
图 1 面向异构信息网络的推荐示例 |
利用网络嵌入技术可以对异构信息网络进行表征学习, 用低维、稠密的向量空间表示高维、稀疏的向量空间, 所学习到的特征可以用于计算用户与项目之间的相关性, 从而确定推荐目标. 目前, 很多工作都围绕网络嵌入技术展开了研究. 例如, 从文献[1]提出的DeepWalk模型到文献[2]提出的node2vec模型, 这些技术旨在网络中使用随机游走获取节点的邻域信息, 基于邻域信息对该节点进行嵌入. 文献[3]在Deepwalk的基础上提出了一种元路径的网络嵌入方法metaPath2vec, 通过人为定义元路径来提高训练效果, 提高了语义相关性的识别能力. 近年来, 研究者更为关注如何使用图卷积神经网络(graph convolutional network, GCN)进行网络嵌入并应用于推荐系统之中. 例如, 文献[4]设计了采样技术进行图卷积计算, 以减少推荐过程中的计算难度. 文献[5]针对图卷积网络的协同过滤进行设计, 迭代传播邻域节点信息, 为有价值的邻域信息进行潜层空间的建模.
然而, 当前的网络嵌入技术大多只考虑单一视角下的网络特征(如: 仅考虑单一类型的关联关系), 忽略了异构信息网络中关联关系的异质性. 虽然一些研究工作考虑了多个视角下的网络特征及关联关系的多样性, 但只是简单地将这些特征进行整合, 缺乏对交互行为的深层表示和挖掘, 也忽略了不同关联类型之间的相互影响, 难以满足推荐系统的实际需求. 如图 1所示, 用户和商品被划分为了不同的节点类型, 而用户与商品之间也产生多种行为关系. 传统的节点嵌入技术可以聚合同类行为下邻域节点与当前节点之间的关系, 但忽视了不同交互行为之间的关系. 例如, 用户A和用户B都购买了商品C, 用户B点击了商品D又把商品E加入了购物车. 传统的基于网络嵌入的推荐模型往往忽略了多种行为之间的相互影响, 无法有效挖掘和利用高阶行为之间的交互关系.
当前, 面向异构信息网络的推荐模型的研究面临如下挑战: 首先, 异构信息网络中存在复杂的节点类型及关联类型, 如何将这些复杂的信息应用于推荐系统之中? 例如, 两个用户存在相似的商品浏览记录, 基于协同过滤思想, 可以为其中一位用户推荐另一位用户的历史购买清单. 然而, “浏览”和“购买”是两种不同的用户行为, 如果不加区分, 将影响推荐结果的准确性. 其次, 如何区分不同关联类型对于节点嵌入所产生的贡献? 虽然, 通过引入图注意力机制可以建模上下文对于节点产生的贡献, 细化了模型的表达, 但也使得模型参数过于庞大, 而往往只能构建较为简单的模型, 难以训练异构信息网络这样复杂的网络结构.
针对上述问题, 本文面向异构信息网络提出了一种基于多视角嵌入融合的推荐方法, 主要贡献包括:
(1) 提出了一种基于多视角嵌入融合的推荐模型(recommendation model based on multi-view embedding fusion, MVEF). 与传统推荐模型不同, 该模型考虑了异构信息网络中关联关系的异质性, 分别从同质关联视角和异质关联视角来挖掘异构信息网络的深层潜在特征并加以融合, 充分利用了网络中所蕴含的丰富语义信息, 有效地保证了推荐结果的准确性.
(2) 针对同质关联视角, 提出了一种基于图卷积神经网络(graph convolutional network, GCN)的嵌入融合方法, 通过对同质关联作用下节点邻域信息的轻量式卷积, 实现节点嵌入的局部融合.
(3) 针对异质关联视角, 提出了一种基于注意力的嵌入融合方法, 利用注意力机制来区分不同关联类型对节点嵌入的影响, 实现节点嵌入的全局融合.
(4) 通过实验验证了本文所提出的关键技术的可行性和有效性.
本文第1节介绍异构信息网络推荐的相关工作. 第2节对本文的研究问题进行定义. 第3节提出基于多视角嵌入融合的推荐模型MVEF. 第4节提出基于MVEF的推荐算法. 第5节为实验部分, 对提出的模型及算法进行测试. 最后对全文进行总结, 并给出下一步研究计划.
1 相关工作本节主要介绍并讨论用于异构信息网络的推荐算法的相关工作, 包括: 基于图卷积神经网络的推荐模型、基于图注意力机制的表示模型和基于元信息(包括元路径和元图)的推荐模型. 然后, 将本文提出的关键技术与这些技术进行比较.
1.1 基于GCN的推荐模型近年来, 图卷积神经网络由于其强大的结构化数据表示学习能力而取得了巨大的成功. 最近, 这类方法在推荐中引起了越来越多的关注. 例如, 文献[6]提出GC-MC模型将图卷积网络应用于用户-项目图, 它使用一个卷积层来扩展用户和项目之间的直接连接. 文献[4]将随机游走与项目图上的多个图卷积层相结合, 用于图像推荐. 文献[5]通过在用户项交互图上传播嵌入来利用高阶近似. 文献[7, 8]进一步提出LR-GCCF和LightGCN模型, 它们通过去除嵌入传播层中的非线性激活函数和特征变换来提高协同过滤推荐任务的性能.
1.2 基于图注意力机制的表示模型对于用GCN构建节点嵌入的方法所存在的问题, 2018年, 文献[9]提出GAT (graph attention network), 将注意力机制应用于图结构的数据中, 为不同的邻居分配不同的权重, 该类方法引入了注意力在图模型中的基本使用机制. GAT基于邻域消息传播模型, 将异构节点投影到统一的向量空间中, 然后通过softmax为邻居节点计算注意力系数
2019年, 在GAT的基础上, 文献[10]提出GATNE, 将应用场景扩展到了多重属性异构网络(attributed multiplex heterogeneous network, 即本文中定义的异构信息网络)中. GATNE按照无向图和有向图分别计算各类边的嵌入, 在每个嵌入的计算中使用注意力机制连接邻居节点, 使其可以用于推导式任务, 生成的模型可以应用于未训练过的网络. 2020年, 文献[11]对于异构信息网络问题上的应用, 基于元路径内部和元路径间聚合的方式进行建模, 并提出了加入多头的注意力机制, 以稳定模型的效果.
1.3 基于元信息的推荐模型异质信息网络(heterogeneous information network, HIN)作为一种新兴的方向, 可以很自然地对推荐系统中复杂的对象及其丰富的关系进行建模, 其中, 对象的类型不同, 则对象之间的连接代表不同的关系. 在此基础上, 许多研究者纷纷提出了多种基于路径的相似性度量方法, 用于评价异质信息网络中不同对象之间的相似性.
例如, 文献[12]提出了一种基于元路径的随机游走策略来生成有意义的节点序列用于网络嵌入. 首先用一组融合函数对学习到的节点嵌入进行变换, 然后将其集成到扩展矩阵分解模型中. 将扩展后的MF模型与融合函数联合优化, 用于分级预测任务. 考虑到元路径仍不足以反映物品间的交互关系, 文献[13]将元图的概念引入基于HIN的推荐. 提出了一种基于套索的正则化FM算法, 通过自动学习观察到的评级, 有效地选择出有用的元图特征. 文献[14, 15]针对研究学习元路径的表示方式, 计算节点u和v之间存在元路径M的概率. 第1阶段基于随机游走和负采样生成符合目标关系的数据, 用于表示学习. 第2阶段用一个神经网络模型, 通过最大化预测节点之间关系的可能性, 同时学习节点和关系的表示向量.
本文提出的异构信息网络推荐算法与上述研究的不同之处在于:
(1) 现有的GCNs方法, 仍未有效利用异构信息网络中复杂的节点和关联信息, 其作用对象仍局限于在单一关联类型的同构网络, 对于具有异构信息网络特征的真实数据, 往往采用简化网络结构的方式来完成训练, 损失了大量用户与用户、用户与项目之间的多种交互信息. 相比之下, 本文的模型关注的就是如何尽可能地利用这些信息, 在节点多视角嵌入融合的过程中保留带有高阶行为间交互关系的网络信息, 并使用合理的机制为不同的关系分配不同的权重, 弥补了这类方法的不足.
(2) 基于图注意力机制的表示模型将图注意力机制引入了节点嵌入模型, 实现了对异构信息网络的嵌入. 但是现有的方法缺乏对节点之间不同类型的关联的表达, 忽视了在不同视角下生成的嵌入也应该具有丰富潜在信息的关联. 本文模型吸收了图注意力机制的思想, 在嵌入模型的第2阶段使用这一机制对各个视角的嵌入进行关联, 连接了不同关系下的邻居节点, 提高了模型的效果.
(3) 基于元信息的方法依赖于对元路径或元结构的定义, 不同的数据集适合不同的定义, 其定义的好坏直接决定了模型效果, 所以元信息的方法依赖于人工选择和研究者使用元信息的经验. 相比而言, 本文模型只设置网络深度, 不必固定元结构, 在推导式学习时更合适.
本文结合上述3种方案的优点, 设计了用于异构信息网络基于多视角嵌入融合的推荐方法, 将图注意力机制引入线性卷积网络中, 对节点及其关联关系进行嵌入融合, 基于协同过滤来设计便于更新的评分模型.
2 MVEF模型为了充分利用异构信息网络的多重潜在特征, 以提高推荐的准确性, 本文提出了一种基于多视角嵌入融合的推荐模型——MVEF. 本节首先给出问题定义, 然后介绍模型的基本思想.
2.1 问题定义本文主要解决的是在电商背景下的商品推荐问题, 使用电商场景下产生的网络信息, 挖掘用户的消费偏好, 为用户提供更准确的商品推荐. 该模型要解决的问题是如何在已知用户与部分商品之间的偏好关系的前提下, 在其他商品之中为用户推荐其更偏好的商品. 为此, 首先需要对用户及商品之间偏好关系的网络进行定义. 现实世界的对象及其交互通常是多种类型的, 需要使用一种通用的网络结构来描述现实世界的信息, 这种具有多重节点类型和多重边类型的网络, 本文称之为异构信息网络. 表 1总结了本文常用的符号.
| 表 1 本文所使用的符号 |
定义1(异构信息网络). 异构信息网络为具有多种节点类型和边类型的网络图
定义2(高阶同关系邻居节点集). 已知在图G中, 有目标节点v, 所有与节点v以关系r相关联的节点组成的集合
定义3(同质关联视角下的嵌入融合). 已知图
定义4(异质关联视角下的嵌入融合). 已知图
MVEF模型的基本思想如图 2所示. 本文融合节点在图G中的信息, 形成节点在潜层空间的表示
|
图 2 MVEF模型的基本思想 |
本文提出的多视角嵌入融合推荐模型主要分为3个阶段, 包括在同质关联视角下的嵌入融合、在异质关联视角下的嵌入融合以及基于评分预测进行推荐. 首先将目标节点的邻域节点集合按不同的关系视角进行划分, 然后进行两阶段的嵌入融合, 第1阶段是在同质关联视角下进行局部嵌入融合, 第2阶段是在异质关联视角下进行全局嵌入融合. 近期的许多工作解决了同构信息网络中节点如何嵌入的问题[8], 而在异构信息网络中, 最主要的挑战是节点在对其高阶邻居节点的卷积过程中, 要如何有效融合不同属性的信息以及不同关联关系的信息, 这是以前的推荐方法中没有解决的问题. 而MVEF为节点嵌入进行邻域传播的过程划分了不同的视角, 每个视角对应一种关联类型, 其有效的边使用加粗表示, 忽略的边使用虚线表示.
在第1阶段中, MVEF模型使用消息传递结构, 通过遮罩层限制每次卷积时只聚合节点的邻居节点, 而不是整个图的信息, 经过多层卷积后生成了在多个视角下的特征矩阵, 这些矩阵融合了在同质关联视角下的节点之间的相似特征信息, 但是这些特征之间是相互独立的, 使用同质层间池化将它们融合起来. MVEF模型的第2阶段融合了节点在各个同质关联视角下生成的局部嵌入, 本文首先通过忽略关系的类型来生成基础的嵌入, 然后以基础嵌入为基底, 使用注意力机制来连接异质关联视角下的嵌入, 从而达到为不同的视角分配权重的目的.
3 多视角嵌入融合策略本节详细介绍MVEF模型是如何从多个视角对目标节点的上下文信息进行嵌入融合的. 如图 3所示, MVEF模型先按不同关系类型划分不同视角, 在各个视角下单独进行局部嵌入融合, 再整合全局视角进行全局嵌入融合.
|
图 3 邻域节点信息在多视角下的传播和聚合过程 |
同质关联视角下嵌入融合的目标是实现节点嵌入在同一关系类型下的局部融合, 这一过程由线性卷积和同质层间池化所构成.
3.1.1 线性卷积结构首先讨论图卷积中的非线性结构在同质关联视角的嵌入融合中是否有必要. 如果采用早期提出的图卷积聚合方法[5], 会导致局部和全局两阶段的模型在多级邻域的传播下难以训练, 因此需要在保证模型表达能力的同时, 尽量使模型复杂度不会随模型规模的线性叠加而呈幂级增加. 本文借鉴简单图卷积网络的思想[17], 引入线性的卷积结构聚合邻居节点.
首先是每一层节点只有一个邻居的简单情况(如图 4(a)所示).
|
图 4 同质关联视角下基于GCN的嵌入融合策略 |
| $ \boldsymbol{v}_r^{(k+1)}=S \boldsymbol{v}_r^{(k)} \boldsymbol{W}_r^k$ | (1) |
其中, r为关系类型集合R中某一类型,
| $ \begin{array}{l} {\boldsymbol{v}}_r^{(k + 1)} = S \boldsymbol{v}_r^{(k)} \boldsymbol{W}_r^k \hfill \\ \;\;\;\;\;\;\;\;\;= SS{\boldsymbol{v}}_r^{(k - 1)}{\boldsymbol{W}}_r^{k - 1} \hfill \\ \;\;\;\;\;\;\;\;\;= S...S{\boldsymbol{v}}_r^{(0)}{\boldsymbol{W}}_r^{k0}...{\boldsymbol{W}}_r^k \hfill \\ \;\;\;\;\;\;\;\;\;= S...S{{\boldsymbol{v}}^{(0)}}{{\boldsymbol{Y}}^k} \hfill \\ \end{array} $ | (2) |
而经典的图卷积模型每层之间采用非线性结构连接, 如
接下来, 在邻居节点个数未知的一般情况下, 设计自连接的节点传播结构. 在这个传播结构中, 首先计算提取同一关系r下的邻居节点相应的k阶表示
| $ {\boldsymbol{v}}_{u,r}^{(k + 1)} = \left[ {\frac{1}{{\sqrt {\left| {{N_u}} \right|} }}{\boldsymbol{v}}_{u,r}^{(k)} + \sum\limits_{i \in {N_u}} {\frac{1}{{\sqrt {\left| {{N_u}} \right|} \sqrt {\left| {{N_i}} \right|} }}} {\boldsymbol{v}}_{i,r}^{(k)}} \right]{\boldsymbol{W}}_r^k $ | (3) |
其中, |Nu|表示节点u邻居节点的度, 节点的度代表物品的受欢迎程度, 该物品的受欢迎程度越低, 越能反映这个用户的独特偏好, 这是协同过滤思想的体现, 而在卷积过程中使用自连接结构, 能够更好地保留原点的信息.
3.1.2 同质层间池化同质层间池化是同质关联视角下嵌入融合的关键步骤, 在实际训练中, 如果直接使用节点的高阶聚合表示
| 表 2 局部嵌入融合策略 |
为解决这一问题, 很容易联想到将节点每一阶的嵌入串联起来合并为一个嵌入.
| $ {{\boldsymbol{v}}_{u,r}} = {\boldsymbol{v}}_{u,r}^{(k)}||{\boldsymbol{v}}_{u,r}^{(k - 1)}||...||{\boldsymbol{v}}_{u,r}^{(0)} $ | (4) |
这一方法在最近的研究中也有提及[7], 但是针对异构信息网络具有丰富潜在信息的特点, 需要设计一种结构, 在尽量不增加模型潜在空间的情况下, 提高模型表达的丰富程度. 这里, 我们提出另一种平均池化结构来聚合各阶下的高阶嵌入.
| $ {{\boldsymbol{v}}_{u,r}} = \sum\limits_{k = 0}^K {{a_k}} {\boldsymbol{v}}_{u,r}^{(k)} $ | (5) |
其中,
对比上述两种传播优化方案, 假如本文先假设图中只有一种关联类型, 亦即只考虑单一视角下的嵌入融合, 使用点积运算计算两个节点u和i之间的邻近度
| $ {{\boldsymbol{\tilde S}}_1} = \left( {{\boldsymbol{v}}_u^{(K)}|| \ldots ||{\boldsymbol{v}}_u^{(0)}} \right) \cdot \left( {{\boldsymbol{v}}_i^{(K)}|| \ldots ||{\boldsymbol{v}}_i^{(0)}} \right)\left( {{\boldsymbol{v}}_u^{(K)} \cdot v_i^{(K)}||...||v_u^{(0)} \cdot v_i^{(0)}} \right) $ | (6) |
| $ {{\boldsymbol{\tilde S}}_2} = C\sum\limits_{k = 0}^K {{\boldsymbol{v}}_u^{(k)}} \cdot C\sum\limits_{k = 0}^K {{\boldsymbol{v}}_i^{(k)}} = {C^2}({\boldsymbol{v}}_u^{(K)}{\boldsymbol{v}}_i^{(K)} + ... + {\boldsymbol{v}}_u^{(K)}{\boldsymbol{v}}_i^{(0)} + ... + {\boldsymbol{v}}_u^{(0)}{\boldsymbol{v}}_i^{(K)} + {\boldsymbol{v}}_u^{(0)}{\boldsymbol{v}}_i^{(0)}) $ | (7) |
其中,
综上, 按不同的关系类型为目标节点的邻居分类, 基于线性传播结构, 使用节点度的倒数作为权重的自连接聚合, 结合平均池化方法连接每一层的高维特征, 得到了目标节点在同质关联视角下的嵌入表示.
算法1. 同质关联视角下的嵌入融合算法genHomE.
输入: 目标节点Target_v, 传播层数K, 目标节点Target_v在关系r下的邻居节点集Nv;
输出: 同质关联视角r下的嵌入vr, 参数矩阵Yr.
1. E[0]=InitialNode(Target_v)
2. For k=1 to K
3. N_k_num=countNeighbourNum(Target_v)
4. For j=1 to N_k_num
5. N_j_num=countNeighbourNum(
6. hidden[k]=aggre(hidden,
7. End For
8. E[k]=aggre(hidden[K],
9. End For
10. vr=meanPool(E[0]…E[K])
Output: vr
3.1.3 算法描述基于同质关联视角下的嵌入融合模型, 本文提出了同质关联视角下的嵌入融合算法(如算法1), 主要步骤如下.
步骤1. 初始化节点嵌入E[0]. 将目标节点及其邻居节点嵌入初始化, 将目标节点的初始嵌入作为0阶局部嵌入.
步骤2. 对K阶邻居节点进行局部嵌入. 遍历目标节点的各阶邻居, 计算每一阶中所有邻居节点的度, 从局部融合邻居节点的嵌入, 得到局部嵌入{E[0], …, E[K]}.
步骤3. 对K阶邻居节点的局部嵌入进行融合. 使用平均池化连接各阶的局部嵌入, 构成同质关联视角r下融合的局部嵌入vr.
3.2 异质关联视角下基于注意力的嵌入融合同质关联视角下的嵌入融合过程仅考虑了异构信息网络中单一的关联类型, 在局部融合下得到节点的嵌入. 异质关联视角下的嵌入融合是将不同关联类型下的节点嵌入进一步融合, 即实现节点嵌入的全局融合. 为此, 本文提出一系列全局嵌入融合策略(见表 3).
| 表 3 全局嵌入融合策略 |
经过同质关联视角下的嵌入融合, 得到了节点v在n种不同关系类型下的嵌入集合v_set={vu, r1, …, vi, rn}, 其中每个嵌入反映了在单一关系类型下当前节点及其上下文的信息. 接下来要将多种关联视角下的嵌入合并为一个全局嵌入, 使这个全局嵌入能够反映节点多种行为之间的关联特征.
本文可以选择串联、池化和注意力机制等多种方式对嵌入进行联合(如图 5所示). 以用户节点vu为例, 串联和池化的嵌入聚合过程为
| $ \overline {{{{\boldsymbol{v''}}}_u}} = {{\boldsymbol{v}}_{u,1}}||{{\boldsymbol{v}}_{u,2}}||...||{{\boldsymbol{v}}_{u,n}} $ | (8) |
| $ \overline {{{{\boldsymbol{v''}}}_u}} = \sum\limits_{r \in R} {\frac{1}{{n + 1}}} {{\boldsymbol{v}}_{u,r}} $ | (9) |
|
图 5 异质关联视角下的嵌入融合策略 |
其中,
而
综上所述, 本文采用使用图注意力机制为不同视角下的嵌入分配权重, 将同质关联视角下的嵌入进行联合计算, 得到该节点最终的表示:
| $ \begin{array}{l} \overline {{{\boldsymbol{v}}_u}} = \sigma \left( {\sum\limits_{j = 0}^n {{{\boldsymbol{ \pmb{\mathit{ α}} }}_{u,j}}{{\boldsymbol{v}}_{u,{r_j}}}} } \right) \hfill \\ {\text{ }}\;\; = \sigma \left( {\bar a\sum\limits_{j = 0}^n {{{\boldsymbol{ \pmb{\mathit{ α}} }}_{u,j}}\left( {{\boldsymbol{v}}_{u,j}^{(0)} + ... + {\boldsymbol{v}}_{u,j}^{(K)}} \right)} } \right) \hfill \\ {\text{ }}\;\; = \sigma \left( {\bar a{{\boldsymbol{ \pmb{\mathit{ α}} }}_{u,0}}\left( {{\boldsymbol{v}}_{u,0}^{(0)} + ... + {\boldsymbol{v}}_{u,0}^{(K)}} \right) + ... + \bar a{{\boldsymbol{ \pmb{\mathit{ α}} }}_{u,n}}\left( {{\boldsymbol{v}}_{u,n}^{(0)} + ... + {\boldsymbol{v}}_{u,n}^{(K)}} \right)} \right) \hfill \\ \end{array} $ | (10) |
其中,
| $ \boldsymbol{e}_{u, j}^l=Leaky ReLU\left(\overrightarrow{\boldsymbol{w}}^{\boldsymbol{l}^T}\left(\boldsymbol{v}_u^l \| \boldsymbol{v}_j^l\right)\right)$ | (11) |
| $ \boldsymbol{\alpha}_{u, i}^l=\frac{\mathit{exp} \left(\boldsymbol{e}_{u, i}^l\right)}{\sum\limits_{j \in N_u} \mathit{exp} \left(\boldsymbol{e}_{u, j}^l\right)}$ | (12) |
| $ \boldsymbol{\alpha}_{u, i}=\left(\boldsymbol{\alpha}_{u, i}^0\left\|\boldsymbol{\alpha}_{u, i}^1\right\| \ldots \| \boldsymbol{\alpha}_{u, i}^l\right) $ | (13) |
其中,
基于上述思想, 提出了异质关联视角下的嵌入融合算法, 其过程如算法2所示. 算法2主要步骤如下.
步骤1. 全局关联视角嵌入融合. 不区分关联类型, 融合目标节点邻居的嵌入, 生成的全局关联视角嵌入融合v0用作注意力机制连接的基点.
步骤2. 基于异质关联视角计算注意力结构. 将各个同质关联视角下生成的局部嵌入
算法2. 异质关联视角下的嵌入融合算法genHetE.
输入: 目标节点Target_v, 目标节点Target_v在不同视角下生成的嵌入集
输出: 异质关联视角下目标节点的嵌入
1. v0=genBase(Target_v) //生成全局视角嵌入
2. For r=1 to R
3. value_r=LeakyReLU(w, v0, vr)
4. αr=softmax(value_r, v0) //经过softmax计算注意力系数
5. hidden=hidden+Mul(αr, vr)
6. End For
7.
Output:
本节介绍该推荐方法是如何使用多视角嵌入融合模型来进行推荐预测的.
4.1 评分计算对于异构信息网络的常见推荐场景, 希望能够从用户的多种交互记录中挖掘出用户之间相似的喜好, 并确定每个用户自身的偏好. 因此本文采用相似度评分方法, 将两个节点u和i之间的相似度作为二者的评分依据. 假设两个节点之间存在实际关联或潜在关联, 那么它们的嵌入之间越相似, 它们也就越相关, 本文将u、i两个节点之间的关联强度称为
| $ \varphi (u,i) = Sim(u,i) $ | (14) |
本文用多视角嵌入融合模型得到的节点嵌入
| $ \widehat {{r_{u,i}}} = \langle \overline {{{\boldsymbol{v}}_{\boldsymbol{u}}}} ,\overline {{{\boldsymbol{v}}_{\boldsymbol{i}}}} \rangle = \sigma \left( {\bar a\sum\nolimits_{j = 0}^n {{{\boldsymbol{ \pmb{\boldsymbol{ α}} }}_{u,j}}} \left( {{\boldsymbol{v}}_{u,j}^{(0)} + ... + {\boldsymbol{v}}_{u,j}^{(K)}} \right)} \right. \cdot \sigma \left( {\bar a\sum\nolimits_{j = 0}^n {{{\boldsymbol{ \pmb{\boldsymbol{ α}} }}_{i,j}}\left( {{\boldsymbol{v}}_{i,j}^{(0)} + ... + {\boldsymbol{v}}_{i,j}^{(K)}} \right)} } \right) $ | (15) |
〈⋅〉为点积操作, 由于
接下来讨论如何对提出的嵌入推荐模型进行训练. 本文基于随机游走算法思想在节点序列上采样节点及其上下文获取嵌入, 采样过程完全随机. 本文的数据集是用户-商品二部图G, 给定图G中的视角r, 图
| $p\left(v_j \mid v_i, \mathcal{T}\right)=\left\{\begin{array}{ll} \frac{1}{\left|\mathcal{N}_{i, r} \cap \mathcal{V}_{t+1}\right|}, & \left(v_i, v_j\right) \in \mathcal{E}_r, v_j \in \mathcal{V}_{t+1} \\ 0, & \left(v_i, v_j\right) \in \mathcal{E}_r, v_j \notin \mathcal{V}_{t+1} \\ 0, & \left(v_i, v_j\right) \notin \mathcal{E}_r \end{array}\right. $ | (16) |
其中,
| $ \mathcal{L}(\Theta)=\sum\limits_{k=1}^K \lambda_k \widetilde{\mathcal{L}}_k\left(\Theta_1\right)+\mu\left\|\Theta_2\right\|^2$ | (17) |
其中,
| $ {\min _\Theta }\mathcal{L}(\Theta ) = - \sum\limits_{u = 1}^N {\sum\limits_{i \in {N_u}} {\sum\limits_{j \notin {N_u}} {\ln } } } \sigma \left( {{{\hat r}_{u,i}} - {{\hat r}_{u,j}}} \right) + \mu {\left\| {{\Theta _2}} \right\|^2} $ | (18) |
对N个目标节点进行采样, 生成样本总体, 在实验时根据预设的样本比例, 如20%、100%等对采样的正负例进行交叉计算, 鼓励观察到的样本高于未观察到的样本, 使用Adam优化进行小批量的优化. 由于模型中非线性结构的比例较低, 且引入了L2惩罚项, 在k≤3的传播深度以下并未出现过拟合问题.
4.3 算法描述本节提出了一种基于多视角嵌入融合的推荐算法, 其过程如算法3所示.
算法3主要步骤如下.
步骤1. 数据初始化. 在图中随机游走, 采样生成目标节点集合
步骤2. 对目标节点进行多视角嵌入融合. 遍历目标节点集合, 对目标节点的多种关系进行迭代, 调用genHomE算法计算各个同质关联视角下的局部嵌入, 调用genHetE算法计算异质关联视角下的全局嵌入.
步骤3. 迭代更新模型. 计算任意用户和商品节点间的推荐评分并计算损失, 迭代更新参数空间, 直到小于预期损失.
步骤4. 计算推荐列表. 根据生成的嵌入融合模型, 为用户集合计算推荐评分最高的商品集合RecList.
算法3. 基于多视角嵌入融合的推荐算法.
输入: 目标节点集
输出: 目标节点集的推荐列表RecList.
1.
2. While (Loss < minLoss) //迭代更新
3. For i=1 to N
4. For r=1 to R
5. homE[i][r]=genHomE(
6. End For
7. genHetE(homE[i])
8. End For
9. Loss=countLoss
10. {Y, w, α}=updateWeights(Loss, a)
11. End While //迭代完毕
12. For i=1 to N
13. RecList[i]=maxRateItem(
14. End For
Output: RecList
5 实验本节介绍实验所用的数据集和实验设置、评价指标以及相关的对比实验.
5.1 数据集本实验采用两个真实的电子商务数据集: Amazon [18]和Taobao User Behavior数据集, 这两个数据集中均可提取出3种不同的用户行为, 包括“收藏”“加入购物车”和“购买”. 本文对这两个数据集进行预处理, 去除掉不必要的标签, 过滤掉交互次数过少且不具有代表性的节点(至少存在5次交互记录), 并将剩下的数据划分为训练集、验证集和测试集, 处理后的数据集统计情况见表 4.
| 表 4 评估数据集细节统计 |
本文采用两个经典的指标HR和NDCG对推荐的性能进行度量.
(1) 命中率(HR), 这是一个基于召回的指标, HR通过计算所测试的目标项目是否在推荐生成的Top-K列表中, 来反映系统是否推荐到了用户想要的商品, 从而表现预测的命中率:
| $ HR = \frac{1}{N}\sum\limits_{i = 1}^N {hits(i)} $ | (19) |
其中, N表示被推荐的用户的总数量, hits(i)表示第i个用户访问的值是否在推荐列表中.
(2) 归一化折损累计增益(NDCG), 这是对排序结果的评价指标, 是对折损累计增益(NDCG)的一种改进方式. 由于不同的用户其列表长度各不相同, 所以不同用户的NDCG比较并不准确, 因此需要对不同用户的指标进行归一化. 使用NDCG可以反映所推荐的项目是否在用户更加显眼的位置上, 从而表现预测的精准性.
| $NDCG= \frac{1}{N}\sum\limits_{i = 1}^N {\frac{1}{{\log \left( {{p_i} + 1} \right)}}} $ | (20) |
其中, pi表示第i个用户的实际访问商品在所生成的推荐列表中的位置. 使用HR和NDCG能够从推荐结果的命中率和排序性角度综合反映推荐的准确性.
5.3 参数设置本文模型中有几个重要的参数: 学习率、传播的深度K、节点嵌入矩阵V的维度D, 以及目标函数中的正则化参数L2.
我们通过设置不同的学习率、正则化系数、嵌入维度以及传播深度来进行实验. 如图 6(a)和图 6(b)所示, 当学习率为0.001、L2正则化参数为0.001时推荐结果最准确. 如图 6(c)所示, 推荐效果随模型嵌入维度的增大而提高, 当维度从64增大为128时效果没有明显提升, 但是训练时间和内存占用大大增加, 所以本实验设置各类节点的嵌入维度为64. 对传播深度进行测试, 在20%采样水平下, K从0到5分别进行实验, 如图 7所示, 当传播深度从0提高到3时, 推荐效果逐渐提高; 当传播深度大于3时, 准确度提升并不明显甚至有所下降, 并伴随训练时间及模型空间占用的大大增加, 所以本文选择的传播深度为3层.
|
图 6 不同参数设置时的效果对比 |
|
图 7 不同传播深度K下的性能比较 |
传播的深度影响了模型的复杂度, 理论上, 传播的层数越多, 节点的嵌入就聚合了越多的邻居节点信息, 潜层空间的表现力就越强. 但从实践角度来看, 深层节点嵌入容易发生过平滑问题, 这一点发生的原因在相关研究中也有讨论[14, 19]. 总的来说, 随着层数的增多, 低阶邻居的系数逐渐减小, 而高阶邻居的系数逐渐增大. 注意力机制有助于解决注意力问题, 只是本文的模型在同质视角下的模型建构并没有使用注意力机制, 因此仍然产生了过平滑问题. 但是, 由于在本文的模型中选择K=3已经有较好的效果, 因此没有扩大模型深度的需要.
5.4 性能评估为了测试MVEF模型的性能, 下面列举几个经典的基准方法和几个近期效果突出的方法, 并将本文提出的方法与这些方法进行对比实验.
(1) BPR, 基于贝叶斯理论的推荐模型, 这是一种广泛用于项目推荐的学习方法[20].
(2) MC-BPR, 该方法将BPR模型应用于异构图数据时去除了降采样[21].
(3) LightGCN, 这是一种轻量化的图卷积嵌入模型, 去除了图卷积中的非线性结构, 提出了隐含层间聚合的结构[8].
(4) GATNE, 该方法将图注意力机制用于异构图数据, 将节点和边的嵌入分别计算生成聚合[10].
在不同的采样规模下, 将本文提出的MVEF推荐算法与上述方法进行了对比实验, 在Amazon数据集和Taobao数据集上分别进行训练和测试, 采样实验结果见表 5和表 6. 实验结果表明, MVEF在Amazon和Taobao数据集上比现有的基准方法具有更好的推荐效果.
| 表 5 MVEF与其他方法的性能比较(Amazon数据集) |
| 表 6 MVEF与其他方法的性能比较(Taobao数据集) |
为了验证模型结构的合理性, 对MVEF模型进行不同模型结构的对比实验. 在两阶段的嵌入聚合模型中, MVEF在第1阶段采用了简化的图卷积神经网络, 在第2阶段采用了图注意力网络, 假如只考虑图卷积和注意力机制这两种结构, 可以得到如下4种不同的组合方式.
(1) MVEF-CC, 这种方式可以看作经典的GCN方法在异构信息网络上的应用, 与MVEF的区别在于: 第2阶段采用了使用平均池化的网络进行连接, 而没有为不同的关系分配不同的权重.
(2) MVEF-CA, 即本文的MVEF模型.
(3) MVEF-AC, 这种方式近似于GATNE模型, 但在邻居节点聚合过程中分配权重对实验效果的提升有限, 而这种方法忽视了对不同关系视角进行权重分配的重要性.
(4) MVEF-AA, 这种方式考虑了两阶段权重的分配, 但是两阶段都分配注意力系数, 参数空间过于庞大, 实验的计算设备难以承受, 训练时间过长, 模型难以收敛, 本文方法可以看作这种方法的优化版本. 但是, 由于第4种结构难以训练, 不具有实际使用意义, 所以选择前3种结构在Amazon和Taobao数据集上进行训练效果对比.
实验结果如图 8(a)和图 8(b)所示, 横坐标表示采样水平, 柱的高度对应HR值. 从图中可以看出, 对于两种数据集, MVEF-CA方法效果都好于MVEF-AC和MVEF-CC.
|
图 8 不同模型架构训练效果对比 |
针对现有推荐方法研究的不足, 我们对异构信息网络的多视角嵌入融合推荐方法进行了研究. 本文充分分析了异构信息网络的结构特征, 提出了一种基于多视角嵌入融合模型, 分两个阶段从同质关联视角和异质关联视角对异构信息网络的深层潜在特征进行挖掘并加以融合, 在同质关联视角下使用轻量的图卷积对节点邻域的高阶上下文信息进行局部的嵌入融合, 在异质关联视角下使用注意力机制来分配不同关联类型对节点嵌入的影响权重, 从而构建节点嵌入的全局融合. 此外, 本文提出了一种基于多视角嵌入融合模型的推荐算法, 实验结果表明: 该模型在两个大型的数据集上取得了推荐效果的提升, 实验还验证了本文中所提出的关键技术的可行性和有效性. 下一步, 我们将考虑如何在更大规模的图结构数据上进行模型的搭建和训练.
| [1] |
Perozzi B, Al-Rfou R, Skiena S. Deepwalk: Online learning of social representations. In: Proc. of the 20th ACM SIGKDD Int'l Conf. on Knowledge Discovery and Data Mining. 2014. 701−710.
|
| [2] |
Grover A, Leskovec J. node2vec: Scalable feature learning for networks. In: Proc. of the 22nd ACM SIGKDD Int'l Conf. on Knowledge Discovery and Data Mining. 2016. 855−864.
|
| [3] |
Dong Y, Chawla NV, Swami A. Metapath2vec: Scalable representation learning for heterogeneous networks. In: Proc. of the 23rd ACM SIGKDD Int'l Conf. on Knowledge Discovery and Data Mining. 2017. 135−144.
|
| [4] |
Ying R, He R, Chen K, et al. Graph convolutional neural networks for Web-scale recommender systems. In: Proc. of the 24th ACM SIGKDD Int'l Conf. on Knowledge Discovery & Data Mining. 2018. 974−983.
|
| [5] |
Wang X, He X, Wang M, et al. Neural graph collaborative filtering. In: Proc. of the 42nd Int'l ACM SIGIR Conf. on Research and Development in Information Retrieval. 2019. 165−174.
|
| [6] |
Berg R, Kipf TN, Welling M. Graph convolutional matrix completion. arXiv preprint arXiv: 1706.02263, 2017.
|
| [7] |
Chen L, Wu L, Hong R, et al. Revisiting graph based collaborative filtering: A linear residual graph convolutional network approach. In: Proc. of the AAAI Conf. on Artificial Intelligence. 2020. https://arxiv.org/pdf/2001.10167v1.pdf [doi: 10.1609/aaai.v34i01.5330]
|
| [8] |
He X, Deng K, Wang X, et al. LightGCN: Simplifying and powering graph convolution network for recommendation. In: Proc. of the 43rd Int'l ACM SIGIR Conf. on Research and Development in Information Retrieval. 2020. 639−648.
|
| [9] |
Veličković P, Cucurull G, Casanova A, et al. Graph attention networks. arXiv preprint arXiv: 1710.10903, 2017.
|
| [10] |
Cen Y, Zou X, Zhang J, et al. Representation learning for attributed multiplex heterogeneous network. In: Proc. of the 25th ACM SIGKDD Int'l Conf. on Knowledge Discovery & Data Mining. 2019. 1358−1368.
|
| [11] |
Fu X, Zhang J, Meng Z, et al. MAGNN: Metapath aggregated graph neural network for heterogeneous graph embedding. In: Proc. of the Web Conf. 2020. 2331−2341.
|
| [12] |
Shi C, Hu B, Zhao WX, et al. Heterogeneous information network embedding for recommendation. IEEE Trans. on Knowledge and Data Engineering, 2018, 31(2): 357-370.
|
| [13] |
Zhao H, Yao Q, Li J, et al. Meta-graph based recommendation fusion over heterogeneous information networks. In: Proc. of the 23rd ACM SIGKDD Int'l Conf. on Knowledge Discovery and Data Mining. 2017. 635−644.
|
| [14] |
Fu T, Lee WC, Lei Z. Hin2vec: Explore meta-paths in heterogeneous information networks for representation learning. In: Proc. of the 2017 ACM on Conf. on Information and Knowledge Management. 2017. 1797−1806.
|
| [15] |
Yang C, Xiao Y, Zhang Y, et al. Heterogeneous network representation learning: Survey, benchmark, evaluation, and beyond. arXiv preprint arXiv: 2004.00216, 2020.
|
| [16] |
Wang X, He X, Wang M, et al. Neural graph collaborative filtering. In: Proc. of the 42nd Int'l ACM SIGIR Conf. on Research and Development in Information Retrieval. 2019. 165−174.
|
| [17] |
Wu F, Souza A, Zhang T, et al. Simplifying graph convolutional networks. In: Proc. of the Int'l Conf. on Machine Learning. PMLR. 2019. 6861−6871.
|
| [18] |
Ni J, Li J, Mcauley J. Justifying recommendations using distantly-labeled reviews and fine-grained aspects. In: Proc. of the 2019 Conf. on Empirical Methods in Natural Language Processing and the 9th Int'l Joint Conference on Natural Language Processing (EMNLP-IJCNLP). 2019. 188−197.
|
| [19] |
Chen D, Lin Y, Li W, et al. Measuring and relieving the over-smoothing problem for graph neural networks from the topological view. arXiv: 1909.03211, 2019. [doi: 10.48550/arXiv.1909.03211]
|
| [20] |
Qiu H, Liu Y, Guo G, et al. BPRH: Bayesian personalized ranking for heterogeneous implicit feedback. Information Sciences, 2018, 453: 80-98.
|
| [21] |
Loni B, Pagano R, Larson M, et al. Bayesian personalized ranking with multi-channel user feedback. In: Proc. of the 10th ACM Conf. on Recommender Systems. 2016. 361−364.
|