Natural Language Processing (NLP) is now a cornerstone of requirements automation. One compelling factor behind the growing adoption of NLP in Requirements Engineering (RE) is the prevalent use of natural language (NL) for specifying requirements in industry. NLP techniques are commonly used for automatically classifying requirements, extracting important information, e.g., domain models and glossary terms, and performing quality assurance tasks, such as ambiguity handling and completeness checking. With so many different NLP solution strategies available and the possibility of applying machine learning alongside, it can be challenging to choose the right strategy for a specific RE task and to evaluate the resulting solution in an empirically rigorous manner. This book chapter presents guidelines for the selection of NLP techniques as well as for their evaluation in the context of RE. In particular, we discuss how to choose among different strategies such as traditional NLP, feature-based machine learning, and language-model-based methods. Our ultimate hope for this chapter is to serve as a stepping stone, assisting newcomers to NLP4RE in quickly initiating themselves into the NLP technologies most pertinent to the RE field.
翻译:自然语言处理(NLP)现已成为需求自动化的基石。推动NLP在需求工程(RE)领域日益普及的关键因素之一,是工业界普遍采用自然语言(NL)编写需求规范。NLP技术通常用于自动分类需求、提取重要信息(如领域模型和术语表),以及执行质量保证任务(如歧义处理和完整性检查)。由于存在众多不同的NLP解决方案策略,且可同时应用机器学习方法,为特定RE任务选择合适策略并以实证严谨的方式评估最终方案往往颇具挑战。本章节提出了在RE背景下选择NLP技术及其评估方法的指南。具体而言,我们探讨了如何在传统NLP、基于特征的方法及基于语言模型的方法等不同策略中进行选择。我们期望本章能作为一块垫脚石,帮助NLP4RE领域的新手快速掌握与RE领域最相关的NLP技术。