본문 바로가기

Project 🖥/2022 캡스톤👩🏻‍💻

[캡스톤] 3월 4주차 trial and error

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

 

 

cc.ko.300.vec file seems to broken · Issue #954 · facebookresearch/fastText

I tried to use the Korean model you provided(cc.ko.300.vec). However, I met UnicodeDecodeError soon. So, I checked file encoding to verify encoding is utf-8(and it says utf-8). But, I tried to conv...

github.com

 

 

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

 

fastText

Library for efficient text classification and representation learning

fasttext.cc