介绍

在论文 Emerging App Issue Identification from User Feedback: Experience on WeChat 中,作者构建了一个被称为DIVER的新工具。这个工具能够更加高效从用户的评论中发现出现的问题并提供反馈。

屏幕截图 2021-03-21 105147

Example warning captured by DIVER

概述

DIVER这个工具在处理过程中包含以下的五个步骤:

  • preprocessing user reviews
  • extracting word collocations, (3) identifying emerging word collocations
  • identifying emerging word collocations
  • grouping emerging collocations with similar topics and ranking representative feedback for each topic
  • issue visualization

屏幕截图 2021-03-21 095233

The overview of DIVER

具体实现步骤

A. Review Preprocessing

作者主要收集了微信的用户评论。在这些评论中,语言大都为中文和英文。对于中文,作者首先对评论进行了分词操作从而获得一个个句子。然后,作者对这些句子进行形式化操作通过移除标点符号、停止词并过滤一些无信息的词语。对于英文,除了没有进行分词外,其余操作大体一致。

B. Word Collocation Extraction

在这一步中,作者使用了ECLAT(Equivalence Class Transformation)一个深度优先的搜索算法来进行模式发掘。通过使用ECLAT算法,我们就能获得所有的候选短语,这些候选短语都有着较高的出现频率。

屏幕截图 2021-03-21 100844

Example of word collocation extraction

C. Emerging Word Collocation Detection

在上一步中,算法搜索到许多word collocations,但是为了选择恰当的word collocation,从而发现用户反馈的问题。作者考虑了三个维度:word collocation、version和time。

屏幕截图 2021-03-21 101606

Illustration of determining whether one collocation is emerging or not

其中,蓝色柱表示当前word collocation所占的比重。其中,version window考虑了几个版本之间相同word collocation所占比重的变化情况。当一个word collocation的所占的比重在不同版本之间发现重大的变化,那么可以猜测这个word collocation下出现了问题,所以需要浮现这个word collocation。当然除了考虑不同版本之间的关系,time window考虑了同一版本下,不同时间段下的相同word colocation的的变化情况。当发生巨大波动时,就可以考虑应用出现了问题。

D. Issue Summarization

在这一步中,为了准确的描述新出现的问题,作者首先将表达同一主题的词进行聚类,然后对每个主题中的评论进行排序,以便于开发人员观察。

其中,使用的聚类算法如下图所示。

屏幕截图 2021-03-21 103548

Emerging Issue Report

DIVER的最后一步中,作者采用了词图的方式来可视化问题和用户反馈,具体的效果如下图。其中,越大的字体表示更加频繁的出现,红色的字体表示了可能出现的问题。

屏幕截图 2021-03-21 104036

Visualization of DIVER’s results

论文获取

下载链接