Relational Graph Attention Network for Aspect-based Sentiment Analysis

  • 최근에는 ABSA를 attention-based neural network을 사용해서 해결하고자 한다.
    • 하지만 언어의 복잡성과 한 문장에서 복수의 aspect가 존재할 수 있기 때문에 연결성에 혼란을 가진다.
  • 이 논문에서는 이 문제를 구문정보의 효과적인 인코딩을 사용해 해결하고자 한다.
    • 기존의 dependency tree를 reshape, pruning해서 target aspect를 root로 가지는 aspect-oriented dependency tree 구조를 정의한다.
    • sentiment prediction을 위해서 새 tree 구조를 encode 할 R-GAT를 제안한다.
  • 이 방법이 더 연결성을 잘가지고 있는 것을 보임

1. Introduction

  • 두 개의 aspect가 서로 다른 sentiment를 나타낼 수 있기 때문에 sentence-level sentiment polarity 를 적용하는 것은 부적절하다.

  • Attention 메커니즘을 가지는 구조에는 가까운 단어에 더 attend하는 특성을 가지고 있는데, 이는 잘못된 결과를 초래할 수 있다.

  • Syntactic structure를 이용하려는 많은 시도가 있었고, Dependency-based parse는 comprehensive syntactic information을 제공한다.

    • 최근에는 GNN + dependency tree를 시도함
  • 이러한 구조들은 다음과 같은 단점을 가지고 있다.

    1. 측면과 의견 단어 사이의 연관성을 나타낼 수 있는 의존 관계는 무시된다.
    2. 트리의 일부부만 필요한 것이지, 전체 트리 구조가 필요한 것은 아니다.
    3. encoding process가 트리 종속적이기 때문에 batch operation이 불편한다.
  • 이 논문에서는 syntax information을 재검토하고, task-related syntactic 구조를 알아내는 것이 중요하다.

    • 따라서 novel aspect-oriented dependency tree 구조를 세 단계로 제안한다.
      • 기존의 parser를 사용해서 sentence의 dependency tree를 얻는다.
      • 질문의 target aspect로 root가 되게 dependency tree를 reshape한다.
      • aspect와 직접 연결된 edge들만 남긴다.
  • 이러한 unified tree 구조는 aspect와 가능성 있는 opinion word 사이의 관계성에 집중할 뿐만 아니라 batch와 parallel 연산도 이용할 수 있다.

  • 또한 이러한 새 tree를 encode하기 위해 R-GAT(relational graph attention network)를 제안함

2. Related Work

pass

3. Aspect-Oriented Dependency Tree

3.1 Aspect, Attention and Syntax

  • syntactic 구조는 문법 구조를 나타내는 종속성 트리를 생성하는 작업인 종속성 구문 분석을 통해 알아낼 수 있다.
    • 단어 사이의 관계는 directed edge와 label로 나타낸다.

  • 위 그림은 aspect, attention, syntax 간의 관계를 그림으로 그린 것이다.
  • (a)의 경우 like는 동사로 사용되었으며, aspect recipe에 대해 positive를 표현한다.
    • 즉 이는 attention-based LSTM에 의해 성공적으로 attend되었다는 것을 알 수 있다.
  • (b)에서의 like는 다른 의미로 사용되었지만 여전히 recipe와 연결되어 있어 잘못된 예측을 했다.
  • (c)는 두 개의 aspect가 등장하는 경우다.
    • chicken같은 경우에는 but, dried와 강하게 연결되었고, 잘못된 예측을 하도록 했다.
      • attention-based 모델의 약점을 보여주는 예시임

