S. E. Martínez García, C. Alberto Fernández-y-Fernández, E. G. Ramos Pérez
{"title":"使用卷积神经网络对非功能性要求进行分类","authors":"S. E. Martínez García, C. Alberto Fernández-y-Fernández, E. G. Ramos Pérez","doi":"10.1134/s0361768823080133","DOIUrl":null,"url":null,"abstract":"<h3 data-test=\"abstract-sub-heading\">Abstract</h3><p>The requirements phase is the core of software development, if it is not carried out correctly it can cause its failure. To combat this problem, analysts have used requirements engineering (ER, for its acronym in English), which is characterized by producing a list of quality requirements called requirements specification (RS, for its acronym in English). The SR performs the requirements classification activity, which consists of identifying the class to which each requirement belongs so that analysts face the challenge of classifying them properly. This work is focused on improving the performance of the classification of non-functional requirements (NFR); that is, with the help of a convolutional neural network. It also seeks to show the importance of preprocessing, the implementation of sampling strategies, and the use of previously trained matrices such as Fasttext, Glove, and Word2vec. The results were obtained by evaluating the metrics Recall, Precision, and F1 with an average increase of up to 30% over related work. Finally, the evaluation of the model is presented with respect to the pre-trained matrices with the ANOVA analysis.</p>","PeriodicalId":54555,"journal":{"name":"Programming and Computer Software","volume":null,"pages":null},"PeriodicalIF":0.7000,"publicationDate":"2024-01-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Classification of Non-functional Requirements Using Convolutional Neural Networks\",\"authors\":\"S. E. Martínez García, C. Alberto Fernández-y-Fernández, E. G. Ramos Pérez\",\"doi\":\"10.1134/s0361768823080133\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<h3 data-test=\\\"abstract-sub-heading\\\">Abstract</h3><p>The requirements phase is the core of software development, if it is not carried out correctly it can cause its failure. To combat this problem, analysts have used requirements engineering (ER, for its acronym in English), which is characterized by producing a list of quality requirements called requirements specification (RS, for its acronym in English). The SR performs the requirements classification activity, which consists of identifying the class to which each requirement belongs so that analysts face the challenge of classifying them properly. This work is focused on improving the performance of the classification of non-functional requirements (NFR); that is, with the help of a convolutional neural network. It also seeks to show the importance of preprocessing, the implementation of sampling strategies, and the use of previously trained matrices such as Fasttext, Glove, and Word2vec. The results were obtained by evaluating the metrics Recall, Precision, and F1 with an average increase of up to 30% over related work. Finally, the evaluation of the model is presented with respect to the pre-trained matrices with the ANOVA analysis.</p>\",\"PeriodicalId\":54555,\"journal\":{\"name\":\"Programming and Computer Software\",\"volume\":null,\"pages\":null},\"PeriodicalIF\":0.7000,\"publicationDate\":\"2024-01-24\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Programming and Computer Software\",\"FirstCategoryId\":\"94\",\"ListUrlMain\":\"https://doi.org/10.1134/s0361768823080133\",\"RegionNum\":4,\"RegionCategory\":\"计算机科学\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q4\",\"JCRName\":\"COMPUTER SCIENCE, SOFTWARE ENGINEERING\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Programming and Computer Software","FirstCategoryId":"94","ListUrlMain":"https://doi.org/10.1134/s0361768823080133","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q4","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 0
摘要
摘要 需求阶段是软件开发的核心,如果执行不当,就会导致软件开发失败。为了解决这个问题,分析人员使用了需求工程(ER,英文缩写),其特点是生成一份高质量的需求列表,称为需求规格(RS,英文缩写)。需求规格说明书进行需求分类活动,包括确定每个需求所属的类别,以便分析人员面临对需求进行适当分类的挑战。这项工作的重点是在卷积神经网络的帮助下,提高非功能性需求(NFR)的分类性能。它还试图说明预处理、实施采样策略和使用先前训练过的矩阵(如 Fasttext、Glove 和 Word2vec)的重要性。通过对 Recall、Precision 和 F1 等指标进行评估,得出的结果比相关工作平均提高了 30%。最后,通过方差分析对模型与预训练矩阵进行了评估。
Classification of Non-functional Requirements Using Convolutional Neural Networks
Abstract
The requirements phase is the core of software development, if it is not carried out correctly it can cause its failure. To combat this problem, analysts have used requirements engineering (ER, for its acronym in English), which is characterized by producing a list of quality requirements called requirements specification (RS, for its acronym in English). The SR performs the requirements classification activity, which consists of identifying the class to which each requirement belongs so that analysts face the challenge of classifying them properly. This work is focused on improving the performance of the classification of non-functional requirements (NFR); that is, with the help of a convolutional neural network. It also seeks to show the importance of preprocessing, the implementation of sampling strategies, and the use of previously trained matrices such as Fasttext, Glove, and Word2vec. The results were obtained by evaluating the metrics Recall, Precision, and F1 with an average increase of up to 30% over related work. Finally, the evaluation of the model is presented with respect to the pre-trained matrices with the ANOVA analysis.
期刊介绍:
Programming and Computer Software is a peer reviewed journal devoted to problems in all areas of computer science: operating systems, compiler technology, software engineering, artificial intelligence, etc.