일차적인 목표
<aside> 💡 W2V을 통해서 임베딩을 하여 픽간의 유사도를 계산하는 시스템에서 OOV 문제가 크게 작용한다. 특히 대부분이 유행어에서 비롯한 내용이 상당히 많은데, 이러한 내용을 나무위키의 DB 덤프 데이터를 이용하여 해결할 수 있을 것이라 판단하여 진행하였다.
</aside>
이차 목표
<aside> 💡 Gensim과 같은 매우 편리한 학습 라이브러리를 사용하여 구현하였는데, 이후에 있을 학습을 위해서 pytorch에 익숙해보자는 생각으로 다른 방법으로도 모델을 구현하는 연습을 해보자!
</aside>
버전: gensim==4.1.2
버전 4부터 모델을 학습하는 방법 및 로드를 하는 방법이 다르기 때문에 버전을 꼭 지켜주어야 한다.
학습 파이프라인
gensim을 사용할 경우 레이어 구성이나 loss에 대한 고려없이 모델 생성이 가능하다
소요 시간: 720시간
성능: 최신 유행 트랜드의 한국어 단어에 효과적으로 반응
OOV체크해 보았을 때, 영어 단어를 제외하고는 거의 모든 단어에 매핑이 되었다.
고려사항
모델을 로드하는데 꽤나 많은 시간이 걸린다.
약 56만 여줄을 학습하였기 때문에 총 모델의 용량이 약, 300MB 정도 되었다.
CPU 바운드이기 때문에 속도를 높이는 방법은 딱히...
좋은 CPU를 사용한다.
버전: GPU를 사용하지 않았기 때문에 민감하진 않다.
모델 파이프라인
소요 시간: GPU가 후달려서 돌리지도 못하였다.
테스트(100줄)로 CPU를 이용하여 실행하였을 때에는 15분 정도 걸린 것 같다.
고려사항
사용방법💡 → 기존의 gensim 사용방법과 다른 부분이 있어 정리한다.
torch로 학습을 시도할 경우 vocab
과 model
두개의 파일이 필요하다. 단어를 리스트 조회를 하듯(gensim의 경우) 임베딩을 할 수 없으며 단어 원핫 인코딩 → 임베딩의 과정을 거쳐야 한다.