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
   70   71   72   73   74   75   76   77   78   79   80