Sentiment Analysis

|

1. Dev summary

Project Summary of the projectRelated Pages
Sentiment Analysis
  • base model:
    • BERT
    • ELECTRA
  • class num:
    • 34 / 7 / 3
  • applied domains:
    • General
    • Literature
  • Related Paper Review (BERT)
  • ELECTRA
  • 2. Data Collection and Processing

    2.1 Dataset

    출처포맷수량
    data labeling 업체 수집 데이터(raw data: web crawling data)txt302,028문장
    data labeling 업체 수집 데이터(raw data: aihub 한국어 SNS, 자유대화 데이터)txt184,585문장
    aihub data (한국어 단발성 대화 데이터셋: 기쁨, 슬픔, 놀람, 분노, 공포, 혐오, 중립)txt37,000문장
    aihub data (감성 대화 말뭉치: 기쁨, 당황, 분노, 불안, 상처, 슬픔)txt28,000문장
    total 551,613문장

    2.2 Data pre-processing

    • 중복 문장 제거
      • 중복 문장 추출 후 분리하여 저장 -> 모델 1차 학습 후 autolabeling을 통해 class tagging
    • 이모티콘 제거. 텍스트 자체만 학습 (특수기호는 제거 x)
    • 데이터 라벨 불균형 완화를 위해 “중립”에 속하는 데이터 일부 제거

    2.3 Data class

      {
      "부정":{"분노": ["분노", "억울함"],
              "싫음": ["싫음", "지루함", "미워함", "짜증남"],
              "두려움": ["두려움", "창피함", "불안", "당황"],
              "슬픔": ["슬픔", "미안함", "안타까움", "외로움", "실망", "괴로움", "부러움", "후회"]},
      "긍정":{"행복": ["행복", "그리움", "기쁨", "사랑", "황홀함", "감동", "즐거움", "홀가분함", "설렘", "만족", "자신감", "고마움"],
              "놀람": ["놀람"]},
      "중립":{"중립": ["중립", "바람", "무관심"]}
      }
    

    2.4 Data augmentation method

    • 1차 모델 학습 이후 autolabeling

    3. Model

    3.1 Model Architecture

    • BERT
    • Electra

    3.2 Fine-tuning Hyperparameter

    versionbatch_sizemax_lenoptimizer
    34 emotion6464Adam
    8 emotion6464Adam
    3 emotion6464Adam

    4. Train

    4.1 Training server environment

    • Quadro RTX 8000 x3
    • Ubuntu 20.04

    5. Test result

    versionaccf1 score
    34 emotion77.5590.7756
    8 emotion840.84
    3 emotion790.79

    6. Problems and Solutions

    • 데이터 라벨 불균형
      • “중립” 문장 일부 제거
      • 1차 학습 이후 web crawling 데이터 autolabeling 이후 부족한 라벨 보충 -> 예정