[Context and Motivation] 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. [Content] In this chapter, we present 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. [Contribution] 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)现已成为需求自动化的核心支柱。在需求工程(RE)领域,NLP应用日益普及的关键驱动因素在于,工业界普遍使用自然语言(NL)来描述需求规范。NLP技术广泛应用于需求自动分类、关键信息提取(如领域模型和词汇表术语),以及执行质量保证任务(包括歧义处理和完整性检查)。面对众多可选的NLP解决方案策略,以及结合机器学习应用的可能性,如何针对特定RE任务选择恰当策略,并以严格实证方式评估最终方案,已成为一项挑战。[内容] 本章提出NLP技术选择指南及其在RE情境下的评估方法。我们重点探讨如何在传统NLP、基于特征的机器学习与基于语言模型的方法等不同策略间进行选择。[贡献] 本章旨在为NLP4RE领域的新手提供入门基石,帮助其快速掌握与RE领域最相关的NLP技术。