<aside> 💡 감정 분류에서 KoBERT는 약 90% 이상의 추론율을 보였다. 한국어에 대한 분석이 탁월한 모델이라고 판단하여 pikurate의 링크 데이터의 자동 카테고리 분류를 위한 모델을 테스트 해 보았다.
</aside>
Pikurate이 현재 가지고 있는 link data를 이용해서 먼저 각 링크별 라벨링을 해야한다. 라벨은 지난 keyword2link를 위해서 모아두었던 키워드를 바탕으로 키워드가 들어가 있다면 라벨을 붙이는 방향으로 간단하게 라벨 작업을 하였다.
아래와 같이 Linear과 Sofmax를 붙여서 fine tuning을 진행한다.
아래처럼 트레이닝 결과가 썩 좋지 않다.
Epoch에 따라서 정확도가 올라가지 않는다.
아래의 사진은 batch에 따른 accuracy 그래프이다.
원본 데이터와 예측 결과의 데이터 분포를 보면 다음과 같다.
원본 데이터
예측 후의 데이터
라벨링 중 가장 많은 데이터를 차지하는 비율을 살펴보면 아래와 같다.
17%라는 가장 많은 비율을 가지고 잇는 10에 맞추어서 모델이 학습한 것을 알 수 있다.
→ 정보의 불균형으로 학습이 제대로 이루어지지 않은 것을 볼 수 있다.
가장 많은 비율을 차지하는 분포를 살펴보면 10, 2, 9임을 알 수 있다.
위의 결과를 통해서 2가지의 가설을 설정해 보았다.
위의 경우를 예시로 들면 데이터의 불균형이 특정 레이블에 편중되있다 보니, 모델이 학습에 있어 가장 쉬운 방향으로(일렬로 찍기) 진행이 되는 것으로 판단할 수 있다. 위의 문제를 해결하기 위해서 상위 3개의 레이블에 대해서 다시 학습을 진행하기로 하였다.