DevelopHyun

Data Science & Algorith with Computer Science

BLSTM-CNN-CRF[1] End-to-End Sequence Labeling via Bi-directional LSTM-CNNs-CRF(2016) - Review

01 Mar 2018 » deeplearning, rnn, cnn, lstm, charcnn, nlp, paperreview

1. Abstract

과거의 sequence labeling 작업에는 전문지식을 요구했지만, 이 논문에서는 BLSTM, CNN, CRF를 이용하여 사전작업이 없는 end-to-end model을 제시


2. Introduction

POS-tagging, NER 분야에 대해서 sequence labeling 실험


3. NN Architecture

3.1 charCNN

cnn

3.2 BLSTM

3.2.1 LSTM

lstm

3.2.2 BLSTM

LSTM 2개를 사용하여 seqeuence를 forward, backward 방향으로 각각 넣은 후 concatenate하여 사용

3.3 CRF(Conditional Random Field)

  • labeling을 할 때, 독립적으로 decoding하는 것이 아니라 주변의 정보를 파악하여 주변과의 상관관계를 파악는 것이 좋음
    • ex) POS-tagging작업에서 형용사 뒤에는 동사보다 명사가 많이 등장
  • CRF는 두 개의 연속적인 label들의 상호작용만 고려
    • Viterbi algorithm으로 효율적으로 최적화 가능
  • =
    • = = input sequence
    • = = output label sequence
    • = 가능한 모든 label sequence의 집합
    • = weight, bias corresponding to label pair
    • = 이전 step에서 가 나왔을 때, input 일 확률을 구하는 것에 사용
    • 가 나왔을 때, 가 나올 확률을 구하는 것에 사용되므로, 공유 되는 것
    • ex) 는 이전 label이 adj일때, 다음 label이 noun이 나올 확률을 구하는 것에 사용됨
    • =
    • 는 이전 label 과 현재 input 가 주어졌을 때, 가 나올 확률을 의미
    • 즉, 최종적으로 가 주어졌을 때, 의 구성요소 가 나올 확률들을 곱하여 최종적으로 가 나올 확률을 구함. 이때, 가 나올 확률은 에 따라 달라짐
  • =
    • log-likelihood를 최대화하는 방향으로 를 조정하며 CRF학습
  • =
    • 실제로 예측할 때는, 중에서 가장 확률이 큰 것을 선택

3.4 BLSTM-CNN-CRF

model

  • input 를 word embedding과 charCNN을 통한 embedding을 concatenate하여 vector 생성
  • 위에서 생성된 vector를 BLSTM에 넣어준 후, 새로운 vector를 생성
  • CRF에서는 이전에 뭐가 나왔는지 고려하여 각각의 경우마다 존재하는 를 vector에 곱해서 모든 가능한 경우의 수에 대한 확률을 구한 후, 가장 가능성이 큰 것을 출력

4. NN Training

4.1 Parameter Initialization

4.1.1 Word Embedding

  • 100dim-GloVe, 300dim-Word2Vec, 50dim-Senna에 대해서 실험

4.1.2 Char Embedding

  • 30dim-Uniformed sampled vector from range

4.1.3 Weight Matrices and Bias Vectors

  • Uniformly sampled from range

4.2 Optimization Algorithm

  • SGD
  • gradient norm을 5보다 작도록 유지

4.2.1 Early Stopping

  • 가장 성능이 좋은 parameter가 나오면 학습을 중단

4.2.2 Fine Tuning

  • gradient를 update하는 과정에서 embedding도 함께 update

4.2.3 Dropout Training

  • charCNN과, BLSTM에 dropout 적용

4.3 Tuning Hyper-Parameter

params


5. Experiment

5.1 Data Set

dataset

5.2 Main Results

result1

5.3 Comparison with previous word

5.3.1 POS tagging

result2

5.3.2 NER

result3

5.4 Word Embedding

result4

  • word embedding을 하는 것이 성능에 좋으며, 그 중 GloVe가 가장 성능이 좋다.

5.5 Effect of Dropout

result5

  • dropout을 해주는 것이 성능이 더 좋다.

5.6 OOV Error Analysis

result6

  • IV : in vocabulary
  • OOTV : out-of-training vocabulary, embedding은 되었지만 training set에 없는 단어
  • OOEV : out-of-embedding vocabulary, training set에는 있지만 embedding은 안되어 있음
  • OOBV : out-of-both vocabulary

  • BLSTM-CRF
  • LSTM-CNN

7. Conclusion

sequence labeling task에서 성능이 가장 좋은 end-to-end 모델이다.


8. Reference