Macho000

要約

下の図のように埋め込み表現と両方向LSTMを使用してCRF層に出力するモデルを提案

picture 1

LSTM-CRFモデルとは

LSTM

RNNはニューラルネットワークの一部で有、連続データを扱う。しかし、 RNNの問題点として、長い文章を扱う際に最も直近の入力に注目してしまうという問題点があった。

この問題に対処するためにLSTMモデルが提案された。LSTMは(Long Short-term Memory Networks)の略である。

LSTMでは、入力の情報を貯めるメモリー機構とそのメモリーをどの用いた機構である。

数式で表すと下記のようになる。

$$ \begin{aligned} \mathbf i_t=& \sigma\left(\mathbf W_{x i} \mathbf x_t+\mathbf W_{h i} \mathbf h_{t-1}+\mathbf W_{c i} \mathbf c_{t-1}+\mathbf b_i\right) \ \mathbf c_t=&\left(1-\mathbf i_t\right) \odot \mathbf c_{t-1}+\ & \mathbf i_t \odot \tanh \left(\mathbf W_{x c} \mathbf x_t+\mathbf W_{h c} \mathbf h_{t-1}+\mathbf b_c\right) \ \mathbf o_t=& \sigma\left(\mathbf W_{x o} \mathbf x_t+\mathbf W_{h o} \mathbf h_{t-1}+\mathbf W_{c o} \mathbf c_t+\mathbf b_o\right) \ \mathbf h_t=& \mathbf o_t \odot \tanh \left(\mathbf c_t\right) \end{aligned} $$

$$ \begin{aligned} \mathbf i_t=& \sigma\left(\mathbf W_{x i} \mathbf x_t+\mathbf W_{h i} \mathbf h_{t-1}+\mathbf W_{c i} \mathbf c_{t-1}+\mathbf b_i \right) \end{aligned} $$

CRFタグモデルとは

単純なタグモデルでは、隠れ状態 $\mathcal{h}_t$ に対する出力 $y_t$ を独立に決定する。

しかし、この単純なタグモデルでは、出力に対して依存関係のあるような対象を出力sルウことは難しい。

NERでは、文法構造が大事になっており単純なタグモデルを使用できない。

例えば、B-LOCの次にI_PERが続くことはできない。

入力が下記のように与えられるとする

$$ \mathbf{X}=(x_1, x_2,…,x_n) $$

この時、両方向LSTMによって得られたスコア関数の出力をP遠く。

Pのサイズは$n \times k$とする。

$P_{i,j}$は、文章中の$i^{th}$番目の単語の$j^{th}$タグに対するスコアを表す。

そして、全体的なスコアを下記のように定義する

$$ s(\mathbf X, \mathbf y)=\Sigma_{i=0}^{n}A_{y_i, y_{i+1}}+\Sigma_{i=1}^{n}P_{i,y_i} $$

Aは、タグからタグへの移行スコアを表す

例えば、$A_{i,j}$は、タグiからタグjまでの移行スコアを表す

入力に対する全てのタグ出力yは下記のように表せる

$$ p(\mathbf{y} \mid \mathbf{X})=\frac{e^{s(\mathbf{X}, \mathbf{y})}}{\sum_{\tilde{\mathbf{y}} \in \mathbf{Y}_{\mathbf{X}}} e^{s(\mathbf{X}, \tilde{\mathbf{y}})}} $$

訓練中は下記のログ確率を最大にするようなタグ列を求める

$$ \begin{aligned} \log (p(\mathbf y \mid \mathbf X)) &=s(\mathbf X, \mathbf y)-\log \left(\sum_{\tilde{\mathbf y} \in \mathbf Y_{\mathbf X}} e^{s(\mathbf X, \tilde{\mathbf y})}\right) \ &=s(\mathbf X, \mathbf y)-\underset{\tilde{\mathbf y} \in \mathbf Y_{\mathbf X}}{\operatorname{logadd}} s(\mathbf X, \tilde{\mathbf y}) \end{aligned} $$

参考文献

Lample, Guillaume, Miguel Ballesteros, Sandeep Subramanian, Kazuya Kawakami, and Chris Dyer. “Neural architectures for named entity recognition.” arXiv preprint arXiv:1603.01360 (2016).

#論文解説