huggingface transformers實現(xiàn)命名實體識別:
http://pytorchchina.com/2020/03/04/transformers-%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B/
題目:TENER: Adapting Transformer Encoder for Named Entity Recognition
摘要:由于Transformer在NER上表現(xiàn)不好愕贡,作者提出了一個名為TENER的模型去建模字符特征和詞匯特征,通過將方向感知和距離感知以及未縮放的attention結(jié)合起來巍膘,實現(xiàn)了更好的效果與BiLSTM相比
- 上面這個例子顯示了方向?qū)τ谧R別一個實體的類別的重要性雏赦,在“in”后面的單詞通常是時間或地點洛口,‘Inc.’前面通常是機構(gòu)名被啼,而機構(gòu)名也常常是一組詞赦抖,所以距離也很重要压鉴。為了同時保留對距離和相對位置的感知能力,作者舍棄原本的絕對位置編碼而采用相對位置編碼骤坐,使用參數(shù)更少绪杏,在NER中效果更好。
-
上面是模型的主要架構(gòu)纽绍,可以看到:
1)嵌入層的字符特征提取主要是multi-head attention蕾久,最終的word embedding是將抽取出來的字符特征和詞嵌入拼接起來
2)作者的主要創(chuàng)新在transformer層,原來兩個位置向量之間的點積只能反映單詞間的距離拌夏,而不能區(qū)分方向僧著,為此作者提出了一種相對位置編碼,公式如下:
可以看到障簿,Rt和R-t是不一樣的盹愚,這樣就有了方向。
3)作者去掉了原來的縮放點積中的縮放值