使用 gensim 训练词向量

第一种情况 直接将文件传入

文件内容应该是有空格或 其他风格符 分割好的

import gensim

sentences = gensim.models.word2vec.Text8Corpus("corpus_cut.txt")  
print("sentences格式:", sentences)

# 训练 skip-gram 模型
model = gensim.models.Word2Vec(sentences, size=5, min_count=2, window=3, 
                               iter=15)

model.wv.save_word2vec_format('vector.txt', binary=False)

注意其中的两个 wordvec 的大小写

保存的文本内容:

16 5
新浪 -0.06905467 -0.023766568 0.07842334 0.006353028 0.0049496214
湖人 0.048101567 -0.014213783 0.047882263 -0.076561205 -0.08102651
NBA -0.093392216 0.018996047 0.06596676 -0.085236624 -0.028979963
...

 

第二种情况 直接传入分割好的列表

model2 = gensim.models.Word2Vec([["我","爱","中国"], 
                        ["我", "爱","共产党"], 
                        ["我","爱","祖国"]], 
                       size=5, min_count=1, window=3, iter=15)

model2.wv.save_word2vec_format("vector2.txt", binary=False)

内容:

5 5
我 0.017137242 -0.09880305 -0.09792759 0.033876248 -0.08942874
爱 -0.05069774 -0.091354795 -0.06785396 0.009330186 -0.06874075
中国 -0.0059655565 -0.0077055786 0.08764696 -0.0022335218 0.021677464
共产党 -0.07774594 -0.07243683 0.04755306 -0.056220874 -0.03266464
祖国 0.016343607 0.054410834 0.012110993 -0.051844314 -0.058297116

 

3 加载保存的模型为新模型 并进行相应的运算

model3 = gensim.models.KeyedVectors.load_word2vec_format("vector2.txt", 
                                                         binary=False)
print(model3.similarity("我", "爱"))

print(model3.get_vector("中国"))

结果:

0.8789337
[-0.00596556 -0.00770558  0.08764696 -0.00223352  0.02167746]

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值