User Guide for KOTE: Korean Online Comments Emotions Dataset

2022. 5. 26. 11:32Naver BoostCamp AI Tech 3기

Abstract

데이터를 긍정 혹은 부정으로 분류하는 감성 분석은 텍스트의 감정적인 측면을 인식하기 위해 주로 사용되어 왔다. 그러나 감정적 의미에 철저한 검토는 부족하였다. 최근에는, 단순 valence(심리학 용어, “공감” 비슷한 뜻)에 더해 labeled 된 corpora는 이러한 한계를 넘을 수 있도록 제작된다. 그러나, 대부분의 한국어 감정 corpora는 예시의 숫자가 적고, 제한된 범위의 감정만 cover한다. 연구팀에서는 KOTE 데이터셋을 소개한다. KOTE에는 5만 개의 한국어 온라인 댓글(25만 개의 case)를 포함하며, 각 댓글은 43개의 label 또는 감정 없음으로 labeling 되어있으며, 크라우드소싱으로 진행되었다. 43개의 감정 taxonomy는 word embedding space에 표현된 한국어 감정 concept의 cluster analysis를 통해 체계적으로 만들어졌다. KOTE가 어떻게 만들어졌는지 설명한 이후에, 연구팀에서는 corpus 내의 사회적 차별에 대한 분석 및 finetuning의 결과에 대해 논의한다.

1 Introduction

긍정 혹은 부정으로 텍스트를 분류하는 감정 분석은 텍스트에서 감정적인 측면을 분석하는 데에 가장 널리 사용되어 온 방법이다. 비록 감정 분석이 간단하고, 실현 가능하고, 다양한 상황에서 유용하지만, 텍스트 분석을 위한 단순 valence를 넘어선 더 정교한 감정들에 대한 필요성이 대두되고 있다. 이는 복잡하게 labeled된 데이터를 수용할 수 있는 강력한 언어 모델의 출현 및 컴퓨팅 파워에서의 최근의 발전으로 인한 것이다.

한국어의 감정 분석 도구에 대한 수요는 높다. 그러나, 대부분의 한국어 감정 corpora는 예시의 숫자가 적고, 오직 제한된 범위의 감정만 cover하는 coarse한 분류법들만 가진다. 결과적으로, GoEmotions(거대하고 fine-grained 된 감정 분류법을 가진 영어 데이터셋)는 기계 번역을 사용함으로써 한국어 텍스트의 감정 분석에 널리 사용된다. 그러나, 번역의 품질이 완벽하지는 않다. 번역된 GoEmotions로 훈련된 한국어 언어 모델은 Hugging Face에서 1달에 수십만번 까지 다운로드 된다.

그러나, 감정들은 문화와 강하게 연관되어 있는데, 이는 감정들이 culture-specific한 schema의 부산물이기 때문이다. 따라서, 기본 감정 structure를 표현하는 감정 분류법들은 문화에 따라 다양하며, 이 variation들에는 기본 감정 역시 포함한다. 이는 문화와 관련이 있는 감정들에 대한 분류법으로 labeled된 연관 데이터셋의 제작의 필요성을 증명한다.

문화적으로 관련 있는 데이터베이스를 구축하기 위해서, 연구팀에서는 KOTE(Korean Online That-gul Emotions)를 개발하였는데, 이는 43개의 감정에 대해 labeled된 5만개의 한국어 댓글 데이터셋이다. KOTE의 온라인 댓글은 12개의 다양한 도메인의 플랫폼에서 수집되었다(뉴스, 온라인 커뮤니티, 소셜미디어, e-commerce, 비디오 플랫폼, 영화 리뷰, 마이크로블로그, 포럼). 한국어에 어울리는 43개의 감정은 감정 컨셉을 참고하는 한국어 단어들의 clustering 결과로부터 비롯되었다. Table 1에서는 KOTE의 raw example을 보여준다.

