Page 281 - 《软件学报》2021年第7期
P. 281
徐海燕 等:针对复杂用户评论的代码质量属性判断 2199
Table 6 Topic judgement result
表 6 主题判断结果
用户评论 占复杂用户评论
序号 主题判断结果 示例
数量 总数比例
用户评论:这样使用乱码,代码没有测试成功
主题个数正确, 人工标注主题:2 个(编程规范性 1:使用乱码;可测试性 1:
1 主题对应的代码 2 322 0.46 代码没有测试成功)
质量属性正确 方法判断主题:2 个(编程规范性 1:使用乱码;可测试性 1:
代码没有测试成功)
用户评论:不支持 div 整除操作!会报错,这个可以修改吗?
人工标注主题:2 个(功能性 1:不支持整除操作;可靠性 1:
主题个数正确,
2 957 0.19 报错;)
部分主题错误
方法判断主题:2 个(可移植性 1:不支持整除操作;可靠性
1:报错;)
用户评论:这个用更新的版本代码就报错了
主题个数错误, 人工标注主题:2 个(可维护性 1:更新版本代码;可靠性 2:
3 724 0.15
部分主题漏判 报错;)
方法判断主题:1 个(可靠性 1:报错;)
用户评论:运行工程,登录后出现很多问题,不维护该项目
了?
主题个数错误, 人工标注主题:2 个(可维护性 1:不维护;功能性 1:登录出
4 1 017 0.2
部分主题多判 现问题;)
方法判断主题:3 个(可维护性 1:不维护;功能性 1:登录;可
靠性:出现问题;)
Fig.9 Comparison of topic judgment results between the proposed method and LDA
图 9 本文方法与 LDA 的主题判断结果对比
由图 9 可以发现,对应表 6 中类型 1 与类型 2,在主题个数判断正确时,本文方法在主题对应的代码质量属
性判断正确的用户评论数量上高于 LDA,而在主题对应的代码质量属性部分主题判断错误的用户评论数量上
低于 LDA.此外,当主题个数判断错误时,对应表 6 中的类型 3,本文方法漏判主题的用户数量比 LDA 要少,而对
应于表 6 中的类型 4,本文方法多判主题的用户评论数量多于 LDA.通过对出现的结果进行分析发现,出现这种
结果的主要原因是由于短文本的特征稀疏,导致 LDA 在进行短文处理时产生误判和漏判主题的情况较多,多判
主题的情况较少.而本文的主题判断规则基于依存句法关系,不同的依存句法关系对应的词都可作为主题判断
的特征,主题特征相对较多,不同主题特征的覆盖率较高.因而,主题全部判断正确的用户评论数量较多,同时也
会导致多判的情况比漏判的情况更多.综上,虽然本文方法在主题多判结果中高于 LDA,但在主题判断正确结果
上的表现优于 LDA.因此,虽然本文方法未完全判断出复杂用户评论中所有存在的代码质量属性,但是可以对复
杂用户评论中存在的代码质量属性进行较为完整的判断.
为了进一步分析本文提出的主题判断规则的主题判断准确性,本文应用主题判断的准确率进行评估.对应
用本文方法获得的主题个数以及主题对应的代码质量属性的判断结果,与人工标注的结果进行对比,根据对比