基于Tri-Training半监督学习的非功能性需求分类方法在工业软件中的应用

宋百灵 ,  何彦众 ,  张泽贤 ,  曾诚 ,  俞嘉怡 ,  刘进 ,  胡文华

武汉大学学报(理学版) ›› 2024, Vol. 70 ›› Issue (3) : 367 -375.

PDF (2374KB)
武汉大学学报(理学版) ›› 2024, Vol. 70 ›› Issue (3) : 367 -375. DOI: 10.14188/j.1671-8836.2023.0227

基于Tri-Training半监督学习的非功能性需求分类方法在工业软件中的应用

作者信息 +

Application of a Tri-Training Semi-Supervised Learning Method for Non-Functional Requirement Classification in Industrial Software

Author information +
文章历史 +
PDF (2430K)

摘要

结合Word2Vec的Skip-gram模型在提取复杂软件需求文档中细微语义差异方面的优势,提出了一种基于Tri-Training半监督学习的非功能性需求分类方法,旨在应对软件需求工程领域中标记样本数量有限的挑战,从而解决非功能性需求分类性能下降的问题。与传统应用于完全冗余视图或单一分类器的半监督学习算法不同,半监督学习Tri-training算法通过用自举抽样产生的3个不同的标记数据集初始化3个不同的分类器,利用三个分类器以多数投票规则来产生伪标记数据,从而解除对训练集的限制,提高分类框架的通用性和可用性。将本文方法应用于涵盖多个工业领域的PROMISE软件需求数据集中,结果表明,基于Tri-Training半监督学习的非功能性需求分类方法在不同标记比例的数据集上具有良好的分类性能,特别是在标记数据不足的情况下,相比于监督学习和其他半监督学习算法,该方法在召回率和F1值上具有显著优势。

Abstract

We combine the advantages of the Word2Vec Skip-gram model in extracting subtle semantic differences from complex software requirement documents and propose a non-functional requirements method based on Tri-Training semi-supervised learning. This approach addresses the challenge of limited labeled samples in software requirements engineering, thus mitigating the performance degradation in non-functional requirement classification. Unlike traditional semi-supervised learning algorithms applied to entirely redundant views or a single classifier, the semi-supervised Tri-Training algorithm initializes three distinct classifiers with three different labeled datasets generated through bootstrapping. It employs the majority voting rule among these classifiers to produce pseudo-labeled data, thereby mitigating constraints on the training set and augmenting the generality and applicability of the classification framework. The method described in this paper is applied to the PROMISE software requirements dataset covering multiple industrial domains. The results demonstrate that the non-functional requirement classification method based on Tri-Training semi-supervised learning exhibits commendable classification performance across datasets with various labeled proportions, particularly under conditions of insufficient labeled data. Compared to supervised learning and other semi-supervised learning algorithms, this method shows significant recall and F1 score advantages.

Graphical abstract

关键词

软件需求分类 / 半监督学习 / Tri-Training

Key words

software requirement classification / semi-supervised learning / Tri-Training

引用本文

引用格式 ▾
宋百灵,何彦众,张泽贤,曾诚,俞嘉怡,刘进,胡文华. 基于Tri-Training半监督学习的非功能性需求分类方法在工业软件中的应用[J]. 武汉大学学报(理学版), 2024, 70(3): 367-375 DOI:10.14188/j.1671-8836.2023.0227

登录浏览全文

4963

注册一个新账户 忘记密码

0  引 言

软件需求是用户对软件系统功能、性能、约束条件等方面的需求描述。它在软件开发过程中扮演着重要的角色,对于确保软件系统的正确性、可靠性和满足用户需求起着关键作用[12]。已有的研究表明,在客户对交付的软件不满意的问题中,多达80%是由软件需求工程中的问题引起的[3]。软件需求可以分为功能性需求和非功能性需求[45]。非功能性需求描述了软件架构设计所需的安全性、可靠性等质量属性,是对系统提供的功能服务的约束,在提升软件开发质量方面发挥着重要作用。不正确处理非功能性需求可能会增加软件维护成本并影响软件质量[67],因此需要尽可能准确地识别非功能性需求。

