NL-089, GoEmotions: A Dataset of Fine-Grained Emotions (2020-ACL)
◼️ Comment
- 이 논문은 감정 분류에 대한 데이터세트인 GoEmotions을 제시하는 것이다.
- 즉, 데이터 논문이고 데이터가 얼마나 체계적으로 구성되었는지를 면밀히 분석한다.
- 데이터의 수는 58k라고 명시되어있지만, 살펴보면 총 57234 문장이고(유니크한) multi annotation까지 생각하면 224576 쌍이 있다.
- 분류체계는 감정 카테고리 27+1(neutral)이 기본이고 이 분류 체계는 비디오 분류 체계로부터 빌려온 것이다.
- 다른 분야에서 감정 분류 카테고리는 참고할 게 있다고 하지만, text에서는 없다고 함.
- 이렇게 28개에 대한 카테고리를 2가지 방법으로 clustering할 수 있는데 하나는 sentiment 하나는 Ekman 분류 방법이다.
- 밑에 글 참고
- 그 외에 데이터 수집방법, 필터링 등등에 대해 소개를 하고 감정간의 correlation을 구하고 PPCA를 통해 면밀히 분석하여 감정간의 관계를 분석한다.
- 또한 이렇게 만든 데이터세트가 다른 감정 분류체계, 도메인등에 효과적임을 보여주는 transfer learning 실험을 한다.
- 이 부분이 이 데이터세트가 효과적임을 보여주는데 큰 역할을 한다고 개인적으로 생각한다..
- 하지만, 28개의 분류체계를 그대로 사용했을 때, 데이터가 밸런스있게 있는 것은 아니다.
- 그러다보니, 적은 빈도로 나타나는 감정들은 F1-score가 낮은 약점이 있는 것을 볼 수 있다.
- 개인적으로 생각할 때는, Ekman혹은 sentiment 방식의 분류체계로 이 데이터세트를 활용하는게 좋지 않을까 생각한다.
- 그 후, 원하는 방향의 감정 분류 테스크에 transfer learning을 하는 것이 좋아보임..
- 모델링에서 고려해야할 것은, pretrinaed BERT가 아닌 단순 biLSTM을 사용했을 때, 성능이 떨어진다고 한다.
- 또한 multi-annotation때문에 같은 문장이여도 하나의 레이블로 태깅이 안되어있다.
- 이 논문에서 실험할 때는 하나로 annotator을 기준으로 레이블링한 결과로 통일하여 실험했다고 한다.
- 뭐 간단히 생각할 때는 다수결로 레이블을 정하면 되지 않을까 싶음
0. Abstract
- 언어에서 표현된 감정을 이해하는 것은 공감적인 챗봇에서부터 해로운 온라인 행동 감지를 하는 것 까지 많은 어플리케이션의 범위를 가진다.
- 이 분야에서 발전은 다양한 다운스트림 테스크에 적용할 수 있는 세분화된(fine-grained) 유형(토폴로지)과 함께 매우 큰 데이터세트를 사용하여 개선한다.
- 우리는 GoEmotions을 소개하고, 이는 58K Reddit 영어의 데이터를 주석을 단 것으로 27개의 emotion 카테고리 혹은 Neutral의 레이블을 가진다.
- 즉 총 28개의 카테고리?
- 우리는 Principal Preserved Component Analysis을 통하여 높은 퀄리티의 annotation을 입증한다.
- 우리는 기존의 감정 벤치마크와 함께 transfer learning 실험을 통하여 우리의 데이터세트가 다른 도메인과 다른 감정 분류에 잘 일반화 됨을 보여준다.
- 우리의 BERT-based 모델은 제안된 분류체계에서 F1-score을 평균 0.46을 달성하여 개선의 여지가 많다.
1 Introduction
- 감정 표현과 검출은 사람의 경험과 사회적 관계의 핵심이다.
- 소수의 단어로 우리는 다양한 미묘하고(subtle) 복잡한 감정을 표현할 수 있으므로 기계가 감정과 정서를 이해할 수 있도록하는 것이 장기적인 목표였니다. (Picard, 1997).
- 지난 십년 동안, NLP 연구자들은 다양한 도메인과 어플리케이션을 위한 언어기반의 감정 분류에서 다양한 데이터세트를 만들었다.
- news headlines (Strapparava and Mihalcea, 2007),
- tweets (CrowdFlower, 2016; Mohammad et al., 2018), and
- narrative sequences (Liu et al., 2019), to name just a few.
- 그러나, 기존의 가능한 데이터세트들은 (1) 너무 작아서 몇천개의 인스턴스밖에 없고 (2) 한정된 감정 타입만을 커버하고 Ekman (Ekman, 1992b) or Plutchik (Plutchik, 1980) emotions으로 coarse classification을 할 수 있다.
- 최근, Bostan와 Klinger (2018)은 기존의 리소스를 직접 비교가 가능한 통합된 프레임워크아래에서 14개의 유명한 감정 분류 코퍼스를 모았다.
- 중요한 것은, 그들의 분석은 가장 큰 annotated 감정 분류 데이터세트인 CrowdFlower (2016)안에서 annotation 퀄리티 갭이 있다는 것이다.
- CrowdFlower: 40K tweets labeled for one of 13 emotions.
- 그들의 연구가 비교평가가 가능하게 하는 동안, 입증된 고품질 annotations와 함께 세분화된 분류 체계에서 일관되게 레이블링된 지정된 large-scale 감정 데이터 세트의 필요성을 강조합니다.
- 즉 좋고 많은 데이터가 필요하다!
- 끝으로, 가장 큰 사람 annotated 데이터세트 58k을 Reddit에서 주의깊게 선택하여 27개의 감정 카테고리들 혹은 Neutral로 레이블링한다.
- Redit에서 popular English subreddits(댓글)에서 추출했음.
- 즉 글의 대표 댓글(좋아요 많은 댓글 개념인듯?)을 선택하여 데이터를 수집했다는 듯
- 테이블 1은 우리가 수집한 데이터 설명을 보여준다.
- 우리는 감정 분류체계를 우리 데이터의 심리적 부분과 커버 범위와 관련된 연구를 고려하여 설계한다.
- 오직 하나의 긍정적인 감정(joy)을 포함하는 Ekman의 분류체계와 반대로, 우리의 분류체계는 많은 수의 positive, negative 그리고 ambiguous 감정 카테고리를 포함한다.
- 이는 적절한 미묘한 감정 표현을 이해하는 다운스트림 conversation understanding tasks에 적합한다.
- 다운스트림 테스크 예) 고객 피드백 분석 또는 챗봇 개선
- 우리는 annotated data와 annotations의 퀄리티에 대한 철저한(thorough) 분석을 한다.
- Principal Preserved Component Analysis (Cowen et al., 2019b)을 통하여, 우리는 27개의 감정 카테고리들 사이의 신뢰할만한 분리를 위한 강한 근거를 보여주고, 이는 감정 분류 모델을 설계를 위한 우리의 annotations의 적절성을 가리킨다.
- 즉 분류 클래스 27개의 감정이 잘 분리된다는 것을 보여주는 것인가?
- 우리는 감정 판단에 대한 hierarchical clustering을 수행하여서 intensity와 관련된 감정이 밀접하게 뭉쳐있고 top-level 클러스터가 정서 범주에 해당함을 발견했습니다.
- 즉, 감정들을 계층적으로 그래프를 그리면, 최상위는 정서 범주라는 것인 듯 (postiive/negative/neutral != ambiguous )
- emotions간의 이러한 관계는 다운스트림 task에서 원하는 경우 잠재적인 그룹을 high-level로 분류하도록 한다.
- 즉, 다운스트림에서는 27개의 감정이 필요한 것은 아닐 수도 있고 이러면 클러스터링된 카테고리를 사용하면 되는 듯
- 우리는 GoEmotions에서 fine-grained 감정 분류를 위한 강한 베이스라인 모델을 제공한다.
- BERT-based 모델을 파인튜닝하여, 우리는 평균 F1-score을 우리의 분류체계에서 0.46을 달성한다.
- Ekman-style 그루핑된 6개의 coarse 카테고리에서는 0.64을 달성한다.
- sentiment 그루핑되면 0.69을 달성한다. (sentiment는 3개)
- 이러한 결과들은 성능 개선여지를 많이 가지고 있으며, 이 작업이 현재 SoTA NLU 모델에 의해 아직 완전히 해결되지 않았 음을 보여줍니다.
- 우리는 transfer learning 실험들을 기존의 감정 벤치마크에서 수행하여 우리의 데이터가 트위트 및 personal 대화등과 같은 다른 분류체계 및 도메인들에서 일반화를 잘함을 보여준다.
- 우리의 실험들은 특수한 도메인에 대한 추가적인 감정 분류 데이터가 제한된 리소스로 주어지면, 우리의 데이터가 베이스라인 감정 이해를 제공할 수 있고 target 도메인에 대한 모델 성능을 향상시키는데 기여할 수 있다.
- 즉, GoEmotions 데이터를 기반으로 pretrained 시킨 감정분류모델이 효과적이라는 것의 느낌
2 Related Work
2.1 Emotion Datasets
- 감정 인식에 대한 첫 번째 벤치 마크인 Affective Text (Strapparava 및 Mihalcea, 2007)가 도입된 이후로 이 분야는 size, domain 및 taxonomy가 다양한 여러 감정 데이터 세트를 보았습니다 (참조 : Bostan 및 Klinger, 2018).
- 감정 데이터세트의 장점은 손수 제작되었으나 작은 규모인 경향이 있다.
- 손수 레이블된 가장 큰 데이터세트는 CrowdFlower (2016)이고 39k 레이블링된 예제가 있고 Bostan and Klinger (2018)에서 다른 감정 데이터세트와 비교했을 때, noisy하다는 것을 발견한다.
- 즉 가장 큰 데이터세트는 39k개이고 noisy하다.
- 다른 데이터세트들은 자동으로 weakly-labeled 되었고 트위터의 emotion-related hashtags을 기반으로 한다 (Wang et al., 2012; AbdulMageed and Ungar, 2017).
- 우리는 우리의 데이터세트들을 매뉴얼대로 구성하여서 가장 큰 사람의 annotated 데이터세트를 만들었고 예제당 퀄리티 보장을 위해 여러 개의 annotations을 한다.
- multiple annotation이란 것은 하나의 문장에 대해 여러 명이 annotation을 했다는 것.
- 트위터 도메인을 가지는 여러 기존의 데이터세트들은 emojis(이모티콘)이나 hashtags과 같은 비형식적인 언어와 컨텐츠의 표현이 주어진다.
- 다른 데이터세트들은
- 뉴스 헤드라인 (Strapparava and Mihalcea, 2007)
- dialogs (Li et al., 2017)
- 동화(fairytales) (Alm et al., 2005)
- 영화 자막 (Ohman ¨ et al., 2018)
- FrameNet을 기반으로한 문장 (Ghazi et al., 2015)
- 다른 도메인 사이에서의 self-reported 경험 (Scherer and Wallbott, 1994)을 annotate한다.
- 우리는 먼저 Reddit comments으로 emotion prediction을 구축하였다.
2.2 Emotion Taxonomy
- 데이터 세트를 구별하는 주요 측면 중 하나는 감정 분류(taxonomy)입니다.
- 기존의 데이터 세트의 대부분은 Ekman이 제안한 6가지 기본 감정 범주(joy, anger, fear, sadness, disgust, and surprise)의 사소한 변형에 대한 주석을 포함하고 있으며, 그/또는 영향의 외주 모델을 지지하는 정서적 차원(valence and arousal)을 따라 있다.
- 심리학에서 최근 진보는 새로운 컨셉
- 최근 심리학의 발전은 계산 기술을 통해 다양한 자극에 대한 감정 반응의 분포를 연구함으로써 감정의보다 복잡한 "semantic space"을 포착하는 새로운 개념 및 방법론적 접근 방식을 제공했습니다 (Cowen et al., 2019a).
- 이러한 원칙에 따른 연구에 따르면 짧은 비디오로 전달되는 27 distinct varieties of emotional experience, 음악으로 13개 (Cowen et al., 언론), 28 by facial expression, 12 by speech prosody(말투), 24 by nonverbal vocalization으로 전달됩니다.
- 즉 위와 같이 감정 분포에서 distinct하게 구분지을 수 있다는 것
- 이 연구에서, 우리는 text-based emotion recognition을 위한 세분화 된 분류 체계를 고안하고 language-based emotion space의 dimensionality을 연구하기 위해 이러한 방법과 발견을 기반으로합니다.
- 결론은 27개의 emotion class을 쓰는데 이는 위에서 말한 비디오와 같은 class인가? (section 3.2에서 나온다. 같은 것을 사용한 것)
2.3 Emotion Classification Models
- feature 기반과 뉴럴 모델들은 automatic emotion classification models을 구축하는데 사용된다.
- Feature-based models은 종종 Valence Arousal Dominance Lexicon와 같은 handbuilt lexicons(어휘)을 만들어 사용한다.
- BERT로부터의 representation을 사용은, pretraining LM와 함께 transformer-based 모델은 최근 다양한 NLP tasks에서 SoTA 성능을 낸다.
- 이는 EmotionX challenge에서의 emotion prediction에서도 top 성능을 내는 것은 모두 pre-trained BERT 모델을 적용하였다.
- 우리 또한 BERT 델을 우리의 실험에서 사용하고, 우리는 이것이 biLSTM 모델볻가 outperform을 하는 것을 보여준다.
3 GoEmotions
- Our dataset is composed of 58K Reddit comments, labeled for one or more of 27 emotion(s) or Neutral.
3.1 Selecting & Curating Reddit comments (번역)
- 2005 년 (Reddit 시작)부터 2019 년 1 월까지의 의견이 포함 된 reddit-data-tools project에서 시작된 Reddit 데이터 덤프를 사용합니다.
- 최소 10,000 개의 댓글이있는 하위 레딧을 선택하고 삭제 된 댓글과 영어가 아닌 댓글을 제거합니다.
- Reddit은 전 세계적으로 다양한 인구를 반영하지 않는 젊은 남성 사용자 (Duggan and Smith, 2013)에 대한 인구 학적 편향으로 유명합니다.
- 이 플랫폼은 또한 유독하고 공격적인 언어에 대한 왜곡을 도입합니다 (Mohan et al., 2017).
- 따라서 Reddit 콘텐츠는 우울증, 미세 공격을 연구하는 데 사용되었으며 Yanardag 및 Rahwan은 "정신병자"봇을 훈련하여 편향된 Reddit 데이터를 사용하는 효과를 보여주었습니다.
- 이러한 우려를 해소하고 GoEmotions를 사용하여 광범위하게 대표되는 감정 모델을 구축할 수 있도록 데이터가 general 또는 감정 특유의 언어 편향을 강화하지 않도록 일련의 데이터 큐레이션 조치를 취합니다.
- offensive/adult, 저속(vulgar) (약간 모욕적 욕설), identity(정체성) 및 종교(religion) 용어 (보충 자료로 포함)가 포함 된 사전 정의 된 목록을 사용하여 유해한 댓글을 식별합니다.
- 이는 아래에 설명 된대로 데이터 필터링 및 마스킹에 사용됩니다.
- 목록은 내부적으로 컴파일되었으며 데이터 세트 큐 레이션에 광범위하고 유용하지만 완전하지 않을 수 있습니다.
- 정리)
- 즉 Reddit과 관련된 프로젝트가 있었는데 이를 사용했고 이는 하위 레딧 중 영어 데이터를 선택하게 된다.
- Reddit은 전세계 다양한 인구를 반영하지는 않고 남성 사용자에 대해 편향되어 있따.
- 기존에 정신병자와 관련하여 연구되는데 효과적이었다.
- GoEmotions은 이런 감정특유의 언어 편향 문제를 해결한다.
- 대표적으로 공격적이고 저속하고, 종교적인 등의 문제를 사전정의된 사전을 이용하여 식별해서 필터링에 사용하는데, 완벽하게 되지 않을 수 있다.
- Reducing profanity (욕설).
- 우리는 work에 안전하지 않는 댓글들을 삭제한다.
- 안전하지 않는 댓글: 10%넘는 comments가 offensive/adult, vulgar 토큰들을 포함
- 우리는 남아있는 offensive/adult tokens을 포함하는 comments을 삭제한다.
- Vulgar(저속한) comments은 부정적인 감정을 배우는 데 핵심이라고 생각하므로 보존됩니다.
- The dataset includes the list of filtered tokens.
- Manual review.
- 우리는 신원 댓글을 수동으로 검토하고 특정 민족(ethnicity), 성별, 성적 취향 또는 장애에 대한 불쾌감을 최대한 제거합니다.
- Length filtering.
- NLTK의 단어 토크 나이저를 적용하고 구두점을 포함하여 토큰 3 ~ 30 개의 주석을 선택합니다.
- 댓글 길이의 상대적으로 균형 잡힌 분포를 만들기 위해, 우리는 중앙값 토큰 수 (12)로 댓글 수를 제한하여 다운 샘플링을 수행합니다.
- Sentiment balancing.
- 우리는 긍정적, 부정적, 모호하거나 중립적 인 감정을 거의 표현하지 않은 서브 레딧을 제거하여 감정 편향을 줄입니다.
- To estimate a comment’s sentiment, we run our emotion prediction model, trained on a pilot batch of 2.2k annotated examples.
- 즉 emotion prediction model을 pilot 배치 2.2k annotated examples로 학습하여서 comment's sentiment을 판단하는데 활용한다는 의미
- emotions을 sentiment 범주로 매핑하는 것은 그림 2에 나와 있습니다.
- 30 % 이상의 중립적 댓글 또는 20 % 미만의 부정적, 긍정적 또는 모호한 댓글로 구성된 하위 레딧은 제외됩니다.
- Emotion balancing.
- 위에서 설명한 파일럿 모델을 사용하여 각 댓글에 예측 감정을 할당합니다.
- 그런 다음 약한 레이블이 지정된 데이터를 다운 샘플링하고 중앙값 감정 수에 속하는 댓글 수로 제한하여 감정 편향을 줄입니다.
- Subreddit balancing.
- 인기있는 서브 레딧이 과도하게 표현되는 것을 방지하기 위해 서브 레딧 수의 중앙값으로 제한하는 다운 샘플링을 수행합니다.
- 나머지 315k 개의 댓글 (482 개의 하위 레딧에서)에서 무작위로 주석을 샘플링합니다.
- Masking.
- We mask proper names referring to people with a [NAME] token, using a BERT-based Named Entity Tagger (Tsai et al., 2019).
- We mask religion terms with a [RELIGION] token.
- The list of these terms is included with our dataset.
- Note that raters viewed unmasked comments during rating.
- 정리)
- 10%넘는 comments가 offensive/adult, vulgar 토큰들을 포함하는 댓글들은 필터링한다. (사전을 이용해서)
- 그 후 남아있는 comments(본글?)에서도 offensive/aduolt한 글은 삭제하지만 Vulgar(저속한) 표현은 부정적인 감정을 배우는데 활용할 수 있으므로 냅둔다.
- 손수 신원 확인을 하고 특정 민족(ethnicity), 성별, 성적 취향 또는 장애에 대한 불쾌감에 대한 글은 삭제한다.
- NLTK tokens으로 3~30의 길이를 가지는 글을 모아서 median 길이 값이 12가 되도록 다운샘플링한다.
- 2.2k annotated examples로 감정 분류기 모델 pilot을 만든다.
- 이것으로 남은 comment들의 sentiment을 분류하여 neutral한 문장을 없앤다.
- 구체적으로 30 % 이상의 중립적 댓글 또는 20 % 미만의 부정적, 긍정적 또는 모호한 댓글로 구성된 하위 레딧은 제외됩니다.
- pilot 모델을 통하여 각 댓글의 예측 감정을 할당하고 약하게 레이블링이 되면 다운 샘플링하고 감정 편향을 줄인다.
- MASK 토큰으로 [NAME], [RELIGION] 토큰을 사용한다.
3.2 Taxonomy of Emotions
- 분류체계를 만들 때, 여기서 다음의 목표를 최대화하도록 한다.
- 1. 데이터에 표현된 감정들의 측면에서 최대한의 커버리지를 제공한다.
- 이를 해결하기 위해, 우리는 데이터의 small subset에 수동으로 레이블을 지정하고 평가자가 pre-defined set 위에 감정 레이블을 제안 할 수있는 pilot 작업을 실행했습니다.
- 즉 작은 subset을 수동으로 레이블하고 이 데이터로 모델을 학습시키는 pilot task을 한다.
- 그 후, 사전 정의된 세트에 대해 emotion label을 매긴다.
- 이런 방법을 처음 본 것은 아니나 정확한 편인가? 궁금하다.
- 2. 감정 표현의 종류에 대해 가장 큰 커버리지를 제공합니다.
- 우리는 감정 표현과 인식에 관한 심리학 문헌을 참고한다 (Plutchik, 1980; Cowen and Keltner, 2017; Cowen et al., 2019b).
- 지금까지 텍스트 영역에서 감정인식의 주요 범주를 식별하는 연구는 이루어지지 않았다(제2절 참조).
- 우리는 다른 영역(비디오와 언어)에서 기본으로 확인되고 텍스트에도 적용될 수 있다고 가정할 수 있는 감정들을 고려한다.
- 그래서 비디오에서 사용되는 감정 클래스 27개를 사용한 것
- 3. 감정의 중복을 제한하고 감정의 수를 제한합니다.
- 너무 유사한 감정은 주석 작업을 더 어렵게 만들기 때문에 포함하고 싶지 않습니다.
- 또한 유사한 레이블을 높은 적용 범위와 결합하면 주석이 달린 레이블이 폭발적으로 증가합니다.
- The final set of selected emotions is listed in Table 4, and Figure 1.
- See Appendix B for more details on our multi-step taxonomy selection procedure.
3.3 Annotation
- 우리는 각 예제에 세 명의 평가자를 할당했습니다.
- 평가자가 하나 이상의 감정 레이블에 동의하지 않는 예제의 경우 두 명의 추가 평가자를 할당했습니다.
- 모든 평가자는 인도 출신의 영어 원어민입니다.
4 Data Analysis
- 테이블 2는 데이터의 통계를 보여준다.
- 대부분 예제는 (83%) 한 개의 emotion label만을 가지고 있고 최소한 두 명의 평가자가 하나의 레이블에 동의하는 것이 94%이다.
- 반대로 말하면 17%의 데이터는 하나의 레이블로 평가되지 않는다는 것이다.
- 6%의 데이터는 한명도 하나의 레이블에 통일되지 않는다는 것이다.
- 중립 범주는 모든 감정 레이블의 26%를 구성합니다.
- 우리는 감정의 semantic space의 일부로 간주하지 않기 때문에 다음 분석에서 해당 범주를 제외합니다.
- 94%라는 수치의 의미는
- 그래, 정말 멋진 스포츠야! --> ['admiration', 'admiration', 'neutral']
- 위 예제에서 admiration으로 2명이 레이블링 하였기 때문에 이 예제는 94%에 속하는 것
- 근데 83%의 수치가 한 개의 감정 레이블을 가진다고 하는데, 실제로는 아닌거 같은데...? 다른 ㄴ의미인가 싶음
- 그림 1은 감정 라벨의 분포를 보여줍니다.
- 데이터 선택 과정에서 취해진 감정과 정서 균형 단계에도 불구하고 감정 빈도 측면에서 큰 차이를 볼 수 있습니다 (예 : 감탄(admiration)은 슬픔(grief)보다 30배 더 자주 발생합니다).
- 이것은 인간의 자연스러운 표현에서 서로 다른 감정의 빈도를 감안할 때 예상됩니다.
4.1 Interrater Correlation
- interrater correlation를 통해 각 감정에 대한 평가자 agreement를 추정합니다 (Delgado 및 Tibau, 2019).
- 각 평가자 r ∈ R에 대해 r이 평가한 모든 예에 대해 r의 판단과 다른 평가자의 판단들의 평균 사이의 Spearman correlation를 계산합니다.
- 그런 다음 평가자 수준 상관 관계 점수의 평균을 구합니다.
- 섹션 4.3에서 우리는 몇 가지 잠재적 인 혼란을 통제 한 후 각 감정이 중요한 간 상관 관계를 가지고 있음을 보여줍니다.
- 그림 1은 감사(gratitude), 감탄(admiration), 즐거움(amusement)이 가장 높고 슬픔(grief)과 긴장감(nervousness)이 가장 낮은 상관 관계를 가지고 있음을 보여줍니다.
- 감정 빈도는 상호 합의와 상관 관계가 있지만 둘은 동일하지 않습니다.
- 드문 감정은 상대적으로 높은 interrater correlation (예 : fear(공포))를 가질 수 있고 빈번한 감정은 상대적으로 낮은 interrater correlation (예 : annoyance(짜증))를 가질 수 있습니다.
- 즉 한 문장 A가 주어졌을 때 내가 admiration라고 감정평가를 했다고 하자.
- 다른 평가자는 문장 A에 대해 다르게 평가할 수도 있는데
- admiration과 다른 평가자들의 평가 평균과 Spearman correlation을 구했다는 것이다.
- (상관관계를 정확히 어떻게 구하는지는 모르겠지만..)
- 즉 직관적으로는 문장 A에 대해 나말고 다른 평가자가 얼마나 admiration의 평가를 매겼나라고 볼 수 있을 것이다.
- 그림 1에서 그것에 대한 결과를 보여주고, 샘플이 많을수록 상관관계가 높은 편이긴하나 꼭 그런편은 아니다.
4.2 Correlation Among Emotions
- 데이터에서 감정 사이의 관계를 더 잘 이해하기 위해 상관 관계를 살펴 봅니다.
- N을 데이터 세트의 수라고 합시다.
- 해당 감정으로 표시된 모든 예에 대해 평가자의 판단을 평균하여 각 감정에 대한 N 차원 벡터를 얻습니다.
- 즉 감정 X가 있고 감정 X로 레이블링된 모든 문장들을 이용하여
- 감정 X의 N차원 감정 벡터를 구한다.
- 우리는 각 감정 쌍 간의 Pearson 상관 관계 값을 계산합니다.
- 그림 2의 히트 맵은 강도와 관련된 감정 (예 : 성가심과 분노, 기쁨과 흥분, 초조함과 두려움)이 강한 양의 상관 관계를 가지고 있음을 보여줍니다.
- 반면 정서가 반대 인 감정은 음의 상관 관계가 있습니다.
- 또한 계층 적 클러스터링을 수행하여 분류 체계의 중첩 구조를 알아냅니다.
- 우리는 상관 관계를 거리 메트릭으로 사용하고 병동을 연결 방법으로 사용하여 평균 등급에 적용합니다.
- 그림 2의 상단에있는 덴드로 그램은 강도에 따라 관련된 감정이 이웃이고 더 큰 클러스터가 감정 범주에 밀접하게 매핑되어 있음을 보여줍니다.
- dendrogram이 close한 감정들을 클러스터링한 것으로 보면 될 듯하다.
- 흥미롭게도 감정 (예 : 놀라움) 측면에서 "모호함"으로 분류 한 감정은 부정적인 범주보다 긍정에 더 가깝습니다.
- 이것은 우리의 데이터에서 모호한 감정이 부정적인 감정보다 긍정적 인 감정의 맥락에서 발생할 가능성이 더 높다는 것을 시사합니다.
- 직관적인 의미는 다음인 것 같다.
- 감정들로 레이블링된 문장들을 이용하여 감정들에 대한 벡터를 구한다.
- 이 벡터를 pearson 상관관계를 통하여 비슷한 감정을 유추한다는 것
4.3 Principal Preserved Component Analysis (번역)
- 감정 벡터에 PCA을 써서 분리될 수 있는 감정을 분석하는 것?
- 평가자 간의 합의와 감정 공간의 잠재 구조를 더 잘 이해하기 위해 PPCA (Principal Preserved Component Analysis) (Cowen et al., 2019b)를 데이터에 적용합니다.
- PPCA는 동일한 속성을 측정하는 두 데이터 세트 (여기서는 각 예에 대해 무작위로 분할 된 판단)에 걸쳐 최대로 결합되는 속성의 선형 조합 (여기서는 감정 판단)을 추출합니다.
- Extracting significant dimensions.
- 중립으로 라벨이 지정된 예를 제거하고이 필터링 단계 후에도 여전히 3 개 이상의 등급이있는 예를 유지합니다.
- 그런 다음 Algorithm 1에 설명 된대로 Leave-one-rater out 분석을 사용하여 중요한 차원의 수를 결정합니다.
- 27 개의 PPC가 모두 매우 중요하다는 것을 발견했습니다.
- 특히 Bonferroni 보정 p- 값은 모든 차원에서 1.5e-6보다 작으며 (보정 α = 0.0017) 감정이 매우 분리 될 수 있음을 나타냅니다.
- 모든 차원에서 이러한 높은 수준의 중요성은 중요하지 않습니다.
- 예를 들어, Cowen et al. (2019b) 30 개의 감정 범주 중 12 개만이 상당히 분리 될 수 있음을 발견했습니다.
- t-SNE projection.
4.4 Linguistic Correlates of Emotions (번역)
- 우리는 다른 모든 감정과 대조되는 각 감정 범주에 대한 모든 토큰의 로그 승산 비, 유익한 Dirichlet 사전 (Monroe et al., 2008)을 계산하여 각 감정의 어휘 상관 관계를 추출합니다.
- 로그 배당률이 z 점수이기 때문에 3보다 큰 모든 값은 해당 감정과 매우 중요한 (> 3 표준) 연관성을 나타냅니다.
- 표 3에는 각 카테고리에 대한 상위 5 개 토큰이 나열되어 있습니다.
- 우리는 특정 토큰 (예 : "감사"에 대한 감사, "웃음"에 대한 즐거움)과 매우 관련이있는 감정이 가장 높은 간 상관 관계를 갖는 경향이 있음을 발견했습니다 (그림 1 참조).
- 반대로, 유의미하게 연관된 토큰 (예 : 슬픔과 긴장)이 적은 감정은 상호 연관성이 낮은 경향이 있습니다.
- 이 결과는 특정 감정이 더 언어 적으로 암시 적이며 해석하는 데 더 많은 컨텍스트가 필요할 수 있음을 시사합니다.
5 Modeling
5.1 Data Preparation
- 우리의 데이터에 대한 노이즈를 최소하하기 위해, 우리는 한명의 annotator만을 선택하여 감정 레이블을 선택하여 필터링했다.
- 이 필터링이 수행된 후 레이블이 최소 하나 이상 있는 예제를 유지합니다.
- 이는 기존 데이터의 93%에 해당합니다.
- 7%는 어디간거지? (example_very_unclear=True 인 비율인가?)
- 우리는 랜덤하게 train/dev/test을 80%/10%/10%로 나누었다.
- 우리는 테스트셋으로 모델을 평가한다.
- 베이스라인 실험들을 위해 우리의 데이터를 필터링했음에도, 우리는 일치하지 않는 4k 예제들에 대한 특정 값을 볼 수가 있다.
- 데이터의 하위집합은 감정 도메인에서 edge/difficult 예제들을 포함하고 (예. 감정이 애매모호한 텍스트) 추가 탐색에 대한 챌린지를 제시한다.
- That is why we release all 58K examples with all annotators’ ratings.
- Grouping emotions.
- 우리는 분류 카테고리의 계층적 그루핑을 만들고 모델 성능을 각 계층 레벨에 맞게 평가한다.
- 감정 레벨은 4개의 카테고리로 나뉜다 (postiive, negative, ambiguous, neutral)
- neutral 범주는 그대로 유지하고 나머지 매핑은 그림 2에 나와 있습니다.
- Ekman 레벨은 카테고리를 다음과 Neutral 레이블과 6개의 다음 그룹으로 나눈다.
- 분노 (분노, 성가심, 비 승인)
- anger (maps to: anger, annoyance, disapproval)
- 혐오 (매핑 : 혐오)
- disgust (maps to: disgust)
- 두려움 (매핑 : 두려움, 긴장)
- fear (maps to: fear, nervousness)
- 기쁨 (모두 긍정적 인 감정)
- joy (all positive emotions)
- 슬픔 (매핑 : 슬픔, 실망, 당혹감, 슬픔, 후회)
- sadness (maps to: sadness, disappointment, embarrassment, grief, remorse)
- 놀라움 (모든 모호한 감정).
- surprise (all ambiguous emotions).
- 즉 4개로 그루핑하는 방법과 7개로 그루핑하는 방법이 있다고 생각하면 편할듯
5.2 Model Architecture
- BERT-base 모델로 실험을 진행하였다.
- 우리는 finetuning의 목적으로 pretrained model의 top에 output layer을 붙여 sigmoid cross entropy 손실 함수로 multi-label classification 을 수행하였다.
- 추가적인 베이스라인으로 biLSTM을 학습시켰다.
5.3 Parameter Settings
- pre-trained BERT 모델을 finetuning할 때, 우리는 하이퍼파라미터를 Devlin(BERT)와 같이 유지하고 오직 batch size와 learning rate만을 바꾸었다.
- 우리는 최소 4 epochs가 데이터 학습에 필요함을 알아냈으나, 더 많은 epochs 학습은 overfitting이 되는 결과를 보여준다.
- 우리는 작은 batch size 16와 learning rate 5e-5가 최고의 성능을 야기함을 알아냈다.
- biLSTM에서 우리는 hidden layer 차원을 256으로 가져가고 learning rate을 0.1, decay rate 0.95으로 설정하였다.
- dropout은 0.7을 적용한다.
5.4 Results
- 테이블 4은 test 세트에 대해 우리의 최고 모델 BERT 성능을 요약해서 보여주고, 이는 평균 F1-score 0.46(std=.19)이다.
- 이 모델은 gratitude (.86), amusement (.8) and love (.78)과 같은 명백한 어휘 표시가있는 감정에서 최고의 성능을 얻습니다.
- 모델은 가장 낮은 빈도의 감정인 grief (0), relief (.15) and realization (.21)에서 가장 낮은 F1 점수를 얻습니다.
- 감정과 강도와 관련된 더 빈번한 감정 (예 : 슬픔에 대한 슬픔, 감탄에 대한 자부심, 두려움에 대한 초조함)을 가지는 모델은 덜 빈번한 감정을 혼동하는 경향이 있습니다.
- 자세한 분석은 부록 G를 참조하십시오.
- 즉 데이터가 적었던 감정은 잘 구분을 못한다?
- 표 5와 표 6은 각각 sentiment grouped 모델 (F1- 점수 = .69)과 Ekman 그룹 모델 (F1- 점수 = .64)의 결과를 보여줍니다.
- biLSTM 모델은 BERT 보다 성능이 현저히 낮고 F1-score of .41 for the full taxonomy, .53 for an Ekman grouped model and .6 for a sentiment-grouped의 성능을 가진다.
6 Transfer Learning Experiments
- 우리는 우리의 데이터가 다른 도메인들과 분류체계에 대해 일반화함을 보여주기 위해 기존의 감정 벤치마크에 대해 transfer learning 실험을 수행하였다.
- 목표는 적은 레이블링된 타겟 도메인 데이터가 주어졌을 때, GoEmotions가 베이스라인 감정 이해 데이터로 사요 활용될 수 있음을 보여주는 것이다.
6.1 Emotion Benchmark Datasets
- Bostan과 Klinger (2018)의 통합 데이터 세트에서 가져온 9 개의 벤치 마크 데이터 세트를 고려합니다.
- 이 데이터 세트는 크기, 도메인, 품질 및 분류가 서로 다릅니다.
- 우리는 도메인의 다양성을 기반으로 선택한 이러한 데이터 세트 중 세 가지에 대해서만 논의합니다.
- 우리의 실험들에서, 우리는 추가적인 벤치마크에서 비슷한 경향을 가지는 것으 관찰하고 모두 appendix H에 포함이 된다.
- 1) ISEAR (International Survey on Emotion Antecedents and Reactions) (Scherer and Wallbott, 1994)는 서로 다른 문화적 배경을 가진 3000 명이 작성한 정서적 사건에 대한 개인 보고서 모음입니다.
- 데이터세트는 8k 문장들을 가지고 있고, 각각의 레이블은 하나의 감정으로 레이블링 되어있다.
- 카테고리들은 anger, disgust, fear, guilt, joy, sadness and shame을 가진다.
- 2) EmoInt (Mohammad et al., 2018)는 SemEval 2018 벤치 마크의 일부이며 7k 트윗에 대한 크라우드 소싱 주석을 포함합니다.
- 레이블들은 anger, joy, sadness, and fear으로 된다.
- .5를 컷오프로 사용하여 이러한 감정에 대한 이진 주석을 얻습니다.
- 3) Emotion-Stimulus (Ghazi et al., 2015)에는 FrameNet의 감정 지향 프레임을 기반으로 생성 된 2.4k 문장에 대한 주석이 포함되어 있습니다.
- 그들의 분류는 anger, disgust, fear, joy, sadness, shame and surprise이다.
6.2 Experimental Setup
- Training set size.
- 우리는 타겟 도메인 데이터세트로부터 많은 다양한 학습 데이터로 실험을 했다.
- 데이터세트 예제의 100, 200, 500, 1000 그리고 80%(max)을 사용해보았다.
- 우리는 학습 셋 사이즈를 10개의 랜덤 하게 나누고 나머지는 테스트 세트로 사용한다.
- 즉 100개의 예제라면 100개짜리 10개가 학습 데이터, 나머지는 테스트 세트
- 우리는 finetuning 실험의 결과를 각 데이터 사이즈에 대해 보여준다.
- splits 데이터들을 사용하여 반복적으로 실험함으로써 신뢰성을 높인다.
- Finetuning.
- 우리는 3개의 다른 finetuning setups을 비교한다.
- 1) 하나는 베이스라인으로 BERT을 오직 target dataset으로 finetune한다.
- 2) FREEZE setup은 우리는 먼저 BERT을 GoEmotinos으로 finetune하고 transfer learning을 한다.
- 이 때, final dense layer은 교체해주고, 나머지 모든 layer은 freezing을 하여 타겟 데이터세트에 대해 finetuning 한다.
- 3) NONFREEZE setup은 FREEZE와 똑같으나, bottom layers을 freeze하지 않는다.
- 우리는 배치 사이즈를 16으로 learning rate 2e-5, epochs수를 모든 실험에서 3으로 설정한다.
6.3 Results
- 그림 3의 결과들은 우리의 데이터세트가 다른 도메인들과 분류 체계에 잘 일반화됨을 제안하고, GoEmotions을 사용한 모델은 타겟 도메인에서 제한된 데이터 혹은 제한된 리소스, 레이블링을 도움줄 수 있음을 보여준다.
- 제한된 타겟 도메인 데이터가 (100 or 200 에제들) 주어졌을 때, FREEZE와 NONFREEZE는 모든 데이터세트에서 모두 베이스라인보다 꽤 높은 성능을 보여준다.
- 중요한 것은, NONFREEZE은 학습 세트 사이즈가 "max"인 경우는 제외하고 모두 베이스라인보다 높은 성능을 보여준다.
- 즉 데이터세트가 크면, GoEmotions의 효과가 작아진다는 것
7 Conclusion
- 우리는 직접 어노테이트하였고 세밀한 감정 예측을 위해 주의깊게 데이터세트를 선별한 대규모 데이터세트 GoEmotions을 제시한다.
- 우리는 자세한 데이터 분석을 제공하고 전체 분류체계를 위한 annotations의 신뢰성을 입증한다.
- 우리는 transfer learning을 통하여 도메인과 분류체계를 교차하는 데이터의 일반성을 보여준다.
- 우리는 BERT finetuning을 통하여 강한 베이스라인을 구축하나, 결과들은 아직 더 향상시킬 부분이 많음을 보여준다.
- 추후 연구에서는 감정 평가들의 cross-cultural robustness을 탐구하고 분류 체계를 다른 언어들과 도메인들로 확장시킬것이다.
- Data Disclaimer(조항)
- We are aware that the dataset contains biases and is not representative of global diversity.
- We are aware that the dataset contains potentially problematic content.
- Potential biases in the data include: Inherent biases in Reddit and user base biases, the offensive/vulgar word lists used for data filtering, inherent or unconscious bias in assessment of offensive identity labels, annotators were all native English speakers from India.
- All these likely affect labeling, precision, and recall for a trained model. The emotion pilot model used for sentiment labeling, was trained on examples reviewed by the research team.
- Anyone using this dataset should be aware of these limitations of the dataset.
Reference
댓글
댓글 쓰기