3.2 Aspect-Oriented Dependency Tree

  • 3.1의 내용을 보면 aspect와 related opinion이 직접적으로 연결된 dependency 관계에 더 직접적으로 집중한다.

  • 하지만 ABSA에서는 target aspect에 더 집중해야 할 것이다.

    • 그래서 target aspect를 root로 하는 aspect-oriented dependency tree를 제안한다.

      1. 기존 Dependency Tree를 구축
      2. target aspect를 root로 구축
      3. aspect에 직접 연결되어 있는 connection을 children으로 set한다.
      4. n:con이라는 가상 관계를 부여한다. 이 때, n은 두 노드 사이의 거리를 나타낸다.
      5. 이 과정을 aspect가 여러개라면 각각 만든다.
    • 그러면 다음과 같이 dependency tree가 바뀌게 된다.

    • aspect-oriented 구조는 다음과 같은 2가지 장점을 가진다.

      1. 각 aspect는 고유의 dependency tree를 가진다. 따라서 관계없는 node나 관계에 덜 영향을 받는다.
      2. aspect가 하나 보다 더 많은 단어로 구성되어 있어도 분석이 가능하다.
    • 이 아이디어는 aspect와 관계 있는 일부 단어들만 사용해도 가능하다는 것 때문에 가능하다.

    • batch, parallel 연산을 가능하게 한다.

    • n:con 관계가 좀 더 robust하게 만든다.

4. Relational Graph Attention Network

  • 새 트리 구조를 encoding 하기 위해서 GAT를 확장한 relational graph attention network를 제안한다.

4.1 Graph Attention Network

  • Dependency tree는 n개의 노드를 가지고 있는 graph G로 표현된다.
  • graph G의 edge는 워드간의 dependency를 Ni는 neighborhood 노드를 나타낸다.
  • multi-head attention을 사용해서 이웃 노드 representation을 취합해 node representation을 업데이트 한다.

4.2 Relational Graph Attention Network

  • GAT는 dependency relation을 잃어버릴 수 있다.

  • 다른 의존 관계를 가지고 있는 neighborhood는 서로 다른 영향을 준다.

  • GAT에 relation head를 추가하는데 이는 neighborhood로 부터 오는 정보 흐름을 조절하는 relation-wise gate 역할을 수행한다.

  • Dependency relation을 vector representation으로 map하고, relation head는 아래 식과 같이 계산한다.

4.3 Model Training

  • BiLSTM을 사용해서 tree node의 word embedding을 encode하고, 또 다른 BiLSTM을 사용해서 aspect 단어를 encode하고 이를 평균내서 초기 root representation으로 사용한다.
  • Aspect-oriented tree의 R-GAT를 적용한 후에, fc layer와 softmax를 활용해서 sentiment를 예측한다.

5. Experiment

5.1 Datasets

  • SemEval 2014 Task의 Laptop과 Restaurant 리뷰 데이터셋을 사용한다.
  • 이와 함께 Twitter 데이터셋도 같이 사용

5.1.1 Implementation Details

  • dependency parsing을 위해서 Biaffine Parser를 사용한다.
    • 차원은 300으로 고정
  • R-GAT는 GLoVe를 사용, R-GAT+BERT는 BERT의 last hidden state를 사용한다.

5.2 Baseline Methods

  • Syntax-aware models
    • LSTM+SynATT, AdaRNN, PhraseRNN, AS-GCN, CDT, GAT, TD-GAT
  • Attention-based models
    • ATAE-LSTM, IAN, RAM, MGAN, attention-equipped LSTM and fine-tuned BERt
  • Other recent method
    • JCI, TNET

5.3 Results and Analysis

5.3.1 Overall Performance

  • R-GAT 모델이 다른 baseline들보다 성능이 좋음
    • 특히 일반 GAT를 쓸 때 보다 큰 성능향상이 있었다.
  • BERT를 사용했을 떄, ABSA에서 좋은 성능을 기록했는데 여기에 R-GAT를 같이 사용하면 더 좋아졌다.

5.3.2 Effect of Multiple Aspects

  • 한 문장에서 multiple aspect가 나올 수 있다.
  • 만약 두 개 이상의 asepct가 나오면 각 aspect 별로 Euclidean distance를 구한다.
  • GAT, R-GAT, R-GAT+BERT를 골라서 distance에 따라 정확도를 측정한 것.

  • 거리가 가까운 측면이 정확도 점수를 낮추는 경향이 있다는 것을 관찰할 수 있으며, 이는 문장에서 의미 유사성이 높은 측면이 모델을 혼동할 수 있음을 나타낸다.
    • R-GAT는 이 문제를 완화했다.