近年来,随着机器学习技术的发展,自动从自然语言文档中提取文本特征,并基于这些文本特征构建需求分类模型逐渐成为研究人员关注的焦点,涌现出了许多基于机器学习的需求分类方法[8~18]。但是,这些方法通常依赖于大量的标记样本。在实际应用中,尤其是在软件需求工程领域,已标记的需求文档样本数量往往非常有限,这使得依靠大量标记数据的分类方法容易产生过拟合,其泛化能力较差,导致分类性能降低。在这种情况下,采用半监督学习算法进行软件需求的分类则更加合适和有效。

因此,本文提出一种基于Tri-Training[19]半监督学习的非功能性需求分类方法,并将其应用于涵盖多个工业领域的需求数据集,旨在利用少量已标记的需求文档和大量未标记的需求文档构建需求分类模型。

1  相关工作

为了降低手工需求分类任务的成本,研究者们提出了各种基于机器学习的需求分类方法。Hussain等[11]提出了利用决策树分类器对功能性需求和非功能性需求进行分类的方法。Abad等[12]使用二值化朴素贝叶斯分类方法对软件需求文本进行分类,并取得了较高的准确率。Tiun等[13]将Fasttext模型应用于软件功能性需求和非功能性需求的二分类任务中,对于短文档和少量词汇的二进制文本分类,实现了较好的分类性能。Leelaprute等[14]研究了9种词嵌入方法对非功能性需求分类性能的影响,并提出将一些先进的词嵌入方法与分类器相结合,利用预先训练过的数据提升分类性能。随着机器学习技术的发展,深度学习技术在计算机视觉和自然语言处理领域展现出了强大的学习能力和巨大潜力,这激发了许多研究人员利用深度学习方法更高效地提取文本特征。Hey等[15]建议使用NoRBERT对BERT进行微调,并将其应用于需求分类领域的不同任务中。AlDhafer等[16]提出了使用双向门控递归神经网络对原始需求文本进行分类。Kaur等[17]提出了一种双向编码器-解码器变换器-卷积神经网络模型用于需求分类。Rahman等[18]将长短期记忆和双向长短期记忆与人工神经网络相结合,用于非功能性需求的分类。然而,这些分类方法都依赖于大量的标记样本且泛化能力差,当没有足够的学习数据或应用于未发现的项目时,分类性能会降低。

因此,一些研究人员提出了半监督学习技术,利用未标记数据扩充训练集,以解决标记数据不足且不易获取的问题。Casamayor等[20]提出了一种半监督文本分类方法,采用期望最大化策略训练半监督学习分类器,以自动识别和分类非功能性需求。Deocadez等[21]应用自标记算法作为半监督分类技术,自动对App Store评论中包含的功能性需求和非功能性需求进行分类。Li等[22]结合主动学习策略,提出了一种基于关键词的分类方法,用于在众包场景中对用户请求进行半自动分类。然而,这些方法比较复杂,有的在为未标记数据标记伪标签时存在半自动或者无法纠正错误标记的问题。因此,需要一种简单的半监督学习方法提高标记伪标签的准确率且实现对软件需求的自动化分类。

2  本文方法

本文首先结合Word2Vec的Skip-gram模型将需求文档转化为向量形式,捕捉词汇之间的远距离依赖关系,提高模型的语义捕捉能力,增强对文档中隐含语义关系的理解,为后续分类任务提供较好的特征表示基础。基于提取的文本特征,本文在Tri-Training算法中采用K-近邻(K-Nearest Neighbors, KNN)、决策树(Decision Tree, DT)和随机森林(Random Forest, RF)三个分类器进行联合训练,以充分利用不同分类器的互补优势,综合利用少量的已标记样本和大量的未标记样本,从而在不同的数据分布和特征空间中获得较好的分类性能。

