논문요약 및 정리

Utilizing BERT for Aspect-Based Sentiment Analysis via Constructing Auxiliary Sentence

빛날희- 2021. 7. 21. 01:59

 

논문명: Utilizing BERT for Aspect-Based Sentiment Analysis via Constructing Auxiliary Sentence

저자: Chi Sun, Luyao Huang, Xipeng Qiu

출간지: School of Computer Science, Fudan University

발간일: 2019.03.


▶ Introduction

BERT를 활용하여 속성기반 감성분석을 수행한다. 기존의 Aspect- based sentiment analysis(ABSA)는 문장 수준 혹은 문서 수준의 태스크이기 때문에 두 개 이상의 multiple target에 대한 예측은 수행할 수 없다. 따라서 본 논문에선 타겟이 여러 개인 데이터에 대한 속성기반 분석인 Targeted Aspect based sentiment Analysis(TABSA)을 수행하고자한다. 특정 타겟과 속성에 대한 극성을 도출하는 것이 목표로 아래 두가지 과정을 거쳐 실험을 진행한다. 

  1. 타겟과 그 타겟에 대한 속성을 예측한다. 
  2. 타겟의 속성에 대한 극성을 분류한다. 

저자는 BERT를 활용한 태스크의 성능을 높이기 위해 데이터의 입력 형식을 단일 문장이 아닌 문장쌍 형태 sentence pair 형태로 바꿔 넣음으로써 sentence-pair classification task로 바꿔 학습을 수행하고자 했다. 

 

논문에선 TABSA와 ABSA를 각기 다른 데이터 셋으로 수행한 뒤 성능을 비교하고 있는데, 해당 포스팅에선 TABSA를 중점적으로 요약해보고자 한다. 

 

 

 

▶ Dataset

TABSA에 사용한 데이터 셋은 SentiHood 데이터 셋으로 LOCATION1과 LOCATION2라는 타겟이 있고 타겟에 따라 'general', 'price', 'safety', ;transit-location'의 속성으로 나누었다. 

ABSA-BERT-pair/sentihood-train.json at master · HSLCY/ABSA-BERT-pair (github.com)

 

 

▶ Methodology

위의 데이터 셋을 문장 쌍 형태로 바꿔서 모델의 입력값으로 넣어주었다. 형태는 다음 그림과 같이 4가지의 형태로 변환하였다. 

Chi et al. p3.

첫번째와 두번째는 예측해야 하는 감성 라벨을 입력에 반영하지 않은 형식이다. 반면 세번째와 네번째 형식에는 감성라벨을 아예 입력에 포함시킨 후 output은 감성이 맞으면 yes, 아니면 no를 출력하도록 한다. 

 

QA(Question Answering)형식은 질문 형식으로 문장쌍 형태를 구성한다. 예시를 들어보면 다음 형태가 QA-M의 형태라고 보면 된다. 

 

    input: LOCATION1 is transforming and the prices will go up / what do you think of the price of LOCATION-1?

    output: negative

 

 

NLI(Natural Language Inference) 형식은 QA보다 더 간단하게 다음과 같이 표현한 형태이다. 다음의 NLI-M의 예시이다.

 

    input:  LOCATION1 is transforming and the prices will go up / LOCATION - 1 - price

    output: negative

 

NLI와 QA-B의 형태는 input값에 감성 라벨을 아예 포함시킨다. QA-B의 예시만 하나 들어보자. 

 

    input: LOCATION1 is transforming and the prices will go up / The polarity of the aspect of price of LOCATION -1      is negative

    output: yes

 

 

위와 같이 입력값들을 auxiliary sentence로 만들어 sentence pair classification task를 pre-trained BERT모델로 파인 튜닝한다. 

 

 

 

▶ Experiment

pre- trained BERT-base모델을 파인튜닝하여 사용하였다. 

 

▷ Hyperparameter

  • Transformer blocks: 12
  • hidden layer size: 768
  • self-attention heads: 12
  • dropout probability: 0.1
  • epochs: 4
  • initial learning rate: 2e-5
  • batch size: 24

 

▷ Results

학습하고난 후에는 속성값과 감성 분류에 대한 확률을 얻을 수 있다. 이를 기반으로 Macro F1, accuracy, AUC를 통해 성능을 측정하였다.  

Chi et al. p4.

BERT 모델 외에도 Logistic Regression, LSTM, Dmu-Entnet을 사용하여 학습시켰다. 

 

- Acc를 기준으로 보았을 때 Aspect분류 정확도는 입력값을 NLI-B 형태로 넣어줬을 때 79.8로 가장 높았다. 

- Sentiment 분류 정확도는 입력값을 QA-M형태로 넣어줬을 때 93.6으로 가장 높았다. 

- 포스팅에는 정리하지 않았지만 Semeval데이터를 대상으로 같은 방식을 사용해 학습시켰을 때 역시 single model 보단 문장쌍 구조로 데이터를 바꾼 BERT-pair 모델의 성능이 더 좋았다. 

 

 

 

▶ Conclusion

TABSA는 일반적인 감성분류 문제보다 더 복잡한 데이터셋을 가지고 있음에도 불구하고 입력형태를 auxiliary sentece형태로 바꾸고 sentence pair classification task로 모델을 돌려보았을 때 BERT-single모델보다 더욱 좋은 성능을 나타낸 다는 것을 입증하였다. 

 

 

 

▶ 회고

- 입력 데이터 셋의 형태를 어떻게 바꾸느냐에 따라 성능에 유의미한 차이가 있으므로 성능 개선을 꾀하고자 할땐 입력 데이터 형식을 바꾸는 방법도 생각해볼 수 있을 것 같다.

- 논문에선 aspect를 4개로 줄여서 해당 성능을 낼 수 있었지만 aspect가 더 많아지면 성능이 이보다 더 나빠지지 않을까?