Day4(2.17, 목)

TO-DO

  • Spell Check

  • Pre-processing

  • Ensemble

Today's Work

1. Spell Check

육안으로 체크했을때 비교적 맞춤법이 잘 맞는다고 생각했지만, hanspell 모듈을 통해 맞춤법 체크를 한 결과 Test파일의 premise와 hypothesis만 두고 보더라도 995/1665 로 약 60% 문장이 수정이 필요한것으로 확인할 수 있었다.

위 라이브러리를 활용해서 학습데이터와 테스트 데이터를 Pre-processing 하는 작업을 진행

2. Pre-processing

두 문장을 비교하는데 불필요한 기호를 제거하고, 잘못된 글자를 포함하진않았는지 체크하기위해 데이터 검증을 진행하였다.

regex = '[^가-힣0-9a-zA-Z, ?·~%]'

그 결과 위 정규표현식만을 남겨도 관계파악에 문제가 되지 않을것이라고 판단하고 pre-processing 과정을 진행하였다.

2번을 진행하고, 1번을 진행하여 새로운 Train, Test 데이터셋을 구축하여 사용하기로 하였다.

그 결과, seed를 처음 고정하지않아 0.836을 넘지는 못했지만....

오늘 진행했던, 20epoch 짜리 결과 0.81 보다 높은 0.834를 얻을 수 있었다. 이번주는 아이디어를 수집하고 돌려보는식으로 하고, 정리된 내용을 바탕으로 다음주 제출기회를 사용해야 할것 같다.

또한, 유의미하다고 판단한 근거로 기존 0.836의 결과를 낸 모델의 test데이터셋만 맞춤법 교정을 한 결과 0.001점이라는 근소한 차이로 향상이 있음을 확인할수 있었다.

3. Ensemble

지난 KLUE/RE와 MRC대회를 진행하면서 Classification 대회는 마지막은 앙상블이다라는 생각이 들었다. 일단 차주에 진행할 테스트와 앙상블을 미리 해보는 개념으로 성능이 좋았던 5개 결과로 앙상블을 진행해보았다. 그 결과... 0.859.... 역시 앙상블... 나중에 정리된 모델과 결측치로 10~20개의 추론결과를 모아 앙상블을 진행해야겠다...

회고

우선 아직 적정 epoch에 대해 판단하지 못했다.. 20epoch으로 시도한 결과값이 기존 10epoch 보단 떨어졌지만, 기존 seed값 고정 이슈와 train, validation을 나누는 과정에서 차이가 발생하기 때문이다... 일단, 이번주는 추가적인 실험과 세팅을 진행하는 시간으로 생각하고 시도를 하기로 하자.

  • Confusion Matrix를 활용해 어떤걸 못맞추고 있는지 체크해보면 좋을 것 같다.

  • 최종으로 진행할때는 Train, Valid를 나누지 말고 모든 데이터를 사용해서 학습할 것.

  • EDA를 통한 시각화 진행. - 각 Label 분포, 문장의 길이, 중복으로 사용되는 premise데이터 등에 대해 보고서 형식으로 만들기

Last updated