假设存在已标记数据集L={xi,yi}i = 1N和未标记数据集U={xi'}i = 1N',其中,xi表示第i个已标记软件需求文档的文本特征,yi表示相应的软件需求标签(即功能性需求或非功能性需求),xi'表示第i个未标记软件需求文档的文本特征,N表示数据集中已标记的软件需求文档数量,N'表示数据集中未标记的软件需求文档数量。软件非功能性需求分类即通过使用已标记数据集L和未标记数据集U训练模型,以有效识别软件需求文档是否是非功能性需求。

Skip-gram模型适用于处理稀疏数据,能够有效地捕捉到词汇之间的远距离依赖关系,并优化词向量以预测上下文,从而在低维空间中精确地映射词汇的语义关系。如图1所示,首先使用词嵌入方法Word2Vec的Skip-gram模型,对已标记数据集L和未标记数据集U的软件需求文档进行向量化并提取文本特征。具体而言,将每个需求文档视为由一系列词汇组成的文本序列,并通过Skip-gram模型预测给定词汇周围的上下文词汇,以训练神经网络。通过这一过程,每个需求文档被转换为词嵌入空间中的向量表示,以捕捉到文档中词汇的语义关系。

然后采用Tri-Training算法进行协同式训练,得到单个集成的分类器h。具体算法如算法1所示:1) 利用自举重采样技术通过已标记数据集L生成三个新的已标记子数据集(L1,L2,L3),利用获得的三个已标记的子数据集对三个基础分类器(h1,h2,h3)进行初始化,三个分类器h1h2h3分别采用KNN、DT和RF。2) 使用三个初始化后的分类器以多数投票规则的方式生成伪标记的样本。例如,假设x'是未标记数据集U内未标记的需求文档的文本特征,当分类器h3h2对未标记示例x'的分类结果h3(x')h2(x')一致时,则可将x'的类别标记为h2(x')(h2(x')=h3(x'))后加入到h1的训练集L1中,此时,h1的训练集L1就被扩充为新训练集L1'=L1(x',h2(x'))。3) 同样地,按照1)至2)的过程,可以分别得到h2h3扩充后的新训练集L2'L3',然后继续将三个分类器重新训练,如此进行重复迭代,直到三个分类器(h1,h2,h3)都不再发生变化,则停止训练。在最终的训练完成后,再通过多数投票规则将三个分类器集成为单个分类器h进行使用。

3  实验结果与分析

3.1 数据集

本文使用了已有的软件需求分类研究[23~25]中被广泛使用的PROMISE软件需求数据集[26]。该数据集包含来自15个不同软件开发项目的需求,涵盖多个工业领域,例如车辆部件查找、战舰游戏,以及用于某城市的公共工程部门的企业级服务总线。数据集由625条需求描述文档组成,包括370个非功能性需求(Non-Functional Requirements, NFR)和255个功能性需求(Functional Requirements, FR)。每个文档由一个用自然语言编写的需求描述、所属项目的ID和一个指定需求类型的标签组成。非功能性需求被标记为11个类型,分别是:Availability(A),Fault Tolerance(FT),Legal(L),Look&Feel(LF),Maintainability(MN),Operational(O),Performance(PE),Portability(PO),Scalability(SC),Security(SE),Usability(US)。表1列出了数据集的具体分布。

3.2 评价指标

本文采用准确率(Accuracy)、精确度(Precision)、召回率(Recall)和F1值(F1)和受试者工作特征(Receiver Operating Characteristic, ROC)曲线下面积(Area Under Curve, AUC)作为评价指标。检测尽可能多的非功能性需求文档可以提高软件需求分析的效率,避免增加软件维护成本和影响软件质量,因此本文将标记为非功能性需求的文档作为阳性实例。基于功能需求和非功能需求的二分类任务的监督模型或半监督模型有以下四种输出结果:

1) 实际标签为非功能性需求,同时也被模型预测为非功能性需求。

2) 实际标签为功能性需求,但被模型预测为非功能性需求。

3) 实际标签为功能性需求,同时也被模型预测为功能性需求。

4) 实际标签为非功能性需求,但被模型预测为功能性需求。

以上四种输出结果下对应的需求实例的数量分别被定义为:真阳性(True Positive, TP),假阳性(False Positive, FP),真阴性(True Negative, TN)和假阴性(False Negative, FN)。根据以上条件,五个评价指标的具体计算方式如下。