이 연구의 목적은 2가지이다. 첫 번째 목적은 일반적인 한국어에 적합한 새로운 감정 분류법을 제시하는 것이다. 두 번째 목적은 새로운 분류법으로 KOTE를 제작하는 것이다. 연구팀에서는 또한 pre-trained 된 KcELECTRA(Korean comment ELECTRA)를 finetuned하였다. 이는 번역된 GoEmotions로 훈련된 기존의 존재하는 모델보다 더 좋은 성능을 달성하였다. (F1-score가 0.56이 되었다.) 결과가 tuned되지 않았기에 개선될 여지는 많이 남아있다. 전략은 분석가의 개개의 목적에 따라 다양하게 적용될 수 있다. 왜냐하면 KOTE는 완전히 open되어 있고, 풍부한 정보를 포함하기 때문이다.

2 Related Work

2.1 Emotion Taxonomy

감정 corpus를 구축하는 것은 텍스트들이 레이블링 되는 데에 필요한 적절한 emotion taxonomy를 필요로 한다. 적절한 emotion taxonomy를 찾기 위해서, 감정 단어 dataset을 구축하기에 앞서서 taxonomy 안에 포함될 모든 감정 후보군들을 얻어내야 한다.

그러므로, 가장 첫 번째 질문은 어떻게 감정의 종류를 밝혀내냐는 것이다. 이를 위해 감정을 나타내는 어휘가 사용될 수 있다. 전통적인 접근법에서는, 감정과 감정이 아닌 것 사이의 구별은 human rating에 의해 결정되었다. Shields (1984)에서는 참여자에게 (happy, curious, hungry) 등의 60가지 feeling words를 감정 단어 또는 감정이 아닌 단어로 분류하게 하였다. Clore et al. (1987)에서는 585개의 feeling words에 대해 참여자들에게 이 단어들이 얼마나 emotional 한지를 4점 측도로 매기게 하였다. 설문조사를 하는 방법들과는 분리하여, 감정은 전문가들이 결정지을 수 있었다. Averill (1975)에서는 졸업생들을 고용하여서 대략 18000여개의 심리적 개념들을 세심히 보게 하였고, 717개의 단어들이 감정을 띄고 있다고 결론 지었다. 한국어의 예시에서는, Sohn et al. (2012)에서 65000여개의 한국어를 다양한 텍스트 소스에서 모았고, manually하게 특성을 체크하여 504개의 감정 표현을 확인하였다.

이제 다음 질문은, 감정 단어들을 밝혀낸 이후에는 어떻게 이 단어들을 수학적으로 분석 가능한 형태로 변환하냐는 것이다. 인기 있는 방법으로는 vectorization이 있는데, 이는 특정한 측정법에 의해 vector-valued된 정보를 부과한다. vectorization의 classic한 1가지 방법으로는 human rating이 있는데, 이는 human annotator들에게 각 단어에 대해 몇몇 scale(연구자들이 디자인 한 scale)로 평가를 내리게 하는 것이다. 예를 들어서, Block (1957)에서는 참가자들에게 27개의 scale(good-bad, active-passive, tense-relaxed 등등)로 15개의 감정 단어들의 점수를 매기게 하였다. 이와 비슷하게, Sohn et al. (2012)에서는 504개의 감정 단어들을 11개의 10-point scale (joy, anger, sadness 등등)로 vector화 하였다. Park and Min (2005)에서는 감정 단어들을 4개의 scale(prototypicality, familiarity, valence, arousal)로 평가하였다.

단어의 vector는 단어 사이의 유사도(혹은 거리)로 간접적으로 평가될 수 있다. Storm and Storm (1987)에서는 감정 단어들에서 co-occurence(동시 출현) 정보를 추출하기 위해서 sorting method를 활용하였다. Cowen et al. (2019, p.75)에서는 유사도 점수에 대한 pseudorandom assignment가 600개의 감정 단어들의 local similarity를 embed하는 데에 충분하다고 제안했다.

