999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于層次注意力模型的軟件眾包定價方法研究

2020-07-24 02:11:37常得琳
軟件導刊 2020年6期

常得琳

摘要:為了解決軟件眾包任務定價決策階段可用信息有限的問題,提出一種基于層次注意力模型的軟件眾包定價方法。利用層次注意力模型提取軟件眾包任務需求文本語義特征,可以在需求文本中自動發掘與任務價格相關的有效信息。此外,將文本劃分成詞和句兩個層次對全文進行有重點的表示,可以更好地表示文本特征。實驗結果表明,該方法能夠有效克服生產環境的局限性,降低特征提取難度,并在一定程度上提高了預測性能。

關鍵詞:注意力機制;軟件眾包;定價方法;自然語言處理

DOI:10.11907/rjdk.201188 開放科學(資源服務)標識碼(OSID):

中圖分類號:TP301文獻標識碼:A 文章編號:1672-7800(2020)006-0090-05

0 引言

近年來,隨著互聯網的發展,軟件開發模式也發生了變革,其中基于眾包的軟件開發模式正逐漸興起。眾包是一種基于互聯網的新興商業模式,目前被廣泛采用的眾包定義由HoweC~在2006提出。眾包定義為公司或機構將之前由員工完成的任務,以公開征集的形式外包給非特定大眾完成的行為?;诒姲能浖_發通過互聯網召集全球在線開發者完成覆蓋軟件生命周期的多種任務,如架構設計、組件開發、軟件測試及缺陷修復等,許多知名公司和機構均開始轉向基于眾包的軟件開發模式。該開發模式可以顯著提高軟件生產效率和質量,同時降低開發成本。因此,基于眾包的軟件開發模式已成為當前一種十分流行的開發模式。但該模式目前還具有一定缺陷,在實踐中仍面臨著一系列挑戰,例如存在軟件眾包任務資源配置、激勵機制與質量保證機制等問題。

在資源配置方面,不合理的任務酬金可能導致資金利用低效或者較低的任務參與度,進而影響整個項目預算或產品交付。傳統軟件成本預測以及眾包定價方法通過手工提取特征因子構建定價模型,不僅需要耗費大量時間處理復雜的數據集,而且效果并不顯著。現有定價方法需要依賴較多的可用信息,而在實際生產環境中,在定價決策階段,有些信息是無法獲取的。本文從眾包任務定價決策階段可用的需求文本人手,提出一種基于層次注意力模型的軟件眾包定價方法。該方法可以降低特征提取難度,解決可用信息有限的問題,并在一定程度上提高預測性能。

1相關工作

(1)軟件成本預測。傳統軟件成本預測主要研究目標是軟件開發總成本,其中主要包括基于經驗的方法、基于算法模型的方法以及基于機器學習的方法等?;诮涷灥姆椒ㄒ话阌蓪<腋鶕v史數據及當前市場形勢主觀決定開發成本;基于算法模型的方法以COCOMO系列模型為代表;基于機器學習的方法利用大量歷史數據,結合機器學習技術自動發掘特征與價格之間的關系。

(2)一般軟件眾包任務。對于眾包任務的發包者,合理的酬金可以提高資源配置效率以及眾包任務完成質量。目前已有學者進行了相關研究,如Hu提出一種任務定價機制,該機制將眾包任務定價問題轉化為多臂強盜問題,并利用微型眾包任務的單一特性設計優化算法,結果表明,該機制具有較強的實用性;Wang從眾包從業者專業技術水平方面對眾包平臺定價策略展開研究,并提出根據從業者技術水平調整任務酬金。但此類研究一般只適用于微小型眾包任務。

(3)軟件眾包任務定價。在針對軟件眾包任務定價的研究中,毛可的研究成果最為突出,其利用歷史數據集提取16個與軟件眾包任務相關的定價因子,并利用不同機器學習方法構建定價模型。實驗結果表明,該方法具有較好的預測性能,但在其所用數據集中,部分數據在軟件定價決策階段難以獲得;Turki提出基于上下文的軟件眾包定價方法,從實際生產環境的可用信息出發,但由于數據集較小,預測精度不高。

