刘佳玮, 石 川 *, 杨 成, 菲利普·俞
1 北京邮电大学计算机学院 北京 中国 100876
2 智能通信软件与多媒体北京市重点实验室 北京 中国 100876
3 伊利诺伊大学芝加哥分校计算机科学系 芝加哥 美国 60607
随着大数据时代的到来, 信息的爆炸式增长使得用户被大量无关信息淹没, 用户获取感兴趣信息的效率急剧下降。推荐系统[1]旨在挖掘用户潜在兴趣,为用户匹配最适合的信息, 从而解决信息过载问题、挖掘长尾需求、提升用户体验。实践证明, 推荐系统已经在电子商务[2]、多媒体[3]等服务场景中得到了有效的应用。
然而, 推荐系统往往面临着数据稀疏和冷启动问题, 因此无法得到精准的推荐结果。在推荐系统中引入辅助信息可以有效地缓解这些问题[4]。例如社会化推荐[5]根据用户之间的关系构造社交网络作为辅助信息, 从而能够在推荐系统中充分利用社会关系对用户喜好的影响。类似地, 基于地理位置的社交推荐[6]构建了用户与位置之间的关系, 通过用户的位置记录来捕捉用户的行为偏好。然而, 这些方法仅适用于某种特定类型的辅助信息, 不具有普适性。
异质信息网络[7]是一种通用的融合多源数据的方法。通过将推荐系统视为由不同类型对象和交互构成的异质信息网络, 我们可以建模用户与商品之间复杂的交互关系, 而且可以有效融合属性和各类辅助信息。基于异质信息网络的推荐系统在信息融合、探索结构语义等方面具有显著优势, 不仅可以有效缓解数据稀疏与冷启动问题, 而且有助于提升推荐系统的准确性和可解释性, 因此取得了广泛的关注与应用。
本文对基于异质信息网络的推荐系统进行全面的介绍: 首先介绍推荐系统与异质信息网络的相关概念, 然后将现有方法分为三类展开介绍, 分别是基于相似性度量的方法、基于矩阵分解的方法和基于图表示学习的方法, 全面地梳理了这一领域的基础方法与前沿工作, 最后探讨了这一领域未来可能的研究方向。不同于现有的异质信息网络分析综述文献[7]以及基于图的推荐系统综述文献[8], 据我们所知, 本文是首篇专门介绍基于异质信息网络的推荐系统的综述。
本文组织结构如下: 第2 章简要介绍推荐系统和异质信息网络的相关概念与定义; 第3 章按照模型原理的不同, 对基于异质信息网络的推荐系统进行分类, 并对现有方法进行了系统地梳理与分析;第4 章展望了基于异质信息网络的推荐系统未来研究方向; 第5 章回顾并总结全文。
推荐系统[1]是一种有效的信息过滤方法, 以个性化的方式为用户提供其可能感兴趣的内容。
按照设计策略的不同, 推荐系统通常可以分为基于协同过滤的推荐、基于内容的推荐、基于知识的推荐和混合推荐。基于协同过滤的推荐是指根据用户和商品的交互行为做推荐。早期的协同过滤通过历史交互行为直接计算用户或商品的相似度, 因此也称为基于记忆的协同过滤。随着矩阵分解、神经网络等模型的提出, 近期的协同过滤使用各种机器学习算法获得用户和商品表示, 从而更高效地利用历史交互数据, 提升推荐系统的泛化能力。此外,基于内容的推荐是指根据商品的特征做推荐, 基于知识的推荐是指根据用户形式化需求对知识库搜索做推荐, 而混合推荐是指同时使用多种上述方法的推荐系统, 从而取长补短, 兼具不同方法各自的优势。
协同过滤是最广泛使用的推荐算法, 但传统的协同过滤算法仅使用用户和商品的交互数据, 存在数据稀疏与冷启动问题, 无法有效地进行推荐。数据稀疏是指用户与商品的交互十分有限, 而冷启动是指为完全没有历史交互记录的用户和商品提供推荐。为了缓解这两个问题, 研究者们设计了各种融合辅助信息的协同过滤算法。辅助信息主要分为两类:结构化辅助信息和非结构化辅助信息[4]。结构化辅助信息主要指及社交网络、知识图谱、商品层级目录等, 而非结构化辅助信息包括商品文本、商品图片、商品视频等。
结构化辅助信息普遍存在且具有丰富的语义信息, 如何将其引入推荐系统是一大研究热点。很多研究者专门设计了适用于某种特定结构化辅助信息的推荐系统, 如社会化推荐[5]、基于地理位置的社交推荐[6]、基于知识图谱的推荐[9]等。这些方法已经被证实能够显著提升推荐系统的性能, 但这些方法往往与特定的辅助信息类型有关, 并不具有普适性。如何设计能够在推荐系统中融合各种辅助信息的建模方法, 从而更灵活、更有效地利用辅助信息缓解推荐系统中的数据稀疏与冷启动问题, 成为了推荐系统的重大研究挑战。
很多真实系统都可以视为由多种类型实体和多种类型关系构成的复杂网络, 传统的研究方法将其建模成同质网络, 忽略了对象与链接的异质性。为了全面地建模复杂系统中丰富的结构和语义信息, 研究者们提出了异质信息网络[7], 并将其成功应用于各种数据挖掘任务的建模中。异质信息网络的核心概念定义如下:
作为一种建模异质实体与多类别关系的强大工具, 异质信息网络提供了一种通用且灵活的方法来建模数据的异质性, 在挖掘真实复杂系统背后的丰富结构与语义信息上存在明显的优势, 已经被广泛应用于相似性度量、节点聚类、分类、链接预测、排序和信息融合等多种数据挖掘任务中[7], 并且在上述任务中取得了较好的效果。
推荐系统可以视为信息网络上的链接预测任务,传统的推荐系统基于二分图建模, 难以利用各种辅助信息。有些研究者提出了融合特定类型辅助信息的方法, 但往往不具有普适性。近年来, 基于异质信息网络的推荐系统成功解决了如何将各种异质辅助信息与用户交互行为统一建模的问题, 不仅有效地缓解了推荐系统中的数据稀疏与冷启动问题, 而且可以显著提升推荐系统的可解释性, 因此得到了广泛的关注与应用。
基于异质信息网络的推荐系统的基本步骤是先将用户-商品交互数据与所有辅助信息统一建模为异质信息网络, 然后设计适用于异质信息网络的推荐模型。
本节介绍基于异质信息网络的统一建模方法。以电影推荐为例, 图1(a)展示了一个用于电影推荐系统的异质信息网络建模实例。在该实例中, 包含五种类型的实体, 分别是用户(U)、群组(G)、电影(M)、导演(D)和电影类型(T); 以及五种类型的关系, 分别是用户属于群组关系(U-G)、用户好友关系(U-U)、用户给电影评分关系(U-M)、电影与属于特定类型(M-T)以及电影被特定导演执导(M-D)的关系。图1(b)展示了该电影异质信息网络的网络模式, 图1(a)是图1(b)的网络实例。图1(c)展示了电影异质信息网络的两条元路径, 分别是“用户-电影-用户”(U-M-U)和“用户-电影-导演-电影-用户”(U-M-D-M-U), 前者表示两个用户观看过同一部电影的关系, 后者表示两个用户观看过由同一个导演执导的两部电影的关系。图1(d)展示了电影异质信息网络的一个元结构, 由图1(c)的两条元路径复合而成, 表示两个用户对同一部电影的评分或对由同一个导演执导的两部电影的评分关系。
图1 基于异质信息网络的电影推荐系统Figure 1 A movie recommender system based on heterogeneous information network
由上述举例可见, 基于异质信息网络的推荐系统可以充分融合交互信息(U-M)、社交信息(U-U)、属性信息(M-T)等各种结构化辅助信息, 还能通过设计元路径、元结构等方式有效地保留辅助信息中丰富的高阶语义知识, 例如U-M-U 对应“与目标用户有相同观影记录的用户”, 并用于生成“与您有相同观影记录的用户也喜欢XXX”等可解释的推荐理由。事实上, 异质信息网络的构建不仅可以用于结构化数据, 也可以利用实体抽取、关系抽取等方式处理后的非结构化数据, 因此具有很强的普适性。
将推荐系统中的多种类型实体与复杂交互行为统一建模为异质信息网络之后, 接下来要做的就是设计适用于异质信息网络的推荐算法, 第3 章将全面地介绍现有方法, 并进行分类汇总。
目前, 研究人员设计了各种适用于异质信息网络建模的推荐算法。本章根据模型的不同, 将现有工作进行分类, 如表1 所示。
表1 基于异质信息网络的推荐系统方法汇总Table 1 Recommender system methods based on heterogeneous information network
推荐系统的个性化匹配往往基于对实体相似性的度量, 而协同过滤需要基于用户与商品之间的交互历史计算相似度。早期的相似性度量算法仅对同质信息网络定义, 如P-PageRank[15]通过重启随机游走评估从源对象到目标对象的概率, SimRank[16]通过两个对象的邻居相似性来评估对象的相似性。
然而, 这些算法忽视了对象和联系的不同类型,不适用于建模为异质信息网络的推荐系统。为了解决这一问题, 研究者们提出了一系列用于异质信息网络中实体相似性度量的算法, 主要包括基于随机游走的方法和基于元路径的方法。基于这两类异质信息网络相似性度量算法, 研究者们提出了很多协同过滤算法的变体, 本文将这类方法统称为基于相似性度量的方法。
3.1.1 基于随机游走
基于随机游走的相似性度量方法具有普适性,但缺乏对高级语义信息的显式利用, 而且游走路径无法满足对称性等优良性质, 代表性方法有ECTD[17]、PCRW[18]等。
基于随机游走的协同过滤算法在元路径提出前占据主流地位, 例如ECTD[17]在提出相似性度量的同时就将其应用于电影推荐任务中; 之后, OptRank[19]利用异质信息构造了随机游走转移概率矩阵, 缓解社会标签推荐中的冷启动问题。在元路径的方法提出之后, 基于随机游走的方法仍因其无需手动设计元路径等优点, 被很多推荐系统使用。例如,HeteRS[20]将异质信息网络表示为多个转换矩阵, 每个转换矩阵对应于从一种对象到另一种对象的关系;给定查询节点, 使用多元马尔可夫链求解得到推荐结果。Div-HeteRec[21]使用顶点增强的随机游走,避免多个彼此相邻且影响力大的节点对推荐多样性的影响。HeteLearn[22]基于随机游走和贝叶斯个性化排名技术学习链接权重, 实现对用户偏好的个性化建模。
3.1.2 基于元路径
基于元路径的相似性度量方法引入了额外的先验知识, 设计的元路径满足对称性、自最大性等优良性质, 有助于捕获高级语义信息, 但需要手动设计元路径, 代表性方法有 PathSim[23]及其变体HeteSim[24]等。
由于元路径的设计十分多样, 基于元路径的协同过滤算法的一般框架是使用不同的元路径生成大量备选相似度, 然后通过人为指定或学习权重, 对备选相似度加权求和。因此, 得益于可读性强的元路径以及不同元路径的权重, 基于元路径的方法还具有可解释性强的优点。
如图2 所示, SemRec[11]考虑到了链接的属性值,学习不同元路径的权重机制, 将这些相似度组合,近似评分矩阵。此外, HeteRecom[25]计算基于HeteSim[24]的加权元路径用户相似度, 然后使用一种启发式权重学习方法计算权重。MP-PRF[12]基于受限元路径对异质引用网络中的论文对象进行重新排序,从而为基于文本的查询提供引文推荐。H-M[26]在加权混合中包含了多种类型的元路径。ClusCite[27]提出了一个基于聚类的元路径加权引文推荐框架, 以预测书目网络中每个查询的引文。
图2 SemRec[11]模型示意图Figure 2 SemRec[11] model diagram
3.1.3 小结
本节讨论的推荐算法都是使用异质相似性度量做推荐的最早期工作, 大都以基于记忆的协同过滤为基础。基于记忆的协同过滤需要大量的交互信息,时空复杂性高, 泛化能力差。随着矩阵分解、神经网络等模型在推荐系统中的应用, 尽管本节介绍的方法不再主流, 但本节介绍的PathSim[23]、HeteSim[24]等异质相似性度量方法同样适用, 是很多后续工作的基石。
为了解决相似性度量方法存在的时空复杂度高的问题, 推荐系统的研究者们提出了矩阵分解模型,其原理是通过分解评分矩阵来提取出用户和商品的隐向量, 然后根据隐向量的相似度进行推荐。
传统的矩阵分解模型在训练时使用隐向量重构共现矩阵作为优化目标, 无法利用异质信息网络中丰富的语义信息。很多研究者提出适用于异质信息网络建模的矩阵分解方法, 可以分为两类: 基于正则化的方法, 和基于神经矩阵分解的方法。与3.1 节介绍的基于相似性度量的方法相比, 本节介绍的方法不依赖显式的路径可达性, 当路径连接稀疏或嘈杂时也不会失败。
3.2.1 基于正则化
传统的矩阵分解模型仅重构用户对商品的评分矩阵, 而无法利用异质信息网络中其他类型的实体与关系。很多改进工作在优化目标中引入异质正则项来弥补这一不足, 本文将这类方法称为基于正则化的矩阵分解。具体而言, 这类方法使用各种相似性度量方法计算出相似度矩阵, 然后使用隐向量重构相似度矩阵作为单独的正则项, 或者将相似度矩阵与评分矩阵融合作为统一的待分解矩阵。
一些方法在设计正则项时考虑了不同类型的异质关系。例如, CMF[28]设计了一种协同矩阵分解模型,同时分解多个矩阵并共享参数。考虑到不同关系应该有不同的影响, HeteroMF[29]设计了一个上下文相关的矩阵分解模型, 正则项考虑了每个实体的通用嵌入表示和每个关系的上下文相关嵌入表示, 其中上下文相关嵌入表示是通过上下文转移矩阵得到。
为了利用元路径的高级语义信息, 还有一些方法使用基于元路径的相似性度量生成相似性矩阵,作为矩阵分解的正则项。例如, Hete-MF[30]先用PathSim[23]计算基于元路径的商品-商品相似度, 然后使用线性回归对不同元路径的相似度分数加权,从而对不同元路径语义上的不同偏好进行区分。Hete-CF[31]对 Hete-MF[30]进 行 了 扩 展, 采 用PathSim[23]测量用户-用户、商品-商品和用户-商品之间的关系, 然后使用一个统一的矩阵分解模型将上述三种异质信息整合到社会推荐任务中。HeteRec[32]先使用元路径计算商品-商品相似度, 然后和用户评分矩阵做内积生成用户偏好扩散矩阵, 并利用扩散矩阵上的非负矩阵学习用户和商品潜在特征。Yu 等人[33]在 HeteRec[32]的基础上考虑了个性化, 用PathSim[23]计算基于元路径的用户-商品相似度, 称为用户偏好扩散分数, 从多个不同视角来做个性化推荐。Amp-MF[34]提出了一种增强的元路径相似性度量方法, 该度量通过考虑链接结构和增强的链接属性来捕获实体之间的丰富相似性语义。SimMF[35]设计了一种双重正则化框架, 通过采用用户和商品的平均或个体相似性正则项来集成异质信息。DSR[36]首先计算基于HeteSim[24]的用户-用户与用户-商品相似度, 然后对不同的元路径加权; 模型优化由两个阶段交替进行: 先固定权重, 优化矩阵分解的用户和商品表示; 然后固定用户和商品表示, 优化不同元路径的权重。
3.2.2 基于神经矩阵分解
矩阵分解的线性建模能力使其不能有效地表示用户的复杂偏好, 因此推荐效果不佳。随着深度学习的兴起, 神经矩阵分解[37]及其变体凭借神经网络拟合任何函数的强大能力, 在推荐任务中取得了较好的效果。
然而, 传统的神经矩阵分解方法仅使用用户和商品ID 的独热编码作为输入特征, 并不能利用异质信息网络的丰富语义信息。为了融合结构信息, 研究者们使用3.1 节介绍的相似性度量方法生成相似矩阵、交换矩阵或随机游走序列, 作为结构特征输入到神经矩阵分解模型中, 然后再对特征进一步交叉融合, 本文将这类方法称为基于神经矩阵分解的方法。
例如, 如图3 所示, NeuACF[38]对于不同的元路径, 分别使用PathSim[23]计算对应的用户和商品的方面级相似矩阵, 每个矩阵代表用户在某个特定方面的偏好(如, 品牌和类别等), 并将其输入深层神经网络, 学习方面层次的潜在因素, 并将这些因素与注意力机制融合以进行推荐。类似地, HNAFM[39]使用不同的元路径计算交换矩阵, 并使用多层感知器学习用户和商品特征, 再使用层次注意力机制融合多个来自元路径的表示。RLDB[40]首先使用基于元路径的随机游走获得用户和商品的连接序列, 然后使用卷积神经网络学习结构表示和文本表示, 最后使用多视图机将结构表示和文本表示有效地组合在一起。
图3 NeuACF[38]模型示意图Figure 3 NeuACF[38] model diagram
3.2.3 小结
基于矩阵分解的方法存在诸多优点。例如, 由于矩阵分解的输出是用户和商品的隐向量, 任意用户和商品之间都可以预测得分, 所以泛化能力较强;由于矩阵分解使用隐向量代替了相似性矩阵的存储,所以也具有空间复杂度低的优点。然而, 矩阵分解也存在不方便融合用户、物品的异质交互行为和上下文相关特征等缺陷。为了解决这些问题, 图表示学习技术被引入到推荐模型中, 并逐渐在推荐系统中取得了广泛的应用。
随着深度学习的发展, 基于神经网络的推荐模型凭借其强大的特征交叉能力以及模型架构设计的灵活性, 取得了较好的推荐效果。然而, 传统的神经网络并不能直接建模图结构。随着图表示学习技术的兴起, 研究者们尝试设计融合图表示学习技术的推荐模型, 从而更好地学习图数据中丰富的结构和语义信息。本节将这类方法统称为基于图表示学习的方法, 并进一步分为基于两阶段训练的方法和基于端到端训练的方法。
3.3.1 基于两阶段训练
无监督图嵌入旨在学习图结构信息的低维向量表示, 从而可以方便存储以及应用于各种下游任务。基于两阶段训练的方法使用无监督图嵌入生成结构特征, 并作为推荐模型的输入。
事实上, 无监督矩阵分解就是一种典型的二分图嵌入模型。与矩阵分解推荐模型的区别在于, 无监督矩阵分解的待分解矩阵是基于元路径得到的相似性矩阵, 而不是包含监督信息的评分矩阵。例如,FMG[41]设计了一种基于元图的相似性度量方法, 并对从元图获得的用户-商品相似度矩阵做无监督的矩阵分解, 从而学习用户和商品的嵌入向量; 然后, 将嵌入向量作为结构特征输入到因子分解机, 从而对特征之间的高阶关系建模。与FMG[41]类似, Mo-HINRec[42]提出了模体增强的元路径, 进一步捕获相同类型节点间的高阶关系, 然后将嵌入表示输入到因子分解机中进行训练。
然而, 分解大规模矩阵的代价通常非常高, 因此无监督矩阵分解的方法存在性能缺陷[7]。受到DeepWalk[43]、node2vec[44]等方法的启发, 研究者们设计了很多基于随机游走的无监督异质图嵌入方法,并将其应用于推荐系统的结构特征生成上, 代表性方法有Metapath2vec[45]、HIN2Vec[46]等。基于随机游走的异质图表示学习方法由两个步骤构成: 首先通过随机游走生成不同的节点序列, 然后基于游走序列设计自监督任务指导训练。例如, HIN2Vec[46]使用无约束的随机游走生成游走路径, 然后使用逻辑二元分类器预测节点之间是否存在特定关系, 同时学习节点和关系的表示; Metapath2vec[45]提出了基于元路径约束的随机游走方法, 使用SkipGram[47]预测滑动窗口内的上下文节点, 从而学习节点表示。
为了将基于随机游走的异质图表示学习方法用于推荐系统中, 早期的方法基于关系建模, 无需人工指定元路径。例如, HRLHG[48]提出了分层随机游走算法, 在两组不同的分布集的引导下实现两级随机游走:局部随机游走基于关系转换分布定义, 用于建模与任务无关的局部语义信息; 全局随机游走基于关系类型有用性分布定义, 用于建模特定于任务的网络模式。
通过引入元路径或元结构的约束, 模型可以利用更高层次的先验知识。例如, IF-BPR[49]使用元路径识别社交推荐系统中的隐式朋友, 并且考虑到社交关系中的噪声, 设计了有偏的随机游走方式。HERec[50]使用基于元路径的随机游走生成对象序列并使用node2vec[44]学习对象的嵌入, 然后设计了三种方式融合不同元路径生成的对象嵌入, 模型架构如图4 所示。HueRec[51]假设用户或商品在不同元路径下有公共的语义, 进而利用所有元路径学习统一的用户和商品表示。
图4 HERec[50]模型示意图Figure 4 HERec[50] model diagram
3.3.2 基于端到端训练
使用无监督图嵌入的两阶段训练方法, 在图嵌入阶段没有利用推荐任务中的监督信息, 因此生成的图嵌入表示难以适合各种推荐任务。与之相比, 端到端的图嵌入方法可以在学习图嵌入的同时利用监督信息, 从而提升图嵌入与推荐任务的匹配程度。
图神经网络是一种有代表性的处理图结构的神经网络, 不仅支持端到端训练, 而且在节点分类[52]等任务上取得了较好的效果。早期的图神经网络仅适用于同质图, 代表性方法有图卷积网络(Graph Convolution Network, GCN)[52]、图注意力网络(Graph Attention Network, GAT)[53]等。为了将图神经网络应用于异质信息网络, 研究者们提出了很多异质图神经网络, 并将其应用于推荐系统中, 本节将介绍以异质图神经网络为代表的端到端训练方法。
(1) 基于关系
对于关系类型丰富的异质信息网络, 研究者们通常使用关系感知的图神经网络建模, 例如RGCN[54]、TransGCN[55]等, 将这类方法用于推荐系统的代表性工作如下:
IntentGC[56]是在统一的推荐框架中为显式偏好和异质关系建模的第一项工作, 核心思想是基于二阶关系将复杂的异质图转化为仅由用户和商品构成的二分图, 模型架构如图5 所示。IntentGC 根据二阶相似度建立连边, 将原始的异质关系翻译成用户-用户关系或者商品-商品关系, 然后通过对偶图卷积分别对用户和商品进行向量卷积, 再把卷积结果通过全连接层投影到统一的向量空间。IntentGC 使用向量卷积代替按位卷积, 从而来避免不必要的特征交互,提升模型鲁棒性。与图采样技术相比, IntentGC 不会让图变得稀疏而影响模型效果, 并且更加高效。
图5 IntentGC[56]模型示意图Figure 5 IntentGC[56] model diagram
RecoGCN[57]提出一种关系感知的协同注意力机制, 先基于元路径对邻居采样, 然后对每个关系的不同邻居使用图注意力机制聚合, 再对不同关系使用注意力机制加权融合, 并将其用于销售代理商参与的商品推荐任务。
GNewsRec[58]对不同的关系类型采用不同的映射矩阵, 用于学习节点表示作为用户的长期兴趣,并将其应用于新闻推荐任务。
SIAN[59]提出了一种社交影响力注意神经网络,使用节点级和类型级聚合的双层注意力机制来学习用户和商品的表示, 然后使用社交影响力耦合器建模好友和商品的耦合影响力程度, 并将其用于朋友增强的推荐任务, 即给用户推荐其朋友喜欢或分享的商品。
THIGE[60]提出了一种时序异质交互图嵌入方法,分别对用户的长短期兴趣进行了建模。短期兴趣用多个近期行为表示, 用门控循环单元与注意力机制共同建模; 长期兴趣建模使用关系感知的异质图注意力机制建模。
GAMMA[61]认为用户会受到商品不同信息的不同影响, 例如电影的演员和题材。分别将演员、题材等信息作为电影的邻居节点, 可以构成不同视角下的异质图, 例如电影-演员异质图。对于每个视角, 使用图注意力机制聚合电影的异质邻居, 可以得到电影在当前视角的表示。然后, 记忆网络学习用户特定的商品表示, 最后再做视图级注意力将多个视图加权融合。
BasConv[62]将异质图用于购物篮推荐任务, 即分析购物篮意图, 为用户推荐适合加入当前购物篮的商品。具体而言, BasConv 将用户-商品-购物篮建模为异质图, 然后设计了基于图神经网络的异质交互层, 并为用户、购物篮和商品分别设计了不同的聚合方式。
TreeMS[63]用户信息整合到电商推荐系统中, 并使用图神经网络初始化用户表示。由于用户关系包含朋友、分享、为其付款等多种类型, 所以用户网络是异质信息网络。TreeMS 将用户网络根据关系类型的不同拆分成多个视图, 对每个视图使用图注意力机制学习用户的向量表示, 再对多个视图的表示拼接融合。对于商品表示, 使用长短期记忆网络与混合专家网络对商品的树形层次图进行建模。
GHCF[64]学习关系的向量表示, 并且将节点和关系向量做元素级乘积用于邻居聚合, 然后将每层聚合的向量取平均, 从而显式融合直接交互和高阶交互信息, 并将其应用于商品推荐任务。
Comb-K[65]将异质图用于促销推荐任务, 即为商家推荐适合促销的商品, 从而激发用户购买欲望并提升商家收益。具体而言, Comb-K 提出了一种组合优化模型, 在充分考虑所有用户偏好的情况下, 同时搜索商品选择和交付的最佳组合。其中, Comb-K使用异质图卷积网络估计用户偏好, 并使用异质图池化网络来进行用户聚类和估计群组偏好。
(2) 基于元路径
另一种异质图神经网络基于元路径建模, 能够有效地引入先验知识, 捕获异质图中的高级语义信息, 代表性方法有HAN[66]、HetGNN[67]等。将这类异质图神经网络用于推荐系统的代表性工作如下:
MEIRec[68]沿着元路径聚合每一阶的异质邻居,然后再对不同的元路径做聚合, 分别得到用户嵌入和查询嵌入; 然后将静态特征、用户嵌入和查询嵌入拼接输入多层感知器预测评分, 用于意图推荐任务,即为用户推荐可能的查询序列, 模型架构如图6 所示。MEIRec[68]使用统一的术语嵌入代替实体嵌入,将查询和商品视为术语嵌入的组合, 极大地降低了模型参数量, 使模型适用于大规模推荐系统。
图6 MEIRec[68]模型示意图Figure 6 MEIRec[68] model diagram
PGCN[69]提出通过将交互序列数据转换为用户-商品图、商品-商品图和用户-子序列图来挖掘用户偏好、商品依赖和用户行为相似度等三种信息, 三个图共享用户和商品的嵌入。首先, 定义所有视图、所有元路径下的邻居关系。然后, 对于每个视图, 用常数转移矩阵或注意力机制学习将相同类型的节点转化为一个虚拟节点, 称为图池化操作。接下来, 把同一元路径下的所有一阶虚拟邻居节点加权平均再做特征变换, 称为卷积操作。最后, 并将所有路径类型的一阶和二阶邻居的结果求和, 得到最终的向量表示。
MSRE[70]利用注意力引导游走模型在隶属关系和交互关系上确定下一步应该优先考虑哪个节点,并选择关键解释元路径。首先, 将用户和商品特征建模为单独的实体, 并且将异质图中的关系分为从属关系和交互关系, 从属关系特指“实体-特征”的关系, 而交互关系可以用于探索用户和商品之间的高阶语义信息。然后, 对于从属关系, 考虑到用户的偏好不同等分布在一个商品的所有特征上, 而商品对不同用户群体的受欢迎程度也不同, 因此使用注意力机制来加权用户和商品的不同特征。对于交互关系, 使用长短期记忆网络提取元路径序列的特征,并使用注意力加权。为了生成更加多样的推荐解释,MSRE 将关系进一步分为从属关系和交互关系分别建模。为了提升元路径的可解释性, MSRE 对从属关系限制元路径长度为3, 仅采样“用户-商品-商品特征”和“商品-用户-用户特征”两种元路径; 对交互关系, 限制元路径最大长度为4。
ACKRec[71]先使用图卷积网络做节点级聚合,再使用图注意力做元路径级聚合, 再将聚合得到的实体嵌入融合到矩阵分解的框架中共同优化。
DisenHAN[72]显式地建模来自不同方面的因素以及来自语义关系的相应影响。首先, 根据元关系对邻居进行分组, 并将其属性投影到不同的子空间中。然后, 使用双层图注意力机制, 对于每种元关系内部和不同的元关系之间使用注意力机制聚合, 从而获得最优的元关系组合方式。
NIRec[73]额外引入交互信息提取层来解决异质信息网络中的过早总结问题, 也就是预测前将节点及其邻域信息压缩为单个嵌入, 导致的交互程度不够。首先, 从某一源节点出发, 按照元路径搜索其邻居节点, 并对邻居采样; 然后, 使用交互卷积操作获取节点之间的潜在交互信息, 再利用双层注意力机制将提取的节点级和路径级的特征信息进行聚合。NIRec 使用快速傅里叶变换, 加速了图卷积模型的训练。
DHGAT[74]将异质图用于店铺搜索任务, 即给定用户, 为其查询推荐店铺。具体而言, DHGAT 使用异质图建模三种不同用户关系下的一阶、二阶相似度,并且使用对偶异质图注意力网络聚合异质和同质邻居信息, 学习鲁棒的查询和商店的表示, 并且有助于缓解长尾现象。DHGAT 提出了一种双层注意力机制, 首先采样固定个数的邻居, 然后在第一层聚合特定类型的同质或异质邻居, 在第二层聚合不同类型的邻居。对于异质邻居, 在第一层聚合时使用转换矩阵映射到同一个语义空间。然后, 利用相关商品提供的语义文本信息生成文本级别表示形式, 并将基于图的表示形式和文本级别的表示形式组合在一起,并馈入到双塔网络计算相似度。
MetaHIN[75]使用元学习解决异质图推荐的冷启动问题。首先, 设计了一种语义增强型任务构建器,将多方面的语义上下文合并到任务中。然后, 给用户聚合直接邻居和元路径上的邻居, 并且使用协同适应元学习器, 实现语义级适应和任务级适应。
HCDIR[76]将异质图用于跨域推荐任务, 在源域中使用词嵌入算法学习商品表示, 使用门控循环单元来建模用户的动态兴趣; 在目标域采用关系、节点和语义的三层异质图注意力机制来获得用户和商品的表示。在获得重叠用户的表示后, 通过多层感知器学习两个域之间的特征映射, 从而可以通过源域的用户表示得到目标域的用户表示, 一定程度上缓解了冷启动问题。
HGSRec[77]将异质图用于分享推荐任务, 即为用户推荐适合分享特定商品的朋友。具体而言,HGSRec 设计了一个三元异质图神经网络来描述用户和商品的多重特征, 然后通过使用双重共同注意机制捕获潜在的三元依赖性来动态融合它们, 然后通过传递三元组表示来描述共享行为的不对称性并预测是否发生分享动作。
大部分基于元路径的方法都使用元路径来约束图神经网络的邻居聚合。此外, 还有一些方法在模型训练时显式学习元路径的嵌入表示, 而且不依赖于图神经网络模型。例如, MCRec[78]使用卷积神经网络学习元路径嵌入表示, 并提出了一种共同注意机制,以相互改进基于元路径的上下文、用户和商品的表示, 模型架构如图7 所示。LGRec[79]使用协同注意力机制建模用户和商品的局部信息, 并预测基于元路径的交互概率作为优化目标的一部分。MTRec[80]然后使用自注意力机制学习元路径嵌入, 并将元路径视为从用户到商品的翻译, 还设计了一个多任务学习框架, 使用元路径的序列预测任务作为辅助任务。
图7 MCRec[78]模型示意图Figure 7 MCRec[78] model diagram
3.3.3 小结
基于图表示学习技术的推荐模型可以有效地学习图数据中丰富的结构和语义信息, 并且可以与其他的深度学习技术结合使用, 在实际应用中具有较强的灵活性。一方面, 无监督的图表示学习可以作为预训练生成特征向量, 与其他特征向量融合并作为后续模型的输入; 另一方面, 有监督的图表示学习可以作为推荐模型的嵌入层, 实现端到端的训练。然而, 现有的图表示学习技术仍存在可扩展性和可解释性不足等诸多挑战, 也是现阶段的研究重点。
前几章介绍了基于异质信息网络的推荐系统的现有工作与核心思想。可以发现, 异质信息网络作为一种融合辅助信息的建模方法, 凭借其缓解数据稀疏与冷启动问题、提升模型性能与可解释性等方面的优势, 已经在各种各样的推荐系统模型和推荐任务上得到了应用。然而, 基于异质信息网络的推荐系统仍面临很多挑战, 本节将介绍几个潜在的未来研究方向。
目前, 以异质图神经网络为代表的最先进的异质图推荐模型, 仍面临着很多挑战。这些挑战一方面来自于图神经网络模型本身的局限性, 另一方面来自于设计建模异质信息的方法不够灵活。
首先, 基于图神经网络的推荐系统模型仍存在诸多缺陷。例如, 目前的图神经网络通常采用消息传递机制, 而且当模型加深时存在过平滑问题, 难以捕捉推荐场景中的全局信息。图神经网络对于度数低的节点预测效果不佳, 难以得到长尾商品的准确嵌入表示。图神经网络的鲁棒性较差, 难以使用部分缺失或有误的用户和商品特征进行训练。图神经网络的可解释性较差, 不能直接生成可读性强的推荐解释。为了解决这些问题, 研究者们使用对比学习[81]、多任务学习[82]、图去噪框架[83]和事后解释[84]等方法, 但这些方法仅适用于同质图或二分图, 如何应用于基于异质图神经网络的推荐系统仍存在挑战。
另一方面, 目前在图神经网络中引入异质信息的方法仍不够灵活。例如, 基于元路径的方法需要手动设计元路径, 这依赖于丰富的专家知识, 既要考虑到筛选有价值的信息进行融合, 又要考虑到元路径的计算开销和生成解释的可读性, 如何自动设计元路径或元结构是这类方法的核心挑战。近期, 一些工作使用自动机器学习[85]、强化学习[86]等方法生成元路径, 但生成策略、生成效率的改进以及与推荐任务的结合, 仍是未来工作的研究重点。
在推荐任务层面, 绝大多数基于异质信息网络的方法主要应用于电影推荐、商品推荐、音乐推荐、新闻推荐等传统的推荐任务中。此外, 最近的工作成功将异质信息网络用于其他新颖的推荐任务中, 例如序列化推荐[60]、购物篮推荐[62]、分享推荐[63,77]、促销推荐[65]、意图推荐[68]、可解释推荐[70,87]、店铺搜索[74]等。随着推荐系统的发展和广泛应用, 如何将异质信息网络用于组推荐、POI 推荐、视频推荐、医药推荐等更多的推荐任务仍存在挑战, 也是未来的研究重点。
目前的绝大多数工作仅关注在单一异质网络上的推荐任务, 而很多真实系统由多个复杂异质网络构成, 一些用户分别在两个网络中同时出现, 充当连接两个网络的锚节点。通过锚节点, 可以将信息丰富的源域的信息迁移到信息稀少的目标域中, 这也称为跨域推荐。跨域推荐不仅可以有效缓解目标域的冷启动问题, 而且可以用于借助源域的知识生成多样且新颖的推荐, 从而缓解个性化推荐的信息茧房问题。
与单图推荐相比, 跨域推荐存在很多额外的挑战。例如, 如何设计源域到目标域的映射函数, 如何在利用跨域信息的同时不泄露用户隐私, 如何避免知识负迁移, 如何捕获域内与跨域的高阶非线性相互作用[88]等, 这些挑战对于异质信息网络同样存在。目前, 基于异质信息网络的跨域推荐研究[76]仍然较少, 如何应对上述挑战是未来的研究重点。
真实的推荐系统往往需要处理超大规模的数据,并且对推荐的实时性有较高的要求, 因此很多复杂的推荐模型无法直接使用。大规模实时推荐主要面临两方面问题: 一方面是模型的轻量化, 另一方面是模型的动态更新。
对于模型轻量化, 现有的一些异质图推荐模型在设计上使用了定制的技巧[56,68,73], 这些方法只适用于特定模型, 而不具有普适性。另外一些方法使用图采样[89-91]等通用的近似估计技术来加速运算, 但往往会以模型精度损失为代价。还有一些轻量化模型仅适用于二分图[92], 无法直接应用于异质信息网络。如何设计速度更快、更加通用、精度有保证且适用于异质信息网络的轻量化模型仍存在挑战。
此外, 真实的推荐场景会不断产生新的交互数据, 用户和商品的数量也与日俱增。为了从新的数据中学习知识, 很多推荐模型需要在图结构发生变化时重新训练, 这对于大规模推荐场景显然无法接受。为了支持模型的在线学习, 解决灾难性遗忘问题,一些方法[93]使用增量学习对模型进行增量式更新,但仅支持二分图的动态推荐, 如何将其应用于异质信息网络存在挑战。
异质信息网络的建模方法可以有效利用辅助信息中丰富的结构和语义信息, 将其应用于推荐系统的建模不仅可以有效缓解数据稀疏带来的冷启动问题, 而且可以提升推荐模型的准确度和可解释性。本文系统地调研了基于异质信息网络的推荐系统相关工作, 先是介绍了异质信息网络和推荐系统的相关概念, 然后对现有工作给出了分类和总结, 并且指出了未来研究方向。希望本文可以给异质信息网络和推荐系统的研究人员提供一些参考, 促进该领域的持续发展。