1) Accuracy,即被模型预测正确的需求文档数量占总需求文档数量的比例。

Accuracy= TP+TNTP+TN+FP+FN

2) Precision,即被模型预测为非功能性需求且预测正确的数量占实际为非功能性需求的数量的比例。

Precision=TPTP+FP

3) Recall,即被模型预测为非功能性需求且预测正确的数量占全部预测为非功能性需求的数量的比例。

Recall=TPTP+FN

4) F1,即是Recall和Precision的调和平均值。

F1=2Precision×RecallPrecision+Recall

5) AUC,即ROC曲线下的面积,ROC曲线是以假阳例率(False Positive Rate, FPR)为横轴,以真阳例率(True Positive Rate, TPR)为纵轴绘制的曲线。

FPR=FPTN+FP
TPR=TPTP+FN

AUC可以被理解为给定一个功能性需求文档(阴性示例)和一个非功能性需求文档(阳性示例),用一个分类器进行分类和预测,非功能性需求文档(阳性示例)的得分比功能性需求文档(阴性示例)的得分要大的概率,其数值范围为0.5至1之间;其余四个评价指标的数值范围均为0至1之间。当它们的取值越趋近于1时,模型相应的性能就越好。

3.3 实验方法

图2为实验的总体流程。主要包括以下几个内容:1) 将PROMISE 软件需求数据集划分为测试集和训练集;2) 使用词嵌入方法Word2Vec进行数据预处理,将需求文本转化为向量形式;3) 将训练集按比例生成已标记数据集和未标记数据集;4) 利用已标记数据和未记注数据训练本文提出的基于Tri-Training半监督学习的非功能性需求分类模型(模型2),再利用已标记的数据训练基于监督学习的需求分类模型(模型1);5) 评估模型1和模型2,并进行结果分析。

分层抽样可以使得测试集和训练集保持与数据集相同的类分布。因此,本文采用分层抽样并按照3∶1的比例划分数据集,其中468个需求(约占数据集的75%)作为训练集,剩余的156个(约25%)作为测试集。为了检验模型的有效性,本文使用不同标记比例的需求文档训练分类模型,研究模型在标记数据不足时的分类性能[27]。对于每个实验,已标记数据比例设置为20%到90%,按照当前比例将训练集划分为已标记数据集和未标记数据集,以此训练Tri-Training模型,并迭代50次,取平均结果以避免实验的偶然性,最后利用训练好的模型对测试集进行分类,并得出评估结果。

3.4 结果分析

3.4.1 本文方法与监督学习方法的对比

在同一数据集和相同训练标记数据下,比较了本文方法与常见的监督学习方法KNN、DT、RF和简化的深度森林[28](Simplified Deep Forest, SDF)在不同标记比例(20%~90%)下的分类性能。深度森林[29]是一种新颖的决策树集成方法,由多粒度扫描和级联森林两部分构成,由于软件需求数据包含低维特征,因此本文采用了Xu等[28]提出的只包含级联结构的简化的深度森林模型。实验结果如图3所示。

图3可以看出,本文方法在Recall和F1方面相较于对比的监督学习方法具有显著优势。当标记数据较少(20%到50%之间)时,相比于监督学习方法只能利用标记数据训练软件需求分类模型,本文方法能够充分利用未标记数据扩充训练集,保持较好的性能,其Recall比决策树高21.9%~25.4%,F1值高11.9%~13.1%;其中,当标记数据比例为30%时,本文方法在Recall方面相较于对比的监督学习方法提升效果最优,为1.5%~25.5%。当标记数据较多时(60%到90%之间)时,随着标记比例的增加,各方法的指标都呈上升趋势,相较于对比的监督学习方法,本文方法仍保持较好性能。

3.4.2 本文方法与其他半监督学习方法的对比