5.3.3 Effect of Differnet Parsers

  • Dependency parsing을 다르게 하면서 성능을 비교해본다.

  • Biaffine을 사용할 때 성능이 더 좋음

5.3.4 Ablation Study

  • aspect-oriented dependency tree와 relation head의 영향력을 평가함

  • R-GAT를 사용할 때 더 성능이 올라가는 것을 보이고, aspect-oriented로 reshape 했을 때 성능이 더 향상 되는 것이 보임
  • 특히 R-GAT에서 n:con의 관계를 빼면 성능이 떨어지는 것을 보아 좋은 영향을 주는 것을 알 수 있음

5.3.5 Error Analysis

  • ABAS의 한계를 알기 위해서 실패한 것들 중에서 100개를 랜덤으로 고름
  • 실패하는 이유는 여러가지가 있었다.
    • 대부분의 이유로는 중립 리뷰로 인한 것이였다.
    • 다른 요인은 실제로 이해하기 어려운 언어라 분석하기 어려웠었다.
    • 문장에서 뚜렷한 특징이 없거나
    • 이중 부정이 나타나는 경우에 분석이 힘들었다.

Does syntax matter? A strong baseline for Aspect-based Sentiment Analysis with RoBERTa

  • Aspect-Based Sentiment Analysis (ABSA)는 Aspect의 특성을 예측하는 것이며, Sentiment Anaylsis의 한 분야다.
    • 즉, 주어진 Aspect에 따라 sentiment를 예측하는 것('pos' or 'neg')
  • 이전 연구에서는 Dependency Tree와 같은 syntactic information이 ABSA의 성능을 향상시키는 것을 보였음
  • 최근에는 Pre-Trained Models(PTMs)도 ABSA에서 성능을 보이고 있다.
    • 그러므로 PTM이 ABSA를 위해 충분한 syntactic 정보를 가지고 있어서, PTMs만을 기반으로 하여 좋은 ABSA 모델을 얻을 수 있는지 자연스러운 의문이 생긴다.
  • 그래서 PTM에서 유도된 tree와 dependency parsing tree를 사용한 여러 유명한 모델을 비교해서 FT-RoBERTa로부터의 tree가 성능이 가장 좋음을 알 수 있다.
    • 또한 FT-RoBERTa가 더 sentiment-word-oriented다.
    • 순수한 RoBERTa 기반 모델도 충분한 SOTA 성능을 보인다.

1. Introduction

  • Aspect-Based Sentiment Analysis (ABSA)는 Aspect의 특성을 예측하는 것이며, Sentiment Anaylsis의 한 분야다.

    • 한 문장에 여러 Aspect가 존재할 수 있고, 각 Aspect에 대해 sentiment를 예측해야 한다.
    • "great food but the service was dreadful"과 같은 문장이 있다
      • food와 service가 aspect가 되며, food의 sentiment는 'pos' service의 sentiment는 'neg'가 된다.
  • ABSA에는 Aspect Extraction(AE)와 Aspect-level sentiment classification(ALSC)가 있는데, 그 중 ALSC에 집중한다.

  • ALSC의 예전 연구들은 수동으로 설계된 syntactic feature에 의존했고 이는 굉장히 노동집약적이며 불충분하다

  • ALSC model 기반 dependency tree는 3가지 방법으로 적용된다.

    1. Topological structure

    2. Tree-based distance

    3. 1과 2를 동시에 사용

  • Dependency tree를 제외하고도 PTM이 좋은 성능을 기록했음

    • PTM의 결과를 보면 dependency tree 정보를 함축적으로 담고 있다.

Q1: Will the tree induced from PTMs achieve better performance than the tree given by a dependency parser when combined with different tree-based ALSC models?

