命名實體識別(Named Entity Recognition,NER)是NLP中一項非常基礎的任務。NER是信息提取、問答系統、句法分析、機器翻譯等眾多NLP任務的重要基礎工具。
上一期我們介紹了NER的基本概念,大致介紹了NER常用的模型。本期我們詳細介紹目前NER最常用的兩種深度學習模型,LSTM+CRF和Dilated-CNN。
作者&編輯 | 小Dream哥
1 LSTM+CRF
在NLP領域,有那麼一段時間,LSTM是「最紅」的特徵抽取器,自然,NER中也開始引入LSTM來進行特徵抽取。
LSTM我就不再做過多的介紹,其原理在我的一篇文章中有詳細的介紹,讀者可以點擊如下的連結回顧:
如上圖所示,是用雙向LSTM+CRF進行命名實體識別的模型結構圖。
我們來好好分析一下這個模型,看數據的流轉和各層的作用。
1.embedding layer 將中文轉化為字向量,獲得輸入embedding
2.將embedding輸入到BiLSTM層,進行特徵提取(編碼),得到序列的特徵表徵,logits。
3.logits需要解碼,得到標註序列。將其輸入到解碼CRF層,獲得每個字的序列。
總結一下,該模型的重點其實有兩個:
1. 引入雙向LSTM層作為特徵提取工具,LSTM擁有較強的長序列特徵提取能力,是個不錯的選擇。雙向LSTM,在提取某個時刻特徵時,能夠利用該時刻之後的序列的信息,無疑能夠提高模型的特徵提取能力。
2. 引入CRF作為解碼工具。中文輸入經過雙向LSTM層的編碼之後,需要能夠利用編碼到的豐富的信息,將其轉化成NER標註序列。通過觀察序列,預測隱藏狀態序列,CRF無疑是首選。
2 ID-CNN+CRF
膨脹卷積可能有很多朋友還不是很熟悉,這裡先做一個簡單的介紹。
Dilated/Atrous Convolution(中文叫做空洞卷積或者膨脹卷積))或者是Convolution with holes。從字面上就很好理解,就是在標準的卷積裡注入空洞,以此來增加感受野。
Convolution with 3*3 kernel
Dilated Convolution with 3*3 kernel
如上圖所示,相比原來的正常卷積,膨脹卷積多了一個超參數,稱之為膨脹率(dilation rate),指的是kernel的間隔數量(例如,正常的卷積是膨脹率是1)。
「膨脹」的好處是,不做池化,不損失信息的情況下,增大了感受野,讓每個卷積輸出都包含較大範圍的信息。
《Fast and Accurate Entity Recognition with Iterated Dilated Convolutions》一文中提出在NER任務中,引入膨脹卷積,一方面可以引入CNN並行計算的優勢,提高訓練和預測時的速度;另一方面,可以減輕CNN在長序列輸入上特徵提取能力弱的劣勢。
具體使用時,dilated width會隨著層數的增加而指數增加。這樣隨著層數的增加,參數數量是線性增加的,而感受野卻是指數增加的,這樣就可以很快覆蓋到全部的輸入數據。
如上圖所示,模型是4個大的相同結構的Dilated CNN block拼在一起,每個block裡面是dilation width為1, 1, 2的三層Dilated卷積層,所以叫做 Iterated Dilated CNN。
IDCNN對輸入句子的每一個字生成一個logits,這裡就和BiLSTM模型輸出logits之後完全一樣,再放入CRF Layer解碼出標註結果。
總結
LSTM+CRF和ID-CNN+CRF兩種模型其實都是同一個架構:深度學習特徵提取+CRF解碼。現在絕大部分的NER任務都是採用這樣的一套框架。本文詳細的介紹了上述兩種方法的模型結構和本質,具體的實現和代碼,包括數據預處理,模型搭建,訓練,部署等在我們的知識星球裡都有詳細的介紹,感興趣的同學可以掃描下面的二維碼加入。
讀者們可以留言,或者加入我們的NLP群進行討論。感興趣的同學可以微信搜索jen104,備註"加入有三AI NLP群"。
下期預告:命名實體識別詳解之三
知識星球推薦
掃描上面的二維碼,就可以加入我們的星球,助你成長為一名合格的自然語言處理算法工程師。
知識星球主要有以下內容:
(1) 聊天機器人。考慮到聊天機器人是一個非常複雜的NLP應用場景,幾乎涵蓋了所有的NLP任務及應用。所以小Dream哥計劃以聊天機器人作為切入點,通過介紹聊天機器人的原理和實踐,逐步系統的更新到大部分NLP的知識,會包括語義匹配,文本分類,意圖識別,語義匹配命名實體識別、對話管理以及分詞等。
(2) 知識圖譜。知識圖譜對於NLP各項任務效果好壞的重要性,就好比基礎知識對於一個學生成績好壞的重要性。他是NLP最重要的基礎設施,目前各大公司都在著力打造知識圖譜,作為一個NLP工程師,必須要熟悉和了解他。
(3) NLP預訓練模型。基於海量數據,進行超大規模網絡的無監督預訓練。具體的任務再通過少量的樣本進行Fine-Tune。這樣模式是目前NLP領域最火熱的模式,很有可能引領NLP進入一個全新發展高度。你怎麼不深入的了解?
轉載文章請後臺聯繫
侵權必究