中文命名實體識別算法 Lattice LSTM

中文命名實體識別 (NER) 算法按照輸入的類型,可以大致分為 Character-based (字符) 和 Word-based (單詞) 兩種。這兩種方法都存在一些缺陷,Character-based 不能利用詞彙和詞彙序列信息;Word-based 需要分詞,分詞的錯誤會對 NER 結果產生較大影響。因此新加坡的研究者在 2018 年提出了一種 Lattice LSTM 的算法,可以利用詞彙信息,也可以避免分詞錯誤對模型的影響。

1.前言

中文命名實體識別算法 Lattice LSTM

基於字符和基於單詞的 LSTM 模型

如上圖所示,中文命名實體識別 NER 主要有 Character-based (基於字符) 方法和 Word-based (基於單詞) 方法:基於單詞的方法首先會利用分詞模型對句子分詞,然後把分好的單詞序列傳遞到 NER 模型中預測實體。基於字符的方法不對句子分詞,每一個 token 就是一個漢字,直接將 token 序列傳遞到 NER 模型預測實體。但是這兩種方法都存在一些問題:

  • 基於字符的方法不能利用詞彙和詞彙序列的信息,而這些信息對於實體識別通常很重要。
  • 基於單詞的方法需要經過分詞模型和 NER 模型,分詞中產生的錯誤會傳遞到 NER 模型中。這種分詞邊界的錯誤會導致 NER 模型出錯,這種情況在開放領域的 NER 任務中尤其嚴重。

基於上面的原因,新加坡的研究人員於 2018 年提出了 Lattice LSTM 模型,論文《Chinese NER Using Lattice LSTM》。Lattice LSTM 會利用詞典匹配句子中的單詞,然後構造出字符和單詞的網格 (Lattice)。Lattice LSTM 的神經元會同時接收字符和單詞的信息,自動選擇合適的字符或單詞,實現消除歧義的功能,如下圖所示。

中文命名實體識別算法 Lattice LSTM

單詞-字符 Lattice

2.Lattice LSTM

中文命名實體識別算法 Lattice LSTM

Lattice LSTM 結構圖

上圖展示了 Lattice LSTM 的結構,可以看成是 Char-LSTM 的擴展版。Lattice LSTM 在 Char-LSTM 的基礎上增加了 word-base cell 和額外的門結構,用於控制和選擇信息流。

Lattice LSTM 用到的一些數學符號如下圖所示:

中文命名實體識別算法 Lattice LSTM

Lattice LSTM 數學符號

我們首先看一下傳統 Char-LSTM 的計算公式,對於 LSTM 不熟悉的童鞋可以參考之前的文章《循環神經網絡 RNN、LSTM、GRU》。Char-LSTM 輸出主要包括 cell state c 和 hidden state h,計算公式如下:

中文命名實體識別算法 Lattice LSTM

傳統 Char-LSTM 計算公式

上面是 Char-LSTM 的計算公式,Lattice LSTM 在這基礎上增加了 word-base cell,用於計算單詞子序列的 cell state c

。下面的圖展示了 word-base cell 的結構:

中文命名實體識別算法 Lattice LSTM

Lattice LSTM 細節圖

Word-base cell 計算公式如下,生成一個包含單詞信息的 cell state:

中文命名實體識別算法 Lattice LSTM

word-base cell 計算 cell state

在上式中,word-base cell 是不包括輸出門向量的,因為 Lattice LSTM 只在 Char-LSTM 上輸出。得到 word-base 的 cell state 後,Lattice 需要融合到 Char-LSTM 的 cell state 上,這一過程需要增加一個輸入門向量,並且要對輸入門向量進行歸一化,如下所示:

中文命名實體識別算法 Lattice LSTM

輸入門向量歸一化

最終 Lattice LSTM 得到第 j 個字符的 cell state 如下:

中文命名實體識別算法 Lattice LSTM

Lattice LSTM cell state 計算

Lattice LSTM 的 hidden state h 計算公式和 Char-LSTM 是一樣的,最終把 h 傳遞到 CRF 層即可進行命名實體識別。

3.總結

Lattice LSTM 優點:

  • 可以同時利用中文字符和單詞的信息,通過增加 word-base cell 和控制門,對字符和單詞的信息進行選擇,消除歧義。

Lattice LSTM 缺點:

  • 因為字符之間增加單詞節點的個數是不同的,因此 Lattice LSTM 不支持 batch 訓練。
  • 如果句子中匹配的單詞過多,會導致 Lattice LSTM 效果變差 (可能會退化成為基於單詞的 LSTM),受到分詞錯誤的影響。

4.參考文獻

Chinese NER Using Lattice LSTM


分享到:


相關文章: