1. CNN architecture를 생각하기가 어렵다.. 어떻게 하는게 좋을까...
CNN의 convolution layer + pooling layer를 통해서 주변단어를 같이 보는 효과를 주기 때문에 title과 body input-embedding후 둘을 concat해주고 CNN architecture를 적용하였다.
conv-pool을 3중으로 해주고 dense+output layer를 넣어서 돌렸더니 0.82정도의 acc가 나와서 classification task이기 때문에 0.5이상의 값이므로 이 구조를 기반으로 fine-tuning을 진행하였다.
3/30 현재는 training set 0.91/ validation set 0.889까지 나온 상태 얄루🥰🥰
요즘 팀원들이랑 쿵짝이 잘맞아서 베이스라인 코드를 짜서 acc확인 후 괜찮다싶으면 얼마전 GPU를 구입한 팀원이 fine-tuning과정을 진행해준다. 내 컴퓨터에서는 몇십분씩 걸리는 과정을 gpu팀원꺼로 돌리면 금방 결과가 뚝딱!나온다.
그래서 빠르게 실험이 필요한 과정들은 코드만 넘겨서 결과를 전달받는 식으로도 진행을 하였다✨ 우리팀 너무 좋아🍒
2. cc.ko.300.vec(pre-trained fasttext) 불러오기...오류 해결하기🥲🥲🥲
-> github에 올라온 이슈인데, 'utf-8'로 인코딩이 된 파일인데 파일자체에 중간에 오류가 생겼나봄,,
-> utf-1으로 되지 않은 부분을 'latin1'으로 바꿔서 파일을 새로 쓰고 수정된 .vec파일을 다시 열어서 사용~~
with open('cc.ko.300.vec', 'rb') as f, open('cc.ko.300.fixed.vec', 'w', encoding='utf-8') as fout:
for line in f:
try:
out = line.decode('utf8')
except:
out = line.decode('latin1')
print(out.strip(), file=fout)
ft_model = KeyedVectors.load_word2vec_format('/Users/saeran/Desktop/SJU2022/캡스톤/cc.ko.300.fixed.vec')
https://github.com/facebookresearch/fastText/issues/954
3. fasttext 모듈에서 ..
현재 확인한 건, 내가 바보같은 실수를 했기 때문,,, module의 sub module을 잘 확인했어야하는데 이부분을 놓쳐서 계속 import error가 떴다...ㅎ
이건 또 무슨오류람...
gensim을 4.x.x버전으로 업데이트하면 사용이 가능한 거 같은데, 이전까지 워드임베딩할 때 사용한 gensim version이 3.8.x라서 업데이트 하기가 곤란하다. 업데이트하면 어트리뷰트가 안맞아서 오류가 뜨기 때문 ㅠㅠ
3. pre-trained fasttext-ko에 중국어가??
pre-trained fasttext vector만 가지고 와서 찍어보는데 중국어가....그리고 말도안되는 단어들이....
보니까 두가지 버전이 있는데 하나는 아무렇게 크롤링해와서 결과가 이런식으로 나왔다. 위에 2번에서 사용한 fasttext도 동일한 거임.
정교하지 않은 버전 : https://fasttext.cc/docs/en/crawl-vectors.html
정교한 버전 : https://fasttext.cc/docs/en/pretrained-vectors.html
'Project 🖥 > 2022 캡스톤👩🏻💻' 카테고리의 다른 글
[캡스톤] 4월 3주차 trial and error (0) | 2022.04.16 |
---|---|
[캡스톤] 어텐션 메커니즘 & ELMO & BERT (0) | 2022.04.10 |
[캡스톤] summarization 흐름 파악 (0) | 2022.04.09 |