没有合适的资源?快使用搜索试试~ 我知道了~
专家系统与应用:X 1(2019)100001审查用于非功能需求Manal Binkhonain,赵a曼彻斯特大学计算机科学学院,Kilburn Building,Oxford Road,Manchester M13 9PL,United KingdomAr t iclei n f o ab st r act文章历史记录:2018年8月17日收到2019年1月14日修订2019年2月24日接受在线提供2019年保留字:需求工程非功能需求需求文档需求识别需求分类机器学习背景:需求工程(RE)方法的最新发展已经看到了使用机器学习(ML)算法来解决一些困难的RE问题的激增。其中一个问题是需求文档中非功能需求(NFR)的识别和分类。基于ML的方法来解决这个问题已经证明可以产生有希望的结果,比传统的自然语言处理(NLP)方法产生的结果更好。然而,仍然缺乏对这些ML方法的系统理解。方法:本文报告了对24种基于ML的NFR识别和分类方法的系统评价。通过三个研究问题,本文旨在了解这些方法中使用了哪些ML算法,这些算法如何工作以及如何评估它们结果:(1)在这些方法中,发现了16种不同的ML算法,其中监督学习算法最受欢迎。(2)所有24种办法都遵循了确定和分类非森林资源报告的标准程序。(3)查准率和查全率是衡量这些方法性能的最常用的矩阵。结果:审查发现,虽然基于ML的方法在NFR的分类和识别方面具有潜力,但它们面临着一些将影响其性能和实际应用的开放性挑战。影响:该评论呼吁RE和ML研究人员之间的密切合作,以解决现实世界ML系统开发所面临的在可再生能源中使用ML为开发新型专家和智能系统以支持可再生能源任务和流程提供了令人兴奋的机会。这意味着RE正在转变为应用程序现代专家系统。© 2019作者由Elsevier Ltd.发布。这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)的网站上进行了介绍。1. 介绍尽管非功能需求(NFR)被认为是软件项目成功的重要和关键,但在需求工程(RE)社区中仍然没有达成共识,什么是NFR 以及我 们应该如何 引出,记 录和验证它 们(Glinz ,2007)。特别是,在RE过程中应考虑NFR的地方仍然没有达成一致意见:它们应该在功能需求(FR)的引出之前,在FR之后 , 还 是 与 FR 同 时 定 义 ? 像 这 样 的 问 题 仍 然 没 有 答 案(Chung,Nixon,Yu,Mylopoulos,2012)。∗通讯作者。电 子 邮 件 地 址 : manal. postgrad.manchester.ac.uk ( M. Binkhonain ) , 赵 丽 萍 @manchester.ac.uk(L.Zhao).除了这些问题之外,NFR是与FR正交的系统级要求(Yang等人,2012年)。由于需求文档通常围绕FR编写和构建,因此NFR与FR交织在一起(Cleland-Huang、Settimi、Zou、&Solc,2007年)。更复杂的是,在软件架构的设计过程中,架构师需要能够从FR中分离出NFR,这样他们就可以将不同类型的需求转换为不同类型的架构组件(Nuseibeh,2001)。因此,一个重要的RE任务是从需求文档中正确地提取NFR并将其分类。该任 务 是 耗 时 的 并 且 容 易 出 错 ( Cleland-Huang 等 人 , 2007;Rashwan,Ormandjieva,&Witte,2013)。为了支持这一任务,RE研究人员一直在提出自动或半自动的方法 来 识 别 需 求 文 档 中 的 NFR ( Kayed , Hirzalla , Samhan ,Alfayoumi,2009; Ko,Park,Seo,Choi,2007; Rago,Marcos,Diaz-Pace,2013;https://doi.org/10.1016/j.eswax.2019.1000012590-1885/© 2019作者。出版社:Elsevier Ltd这是CC BY许可下的开放获取文章(http://creativecommons.org/licenses/by/4.0/)的网站上进行了介绍。可在ScienceDirect上获得目录列表专家系统与应用:X期刊主页:www.elsevier.com/locate/eswax2M. Binkhonain和L.Zhao/ Expert Systems with Applications:X 1(2019)100001Sharma,Ramnani,Sengupta,2014; Vlas Robinson,2011)。近年来,机器学习(ML)算法已被集成到这些方法中,并报道了有希 望 的 结 果 ( Cleland-Huang et al. , 2007; Knauss , Houmb ,Schneider,Islam,&Jürjens,2011; Mahmoud,2015; Mahmoud&Williams,2016)。然而,目前文献中对这些新兴方法的系统理解是不够的。本文旨在填补这一空白。具体而言,本文报告了对24种当前基于ML的方法的系统性综述。该评论旨在找出哪些ML算法已被用于对NFR进行分类,它们是如何工作和评估的。这些发现将使我们能够确定需要解决哪些挑战,以改善基于ML的方法的状态。我们的审查基于以下研究问题(RQ):• RQ1:在选定的研究中应用了哪些机器学习算法哪几个最受欢迎?• RQ 2:所报告的基于ML的方法遵循哪些过程来识别和分类需求文档中的NFR?• RQ3:使用了哪些措施来评估这些方法中应用的ML算法这些算法的性能结果是什么为了继续我们的报告,剩下的文章组织如下:第2节讨论相关的工作。第3节介绍了审查过程,第4节分析了审查结果。第5节讨论了我们的主要研究发现和面临的挑战。第6节确定了对这一审查的有效性威胁。最后,在第7节中,我们总结了评论的含义和未来研究的一些方向2. 相关评论文献中很少有相关的综述。据我们所知,只有一篇由Meth及其同事进行的综述(Meth,Brhel,Maedche,2013)探索了用于从文本文档中引出自动需求的工具。该综述包括1992年1月至2012年3月期间发表的36项研究。这些研究通过两个视角进行了分析:设计,侧重于每个工具中采用的技术概念;评估,描述了评估这些工具有效性的从设计的角度来看,该审查涉及的研究分为四类:识别FR和NFR、生成模型、通过定义缺陷分析质量要求以及发现关键抽象。此外,该审查还审查了每种工具的自动化程度(全自动或半自动),以及用于生成知识以重用需求或与需求相关的知识的方法。相反,评估视角包含用于评估工具性能的评估方法、概念和度量。自动识别需求是评审的一小部分,这些需求可能是NFR或FR,不管使用什么技术。相比之下,这篇综述只关注通过ML算法识别NFR。3. 审查方法和程序为了回答我们的研究问题,我们采用了Wohlin(2014)提出的雪球方法来识别相关研究。滚雪球是传统系统性文献综述(SLR)方法的替代方法(Kitchenham Charters,2007)。这个想法是使用论文的参考文献列表或论文的引用来系统地识别其他论文。滚雪球Fig. 1. 研究选择的过程基于Wohlin包括两个步骤:向后滚雪球(查看论文的参考文献列表)和向前滚雪球(查看论文实际被引用的引文)。图1描述了滚雪球的过程(Wohlin,2014)。滚雪球方法的起点是确定一组相关论文。 根据开始设置中的每一页,然后可以进行向后和向前滚雪球。在下面的小节中,我们将详细介绍我们如何使用滚雪球方法来识别相关论文以供我们审查。3.1. 起始集可以通过传统的SLR搜索方法来识别起始集,在该方法中,搜索字符串被公式化以查询相关的在线数据库。为了避免对特定出版者的偏见,Wohlin(2014)建议使用Google Scholar搜索起始集。然而,我们发现Google Scholar的搜索引擎过于通用,实际上并不实用。例如,搜索字符串“(“非功能性需求”或NFR)AND classi- tion AND“machine learning”返回了26,700个结果。因此,我们决定在我们已知的在线数据库中进行搜索。我们的检索字符串是通过根据PICOC标准(人群、干预、比较、结局和背景)分解研究问题来定义的,如KitchenhamCharters,2007所建议的。使用布尔运算符连接这些术语;运算符OR用于同义词(替代术语),AND用于连接检索术语,如表1所示。通过手动检查搜索结果,我们选择了120篇论文进行进一步选择。这需要(1)阅读每篇论文的标题和摘要,(2)阅读其余每篇论文的全文。以下入选和排除标准用于研究选择:入选:• 所有的论文,目前的主要研究使用ML算法识别NFR。M. Binkhonain和L.Zhao/ Expert Systems with Applications:X 1(2019)1000013表1PICOC标准,用于定义起始集的搜索字符串人群干预比较结局背景需求工程(RE)的机器学习(ML)方法不适用从自然语言文档中识别和分类非功能需求(NFR)的ML方法需求工程(RE)主要关键词非功能性要求非功能性要 求 或 NFR 或 质量 要 求 或 质 量 属性需求获取、需求分析、需求规格说明需求提取或需求分析或需求规范或需求分类或需求分类机器学习不适用机器学习或监督学习或无监督学习或半监督学习表2初始开始设置相关的文件进行滚雪球。数量作者年份书名出版地点数据库引文计数1Casamayor等人2010年确定非职能文本规范的要求:一种半监督学习方法信息与软件技术杂志科学直接712斯里兰卡和2013年自动提取非功能性软件中的自然语言分析IEEExplore 39文件4Knauss等人2011年支持需求工程师认识安全问题5Gokyer等人2008年非职能所需资源架构问题:ML和NLP处于十字路口6Nguyen等人2015基于规则的目标用例提取文本模型系统需求工程:软件质量软件工程进展欧洲软件工程会议暨软件工程Springer Link 16IEEEExplore 8ACM 7什么更有效?需求分类研究RE会议IEEExplore 4安全需求的自动分类9Malhotra等2016分析和评估安全性软件需求10Lu and Liang 2017自动分类增强应用程序用户评论计算、通信和信息学进展国际会议网络安全的创新与挑战软件工程会议IEEEExplore 3IEEEExplore 3ACM 111Kurtanovic和Maalej2017使用监督机器学习RE会议IEEExplore 112Knauss和Ott 2014(半)自动分类自然语言要求需求工程:软件质量Springer Link 113Deocadez等人2017自动分类要求App Store:初步研究RE会议IEEExplore 0• 如果同一项研究由多篇论文报告,则包括提供研究最详细描述的论文。排除:• 灰色文献和非英语书面文献除外。• 论文目前次要的研究,如调查和文学评论,被排除在外。在选择过程结束时,我们确定了13篇相关论文,然后将其纳入我们的起始集(见表2)。3.2.反向滚雪球对于起始集中的每一篇论文,我们都对论文的参考文献进行了反向雪球搜索。如图1所示,这是一个反向滚雪球的过程.1,具体如下。首先,对每篇参考文献的标题和参考文献上下文进行了审查,在某些情况下,对参考文献的其他部分(如摘要和关键词)进行了评价。参考文献上下文是基于论文中参考文献周围的文本。其次,根据全文阅读应用入选和排除标准。被确定为相关的文件被添加到威廉姆斯所需经费工程会议文件3侯赛因等人2008利用语言学知识进行分类国际应用Springer Link28SRS中的非功能需求从自然语言到信息7Abad等人20178Jindal等人20164M. Binkhonain和L.Zhao/ Expert Systems with Applications:X 1(2019)100001开始设置,并且重复该过程,直到没有新的纸张被识别。在这一过程的四次迭代中,检查了772篇参考文献,其中12篇被确定为表4选定研究的目标。研究目标研究编号研究相关,但只有4个被添加到起始集中,因为其余8个与起始集中的论文重叠。目前,首发阵容包括17张试卷。3.3.向前滚雪球对于起始集中的每一篇论文,我们都对论文的引用进行了正向雪球搜索。在Google Scholar上识别起始集中每篇论文的引文。对每篇引文进行了如下审查:首先,标题、摘要、关键词和参考文献(即,每项研究的文本围绕每个引文的上下文)进行了审查。相关的论文被添加到起始集,这个过程被重复,直到没有新的论文被识别。在四次迭代中,检查了416项研究,确定了28项研究,并根据入选和排除标准将7项相关研究添加到起始集中。在滚雪球式的前瞻性研究结束时,我们选择了24份相关文件作为最终审阅文件。这套论文列在附录A中,编号为S1、S2等,按时间顺序排列3.4.提取和合成数据提取并分类安全需求。识别非正式文档中的NFR,包括用户评论、提交消息和安装手册。从文本文档中提取NFR,使用提取的需求来改进NFR的描述并支持其他RE任务,例如自动生成建筑模型。通过使用不同的文本分类技术来优化NFR分类器,例如特征选择,加权,表示或ML算法本身。S6、S11、4S16、S17S7、S9、S10、8S19、S20、S21、S22、S24S3、S8、S13 3S1、S2、S4、9S5、S12、S14、S15、S18、S23所需的数据是从24项选定的研究中提取的。使用数据提取表(见表3)记录每项研究的数据。提取了两种类型的数据: 回答研究问题所需的数据和显示研究文献信息所需的数据。提取的数据存储在Excel文件中。本综述中使用的数据合成方法基于常数比较法(CCM),这是扎根理论(Glaser,Strauss,&Strutzel,1968)的核心要素,已广泛用于定性分析(Dixon-Woods,Agarwal,Jones,Young,&Sutton,2005;Harding,2013)。CCM(Harding,2013)侧重于发现从研究中提取的数据之间的相似性和差异性。CCM方法可单独使用(Harding,2013)或与总结结合使用。在我们的案例中,我们应用CCM和摘要来合成提取的数据。根据目标(贡献)对24项研究进行分类,见表4。图2显示了2007年至2017年期间发表的选定主要研究的分布。每年发表的研究数量波动很大,2017年(6项研究)和2016年(4项研究)发表的研究数量最多。研究发表在不同的数据库中,包括IEEEEXplore(10项研究)、Springer Link(8项研究)、Sci- ence Direct(3项研究)、ACM Digital Library(2项研究)和Seman- tic Scholar(1项研究)。会议论文与表3数据提取表。数据项描述书目信息作者、书名、出版地点和出版年。研究目标所选论文的主要目的。ML算法用于识别或分类文本需求要求文档文档的来源和大小NFR类型已识别的NFR类型ML方法用于识别NFR的过程和技术。进化方法和结果算法的有效性如何在所选的论文中进行了测量,结果是什么。图二. 从2007年初报告第一项研究到2017年底完成检索的24项选定研究的分布。期刊论文数为18:6。大多数会议论文发表在RequirementsEngineering Conference和Requirements Engineering:Foundationfor Software Quality Conference 上 , 而 期 刊 论 文 则 发 表 在Requirements Engineering Journals 和 Information and SoftwareTechnology上。4. 结果本节介绍了审查结果和回答我们的研究问题.4.1. ML算法(RQ 1)RQ1:在选定的研究中应用了哪些机器学习算法哪几个最受欢迎?在24项选定的研究中,共发现了16种不同的ML算法。这些算法分为三种类型,包括7种监督学习(SL),4种无监督学习(USL)和5种半监督学习(SSL),如表5所示。表5还显示SL是最流行的ML类型,因为它在17项研究(71%)中使用,SVM是最受欢迎的ML算法,在11项研究(45.8%)中发现在下面的小节中,我们将介绍在我们的综述中发现的16个ML算法。4.1.1.监督学习算法在我们的综述中发现了七种SL算法,它们是:• 支持向量机。这些是一组监督学习算法,可用于分类或回归。SVM算法基于统计学习理论和&这些算法寻找M. Binkhonain和L.Zhao/ Expert Systems with Applications:X 1(2019)1000015表5所选研究中使用的ML算法。类型ML算法目的研究ID号研究SLSVMNB创建最佳分隔线,将所有输入数据分类到不同的类中。根据给定的数据计算每个类别的概率S3、S5、S7、S8、S9、S10、S11、S12、S20、S21、S22S1、S4、S6、S7、S11、S19、S20117假设特征之间的独立性。DT模型数据集到分层结构,其中每个叶是一个类。S2、S16、S17、S19、S20 5KNN识别给定输入的测试数据的最近邻居,并根据一定的距离函数预测类别。S9、S11、S14、S20、S21 5MNB类似于NB,但它也考虑了每个输入中单词的频率S7、S10、S23 3RB模型数据集作为规则的集合;左侧包含条件,右侧包含类。S18 1计算频率估计的判别版本。S7 1USLLDA根据一定的 概率确定文档包含的主题。S7、S23、S24 3K-means查找代表数据集的K个聚类中心S15、S23 2HAC将数据集的大多数相似聚类合并到一个大聚类中,直到剩下指定数量的聚类。S15、S23 2根据词的共现模式识别主题。S23 1最大似 然估计在缺失数据的问题。S4 1自我训练通过在每次迭代中将最有把握的标记数据添加到训练集中来增量地主动学习在每次迭代中选择高置信度标签数据集,并手动标记置信度最低的实例。RAS-CO从特征空间中选择一个随机子空间并训练分类器每个子空间。S20 1S21 1S20 1选择包含相关特征子空间的随机子空间S20 1所有接近对方的数据点。这些数据点被称为支持向量,在分类任务中很重要,而其余的训练数据点是可分类的。然后,定义最佳分离线,称为判定边界。这条线使用不同的函数分离类,例如S5中使用的线性核函数,其中该研究的作者声称线性函数在文本内容分类方面优于非线性内核(BennettBredensteiner,2000)。• 朴素贝叶斯(NB)。这是一种基于贝叶斯定理(Lewis,1998)的统计方法NB在某些统计函数的帮助下计算与特定预定义类别相关的输入的概率(Ott,2013)。该算法的输出是概率最高的类别。• 决策树(DT)。这是一种基于逻辑的算法,其中使用一系列if/else语句的比较在分层结构中对数据集进行建模(Alpaydin,2014,Khan,Ba- harudin,Lee,&Khan,2010)。树中的每个节点由包含术语或“叶子”的决策节点组成(Alpaydin,2014),后者由类别标签预测组成(Dobr a,2009)。分支由文档中每个术语的权重标记。• K-最近邻(K-NN)。 这是一种统计方法,用于通过计算测试数据和新实例之间的相似性来预测新输入,通过基于某些距离函数在训练数据集中找到最近的数据点(或数据对象)。K表示最近数据点的数目(即,邻居)(Alpaydin,2014年; Khan等人, 2010年)。• 多项朴素贝叶斯(MNB)。 这是NB的特殊版本;然而,它考虑了每个输入中单词的频率(即要求),而不仅仅是它们的外观(Ott,2013)• 基于规则(RB)。这类似于DT,其中数据集由规则集合建模。然而,RB分类器允许决策空间中的重叠,而DT使用严格的分层方法(Kotsiantis,Zaharakis,Pintelas,2006)。这些规则的左侧由条件组成,而右侧包含类。 这些规则源自数据集(Kotsiantis等人,2006 ,Muhammad &Yan,2015)。• 判别多项朴素贝叶斯(DMNV)。 这是一个区别性的多核武器版本,增加了一个区别性的要素频率估计,以便从数据中有区别地计算适当的频率(Su,Zhang,Ling,&Matwin,2008)。4.1.2.无监督学习算法选定研究中确定的4种USL算法简要描述如下:• 潜在狄利克雷分配(LDA)。这是一种生成概率模型,用于根据特定 概率自 动识别 文档包 含的主 题( Zou , Xu , Yang ,Zhang,&Yang,2017;Blei,Ng,&Jordan,2003)。• K意思是这是一种迭代算法,它将文档随机分类为一定数量的聚类(K)。K-均值迭代地工作以将空间中的每个数据点分配到K -聚类的最近单个聚类中(Abad等人,2017年;马哈茂德&Williams,2016)。• 层次凝聚聚类(HAC)。 这是一种迭代算法,将数据集的相似元素合并到一个大的集群中,直到整个数据集形成一个单一的集群。相比之下对于K-means,HAC不需要预先确定聚类的数量。该算法包括完全连锁、单一连锁和平均连锁三种类型。这些类别之间的区别在于每次迭代用于测量两个聚类之间距离的方法。例如,单一连锁使用最相似的元素对,而完全连锁选择最不相似的元素对;平均连锁将距离定义为数据元素中的对之间 的 平 均 值 ( Abad 等 人 , 2017; Mahmoud& Williams ,2016)。• 双项主题建模(BTM)。这种方法通过以下方式识别主题:对词与词的共现模式进行建模(Yan,Guo,Lan,Cheng,2013)。这样的模式被称为双项,其是在数据集中经常一起出现的无序的词对(Yan等人, 2013年)。4.1.3.半监督学习算法选定研究中确定的五种SSL算法简要描述如下:• 期望最大化(EM)。 这是一种迭代方法,使用概率函数进行最大似然估计6M. Binkhonain和L.Zhao/ Expert Systems with Applications:X 1(2019)100001图3.第三章。 应用ML算法对文本需求文档中的NFR进行分类的一般过程。数据缺失的问题(Nigam,McCallum,Mitchell,2006)。表6在选定的研究中使用的NLP技术进行文本处理。• 自我训练。 它是增量半监督培训(Rosenberg,Hebert,Schneiderman,2005年),其中la-NLP技术研究研究IDbeled数据集用于训练监督分类器,然后用于对未标记的数据进行分类。将最有把握的标记数据添加到训练集,并重新训练分类器(Zhu,2005)。• 主动学习。 其目的是通过仔细选择标记数据集来实现高准确度,这将获得高置信度/准确度。置信度最低的实例将被手动标记并添加到训练集中(Li,Huang,Ge,Luo,Ng,2017)• 随机子空间协同训练方法(RAS-CO)。 它同时使用随机子空间方法和协同训练方法。联合训练由两个分类器组成,它们使用标记数据集的不同部分进行训练(Zhu,2005)。RAS-CO基本上从特征空间中选择一个随机子空间,并训练每个子空间的分类器。 该算法背后的思想是,每个分类器对不同的特征敏感,并且可以补充其他分类器(Wang,Luo,Zeng,2008)。• 相关随机子空间协同训练法(Rel-RASCO)这类似于RAS-CO;然而,该算法的目的是选择一个包含相关特征子空间的随机子空间&4.2.使用ML算法识别NFR的过程(RQ 2)RQ 2:所报告的基于ML的方法遵循哪些过程来识别和分类需求文档中的NFR我们对24项选定研究的分析揭示了应用基于ML的方法来识别和分类文本文档中的NFR的一般过程模式。该过程分为三个主要阶段(图3):文本准备阶段,涉及对输入需求的文本进行预处理并从中选择有意义的特征;学习阶段,涉及应用ML算法;以及评估阶段,涉及评估ML算法对NFR进行分类的方法。在下面的小节中,我们将描述这个一般过程。4.2.1.文本编写阶段训练阶段包括两大步骤:文本预处理、特征选择.这两个步骤描述如下。4.2.1.1.文本预处理。这一步将文本需求文档作为输入,然后应用不同的自然语言处理(NLP)技术来预处理输入文档。 在选定的研究中,共发现了11种NLP技术。表6显示了哪项研究使用了哪种NLP技术。这10种技术简要总结如下。词干11 S1,S2,S3,S4,S5,S8,S15,S17,S18,S19,S20停止字删除10S1,S4,S7,S9,S13,S15,S17,S19,S22,S24 POS 7 S2,S3,S5,S9,S18,S22,S23标记化7 S1,S2,S6,S8,S11,S16,S18词形化6 S9,S13,S15,S19,S21,S22 N-gram 4 S5,S10,S12,S22标准化2 S4、S24正则表达式2 S5,S23Dependency Parsing 2S9,S13实体标记1 S23时间标记1 S23• 标记化:将一个句子分割成一系列单词(Khan例如, 2010年)。• N-gram:将每个给定的字符串分成随后的N个项目,其中N可以是单词,字母或语句(Cavnar& Trenkle,1994)。• 停用词去除:去除句子中的助动词(be、do和have)、连词(and、or)和冠词(the、a和an)(Khan et al., 2010年)。• 词干化:将派生(或有时派生)词还原为词干、词根或词根形式。例如,单词• Lemmatization:每个词的确定词元(动词的单数形式和名词和形容词的单数形式)。例如,单词• 词性标记:为句子中的名词、动词和介词分配标记(Casamayor,Godoy,Campo,2010)。• 正则表达式:匹配描述字符串模式的已定义表达式。该表达式包含专门的符号,例如字符(^)表示“ 不 ” ( Abad 等 人 ,2017年)。• DependentParsing:识别句子中单词之间的语法关系,以识别句子中的重要部分,忽略不重要的部分(De Marneffe&Manning,2008)。• 命名实体识别(NER):为命名实体分配预定义的类别(Abadet al., 2017年)。• 时间标记:识别和规范时间表达(Abad等人, 2017年)。4.2.1.2.特征选择。该步骤将预处理的需求文档转换为ML算法可以理解的格式(Zhang,Zhang,Dong,Tan,2005)。在该步骤中,文档被表示为项的向量,其中这些项的值经由不同的技术被加权,包括二进制(即,布尔)和非二进制方法(Khan等人,2010; Zhang等人,2005年)。在二进制方法中,如果文档包含单词,则值为1,如果不包含单词,则值为0(Zhang等人,2005年)。两项研究S6和S23采用了这种方法。在非二进制M. Binkhonain和L.Zhao/ Expert Systems with Applications:X 1(2019)1000017方法,使用不同的技术计算术语的重要性,例如:• Bag of Words:这个方法计算每个单词在给定文档中的频率。(Khan等人,2010)该方法在六项研究中采 用:S3、S7、S17、S19、S21和S23。• 词频-逆文档频率(TF-IDF):该方法计算单词在文档中出现的频率,该频率是单词在语料库中出现次数的倒数(Agarwal&Mittal , 2014; Ikonomakis , Kotsiantis , &Tampakas , 2005;Khan等人,2010; Zhang等人,2005年)。7项研究使用了TF-IDF方法:S1、S4、S16、S19、S20、S21和S22。下一步是特征选择,其目的是通过去除不相关的特征并保留那些得分最高的特征来减少特征的数量(Agarwal& Mittal,2014; Ikonomakis等人,2005; Korde& Mahender,2012)。在回顾的研究中广泛用于特征选择的方法包括信息增益(S16,S5 , S11 ) 和 卡 方 ( S19 ) ( Agarwal& Mittal , 2014;Ikonomakis等人,2005; Korde& Mahender,2012)。4.2.2.预定义数据如图3所示,预先定义的数据是使用ML算法构建NFR分类器的先决条件。SL算法需要标记的数据集,而USL算法需要一组预定义的类别或关键字。与SL算法类似,SSL算法也需要标记数据集。在这里,我们分析了所选研究中使用的数据集。4.2.2.1.监督学习。SL需要一组已正确分类到其类别的NFR。 所选研究中使用的数据集来自三个来源:学术-由学术学生和研究人员编写的要求,工业-用于描述或模拟工业产品和非正式-由最终用户在开源社区(sourceforge.net)中编写的评论,评论,帖子和请求。所选研究中使用学术数据集最多(11/24,46%),其次是工业数据集(5/24,20%),然后是非正式数据集(4/24,16%)。用于训练数据集的要求数量在所选研究中差异很大。例如,S16使用58个要求(分为四类)来训练其数据(Jindal,Malhotra,&Jain,2016),S11使用10,963(七类)。主要类别采用SL的选定研究中提及的NFR见表7。在所有选定的研究中手动标记数据集。因此,存在两种可能的威胁:标记过程的主观性(即,(注:标签不正确。有两个步骤可以避免这些威胁:由多个人注释数据(即,注释者)和应用用于测量注释者之间的评价者间一致性的验证方法。只有7项研究采用了这些验证方法;然而,只使用了两种方法。第一个是科恩第二种方法使用第三个注释器(S7、S11、S19和S20)解决两个注释器之间的差异。4.2.2.2.无监督学习USL算法只是将文本文档分成不同的部分或类别。因此,一般来说,USL算法不需要任何先决条件,其中给定文档基于其内容而分类,而没有任何预定义的类别。然而,一些预先定义的需要数据来对NFR进行分类,例如NFR类别。使用数据不是执行USL算法所必需的;然而,它提高了NFR的分类性能。例如,S23使用没有预定义数据的USL,与使用预定义数据的其他研究相比,其性能最差。这些研究S7、S15和S24使用了预先定义的数据,包括与领域无关的词表。S7确定了三组不同的词表,它们来自不同的来源,例如软件质量测量本体和ISO/IEC 9126- 1(2001)。分类学。S24使用了S7提出的一个名为“exp 2”的词汇表,并包含了从ISO/IEC 9126-1(2001)中提取的六个高级NFR和每个类别的相关术语。S15创建了包含NFR类别及其代表词的列表。4.2.3.学习阶段该阶段涉及ML算法的应用,以从预处理的文本中识别NFR。不同类型的ML算法有不同的应用过程,描述如下。4.2.3.1.应用SL算法。在这个阶段,SL算法使用NFR的标记数据集,这些数据集已按类型手动分类,以学习每种NFR类型的某些参数(特征,模式或功能)。换句话说,这些算法找到了NFR语句(输入)和它们的标签(输出)之间的关系。然后,他们将这些信息用于进一步的NFR分类任务。在使用SL算法的17项研究中,只有2项使用了一种以上的ML算法。S13使用两个单独的分类器(一个垂直,一个水平)来减少分层分类所需的数据集大小。S11使用由三个SL分类器组成的组合分类器来提高KNN分类器的性能。4.2.3.2.应用USL算法。这些算法使用输入需求文档,通过查看输入(即文本需求)本身之间的关系来驱动结构。在相关的初级研究中,只有四个(S7,S15,S23和S24)使用这种类型的学习。S7、S15和S24使用包括预定义的NFR类别的关键字列表来确定哪个聚类属于哪个NFR类别。尽管S7的作者声称他们使用半监督学习,因为使用的关键字不是来自要分析的数据集,但我们将他们的工作归类为无监督学习,因为他们使用的方法与S15中提出的方法非常相似S24的。此外,关键词的使用是必要的,以确定分类和提高性能。 使用关键词的三项研究显示出比S23更好的性能,S23没有使用额外的数据。4.2.3.3.应用SSL算法。 这些算法迭代地应用SL算法与标记和未标记的数据。标记的数据用于学习分类器对进一步的未标记需求进行分类。三个主要研究中有两个使用这种算法来提高分类器的准确度; S4可选地使用从分析师那里收到反馈的要求作为标记要求,而S21使用主动学习,手动将每次迭代中最不确定的输出分类为训练集,直到达到可接受的准确度。然而,S20使用该算法对AppStore内的用户评论中的NFR进行4.2.4.评估阶段在此阶段,使用各种技术对NFR分类器进行评估,以确定开发分类器8M. Binkhonain和L.Zhao/ Expert Systems with Applications:X 1(2019)100001表7NFR类别及其在选定研究中的识别。研究ID安全性相关性能相关可用性相关S1安全性能、可维护性、可用性、可扩展性、法律可用性、可操作性、外观和感觉S2未提供S3完整性性能、可维护性、可移植性、可靠性、可部署性。S4安全性能、可维护性、可用性、可扩展性、合法性、可移植性S5安全性能、可用性、可扩展性、可维护性、法律、Palm操作可用性可用性、功能性、操作性、外观和感觉可用性、可操作性、外观和感觉、适应性S6安全要求、安全相关句子和安全相关句子。N/A N/AS7完整性、安全性可维护性、可移植性、效率、可靠性、互操作性、可测试性、可追溯性、准确性、可修改性、模块性、正确性、性能、可验证性可用性、功能性、可理解性、灵活性S8安全性高,可靠性好。功能性、可用性/实用性S9安全、访问控制、审计、隐私可用性、容量和性能,合法性、可维护性、可恢复性、可靠性。可用性,外观和感觉,可操作性。S10未提供S11确认、完整性、身份验证、责任、隐私不适用S12未提供未提供S13未提供未提供S14安全性、性能、可靠性、可扩展性S15安全性、保密性能、准确性、可移植性、合法性、可靠性、可用性、互操作性。无障碍S16认证-授权、访问控制、密码学-加密、数据完整性。S17认证-授权、访问控制、密码学-加密、数据完整性N/A N/AN/A N/AS18不适用效率(时间行为、资源利用)功能性(适用性、准确性、安全性)、可用性(可操作性、可理解性、吸引力)。S19 N/A可靠性、便携性、性能和可用性S20不适用可靠性、性能、可支持性和功能、可用性,S21安全可靠性、性能、可靠性、能力可用性,系统接口S22安全性能可用性、可操作性S23安全可用性、可维护性、可操作性、性能、可扩展性、容错性和可移植性、法律许可S24不适用可靠性、效率、可维护性、便携性可用性,外观和感觉。功能性、可用性有效性评价技术和结果在第4.3节中讨论。不同的ML算法使用不同的策略来评估NFR分类器;它们在文献中描述如下:4.2.4.1.评估STL算法。这些算法的输入数据集分为两个主要部分。第一部分用于学习阶段(在4.2.2节中讨论),另一部分用于测试阶段。在训练期间看不到测试数据集-检查阶段,以确保分类不会因错误查看的数据而产生偏差。然后,将谓词标签与原始标签进行比较,以衡量NFR分类器大约四分之三的主要研究(24项中的17项)使用K倍交叉验证策略来增强NFR分类器的准确性。在这种策略中,数据被随机划分为各种K-折叠。每个K-fold具有相同的数据大小;一个用于测试,而其他用于训练。学习算法运行K次,并计算K个结果的平均值以产生单个结果。4.2.4.2.评估USL算法。与SL算法相比,USL算法的评估比较棘手,因为没有预先定义的标签来衡量NFR是否被正确分类。因此,使用这些算法的主要研究(S7,S15和S23)创建了测试数据集,包
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功