마지막 질문은, 이 정보들을 사용하여 감정 단어의 적절한 구조를 찾는 방법이다.

2.2 Emotion Text Datasets

생략

3 Korean Emotion Taxonomy

이번 연구에서는, 연구팀은 새로운 한국어 감정 분류법을 구축한다. 더불어 labeled 된 데이터셋도 구축한다. 이 분류법은 감정 concept의 cluster들의 의미를 찾고 해석함으로써 구축된다. 기본 과정은 다음과 같다. i) 존재하는 모든 단어들에서 감정 단어들을 알아내고, ii) 이 감정 단어들을 거대한 pretrained word vector 모델에 input으로 넣어 모든 단어들의 vector를 얻어내고, iii) 단어들을 clustering하고 cluster들의 의미를 해석한다. 1개의 해석 가능한 cluster가 감정 분류법에서 1개의 감정으로 여겨진다.

3.1 Emotion Words

감정 단어 dataset으로 가능한 몇 가지가 있는데, Korean Emotion Words Inventory, Korean Emotion Vocabulary Taxonomy, KNU SentiLex 등이 있다. KNU SentiLex는 가장 많은 감정 표현들을 포함한다. 연구자들은 사전에 Bi-LSTM을 사용하여 어휘들을 읽음으로써 한국어 사전 밖에 있는 감정 표현들은 필터링하며, manually하게 감정에 관한 속어 및 이모티콘들을 추가하였다. 그 후에는, human rater들의 정밀 검사를 통해 표현의 감정이 무엇인지 확정한다. 결과적으로, 14000개의 감정 표현들이 확정되었고 제안되었다. 이 연구에서는 감정 분류를 위해 이러한 3개의 데이터셋을 사용하였다.

그러나, 이 어휘들에는 감정을 수량으로 표현하는(ex. many) 몇몇 표현들이 들어있다. 이러한 표현들은 배제되는데, 왜냐하면 보통 이런 것들은 감정보다는 다른 용도로 더 사용된다. 게다가, 몇몇 표현은 빠져있어서, manually하게 추가해주었다. 그리고 나서, 이러한 표현들은 KoNLPy 파이썬 패키지에 의해 토큰화 되었고, stop word 뿐만 아니라 문법 형태소(function word)도 제거되었다. 연구팀에서는 3017개의 표현들을 선택하였는데, 연구팀에서는 직접적으로 인간의 감정을 표현하는 그런 표현들로 고려하였고, 이들은 다음 단계에서 pretrained word vector model의 input으로 들어가게 되었다.

3.2 Word Vectorization

3017개의 감정 단어들은 fastText(word2vec과 비슷하지만, 이 모델은 서브워드도 벡터화에 사용함) 모델의 input으로 들어가게 되었다. 이 모델은 Korean Wikipedia와 같은 거대한 언어 dataset들로 pretrained 되었다. 1787개의 단어들이 연구팀의 감정 단어 후보 리스트에 포함되었고 모델에 포함되었다. 즉, 1787개의 감정 단어들의 vector들이 clustering을 위해 사용되었다.

3.3 Exploring Dimensionality of Emotion

Base Clustering.

base clustering의 목적은 한국어 감정 concept의 가장 그럴 듯한 cluster의 숫자를 찾는 것이 목적이다. 다시 말해서, 연구팀에서는 다음과 같은 질문에 답하려고 하는 것이다. “한국어에는 얼마나 많은 감정들이 있는가?”

base clustering은 2단계로 수행된다. i) UMAP(Uniform Manifold Approximation and Projection)을 사용한 차원 축소가 수행되며, ii) 축소된 vector들은 HDBSCAN(Hierarchical Density-Based Spatial Clustering of Application with Noise)을 사용하여 clustered된다. HDBSCAN은 survival 알고리즘에 의해 cluster의 숫자를 결정한다. 모델 내의 cluster들은 모델의 기준에 의해 감소하며, 한 cluster 내에 있다고 여겨지는 data point들은 점진적으로 strict하게 되며 증가하는 data point들은 noise로 간주된다. cluster들은 이 process 동안에 오래 생존만 한다면 유효하다고 간주된다. HDBSCAN은 이 알고리즘을 통해 cluster의 그럴듯한 숫자를 추정한다. 따라서, cluster의 숫자는 이 2단계 과정을 거친 후 최종 output으로 주어진다.