(4)自然語言處理。本文方法將軟件眾包任務需求文本作為輸入,而如何對文本進行合理表示,一直是自然語言處理領域的研究重點。在詞的層面,目前較為流行的是Word2vec方法,該方法利用大量語料庫訓練模型,得到的詞向量能夠很好地表示單詞語義。在文檔層面,主題模型是目前的常用方法。主題模型是指利用基于詞頻的統計方法從大量文本中發現文本潛在主題特征,有研究者也將主題模型應用于軟件工程領域。近年來隨著計算機硬件的發展,計算機算力不斷提高,基于深度學習的方法取得了較好效果。其中在自然語言處理領域,注意力機制得到了廣泛應用。不同領域的研究者針對不同問題提出適用于各種場景的基于注意力的神經網絡結構。注意力機制可以模擬人在閱讀時的行為,對文章中每個詞賦予不同程度的注意力,從而在提煉文本信息時可以抓住更多關鍵、有效的信息。

2 層次注意力模型

本文從軟件眾包需求文本出發構建定價模型,需要用到自然語言處理領域的常用技術。注意力機制由于具有很好的分類能力,被廣泛應用于自然語言處理領域的情感分類、文本分類等問題。本文借鑒Yang提出的方法,使用軟件眾包任務需求文檔作為輸入,構造適用于軟件眾包定價的模型。

本文將需求文本分為兩個層次加以考慮:第一層次是詞一句層次,在閱讀需求文本時,同樣的詞出現在不同句子中,其重要程度是不同的;第二層次是句一文層次,相同句子出現在不同的上下文環境中,其對全文的重要程度也是不同的。本文設計基于層次注意力模型的軟件眾包定價方法主要包括5個方面:詞編碼器、詞注意力機制、句編碼器、句注意力機制、定價層。模型概要如圖l所示。首先利用Word2vec將需求文本單詞序列向量化,然后利用GRU網絡得到包含上下文信息的詞表示;接著引入詞層面注意力機制,獲得單詞的權重矩陣;以加權求和的方式表示句子,相應地使用GRU網絡得到包含上下文信息的句子表示,并引入句子層面的注意力機制,獲得句子層面的權重矩陣;以加權求和的方式表示文本,最后通過定價層獲得價格預測值。

2.1 詞編碼器

本文的原始輸人是軟件眾包任務需求文本,在輸入需求文本后,首先得到需求文本的詞序列,然后利用Word2vec方法將文本詞序列轉化為詞向量,如式(1)所示。

xit=Wewit,t∈[1,T] (1)

We是權重矩陣,該矩陣由Word2vec提供。接下來將詞向量輸入如圖2所示的雙向GRU網絡,可以將每個單詞前文與后文信息結合起來獲得隱藏層輸出,計算公式如式(2)、式(3)所示。

對于特定詞語,經過雙向GRU網絡訓練之后,便獲得一種新的表示,該表示包含目標單詞前后文信息,具體如式(4)所示。

2.2 詞注意力機制

并非所有單詞都能對句子作出同樣貢獻,而注意力機制恰好可以模仿人的閱讀行為。在此引入注意力機制可以把句子中對于理解句子含義最重要、貢獻最大的詞找出來。注意力機制結構如圖3所示。

首先輸入一個只有一層隱藏層的MLP感知機,得到單詞的隱含表示,如式(5)所示。

uit=tanh(Wwhit+bw) (5)

其中,tanh為網絡激活函數。為了衡量每個單詞的重要性,引入一個隨機初始化的前后文向量uw,計算每個單詞與該向量相似程度,從而獲得單詞的權重矩陣,如式(6)所示。

2.3 句編碼器

得到句子的向量表示之后,同樣將句子向量輸入與前文結構一致的雙向GRU網絡,從而將每句話的前后文信息結合起來獲得隱藏層輸出,計算方法如式(5)、式(6)所示。

對于特定句子,經過雙向GRU網絡后獲得了一種新的表示,該表示包含句子前后文信息,如式(10)所示。

