불균형 데이터 처리를 통한 소프트웨어 요구사항분류 모델의 성능 개선에 관한 연구
A Study on Improving Performance of Software Requirements Classification Models by Handling Imbalanced Data
0
조회
0
다운로드
0
인용
0
참고문헌
키워드
초록
자연어로 작성되는 소프트웨어 요구사항은 이해관계자가 바라보는 관점에 따라 의미가 달라질 수 있다. 품질 속성 기반으로 아키텍처 설계시에 품질 속성별로 적합한 설계 전술(Tactic)을 선택해야 효율적인 설계가 가능해 품질 속성 요구사항의 정확한 분류가 필요하다. 이에 따라 고비용작업인 요구사항 분류에 관한 자연어처리 모델이 많이 연구되고 있지만, 품질 속성 데이터셋(dataset)의 불균형을 처리해 분류 성능을 개선하는주제는 많이 다루고 있지 않다. 본 연구에서는 먼저 실험을 통해 분류 모델이 한국어 요구사항 데이터셋을 자동으로 분류할 수 있음을 보인다. 이 결과를 바탕으로 EDA(Easy Data Augmentation) 기법을 통한 데이터 증강과 언더샘플링(undersampling) 전략으로 품질 속성 데이터셋의 불균형을 개선할 수 있음을 설명하고 요구사항의 카테고리 분류에 효과가 있음을 보인다. 실험 결과 F1 점수(F1-Score) 기준으로 최대 5.24%p 향상되어불균형 데이터 처리 기법이 분류 모델의 한국어 요구사항 분류에 도움이 됨을 확인할 수 있다. 또한, EDA의 세부 실험을 통해 분류 성능 개선에도움이 되는 데이터 증강 연산에 관해 설명한다.
Abstract
Software requirements written in natural language may have different meanings from the stakeholders’ viewpoint. When designingan architecture based on quality attributes, it is necessary to accurately classify quality attribute requirements because the efficient designis possible only when appropriate architectural tactics for each quality attribute are selected. As a result, although many natural languageprocessing models have been studied for the classification of requirements, which is a high-cost task, few topics improve classificationperformance with the imbalanced quality attribute datasets. In this study, we first show that the classification model can automaticallyclassify the Korean requirement dataset through experiments. Based on these results, we explain that data augmentation through EDA(EasyData Augmentation) techniques and undersampling strategies can improve the imbalance of quality attribute datasets, and show that theyare effective in classifying requirements. The results improved by 5.24%p on F1-score, indicating that handling imbalanced data helpsclassify Korean requirements of classification models. Furthermore, detailed experiments of EDA illustrate operations that help improveclassification performance
참고문헌 (20)
- K. Wiegers, "Software Requirements" (2013), Pearson Education
- J. Eckhardt, "Are non-functional requirements really non-functional? : An investigation of non-functional requirements in practice", Proceedings of the 38th International Conference on Software Engineering (2016)
- M. Glinz, "On non-functional requirements", 15th IEEE International Requirements Engineering Conference (RE), pp.21~26 (2007)
- L. Bass, "Software architecture in practice" (2013), Addison-Wesley
- Z. S. H. Abad, "What works better? A study of classifying requirements", 2017 IEEE 25th International Requirements Engineering Conference (RE), pp.496~501 (2017)
- M. Binkhonain, "A machine learning approach for hierarchical classification of software requirements", arXiv preprint arXiv : 2302. 12599, ~ (2023)
- X. Luo, "PRCBERT : Prompt learning for requirement classification using BERT-based pretrained language models", 37th IEEE, 2022, 1~13
- Z. Kurtanovic, "Automatically classifying functional and non-functional requirements using supervised machine learning", 2017 IEEE 25th International Requirements Engineering Conference (RE), pp.490~495 (2017)
- J. W. Wei, "EDA : Easy data augmentation techniques for boosting performance on text classification tasks", arXiv : 1901. 11196, ~ (2019)
- E. Dias Canedo, "Software requirements classification using machine learning algorithms", Entropy, 22(9), pp.1057~ (2020)
- M. Lima, "Software engineering repositories : Expanding the PROMISE database", Proceedings of the 33rd Brazilian Symposium on Software Engineering, pp.427~436 (2019)
- R. Navarro-Almanza, "Towards supporting software engineering using deep learning : A case of software requirements classification", 2017 5th International Conference in Software Engineering Research and Innovation (CONISOFT), pp.116~120 (2017)
- T. Hey, "NoRBERT : Transfer learning for requirements classification", 2020IEEE 28th International Requirements Engineering Conference (RE), pp.169~179 (2020)
- "ISO/IEC/IEEE 29148:2018. Systems and software engineering. Life cycle processes. Requirements engineering" (2018)[URL]
- M. I. Limaylla-Lunarejo, "Towards an automatic requirements classification in a new Spanish dataset", 2022 IEEE 30th International Requirements Engineering Conference (RE) (2022), IEEE
- J. Devlin, "BERT : Pretraining of deep bidirectional transformers for language understanding", Proceedings of the Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, 1, pp.4171~4186 (2019)
- "Github – kiyoungkim1/LMKor" (2022)[URL]
- "Github – Beomi/KcBERT" (2022)[URL]
- "Wordnet.kaist.ac.kr" (2022)[URL]
- J. Eisenschlos, "MultiFiT : Efficient multi-lingual language model fine-tuning", Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP), pp.5706~5711 (2019)
