宋曄璇,陳 釗,2,武 剛,2
(1.北京林業(yè)大學(xué) 信息學(xué)院,北京 100083;2.國家林業(yè)草原林業(yè)智能信息處理工程技術(shù)研究中心,北京 100083)
命名實(shí)體識別(named entity recognition)指抽取文本中的人名、地名、機(jī)構(gòu)名、領(lǐng)域術(shù)語等專有名詞,是自然語言處理領(lǐng)域的基礎(chǔ)任務(wù)。
近年來,基于深度神經(jīng)網(wǎng)絡(luò)的命名實(shí)體識別模型,在新聞[1]、醫(yī)學(xué)等領(lǐng)域[2-3]已經(jīng)展示出了較高的準(zhǔn)確性和魯棒性,很大原因是這些領(lǐng)域有著大規(guī)模的完整標(biāo)注的語料。然而,在許多領(lǐng)域,數(shù)據(jù)的標(biāo)注難度大,標(biāo)注成本高,高質(zhì)量的標(biāo)注數(shù)據(jù)難以獲得。
針對特定領(lǐng)域缺少標(biāo)注數(shù)據(jù)的問題,研究人員探索使用更加容易獲得的部分標(biāo)簽數(shù)據(jù)。通過現(xiàn)有資源如目標(biāo)領(lǐng)域的詞典、網(wǎng)頁超鏈接等,自動標(biāo)記出數(shù)據(jù)中的一部分實(shí)體,得到數(shù)據(jù)中的部分標(biāo)簽。最早對部分標(biāo)簽數(shù)據(jù)的研究主要基于條件隨機(jī)場(conditional random field,CRF)[4],結(jié)構(gòu)化感知器和結(jié)構(gòu)化支持向量機(jī)[5]。Tsuboi等[6]提出了一種基于部分標(biāo)簽數(shù)據(jù)訓(xùn)練的CRF模型,能夠應(yīng)用于命名實(shí)體消歧[7]、依存分析[8]、詞性標(biāo)注[9]和命名實(shí)體識別[10]等任務(wù)。但是,其仍存在的問題是部分標(biāo)簽數(shù)據(jù)中有一些字符的標(biāo)簽未知,這些未知的標(biāo)簽會在訓(xùn)練模型時引入噪聲[11]。一種典型的方法是將未標(biāo)注的位置直接視為非實(shí)體標(biāo)簽,還有一些方法[12]假設(shè)未標(biāo)注位置的標(biāo)簽是均勻分布的。但是這兩種方法取得的效果并不好,第一種導(dǎo)致大多數(shù)實(shí)體無法被識別,降低了召回率;第二種雖然能夠召回大量實(shí)體,但同時也降低了查準(zhǔn)率。
遷移學(xué)習(xí)的方法是從現(xiàn)有資源的角度出發(fā)來解決目標(biāo)領(lǐng)域中沒有標(biāo)注數(shù)據(jù)或標(biāo)注數(shù)據(jù)少的問題[13]。在自然語言處理領(lǐng)域,遷移學(xué)習(xí)主要分為基于資源的遷移和基于模型的遷移?;谫Y源的遷移對額外資源的規(guī)模和質(zhì)量比較敏感,在跨語言遷移任務(wù)中[14-15]比較常見?;谀P偷倪w移不需要額外資源,通過對模型結(jié)構(gòu)、損失函數(shù)或特征表示等進(jìn)行調(diào)整,利用神經(jīng)網(wǎng)絡(luò)的自適應(yīng)性,在兩個不同但有關(guān)聯(lián)的任務(wù)間傳遞知識。一些跨領(lǐng)域的序列標(biāo)注方法[16-18]通過把一個在成熟源領(lǐng)域數(shù)據(jù)上訓(xùn)練的命名實(shí)體識別模型的參數(shù)遷移到另一個有少量標(biāo)準(zhǔn)的目標(biāo)領(lǐng)域數(shù)據(jù)集上,從而提高了目標(biāo)領(lǐng)域的識別效果,驗(yàn)證了不同領(lǐng)域在處理相同任務(wù)時具有底層知識相似性,而且這種底層知識具有可遷移性。
本文提出了一種基于部分標(biāo)簽數(shù)據(jù)和遷移學(xué)習(xí)的命名實(shí)體識別方法。首先擴(kuò)展了Tsuboi等[6]的方法,使得模型能夠聯(lián)合部分標(biāo)簽數(shù)據(jù)和標(biāo)簽的經(jīng)驗(yàn)分布進(jìn)行訓(xùn)練。然后將新聞領(lǐng)域的知識遷移到本文的測試領(lǐng)域,在測試領(lǐng)域的部分標(biāo)簽數(shù)據(jù)上訓(xùn)練得到標(biāo)簽的經(jīng)驗(yàn)分布。最后,將部分標(biāo)簽數(shù)據(jù)和標(biāo)簽的經(jīng)驗(yàn)分布輸入模型進(jìn)行訓(xùn)練。
我們分別在植物病蟲害和優(yōu)酷視頻數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明,本文方法能夠有效降低部分標(biāo)簽數(shù)據(jù)的噪聲,且取得較好的識別效果。
中文命名實(shí)體識別是一種序列標(biāo)注問題。由于中文詞邊界不容易確定,為了避免分詞錯誤影響模型的識別效果,本文選擇對序列中的字符進(jìn)行標(biāo)注。在含有全部標(biāo)簽的訓(xùn)練數(shù)據(jù)中,每個字有且僅有一個與之對應(yīng)的標(biāo)簽。本文使用三標(biāo)記(BIO),B表示該字符是實(shí)體詞的起始位置,I表示該字符是實(shí)體詞的中間位置或結(jié)束位置,O表示該字符為非實(shí)體詞。如圖1所示,在句子“北京是中國的首都”中,“北京”和“中國”為實(shí)體詞,其他字符為非實(shí)體詞,該句子的標(biāo)注序列為:
圖1 “北京是中國的首都”的標(biāo)注序列
L={B,I,O,B,I,O,O,O}
目前,在中文數(shù)據(jù)集上,識別效果較好的是Bi-LSTM-CRF模型[1],本文使用Bi-LSTM-CRF模型作為基礎(chǔ)模型,使用以字作為語義單元,字詞信息相結(jié)合的方式[19],具體結(jié)構(gòu)如圖2所示。
圖2 BiLSTM-CRF網(wǎng)絡(luò)結(jié)構(gòu)
其中,Wi和bi是全連接層的權(quán)重和偏置。給定完全標(biāo)注的訓(xùn)練數(shù)據(jù){xj,yj}N,其中N為樣本個數(shù),n為句子長度。每條樣本xj在所有可能的識別結(jié)果中只有一條正確的路徑y(tǒng)j。根據(jù)Lafferty等[4]提出的條件隨機(jī)場,模型的損失函數(shù)計(jì)算如式(7)、式(8)所示。
(7)
(8)
其中,yi-1和yi表示第i-1個和第i個字符的標(biāo)注結(jié)果,T和A分別為轉(zhuǎn)移矩陣和發(fā)射矩陣。Tyi-1,yi表示從yi-1到y(tǒng)i的轉(zhuǎn)移得分,Ai,yi表示yi的發(fā)射得分。
2.1.1 部分標(biāo)簽數(shù)據(jù)
以圖3中的句子“北京是中國的首都”為例。在無法獲得完整的標(biāo)注信息的場景下,只能夠確定“中國”是一個地名實(shí)體,由此可以將這兩個字符準(zhǔn)確地標(biāo)記為B、I,而其他字符的標(biāo)簽是未知的,可能為B、I、O中的任意一個,這樣的數(shù)據(jù)就是部分標(biāo)簽數(shù)據(jù)。
圖3 “北京是中國的首都”部分標(biāo)簽數(shù)據(jù)
在部分標(biāo)簽數(shù)據(jù)中,對于每個被觀測的句子xj,得到的標(biāo)注序列不是唯一的,而是一個由所有滿足約束條件的可行序列組成的集合。如句子“北京是中國的首都”在滿足“中國”被標(biāo)記的條件下,每個字對應(yīng)的可能標(biāo)注集合為:
P={(B,I,O),(B,I,O),(B,I,O),(B),(I),
(B,I,O),(B,I,O),(B,I,O)}
設(shè)YP是可行序列的集合,那么相應(yīng)的部分標(biāo)簽數(shù)據(jù)的損失函數(shù)就可以粗略計(jì)算為:
2.1.2 標(biāo)簽的經(jīng)驗(yàn)分布
圖4 標(biāo)簽的經(jīng)驗(yàn)分布
本文沒有使用統(tǒng)計(jì)方法計(jì)算概率分布。因?yàn)樵谔囟I(lǐng)域缺少標(biāo)注語料,很難準(zhǔn)確地統(tǒng)計(jì)出每個實(shí)體出現(xiàn)的頻率。此外,實(shí)體類型繁多,訓(xùn)練數(shù)據(jù)也無法覆蓋所有實(shí)體。
本文使用模型遷移的方法計(jì)算標(biāo)簽的經(jīng)驗(yàn)分布。模型遷移的本質(zhì)是通過遷移模型參數(shù)將知識從源領(lǐng)域傳輸?shù)侥繕?biāo)領(lǐng)域。源領(lǐng)域數(shù)據(jù)一般是來自于公共領(lǐng)域的完整標(biāo)注數(shù)據(jù),如本文使用了人民日報(bào)語料作為源領(lǐng)域的數(shù)據(jù)。源領(lǐng)域數(shù)據(jù)包含了豐富的語義和語法信息,這種底層知識遷移到其他領(lǐng)域同樣適用。如連詞、助詞等在文本中頻繁出現(xiàn)的詞一定不是實(shí)體,而頻繁出現(xiàn)的語義近似的詞很有可能是實(shí)體。
其中,Ai為全連接層的輸出得分,L為標(biāo)簽集。
本文訓(xùn)練的三個模型都是相同的Bi-LSTM結(jié)構(gòu),分別是用于遷移學(xué)習(xí)的源模型(source model)、用于計(jì)算經(jīng)驗(yàn)分布的目標(biāo)模型(target model)和輸出最終結(jié)果的任務(wù)模型(task model)。源模型用softmax輸出結(jié)果,使用交叉熵計(jì)算損失。目標(biāo)模型用softmax輸出經(jīng)驗(yàn)分布,然后加入任務(wù)模型,共同使用Partial-CRF計(jì)算模型的損失。源模型和任務(wù)模型都使用預(yù)訓(xùn)練的詞向量和隨機(jī)初始化的字向量。整個模型框架如圖5所示。
圖5 模型訓(xùn)練框架圖
訓(xùn)練順序如下:
(1) 使用人民日報(bào)語料訓(xùn)練源模型,將性能調(diào)至最優(yōu)。然后將參數(shù)遷移到目標(biāo)模型。目標(biāo)模型的word embedding層、char LSTM層和token LSTM層使用源模型的參數(shù),其余層使用隨機(jī)初始化的參數(shù)。
(2) 將我們的領(lǐng)域數(shù)據(jù)輸入目標(biāo)模型,輸出經(jīng)驗(yàn)分布;將我們的領(lǐng)域數(shù)據(jù)輸入任務(wù)模型,輸出BI-LSTM的隱層特征。目標(biāo)模型和任務(wù)模型是同時進(jìn)行訓(xùn)練的。
(3) 將隱層特征和經(jīng)驗(yàn)分布共同輸入Partial-CRF層計(jì)算損失,然后進(jìn)行梯度下降的過程,同時更新目標(biāo)模型和任務(wù)模型的參數(shù),也可以選擇固定目標(biāo)模型的參數(shù)。
本文使用的含有部分標(biāo)簽的語料來自于植物病蟲害領(lǐng)域和視頻領(lǐng)域。提到的源領(lǐng)域模型在1998年人民日報(bào)的標(biāo)注語料上訓(xùn)練。語料的統(tǒng)計(jì)信息如表1所示。
表1 語料統(tǒng)計(jì)信息
其中,視頻領(lǐng)域的語料來自Jie等[10]發(fā)布的公開數(shù)據(jù)集,他們收集了優(yōu)酷網(wǎng)頁上的標(biāo)題文本,通過移除語料中的實(shí)體標(biāo)記來獲得含有部分標(biāo)簽的語料。我們使用該語料作為訓(xùn)練集,并保留了原本語料中的部分實(shí)體標(biāo)記??紤]到很多領(lǐng)域存在一些專有名詞本身就屬于實(shí)體詞或?qū)嶓w詞的一部分,有效地利用這些專有名詞,同樣能夠得到標(biāo)注數(shù)據(jù)中的部分標(biāo)簽。因此我們還構(gòu)建了植物病蟲害領(lǐng)域的部分標(biāo)注語料,具體實(shí)現(xiàn)方法如下:
語料收集和預(yù)處理我們在《植物保護(hù)》《雜草學(xué)報(bào)》《農(nóng)藥學(xué)學(xué)報(bào)》《昆蟲學(xué)報(bào)》中搜集了主題為植物保護(hù)和病蟲害防治的摘要5 062篇,并篩選其中長度為10到100的句子用于本文語料的構(gòu)建。然后進(jìn)行了預(yù)處理,包括英文大小寫轉(zhuǎn)換和中文簡繁體轉(zhuǎn)換等。另外,我們考慮到病蟲害領(lǐng)域的名稱表示方法不統(tǒng)一,可能使用英文縮寫、羅馬字符和中文。因此,我們將羅馬字符和英文縮寫統(tǒng)一轉(zhuǎn)換為中文,例如:
(1) 對農(nóng)藥的單位和劑型進(jìn)行轉(zhuǎn)換,如將“g a.i./hm2”轉(zhuǎn)換為“克有效成分用量每公頃”,將“SC”轉(zhuǎn)換為“分散劑”;
(2) 對病蟲害的品種進(jìn)行轉(zhuǎn)換,如將“Ⅱ代”轉(zhuǎn)換為“二代”;
(3) 對時間單位進(jìn)行轉(zhuǎn)換,如將“y”轉(zhuǎn)換為“年”,將“M”轉(zhuǎn)換為“月”,將“d”轉(zhuǎn)換為天。
測試集人工標(biāo)注測試集,標(biāo)注完成后由專業(yè)人員進(jìn)行校驗(yàn)。另外,由于林業(yè)領(lǐng)域的特點(diǎn),有些病蟲害實(shí)體中包含植物名稱,根據(jù)命名實(shí)體的標(biāo)注規(guī)則應(yīng)該對更長的實(shí)體進(jìn)行標(biāo)記,如將“水稻卷葉螟”標(biāo)注為病蟲害實(shí)體,就不再對“水稻”單獨(dú)標(biāo)注。
訓(xùn)練集首先收集領(lǐng)域內(nèi)的詞匯構(gòu)建領(lǐng)域詞典,然后基于詞典匹配的方法自動地標(biāo)記出語料中的部分實(shí)體,從而得到用于訓(xùn)練模型的部分標(biāo)簽數(shù)據(jù),節(jié)省了大量的人工成本。本文使用的植物病蟲害領(lǐng)域詞典包括三類專有名詞,分別來自于中國植物信息網(wǎng)和《農(nóng)藥通用名稱 GB 4839-1998》,詞典規(guī)模如表2所示。
表2 植物病蟲害詞典
然后使用雙向最大匹配算法進(jìn)行匹配得到部分標(biāo)簽數(shù)據(jù),該算法綜合考慮了正向和逆向的匹配結(jié)果。
實(shí)驗(yàn)中使用隨機(jī)初始化的字向量和基于Gigaword語料庫[19]訓(xùn)練的100維的詞向量。實(shí)驗(yàn)的源模型、目標(biāo)模型和任務(wù)模型采用同樣的超參數(shù)設(shè)置,訓(xùn)練模型時均使用Adam算法更新參數(shù)。具體的超參數(shù)信息如表3所示。
表3 超參數(shù)設(shè)置
本文采用查準(zhǔn)率(Precision,P),召回率(Recall,R)及F值來評估實(shí)驗(yàn)結(jié)果,相應(yīng)的計(jì)算如式(14)~式(16)所示。
(14)
(15)
(16)
TP(true positives)為所有正樣本中被正確識別為正樣本的數(shù)量,F(xiàn)P(false positives)是指負(fù)樣本被識別成正樣本的數(shù)量,F(xiàn)N(False Negatives)是指正樣本被錯誤識別為負(fù)樣本的數(shù)量。
為了驗(yàn)證本文提出方法的有效性,我們設(shè)計(jì)了五組實(shí)驗(yàn),具體實(shí)驗(yàn)結(jié)果如表4和表5所示。
表4 植物病蟲害語料的實(shí)驗(yàn)結(jié)果
表5 優(yōu)酷語料的實(shí)驗(yàn)結(jié)果
Dict-Matched:為了測試實(shí)體詞典的覆蓋程度,我們在植物領(lǐng)域的數(shù)據(jù)集上進(jìn)行了詞典匹配的實(shí)驗(yàn)。使用領(lǐng)域詞典中的實(shí)體詞對測試集的數(shù)據(jù)進(jìn)行匹配,匹配算法是雙向最大匹配;
BiLSTM-CRF:將部分標(biāo)簽數(shù)據(jù)中的未被標(biāo)注的字符標(biāo)記為“O”,然后訓(xùn)練基礎(chǔ)模型,最后用該模型在測試集上進(jìn)行命名實(shí)體識別;
Transfer:用人民日報(bào)語料訓(xùn)練源模型,并將參數(shù)遷移到與源模型結(jié)構(gòu)相同的目標(biāo)模型。用部分標(biāo)簽數(shù)據(jù)對目標(biāo)模型進(jìn)行微調(diào)后,在測試集上進(jìn)行命名實(shí)體識別;
Ours-Frozen:用本文提出的方法同時訓(xùn)練目標(biāo)模型和任務(wù)模型,訓(xùn)練過程中保持目標(biāo)模型的參數(shù)不變,僅優(yōu)化任務(wù)模型的參數(shù),最后在測試集上進(jìn)行命名實(shí)體識別;
Ours-Finetune:用本文提出的方法同時訓(xùn)練目標(biāo)模型和任務(wù)模型,訓(xùn)練過程中使用相同的學(xué)習(xí)率,更新兩個模型的全部參數(shù),最后在測試集上進(jìn)行命名實(shí)體識別。
從表4的結(jié)果可知,Dict-Matched方法取得了最低的召回率,這說明盡管領(lǐng)域詞典的規(guī)模很大,但仍有很多詞覆蓋不到,主要原因有二:一是由于領(lǐng)域知識更新迭代較快,出現(xiàn)了很多新詞;二是由于大多數(shù)實(shí)體詞是兩個專有名詞的組合或嵌套形式,詞典匹配的方法無法識別。在植物病蟲害數(shù)據(jù)集上,BiLSTM-CRF比Dict-Matched方法的召回率提高了19%,說明了字向量和詞向量相結(jié)合的BiLSTM能夠捕獲詞邊界特征和句子的全局信息。Transfer方法在兩個數(shù)據(jù)集上的識別效果都有所提升,說明了不同領(lǐng)域間底層的語義和語法信息是具有共性的,具有相同目標(biāo)的不同領(lǐng)域可以通過共享模型參數(shù)的方式共享知識。本文提出的方法使查全率和查準(zhǔn)率都保持在一個穩(wěn)定的水平,F(xiàn)值在兩組數(shù)據(jù)上分別提高了11%和10.8%。我們的方法比遷移學(xué)習(xí)的方法效果好,說明經(jīng)驗(yàn)分布的使用增大了未標(biāo)記位置被識別的概率,在一定程度上增大了召回率。對比Ours-Frozen方法和Ours-Finetune方法,發(fā)現(xiàn)在訓(xùn)練時對目標(biāo)模型的參數(shù)進(jìn)行微調(diào),能夠提升模型的識別效果。
本文在人民日報(bào)語料上預(yù)訓(xùn)練的模型查準(zhǔn)率為90.5%,召回率為91%,F值為90.75%。Ours-Finetune方法在遷移的過程中損失了將近10%的性能,但仍然比Transfer方法的效果要好。說明本文提出的方法也降低了外部語料在部分標(biāo)簽語料上的遷移損失。
我們還在優(yōu)酷語料和植物病蟲害語料上對近幾年來的方法進(jìn)行了比較,實(shí)驗(yàn)結(jié)果如表6、表7所示。其中,Hedderich等[21]在BiLSTM模型的基礎(chǔ)上添加了噪聲適應(yīng)層,可以有效地糾正部分標(biāo)簽數(shù)據(jù)中的錯誤信息,但仍需要人工標(biāo)注少量的數(shù)據(jù)。Greenberg等[12]基于LSTM模型和邊際條件隨機(jī)場模型(marginal conditional random field),把少量部分標(biāo)簽數(shù)據(jù)和標(biāo)準(zhǔn)數(shù)據(jù)集一起訓(xùn)練,取得效果要比單獨(dú)使用標(biāo)準(zhǔn)數(shù)據(jù)集更好。Jie等[10]同樣使用了邊際條件隨機(jī)場模型(Marginal CRF),他們將部分標(biāo)簽數(shù)據(jù)分為若干份,通過自訓(xùn)練迭代模型預(yù)測剩余一份的標(biāo)簽,經(jīng)過多次交叉驗(yàn)證得到最終的訓(xùn)練數(shù)據(jù)。實(shí)驗(yàn)證明,經(jīng)過自訓(xùn)練得到的數(shù)據(jù)能夠有效提高模型的召回率。
表6 不同方法在植物病蟲害語料上的對比
表7 不同方法在優(yōu)酷語料上的對比
由表6和表7可以看出,Greenberg[12]的方法查準(zhǔn)率最低,我們認(rèn)為邊際條件隨機(jī)場是給模型加入了一個均勻分布,將未標(biāo)記的字等可能視為實(shí)體或非實(shí)體標(biāo)簽,這樣雖然可以最大程度地召回文本中的實(shí)體,但也導(dǎo)致大量的非實(shí)體被錯判成實(shí)體。本文提出方法的F值比最好的方法分別提升了2.8%和1.1%,是因?yàn)槭褂猛獠恐R模擬了標(biāo)簽的經(jīng)驗(yàn)分布,在增大了召回率的同時,也對未標(biāo)記位置構(gòu)成約束,使召回率和查準(zhǔn)率達(dá)到平衡。
命名實(shí)體識別作為自然語言處理領(lǐng)域的基礎(chǔ)任務(wù),有著非常重要的作用。目前,命名實(shí)體識別在新聞、生物等領(lǐng)域已經(jīng)取得了很好的成績,但在一些缺乏標(biāo)注數(shù)據(jù)的領(lǐng)域,效果不夠理想,且獲得標(biāo)注數(shù)據(jù)需要耗費(fèi)成本。針對這種情況,本文提出了一種基于部分標(biāo)簽數(shù)據(jù)的命名實(shí)體識別方法??紤]到部分標(biāo)簽數(shù)據(jù)中含有噪聲信息,會降低模型的識別效果,本文通過遷移學(xué)習(xí)計(jì)算標(biāo)簽的經(jīng)驗(yàn)分布,約束樣本在模型訓(xùn)練過程中的權(quán)重占比,從而使部分標(biāo)簽數(shù)據(jù)更接近于真實(shí)數(shù)據(jù)的分布。在兩個數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明本文提出的方法是有效的。我們在計(jì)算標(biāo)簽的經(jīng)驗(yàn)分布時僅使用了模型遷移的方法,所獲得的底層知識較少,在未來的研究中可以嘗試更有效的遷移方法。