이 2단계 전략의 주요 목표는 감정의 dimensionality를 가능한 exhaustively하게 탐험하는 것이 목표이다. 그러므로, grid search가 각 단계에서 hyperparameter에 적용되었다. 이 탐색 되어야할 hyperparameter들과 탐색된 값들이 Figure 1에 나타나있다.

이 hyperparameter 공간 내의 총 21600개의 point들이 검색되었다.

21562개의 partition set이 남았으며, 3개보다 적은 cluster를 가진 partition들은 제거되었다. Figure 1 (a)에서는 cluster의 숫자의 histogram을 보여준다. Figure 1 (b) – (f) 에서는 각 hyperparameter 공간 내에 소외된 histogram들을 보여준다. 3개의 분포가 hyperparameter들에도 불구하고 robustly하게 보이며, cluster의 숫자는 최소 cluster size를 제외한 hyperparameter들과는 관련이 없어 보인다. Figure 1 (a)에서 나온 것처럼 가장 그럴 듯한 cluster 숫자는 30이며, 이는 가장 큰 분포의 중간값이다. 이 결과는 이전의 많은 연구들과 일치하는 결과이다. 그러나, 연구팀에서는 감정을 단지 30개의 카테고리들로 이 구조를 효과적으로 표현하기에 부족할 정도로 복잡하다고 생각한다. 게다가, 최근의 개발된 언어 모델들은 복잡하게 labeled된 data를 처리할 만큼 충분히 강력하다. 그러므로, 연구팀에서는 그 다음으로 그럴 듯한 숫자인 136으로 진행하였다.

Clustering Ensemble to Build a New Emotion Taxonomy.

scratch로부터 136개의 cluster를 뽑아내기 위해 cluster analysis를 구현할 필요는 없다. 왜냐하면 21562개의 partition set들이 이미 base clustering에서 습득되었기 대문이다. Cluster ensemble은 partition set을 활용하기 위해 채택되었다.

Cluster ensemble은 말 그대로 하나의 인정받는 outcome을 얻어내기 위해 여러 clustering 결과들을 합치는 방법이다. 연구팀은 HBGF (Hybrid Bipartite Graph Formulation)을 사용하는데, 이는 instance-based 및 cluster-based graph formulation 둘 다를 이용한다. 다시 말해서, 21562개의 partition set들은 HBGF 모델에 의해 fitted 되며, 이는 1787개의 감정 단어를 136개의 그룹으로 분할하기 위한 것이다.

각 cluster의 의미는 해석 가능하다. 몇몇 cluster들은 해석 불가하고 없어지게 된다. 왜냐하면 관련이 없어 보이는 단어들이 한 데 모여 있기 때문이다. 만약 반의어가 같은 cluster 내에 존재하면, 연구팀에서는 이 단어들을 2개의 분리된 감정으로 취급하였다. (i.e. 슬픔과 기쁨) 43개의 감정들은 깔끔하게 해석되었으며, Appendix A를 참고하면 된다.

4 KOTE

연구팀에서는 KOTE(Korean Online That-gul Emotions)를 개발하였는데, 이는 새로운 감정 분류법 내에 있는 43개의 감정으로 labeled 된 5만개의 온라인 댓글을 포함하는 한국어 데이터셋이다. 이번 챕터에서는, KOTE가 어떻게 컴파일되고, pretrained 언어 모델로 finetuning한 결과를 제시한다.

4.1 Text

