本發(fā)明屬于網(wǎng)絡(luò)安全命名實(shí)體識(shí)別,具體涉及基于提示學(xué)習(xí)思想的網(wǎng)絡(luò)安全命名實(shí)體識(shí)別模型構(gòu)建方法、電子設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、目前隨著深度學(xué)習(xí)技術(shù)的發(fā)展,預(yù)訓(xùn)練+微調(diào)范式已經(jīng)成為主流,預(yù)訓(xùn)練+微調(diào)范式是一種在深度學(xué)習(xí)模型訓(xùn)練過(guò)程中廣泛應(yīng)用的方法。這種方法通常分為兩個(gè)主要階段:預(yù)訓(xùn)練和微調(diào)。
2、預(yù)訓(xùn)練階段是指在一個(gè)大規(guī)模數(shù)據(jù)集上訓(xùn)練一個(gè)通用的模型。在這個(gè)階段,模型學(xué)習(xí)到了一些普遍的特征和模式。這些數(shù)據(jù)集通常是通用領(lǐng)域的大規(guī)模數(shù)據(jù)集,如imagenet(用于圖像處理)或wikipedia(用于自然語(yǔ)言處理)。預(yù)訓(xùn)練的目的是讓模型在廣泛的數(shù)據(jù)上獲得初步的特征表示,這些特征可以在各種任務(wù)中重用。
3、微調(diào)階段是在預(yù)訓(xùn)練的基礎(chǔ)上,在特定任務(wù)的數(shù)據(jù)集上對(duì)模型進(jìn)行進(jìn)一步訓(xùn)練。在這個(gè)階段,模型通過(guò)在特定任務(wù)數(shù)據(jù)上的訓(xùn)練,調(diào)整其權(quán)重和參數(shù),以更好地適應(yīng)該特定任務(wù)的需求。微調(diào)可以看作是對(duì)預(yù)訓(xùn)練模型的一種定制,使其能夠在特定的應(yīng)用場(chǎng)景中表現(xiàn)更佳。
4、預(yù)訓(xùn)練+微調(diào)范式已經(jīng)在諸多領(lǐng)域取得了成功。例如,bert模型在各種nlp任務(wù)如問(wèn)答系統(tǒng)、情感分析、命名實(shí)體識(shí)別等方面都表現(xiàn)出色。而在計(jì)算機(jī)視覺(jué)領(lǐng)域,預(yù)訓(xùn)練的resnet、vgg等模型在圖像分類、目標(biāo)檢測(cè)等任務(wù)中也得到了廣泛應(yīng)用。然而,這一方案也存在著許多問(wèn)題。以網(wǎng)絡(luò)安全命名實(shí)體識(shí)別(named?entity?recognition,ner)任務(wù)為例,可以看到預(yù)訓(xùn)練和微調(diào)階段之間的顯著差異和挑戰(zhàn)。
5、在預(yù)訓(xùn)練階段,模型所使用的數(shù)據(jù)通常是無(wú)標(biāo)注的網(wǎng)絡(luò)安全數(shù)據(jù)。這些數(shù)據(jù)可能包括各種形式的網(wǎng)絡(luò)日志、通信記錄、威脅情報(bào)報(bào)告等。這些數(shù)據(jù)雖然豐富,但由于缺乏明確的標(biāo)注,模型無(wú)法直接學(xué)習(xí)到特定任務(wù)所需的細(xì)粒度信息。為了應(yīng)對(duì)這一挑戰(zhàn),常用的方法是采用掩碼語(yǔ)言模型(masked?language?model,mlm)或自回歸任務(wù)(auto-regressivetask)。例如,使用mlm的方法時(shí),模型通過(guò)隨機(jī)遮掩部分詞匯,然后預(yù)測(cè)這些被遮掩的詞,從而學(xué)習(xí)到上下文信息和詞匯間的關(guān)系。這些方法雖然可以讓模型在大規(guī)模無(wú)標(biāo)注數(shù)據(jù)上進(jìn)行訓(xùn)練,但它們主要關(guān)注的是語(yǔ)言本身的統(tǒng)計(jì)特性和語(yǔ)法結(jié)構(gòu),而不是特定的實(shí)體或關(guān)系。同時(shí)這一方法還存在一個(gè)問(wèn)題就是在傳統(tǒng)mlm過(guò)程中所掩碼掉的token是隨機(jī)的,模型可能會(huì)mask掉關(guān)鍵的網(wǎng)絡(luò)安全實(shí)體從而導(dǎo)致預(yù)訓(xùn)練過(guò)程中模型難以捕捉到下游任務(wù)中所需要識(shí)別實(shí)體的特征,這一問(wèn)題在通用領(lǐng)域可以通過(guò)海量數(shù)據(jù)進(jìn)行互補(bǔ)從而彌補(bǔ)缺失的知識(shí),但是網(wǎng)安數(shù)據(jù)往往規(guī)模較小,因此這一問(wèn)題在網(wǎng)絡(luò)安全數(shù)據(jù)上尤為關(guān)鍵。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明要解決的問(wèn)題是預(yù)訓(xùn)練階段模型學(xué)習(xí)到的是通用的語(yǔ)言和上下文信息在面對(duì)具體的網(wǎng)絡(luò)安全實(shí)體識(shí)別任務(wù)時(shí)直接應(yīng)用,提出基于提示學(xué)習(xí)思想的網(wǎng)絡(luò)安全命名實(shí)體識(shí)別模型構(gòu)建方法、電子設(shè)備及存儲(chǔ)介質(zhì)。
2、為實(shí)現(xiàn)上述目的,本發(fā)明通過(guò)以下技術(shù)方案實(shí)現(xiàn):
3、一種基于提示學(xué)習(xí)思想的網(wǎng)絡(luò)安全命名實(shí)體識(shí)別模型構(gòu)建方法,包括如下步驟:
4、s1.采集網(wǎng)絡(luò)安全數(shù)據(jù),得到網(wǎng)絡(luò)空間安全數(shù)據(jù)序列x=(x1,x2,…xi…xn)其中xi是第i個(gè)單詞,待用;
5、s2.基于標(biāo)注規(guī)則設(shè)置標(biāo)注集合、生成標(biāo)注序列,所述標(biāo)注規(guī)則包括被標(biāo)注數(shù)據(jù)的實(shí)體類型及被標(biāo)注數(shù)據(jù)不屬于任何實(shí)體;
6、s3.基于步驟s2的標(biāo)注規(guī)則,對(duì)步驟s1得到的網(wǎng)絡(luò)空間安全數(shù)據(jù)序列進(jìn)行分割處理,然后對(duì)應(yīng)生成標(biāo)注子序列,得到處理后的網(wǎng)絡(luò)空間安全數(shù)據(jù);
7、s4.基于步驟s2得到的標(biāo)注序列,定義數(shù)據(jù)增廣規(guī)則,對(duì)步驟s3得到的處理后的網(wǎng)絡(luò)空間安全數(shù)據(jù)進(jìn)行數(shù)據(jù)增廣,得到數(shù)據(jù)增廣的網(wǎng)絡(luò)空間安全數(shù)據(jù)集;
8、s5.利用步驟s4得到的數(shù)據(jù)增廣的網(wǎng)絡(luò)空間安全數(shù)據(jù)集對(duì)預(yù)訓(xùn)練模型中進(jìn)行繼續(xù)預(yù)訓(xùn)練和微調(diào)操作,得到網(wǎng)絡(luò)安全命名實(shí)體識(shí)別數(shù)據(jù)提取模型。
9、進(jìn)一步的,步驟s2的具體實(shí)現(xiàn)方法包括如下步驟:
10、s2.1.設(shè)置被標(biāo)注數(shù)據(jù)的實(shí)體類型包括11類網(wǎng)絡(luò)安全數(shù)據(jù),行為體嘗試攻擊目標(biāo)的方法attackpattern、敵對(duì)的行為campaign、用于阻止或響應(yīng)攻擊的措施courseofaction、身份identity、可用于檢測(cè)可以或惡意網(wǎng)絡(luò)行為的模式indicator、擁有共同屬性的敵對(duì)行為和資源的分組集合intrusion?set、被認(rèn)為進(jìn)行惡意操作的團(tuán)體或組織organization、被威脅行為體用于實(shí)施攻擊的非法軟件malware、被威脅行為體用于實(shí)施攻擊的合法軟件tool、軟硬件中的存在的錯(cuò)誤vulnerability、被認(rèn)為和惡意操作有關(guān)的操作系統(tǒng)system;
11、s2.2.設(shè)置標(biāo)注集合t=(attackpattern,campaignmalware,organization,system,o…),其中o代表被標(biāo)注數(shù)據(jù)不屬于任何實(shí)體;
12、根據(jù)標(biāo)注規(guī)則生成標(biāo)注序列y=(y1,y2,…yi…yn),其中yi∈t。
13、進(jìn)一步的,步驟s3中將網(wǎng)絡(luò)空間安全數(shù)據(jù)序列x依照自然語(yǔ)句進(jìn)行分句處理,得到x的子序列x1,x2,x3……xn,對(duì)應(yīng)的生成標(biāo)注子序列y1,y2,y3……yn。
14、進(jìn)一步的,步驟s4定義數(shù)據(jù)增廣規(guī)則,若任意xn中出現(xiàn)多個(gè)不同類型的實(shí)體屬于標(biāo)注集合t,則根據(jù)規(guī)則將標(biāo)簽yn和原始數(shù)據(jù)xn結(jié)合作為增廣數(shù)據(jù),具體做法如下:
15、s4.1.假定規(guī)則集合r如下:
16、
17、其中,m代表當(dāng)xm的標(biāo)記為malware時(shí)對(duì)應(yīng)的位置,o代表當(dāng)xo的標(biāo)記為organization時(shí)對(duì)應(yīng)的位置,s1和s2則代表標(biāo)注序列中第一次出現(xiàn)system和第二次出現(xiàn)system的時(shí)候?qū)?yīng)的位置;
18、s4.2.依據(jù)規(guī)則集合r生成增廣數(shù)據(jù)集其中若原始語(yǔ)句集合x的子序列無(wú)法滿足任意一條規(guī)則r則對(duì)應(yīng)的為空即可,之后將與x進(jìn)行拼接得到數(shù)據(jù)增廣的網(wǎng)絡(luò)空間安全數(shù)據(jù)集
19、進(jìn)一步的,步驟s5的具體實(shí)現(xiàn)方法包括如下步驟:
20、s5.1.對(duì)于xfinal中屬于原始序列x的部分,根據(jù)標(biāo)注序列y決定掩碼概率,掩碼概率pmask取決于對(duì)應(yīng)的標(biāo)注yi是否等于被標(biāo)注數(shù)據(jù)不屬于任何實(shí)體o,表達(dá)式為:
21、
22、其中mask(xi,yi)是對(duì)序列x進(jìn)行掩碼標(biāo)記,即采取概率pmask決定是否對(duì)xi進(jìn)行掩碼替換;
23、s5.2.對(duì)于xfinal中屬于增廣序列的部分,結(jié)合下游任務(wù)對(duì)模型預(yù)測(cè)中的yn部分,設(shè)置掩碼概率pmask=0.5對(duì)中的所有yn進(jìn)行概率替換,完成對(duì)于增廣序列的掩碼操作;
24、s5.3.將步驟s5.1和步驟s5.2得到的數(shù)據(jù)集合并得到預(yù)訓(xùn)練數(shù)據(jù)集把預(yù)訓(xùn)練數(shù)據(jù)集輸入到模型bert中,生成三種嵌入,分別為詞嵌入wi,位置嵌入pi和分段嵌入di,得到輸入表示ri=wi+pi+di;
25、ri作為輸入傳遞給bert模型得到輸出ei后利用雙向長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)bilstm結(jié)合crf進(jìn)行下游的網(wǎng)絡(luò)安全命名實(shí)體識(shí)別,表達(dá)式為:
26、ei=bert(ri)
27、bilstm層將詞嵌入序列e={e1,e2,…,en}傳入雙向長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò),得到每個(gè)詞的上下文表示hi,表達(dá)式為:
28、
29、其中,是正向lstm對(duì)應(yīng)位置的隱藏狀態(tài),是反向lstm對(duì)應(yīng)位置的隱藏狀態(tài),[;]表示向量的拼接操作;
30、s5.4.線性層將雙向長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)的每個(gè)詞的上下文表示hi傳入線性層,映射到標(biāo)簽空間,得到得分si,表達(dá)式為:
31、si=whi+b
32、其中,w和b是學(xué)習(xí)的參數(shù);
33、s5.5.crf層用于建模標(biāo)簽序列之間的依賴關(guān)系,定義轉(zhuǎn)移矩陣a,其中ay',y表示從標(biāo)簽y’轉(zhuǎn)移到y(tǒng)的得分,得到表達(dá)式為:
34、
35、其中,表示在時(shí)間步i處、標(biāo)簽為yi的得分;
36、s5.6.設(shè)置歸一化因子z(x)是所有可能標(biāo)簽序列的得分的指數(shù)和,表達(dá)式為:
37、
38、計(jì)算標(biāo)簽序列y的條件概率為:
39、
40、s5.7.設(shè)置訓(xùn)練目標(biāo)為最大化條件概率,使用維特比算法找到得分最高的標(biāo)簽序列,最小化損失的表達(dá)式為:
41、
42、然后保存最小化損失時(shí)的模型參數(shù),完成下游任務(wù),得到網(wǎng)絡(luò)安全命名實(shí)體識(shí)別數(shù)據(jù)提取模型。
43、一種電子設(shè)備,包括存儲(chǔ)器和處理器,存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序,所述的處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)所述的一種基于提示學(xué)習(xí)思想的網(wǎng)絡(luò)安全命名實(shí)體識(shí)別模型構(gòu)建方法的步驟。
44、一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)所述的一種基于提示學(xué)習(xí)思想的網(wǎng)絡(luò)安全命名實(shí)體識(shí)別模型構(gòu)建方法。
45、本發(fā)明的有益效果:
46、本發(fā)明所述的一種基于提示學(xué)習(xí)思想的網(wǎng)絡(luò)安全命名實(shí)體識(shí)別模型構(gòu)建方法,首先利用下游任務(wù)來(lái)對(duì)數(shù)據(jù)增廣進(jìn)行指導(dǎo)進(jìn)行提示增廣操作,之后對(duì)增廣后的數(shù)據(jù)進(jìn)行掩碼處理,實(shí)現(xiàn)了防止模型在繼續(xù)預(yù)訓(xùn)練過(guò)程中隨機(jī)掩碼掉關(guān)鍵信息,之后再利用增廣數(shù)據(jù)與原始數(shù)據(jù)一起對(duì)預(yù)訓(xùn)練模型進(jìn)行繼續(xù)預(yù)訓(xùn)練和微調(diào)操作,實(shí)現(xiàn)了預(yù)訓(xùn)練階段模型學(xué)習(xí)到的語(yǔ)言和上下文信息在面對(duì)具體的網(wǎng)絡(luò)安全實(shí)體識(shí)別任務(wù)時(shí)可以直接應(yīng)用。
47、本發(fā)明所述的一種基于提示學(xué)習(xí)思想的網(wǎng)絡(luò)安全命名實(shí)體識(shí)別模型構(gòu)建方法,能夠提高網(wǎng)絡(luò)安全命名實(shí)體識(shí)別的準(zhǔn)確性:通過(guò)采集和處理網(wǎng)絡(luò)安全數(shù)據(jù),基于標(biāo)注規(guī)則生成標(biāo)注序列,并進(jìn)行數(shù)據(jù)增廣,確保數(shù)據(jù)集的多樣性和覆蓋性,從而提高模型對(duì)不同類型網(wǎng)絡(luò)安全實(shí)體的識(shí)別準(zhǔn)確性。
48、本發(fā)明所述的一種基于提示學(xué)習(xí)思想的網(wǎng)絡(luò)安全命名實(shí)體識(shí)別模型構(gòu)建方法,能夠增強(qiáng)模型的泛化能力:通過(guò)定義數(shù)據(jù)增廣規(guī)則并對(duì)處理后的網(wǎng)絡(luò)空間安全數(shù)據(jù)進(jìn)行數(shù)據(jù)增廣,增加訓(xùn)練數(shù)據(jù)的多樣性,增強(qiáng)模型對(duì)未見(jiàn)數(shù)據(jù)的泛化能力,使得模型在面對(duì)不同網(wǎng)絡(luò)安全場(chǎng)景時(shí)能夠更有效地進(jìn)行實(shí)體識(shí)別。
49、本發(fā)明所述的一種基于提示學(xué)習(xí)思想的網(wǎng)絡(luò)安全命名實(shí)體識(shí)別模型構(gòu)建方法,能夠提高模型的適應(yīng)性和魯棒性:基于預(yù)訓(xùn)練模型進(jìn)行繼續(xù)預(yù)訓(xùn)練和微調(diào)操作,利用預(yù)訓(xùn)練模型的通用特性和微調(diào)后的專用特性同時(shí)結(jié)合根據(jù)下游任務(wù)定制的數(shù)據(jù)增廣規(guī)則,使得模型在網(wǎng)絡(luò)安全領(lǐng)域具有更好的適應(yīng)性和魯棒性,能夠應(yīng)對(duì)不同類型的網(wǎng)絡(luò)安全實(shí)體識(shí)別任務(wù)。