Enhancing Software Requirements Classification with Machine Learning and Feature Selection Techniques

被引:0
作者
Lanfear, Daniel [1 ]
Maleki, Mina [1 ]
Banitaan, Shadi [1 ]
机构
[1] Univ Detroit Mercy, Dept Elect & Comp Engn & Comp Sci, 4001 W McNichols Rd, Detroit, MI 48221 USA
来源
SOFTWARE AND DATA ENGINEERING, SEDE 2024 | 2025年 / 2244卷
关键词
Machine learning; Requirements engineering; Supervised learning; Classification; Feature selection; Natural language processing;
D O I
10.1007/978-3-031-75201-8_2
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Requirements engineers have the responsibility for classifying software requirements into functional and nonfunctional variants. As software architects need quality requirements to be known to get their job done, machine learning is employed to speed up and add consistency to the process of identifying and categorizing requirements so that effort may be spent more effectively. We experimented with the effects of different machine learning algorithms, as well as different pre-processing and feature selection techniques. It was determined that, for this application, stop words should not be removed and that performing lemmatization on words provides the most effective features for classification. Furthermore, after finalizing our choices of pre-processing techniques and algorithm to use, we proposed a modification to the Extensive Feature Selector by gathering the most distinctive words in each category and using a list of those as our main features. By using a threshold of 0.013, we obtained an F1 score of 0.787, which is an improvement on the base Enhanced Feature Selector's F1 score of 0.761 with the same number of word features.
引用
收藏
页码:14 / 30
页数:17
相关论文
共 27 条
[1]  
Alpaydin E, 2020, Introduction to machine learning
[2]  
Binkhonain M., 2019, Expert Syst. Appl. X, V1, P100001, DOI DOI 10.1016/J.ESWAX.2019.100001
[3]  
Bird S., 2009, Natural Language Processing With Python: Analyzing Text With the Natural Language Toolkit
[4]   Identification of non-functional requirements in textual specifications: A semi-supervised learning approach [J].
Casamayor, Agustin ;
Godoy, Daniela ;
Campo, Marcelo .
INFORMATION AND SOFTWARE TECHNOLOGY, 2010, 52 (04) :436-445
[5]   Using modified term frequency to improve term weighting for text classification [J].
Chen, Long ;
Jiang, Liangxiao ;
Li, Chaoqun .
ENGINEERING APPLICATIONS OF ARTIFICIAL INTELLIGENCE, 2021, 101
[6]   Requirements Classification with Interpretable Machine Learning and Dependency Parsing [J].
Dalpiaz, Fabiano ;
Dell'Anna, Davide ;
Aydemir, Fatma Basak ;
Cevikol, Sercan .
2019 27TH IEEE INTERNATIONAL REQUIREMENTS ENGINEERING CONFERENCE (RE 2019), 2019, :142-152
[7]   Software Requirements Classification Using Machine Learning Algorithms [J].
Dias Canedo, Edna ;
Cordeiro Mendes, Bruno .
ENTROPY, 2020, 22 (09)
[8]  
Jivani A.G., 2011, IJCTA, V2, P1930
[9]   Classification of Non-Functional Requirements From IoT Oriented Healthcare Requirement Document [J].
Khurshid, Iqra ;
Imtiaz, Salma ;
Boulila, Wadii ;
Khan, Zahid ;
Abbasi, Almas ;
Javed, Abdul Rehman ;
Jalil, Zunera .
FRONTIERS IN PUBLIC HEALTH, 2022, 10
[10]   Automatically Classifying Functional and Non-Functional Requirements Using Supervised Machine Learning [J].
Kurtanovic, Zijad ;
Maalej, Walid .
2017 IEEE 25TH INTERNATIONAL REQUIREMENTS ENGINEERING CONFERENCE (RE), 2017, :490-495