혐오표현 탐지, 데이터셋마다 다르게 본다

현재 온라인상의 혐오 표현은 노골적 비난을 넘어 문맥과 암시로 스며드는 **암묵적 혐오(Implicit Hate)**가 늘어나며 탐지가 어려워지고 있습니다. 한편 험오 표현 데이터셋은 서로 다른 소스·플랫폼에서 구축되어 언어적 스타일과 사회적 맥락, 암묵성의 정도, 주석(라벨링) 기준이 제각각이라 데이터셋별 특성이 크게 다릅니다. 그럼에도 선행 연구 다수는 이러한 데이터셋 특이성을 충분히 반영하지 못한 고정된 방식에 의존해 왔습니다.

본 연구는 이 간극에 주목하여, 서로 다른 맥락적 단서를 포착하는 다중 모듈을 설계하고, 강화학습으로 데이터셋별 가중치를 학습한 뒤 투표로 결정을 내리는 RV-HATE 프레임워크를 제안하였습니다.

모듈 소개


RV-HATE는 네 개의 모듈로 구성되어 있으며, 각각이 데이터셋의 다른 특성을 포착하도록 설계되었습니다. 각 모듈은 기본 구조인 M0를 기반으로 확장된 형태입니다.

M0 - 클러스터링 기반 대조 학습

기본 모듈로서, 문장 임베딩 공간에서 클러스터링 기반 대조 학습을 수행합니다. 이때 앵커(anchor) 선택 기준으로 코사인 유사도를 사용하여, 의미적으로 유사한 문장 간의 거리를 더 정확히 반영합니다.

<aside> 👉🏻

Given Text: Black is idiot

Anchor: White is the best

</aside>

→ 이 과정은 혐오 표현의 맥락적 의미를 포착하는 데 초점을 둡니다.

M1 - [TARGET] 토큰 추가

NER tagger를 이용하여 그룹, 단체 등의 토큰에 [TARGET] 토큰을 추가하여, 문장 내에서 특정 혐오 대상(hate target)을 명시적으로 인식하도록 합니다. 문장에서 대상 집단을 인식하는 단서를 강화합니다.

<aside> 👉🏻

White is the best → [TARGET] White is the best

</aside>

→ 이 과정은 모델이 어떤 집단에 대한 혐오인지 구체적으로 구분할 수 있도록 돕습니다.

M2 - 클러스터 내 이상치 제거

데이터셋의 클러스터 내 이상치를 제거하는 기능을 추가합니다. 이는 학습 데이터의 품질을 높이고, 클러스터 간 혼란을 줄입니다. 저게되는 이상치중에는 아래와 같은 broken sentence들이 다수 존재합니다.

<aside> 👉🏻

Outlier: Yasss brownies & ice cream &##128523; http://t.co/8qLa3JsglG

</aside>

→ 이 과정은 모델이 명확하고 일관된 표현 공간을 유지하도록 합니다.

M3 - 하드 네커티브 샘플 사용

하드 네거티브 샘플(Hard Negative Samples)을 추가하여, 혐오 표현과 비혐오 표현 사이의 결정 경계(decision boundary)를 명확히 학습합니다. 하드 네거티브 샘플이란 라벨은 다르지만, 유사도가 높아서 구별하기 어려운 샘플들을 말합니다.