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

胡强 等: 融合潜在联合词与异质关联兼容的             Web API 推荐                                    1959


                    算法  1  第  1–3  行采用  SimCSE  为  Mashup  服务需求  mr、Mashup  服务与  Web API 生成功能向量. 第  4–7  行从
                 已有  Mashup  服务中为需求    mr 查找  X  个相似  Mashup  服务集合  Nm(mr), 并将它们调用的组件      Web API 作为  mr
                 的一阶候选    Web API 集合  Cw-1(mr). 第  8–12  行通过为  Cw-1(mr) 中每一个服务查找   Y  个相似  Web API, 作为  mr
                 的二阶候选组件      Web API 集合, 并将  Cw-1(mr) 与  Cw-2(mr) 合并形成  mr 的候选组件集合    Cw(mr). 第  13–16  行使
                 用  SYAKE  模型分别从   Cw(mr) 中的  Web API 与  Nm(mr) 中的  Mashup  服务的功能描述中分别提取特征词集合
                 Lmr 与  Ls.
                    第  17–20  行通过标签适配度为需求        mr 从  Lmr 中匹配自身标签数量       n  倍的特征词, 作为潜在联合词集合
                 Law(mr), 然后利用公式    (10) 生成  mr 对应的融合潜在联合词的需求表达向量. 同样处理方式, 算法的第                  21–24  行
                 为  Cw(mr) 中的每一个服务    s 通过标签适配度从      Ls 中匹配自身标签数量       n  倍的特征词, 作为服务的潜在联合词集
                 合     Law(s). 利用公式  (11) 为  Cw(mr) 的  Web API 生成功能向量集合{vf(s)}. 算法第  25  行返回  vf(mr) 和{vf(s)}.
                 3.2   融合异质关联的   Web API 关联向量生成
                    获取候选组件      Web API 集合后, 多数方法通过计算候选组件服务之间的协作兼容度来选取最终的推荐服务,
                 此类方法未考虑      Web API 之间的功能重复问题. 本文提出一种融合功能关联和协作关联的                     Web API 关联兼容度
                 计算方法, 以解决已有方法在推荐多样性方面存在的不足.

                 3.2.1    基于改进  GATNE  的节点关联特征初始化
                    为了计算关联兼容度, 需将定义          5  中  Web API 异质关联图的节点向量化. GATNE       是当前流行的异质图节点
                 嵌入模型, 适合处理具有大数量级边的异质图              [30] . 图  7  为  Web API 关联向量生成过程.

                                Mashup 服务

                          爬取
                                             协作关联
                   服务发布平台                     HAG
                                                                        优化
                                                                                           Web API 关联向量
                                                             面向关联强度的
                                 Web API
                                                              随机游走策略
                                             功能关联
                         爬取                                       改进 Metapath2vec++
                                                 图 7 Web API 关联向量建模

                    在  GATNE  模型中, 节点   v i 在  r 类型边上获取的表征分为节点基础表征与边嵌入表征. 第               k 层  v i 节点的  r 类
                 型边嵌入表征     u (k)  为:
                             i,r
                                                            ({          })
                                                 (k)
                                                u = aggregator u (k−1) ,∀v j ∈ N i,r                 (12)
                                                 i,r
                                                              j,r
                 其中, N i, 是 r  r 类型边上的  v i 关联节点集合,   u (0)  为随机初始化的边向量, 采用公式   (13) 对  u (k)  实施最大池化聚合操
                                                    j,r                                j,r
                 作, ϕ(x) 为  ReLU  激活函数.

                                                    ({ (           )       })
                                              (k)
                                             u = max φ ˆ Q (k)  u (k−1)  +b ˆ  (k)  ,∀v j ∈ N i,r    (13)
                                                            j,r
                                              i,r
                                                         pool
                                                                 pool
                    将节点   v i 所有的边嵌入表征进行拼接. 假设        v i 关联的  r 类型的边为  m  条, 边嵌入维度为    d, 则拼接后的边嵌入
                                                                                      da
                                                                            m
                 表征为   U i,r  = (u i,1 , u i,2 ,  ... , u i,m ), 构建如公式  (14) 的自注意力机制系数  a i,r  ∈ R , 其中  w r  ∈ R  , W r  ∈ R [da×d] 是需要训
                 练的参数, T  表示向量或者矩阵的转置.

                                                           (          ) T
                                                             T
                                                 a i,r = Softmax w tanh(W r U i )                    (14)
                                                             r
                    然而, GATNE   模型未考虑异质图的边权. 在         HAG  中边权反映了     Web API 间关联紧密度, 忽视边权导致模型
                 难以区分节点在不同关联中的重要度, 进而影响               Web API 关联表征的生成质量.
                    为此, 本文将边权融入到        GATNE  的特征聚合过程, 对于      w i, 构造如公式  (15) 所示的偏置向量, 融入到边嵌入
                                                                  j
   54   55   56   57   58   59   60   61   62   63   64