Core Concepts
This chapter presents practical guidelines for selecting and evaluating Natural Language Processing (NLP) techniques to automate requirements analysis tasks in Requirements Engineering (RE).
Abstract
The chapter outlines a three-step process for automating NLP in RE:
Pre-processing:
Examines the natural language content of requirements or related artifacts to generate structured information for the Analysis step.
Involves computing features (numeric or categorical attributes) for the chosen units of analysis, such as words, phrases, sentences, or paragraphs.
Common enabling techniques include the NLP Pipeline, Relevance Measures, and Embeddings.
Analysis:
The core of the automation process, manifesting as Classification, Clustering, or Text Generation.
Classification assigns labels or categories to the units of analysis.
Clustering organizes the units of analysis into groups based on inherent similarities.
Text Generation automatically creates human-readable text to aid requirements derivation, completion, understanding, and communication.
The chapter provides a decision process to help select the most suitable enabling technique(s) for the Analysis step based on factors like the availability of predefined conceptual categories and the volume of labelled data.
Post-processing:
Enhances the results of the Analysis step or adapts them for better human understanding.
Can involve light adjustments like heuristic-based reclassification or more complex filtering of model predictions.
The chapter also provides an overview and practical guidelines for applying various enabling techniques, including the NLP Pipeline, Relevance Measures, and Embeddings.
Stats
"The flight simulator shall store log messages in the database."
"The system shall react to user input within one second."
"The system shall respond within one second."
"The system shall encrypt sensitive data."
Quotes
"NLP's role in requirements automation is pivotal, due to the widespread use of natural language (NL) in industrial requirements specifications."
"Recent breakthroughs in NLP, e.g., the emergence of large language models, have nonetheless drastically enhanced our ability to automatically analyze textual information."