Page 60 - 《软件学报》2020年第11期
P. 60

3376                                Journal of Software  软件学报 Vol.31, No.11, November 2020

                 3.3.3    指标预测
                    要建立用户接受度指标预测模型,需要先提取出可能影响指标的因素.此处考虑 3 类因素:更新间隔、更新
                 目的和市场排名.现有研究通常以更新频率               [51] 来刻画应用更新的时间,然而两个应用即便更新频率相同,其更新
                 时间的分布也可能明显不同          [52] .因此,选用更新间隔表示发布新版本的日期距前一次发布的天数.这样,每个应
                 用的更新历史可以表示为更新间隔的序列.更新目的,顾名思义,指发布新版本的目的.常见的目的包括修复 Bug
                 和增加新功能     [35] .用户对修复已有问题或增改功能特性的迫切程度可能不同,因而应用版本的更新目的有可能
                 影响更新的效果.通过处理更新描述文本(what’s new),用 TF.IDF 模型             [53] 生成检索词向量,可以表示每次更新目
                 的的分布情况.市场排名指应用在同类应用中所处的排名,该排名由应用市场综合评估给出.考虑到版本更新会
                 影响应用市场对该应用的评估,市场因素对更新效果的影响不容忽视,而市场评估规则对一般开发者来说并不
                 透明,因此以可获得的市场排名来反映市场因素.
                    此处使用的数据收集自 Google Play,包含来自 33 个类别的 17 820 个应用,覆盖 2016 年 11 月 25 日~2017
                 年 3 月 10 日.为获取到具有较为丰富的版本更新历史和可靠评分信息的应用,进而减轻应用取样问题                              [54] ,本数据
                 集选择的应用是每个类别中排名前 540 的应用.对每个应用爬取排名、评分、更新描述以及版本信息.当版本
                 信息发生变化时,认为应用发生了一次版本更新.最终,数据集中共包含 41 028 次更新.
                    以应用评分趋势作为用户接受度的度量,以发布间隔、发布目的、市场排名以及应用当前的评分趋势为自
                 变量,建立用户接受度预测模型.模型分为 3 部分.
                    •   首先,建立特征变量与发布效果的关联模型.考虑到特征变量的离散性,选择多项式朴素贝叶斯
                        (multinomial naive  Bayes,简称为 MNB)模型 [55] .以 E 表示一次显著发布的效果,E 为浮点数,其正负代
                        表发布效果的方向;以 r 表示发布时应用的市场排名;以 t 表示计划的发布间隔;以 s 表示在此次发布
                        前检测到的评分曲线片段的斜率,代表当前的评分趋势;以 C 表示描述文本中检索词的重要性向量.
                        模型可表示为
                                               E i =MultinomialNB(r i ,t i ,s i ,C i )(i∈I).
                    •   其次,预测用户接受度的变化.为验证模型可靠性,通过五折交叉验证(5-fold cross validation)                [39] 预测应
                        用更新效果的方向,实验表明,准确率可达到 76%.在基线算法中,使用只包含检索词向量 C 为特征的
                        模型,准确率达到 54%;进一步使用包含检索词向量 C、市场排名 r、当前评分趋势 s 为特征的模型,
                        准确率达到 70%.本模型的 76%准确率显著高于基线算法,表明综合考虑包括更新间隔在内的特征对
                        预测更新效果的重要性.
                    •   最后,优化发布策略.开发者通常需要选择一个合适的时机来发布新版本的应用.在不考虑外部因素
                        的情况下,上述模型可以帮助开发者选择更新间隔以优化发布策略.具体地,给定应用当前的排名 r、
                        评分趋势 s 和检索词向量 C,需要找到使得评分趋势变化 E 最高的间隔 t.此优化任务可形式化表示为
                                                                   ′
                                          t best  =  max {MultinomialNB ( , , ,r t s C i )}(i ∈  ) I .
                                                                     i
                                                                  i
                                               t′∈  {0,1,..., }
                                                   ∞
                        其输出 t best 代表在给定排名、评分趋势、更新目的的情况下,使得评分变化最优的更新时间间隔.
                    当然,应用的更新策略是开发者综合多种因素进行权衡的结果,很多因素,包括市场环境、应用品质、开发
                 资源等,也可能影响实际的更新效果.通过预测模型揭示更新行为与更新效果之间的潜在关联之后,优化策略的
                 实际效果还需要在真实环境下进行进一步的实验验证.
                 4    总结与展望

                    在应用市场生态下,由于与应用开发者之间紧密和直接的联系,并且产生了大量用户数据可供收集和分析,
                 用户在移动应用的开发、测试、发布等不同阶段扮演着重要的角色.在用户主动提交的评价信息之外,如何同
                 时利用用户的操作信息和交互行为信息,从不同角度刻画用户对应用的接受度,构建综合的应用接受度指标,进
                 而为开发过程提供多方位的指导,是本文探讨的主要问题.本文从应用市场生态中的用户数据出发,构建了一个
                 综合的用户接受度模型,并介绍了具体指标的计算方法.进一步地,基于软件解析学的思想,运用应用市场生态
   55   56   57   58   59   60   61   62   63   64   65