命名實體識別(Named Entity Recognition,NER)是NLP中一項非常基礎的任務。NER是信息提取、問答系統、句法分析、機器翻譯等眾多NLP任務的重要基礎工具。
命名實體識別的準確度,決定了下遊任務的效果,是NLP中非常重要的一個基礎問題。
作者&編輯 | 小Dream哥
1 命名實體識別是什麼?
要了解NER是一回什麼事,首先要先說清楚,什麼是實體。要討論實體的理論概念,可能會花上一整天的時間,我們不過多糾纏。
簡單的理解,實體,可以認為是某一個概念的實例。
例如,「人名」是一種概念,或者說實體類型,那麼「蔡英文」就是一種「人名」實體了。「時間」是一種實體類型,那麼「中秋節」就是一種「時間」實體了。
所謂實體識別,就是將你想要獲取到的實體類型,從一句話裡面挑出來的過程。
小明 在 北京大學 的 燕園 看了
PER ORG LOC
中國男籃 的一場比賽
ORG
如上面的例子所示,句子「小明在北京大學的燕園看了中國男籃 的一場比賽」,通過NER模型,將「小明 」以PER,「北京大學」以ORG,「燕園」以LOC,「中國男籃」以ORG為類別分別挑了出來。
2 命名實體識別的數據標註方式
NER是一種序列標註問題,因此他們的數據標註方式也遵照序列標註問題的方式,主要是BIO和BIOES兩種。這裡直接介紹BIOES,明白了BIOES,BIO也就掌握了。
先列出來BIOES分別代表什麼意思:
B,即Begin,表示開始
I,即Intermediate,表示中間
E,即End,表示結尾
S,即Single,表示單個字符
O,即Other,表示其他,用於標記無關字符
將「小明在北京大學的燕園看了中國男籃的一場比賽」這句話,進行標註,結果就是:
[B-PER,E-PER,O, B-ORG,I-ORG,I-ORG,E-ORG,O,B-LOC,E-LOC,O,O,B-ORG,I-ORG,I-ORG,E-ORG,O,O,O,O]
那麼,換句話說,NER的過程,就是根據輸入的句子,預測出其標註序列的過程。
3 命名實體識別的方法介紹
1)HMM和CRF等機器學習算法
HMM和CRF很適合用來做序列標註問題,早期很多的效果較好的成果,都是出自這兩個模型。兩種模型在序列標註問題中應用,我們在之前的文章中有介紹,感興趣的同學可以看下如下連結的文章:
【NLP】用於語音識別、分詞的隱馬爾科夫模型HMM
【NLP】用於序列標註問題的條件隨機場(Conditional Random Field, CRF)
2)LSTM+CRF
目前做NER比較主流的方法就是採用LSTM作為特徵抽取器,再接一個CRF層來作為輸出層,後面我們用專門的文章來介紹這個模型。如下圖所示:
3)CNN+CRF
CNN雖然在長序列的特徵提取上有弱勢,但是CNN模型可有並行能力,有運算速度快的優勢。膨脹卷積的引入,使得CNN在NER任務中,能夠兼顧運算速度和長序列的特徵提取,後面我們用專門的文章來介紹這個模型。
4)BERT+(LSTM)+CRF
BERT中蘊含了大量的通用知識,利用預訓練好的BERT模型,再用少量的標註數據進行FINETUNE是一種快速的獲得效果不錯的NER的方法,後面我們用專門的文章來介紹這個模型。
總結
NER是一個非常基礎,但是非常重要的任務,今天先做一個整體的介紹。後續小Dream哥會相繼詳細的介紹上述幾種常見的NER模型。在具體的模型中,大家能夠更為細緻的體會NER任務的真正作用和意涵。
讀者們可以留言,或者加入我們的NLP群進行討論。感興趣的同學可以微信搜索jen104,備註"加入有三AI NLP群"。
下期預告:命名實體識別詳解之二:LSTM+CRF網絡
知識星球推薦
知識星球主要有以下內容:
(1) 聊天機器人。考慮到聊天機器人是一個非常複雜的NLP應用場景,幾乎涵蓋了所有的NLP任務及應用。所以小Dream哥計劃以聊天機器人作為切入點,通過介紹聊天機器人的原理和實踐,逐步系統的更新到大部分NLP的知識,會包括語義匹配,文本分類,意圖識別,語義匹配命名實體識別、對話管理以及分詞等。
(2) 知識圖譜。知識圖譜對於NLP各項任務效果好壞的重要性,就好比基礎知識對於一個學生成績好壞的重要性。他是NLP最重要的基礎設施,目前各大公司都在著力打造知識圖譜,作為一個NLP工程師,必須要熟悉和了解他。
(3) NLP預訓練模型。基於海量數據,進行超大規模網絡的無監督預訓練。具體的任務再通過少量的樣本進行Fine-Tune。這樣模式是目前NLP領域最火熱的模式,很有可能引領NLP進入一個全新發展高度。你怎麼不深入的了解?