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

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


                    Web API 的异质关联图中包含以下两类边.
                    (1) 功能关联边, 如果两个      s i 与  s j 存在相同的标签, 则在  HAG  中的节点  v i 和  v j 之间建立一条功能关联边, 功
                 能关联边的权重为       s i 与  s j 共同标签的数量, 记作  Nl(s i , s j ).
                    (2) 协作关联边. 如果两个      s i 与  s j 共存于同一个  Mashup  服务的组成服务集合中, 则在     HAG  中的节点   v i 和  v j
                 之间建立一条协作关联边, 协作关联边的权重为                 s i 与  s j 共同参与  Mashup  服务的数量, 记作  Nc(s i , s j ). 图  4  为
                 ProgrammableWeb  网站中注册的部分    Mashup  服务的组件   Web API 所构建的异质关联图片段. 其中, 节点为           Web
                 API, 虚线边为功能关联边, 实线边为协作关联边, 边上的数值为边权.













                                                                  1



                                           2





                                                  图 4 Web API 异质关联图

                    定义  6. Mashup  服务需求. Mashup  服务需求为一个二元组       mr = (d, L). 其中, d  为  Mashup  服务需求描述信息,
                 L  为  Mashup 服务需求的类别标签集合.

                 2.2   研究框架
                    本文采取如图      5  所示的研究框架, 为    Mashup  服务需求进行组件     Web API 推荐的主要流程如下.
                    首先, 在服务注册平台中爬取         Web API (组件服务) 以及    Mashup  服务. 将上述服务进行数据清洗, 构建研究使
                 用的数据集.
                    然后, 从功能层面获取       Mashup  服务需求  mr 的候选组件    Web API 集合, 主要步骤分为以下两个阶段.
                    第  1  阶段, 获取服务需求    mr 的候选组件集合. 在     Mashup  服务集合中寻找与      mr 功能相似   Mashup  服务, 记为
                 Nm(mr). 将  Nm(mr) 中每一个  Mashup  服务的组件  Web API 取出, 构建  mr 的一阶潜在组件服务集合        Cw-1(mr). 为
                 Cw-1(mr) 中的每个  Web API, 选取一定数量的相似     Web API 作为  mr 的二阶潜在组件服务集合       Cw-2(mr), 将  Cw-1(mr)
                 与  Cw-2(mr) 中的服务合并, 形成   mr 的候选组件集合      Cw(mr).
                    第  2  阶段, 为服务需求   mr 和候选  Web API 生成潜在联合词. 利用改进的        YAKE  模型从   Nm(mr) 中  Mashup  服
                 务和  Cw(mr) 中  Web API 的描述文本提取特征词集合, 通过标签适配度, 分别为              mr 和  Cw(mr) 中的每个服务   s 筛
                 选潜在联合词     Law(mr) 和  Law(s).
                    其次, 利用   Law(mr) 和  Law(s), 为  mr 和  Cw(mr) 中的每个服务  s 生成潜在联合词向量. 将潜在联合词向量与功
                 能向量相拼接, 分别为      Mashup  服务需求和   Web API 生成融合潜在联合词的需求向量和功能向量.
                    再次, 构建融合功能关联和协作关联的             Web API 异质关联图. 基于改进      GATNE  模型与设计的面向关联强度
                 的游走策略, 为异质关联图中的服务节点生成关联向量.
   49   50   51   52   53   54   55   56   57   58   59