2.4 句注意力機制

本文研究對象為軟件眾包任務定價方法,為了獎勵提供重要信息的句子,再次引入句子級別的注意力機制,其結構與前文一致。首先輸入一個只有一層隱藏層的MLP感知機得到單詞的隱含表示,如式(11)所示。

ui=tanh(Wshi+bs) (11)

為衡量每句話的重要性,此處引入一個隨機初始化的前后文向量,計算每個句子與該向量的相似程度,從而獲得句子的權重矩陣,如式(12)所示。

在獲得注意力權重矩陣后,對文檔中每句話進行加權求和便獲得全文的表示,如式(13)所示。

2.5定價層

在得到文檔向量表示之后,將其輸入只有一層隱藏層的神經網絡,網絡結構如圖4所示。使用人工神經網絡,可以利用大量歷史數據集獲得較為有效的定價模型。在訓練過程中,使用評價絕對誤差作為損失函數,并采用隨機梯度下降法訓練模型。模型訓練完成后便可利用訓練好的模型在測試集上完成定價任務實驗。

3 實驗與結果

3.1 實驗環境與實驗參數

本文使用的CUDA版本為8.0,實驗采用的機器配置為:Intel Core i5-4430,雙核四線程,主頻3.0GHz,內存32GB,使用的顯卡規格為雙路的NVIDIA GTXl080Ti。在實現本文模型時,借助深度學習框架TensorFlow和keras對雙向GRU網絡、注意力機制以及定價層網絡加以實現。

本文對該方法進行多次實驗驗證,并對參數進行針對性優化。對于Word2vec,本文使用的詞嵌人維度為100維,窗口大小設置為10,使用skip-gram模型進行訓練;對于雙向GRU網絡,前向和后向GRU單元隱藏層神經元個數為50,整個雙向GRU網絡隱藏層輸出維度為100維;對于注意力層,本文也將其維度設置為100維;對于定價層,隱藏層維度為128維,損失函數為平均絕對誤差,輸出層使用ReLU函數進行激活。整個網絡的batch size為32,學習率為0.001,共進行20輪訓練。

3.2 實驗數據集

本文利用爬蟲程序爬取Topcoder眾包平臺上2013年1月-2018年12月間已完成的軟件任務交易信息,并以此構建本文數據集。該數據集共包含38265個真實的軟件眾包任務交易信息,共涵蓋漏洞修復、網頁設計、數據庫開發、軟件測試、組件設計以及UI設計等60余類任務類型。本文抓取的數據信息包括:任務ID編號、任務類型、任務發布時間、任務最后提交日期、任務名稱、任務賞金、任務注冊人數、任務需求文檔以及任務完成狀態等。然而,其中有部分信息是定價決策階段不可獲取的,而本研究主要是為了解決軟件眾包任務早期階段的定價問題。因此,本文僅利用任務早期便可獲得的需求文檔,利用不同方法嘗試發現文檔與價格之間的潛在聯系。圖5為該數據集中任務價格分布。

3.3 實驗結果

本實驗采用10折交叉驗證對模型進行評估,同時使用平均相對誤差(MMRE)和Pred(30)作為誤差評估標準。Pred(30)描述的是使用當前模型在測試數據集上對價格進行預測時,平均絕對誤差小于等于0.3的項目占測試數據的百分比。其計算結果越大,表示預測值越準確。本文將隨機猜測法(Random Guess)及COCOMO方法作為基準方法,并與毛可和Turki提出的方法進行對比,結果如圖6所示。

從圖中可以看出,本文方法相較于基準方法具有明顯優勢,并且相較于毛可和Turki的方法,具有更大的Pred(30)以及較小的平均相對誤差。與毛可的方法相比,在平均相對誤差方面,預測精度提高了約8%,在Pred(30)方面,預測精度提高了約5%;與Turki的方法相比,精度提高則更加明顯。需要注意的是,毛可研究中已取得相對較高的預測精度,但其研究使用了部分定價決策階段不可獲得的信息,因此在應用中具有一定局限性。本文方法使用定價決策階段可獲得的軟件需求文本作為輸人,不僅取得了較高的預測精度,而且具有較高的實際應用價值,能夠有效地為決策者提供定價建議。

