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를 시도함
이러한 구조들은 다음과 같은 단점을 가지고 있다.
- 측면과 의견 단어 사이의 연관성을 나타낼 수 있는 의존 관계는 무시된다.
- 트리의 일부부만 필요한 것이지, 전체 트리 구조가 필요한 것은 아니다.
- 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들만 남긴다.
- 따라서 novel aspect-oriented dependency tree 구조를 세 단계로 제안한다.
이러한 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 모델의 약점을 보여주는 예시임
- chicken같은 경우에는 but, dried와 강하게 연결되었고, 잘못된 예측을 하도록 했다.
3.2 Aspect-Oriented Dependency Tree
3.1의 내용을 보면 aspect와 related opinion이 직접적으로 연결된 dependency 관계에 더 직접적으로 집중한다.
하지만 ABSA에서는 target aspect에 더 집중해야 할 것이다.
그래서 target aspect를 root로 하는 aspect-oriented dependency tree를 제안한다.
- 기존 Dependency Tree를 구축
- target aspect를 root로 구축
- aspect에 직접 연결되어 있는 connection을 children으로 set한다.
- n:con이라는 가상 관계를 부여한다. 이 때, n은 두 노드 사이의 거리를 나타낸다.
- 이 과정을 aspect가 여러개라면 각각 만든다.
그러면 다음과 같이 dependency tree가 바뀌게 된다.
aspect-oriented 구조는 다음과 같은 2가지 장점을 가진다.
- 각 aspect는 고유의 dependency tree를 가진다. 따라서 관계없는 node나 관계에 덜 영향을 받는다.
- 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개를 랜덤으로 고름
- 실패하는 이유는 여러가지가 있었다.
- 대부분의 이유로는 중립 리뷰로 인한 것이였다.
- 다른 요인은 실제로 이해하기 어려운 언어라 분석하기 어려웠었다.
- 문장에서 뚜렷한 특징이 없거나
- 이중 부정이 나타나는 경우에 분석이 힘들었다.