[论文解读] Deep Learning Models in Software Requirements Engineering
本文研究了变分自编码器(VAEs)在自动化软件需求生成中的应用,使用在3,000个样本需求数据集上微调的句子自编码器。尽管生成的多为重复性、无语义的短语,如“the shall shall to to”,该研究仍为需求工程中的深度生成建模奠定了基础框架,并指出数据集规模和模型架构是未来改进的关键因素。
Requirements elicitation is an important phase of any software project: the errors in requirements are more expensive to fix than the errors introduced at later stages of software life cycle. Nevertheless, many projects do not devote sufficient time to requirements. Automated requirements generation can improve the quality of software projects. In this article we have accomplished the first step of the research on this topic: we have applied the vanilla sentence autoencoder to the sentence generation task and evaluated its performance. The generated sentences are not plausible English and contain only a few meaningful words. We believe that applying the model to a larger dataset may produce significantly better results. Further research is needed to improve the quality of generated data.
研究动机与目标
- 探索使用深度生成模型,特别是变分自编码器(VAEs),进行自动化软件需求生成的可行性。
- 评估VAEs是否能够从软件需求文本中学习有意义的语义表示,并生成合理、连贯的需求。
- 识别当前基于VAE的方法在需求工程的小型、领域特定数据集上应用时的局限性。
- 通过建立基线模型和数据集,为未来研究奠定基础。
提出的方法
- 使用双向LSTM编码器、变分推断模块和LSTM解码器训练了一个变分自编码器(VAE),用于序列词生成。
- 使用预训练的GloVe词嵌入将输入词表示为稠密向量空间中的向量。
- 通过分词、去除标点符号并将词汇表限制在最常见1,000个词内,对数据集进行预处理。
- 通过在两个真实需求的潜在空间之间进行插值,评估生成质量。
- 使用约3,000个条目的自定义需求数据集,训练模型100个周期。
- 通过定性检查和语义连贯性分析,将生成结果与真实需求进行比较以评估性能。
实验结果
研究问题
- RQ1基于VAE的自编码器能否从小型、领域特定的数据集中生成语义有意义且语法正确的软件需求?
- RQ2在词汇多样性与语义内容方面,生成的需求与真实需求相比在质量与连贯性上如何?
- RQ3数据集规模对VAEs在软件需求生成任务中的性能有何影响?
- RQ4哪些架构改进(例如,条件VAE、空洞CNN解码器)可提升该任务的生成质量?
主要发现
- 模型生成的句子主要由重复的停用词(如“the”和“to”)主导,仅偶尔出现“system”和“shall”等有意义的词汇。
- 生成输出中最常见的有意义词汇是“system”和“shall”,这些词在真实需求中极为常见,表明模型部分学习到了关键语义特征。
- 尽管训练了100个周期,生成的句子仍缺乏语法规则和语义连贯性,表明在当前数据集上生成质量极差。
- 模型性能受限于训练数据集的小规模(约3,000个条目),表明更大规模数据集对实现有意义改进至关重要。
- 潜在空间插值生成的输出缺乏清晰的语义演进,进一步证实模型未能学习到有意义的解耦表示。
- 研究结论认为,尽管VAEs是需求生成的可行起点,但必须通过更大规模数据集和先进架构才能实现显著改进。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。