本發(fā)明涉及信息處理,尤其涉及一種基于大模型的軟件功能點評估方法及系統(tǒng)。
背景技術(shù):
1、現(xiàn)時在傳統(tǒng)軟件成本預估方案中,傳統(tǒng)軟件成本預估的計算方式一般根據(jù)被評估對象的功能點的規(guī)模、行業(yè)平均生產(chǎn)效率與區(qū)域平均人力成本算出最終的造價。但這種計算方法往往存在以下的不足之處:
2、首先,行業(yè)平均生產(chǎn)效率和區(qū)域平均人力成本屬于統(tǒng)計數(shù)據(jù),與自身企業(yè)的差異較大,往往不具有太高的參考價值,特別是對于小微企業(yè)和大型企業(yè)。
3、其次,傳統(tǒng)軟件成本預估方法復用程度僅考慮被評估軟件自身,并未考慮企業(yè)是否承接過類似的項目,是否已有積累類似的控件、組件或者產(chǎn)品線核心資源。因此,采用傳統(tǒng)預估方法,對于升級項目由不同廠商承接的情況,預估出來的費用對比實際生產(chǎn)會偏低,而對于豐富資源積累的企業(yè)而言,預估出來的費用會偏高,企業(yè)方也無法準確評估自己的實際生產(chǎn)成本。
4、以及,傳統(tǒng)軟件成本預估方法往往并未考慮開發(fā)語言、技術(shù)路線與被企業(yè)自身技術(shù)儲備的匹配程度。對于符合項目要求特定開發(fā)語言,特定技術(shù)路線與企業(yè)自身技術(shù)儲備不符的情況,傳統(tǒng)預估方法預估出來的費用出現(xiàn)明顯的偏差,且人工評估過程較為緩慢,在處理大規(guī)模或復雜的軟件項目時,評估的效率與準確度較低。
5、因此,現(xiàn)時提供一種基于大模型的軟件功能點評估方法及系統(tǒng),能夠使企業(yè)軟件成本預估的流程與量化標準統(tǒng)一化,提高軟件成本預估方案的適用性,實現(xiàn)了軟件造價測算的智能化與自動化,從而有利于提高軟件成本評估的效率與準確度。
技術(shù)實現(xiàn)思路
1、本發(fā)明提供一種基于大模型的軟件功能點評估的方法及系統(tǒng),能夠使企業(yè)軟件成本預估的流程與方式標準化,提高軟件成本預估方案的適用性,從而有利于提高軟件成本評估的效率與準確度。
2、為了解決上述技術(shù)問題,本發(fā)明第一方面公開了一種基于大模型的軟件功能點評估方法,所述方法包括:
3、對預設(shè)的企業(yè)研發(fā)效率訓練庫內(nèi)的文本數(shù)據(jù)進行預處理操作,得到預處理后的語料庫,所述語料庫至少包括已標注評估參數(shù)的軟件功能點對應的標注數(shù)據(jù)集;
4、初始化預訓練模型的模型參數(shù),并將所述語料庫中的標注數(shù)據(jù)集輸入至所述預訓練模型進行迭代訓練,得到訓練后的目標模型;
5、將待測軟件的功能點對應的待測數(shù)據(jù)集輸入至所述目標模型進行計算,得到功能點規(guī)模估算參數(shù)與企業(yè)生產(chǎn)效率參數(shù);
6、根據(jù)所述功能點規(guī)模估算參數(shù)、所述企業(yè)生產(chǎn)效率參數(shù)、企業(yè)成本參數(shù)與預設(shè)的造價估算算法計算得到所述待測軟件的預估造價。
7、作為一種可選的實施方式,在本發(fā)明第一方面中,所述企業(yè)研發(fā)效率訓練庫包括:企業(yè)人力資源數(shù)據(jù)、企業(yè)收支數(shù)據(jù)、歷史項目需求數(shù)據(jù)、歷史項目技術(shù)路線數(shù)據(jù)、歷史項目開發(fā)架構(gòu)數(shù)據(jù)中的至少一種,所述標注數(shù)據(jù)集包括多個用于描述所述軟件功能點的文字和/或詞語和/或短句,所述預處理操作包括:數(shù)據(jù)清洗、數(shù)據(jù)過濾、數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)歸一化處理中的至少一種;
8、在所述初始化所述預訓練模型的模型參數(shù)之前,所述方法還包括:
9、根據(jù)所述語料庫的文字和/或詞語和/或短句構(gòu)建所述預訓練模型的損失函數(shù);
10、其中,所述損失函數(shù)的計算公式為:
11、
12、
13、其中,所述coppus表示為所述預料庫包括用于描述所述軟件功能點的多個文字和/或詞語和/或短句,所述表示為所述損失函數(shù),所述p表示為概率函數(shù),所述表示為所述語料庫中第n個文字或詞語或短句,所述表示為所述語料庫中token的個數(shù),所述表示為gpt模型參數(shù);
14、以及,在所述初始化所述預訓練模型的模型參數(shù)之后,所述方法還包括:
15、根據(jù)預設(shè)的凍結(jié)參數(shù)凍結(jié)所述預訓練模型的部分模型參數(shù)。
16、作為一種可選的實施方式,在本發(fā)明第一方面中,在所述對預設(shè)的企業(yè)研發(fā)效率訓練庫內(nèi)的文本數(shù)據(jù)進行預處理操作,得到預處理后的語料庫之后,所述方法還包括:
17、根據(jù)與所述語料庫中每一個軟件功能點對應的文本數(shù)據(jù)相配的語義類型,對所述每一個軟件功能點對應的文本數(shù)據(jù)進行語義類型標注;和/或,
18、根據(jù)與所述語料庫中每一個軟件功能點對應的文本數(shù)據(jù)相配的語法類型,對所述每一個軟件功能點對應的文本數(shù)據(jù)進行語法類型標注;
19、以及,根據(jù)預設(shè)的評估參數(shù),確定與所述每一個軟件功能點對應的文本數(shù)據(jù)相匹配的評估參數(shù),得到已標注所述評估參數(shù)的軟件功能點對應的標注數(shù)據(jù)集;
20、其中,所述評估參數(shù)包括:與所述每一個軟件功能點對應的文本數(shù)據(jù)相匹配的開發(fā)效益等級、開發(fā)成本等級、開發(fā)規(guī)模等級、復雜度等級中的至少一種。
21、作為一種可選的實施方式,在本發(fā)明第一方面中,所述預訓練模型表示為基于自注意力機制的序列到序列的神經(jīng)網(wǎng)絡(luò)模型,所述預訓練模型的模型參數(shù)至少包括自注意力層、多頭注意力層、前饋神經(jīng)網(wǎng)絡(luò)層;
22、其中,所述自注意力層包括:輸入序列、查詢、鍵、值、注意力權(quán)重、輸出層,所述自注意力層的輸入序列表示為,所述輸入序列的參數(shù)為所述coppus,所述i表示為所述輸入序列的第i個元素;
23、所述查詢、所述鍵、所述值的線性變換計算公式為:
24、
25、所述注意力權(quán)重的計算公式為:
26、
27、所述輸出層的計算公式為:
28、
29、其中,所述q表示為查詢、所述k表示為鍵、所述v表示為值,所述表示為查詢權(quán)重矩陣,所述表示為鍵權(quán)重矩陣,所述表示為值權(quán)重矩陣,所述attention表示為所述注意力權(quán)重,所述d表示為維度,所述output表示為所述輸出參數(shù);
30、所述多頭注意力層包括:所述輸入序列、頭、所述頭的注意力權(quán)重、輸出層;
31、每一個頭的注意力權(quán)重的計算公式為:
32、
33、所述輸出層的計算公式為:
34、
35、其中,所述表示為所述多頭注意力的第i個頭,所述h表示為所述頭的數(shù)量,所述selfattention表示為自注意力機制函數(shù),所述wo表示為所述自注意力層的輸出層對應的線性變換,所述multihead_attention表示為所述多頭注意力層的輸出參數(shù);
36、所述前饋神經(jīng)網(wǎng)絡(luò)層至少包括:輸入層、隱藏層、輸出層。
37、作為一種可選的實施方式,在本發(fā)明第一方面中,所述將所述語料庫中的標注數(shù)據(jù)集輸入至所述預訓練模型進行迭代訓練,得到訓練后的目標模型,包括:
38、將所述語料庫中的標注數(shù)據(jù)集輸入至所述預訓練模型進行迭代訓練,得到訓練后的模型;
39、根據(jù)所述預訓練模型的損失函數(shù)判斷所述訓練后的模型是否趨于收斂;
40、當判斷到所述訓練后的模型未趨于收斂時,根據(jù)所述損失函數(shù)的計算梯度并通過優(yōu)化算法更新所述模型參數(shù),并重復對所述訓練后的模型進行所述迭代訓練操作;
41、當判斷到所述訓練后的模型趨于收斂時,停止所述迭代訓練的操作,得到最終的目標模型。
42、作為一種可選的實施方式,在本發(fā)明第一方面中,所述優(yōu)化算法包括:梯度下降、隨機梯度下降、小批量梯度下降、adam、rmsprop、動量、adagrad中的其中一種;
43、所述預設(shè)的造價估算算法表示為:
44、。
45、作為一種可選的實施方式,在本發(fā)明第一方面中,所述企業(yè)生產(chǎn)效率參數(shù)包括:復用系數(shù)、復雜度系數(shù)、行業(yè)系數(shù)、成本系數(shù)中的至少一種;
46、所述將待測軟件的功能點對應的待測數(shù)據(jù)集輸入至所述目標模型進行計算,得到功能點規(guī)模估算參數(shù)與企業(yè)生產(chǎn)效率參數(shù),包括:
47、將待測軟件的功能點對應的待測數(shù)據(jù)集輸入至所述目標模型進行計算,得到功能點規(guī)模估算參數(shù)與歷史項目特征參數(shù);
48、根據(jù)所述功能點規(guī)模估算參數(shù)與歷史項目特征參數(shù)生成企業(yè)生產(chǎn)效率參數(shù)。
49、本發(fā)明第二方面公開了一種基于大模型的軟件功能點評估系統(tǒng),所述系統(tǒng)包括:
50、預處理模塊,用于對預設(shè)的企業(yè)研發(fā)效率訓練庫內(nèi)的文本數(shù)據(jù)進行預處理操作,得到預處理后的語料庫,所述語料庫至少包括已標注評估參數(shù)的軟件功能點對應的標注數(shù)據(jù)集;
51、初始化模塊,用于初始化預訓練模型的模型參數(shù);
52、訓練模塊,用于將所述預處理模塊處理得到的所述語料庫中的標注數(shù)據(jù)集輸入至所述初始化模塊初始化后的所述預訓練模型進行迭代訓練,得到訓練后的目標模型;
53、計算模塊,用于將待測軟件的功能點對應的待測數(shù)據(jù)集輸入至所述訓練模塊訓練得到的所述目標模型進行計算,得到功能點規(guī)模估算參數(shù)與企業(yè)生產(chǎn)效率參數(shù);以及,根據(jù)所述功能點規(guī)模估算參數(shù)、所述企業(yè)生產(chǎn)效率參數(shù)、企業(yè)成本參數(shù)與預設(shè)的造價估算算法計算得到所述待測軟件的預估造價。
54、作為一種可選的實施方式,在本發(fā)明第二方面中,所述企業(yè)研發(fā)效率訓練庫包括:企業(yè)人力資源數(shù)據(jù)、企業(yè)收支數(shù)據(jù)、歷史項目需求數(shù)據(jù)、歷史項目技術(shù)路線數(shù)據(jù)、歷史項目開發(fā)架構(gòu)數(shù)據(jù)中的至少一種,所述標注數(shù)據(jù)集包括多個用于描述所述軟件功能點的文字和/或詞語和/或短句,所述預處理操作包括:數(shù)據(jù)清洗、數(shù)據(jù)過濾、數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)歸一化處理中的至少一種;
55、所述系統(tǒng)還包括:
56、所述構(gòu)建模塊,用于在所述初始化模塊初始化所述預訓練模型的模型參數(shù)之前,根據(jù)所述語料庫的文字和/或詞語和/或短句構(gòu)建所述預訓練模型的損失函數(shù);
57、其中,所述損失函數(shù)的計算公式為:
58、
59、
60、其中,所述coppus表示為所述預料庫包括用于描述所述軟件功能點的多個文字和/或詞語和/或短句,所述表示為所述損失函數(shù),所述p表示為概率函數(shù),所述表示為所述語料庫中第n個文字或詞語或短句,所述表示為所述語料庫中token的個數(shù),所述表示為gpt模型參數(shù);
61、以及,凍結(jié)模塊,用于在所述初始化模塊初始化所述預訓練模型的模型參數(shù)之后,根據(jù)預設(shè)的凍結(jié)參數(shù)凍結(jié)所述預訓練模型的部分模型參數(shù)。
62、作為一種可選的實施方式,在本發(fā)明第二方面中,所述系統(tǒng)還包括:
63、標注模塊,用于在所述預處理模塊對預設(shè)的企業(yè)研發(fā)效率訓練庫內(nèi)的文本數(shù)據(jù)進行預處理操作,得到預處理后的語料庫之后,根據(jù)與所述語料庫中每一個軟件功能點對應的文本數(shù)據(jù)相配的語義類型,對所述每一個軟件功能點對應的文本數(shù)據(jù)進行語義類型標注;和/或,根據(jù)與所述語料庫中每一個軟件功能點對應的文本數(shù)據(jù)相配的語法類型,對所述每一個軟件功能點對應的文本數(shù)據(jù)進行語法類型標注;以及,根據(jù)預設(shè)的評估參數(shù),確定與所述每一個軟件功能點對應的文本數(shù)據(jù)相匹配的評估參數(shù),得到已標注所述評估參數(shù)的軟件功能點對應的標注數(shù)據(jù)集;
64、其中,所述評估參數(shù)包括:與所述每一個軟件功能點對應的文本數(shù)據(jù)相匹配的開發(fā)效益等級、開發(fā)成本等級、開發(fā)規(guī)模等級、復雜度等級中的至少一種。
65、作為一種可選的實施方式,在本發(fā)明第二方面中,所述預訓練模型表示為基于自注意力機制的序列到序列的神經(jīng)網(wǎng)絡(luò)模型,所述預訓練模型的模型參數(shù)至少包括自注意力層、多頭注意力層、前饋神經(jīng)網(wǎng)絡(luò)層;
66、其中,所述自注意力層包括:輸入序列、查詢、鍵、值、注意力權(quán)重、輸出層,所述自注意力層的輸入序列表示為,所述輸入序列的參數(shù)為所述coppus,所述i表示為所述輸入序列的第i個元素;
67、所述查詢、所述鍵、所述值的線性變換計算公式為:
68、
69、所述注意力權(quán)重的計算公式為:
70、
71、所述輸出層的計算公式為:
72、
73、其中,所述q表示為查詢、所述k表示為鍵、所述v表示為值,所述表示為查詢權(quán)重矩陣,所述表示為鍵權(quán)重矩陣,所述表示為值權(quán)重矩陣,所述attention表示為所述注意力權(quán)重,所述d表示為維度,所述output表示為所述輸出參數(shù);
74、所述多頭注意力層包括:所述輸入序列、頭、所述頭的注意力權(quán)重、輸出層;
75、每一個頭的注意力權(quán)重的計算公式為:
76、
77、所述輸出層的計算公式為:
78、
79、其中,所述表示為所述多頭注意力的第i個頭,所述h表示為所述頭的數(shù)量,所述selfattention表示為自注意力機制函數(shù),所述wo表示為所述自注意力層的輸出層對應的線性變換,所述multihead_attention表示為所述多頭注意力層的輸出參數(shù);
80、所述前饋神經(jīng)網(wǎng)絡(luò)層至少包括:輸入層、隱藏層、輸出層。
81、作為一種可選的實施方式,在本發(fā)明第二方面中,所述訓練模塊將所述語料庫中的標注數(shù)據(jù)集輸入至所述預訓練模型進行迭代訓練,得到訓練后的目標模型的具體方式為:
82、將所述語料庫中的標注數(shù)據(jù)集輸入至所述預訓練模型進行迭代訓練,得到訓練后的模型;
83、根據(jù)所述預訓練模型的損失函數(shù)判斷所述訓練后的模型是否趨于收斂;
84、當判斷到所述訓練后的模型未趨于收斂時,根據(jù)所述損失函數(shù)的計算梯度并通過優(yōu)化算法更新所述模型參數(shù),并重復對所述訓練后的模型進行所述迭代訓練操作;
85、當判斷到所述訓練后的模型趨于收斂時,停止所述迭代訓練的操作,得到最終的目標模型。
86、作為一種可選的實施方式,在本發(fā)明第二方面中,所述優(yōu)化算法包括:梯度下降、隨機梯度下降、小批量梯度下降、adam、rmsprop、動量、adagrad中的其中一種;
87、所述預設(shè)的造價估算算法表示為:
88、。
89、作為一種可選的實施方式,在本發(fā)明第二方面中,所述企業(yè)生產(chǎn)效率參數(shù)包括:復用系數(shù)、復雜度系數(shù)、行業(yè)系數(shù)、成本系數(shù)中的至少一種;
90、所述計算模塊將待測軟件的功能點對應的待測數(shù)據(jù)集輸入至所述目標模型進行計算,得到功能點規(guī)模估算參數(shù)與企業(yè)生產(chǎn)效率參數(shù)的具體方式為:
91、將待測軟件的功能點對應的待測數(shù)據(jù)集輸入至所述目標模型進行計算,得到功能點規(guī)模估算參數(shù)與歷史項目特征參數(shù);
92、根據(jù)所述功能點規(guī)模估算參數(shù)與歷史項目特征參數(shù)生成企業(yè)生產(chǎn)效率參數(shù)。
93、本發(fā)明第三方面公開了另一種基于大模型的軟件功能點評估系統(tǒng),所述系統(tǒng)包括:
94、存儲有可執(zhí)行程序代碼的存儲器;
95、與所述存儲器耦合的處理器;
96、所述處理器調(diào)用所述存儲器中存儲的所述可執(zhí)行程序代碼,執(zhí)行本發(fā)明第一方面公開的基于大模型的軟件功能點評估方法。
97、本發(fā)明第四方面公開了一種計算機存儲介質(zhì),所述計算機存儲介質(zhì)存儲有計算機指令,所述計算機指令被調(diào)用時,用于執(zhí)行本發(fā)明第一方面公開的基于大模型的軟件功能點評估方法。
98、與現(xiàn)有技術(shù)相比,本發(fā)明實施例具有以下有益效果:
99、本發(fā)明提供了一種基于大模型的軟件功能點評估方法及系統(tǒng),該方法包括:對預設(shè)的企業(yè)研發(fā)效率訓練庫內(nèi)的文本數(shù)據(jù)進行預處理操作,得到預處理后的語料庫,語料庫至少包括已標注評估參數(shù)的軟件功能點對應的標注數(shù)據(jù)集,有利于提高后續(xù)預模型訓練的效率與準確率;初始化預訓練模型的模型參數(shù),并將語料庫中的標注數(shù)據(jù)集輸入至預訓練模型進行迭代訓練,得到訓練后的目標模型,有利于提高軟件成本評估的準確率;將待測軟件的功能點對應的待測數(shù)據(jù)集輸入至目標模型進行計算,得到功能點規(guī)模估算參數(shù)與企業(yè)生產(chǎn)效率參數(shù),根據(jù)功能點規(guī)模估算參數(shù)、企業(yè)生產(chǎn)效率參數(shù)與預設(shè)的造價估算算法計算得到待測軟件的預估造價??梢?,實施本發(fā)明能夠使企業(yè)軟件成本預估的流程與量化標準統(tǒng)一化,提高軟件成本預估方案的適用性,實現(xiàn)了軟件造價測算的智能化與自動化,減少了人工審閱文檔的時間與造價過程所需耗費的時間,從而有利于提高軟件成本評估的效率與準確度。