Page 75 - 《软件学报》2021年第11期
P. 75
赵时海 等:用户群体满意度最大化的 Top-k 在线服务评价 3401
800 120
700 k=3,m=10 k=3,m=200
k=6,m=10 100 k=6,m=200
600 k=9,m=30 k=9,m=200
80
500
运行时间/s 400 运行时间/s 60
300
40
200
20
100
0 0
200 400 600 800 10 20 30 40 50
用户数量 服务数量
(a) ILP 在不同用户数量和不同 k 值下的运行时间 (b) ILP 在不同服务数量和不同 k 值下的运行时间
Fig.8 Runtime of ILP for different situations
图 8 ILP 在不同情景下的运行时间
图 8(a)和图 8(b)分别描述了 ILP 方法在不同用户规模、不同在线服务规模、不同 k 值下的运行时间.分析
图 8(a)和图 8(b)可知,k 值对 ILP 方法的运行时间影响较小,主要影响因素为用户数量和在线服务数量.当在线服
务数量仅为 30 时,随用户数量的增加,ILP 方法的运行时间快速递增;当用户数量仅为 200 时,该方法的运行时间
随在线服务数量的增加呈指数型增长.因此,通过以上实验表明:在用户和在线服务规模较大时,ILP 方法具有很
大的局限性.
*
然后进行第 2 组实验,对方法 G 的性能进行测试.在数据集 MV 上随机选择 200~800 个用户,包含 60~180
个在线服务,并设置不同 k 值.模拟在不同用户和服务规模以及不同 k 值下的实验,每次实验进行 30 次并取平均
*
值,分别记录不同用户、服务规模及不同 k 值下方法 G 的运行时间.图 9(a)~图 9(c)展示了实验结果.
90 160
1.4
k=3,m=10
k=6,m=10 k=30,m=100 140 n=500,k=30
1.2 75 k=60,m=100 n=700,k=30
k=9,m=30 n=900,k=30
k=90,m=100 120
1.0 60 100
运行时间/s 0.8 运行时间/s 45 运行时间/s 80
0.6
0.4 30 60
40
15
0.2 20
0.0 0 0
200 400 600 800 200 400 600 800 60 90 120 150 180
用户数量 用户数量 服务数量
(a) m=10 (b) m=100 (c) k=30
*
Fig.9 Runtime of G for different sample sizes
*
图 9 G 在不同样本规模下的运行时间
由图 9 可见,随着用户数量和服务数量的增加及 k 值的增大,运行时间随之增加,即方法的效率逐渐降低;然
*
而随着用户和服务数量以及 k 值的增加,方法 G 的运行时间增长较缓慢;同时,对比图 8 中 ILP 方法的运行时间,
*
本文方法 G 的效率得到有效提升.实验表明,该方法在大规模用户、大规模服务及 k 值较大时仍然适用.另外,
分析图 9 可知,当用户数量、服务数量及 k 值较小时,方法的运行时间很短,在有用户提交新反馈时即可运行一
次方法,实现评价结果的及时更新;而当用户和服务的规模较大且 k 值较大时,可考虑每天或每月运行一次方法
以更新 Top-k 推荐结果.
6 总结与未来的工作
本文针对用户群体指定选择数量 k 的 Top-k 在线服务评价场景讨论了一种用户群体满意度最大化的 Top-k