DOI QR코드

DOI QR Code

A Comparative Study on Requirements Analysis Techniques using Natural Language Processing and Machine Learning

  • Cho, Byung-Sun (Dept. of Computer Engineering, Ajou University) ;
  • Lee, Seok-Won (Dept. of Software and Computer Engineering, Ajou University)
  • 투고 : 2020.02.10
  • 심사 : 2020.06.19
  • 발행 : 2020.07.31

초록

본 연구의 목적은 다양한 도메인에 대한 소프트웨어 요구사항 명세서로부터 수집된 요구사항을 데이터로 활용하여 데이터 중심적 접근법(Data-driven Approach)의 연구를 통해 요구사항을 분류한다. 이 과정에서 기존 요구사항의 특징과 정보를 바탕으로 다양한 자연어처리를 이용한 데이터 전처리와 기계학습 모델을 통해 요구사항을 기능적 요구사항과 비기능적 요구사항으로 분류하고 각 조합의 결과를 제시한다. 그 결과로, 요구사항을 분류하는 과정에서, 자연어처리를 이용한 데이터 전처리에서는 어간 추출과 불용어제거와 같은 토큰의 개수와 종류를 감소하여 데이터의 희소성을 좀 더 밀집형태로 변형하는 데이터 전처리보다는 단어 빈도수와 역문서 빈도수를 기반으로 단어의 가중치를 계산하는 데이터 전처리가 다른 전처리보다 좋은 결과를 도출할 수 있었다. 이를 통해, 모든 단어를 고려하여 가중치 값은 기계학습에서 긍정적인 요인을 볼 수 있고 오히려 문장에서 의미 없는 단어를 제거하는 불용어 제거는 부정적인 요소로 확인할 수 있었다.

In this paper, we propose the methodology based on data-driven approach using Natural Language Processing and Machine Learning for classifying requirements into functional requirements and non-functional requirements. Through the analysis of the results of the requirements classification, we have learned that the trained models derived from requirements classification with data-preprocessing and classification algorithm based on the characteristics and information of existing requirements that used term weights based on TF and IDF outperformed the results that used stemming and stop words to classify the requirements into functional and non-functional requirements. This observation also shows that the term weight calculated without removal of the stemming and stop words influenced the results positively. Furthermore, we investigate an optimized method for the study of classifying software requirements into functional and non-functional requirements.

키워드

참고문헌

  1. Bourque, Pierre, and Richard E. Fairley. Guide to the software engineering body of knowledge (SWEBOK (R)): Version 3.0. IEEE Computer Society Press, 2014.
  2. Kotonya, Gerald, and Ian Sommerville. Requirements engineering: processes and techniques. Wiley Publishing, 1998.
  3. Sommerville, Ian. "Software engineering 9th Edition." ISBN-10137035152 (2011).
  4. Glinz, Martin. "A glossary of requirements engineering terminol ogy." Standard Glossary of the Certified Professional for Requirements Engineering (CPRE) Studies and Exam, Version 1 (2011).
  5. Van Lamsweerde, Axel. Requirements engineering: From system goals to UML models to software. Vol. 10. Chichester, UK: John Wiley & Sons, 2009.
  6. Ernst, Neil A., and John Mylopoulos. "On the perception of software quality requirements during the project lifecycle." International Working Conference on Requirements Engineering: Foundation for Software Quality. Springer, Berlin, Heidelberg, 2010.
  7. Abad, Zahra Shakeri Hossein, and Guenther Ruhe. "Using real options to manage technical debt in requirements engineering." 2015 IEEE 23rd International Requirements Engineering Conference (RE). IEEE, 2015.
  8. Abad, Zahra Shakeri Hossein, et al. "What are practitioners asking about requirements engineering? an exploratory analysis of social q&a sites." 2016 IEEE 24th International Requirements Engineering Conference Workshops (REW). IEEE, 2016.
  9. Abad, Zahra Shakeri Hossein, et al. "What works better? a study of classifying requirements." 2017 IEEE 25th International Requirements Engineering Conference (RE). IEEE, 2017.
  10. Hussain, Ishrar, Leila Kosseim, and Olga Ormandjieva. "Using linguistic knowledge to classify non-functional requirements in SRS documents." International Conference on Application of Natural Language to Information Systems. Springer, Berlin, Heidelberg, 2008.
  11. Dekhtyar, Alex, and Vivian Fong. "RE data challenge: Requirements identification with Word2Vec and TensorFlow." 2017 IEEE 25th International Requirements Engineering Conference (RE). IEEE, 2017.
  12. Y. Kim, "Convolutional neural networks for sentence classif ication," in Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing, EMNLP 2014, 2014, pp. 1746-1751.
  13. Rashwan, Abderahman, Olga Ormandjieva, and Rene Witte. "Ontology-based classification of non-functional requirements in software specifications: a new corpus and svm-based classifier." 2013 IEEE 37th Annual Computer Software and Applications Conference. IEEE, 2013.
  14. Ferrari, Alessio, Giorgio Oronzo Spagnolo, and Stefania Gnesi. "PURE: A dataset of public requirements documents." 2017 IEEE 25th International Requirements Engineering Conference (RE). IEEE, 2017.
  15. Porter, Martin F. "Snowball: A language for stemming algori thms." (2001).
  16. Qiang, Guo. "An effective algorithm for improving the performance of Naive Bayes for text classification." 2010 Second International Conference on Computer Research and Development. 2010.

피인용 문헌

  1. Quality Improvement by enhancing Informal Requirements with Design Thinking Methods vol.10, pp.2, 2020, https://doi.org/10.7236/ijasc.2021.10.2.130