비속어 포함 문장 판별 알고리즘은 주어진 문장의 비속어 포함 여부를 판별해주는 알고리즘이다. 딥러닝 모델 중 CNN과 KoBERT를 이용해 욕설뿐만 아니라 변형된 비속어까지 판별할 수 있도록 한다.
AI Hub의 '텍스트 윤리검증 데이터'를 사용한다.
본 프로젝트에서는 데이터를 이진분류와 다중분류 두 가지로 나누어 실험하였다.
이진분류에서는 도덕/무도덕, 차별, 선정, 폭력, 욕설 중 욕설만 1로 라벨 인코딩하였고, 나머지는 0으로 라벨 인코딩하였다.
다중분류에서는 각각을 0, 1, 2, 3, 4로 라벨 인코딩하였다.
여러 실험을 거쳐 optimization function은 sigmoid, loss function은 mean squared error로 설정하였다.
모델 | test acc |
---|---|
CNN 이진분류 | 0.8480 |
CNN 다중분류 | 0.3132 |
KoBERT 이진분류 | 0.9059 |
KoBERT 다중분류 | 0.7170 |