陆佳炜,李端倪,王策策,徐俊,肖刚
(1.浙江工业大学 计算机科学与技术学院,浙江 杭州 310023;2.中国计量大学 机电工程学院,浙江 杭州 310018;3.中国计量大学 信息工程学院,浙江 杭州 310018)
服务计算与区块链、物联网、云计算等新兴技术跨界融合,催生出海量异构多模态的应用程序接口 (application programming interface, API)服务,如何有效地推荐符合用户开发需求的API 服务成为当前服务计算领域的热点问题[1],服务推荐受到学术界和工业界的广泛关注.早期服务推荐方法大多基于协同过滤的思想[2-3],根据用户或服务的相似度进行推荐.此类方法缺乏对用户特征和服务特征的深度挖掘,推荐准确度较低.一些研究者结合聚类技术、主题模型和因子分解机等方法[4-7]进行改进.虽然上述方法在一定程度上提高了推荐精确度和效率,但是仍存在以下缺陷:1)当输入维度较高时,大部分服务推荐方法难以有效挖掘API 服务之间隐式高阶关联; 2)在考虑用户行为相似性时,现有方法大多将用户与服务之间复杂的多行为交互(如调用、组合)同质化,视其为单一行为类型.
图神经网络可以较好地提取网络结构信息,是推荐系统目前的研究重点[8-10].受限于图结构的度数要求,普通图神经网络只能将高阶服务关联转换为二元关系, 容易造成原始服务信息的丢失.超图可以利用超边连接任意数量的服务节点,实现更为合理的服务特征建模[10].以超图学习为基础,结合多行为推荐思想, 本研究提出基于超图卷积神经网络的多行为感知服务推荐方法(multibehavior aware service recommendation method based on hypergraph graph convolution neural network, MBSRHGNN).该方法构建多重超图结构对服务组合特征以及多行为依赖关系进行建模;利用双通道超图卷积网络捕获隐含的用户-服务特征;将API服务转化为嵌入向量,结合超图信号产生推荐服务的概率分布.本研究创新点如下:1)构建行为感知超图和服务组合超图,根据超图功能结构特性,设计双通道超图卷积网络.在超图卷积过程中,采用Chebyshev 卷积算子和HG-DiffPool 池化方法降低计算复杂度,减少模型过拟合风险.2)引入多行为推荐方法对服务推荐场景中的多行为交互进行建模,结合超图自注意力机制优化目标行为表示,克服传统推荐方法中多行为交互同质化的缺陷.
协同过滤[2-3]在服务推荐场景中的应用较为广泛,较为经典的是由Zheng 等[2]提出的一种混合式协同过滤服务推荐方法.该方法综合考虑用户相似性和服务相似性,采用线性组合加权的方式进行服务推荐,但是传统的协同过滤服务推荐方法在应用时存在冷启动以及可拓展性差的问题.现有研究[4-6]表明服务功能聚类技术能够有效缩小服务搜索空间,优化API 服务推荐流程.此类方法大多利用向量空间模型将服务描述文档映射至高维特征空间,并结合余弦距离、欧式距离、马氏距离等方法计算服务相似度.Agarwal 等[4]使用长度特征权重矢量化表示API 服务,结合功能词频进行服务聚类.由于向量空间模型存在特征维度过高、语义稀疏的问题,一些工作结合自然语言处理技术来发掘服务间的语义关联[5-6].笔者[5]提出一种融合功能语义关联计算与密度峰值检测的Mashup 服务聚类方法,利用功能语义权重来计算服务语义特征.服务间语义关联的发掘需要高质量语料,然而现实中的服务描述文本容易导致大部分主题模型难以准确捕捉服务描述间的隐式语义关联[6].
图神经网络可以有效地提取数据样本间的高阶关联和结构信息,目前在推荐系统中已得到广泛的应用[8-10].Wu 等[9]将会话建模为序列图结构,引入门控循环单元来生成项目嵌入和会话嵌入.序列图、二分图、带权图等普通图结构都难以表示服务推荐场景中复杂的高阶服务组合关联.作为一种特殊的图结构,超图能更有效地建模复杂数据样本之间的多元关系[10].本研究采用构建多重超图的方式,基于双通道超图卷积神经网络深度挖掘服务组合特征.
多行为推荐方法能从异构的用户交互行为中挖掘潜在的行为语义,帮助构建更为合理、准确的用户行为表示[11-13].Yang 等[12]提出一种跨视图对比学习框架,利用多尺度Transformer 和低秩自注意力机制捕获多行为偏好.Xia 等[13]基于图迁移学习思想,采用元学习器构建用户行为表示.受上述工作启发,本研究将多行为推荐方法融合到服务推荐场景中,并引入超图自注意力机制动态地学习行为权重,优化行为感知超图的关联矩阵表示.
本研究提出的服务推荐模型MBSRHGNN 的整体框架如图1 所示,主要由以下3 个模块构成.1)多重超图构建:将爬取到的真实服务数据转化为行为感知序列和服务划分集,根据多行为交互类型和服务组合信息构建多重超图.2)双通道超图卷积网络:基于双通道超图卷积网络捕获全局多行为依赖和高阶服务组合关联.在行为感知卷积通道上,引入自注意力机制动态学习行为权重,将服务推荐与多行为推荐方法相结合.在服务组合卷积通道上,增加HG-DiffPool 超图池化层来降低服务特征维度.在此模块中,self-attention 为超图自注意力机制,Chebyshev Conv 指的是Chebyshev近似后的卷积操作.3)语义编码推荐:通过基于Transformer 的双向编码器 (bidirectional encoder representation from transformers,BERT)编码层将功能语义信息转化为语义向量.根据语义向量与API服务的one-hot 编码结果,产生语义嵌入.结合全局多行为依赖和高阶服务组合关联得到全局序列特征,预测推荐服务的概率.
图1 MBSRHGNN 模型总体架构Fig.1 Framework of MBSRHGNN
2.2.1 行为感知超图构建 行为感知序列和服务划分集是构建行为感知超图的基础.将用户交互的服务项按时间顺序排列,并记录下具体的交互行为类型,可以得到行为感知序列S={,···,}.其中,多行为交互项,代表用户与API 服务an之间有类型为bk的交互行为.按服务种类对S进行划分,结果定义为服务划分集P={pj=(,···,)},pj为服务划分,是与an相关的所有多行为交互项的集合.
构建行为感知超图Gs=(Vs,Es).其中,Vs为超点集,由行为感知序列中的多行为交互项构成.Es为超边集,超边由服务划分转换而来.Gs可以用关联矩阵Hs∈R|Vs|×|P|表示, |Vs| 和 |P| 分别为行为感知超图中的超点总数和超边总数,|P|=|Es|.Hs中的每个元素定义为
2.2.2 服务组合超图构建 基于API 服务之间的组合关联构建服务组合超图.首先,定义服务组合集M={mi=(a1,···,an)} ,mi为服务组合,代表一系列API 服务之间存在的组合关系,下标i用以区分不同的服务组合,下标n用于表示不同的API服务.将mi与行为感知序列相交,交集中的所有API 服务构成超点集Vm,具体过程为
当mi与S中的多行为交互项相交时,考虑服务的异同.每一组交集都将构成一条服务组合超边,将交集总数记为 τ ,超边集可定义为Em=.服务组合超图可以表示为Gm=(Vm,Em).在服务组合超图中,关联矩阵可以定义为Hs∈R|Vm|×τ,其中 |Vm| 为超点总数.超点度矩阵和超边度矩阵分别定义为Dvm∈R|Vm|×|Vm|与Dem∈Rτ×τ.
服务组合超图的归一化邻接矩阵定义为
行为感知超图和服务组合超图结构不同、模态相异,难以用单一的超图卷积网络捕获其复杂异构的高阶关联信息.因此,将超图上的近似谱卷积过程细分为2 类卷积通道.1)行为感知卷积通道:主要考虑多行为推荐方法和超图神经网络的结合,利用自注意力机制优化目标行为表示.2)服务组合卷积通道:侧重于增强模型的泛化能力,降低高阶服务组合关联的特征维度,减少过拟合风险.
2.3.1 超图上的近似谱卷积 根据谱分解理论与图信号处理的思路[14],将任意通道上的超图卷积过程定义为
式中:gφ为超图卷积核,φ为卷积核参数, ∗ 为超图卷积操作运算符,x为超图信号,U为特征向量矩阵, ⊙ 为矩阵的Hadamard 乘积.
由于涉及到多次特征分解和矩阵乘法运算,如式(5)定义的超图卷积过程计算代价较高,其复杂度与节点数量的平方成正比.为此应用一阶Chebyshev 多项式对卷积核gφ展开求解,并将拉普拉斯矩阵的最大特征值缩放为2[15].近似后的超图卷积过程为
式中:Dvc和Dec为任意卷积通道上的节点度矩阵和超边度矩阵.Hc为任意卷积通道上的关联矩阵.进一步将式(6)改写为
2.3.2 超图自注意力机制 式(7)表明超图卷积过程中的信息转移概率由关联矩阵和度矩阵所确定.在行为感知超图上,关联矩阵的权重大小在初始化时就已经指定,因此难以度量不同服务交互的重要性差异.为了进一步比较行为感知卷积通道上不同服务交互行为对超图信号的影响,引入自注意力机制优化行为感知超图的关联矩阵表示.注意力分数的计算方法和关联矩阵的优化过程为
式中: αi为学习得到的注意力分数,∈Rd为行为嵌入,∈Rd为服务嵌入,LeakyReLU 为非线性激活函数, ⊕ 为嵌入向量的拼接操作, |B|为行为数.
超图自注意力机制提高了节点间信息传播过程的可解释性.如图2(a)所示为一个基于真实服务数据构建的行为感知超图实例.图中v1、v2、v3分别为Google Map、Open Weather 和Facebook 服务.节点上标1、2、3 分别为调用行为、浏览行为和组合行为,调用行为是目标行为.为构建的超边实例.如图2(b)所示通过热力图展示自注意力机制对Hs的优化过程.色块颜色的深浅代表注意力分数的高低,也反映了不同行为类型的重要性差异.当未引入自注意力机制时,所有色块颜色相同,这代表矩阵元素取值只能为0 或1,节点间信息转移概率是固定的.当训练16 轮次后,具有目标行为类型的节点 1、5、6、9 取得了更高的注意力分数;当训练32 轮次后,色块颜色区分更为明显.以节点7、8 为例,虽然两者均拥有辅助行为类型,但是节点7 的色块颜色更深,对应的浏览行为拥有更重要的影响力,说明模型通过自注意力机制学习到多行为交互间更细微的差异.引入超图自注意力机制后,行为感知超图通道上的超图卷积过程为
图2 行为感知超图上的自注意力机制Fig.2 Self-attention mechanism on behavior-aware hypergraph
2.3.3 超图池化方法HG-DiffPool 由于在服务组合超图上,按式(4)构建的邻接矩阵较为稠密,直接进行特征学习存在较高的过拟合风险,而均值池化、最大池化、随机池化等常用池化方法在超图上所起到的降维效果有限,并且容易造成结构信息的丢失[16].本研究根据超图结构特性,在DiffPool[17]的基础上进行改良,提出超图池化方法HG-DiffPool.
该方法将服务组合通道上的第l层的邻接矩阵和超图信号输入到超图神经网络部件中进行学习,得到赋值矩阵Al∈RNl×Nl+1.利用得到的赋值矩阵对邻接矩阵进行池化:
式中:Zl∈RNl×d是经过特征采样后生成的特征向量,∈RNl+1×d是池化后的超图信号.
为了最大程度地利用服务语义信息,分2 步构建API 服务的嵌入向量.首先利用one-hot 编码将每个API 服务转化为服务嵌入∈Rd;使用自然语言处理工具包 (natural language toolkit,NLTK)对训练样本中的服务描述文本和功能标签进行分词、去停、词频统计等操作,再利用BERT 将处理后的描述文本和功能标签转化为相应的语义向量.拼接语义向量和服务嵌入,得到语义嵌入si∈Rd.
行为感知序列的局部序列特征可以定义为Sp=.通过全连接层融合局部序列特征与超图信号,得到全局序列特征Sg.计算全局序列特征和服务嵌入之间的乘积,得到推荐分数.具体过程为
式中:xm和xs分别为超图卷积得到的高阶服务组合关联和全局多行为依赖;W为可以学习的模型参数,即W∈Rd×3d;r为推荐分数.
为了消除超图卷积神经网络中的过平滑效应,所有的高阶特征均取多层卷积的平均值作为最终结果[18].在得到推荐分数后,每个API 服务被推荐的预测概率定义为
通过构造交叉熵损失函数来训练和学习MBSRHGNN 模型:
式中:yi为API 服务被推荐的真实值.
通过多组实验来验证MBSRHGNN 模型的有效性,给出实验数据集、基线方法、评估指标以及超参设置的介绍.通过基线实验、消融实验、超参数实验回答以下3 个问题:1)与现有的服务推荐方法、基于图神经网络的推荐方法和多行为推荐方法相比,模型的推荐性能如何?2)多重超图结构在模型中起何种作用?3)不同的超参数设置(例如:行为感知序列长度、特征向量维度大小)对模型的性能有什么影响?
3.1.1 实验数据集 本研究爬取了2019—2020 年ProgrammableWeb 网站上真实的用户交互记录和服务信息进行实验.其中包括3 102 位用户的11 032 条多行为交互记录,6 206 种服务组合以及13 329 项API 服务信息.为了验证MBSRHGNN 模型和现有推荐方法在数据高度稀疏场景下的性能表现,将预处理后的数据划分为稀疏数据集和稠密数据集,表1 所示为2 种实验数据集的具体统计信息.表中,µ为用户数量,ε 为服务组合数量,λ为API 服务数量,l为服务描述文档的平均长度,ς为API 服务被调用数,ρ 为数据集的密度,Z为交互类型.
表1 实验中数据集的统计信息Tab.1 Statistics of datasets used in experiments
3.1.2 基线方法 将MBSRHGNN 模型与现有的10 种推荐方法进行比较.在实验过程中,各基线方法的参数设置基本保持和原文一致.当出现梯度下降速度较慢、收敛时间过长、模型难以收敛等问题时,适当地调整学习率、批大小等参数.基线方法中的前2 种为服务推荐方法,第3、4 种为基于图神经网络的推荐方法,其余方法为多行为推荐方法.基线方法的详细介绍如下.
1)AFMRec[7].采用注意力分解机挖掘多维特征向量之间的隐式服务关联.超参设置为:注意力网络大小64,批大小512,学习率0.001.
2)WR-MSN[5].基于密度峰值检测聚类算法进行服务聚类,利用服务邻域进行推荐.超参设置为:词向量维度300,聚类划分数9,局部密度0.4.
3)DHCN[8].基于双通道超图卷积网络提取序列特征嵌入.超参设置为:特征维度100,批大小128,学习率0.000 1.
4)HyperRec[19].将用户交互视为连接项目的超边,构建超图捕捉用户的动态短期兴趣.超参设置为:特征维度64,批大小256,学习率0.001.
5)MBHT[12].利用多尺度 Transformer 结合低秩自注意力对多行为序列进行编码.超参设置为:特征维度64,批大小32,学习率0.001.
6)MB-GCN[13].基于图卷积神经网络捕获用户—项目交互图上的多行为交互信息.超参设置为:特征维度128,批大小64,学习率0.003.
3.1.3 评估指标与超参设置 为了保持和现有工作一致的评估设置,采用以下评估指标:命中率(hit ratio, HR)、归一化折损累计增益 (normalized discounted cumulative gain, NDCG)和平均倒数排名(mean reciprocal rank, MRR).HR 指标越高,说明服务推荐的精确性越好;NDCG 指标与MRR 指标越高,说明服务推荐的相关性越强.
在实验过程中, MBSRHGNN 模型的主要超参设置如下:1)服务嵌入特征维度和语义嵌入特征维度在{16,32,64,96,128}中选择;2)行为感知序列长度在{10,20,30,40,60,100}中选取;3)学习率的取值为{0.001,0.003,0.006};4)在{0.05,0.10,0.15,0.20}调整学习率衰减系数;5)使用基于最小批的ADAM 优化器优化模型参数,取最小批大小为128.
根据参数实验结果,模型性能在特征维度为96,序列长度为40 时达到最优.依据实际经验,学习率初始取值为0.006,根据模型收敛情况进行分段衰减.此外,在模型训练过程中执行提前停止策略.如果在连续10 个时间段内,测试数据上的HR 指标、NDCG 指标和MRR 指标没有增加,则提前终止训练.
针对实验部分提出的问题1),将MBSRHGNN模型与基线方法进行比较,以验证性能优势.每组基线实验在相同的实验设置下重复10 次,取平均值作为最终实验结果,实验结果如表2 所示.表中,IMP 为MBSRHGNN 相较于最优基线方法的性能提升幅度,表中对所提出的MBSRHGNN 方法进行加粗,具体分析如下.
表2 MBSRHCNN 模型与基线方法的对比实验结果Tab.2 Accuracy and correlation comparison results of MBSRHCNN model and baseline method
1)在服务推荐方法中,基于服务聚类的WRMSN 方法受数据稀疏性问题影响较大.基于注意力分解机的AFMRec 方法能较好地适应数据稀疏的推荐场景,HR@5 指标达到了0.381.在稠密数据集上,WR-MSN 方法的推荐精确度和相关性提升较大.对比AFMRec 方法,WR-MSN 方法的HR@5指标提高了12.8%,MRR 指标提高了11.7%.
2)在基于图神经网络的推荐方法中,HyperRec方法的性能表现最佳.在多行为推荐方法中, MBHT 模型的HR@5、MRR 指标在所有基准方法中最优.MBHT 模型在多尺度Transformer 的基础上融入超图卷积神经网络,并利用跨视图对比学习方法进一步提高用户交互嵌入向量的表征能力.
3)所提的MBSRHGNN 模型在不同密度的实验数据集上均取得了更好的推荐结果.相较于最优的基准方法,MBSRHGNN 的HR@5 指标提高了4.5%~8.3%, NDCG@5 指标和MRR 指标分别提高了3.2%~8.8%和4.9%~6.9%,说明MBSRHGNN模型拥有更高的推荐精确度和推荐相关性.
MBSRHGNN 模型的推荐性能优势具体分析如下:1)根据多重超图功能结构特性设计的双通道超图卷积网络能有效捕获高阶服务组合关联和全局多行为依赖;2)多行为权重并非事先指定,而是利用自注意力在模型训练过程中动态学习得到的;3)将API 服务的one-hot 编码与BERT 语言模型相融合,克服了服务嵌入语义稀疏的问题.
针对实验部分提出的问题2),构造3 种MBSRHGNN 的变体模型进行消融实验,变体模型的详细介绍如下:1)MH-Behavior:移除行为感知超图,屏蔽行为感知卷积通道上的超图信号.2)MH-Mashup:移除服务组合超图,屏蔽服务组合卷积通道上的超图信号.3)MH-HyperGraph:移除多重超图结构.
在消融实验过程中,所有变体模型取相同的超参数设定,在2 类服务数据规模(见表1)下进行10 次实验.实验结果如图3 所示,图中,E为模型训练批次.可以看出:1)移除多重超图结构的MH-HyperGraph 变体表现出较差的学习能力,各项指标没有随着训练轮次的增加而提升,综合推荐质量也较低;2)保留了部分超图结构的MH-Behavior 和MH-Mashup 变体表现出更强的数据样本学习能力.从实验结果看,在经过30~40 轮次训练后,两者的HR@5、NDCG@5 和MRR 指标均超过了MH-HyperGraph 变体.3)相较于各种变体,拥有多重超图结构的原模型MBSRHGNN 表现出最好的推荐性能.综上可知,所提的多重超图结构是有效的,能够实现对用户-服务特征的合理建模.
图3 多重超图结构消融实验结果Fig.3 Ablation experimental results of multi-hypergraph structure
针对实验部分提出的问题3),验证特征维度和行为感知序列长度对推荐性能的影响.特征维度在{16,32,64,96,128}中选择,序列长度在{10,20,30,40,60,100}中选取.超参数实验结果如图4 所示.图中dim 为特征维度,seq 为序列长度,prf 为推荐性能.
图4 不同特征维度设置下的服务推荐性能表现Fig.4 Service recommendation performance under different feature dimension settings
3.4.1 特征维度对推荐性能的影响 特征维度决定服务嵌入和语义嵌入的表征能力,并且对模型的学习能力也有重要的影响.过小的特征维度将导致模型不能充分地学习数据样本间的非线性关系,造成欠拟合问题.随着特征维度的增高,模型的学习能力逐渐增强,但是过强的学习能力容易造成过拟合现象.特征维度不是越大越好.对比图4(a)、(b),当特征维度取值较低时,模型的推荐性能较差.随着特征维度的上升,模型的推荐性能逐渐增强.当特征维度取值为128 时,模型在稀疏数据集上的推荐性能达到最优.当特征维度取值为64 时,模型在稠密数据集上的推荐性能达到最优.随着特征维度的上升,模型的推荐性能略有下降,MBSRHGNN 模型具有一定的鲁棒性,推荐性能不会因为超参数细微的变化发生大幅波动.
3.4.2 序列长度对推荐性能的影响 行为感知序列长度主要对多重超图构建过程有较大的影响.当行为感知序列较短时,产生的服务划分数量会变少,并且与服务组合集的相交部分也会变小,导致构建的行为感知超图和服务组合超图变得更为稀疏,不利于全局多行为依赖和高阶服务组合关联的提取.当行为感知序列较长时,虽然能够引入更多的用户交互样本,但是也会带来一定的噪声,造成推荐准确率的下降.对比图4(c)、(d)可以看出,序列长度的合理取值应该在[30,60].在稀疏数据集上,用户交互的API 服务数量较少, 需要更长的序列来引入额外的交互信息.在稠密数据集上,交互信息较丰富,即使序列长度较短,模型也有较高的推荐质量.
本研究提出基于超图卷积神经网络的多行为感知服务推荐方法.通过自注意力机制,为不同的服务交互行为赋予权重.相比较于普通的图神经网络,通过多重超图结构能够有效地表示全局多行为依赖和高阶服务组合关联2 种特征.在不同稀疏度的数据集上,本研究相比其他主流推荐方法在精度评价指标和相关度评价指标上能够获得更好的效果.不足之处在于提出的多重超图结构仍不够完善,没有考虑服务质量信息,超图信号与嵌入向量的融合过程还有待改进.在下一阶段的工作主要包括: 丰富多重超图结构,以便可以更准确、合理地表示服务特征;探索超图信号与嵌入向量的自适应地融合方法;在图神经网络框架的基础上,构造不同类型的神经网络,从多个侧面提取、整合服务特征.