-> 뒷 부분에서 3개의 dependency tree와 파서가 제공하는 의존성 트리 및 PTM 유도 트리와 결합할 때 성능을 비교한다.

Q2: Will the tree induced from PTMs achieve better performance than the tree given by a dependency parser when combined with different tree-based ALSC models?

-> 이 논문에서 PTM으로부터의 tree도 사용하지만 FT-PTM으로부터의 tree도 사용한다. 실험결과를 보았을 때, FT-PTM이 더 좋은 성능을 기록했으며, dependency tree보다도 더 좋았다.

마지막으로 RoBERTa에 MLP만을 더해도 좋은 성능을 보였으며, tree 구조를 더하는 것은 큰 성과를 보이지 못했다.

기여점을 요약하면 다음과 같다.

(1) PTM, FT-PTM으로 유도된 트리를 비교해봄. FT-PTM으로부터의 tree가 가장 좋은 성능을 기록했으며, 다른 트리들보다도 좋았다.

(2) FT-PTM으로부터의 트리는 더 sentiment word oriented하다. 즉 aspect term과 sentiment adjective를 직접적으로 연결한다.

(3) RoBERTa를 사용했을 때 성능이 가장 좋게 나왔다.

2. Related Work

ALSC without Dependencies

LSTM, LSTM with attention, CNN등을 사용함

ALSC with Dependencies

초기에는 Sentiment lexicon과 parsing dependency를 결합해서 사용했음

이후에는 dependency tree와 neural network를 결합해서 사용하려는 시도가 있었음

  1. dependency tree를 binary tree로 바꾸는 것, 이후 recursive neural network를 젝용해 context word에서 aspect로 information을 전달하려는 시도를 함
    • 별로 성능이 좋아지진 않음
  2. neural network
    • GNN을 적용하려는 시도
    • dependency tree를 aspect-oriented dependency tree
    • Tree-based distance

PTMs-based Dependency Probing

  • PTMs는 NLP 분야에서 많이 사용되고 있다
    • 그래서 PTMs으로 linguistic knowledge를 얻으려는 시도를 함
    • 하나 혹은 여러개의 attention head를 사용해보았지만 dependency를 잡아내기 힘들었다
    • 추가적인 파라미터를 사용해서 하려는 시도들이 있었음

3. Method

PTMs으로 부터 tree를 어떻게 유도하는지 알아보고, dependency tree를 통합하는 3가지 대표적인 방법에서 선택한 3개의 tree 기반 ASLC 모델들을 소개한다.

3.1 Inducing Tree Structure from PTMs

Perturbed Masking은 추가적인 parameter 없이 pre-trained model에서 tree를 유도할 수 있다.

base가 되는 모델은 BERT와 RoBERTa를 사용하기 때문에, 이를 먼저 소개하고 Perturbed Masking을 소개한다.

3.1.1 BERT and RoBERTa

생략

3.1.2 Perturbed Masking

Perturbed Masking은 pre-trained model로부터 syntactic 정보를 찾기 위한 것이 목적이다. BERT와 RoBERTa는 xi를 H(x)i에 map한다.

Perturbed Masking은 와 xj가 xi에 영향을 주는 정도인 f(xi,xj)를 유도하는 것이 목적이다.

우선 [MASK]를 사용해서 xi를 대체하고 H(x\{xi})i를 반환한다.

그 다음으론 xj를 mask를 하고 H(x\{xi,xj})i 를 얻고 f는 다음과 같이 구한다.

이 과정을 문장의 매 두 토큰에 대해 수행하면 f값들로 이루어진 M을 얻을 수 있다.

tree decoding 알고리즘을 통해서 M으로 부터 dependency tree를 얻는다.

3.2 ALSC Models Based on Trees

3개의 representative tree 기반 ALSC model을 소개함 각 모델들은 introduction에서 소개했고, 공정한 비교를 위해 가장 최근에 발전된 ALSC 모델들을 선정함

