자연어처리와 기계학습을 이용한 요구사항 분석기술 비교 연구 - 조병선 (The Graduate School, Ajou University, 2020)
소프트웨어와 시스템의 중요성이 증가하면서 복잡성, 확장성, 규모 등이 증가되고 동시에 소프트웨어와 시스템 개발에서 많은 요구사항들이 도출된다. 이와 같은 환경속에서 요구사항 분석은 많은 프로젝트에서 필수적으로 요구된다. 요구공학에서는 체계적인 분석 모델을 통해 요구사항 추출, 분석, 명세, 검증과 유지보수 및 관리하여 명확하게 요구사항을 분석한다. 요구공학에서 소프트웨어 요구사항을 기능적 요구사항과 비기능적 요구사항으로 분류하는 일은 요구사항 분석 단계에서 중요한 작업 중 하나이다. 기능적 요구사항과 비기능적 요구사항의 정확한 분류는 소프트웨어 개발에서 정확한 요구사항 분석을 도출할 수 있으며, 더 나아가 특정 도메인에 대해서 소프트웨어의 신뢰성, 안정성, 보안성, 효율성 등과 같은 다양한 비기능적 소프트웨어 품질을 만족할 수 있는 믿을 수 있는 소프트웨어를 개발할 수 있다. 하지만 요구사항 명세서에 기능적 요구사항과 비기능적 요구사항으로 분류하는데 기존 시스템에서 많은 한계점을 보유하고 있다. 수동식 시스템에서는 전문가로부터 많은 시간과 노력이 요구되며 규모가 크고 복잡한 소프트웨어의 많은 수의 요구사항을 직접 사람이 분석하고 분류하기에는 너무 어렵고 시간이 많이 소모되며 잦은 오류가 발생하기 쉬운 단점이 있다. 자동화 시스템은 요구사항의 자연어 특성 때문에 그에 따른 문제들이 발견되었다. 자연어의 특성상 이해관계자들 간에 다른 용어의 사용, 동일한 요구사항의 서로 다른 묘사 및 해석 등은 자동화 분류 시스템이 자연어를 정확히 이해하고 분류하는데 있어서 많은 문제점을 초래한다. 본 연구에서는 다양한 도메인에 대한 소프트웨어 요구사항 명세서로부터 수집된 요구사항을 데이터로 활용하여 데이터 중심적 접근법의 연구와 기존 요구사항의 특징과 정보를 바탕으로 다양한 자연어처리를 이용한 데이터 전처리와 기계학습 모델을 통해 요구사항을 기능적 요구사항과 비기능적 요구사항으로 분류하고 각 조합의 결과를 비교 분석한다. 더 나아가, 소프트웨어 요구사항을 기능적 요구사항과 비기능적 요구사항으로 분류하는 연구에 대해 최적화된 방법을 제시한다. 본 연구의 기여도는 크게 세 가지가 있다. 첫번째, 새로운 데이터세트 생성을 통한 데이터 확장과 두번째, 새로운 데이터에 대해 다양한 자연어처리와 기계학습을 적용하였고 그 과정에서 도출된 결과를 비교 분석 그리고 마지막으로, 다양한 자연어처리와 기계학습 모델을 이용하여 요구사항 분류에 대해 최적화된 모델을 제시에 있다. 그 결과, 데이터의 수와 질이 어느정도 보장 되어있는 경우에 기계학습 모델 적용이 어떤 결과를 도출할 수 있는지 알 수 있었고 본 연구를 통해 데이터의 수와 질이 보장 되어있는 경우와 보장이 안된 경우에 대해 기계학습 모델의 결과 도출 및 비교 분석을 할 수 있었다.
학위논문(석사)--아주대학교 일반대학원 :컴퓨터공학과,2020. 2
Keywords: 기계학습; 데이터분석; 소프트웨어공학; 요구공학; 요구사항분석; 자연어처리