abhishekchandar / requirement-extraction

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Requirement Extraction using NLP

Requirement engineering is a crucial but time-consuming task in any software engineering project. With the goal of helping software developers in the process of extracting requirements, an automated NLP pipeline is proposed that leverages language models to extract requirements from online user feedback data. This paper identifies the problem of appointing domain experts to perform qualitative coding manually to identify requirements from a particular source of data. To improve the efficiency of the requirement extraction process, this study focuses on automating the requirement elicitation process. Previous research works have extensively implemented traditional machine learning techniques to fetch requirements from a particular source of data such as Tweets and legal contracts. In this work, the performance of language models to perform text classification and thereby identifying requirements from online user feedback will be investigated. This problem is especially hard because of the lack of software engineering datasets that are labelled which is the reason for exploring transfer learning by implementing language models in this work. To automate the requirement extraction process, a well-established manual approach called Kyoryoku is considered and partially automated. In this work, language models namely BERT, ELMO and ULMFit were implemented. Based on the experimentation, it was found that BERT performed significantly better than ELMO and ULMFit for the dataset that we have with an average F1 score of 90%

About


Languages

Language:Jupyter Notebook 100.0%