在同一数据集和相同训练标记数据下,分别比较了本文方法与KNN、DT、RF分类器下半监督学习方法Self-Training和Co-Training[30]在不同标记比例(20%~90%)下的分类性能。其中,Self-Training是基于单一分类器的半监督学习模型,先通过少量的已标记数据训练一个弱的分类器,再通过该分类器对未标记样本进行标记,当满足一定条件时(例如预测概率大于某个阈值)则将预测结果作为该样本的真实标签,然后再以当前已有的标记数据训练模型标记未标记样本并反复迭代,直到达到停止条件时结束。Co-Training是由Blum和Mitchell[30]提出的一种协同训练算法,该算法是基于分歧的方法,它假设每个数据都可以由不同的视图表示,然后在每个视图上,基于已标记数据,分别训练出一个分类器,再利用这两个分类器对未标记的样本数据进行分类,挑选置信度最高的未标记样本加入训练集中,实现利用未标记样本对已标记训练集的扩充。实验结果见图4~图6

图4可知,在KNN分类器的情况下,当标记数据比例为20%至70%时,本文提出的方法与其他两种半监督模型相比,在5个评估指标上均取得了良好的性能;由图5可知,在RF分类器下,当标记数据比例为20%至50%时,本文方法的Recall性能显著优于Self-Training和Co-Training,当标记数据比例为60%至90%时,各方法性能并没有显著差异;由图6可知,在DT分类器下,该方法在各标记数据比例下除Precision性能低于Co-Training,其余4个评估指标均显著优于Self-Training和Co-Training。

结合各方法在不同分类器和标记数据比例下具体性能值,通过与Self-Training和Co-Training中最佳指标值的比较可知,本文方法在Recall和F1方面均表现出优秀性能,比如在DT分类器下,标记数据比例为80%时,Recall提升了19.4%,F1提升了10.9%,而在Precision、Accuracy和AUC方面各半监督学习方法没有显著差异。此外,值得注意的是,随着标记比例的增加,各方法的指标都呈上升趋势。

因此,本文方法在Recall和F1方面优于对比的半监督学习方法。这一优势主要归因于本文采用的半监督学习算法Tri-Training利用了3个不同的训练器之间的互补性,通过协同训练和多数投票规则提高了分类性能,并增强了模型的泛化能力。相比之下,Self-Training仅依赖于单一分类器,在标记伪标签时无法纠正标记错误,而Co-Training则基于两个完全冗余的视图,往往无法有效地利用数据进行训练,导致分类性能稍差。因此,Tri-Training相较于Self-Training和Co-Training,更有效地利用了未标记数据,通过多数投票规则利用3个分类器的互补优势联合训练,更准确地标记伪标签,从而提升了分类性能,特别是在标记数据不足的情况下表现出了更好的性能。

4  结 语

本文提出了一种基于Tri-Training半监督学习的非功能性需求分类方法,旨在利用大量未标记的需求文档,通过生成伪标签逐渐扩充训练集,从而显著减少了学习所需的已标记的需求文档数量。减轻了需求分析师的标记工作负担,降低了人工成本,同时减少了将开发错误引入软件系统的风险,有助于提高软件开发效率和整体质量。将其应用于涵盖多个工业领域的PROMISE软件需求数据集上,结果表明,本文方法在召回率和F1值方面优于对比的监督学习方法和半监督学习方法。该方法能够更全面地识别非功能性需求,而且在性能上具有良好的平衡性。值得注意的是,即使在标记的数据不足的情况下,本文方法也可以实现高性能。当标记数据仅占20%至50%时,本文方法依然保持着较高的分类性能,进一步证明了其在实际工业应用中的可行性和有效性。

在未来工作中,可以从以下几个方面来改进本文方法:1) 选择更多的分类器组合来提高半监督模型的性能;2) 搜集更多实际工业中的需求文本,在更大型的工业数据集上进行实验,以验证方法的性能;3) 调查使用不同的词嵌入方法是否会对本文提出的方法产生影响。

参考文献

[1]

李冰, 李智, 杨溢龙. 基于词嵌入和长短期记忆网络的非功能软件需求分类[J]. 广西师范大学学报(自然科学版)202139(5): 110-121. DOI: 10.16088/j.issn.1001-6600.2020111401 .

[2]

LI BLI ZYANG Y L. Classification of non-functional software requirements using word embeddings and long short-term memory[J]. Journal of Guangxi Normal University (Natural Science Edition)202139(5): 110-121. DOI: 10.16088/j.issn.1001-6600.2020111401(Ch ).

