Page 60 - 《软件学报》2025年第5期
P. 60

1960                                                       软件学报  2025  年第  36  卷第  5  期


                 表征生成的注意力计算.

                                                            (    )
                                                               k
                                                        k
                                                       b = σ W u k                                   (15)
                                                              w i,j
                                                        i,j
                      σ 为  Sigmoid       u k   为  v i 与邻居节点  v j 之间  r 类型边第  k 层嵌入表征, 边嵌入维度为    w   ∈ R [m×d]
                                                                                                 k
                 其中,            激活函数,                                                         d,
                                          i,j                                                    w
                                      m
                                b k    ∈ R , m  为  r 类型边的数量.
                 为可训练权重矩阵,       i,j
                    然后, 根据   Web API 关联权重    w i 与偏置向量   b k i j  , 将原有公式  (14) 所示的  GATNE  注意力系数改进为公
                                               j
                 式 (16):

                                                                          T
                                                                  m ∑    
                                                         T
                                                                         k 
                                             a i,r = Softmaxw tanh(W r U i )+  w i,j b            (16)
                                                       
                                                       
                                                         r              i,j
                                                                         
                                                                    j=1
                    节点  v i 对于  r 类型边的总体表征如下:

                                                               T
                                                     v i,r = b i +α r M U i a i,r                    (17)
                                                               r
                 其中, b i 为节点  v i 的节点基础表征, α r 是超参数, 为不同类型边分配的注意力系数, M r 为可训练权重矩阵. 改进后
                 的     GATNE  能够在特征聚合过程中考虑到关联边的边权对关联向量生成的影响, 将上述模型命名为                        WGATNE.
                 3.2.2    关联向量的优化生成
                    Metapath2vec++适用于  GATNE  的节点嵌入优化      [30,31] . 在生成训练语料时, Metapath2vec++依照异质边的类
                 型, 等概率的随机采样关联节点. 因此, 在处理            Web API 异质关联图采样时, 无法将关联性最强的节点优先纳入路
                 径序列, 进而影响关联兼容性的判定. 为此, 本文设计一种面向关联强度的随机游走策略. s i 与                        s j 之间的关联强度
                 参见公式   (18):

                                                                   ∑
                                             (        ( ))  (   )          NS (l)· Nl(s i , s j )
                                             Nc(s i )+ Nc s j · Nc s i ,s j  l∈s i .L∩s j .L
                                 Cor_d(s i , s j ) =  ∑          − ∑          ∑                      (18)
                                                           Nc(s)        NS (l)+    NS (l)
                                                ls∈( Im(s i ).S ∪Im(s j ).S)  l∈s i.L  l∈s j .L
                    公式  (18) 等号右侧第   1  项为协作关联边产生的关联强度. Nc(s) 为包含          Web API s 的  Mashup  服务数量. 分子
                 为  Web API s i 与  s j 所隶属的  Mashup  服务总和. Im(s i ) 与  Im(s j ) 分别表示包含  Web API s i 与  s j 的  Mashup  服务. 令
                 s 为所有包含   s i 与  s j 的  Mashup  服务的组件服务集合中的  Web API, 将包含  s 的  Mashup  服务数量作为分母, 分子
                 与分母的比值为协作关联边的重要度. 协作关联边的重要度与边权的乘积即为协作关联强度.
                                                                  ∑
                    公式  (18) 等号右侧第    2  项为功能关联边产生的关联强度.                  NS (l)  为  s i 与  s j 共用标签集中的标签被
                                                                     l∈si.L∩sj.L
                                        ∑           ∑
                 所有  Web API 所调用的总量,         NS (l)  和   NS (l)  分别为  s i 与  s j 各自标签集中的标签被所有  Web API 所
                                           l∈si.L     l∈s j.L
                 调用的总量, 二者比值为       s i 与  s j 的功能关联重要度. Nl(s i , s j ) 是共用标签数量, 由定义  5  可知, 共用标签数量为功
                 能关联边的边权. 功能关联边的重要度与边权的乘积即为功能关联强度.
                    将协作关联强度与功能关联强度的差值定义为                 Web API 关联强度, 使用    Softmax 函数对  Web API 关联强度
                 的值进行归一化:

                                                                Cor_d( s i ,s j)
                                                               e
                                                    (   )
                                              NCor_d s i , s j = ∑  Cor_d( s i ,s j)                 (19)
                                                                    e
                                                             s j ∈N t+1( v i,r)
                    假定在元路径模式       T = v 1 →v 2 →…→v t →v t+1 →v l 中, 每步游走的边类型均与上一步边类型不同. 若第       t – 1  步
                 游走边类型为     r, 则第  t 步从  v i 到  v j 的转移概率优化为:

                                                  NCor_d(s i , s j )
                                                 
                                                            ,  (v i ,v j ) ∈ E, v j ∈ N t+1 (v i,r )
                                                 
                                                 
                                                 
                                        (    )     |N t+1 (v i,r )|
                                                
                                                  0,          (v i ,v j ) ∈ E, v j < N t+1 (v i,r )
                                       p v j v i ,T =                                              (20)
                                                 
                                                 
                                                 
                                                 
                                                  0,           (v i ,v j ) < E
                                                 
                                                 
                 其中, N t+1 (v i,r ) 表示  v i 不同于边类型  r 的关联节点集. 若  v i 节点上一跳对应关联边类型为      r, 在选择下一跳节点
                 v j 时, 需要确保  v j 隶属于不同于边类型    r 的关联节点集合, 然后从未曾访问过的节点中选择概率                 p(v j  | v i , T) 最高的
   55   56   57   58   59   60   61   62   63   64   65