3.2.1 Aspect-specific Graph Convolutional Networks(ASGCN)

dependency tree를 그래프로 이용함. word를 노드로, dependency를 edge로 사용

3.2.2 Proximity-Weighted Convolution Network(PWCN)

PWCN은 aspect가 contextual word를 찾을수 있도록 도운다. input sentence에서 PWCN은 dependency tree를 얻고, 이 트리를 기반해서 각 단어에 proximity value를 부여한다.

각 단어의 proximity value는 단어와 aspect 사시의 dependency tree의 짧은 path를 계산하여 얻는다.

3.3 Relation Graph Attention Network

dependency tree를 aspect-oriented dependency tree로 변환한다.

aspect-oriented dependency tree는 aspect를 root로 사용하고, 다른 단어들은 leaf가 되는 구조

aspect와 다른 단어사이의 관계는 syntactic tag나 tree 기반 거리를 기반으로 구한다.

4. Experimental Setup

4가지 언어로 구성되어 있는 6개 데이터셋에 대해서 실험을 진행함

4.1 Datasets

pass

4.2 Tree Strucutres

(1) spaCy나 allenNLP에서 얻은 dependency tree parer로부터의 tree -> "Dep"

(2)PTM으로 얻은 tree

(3)Perturbed Masking을 사용한 FT-PTM

(4) Left, Right chain -> 왼쪽이나 오른쪽 단어에 의존하는 방법

4.3 Implementation Details

5. Experimental Results

5.1 ALSC Performance with Different Trees

다른 트리를 가지고 있는 모델 간의 비교는 위와 같다.

  • FT-RoBERTa induced Tree를 사용할 때, 가장 좋은 성능을 기록함

  • BERT Induced Tree나 RoBERTa Induced Tree를 기반으로 한 모델들은 Left-chain이나 Right chain이나 큰 차이가 없음

    • RoBERTa의 연결성을 보면 주위에 강하게 연결되어 있는데, 그 이유는 MLM을 수행하는 과정에서 주변을 많이 봐야하기 때문 그래서 왼쪽 종속이나 오른쪽에 종속하는 것과 큰차이가 없다
  • Q1에 대한 답변을 하자면 "Dep"이 BERT Induced Tree나 RoBERTa Induced Tree보다 더 좋음

    • 그 이유는 PTM은 왼쪽이나 오른쪽에 의존하기 때문에
    • PWCN의 경우에만 더 좋은 성능을 보였는데 그건 크게 문제 될 것은 없음
    • 하지만 FT-PTM은 dependency tree보다 더 좋음

5.2 Analysis

  • tree간의 차이를 조사하기 위해 quantitaive metrics를 제안함

Proportion of Neighboring Connections

  • 위 표는 문장에서 주위 단어와 연결되어 있는 비율을 뜻함

  • BERT가 70퍼대의 연결성을 보이는데 이 것이 성능에 영향을 줬을 것

  • FT-PTM일땐 충분한 하락을 보임

    • 그림으로 보면 다음과 같음

Aspects-sentiment Distance

Aspect와 sentiment word 사이의 평균 거리를 의미

  • C는 pre-define sentiment words set
    • Amazon-2
  • S는 dataset, Si는 sentence, Si는 w들로 구성되어 있음
  • |.|은 set의 원소 갯수

  • FTM-PTM의 거리가 가장 짧다

첫 표의 "Dep" 결과를 볼 때 Twitter만 결과가 조금 다른데, 이는 Twitter가 문법을 중시하지 않기 때문에 그럼

Q2에 대한 답을 해보자면 PNC가 줄었기 때문에 긴 연결이 생겼지만 AsD를 보면 그 거리가 짧기 때문에 문제가 없다.

따라서 FT-PTM은 ALSC task에 적합하며 성능도 더 좋다.

