본문 바로가기
대학원 이야기/논문 리뷰

[논문 리뷰] Semi-supervised sequence tagging with bidirectional language models (수정 중) (2017 ACL)

by misconstructed 2020. 10. 16.
728x90

TagLM에 대한 논문이다.

논문의 원본은 여기서 볼 수 있다. 


# Introduction

Pre-trained embedding (word2vec, GloVe 등)은 다양한 NLP 분야에서 볼 수 있다. 다양한 연구들이 pre-trained embedding이 단어의 의미와 문법적인 특징들을 학습하는데 유용하다는 것을 나타냈다. 이러한 pre-trained embedding을 다양한 NLP task에 적용시킴으로서 성능을 향상시킬 수 있었다. 

하지만, 대부분의 NLP task에서는 그저 단어의 의미만 필요한 것이 아니라, 해당 단어가 문맥에서 나타내는 의미가 필요하다. 당시 SOTA 모델의 경우, bidirectional recurrent neural network(RNN)을 이용해서 문맥을 고려한 context sensitive representation을 생성하는 방법을 사용한다. Token 들은 pre-trained embedding 으로 초기화되지만, bidirectional RNN은 레이블링된 데이터에 대해서 학습을 진행한다. 

이번 논문에서는 레이블링된 데이터가 필요 없는 semi-supervised 방식을 제안한다. 레이블링하지 않은 큰 데이터에 대해서 pre-trained 된 Neural Language Model (LM) 을 사용해서 해당 위치에서의 문맥을 고려한 인코딩을 생성한다. LM embedding은 미래에 나타날 단어들을 예측하기 때문에, 단어의 의미와 단어의 문법적인 특성을 모두 인코딩할 수 있다. 이번 논문에서는 LM embedding 이 sequence tagging task에서 성능 향상을 가져올 수 있다는 것을 보인다. 또한, forward LM만 사용하는 것보다 forward/backward LM을 함께 사용하는 것이 더 좋은 성능을 제공한다는 것을 보인다.

# Language model augmented sequence taggers (TagLM)

[그림-1]

[그림-1]은 language model augmented sequence tagger (TagLM) 의 구조를 나타낸다. TagLM은 크게 3 단계로 구성된다.

  1. 레이블링 하지 않은 큰 데이터셋을 기반으로 neural LM을 pre-train 한다.
  2. 입력으로 제공되는 토큰에 대해서 단어LM embedding을 추출한다.
    1. 추출한 embedding을 supervised sequence tagging model의 입력으로 사용한다. 

[식-1]

입력으로 제공되는 토큰 $ (t_1, t_2, ... , t_N) $ 은 representation $ x_k$ 로 뱐환된다. $ x_k $ 는 character based representation $ c_k $ 와 token embedding $ w_k $ 를 연결해서 생성한다. Character representation $ c_k $ 는 형태론적인 정보 (morphological information) 를 학습하고, CNN 또는 RNN으로 생성할 수 있다. 해당 과정은 $ \theta_c $ 를 파라미터로 보유한 $ C $  함수를 통해서 이루어진다. Token embedding $ w_k $ 는 pre-trained embedding $ E $ 에서 해당 토큰을 찾아서 사용한다. 

[식-2]

Context sensitive representation을 학습하기 위해서 여러 층으로 구성된 bidirectional RNN을 사용한다. 각 position $ k $ 의 hidden state $ h_{k, i} $ 는 동일한 층의 forward representation $ \overrightarrow{h_{k, i}} $ 과 backward representation $ \overleftarrow{h_{k, i}} $을 연결시켜서 생성한다. Bidirectional RNN은 이러한 방식으로 과거의 내용과 미래의 내용을 모두 고려해서 position $ k $ 의 값을 예측할 수 있다. 

이번 논문에서는 2개의 층을 사용한다. ($ L = 2 $ ) 각 층을 구성하는 $ R_i $ 는 Gated Recurrent Units(GRU) 또는 Long Short-Term Memory (LSTM)을 사용한다. 마지막 층의 출력 $ h_{k, L} $ 은 single dense layer 의 입력으로 제공되어 tagging을 위한 점수를 계산하는데 사용된다. 

# Bidirectional LM

Language Model은 $ (t_1, t_2, ..., t_N) $ 이라는 입력이 있을 때 다음과 같은 연산을 수행한다.

[식-3]

Token representation (character 단위의 CNN을 통해 생성되었거나, token embedding을 사용할 수 있다.) 은 여러 층으로 구성된 LSTM-layer의 입력으로 제공된다. 


# 참고 논문

Distributed representations of words and phrases and their compositionality.: pre-trained word embedding (1) (word2vec)

Glove: Global vectors for word representation. : pre-trained word embedding(2) (GloVe, 리뷰)

Transfer learning for sequence tagging with hierarchical recurrent networks. : bidirectional recurrent neural network 를 사용한 당시의 SOTA 모델

End-to-end sequence labeling via bi-directional LSTM-CNNsCRF.

On the properties of neural machine translation: Encoder-decoder approaches. : Gated Recurrent Units (GRU)

Long short-term memory. : Long Short-Term Memory (LSTM) 

 

728x90

댓글