張 晗 郭淵博 李 濤
1(戰(zhàn)略支援部隊信息工程大學密碼工程學院 鄭州 450001)2(鄭州大學軟件學院 鄭州 450001)
領域命名實體識別(named entity recognition, NER)[1]旨在從文本中提取出各種類型的實體,其結(jié)果可用于領域中后續(xù)的其他復雜任務諸如關系提取、領域知識圖譜的構建等.與通用領域的命名實體識別任務相比,特殊領域的命名實體識別經(jīng)常會面臨著領域標注數(shù)據(jù)缺乏以及由于領域內(nèi)實體名稱的多樣性而導致的同一文檔中實體標注不一致問題[2].
為了解決由于領域內(nèi)標注數(shù)據(jù)缺乏而導致的模型性能問題,文獻[3]提出使用具有大量標注數(shù)據(jù)的通用領域數(shù)據(jù)集(如新聞領域)來訓練模型,使得模型可以從中學習到更多特定領域的特征分布,從而提高模型在特定領域數(shù)據(jù)上的性能.但是顯然使用通用領域訓練數(shù)據(jù)中的詞匯特征分布來估計專業(yè)領域中的數(shù)據(jù)特征分布會導致偏差太大的問題.為了快速高效且低成本地獲取領域內(nèi)大型標注數(shù)據(jù)集,文獻[4]提出可以使用Amazon Mechanical Turk來快速且低成本地收集標簽數(shù)據(jù),并且證明了眾包標注數(shù)據(jù)對于訓練模型來說是可用的.相比于專家標注來說,眾包具有低成本、大規(guī)模等優(yōu)點,因此隨著眾包技術的成熟,國內(nèi)外眾包的應用也越加廣泛,其中以亞馬遜的Amazon Mechanical Turk和維基百科最為著名.目前,國內(nèi)也出現(xiàn)了不少眾包平臺,如百度眾包、阿里眾包和搜狗輸入法等.這些眾包平臺大都屬于通用眾包平臺,雖然準確率經(jīng)過平臺篩選之后還算理想,但是,針對專業(yè)領域來說,其缺點也非常明顯,這些來自于非專業(yè)人員的標注數(shù)據(jù)遠遠要比來自于專家標注的數(shù)據(jù)質(zhì)量低并且含有極大的噪聲,這部分數(shù)據(jù)如果直接拿來使用,會給模型造成偏差.因此需要針對眾包標注數(shù)據(jù)的質(zhì)量進行建模,整合出高質(zhì)量的共識標注.文獻[5]采用多數(shù)投票法來實現(xiàn)高質(zhì)量共識標注.這種方法盡管可以獲得較高質(zhì)量的標注數(shù)據(jù),但是需要耗費大量的人力,同樣的一句話需要交由至少3個注釋者標注,這樣才能通過多數(shù)投票法選取出相對準確的標注.而且對于一些本身含義就比較模糊的句子或者實體,標注者之間可能很難達到統(tǒng)一,這樣無疑會影響到最終選擇結(jié)果的正確性.
除此之外,目前常用來進行命名實體識別任務的模型,如條件隨機場(conditional random field, CRF)[6]模型、雙向長短記憶網(wǎng)絡+條件隨機場(bi-directional long short-term memory+conditional random field, BiLSTM-CRF)[7]模型,大都僅僅只是從單詞和句子層面來考慮單詞的特征表示.但是由于這些模型自身設計的限制,輸入序列無論長短都會編碼成一個固定長度的向量表示,當輸入序列過長時,編碼器可能會丟掉上下文中一些比較重要的特征信息,這樣就容易造成因為實體名稱多樣化所帶來的同一文檔中實體標注不一致問題.例如:Internet Explorer和IE指代的是同一個實體,但是由于表示方法不同以及在文中位置不同,很可能會出現(xiàn)兩者標注不一致的情況,從而影響到后續(xù)任務的完成效果.為了提高模型的性能,文獻[8]在BiLSTM-CRF模型的基礎上添加了注意力(attention)機制,它打破了傳統(tǒng)編碼器-解碼器結(jié)構在編解碼時都依賴于內(nèi)部一個固定長度向量的限制,可以通過訓練一個模型來對輸入字符串的特征進行重點選擇性學習并且在模型輸出時將輸出序列與各選擇特征按照權重進行關聯(lián).但是這種模型如果要達到比較理想的效果,在訓練時要求用到更加大量準確的標注數(shù)據(jù).生成式對抗網(wǎng)絡(generative adversarial network, GAN)模型具有生成數(shù)據(jù)的特點,而Goodfellow等人[9]從理論上證明了當GAN模型收斂時,生成數(shù)據(jù)具有和真實數(shù)據(jù)相同的分布[10].
基于GAN的這個特點,本文在眾包標注數(shù)據(jù)集中引入GAN模型,以少量專家標注數(shù)據(jù)作為判別器中的真實數(shù)據(jù),以眾包標注數(shù)據(jù)作為生成器所生成的模擬數(shù)據(jù),通過對抗學習,整合出眾包標注數(shù)據(jù)中與真實數(shù)據(jù)分布一致的正樣本數(shù)據(jù)并將其與BiLSTM-Attention-CRF模型相結(jié)合,提出了一種新的模型BiLSTM-Attention-CRF-crowd,該模型由GAN和BiLSTM-Attention-CRF這2個子模型組成.首先,通過GAN模型在給定的眾包標注數(shù)據(jù)集上尋找出標注數(shù)據(jù)的共有特征以整合出最佳的唯一共識標注,解決目前眾包數(shù)據(jù)中質(zhì)量不高的問題;然后使用通過GAN模型所生成的標注數(shù)據(jù)來訓練BiLSTM-Attention-CRF模型進行領域命名實體識別,并引入文檔層面的全局特征向量,通過計算每個單詞與全局向量的關系得出其新的特征表示,以解決同一實體在同一文檔中可能出現(xiàn)的標記不一致問題.
相對于在計算機視覺領域的應用,GAN模型在語言處理領域的應用較少,原因在于圖像和視頻數(shù)據(jù)的取值是連續(xù)的,可直接使用梯度下降法對生成器和判別器進行訓練,而文本中的字母、單詞都是離散的,無法直接應用梯度下降法,需要對其進行修改.文獻[11]所提出的TextGAN模型采用一些技巧對離散變量進行處理,例如,采用光滑近似來逼近長短記憶網(wǎng)絡(long short-term memory, LSTM)的離散輸出,并在生成器訓練過程中采用特征匹配技術.由于LSTM 的參數(shù)明顯多于卷積神經(jīng)網(wǎng)絡(convolutional neural network, CNN)的參數(shù)個數(shù)而更難訓練,TextGAN 的判別器僅在生成器多次更新后才進行一次更新.文獻[12]提出的SeqGAN借鑒強化學習處理離散輸出問題,將判別器輸出的誤差視為強化學習中的獎賞值,并將生成器的訓練過程看作強化學習中的決策過程,應用于詩句、演講文本以及音樂生成.文獻[13]和文獻[14]分別將GAN 應用于開放式對話文本生成和上下文無關語法(context-free grammar, CFG)[10].本文主要借鑒了文獻[11]中對離散變量的處理方法及其進行特征匹配的目標函數(shù).
文獻[15]提出了一種從多個標簽中進行學習的條件隨機場(conditional random field, CRF)模型,但是CRF可以學習的特征是有限的;文獻[16]所提Dawid&Skene模型假定每一個標注者出現(xiàn)每一類標注錯誤的概率確定,這樣就可以用一個統(tǒng)一的混淆矩陣來描述標注者的標注質(zhì)量,最后通過最大似然估計就可以得到所有的實體標注概率,其中也包括每個實體的正確標注.這屬于比較理想化的情況,在實際應用中,由于眾包數(shù)據(jù)來源的多樣性,很難確定每個標注者的錯誤概率.文獻[17-19]雖然所使用的模型不同,但其本質(zhì)都是對標注者身份進行區(qū)別,將標注正確率較高的標注者身份提取出來,從而提高他們標注的可信度,這樣做確實提高了模型的性能,但是對標注的選取過于依賴某個標注者的可信度.
為解決實體標記不一致問題,通常采用基于規(guī)則的后處理方式來強調(diào)標記一致性.如文獻[20]中設置規(guī)則如果某實體在文檔中被NER模型至少標記了2次,則在該文檔中其他位置出現(xiàn)的該實體也被標記同樣的類別.但是這種后處理方式并不一定能改善模型的性能,反而可能會因為實體被錯誤地標記而引入更多的噪聲.此外,文獻[1]和文獻[2]通過使用非本地信息來強調(diào)標簽的一致性從而提高序列模型的性能,但收效并非十分明顯.文獻[21]提出的模型雖然也考慮了文檔層面的特征表示,但該模型應用于化學領域,該領域內(nèi)有很多公開標注的數(shù)據(jù)集可以直接進行使用,無需再考慮領域數(shù)據(jù)缺乏的問題.
本文所提模型不再對標注者身份進行鑒別,而是利用GAN模型生成數(shù)據(jù)的特點,從眾包標注數(shù)據(jù)集中生成與專家標注數(shù)據(jù)趨于一致的標注數(shù)據(jù),從而解決領域內(nèi)標注數(shù)據(jù)準確率不高的問題.
模型所要完成的任務包括2個方面.子任務1:學習眾包標注數(shù)據(jù)的共有特征,以整合出最優(yōu)的單一共識標注;子任務2:以子任務1所生成的標注數(shù)據(jù)集作為訓練數(shù)據(jù),訓練BiLSTM-Attention-CRF模型進行領域內(nèi)命名實體識別并解決同一文檔內(nèi)同一實體標記不一致問題.模型圖如圖1所示.
Fig. 1 Model diagram圖1 模型圖
GAN模型以博弈論中二人零和博弈為核心思想.結(jié)構中包含2個模型:生成模型和判別模型,將隨機變量作為生成模型的輸入,經(jīng)過其非線性映射,輸出對應的信號作為判別模型的輸入,由判別模型來判斷該信號來自于真實數(shù)據(jù)的概率.因此,二者的目標是截然相反的,判斷模型的目標是通過最大化對數(shù)似然函數(shù)以判斷信號的來源,而生成模型的目標則是最小化對數(shù)似然函數(shù),使得輸出信號的分布逼近于真實數(shù)據(jù)的分布.
本文將對抗思想應用于尋找眾包標注數(shù)據(jù)中的共同特征.因此將不再對標注者的標注質(zhì)量進行評價估計,而是利用GAN模型可以生成數(shù)據(jù)的思想,先利用少量的專家標注數(shù)據(jù)訓練出一個判別模型,然后將眾包標注數(shù)據(jù)作為生成模型的輸入,輸出這些數(shù)據(jù)的特征分布傳遞給判別模型,由判別模型來進行判斷生成的特征分布與真實數(shù)據(jù)的特征分布的異同,反復訓練模型并生成數(shù)據(jù),直到最后判別器無法再對二者進行區(qū)別為止,此時判別模型所輸出的結(jié)果即是標注數(shù)據(jù)的共同特征也即是我們要整合出的最優(yōu)單一共識標注.GAN模型如圖1左側(cè)框圖所示,主要由2部分組成:BiLSTM-Attention構成的生成模型以及CNN構成的判別模型.CNN上面的max_pooling層和softmax層主要是對CNN層生成的特征圖進行最大化選擇以及對選擇之后的新特征進行歸一化,以此判斷是否與訓練CNN的專家標注數(shù)據(jù)特征分布一致.
2.1.1 BiLSTM-Attention生成模型
(1)
其中,BiLs作為模型BiLSTM的縮寫.為了獲取到更加重要的特征,此時,在判別模型CNN之前再加上一層Attention機制以獲得新的特征hi:
(2)
其中,Wa為模型參數(shù).
2.1.2 CNN判別模型
(3)
其中,Wc為CNN模型參數(shù),在接下來的池化層,我們選用max-over-time pooling[18]的方法選取出最大值hnew:
(4)
該池化方法認為具有最高值的特征才是最重要的特征,有效地過濾掉信息量較少的單詞組合,并且可以保證提取的特征與輸入句子的長度無關.
通過一個softmax層來將特征hnew映射到輸出D(hnew)∈[0,1],以此來判斷輸入特征是否與專家標注數(shù)據(jù)特征分布一致.
2.1.3 模型目標
我們采用了文獻[11]中類似特征匹配的方法,設S為專家標注數(shù)據(jù)集,迭代優(yōu)化生成式對抗網(wǎng)絡模型目標函數(shù)為
minimizing:
(5)
minimizing:
(6)
(7)
其中,°表示元素積運算,V是用于計算單詞分布的權重矩陣,We為模型參數(shù),當L→時,該公式近似于BiLSTM的默認輸入向量計算公式.
由于領域內(nèi)實體名稱的多樣性,以單詞特征及句子特征作為特征學習的模型在進行命名實體識別任務時,可能會出現(xiàn)同一實體在同一文檔內(nèi)標記不一致問題.
子模型BiLSTM-Attention-CRF在經(jīng)典BiLSTM-CRF模型的基礎上加入Attention機制來關注當前實體與文檔中其他所有單詞的相關性,得到該單詞在文檔層面的特征表示,以解決實體標記不一致問題.模型結(jié)構圖如圖1右側(cè)所示.
(8)
f(wi,wj)的計算方法如式(2)所示.
(9)
單詞wi在Attention層的輸出ci可表示為
(10)
將ci傳遞給更上層的CRF作為輸入,這里CRF主要用來預測2個部分:一是計算每個ci對應標簽的得分oi;二是通過轉(zhuǎn)換矩陣T(用于定義2個連續(xù)標簽的分數(shù))和oi采用維比特算法來計算出最佳標注序列,其計算過程為
oi=Wci,
(11)
(12)
yresult=arg max(score(D,y)),
(13)
其中,函數(shù)score()是用來計算輸入文檔D的標簽序列y={y1,y2,…,yN}的分數(shù),yresult是最終輸出的標簽序列的結(jié)果(即BIO標簽),W表示模型參數(shù).
本文所提出的BiLSTM-Attention-CRF子模型除了可以用于識別新文檔中的實體之外,還可以將其用于眾包標注數(shù)據(jù)集中,對實體進行再次識別以提高眾包標注數(shù)據(jù)集的質(zhì)量.
本文的實驗目標主要是從2個方面來驗證BiLSTM-Attention-CRF-crowd模型的有效性,在此我們將基線模型根據(jù)其要比較的任務不同分為2組:1)將本文所提出的模型和第1組基線模型應用在信息安全領域的眾包標注數(shù)據(jù)上,來驗證BiLSTM-Attention-CRF-crowd模型在整合共識標注方面優(yōu)于其他基線模型的能力;2)將本文所提出的模型和第2組基線模型應用在信息安全領域的相關文獻上進行特定實體識別,來驗證BiLSTM-Attention-CRF-crowd模型對同一實體在同一文檔中的標注一致能力,并且對該模型和第2組基線模型在領域命名實體識別任務上的性能做了對比.
本文實驗所使用的數(shù)據(jù)集主要來自于信息安全領域,包括來自于we live security,threatpost等處的博客文章、CVE(common vulnerabilities and exposures)描述、微軟安全公告以及信息安全類文章摘要,我們從中摘取了10 187條句子(其中連續(xù)段落包括20篇摘要、45篇博客文章、59段CVE描述以及50篇微軟安全公告),將每條句子分配給3個注釋者來完成,以此作為眾包標注數(shù)據(jù)集.標注者只需要從句子中標注出4種類型的命名實體:product,vulnerability,attacker,version.此外,由2名專家來標注其中隨機抽取的1 000條句子,以訓練GAN模型中的判別模型.
將基線模型分為2組進行實驗.
第1組.學習眾包標注數(shù)據(jù)的共同特征,我們考慮使用下面2個模型作為比較模型.
1) 多數(shù)投票(majority vote, MV).即文獻[5]提到的一種方法.
2) Dawid&Skene模型.即文獻[16]用到的模型.
第2組.在未標注文本上預測命名實體序列,考慮使用下面4個模型作為比較模型.
1) BiLSTM-Attention-CRF.即文獻[8]中用到的模型,使用未加處理的標注者標注數(shù)據(jù)直接訓練.
2) BiLSTM-Attention-CRF-VT.即文獻[8]中用到的模型,使用通過多數(shù)投票法選擇出的可用標注數(shù)據(jù)訓練.
3) Dawid&Skene-LSTM.即文獻[18]用到的模型.
4) CRF-MA.即文獻[5]用到的模型,我們使用了該文作者提供的源代碼.
實驗中所采用的評價指標分別為準確率(用P表示)、召回率(用R表示)以及F1值.
3.3.1 整合眾包標注數(shù)據(jù)模型性能比較
Fig.2 Performance comparison of models withdifferent types of entities圖2 模型關于不同類型實體的性能對比
1) 本模型在眾包標注數(shù)據(jù)集中對不同類型實體標注整合性能評價.
為了驗證本文提出模型對不同類型實體標注上的整合性能,針對3.1節(jié)提出的4種類型實體在眾包標注數(shù)據(jù)集中的整合結(jié)果進行了對比.從圖2中可以看出,BiLSTM-Attention-CRF-crowd模型在類型product和類型version上表現(xiàn)性能較好,主要原因在于類型product表示的類別是產(chǎn)品,一般情況下,這種類型的實體雖然屬于領域內(nèi)實體,但是對于大眾來說認知度比較高,因此標注的準確率相對也比較高;而類型version有相對固定的模式,比如出現(xiàn)在產(chǎn)品名之后,通常用數(shù)字表示,對于這類有固定模式的實體,因為其特征更容易學習,因此模型表現(xiàn)的性能最好.類型vulnerability和類型attacker屬于信息安全領域內(nèi)相對較為專業(yè)的實體類型,在眾包標注數(shù)據(jù)集中標注的準確率較低,并且沒有固定的模式可以遵循,因此性能表現(xiàn)稍弱.
2) 本模型與其他比較模型的性能比較
考慮使用各個模型從訓練語料中獲得的正確標注語句的正確率作為評價標準,正確率可計算為
實驗結(jié)果如表1所示:
Table 1 Model Performance Comparison表1 模型性能對比表 %
由表1可以看出,多數(shù)投票(MV)的性能相對較差,這是因為領域的專業(yè)性以及標注者標注水平的高低分布不均,對于一些模糊性的實體識別很難達到統(tǒng)一;本文所提出的模型表現(xiàn)最好,該模型除了可以獲得訓練語料庫中原有的正確標注語句之外,還可以將訓練語料庫中一些原本不正確的標注語句通過反復優(yōu)化之后的生成模型生成與專家標注數(shù)據(jù)特征分布趨于一致的正樣本數(shù)據(jù),并且通過BiLSTM-Attention-CRF子模型的再次提取,提高了訓練語料庫中正確標注語句的正確率.
3.3.2 領域命名實體識別模型性能比較
由于本文所提出的模型在進行命名實體識別任務時主要針對同一實體在同一文檔中前后標記的不一致問題,因此我們需要從未標注語料庫中選擇段落或者文檔作為輸入.為保證實驗的客觀性,我們隨機選擇了50篇摘要、20篇博客以及20篇微軟安全公告作為測試語料.
1) 各模型對實體標注一致性的性能比較
本文從各文檔中選取出4種信息安全領域內(nèi)比較常見的實體,如表2所示:
Table 2 Entity Name and Their Abbreviations表2 實體名及對應縮寫表
由圖3中可以看出BiLSTM-Attention-CRF-crowd模型的性能相對來說要優(yōu)于其他模型,其中以在實體APT和實體IDS上性能表現(xiàn)最為突出,主要原因在于實體APT和實體IDS對應的實體在文檔中出現(xiàn)次數(shù)相對較多,并且通常與整個文檔的內(nèi)容有密切的聯(lián)系,此時通過Attention層所計算出的該單詞與文檔層面全局向量的關系更為密切,從而得出的特征表示更為顯著,此時模型的性能相較于其他模型來說有明顯提高.
Fig. 3 Model performance comparison圖3 各模型性能比較圖
2) 各模型對領域內(nèi)命名實體識別綜合性能比較
由表3可以看出,就正確率而言,直接使用不加處理的眾包標注數(shù)據(jù)作為訓練數(shù)據(jù)所訓練出的BiLSTM-Attention-CRF模型和BiLSTM-Attention-CRF-crowd模型的表現(xiàn)較為出色,這也意味著使用眾包標注數(shù)據(jù)來對NER模型進行訓練確實是可取的,而以多數(shù)投票法選擇語料標注作為訓練數(shù)據(jù)的BiLSTM-Attention-CRF-VT模型以及通過混淆矩陣和最大似然估計來確定正確標注的Dawid&Skene-LSTM模型表現(xiàn)較為平庸.BiLSTM-Attention-CRF-VT模型表現(xiàn)不佳的原因可能是由于信息安全領域內(nèi)文本語句的復雜性和專業(yè)性,很多實體是無法通過投票選取出來的,另外還因為投票選擇所丟掉的上下文信息很可能是重要的,丟掉了這些上下文信息很可能就丟掉了重要的特征信息.Dawid&Skene-LSTM模型則更注重對標注者標注質(zhì)量的估計,但是事實上標注者的標注質(zhì)量通常并非是穩(wěn)定的,會受到各種情況的影響,另外該模型對初始值的設置也并不理想,影響最后結(jié)果收斂到最優(yōu)解.
Table 3 Comprehensive Performance Evaluation表3 各模型綜合性能評價表 %
結(jié)合以上實驗,本文所提出的對抗式學習模型BiLSTM-Attention-CRF-crowd的性能要優(yōu)于本文所引用的其他模型,有較為出色的表現(xiàn)能力.
本文的主要工作包括3個方面:1)通過GAN模型在給定的眾包標注數(shù)據(jù)集上尋找出標注數(shù)據(jù)的共有特征以生成最佳的唯一共識標注,解決目前眾包數(shù)據(jù)中準確率不高、標注的不一致性等問題;2)將這些通過GAN模型所生成的注釋數(shù)據(jù)來作為訓練數(shù)據(jù),訓練模型進行命名實體識別任務;3)提出BiLSTM-Attention-CRF-crowd模型解決統(tǒng)一實體在同一文檔中的標注不一致問題.我們在信息安全領域的數(shù)據(jù)集上評估了本文所提出的模型,結(jié)果表明:其性能優(yōu)于本文中所提到的其他作為基線的模型.
目前,BiLSTM-Attention-CRF-crowd模型主要應用于對名詞及名詞性短語類型的實體進行識別,對于識別領域內(nèi)一些有特殊要求的類型實體,例如安全領域本體UCO[22]中的consequence類,該類別下的實體類型通常為動詞短語(如steal login credentials,control the system等),模型尚待進一步研究.