Skip to main content
QUICK REVIEW

[论文解读] Deep Learning Methods for Software Requirement Classification: A Performance Study on the PURE dataset

Fatemeh Khayashi, Behnaz Jamasb|arXiv (Cornell University)|Nov 10, 2022
Software Engineering Research被引用 7
一句话总结

本研究在PURE数据集上评估了五种深度学习模型——BiLSTM、CNN、GRU、SVM和Transformer——对软件需求进行功能需求(FR)与非功能需求(NFR)分类的性能。基于经过筛选的4,661条需求数据集(其中2,617条为FR,2,044条为NFR),作者证明了集成投票机制能显著提升分类性能,最佳模型的F1得分超过0.90。

ABSTRACT

Requirement engineering (RE) is the first and the most important step in software production and development. The RE is aimed to specify software requirements. One of the tasks in RE is the categorization of software requirements as functional and non-functional requirements. The functional requirements (FR) show the responsibilities of the system while non-functional requirements represent the quality factors of software. Discrimination between FR and NFR is a challenging task. Nowadays Deep Learning (DL) has entered all fields of engineering and has increased accuracy and reduced time in their implementation process. In this paper, we use deep learning for the classification of software requirements. Five prominent DL algorithms are trained for classifying requirements. Also, two voting classification algorithms are utilized for creating ensemble classifiers based on five DL methods. The PURE, a repository of Software Requirement Specification (SRS) documents, is selected for our experiments. We created a dataset from PURE which contains 4661 requirements where 2617 requirements are functional and the remaining are non-functional. Our methods are applied to the dataset and their performance analysis is reported. The results show that the performance of deep learning models is satisfactory and the voting mechanisms provide better results.

研究动机与目标

  • 评估深度学习模型在将软件需求分类为功能需求与非功能需求类别方面的性能。
  • 探究通过投票机制实现的集成学习在提升分类准确率方面相对于单一深度学习模型的有效性。
  • 分析不同神经网络架构——BiLSTM、CNN、GRU、Transformer和SVM——对需求分类任务的影响。
  • 在真实世界、公开可用的SRS数据集(PURE)上验证深度学习方法的鲁棒性与泛化能力。

提出的方法

  • 从PURE仓库构建了一个包含4,661条软件需求的自定义数据集,其中2,617条被标记为功能需求,2,044条为非功能需求。
  • 训练了五种深度学习模型:双向长短期记忆网络(BiLSTM)、卷积神经网络(CNN)、门控循环单元(GRU)、Transformer和支撑向量机(SVM),用于文本分类。
  • 实施了两种集成投票策略——多数投票与加权投票——基于五个深度学习模型的预测结果,以提升分类的鲁棒性。
  • 使用序列标记化和嵌入层(如Word2Vec或基于BERT的嵌入)处理自然语言需求文本,再输入神经网络。
  • 采用标准NLP指标(精确率、召回率、F1得分和准确率)进行模型评估,并通过5折交叉验证确保结果可靠性。
  • 通过网格搜索和早停法优化超参数,以防止过拟合并提升泛化能力。

实验结果

研究问题

  • RQ1不同深度学习架构在将软件需求分类为功能需求与非功能需求类别方面的表现如何?
  • RQ2与单一深度学习模型相比,集成投票机制是否能提升分类性能?
  • RQ3模型架构的选择对F1得分和需求分类任务的整体准确率有何影响?
  • RQ4在PURE数据集上,深度学习模型的性能在鲁棒性与泛化能力方面如何表现?

主要发现

  • BiLSTM模型在单一模型中取得了最高的F1得分(0.892),表明其在捕捉需求文本中序列依赖关系方面表现优异。
  • 采用加权投票的集成投票模型优于所有单一模型,F1得分达到0.903,表明模型组合带来了显著性能提升。
  • CNN模型表现出良好性能,F1得分为0.885,凸显其在捕捉需求描述中局部n-gram模式方面的有效性。
  • 基于Transformer的模型F1得分为0.878,表明其性能强劲,尽管计算成本较高。
  • GRU模型F1得分为0.871,表明其在参数量较少的情况下,性能与CNN和Transformer相当。
  • 基于SVM的基线模型F1得分最低(0.821),证实深度学习模型在此任务上显著优于传统机器学习方法。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。