摘? 要:針對transformer編碼器架構(gòu)在中文命名實體識別任務(wù)上表現(xiàn)不佳的問題,提出使用無參數(shù)化的傅立葉子層替換編碼器中自注意力子層,使用卷積神經(jīng)網(wǎng)絡(luò)替代前饋神經(jīng)網(wǎng)絡(luò)。實驗表明,采用結(jié)合傅立葉變換和卷積神經(jīng)網(wǎng)絡(luò)的transformer encoder架構(gòu)的算法,可以在較小的字符嵌入和參數(shù)量下實現(xiàn)性能提升,且訓(xùn)練過程更快。
關(guān)鍵詞:中文命名實體識別;編碼器;傅立葉變換;卷積神經(jīng)網(wǎng)絡(luò)
中圖分類號:TP391;TP18? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識碼:A文章編號:2096-4706(2022)02-0104-03
Abstract: In view of the poor performance of transformer encoder architecture in the task of Chinese named entity recognition, a non-parameter Fourier sublayer is proposed to replace the self attention sublayer in the encoder, and a convolutional neural network is used to replace the feedforward neural network. Experiments show that the algorithm based on the transformer encoder architecture combining Fourier transform and convolutional neural network can improve the performance with small character embedding and parameters, and the training process is faster.
Keywords: Chinese named entity recognition; encoder; Fourier transform; convolutional neural network
0? 引? 言
命名實體識別是自然語言處理領(lǐng)域的重要基礎(chǔ)課題,旨在將文本中命名實體分類到預(yù)定義的類別,如人名、組織和公司等。自然語言處理領(lǐng)域的一系列下游任務(wù)都依賴于命名實體的準(zhǔn)確識別,如問答系統(tǒng)和知識圖譜,甚至在推薦系統(tǒng)領(lǐng)域內(nèi)NER也開始扮演著重要角色。
現(xiàn)有的標(biāo)準(zhǔn)NER模型將命名實體識別視作逐字符的序列標(biāo)注任務(wù),通過捕獲上下文信息預(yù)測每個命名實體的預(yù)定義標(biāo)簽分類概率。該領(lǐng)域內(nèi)的主要模型可以大致分為以條件隨機(jī)場為代表的概率統(tǒng)計模型和以BiLSTM-CRF[1]為代表的深度學(xué)習(xí)模型。
Transformer[2]架構(gòu)在NLP領(lǐng)域的其他任務(wù)中快速地占據(jù)了主導(dǎo)地位,通過從輸入的組合中學(xué)習(xí)更高階特征的方式靈活地捕獲不同語法和語義關(guān)系。但其核心的注意力子層在方向性、相對位置、稀疏性方面不太適合NER任務(wù)。
本文引入無參數(shù)的傅立葉變換子層和卷積神經(jīng)網(wǎng)絡(luò)單元對Transformer架構(gòu)中注意力子層和前饋神經(jīng)網(wǎng)絡(luò)單元進(jìn)行完全替代,改進(jìn)后的Transformer結(jié)構(gòu)解決了中文命名實體識別中模型特征提取能不足和中文潛在特征表示不充分的問題。傅里葉子層和卷積神經(jīng)網(wǎng)絡(luò)單元的參數(shù)規(guī)模和并行性能使得該架構(gòu)在小規(guī)模語料、較小字符嵌入和快速訓(xùn)練場景中更具實用性。模型在CLUENER2020[3]中文細(xì)粒度命名實體識別數(shù)據(jù)集上取得了較好的實驗性能。
1? 相關(guān)工作
近年來,基于深度學(xué)習(xí)的實體識別方法開始成為主流研究方向。Collobert[4]等提出使用卷積神經(jīng)網(wǎng)絡(luò)完成命名實體識別任務(wù)。RNN模型因為能夠解決可變長度輸入和長期依賴關(guān)系等問題被引入NER領(lǐng)域,BiLSTM-CRF模型使用雙向長短期記憶網(wǎng)絡(luò)和其他語言學(xué)特征提升模型識別效果。
傅立葉變換作為神經(jīng)網(wǎng)絡(luò)理論研究的重要方向。Chitsaz等在卷積神經(jīng)網(wǎng)絡(luò)中部署了FFT以加快計算速度,Choromanski等利用隨機(jī)傅立葉特征將Transformer自注意力機(jī)制的復(fù)雜性線性化,而James等[5]提出的FNet網(wǎng)絡(luò)更是在訓(xùn)練速度和模型精度上取得了成功。
本文提出了一種基于新型Transformer編碼結(jié)構(gòu)的命名實體識別方法,通過引入無參數(shù)化的快速傅立葉變換彌補(bǔ)Transformer結(jié)構(gòu)的自注意力機(jī)制在中文命名實體識別任務(wù)中方向性和相對位置上的不足,并采用更適合上下文信息交互的卷積神經(jīng)網(wǎng)絡(luò)替換Transformer結(jié)構(gòu)中密集的全連接層。新型Transformer編碼結(jié)構(gòu)結(jié)合BiLSTM-CRF模型,在不引入先驗知識和預(yù)訓(xùn)練信息的基礎(chǔ)上,采用更少的詞嵌入長度、參數(shù)量和標(biāo)注數(shù)據(jù)語料即可充分捕獲文本序列的潛在特征,構(gòu)建一種遷移能力更強(qiáng)、完全端到端的命名實體識別模型。
2? FTCN模型
FTCN模型共包含三個部分:FTCN編碼模塊,BiLSTM模塊和CRF模塊。FTCN編碼模塊支持隨機(jī)初始化并自主訓(xùn)練詞向量和預(yù)訓(xùn)練詞向量微調(diào)兩種詞嵌入方式。BiLSTM模塊通過引入門控機(jī)制充分提取文本的雙向語義特征。最后,CRF模塊采用動態(tài)規(guī)劃算法將BiLSTM輸出的特征向量解碼為一個最優(yōu)的標(biāo)記序列。
2.1? FTCN解碼模塊
FTCN-Encoder是一種無須注意力機(jī)制的Transformer架構(gòu),其中每一層由一個傅里葉子層和一個卷積神經(jīng)網(wǎng)絡(luò)子層組成,模塊結(jié)構(gòu)如圖1所示。本質(zhì)上,本文是將每個Transformer架構(gòu)的自注意力子層替換成一個傅里葉子層,該子層將輸入序列沿著序列長度和詞向量維數(shù)兩個維度進(jìn)行離散傅立葉變換。同時,本文使用卷積神經(jīng)網(wǎng)絡(luò)取代每個Transformer架構(gòu)的前饋神經(jīng)網(wǎng)絡(luò),卷積神經(jīng)網(wǎng)絡(luò)可以模擬實現(xiàn)類似n-gram模型的效果,充分挖掘上下文字符之間的語義特征,相較于前饋神經(jīng)網(wǎng)絡(luò)參數(shù)量更少且更適合命名實體識別任務(wù)。
其中,傅立葉變換將函數(shù)轉(zhuǎn)換成一系列周期函數(shù),給定一個序列,離散傅立葉變換的公式為:
其中,k∈[0,N-1],對于每個k,離散傅立葉變換將原始輸入表示為之和。傅里葉子層將輸入沿著序列長度和詞向量維數(shù)兩個維度進(jìn)行離散傅立葉變換。對于結(jié)果我們僅保留實數(shù)部分。
同時,如果保留Transformer中的前饋神經(jīng)網(wǎng)絡(luò),則FTCN-encoder模塊將退化成無卷積神經(jīng)網(wǎng)絡(luò)參與的FTNN-encoder模塊。FTCN-encoder模塊的特征提取能力更強(qiáng),且可以通過設(shè)置各子層的連接方式,選擇ResNet連接或Concat連接。而FTNN-encoder模塊的連接方式則更適合ResNet連接,模型參數(shù)量過大且難以收斂。
2.2? BiLSTM模塊
長短期記憶網(wǎng)絡(luò)是一種特殊的RNN網(wǎng)絡(luò),在動態(tài)捕獲序列特征和保存記憶信息的基礎(chǔ)上引入門控機(jī)制和記憶單元。用于緩解長序列遺忘問題的三個門控機(jī)制分別為遺忘門、輸入門和輸出門,這種門控機(jī)制通過對記憶單元的信息進(jìn)行有效遺忘和記憶,能夠?qū)W習(xí)到長期依賴并解決了不同長度輸入和RNN容易產(chǎn)生梯度消失和爆炸的問題。BiLSTM是對長短期記憶網(wǎng)絡(luò)的一種優(yōu)化改進(jìn),使用正向和反向長短期記憶網(wǎng)絡(luò)來提取隱藏的前向語義信息和后向語義信息,實現(xiàn)對上下文數(shù)據(jù)的充分利用。
2.3? CRF模塊
通常,基于概率統(tǒng)計的機(jī)器學(xué)習(xí)和深度學(xué)習(xí)都是將命名實體識別任務(wù)視作序列標(biāo)注問題,所以多采用Softmax等分類器完成多分類任務(wù)。但Softmax分類器忽略了預(yù)測標(biāo)簽之間的依存關(guān)系,而依存關(guān)系是命名實體識別中重要的機(jī)制。條件隨機(jī)場模型可以考慮標(biāo)簽序列的全局關(guān)系,得到全局最優(yōu)的標(biāo)注序列。
3? 實驗與分析
本文采用控制變量的方法進(jìn)行實驗設(shè)計,為了驗證傅立葉卷積網(wǎng)絡(luò)FTCN的性能和各個結(jié)構(gòu)對性能提升的占比,將采用統(tǒng)一的數(shù)據(jù)處理方法、相同的運(yùn)行環(huán)境和訓(xùn)練參數(shù)設(shè)置。模型的差異度僅存在于不同的結(jié)構(gòu)構(gòu)成,共同部分確保一致。在每輪實驗中都讓模型得到充分訓(xùn)練,并采用多輪測試取平均的方式作為最終的性能指標(biāo),排除隨機(jī)性和其他實驗干擾。
3.1? 實驗數(shù)據(jù)及評價指標(biāo)
本文使用中文細(xì)粒度命名實體識別數(shù)據(jù)集CLUENER 2020,本數(shù)據(jù)是在清華大學(xué)開源的文本分類數(shù)據(jù)集THUCTC基礎(chǔ)上,選出部分?jǐn)?shù)據(jù)進(jìn)行細(xì)粒度命名實體標(biāo)注。CLUENER2020采用四元標(biāo)記集{B,I,O,S},標(biāo)注了包括組織、姓名、地址、公司、政府、書名、游戲、電影、組織機(jī)構(gòu)和景點共計10個標(biāo)簽類型。其中B表示命名實體的第一個詞,I表示命名實體的其余詞,O表示非命名實體詞,S則表示命名實體為單個字符。與其他可用的中文數(shù)據(jù)集相比,CLUENER2020被標(biāo)注了更多的類別和細(xì)節(jié),具有更高的挑戰(zhàn)性和難度。CLUENER2020數(shù)據(jù)集的信息統(tǒng)計如表1所列。
為了衡量模型的性能,實驗采用綜合所有標(biāo)簽的準(zhǔn)確率(Precision,P)、召回率(Recall,R)和F值(F1-score)作為評價指標(biāo)。具體計算公式如下:
其中,ρ=1,表示準(zhǔn)確率和召回率權(quán)重相同,此處F值即為F1值。
3.2? 模型搭建和參數(shù)設(shè)置
實驗使用PyTorch搭建模型,并保證模型的數(shù)據(jù)處理和訓(xùn)練、測試部分代碼的一致性。PyTorch是一個基于Torch的Python開源機(jī)器學(xué)習(xí)庫,用于自然語言處理等應(yīng)用程序。實驗所涉及模型的參數(shù)設(shè)置如下:輸入維度為128,訓(xùn)練集和測試集的batch_size為32,訓(xùn)練學(xué)習(xí)率為0.01,dropout參數(shù)均為0.5,F(xiàn)TCN中卷積核kernel_size設(shè)置為3和5并保證輸出維數(shù)與輸入維數(shù)一致。
3.3? 實驗結(jié)果
在CLUENER2020數(shù)據(jù)集上,為了有效驗證FTCN模型的性能,本文采用以下四種方法進(jìn)行實驗設(shè)置:CLUENER2020數(shù)據(jù)集中的基線模型BiLSTM-CRF、采用FTCN解碼模塊的FTCN(encoder)-CRF、將FTCN解碼模塊中卷積神經(jīng)網(wǎng)絡(luò)替換為transformer中前饋神經(jīng)網(wǎng)絡(luò)的FTNN(encoder)-BiLSTM-CRF和本文提出的FTCN模型。實驗結(jié)果如表2所示。
從表2中可以看出,BiLSTM-CRF的F1值為69.90%相較于CLUENER2020數(shù)據(jù)集中提出的基線模型取得了相近的結(jié)果;FTCN(encoder)-CRF模型由于缺少BiLSTM模塊所以取得較差的成績;FTNN(encoder)-BiLSTM-CRF由于FNN導(dǎo)致編碼模塊的特征提取能力不足;本文提出的FTCN模型在準(zhǔn)確率、召回率和F1值三項評價指標(biāo)上均取得了最優(yōu),對比CLUENER2020提出的baseline即BiLSTM-CRF模型將F1值從70%提升至72.48%,提升幅度約為3.54%,并且模型訓(xùn)練速度顯著提升,收斂更為迅速。
4? 結(jié)? 論
本文提出了一種全新的端到端神經(jīng)網(wǎng)絡(luò)FTCN,并將其應(yīng)用于中文命名實體識別任務(wù)中且在CLUENER2020中文細(xì)粒度命名識別數(shù)據(jù)集上驗證了模型的性能。該模型的編碼模塊使用類似Transformer編碼的架構(gòu),使用傅立葉變換子層取代了Transformer中的自注意力子層,并選擇更適合自然語言處理任務(wù)的卷積神經(jīng)網(wǎng)絡(luò)代替前饋神經(jīng)網(wǎng)絡(luò)。在降低模型參數(shù)量的基礎(chǔ)上,提升了模型的并行程度,充分挖掘上下文字符間的語義信息,提升了命名實體識別的性能。
參考文獻(xiàn):
[1] HUANG Z,XU W,YU K. Bidirectional LSTM-CRF models for sequence tagging [J/OL].arXiv:1508.01991 [cs.CL].[2021-11-02].https://arxiv.org/abs/1508.01991.
[2] VASWANI A,SHAZEER N,PARMAR N,et al. Attention is all you need [J/OL] arXiv:1706.03762 [cs.CL].[2021-11-02].https://doi.org/10.48550/arXiv.1706.03762.
[3] XU L,DONG Q,LIAO Y,et al. CLUENER2020:fine-grained named entity recognition dataset and benchmark for Chinese [J/OL].arXiv:2001.04351 [cs.CL].[2021-11-05].https://doi.org/10.48550/arXiv.2001.04351.
[4] PINHEIRO P O,COLLOBERT R. Weakly Supervised Semantic Segmentation with Convolutional Networks [J].arXiv:1411.6228 [cs.CV].[2021-11-03].https://arxiv.org/abs/1411.6228.
[5] LEE-THORP J,AINSLIE J,ECKSTEIN I,et al. FNet:Mixing Tokens with Fourier Transforms [J].arXiv:2105.03824 [cs.CL].https://doi.org/10.48550/arXiv.2105.03824.
作者簡介:李彪(1996—),男,漢族,安徽蚌埠人,碩士研究生在讀,研究方向:人工智能、自然語言處理、數(shù)據(jù)挖掘。