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. 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. 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技术。