汪燁,周澳回,周思源,姜波,陳駿武,宋師哲
智能計算服務的需求獲取方法
汪燁,周澳回,周思源*,姜波,陳駿武,宋師哲
(浙江工商大學 計算機與信息工程學院,杭州 310018)(?通信作者電子郵箱3508006105@qq.com)
智能計算服務由服務提供者通過互聯(lián)網(wǎng)為服務消費者提供數(shù)據(jù)的分析和處理,并建立學習模型完成智能計算功能。由于服務提供者與服務消費者之間缺乏有效的溝通渠道,以及服務消費者反饋的需求描述模糊、混亂,目前缺乏一種統(tǒng)一的服務需求獲取方法對用戶持續(xù)變化的需求進行有效的分析、組織和規(guī)約,導致智能計算服務無法根據(jù)用戶的需求進行快速改進。針對服務開發(fā)中需求變更的持續(xù)性和不確定性等問題,提出了一種智能計算服務的需求獲取方法。該方法首先從Stack Overflow問答論壇獲取智能計算服務的應用反饋和問題,然后根據(jù)服務消費者所關(guān)注的需求類型采用不同的學習模型(包括支持向量機(SVM)、樸素貝葉斯和TextCNN)對其進行知識分類和優(yōu)先級排序,最后采用自定義的服務需求模板統(tǒng)一描述智能計算服務的需求。
服務需求工程;需求獲??;智能計算服務;機器學習;神經(jīng)網(wǎng)絡
隨著Web服務技術(shù)、移動網(wǎng)絡計算和社交網(wǎng)絡的快速發(fā)展,服務在企業(yè)應用的開發(fā)中顯得愈發(fā)重要,包括谷歌、Facebook、Netflix、eBay、LinkedIn、Foursquare、Instagram在內(nèi)的很多企業(yè)都發(fā)布了公共服務。基于服務的開發(fā)通過組合調(diào)用服務來避免開發(fā)所花費的成本和精力。近年來人工智能不斷地突破與創(chuàng)新,基于人工智能提供的相關(guān)計算服務(本文簡稱為“智能計算服務”)也迎來了新一輪的革新與更迭。智能計算服務由服務提供者通過互聯(lián)網(wǎng)為服務消費者提供數(shù)據(jù)的分析和處理,通過建立學習模型完成智能計算功能[1]。
智能計算服務面臨用戶需求、軟件資源和系統(tǒng)上下文環(huán)境等方面變化的挑戰(zhàn),其服務需求不可避免地需要持續(xù)的變更。實踐研究表明,在消費者需求更多元以及服務復雜性逐步增長的情況下,服務開發(fā)中的需求并不是靜態(tài)的,而是持續(xù)的、不確定性的。這些需求不僅是由服務消費者顯式地向提供方提出的需求,更多的是由服務使用體驗和使用過程中等隱式發(fā)現(xiàn)的需求[2]。智能計算服務目前在開發(fā)時往往會面臨服務需求如何快速獲取和改進的問題。一方面,由于服務提供者與服務消費者之間缺乏有效的溝通渠道,服務消費者難以將智能計算服務的用戶體驗盡快地反饋給服務提供者,從而導致服務提供者無法及時地獲取服務需求;另一方面,服務消費者對于需求的描述模糊且混亂,目前缺乏一種統(tǒng)一的服務需求定義方法來對用戶持續(xù)變化的需求進行有效的組織和規(guī)約,導致智能計算服務無法迅速地根據(jù)用戶的需求獲取真正有價值的用戶需求從而快速改進。服務需求獲取的任務就是找出更多的可以滿足用戶的需求并詳細說明用戶持續(xù)變化的需求,這是決定智能計算服務開發(fā)成敗以及服務推廣和應用的關(guān)鍵。這不僅能夠增強服務提供者和消費者對智能計算服務產(chǎn)品特征在細節(jié)與相互依賴關(guān)系上的理解以及對需求的掌握,還可使服務涉眾之間的交流更為緊密以減少交流誤解與偏差,更加準確地反映服務開發(fā)情況,為服務開發(fā)決策提供依據(jù)[3]。
服務需求工程是指采用工程化方法指導網(wǎng)絡化的服務軟件需求的挖掘、建模、分析、描述和管理[4]。目前服務需求工程集中在服務需求的建模、分析階段[1,5-7],對于獲取有價值的服務需求后將其規(guī)范描述的研究很少。根據(jù)調(diào)研,尚未有工作針對智能計算服務研究其需求獲取方法,因此本文提出了一種智能計算服務的需求獲取方法。首先從Stack Overflow(https://stackoverflow.com/)問答論壇上爬取服務消費者關(guān)于智能計算服務的用戶反饋和問題,然后對其進行知識分類、優(yōu)先級排序,最后采用自定義的需求模板統(tǒng)一描述智能計算服務的需求。針對該問題的深入研究對提高和保障智能計算服務產(chǎn)品的質(zhì)量具有重要的研究意義。
服務需求是否準確、完整和規(guī)范將影響整個服務的開發(fā)流程與效果,越來越多的研究開始側(cè)重于服務需求工程。服務需求工程方法包括服務需求的挖掘、建模、分析、描述和管理等具體技術(shù),本章將針對這些技術(shù)做具體介紹。Penserini等[8]提出了一種基于Tropos的擴展方法并將其制定為服務設計,將利益相關(guān)者目標與服務集合相關(guān)聯(lián),促進服務目標的迭代。Chen等[5]提出了一種基于領(lǐng)域目標模型和過程模型的個性化服務需求分析法,該方法面向最終服務涉眾,以服務涉眾的操作為驅(qū)動,對涉眾的操作進行分類,定義相應的檢測類型以及流程,制定規(guī)則以滿足涉眾的服務需求。Mouheb等[6]提供了一種可視化方法對服務功能需求和服務質(zhì)量需求進行整合建模。Wang等[1,9]提出了基于業(yè)務流程模型的服務質(zhì)量需求分析方法ProQRASS以及基于工作流模式的服務需求分析法PASER,解決了服務需求中的質(zhì)量需求和功能需求不一致的問題。Sun等[7]提出的QRA(Quality Requirements Analysis)方法從服務涉眾的角度(即早期服務質(zhì)量需求)分析服務質(zhì)量需求。為了更適配服務系統(tǒng)的需求分析,Wang等[10]提出了一個基于本體的服務需求建??蚣?,由本體、角色、目標、過程以及服務五個層次組成。Garg等[11]提出了一種基于非功能性需求的云服務采用方法TrAdeCIS,建立了權(quán)衡決策,根據(jù)非功能性需求選擇最佳可用的替代模型。
服務需求變更是貫穿服務整個生命流程的一種循環(huán)過程,該循環(huán)過程是由環(huán)境變化驅(qū)動的。隨著服務計算系統(tǒng)的發(fā)展流行,面向服務的需求獲取逐漸得到了研究人員的重視。Zhang等[12]提出了一個基于RGPS(Role,Goal,Process,Service,即角色、目標、過程以及服務)的面向服務需求獲取框架,用于捕捉需求生成中的關(guān)鍵建模知識和構(gòu)建管理需求的原則,確定環(huán)境變化、需求變化、觀點變化和設計變化四種基本變化類型以幫助控制和監(jiān)測需求的變更。
需求知識分類指對收集到的多種需求知識信息進行分類。由于傳統(tǒng)需求分類方法在完整性、準確性以及效率方面存在缺陷,越來越多的研究工作在需求分類方法中融合人工智能技術(shù),包括基于信息檢索[13-14]、基于機器學習[15-16]以及基于深度學習的方法[17]。關(guān)鍵字匹配、最鄰近節(jié)點算法、樸素貝葉斯、K?means、相似度計算、邏輯回歸、神經(jīng)網(wǎng)絡、TextCNN、長短期記憶(Long Short?Term Memory, LSTM)和門控循環(huán)單元(Gate Recurrent Unit, GRU)被廣泛使用。
上述算法和模型為本文的研究提供了思路,本文的主要工作如下:
1)采用知識彌補用戶問題和服務需求之間的鴻溝,并明確定義了問題、知識、需求的概念。
2)針對智能計算服務需求覆蓋范圍廣等問題,更細化地定義了11種功能和1種非功能方面的知識類別及其概念解釋。
3)采用支持向量機(Support Vector Machine, SVM)、樸素貝葉斯和TextCNN等傳統(tǒng)機器學習方法進行有效分類,發(fā)現(xiàn)TextCNN方法的效果最好。
4)對需求生成的情況進行了有效分析,制定了不同的需求描述模板,并通過具體例子進行解釋說明。
基于上述概念,本文在智能計算服務的需求獲取過程中對Stack Overflow問答文檔進行了分析,步驟如下:
1)面向智能計算服務的知識類別定義。綜合分析已有需求分類,定義了11種功能和1種非功能方面的知識類別,同時針對智能計算服務的特點,增加可解釋性作為新的知識類別。
2)面向智能計算服務問答數(shù)據(jù)的挖掘。調(diào)研已有智能計算服務市場,主要以用戶問答數(shù)據(jù)的數(shù)量和質(zhì)量為參考標準,選取了TensorFlow這款全球最熱門的開源機器學習服務平臺作為爬取對象,構(gòu)建數(shù)據(jù)集,并對其進行預處理。
3)采用機器學習(SVM和樸素貝葉斯)、深度學習模型TextCNN分別對問答數(shù)據(jù)進行知識分類,同時對比三種模型,探討不同模型在精確率(Precision)、召回率(Recall)和F1值上的分類效果。
4)根據(jù)知識分類,對問題進行優(yōu)先級排序。
5)篩選排序靠前的服務需求知識,基于不同分類的需求模板對其進行擴展補充,生成新的需求。
綜合考慮現(xiàn)有需求分類的類別[18-20]以及智能計算服務的特點,本文定義了12種知識類別:
1)功能性:智能計算服務要滿足用戶目標或期望應具有的條件或權(quán)能。
2)可靠性:智能計算服務在部分組件(一個或多個)發(fā)生故障時仍能正常運作的能力。
3)合法性:智能計算服務的功能是否符合法律或規(guī)定。
4)外觀體驗:消費者對智能計算服務操作外觀或者操作界面的期望。
5)可維護性:智能計算服務可被修改的能力,包括修正、改進或該功能對環(huán)境、需求變化的適應。
6)操作性:消費者在使用智能計算服務時遇到的操作問題。
7)性能:智能計算服務是否能達到消費者的性能目標。
8)移植/兼容:智能計算服務從一個平臺或環(huán)境移植到另一個平臺或環(huán)境上的難易程度。
9)擴展性:智能計算服務為了應對將來需求變化而提供的一種擴展能力。
10)安全性:智能計算服務及其數(shù)據(jù)不會因偶然的或惡意的原因而遭到破壞、更改、顯露。
11)易用性:服務消費者是否容易使用該智能計算服務。
12)可解釋性:在特定的任務中,通過可視化、參數(shù)分析及實驗解釋智能計算服務中的模型行為。
智能計算服務問答數(shù)據(jù)是指Stack Overflow論壇關(guān)于TensorFlow服務平臺的問答數(shù)據(jù),本文采用Web Scraper工具,以數(shù)據(jù)質(zhì)量、用戶問題數(shù)、用戶答復數(shù)、數(shù)據(jù)更新時間為導向,爬取了16 405條原始問答數(shù)據(jù),針對每條問題,爬取包括問題編號、問題主題、問題陳述、答復、答復數(shù)、答復贊同數(shù)這六類信息,并根據(jù)用戶的問答內(nèi)容進行過濾。需要說明的是,服務消費者提問中的問題并不全是需求,有些是用戶不會操作或者缺乏經(jīng)驗引發(fā)的問題,這些問題在發(fā)布版本中可能已被解決,也有可能未解決,對于已被解決的問題不列入本文考慮范圍,對于未解決的問題將其視為操作性知識。通過對16 405條數(shù)據(jù)進行篩選和過濾,最終選擇2 213條與需求相關(guān)的問答數(shù)據(jù)。通過對這2 213條數(shù)據(jù)進行分析后發(fā)現(xiàn),用戶在描述問題時經(jīng)常通過粘貼代碼闡述問題,過多關(guān)注代碼將會影響計算機對于問題的理解。通過分析Stack Overflow上的問答數(shù)據(jù),發(fā)現(xiàn)大部分問題的詳細闡述會集中于問題陳述的前兩句和后兩句,因此本文選擇問題陳述的前兩句和后兩句自然語言文本作為其問題陳述,將精簡后的問題陳述與問題主題合并后共同作為問題數(shù)據(jù)。對上述信息進行數(shù)據(jù)清洗與過濾等預處理,去除自然語言描述中的亂碼、符號等數(shù)據(jù),構(gòu)建TensorFlow用戶問答數(shù)據(jù)集。
本文將2 213條數(shù)據(jù)分為1 770條訓練數(shù)據(jù)和443條測試數(shù)據(jù),由多名標注者分別進行標注,標注的類別為12種預先定義好的知識類別,并由作者對標注結(jié)果進行驗證,出現(xiàn)分歧時,選取投票最高的結(jié)果作為最終標注結(jié)果。
目前針對文本問答數(shù)據(jù)知識分類研究工作所使用的模型主要以統(tǒng)計機器學習模型為主,隨著深度學習的迅速發(fā)展,也出現(xiàn)了基于神經(jīng)網(wǎng)絡的知識分類研究,為了探索在Stack Overflow用戶問答數(shù)據(jù)上的知識分類有效性,選取了在相關(guān)工作中使用最多的SVM、樸素貝葉斯和TextCNN作為主要方法。這些方法在傳統(tǒng)軟件系統(tǒng)的功能需求分類和非功能需求分類中已被證明效果不錯,例如SVM方法在應用商店評論的分類中精確率和召回率最高可達58%和49%,基于EM的樸素貝葉斯分類算法在對功能性和非功能性需求的分類中正確率可達70%,TextCNN方法在DOORS文檔數(shù)據(jù)庫的需求分類中精確率和召回率最高可達73.3%和88.5%。對于統(tǒng)計機器學習模型,使用詞頻?逆文檔頻率(Term Frequency?Inverse Document Frequency, TF?IDF)對文本特征值進行提取,它是判斷某個詞匯對于整個語料庫中某個文檔重要性的方法。本文采用的SVM和樸素貝葉斯分類方法均需先使用TF?IDF對文本特征值進行提取。
3.3.1SVM
SVM[20]是一種基于結(jié)構(gòu)風險最小化的機器學習算法,實現(xiàn)對線性可分的數(shù)據(jù)分類。
而在線性不可分的情況下,SVM會先將輸入的向量映射到高維特征向量空間中,再在該特征空間中構(gòu)造最優(yōu)分類面。
3.3.2樸素貝葉斯
樸素貝葉斯[21]分類以貝葉斯定理為基礎,假設特征詞之間相互獨立,通過訓練數(shù)據(jù)集學習輸入到輸出的聯(lián)合概率分布,獲得分類模型。
3.3.3TextCNN
TextCNN[22]是一種用于文本分類的卷積神經(jīng)網(wǎng)絡模型架構(gòu),包括輸入嵌入層、卷積層、池化層和全連接層。
輸入嵌入層是將以自然語言描述的詞語文本轉(zhuǎn)換為數(shù)值形式以適配輸入,實現(xiàn)卷積處理。由于Word2Vec模型適用性強、響應速度快,本文選擇Word2Vec模型生成詞向量。
卷積層實現(xiàn)卷積計算,TextCNN將原CNN技術(shù)處理圖像應用的二維卷積計算改進為適用于一維文本數(shù)的卷積計算。由于不同尺寸的卷積核得到的特征圖(Feature_Map)大小不一,對特征使用池化函數(shù),使它們的維度相同。本文選擇1?Max?pooling池化函數(shù),從而更好地提取特征信息。
全連接層將上層采用池化函數(shù)池化后的結(jié)果拼接起來,使用Softmax函數(shù)得到屬于每個類的概率,通過概率值即可得到所對應的知識類別。
上述步驟形成的候選需求只是用戶的原始描述,并不能直接用于需求說明,因此還需對其進行擴充和規(guī)范化。需求生成分為三種情況:1)對于沒有答復的問題,直接使用問題和問題陳述包含的信息來擴充需求;2)對于只有一個答復的問題,結(jié)合問題和答復包含的信息擴充需求;3)對于擁有多個答復的問題,選擇問題以及同意數(shù)最多的答復擴充需求。
由于不同的需求描述方法不同,我們調(diào)研了需求工程領(lǐng)域相關(guān)工作[23-25],并對其進行分類和歸納,制定了不同的需求描述模板(如表1)。對于非功能需求的獲取,基于其常用指標,制定了定性和定量的描述模板。例如,根據(jù)可靠性指標(如平均失效間隔(Mean Time Between Failures, MTBF)、平均恢復時間(Mean Time To Repair, MTTR)和平均無故障時間(Mean Time To Failure, MTTF)),性能指標[23](如時間、吞吐量、容量需求和其他指標),可移植性指標(如代碼變更率、安裝成功率、界面適應力、功能完整性),可維護性指標(如圈復雜度、代碼行數(shù)、可維護性指數(shù)、繼承層次數(shù)、類耦合度和單元測試覆蓋率),本文分別制定了智能計算服務的可靠性、性能、可移植性和可維護性需求的描述模板,如表1所示。
對于功能和操作性需求生成,目前采用最多的描述模板是用例和用戶故事,由于用例涉及的需求信息涉及具體步驟,而Stack Overflow獲取的數(shù)據(jù)只能反映出用戶的目標和期望,因此采用用戶故事作為模板更合適。在進行需求協(xié)商確定需求后,可再由需求分析人員根據(jù)用例模板做進一步擴充。合法性、外觀體驗、安全性、易用性和可解釋性雖然屬于非功能性,但其描述特征更偏向于功能需求,因此本文對用戶故事做了簡單的擴展,以適配上述五個不同的非功能需求。本文結(jié)合目前使用廣泛的安全性用戶故事(security? related user story)[24]作為安全性需求的描述模板。易用性需求的描述在用戶故事的基礎上,擴展了易用性機制[26],包括系統(tǒng)狀態(tài)、警告、長時間操作、中止命令、中止操作、返回、文本輸入、循序漸進、用戶偏好、喜愛和幫助。根據(jù)文獻[25],可解釋性包含兩個方面:一方面是模型本身的可解釋性,一方面是模型預測結(jié)果的可解釋性。因此,本文設計的可解釋性用戶故事模板包含了這兩個方面。
表1 服務需求描述模板
為了驗證本文工作,以TensorFlow智能計算服務為案例。該實驗主要回答以下兩個研究問題:
1)Stack Overflow文檔中是否包含智能計算服務的需求信息;服務消費者在使用智能計算服務時,更關(guān)注哪些需求。
2)本文在基于Stack Overflow問答數(shù)據(jù)做知識分類時哪種方法效果更好,為此選擇精確率、召回率和F1值三個指標對SVM、樸素貝葉斯和TextCNN進行客觀評價。
本文選取了開源智能計算服務TensorFlow在開發(fā)人員常用網(wǎng)站Stack Overflow上的問答數(shù)據(jù)進行了實驗驗證。選擇TensorFlow的原因為:應用較為廣泛,在開源深度學習服務排名中位列第一,在Stack Overflow上能獲取大量關(guān)于該服務的使用問答數(shù)據(jù)。
本文對TensorFlow的問答數(shù)據(jù)進行了分析和人工標注,基于得到的16 405條問答數(shù)據(jù),從中選擇2 213條需求信息較為明顯的問題及回答作為實驗數(shù)據(jù),對其進行知識分類,標注結(jié)果如表2所示。從表2可以看出,用戶在問答論壇上對于TensorFlow在操作性需求和功能性上的關(guān)注度更高,在安全性、合法性、外觀體驗和可維護性上的關(guān)注度較少,甚至無關(guān)注。
4.3.1分類模型設置
對于統(tǒng)計機器學習模型,本文使用TF?IDF方法提取文本特征作為輸入。
1)SVM是一種有監(jiān)督機器學習方法,是通過學習數(shù)據(jù)之間的最大超平面距離進行數(shù)據(jù)劃分,同時為了解決非線性不可分問題,增加采用核函數(shù)方法將原本線性不可分數(shù)據(jù)映射到更高維的向量空間中,以幫助進行有效分類。
2)樸素貝葉斯是基于貝葉斯理論的機器學習方法,是通過假設屬性之間相互獨立,通過求解各個屬性的概率值進行劃分決策。
3)TextCNN使用了深度學習框架:TensorFlow實現(xiàn)深度學習模型。其超參數(shù)設置為:訓練輪數(shù)(Epoch)=20,學習率(Learning Rate)=0.001,批大小(Batch Size)=32,卷積核大小分別為3、4、5,丟棄率(Dropout)=0.5,優(yōu)化器為Adam。
表2標注結(jié)果
Tab.2 Result of labeling
4.3.2評價指標
其中:為包含正確地分類到該類別的知識數(shù)量,為在該類別中不正確地分類的知識數(shù)量;為不正確地沒有分類在該類別中的知識數(shù)量。
4.3.3結(jié)果分析與討論
實驗結(jié)果如圖1所示,SVM在精確率上的結(jié)果最優(yōu),因為SVM適合小樣本、非線性和高維模式的識別,故在一定程度上可以較好地對文本數(shù)據(jù)進行分類。TextCNN在召回率上表現(xiàn)較好,因為它在網(wǎng)絡結(jié)構(gòu)簡單的基礎上引入了已訓練好的詞向量,能更好地抓取文本特征,得到了較好的結(jié)果,但數(shù)據(jù)噪聲大且訓練數(shù)據(jù)較少,在一定程度上對結(jié)果造成影響。樸素貝葉斯效果最差,因為它對數(shù)據(jù)的表達形式敏感。
圖1 實驗結(jié)果
由于TextCNN在Stack Overflow問答數(shù)據(jù)上的表現(xiàn)最好,因此選擇TextCNN做知識分類,并采用3.4節(jié)步驟排序和3.5節(jié)步驟生成需求,結(jié)果如表3所示。
表3服務需求描述實例
Tab.3 Instances of service requirement descriptions
本文提出了一種面向智能計算服務的需求獲取方法,通過對Stack Overflow上的問答數(shù)據(jù)進行挖掘分析,及時有效地獲取用戶對于智能計算服務的需求反饋,采用智能化方法對其進行分類,根據(jù)分類的結(jié)果采用適當?shù)男枨竽0暹M行新需求的定義,最后為開發(fā)人員形成可供參考的服務需求,幫助其進行服務開發(fā)。
下一步工作包括:首先,研究其他深度學習方法在Stack Overflow數(shù)據(jù)集上的表現(xiàn),如BERT、循環(huán)神經(jīng)網(wǎng)絡等;同時開發(fā)自動化的服務需求定義技術(shù),能夠使需求分析人員從分類好的服務需求知識中自動提取有用信息,并映射到服務需求模板中。在實驗上,我們將爬取更多智能計算服務如Pytorch在Stack Overflow上的問答數(shù)據(jù)進行驗證。其次,對數(shù)據(jù)集進一步標注,區(qū)分不同的智能計算服務和用戶種類,研究不同應用和用戶。
[1] WANG Y, YANG X H, WANG X Y, et al. ProQRASS: a process? based approach to quality requirements analysis for service systems[J]. International Journal of Software Engineering and Knowledge Engineering, 2013, 23(7): 943-962.
[2] SOUZA V E S, LAPOUCHNIAN A, ANGELOPOULOS K, et al. Requirements?driven software evolution[J]. Computer Science ― Research and Development, 2013, 28(4): 311-329.
[3] 張圣. 軟件開發(fā)工程中需求分析重要性之探析[J].科技信息,2008(18):75-75(ZHANG S. Exploration of importance of requirements analysis in software development engineering[J]. Science and Technology Information, 2008(18): 75-75.)
[4] BANO M, ZOWGHI D, IKRAM N, et al. What makes service oriented requirements engineering challenging? a qualitative study[J]. IET Software, 2014, 8(4): 154-160.
[5] CHEN H F, HE K Q. A method for service?oriented personalized requirements analysis[J]. Journal of Software Engineering and Applications, 2011, 4(1): 59-68.
[6] MOUHEB D, TALHI C, NOUH M, et al. Aspect?oriented modeling for representing and integrating security concerns in UML[M]// Software Engineering Research, Management and Applications. Berlin: Springer, 2010: 197-213.
[7] SUN J, ZHAO L P, LOUCOPOULOS P, et al. QRA: a quality requirements analysis approach for service systems[C]// Proceedings of the 2013 IEEE International Conference on Services Computing. Piscataway: IEEE, 2013: 25-32.
[8] PENSERINI L, PERINI A, SUSI A, et al. From stakeholder needs to service requirements[C]// Proceedings of the 2006 Service? Oriented Computing: Consequences for Engineering Requirements. Piscataway: IEEE, 2006: No.8.
[9] WANG Y, WANG T,SUN J. PASER: a pattern?based approach to service requirements analysis[J]. International Journal of Software Engineering and Knowledge Engineering, 2019, 29(4): 547-576.
[10] WANG J, HE K Q, LI B, et al. Meta?models of domain modeling framework for networked software[C]// Proceedings of the 6th International Conference on Grid and Cooperative Computing. Piscataway: IEEE, 2007: 878-886.
[11] GARG R, NAUDTS B, VERBRUGGE S, et al. Modeling legal and regulative requirements for ranking alternatives of cloud?based services[C]// Proceedings of the IEEE 8th International Workshop on Requirements Engineering and Law. Piscataway: IEEE, 2015: 25-32.
[12] ZHANG S L, YIN J S, LIU R. A RGPS?based framework for service?oriented requirement evolution of networked software[C]// Proceedings of the IEEE 3rd International Conference on Communication Software and Networks. Piscataway: IEEE, 2011: 321-325.
[13] CLELAND?HUANG J, SETTIMI R, ZOU X C, et al. Automated classification of non?functional requirements[J]. Requirements Engineering, 2007, 12(2): 103-120.
[14] SHARMA V S, RAMNANI R R, SENGUPTA S. A framework for identifying and analyzing non?functional requirements from text[C]// Proceedings of the 4th International Workshop on Twin Peaks of Requirements and Architecture. New York: ACM, 2014: 1-8.
[15] LI C Y, HUANG L G, GE J D, et al. Automatically classifying user requests in crowdsourcing requirements engineering[J]. Journal of Systems and Software, 2018, 138: 108-123.
[16] CASAMAYOR A, GODOY D, CAMPO M. Identification of non? functional requirements in textual specifications: a semi? supervised learning approach[J]. Information and Software Technology, 2010, 52(4): 436-445.
[17] GUZMAN E, EL?HALIBY M, BRUEGGE B. Ensemble methods for App review classification: an approach for software evolution[C]// Proceedings of the 30th IEEE/ACM International Conference on Automated Software Engineering. Piscataway: IEEE, 2015: 771-776.
[18] 王瑩,鄭麗偉,張禹堯,等. 面向中文APP用戶評論數(shù)據(jù)的軟件需求挖掘方法[J]. 計算機科學, 2020, 47(12):56-64.(WANG Y, ZHENG L W, ZHANG Y Y, et al. Software requirement mining method for Chinese APP user review data[J]. Computer Science, 2020, 47(12): 56-64.)
[19] 賈一荻,劉璘. 中文非功能需求描述的識別與分類方法研究[J]. 軟件學報, 2019, 30(10):3115-3126.(JIA Y D, LIU L. Recognition and classification of non?functional requirements in Chinese[J]. Journal of Software, 2019, 30(10): 3115-3126.)
[20] KURTANOVI? Z, MAALEJ W. Automatically classifying functional and non?functional requirements using supervised machine learning[C]// Proceedings of the IEEE 25th International Requirements Engineering Conference. Piscataway: IEEE, 2017: 490-495.
[21] KHAN J A, LIU L, WEN L J. Requirements knowledge acquisition from online user forums[J]. IET Software, 2020, 14(3): 242-253.
[22] KIM Y. Convolutional neural networks for sentence classification[C]// Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing. Stroudsburg, PA: Association for Computational Linguistics, 2014: 1746-1751.
[23] ECKHARDT J, VOGELSANG A, FEMMER H, et al. Challenging incompleteness of performance requirements by sentence patterns[C]// Proceedings of the IEEE 24th International Requirements Engineering Conference. Piscataway: IEEE, 2016: 46-55.
[24] TONDEL I A, JAATUN M G, MELAND P H. Security requirements for the rest of us: a survey[J]. IEEE Software, 2008, 25(1):20-27.
[25] K?HL M A, BAUM K, LANGER M, et al. Explainability as a non?functional requirement[C]// Proceedings of the IEEE 27th International Requirements Engineering Conference. Piscataway: IEEE, 2019: 363-368.
[26] DUBEY S K, GULATI A, RANA A. Usability evaluation of software systems using fuzzy multi?criteria approach[J]. International Journal of Computer Science Issues, 2012, 9(3):404-409.
Requirement acquisition approach for intelligent computing services
WANG Ye, ZHOU Aohui, ZHOU Siyuan*, JIANG Bo, CHEN Junwu, SONG Shizhe
(,,310008,)
In intelligent computing services, data analysis and processing are provided for the service consumer by the service provider through Internet, and a learning model is established to complete intelligent computing function. Due to the lack of effective communication channels between service providers and service consumers, as well as the fuzzy and messy requirement descriptions of the service consumer feedback, there is a lack of a unified service requirement acquisition method to effectively analyze, organize and regulate the continuously changing requirement of users, which leads to the failure of intelligent computing services to make a rapid improvement according to the user’s requirements. Aiming at the problems of continuity and uncertainty of requirement changes in service development, a requirement acquisition method for intelligent computing services was proposed. The application feedback and questions of intelligent computing services were firstly obtained from Stack Overflow question and answer forum. Then, the knowledge classification and prioritization were performed on them by using different learning models (including Support Vector Machine (SVM), naive Bayes and TextCNN) according to the types of requirements concerned by the service consumer. Finally, a customized service requirement template was used to describe the requirements of intelligent computing services.
service requirement engineering; requirement acquisition; intelligent computing service; machine learning; neural network
This work is partially supported by Zhejiang Provincial Natural Science Foundation (LY21F020011).
WANG Ye, born in 1986, Ph. D., associate professor. Her research interests include requirements engineering, service computing, machine learning.
ZHOU Aohui, born in 1999, M. S. candidate. His research interests include software engineering, data mining.
ZHOU Siyuan, born in 1998, M. S. candidate. His research interests include software engineering, data mining.
JIANG Bo, born in 1970, Ph. D., professor. Her research interests include machine learning, requirements engineering, service computing.
CHEN Junwu, born in 1995, M. S. candidate. His research interests include service computing, deep learning, data mining.
SONG Shizhe, born in 1998, M. S. candidate. His research interests include service computing, machine learning, data mining.
TP311
A
1001-9081(2022)11-3486-07
10.11772/j.issn.1001-9081.2022010059
2022?01?18;
2022?03?31;
2022?04?15。
浙江省自然科學基金資助項目(LY21F020011);浙江省科技廳重點研發(fā)項目(2021C01162)。
汪燁(1986—),女,安徽滁州人,副教授,博士,CCF會員,主要研究方向:需求工程、服務計算、機器學習;周澳回(1999—),男,浙江溫州人,碩士研究生,CCF會員,主要研究方向:軟件工程、數(shù)據(jù)挖掘;周思源(1998—),男,上海人,碩士研究生,CCF會員,主要研究方向:軟件工程、數(shù)據(jù)挖掘;姜波(1970—),女,浙江黃巖人,教授,博士,CCF理事,主要研究方向:機器學習、需求工程、服務計算;陳駿武(1995—),男,浙江金華人,碩士研究生,CCF會員,主要研究方向:服務計算、深度學習、數(shù)據(jù)挖掘;宋師哲(1998—),男,貴州遵義人,碩士研究生,CCF會員,主要研究方向:服務計算、機器學習、數(shù)據(jù)挖掘.