Page 90 - 《软件学报》2021年第12期
P. 90
3754 Journal of Software 软件学报 Vol.32, No.12, December 2021
Mashup 节点之间存在一条边.而属性可以是 Mashup 的名称、关键词、标签等.此外,在本文中,我们将预处理以
后的描述文档里所包含的核心语义信息也加入到了属性集合中.我们的目标是学习一个低维网络表示σ:V→
d
\ ,其中,d<<|V|是学习表征的维数,从而保存结构和属性上下文信息;同时,σ也是为后续的分类任务提供的特征
输入.在本文中,我们考虑 G 是一个齐次的、非加权的、部分属性的图.
然后,我们从服务网络图 G 中得到两个图.
1. 结构连通图 G s =(V s ,E),由边集 E 中包含的顶点的子集 V s ⊆V 组成.如图 3 所示,我们把 V s 中的顶点称为
结构顶点,而边(p s ,q s )∈E 编码了节点间的结构关系;
2. 属性二分图 G a =(V a ,^,E a ),如图 4 所示,它由 3 部分构成.
(1) 与属性相关联的内容顶点 V a ⊆V 的子集;
(2) 上述服务网络图定义中给出的可能属性顶点集^;
(3) 将内容顶点连接到由函数 A 关联的属性顶点的边集 E a :
V = {: ( )v A v ≠ ∅ },
a
E = {( , ) :v a a∈ A ( )}.v
a
Fig.3 Structural connected graph Fig.4 Attribute bipartite graph
图 3 结构连通图 图 4 属性二分图
定义 1. 两个内容顶点 u,v∈G a 只能通过属性顶点到达.
在定义 1 中,内容顶点之间的路径包含内容顶点和属性顶点.因此,包含在路径中的内容顶点具有上下文关
系,因为它们可以通过某些属性顶点到达,这些内容顶点构成属性上下文.我们方法遵循的是:“如果它们与相似
的对象相连,那么这两个实体是相似的”.这种现象可以在许多应用中观察到,例如在二分图“Mashup-标签”中,
“Mashup”被定义了“标签”,如果两个 Mashup 被定义了相似的标签,那么二者就是相似的.这种二分网络结构在
文献[14]中也被使用过,它建立了文档和文档中的词语之间的网络模型.
1.2 随机游走
总的来说,实体之间的相似性可以用几种方式来衡量.例如,它可以根据图中两个节点的距离来测量:在图 4
的属性二分图中,节点 2 和节点 8 都与节点 1 有属性连接,因此我们可以说它们与节点 1 具有相等的相似性;但
是有 3 条连接节点 1 和节点 8 的路径,而连接节点 1 和节点 2 的只有一条路径,因此,节点 1 和节点 8 比节点 1
和节点 2 更相似.
随机游走的方法有很多 [8−10,12,15] ,本文采用短随机游走的方法,在 G s 和 G a 上进行随机游走,从而获得顶点的
结构和属性上下文,因为短随机游走能够有效地捕获具有高相似度节点的上下文.
首先,我们通过在结构连通图 G s 上的随机游走来捕获结构上下文.对于每个顶点,通过γ s 次长度为λ s 的随机
游走来构造一个语料库 R.该上下文语料信息将被用于嵌入,目的是保持局部和全局的结构信息.我们把 r i 表示
为随机游走序列 r∈R 中的第 i 个顶点.例如,图 3 中的随机游走路径可以是:r=[2,3,4,3,1],步长为 5,从顶点 2 开始,
结束于顶点 1.
而在属性二分图 G a 中,随机游走从一个内容顶点开始,通过属性节点跳转到其他内容顶点.这样,属性顶点
充当内容顶点之间的桥梁,从而确定内容顶点之间的上下文关系.即,哪些内容顶点是密切相关的.由于我们感
兴趣的是这些顶点在随机游走中展现出的关联度,而不是通过哪些属性将它们连接起来,所以我们忽略了随机