5.3 Comparision between ALSC models

  • MLP와 RoBERTa를 사용했어도 SOTA에 근접한 성능을 나타낸다.
  • FT-RoBERTa는 Glove 기반의 모델에 효과적이며, RoBERTa와 결합하는 것은 큰 효과는 없다. 오히려 감소한 케이스가 있을 정도
  • RoBERTa 기반 ALSC 모델을 최적화하는 것은 어려움

6. Conclusion

  • parser-provided dependency tree와 PTMs 기반 tree를 포함한 여러 트리들을 비교함
  • 특히 Perturbed Masking을 사용한 PTM 방법이 가장 성능이 좋았음
  • Glove 기반 모델에 더 좋은 성능 향상을 보이며, RoBERTa+MLP로만 사용해도 성능이 좋다.

Aspect Based Sentiment Analysis with Gated Convolutional Networks

  • Aspect Based Sentiment Analysis(ABSA)은 일반 Sentiment analysis보다 더 정교한 정보를 제공한다.
    • 텍스트의 주어진 aspect나 entities의 sentiment 특성을 예측하는데 도움을 주기 때문
  • ABSA는 크게 두 가지로 나뉜다.
    • Aspect Category Sentiment Analysis (ACSA)
    • Aspect-term Sentiment analysis (ATSA)
  • 이전에는 LSTM과 attention을 사용해서 이 문제를 주로 해결했다.
    • 하지만 시간이 많이 필요하고 많이 복잡하다.
    • 따라서 위 문제를 해결할 수 있는 Gated Mechanism을 가지고 있는 CNN 모델을 제안한다.
  • 장점 1 : Gated Tanh-ReLU는 주어진 aspect나 entity에 따라 sentiment feature를 선택적으로 출력한다.
  • 장점 2 : 기존 모델들보다 더 간단하다.(attention을 가진 모델들에 비해)
  • 장점 3 : LSTM 모델과 달리 시간에 종속적이지 않기 때문에 병렬적으로 훈련 가능
  • SemEval 데이터셋으로 효과적임을 입증함

1. Introduction

Opinion mining 이나 Sentiment Analysis는 소비자와 생산자에게 가치있는 정보를 제공한다.

전체적인 Sentiment를 예측하는 것보다 review를 이해하는데 ABSA를 사용한다. 특히 text의 aspect categories와 target entities에 관심이 있다.

  • Aspect Category Sentiment Analysis(ACSA)

    사전에 정해진 categories 중 하나에서 aspect를 예측

  • Aspect-Term Sentiment Analysis(ATSA)

    text에서 나타나는 target entities 특성을 식별하는 것인데, 다중 단어 구 혹은 단일 단어일 수 있다.

"Average to good Thai food, but terrible delivery" 라는 문장이 있을 때, ATSA는 Thai food entity에 집중해서 특성을 찾아내고, ACSA는 문장에서 service라는 문장이 없어도 service의 관점에서 특성을 분석한다.

기존의 모델들은 LSTM이나 Attention을 사용했다. 하지만 이들은 더 높은 정확도를 얻기 위해서는 더 많은 분석이 필요하고 더 많은 훈련간을 요구한다. 따라서 gated mechanism을 가지고 있는 CNN을 제안한다.

ACSA task에선 embedding layer 다음에 두 개의 분리된 CNN layer가 있다. multiple filter를 가지고 있는 CNN은 각 receptive field의 많은 granularities에서 n-gram 특징을 효과적으로 추출할 수 있다.

제안하는 gating unit은 두 개의 nonlinear을 가지고 있고, 각각은 하나의 convolutional layer로 연결되어 있다.

aspect 정보가 주어지면 모델은 선택적으로 aspect-specific 정보를 추출한다.

"Average to good Thai food, but terrible delivery" 와 'food' aspect가 주어지면 gating unit은 자동으로 두번째 문장에 있는' delivery'의 부정적인 것을 무시하고 첫번째 문장만을 보고 긍정적으로 예측한다.

여러 단어로 구성된 aspect term인 ATSA에서는 target experssion을 위해서 다른 convolution layer를 모델에 추가한다.

2. Related Work