[3]

徐煜, 毋国庆, 刘翔, . 一种新的分析和检查需求模型[J]. 武汉大学学报(自然科学版)199844(3): 302-306.

[4]

XU YWU G QLIU Xet al. A formal model for analyzing the SCR-style requirements specifications[J]. Journal of Wuhan University (Natural Science Edition)199844(3): 302-306 (Ch).

[5]

KRASNERH. The cost of poor quality software in the US: A 2018 report[EB/OL]. [2018-10-31].

[6]

肖书, 李振, 唐胜群. 基于软件体系结构的需求分析与设计[J]. 武汉大学学报(自然科学版)199945(5): 665-668.

[7]

XIAO SLI ZTANG S Q. Requirement analysis and design based on software architecture[J]. Journal of Wuhan University (Natural Science Edition)199945(5): 665-668 (Ch).

[8]

YOUNAS MWAKIL KDAYANG Net al. An automated approach for identification of non-functional requirements using Word2Vec Model[J]. International Journal of Advanced Computer Science and Applications201910(8): 539-547. DOI: 10.14569/ijacsa.2019.0100871 .

[9]

倪瑜泽, 彭蓉, 孙栋, . 基于用户评论的潜在演化需求发现方法[J]. 武汉大学学报(理学版)201561(4): 347-355. DOI: 10.14188/j.1671-8836.2015.04.009 .

[10]

NI Y ZPENG RSUN Det al. Potential evolution requirements detect method based on user comments[J]. Journal of Wuhan University (Natural Science Edition)201561(4): 347-355. DOI: 10.14188/j.1671-8836.2015.04.009(Ch ).

[11]

罗贤昌, 薛吟兴. 基于BERT的提示学习实现软件需求精确分类[J]. 信息技术与网络安全202241(2): 39-45. DOI: 10.19358/j.issn.2096-5133.2022.02.007 .

[12]

LUO X CXUE Y X. Accurately classify software requirements using prompt learning on BERT[J]. Information Technology and Network Security202241(2): 39-45. DOI: 10.19358/j.issn.2096-5133.2022.02.007(Ch ).

[13]

CLELAND-HUANG JSETTIMI RZOU X Cet al. The detection and classification of non-functional requirements with application to early aspects[C]//14th IEEE International Requirements Engineering Conference. New York: IEEE Press, 2006: 39-48. DOI: 10.1109/RE.2006.65 .

[14]

MUNAIAH NMENEELY AMURUKANNAIAH P K. A domain-independent model for identifying security requirements[C]//2017 IEEE 25th International Requirements Engineering Conference. New York: IEEE Press, 2017: 506-511. DOI: 10.1109/RE.2017.79 .

[15]

KURTANOVIĆ ZMAALEJ W. Automatically classifying functional and non-functional requirements using supervised machine learning[C]//2017 IEEE 25th International Requirements Engineering Conference. New York: IEEE Press, 2017: 490-495. DOI: 10.1109/RE.2017.82 .

[16]

HUSSAIN IKOSSEIM LORMANDJIEVA O. Using linguistic knowledge to classify non-functional requirements in SRS documents[C]//International Conference on Application of Natural Language to Information Systems. Berlin: Springer, 2008: 287-298. DOI: 10.1007/978-3-540-69858-6_28 .

[17]

ABAD Z S HKARRAS OGHAZI Pet al. What works better? A study of classifying requirements[C]//2017 IEEE 25th International Requirements Engineering Conference. New York: IEEE Press, 2017: 496-501. DOI: 10.1109/RE.2017.36 .

[18]

TIUN SMOKHTAR U ABAKAR S Het al. Classification of functional and non-functional requirement in software requirement using Word2Vec and fast Text[J]. Journal of Physics: Conference Series20201529(4): 042077. DOI: 10.1088/1742-6596/1529/4/042077 .

[19]

LEELAPRUTE PAMASAKI S. A comparative study on vectorization methods for non-functional requirements classification[J]. Information and Software Technology2022150: 106991. DOI: 10.1016/j.infsof.2022.106991 .

