Natural Language Processing in Requirements Elicitation and Requirements Analysis: a Systematic Literature Review
Summary
Natural language processing (NLP), the area of study concerned with how computers can interpret and handle natural language, has gained interest in the last few years. Based on a preliminary study, we identified that within the field of requirements engineering (RE), NLP is widely applied and has the potential for much benefit in the industry. However, no clear overview is available on what tools in the field use NLP. Therefore, this research aims to establish the current state of research on how NLP is currently being used in RE, specifically within the phases of requirements elicitation (collecting requirements from stakeholders and other sources) and requirements analysis (further processing these requirements for understanding them better).
The main research method used in the thesis is the Systematic Literature Review (SLR). An SLR involves collecting a large amount of literature according to a preestablished protocol, selecting relevant papers from this collection, assessing their quality, and finally extracting data from this final list of literature. From this data, we established purposes of the tools that are available in the field, as well as categories of tasks that employ NLP techniques. We also performed statistical analysis using Jaccard Indices to see if any patterns of co-occurrence between RE (sub-)phases, tool purposes and NLP tasks could be discovered.
We conclude by explaining that though NLP is in the lift within the field, it is far from mature. NLP tasks are predominantly used to analyze the requirements; however, requirements documentation has the potential for more use of NLP techniques. Moreover, we ask researchers in the field to establish a common terminology, and to explicitly state used NLP techniques in their papers.