亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于系統(tǒng)模型的用戶評(píng)論中非功能需求的自動(dòng)分類

        2022-11-09 07:12:44李雪瑩王田路
        電子學(xué)報(bào) 2022年9期
        關(guān)鍵詞:分類深度用戶

        李雪瑩,王田路,梁 鵬,王 翀

        (武漢大學(xué)計(jì)算機(jī)學(xué)院,湖北武漢 430072)

        1 引言

        隨著移動(dòng)設(shè)備的迅速普及,移動(dòng)應(yīng)用程序和應(yīng)用商店在人們?nèi)粘I钪械膽?yīng)用越來(lái)越廣泛.移動(dòng)應(yīng)用庫(kù)中包含了大量的用戶評(píng)論,這些用戶評(píng)論包含用戶需求、系統(tǒng)故障以及使用體驗(yàn)等信息,被認(rèn)為是獲取需求的重要來(lái)源.抽取、識(shí)別和分類存在于用戶評(píng)論中的需求,不僅可以幫助開發(fā)人員維護(hù)現(xiàn)有系統(tǒng),還能快速、準(zhǔn)確地定位新的用戶需求,從而添加現(xiàn)有系統(tǒng)缺乏的功能.然而,移動(dòng)應(yīng)用商店每天都有海量的用戶評(píng)論產(chǎn)生,人工處理大量自然語(yǔ)言文本需要耗費(fèi)極大的人力和時(shí)間成本,從而使得從用戶評(píng)論中快速有效識(shí)別和分類需求成為挑戰(zhàn)問題.

        目前從用戶評(píng)論中獲取需求的相關(guān)研究主要關(guān)注軟件系統(tǒng)功能方面的需求.然而,最近的需求工程領(lǐng)域工業(yè)調(diào)研(Naming the Pain in Requirements Engineerin,NaPiRE)結(jié)果表明,“不清楚/無(wú)法度量”的非功能需求是涉眾在開發(fā)過(guò)程中最棘手的問題之一[1].用戶評(píng)論中的非功能需求與軟件質(zhì)量密切相關(guān),在軟件系統(tǒng)的開發(fā)和維護(hù)過(guò)程中起到關(guān)鍵作用.將非功能需求進(jìn)行分類,可以幫助開發(fā)者更好地理解系統(tǒng)的非功能需求并發(fā)現(xiàn)系統(tǒng)中存在的主要質(zhì)量問題.

        Broy[2,3]提出根據(jù)結(jié)構(gòu)化的系統(tǒng)模型對(duì)需求進(jìn)行分類.該方法根據(jù)是否描述了系統(tǒng)的行為屬性,將需求分為行為型需求和表示型需求.Eckhardt[4]認(rèn)為基于Broy提出的系統(tǒng)模型能夠?qū)π枨筮M(jìn)行有效的分類.該系統(tǒng)模型提供了明確清晰的系統(tǒng)概念,可以根據(jù)系統(tǒng)屬性精準(zhǔn)地指定需求類別,使需求的表示更加具體和準(zhǔn)確.

        基于上述研究背景,本文的主要關(guān)注點(diǎn)是:基于系統(tǒng)模型將移動(dòng)應(yīng)用用戶評(píng)論中的非功能需求自動(dòng)分類為行為型需求和表示型需求.Lu等人[5]基于ISO/IEC 25010(International Organization for Standardization/International Electrotechnical Commission)軟件質(zhì)量需求標(biāo)準(zhǔn)[6],已對(duì)4000條iBooks和WhatsApp用戶評(píng)論進(jìn)行了分類,最終得到了1278條非功能需求用戶評(píng)論.本文以上述1278條非功能需求用戶評(píng)論為數(shù)據(jù)集,從系統(tǒng)模型的角度出發(fā),通過(guò)人工標(biāo)注的方式將非功能需求分類為行為型需求和表示型需求.之后,分別使用了機(jī)器學(xué)習(xí)算法和深度學(xué)習(xí)算法對(duì)人工標(biāo)記得到的數(shù)據(jù)集進(jìn)行自動(dòng)分類.最后,評(píng)估和比較了機(jī)器學(xué)習(xí)模型和深度學(xué)習(xí)模型在自動(dòng)分類非功能需求時(shí)的性能和時(shí)間消耗.本文的主要貢獻(xiàn)包括3個(gè)方面:(1)提供了基于系統(tǒng)模型將非功能需求標(biāo)記為“行為型需求”和“表示型需求”的實(shí)驗(yàn)數(shù)據(jù)集[7],為這類研究提供了公共數(shù)據(jù);(2)將機(jī)器學(xué)習(xí)算法和深度學(xué)習(xí)算法應(yīng)用于基于系統(tǒng)模型的非功能需求自動(dòng)分類,分別得到了性能最優(yōu)的機(jī)器學(xué)習(xí)模型組合(SVM與TF-IDF組合)和深度學(xué)習(xí)模型組合(TextCNN(Text Convolutional Neural Networks)與Word2Vec組合);(3)評(píng)估和比較了機(jī)器學(xué)習(xí)和深度學(xué)習(xí)在將非功能需求自動(dòng)分類時(shí)的性能和時(shí)間消耗差異,為非功能需求的自動(dòng)分類提供了最佳方法和使用建議.

        2 相關(guān)工作

        2.1 需求分類的方式

        軟件需求分類是需求工程領(lǐng)域的重要任務(wù)之一.最常見的分類方法是將需求分為功能需求和非功能需求.盡管很多研究采納了這種分類方式,但是因?yàn)椤胺枪δ苄枨蟆钡亩x較為模糊,對(duì)于什么是“非功能需求”以及如何獲取、記錄和驗(yàn)證它們,需求工程界尚未達(dá)成共識(shí)[8].Glinz[8]指出,將需求分類為功能需求和非功能需求,將會(huì)導(dǎo)致定義問題、分類問題和表示問題.為了解決上述問題,作者提出應(yīng)該基于“關(guān)注點(diǎn)”將需求分為功能需求、性能需求、特定質(zhì)量需求和約束.此外,很多研究關(guān)注非功能需求的分類.最常用的非功能需求分類是ISO/IEC 25010[6]標(biāo)準(zhǔn)中的質(zhì)量模型定義的8大類質(zhì)量特性類別.然而該標(biāo)準(zhǔn)中對(duì)非功能需求進(jìn)行分類存在以下問題:(1)非功能需求通常沒有被量化,不易測(cè)試;(2)在產(chǎn)品規(guī)劃過(guò)程中沒有考慮非功能需求;(3)項(xiàng)目中主要關(guān)注功能需求,非功能需求通常不被記錄;(4)該分類過(guò)于抽象,難以為開發(fā)者的分類需求提供指導(dǎo)[4].盡管存在多種非功能需求的分類方式,但非功能需求沒有被集成到軟件開發(fā)過(guò)程中,且缺乏一種普遍接受的方式來(lái)提取、記錄和分析非功能需求[4].

        2.2 需求的自動(dòng)分類方法

        還有一些研究使用自動(dòng)化方法對(duì)需求進(jìn)行分類.Abad等人[9]使用決策樹(Decision Tree,DT)將需求分為功能需求和非功能需求.還使用LDA(Latent Dirichlet Allocation)、K-means、樸素貝葉斯(Na?ve Bayes,NB)等方法將非功能需求進(jìn)一步分類為可用性、可維護(hù)性、性能.結(jié)果表明,NB分類器在對(duì)非功能需求進(jìn)行分類時(shí)表現(xiàn)最好.Li等人[10]使用k-Nearest Neighbor、NB、SVM將需求分類為安全性、可靠性、性能、系統(tǒng)接口等子類別.結(jié)果表明,SVM在對(duì)需求進(jìn)行分類時(shí)表現(xiàn)最好.

        2.3 用戶評(píng)論分類

        目前有很多研究使用自動(dòng)化方法對(duì)用戶評(píng)論進(jìn)行分類.Stanik等人[11]分別使用機(jī)器學(xué)習(xí)和深度學(xué)習(xí)方法將用戶評(píng)論分類為問題報(bào)告、詢問評(píng)論和無(wú)關(guān)評(píng)論.結(jié)果表明,機(jī)器學(xué)習(xí)模型與深度學(xué)習(xí)模型在分類用戶評(píng)論時(shí)性能相當(dāng).Lu等人[5]將用戶評(píng)論分為非功能需求(可靠性、可用性、可移植性和性能)、功能需求以及其 他.作 者 將BoW(Bag-of-Words)、TF-IDF(Term Frequency-Inverse Document Frequency)、CHI2(Chi Squared)和AUR-BoW(Augmented User Reviews-Bagof-Words)與NB、J48和Bagging結(jié)合對(duì)用戶評(píng)論進(jìn)行分類.其中,AUR-BoW針對(duì)訓(xùn)練集中的用戶評(píng)論,利用與評(píng)論相似的詞語(yǔ)對(duì)用戶評(píng)論進(jìn)行擴(kuò)展,將擴(kuò)展后的句子作為BoW的輸入.研究結(jié)果表明,AUR-BoW與Bagging結(jié)合起來(lái)的分類效果最佳.Jha等人[12]從用戶評(píng)論中提取非功能需求并將其分為可靠性、可用性、性能和可支持性,使用NB和SVM對(duì)非功能需求進(jìn)行分類.結(jié)果表明,SVM的性能優(yōu)于NB分類器的性能.

        在本文中,我們從系統(tǒng)模型的視角對(duì)非功能需求進(jìn)行分類,并在第3節(jié)對(duì)使用的技術(shù)進(jìn)行了詳細(xì)的介紹.

        3 相關(guān)理論和技術(shù)

        3.1 基于系統(tǒng)模型的非功能需求分類

        Broy[2,3]提出了一種基于結(jié)構(gòu)化的系統(tǒng)模型對(duì)需求進(jìn)行分類的方法.在系統(tǒng)模型中,系統(tǒng)由接口(Interface)、體系結(jié)構(gòu)(Architecture)和狀態(tài)(State)3個(gè)基本視圖構(gòu)成,并將接口行為作為主要概念.系統(tǒng)的行為屬性包括系統(tǒng)接口上的行為以及接口行為在體系結(jié)構(gòu)和狀態(tài)轉(zhuǎn)換方面的內(nèi)部行為(例如點(diǎn)擊系統(tǒng)交互界面的響應(yīng)時(shí)間),系統(tǒng)的非行為屬性則關(guān)注系統(tǒng)在語(yǔ)法構(gòu)成上和技術(shù)層面上的表示、描述、構(gòu)造、實(shí)現(xiàn)和執(zhí)行方式(例如系統(tǒng)實(shí)現(xiàn)要求使用的編程語(yǔ)言).基于系統(tǒng)模型的需求分類方法根據(jù)需求是否描述了系統(tǒng)的行為屬性,將其分為“行為型需求”和“表示型需求”.其中“行為型需求”不僅包含了傳統(tǒng)意義上的功能需求,還包含了描述系統(tǒng)行為的質(zhì)量需求;“表示型需求”包含從語(yǔ)法構(gòu)成和技術(shù)層面關(guān)注系統(tǒng)表示、描述、構(gòu)造、實(shí)現(xiàn)和執(zhí)行方式的質(zhì)量需求.圖1給出了基于系統(tǒng)模型對(duì)非功能需求用戶評(píng)論進(jìn)行分類的具體方法.

        圖1 基于系統(tǒng)模型的非功能需求分類

        基于系統(tǒng)模型將需求分類,為需求分類提供了新的視角,打破了實(shí)踐中功能需求與非功能需求的分離[4].從實(shí)踐角度來(lái)看,這種分類方法使得非功能需求可以像功能需求一樣被提取、分析和記錄.Eckhardt[4]基于Broy提出的分類模型對(duì)非功能需求進(jìn)行了分類.結(jié)果表明,大多數(shù)所謂的“非功能需求”實(shí)際上像功能需求一樣都描述了系統(tǒng)的行為,因此被定義為“非功能需求”并不合適.王田路等人發(fā)現(xiàn)[13],在用戶評(píng)論的非功能需求中超過(guò)70%的非功能需求描述了系統(tǒng)的行為,因此它們?cè)诒举|(zhì)上不能被統(tǒng)一認(rèn)為是“非功能”的.

        為了解決傳統(tǒng)需求分類存在的問題,本文基于Broy提出的系統(tǒng)模型對(duì)需求進(jìn)行分類.本文首先基于傳統(tǒng)的需求分類模型從用戶評(píng)論中提取非功能需求評(píng)論.之后基于系統(tǒng)模型的需求分類方法,根據(jù)用戶評(píng)論是否描述了系統(tǒng)的行為屬性,將其分類為“行為型需求”和“表示型需求”,來(lái)幫助我們進(jìn)一步理解非功能需求的本質(zhì).需要說(shuō)明的是,本文沒有關(guān)注用戶評(píng)論中的功能需求,原因是在基于系統(tǒng)模型的需求分類方式中,認(rèn)為功能需求屬于“行為型需求”.表1提供了用戶評(píng)論句子中“行為型需求”和“表示型需求”的示例(更多分類實(shí)例,可參見本文的實(shí)驗(yàn)數(shù)據(jù)集[7]).在王田路等人前期人工標(biāo)注和分析工作的基礎(chǔ)上[13],本文結(jié)合機(jī)器學(xué)習(xí)和深度學(xué)習(xí)領(lǐng)域的分類算法實(shí)現(xiàn)了基于系統(tǒng)模型對(duì)用戶評(píng)論中非功能需求的自動(dòng)分類.該自動(dòng)分類方法可以輔助需求工程師和系統(tǒng)涉眾了解和分析用戶評(píng)論中非功能需求的本質(zhì)以及非功能需求所描述的系統(tǒng)屬性.

        表1 用戶評(píng)論中行為型需求和表示型需求的示例

        3.2 文本特征提取技術(shù)

        BoW被廣泛應(yīng)用在文本分類任務(wù)中.該模型根據(jù)語(yǔ)料庫(kù)所有文檔中的單詞構(gòu)造一個(gè)無(wú)序字典,將字詞在文檔中出現(xiàn)的頻率作為文檔特征.TF-IDF用來(lái)評(píng)估某一字詞對(duì)于某個(gè)文檔集合或語(yǔ)料庫(kù)中的一個(gè)文檔的重要程度.如果某字詞在一個(gè)文檔中頻率出現(xiàn),在其他文檔中很少出現(xiàn),則認(rèn)為此字詞具有很好的類別區(qū)分能力,適合用來(lái)分類.

        3.3 監(jiān)督式機(jī)器學(xué)習(xí)

        監(jiān)督式機(jī)器學(xué)習(xí)算法接受已知的輸入數(shù)據(jù)集合(訓(xùn)練集)和已知的對(duì)數(shù)據(jù)的響應(yīng)(輸出),然后訓(xùn)練一個(gè)模型,為新輸入數(shù)據(jù)的響應(yīng)生成合理的預(yù)測(cè).Jha等人使用機(jī)器學(xué)習(xí)算法對(duì)需求進(jìn)行自動(dòng)分類時(shí)[12],結(jié)果表明SVM的性能優(yōu)于NB.Abad[9]等人在使用LDA、Kmeans、NB等方法對(duì)非功能需求分類時(shí),結(jié)果表明NB的表現(xiàn)最好.為了確定表現(xiàn)最好的分類器,我們選擇和比較了文本分類領(lǐng)域具有代表性的監(jiān)督式機(jī)器學(xué)習(xí)算法NB、LR、DT、RF和SVM.通過(guò)學(xué)習(xí)已標(biāo)記的訓(xùn)練集分別訓(xùn)練5種分類器模型,再將訓(xùn)練好的模型應(yīng)用到測(cè)試集中,以實(shí)現(xiàn)對(duì)非功能需求的自動(dòng)分類.

        3.4 詞嵌入技術(shù)

        Word2Vec[14]是詞嵌入(Word Embedding)的方式之一.它使用無(wú)監(jiān)督方法,通過(guò)學(xué)習(xí)和訓(xùn)練文本,可以把對(duì)文本內(nèi)容的處理簡(jiǎn)化為向量運(yùn)算,使用詞向量的方式表征詞語(yǔ)的語(yǔ)義信息.使用Word2Vec工具訓(xùn)練得到的詞向量可以有效度量詞語(yǔ)與詞語(yǔ)之間的相似性.FastText[15]用于從大規(guī)模語(yǔ)料庫(kù)中學(xué)習(xí)單詞的高維向量表示.Word2Vec沒有考慮單詞的內(nèi)部結(jié)構(gòu),直接學(xué)習(xí)整個(gè)單詞的詞向量.而FastText首先計(jì)算子串的詞向量,最后將單詞所有子串的詞向量組合得到單詞的詞向量.因此FastText能夠識(shí)別未出現(xiàn)在語(yǔ)料庫(kù)中的單詞.

        3.5 神經(jīng)網(wǎng)絡(luò)模型

        通過(guò)多層神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)數(shù)據(jù)的特征,深度學(xué)習(xí)將數(shù)據(jù)轉(zhuǎn)換為有利于分類任務(wù)的更高效的數(shù)字表示形式.卷積神經(jīng)網(wǎng)絡(luò)(Conventional Neural Network,CNN)是深度學(xué)習(xí)領(lǐng)域代表性的算法模型,CNN由輸入層、卷積層、激活函數(shù)、池化層和全連接層組成,通過(guò)反向傳播算法進(jìn)行參數(shù)優(yōu)化.TextCNN模型[16]是代表性的CNN網(wǎng)絡(luò)結(jié)構(gòu),與傳統(tǒng)的CNN相比,TextCNN在結(jié)構(gòu)上無(wú)明顯變化.其流程是:先將文本分詞,通過(guò)詞嵌入(Word Embedding)得到詞向量,將詞向量進(jìn)行卷積、池化操作,最后將輸出外接到Softmax層做n分類.RCNN模型[17]將單詞的上下文信息和單詞本身的向量進(jìn)行整合以得到該單詞的詞向量.其流程是:首先通過(guò)詞嵌入得到詞向量.然后使用一個(gè)具有循環(huán)結(jié)構(gòu)的隱藏層捕獲單詞的上下文信息,重新計(jì)算單詞向量.再對(duì)詞向量進(jìn)行池化操作,以捕獲文本的關(guān)鍵單詞.最后將輸出外接到Softmax層做n分類.CharCNN[18]模型將文本作為一種原始字符級(jí)信號(hào)來(lái)處理.其流程是:首先將一系列編碼字符作為輸入,使用one-hot編碼對(duì)字符進(jìn)行向量化操作.將文本用字符向量表示,再用字符向量得到文檔向量.之后對(duì)文檔向量進(jìn)行卷積、池化操作后,將輸出外接到全連接層做n分類.本文分別使用Word2Vec和FastText模型將單詞轉(zhuǎn)化為詞向量,作為TextCNN和RCNN模型的輸入.CharCNN本身基于字符計(jì)算向量,因此無(wú)需以Word2Vec和FastText詞向量作為輸入.

        4 研究設(shè)計(jì)

        4.1 研究目標(biāo)與研究問題

        本文的研究目標(biāo)是:基于系統(tǒng)模型,將移動(dòng)應(yīng)用用戶評(píng)論中的非功能需求自動(dòng)分類為行為型需求和表示型需求.為了實(shí)現(xiàn)該目標(biāo),我們使用了機(jī)器學(xué)習(xí)和深度學(xué)習(xí)算法,并提出了以下5個(gè)研究問題(Research Question,RQ).

        RQ1:機(jī)器學(xué)習(xí)模型中,在將用戶評(píng)論中的非功能需求自動(dòng)分類為行為型需求和表示型需求時(shí),哪種特征提取技術(shù)(TF-IDF、BoW)表現(xiàn)更好?

        在自動(dòng)分類任務(wù)中,文本通常被表示為數(shù)字向量.不同的特征提取技術(shù)關(guān)注的重點(diǎn)和使用的算法通常不同,因此可能導(dǎo)致不同的分類效果.本文使用BoW和TF-IDF來(lái)提取文本特征.此RQ的目的是找到適合本文自動(dòng)分類任務(wù)的特征提取技術(shù).

        RQ2:在將用戶評(píng)論中的非功能需求自動(dòng)分類為行為型需求和表示型需求時(shí),哪種機(jī)器學(xué)習(xí)方法(NB、LR、DT、RF、SVM)性能最好?

        不同的分類方法在相同的分類任務(wù)中,可能導(dǎo)致不同的分類性能.不同的機(jī)器學(xué)習(xí)算法適用于不同的分類場(chǎng)景.本文使用5種常用的分類器進(jìn)行實(shí)驗(yàn).此RQ的目的是找到在本文的自動(dòng)分類任務(wù)中,獲得最佳性能的分類器.

        RQ3:深度學(xué)習(xí)模型中,在將用戶評(píng)論中的非功能需求自動(dòng)分類為行為型需求和表示型需求時(shí),哪種詞嵌入模型(Word2Vec、FastText)表現(xiàn)更好?

        深度學(xué)習(xí)模型的輸入為詞嵌入或字符嵌入.不同詞嵌入技術(shù)在計(jì)算詞向量時(shí)依據(jù)的算法是有差異的.Word2Vec和FastText被廣泛應(yīng)用于自然語(yǔ)言處理任務(wù)中.此RQ的目的是找到適合本文自動(dòng)分類任務(wù)的詞向量技術(shù).

        RQ4:在將用戶評(píng)論中的非功能需求自動(dòng)分類為行為型需求和表示型需求時(shí),哪種深度學(xué)習(xí)模型(TextCNN、RCNN、CharCNN)表現(xiàn)最好?

        不同的深度學(xué)習(xí)模型結(jié)構(gòu)有所差異,可能導(dǎo)致不同的分類性能.TextCNN和RCNN模型基于單詞表示文本,CharCNN模型利用字符表示文本.本文使用3種流行的深度學(xué)習(xí)算法進(jìn)行實(shí)驗(yàn).此RQ的目的是,找到在本文的自動(dòng)分類任務(wù)中,獲得最佳性能的深度學(xué)習(xí)模型.

        RQ5:在將用戶評(píng)論中的非功能需求自動(dòng)分類為行為型需求和表示型需求時(shí),從性能和時(shí)間消耗2個(gè)維度比較機(jī)器學(xué)習(xí)模型與深度學(xué)習(xí)模型,哪種模型表現(xiàn)更好?

        深度學(xué)習(xí)模型已被應(yīng)用于自然語(yǔ)言處理領(lǐng)域,在文本分類任務(wù)中都表現(xiàn)出了非常好的性能.本文使用TextCNN和RCNN模型以及CharCNN模型自動(dòng)將非功能需求進(jìn)行分類.此RQ的目的是,從性能和時(shí)間消耗2個(gè)維度綜合評(píng)估和比較機(jī)器學(xué)習(xí)模型和深度學(xué)習(xí)模型在自動(dòng)分類非功能需求時(shí)的表現(xiàn)差異.

        研究問題(RQs)間的關(guān)聯(lián):RQ1和RQ2關(guān)注機(jī)器學(xué)習(xí)算法中,不同階段使用不同技術(shù)導(dǎo)致的分類結(jié)果的性能差異.RQ1比較不同的特征提取技術(shù)的性能差異.RQ2則重在關(guān)注不同分類器的性能差異.RQ3和RQ4關(guān)注深度學(xué)習(xí)算法中,不同階段使用不同技術(shù)所導(dǎo)致的分類結(jié)果的性能差異.RQ3比較不同詞向量模型初始化詞嵌入層時(shí)的性能差異.RQ4則關(guān)注不同深度學(xué)習(xí)模型本身的性能差異.RQ5從性能和時(shí)間消耗2個(gè)維度綜合比較了機(jī)器學(xué)習(xí)模型和深度學(xué)習(xí)模型在分類非功能需求時(shí)的性能差異.

        4.2 數(shù)據(jù)收集

        本文所用的數(shù)據(jù)來(lái)源于App Store和Google Play中閱讀類和通訊類的2個(gè)移動(dòng)應(yīng)用程序iBooks和WhatsApp.選擇這2個(gè)移動(dòng)應(yīng)用程序的原因有以下2點(diǎn):(1)這2個(gè)移動(dòng)應(yīng)用擁有大量的活躍用戶,且其中的用戶評(píng)論規(guī)模非常龐大,可以為本研究提供豐富的數(shù)據(jù);(2)這2個(gè)移動(dòng)應(yīng)用主要用于在線閱讀和信息交流,沒有涉及比較專業(yè)的領(lǐng)域,涵蓋的用戶類型較為廣泛,因此在對(duì)其用戶評(píng)論標(biāo)記時(shí)不需要研究人員具備某些專業(yè)領(lǐng)域的知識(shí),從而使標(biāo)記得到的分類結(jié)果更加可靠.

        我們?cè)谥暗墓ぷ鳎?]中收集了iBooks和WhatsApp中的用戶評(píng)論,將其分割為單個(gè)句子.隨后從每個(gè)移動(dòng)應(yīng)用中隨機(jī)選取2000條評(píng)論,基于ISO/IEC 25010軟件質(zhì)量需求標(biāo)準(zhǔn)將其人工標(biāo)注為功能需求和非功能需求.最終,識(shí)別了1278條“非功能需求”用戶評(píng)論,這1278條“非功能需求”用戶評(píng)論將作為本文的數(shù)據(jù)集.

        本文將1278條非功能需求進(jìn)行人工標(biāo)記.具體分為以下2個(gè)步驟:(1)預(yù)標(biāo)記.從1278條評(píng)論中隨機(jī)抽取50條作為預(yù)實(shí)驗(yàn)數(shù)據(jù),由3位作者分別標(biāo)記這些數(shù)據(jù),將50條評(píng)論分類為行為型需求和表示型需求,最后3位作者一起討論和解決預(yù)標(biāo)記過(guò)程中產(chǎn)生的分歧.該過(guò)程的目的是使3位作者對(duì)基于系統(tǒng)模型進(jìn)行需求分類的理解達(dá)成共識(shí);(2)正式標(biāo)記.在對(duì)本文分類任務(wù)達(dá)成一致理解后,由第1、2作者分別獨(dú)立標(biāo)記其余的1228條非功能需求用戶評(píng)論.使用Cohen’s Kappa系數(shù)[19]計(jì)算2位作者分類結(jié)果的一致性,該值約為0.86,表明2人在對(duì)用戶評(píng)論的非功能需求進(jìn)行分類標(biāo)記時(shí)的結(jié)果比較一致.最后,由第3作者瀏覽前2位作者的標(biāo)記結(jié)果,3位作者一起討論和解決標(biāo)記結(jié)果中存在的分歧,就數(shù)據(jù)集的標(biāo)記結(jié)果達(dá)成一致.

        最終,我們?cè)?278條非功能需求中識(shí)別了899條行為型需求和379條表示型需求.我們將數(shù)據(jù)集劃分為訓(xùn)練集(1022條,占80%)、驗(yàn)證集(128條,占10%)和測(cè)試集(128條,占10%).本文的數(shù)據(jù)集已在線提供[7].

        4.3 實(shí)驗(yàn)步驟

        本文使用機(jī)器學(xué)習(xí)和深度學(xué)習(xí)對(duì)非功能需求進(jìn)行分類.圖2和圖3分別展示了使用機(jī)器學(xué)習(xí)和深度學(xué)習(xí)算法進(jìn)行非功能需求分類的過(guò)程及每個(gè)步驟所使用的技術(shù).在深度學(xué)習(xí)算法中,由于Word2Vec和FastText在訓(xùn)練詞向量時(shí),不需要有標(biāo)簽的數(shù)據(jù)集,因此我們將收集到的所有用戶評(píng)論(來(lái)自iBooks的6696條原始用戶評(píng)論和來(lái)自WhatsApp的4400條原始用戶評(píng)論)作為語(yǔ)料庫(kù)訓(xùn)練Word2Vec和FastText詞向量.在訓(xùn)練字符向量時(shí),我們基于文獻(xiàn)[18]提供的69個(gè)字符來(lái)計(jì)算one-hot編碼,以此得到字符向量.本文根據(jù)經(jīng)驗(yàn)選取常用的數(shù)值以確定TextCNN、RCNN和CharCNN模型的主要參數(shù).3個(gè)模型的主要參數(shù)分別如表2、表3和表4所示.

        表4 CharCNN模型的主要超參數(shù)

        圖2 使用機(jī)器學(xué)習(xí)算法進(jìn)行非功能需求自動(dòng)分類的過(guò)程

        圖3 使用深度學(xué)習(xí)算法進(jìn)行非功能需求自動(dòng)分類的過(guò)程

        表2 TextCNN模型的主要超參數(shù)

        表3 RCNN模型的主要超參數(shù)

        我們將行為型需求類別作為正類,表示型需求類別作為負(fù)類.因此,精確率(Precision)指的是使用本文的分類模型得到的行為需求類別的用戶評(píng)論中真正屬于行為型需求類別的比例.召回率(Recall)指的是使用本文的分類模型得到的真正屬于行為型需求類別的非功能需求,占數(shù)據(jù)集中行為型需求類別的非功能需求的比例.F1-score是精確率和召回率的加權(quán)調(diào)和平均值,當(dāng)F1-score值較高時(shí),一般說(shuō)明分類模型的分類效果較好.式(1)~(3)分別給出了精確率、召回率和F1-score的計(jì)算公式.

        其中,TP(True Positive)表示被分類模型標(biāo)記為行為型需求的非功能需求中,實(shí)際屬于行為型需求的評(píng)論數(shù)量.FP(False Positive)為被標(biāo)記為行為型需求的非功能需求中,實(shí)際不屬于行為型需求的評(píng)論數(shù)量.FN(False Negative)表示被分類模型標(biāo)記為表示型需求的非功能需求中,實(shí)際不屬于表示型需求的評(píng)論數(shù)量.

        4.4 實(shí)驗(yàn)環(huán)境

        實(shí)驗(yàn)環(huán)境配置為Intel(R)Core(TM)i5-7200U CPU以及8 GB RAM的-臺(tái)式計(jì)算機(jī),運(yùn)行Windows 10(64位)操作系統(tǒng).本文使用NLTK工具(版本號(hào)3.4.5)進(jìn)行分詞,并刪除了長(zhǎng)度小于等于3的單詞.在機(jī)器學(xué)習(xí)算法中使用scikit-learn工具(版本號(hào)0.22.1)提供的特征提取技術(shù)和分類器算法(默認(rèn)參數(shù))進(jìn)行實(shí)驗(yàn).在深度學(xué)習(xí)算法中使用gensim庫(kù)(版本號(hào)3.8.1)提供的詞嵌入模型訓(xùn)練詞向量,并使用Tensorflow框架(版本號(hào)1.14.0)構(gòu)建和訓(xùn)練深度學(xué)習(xí)模型.本文使用的NLTK工具、scikit-learn工具、gemsim庫(kù)以及Tensorflow框架均基于Python語(yǔ)言.

        5 結(jié)果與分析

        為了回答3.1節(jié)中提出的研究問題,我們計(jì)算了由機(jī)器學(xué)習(xí)模型(如表5所示)和深度學(xué)習(xí)模型(如表6所示)處理測(cè)試集后得到的精確率、召回率和F1-score.

        表5 使用機(jī)器學(xué)習(xí)模型對(duì)用戶評(píng)論中的非功能需求進(jìn)行分類的結(jié)果

        表6 使用深度學(xué)習(xí)模型對(duì)用戶評(píng)論中的非功能需求進(jìn)行分類的結(jié)果

        RQ1:我們計(jì)算和比較了5種機(jī)器學(xué)習(xí)算法分別與TF-IDF和BoW結(jié)合時(shí)得到的F1-score值,結(jié)果如圖4所示.結(jié)果顯示,除了SVM分類器外,其他所有分類器在與BoW結(jié)合時(shí)得到的F1-score值,均比與TF-IDF結(jié)合得到的F1-score值高.SVM分類器與TF-IDF組合得到了最高的F1-score,但僅比與BoW組合得到的F1-score高0.05.

        圖4 不同機(jī)器學(xué)習(xí)算法與TF-IDF和BoW組合得到的F1-score值的對(duì)比結(jié)果

        RQ1結(jié)論:整體上可以認(rèn)為,在將用戶評(píng)論中的非功能需求自動(dòng)分類為表示型需求和行為型需求時(shí),簡(jiǎn)單的BoW技術(shù)比TF-IDF技術(shù)表現(xiàn)更好.這表明,在需求分類任務(wù)的特征提取階段,研究人員應(yīng)該優(yōu)先選擇表現(xiàn)更好的BoW技術(shù).但是仍然需要關(guān)注使用TF-IDF技術(shù)是否能夠得到更好的性能.

        RQ2:我們計(jì)算和比較了5種機(jī)器學(xué)習(xí)模型自動(dòng)分類后得到的精確率、召回率和F1-score,結(jié)果如表5所示.結(jié)果顯示,所有分類器都有較好的分類性能,精確率、召回率和F1-score值幾乎都在0.9以上(DT與TFIDF組合的結(jié)果除外).圖5顯示,5種分類器與TF-IDF組合時(shí),SVM獲得了最佳精確率(0.941)、召回率(0.990)和F1-score(0.965).DT獲 得 了 最 低 召 回 率(0.867)和F1-score(0.899).這表明,在需求分類自動(dòng)分類任務(wù)中,使用TF-IDF特征提取技術(shù)時(shí),應(yīng)優(yōu)先考慮SVM分類器.圖6顯示,5種分類器與BoW組合時(shí),SVM和LR獲得了最佳F1-score(0.960).SVM獲得了最佳召回率(0.980),且與LR(0.979)僅相差0.01.而NB獲得了最高的精確率(0.989).圖6與圖5中的結(jié)果相似的是,DT獲得了最低的F1-score(0.944).這表明,在需求自動(dòng)分類任務(wù)中,在使用BoW特征提取技術(shù),應(yīng)優(yōu)先考慮SVM和LR分類器.同時(shí)也應(yīng)關(guān)注使用NB是否能夠得到更好的性能.

        圖5 不同機(jī)器學(xué)習(xí)算法與TF-IDF組合時(shí)得到的精確率、召回率和F1-score值的對(duì)比結(jié)果

        圖6 不同機(jī)器學(xué)習(xí)算法與BoW組合時(shí)得到的精確率、召回率和F1-score值的對(duì)比結(jié)果

        RQ2結(jié)論:整體上看,SVM與TF-IDF組合得到了最佳召回率(0.990)和最佳F1-score(0.965),而NB與BoW組合獲得了最高精確率(0.989).此外,不管是與TFIDF還是與BoW組合,DT分類器都得到了最低F1-score.因此,我們認(rèn)為在將用戶評(píng)論中的非功能需求分類為表示型需求和行為型需求時(shí),SVM分類器整體性能最好.

        RQ3:我們計(jì)算了TextCNN、RCNN分別與2種詞向量組合后得到的F1-score值,結(jié)果如圖7所示.實(shí)驗(yàn)結(jié)果顯示,無(wú)論是TextCNN還是RCNN,與Word2Vec組合獲得F1-score值均高于與FastText組合得到的F1-score.

        圖7 不同深度學(xué)習(xí)算法與Word2Vec和FastText組合得到的F1-score值的對(duì)比結(jié)果

        RQ3結(jié)論:整體上來(lái)看,在將非功能需求分類為表示型需求和行為型需求時(shí),Word2Vec模型比FastText模型表現(xiàn)更好.

        RQ4:我們計(jì)算了TextCNN、RCNN模型分別與Word2Vec、FastText組合,以及CharCNN模型的精確率、召回率和F1-score,結(jié)果如表6所示.圖8顯示了TextCNN和RCNN分別與Word2Vec組合和CharCNN 3個(gè)模型的精確率、召回率和F1-score值的對(duì)比結(jié)果.結(jié)果顯示,TextCNN與Word2Vec組合的精確率(0.950)、召回率(0.969)和F1-score(0.959)均高于其他2個(gè)深度學(xué)習(xí)模型.圖9顯示了TextCNN和RCNN分別與Fast-Text組合和CharCNN 3個(gè)模型得到的精確率、召回率和F1-score值的對(duì)比結(jié)果.結(jié)果顯示,TextCNN與FastText組合的精確率(0.989)和F1-score(0.941)高于其他2個(gè)模型,RCNN與FastText組合獲得了最高召回率(1.000).

        RQ4結(jié)論:整體上看,TextCNN與FastText組合獲得了最高精確率(0.989),RCNN與FastText組合獲得了最高召回率(1.000),TextCNN與Word2Vec組合獲得了最高F1-score(0.959).盡管RCNN與FastText組合獲得了最高的召回率(1.000),卻是以所有模型中最低的精確率(0.766)為代價(jià)的.結(jié)合圖8和圖9,我們認(rèn)為在將非功能需求分類為表示型需求和行為型需求時(shí),TextCNN模型整體性能最好.但也應(yīng)該注意到,當(dāng)關(guān)注召回率時(shí),RCNN與FastText組合是非常不錯(cuò)的選擇.

        圖8 TextCNN與Word2Vec組 合、RCNN與Word2Vec組 合、CharCNN得到的精確率、召回率和F1-score值的對(duì)比結(jié)果

        圖9 TextCNN與FastText組合、RCNN與FastText組合、CharCNN得到的精確率、召回率和F1-score值的對(duì)比結(jié)果

        RQ5:我們比較了2類模型中獲得最高F1-score組合的精確率、召回率和F1-score,結(jié)果如圖10所示.結(jié)果顯示,SVM與TF-IDF的召回率(0.990)和F1-score(0.965)值 比TextCNN與Word2Vec組 合 的 值 高.TextCNN與Word2Vec得到的精確率(0.950)比SVM與TF-IDF得到的精確率高(0.941).很多研究表明,相較于機(jī)器學(xué)習(xí)模型,CNN有更好的分類效果.根據(jù)我們的比較結(jié)果,機(jī)器學(xué)習(xí)模型得到了較高的召回率和F1-score.深度學(xué)習(xí)模型的分類效果沒有明顯的優(yōu)勢(shì),可能的原因有:(1)本文實(shí)驗(yàn)的數(shù)據(jù)集規(guī)模較小;(2)深度學(xué)習(xí)模型存在通過(guò)進(jìn)一步調(diào)節(jié)參數(shù)來(lái)達(dá)到更好分類效果的可能性.

        圖10 SVM與TF-IDF組合、TextCNN與Word2Vec組合得到的精確率、召回率和F1-score值的對(duì)比結(jié)果

        我們還計(jì)算和比較了所有機(jī)器學(xué)習(xí)組合與深度學(xué)習(xí)組合的時(shí)間消耗(建模耗時(shí)和模型預(yù)測(cè)耗時(shí)),結(jié)果如表7、表8和表9所示.其中,機(jī)器學(xué)習(xí)的建模耗時(shí)為完成圖2中步驟1~4所需的時(shí)間,深度學(xué)習(xí)建模耗時(shí)為完成圖3中步驟1~3所需的時(shí)間.模型預(yù)測(cè)耗時(shí)分別為完成圖2和圖3中最后一個(gè)步驟所需的時(shí)間.在機(jī)器學(xué)習(xí)算法中,建模耗時(shí)最長(zhǎng)的是RF與BoW組合(994 ms),建模耗時(shí)最短的是DT與BoW組合(514 ms).所有機(jī)器學(xué)習(xí)算法的模型預(yù)測(cè)耗時(shí)不超過(guò)20 ms.我們注意到,機(jī)器學(xué)習(xí)算法在與TF-IDF組合時(shí)的建模耗時(shí)普遍比與BoW組合時(shí)的建模耗時(shí)長(zhǎng)(RF除外),而模型預(yù)測(cè)耗時(shí)幾乎一致.可能的原因是計(jì)算BoW向量比計(jì)算TF-IDF向量簡(jiǎn)單,同時(shí)也從時(shí)間消耗角度驗(yàn)證了RQ1的回答“簡(jiǎn)單的BoW技術(shù)比TF-IDF技術(shù)表現(xiàn)更好”.

        表7 機(jī)器學(xué)習(xí)算法的建模耗時(shí)(Bt)以及模型預(yù)測(cè)耗時(shí)(Pt) ms

        表8 深度學(xué)習(xí)算法(TextCNN、RCNN)的建模耗時(shí)(Bt)以及模型預(yù)測(cè)耗時(shí)(Pt) ms

        表9 深度學(xué)習(xí)算法(CharCNN)的建模耗時(shí)(Bt)以及模型預(yù)測(cè)耗時(shí)(Pt)ms

        在深度學(xué)習(xí)算法中,CharCNN模型的建模耗時(shí)最長(zhǎng)(514391 ms)且模型預(yù)測(cè)耗時(shí)也最長(zhǎng)(85078 ms).TextCNN和RCNN與FastText組合 的 建模 耗時(shí),比 與Word2Vec組合耗時(shí)長(zhǎng)了約40000到50000 ms.可能的原因是FastText詞向量考慮了單詞的內(nèi)部結(jié)構(gòu),而Word2Vec計(jì)算1個(gè)完整單詞的詞向量.但在模型測(cè)試時(shí),TextCNN和RCNN與FastText組合的預(yù)測(cè)耗時(shí),比與Word2Vec組合耗時(shí)短100到10000 ms.TextCNN分別與Word2Vec、FastText組合的建模耗時(shí)是所有深度學(xué)習(xí)模型中耗時(shí)最短的,模型預(yù)測(cè)耗時(shí)也是最短的.可能的原因是TextCNN直接使用了預(yù)訓(xùn)練的詞向量進(jìn)行建模,RCNN在預(yù)訓(xùn)練詞向量的基礎(chǔ)上重新計(jì)算了詞向量,CharCNN則基于文本字符計(jì)算文本向量,因此這2個(gè)模型比TextCNN模型消耗更多的建模時(shí)間.這從時(shí)間消耗角度驗(yàn)證了RQ4的回答“深度學(xué)習(xí)模型中,TextCNN模型整體性能最好”.

        在時(shí)間消耗方面,深度學(xué)習(xí)模型耗時(shí)較長(zhǎng),主要有2個(gè)原因:(1)在特征提取階段,機(jī)器學(xué)習(xí)模型通過(guò)1278條用戶評(píng)論計(jì)算向量值,而深度學(xué)習(xí)模型則通過(guò)11096條用戶評(píng)論計(jì)算詞向量和字符向量;(2)深度學(xué)習(xí)模型需要學(xué)習(xí)的參數(shù)比機(jī)器學(xué)習(xí)模型要多,因此建模耗時(shí)和模型預(yù)測(cè)耗時(shí)比機(jī)器學(xué)習(xí)模型耗時(shí)要長(zhǎng).

        RQ5結(jié)論:整體上,機(jī)器學(xué)習(xí)模型完成1次分類的時(shí)間僅需500~1000 ms,深度學(xué)習(xí)模型耗時(shí)100000~200000 ms,約為機(jī)器學(xué)習(xí)模型耗時(shí)的200倍.無(wú)論在召回率、F1-score的比較上,還是在時(shí)間消耗的比較上,機(jī)器學(xué)習(xí)模型都優(yōu)于深度學(xué)習(xí)模型,尤其是2者在耗時(shí)上的巨大差距.因此我們認(rèn)為,在將非功能需求分類為表示型需求和行為型需求時(shí),機(jī)器學(xué)習(xí)模型比深度學(xué)習(xí)模型表現(xiàn)更好,并且在需求文本分類的分類應(yīng)用中應(yīng)首先嘗試機(jī)器學(xué)習(xí)模型,在性能相當(dāng)?shù)那闆r下,應(yīng)優(yōu)先使用耗時(shí)更少的機(jī)器學(xué)習(xí)模型,在使用深度學(xué)習(xí)模型時(shí),需要從性能和時(shí)間消耗維度對(duì)其進(jìn)行整體收益評(píng)估.

        6 結(jié)果的效度與局限性

        本文依據(jù)文獻(xiàn)[20]中的效度分析準(zhǔn)則,從構(gòu)造效度、內(nèi)部效度、外部效度和可靠性討論對(duì)本研究結(jié)論有效性的可能威脅,并介紹我們?yōu)榫徑膺@些威脅所采取的措施.

        6.1 構(gòu)造效度分析

        構(gòu)造效度關(guān)注理論構(gòu)造是否能被正確地解釋和度量.本文的潛在威脅是人工分類過(guò)程中決定每條非功能需求類別時(shí)的個(gè)人主觀性.為了減少這類威脅,人工分類的過(guò)程由3人共同完成(軟件工程領(lǐng)域碩士生和教師),在正式分類之前,3人首先隨機(jī)選取了50條用戶評(píng)論句子進(jìn)行預(yù)分類,對(duì)于存在分歧意見的用戶評(píng)論句子,3人通過(guò)討論最終達(dá)成一致意見.正式分類由參與預(yù)分類的2名碩士生先單獨(dú)進(jìn)行分類標(biāo)記,有不同分類意見時(shí)與第3人(教師)討論,并最終在分類結(jié)果上達(dá)成一致.另一項(xiàng)潛在威脅是基于本研究所使用的用戶評(píng)論是否能夠得出合理的結(jié)論,為了減少該威脅,我們通過(guò)隨機(jī)抽取的方式從移動(dòng)應(yīng)用中選取用戶評(píng)論樣本數(shù)據(jù)作為本研究的數(shù)據(jù)集.

        6.2 內(nèi)部效度分析

        內(nèi)部效度關(guān)注研究結(jié)果是否可以由本研究數(shù)據(jù)得出,以及是否有其它影響結(jié)果的因素未考慮到.本文的內(nèi)部效度威脅是機(jī)器學(xué)習(xí)算法和深度學(xué)習(xí)算法是否存在過(guò)擬合或欠擬合.為了減輕這種威脅的影響,我們使用2種特征提取技術(shù)與5種機(jī)器學(xué)習(xí)算法進(jìn)行組合,并使用2種基于詞嵌入的深度學(xué)習(xí)算法和1種基于字符向量的深度學(xué)習(xí)算法,最后評(píng)估和對(duì)比了所有組合的性能和時(shí)間消耗.在當(dāng)前的數(shù)據(jù)規(guī)模下,結(jié)果表明,在對(duì)非功能需求分類進(jìn)行分類時(shí),機(jī)器學(xué)習(xí)模型比深度學(xué)習(xí)模型在性能和時(shí)間消耗方面表現(xiàn)更好.但不能確定在數(shù)據(jù)集規(guī)模更大時(shí),是否仍能得到與本文一致的結(jié)果,需要通過(guò)進(jìn)一步實(shí)驗(yàn)來(lái)研究.

        6.3 外部效度分析

        外部效度指研究結(jié)果在多大程度上可適用于其它數(shù)據(jù)集和環(huán)境.本文對(duì)2個(gè)常用的移動(dòng)應(yīng)用的用戶評(píng)論進(jìn)行非功能需求分類,通過(guò)應(yīng)用類別和平臺(tái)環(huán)境的多樣性來(lái)減少研究數(shù)據(jù)對(duì)外部效度產(chǎn)生的威脅.但是必須承認(rèn)本研究中采用的移動(dòng)應(yīng)用類別數(shù)量有限,因此不能確定在使用其它類別應(yīng)用程序(例如教育類)的用戶評(píng)論進(jìn)行非功能需求分類時(shí),結(jié)果是否一致.此外,本文數(shù)據(jù)來(lái)源于國(guó)外的移動(dòng)應(yīng)用的英文用戶評(píng)論,因此尚無(wú)法保證在對(duì)中文的用戶評(píng)論使用相同的研究方法時(shí)能夠得到相同的研究結(jié)果.

        6.4 可靠性分析

        可靠性指如果其他研究人員重復(fù)本研究是否會(huì)得到相同或相似的結(jié)果.本文的人工分類標(biāo)記過(guò)程由3名軟件工程領(lǐng)域研究人員共同完成,并明確了分類標(biāo)記過(guò)程,以盡可能地減少個(gè)人偏見對(duì)分類結(jié)果的影響.此外,本文提供了研究使用的數(shù)據(jù)集[7],說(shuō)明了實(shí)驗(yàn)步驟和參數(shù)設(shè)置,給出了實(shí)驗(yàn)環(huán)境,供其他研究人員使用和驗(yàn)證本研究工作,提升了本研究結(jié)果的可重復(fù)性.需要說(shuō)明的是,本文基于國(guó)外的移動(dòng)應(yīng)用的用戶評(píng)論進(jìn)行研究,研究結(jié)果尚未與應(yīng)用的開發(fā)團(tuán)隊(duì)進(jìn)行確認(rèn),因此尚無(wú)法確定研究結(jié)果對(duì)這2個(gè)應(yīng)用未來(lái)的更新迭代所產(chǎn)生的影響.

        7 總結(jié)

        本文根據(jù)Broy[2]等人提出的系統(tǒng)模型,將iBooks和WhatsApp 2個(gè)應(yīng)用程序的1278條非功能需求用戶評(píng)論人工標(biāo)注為行為型需求和表示型需求.并使用了機(jī)器學(xué)習(xí)與深度學(xué)習(xí)算法進(jìn)行分類.在使用機(jī)器學(xué)習(xí)進(jìn)行分類時(shí),將TF-IDF和BoW技術(shù)分別與NB、LR、DT、RF以及SVM進(jìn)行組合.在使用深度學(xué)習(xí)進(jìn)行分類時(shí),將Word2Vec、FastText分別與TextCNN、RCNN相結(jié)合,并構(gòu)建和訓(xùn)練了基于字符向量的CharCNN深度學(xué)習(xí)模型.我們使用上述所有組合將1278條非功能需求分類為行為型需求和表示型需求,最后對(duì)所有組合的分類性能和時(shí)間消耗進(jìn)行評(píng)估,其中在性能方面我們計(jì)算和比較了所有組合的精確率、召回率和F1-score.結(jié)果表明,在將非功能需求分類為行為型需求和表示型需求時(shí)(其中第1到第5點(diǎn)分別對(duì)應(yīng)RQ1到RQ5的結(jié)果,第6點(diǎn)為綜合結(jié)果):

        (1)在機(jī)器學(xué)習(xí)模型中,簡(jiǎn)單的BoW技術(shù)比TFIDF技術(shù)在特征提取方面表現(xiàn)更好.

        (2)在機(jī)器學(xué)習(xí)模型中,SVM分類器的整體性能最好.

        (3)在深度學(xué)習(xí)模型中,Word2Vec模型比FastText模型在計(jì)算詞向量方面表現(xiàn)更好.

        (4)在深度學(xué)習(xí)模型中,TextCNN的整體性能最好.

        (5)在性能和時(shí)間消耗2個(gè)維度上,機(jī)器學(xué)習(xí)模型比深度學(xué)習(xí)模型表現(xiàn)更好.

        (6)TF-IDF與SVM組 合 得 到 了 最 佳F1-score(0.965),BoW與NB組合、FastText與TextCNN組合獲得了最高精確率(0.989),F(xiàn)astText與RCNN組合獲得了最高召回率(1.000).

        基于本文的研究結(jié)果,我們計(jì)劃從以下5個(gè)方面來(lái)改進(jìn)我們的工作:

        (1)本文機(jī)器學(xué)習(xí)模型使用了默認(rèn)參數(shù),深度學(xué)習(xí)模型根據(jù)經(jīng)驗(yàn)選取了常用的數(shù)值以確定主要參數(shù),未來(lái)我們計(jì)劃通過(guò)實(shí)驗(yàn)來(lái)確定這些模型的最佳參數(shù),并將嘗試更多其它主流的分類算法進(jìn)行非功能需求的自動(dòng)分類實(shí)驗(yàn),如DCNN(Dynamic Convolutional Neural Network)、HAN(Hierarchical Attention Networks)等.

        (2)本研究數(shù)據(jù)集來(lái)自應(yīng)用商店中2個(gè)類別的應(yīng)用程序,為了提高研究結(jié)果的通用性以及自動(dòng)分類效果的外部效度,我們擬在數(shù)據(jù)集中增加移動(dòng)應(yīng)用類別的數(shù)量.

        (3)本研究數(shù)據(jù)集規(guī)??赡軙?huì)影響自動(dòng)分類算法的訓(xùn)練效果,進(jìn)一步影響分類效果.我們計(jì)劃標(biāo)記更多數(shù)量的移動(dòng)應(yīng)用用戶評(píng)論句子,以減少對(duì)外部效度的威脅.

        (4)將本文的研究結(jié)果與iBooks和WhatsApp應(yīng)用的開發(fā)團(tuán)隊(duì)進(jìn)行確認(rèn),進(jìn)一步提升本文研究結(jié)果的可靠性.

        (5)本文基于兩個(gè)國(guó)外的移動(dòng)應(yīng)用的英文用戶評(píng)論進(jìn)行非功能需求自動(dòng)分類的研究,我們也計(jì)劃利用國(guó)內(nèi)開發(fā)的移動(dòng)應(yīng)用的中文用戶評(píng)論進(jìn)行研究,提升研究結(jié)果的通用性、自動(dòng)分類效果的外部效度以及研究結(jié)果的可靠性.

        猜你喜歡
        分類深度用戶
        分類算一算
        深度理解一元一次方程
        分類討論求坐標(biāo)
        深度觀察
        深度觀察
        深度觀察
        數(shù)據(jù)分析中的分類討論
        教你一招:數(shù)的分類
        關(guān)注用戶
        商用汽車(2016年11期)2016-12-19 01:20:16
        關(guān)注用戶
        商用汽車(2016年6期)2016-06-29 09:18:54
        久久99精品国产麻豆| 国产精品麻豆综合在线| 中文字幕亚洲精品第1页| 最近中文字幕一区二区三区| 人妻中文字幕在线中文字幕| 亚洲精品www久久久| 国际无码精品| 日韩极品视频在线观看免费| 亚洲精品国产av日韩专区| 爱情岛论坛亚洲永久入口口| 女人夜夜春高潮爽a∨片| 久久久久亚洲AV片无码乐播 | 久久久精品国产免大香伊| 精品国产一区二区三区免费| 亚洲欧洲国产日产国码无码| 国产美女主播福利一区| 亚洲一区二区三区特色视频| 欧美大屁股xxxx| 欧美精品AⅤ在线视频| 我也色自拍俺也色自拍| 天天做天天爱夜夜爽毛片毛片| 囯产精品一品二区三区| 精品综合久久久久久99| 国产一区二区三区免费视| 国产精品成人免费视频一区| 日本丶国产丶欧美色综合| 日本一区二区视频免费观看| 邻居美少妇张开腿让我爽了一夜| 天天燥日日燥| 五月婷婷激情六月| 色婷婷亚洲一区二区三区在线| 粗大的内捧猛烈进出看视频 | 中文字幕乱偷乱码亚洲| 在线小黄片视频免费播放| a级国产乱理伦片| 人妻无码中文字幕免费视频蜜桃 | 四虎永久在线精品免费观看地址| 亚洲av一区二区网址| 夫妻免费无码v看片| 久久精品中文字幕一区| 亚洲av色香蕉一区二区蜜桃|