KOTE 내의 5만개의 온라인 댓글들은 12개의 다양한 도메인에서 수집되며, 이는 일반적인 온라인 환경을 커버하기 위함이다. 모든 웹사이트의 robots.txt(웹사이트에 웹 크롤러 같은 로봇들의 접근을 제어하기 위한 규약, 권고안이기에 지킬 의무는 아님) 가이드라인은 준수되었다. 만약 웹사이트에서 검색 엔진을 제공하는 경우, KNU SentiLex에서 랜덤하게 선택된 감정 단어들이 크롤링으로 검색되었다. 320만개의 댓글들이 총 모였으며, 이 중 5만개가 각 웹사이트의 댓글의 숫자의 밸런스를 맞추어 샘플링되었다. 샘플링에서, text의 최소 길이는 10이며, 각 플랫폼에서 최대는 90분위까지 허용되었다. 최대 길이는 404, 평균은 57.32, 중간값은 42이다.

모든 text에서, 유저의 ID같은 개인 정보는 제거되었다. 댓글들은 또한 이 연구의 서포터인 Korea Data Agency에 의해 지정된 신용 가능한 서드파티 업체의 프라이버시 체크를 위해 감독되었다. 그들을 통해 어떤 댓글에도 부적절한 개인 정보가 들어있지 않음을 확정지었다.

4.2 Label

5만개의 댓글들이 크라우드소싱을 통해 labeled 되었으며, 여기에는 3084명의 rater(모국어가 한국어인 사람들)들이 보수를 받고 진행하였다. 레이블링 과정은 다음과 같다. 먼저, 랜덤하게 50개의 댓글이 선택되어 rater에게 주어진다. Rater는 각 댓글의 화자가 표현하려고 의도한 감정들을 모두 선택한다. 만약 어떠한 감정도 찾지 못한다면, NO EMOTION이라는 선택지를 선택한다. 그들은 또한 만약 댓글이 분명하게 어떤 감정을 가지고 있지만, 정확한 감정이 주어진 카테고리에 존재하지 않는 경우에는, NO EMOTION이 아니라 여러 개의 감정을 선택하도록 교육받았다. 마지막으로, 그들은 만약에 text에서 문맥에 따라 다른 감정을 가질 수 있다면 가능한 관련 있는 모든 감정들을 선택하도록 교육받았다. 댓글 하나 당 그들이 고를 수 있는 Label의 개수는 1~10이다. Rater는 50개 댓글 set 1개를 더 요구할 수 있으며, rater 당 최대 2개의 set까지 답변 가능하다. Labeling 이후에는, annotated된 text들은 label의 유효성을 검사하는 다른 crowdworker들에게 전달된다. 만약 검수자들이 label된 것에 동의하지 않으면, 동의되지 못한 text들은 원래 작업자들에게 다시 돌아가서 relabeling을 요구한다. 이 back-and-forth 검수과정은 최대 3번 반복될 수 있다.

2가지 종류의 catch trial(자극이 없을 때의 응답, 예시로 소리 실험에서 소리가 주어지지 않았을 때의 실험자의 반응)이 labeling 중간에 주어진다. rater들은 답변 전에 catch trial에 대해 교육받고 만약 그들이 catch trial을 올바르게 응답하지 않을 경우 보수를 받지 못한다는 것에 동의한다. Type-1 catch trial은 rater들에게 특정 label을 선택하도록 직접적으로 지시한다. 예를 들어서, “오직 이 질문에는 expectancy만 고르고 다른 선택지는 고르지 마세요.” 이런 식이다. Type-2 catch trial은 올바른 대답을 가지는 question을 질문한다. 예를 들어서, “나는 마침내 무슨 일이 일어났는지 깨달았다. 이제 나는 안다.. 나는 모든 걸 이해한다.” 이 문장의 label에는 반드시 realization이 포함되야 하며, 그렇지 않으면 정답은 틀린 것으로 간주된다. 올바른 정답은 항상 텍스트 자체에 존재한다.

