秦煜峰,劉 爽
(大連民族大學 計算機科學與工程學院,遼寧 大連 116650)
近些年來電子商務在國內(nèi)飛速發(fā)展,淘寶、京東、拼多多等電商已經(jīng)成為人們購物的不二選擇[1]。隨著電商熱潮的到來,如何從海量異構的商品信息中提取有效的實體,為構建精準的推薦、搜索和智能客服系統(tǒng)提供數(shù)據(jù)基礎成為熱點話題。
命名實體識別(Named Entity Recognition,NER),是指在給定文本中識別出具有特定意義的字或詞[2],并將這些特殊字詞映射到預先設定好的類別中。目前被廣泛的應用在信息檢索[3]、自動問答系統(tǒng)[4]、機器翻譯[5]以及知識圖譜構建[6]等大型自然語言處理應用系統(tǒng)中。
目前,命名實體識別方法大致可分為三類:(1)基于規(guī)則匹配的方法,依賴手工規(guī)則的協(xié)同,根據(jù)文本語法的特點以及實體的結(jié)構建立匹配模板,并利用建立好的模板進行實體匹配和提取。但是基規(guī)則的方法,通常需要根據(jù)不同的語言風格和應用領域制定不同的匹配規(guī)則,需要耗費大量的時間成本。 (2)基于傳統(tǒng)機器學習的方法,是指利用大規(guī)模已經(jīng)標注好的語料來學習出標注模型,對句子的每個位置進行標注,常見的模型有生成式模型隱馬爾可夫 (Hidden Markov Models,HMM) 模型[7]和判別式模型條件隨機場 (Conditional Random Field,CRF) 模型[8]。兩種模型中CRF模型的應用更為廣泛,CRF是一個序列標注模型,它的目標函數(shù)不僅考慮輸入的狀態(tài)特征函數(shù),而且還包含了標簽轉(zhuǎn)移特征函數(shù)[9]。CRF的優(yōu)點在于其為一個位置進行標注的過程中可以利用豐富的內(nèi)部及上下文特征信息,可以充分考慮詞與詞之間的依賴關系,克服了HMM模型輸出獨立行假設帶來的缺陷。(3)基于深度學習的方法,隨著硬件計算能力的發(fā)展以及詞的分布式表示(word embedding)的提出,神經(jīng)網(wǎng)絡已經(jīng)在多種大型自然語言處理任務中得到應用[10]。Hammertond等人[11]首次使用長短期記憶模型(Long Short Term Memory,LSTM)進行命名實體識別任務。Chiu等人[12]將卷積神經(jīng)網(wǎng)絡(Convolutional Neural Networks,CNN)應用于序列標注問題中,并取得了當時最好的結(jié)果。Strubell 等人提出使用迭代膨脹卷積神經(jīng)網(wǎng)絡(Iterated dilated Convolutional Neural Network,IDCNN)進行英文命名實體識別任務,Devlin等人[13]提出了BERT預訓練模型,將語義信息融入了詞向量,提高了命名實體識別任務的總體效果。楊飄等人[14],結(jié)合BERT預訓練模型,使用雙向長短期記憶神經(jīng)網(wǎng)絡(Bi-directional Long Short-Term Memory,BiLSTM)和條件隨機場方法進行命名實體識別,在多個數(shù)據(jù)集上均取得很好的成績。蘇劍林[15]在BERT的基礎上提出Rotary Transformer(RoFormer)預訓練模型,為Transformer結(jié)構設計了新的旋轉(zhuǎn)式位置編碼(Rotary Position Embedding,RoPE),RoPE具有良好的理論性質(zhì),是目前唯一一種可以應用到線性Attention的相對位置編碼,得益于新的位置編碼方式RoFormer在多項中文NLP任務中均超越BERT。
鑒于RoFormer的良好性能,本文將RoFormer引入到命名實體識別任務中,并使用BiLSTM和IDCNN分別對輸入文本進行特征提取,此外,為了提高模型對有用字詞的關注能力,本文還引用了多頭注意力機制。最后通過,CRF對電商領域?qū)嶓w進修正并輸出,該模型能充分利用詞的語義和位置信息,實驗結(jié)果也表明,本文所提出的融合注意力機制的RoFormer-BiLSTM-IDCNN-CRF電商領域命名實體識別模型具有更高的優(yōu)越性。
本文所使用數(shù)據(jù)來自京東平臺商品信息的自建數(shù)據(jù)集,因為原始數(shù)據(jù)并不規(guī)范其中存在大量的HTML標簽,所以需要使用正則表達式對數(shù)據(jù)進行清洗,獲取規(guī)范的數(shù)據(jù)。
本文針對電商商品信息語料中的4類實體,采用BIO標注模式對文本中的實體進行標注,B表示實體的第一個字符,I表示實體的中間或最后一個字符,O表示其他字符或者非規(guī)定范圍內(nèi)的實體字符[16]。B-HCCX和I-HCCX分別代表商品的開頭和中間字符;B-MISC和I-MISC代表商品產(chǎn)地的開頭和中間字符;B-HPPX和I-HPPX代表商品的品牌的開頭和中間字符;B-XH和I-XH代表商品規(guī)格的開頭和中間字符。序列標注樣例見表1。
表1 序列標注樣例
該數(shù)據(jù)集共有8 006條,并按照6:1:1的比例劃分訓練集、驗證集和測試集,各類實體統(tǒng)計見表2。
表2 電商數(shù)據(jù)實體統(tǒng)計
針對自建的電商商品信息數(shù)據(jù)集,本文采用融合多頭注意力機制的RoFormer-BiLSTM-IDCNN-CRF網(wǎng)絡模型結(jié)構做命名實體識別任務如圖1。模型主要由RoFormer預訓練模型、BiLSTM與IDCNN特征提取融合層、多頭注意力機制層和CRF推理層組成。
圖1 命名實體識別模型結(jié)構
模型使用RoFormer所提供的字典將字映射為單字ID,再通過RoFormer完成詞嵌入,獲得動態(tài)詞向量,將RoFormer輸出的詞向量輸入到BiLSTM和IDCNN中,分別進行特征提取,得到序列的特征表示,再將提取到的特征通過拼接方式進行融合,輸入到多頭注意力層中,進一步提取對于序列標注具有關鍵作用的特征,最后,利用CRF對注意力層的輸入進行解碼并輸出,獲得每個字的序列標注。
本文所提出的模型,具有三方面的優(yōu)勢,首先,使用RoFormer中文預訓練模型,相較于BERT預訓練模型,同級別的RoFormer得益于其獨特的位置編碼能夠獲得更豐富的字詞特征。其次,BiLSTM可以獲取到輸入句子中字詞的上下文特征,但是會忽略掉一部分的局部特征,而IDCNN則可以很好的提取到局部特征,將BiLSTM和IDCNN進行特征融合,可以提高模型特征提取的能力。最后引入多頭注意力機制,可以強化關鍵特征,進一步提升了模型的整體效果。
RoFormer由蘇劍林團隊于2020年3月發(fā)布,相較于谷歌團隊發(fā)布的BERT,RoFormer主要在字的位置編碼上做了改進。在BERT中采用正余弦位置編碼,這種方式是Vaswani等人[17]提出并用在Transformer模型中,其位置編碼方式為
PE(pos,2i+1)=sin(pos/100002i/dmodel),
(1)
PE(pos,2i+1)=cos(pos/100002i/dmodel)。
(2)
其中,pos代表當前詞在句子中的位置,i指向量中每個值的index,在偶數(shù)位置使用正弦編碼,在奇數(shù)位置,使用余弦編碼[18]。這種編碼形式屬于絕對位置編碼不能考慮到句子中詞與詞之間的位置關系。
通過分析相對位置編碼和絕對位置編碼的優(yōu)缺點,蘇劍林團隊提出了旋轉(zhuǎn)位置編碼(Rotary Position Embedding,RoPE),二維情況下用復數(shù)表示的RoPE計算方式如下:
(3)
根據(jù)復數(shù)乘法的幾何意義,上式變換實際上對應著向量的旋轉(zhuǎn),它還可以寫成矩陣的形式。
(4)
將二維向量推導致n維可以得到RoPE在維情況下的公式如下:
(5)
通過上述公式發(fā)現(xiàn)給位置m的向量n乘上矩陣Rm、位置n的向量k乘上矩陣Rn,變換后的Q,K序列做Attention,那么Attention就自動包含相對位置新信息。RoPE是一種配合Attention機制能達到“絕對位置編碼的方式實現(xiàn)相對位置編碼效果”的設計。RoFormer和其他模型位置編碼對比見表3。
在短文本任務上RoFormer預訓練模型和WoBERT預訓練模型表現(xiàn)類似,而在長文本任務中,RoFormer得益于旋轉(zhuǎn)位置編碼,其表現(xiàn)要優(yōu)于其他預訓練模型。
表3 預訓練模型位置編碼對比
長短期記憶神經(jīng)網(wǎng)絡[19](long short-term memory,LSTM)是一種特殊的循環(huán)神經(jīng)網(wǎng)絡(Recurrent Neutural Network,RNN)[20],相較于普通的RNN,LSTM引入了細胞狀態(tài),有效的解決了長序列在訓練過程中出現(xiàn)的梯度消失和梯度爆炸的問題[21],因此LSTM在處理長文本的問題上有更好的表現(xiàn)。
同其他的循環(huán)神經(jīng)網(wǎng)絡一樣,LSTM也具有鏈式結(jié)構, LSTM由四個門控單元組成,它們分別是輸入門、遺忘門、輸出門和記憶控制器。LSTM模型結(jié)構如圖2。
圖2 LSTM模型結(jié)構
LSTM單元具體實現(xiàn)方程組為
ft=σ(Wf·[ht-1,xt]+bf),
(6)
it=σ(Wi·[ht-1,xt]+bi),
(7)
(8)
Qt=σ(Wo[ht-1,xt]+bo),
(9)
(10)
ht=ot*tanh(Ct)。
(11)
式中:ft為遺忘門,決定將那部分信息從細胞狀態(tài)中舍去;it為輸入門,決定將多少信息加入到細胞狀態(tài)中;ot為輸出門,決定最終輸出的值。
LSTM只能計算上文的信息,對下文的信息不能考慮在內(nèi),所以采用BiLSTM模型如圖3,即兩層的LSTM結(jié)構,在計算過程中,同時將序輸入到正向和反向的LSTM中,對同一時刻的輸出結(jié)果合并,樣就能充分獲得輸入序列的上下文信息。
圖3 BiLSTM模型結(jié)構
迭代膨脹卷積神經(jīng)網(wǎng)絡(Iterated Dilated Convolutional Neural Network,IDCNN)是由多層膨脹卷積神經(jīng)網(wǎng)絡[22](Dilated Convolutional Neural Network ,DCNN)組成,其目的是擴大感受野,盡可能多的提取有用的特征。膨脹卷積網(wǎng)絡通過增加膨脹度,來增大卷積核尺寸進而增加了感受野[23]如圖4。a的卷積核和感受野均為3×3,接著將a中卷積的膨脹寬度設為2,得到了的3×3大小的卷積核b,其感受野為7×7。而IDCNN通過DCNN的逐層疊加,其感受野也呈指數(shù)增長,因此能更加充分提取文本的局部特征,對BiLSTM起到補充的作用。
a)膨脹度為1 b)膨脹度為2圖4 膨脹卷積示意圖
多頭注意力機制(Multi-head attention)可以讓模型更加關注重點信息,隨著輸入序列的不斷增長,會帶來一定的信息損失,將多頭注意力機制作用于BiLSTM和IDCNN的融合序列,可以增加對分類有意義特征的權重,減小無關特征的權重,從而提高模型輸出的準確率。多頭注意力機制結(jié)構圖如圖5。
對于融合后的特征進行線性變換,生成Q(query)、K(key)和V(value)三個向量,注意力權重計算公式如下:
(12)
其中,dk表示矩陣K的維度,將Q,K點乘后通過softmax函數(shù)進行歸一化處理,再與V相乘即可得到注意力權重。
圖5 多頭注意力機制結(jié)構圖
訓練好的權重參數(shù)Q,K,V乘上Wo進行線性轉(zhuǎn)換,即可得到最終的多頭注意力值。對于head數(shù)為h的注意力值計算如公式如下所示:
MultiHead(Q,K,V)=Concat(head1,head2,…,headh)Wo。
(13)
headi的計算公式如下所示:
(14)
條件隨機場(Conditional Random Field,CRF)是序列標注算法, CRF可以在訓練過程中自動學習到一寫限制條件,保證最后輸出預測標簽的合法性[24]。
X={X1,X2,…,Xn},Y={Y1,Y2,…,Yn}均為線性鏈表示的隨機變量序列,通過計算X的評分函數(shù),得到預測序列Y產(chǎn)生的概率,再計算當預測序列產(chǎn)生概率的似然函數(shù)為最大時的預測標簽作為輸出。Y的計算公式如下:
(15)
對于輸入序列X={x1,x2,…,xn},可以將輸出最佳序列y的概率為
(16)
其中,p(w|s)表示輸入序列與標簽序列的對應概率,Ws代表標簽序列。
在開源平臺TensorFlow中使用keras框架構建融合注意力機制的RoFormer-BiLSTM-IDCNN-CRF實體識別模型并調(diào)參,訓練過程如圖6。為了證明模型的有效性,本次實驗還在同一數(shù)據(jù)集上做了多組對比實驗以及消融實驗。
圖6 模型訓練過程
本次實驗運行環(huán)境見表5。
表5 實驗環(huán)境
訓練過程中使用學習率預熱策略AdamWarmup,增強模型的穩(wěn)定性,讓模型更快達到收斂狀態(tài)。同時還引入了對抗訓練Fast Gradient Method(FGM )提高模型的魯棒性和泛化能力,具體參數(shù)配置見表6。
表6 參數(shù)配置表
3.3.1 對比實驗
實驗過程中,只有當一個實體的類型和邊界完全正確時,才算正確的預測出實體。采用精確率P、召回率R和模型評價標準F1作為評價指標。
為了驗證模型的效果,實驗選取基于機器學習的“CRF”模型、基于深度學習的“BiLSTM-CRF”模型、“IDCNN-CRF”模型以及“BERT-BiLSTM-CRF”模型與所搭建的“融合注意力機制的RoFormer-BiLSTM-IDCNN-CRF”模型在相同實驗環(huán)境,對同一數(shù)據(jù)集進行訓練和驗證。對商品(HCCX)、產(chǎn)地(MISC)、品牌(HPPX)、規(guī)格(HX)四類實體進行識別,實驗結(jié)果也表明,融合注意力機制的 RoFormer-BiLSTM-IDCNN-CRF命名實體識別模型具有更高的優(yōu)越性。本次實驗結(jié)果見表7~10。
表7 商品實體識別結(jié)果
表8 產(chǎn)地實體識別結(jié)果
由實驗結(jié)果可以看出,深度學習模型實驗結(jié)果要遠優(yōu)于CRF模型,這是因為深度學習模型具有較強的學習能力,能充分提取文本特征。而預訓練模型的引入,可以獲得更加豐富的語義表示, 因此BERT-BiLSTM-CRF模型相較于BiLSTM-CRF模型有了較大地提高。本文所提出的模型,使用到了RoFormer預訓練模型能夠更充分的挖掘語義信息,而IDCNN能充分提取文本的局部特征彌補了BiLSTM提取局部特征的不足,因此本文所提出的模型評價結(jié)果要優(yōu)于其他的對比模型。
表9 品牌實體識別結(jié)果
表10 規(guī)格實體識別結(jié)果
3.3.2消融實驗
為了驗證多頭注意力機制在模型中的有效性,在本次實驗所用的電商商品信息數(shù)據(jù)集上進行了消融實驗,在相同的數(shù)據(jù)集和實驗環(huán)境下,對比模型損失下降的速度以及模型的準確率得到了如圖7~8的實驗結(jié)果。
通過對比圖7的實驗結(jié)果可以看出,模型在引入了多頭注意力機制后,對融合后的特征進行了權重的分配,增大了對分類影響較大的特征權重,減小了無關特征的權重,所以具有多頭注意力機制的模型損失下降得更快,模型更易達到收斂,同時在預測結(jié)果上也有了一定的提升。
圖7 損失對比
圖8 模型準確率對比
本文以電商平臺的商品信息作為數(shù)據(jù)集,提出了一種基于RoFormer的電商信息命名實體識別模型RoFormer-BiLSTM-IDCNN-CRF ,通過RoFormer獲取到字向量,再將經(jīng)過BiLSTM層和IDCNN層提取并融合后的信息輸入到多頭注意力層中學習重要的特征,最后,通過CRF模型進行實體標注,從而識別電商信息中的有效實體。通過對比目前命名實體識別領域的主流模型,進一步證明了本文所提出模型的優(yōu)越性。本次實驗識別出的實體可用于構建電商領域知識圖譜,為實現(xiàn)智能推薦和搜索系統(tǒng)提供數(shù)據(jù)基礎。在后續(xù)的研究中,將進一步擴大電商商品信息的語料,優(yōu)化訓練集中實體樣本的分布,提升識別的效果。