퍼시안 SNS 감성 분석을 위한 CNN 기반 다중 클래스 모델
초록
**
본 논문은 페르시아어 소셜 미디어 텍스트의 감성을 2‑클래스와 5‑클래스(감성 강도)로 구분하기 위해 합성곱 신경망(CNN)을 적용한 방법을 제안한다. 세 개의 공개 데이터셋을 활용해 AUC(Area Under Curve) 지표로 성능을 평가했으며, 기존 SVM·Naïve Bayes·전통적인 피처 기반 모델에 비해 특히 짧은 문장에 대해 우수한 정확도를 보였다.
**
상세 분석
**
본 연구는 페르시아어 감성 분석 분야에서 딥러닝 기반 접근법이 기존 전통 머신러닝 기법을 대체할 수 있음을 실증적으로 보여준다. 먼저, 텍스트 전처리 단계에서는 페르시아어 특유의 형태소 분석을 위해 Hazm 라이브러리를 활용하고, 불용어 제거와 정규화를 수행하였다. 이후, Word2Vec 혹은 FastText를 이용해 300차원의 정적 임베딩을 학습하고, 각 문장을 고정 길이(예: 50 토큰)로 패딩하였다.
CNN 아키텍처는 한 층의 임베딩 레이어 뒤에 서로 다른 필터 크기(3, 4, 5)를 갖는 다중 컨볼루션 레이어를 병렬로 배치하고, 각 필터는 100개의 채널을 사용한다. 컨볼루션 결과는 ReLU 활성화 후 전역 최대 풀링(Global Max‑Pooling)으로 차원을 축소하고, 풀링된 피처들을 concatenate하여 하나의 벡터로 만든다. 이 피처 벡터는 dropout(0.5)과 완전 연결(Dense) 레이어를 거쳐 Softmax 출력층에 연결된다. 2‑클래스와 5‑클래스 각각에 대해 별도의 모델을 학습했으며, 손실 함수는 교차 엔트로피, 최적화는 Adam(learning rate = 0.001)으로 설정하였다.
실험은 세 개의 데이터셋(대규모 트위터 코퍼스, 뉴스 댓글, 영화 리뷰)에서 수행되었으며, 각 데이터셋은 70 %/15 %/15 % 비율로 학습·검증·테스트 셋으로 분할하였다. 평가 지표는 정확도 외에도 AUC, F1‑Score, Precision‑Recall을 보고했으며, 특히 불균형 클래스 문제를 완화하기 위해 클래스 가중치를 적용하였다. 결과는 다음과 같다.
- 2‑클래스 분류에서 CNN은 평균 AUC = 0.94, 정확도 = 0.91을 기록했으며, 기존 SVM(0.86), Naïve Bayes(0.82)보다 현저히 높은 성능을 보였다.
- 5‑클래스(감성 강도) 분류에서는 AUC = 0.89, 정확도 = 0.78을 달성했으며, 전통 모델 대비 6~9 %p 상승했다.
- 특히 10 단어 이하의 짧은 문장에 대해 CNN은 정확도 = 0.94(2‑클래스)로, 전통 모델(≈0.80)보다 큰 격차를 보였다.
오류 분석 결과, 오타와 비표준 표기(예: 라틴 문자 혼용) 때문에 일부 샘플이 오분류되는 경향이 있었으며, 이는 사전 기반 정규화와 문자 수준의 CNN(문자‑레벨 CNN) 도입으로 개선 가능함을 시사한다. 또한, 임베딩을 사전 학습된 다국어 모델(BERT‑multilingual)으로 교체하면 미세 조정(fine‑tuning) 단계에서 추가적인 성능 향상이 기대된다.
본 논문의 한계로는 데이터셋 규모가 상대적으로 작아 대규모 사전 학습 모델과의 비교가 부족했으며, 실시간 서비스 적용을 위한 경량화 모델 설계가 미흡했다는 점을 들 수 있다. 향후 연구에서는 Transformer 기반 모델과의 하이브리드 구조, 멀티‑모달(텍스트 + 이미지) 감성 분석, 그리고 도메인 적응(adaptive) 기법을 탐색할 계획이다.
**
댓글 및 학술 토론
Loading comments...
의견 남기기