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

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


                    1) Mashup  服务需求的相似服务与二阶组件         Web API 的数量设置多少时推荐质量最佳?
                    2) 单个标签对应潜在联合词融入数量为多少时推荐质量最佳?

                 4.1   数据集与实验环境
                    实验中使用的      Mashup  服务及  Web API 爬取自  ProgrammableWeb  网站, 删除描述过短、重复注册的       Mashup
                 服务后, 数据集中包含      5 305  个  Mashup  服务, 19 240  个  Web API. 其中, 每个  Mashup  服务调用组件  Web API 的平
                 均数量为   2.8  个, 每条服务描述包含的单词均值为          27. 对所有的服务描述文本均采取分词、去停用词、词干还原
                 等处理后用于推荐实验, 采用十折交叉验证法, 取全部实验数据平均值作为最终实验结果.
                    实验环境如下: CPU      为  RYZEN9-5900HS, 内存  40 GB, GPU  为  RTX3060 (一张), 显存  6 GB. 操作系统为
                 Windows 11, 编程语言为  Python 3.8. 所采用的模型或方法参数设置如表         1  所示.

                                                      表 1 实验参数

                                           参数名称                                参数值
                                          批处理大小                                 32
                                           训练轮次                                 100
                                         W-GATNE维度                             384×2
                                       W-GATNE窗口大小                               5
                                      W-GATNE邻居采样个数                             30
                                          SimCSE维度                              768
                                         Word2Vec维度                             384
                                   单标签对应潜在联合词融入个数                                6

                 4.2   评价指标
                    采用推荐精度评价指标         Recall 和  Precision [32] 、排序评价指标  NDCG [25] 、多样性评价指标  ILS [26,33] 评估  Web
                 API 的推荐质量. TP、FP    和  FN  分别表示预测为正类的正样本、预测为正类的负样本和预测为负类的正样本.
                    (1) 召回率  (Recall): 推荐列表中正确的    Web API 与  Mashup  服务需求对应的真实    Web API 数量的比值. 其值
                 越大, 表示推荐    Web API 中被预测正确的比例越大, 推荐质量越高.

                                                               TP
                                                      Recall =                                       (31)
                                                            TP+ FN
                    (2) 精确率  (Precision): 推荐列表中正确的   Web API 与推荐  Web API 数量的比值. 其值越大, 表示预测正确的
                 Web API 数量越多, 推荐质量越高.

                                                                TP
                                                     Precision =                                     (32)
                                                              TP+ FP
                    (3) 归一化折损累积增益       (normalized discounted cumulative gain, NDCG): NDCG  用于衡量推荐列表的整体质
                 量. 推荐正确的    Web API 数量越多, 在推荐列表中整体越靠前, NDCG          的值越大, 如公式     (33)–公式  (35) 所示:

                                                           k ∑
                                                               rel i
                                                     DCG =                                           (33)
                                                             log (i+1)
                                                           i=1  2

                                                           |REL|
                                                           ∑
                                                                rel i
                                                    IDCG =                                           (34)
                                                             log (i+1)
                                                           i=1  2

                                                              DCG
                                                      NDCG =                                         (35)
                                                              IDCG
                 其中, DCG  为非归一化损失累计增益, 若第         i 个推荐  Web API 为目标  Mashup  需求的真实组件服务, rel i 为   1, 否则
                 为  0. 公式  (33) 根据每个推荐  Web API 的位置进行加权, 排名越靠前的         Web API, 位置权重越大, 对推荐列表的整
                 体质量评分有更大的贡献. IDCG        为真实折损累计增益, 是       DCG  的理想情况, 用于对     DCG  进行归一化, 计算    NDCG.
                 其中, REL  为理想情况下的推荐列表.
   59   60   61   62   63   64   65   66   67   68   69