ChangHyeon Nam's Blog notes and thoughts

KOAS: Korean Text Offensiveness Analysis System(EMNLP 2021)

Comments

집현전 자연어처리 스터디에서 같은조(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) 한국어 문장 탐지의 어려움

Untitled

  1. 돌려까기 표현이 많다(without explicit abusive expressions)
  2. (선행연구에서) 너무 단순한 분류 문제를 가정 (classifying sentences in to discrete, sometimes binary,categories) : the offensive expression의 degree of frequency, explicitness 를 고려해야 한다.

3. Contribution

Untitled 1

  • 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

System design

1. Model Architecture

Untitled 2

  • Kim et al(2019)의 From small-scale to largescale text classification의 모델 구조를 활용함.
  • 모델 구조는 CNN을 활용한 Gated multi-task learning framework임.
  • Yoon Kim(2014)의 vanilla CNN을 baseline model로 활용함.

Untitled 3

  • FastText를 활용한 embedding layer를 finetuning하여 사용함.
  • Convolution layer는 총 3개로 2개의 task에 대한 Convolution layer와 Shared layer로 구성됨.
  • 모든 Convolution layer는 ReLU, max pooling, dropout을 포함함.

Untitled 4

  • 각 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

Untitled 5

  • 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

Untitled 6

  • 한국어는 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

Untitled 7 실험결과를 통해 다음과 같은 세가지를 알 수 있었음.

  1. Multi-task Learning framework (abusive language detection,sentiment analysis)는 모델의 성능을 향상시킴.
  2. 4가지 Multi-task learning type 중에 𝐺𝑠2𝑎 가 없는 CNN𝑀𝑇𝐿 모델의 성능이 가장 좋았으며, Over-sampling한 dataset에 대해서도 성능이 좋은 것을 확인함.
  3. 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

Untitled 8

  • 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

Untitled 9

  • 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은 다음과 같음.

    1. 한국어의 형태학적 풍부함과 복잡한 구문에 대한 대처 방법을 제시함.
    2. 언어학적,문맥적분석을 통해 텍스트의 공격적인 뉘앙스를 포착함.
    3. 텍스트의 offensiveness를 효과적으로 분석함.
    4. 실시간 채팅이나 소셜미디어 플랫폼 등에서 Offensive comment를 차단 할 수 있음.
  • 욕설을 사용하지 않고 부정적인 억양을 가진 implicit offensiveness에 대한 연구가 필요함.
  • KoBERT, KoELECTRA와 같은 language model을 적용할 예정임.