4 結語

本文提出一種基于層次注意力模型的軟件眾包定價方法。該方法采用軟件眾包早期決策階段獲得的需求文本作為輸人,首先利用Word2vec將需求文本中的單詞序列向量化,接著利用層次化的注意力模型獲得文檔的合理表示,該表示包含較為關鍵的詞句信息,從而提高了定價方法預測精度。現有方法由于受到生產環境的局限,應用可行性較低,而本文方法從定價決策階段可用的需求描述文本人手,提出相應定價方法,解決了定價決策階段可用信息較少的問題。本文方法更適用于實際生產環境,能夠為軟件眾包任務決策者在決策階段提供合理的定價建議。但本文在研究過程中也存在一定不足,為了能夠獲得更好的結果,還需對以下問題作進一步研究與分析。

(1)本文數據來自Topcoder平臺,未來將考慮收集更多軟件眾包平臺數據進行實驗。

(2)需求描述文本中包含許多圖片性描述,該部分信息可能會對任務價格產生一定影響,未來也應將這部分內容考慮在內展開研究。

(3)隨著深度學習不斷取得重大突破,在未來工作中可以嘗試新的技術與方法,以期獲得更好的預測結果。

主站蜘蛛池模板: 国产视频一区二区在线观看| 伊人网址在线| 精品国产中文一级毛片在线看| 日韩成人在线网站| 四虎永久免费地址| 91亚洲影院| 激情无码视频在线看| 中文字幕人成乱码熟女免费| 色综合久久久久8天国| 永久天堂网Av| 国产正在播放| 亚洲六月丁香六月婷婷蜜芽| 蜜桃视频一区| 国产黄视频网站| 日韩中文字幕免费在线观看| 看看一级毛片| 国产精品大白天新婚身材| 亚洲国产天堂久久九九九| 国产成人禁片在线观看| 国产一区免费在线观看| 婷婷亚洲最大| 2022国产无码在线| 伊人久综合| 欧洲亚洲欧美国产日本高清| 香蕉eeww99国产在线观看| 波多野结衣一区二区三视频| 国产精品永久久久久| 四虎国产永久在线观看| 久久91精品牛牛| 国产精品亚洲专区一区| 欧洲av毛片| 99国产在线视频| 青草娱乐极品免费视频| 亚洲国产精品日韩专区AV| 国产 日韩 欧美 第二页| 三级毛片在线播放| 国内精品九九久久久精品| 亚洲视频影院| a亚洲视频| 亚洲福利一区二区三区| 四虎永久在线精品影院| 亚洲最新在线| 丰满少妇αⅴ无码区| 国产免费黄| 中文字幕在线播放不卡| 欧美一区二区人人喊爽| 特级精品毛片免费观看| 一本色道久久88| 国产午夜一级毛片| 亚洲一区二区约美女探花| 国产成人禁片在线观看| 亚洲开心婷婷中文字幕| 精品久久蜜桃| 色欲色欲久久综合网| 91啪在线| 国产精品天干天干在线观看| 91无码人妻精品一区二区蜜桃| 国产网站免费观看| 日韩国产 在线| 亚州AV秘 一区二区三区| 久久综合伊人77777| 成人午夜天| 久久久久无码精品| 成人午夜天| 福利国产微拍广场一区视频在线| 夜精品a一区二区三区| 激情成人综合网| 亚洲有码在线播放| 97色伦色在线综合视频| 亚洲精品波多野结衣| 狠狠五月天中文字幕| 亚洲国产看片基地久久1024| 五月天在线网站| 亚洲无码电影| 国产美女精品一区二区| 中文毛片无遮挡播放免费| 国产精品视频第一专区| 日本高清在线看免费观看| 免费看美女自慰的网站| 国内a级毛片| 无码一区二区波多野结衣播放搜索| 亚洲男人在线|