2.1 Neural Networks

pass

2.2 Aspect based Sentiment Analysis

pass

3. Gated Convolutional Network with Aspect Embedding

더 효율적이고 간단한 Gated Convolutional network with Aspect Embedding (GCAE)를 제안한다. 각 convolutional filter는 각 위치에서의 임베딩 벡터로부터의 다른 세분화에서 n-gram feature를 계산한다.

각 위치에서 convolutional layer에 있는 gating unit은 서로 독립적으로 있다. 그러므로 parallel computing에 더 적합하다.

게다가, 모델은 두 개의 효과적인 filtering mechanism을 가지고 있다.

  1. gating unit
  2. max pooling layer

이 둘은 모두 정확한 생성과 aspect-related sentiment feature를 선택하도록 한다.

CNN에 대한 설명

CNN model은 text classification에서 좋은 성능을 보이고 있다.

CNN은 embedding layer, 1차원의 convolutional layer와 max-pooling layer로 구성되어 있다.

embedding layer는 단어 wi {i=1,...,V}들을 입력으로 받아서 그에 상응하는 embedding vector vi를 반환한다. 이 때, V는 word vocabulary의 크기다. embedding layer는 주로 GloVe와 같은 pre-trained embedding으로 초기화되며, training stage에서 fine-tuned된다.

1차원 convolutional layer는 여러 개의 서로 다른 width를 가지고 있는 kernel을 가지고 있다. Each kernel corresponds a linguistic feature detector which extracts a specific pattern of n-gram at various granularities

전체 sentence를 filter로 slide하고 나면 새로운 feature c를 얻게 된다.

max-pooling layer를 통해 가장 큰 값을 선택한 후 최종적으로 softmax layer를 사용해 sentiment polarity를 예측한다.

)

위 그림은 모델의 구조를 그린 그림이다. Gated Tanh-ReLU Units(GTRU)에서 두 개의 convolutional neurons와 aspect embedding와 연결된다.각 feature들은 다음과 같이 계산된다.

그 다음은 보통 CNN에서 하는 작용들에 대한 설명

4. Gating Mechanisms

GTRU는 pooling layer로 향하는 sentiment 정보들을 조절해준다. 이러한 gating mechanism은 LSTM에서 효과적임이 증명되었다. aspect based sentiment analysis에서 하나의 문장에서 서로 다른 sentiment를 가지고 있는 aspect가 나타나는 것은 흔한 일이다. ReLU로 인해 양수값은 제한이 없지만 음수는 제한이 생긴다. 그러므로 이를 주어진 aspect information과 aspect feature 사이의 유사도라고 할 수 있다. 만약 0이라면 sentiment feature들은 gate에서 block 되고, 그렇지 않다면 증폭될 것이다.

GTU와 GLU의 모델이 있지만 GTRU가 이 두개보다 좋음

5. GCAE on ATSA

ATSA는 주어진 문장에서 aspect term의 sentiment 특성을 예측하는 것이다. 따라서 GCAE에 aspect term에 수행하는 작은 convolution layer를 추가적으로 사용한다.

위 그림에서 ACSA 같은 경우에는 aspect가 하나의 단어로 구성되어 있지만 ATSA는 여러 단어로 구성되어 있기 때문에 작은 CNN을 통해서 정보를 공급받는다.

이 추가적인 CNN은 parallel computing을 사용하여 중요한 특징들을 뽑아낸다.

6. Experiments

6.1 Datasets and Experiment Preparation

본 연구에서는 restaurant와 laptop의 customer review로 구성되어 있는 SemEval workshop 공공 데이터 셋으로 실험을 진행한다. 몇몇 선행 연구에서는 4개의 sentiment label에서 "conflict"를 제거하여 진행을 했고, 따라서 workshop report와 비교를 할 수 없다. 그래서 그들의 것을 구현해서 만들어냈다.

