Duplicate Bug Report Detection Using Named Entity Recognition
- 论文下载地址: 下载链接
- 作者: Wei Zheng, Yunfan Li, Xiaoxue Wu, Tingting Yu, Jingyuan Cheng, Yu Zhao
- Affiliation: 西北工业大学
- 发表年份: 2023年
- 关键词: 重复 bug 报告检测,命名实体识别,上下文感知随机森林,卷积神经网络
摘要
本研究关注了在软件开发过程中常见的问题,即重复 bug 报告(DBR)的检测,并提出了一种名为CorNER的方法,该方法利用命名实体识别(NER)来提高检测准确性。作者首先介绍了DBR问题的背景和重要性,指出了现有方法的不足之处。然后,他们详细描述了CorNER方法的构建过程,包括NER模型的构建以及文本卷积神经网络(TextCNN)的特征提取和融合。文章还包括了实验部分,展示了CorNER方法在不同数据集上的性能表现,以及对可能威胁的讨论。
CorNER方法在实验中表现出色,具有较高的准确性、召回率和F1分数,相对于基线方法的改进也得到了验证。然而,作者也提到了一些潜在的威胁和限制,如手动标注命名实体可能引入的主观性误差以及数据集中实体类别不均匀分布等问题。
创新点与借鉴点
- 使用命名实体识别(NER)来将非结构化的bug报告文本转化为结构化的格式,从而提高了重复bug报告检测的准确性。
- 引入上下文感知的随机森林(context-aware random forest)和卷积神经网络(convolutional neural networks)来提取特征,并将其与命名实体类别特征结合,以检测重复bug报告。
- 提出了CorNER方法,该方法综合了NER、上下文感知的随机森林和卷积神经网络的优势,能够在多个数据集上取得优异的性能。
借鉴点:
- 借鉴了先前的重复bug报告检测工作,并使用了现有的DBR数据集进行实验评估,从而能够与其他方法进行比较和性能分析。
- 使用了文本卷积神经网络(TextCNN)来提取语法和语义特征,这是一个被广泛应用的深度学习技术。
实验方法
实验部分: 1. 数据集收集:收集了不同规模和类型的数据集,包括Spark、Eclipse、Mozilla-firefox、Thunderbird和Mozilla-core等五个数据集。 2. 实验设置:将CorNER方法与两种基线方法(DC-TextCNN和DBR-TextCNN)进行性能比较。 3. 评价指标:使用Precision、Recall、F1分数和准确率来评估方法的性能。
方法部分: 1. 研究问题的定义:重复 bug 报告(DBR)的检测。 2. 借鉴前人方法:参考了先前的DBR检测工作,选择了现有的DBR数据集。 3. CorNER方法的构建: - 步骤1:使用NER将非结构化文本转化为结构化格式。 - 步骤2:利用TextCNN模型提取文本特征。 - 步骤3:结合上下文感知随机森林,使用NER识别相关的命名实体。 - 步骤4:使用逻辑回归分类器对融合特征向量进行分类。 4. 数据预处理和命名实体识别:包括词分割、数据清理、词性标注以及使用RNER进行自动命名实体识别。
整个方法通过结合命名实体识别和上下文感知随机森林,并利用TextCNN提取语法和语义特征,提出了CorNER方法来检测重复的bug报告。该方法在多个数据集上进行了评测,并展示了其在性能上的优势。同时,作者也对潜在的威胁与限制进行了讨论。
总结
- (1): 本文的研究背景是解决软件开发中重复 bug 报告的问题。
- (2): 过去的方法存在一些问题,无法满足行业需求。本文的方法通过使用命名实体识别来提高重复 bug 报告的检测准确性,并提出了基于上下文感知随机森林和卷积神经网络的方法。这些方法在理论上是有动机的,并解决了过去方法的一些问题。
- (3): 本文的研究方法是将非结构化文本转换为结构化格式,通过命名实体识别准确地提取出 bug 报告中的结构化信息。然后使用上下文感知随机森林和卷积神经网络提取特征,并结合类别特征来检测重复 bug 报告。
- (4): 本文的方法在多个数据集上进行了实验,结果表明在F1分数方面表现优异,达到了个别数据集上98.42%的Precision、95.15%的Recall和92.63%的F1分数。平均Precision、Recall和F1分数分别为87.50%、89.86%和87.95%。这些结果表明本文的方法能够有效地检测重复的 bug 报告,并改善了现有方法的性能。