李濤,郭淵博,琚安康
(信息工程大學(xué)密碼工程學(xué)院,河南 鄭州 450001)
對(duì)威脅信息的持續(xù)跟蹤與分析,已成為增強(qiáng)網(wǎng)絡(luò)安全防護(hù)的一項(xiàng)重要舉措。以威脅情報(bào)為主的網(wǎng)絡(luò)威脅信息通常以網(wǎng)絡(luò)安全文本的形式披露,包括各類網(wǎng)絡(luò)安全社區(qū)發(fā)布的博客、白皮書;軟件廠商發(fā)布的安全公告等。然而,近年來(lái)層出不窮的網(wǎng)絡(luò)安全事件導(dǎo)致網(wǎng)絡(luò)威脅情報(bào)海量增長(zhǎng)。由于非結(jié)構(gòu)化形式的網(wǎng)絡(luò)威脅情報(bào)不能被機(jī)器所理解,繼續(xù)依靠人工方式從文本形式的威脅情報(bào)中識(shí)別、提取諸如新型漏洞信息、漏洞利用方式、網(wǎng)絡(luò)攻擊工具以及攻擊模式等關(guān)鍵威脅信息,并進(jìn)行關(guān)聯(lián)分析已無(wú)法滿足網(wǎng)絡(luò)安全防御的現(xiàn)實(shí)需求。為此,利用信息抽取技術(shù),從網(wǎng)絡(luò)安全文本中自動(dòng)地抽取安全相關(guān)的實(shí)體、概念以及關(guān)系,將非結(jié)構(gòu)化的數(shù)據(jù)轉(zhuǎn)換成易于共享和集成的結(jié)構(gòu)化表達(dá),形成網(wǎng)絡(luò)安全鏈接數(shù)據(jù)[1],并構(gòu)建網(wǎng)絡(luò)安全知識(shí)圖譜,賦予機(jī)器認(rèn)知智能以實(shí)現(xiàn)網(wǎng)絡(luò)安全文本的挖掘與智能化分析,將在網(wǎng)絡(luò)安全主動(dòng)防御體系的構(gòu)建中發(fā)揮重要作用。
信息抽取作為文本挖掘的關(guān)鍵技術(shù),已被廣泛應(yīng)用于摘要生成、自動(dòng)問(wèn)答、知識(shí)圖譜等領(lǐng)域[2]。信息抽取可細(xì)分為命名實(shí)體識(shí)別、實(shí)體關(guān)系抽取和事件抽取3 個(gè)子任務(wù),其中通過(guò)實(shí)體識(shí)別和實(shí)體關(guān)系抽取來(lái)獲取語(yǔ)義三元組,是構(gòu)建知識(shí)圖譜、理解自然語(yǔ)言的重要前提。由于網(wǎng)絡(luò)安全領(lǐng)域所關(guān)注的實(shí)體包括攻擊者、攻擊方式、漏洞名、資產(chǎn)等特定類別,且關(guān)系抽取所針對(duì)的是此類與網(wǎng)絡(luò)威脅相關(guān)的特定實(shí)體間的語(yǔ)義表達(dá),而現(xiàn)有的信息抽取系統(tǒng)無(wú)法適用于網(wǎng)絡(luò)安全領(lǐng)域?qū)嶓w與關(guān)系的抽取。為滿足應(yīng)用的需求,需開發(fā)面向網(wǎng)絡(luò)安全領(lǐng)域的知識(shí)抽取系統(tǒng)。
相較于在通用領(lǐng)域以及金融、法律、生物醫(yī)學(xué)等領(lǐng)域的成功應(yīng)用,面向網(wǎng)絡(luò)安全領(lǐng)域的知識(shí)抽取研究才剛起步。2018 年,第十二屆國(guó)際語(yǔ)義評(píng)測(cè)比賽中的任務(wù)8 旨在運(yùn)用自然語(yǔ)言處理技術(shù)實(shí)現(xiàn)網(wǎng)絡(luò)安全文本的語(yǔ)義信息抽取[3],其中包含了針對(duì)惡意軟件相關(guān)文本中實(shí)體、關(guān)系及其屬性進(jìn)行標(biāo)簽預(yù)測(cè)的子任務(wù)。當(dāng)前面向網(wǎng)絡(luò)安全領(lǐng)域的知識(shí)抽取研究是通過(guò)流水線模式進(jìn)行的,即首先通過(guò)命名實(shí)體識(shí)別來(lái)獲取網(wǎng)絡(luò)安全相關(guān)的實(shí)體[4],在此基礎(chǔ)上再根據(jù)預(yù)定義的實(shí)體關(guān)系類別進(jìn)行候選實(shí)體對(duì)間的關(guān)系預(yù)測(cè)[5],進(jìn)而得到網(wǎng)絡(luò)安全知識(shí)三元組。盡管流水線框架具有集成不同數(shù)據(jù)源和學(xué)習(xí)算法的靈活性,但也存在一定的問(wèn)題[6]:1) 關(guān)系抽取依賴實(shí)體識(shí)別的結(jié)果,而實(shí)體識(shí)別階段產(chǎn)生的錯(cuò)誤將傳播到關(guān)系預(yù)測(cè)階段,影響關(guān)系抽取效果;2) 將實(shí)體識(shí)別與關(guān)系抽取分開執(zhí)行,無(wú)法充分利用2 個(gè)任務(wù)間的語(yǔ)義聯(lián)系;3) 先識(shí)別實(shí)體,再進(jìn)行關(guān)系預(yù)測(cè),導(dǎo)致流水線框架下信息抽取效率較低。
不同于流水線框架,實(shí)體與關(guān)系的聯(lián)合抽取旨在對(duì)2 個(gè)任務(wù)同時(shí)建模,當(dāng)前實(shí)體與關(guān)系的聯(lián)合抽取得到研究者的廣泛關(guān)注[7]。早期關(guān)于聯(lián)合抽取的研究依賴復(fù)雜的特征工程以及自然語(yǔ)言處理工具,隨著深度神經(jīng)網(wǎng)絡(luò)的廣泛應(yīng)用,研究人員提出端到端的實(shí)體?關(guān)系聯(lián)合抽取模式?,F(xiàn)有的實(shí)體關(guān)系聯(lián)合學(xué)習(xí)方法包括基于參數(shù)共享的方法和基于序列標(biāo)注的方法。前者對(duì)實(shí)體識(shí)別和關(guān)系抽取任務(wù)通過(guò)共享編碼層模型進(jìn)行聯(lián)合學(xué)習(xí),其在訓(xùn)練時(shí)共享部分參數(shù),此方法本質(zhì)上仍將2 個(gè)任務(wù)分開執(zhí)行,會(huì)產(chǎn)生冗余信息;后者將實(shí)體與關(guān)系聯(lián)合抽取任務(wù)轉(zhuǎn)換成序列標(biāo)注問(wèn)題,基于實(shí)體?關(guān)系的聯(lián)合標(biāo)注策略進(jìn)行建模,直接得到實(shí)體?關(guān)系三元組[2]。Zheng等[8]首次提出基于序列標(biāo)注的實(shí)體與關(guān)系聯(lián)合抽取方法,并在通用領(lǐng)域的知識(shí)抽取中取得了較好的效果。但由于其假設(shè)一個(gè)實(shí)體只有一個(gè)關(guān)系標(biāo)簽,無(wú)法適用于存在重疊關(guān)系的領(lǐng)域文本。為解決面向生物醫(yī)學(xué)文本實(shí)體與關(guān)系聯(lián)合抽取中的重疊關(guān)系問(wèn)題,曹明宇等[7]改進(jìn)Zheng 等[8]提出的聯(lián)合標(biāo)注模式,在藥物?藥物關(guān)系抽取中取得了較好的效果。通過(guò)類比生物醫(yī)學(xué)文本發(fā)現(xiàn),在網(wǎng)絡(luò)安全文本中同一個(gè)實(shí)體也可能參與多個(gè)語(yǔ)義關(guān)系,因此面向網(wǎng)絡(luò)安全領(lǐng)域的實(shí)體與關(guān)系聯(lián)合抽取中也存在重疊關(guān)系問(wèn)題。
盡管端到端的神經(jīng)網(wǎng)絡(luò)模型在諸多任務(wù)中性能突出,但其在實(shí)際應(yīng)用中依賴大規(guī)模的標(biāo)簽數(shù)據(jù)。相較于通用領(lǐng)域大量可獲取的標(biāo)注語(yǔ)料,網(wǎng)絡(luò)安全領(lǐng)域的標(biāo)注語(yǔ)料極其缺乏,導(dǎo)致同一模型應(yīng)用于網(wǎng)絡(luò)安全領(lǐng)域的實(shí)體識(shí)別與關(guān)系抽取任務(wù)時(shí)效果不佳。而不需要標(biāo)簽數(shù)據(jù)的無(wú)監(jiān)督學(xué)習(xí)方法性能通常弱于監(jiān)督學(xué)習(xí)。為此,面向網(wǎng)絡(luò)安全領(lǐng)域的語(yǔ)料標(biāo)注仍然是提升實(shí)體識(shí)別與關(guān)系抽取性能的一項(xiàng)關(guān)鍵任務(wù)。然而針對(duì)網(wǎng)絡(luò)安全文本的標(biāo)注通常存在兩方面的問(wèn)題:1) 需要網(wǎng)絡(luò)安全領(lǐng)域的專家或具備一定網(wǎng)絡(luò)安全知識(shí)的從業(yè)人員才能完成對(duì)網(wǎng)絡(luò)安全文本的標(biāo)注;2) 相較于通用領(lǐng)域的文本語(yǔ)料,網(wǎng)絡(luò)安全文本中含有更多的對(duì)象實(shí)例,因此需要投入更多的人工成本去標(biāo)注。為減輕人工標(biāo)注數(shù)據(jù)的負(fù)擔(dān),主動(dòng)學(xué)習(xí)算法能夠從未標(biāo)注數(shù)據(jù)池中增量地采樣出富有信息的樣本,由專家進(jìn)行標(biāo)注后補(bǔ)充到標(biāo)簽數(shù)據(jù)集中,并通過(guò)迭代訓(xùn)練提升模型學(xué)習(xí)的性能。然而,盡管現(xiàn)有的主動(dòng)學(xué)習(xí)算法在數(shù)據(jù)分類任務(wù)中性能良好,但此類采樣策略應(yīng)用于具有豐富標(biāo)簽空間的序列標(biāo)注任務(wù)時(shí)將變得極其復(fù)雜。
為解決網(wǎng)絡(luò)安全領(lǐng)域知識(shí)抽取中存在的上述問(wèn)題,本文提出一種融合對(duì)抗主動(dòng)學(xué)習(xí)的實(shí)體與關(guān)系聯(lián)合抽取方案?;诼?lián)合標(biāo)注策略將實(shí)體識(shí)別與關(guān)系抽取任務(wù)轉(zhuǎn)化為序列標(biāo)注問(wèn)題,并通過(guò)對(duì)抗學(xué)習(xí)機(jī)制訓(xùn)練一個(gè)判別器模型來(lái)篩選出富有信息量的樣本進(jìn)行人工標(biāo)注,實(shí)現(xiàn)以較低的數(shù)據(jù)標(biāo)注代價(jià)完成聯(lián)合模型的訓(xùn)練。本文的主要貢獻(xiàn)包含3 個(gè)方面。
1) 不同于流水線模式的網(wǎng)絡(luò)安全實(shí)體識(shí)別與關(guān)系抽取,本文將2 個(gè)子任務(wù)聯(lián)合起來(lái)建模為序列標(biāo)注,提出一種基于端到端的網(wǎng)絡(luò)安全實(shí)體與關(guān)系聯(lián)合抽取框架。
2) 面向網(wǎng)絡(luò)安全文本知識(shí)抽取,基于長(zhǎng)短時(shí)記憶(LSTM,long short-term memory neural)網(wǎng)絡(luò)和雙向長(zhǎng)短時(shí)記憶(BiLSTM,bidirectional LSTM)網(wǎng)絡(luò),提出一種融合動(dòng)態(tài)注意力機(jī)制的BiLSTMLSTM 序列標(biāo)注模型。
3) 針對(duì)網(wǎng)絡(luò)安全領(lǐng)域標(biāo)注語(yǔ)料缺乏的問(wèn)題,基于主動(dòng)學(xué)習(xí)思想,并融合對(duì)抗學(xué)習(xí)機(jī)制,提出一種對(duì)抗主動(dòng)學(xué)習(xí)框架下的待標(biāo)注語(yǔ)料采樣方法。
隨著網(wǎng)絡(luò)威脅的激增,詳細(xì)的威脅內(nèi)容以非結(jié)構(gòu)化的自然語(yǔ)言文本形式存在,諸如安全報(bào)告、白皮書、博客、公告等。而針對(duì)此類威脅信息的分析與集成對(duì)于安全人員來(lái)說(shuō)是煩瑣且復(fù)雜的工作。因此,對(duì)威脅信息的自動(dòng)化提取是亟待解決的問(wèn)題。Liao[9]開發(fā)了一套iACE 系統(tǒng),用于自動(dòng)地從威脅情報(bào)文本中提取威脅失陷指標(biāo)(IoC,indicator of compromise)及其上下文關(guān)系。Panwar[10]基于IoC的提取框架,可以從Cuckoo 沙箱結(jié)果中生成結(jié)構(gòu)化威脅信息表達(dá)(STIX,structured threat information expression)格式的IoC。Gasmi 等[11]將自然語(yǔ)言處理領(lǐng)域中的命名實(shí)體識(shí)別方法非結(jié)構(gòu)化安全信息的抽取中,結(jié)合LSTM 模型和條件隨機(jī)場(chǎng)(CRF,conditional random field),提出一種基于LSTM-CRF的模型,對(duì)安全領(lǐng)域文檔中相關(guān)實(shí)體,如產(chǎn)品、版本以及攻擊名稱等進(jìn)行識(shí)別。Chambers 等[12]基于自然語(yǔ)言處理(NLP,natural language processing)的思想,通過(guò)訓(xùn)練前饋神經(jīng)網(wǎng)絡(luò)和文檔主題生成(LDA,latent Dirichlet allocation)模型,從社交媒體數(shù)據(jù)中提取表征攻擊行為的實(shí)體,進(jìn)而實(shí)現(xiàn)分布式拒絕服務(wù)(DDoS,distributed denial of service)攻擊的檢測(cè)。Zhou 等[13]和Long 等[14]運(yùn)用端到端的神經(jīng)網(wǎng)絡(luò)并結(jié)合注意力機(jī)制,針對(duì)威脅情報(bào)語(yǔ)料建立模型,訓(xùn)練得到IoC 提取器,在實(shí)際的IoC 抽取效果上表現(xiàn)出較高的準(zhǔn)確率。由于對(duì)威脅情報(bào)的利用不僅限于IoC,威脅情報(bào)報(bào)告中提供了更多有關(guān)網(wǎng)絡(luò)攻擊的詳細(xì)信息,尤其是有關(guān)攻擊者、攻擊技術(shù)、攻擊工具等的語(yǔ)義信息。秦婭等[15]在對(duì)威脅情報(bào)語(yǔ)料分析的基礎(chǔ)上,利用卷積神經(jīng)網(wǎng)絡(luò)(CNN,convolutional neural network)獲取語(yǔ)料字符嵌入特征,提出一種融合特征模板的CNN-BiLSTM-CRF 的網(wǎng)絡(luò)安全實(shí)體識(shí)別方法,在對(duì)網(wǎng)絡(luò)安全文本數(shù)據(jù)涉及的人名、地名、組織名、軟件名、網(wǎng)絡(luò)相關(guān)術(shù)語(yǔ)以及漏洞編號(hào)的識(shí)別上取得了不錯(cuò)的效果。張若彬等[16]針對(duì)安全漏洞領(lǐng)域的命名實(shí)體,提出一種基于BLSTM-CRF 的識(shí)別模型,并結(jié)合領(lǐng)域詞典對(duì)識(shí)別結(jié)果進(jìn)行校正,實(shí)現(xiàn)對(duì)漏洞編號(hào)、漏洞名、漏洞類型、漏洞利用條件(軟件供應(yīng)商、操作系統(tǒng)、應(yīng)用軟件)、攻擊方式共7 類漏洞相關(guān)命名實(shí)體的有效識(shí)別。此外,Pingle 等[5]開發(fā)了一套基于深度學(xué)習(xí)的威脅情報(bào)語(yǔ)義關(guān)系抽取系統(tǒng),從開源威脅情報(bào)中獲取語(yǔ)義三元組,并與安全運(yùn)營(yíng)中心結(jié)合進(jìn)一步提升網(wǎng)絡(luò)安全防御能力。上述研究均屬于流水線模式,而目前尚未出現(xiàn)面向網(wǎng)絡(luò)安全領(lǐng)域的知識(shí)聯(lián)合抽取研究。
主動(dòng)學(xué)習(xí)算法旨在逐步選擇用于標(biāo)注的樣本,從而以較低的標(biāo)記成本實(shí)現(xiàn)模型較高的分類性能。當(dāng)前主動(dòng)學(xué)習(xí)領(lǐng)域的研究包括基于樣本生成的主動(dòng)學(xué)習(xí)和基于池的主動(dòng)學(xué)習(xí)?;跇颖旧傻闹鲃?dòng)學(xué)習(xí)方法屬于生成模型范疇,通過(guò)生成富有信息的樣本,再由專家進(jìn)行樣本標(biāo)記。Zhu 等[17]首次通過(guò)生成式對(duì)抗網(wǎng)絡(luò)(GAN,generative adversarial network)來(lái)合成待標(biāo)注樣本,建立主動(dòng)學(xué)習(xí)模型。但由于GAN模型存在訓(xùn)練困難以及模式崩壞的情況,生成的樣本可能不滿足真實(shí)樣本的數(shù)據(jù)分布,當(dāng)生成無(wú)意義的樣本時(shí),很難對(duì)其進(jìn)行人工標(biāo)注。因此,此類方法依賴于生成樣本的質(zhì)量和多樣性。
基于池的主動(dòng)學(xué)習(xí)是從數(shù)據(jù)池中篩選樣本進(jìn)行人工標(biāo)注,當(dāng)前基于池的主動(dòng)學(xué)習(xí)算法是主動(dòng)學(xué)習(xí)的主要研究領(lǐng)域,并已在圖像分類、語(yǔ)音識(shí)別、文本分類以及信息檢索等諸多實(shí)際場(chǎng)景中得到廣泛應(yīng)用?;诔氐闹鲃?dòng)學(xué)習(xí)方法中具有代表性的采樣策略包括基于不確實(shí)性的方法、基于集成的方法以及基于核心集的方法等。Culotta 等[18]利用最小置信度準(zhǔn)則評(píng)估線性CRF 模型在序列預(yù)測(cè)任務(wù)上的不確定性,實(shí)現(xiàn)主動(dòng)學(xué)習(xí)算法在序列標(biāo)注任務(wù)上的應(yīng)用。Houlsby 等[19]提出了一種貝葉斯不一致主動(dòng)學(xué)習(xí)算法,其中采樣函數(shù)通過(guò)訓(xùn)練樣本關(guān)于模型參數(shù)的互信息來(lái)進(jìn)行不確定性度量。Gal 等[20]通過(guò)揭露不確定性和正則化之間的關(guān)系來(lái)度量神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)中的不確定性,并將其應(yīng)用于主動(dòng)學(xué)習(xí)。Sener 等[21]提出基于核心集的主動(dòng)學(xué)習(xí)算法,該算法使采樣數(shù)據(jù)點(diǎn)和訓(xùn)練模型的特征空間中未采樣點(diǎn)間的歐幾里得距離達(dá)到最小化。Kuo 等[22]提出一種基于集成的主動(dòng)學(xué)習(xí)算法來(lái)表示不確定性,但該算法容易造成對(duì)樣本的冗余采樣。此外,Shen 等[23]將深度主動(dòng)學(xué)習(xí)算法運(yùn)用于命名實(shí)體識(shí)別任務(wù)中,并比較了最小置信度算法、貝葉斯非一致主動(dòng)學(xué)習(xí)和最大歸一化對(duì)數(shù)概率這3 類采樣策略的性能。
本節(jié)對(duì)所提模型進(jìn)行詳細(xì)描述,模型整體架構(gòu)如圖1 所示。模型由2 個(gè)模塊組成:實(shí)體?關(guān)系聯(lián)合抽取的序列標(biāo)注模塊和對(duì)抗主動(dòng)學(xué)習(xí)模塊,其中聯(lián)合抽取模塊包含表示層、編碼層、動(dòng)態(tài)注意力層、解碼層。
對(duì)于三元組聯(lián)合抽取模塊,首先,在表示層利用word2vec 基于所收集的網(wǎng)絡(luò)安全文本訓(xùn)練得到詞向量表,將輸入序列映射成對(duì)應(yīng)的詞向量表示,此外,獲取每個(gè)詞所對(duì)應(yīng)的字符特征向量,并將其與詞向量進(jìn)行拼接,組成模型的輸入;然后,利用BiLSTM 作為編碼層,得到輸入數(shù)據(jù)的特征編碼,并結(jié)合動(dòng)態(tài)注意力機(jī)制進(jìn)一步捕獲序列的上下文依存特征,將所得注意力向量輸入LSTM 解碼層得到標(biāo)簽序列的向量表示;最后,根據(jù)softmax 分類器的標(biāo)簽得分來(lái)輸出文本的標(biāo)簽序列。在對(duì)抗主動(dòng)學(xué)習(xí)模塊,基于BiLSTM 得到標(biāo)注語(yǔ)句與未標(biāo)注語(yǔ)句的特征向量,將其輸入判別網(wǎng)絡(luò)通過(guò)比較數(shù)據(jù)分布的相似性,篩選出需要標(biāo)記的數(shù)據(jù)交由專家進(jìn)行標(biāo)記,并將標(biāo)記后的數(shù)據(jù)加入標(biāo)簽訓(xùn)練集中,以此對(duì)聯(lián)合抽取模型迭代進(jìn)行訓(xùn)練。
圖1 模型整體架構(gòu)
本節(jié)對(duì)所采用的標(biāo)注策略進(jìn)行詳細(xì)闡述。Zheng 等[8]首次將實(shí)體與關(guān)系的聯(lián)合抽取問(wèn)題轉(zhuǎn)換成序列標(biāo)注任務(wù),提出了實(shí)體與關(guān)系的聯(lián)合標(biāo)注策略。然而,由于其無(wú)法解決重疊關(guān)系問(wèn)題,曹明宇等[7]在其基礎(chǔ)上改進(jìn)了聯(lián)合標(biāo)注策略,能夠較好地解決部分情形下的重疊關(guān)系問(wèn)題。在類比網(wǎng)絡(luò)安全文本與生物醫(yī)學(xué)文本的領(lǐng)域特性基礎(chǔ)上,本文采用曹明宇等[7]提出的標(biāo)注策略及三元組匹配規(guī)則,在實(shí)現(xiàn)網(wǎng)絡(luò)安全實(shí)體?關(guān)系聯(lián)合抽取的同時(shí),解決聯(lián)合抽取中部分情形下的重疊關(guān)系問(wèn)題。
參照曹明宇等[7]的聯(lián)合標(biāo)注策略,本文在進(jìn)行網(wǎng)絡(luò)安全文本序列標(biāo)注時(shí),標(biāo)簽由實(shí)體邊界、實(shí)體類別、關(guān)系類別、實(shí)體位置共4 個(gè)部分組成,具體表示如下。
1) 實(shí)體邊界。針對(duì)當(dāng)前句子序列,采用“BIOES(B-begin,I-inside,O-outside,E-end,S-single)”模式來(lái)標(biāo)識(shí)單詞在實(shí)體中的位置信息,即B 表示對(duì)應(yīng)單詞為實(shí)體的開始位置,I 表示對(duì)應(yīng)單詞為實(shí)體的內(nèi)部,E 表示對(duì)應(yīng)單詞為實(shí)體的結(jié)束位置,S表示對(duì)應(yīng)單詞為單個(gè)實(shí)體,O 表示對(duì)應(yīng)單詞為非實(shí)體。
2) 實(shí)體類別。分析網(wǎng)絡(luò)安全語(yǔ)料并結(jié)合網(wǎng)絡(luò)安全本體UCO2.0[5],給出10 種實(shí)體類別:Organization,Location,Software,Malware,Indicator,Vulnerability,Course-of-action,Tool,Attack-pattern,Campaign。
3) 關(guān)系類別。分析網(wǎng)絡(luò)安全語(yǔ)料并結(jié)合UCO2.0,給出9 種網(wǎng)絡(luò)安全實(shí)體語(yǔ)義關(guān)系類別:comes-from,hasProduct,hasVulnerability,mitigates,uses,indicates,attributed-to,related-to,located-at。此外,增加一個(gè)M 標(biāo)簽來(lái)表示當(dāng)前單詞所屬的實(shí)體參與了多種不同類型的關(guān)系[7]。
4) 實(shí)體位置。實(shí)體位置由數(shù)字“1”“2”來(lái)標(biāo)識(shí),“1”表示該實(shí)體為三元組中的頭實(shí)體,“2”表示該實(shí)體為三元組中的尾實(shí)體。
圖2 給出了該標(biāo)注策略下的一個(gè)示例。輸入序列中包含2 個(gè)三元組:(OceanLotus,Comes-From,Vietnam)和(OceanLotus,Uses,watering hole attack),其中Comes-From 和Uses 為預(yù)定義的關(guān)系類別。根據(jù)上述標(biāo)注策略,序列中每個(gè)單詞都被賦予相應(yīng)的標(biāo)簽,非實(shí)體用O來(lái)標(biāo)注。如單詞OceanLotus 為單個(gè)詞表示的實(shí)體,實(shí)體類別為Organization,其同時(shí)參與了Comes-From 和Uses 2 種關(guān)系,此類情形屬于重疊關(guān)系。此外,由于OceanLotus 實(shí)體在兩類關(guān)系中都處于頭實(shí)體的位置,因此其標(biāo)簽為S-Org-M-1。
在對(duì)網(wǎng)絡(luò)安全文本輸入序列完成標(biāo)注的基礎(chǔ)上,本文根據(jù)文獻(xiàn)[7]中提出的匹配規(guī)則實(shí)現(xiàn)實(shí)體與關(guān)系的組合。首先根據(jù)標(biāo)注結(jié)果中的實(shí)體邊界和類別得到網(wǎng)絡(luò)安全實(shí)體,進(jìn)而再根據(jù)實(shí)體關(guān)系類別和實(shí)體位置形成知識(shí)三元組。對(duì)于實(shí)體關(guān)系的確定,則根據(jù)最鄰近原則。當(dāng)實(shí)體關(guān)系類別為非M 時(shí),若實(shí)體位置標(biāo)識(shí)為“1”,則其向后查找與之距離最近、具有相同關(guān)系類別且實(shí)體位置標(biāo)識(shí)為“2”的實(shí)體來(lái)組成三元組;若實(shí)體位置標(biāo)識(shí)為“2”,則其向前查找實(shí)體位置標(biāo)識(shí)為“1”的能與之匹配的實(shí)體。當(dāng)實(shí)體關(guān)系類別標(biāo)注為M 時(shí),該實(shí)體查找前后2 個(gè)方向上能與之匹配的實(shí)體,來(lái)組成知識(shí)三元組。
本文利用BiLSTM 模型實(shí)現(xiàn)對(duì)輸入序列的特征編碼,而在此之前需先在表示層將網(wǎng)絡(luò)安全文本轉(zhuǎn)化為低維、稠密的向量表示。為此,本文收集了大量網(wǎng)絡(luò)安全文本語(yǔ)料,包括AlienVault 威脅情報(bào)博客、welivesecurity 網(wǎng)絡(luò)安全博客、思科安全威脅類博客、CVE 漏洞描述以及近年來(lái)的APT 報(bào)告等,并利用word2vec 訓(xùn)練得到100 維的詞向量表示,用于獲取輸入序列詞級(jí)別的特征。此外,為進(jìn)一步加強(qiáng)序列的輸入特征表示,本文采用與文獻(xiàn)[24]中相同結(jié)構(gòu)的CNN 模塊來(lái)抽取所輸入的網(wǎng)絡(luò)安全句子序列的字符特征,最后將其與前述所得的詞級(jí)別特征拼接后共同輸入模型中。
在此基礎(chǔ)上,利用BiLSTM 模型實(shí)現(xiàn)對(duì)輸入序列的特征抽取。假設(shè)當(dāng)前時(shí)刻輸入向量xt,上一時(shí)刻所得隱藏狀態(tài)為ht?1,則在當(dāng)前時(shí)刻根據(jù)上下文信息學(xué)習(xí)到的特征可簡(jiǎn)要表示為
圖2 標(biāo)注策略示例
進(jìn)一步地,H={h1,h2,…,hT}作為BiLSTM 層的輸出,表示對(duì)輸入文本序列的特征編碼。
自注意力機(jī)制能夠直接學(xué)習(xí)句子中任意2 個(gè)詞之間的依存關(guān)系,并捕獲句子的內(nèi)部結(jié)構(gòu)信息,其在機(jī)器翻譯和語(yǔ)義角色標(biāo)注中已得到成功應(yīng)用。Cao 等[25]將自注意力機(jī)制用于中文命名實(shí)體識(shí)別任務(wù)中,使模型性能得到較大提升。具體地,文本序列經(jīng)過(guò) BiLSTM 層編碼后,得到特征向量H={h1,h2,…,hT},則自注意力機(jī)制計(jì)算過(guò)程為
盡管上述注意力機(jī)制在序列建模過(guò)程中有助于捕獲詞之間的依存性,但對(duì)句子中的不同詞而言,其注意力在對(duì)序列的上下文權(quán)重影響分配時(shí)保持不變,未考慮注意力分布的實(shí)際差異。本文借鑒文獻(xiàn)[26]的思路,結(jié)合前述自注意力機(jī)制,提出一種動(dòng)態(tài)注意力機(jī)制,以準(zhǔn)確捕獲詞之間的相互影響。在動(dòng)態(tài)注意力層,t時(shí)刻,將BiLSTM 層輸出的特征編碼th與自注意力機(jī)制對(duì)應(yīng)輸出ta的拼接結(jié)果[ht,at]通過(guò)sigmod 函數(shù)進(jìn)行濾波得到γt,接著進(jìn)行點(diǎn)乘操作得到εt,并將其作為門控循環(huán)單元(GRU,gated recurrent unit)的輸入,具體計(jì)算過(guò)程為
其中,Ws和θ為超參數(shù)矩陣。將G={g1,g2,…,gt}記作動(dòng)態(tài)注意力層的最終輸出結(jié)果,并將其輸入下層進(jìn)行解碼。
相比于采用CRF 作為標(biāo)簽解碼器,采用LSTM作為解碼器能夠顯著加快模型訓(xùn)練速度,且能夠達(dá)到與CRF 相當(dāng)?shù)男阅躘23]。面對(duì)序列標(biāo)注時(shí)存在的豐富的標(biāo)簽空間,本文參考Zheng等[8]使用的LSTM網(wǎng)絡(luò)作為解碼層以得到標(biāo)簽序列,解碼層LSTM 單元結(jié)構(gòu)如圖3 所示。
圖3 解碼層LSTM 單元結(jié)構(gòu)
對(duì)于當(dāng)前時(shí)刻單詞xt,使用LSTM 解碼獲得其標(biāo)簽時(shí),gt表示當(dāng)前時(shí)刻從動(dòng)態(tài)注意力層獲得的向量表示,Tt?1表示上一時(shí)刻詞的預(yù)測(cè)標(biāo)簽向量,表示上一時(shí)刻標(biāo)簽解碼輸出隱狀態(tài),表示上一時(shí)刻解碼所得細(xì)胞狀態(tài),則LSTM 解碼單元可形式化表示為
其中,σ和tanh 表示非線性激活函數(shù),分別表示LSTM 解碼單元的輸入門、遺忘門和輸出門,表示t時(shí)刻的細(xì)胞狀態(tài),表示輸出的隱狀態(tài)向量,則tT表示當(dāng)前單詞對(duì)應(yīng)的預(yù)測(cè)標(biāo)簽的向量。
在獲得預(yù)測(cè)標(biāo)簽向量的基礎(chǔ)上,進(jìn)一步運(yùn)用softmax 分類器計(jì)算標(biāo)簽概率,得到當(dāng)前單詞tx對(duì)應(yīng)第i個(gè)類別標(biāo)簽的概率為
其中,St=WsTt+bs表示當(dāng)前單詞xt在所有標(biāo)簽類別上的評(píng)分值,Ws表示softmax 分類器的權(quán)重矩陣,bs表示其偏置項(xiàng)。最終,得到對(duì)當(dāng)前單詞xt的預(yù)測(cè)標(biāo)簽為
不同于傳統(tǒng)的基于不確定性采樣的主動(dòng)學(xué)習(xí)方式,本文融合對(duì)抗學(xué)習(xí)思想來(lái)評(píng)估標(biāo)記數(shù)據(jù)和未標(biāo)記數(shù)據(jù)間的相似性,提出對(duì)抗主動(dòng)學(xué)習(xí)模式,以此增量地篩選出數(shù)據(jù)進(jìn)行標(biāo)記。
假設(shè)現(xiàn)有少量已標(biāo)記的數(shù)據(jù)構(gòu)成集合SL,未標(biāo)記的數(shù)據(jù)構(gòu)成集合SU。用sL和sU分別表示標(biāo)記數(shù)據(jù)和未標(biāo)記數(shù)據(jù),則從標(biāo)記數(shù)據(jù)集中選擇樣本記作sL~SL,從未標(biāo)記數(shù)據(jù)集中選擇樣本記作sU~SU。在對(duì)抗主動(dòng)學(xué)習(xí)模塊中,標(biāo)記樣本sL和未標(biāo)記樣本sU首先依次經(jīng)過(guò)表示層和BiLSTM 特征編碼層,得到隱層空間的特征向量表示HL和HU。通過(guò)訓(xùn)練一個(gè)判別器來(lái)評(píng)估隱空間中特征向量的相似性,而BiLSTM 特征編碼模型則與判別器模型構(gòu)成一個(gè)對(duì)抗網(wǎng)絡(luò)。在該對(duì)抗網(wǎng)絡(luò)中,編碼器BiLSTM 通過(guò)特征編碼,盡可能地使判別器誤認(rèn)為特征向量均來(lái)自標(biāo)記數(shù)據(jù)集,而判別器則盡可能地對(duì)隱空間中特征向量進(jìn)行區(qū)分。完成訓(xùn)練后,對(duì)于輸入的未標(biāo)記樣本,判別器輸出一個(gè)概率值來(lái)表示樣本來(lái)自兩類數(shù)據(jù)集合的概率,將其記作與標(biāo)記樣本的相似性得分。相似性得分高,表明未標(biāo)記樣本所包含的信息量已經(jīng)在標(biāo)記樣本中有所表達(dá);相似性得分低,表明未標(biāo)記樣本所包含的信息量標(biāo)記樣本未曾包含,該樣本需交專家進(jìn)行標(biāo)注。將標(biāo)注后的樣本加入標(biāo)簽訓(xùn)練集中,并對(duì)前述的聯(lián)合抽取模型重新進(jìn)行訓(xùn)練。
在對(duì)抗主動(dòng)學(xué)習(xí)模塊中,BiLSTM 特征編碼器類似于對(duì)抗網(wǎng)絡(luò)中的生成器模型,其目標(biāo)函數(shù)為最小化如式(18)所示的損失函數(shù)。
判別器的目標(biāo)函數(shù)為最小化如式(19)所示的損失函數(shù)。
綜合考慮前述聯(lián)合抽取模塊和對(duì)抗主動(dòng)學(xué)習(xí)中編碼器模塊,引入超參數(shù)λ調(diào)整兩類損失函數(shù),可得其在整個(gè)模型中的目標(biāo)函數(shù)為
上述對(duì)本文模型中聯(lián)合抽取模塊和對(duì)抗主動(dòng)學(xué)習(xí)模塊分別進(jìn)行了詳細(xì)的描述?;趯?duì)抗主動(dòng)學(xué)習(xí)算法增量地篩選出需要標(biāo)注的數(shù)據(jù),將其標(biāo)注后加入標(biāo)簽訓(xùn)練集,并對(duì)模型重新進(jìn)行訓(xùn)練。本文模型實(shí)現(xiàn)算法如算法1 所示。
算法1對(duì)抗主動(dòng)學(xué)習(xí)下的網(wǎng)絡(luò)安全知識(shí)三元組抽取算法.
輸入初始標(biāo)注訓(xùn)練集SL,未標(biāo)注數(shù)據(jù)集SU
輸出實(shí)體?關(guān)系三元組聯(lián)合抽取模型
epoch 從1 到N循環(huán)
1) 選擇標(biāo)記樣本sL~SL
2) 計(jì)算式(16)中的目標(biāo)函數(shù)LJE
3) 選擇未標(biāo)記樣本sU~SU
4) 計(jì)算式(18)中的目標(biāo)函數(shù)LG
5) 最小化式(20)中的目標(biāo)函數(shù)L來(lái)更新參數(shù)θJE和θG
6)最小化式(19)中的目標(biāo)函數(shù)LD來(lái)更新參數(shù)θD
7)計(jì)算所選樣本sU和sL間的相似性得分,并標(biāo)注得分較低的樣本
8) 將新標(biāo)注樣本添加到標(biāo)注訓(xùn)練集SL
結(jié)束循環(huán)
本文實(shí)驗(yàn)所使用的數(shù)據(jù)語(yǔ)料采集自兩部分:1)針對(duì)SemEval 2018 Task 8 發(fā)布的網(wǎng)絡(luò)安全語(yǔ)料,從中篩選得到500 條涉及惡意軟件行為和屬性的句子作為初始訓(xùn)練語(yǔ)料,另外篩選出1 464 條句子作為測(cè)試語(yǔ)料,并按照前文所述聯(lián)合標(biāo)注策略進(jìn)行標(biāo)注;2) 從AlienVault 社區(qū)、welivesecurity 社區(qū)、Amazon 安全博客以及近兩年的APT 報(bào)告中篩選得到7 425 條威脅情報(bào)語(yǔ)句,標(biāo)注后添加到訓(xùn)練集,用于對(duì)抗主動(dòng)學(xué)習(xí)模型的性能測(cè)試。此外,為比較聯(lián)合抽取模型與流水線模型的性能,針對(duì)上述所采集的語(yǔ)料,單獨(dú)構(gòu)建了流水線模式中用于命名實(shí)體識(shí)別和實(shí)體關(guān)系抽取的標(biāo)簽數(shù)據(jù)集。
本文在評(píng)價(jià)網(wǎng)絡(luò)安全實(shí)體?關(guān)系三元組聯(lián)合抽取結(jié)果時(shí),類比文獻(xiàn)[7]中對(duì)藥物實(shí)體?關(guān)系三元組識(shí)別結(jié)果的判斷方式可得,若網(wǎng)絡(luò)安全實(shí)體邊界及其類別均被模型標(biāo)記正確,則認(rèn)為實(shí)體識(shí)別結(jié)果正確;若網(wǎng)絡(luò)安全實(shí)體邊界、實(shí)體類別及所屬關(guān)系類別均被模型標(biāo)記正確,則判定關(guān)系抽取結(jié)果正確。針對(duì)網(wǎng)絡(luò)安全實(shí)體?關(guān)系聯(lián)合抽取性能的評(píng)價(jià),本文采用信息抽取任務(wù)中通用的評(píng)價(jià)指標(biāo),即通過(guò)準(zhǔn)確率P(precision)、召回率R(recall)以及F1 值(F1-score)3 項(xiàng)指標(biāo)來(lái)評(píng)價(jià)聯(lián)合抽取模型的性能,并將F1 值作為評(píng)價(jià)模型性能的綜合性指標(biāo)。本文模型涉及的主要超參數(shù)如表1 所示。
表1 本文模型涉及的主要超參數(shù)
由于本文將實(shí)體與關(guān)系的抽取聯(lián)合建模為序列標(biāo)注任務(wù),本節(jié)將所提聯(lián)合標(biāo)注模型與NLP 領(lǐng)域典型的序列標(biāo)注模型進(jìn)行比較,包括CRF 模型、BiLSTM-CRF 模型、基于自注意力機(jī)制的BiLSTMCRF 模型、基于自注意力機(jī)制的BiLSTM-LSTM 模型,并查看使用字符特征與否對(duì)模型性能的影響。將上述所列模型在完整的標(biāo)簽訓(xùn)練集上訓(xùn)練后評(píng)估模型性能,實(shí)驗(yàn)結(jié)果如表2 所示。表2 中“○”表示對(duì)應(yīng)模型使用了字符級(jí)的嵌入特征,“×”表示模型未使用該特征。
在完整標(biāo)簽訓(xùn)練集上完成訓(xùn)練后,相比幾類典型的序列標(biāo)注模型,本文所提融合動(dòng)態(tài)注意力機(jī)制的BiLSTM-LSTM 模型在實(shí)體與關(guān)系聯(lián)合標(biāo)注任務(wù)上性能最優(yōu),取得了64.57%的F1 值。通過(guò)比較可以看出,相較于單一使用CRF模型,在增添BiLSTM網(wǎng)絡(luò)進(jìn)行特征獲取后,模型性能得到提升,其原因可能是BiLSTM 在一定程度上解決了序列建模過(guò)程中的長(zhǎng)距離依賴問(wèn)題,在識(shí)別過(guò)程中能夠有效利用上下文信息。從表2 中可以看出,由于字符更關(guān)注詞本身的特征,在添加字符級(jí)別的嵌入特征后,BiLSTM-CRF 模型性能得到進(jìn)一步的提升,其F1值增加了1.6%,表明增加字符向量對(duì)于序列標(biāo)注的重要性。在此基礎(chǔ)上,再向BiLSTM-CRF 模型添加自注意力機(jī)制Self-att,BiLSTM-CRF 模型性能進(jìn)一步得到提升。通過(guò)對(duì)比可以得出,模型性能得到提升的原因可歸結(jié)為Self-att 機(jī)制的運(yùn)用,其通過(guò)捕獲詞之間的依存性,使所抽取的文本特征進(jìn)一步得到增強(qiáng),進(jìn)而使模型識(shí)別性能得到提升。此外,再將自注意力機(jī)制下BiLSTM-CRF 模型中的解碼器由CRF 更換為L(zhǎng)STM 網(wǎng)絡(luò)??梢钥闯?,兩者性能基本保持一致,表明LSTM 解碼能夠達(dá)到與傳統(tǒng)CRF 模型相當(dāng)?shù)男Ч?。且由于在?fù)雜標(biāo)簽空間中,LSTM 解碼優(yōu)于CRF 模型,模型F1 值有0.13%的微小提升。最后,將自注意力機(jī)制替換為本文的動(dòng)態(tài)注意力機(jī)制,由于考慮了自注意力權(quán)重分布的差異性,模型性能在F1 值上增加了1.46%,同時(shí)也證明本文所設(shè)計(jì)的動(dòng)態(tài)注意力機(jī)制是有效的。
表2 模型性能比較
如前文所述,當(dāng)前知識(shí)三元組的抽取主要分為基于先識(shí)別實(shí)體、后抽取關(guān)系的流水線框架,以及實(shí)體與關(guān)系的聯(lián)合抽取方法。本節(jié)利用典型的流水線框架與聯(lián)合抽取方法對(duì)網(wǎng)絡(luò)安全知識(shí)三元組的抽取性能進(jìn)行比較。
針對(duì)傳統(tǒng)的流水線框架,首先需要識(shí)別網(wǎng)絡(luò)安全語(yǔ)料中的命名實(shí)體,采用傳統(tǒng)方法中廣泛使用的BiLSTM-CRF 模型作為序列標(biāo)注工具來(lái)識(shí)別實(shí)體。在獲得實(shí)體識(shí)別結(jié)果的基礎(chǔ)上,對(duì)于網(wǎng)絡(luò)安全語(yǔ)義關(guān)系抽取任務(wù),本文分別采用端到端的 Att-PCNN_BiLSTM 模型[28]以及融合句法特征的SDP-LSTM 模型[29]進(jìn)行關(guān)系分類。針對(duì)聯(lián)合抽取方法,除本文提出的聯(lián)合抽取模型外,還采用傳統(tǒng)基于參數(shù)共享的聯(lián)合抽取方法,包括性能較好的BiLSTM_Bi-TreeLSTM 模 型[30]以 及 BiLSTMCRF-Multi_head 模型[31]。實(shí)驗(yàn)對(duì)比結(jié)果如表3 所示。
表3 三元組抽取方法比較
通過(guò)表3 可以看出,本文提出的融合了動(dòng)態(tài)注意力機(jī)制的BiLSTM-LSTM 模型在知識(shí)三元組抽取任務(wù)上表現(xiàn)出最優(yōu)的性能,取得了64.57%的F1 值。本文方法直接實(shí)現(xiàn)實(shí)體與關(guān)系端到端的聯(lián)合抽取,其有效利用了實(shí)體識(shí)別和關(guān)系抽取任務(wù)間的語(yǔ)義聯(lián)系,相較于流水線方式中性能較好的關(guān)系分類模型,模型性能有較大提升,表現(xiàn)為F1 值增加了3.7%。相較于基于參數(shù)共享的聯(lián)合抽取模型,本文的聯(lián)合抽取方法性能也更優(yōu),評(píng)估后發(fā)現(xiàn)F1 值比BiLSTM-CRF-Multi_head 模型提升了1.37%。雖然基于參數(shù)共享的聯(lián)合抽取方法也取得了不錯(cuò)的效果,但由于其本質(zhì)上還是先識(shí)別實(shí)體、后識(shí)別關(guān)系,仍然存在一定程度的錯(cuò)誤傳播與冗余信息。而本文提出的聯(lián)合抽取模型,基于對(duì)實(shí)體與關(guān)系的聯(lián)合標(biāo)注策略,隱式地考慮了實(shí)體識(shí)別與關(guān)系抽取任務(wù)間的聯(lián)系,表現(xiàn)出更優(yōu)的性能。
4.3 節(jié)對(duì)比了幾類知識(shí)三元組抽取方法,相較于流水線模式以及傳統(tǒng)的聯(lián)合抽取方法,本文模型整體上表現(xiàn)更佳。本節(jié)進(jìn)一步查看傳統(tǒng)流水線的Att-PCNN_BiLSTM 模型、BiLSTM-CRF-Multi_head聯(lián)合抽取模型以及本文聯(lián)合抽取模型對(duì)網(wǎng)絡(luò)安全知識(shí)三元組的抽取效果。示例結(jié)果如表4 所示,“[]”加粗表示能夠正確識(shí)別的實(shí)體,“”下劃線表示未能被識(shí)別的實(shí)體,實(shí)體下標(biāo)標(biāo)識(shí)了該實(shí)體所屬的關(guān)系類別。
針對(duì)示例1 中的網(wǎng)絡(luò)安全句子序列,相較于標(biāo)準(zhǔn)的抽取結(jié)果,所用的三類模型均能夠正確識(shí)別出相應(yīng)的實(shí)體及其類別。然而,對(duì)于流水線框架,基于此實(shí)體識(shí)別結(jié)果進(jìn)行關(guān)系預(yù)測(cè)時(shí),其將實(shí)體對(duì)間原本的語(yǔ)義關(guān)系“hasVulnerability”錯(cuò)誤地分類為關(guān)系“uses”,此結(jié)果可能由于未考慮實(shí)體識(shí)別與關(guān)系抽取任務(wù)間的聯(lián)系所致。而兩類聯(lián)合抽取模型則準(zhǔn)確地表達(dá)了其語(yǔ)義關(guān)系。
表4 三元組抽取結(jié)果示例
針對(duì)示例2,標(biāo)準(zhǔn)抽取結(jié)果應(yīng)該含有3 個(gè)實(shí)體,且實(shí)體“APT 28”參與了多重關(guān)系,對(duì)于此標(biāo)注結(jié)果,本文模型在準(zhǔn)確識(shí)別實(shí)體的同時(shí)還能準(zhǔn)確表達(dá)所有實(shí)體的關(guān)系類別。在流水線框架中,其未能識(shí)別出實(shí)體“spear phishing emails”。而基于參數(shù)共享的聯(lián)合抽取模型,對(duì)于實(shí)體“spear phishing emails”的識(shí)別出現(xiàn)邊界錯(cuò)誤,且其無(wú)法處理重疊關(guān)系問(wèn)題。
針對(duì)示例3,標(biāo)準(zhǔn)抽取結(jié)果理應(yīng)包含4 個(gè)相關(guān)實(shí)體,而三類模型均未能準(zhǔn)確識(shí)別出這些實(shí)體。對(duì)于流水線框架,其在實(shí)體識(shí)別時(shí)就產(chǎn)生較大的誤差,相應(yīng)地也只表達(dá)了惡意軟件及其指示器之間的“indicates”關(guān)系。對(duì)于基于參數(shù)共享的聯(lián)合抽取模型,其未能識(shí)別實(shí)體“.7z”,且實(shí)體“spear phishing email”邊界識(shí)別有誤,其三元組抽取結(jié)果也只表達(dá)了“indicates”關(guān)系。對(duì)于本文模型,雖然只遺漏了實(shí)體“.7z”,但其對(duì)實(shí)體“spear phishing email”的實(shí)體位置標(biāo)注錯(cuò)誤,導(dǎo)致其在組成三元組時(shí)未能被匹配,由此說(shuō)明本文方法在實(shí)體與關(guān)系的聯(lián)合識(shí)別中還有待改進(jìn)與優(yōu)化。
為驗(yàn)證本文所提對(duì)抗主動(dòng)學(xué)習(xí)模塊的有效性,分別以完整的標(biāo)簽訓(xùn)練集和通過(guò)對(duì)抗主動(dòng)學(xué)習(xí)篩選獲得的訓(xùn)練集來(lái)評(píng)估本文實(shí)體與關(guān)系聯(lián)合抽取模型的性能,評(píng)估結(jié)果如表5 所示??梢钥闯觯S著標(biāo)注數(shù)據(jù)量的增加,模型整體性能不斷提升。當(dāng)獲得全部標(biāo)注數(shù)據(jù)的45%,并對(duì)模型重新進(jìn)行訓(xùn)練時(shí),模型性能與使用完整標(biāo)簽訓(xùn)練集訓(xùn)練后的模型性能已經(jīng)非常接近,證明了本文所提對(duì)抗主動(dòng)學(xué)習(xí)算法的有效性。
此外,將本文提出的對(duì)抗主動(dòng)學(xué)習(xí),與常規(guī)的主動(dòng)學(xué)習(xí)算法進(jìn)行比較,包括最小置信度(LC,least confidence)算法、貝葉斯非一致主動(dòng)學(xué)習(xí)(BALD,Bayesian active learning by disagreement)以及最大歸一化對(duì)數(shù)概率(MNLP,maximum normalized log-probability)算法。運(yùn)用各模型逐次篩選得到不同規(guī)模的標(biāo)簽數(shù)據(jù),并評(píng)估模型性能,結(jié)果如圖4所示。相比之下,本文所提對(duì)抗主動(dòng)學(xué)習(xí)模型表現(xiàn)出最優(yōu)的性能。而基于LC 的主動(dòng)學(xué)習(xí)算法性能最差,其原因是LC 算法在采樣時(shí)通過(guò)序列標(biāo)注模型的輸出來(lái)計(jì)算不確定性,而復(fù)雜的標(biāo)簽空間導(dǎo)致其采樣準(zhǔn)確性較差。MNLP 算法和BALD 算法雖然在主動(dòng)采樣時(shí)對(duì)模型不確定性的計(jì)算進(jìn)行了一定的優(yōu)化,但其性能仍受到標(biāo)簽空間的影響。不同于復(fù)雜的不確定性計(jì)算,本文所提對(duì)抗主動(dòng)學(xué)習(xí)算法通過(guò)直接比較未標(biāo)記數(shù)據(jù)和標(biāo)記數(shù)據(jù)的相似性進(jìn)行采樣,在降低計(jì)算復(fù)雜度的同時(shí)提高了模型采樣的準(zhǔn)確率,其可實(shí)現(xiàn)以相對(duì)較低的數(shù)據(jù)標(biāo)注代價(jià)來(lái)逐步提升三元組抽取效果。
表5 不同規(guī)模標(biāo)注數(shù)據(jù)下的性能比較
圖4 主動(dòng)學(xué)習(xí)算法性能對(duì)比
為實(shí)現(xiàn)面向網(wǎng)絡(luò)安全領(lǐng)域知識(shí)三元組的抽取,本文提出了一種融合對(duì)抗主動(dòng)學(xué)習(xí)的網(wǎng)絡(luò)安全實(shí)體與關(guān)系聯(lián)合抽取模型。對(duì)于當(dāng)前網(wǎng)絡(luò)安全領(lǐng)域知識(shí)抽取流水線模式存在的問(wèn)題,提出基于聯(lián)合標(biāo)注策略將實(shí)體識(shí)別與關(guān)系抽取同時(shí)建模為一個(gè)序列標(biāo)注任務(wù),通過(guò)BiLSTM 網(wǎng)絡(luò)對(duì)輸入序列進(jìn)行特征編碼,并基于動(dòng)態(tài)注意力機(jī)制準(zhǔn)確捕獲詞之間的影響權(quán)重,在此基礎(chǔ)上利用LSTM 對(duì)標(biāo)簽進(jìn)行解碼預(yù)測(cè)。此外,針對(duì)網(wǎng)絡(luò)安全領(lǐng)域標(biāo)簽數(shù)據(jù)缺乏的問(wèn)題,提出基于對(duì)抗主動(dòng)學(xué)習(xí)框架,評(píng)估標(biāo)記樣本與未標(biāo)記樣本間的相似性得分,篩選出高質(zhì)量的樣本進(jìn)行標(biāo)注,實(shí)現(xiàn)以較低的標(biāo)注代價(jià)來(lái)提升模型性能。實(shí)驗(yàn)驗(yàn)證了本文所提對(duì)抗主動(dòng)學(xué)習(xí)框架的有效性,并對(duì)比已有網(wǎng)絡(luò)安全實(shí)體與關(guān)系抽取模型,表明本文所提序列標(biāo)注模型的性能更優(yōu)。