[20]

HEY T, KEIM JKOZIOLEK Aet al. NoRBERT: Transfer learning for requirements classification[C]//2020 IEEE 28th International Requirements Engineering Conference. New York: IEEE Press, 2020: 169-179. DOI: 10.1109/RE48521.2020.00028 .

[21]

ALDHAFER OAHMAD IMAHMOOD S. An end-to-end deep learning system for requirements classification using recurrent neural networks[J]. Information and Software Technology2022147: 106877. DOI: 10.1016/j.infsof.2022.106877 .

[22]

KAUR KKAUR P. BERT-CNN: Improving BERT for requirements classification using CNN[J]. Procedia Computer Science2023218(C): 2604-2611. DOI: 10.1016/j.procs.2023.01.234 .

[23]

RAHMAN KGHANI AAHMAD Ret al. Hybrid deep learning approach for nonfunctional software requirements classifications[C]//2023 International Conference on Communication, Computing and Digital Systems. New York: IEEE Press, 2023: 1-5. DOI: 10.1109/C-CODE58145.2023.10139907 .

[24]

ZHOU Z HLI M. Tri-training: Exploiting unlabeled data using three classifiers[J]. IEEE Transactions on Knowledge and Data Engineering200517(11): 1529-1541. DOI: 10.1109/TKDE.2005.186 .

[25]

CASAMAYOR AGODOY DCAMPO M. Semi-supervised classification of non-functional requirements: An empirical analysis[J]. Inteligencia Artificial200913(44): 35-45. DOI: 10.4114/ia.v13i44.1044 .

[26]

DEOCADEZ RHARRISON RRODRIGUEZ D. Automatically classifying requirements from app stores: A preliminary study[C]//2017 IEEE 25th International Requirements Engineering Conference Workshops. New York: IEEE Press, 2017: 367-371. DOI: 10.1109/REW.2017.58 .

[27]

LI C YHUANG L GGE J Det al. Automatically classifying user requests in crowdsourcing requirements engineering[J]. Journal of Systems and Software2018138: 108-123. DOI: 10.1016/j.jss.2017.12.028 .

[28]

YOUNAS MJAWAWI D N AGHANI Iet al. Extraction of non-functional requirement using semantic similarity distance[J]. Neural Computing and Applications202032(11): 7383-7397. DOI: 10.1007/s00521-019-04226-5 .

[29]

LI GZHENG C PLI Met al. Automatic requirements classification based on graph attention network[J]. IEEE Access202210: 30080-30090. DOI: 10.1109/ACCESS.2022.3159238 .

[30]

CHELIGEER CHUANG J WWU G Set al. Machine learning in requirements elicitation: A literature review[J]. Artificial Intelligence for Engineering Design, Analysis and Manufacturing202236: e32. DOI: 10.1017/s0890060422000166 .

[31]

CLELAND-HUANG JMAZROUEE SHUANG Let al. Nfr[EB/OL].[2020-12-30].

[32]

LI W WZHANG W ZJIA X Yet al. Effort-aware semi-supervised just-in-time defect prediction[J]. Information and Software Technology2020126: 106364. DOI: 10.1016/j.infsof.2020.106364 .

[33]

ZHAO K SXU ZZHANG Tet al. Simplified deep forest model based just-in-time defect prediction for Android mobile APPs[J]. IEEE Transactions on Reliability202170(2): 848-859. DOI: 10.1109/TR.2021.3060937 .

[34]

ZHOU Z HFENG J. Deep forest[J]. National Science Review20196(1): 74-86. DOI: 10.1093/nsr/nwy108 .

[35]

BLUM AMITCHELL T. Combining labeled and unlabeled data with co-training[C]//Proceedings of the Eleventh Annual Conference on Computational Learning Theory. New York:ACM. 1998: 92–100. DOI: 10.1145/279943.279962 .

基金资助

国家自然科学基金(62202350)

湖北省重点研发计划项目(2021BAA188)

AI Summary AI Mindmap
PDF (2374KB)

0

访问

0

被引

详细

导航
相关文章

AI思维导图

/