Page 95 - 《软件学报》2021年第12期
P. 95
肖勇 等:基于 GAT2VEC 的 Web 服务分类方法 3759
与属性信息,并创造了新的顶点定义方式.这同样也是 GAT2VEC 框架相比于 Node2vec 方法最大的改
进之一.另外,虽然 GAT2VEC 框架与 TriDNR 都同时考虑到了顶点的结构与属性信息,但 TriDNR 是直
接通过多层感知机训练得到每个顶点相对应的属性信息嵌入向量;而 GAT2VEC 框架则创造性地构建
出包含属性信息的二分图,并利用网络表征的方法学习到二分图中每个顶点所对应的属性特征向量.
2.4 实验结果
2.4.1 实验设置
在实验中,我们选择 70%的数据作为训练集,30%的数据作为测试集.对于 Mashup 数据集,我们将随机游走
次数γ s 和γ a 均设置为 30,游走步长λ s 和λ a 均设置为 120;表征的维度大小 d 设置为 128,窗口大小 c 设置为 5.对于
API 数据集,我们将随机游走次数γ s 和γ a 均设置为 30,游走步长λ s 和λ a 均设置为 120;表征的维度大小 d 设置为
128,窗口大小 c 设置为 5.为保证实验的客观性,GWSC 与其他方法之间共有的参数设置为相同的值,而其余的参
数被设置为默认的最优值.
2.4.2 分类性能比较
我们分别选取了数量最多的前 10~50 类 Mashup 和 API 进行实验,实验结果见表 7、表 8.此外,我们借助
t-SNE 工具 [19] 基于 PCA 降维技术对前 20 类分类结果进行了可视化,其效果如图 5、图 6 所示.显然,对于两个数
据集,本文所提出的 GWSC 方法在 Micro F1 值和 Macro F1 值两个指标上均要优于其余 5 种方法.例如:当服务
类别数为 10 时,在 Mashup 数据集上,GWSC 相比于 Doc2vec,LDA,Deepwalk,Node2vec 和 TriDNR 在 Macro F1
值上分别有 135.3%,60.3%,12.4%,10.5% 和 4.3% 的提升 ; 而在 API 数据集上 ,GWSC 相比于
Doc2vec,LDA,Deepwalk,Node2vec 和 TriDNR 在 Macro F1 值上分别有 137.2%,61.3%,14.3%,8.6%和 1.1%的提
升,效果显著.具体来说:
(1) 随着数据集所取分类的类别数增多,分类的效果逐渐下降.其原因可能是:
1) 分类的类别数越多,包含的信息就越多且越复杂,模型分类的难度也就越大;
2) 分类是按照每个类别包含的 Mashup 或 API 的数量进行排名的,而排名靠后的类别由于所包含
的 Mashup 或 API 数量的减少,其所能利用的信息相对来说就会减少,从而影响分类效果;
(2) 基于结构关系的方法(Deepwalk 和 Node2vec)其效果要远优于基于属性内容的方法(Doc2vec 和
LDA).这个结果表明:对于 Mashup 分类,结构信息比内容信息更重要.因为调用同一个 API 的两个
Mashup 在功能需求上往往一样,那么二者的类别就会更相似.同样,对于 API 分类,结构信息也比内容
信息更重要.因为被同一个 Mashup 调用的两个 API 在功能上往往需要满足类似的需求,那么二者的
类别也就会更相似;
(3) 对于 Mashup 和 API 两个数据集,同时使用结构关系和属性内容的方法(TriDNR,GWSC),其表现要明
显优于只使用单一信息的方法.这也就验证了:对于同一个数据集而言,捕获的信息越多,特征向量的
表示往往就越准确,分类的效果也就会随之提升;
(4) GWSC 相比于 TriDNR,在整体上有了一定幅度的提升.这表明:将属性文本信息以结构化的形式来表
示,确实有利于 Mashup 和 API 的分类效果.在 GWSC 方法中,Mashup 和 API 的属性信息被构建成了
二分图,并以深度游走的方式嵌入到了表征向量中;
(5) 整体来说,Mashup 的分类效果要优于 API 的分类效果.其原因可能是:
1) API 数据集比 Mashup 数据集更大,种类和标签都更加丰富,包含的信息更复杂,相对应的,数据集
中的特征信息会更难以捕获,分类的难度也就会越大;
2) 在 Mashup 数据集中,每一个 Mashup 都至少调用了一个 API;而在 API 数据集中,有部分 API 并
没有被 Mashup 调用,Mashup 数据集的结构更趋完整,且描述文档更加规范,种类相对来说更为
集中.