Paper review/Natural Language Processing

Exploiting BERT for End-to-End Aspect-based Sentiment Analysis (2019)

언킴 2022. 9. 6. 13:29
반응형

Contents

     

     

    본 논문은 2019년 EMNLP에서 발표한 논문이다. E2E-ABSA를 하기 위한 BERT 모델을 제안하였다. ABSA는 Aspect Based Sentiment Analysis 를 의미한다. 기존의 Sentiment Analysis는 문장 전체를 살펴보고 긍정인지 부정인지 분류하는 형태로 진행되었다. 그러나, 이는 문장 내에 다중 속성(Aspect)이 내포되어 있더라도 하나의 속성 만을 도출한다는 단점이 존재한다. 예를 들어, "이 식당은 음식은 맛있지만, 서비스는 별로다." 라는 리뷰는 음식의 맛에 대한 속성은 긍정을 나타내고, 서비스에 대한 속성은 부정을 나타낸다. 그러나, 기존 기법을 사용하는 경우 음식, 서비스에 대한 속성을 모두 긍정 혹은 부정으로 판별한다는 것이다. 본 논문에서는 이러한 문제를 해결하기 위해 BERT-E2E-ABSA 모델을 제안하였다. 

     

     

    Introduction

    기존 연구에서도 ABSA (Aspect Based Sentiment Analysis) 관련된 연구는 활발히 진행되었다. 대표적인 모델이 ABSA, AOWE, E2E-ABSA 등이 있다. 첫 번째 기법인 ABSA 기법은 주어진 문장(sentence)과 속성(Aspect)의 정도를 예측하는 것에 초점을 두고 있다. 즉, 문장과 속성을 입력으로 사용하면 출력으로 Aspect Sentiment 를 출력하는 형태로 구성되어 있다.두 번째 기법인 AOWE 기법은 주어진 문장과 속성에 대한 Opinion Word를 추출하는 것이다. 마지막 기법인 E2E-ABSA 기법은 문장이 주어졌을 때 속성과 속성에 대한 감성을 추출하는 것을 목표로 한다.

    기존 연구에서는 task-agnostic 한 모델인 Word2Vec, GloVe 등의 모델을 사용하여 ABSA task를 수행하였다. 그러나 기존에 제안된 모델들은 병목 현상(bottleneck)을 발생해 성능이 그다지 좋지 않았다. Word2Vec의 경우 단어들에 대한 정보만을 고려하기 때문에 문장 전체에 대한 정보를 포착하는 것이 어렵기 때문이다. 따라서, 이를 극복하기 위해 문장 정보를 고려하는 LSTM, Transformer 등의 모델을 통한 ABSA 모델이 제안되었다. LSTM, Transformer 등의 기법은 문장의 처음부터 끝까지 모든 정보를 고려하기 때문에 E2E-ABSA 기법이라 부른다. 

     

    본 논문에서는 Transformer의 인코더를 이용하여 구축된 BERT를 사용하여 E2E-ABSA를 수행해 성능을 확인하고자 한다. 또한, 기존 연구에서 제안된 E2E-ABSA 모델과 같이 BERT를 사용하고 마지막에 single sequence tagger를 통과해 속성을 예측한다. 

     

     

    Model

    $T$ 길이의 입력 문장 $X = \{ x_1, ..., x_T\} $이 주어졌을 때 먼저 BERT Layer를 적용한다. BERT는 Token Embedding, Position Embedding, Segment Embedding으로 구성되어 있으며, 이를 합산한 후 최종 L 개의 Transformer Layer를 통과하는 구조로 되어 있다. BERT Layer를 통과하고 나면 Contextual representation $H^L = \{ h^L_1, ..., h^L_T \} \in \mathbb{R}^{ T \times \text{dim}_h}$가 출력된다. $H^L$는 총 입력 문장 토큰의 개수만큼 출력이 된다. $\text{dim}_h$는 입력 토큰의 representation vector의 차원을 의미한다. 그런 다음, Contextual represenation vector인 $H^L$가 단어에 태그를 예측하기 위해 E2E-ABSA Layer의 입력으로 사용된다. 마지막 출력 $y = \{ y_1, ..., y_T \} $는 B, I, E, S, O로 구성되어 있으며, B, I, E, S는 각각 속성의 시작(begging of aspect), 속성의 내부(inside of aspect), 속성의 끝(end of aspect), 단일 단어 속성(single-word aspect)을 의미하고 POS, NEG, NEU를 통해 속성에 대한 극성(Porality)을 나타낸다 .마지막으로 O는 outside of aspect를 의미한다. 

     

     

    BERT as Embedding Layer

    본 연구에서는 기존 연구에서 사용된 Word2Vec, GloVe 등을 통한 ABSA 기법의 성능을 개선하기 위해 BERT를 기반으로 E2E-ABSA 기법을 사용하였다. BERT 는 기본적으로 총 3개의 Embedding Layer로 구성되어 있다. 이를 $H^0 = \{ e_1, ..., e_T \} $로 표현하며, 첫 번째 Transformer Layer의 입력으로 사용한다. $H^0$은 Token Embedding, Position Embedding, Segment Embedding을 합친 값을 의미한다. 총 L 개의 Transformer Layer를 가지고 있기 때문에 이를 일반화 하면 $H^l =  \{ h^l_1, ..., h^L_T \}$가 된다. $H^l$은 이전 Layer의 represenation을 통해 계산되며 수식은 아래와 같다. 

    \[ H^l = \text{Transformer}_l (H^{l-1})\]

     

     

    Design of Downstream Model 

    위 과정을 통해 임베딩을 수행한 후 다운스트림을 위해 마지막 E2E-ABSA Layer를 구축하는 단계이다. 본 논문에서는 Linear Layer, Recurrent Neural Network(RNN), self-attention networks, Conditional Random Fields(CRF) 를 사용하여 최종 E2E-ASBA Layer를 구성하였다. 

     

    Linear Layer

    매우 간단한 모델 중 하나이며, Linear Layer를 통과한 후 Softmax function을 적용해 최종 output을 도출하는 형태이며, 수식은 아래와 같다. 

    \[ P(y_t|x_t) = \text{softmax}(W_oh^L_t + b_o) \]

    $W_o \in \mathbb{R}^{\text{dim}_h \times |\mathcal{Y}|} $는 linear layer의 학습 가능한 파라미터를 의미한다. 

     

    Recurrent Neural Networks

    본 연구에서는 sequence model 중 가장 성능이 우수하다고 알려진 GRU를 사용하여 모델을 구축한다. hidden representation인 $h^{\mathcal{T}}_t \in \mathbb{R}^{\text{dim}_h} $을 학습하기 위해 아래와 같은 수식을 사용한다. 

    \[ \begin{equation} \begin{split} \begin{bmatrix} r_t \\ z_t \end{bmatrix} & = \sigma(\text{LN}(W_xh^L_t) + \text{LN}(W_h h^{\mathcal{T}}_{t-1})) \\ \\  n_t & = \text{tanh} ( \text{LN} (W_{xn}h^L_t) + r_t * \text{LN} (W_{hn} h^{\mathcal{T}}_{t-1} )) \\ \\ h^{\mathcal{T}}_t & = (1-z_t) * n_t + z_t * h^{\mathcal{T}}_{t-1} \end{split} \end{equation}    \]

    $\sigma$는 시그모이드 함수를 의미하고, $r_t, z_t, n_t$는 GRU에 있는 reset gate, update gate, new gate를 의미한다. $W_x, W_h \in \mathbb{R}^{\text{2dim}_h \times \text{dim}_h}$, $W_{xn}, W_{hn} \in \mathbb{R}^{\text{dim}_h \times \text{dim}_h}$ 는 GRU의 파라미터를 의미한다. 마지막으로 $\text{LN}$는 Layer normalization을 의미한다. 위 과정을 통해 계산된 값을 Softmax 함수에 적용하여 최종 예측값을 도출한다.

    \[ p(y_t|x_t) = \text{softmax}(W_oh^{\mathcal{T}}_t + b_o) \]

     

    Self-Attention Networks

    Self-Attention Networks는 이미 성능이 우수하다고 알려진 기법 중 하나이다. 본 연구에서는 token represenation $H^{\mathcal{T}} = \{ h^{\mathcal{T}}_1, ..., h^{\mathcal{T}}_T \}$를 학습하기 위해 두 가지의 Self Attention Network을 소개한다. 첫 번째는 simple self-attention layer와 residual connection을 활용하는 것이며, 이를 "SAN"으로 표기한다. 

    \[ \begin{equation} \begin{split} H^{\mathcal{T}} & = \text{LN}(H^L + \text{SLF-ATT}(Q, K, V)) \\ \\ Q, K, V & = H^LW^Q, H^LW^K, H^LW^V \end{split} \end{equation} \]

    $\text{SLF-ATT}$는 self-attention 즉, 내적을 의미한다. 그 다음 Self Attention Network는 Transformer Layer(TFM)이며, 수식은 아래와 같다. 

    \[ \begin{equation} \begin{split} \hat{H}^L & = \text{LN}(H^L + \text{SLF-ATT}(Q, K, V)) \\ \\ H^{\mathcal{T}} & = \text{LN}(\hat{H}^L + \text{FFN}(\hat{H}^L)) \end{split} \end{equation} \]

    $\text{FFN}$은 Feed-Forward Network를 의미한다. Self-Attention Network도 RNN과 마찬가지로 Softmax 함수를 통과해 최종 예측값을 도출한다.

    \[ p(y_t|x_t) = \text{softmax}(W_oh^{\mathcal{T}}_t + b_o) \]

     

    Conditional Random Fields

    Conditional Random Fields(CRF)는 시퀀스 모델링에 효과적이라고 알려진 모델 중 하나이다. 본 논문에서는 CRF Layer는 아래와 같이 확률값을 통해 tag sequence를 도출한다. 

    \[ \begin{equation} \begin{split} s(x, y) & = \sum^T_{t=0} M^A_{y_t, y_{t+1}} + \sum^T_{t=1} M^P_{t, y_t} \\ \\ p(y|x) & = \text{softmax}(s(x, y)) \end{split} \end{equation} \]

    $M^A \in \mathbb{R}^{|\mathcal{Y}| \times |\mathcal{Y}| }$은 adjacent prediction을 하기 위한 무작위로 초기화된 matrix를 의미하고, $M^P \in \mathbb{R}^{T \times |\mathcal{Y}|} $는 BERT로부터 출력된 $H^L$의 행렬을 의미한다. CRF에서는 가장 높은 점수를 가진 Tag 를 출력으로 간주한다. 즉, 확률 값이 가장 높은 Tag를 해당 토큰의 Tag로 지정한다.

    \[ y^* = \underset{y}{\text{argmax}} \\ s(x, y) \]

     

    Experiments

    Dataset 

    본 연구에서는 LAPTOP, REST 데이터를 활용하여 실험을 진행하였다. 각각의 통계량은 아래와 같다. BERT 는 "bert-base-uncased" 즉, 가장 기본적인 BERT 모델을 사용하였으며, 기본 BERT 모델은 $L=$12, $\text{dim}_h$는 768로 되어 있다. 

    Main Results

    실험 결과, 기존 모델에 비해 본 연구에서 제안하는 BERT based 모델의 성능이 가장 우수한 것을 확인할 수 있다. 

     

    BERT는 사전학습 모델이기 때문에 fine-tuning을 하기 전 성능에 비해 fine-tuning을 한 성능이 매우 우수한 것으로 확인된다. zero-shot의 경우 46% 정도의 F1-score를 보이는 반면, fine-tuning을 한 후에는 74% 정도로 성능이 많이 개선된 것을 확인할 수 있다.