KOAS: Korean Text Offensiveness Analysis System(EMNLP 2021)
12 May 2022
집현전 자연어처리 스터디에서 같은조(3조 김영석, 김상원, 나)에 속한 김영석님이 발표하신 KOAS: Korean Text Offensiveness Analysis System 리뷰이다. (뒷 부분 발표자료 준비를 맡았다.) 본 논문에서는 Korean text에 대한 offensiveness score를 추정하는 novel system KOAS를 제안하였다. 주요 핵심은 Multi-task Learning framework을 이용하여, abusive language detection, sentiment analysis task에 대해서 학습했고, Inference시에, offensive score를 출력하는 방식으로 실험을 하였다. (발표 링크)
Introduction
1. 온라인 커뮤니티에서 공격적 언어의 탐지의 중요성
- Social Platform의 증가(Meta[Facebook], Instagram..)
- 공격적 언어를 사람의 노동으로 탐지하는 것에 한계
- 특히 한국은 인터넷 환경/Platform이 잘되어 있어서 이 문제의 해결이 절실하다.
2. 공격적인(Offensive) 한국어 문장 탐지의 어려움
- 돌려까기 표현이 많다(without explicit abusive expressions)
- (선행연구에서) 너무 단순한 분류 문제를 가정 (classifying sentences in to discrete, sometimes binary,categories) : the offensive expression의 degree of frequency, explicitness 를 고려해야 한다.
3. Contribution
- degree of offensiveness를 측정
- scoring function for offensiveness 를 제시: quantify how much negative feelings
- each sentence can cause to readers
- two classification tasks and multi-task learning
- abusive language detection
- sentiment analysis
- Evaluation
- new datasets for the abusive language detection and sentiment classification
- no appropriate datasets to evaluate offensiveness score
- new datasets for the abusive language detection and sentiment classification
System design
1. Model Architecture
- Kim et al(2019)의 From small-scale to largescale text classification의 모델 구조를 활용함.
- 모델 구조는 CNN을 활용한 Gated multi-task learning framework임.
- Yoon Kim(2014)의 vanilla CNN을 baseline model로 활용함.
- FastText를 활용한 embedding layer를 finetuning하여 사용함.
- Convolution layer는 총 3개로 2개의 task에 대한 Convolution layer와 Shared layer로 구성됨.
- 모든 Convolution layer는 ReLU, max pooling, dropout을 포함함.
- 각 task의 convolution layer의 output에 Gate mechanism을 적용함.
- Gate는 유용한 feature를 공유하고 불필요한 정보를 전파하는 것을 방지하는 역할을 함.
- Sentiment analysis task도 같은 방법으로 계산됨.
2. Text Offensiveness
- Offensiveness Score는 2가지 가정에 따라 계산함.
- Offensiveness Score는 글을 읽었을 때 느껴지는 부정적인 감정(분노,짜증,두려움)의 정도를 표현함.
- 욕설은 감탄사로도 활용될 수 있지만 대부분은 맥락에상관없이 불쾌감을 일으킴.
- 즉, 부정적인 억양과 욕설은 Offensiveness와 양의 상관관계를 가짐.
- 반대로 긍정적인 억양과 욕설은 음의 상관관계를 가짐.
$O=(\alpha \times(y^{neg}-max(0,y^{pos}))+\beta\times y^{ab}))$
- Offensive Score는 Sentiment Analysis 와 abusive detection의 output value로 구성됨.
- $\alpha,\beta$는 hyper parameter로 초기 0.5, 0.8로 설정 후 Korean Toxic speech corpus dataset에 적용하여 실험적으로 0.456과 0.758로 설정함.
- 정성적으로 평가했을 때 Offensive Score가 불쾌감과 상관관계가 있음을 확인하였음.
Evaluation
1. Datasets : Dataset Construction
- KOAS에서 사용한 Dataset은 Youtube, Naver Movie review, dcinside에서의 댓글들로 이루어짐.
- 이를 통해 최대한 현실적인 측면을 반영하고자 함.
- 46,853개의 korean sentence로 이루어져 있고, sentence들은 다음과 같이 분류된다.
- Binary classes : Abusive language을 포함 유무.
- Three classes : Sentence Polarity ( Positive, Neural, Negative)
2. Datasets : Preprocessing
- 한국어는 agglutinative language(교착어)이므로, word-level tokenization 보다 morpheme-level tokenization이 적합함.
- Morpheme aware subword tokenization을 사용하였고, KoNLPy pakage의 Mecab, Komoran을 이용하여 tokenize한 결과를 모두 사용함.
3. Experimental Settings
- Train / Valid / Test set은 각각 28,111개, 9,370개 그리고 9370개로 구성됨.
- 이 때 train set의 class 불균형으로 인해 minor class를 oversampling 하였으며, abusive detection task에서의 non-abusive class와 Sentiment Analysis task의 negetive class를 sampling 하였음.
4. Results : Internal Tasks
실험결과를 통해 다음과 같은 세가지를 알 수 있었음.
- Multi-task Learning framework (abusive language detection,sentiment analysis)는 모델의 성능을 향상시킴.
- 4가지 Multi-task learning type 중에 𝐺𝑠2𝑎 가 없는 CNN𝑀𝑇𝐿 모델의 성능이 가장 좋았으며, Over-sampling한 dataset에 대해서도 성능이 좋은 것을 확인함.
- KOAS는 abusive language detection에 대해서는 90%, Sentiment analysis에 대해서는 80%의 accuracy의 성능을 얻었음. 이에 따라 offensiveness analysis에 필요한 다른 downstream task로의 확장성 면에서 잠재성이 있음.
5. Results : Text offensiveness
$O=(\alpha \times(y^{neg}-max(0,y^{pos}))+\beta\times y^{ab}))$
- Text offensiveness score의 적합성을 확인 하기 위해, test set에서 300개의 문장을 임의로 선택하여 “offensive”, “mildly offensive”, “strongly offensive”로 labeling함.
- Offensiveness에 대한 human feedback과 predicted score 사이의 Pearson correlation을 측정하여 평가함.
- Pearson correlation 값은 0.62였음, 즉 human feedback과 양의 상관관계를 갖음.
6. Results : Qualitative Examples
- KOAS을 test하기 위해 6가지 type sentence를 이용하였다. Positive-abusive/Neutral-abusive/Negative-abusive/Positive-non abusive/Neutral-non abusive/Negative-non abusive
- 욕을 포함하고 있는 문장들이 abusive detection에 의해 더 높은 offensive score를 갖고 있는 것을 확인할 수 있다.
- 비슷한 욕을 포함 하더라도, offensiveness score가 다른 것을 확인할 수 있음.
Demonstration
- KOAS는 다음과 같은 interface를 통해 user input sentence의 offensiveness를 확인함.
- input sentence를 받으면, abusive language detection과 sentiment analysis를 수행하고, offensiveness score를 계산함.
- 미리 정해진 threshold에 따라 ”이 댓글은 악의성이 있어 삭제될 위험이 있습니다” 라는 message 를 출력함.
- 해당 연구에서는 moderate threshold는 40, crucial threshold는 72로 설정함
Conclusion
- 본 논문에서는 Korean text에 대한 offensiveness score를 추정하는 novel system KOAS를 제안하였음.
-
KOAS는 contribution은 다음과 같음.
- 한국어의 형태학적 풍부함과 복잡한 구문에 대한 대처 방법을 제시함.
- 언어학적,문맥적분석을 통해 텍스트의 공격적인 뉘앙스를 포착함.
- 텍스트의 offensiveness를 효과적으로 분석함.
- 실시간 채팅이나 소셜미디어 플랫폼 등에서 Offensive comment를 차단 할 수 있음.
- 욕설을 사용하지 않고 부정적인 억양을 가진 implicit offensiveness에 대한 연구가 필요함.
- KoBERT, KoELECTRA와 같은 language model을 적용할 예정임.