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 为理想情况下的推荐列表.