python中word2vec用法

python中word2vec如何训练Gensim Word2vec 使用一个句子序列作为其输入,每个句子包含一个单词列表。的。它的参数解释如上所述:
class gensim.models.word2vec.Word2Vec(sentences=None, corpus_file=None, size=100, alpha=0.025, window=5, min_count=5, max_vocab_size=None, sample=0.001, seed=1, workers=3, min_alpha=0.0001, sg=0, hs=0, negative=5, ns_exponent=0.75, cbow_mean=1, hashfxn=, iter=5, null_word=0, trim_rule=None, sorted_vocab=1, batch_words=10000, compute_loss=False, callbacks=(), max_final_vocab=None)¶
官方网址

核心代码:

// An highlighted block
start = time.time()
MySentences = MySentence(filename=r'三体全集.txt')
model = Word2Vec(sentences=MySentences,
                 size=200,
                 window=10,
                 min_count=10,
                 workers=multiprocessing.cpu_count())

model.wv.save_word2vec_format(fname=r'model/santi_word2vec_binary1.bin',binary=True)#把词向量保存为二进制形式
model.wv.save_word2vec_format('model/santi_word2vec_binary1.txt', binary=False)#把词向量保存为txt形式,方便后续使用
#保存词向量

上述是训练模型,模型调参:
sg (int {1, 0}) :  表示训练的方法 如果是1则采用skip-gram,否则采用cbow,默认为0
size : 词向量的维度。
min_count:低于设置词频的词会被忽略。
workers: 设置并发
hs (int {1,0}) : 如果是1则采用hierarchical softmax 方式估计. 如果是 0采用.“负采样”(negative sampling)方式训练。
如果训练数据量较大的情况下,采用skip-gram 的效果会更加。
如何使用:

// An highlighted block
    print(model['足球'])
    sim3 = model.most_similar('足球',topn =20)
    print(sim3)

先写这么多,后续再补充~
参考文献:
[1]: https://www.ctolib.com/topics-124644.html
[2]: https://www.jianshu.com/p/5f04e97d1b27

相关文章: