論文地址: },在字典D中找到在句中包含字符c所有可能的詞ws,如圖-3所示:
最終生成序列:
s_cw={(c1,ws1),(c2,ws2),...(cn,wsn)}
將字符和詞信息融入BERT網絡的字典適配層,方法如圖-4所示:
字典適配層有兩個輸入:字符和詞對,即上圖中的h和x,其中h是前壹個transformer層輸出的字符向量,x是m個可能包含該字符的詞組成的詞嵌入,其中j是m中的第j個詞:
其中e是預訓練得到的詞向量映射表。
為了對齊長短不壹的序列,對詞向量進行非線性變換如下:
其中W1是大小為dc-dw的矩陣,W2是大小dc-dc的矩陣,b1和b2是偏移,dw是詞向量的維度,c是隱藏層的維度。
由圖-3可知,壹個字可能對應多個詞,對於不同的任務,最匹配的詞可能並不相同。
具體算法是使用vi表示第i個字符對應的所有詞表,m是該字符可能對應的詞個數,計算註意力attention如下:
其中W是註意力權重矩陣。
然後對每個詞乘其權重加和,得到位置i對應的詞表示:
最終,將詞典信息與字符的向量相加,得到了該位置的新向量:
處理後的數據再送入dropout層和歸壹化層繼續處理。
將字符輸入詞嵌入層,加入token, segment和position信息,然後將該層輸出的詞嵌入輸入Transformer層:
輸出的 是第l個隱藏層的輸出,LN是歸壹化層,HMAttn是多頭註意力機制,FFN是兩個前饋網絡層,使用ReLU作為激活函數。
在k-th和(k+1)-th Transformer之間加入字典信息
考慮到標簽的前後關系,使用CRF層來預測最終的標簽,將最後壹個隱藏層h的輸出作為輸入,計算輸出層O:
然後將輸出層代入CRF模型,計算標簽y的概率p。
訓練時給出句子S和標簽Y,計算全句的負對數似然作為誤差。
解碼時,使用維特比算法計算得分最高的序列。
論文針對命名實體識別NER,分詞CWS、位置POS標註進行了實驗,實驗數據如表-1所示(中文NLP常用實驗數據)。
圖-5展示了相對於BERT和基於BERT的最新模型,文中模型誤差的減少情況。
除了與其它模型比較之外,論文還比較了LEBERT方法與在組裝模型的Bert+Word方法的差異。