Page 94 - 《软件学报》2021年第12期
P. 94
3758 Journal of Software 软件学报 Vol.32, No.12, December 2021
(4) 属于类别 A 的样本被错误分类到类 A 的其他类,将这一类样本标记为 FN.
我们采用 Macro F1 值和 Micro F1 值作为性能评价指标,其中,Web 服务分类的 Macro F1 值计算公式如下:
∑ N i= 1 TP i
Precision = TP + FP i (7)
i
ma N
∑ N i= 1 TP i
i
Recall = TP + FN i (8)
ma N
2 Precision× × Recall
1 =
Macro F ma ma (9)
Precision + Recall
ma ma
而 Web 服务分类的 Micro F1 值计算公式如下:
∑ N TP
Precision = i= 1 i (10)
mi
∑ i= 1 TP + FP i
N
i
∑ N TP
Recall = i= 1 i (11)
mi
∑ i= 1 TP + FN i
N
i
2 Precision× × Recall
1 =
Micro F mi mi (12)
Precision + Recall mi
mi
上述公式中,Precision 表示准确率,Recall 表示召回率,N 表示分类的类别数.
2.3 对比方法
我们用 GWSC 比较了最新的嵌入算法:两种基于属性内容的方法(Doc2vec 和 LDA)、两种基于结构关系的
方法(Deepwalk 和 Node2vec)以及一种同时使用结构关系和属性内容的方法(TriDNR),且所有方法均采用 SVM
算法进行分类.
• Doc2vec [17] :Doc2vec 是一种无监督的神经网络模型,用于学习句子、段落或文档等可变长度文本的表
示.该模型将每个单词、句子和段落都映射到向量空间中,然后将段落向量和词向量级联或者求平均得
到特征,从而同时学习单词向量和文档向量.我们将与每个顶点相关的文本输入到模型中,并得到了每
个顶点的表示;
• LDA [18] :LDA 是一种非监督机器学习技术,可以用来识别大规模文档集或语料库中潜藏的主题信息,并
将文档集或语料库中每篇文档的主题以概率分布的形式给出.它采用了词袋的方法,这种方法将每一
篇文档视为一个词频向量,从而将文本信息转化为了易于建模的数字信息;
[8]
• Deepwalk :Deepwalk 是一种基于随机均匀游走的方法,它仅利用结构信息来学习网络中顶点的一维
特征表示.该方法利用构造节点在网络上的随机游走路径来模仿文本生成的过程,并提供一个节点序
列,然后用 Skip-Gram 模型对随机游走序列中每个局部窗口内的节点对进行概率建模,最大化随机游
走序列的似然概率,从而学习节点的分布式表示;
[9]
• Node2vec :Node2vec 类似于 Deepwalk,主要的创新点在于改进了随机游走的策略,定义了两个参数 p
和 q,在广度优先搜索(BFS)和深度优先搜索(DFS)中达到一个平衡,BFS 用于探究图中的结构性质,而
DFS 则用于探究出相邻节点之间的相似性,从而同时考虑到了局部和宏观的信息,并且具有很高的适
应性;
• TriDNR [12] :TriDNR 使用 3 个信息源——网络结构、顶点内容和标签信息来学习顶点的表示.它结合了
两种模型:Deepwalk 从结构中学习表示,Doc2vec 用于捕获与节点内容和标签信息相关的上下文.最终
表示是这两个模型输出的线性组合;
• GAT2VEC [13] :这是本文所用到的向量表征方法.GAT2VEC 框架的基本思路与 Deepwalk 方法类似,二
者的主要区别在于:Deepwalk 只考虑到了顶点之间的结构信息;而 GAT2VEC 框架则同时融合了结构