model = KeyedVectors.load_word2vec_format('wiki.en.vec')
vocab = model.vocab
embeddings = np.array([model.word_vec(k) for k in vocab.keys()])
with open('fasttext_vocab_en.dat', 'wb') as fw:
pickle.dump(vocab, fw, protocol=pickle.HIGHEST_PROTOCOL)
np.save('fasttext_embedding_en.npy', embeddings)
当您使用预先训练的单词向量时,可以使用gensim libarary。
供你参考。 https://blog.manash.me/how-to-use-pre-trained-word-vectors-from-facebooks-fasttext-a71e6d55f27
编辑
我创建了一个从cnn-text-classification-tf分叉的新分支。这是链接。 https://github.com/satojkovic/cnn-text-classification-tf/tree/use_fasttext
在这个分支中,有三个修改可以使用fasttext。
嵌入层
W由零初始化,然后设置一个嵌入的占位符来接收单词。(text_cnn.py)
使用词汇和单词
vocab用于构建单词id映射,单词_vec被输入到嵌入的_占位符中。
请试一试。
相关问题 更多 >
编程相关推荐