GitHub - smilegate-ai/korean_unsmile_dataset
Feed

GitHub - smilegate-ai/korean_unsmile_dataset

smilegate-ai
2026.06.07
·GitHub·by Leon
#bert#dataset#hate speech detection#korean#nlp

핵심 포인트

  • 1Smilegate AI의 한국어 혐오 표현 데이터셋인 "UnSmile"은 특정 사회적 집단에 대한 적대적 발언, 조롱, 희화화, 편견 재생산 표현을 혐오 표현으로 정의합니다.
  • 2총 18,742개의 문장으로 구성된 이 데이터셋은 여성/가족, 남성, 성소수자 등 10가지 세부 혐오 카테고리로 다중 레이블링되었으며, 전문가 집단에 의해 어노테이션되었습니다.
  • 3Hugging Face `datasets`를 통해 사용 가능하며, BERT 기반의 Baseline 모델과 학습/테스트 튜토리얼을 제공하여 한국어 혐오 표현 분류 연구에 활용될 수 있습니다.

Smilegate AI에서 공개한 "Korean UnSmile Dataset"은 한국어 혐오 표현(hate speech) 분류를 위한 멀티 레이블(multi-label) 데이터셋입니다.

본 데이터셋에서 혐오 표현은 "특정 사회적 (소수자) 집단에 대한 적대적 발언, 조롱, 희화화, 편견을 재생산하는 표현"으로 정의됩니다. 구체적인 예시로는 대상에 대한 고정관념(예: "동양인은 수학 잘하지 않아?"), 대상의 특성이나 성향을 특정 통념에 고착시키는 발언(예: "여자는 집에서 애나 봐야지!") 등이 있습니다. 반면, 화자 스스로를 자조적으로 표현하는 경우(예: "아 내가 급식충이다!")는 혐오 발언으로 분류하지 않습니다.

데이터셋은 단일 문장을 [혐오표현, 악플/욕설, clean]으로 분류하며, 혐오 표현의 경우 다중 레이블로 전문가 집단을 통해 레이블링되었습니다. 총 18,742개의 문장으로 구성되어 있으며, 이 중 혐오표현 10,139개, 악플/욕설 3,929개, Clean 4,674개입니다.

혐오 카테고리는 다음과 같이 10가지로 세분화됩니다:

  • 여성/가족: 여성성 및 성역할에 대한 통념 고착, 여성 차별 희화화, 페미니즘 관련 악플, 비전통적 가족 형태(비혼주의자, 미혼모 등)에 대한 혐오 발언 포함.
  • 남성: 집단으로서의 남성 일반을 비하, 조롱, 희화화하는 발언.
  • 성소수자: 성소수자(레즈비언, 게이, 바이섹슈얼, 트랜스젠더 등) 배척, 이성애 외의 섹슈얼리티 부정적 묘사, 희화화 표현 포함.
  • 인종/국적: 특정 인종(흑인, 아시안 등) 및 국적(일본인, 아프가니스탄인, 베트남인 등)에 대한 욕설, 고정관념, 조롱, 종교/인종/국가를 암묵적으로 지칭하는 소재(예: 무슬림, 난민) 포함.
  • 연령: 특정 세대나 연령을 비하하는 은어 및 혐오 표현.
  • 지역: 특정 지역에 대한 은어 및 혐오 표현.
  • 종교: 특정 종교에 대한 혐오 및 종교인 집단에 대한 비난.
  • 기타혐오: 위에서 정의한 카테고리 이외의 집단(예: 장애인, 정부, 기자, 경찰 등)을 대상으로 하는 혐오 표현.
  • 악플/욕설: 특정 집단에 대한 혐오 표현은 아니지만, 타인 또는 외모에 대한 비하/욕설, 불쾌감을 주거나 음란성 내용을 포함하는 문장.
  • Clean: 혐오표현, 욕설, 불쾌감, 음란성 내용을 포함하고 있지 않은 일반 문장.

어노테이션(Annotation) 방법은 단일 댓글 문장에 대해 3명의 작업자가 혐오 카테고리를 분류하고, 5인의 혐오 표현 전문가가 최종 검수하는 방식으로 진행되었습니다. 혐오 및 욕설의 대상이 특정 인물임을 대중이 인지할 수 있는 경우 '개인지칭' 항목으로 추가 태깅하였습니다.

데이터셋은 Hugging Face datasets hub를 통해 smilegate-ai/kor_unsmile로 접근할 수 있으며, train과 valid 두 개의 split으로 제공됩니다. 각 데이터 포인트는 '문장'과 함께 10가지 혐오 카테고리 및 '개인지칭' 여부에 대한 바이너리 레이블, 그리고 이들을 통합한 'labels' 필드를 포함합니다.

본 데이터셋은 BertForSequenceClassification 모델을 활용한 baseline 모델을 제공합니다. 이 모델은 transformers 라이브러리의 TextClassificationPipeline을 통해 쉽게 활용할 수 있으며, device 인자를 통해 CPU 또는 GPU 사용을 지정할 수 있습니다. 멀티 레이블 분류를 위해 returnallscores=Truereturn_all_scores=True와 functiontoapply=′sigmoid′function_to_apply='sigmoid'가 설정되어 각 레이블에 대한 독립적인 확률 score를 출력합니다.

Baseline 모델의 검증 세트(validation set)에서의 성능은 다음과 같습니다:
| Category | Precision | Recall | F1-score | Support |
| :------------- | :-------- | :----- | :------- | :------ |
| 여성/가족 | 0.85 | 0.70 | 0.76 | 394 |
| 남성 | 0.87 | 0.83 | 0.85 | 334 |
| 성소수자 | 0.90 | 0.78 | 0.83 | 280 |
| 인종/국적 | 0.87 | 0.79 | 0.82 | 426 |
| 연령 | 0.92 | 0.75 | 0.83 | 146 |
| 지역 | 0.87 | 0.88 | 0.88 | 260 |
| 종교 | 0.87 | 0.86 | 0.87 | 290 |
| 기타 혐오 | 0.92 | 0.18 | 0.30 | 134 |
| 악플/욕설 | 0.76 | 0.59 | 0.67 | 786 |
| clean | 0.74 | 0.79 | 0.77 | 935 |
| micro avg | 0.82 | 0.73 | 0.77 | 3985 |
| macro avg | 0.86 | 0.72 | 0.76 | 3985 |
| weighted avg | 0.82 | 0.73 | 0.77 | 3985 |
| samples avg | 0.76 | 0.74 | 0.75 | 3985 |

소스코드 및 baseline 모델은 Apache 2.0 라이선스 하에, 데이터셋은 CC-BY-NC-ND 4.0 라이선스 하에 공개되어 있습니다. 상업적 사용의 경우 별도 문의가 필요합니다.