5명의 랜덤하게 선택된 rater들은 1개의 댓글에 배정되며, 그러므로 5만개의 comment에는 25만개의 경우가 결과로 생성된다. 5개의 binary label들은 최종 label이 되기 위해 합쳐진다. 그러므로, label의 범위는 0-5이다. Table 1을 보면, 5명의 rater 중 3명이 텍스트에서 attracted를 포함하는 것에 동의하여, attracted label의 값은 3이 된다.

4.3 Data Description

Table 3에서는 label들을 묘사한다.

99%의 텍스트들에서는 2명 이상의 rater들이 최소 1개의 label을 가진다고 하였다. 이는 rater들이 의견 일치에 도달하는 데에 큰 어려움이 없었다는 점에서 명확하다. 또한, 적정한 숫자의 text들에 대해 NO EMOTION이 labeled 되었다.

Label들 사이의 관계는 Figure 2의 heatmap에 나타나있다.

여기에는 label들 사이의 Pearson correlation과 Euclidean distance가 나타나있으며, 각각은 5만 차원의 vector이다.

비록 몇몇 감정들이 연관되어 있더라도 감정들을 합치거나 배제하기 위해서 추가 preprocessing이 data에 적용되지는 않는다. 이는 감정 분류법이 non-linear한 방법에서 비롯된 것 뿐만이 이유가 아니라, 또한 ELECTRA 모델에서 비롯되었기 때문인데, ELECTRA 모델은 finetuned되고, nonlinear하며 비슷한 감정들은 linearly하게 구별할 잠재적 능력을 가지고 있다. 게다가, 중요한 감정들은 방법과 기준에 따라 달라진다. 우리의 지식에 대해 가장 완벽한 만병통치약은 존재하지 않는다. 마지막으로, 덜 중요한 차원들은 중복의 위험성에도 불구하고 추가적인 정보를 제공할 수 있다.

4.4 Finetuning

Preparation.

0에서 5의 범위를 가지는 label들은 0 또는 1로 이분화된다. 각 댓글의 label들에 대해 minmax scaling이 적용된다. 댓글 별 minmax scaling의 목적은 finetuned machine이 여러 개의 가능한 emotion들을 return 하도록 만드는 것이다. (단, 어떤 감정도 확실하게 인지되지 못하는 경우에) scaling 이후에 점수가 0.2를 넘어가는 label들은 1로 변형되고, 그 외에는 0으로 변형된다. 1개의 댓글은 결과적으로 평균 7.91개으 label을 가진다. 데이터셋은 랜덤하게 훈련용 80% 테스트용 10% 검증용 10%로 나누어진다.

Training.

연구팀에서는 KcELECTRA(한국어 온라인 댓글로 pretrained된 언어 모델)를 3개의 패키지로 finetuned하였다. 각각 pytorch, pytorch-lightning, transformers이다. Batch size는 32이며, input token size는 512이다. 만약 input의 token의 수가 512보다 적다면, [PAD] 토큰으로 패딩한다. 어떠한 input도 512를 넘어가지는 않는다. 1개의 linear layer가 마지막 hidden layer의 [CLS] 토큰에 붙어서 multi-label classification을 위해 사용된다. Loss는 각 label에 대한 binary cross entropy이다. 연구팀에서는 linear optimization scheduler를 사용하며, 여기서 초기 학습률은 2e-5이며 warmup step 및 total step은 각각 2500, 12500이다. 또한 [CLS], [SEP], [PAD]를 제외한 5%의 토큰들을 랜덤한 토큰으로 바꾸며, 5%의 토큰은 [MASK] 토큰으로 교체한다. Epoch의 최대 숫자는 15이며, 대부분의 경우에 최적에 도달하는 데에는 9 epoch정도면 충분하다. Validation set의 loss는 학습 동안에 모니터링된다. 연구팀은 label smoothing을 시도하였지만, 결과적으로 성능이 오히려 내려가서 보고하지는 않는다.

Results.