문장에서 서로 다른 aspect와 target에 대해 서로 다른 sentiment label을 가지고 있는 문장이 일반 benchmark보다 더 많다. 그래서 더 정확하게 수행하기 위해서 서로 다른 sentiment나 aspect를 가지고 있는 문장으로 구성된 작지만 어려운 데이터셋을 만든다. 따라서 같은 한 문장이 데이터셋에 서로 다른 sentiment를 가진채로 포함되어 있을 수 있다. 즉, 문장이 4개의 aspect target을 가지고 있으면 한 문장이 4개로 복사되어 데이터셋에 포함되어 있다.

  • SemEval 2014 Task 4 in ACSA

    • 5 aspect : food, price, service, ambience, misc
    • 4 sentiment polarities : positive, negative, neutral and conflict
    • 2014-2016 사이의 음식점 리뷰
    • 이를 Restaurant-Large라고 부름
    • 2014 데이터셋에서는 conflict를 neutral로 대체를 함
    • 2015-2016 데이터셋에서는 aspect terms과 aspect category를 가지고 있는 복수의 쌍이 있을 수 있음
    • p > 0 이면 긍정, p < 0 이면 부정, p = 0 이면 중립
  • SemEval 2014 Task 4(restaurant, laptop)

    • 중복하게 만듦
  • hard dataset은 모델이 한 문장에서 복수의 다른 sentiment polarities를 찾을 수 있는지 테스트 한다. 일반적인 문장들 같은 경우는 잘 분류할 것이다.

6.2 Compared Methods

pass

6.3 Results and Analysis

6.3.1 ACSA

test dataset과 hard test dataset에 대해서 정확도를 측정하였으며, 5번 실행해서 평균과 분산을 기록했다.

LSTM 기반 모델 ATAE-LSTM은 모든 neural-net 중에서 가장 낮은 성능을 보였다.

ABSA는 주어진 aspect와 유사하게 감성 정보를 추출해야 한다. 문장의 추출된 정보로부터 aspect information과 sentiment information을 분리하는게 중요하다. LSTM으로 생성된 context vector는 동시에 두 정보를 수행하고, attention score는 전체 context vector에 대해 수행한다.

GCAE는 ATAE-LSTM은 1.1~2.5%의 성능향상을 보인다.

우선, 본 모형은 GTRU를 가지고 있어서 주어진 aspect에 따라 sentiment information flow를 조절한다. Element-wise gating mechanism은 attention에서 alignment score를 사용하는 대신 미세한 세분화로 사용한다.

두번째로, GCAE는 single context vector를 생성하지 않고, aspect sentiment 특징을 생성한다. hard dataset에서 CNN과 성능 비교를 함으로써, GCAE의 convolution layer가 sentiment의 multiple entities를 세분화하는 것을 보인다.

CNN과 GCN은 ABSA로 디자인되어 있지 않지만 ATAE-LSTM보다 좋음

SVM은 사용할 수 있는 feature의 가용성에 의존. 충분한 양의 sentiment lexicons가 없다면, SVM은 성능이 좋지 못함. 따라서 neural networks에서 leveraging sentiment lexicon을 하는 것은 추후 연구.

hard test 데이터셋은 서로 다른 aspect에 따른 sentiment를 가진 중복의 문장들로 구성되어 있다. CNN과 GCN은 기대했던 것보다 성능이 좋지 못했고, GCAE는 더 높은 성능을 기록했다.

6.3.2 ATSA

ATSA에서는 GCAE의 확장된 버전을 적용한다. 문장에 marked된 aspect term은 multiple 단어로 구성되어 있다. GCAE를 제외하고 다른 모델들은 LSTM 기반이다.

물론 제일 좋은 성능을 가지고 있음

6.4 Training Time

ATSA task에서 가장 빠른 수렴을 보임

6.5 Gating Mechanisms

Gating Mechanisms들의 성능 비교 GTU vs GLU vs GTRU

7. Visualization

pass

8. Conclusions and Future Work

How to leverage large-scale sentiment lexicons in neural networks would be our future work.

+ Recent posts