郭婷婷,劉嘉勇
(1.四川大學(xué)電子信息學(xué)院,成都 610065;2.四川大學(xué)網(wǎng)絡(luò)空間安全學(xué)院,成都 610065)
事件語料標(biāo)注本質(zhì)是事件提取,即從新聞報(bào)道等非結(jié)構(gòu)化文本中提取出包含事件信息的要素,并以結(jié)構(gòu)化形式呈現(xiàn)。事件抽取采用的方法主要有兩種,模式匹配和機(jī)器學(xué)習(xí)[1-2]。其中模式匹配是領(lǐng)域?qū)<医Y(jié)合領(lǐng)域知識(shí)和語言知識(shí)構(gòu)建目標(biāo)信息的上下文約束環(huán)境及組成規(guī)則,抽取時(shí)通過各種模式匹配算法找出符合模式約束條件的信息,該方法準(zhǔn)確率比較高,但是成本高而且領(lǐng)域移植性差。機(jī)器學(xué)習(xí)方法將事件抽取看成分類問題,人工干預(yù)較少,是目前常用方法,抽取結(jié)果的好壞取決于構(gòu)建的分類器以及所選取的特征,構(gòu)建的分類器需要訓(xùn)練才能達(dá)到較好的效果,此時(shí)作為訓(xùn)練文本來源的語料庫(kù)就很重要了。
目前常用的事件語料庫(kù)主要有自動(dòng)內(nèi)容抽取評(píng)測(cè)會(huì)議提供的ACE語料[3-4]、美國(guó)高級(jí)研究發(fā)展學(xué)會(huì)主辦的問題回答系統(tǒng)中的時(shí)間和事件的識(shí)別會(huì)議的Time?Bank語料[5]以及上海大學(xué)語義智能實(shí)驗(yàn)室構(gòu)建的中文突發(fā)事件CEC語料[6]。ACE評(píng)測(cè)會(huì)議將事件抽取這項(xiàng)任務(wù)定義為:識(shí)別特定類型的事件并進(jìn)行相關(guān)信息的確定和抽取,關(guān)注的主要信息包括,事件的類型和子類型、事件元素角色等,ACE評(píng)測(cè)語料中定義了8個(gè)大的事件類型和33個(gè)事件子類,但是并不包括信息安全類事件,每種事件對(duì)應(yīng)唯一的模板;TimeBank語料標(biāo)注了事件、時(shí)間、時(shí)間指示詞以及事件和時(shí)間之間的關(guān)聯(lián)關(guān)系等它采用了一種改進(jìn)的XML語言TimeML進(jìn)行標(biāo)注,更關(guān)注事件的時(shí)間信息。CEC語料采用XML語言作為標(biāo)注格式,其中包含了事件(Event)標(biāo)簽和其他5個(gè)事件要素:觸發(fā)詞(Denoter)、時(shí)間(Time)、地點(diǎn)(Lo?cation)、參與者(Participant)和對(duì)象(Object)。
與ACE和TimeBank語料庫(kù)相比,CEC語料庫(kù)的規(guī)模雖然偏小,但是它對(duì)語料的標(biāo)注更全面,也與本文期望的信息安全事件語料中興趣點(diǎn)更貼合。目前國(guó)內(nèi)缺少大規(guī)模的信息安全語料庫(kù)作為研究工作的支撐,本文在學(xué)習(xí)CEC語料庫(kù)標(biāo)注規(guī)范基礎(chǔ)上,人工對(duì)語料進(jìn)行標(biāo)注。在傳統(tǒng)事件識(shí)別只利用詞匯、詞性信息構(gòu)造特征向量的基礎(chǔ)上,引入詞與父節(jié)點(diǎn)的關(guān)系和語義角色來構(gòu)造特征向量,采用CRF機(jī)器學(xué)習(xí)算法實(shí)現(xiàn)事件語料標(biāo)注。
事件作為一種信息的表現(xiàn)形式,是指特定人、物在特定的時(shí)間,地點(diǎn)發(fā)生相互作用的客觀事實(shí),通常是句子級(jí)的?,F(xiàn)在還有一些跨篇章的事件抽取,針對(duì)的是以某個(gè)主題為中心的一組事件描述,但本文研究的標(biāo)注方法致力于句子級(jí)的事件描述,對(duì)于篇章類的描述,首先會(huì)進(jìn)行段落和句子的切分,然后再做事件要素的標(biāo)注,事件要素就是事件中關(guān)注的興趣點(diǎn),事件要素又包括觸發(fā)詞(Denoter)和事件元素(Time、Location、Par?ticipant、Object)。
中文突發(fā)事件語料庫(kù)(CEC)是由上海大學(xué)所構(gòu)建,從互聯(lián)網(wǎng)上收集5類(交通事故、地震、恐怖襲擊、火災(zāi)和食物中毒)突發(fā)事件的新聞報(bào)道作為生語料,然后再對(duì)生語料進(jìn)行文本預(yù)處理、文本分析、事件標(biāo)注以及一致性檢查等處理,最后生成的XML結(jié)構(gòu)的標(biāo)注結(jié)果。
對(duì)于一篇新聞報(bào)道,CEC語料標(biāo)注方法首先將所有內(nèi)容封裝到
中,文章標(biāo)題標(biāo)記為對(duì)CEC語料標(biāo)注結(jié)果進(jìn)行分析,CEC語料中出現(xiàn)的事件總和為5954,而觸發(fā)詞的個(gè)數(shù)也是5954,觸發(fā)詞和事件是一一對(duì)應(yīng)的,如果一個(gè)句子中有觸發(fā)詞,則認(rèn)為這是一個(gè)事件。利用LTP平臺(tái)對(duì)CEC生語料(未標(biāo)注前的新聞文本)處理后,將得到的結(jié)果與CEC語料標(biāo)注結(jié)果做比對(duì),可以發(fā)現(xiàn)事件中觸發(fā)詞是動(dòng)詞、名詞或其組合形式的個(gè)數(shù)是5548,在所有觸發(fā)詞中占比超過九成,所以在后續(xù)語料標(biāo)注中詞性會(huì)作為標(biāo)注模型的重要特征。
根據(jù)中央標(biāo)準(zhǔn)《信息安全技術(shù)信息安全事件分類分級(jí)指南》以及中央網(wǎng)興辦發(fā)布的《國(guó)家網(wǎng)絡(luò)安全事件應(yīng)急預(yù)案》可知,信息安全事件是指由于人為原因、軟硬件缺陷或故障、自然災(zāi)害等,對(duì)網(wǎng)絡(luò)和信息系統(tǒng)或者其中的數(shù)據(jù)造成危害,對(duì)社會(huì)造成負(fù)面影響的事件??煞譃橛泻Τ绦蚴录?、網(wǎng)絡(luò)攻擊事件、信息破壞事件、信息內(nèi)容安全事件、設(shè)備設(shè)施故障、災(zāi)害性事件和其他事件。
信息安全事件和突發(fā)事件相比,特殊性在于信息安全事件中參與者可能不是傳統(tǒng)意義上的人,雖然部分事件描述中也有此類信息,例如事件中出現(xiàn)的攻擊人、組織,但所占比例較小。信息安全事件要素中的參與者(Participant)更偏向于軟件、供應(yīng)商、應(yīng)用程序名稱、硬件、操作系統(tǒng)等,例如“Twitter再現(xiàn)Windows 0 day漏洞”這樣的報(bào)道中,我們認(rèn)為“Twitter”就是信息安全事件中關(guān)注的
所以在借鑒CEC語料對(duì)事件的標(biāo)注規(guī)則基礎(chǔ)上,結(jié)合信息安全領(lǐng)域我們的關(guān)注點(diǎn),對(duì)于事件標(biāo)注保留了觸發(fā)詞和事件元素基本的特征,并選擇了信息安全領(lǐng)域新聞報(bào)道進(jìn)行深入分析。其中,觸發(fā)詞(Denoter)是指在文本中能明確表示事件發(fā)生的詞語,事件其他元素包括事件的時(shí)間(Time)、地點(diǎn)(Position)、參與者(Participant,事件中參與主體或客體,可能是人、組織或軟硬件、操作系統(tǒng)等),其他對(duì)象(Object)。本文提出的信息安全事件語料標(biāo)注方法包括三個(gè)部分分別是預(yù)處理,事件要素標(biāo)注和XML結(jié)果生成和校驗(yàn),本文的重點(diǎn)在于中間的事件要素標(biāo)注部分,標(biāo)注流程如圖1所示。
圖1 標(biāo)注流程
標(biāo)簽,分句使用“。?!”等標(biāo)點(diǎn)符號(hào)來做正則匹配,都比較容易,而且準(zhǔn)確率較高,所以此處不做過多介紹。到了句子層級(jí),本文采用哈爾濱工業(yè)大學(xué)開發(fā)的語言技術(shù)平臺(tái)(LTP)來完成初期的準(zhǔn)備工作,該平臺(tái)目前在中文文本處理領(lǐng)域非常有影響力,提供包括中文分詞、詞性標(biāo)注、命名實(shí)體識(shí)別、依存句法分析、語義角色標(biāo)注等豐富、高效的自然語言處理技術(shù)。
將新聞文本通過LTP語言技術(shù)平臺(tái)處理過后,可以得到如圖2所示的分析結(jié)果。
圖2 LTP API分析結(jié)果
圖2中第一行是分詞結(jié)果,第二行是第一行對(duì)應(yīng)分詞的id,第三行表示分詞對(duì)應(yīng)結(jié)果的詞性,第四行是實(shí)體識(shí)別結(jié)果,第五行表示依存句法分析結(jié)果,第六行是該分詞父節(jié)點(diǎn)id,第七行表示分詞的語義角色。LTP中詞性標(biāo)注集使用的是863標(biāo)注集,命名實(shí)體識(shí)別采用的是O-S-B-I-E的標(biāo)注形式,具體含義如表1表示。
表1 O-S-B-I-E標(biāo)注含義
LTP平臺(tái)實(shí)體識(shí)別模塊目前主要識(shí)別人名(Nh)、地名(Ns)、機(jī)構(gòu)名(Ni)三種實(shí)體,而給出的例子中沒有屬于這三種實(shí)體中的一種,所以實(shí)體識(shí)別結(jié)果全部都是‘O’;依存句法分析結(jié)果中出現(xiàn)的‘ATT’表示定中關(guān)系,‘ADV’表示狀中結(jié)構(gòu),‘SBV’表示主謂關(guān)系,‘HED’表示核心關(guān)系,即觸發(fā)詞所在的關(guān)系,是整個(gè)句子的核心;語義角色中包括核心語義角色和附加語義角色,A0-A5表示核心語義角色,A0表示動(dòng)作的施事,A1表示動(dòng)作帶來的影響,TMP是附加語義角色,表示時(shí)間,關(guān)于依存句法分析以及語義角色標(biāo)注結(jié)果其他具體解釋可參考LTP使用文檔[8]。
(1)模型概述
在得到LTP對(duì)文本的分析結(jié)果后,將觸發(fā)詞和事件其他元素的標(biāo)注看成是序列標(biāo)注問題。序列標(biāo)注常見的算法有隱馬爾科夫模型(HMM)、最大熵模型(ME)以及條件隨機(jī)場(chǎng)(CRF)模型[9]。假設(shè)模型輸入為X,輸出是一個(gè)序列Y=(yi)i∈V,隨機(jī)變量X和Y是聯(lián)合分布,P(Y|X)表示觀察序列和標(biāo)記序列的條件概率模型,P(X)表示隱含的邊緣概率模型。
因?yàn)镃RF相比于HMM沒有嚴(yán)格的獨(dú)立性假設(shè),可以充分利用上下文信息,而且CRF統(tǒng)計(jì)了全局概率,考慮了數(shù)據(jù)在全局的分布,而不是僅僅在局部歸一化,解決了ME中的標(biāo)記偏置問題,所以本文選用CRF模型對(duì)事件要素進(jìn)行標(biāo)注。
CRF是一種無向圖模型,對(duì)條件分布P(Y|X)進(jìn)行建模。序列標(biāo)注使用的是特殊的條件隨機(jī)場(chǎng)—線性鏈條 件 隨 機(jī) 場(chǎng) 。 其 數(shù) 學(xué) 定 義 是 :設(shè) X=(x1,x2,...,xn) ,Y=(y1,y2,...,yn)都是線性鏈的隨機(jī)變量序列,若在給定隨機(jī)序列X的條件下,隨機(jī)變量序列Y的條件概率分布P(Y|X)滿足馬爾科夫性:
(2)特征選擇
特征選擇對(duì)于模型效果有著直接的影響,傳統(tǒng)事件識(shí)別只利用詞匯、詞性信息構(gòu)造特征向量,通過對(duì)CEC語料分析可知,詞性和詞語所處的上下文環(huán)境很重要,詞的語義特征對(duì)于事件的描述也很關(guān)鍵,除了平面特征,句子結(jié)構(gòu)也要考慮,所以本文使用的CRF模型選取的特征包括:
①候選詞及其詞性
②候選詞實(shí)體標(biāo)注結(jié)果
③候選詞和父節(jié)點(diǎn)的句法關(guān)系
④候選詞的語義角色特征
舉個(gè)例子來說明特征構(gòu)成。例如:“境外黑客組織“白象”蟄伏一段時(shí)間后,于今年3月上旬對(duì)國(guó)內(nèi)發(fā)起攻擊?!奔僭O(shè)“發(fā)起”作為候選詞,抽取特征為:
①“發(fā)起/v”
②“O”
③候選詞與父節(jié)點(diǎn)的句法關(guān)系是“HED”
④候選詞的語義角色特征即動(dòng)詞
訓(xùn)練語料是在LTP分析基礎(chǔ)上,人工對(duì)每個(gè)分詞進(jìn)行標(biāo)注,判斷其屬于關(guān)注的事件要素Denoter、Time、Location、Participant、Object中的哪個(gè)。
CRF模型的輸入如圖3所示。
圖3 CRF模型輸入格式
使用新聞文本的上述特征作為輸入后,可以得出最后一列特征的概率分布,即會(huì)得出一個(gè)分詞是Time、Denoter、Location、Object、Participant或 null的概率。如果用信息安全領(lǐng)域語料進(jìn)行訓(xùn)練,則該領(lǐng)域較常用的結(jié)構(gòu)化表達(dá)和常見的詞語會(huì)使分詞被標(biāo)記為其中一個(gè)標(biāo)簽的概率大一些,本文選擇其中概率最大的作為該分詞最后的標(biāo)注標(biāo)簽。
本文最終的語料標(biāo)注結(jié)果參照CEC語料,以XML形式表示,生成過程共包含以下幾步:
第一步:調(diào)用LTP API處理文本,設(shè)置返回結(jié)果格式為XML,如圖4所示。
第二步:將LTP分析結(jié)果以及人工標(biāo)注結(jié)果整理成CRF模型要求的輸入形式,利用訓(xùn)練好的CRF模型對(duì)新的語料進(jìn)行標(biāo)注
第三步:XML結(jié)果中
第四步:將CRF模型標(biāo)注出的其他事件要素用相應(yīng)的標(biāo)簽標(biāo)出,標(biāo)記為null的詞不做處理;
第五步:在一個(gè)
為了保證標(biāo)簽的正確嵌套,本文利用DTD對(duì)XML文件的結(jié)構(gòu)和嵌套要素進(jìn)行格式校驗(yàn)。
圖4 LTP API的XML格式結(jié)果
(1)實(shí)驗(yàn)數(shù)據(jù)
本文的數(shù)據(jù)源是收集自Tools網(wǎng)站的信息安全類新聞文本1060篇,對(duì)新聞?wù)M(jìn)行人工標(biāo)注,將原始新聞文本做分句處理,之后利用LTP API對(duì)句子進(jìn)行分析,將分詞的詞性、實(shí)體識(shí)別結(jié)果、與父節(jié)點(diǎn)的關(guān)系、語義角色以及人工標(biāo)注的事件元素標(biāo)簽融合構(gòu)建CRF模型的特征向量。
(2)評(píng)價(jià)標(biāo)準(zhǔn)
本文使用自然語言處理中常采用的評(píng)價(jià)指標(biāo)準(zhǔn)確率P、召回率R和F值對(duì)模型的性能進(jìn)行評(píng)價(jià)[6-7]。定義使用模型正確標(biāo)注的事件要素個(gè)數(shù)為Nright,模型標(biāo)注出的事件要素總個(gè)數(shù)為Ncrftag,人工標(biāo)注的事件要素總個(gè)數(shù)為Npertag。因?yàn)槟壳皼]有公開權(quán)威的對(duì)比語料,暫且認(rèn)為人工標(biāo)注的語料準(zhǔn)確率比較高,計(jì)算召回率的時(shí)候,將模型標(biāo)注和人工標(biāo)注結(jié)果均值作為分母,各指標(biāo)計(jì)算方式如下:
(1)實(shí)驗(yàn)一信息安全事件要素識(shí)別
人工對(duì)于1060篇信息安全事件的新聞?wù)M(jìn)行標(biāo)注,隨機(jī)選擇其中800篇將LTP分析結(jié)果和人工標(biāo)注結(jié)果結(jié)合,作為CRF模型的特征向量用于訓(xùn)練,這其中包含3489個(gè)事件,然后利用訓(xùn)練好的模型對(duì)剩下的260篇做測(cè)試。測(cè)試語料中標(biāo)注的事件要素個(gè)數(shù)統(tǒng)計(jì)如表2所示,實(shí)驗(yàn)結(jié)果如表3所示。
表2 多特征CRF模型對(duì)信息安全新聞?wù)惺录貥?biāo)注統(tǒng)計(jì)
表3 多特征CRF模型對(duì)信息安全新聞?wù)录?biāo)注實(shí)驗(yàn)結(jié)果
由實(shí)驗(yàn)結(jié)果可以看出,利用本文提出的多特征融合的CRF模型對(duì)信息安全事件中的事件要素提取F值都超過60%,說明該模型是有效的。其中Time要素結(jié)構(gòu)比較單一,識(shí)別效果最好;Denoter識(shí)別效果也不錯(cuò),但是準(zhǔn)確率不夠高,經(jīng)分析可能原因是預(yù)處理結(jié)果不理想,例如“攻擊”一詞在普通事件中常作為動(dòng)詞,就是一個(gè)事件中的Denoter,如“李某瘋狂攻擊他人”,而信息安全事件中攻擊經(jīng)常是名詞,通常是事件要素中的 Object,如“對(duì)國(guó)內(nèi)發(fā)起攻擊”或者“XSS攻擊”,這種不足可以通過構(gòu)建信息安全領(lǐng)域觸發(fā)詞表改進(jìn);Partic?ipant和Object成分復(fù)雜,尤其Participant標(biāo)簽中涵蓋內(nèi)容過多,所以模型識(shí)別效果還有較大提升空間。
(2)實(shí)驗(yàn)二與只使用常用特征的CRF模型標(biāo)注作對(duì)比實(shí)驗(yàn)
為了更客觀地說明多特征融合的CRF模型的有效性,選用常用特征CRF模型作對(duì)比實(shí)驗(yàn)。實(shí)驗(yàn)語料和步驟與實(shí)驗(yàn)一基本相同,只是構(gòu)建特征向量時(shí)不加入句法和語義角色特征。多特征融合的CRF模型實(shí)驗(yàn)結(jié)果如實(shí)驗(yàn)一中表3所示,只使用常用特征的CRF模型對(duì)事件標(biāo)注要素個(gè)數(shù)統(tǒng)計(jì)如表4所示,實(shí)驗(yàn)結(jié)果如表5所示,對(duì)比實(shí)驗(yàn)結(jié)果如圖5所示。
表4 常用特征CRF模型對(duì)信息安全新聞?wù)Z料要素標(biāo)注統(tǒng)計(jì)
表5 常用特征CRF模型對(duì)信息安全新聞事件標(biāo)注實(shí)驗(yàn)結(jié)果
圖5 多特征CRF模型和簡(jiǎn)單CRF模型對(duì)比圖
分析實(shí)驗(yàn)結(jié)果,本文提出的CRF模型相比較只使用常用特征的CRF模型而言,Denoter的F值提升12.3%,Time的F值提升17.77%,Location的F值提升11.91%,Participant的F值提升10.82%,Object的F值提升21.26%。由對(duì)比結(jié)果圖可直觀看出,加入句法特征和語義角色特征后模型對(duì)每種事件要素的識(shí)別率都有了顯著地提高。
本文提出一種將信息安全新聞文本標(biāo)注為事件語料的方法,提高了語料標(biāo)注的效率。其中使用的CRF模型在構(gòu)建特征向量時(shí),除了常用特征外,還加入了候選詞與其父節(jié)點(diǎn)的句法關(guān)系特征以及語義角色特征,實(shí)驗(yàn)證明有一定的效果。對(duì)于構(gòu)建大規(guī)模語料庫(kù)時(shí),這種方法可以作為人工標(biāo)注的前期工作,減少人力成本,加快標(biāo)注速度。
當(dāng)然本文提出的方法還有很大改進(jìn)空間,針對(duì)信息安全領(lǐng)域的觸發(fā)詞和事件元素識(shí)別,后續(xù)可以考慮構(gòu)建自定義的信息安全領(lǐng)域事件要素詞典,然后和機(jī)器學(xué)習(xí)的模型相結(jié)合,進(jìn)而識(shí)別出事件所屬類別。除此之外,一篇語料會(huì)存在多個(gè)事件,事件之間會(huì)存在語義上的關(guān)系,這對(duì)于后續(xù)的事件分析很重要,現(xiàn)在的標(biāo)注方案沒有將其考慮在內(nèi),可以在此方面繼續(xù)做深入研究。