예측된 label들에 대한 결정 threshold는 0.3이다. 연구팀은 scikit-learn을 사용하여 성능 metric들을 계산한다. 평균 F1-score, AUC, MCC는 각각 0.56, 0.88, 0.59이다.

Introduction 섹션에 언급된 것처럼, 이 결과들은 임의로 결정된 하이퍼파라미터로 얻어진 것들이다. 그러므로, 성능은 추가적인 방법을 통해 오를 수 있다. (하이퍼파라미터 튜닝) 그렇지 않으면, preprocessing에서 다른 방법들을 써볼 수 있는데, label merging(레이블 합치기), dichotomization(이분법), 또는 label balancing 등이 있을 것이다. 데이터셋은 완전히 open 된 상태이므로, 아무나 사용 가능하다. 만약 좋은 결과를 얻는다면, 주저하지 않고 공유해 주기를 희망한다.

5 Conclusions

연구팀의 데이터셋으로 finetuned 된 모델은 기존의 번역된 GoEmotions 데이터셋으로 훈련된 모델보다 더 좋은 성능을 달성하였다. (F1-score가 0.56 vs 0.41) 비록 감정 분류법의 차이로 인해 직접적으로 비교하는 것은 어렵지만, 더 넓은 범위의 감정들에 대해 경쟁할 만한 성능을 이룬 것은 의미가 있다. (감정 43개 vs 27개) 이런 좋은 성능에 대한 이유는 다음과 같이 요약할 수 있다. i) 연구팀에서는 반복적으로 검증된 심리학 이론 및 방법론에 머신러닝을 도입하여 감정 분류법을 얻어냈다. ii) 감정 분류법이 한국 문화에 적합하며, 이는 2가지 관점에서 유용하다. 먼저, human rater들이 쉽게 분류법 내의 감정을 이해 가능하며, 한국어 언어 모델이 효율적으로 텍스트의 감정을 추론할 수 있다. iii) 연구팀에서는 감정을 현존하는 심리학 문헌을 따르는 복잡한 구조로 봤으며, 이는 연구팀이 labeling에서 text의 복잡한 정보를 부과하도록(?) 하였고, preprocessing에서 복잡도를 유지하도록 하였다.

6 Limitations

그러나, 명심해야 할 한계들이 존재한다. i) 감정은 복잡한 구조이며, 그저 수십 개의 감정들로 완벽하게 잡아내는 것은 불가능하다. ii) 감정은 dynamic한 구조지만, 연구팀은 이번 연구에서 감정을 static한 구조로 취급한다. 감정은 반드시 복잡하게 상호작용한다. 예를 들어서, 감정은 다른 감정과 결합하여 새로운 감정이 나올 수 있으며, 단일 감정은 emotionality(감성)과 맥락의 정도에 따라 다른 의미를 가질 수 있다. iii) KOTE는 거대하지만, 인터넷 내부 및 외부의 다른 도메인들을 커버할 정도로 충분히 큰 건 아니다. KOTE는 만약 누군가 온라인 댓글이 아닌 다른 종류의 text를 분류하려고 할 때에 한계를 가질 수 있다. 예를 들어, 두려움은 주요한 감정이지만, 연구팀의 데이터셋에는 빈도 수가 낮다. 따라서, 두려움과 연관된 언어적인 표현들 또한 희귀할 것이다. iv) 보호된 그룹에 대한 차별적인 평가는 텍스트와 human rater의 차별을 반영하기 때문에 데이터셋 내에서 수행된다. 연구팀은 윤리적 고려를 위해 Appendix C에 대해 읽을 것을 매우 추천한다.

비록 미래의 연구들은 이러한 질문들에 대답하도록 요구되지만, KOTE는 한낱 감성 분석의 한계를 뛰어넘는 데에 도움을 주는 여전히 새롭고 유용한 도구이다. 연구팀은 이 user guide가 user들에게 데이터셋을 활용할 수 있도록 유용한 정보를 제공하기를 희망한다.