Cal Poly
Software Requirements Classification Using Word Embeddings and Convolutional Neural Networks
Abstract
dc:description.abstract<p>Software requirements classification, the practice of categorizing requirements by their type or purpose, can improve organization and transparency in the requirements engineering process and thus promote requirement fulfillment and software project completion. Requirements classification automation is a prominent area of research as automation can alleviate the tediousness of manual labeling and loosen its necessity for domain-expertise.</p> <p>This thesis explores the application of deep learning techniques on software requirements classification, specifically the use of word embeddings for document representation when training a convolutional neural network (CNN). As past research endeavors mainly utilize information retrieval and traditional machine learning techniques, we entertain the potential of deep learning on this particular task. With the support of learning libraries such as TensorFlow and Scikit-Learn and word embedding models such as word2vec and fastText, we build a Python system that trains and validates configurations of Naïve Bayes and CNN requirements classifiers. Applying our system to a suite of experiments on two well-studied requirements datasets, we recreate or establish the Naïve Bayes baselines and evaluate the impact of CNNs equipped with word embeddings trained from scratch versus word embeddings pre-trained on Big Data.</p>
Degree
thesis:*- Name thesis:degree_name
- MS in Computer Science
- Discipline thesis:degree_discipline
- Computer Science
- Year dc:date.available
- 2018
Author and committee
dc:creator, dc:contributor.*- Author dc:creator
-
- Fong, Vivian Lin
- Contributors dc:contributor
-
- Alexander Dekhtyar
Subjects
dc:subject × 6Identifiers
dc:identifier.*- Identifier
- 10.15368/theses.2018.89
- OAI identifier oai:identifier
- oai:digitalcommons.calpoly.edu:theses-3249