import fasttext
model = fasttext.train_supervised('cooking.stackexchange.txt', wordNgrams=2, epoch=25, lr=0.5)
mode.save_model('model_kor.bin')
첫번째 인자로는 파일주소를 넣어줘야한다.
학습하는 파일은 스트링으로 되어 있으며, 구분자는 \n과 띄어쓰기로 되는것으로 추정
./fasttext skipgram -input kor -output kor_model -dim 100 -ws 3 -minCount 100
이것도 된다고는 하는데 난 안됐음... 그래thㅓ 조금 슬펐ㄷr,,,
😿 😿 😿
계속 파일을 training하는데 사용할 수 없다는 에러 발생으로 인해 실패
from fastText import load_model
# original BIN model loading
f = load_model(YOUR-BIN-MODEL-PATH)
lines=[]
# get all words from model
words = f.get_words()
with open(YOUR-VEC-FILE-PATH,'w') as file_out:
# the first line must contain number of total words and vector dimension
file_out.write(str(len(words)) + " " + str(f.get_dimension()) + "\n")
# line by line, you append vectors to VEC file
for w in words:
v = f.get_word_vector(w)
vstr = ""
for vi in v:
vstr += " " + str(vi)
try:
file_out.write(w + vstr+'\n')
except:
pass
첫번째 줄에는 임베딩의 크기를 나타내는 값이 들어가고 두번째 줄부터 벡터값이 단어와 함께 들어가게 된다.
리스트 형태로 들어있는 vector값들을 띄어쓰기가 구분자로 들어가는 문자열로 바꿔서 저장해준다.