命名實體識別(NER)是指在文本中識別出特殊對象,這些對象的語義類別一般在識別前被預約義好,預約義類別如人、地址、組織等。命名實體識別不只僅是獨立的信息抽取任務,它在許多大型nlp應用系統如信息檢索、自動文本摘要、問答系統、機器翻譯以及知識建庫(知識圖譜)中也扮演了關鍵的角色。web
傳統:網絡
當今:dom
給定標識符集合s=<w1,w2,...,wN>,NER輸出一個三元組<Is,Ie,t>的列表,列表中的每一個三元組表明s中的一個命名實體。分佈式
例:工具
有監督方法的NER任務依賴標註數據集。2005 年以前,數據集主要經過標註新聞文章獲得而且預約義的實體種類少,這些數據集適合用於粗粒度的NER任務; 2005 年以後,數據集來源愈來愈多,包括但不限於維基百科文章、對話、用戶生成語料(如推特等社區的用戶留言)等,而且預約義的實體類別也多了許多,以數據集 OneNotes 爲例,其預約義的實體類別達到了89種之多。性能
全部數據集中,最多見的數據集爲 CoNLL03 和 OneNotes,分別常見於粗粒度的NER任務和細粒度的NER任務。學習
常見的數據集列舉以下:ui
現成的NER工具來源於學界、工業界以及開源項目。列舉以下:編碼
NER任務須要同時肯定實體邊界以及實體類別。在精確匹配評估中,只有當實體邊界以及實體類別同時被精確標出時,實體識別任務才能被認定爲成功。基於數據的TP、FP以及FN,能夠計算NER任務的準確率,召回率以及F-score用於評估任務優劣。spa
準確率 |
![]() |
召回率 | ![]() |
F-score:F-score 是精確率和召回率的調和平均,最經常使用的 F-score : |
![]() |
絕大多數的NER任務須要識別多種實體類別,須要對全部的實體類別評估NER的效果。基於這個思路,有兩類評估指標:
一個深度NER系統的結構示例:
分佈式語義表示:一個單詞的含義是由這個單詞常出現的語境(上下文)所決定的.
一種直接粗暴的單詞表示方法爲 one-hot 向量表示。這種方法一般向量的維度太大,極度稀疏,且任何兩個向量都是正交的,沒法用於計算單詞類似度(見 CS224N lecture1筆記)。分佈式表示使用低維度稠密實值向量表示單詞,其中每一個維度表示一個隱特徵(此類特徵由模型自動學習獲得,而非人爲明確指定,研究者每每不知道這些維度到底表明的是什麼具體的特徵)。這些分佈式表示能夠自動地從輸入文本中學習獲得重要的信息。深度NER模型主要用到了三類分佈式表示:
做爲後續階段的輸入,這些詞嵌入向量既能夠在預訓練以後就固定,也能夠根據具體應用場景進行調整。
典型的應用:
典型例子:
典型例子以下:
基於深度學習的NER系統的第二步時利用輸入表示學習語義編碼。常見的語義編碼結構有:
如無特殊說明,文中的 RNN 通常指循環(recurrent)神經網絡。
如圖是一個經典的基於 CNN 的句子處理方法:
輸入表示階段,輸入序列中的每個詞都被嵌入一個 N 維的向量。在這以後,系統利用卷積神經網絡來產生詞間的局部特徵,而且此時卷積神經網絡的輸出大小還與輸入句子的大小有關。隨後,經過對該局部特徵施加極大池化(max pooling)或者平均池化(average pooling)操做,咱們能獲得大小固定且與輸入相互獨立的全局特徵向量。這些長度大小固定的全局特徵向量以後將會被導入標籤解碼結構中,分別對全部可能的標籤計算相應的置信分數,完成對標籤的預測。
循環神經網絡在處理序列輸入時效果優秀,它有兩個最多見的變種:
特別的,雙向循環神經網絡(bidirectional RNNs)能同時有效地利用過去的信息和將來的信息,便可以有效利用全局信息。所以,雙向循環神經網絡逐漸成爲解決 NER 這類序列標註任務的標準解法。
典型例子:
遞歸神經網絡是一種非線性自適應的模型,它能夠學習獲得輸入的深度結構化信息。命名實體與某些語言成分聯繫十分緊密,如名詞詞組。傳統的序列標註方法幾乎忽略了句子的結構信息(成分間的結構),而遞歸神經網絡能有效的利用這樣的結構信息,從而得出更好的預測結果。
典型例子:
語言模型是一類描述序列生成的模型。給定符號序列 ,且已知符號
以前的符號爲
,前向語言模型經過對符號
的機率進行建模來計算整個序列的機率:
相似的,反向語言模型對整個序列的計算以下:
而雙向語言模型(結合了前向和反向語言模型)同時利用了過去和將來的詞的信息來計算當前符號的機率,於是能夠很好的利用語境的語義與句法信息
典型例子:
典型例子:
標籤解碼是NER模型中的最後一個階段。在獲得了單詞的向量表示並將它們轉化爲上下文相關的表示以後,標籤解碼模塊以它們做爲輸入並對整個模型的輸入預測相應的標籤序列。主流的標籤解碼結構分爲四類:
利用這個結構能夠將NER這類序列標註模型視爲多類型分類問題。基於該階段輸入的上下文語義表示,每一個單詞的標籤被獨立地預測,與其鄰居無關。
例子以下:
條件隨機場(conditional random fields)是一類機率圖模型,在基於特徵的有監督方法中應用普遍,近來的許多深度學習方法也使用條件隨機場做爲最後的標籤標註結構。其缺點爲: 沒法充分利用段級信息,由於段的內部屬性沒法使用字級表示進行徹底編碼。
例子以下:
一些研究使用 RNN 來預測標籤。
例子以下:
參考文獻: