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.

Gated Mechanism For Attention Based Multimodal Sentiment Analysis

Abstract

Multimodal Sentiment Analysis(이하 msa)는 최근 인기를 얻고 있는데 그 이유는 social media가 발전하고 있기 때문이다.

이 논문에서는 msa의 세 가지 면을 소개한다.

  1. 얼마나 많은 modality가 sentiment에 기여하는지
  2. 장기 의존성을 해결할 수 있는지
  3. unimodal의 fusion과 cross modal cue

이 세가지 면에서 cross modal interaction을 배우는 것이 이 문제를 해결하는데 효과적인 것을 알 수 있었다.

CMU-MOSI나 CMU-MOSEI 데이터셋에서 좋은 성능을 보였다.

1. Introduction

Facebook, Whatsapp, Instagram and YouTube와 같은 소셜 미디어들이 발전하면서 sentiment analysis가 중요해졌다. msa는 acoustic, visual, textual를 같이 사용한다.

msa를 하는 방법에는 다음 세 가지 타입이 있다.

  1. modality를 각각 학습하고 output을 fuse 하는 방법
  2. 여러 개의 modality를 jointly 학습하는 방법
  3. attention based technique을 사용해서 각 unimodal들이 얼마나 기여하는지 알아보는 방법

그래서 더 나은 cross modal information을 배우기 위해서 cross interaction 동안 정보를 조절하는 conditional gating mechanism을 제안한다.

게다가 video에서 장기 의존성을 잡기 위해서 각 unimodal contextual representation에 self-attention layer를 적용한다. self-attention을 사용하는 장점은 direct interaction을 가능하게 하고, network에서 제한없는 information flow를 제공한다.

논문에서 제안하는 방법에서 중요한 것은 다음과 같다.

  1. cross interaction간에 정보를 조절할 수 있는 gating mechanism을 배운다.
  2. self-attend가 장기 의존성을 잡을 수 있다.
  3. self 및 gated 기반의 recurrent layer는 더 정확한 multimodal을 얻을 수 있다.

2. Proposed Approach

학습가능한 gate에 의해 조절되는 서로 다른 modality사이에 interaction을 배우는 것이 목적이다. 전체적인 구조는 아래와 같다.

2.1 Contextual Utterance Representation

Bi-GRU를 통해서 각 modality에서 specific contextual representation을 얻는다. 다음은 text를 뜻하는 representation이다.

2.2 Self Attention

장기 의존성을 잡기 위해서 bilinear attention을 사용한다. 100개의 utterance가 있어도 self-attention은 장기 context를 잡을 수 있다. Text에 대해서 다음과 같이 계산한다.

2.3 Cross Attention

msa는 서로 다른 modality간에 interaction을 배울 기회를 제공한다. modality를 두 쌍씩 묶어서 co-attention matrix를 배운다.

2.4 Gating Mechanism for Cross Interaction

imperfect modality을 fusing하는 문제가 생기게 된다.

각 modality에서 발생하는 noise를 해결하기 위해서 선택적으로 cross fused vector를 배우기 위해 gating mechanism을 제안한다.

gated cross fused vector는 다음과 같이 얻는다.

여기서 fusion kernel fusion(,)은 gated combination of cross interaction과 contextual representation을 사용한다.

Cross interaction인 X(P,Q)은 P는 cross attended vector, Q는 contextual representation인 비선형변환이다. Gating function인 G(P,Q)은 cross interaction에서 다음 layer로 pass되는 정보를 조절한다.

따라서 최종 계산은 다음과 같다.

modality의 특성이 보완적인 경우, gating function은 cross interaction을 선호하기 때문에 더 높은 값을 가질 것이다. 반면에 그렇지 않은 경우 contextual representation을 선호할 것이고, 낮은 값을 가질 것이다.

2.5 Deep Multimodal Fusion

self 와 gated cross interaction을 합하기 위해 Bi-GRU를 사용해서 합친다.


3. Experiments

3.1 Dataset

CMU-MOSI와 CMU-MOSEI를 사용한다. values가 0 이상이면 긍정으로 반대면 부정으로 했다.

3.2 Implementation Details

word feature에 대해서는 Glove를 사용했고, visual은 Facets, acoustic은 CovaRep을 사용했다.

3.3 Results and Analysis

3.3.1 Baselines and Ablation Study

제안한 방법을 분석하기 위해서 여러 실험을 수행했다.

B1 : unimodal

B2 : B1+Self+Attention

B3 : bimodal baseline

B4 : gating mechanism

B6 : our model

3.3.2 Benchmarking

종합적으로 비교하기 위해서 다른 multimodal sentiment analysis와 비교해보았다.

제일 좋았다.

4. Conclusions and future work

self-attention과 gating mechanism을 사용해서 msa를 발전시켰다.

gating 함수는 unimodal한 정보가 sentiment를 결정하기 충분하지 않을 때 cross-interaction을 강화하고, 충분하다면 cross-modal information에 낮은 가중치를 부여한다.

앞으로는 audio 데이터의 질이 낮은 실제 데이터에도 적용해보는 것이 목적이다.

+ Recent posts