Для получения файла VEC, содержащего только все векторы слов, я черпал вдохновение из официального примера bin_to_vec .
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()
print(str(len(words)) + " " + str(f.get_dimension()))
# line by line, you append vectors to VEC file
with open(YOUR-VEC-FILE-PATH,'a') as file_out:
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
Полученный файл VEC может быть большим. Чтобы уменьшить размер файла, вы можете настроить формат векторных компонентов.
Если вы хотите сохранить только 4 десятичных знака, вы можете заменить vstr += " " + str(vi)
на
vstr += " " + "{:.4f}".format(vi)