안녕하세요. 이번에는 이전에 리뷰하였던 CF-VQA의 최신 후속 논문을 가져와봤습니다. CF-VQA에 대한 이해도가 있으면 이 논문 또한 이해하기 훨씬 쉬우니 제 이전 리뷰를 읽고 오시는 것도 좋을 것 같습니다! 그럼 리뷰 시작하겠습니다.
<Introduction>
ABSC는 주어진 문장 내에서 특정 aspect와 관련된 sentiment polarity를 예측하는데 중점을 둡니다. 예들 들어 설명해보겠습니다. “서비스는 좋지만 가격이 비싸다”라는 문장이 있다고 해봅시다. 이 예시에서 aspect는 서비스와 가격이며, 사용자는 이에 대해 각각 긍정적인 감정과 부정적인 감정을 표현합니다.
최근에는 neural network 모델들을 통해서 ABSC가 굉장히 발전되었지만, 본 논문에서는 기존의 많은 모델들이 주로 입력된 aspect와 sentiment polarity간의 인과 관계를 파악하기보다는 입력된 spect와 sentiment polarity 간의 상관관계를 학습하는데 중점을 두고 있다는 점을 꼬집고 있습니다. 이러한 점 때문에 특히 편향된 데이터셋의 경우 suprious relation을 초해할 수 있습니다.
본 논문에서는 현재 ABSC 데이터셋에 2가지 타입의 bias가 존재한다고 합니다. 바로 dataset-level (DL) aspect bais와 sentiment-level (SL) aspect bias 입니다. 아래 그림을 통해서 더욱 설명해보도록 하겠습니다.
첫째, dataset-level bias는 모델이 여러 문장에서 동일한 aspect에 대해 동일한 sentiment polarity를 일관되게 예측하게 만듭니다. 이러한 bias는 모델이 연관된 opinion word(예를들어, “not worth”, “won’t be disappointed”, “substantial”)를 고려하지 않고 aspect의 이름(예를 들어, “wait”)에만 의존하기 때문에 발생합니다. 결과적으로 거의 모든 문장이 특정 aspect에 대해 동일한 sentiment를 포현하게 됩니다.
둘째, sentence-level bias는 문장 내의 모든 aspect에 대해 동일한 sentiment를 에측하도록 만듭니다. 이러한 bias는 주어진 문장 내의 거의 모든 aspect가 동일한 sentiment를 공유하기 때문에 발생하는데요. 예를 들어 “Because of the delicate thin crust, take-out pies get soggy in their boxes”라는 문장에서 “cust”와 “take-out pies” aspect는 모두 부정적인 sentiment와 연관되어 있습니다.
이렇게 두가지 bias에 대해서 설명해봤는데 조금 더 와닿으실까요? 본 논문에서는 이러한 bias를 다루기 위해서 casual inference, 즉 인과 관계 추론을 ABSC에 통합하는 것은 DL(dataset-level), SL(sentiment-level) aspect bias로 인한 문제를 해결하기 위한 자연스러운 접근 방법이라고 합니다. treatment 변수와 outcome 변수 간의 인과 효과를 활용하면 이러한 spurious correlation을 효과적으로 제거할 수 있습니다. 즉, 이 논문에서는 VQA 분야에서 language bias로 인한 shortcut을 casual inference를 통해 극복한 것처럼 casual inference를 ABSC에 통합하여 aspect bias에 대한 shortcut을 대응하고자 합니다.
주체적으로 입력(aspect, sentence), 출력(sentiment polarity), 중간 변수(aspect-aware content)간의 인과 관계를 포착하는 casual graph를 도출하는 것부터 시작합니다. 이 인과 그래프를 통해 ABSC 프레임워크 내에서 서로 다른 변수가 서로에게 어떤 영향을 미치는지 이해할 수 있습니다. 인과 그래프를 기반으로 본 논문에서는 CasualABSC라는 새로운 인과 추론 프레임워크를 제안합니다. 이 프레임워크는 총 효과에서 직접 효과를 뺴서 총 간접 효과를 계산하는 것을 목표로하는데요. CF-VQA와 상당히 비슷한것을 느낄 수 있습니다. 또한 CasualABSC는 모델에 상관없이 설계되었기 때문에 BERT 기반 모델과 BERT 기반이 아닌 모델 모두에 원활하게 붙여 사용할 수 있다는 장점이 있습니다.
위의 방법론을 이용하여 편향된 데이터와 편향되지 않은 데이터를 모두 사용하여 실험을 수행했고 모두 F1-score 5점 이상이 향상되는 결과를 얻었다고 합니다.
위의 내용을 정리하여 contribution을 작성하면 이와 같습니다.
- Causal Structure Derivation: We provide a comprehensive causal structure that analyzes the causal relationships among the various variables involved in ABSC, including the inputs (e.g., aspect, sentence), output (e.g., polarity), and intermediate variables (e.g., aspect-aware content). This causal structure serves as a foundation for understanding the causal dynamics within the ABSC framework.
- Causal Inference Framework: We propose a novel causal inference framework specifically designed to address the dataset-level (DL) and sentence-level (SL) aspect biases. Our framework effectively eliminates the direct effect caused by these biases by subtracting it from the total effect. By incorporating causal inference techniques, our models can accurately capture the true causal relationships between aspects and sentiment polarity.
- Empirical Evaluation: We conduct extensive experiments on five benchmark datasets to evaluate the performance of our proposed CausalABSC framework. The results demonstrate that our framework significantly mitigates aspect biases. We achieve notable improvements in eliminating dataset-level and sentence-level biases, effectively enhancing the overall performance of ABSC models.
<Method>
위에서 설명했다싶이 이 논문에서는 인과적 추론을 통합하여 ABSC의 dataset-level 및 sentence-level bias를 해결하는 방법론을 제안합니다. 이를 통해서 suprious correlation을 제거하고 sentiment polarity의 정확도를 향상시키는 것이 목표이죠.
그러기 위해서는 먼저 입력 변수(aspect, sentence), 출력 변수(polarity), 중간 변수(aspect-aware content)간의 인과 관계를 파악하는 casual graph를 구성해야합니다. 그 그래프는 Figure 2를 통해서 확인할 수 있습니다.
<Casual Structure for ABSC>
ABSC는 aspect-aware content(C)를 기반으로 sentence(S)에서 주어진 aspect(A)의 polarity(P)를 예측하는 것입니다. 그러나 앞에서 계속 말한 것처럼 두개의 편향 때문에 모델은 예측할 때 setence의 aspect 이름과 전반적인 sentiment polarity에 의존하게 됩니다.
ABSC에서 변수 간의 인과 관계를 모델링하기 위해서 방향성 비순화 그래프 (G = (V,E))로 인과 구조를 표현합니다. 그래프의 node는 각각 aspect, sentence, aspect-aware content, polarity를 V = A, S, C, P로 표시됩니다. 인과 구조의 edge는 E = A → C / S → C / A → P, S → P, C → P로 정의됩니다.
A가 S가 P에 미치는 영향은 direct impact(A → P, S→P)와 indirect impact (A→C→P, S→C→P)로 분해할 수 있는데요. 모델이 aspect name에 의존하는 경향이 있기 때문에 aspect A는 polarity P에 자연스럽게 직접적인 영향을 미치기 때문에(A→P) dataset-level bias가 발생합니다.
마찬가지로, 모델이 문장의 모든 aspect에 대해 동일한 sentiment를 예측하는 경우가 많기 때문에 문장 S는 polarity P에 직접적인 영향을 미쳐 sentence-level bias가 발생합니다. (S→P). 그러나 sentiment classification은 실제로 aspect-aware content C를 기반으로 이뤄지며, 이는 C가 P에 직접적인 영향을 미치는 것을 의미합니다. (C→P). aspect-aware content C는 aspect A와 sentence S를 사용하여 학습하는데요. 따라서 본 방법로느이 목표는 총 간접 효과(total indirect effect; TIE)를 유지하면서 P에 대한 A와 S의 직접 효과(natural direct effect; NDE)를 제거하는 것입니다.
treatement variable A를 a로 설정하면 P와 C 모두에 인과적 영향을 미치므로 $P_{a,C_a}$ 그리고 $C_a$가 됩니다. 마찬가지로 node S를 특정 값 s로 설정하면 P와 C는 $P_{s,C_s}$ 그리고 $C_s$가 됩니다. 따라서 두 treatment Variable가 모두 할당되면(A=a, S=s), $P_{a,C_{a,s},s}$ 그리고 $C_{a,s}$가 됩니다. 반면 A를 $a^$로 설정하면, 0이나 랜덤값인 들어가게 되면 그 결과는 $C_{a^}, P_{a^,C_{a^}}$로 표현할 수 있습니다.
이러한 treatment 경우와, no-treatment 경우를 구분함으로써 변수의 직접 효과와 간접 효과를 구분하여 편향성을 분리하여 결과를 확인할 수 있습니다.
자 길었습니다. 이제는 CasualABSC가 어떻게 작동하는지 설명드리고자 합니다.
<CasualABSC>
위에서도 언급했지만 조금더 디테일하게 이 방법론이 작동하는지 설명하고자 합니다. 인과 그래프 G에서 aspect A와 sentence S가 polarity P에 미치는 직접 효과와 간접 효과를 모두 관찰할 수 있습니다. 직접 효과는 A→P, S→P로 표시됩니다. 또한 aspect와 setence는 aspect-aware ccontent (mediatro)에도 영향을 줄 수 있으며 A→C→P, S→C→P로 간접효과를 확인할 수 있습니다. dataset-level, sentence-level aspect bias를 해결하기 위해서, aspect와 sentence이 polarity에 미치는 직접 효과(NDE)를 제거하면서 총 간접 효과(TIE)는 유지하는 것이 목표입니다. 즉, 총 효과(TE)에서 NDE를 뺴고 TIE를 구하면 ABSC에서 aspect와 sentiment polarity간의 진정한 인과관계를 표착할 수 있겠죠?
이제는 어떻게 TE와 NDE, TIE를 어떻게 구하는지에 대해서 설명드리고자 합니다.
total effect(TE)는 식(1)을 통해 구할 수 있습니다.
계속해서 이 논문의 아이디어 시초가 된 논문인 CF-VQA와 비교하게 되는데, CF-VQA에서는 bias가 되는 요소가 language 하나였기 때문에 NDE를 하나만 고려하면 되었습니다. 하지만 여기서는 dataset-level, sentence-level aspect bias가 이렇게 두개 있기 떄문에 NDE를 두개를 가져가는데요. 어떻게 NDE를 두개 가져가는지 설명드리고자 합니다.
먼저, CasualABSC에서 aspect A가 a로 설졍된 경우에 NDE를 어떻게 구하는지에 대해서 설명드리고자 합니다.
먼저 immedator C의 입력에 대한 반응을 차단합니다. aspect A가 $a^*$로 설정되어 있고 sentence S가 $s^*$로 설정되어 있으면 되겠죠? 이렇게 설정하면 모델은 polarity P를 예측할 때 주어진 aspect A에만 의존할 수 있습니다. 그리하여 NDE를 구하면 아래와 같은 식으로 구할 수 있습니다.
intermediator C에 대한 A의 effect가 차단되므로(즉, $C=C_{a^*, s^*}$), $NDE_a$는 dataset-level aspect bias를 명시적으로 차단합니다.
P에 대한 S의 NDE도 비슷하게 구할수 있는데요. 아래와 식과 같이 구할 수 있습니다.
$NDE_s$ 또한 intermediator C에 대한 S의 effect가 차단되므로 sentence-level aspect bias를 명시적으로 차단합니다.
최종적으로 $NDE_a와 NDE_s$를 더해서 최종 NDE를 구할 수 있습니다.
이렇게 구한 TE, NDE를 통해서 TIE를 구할 수 있습니다.
이를 그림으로 나타내면 Figure 3로 표현할 수 있습니다.
Figure 3에 나타난 것처럼 CasualABSC는 total indirect effect(TIE)를 maximum하는 answer를 선택하여 인퍼런스를 수행합니다.
그러면 aspect A, sentence S, aspect-aware content C의 effect를 어떻게 모델링할까요? 아래와 같이 모델링합니다.
$P_a$는 A→P, $P_s$는 S→P를, $P_{C_{a,s}}$는 A,S→C→P를 의미합니다. 모델 $\mathcal{M}_{AS}(\cdot,\cdot)$는 ABSC에 존재하는 기존 모델입니다. $\mathcal{M}_{A}(\cdot)$와 $\mathcal{M}_{S}(\cdot)$는 text classificer를 의미합니다.
$P_{a,s,C_{a_s}}$를 계산하기 위해서 fusion module을 이용하여 위와 같이 계산할 수 있습니다. fusion mode의 경우 3가지 방법을 사용하였는데, 그에 해당하는 성능은 뒤에서 말씀드리겠습니다.
학습 시의 loss는 굉장히 간단하게 가져가는데요. cross-entropy만 사용하여 학습을 수행합니다.
$a_i,s_i,p_i$는 aspect, sentence, polarity의 i번째 sample을 의미하고, D는 corpus를 의미합니다. |D|는 D의 sample의 수를 의미합니다.
<Experiment>
실험을 진행한 데이터셋은 restaurant 2014 (14Res), laptop 2014(14Lap), restaurant 2015 (15Res), restaurant 2016 (16Res), Twitter 이렇게 5개 banchmark입니다. 또한 de-basing 효과를 검증하기 위해서 test set에서 각각 dataset-level, sentence-level aspect bias를 제거한 두개의 데이터셋인 DL-U와 SL-U를 구축하였다고 합니다.
구체적으로는 DL-U 데이터셋의 경우, 1) training dataset과 test set 모두에서 sentiment class가 현저히 불균형하여 한 감정 class가 다른 감정 class의 빈도보다 3배 이상 높은 빈도로 발생하는 경우와 2) training set과 test set의 polarity의 분포가 다른 경우의 sample로 구성되어 있습니다.
SL-U 데이터셋의 경우, 한 가지 이상의 여러 aspect와 여러 polarity를 가진 문장만 유지합니다. Table VI를 통해 DL-U와 SL-U의 statistics information을 확인할 수 있습니다.
베이스라인의 경우, 두 group으로 나눠 구축하였는데요. neural network based model과 BERT-based model입니다. 각 모델의 이름만 간략하게 나열하여 말씀드리겠습니다.
neural network based model
- LSTM, TC-LSTM, TD-LSTM, ATAE-LSTM, MEMNET, RAM, LAN, MGAN, TNet_LF
bert based model
- AEN-BERT, LCF-BERT, BERT-SPC
자, 이제 성능을 확인해봅시다.
TableIV를 통해 CasualABSC를 붙였을 때의 성능을 확인할 수 있습니다. bert방법론과 아닌 것과 분리하여 성능을 측정한 것을 확인할 수 있습니다. 확실히 CasualABSC를 붙였을 때 성능향상을 이룬 것을 확인할 수 있고, bert 방법론일 때 그 성능이 가장 높은 것을 확인할 수 있습니다.
Table V를 통해 나머지 데이터셋에서의 성능을 확인할 수 있는데, 역시나 앞선 테이블에서와 같은 경향성을 보이는 것을 확인할 수 있습니다.
Table VII에서는 앞에서 언급한 데이터셋인 DL-U와 SL-U에서의 성능을 확인할 수 있습니다. Acc, F1에 적힌 성능은 앞에 표에서 봤던 5개의 데이터셋의 평균을 나타낸 것이라고 보시면 됩니다. 여기에서 -NDE는 각각에 해당하는 NDE를 제거한 것인데요. Both의 경우 NDE 두개 모두 제거했을 때를 의미합니다. 확실히 NDE를 제거하지 않았을 떄가 가장 성능이 높게 나오는 것을 확인할 수 있습니다.
Figure 5를 통해 정성적으로 확인할 수 있는데요. 각 bias에 해당하는 sentence에 대한 예와 CasualABSC를 적용했을 때와 적용하지 않을 때의 예측값을 비교하여 그 성능을 증명하고 있습니다.
이렇게 2024년에서 CF-VQA를 어떻게 사용하고있는지 확인하였습니다. 저는 이를 감정인식에 확대하여 실험하고있는데요. 논문을 읽으면서 이 논문의 저자는 필요성을 이렇게 어필하였고, 방법론을 어떻게 설명하였고, 그래서 결과는 이렇게 나왔구나 하면서 내가 논문을 작성한다는 생각으로 논문을 리뷰한것 같습니다. 그럼 리뷰 읽어주셔서 감사합니다.
안녕하세요 주연님 좋은 리뷰 감사합니다.
1. 본문에서 편향된 데이터셋의 경우 suprious relation을 초래한다고 하셨는데 suprious relation을 가지면 어떤 문제가 생기나요??
2 . ABSC구조에서 ‘aspect-aware content(C)를 기반으로 sentence(S)에서 주어진 aspect(A)의 polarity(P)를 예측하는 것’ 즉 indirect impact와 direct impact(A->P)는 어떻게 다른지 궁금합니다. direct impact 같은 경우에는 그저 단어의 positive, negative만 반영하는 것인가요?? 만약 그렇다면 단어의 positive, negative는 어떻게 구별하는지 궁금합니다.
3. fusion 방법에 PD 방법이 소개되었는데 이를 사용하면 얻을 수 있는 특징으로는 뭐가 있는지가 궁금합니다.
감사합니다!
안녕하세요. 댓글 감사합니다!
1. suprious relation이 초래된다면, 잘못된 relation으로인해서 잘못 예측을 할 가능성이 매우 높아지겠죠! 그래서 정확도가 떨어질 수 있습니다.
2. direct impact와 indirect impact의 차이는 간단합니다. indirect impact의 경우 aspect와 sentence를 입력으로 받는 기존의 baseline으로부터 나온 예측값을 indirect impact라고 말하고, aspect branch와 sentence branch를 따로 두어서 classifier로 sentiment를 예측한 값을 direct impact라고 말하는 것입니다!
3. 이 논문에서 PD를 처음으로 제안한 것이 아니라 기존의 다른 방법론에서 흔히 사용되는 fusion 방법론을 참고하여 이 논문에서도 사용한 것인데요. PD 방법론은 비선형 fusion 방법론이여서 선형으로 fusion 되는 것을 막기 위하여 사용하였다고 생각하시면 될 듯합니다!
안녕하세요. 김주연 연구원님 좋은 리뷰 감사합니다.
이번에 읽어본 CLUE 논문은 text modality의 Dataset-level bias에 대한 논문이었는데, 새롭게 Sentence-level bias에 대해서도 알게 되었습니다.
리뷰를 읽고 궁금한 점이 있습니다. sentence-level bias에서 ‘문장 내의 aspect가 동일한 sentiment를 공유한다’는 것은 결국 한 문장의 모든 단어들이 전체 문장이 가지는 label로 mapping된 채 학습이 이루어지기 때문이라고 이해하는 것이 맞을까요?
그리고 SC task에서 aspect와 sentence가 입력으로 들어간다고 설명해 주셨는데 sentence는 [그림1]에 나타난 문장이라고 이해하였습니다. 그렇다면 aspect가 무엇인지, aspect-aware content는 어떻게 도출되는지 설명해 주실 수 있나요?
안녕하세요. 댓글 감사합니다.
1) 비슷하게 이해한 것이 맞습니다. 정확히 말씀드리자면, 한 sentence에 여러 aspect가 있는데 그것이 모두 한 polarity를 가지는 것으로 이해하면 더 정확할 것 같습니다.
2) aspect는 미리 정의된 속성어라고 생각하시면 됩니다. 이 속성어는 예를 들어서 음식과 관련한 리뷰가 주어졌을 때 ‘음식’을 속성어라고 말할 수 있죠. aspect-aware content는 aspect와 sentence를 입력으로 갖는 모델의 예측값이라고 생각하시면 되겠습니다.