孫新 任翔渝 鄭洪超 楊凱歌
1. 北京理工大學(xué)計(jì)算機(jī)學(xué)院 北京 100081;
2. 富媒體數(shù)字出版內(nèi)容組織與知識(shí)服務(wù)重點(diǎn)實(shí)驗(yàn)室 北京 100038
隨著互聯(lián)網(wǎng)、移動(dòng)終端的廣泛使用,信息從單一的媒體逐步轉(zhuǎn)變?yōu)槲谋?、圖像、音頻、視頻等多媒體的形式。信息的載體呈現(xiàn)富媒體化,信息的獲取和傳播也以更多樣、靈活、開(kāi)放的方式進(jìn)行,這使得傳統(tǒng)提取信息的方式面臨著巨大的挑戰(zhàn)。利用人工智能技術(shù)對(duì)富媒體數(shù)據(jù)進(jìn)行處理、分析,挖掘出富媒體數(shù)據(jù)間深層次的關(guān)系,實(shí)現(xiàn)對(duì)信息獲取的自動(dòng)化、智能化具有重要的應(yīng)用價(jià)值。命名實(shí)體識(shí)別(Named Entity Recognition,NER)是自然語(yǔ)言處理(Natural Language Processing,NLP)領(lǐng)域中的基礎(chǔ)任務(wù),旨在從文本中識(shí)別具有特定意義的實(shí)體。命名實(shí)體識(shí)別在信息抽取、問(wèn)答系統(tǒng)、機(jī)器翻譯等任務(wù)中起著重要的作用。
命名實(shí)體識(shí)別技術(shù)經(jīng)歷了基于規(guī)則的方法、基于機(jī)器學(xué)習(xí)的方法到深度學(xué)習(xí)方法的演變。在早期的基于規(guī)則和基于機(jī)器學(xué)習(xí)的命名實(shí)體識(shí)別方法都取得了較好的識(shí)別效果,但這些方法都耗費(fèi)人力且具有較高的局限性。深度學(xué)習(xí)的方法可以自動(dòng)捕獲輸入句子的特征,具有較強(qiáng)的泛化能力,受到學(xué)者們的廣泛關(guān)注,主要包括基于雙向長(zhǎng)短期記憶網(wǎng)絡(luò)(Bidirectional Long Short-Term Memory, BiLSTM)[1],基于條件隨機(jī)場(chǎng)(Conditional Random Field, CRF)[2],以及基于BiLSTM-CRF 模型的命名實(shí)體識(shí)別[3]等方法。2017 年Ashish Vaswani 等[4]提出Transformer 模型,該模型使用基于注意力機(jī)制的方式,被廣泛應(yīng)用在眾多自然語(yǔ)言處理任務(wù)中。Yan 等[5]針對(duì)命名實(shí)體識(shí)別任務(wù)對(duì)Transformer模型進(jìn)行了改進(jìn),取得了較為理想的識(shí)別效果。此外,也有研究工作嘗試通過(guò)預(yù)訓(xùn)練語(yǔ)言模型來(lái)提高命名實(shí)體識(shí)別的性能[6,7]。
無(wú)論是傳統(tǒng)機(jī)器學(xué)習(xí)還是深度學(xué)習(xí)的方法,都依賴大量標(biāo)注數(shù)據(jù)來(lái)訓(xùn)練模型,而現(xiàn)有研究對(duì)少量標(biāo)注數(shù)據(jù)的特定領(lǐng)域命名實(shí)體識(shí)別問(wèn)題探討較少[8]。標(biāo)注樣本不足是特定領(lǐng)域命名實(shí)體識(shí)別任務(wù)的最大問(wèn)題,同時(shí),由于特定領(lǐng)域命名實(shí)體識(shí)別方法通常是根據(jù)各自領(lǐng)域的特點(diǎn)設(shè)計(jì)的,還面臨著數(shù)據(jù)特征差異較大、模型難以擴(kuò)展等問(wèn)題。遷移學(xué)習(xí)(Transfer Learning)為這一問(wèn)題的解決提供了可行思路。遷移學(xué)習(xí)利用領(lǐng)域相似性,在領(lǐng)域之間進(jìn)行數(shù)據(jù)共享和模型共建,其目的是遷移已有的知識(shí),用以解決目標(biāo)領(lǐng)域中僅有少量甚至沒(méi)有標(biāo)注數(shù)據(jù)的學(xué)習(xí)問(wèn)題[9],在一定程度上解決標(biāo)注語(yǔ)料不足或缺失的問(wèn)題。
本文研究適用于工業(yè)信息化領(lǐng)域的命名實(shí)體識(shí)別方法,首先針對(duì)傳統(tǒng)命名實(shí)體識(shí)別模型在工業(yè)信息化領(lǐng)域數(shù)據(jù)集上識(shí)別效果不佳的問(wèn)題,提出基于Transformer 的有限區(qū)間命名實(shí)體識(shí)別模型(Span-based Transformer Classifier for Named Entity Recognition,STCNER),使用預(yù)訓(xùn)練語(yǔ)言模型對(duì)文本進(jìn)行分布式表示,采用基于有限區(qū)間的標(biāo)注方法對(duì)輸入序列進(jìn)行標(biāo)注,確定命名實(shí)體的邊界并判斷其類別,解決傳統(tǒng)標(biāo)注法在訓(xùn)練過(guò)程中可能導(dǎo)致的序列標(biāo)注不一致的問(wèn)題,提高領(lǐng)域命名實(shí)體識(shí)別的準(zhǔn)確性。進(jìn)一步,針對(duì)領(lǐng)域標(biāo)注樣本不足的問(wèn)題,引入遷移學(xué)習(xí)策略,提出基于參數(shù)遷移的跨領(lǐng)域命名實(shí)體識(shí)別方法(Trans-STCNER)。采用參數(shù)共享的方式,以新聞?lì)I(lǐng)域的人民日?qǐng)?bào)數(shù)據(jù)集和工業(yè)信息化領(lǐng)域的數(shù)據(jù)集分別作為源域和目標(biāo)域,將通用領(lǐng)域訓(xùn)練得到的模型遷移到工業(yè)信息化領(lǐng)域,并在工業(yè)信息化領(lǐng)域數(shù)據(jù)集上進(jìn)行微調(diào)。通過(guò)人民日?qǐng)?bào)語(yǔ)料和工業(yè)信息化領(lǐng)域數(shù)據(jù)集上的對(duì)比實(shí)驗(yàn)驗(yàn)證了遷移策略的有效性。
命名實(shí)體識(shí)別任務(wù)能夠從非結(jié)構(gòu)文本中提取出預(yù)先定義的實(shí)體,通常包括人名、地名、機(jī)構(gòu)名、時(shí)間、專有名詞等。常用的方法有基于規(guī)則的方法、基于機(jī)器學(xué)習(xí)的方法,以及基于深度學(xué)習(xí)的方法。
基于規(guī)則的方法是早期的主流方法,它首先需要語(yǔ)言學(xué)家手工構(gòu)造規(guī)則模板,或者借助機(jī)器自動(dòng)地制定或者生成規(guī)則,然后再?gòu)奈谋局袑ふ遗c之匹配的字符串。這類方法移植性差,且人工構(gòu)建規(guī)則的成本極高?;跈C(jī)器學(xué)習(xí)的方法把實(shí)體識(shí)別看作序列標(biāo)注問(wèn)題,通過(guò)學(xué)習(xí)大量的標(biāo)注語(yǔ)料,提取特征并訓(xùn)練模型,相對(duì)于基于規(guī)則的方法更為通用,并且移植性更好?;跈C(jī)器學(xué)習(xí)的常用方法包括:條件隨機(jī)場(chǎng)(Conditional Random Fields,CRF)、隱馬爾可夫模型(Hidden Markov Model,HMM)、支持向量機(jī)(Support Vector Machine,SVM)等。其中條件隨機(jī)場(chǎng)為命名實(shí)體識(shí)別提供了一個(gè)靈活的、全局最優(yōu)的標(biāo)注方法,它在對(duì)某個(gè)位置進(jìn)行標(biāo)注的時(shí)候考慮了標(biāo)注標(biāo)簽之間的順序,可以利用到已經(jīng)標(biāo)注的信息,在學(xué)術(shù)界得到了廣泛認(rèn)可。但是,基于傳統(tǒng)機(jī)器學(xué)習(xí)的命名實(shí)體識(shí)別方法的特征仍然依靠人工定制。
基于深度學(xué)習(xí)的方法借助神經(jīng)網(wǎng)絡(luò)自動(dòng)學(xué)習(xí)特征并訓(xùn)練序列標(biāo)注模型,取得了卓越的效果。Peng 等[2]在實(shí)驗(yàn)中利用單詞邊界標(biāo)記的信號(hào)進(jìn)行分詞,聯(lián)合LSTM 和CRF 訓(xùn)練模型取得了較高的識(shí)別準(zhǔn)確率。Peter 等[10]提出的深度學(xué)習(xí)模型TagLM,以及融合注意力機(jī)制并結(jié)合條件隨機(jī)場(chǎng)的Attention-BiLSTM-CRF 模型[11]均在開(kāi)放域命名實(shí)體識(shí)別任務(wù)中取得了較好的結(jié)果。
隨著深度學(xué)習(xí)的發(fā)展,Google 團(tuán)隊(duì)在2017年6 月提出了Transformer 模型[4],因其引入的Self-Attention 機(jī)制、殘差前饋網(wǎng)絡(luò)和多頭機(jī)制等結(jié)構(gòu),使其在語(yǔ)義特征提取、長(zhǎng)距離特征捕獲、高并行計(jì)算等方面表現(xiàn)突出。這些特性使得Transformer 更適用于機(jī)器翻譯任務(wù),以及在語(yǔ)言模型任務(wù)中用來(lái)建模序列、作為預(yù)訓(xùn)練語(yǔ)言模型中的特征提取器[12]。BERT(Bidirectional Encoder Representation Transformer)模型[12]將預(yù)訓(xùn)練步驟同深度雙向Transformer 相結(jié)合,克服了傳統(tǒng)特征提取器的缺點(diǎn),在NLP 的許多問(wèn)題中取得了出色的成績(jī)。
深度學(xué)習(xí)的引入和發(fā)展使命名實(shí)體識(shí)別任務(wù)在通用領(lǐng)域上取得了良好效果,但在特定領(lǐng)域由于標(biāo)注數(shù)據(jù)獲取成本高或數(shù)量規(guī)模較小,方法表現(xiàn)不佳。遷移學(xué)習(xí)是利用已獲取的知識(shí)對(duì)相關(guān)領(lǐng)域的不同問(wèn)題進(jìn)行求解的一種機(jī)器學(xué)習(xí)方法,其核心思想就是根據(jù)源域(source domain)和目標(biāo)域(target domain)之間的相似性,以度量為準(zhǔn)則增大兩個(gè)領(lǐng)域之間的相似性,研究如何把源域的知識(shí)遷移到目標(biāo)域上。遷移學(xué)習(xí)廣泛應(yīng)用諸如計(jì)算機(jī)視覺(jué)、情感分類、命名實(shí)體識(shí)別等任務(wù)中。
Yosinski 等[13]對(duì)深度神經(jīng)網(wǎng)絡(luò)的可遷移性進(jìn)行了研究,研究結(jié)果表明,對(duì)于一個(gè)深度神經(jīng)網(wǎng)絡(luò)而言,隨著網(wǎng)絡(luò)層數(shù)的不斷加深,網(wǎng)絡(luò)對(duì)特定任務(wù)的依賴性就越強(qiáng),而淺層網(wǎng)絡(luò)一般只能學(xué)習(xí)到一些通用的大致的特征?;谠摾碚摚瑢W(xué)者們提出了許多深度遷移模型,核心思想是根據(jù)一個(gè)度量準(zhǔn)則制定損失函數(shù),并通過(guò)訓(xùn)練模型減小損失函數(shù)值來(lái)縮小兩個(gè)領(lǐng)域的差異。例如DDC(Deep Domain Confusion)模型[14]就在預(yù)訓(xùn)練好的AlexNet 網(wǎng)絡(luò)的特征層后加入了一個(gè)領(lǐng)域適配層來(lái)度量網(wǎng)絡(luò)對(duì)源域和目標(biāo)域的判別能力,經(jīng)過(guò)對(duì)源域和目標(biāo)域領(lǐng)域適配層的輸出計(jì)算一個(gè)最大均值差異(Maximum Mean Discrepancy,MMD),通過(guò)最小化這個(gè)最大均值差異值來(lái)縮小兩個(gè)域之間的分布差異。該方法思路簡(jiǎn)單,是遷移學(xué)習(xí)領(lǐng)域的經(jīng)典方法。這些研究成果促進(jìn)了遷移學(xué)習(xí)在多任務(wù)、多領(lǐng)域中的應(yīng)用。
馮建周等[15]提出了一種基于遷移學(xué)習(xí)的細(xì)粒度實(shí)體分類方法,結(jié)合BiLSTM 模型和注意力機(jī)制實(shí)現(xiàn)遷移學(xué)習(xí)。類似的,武惠等人[16]也提出了一種基于遷移學(xué)習(xí)和深度學(xué)習(xí)的TrBiLSTM-CRF 模型。這些模型采用雙向長(zhǎng)短期神經(jīng)網(wǎng)絡(luò)對(duì)單詞表示進(jìn)行上下文編碼,其編碼能力有限且無(wú)法并行,沒(méi)有充分融合上下文語(yǔ)義信息對(duì)文本特征進(jìn)行提取。
面向特定領(lǐng)域的命名實(shí)體識(shí)別方法通常是根據(jù)各自領(lǐng)域的命名實(shí)體特點(diǎn)而設(shè)計(jì)的,難以擴(kuò)展到其他領(lǐng)域,而且,現(xiàn)有方法沒(méi)有很好地利用文本的語(yǔ)義表示,無(wú)法充分融合語(yǔ)義上下文。此外,標(biāo)注數(shù)據(jù)不足依然是個(gè)突出的問(wèn)題。因此,本文引入遷移學(xué)習(xí)的方法,充分利用遷移學(xué)習(xí)能夠從大量標(biāo)注數(shù)據(jù)領(lǐng)域的數(shù)據(jù)和模型中學(xué)習(xí)到一定的泛化的語(yǔ)言學(xué)知識(shí)的能力,以期在少量標(biāo)注數(shù)據(jù)領(lǐng)域獲得更好的模型。
針對(duì)傳統(tǒng)命名實(shí)體識(shí)別模型在工業(yè)信息化領(lǐng)域識(shí)別效果不佳的問(wèn)題,提出基于有限區(qū)間的Transformer 命名實(shí)體識(shí)別模型(STCNER),模型結(jié)構(gòu)如圖1 所示。
圖1 STCNER 模型結(jié)構(gòu)
首先,在輸入部分,采用BERT 預(yù)訓(xùn)練模型對(duì)輸入的文本進(jìn)行字級(jí)別的動(dòng)態(tài)向量表示(即同一個(gè)字在不同的上下文中會(huì)有不同的向量表示)。同時(shí),考慮到Attention 機(jī)制無(wú)法考慮字之間的相對(duì)位置關(guān)系,輸入部分引入了位置編碼,將詞語(yǔ)的Embedding 向量加上其位置向量作為最后的輸出,這使得同一個(gè)字在句子的不同位置具有不同的向量表示。由于基于Attention 機(jī)制的Transformer 可以更加充分地融合上下文語(yǔ)義信息對(duì)文本特征進(jìn)行提取,本文利用其中的Encoder 部分作為模型的主體,對(duì)句子進(jìn)行編碼。為了解決序列標(biāo)注過(guò)程中的不一致問(wèn)題,模型中只使用Transformer 的Encoder 部分用于對(duì)輸入進(jìn)行語(yǔ)義抽取,Encoder 部分的輸出再通過(guò)一個(gè)全連接層和softmax 層,得到最后對(duì)應(yīng)每個(gè)類別的概率分布。
在訓(xùn)練過(guò)程中采用一種基于有限區(qū)間的標(biāo)注方法,將序列標(biāo)注問(wèn)題轉(zhuǎn)化為分類問(wèn)題,可有效解決序列標(biāo)注任務(wù)中序列標(biāo)注不一致的問(wèn)題。同時(shí)將基于Attention 機(jī)制的編碼器和有限區(qū)間的分類方法相結(jié)合,也可以克服傳統(tǒng)的序列標(biāo)注方法在對(duì)某個(gè)token 進(jìn)行標(biāo)注時(shí),無(wú)法考慮輸入文本的全局語(yǔ)義信息的問(wèn)題。
STCNER 模型由四個(gè)模塊構(gòu)成:詞向量表示模塊、基于有限區(qū)間的候選命名實(shí)體抽取模塊、編碼器模塊和分類模塊。
(1)詞向量表示模塊
詞向量表示模塊對(duì)句子進(jìn)行分布式表示,生成連續(xù)且稠密的詞向量。本文采用BERT 模型進(jìn)行詞向量表示,使其既可以捕獲實(shí)體的上下文語(yǔ)義,又可以分別對(duì)詞語(yǔ)和字符級(jí)別的特征進(jìn)行抽取,從而最大程度上得到貼近實(shí)體含義的詞向量。
(2)基于有限區(qū)間的候選命名實(shí)體抽取模塊
采用一種基于有限區(qū)間的標(biāo)注方法對(duì)句子向量進(jìn)行實(shí)體標(biāo)注與抽取,確定命名實(shí)體的邊界并判斷其類別,將命名實(shí)體識(shí)別這一序列標(biāo)注問(wèn)題轉(zhuǎn)化為分類問(wèn)題,是對(duì)下游分類模塊的預(yù)處理。
(3)編碼器模塊
編碼器模塊的輸入為經(jīng)過(guò)BERT 訓(xùn)練后得到的詞向量與候選命名實(shí)體的詞向量的拼接。本文采用的編碼器模塊由四個(gè)結(jié)構(gòu)相同的Transformer Encoder 網(wǎng)絡(luò)格串行連接而成,用于對(duì)輸入進(jìn)行語(yǔ)義抽取。
(4)分類模塊
分類模塊的輸入為編碼器模塊的輸出,使用全連接層和softmax 對(duì)候選命名實(shí)體進(jìn)行分類,完成命名實(shí)體識(shí)別任務(wù)。
首先,定義一組標(biāo)簽,Lable={E1,E2, …,En,O},其中Ei表示當(dāng)前知識(shí)庫(kù)中的實(shí)體類別,n為預(yù)測(cè)標(biāo)簽序列長(zhǎng)度。命名實(shí)體抽取模塊的任務(wù)是對(duì)于文本中所有規(guī)定區(qū)間范圍內(nèi)(記為L(zhǎng))的序列預(yù)測(cè)它們的標(biāo)簽,即對(duì)于給定包含T個(gè)字的句子X(jué)={w1,w2, …,wT},其中wi表示第i個(gè)字,i=1, 2,…,n,預(yù)測(cè)一組帶標(biāo)記的輸出Y:
其中i和j表示這個(gè)句子中字的位置,l表示該區(qū)間的標(biāo)簽,L表示區(qū)間的最大長(zhǎng)度,Y表示輸出。舉例如圖2 所示,其中N表示通信網(wǎng)。
圖2 有限區(qū)間的序列標(biāo)注
命名實(shí)體抽取模塊的輸入是詞向量表示模塊的輸出,即一個(gè)句子的向量表示,然后直接從原始向量表示中根據(jù)位置截取候選區(qū)間,對(duì)候選區(qū)間所表示的實(shí)體進(jìn)行類別標(biāo)注與抽取。
該方法的優(yōu)點(diǎn)是提取的搜索空間可以隨句子長(zhǎng)度線性縮小,遠(yuǎn)遠(yuǎn)小于標(biāo)記法。此外,由于概率是由區(qū)間大小來(lái)決定的,因此該模型能夠在預(yù)測(cè)之前考慮所有目標(biāo)詞,從而避免了標(biāo)注不一致的問(wèn)題。
編碼模塊采用的是Transformer 中的堆疊Encoder 層結(jié)構(gòu)。
(1)位置編碼(Positional Encoding,PE)
在數(shù)據(jù)預(yù)處理時(shí)將每個(gè)詞向量與一個(gè)位置編碼求和,加入相對(duì)位置信息,該信息可以確定每個(gè)單詞的位置,或者是序列中不同單詞之間的距離。相對(duì)位置編碼計(jì)算如下所示:
第二個(gè)子層是全連接層,該層對(duì)多頭注意力的每個(gè)頭的輸出進(jìn)行進(jìn)一步的前饋網(wǎng)絡(luò)處理,如公式(4)所示,其中W1,W2,b1,b2是可學(xué)習(xí)的參數(shù)。
分類模塊的輸入為句子與候選命名實(shí)體向量經(jīng)過(guò)編碼器輸出的特征向量表示h,輸出為候選實(shí)體對(duì)應(yīng)各個(gè)分類的概率值。分類模塊首先將h輸入全連接層,然后通過(guò)softmax 將輸出候選實(shí)體對(duì)對(duì)應(yīng)到各個(gè)分類的概率值。計(jì)算如公式(5)所示:
STCNER 模型使用預(yù)訓(xùn)練模型能夠提升工業(yè)信息化領(lǐng)域命名實(shí)體識(shí)別任務(wù)的效果,同時(shí),通過(guò)有限區(qū)間的標(biāo)注方法能夠解決針對(duì)傳統(tǒng)BIO 標(biāo)注方式導(dǎo)致的序列標(biāo)注不一致的問(wèn)題。但是,工業(yè)信息化領(lǐng)域標(biāo)注數(shù)據(jù)不足依然是個(gè)突出的問(wèn)題。
為解決這一問(wèn)題,在STCNER 模型的基礎(chǔ)上引入遷移學(xué)習(xí)策略,提出一種深度遷移的算法(Trans-STCNER),進(jìn)一步提高工業(yè)信息化領(lǐng)域命名實(shí)體識(shí)別的準(zhǔn)確率。Trans-STCNER 采用基于共享參數(shù)的遷移策略,該策略能夠充分地將在擁有大量標(biāo)記樣本的領(lǐng)域中訓(xùn)練的模型應(yīng)用于標(biāo)注數(shù)據(jù)較少的特定領(lǐng)域,同時(shí)在最大程度上降低特定領(lǐng)域模型訓(xùn)練時(shí)對(duì)標(biāo)注數(shù)據(jù)數(shù)量的依賴,使得工業(yè)信息化領(lǐng)域的命名實(shí)體識(shí)別模型能在較少數(shù)據(jù)量的情況下實(shí)現(xiàn)收斂,達(dá)到較好的訓(xùn)練效果。
基于參數(shù)遷移的領(lǐng)域命名實(shí)體識(shí)別模型Trans-STCNER 以STCNER 模型作為基礎(chǔ)模型進(jìn)行深度遷移,源域和目標(biāo)域共享模型的權(quán)重,將全連接層作為領(lǐng)域適配層。通過(guò)適配層的輸出計(jì)算最大平均差異(Maximum Mean Discrepancy,MMD)距離表示出源域和目標(biāo)域之間的差異,誤差由分類誤差和最大平均差異距離誤差構(gòu)成。訓(xùn)練的過(guò)程即是最小化源域和目標(biāo)域差距的過(guò)程,自動(dòng)學(xué)習(xí)一個(gè)聯(lián)合訓(xùn)練的表示來(lái)優(yōu)化分類和域的自適應(yīng)性,從而實(shí)現(xiàn)更好的遷移效果。
這里,采用具有大量標(biāo)注信息的人民日?qǐng)?bào)語(yǔ)料庫(kù)作為源域,用具有少量標(biāo)注信息的工業(yè)信息化領(lǐng)域數(shù)據(jù)作為目標(biāo)域進(jìn)行遷移。具體方法是:首先利用新聞?lì)I(lǐng)域的命名實(shí)體識(shí)別數(shù)據(jù)對(duì)模型進(jìn)行預(yù)訓(xùn)練;其次將訓(xùn)練得到的模型參數(shù)融入到訓(xùn)練參數(shù)相同的工業(yè)信息化領(lǐng)域的命名實(shí)體識(shí)別模型中,并在其中加入位置信息;最后利用當(dāng)前工業(yè)信息化領(lǐng)域的命名實(shí)體識(shí)別數(shù)據(jù)對(duì)模型進(jìn)行微調(diào),實(shí)現(xiàn)對(duì)工業(yè)信息化領(lǐng)域的命名實(shí)體識(shí)別性能的提升?;趨?shù)遷移的命名實(shí)體識(shí)別方法Trans-STCNER 的流程示意如圖3 所示。
圖3 基于參數(shù)遷移的命名實(shí)體識(shí)別方法Trans-STCNER 的流程示意圖
網(wǎng)絡(luò)包括兩個(gè)流向,一個(gè)是新聞?lì)I(lǐng)域的命名實(shí)體識(shí)別數(shù)據(jù),另一個(gè)是工業(yè)信息化領(lǐng)域的命名實(shí)體識(shí)別數(shù)據(jù),兩個(gè)流向的神經(jīng)網(wǎng)絡(luò)共享權(quán)值。STCNER 模型中的全連接層在這里作為領(lǐng)域適配層、不共享權(quán)值,并通過(guò)這兩個(gè)適配層的輸出計(jì)算出一個(gè)域損失值,這里通過(guò)計(jì)算源域和目標(biāo)域之間的最大均值差異MMD 距離作為域損失值。在訓(xùn)練模型的過(guò)程中,通過(guò)最小化MMD 距離來(lái)縮小源域和目標(biāo)域之間的差異,以實(shí)現(xiàn)更好的遷移效果。
(1)模型輸入
模型每個(gè)流向的輸入由詞向量和位置向量相加而成。詞向量采用BERT 預(yù)訓(xùn)練模型生成,位置向量則采用Transformer 模型中所用的正余弦位置編碼。
(2)最大均值差異MMD
最大均值差異(Maximum Mean Discrepancy,MMD)是一種核學(xué)習(xí)方法,它度量的是在再生希爾伯特空間(Reproducing Kernel Hilbert Space,RKHS)[17]中兩個(gè)分布的距離。MMD 通常用于度量?jī)蓚€(gè)分布之間的相似度,是遷移學(xué)習(xí)中使用頻率最高的度量方法,兩個(gè)隨機(jī)變量的MMD 平方距離的計(jì)算如公式(6)所示:
其中φ()· 是映射函數(shù),用于把原變量映射到RKHS 中。希爾伯特空間是對(duì)于函數(shù)的內(nèi)積完備的,而再生核希爾伯特空間是具有再生性的希爾伯特空間。將平方展開(kāi)后,RKHS 中的內(nèi)積就可以轉(zhuǎn)換成核函數(shù),所以最終 MMD 可以直接通過(guò)核函數(shù)進(jìn)行計(jì)算。簡(jiǎn)單來(lái)說(shuō)MMD 就是求兩堆數(shù)據(jù)在 RKHS 中的均值的距離。
基于參數(shù)遷移的跨領(lǐng)域命名實(shí)體識(shí)別模型使用MMD 的平方計(jì)算新聞?lì)I(lǐng)域和工業(yè)信息化領(lǐng)域的數(shù)據(jù)在RKHS 的均值差異,當(dāng)作是兩部分?jǐn)?shù)據(jù)的差異。計(jì)算如公式(7)所示:
其中X和Y分別表示源域和目標(biāo)域,m和n分別表示源域和目標(biāo)域數(shù)據(jù)集的大小,我們選擇的核函數(shù)k為高斯核函數(shù),以計(jì)算兩個(gè)點(diǎn)在高維空間中的距離。
(3)網(wǎng)絡(luò)的損失函數(shù)
經(jīng)過(guò)對(duì)深度網(wǎng)絡(luò)遷移的研究,使用領(lǐng)域適配層來(lái)實(shí)現(xiàn)源域數(shù)據(jù)和目標(biāo)域數(shù)據(jù)自適應(yīng)的方法,使得數(shù)據(jù)分布更加接近,從而進(jìn)一步提高網(wǎng)絡(luò)的遷移效果。
模型中采用的損失函數(shù)如公式(9)所示,網(wǎng)絡(luò)的損失由分類誤差和MMD距離誤差構(gòu)成。
其中,? 表示網(wǎng)絡(luò)的最終損失值,?C(Ds,ys)表示網(wǎng)絡(luò)在源域上的常規(guī)分類損失(這與普通的深度網(wǎng)絡(luò)完全一致),它來(lái)度量預(yù)測(cè)值和真實(shí)值的差異,?C(Ds,Dt)表示網(wǎng)絡(luò)的自適應(yīng)損失,即MMD 距離。公式(9)中的λ是權(quán)衡兩部分的權(quán)重參數(shù)。
為了驗(yàn)證本文提出的Trans-STCNER 模型的性能,設(shè)計(jì)以下兩組實(shí)驗(yàn):(1)不同命名實(shí)體識(shí)別方法的對(duì)比實(shí)驗(yàn),本文首先將STCNER模型與其他模型進(jìn)行對(duì)比,分別從模型對(duì)比、Encoder 層數(shù)和詞向量表示方法層面驗(yàn)證STCNER 模型的命名實(shí)體識(shí)別效果;(2)遷移學(xué)習(xí)的性能試驗(yàn),研究不同因素對(duì)遷移學(xué)習(xí)效果的影響,以驗(yàn)證遷移學(xué)習(xí)的有效性。
實(shí)驗(yàn)采用數(shù)據(jù)的是1998 年人民日?qǐng)?bào)命名實(shí)體識(shí)別數(shù)據(jù)集,數(shù)據(jù)集中的訓(xùn)練集和測(cè)試集劃分以及語(yǔ)料的識(shí)別種類、標(biāo)簽設(shè)置和格式信息如表1 所示。
表1 人民日?qǐng)?bào)命名實(shí)體識(shí)別數(shù)據(jù)集
此外,針對(duì)工業(yè)信息化領(lǐng)域的命名實(shí)體識(shí)別任務(wù),本小節(jié)選擇工業(yè)信息化語(yǔ)料作為實(shí)驗(yàn)數(shù)據(jù),語(yǔ)料中包含了三個(gè)子領(lǐng)域的實(shí)體:計(jì)算機(jī)軟件,算法和通信網(wǎng)。數(shù)據(jù)集中訓(xùn)練集和測(cè)試集的劃分以及語(yǔ)料的識(shí)別種類、標(biāo)簽設(shè)置和格式信息如表2 所示。
表2 工業(yè)信息化命名實(shí)體識(shí)別數(shù)據(jù)集
計(jì)算機(jī)軟件、算法和通信網(wǎng)三個(gè)子領(lǐng)域的語(yǔ)料具體例子如圖4 所示。
圖4 工業(yè)信息化領(lǐng)域語(yǔ)料示例
實(shí)驗(yàn)采用正確率(Precision)、召回率(Recall)、和F 值(F-measure)三個(gè)評(píng)價(jià)指標(biāo)對(duì)命名實(shí)體識(shí)別結(jié)果進(jìn)行性能分析。計(jì)算如下所示:
其中β表示權(quán)重,當(dāng)β=1 時(shí)表示正確率與召回率二者同樣重要,當(dāng)β>1 時(shí)表示正確率重于召回率,反之召回率重于正確率。這里取β=1,因此,F(xiàn) 值計(jì)算如公式(13)所示:
為了驗(yàn)證本文提出的命名實(shí)體識(shí)別模型STCNER 在工業(yè)信息化領(lǐng)域數(shù)據(jù)集上的效果,本小節(jié)設(shè)計(jì)了三組實(shí)驗(yàn),分別從模型對(duì)比、Encoder 層數(shù)和詞向量表示方法層面驗(yàn)證STCNER模型的命名實(shí)體識(shí)別效果。模型的參數(shù)設(shè)置如表3 所示。
表3 參數(shù)設(shè)置
(1)不同模型在工業(yè)信息化數(shù)據(jù)集上的對(duì)比實(shí)驗(yàn)
為了證明STCNER 模型的有效性,在工業(yè)信息化數(shù)據(jù)集上與以下經(jīng)典模型進(jìn)行比較,實(shí)驗(yàn)結(jié)果如表4 所示。
表4 STCNER 模型與傳統(tǒng)模型的實(shí)驗(yàn)結(jié)果對(duì)比
由表4 給出的實(shí)驗(yàn)結(jié)果可以看出,基于BiLSTM的模型要比基于LSTM的模型效果好,在二者的基礎(chǔ)上加入CRF 可有效提高模型的性能,而STCNER 模型的效果最優(yōu)。
由于LSTM 只能考慮到文本的單向信息,對(duì)文本的語(yǔ)義表征是不夠的,所以實(shí)驗(yàn)效果不如BiLSTM 模型?;贚STM 和BiLSTM 的命名實(shí)體識(shí)別模型在預(yù)測(cè)時(shí)可能存在標(biāo)注不一致的問(wèn)題,而CRF 模型在序列標(biāo)注時(shí)可以考慮前面的標(biāo)注信息,以解決標(biāo)注不一致的問(wèn)題。實(shí)驗(yàn)結(jié)果表明,在LSTM 和BiLSTM 模型中引入CRF 進(jìn)行序列標(biāo)注可以進(jìn)一步提升模型效果。
STCNER 模型則將序列標(biāo)注問(wèn)題轉(zhuǎn)化為基于有限區(qū)間的分類問(wèn)題,這不僅解決了標(biāo)注不一致的問(wèn)題,也進(jìn)一步縮小了模型輸出的搜索空間,同時(shí)在做標(biāo)注時(shí)可以充分考慮全局信息,可以進(jìn)一步提高精度,實(shí)驗(yàn)效果也證明了這一點(diǎn),STCNER 模型的效果要優(yōu)于已有的LSTM、BiLSTM、LSTM+CRF 和BiLSTM+CRF 模型。
為了研究不同的詞向量表示方法對(duì)實(shí)驗(yàn)結(jié)果的影響,實(shí)驗(yàn)還選擇了隨機(jī)初始化、Word-2vec[18]、ELMO[19]和BERT 這四種現(xiàn)在主流的詞向量表示方法來(lái)進(jìn)行對(duì)比實(shí)驗(yàn),其中隨機(jī)初始化是完全上下文無(wú)關(guān)的靜態(tài)詞向量表示方法,Word2vec 是考慮了詞語(yǔ)的上下文信息的靜態(tài)詞向量表示方法。ELMO 和BERT 都是可以充分表征詞語(yǔ)的上下文語(yǔ)義和句法信息的動(dòng)態(tài)詞向量表示方法,區(qū)別在于ELMO 只能考慮到詞語(yǔ)的單向語(yǔ)義信息,而B(niǎo)ERT 能夠充分融合詞語(yǔ)的上下文兩個(gè)方向上的語(yǔ)義信息。
實(shí)驗(yàn)結(jié)果如表4 所示。實(shí)驗(yàn)結(jié)果證明了在STCNER 模型中采用BERT 預(yù)訓(xùn)練模型進(jìn)行向量表示的優(yōu)勢(shì),采用了BERT 的STCNER 模型在工業(yè)信息化領(lǐng)域數(shù)據(jù)集上的精確率、召回率和F 值都要高于采用其他三種詞向量表示的STCNER 模型。
采用BERT 進(jìn)行詞向量要優(yōu)于其他幾種方法的原因在于:
1)BERT 能夠充分的融合詞語(yǔ)的上下文語(yǔ)義信息,而ELMO 只能融合詞語(yǔ)的單向語(yǔ)義信息,再將兩個(gè)方向上的語(yǔ)義信息進(jìn)行簡(jiǎn)單的拼接來(lái)得到詞語(yǔ)的上下文信息的近似表示,難以對(duì)詞語(yǔ)的上下文信息進(jìn)行充分表示。
2)BERT 能夠在考慮輸入文本的上下文信息的情況下,對(duì)其中的每個(gè)詞語(yǔ)的語(yǔ)義信息進(jìn)行動(dòng)態(tài)表示,這一點(diǎn)是BERT 遠(yuǎn)優(yōu)于隨機(jī)初始化和Word2vec 的特點(diǎn),能夠解決一詞多義的現(xiàn)象。
(2)Encoder 層數(shù)對(duì)模型效果的影響
工業(yè)信息化領(lǐng)域的語(yǔ)料規(guī)模較小,為了避免過(guò)擬合問(wèn)題的發(fā)生而影響模型的效果,對(duì)比STCNER 中采用不同的Encoder 層數(shù)的模型效果,以確定最適合任務(wù)的Encoder 層數(shù)。同時(shí),為了更充分地對(duì)比模型參數(shù)量在不同規(guī)模的語(yǔ)料上訓(xùn)練效果的差異,在大規(guī)模的人民日?qǐng)?bào)語(yǔ)料和小規(guī)模的工業(yè)信息化語(yǔ)料上分別采用1~6個(gè)不同的Encoder 層進(jìn)行訓(xùn)練,通過(guò)F 值的差異來(lái)確定最優(yōu)的Encoder 層數(shù)。實(shí)驗(yàn)結(jié)果如表5所示。
表5 不同Encoder 層數(shù)在不同數(shù)據(jù)集上的F1 值
從表5 中可以看出,小規(guī)模的工業(yè)信息化語(yǔ)料在Encoder 層數(shù)為4 時(shí)F 值最高,更多Encoder 層數(shù)意味著更多的參數(shù)量、使得模型發(fā)生了過(guò)擬合。而大規(guī)模的人民日?qǐng)?bào)語(yǔ)料的F 值則隨著Encoder 層數(shù)的增加一直在增加,說(shuō)明參數(shù)量的增加還未產(chǎn)生過(guò)擬合的問(wèn)題。通過(guò)這兩個(gè)不同規(guī)模語(yǔ)料的對(duì)比,可以發(fā)現(xiàn)不同規(guī)模的數(shù)據(jù)集對(duì)模型參數(shù)量的要求是不同的。小規(guī)模的語(yǔ)料必然要求模型的結(jié)構(gòu)和參數(shù)量都不能太復(fù)雜,否則很容易產(chǎn)生過(guò)擬合的問(wèn)題。而大規(guī)模語(yǔ)料則要求模型具有足夠的結(jié)構(gòu)復(fù)雜性和參數(shù)量,這樣才能充分地提取數(shù)據(jù)集中的特征,以提高模型性能。
(3)錯(cuò)誤識(shí)別實(shí)例分析
進(jìn)一步分析錯(cuò)誤識(shí)別的實(shí)例,一個(gè)錯(cuò)誤識(shí)別的實(shí)例如圖5 所示。對(duì)于句子“非對(duì)稱數(shù)字用戶環(huán)路是一種新的數(shù)據(jù)傳輸方式”,其中“非對(duì)稱數(shù)字用戶環(huán)路”屬于通信網(wǎng)中的“有線網(wǎng)”實(shí)體。由于候選區(qū)間的長(zhǎng)度設(shè)置問(wèn)題,未能有效識(shí)別出這個(gè)長(zhǎng)度為9 的實(shí)體,導(dǎo)致整個(gè)句子中每個(gè)詞的標(biāo)簽都是“O”。分析其原因,STCNER 模型做預(yù)測(cè)時(shí),為了減小候選區(qū)間的搜索空間,模型需要預(yù)先設(shè)定候選區(qū)間的長(zhǎng)度范圍。這個(gè)范圍無(wú)法自動(dòng)獲得,使得區(qū)間長(zhǎng)度的確定需要依賴經(jīng)驗(yàn)公式,因此可能會(huì)導(dǎo)致長(zhǎng)度超過(guò)該范圍的領(lǐng)域?qū)嶓w識(shí)別出現(xiàn)錯(cuò)誤。
圖5 通信網(wǎng)實(shí)體錯(cuò)誤識(shí)別實(shí)例
為了驗(yàn)證本文提出的遷移學(xué)習(xí)策略在工業(yè)信息化領(lǐng)域命名實(shí)體識(shí)別任務(wù)中的效果,本節(jié)設(shè)計(jì)了三組實(shí)驗(yàn),對(duì)比了是否引入遷移學(xué)習(xí)的STCNER 模型的實(shí)驗(yàn)效果,以及不同的源域?qū)δP瓦w移效果的影響。模型的參數(shù)設(shè)置如表6所示。
表6 參數(shù)設(shè)置
(1)遷移學(xué)習(xí)對(duì)工業(yè)信息化領(lǐng)域的命名實(shí)體識(shí)別的影響
為了驗(yàn)證Trans-STCNER 中基于參數(shù)的遷移學(xué)習(xí)以及加入MMD 距離的遷移學(xué)習(xí)對(duì)命名實(shí)體識(shí)別模型的有效性,首先將Trans-STCNER模型分為三個(gè)主要部分:STCNER 模型、遷移學(xué)習(xí)和加入MMD 距離的遷移學(xué)習(xí)。在STCNER 模型的基礎(chǔ)上,依次加入其余兩個(gè)模塊進(jìn)行實(shí)驗(yàn)對(duì)比,實(shí)驗(yàn)結(jié)果如表7 所示。
表7 引入遷移學(xué)習(xí)和MMD 距離的STCNER 模型的實(shí)驗(yàn)對(duì)比
實(shí)驗(yàn)結(jié)果表明,在STCNER 模型中加入基于參數(shù)的遷移學(xué)習(xí)方法,雖然在召回率上有所降低,但在精確率和綜合指標(biāo)F 值上要優(yōu)于STCNER 模型,這也證明了遷移學(xué)習(xí)策略的有效性。進(jìn)一步,在基于參數(shù)遷移的STCNER 模型中加入MMD 距離,以MMD 距離作為領(lǐng)域差異的度量標(biāo)準(zhǔn),通過(guò)減小MMD 值使得源域和目標(biāo)域的分布更加接近,實(shí)驗(yàn)結(jié)果表明這種策略雖然在準(zhǔn)確率和召回率上的表現(xiàn)都不是最優(yōu)的,但F 值是最高的,這也在一定程度上說(shuō)明這種方法的有效性。
這種策略之所以不能取得較大程度的性能提升,分析其原因可能有以下兩方面:首先是源域數(shù)據(jù)集的規(guī)模較小,人民日?qǐng)?bào)語(yǔ)料在遷移學(xué)習(xí)中作為源域數(shù)據(jù)集可能包含的數(shù)據(jù)量偏少,致使模型無(wú)法得到充分的預(yù)訓(xùn)練。其次是源域和目標(biāo)域的分布情況不同,雖然在模型中引入MMD 距離縮小了兩個(gè)領(lǐng)域之間的分布差異,但由于只是在單層上引入了適配層,可能無(wú)法充分地縮小兩個(gè)領(lǐng)域之間的分布差異。
(3)不同的源域數(shù)據(jù)對(duì)模型遷移效果的影響
為了研究不同的源域數(shù)據(jù)對(duì)遷移學(xué)習(xí)方法的影響,這里選取了MSRA、ResumeNER、WeiboNER 和人民日?qǐng)?bào)四種不同的命名實(shí)體識(shí)別語(yǔ)料作為源域數(shù)據(jù)集,它們具有不同的規(guī)模、不同的文本領(lǐng)域和不同的標(biāo)注方案。數(shù)據(jù)集的統(tǒng)計(jì)信息如表8 所示。
表8 不同數(shù)據(jù)集的信息
將以上四種不同數(shù)據(jù)集作為源域進(jìn)行遷移的實(shí)驗(yàn)結(jié)果如表9 所示。由實(shí)驗(yàn)結(jié)果可知,在小規(guī)模的數(shù)據(jù)集ResumeNER 和WeiboNER 上的表現(xiàn)要遠(yuǎn)低于在MSRA 和人民日?qǐng)?bào)語(yǔ)料上的表現(xiàn),甚至要遠(yuǎn)低于不加入遷移學(xué)習(xí)策略的STCNER 模型的表現(xiàn),可能的原因有兩點(diǎn):一是數(shù)據(jù)集的規(guī)模較小,無(wú)法充分對(duì)模型進(jìn)行預(yù)訓(xùn)練;二是數(shù)據(jù)集之間的數(shù)據(jù)分布差異較大,反而阻礙了模型在目標(biāo)域上的訓(xùn)練過(guò)程。
表9 采用不同源域的實(shí)驗(yàn)結(jié)果對(duì)比
實(shí)驗(yàn)結(jié)果證明基于人民日?qǐng)?bào)的遷移學(xué)習(xí)策略是表現(xiàn)最好,這是因?yàn)槿嗣袢請(qǐng)?bào)與其他數(shù)據(jù)集相比具有更大的數(shù)據(jù)規(guī)模,同時(shí)數(shù)據(jù)分布與目標(biāo)數(shù)據(jù)集的分布差異最小。
針對(duì)傳統(tǒng)標(biāo)注法在訓(xùn)練過(guò)程中可能導(dǎo)致的序列標(biāo)注不一致的問(wèn)題,本文提出了基于有限區(qū)間的命名實(shí)體識(shí)別模型STCNER。首先采用基于有限區(qū)間的標(biāo)注方法對(duì)文本的向量表示進(jìn)行截取,抽取候選命名實(shí)體并標(biāo)注其類別;其次以Transformer 中的Encoder 作為模型基本架構(gòu),利用其中的Self-Attention 機(jī)制對(duì)文本與候選命名實(shí)體的特征進(jìn)行充分抽取;最后通過(guò)全連接層輸出候選命名實(shí)體的類別。在工業(yè)信息化領(lǐng)域數(shù)據(jù)集上的對(duì)比實(shí)驗(yàn)表明了STCNER 模型的有效性。
針對(duì)工業(yè)信息化領(lǐng)域命名實(shí)體識(shí)別任務(wù)中標(biāo)注樣本不足、模型訓(xùn)練效果不佳的問(wèn)題,本文在STCNER 模型的基礎(chǔ)上提出一種深度遷移的算法Trans-STCNER,采用參數(shù)共享的方式,將在通用領(lǐng)域的命名實(shí)體識(shí)別數(shù)據(jù)集上預(yù)訓(xùn)練得到的模型遷移到工業(yè)信息化領(lǐng)域,并在領(lǐng)域命名實(shí)體識(shí)別數(shù)據(jù)集上進(jìn)行微調(diào),以獲得在工業(yè)信息化領(lǐng)域數(shù)據(jù)集上表現(xiàn)良好的模型。在人民日?qǐng)?bào)語(yǔ)料和工業(yè)信息化領(lǐng)域數(shù)據(jù)集上的對(duì)比實(shí)驗(yàn)表明了本文提出的遷移策略的有效性。
本文重點(diǎn)研究了領(lǐng)域命名實(shí)體識(shí)別標(biāo)注數(shù)據(jù)不足,數(shù)據(jù)特征差異較大、模型難以擴(kuò)展的問(wèn)題,提出適用于工業(yè)信息化領(lǐng)域的命名實(shí)體識(shí)別方法,具有一定研究意義。綜合實(shí)驗(yàn)結(jié)果來(lái)看,后續(xù)工作可以考慮把候選區(qū)間的長(zhǎng)度作為學(xué)習(xí)參數(shù),動(dòng)態(tài)地調(diào)整長(zhǎng)度范圍,進(jìn)一步提升實(shí)體識(shí)別效果。此外,實(shí)驗(yàn)驗(yàn)證了本文為提出的遷移策略對(duì)模型的效果有一定的提升,未來(lái)隨著遷移學(xué)習(xí)、無(wú)監(jiān)督學(xué)習(xí)技術(shù)的發(fā)展,可以嘗試深度遷移方法來(lái)達(dá)到更好地遷移效果。