直接上代码吧,word2vec

# test
from gensim.models.word2vec import Word2Vec
txt_file = open('data.txt')
sentences = []
line = txt_file.readline()
while line:
sentence = line.split(' ')
sentences.append(sentence)
line = txt_file.readline()
model = Word2Vec(sentences, size=100, window=5, min_count=5, workers=1)
model.save('model_word2vec.model')
model_use = Word2Vec.load('model_word2vec.model')
xx = model_use.wv.vocab
# print(model_use.wv.vocab)
print('hel')
print(model_use.most_similar('nice'))
print(model_use.wv.similarity('nice', 'great'))

  

各种参数详解:

https://www.cnblogs.com/pinard/p/7278324.html

模型的一些其他使用:

https://blog.csdn.net/qq_19707521/article/details/79169826

自己在使用中:

from gensim.models import Word2Vec
from gensim.models import KeyedVectors
if file_to_load is not None:
# 这种方法加载是加载.model文件,好处是可以再次训练
# w2vModel = Word2Vec.load(file_to_load)
# 这种方法是加载.txt文件,好处是model.txt文件里面可以可视化地看每一个单词对应的向量
w2vModel = KeyedVectors.load_word2vec_format(file_to_load)
print(w2vModel.most_similar("开心"))
else:
w2vModel = Word2Vec(sentences, size = embedding_size, window = window, min_count = min_count, workers = multiprocessing.cpu_count())
if file_to_save is not None:
# 这种方法就是保存的.model文件
# w2vModel.save(file_to_save)
# 这种方法就是保存的.txt文件,注意指定文件名是xxxxx.txt
w2vModel.wv.save_word2vec_format(file_to_save, binary=False)

  

需要注意的一点就是.txt文件可以看到在第一行是这样的

25019 100

第一个表明word2vec里面的单词数,第二个100表示维度。

如果加载其他的方法训练出来的.txt文件,或者说自己瞎捣鼓出来的词向量.txt文件,想用gensim来加载,那么一定要注意第一行的问题。

最新文章

  1. Dean-Edward的事件系统实现
  2. 微信APP支付服务端开发Java版(一)
  3. 阿里巴巴-OS事业群-OS手机事业部-系统服务部门招聘Java开发工程师,有意者请进来
  4. sublime编写markdown文件中Ctrl+B的作用
  5. mysql主从切换摘要
  6. 【spring 7】spring和Hibernate的整合:声明式事务
  7. android Thread和Runable区别,精讲(有疑问)
  8. Java [leetcode 16] 3Sum Closest
  9. 计数方法,博弈论(扫描线,树形SG):HDU 5299 Circles Game
  10. BootStrap——模态框
  11. 查询矩形范围内的"点"要素
  12. 开发一个Swing功能时的一点总结
  13. [BZOJ]2594 水管局长数据加强版(Wc2006)
  14. Spark UI界面原理
  15. 自然语言推断(NLI)、文本相似度相关开源项目推荐(Pytorch 实现)
  16. c# 关于取小数点后值四舍五入精度问题
  17. 消除flex-wrap之后每个item上下的距离
  18. 深入浅出etcd系列 – 心跳和选举
  19. html可用于跨域的三个标签
  20. Transient修饰符的使用

热门文章

  1. Android 调试桥介绍 (adb)
  2. [LeetCode] 111. Minimum Depth of Binary Tree 二叉树的最小深度
  3. 【SSH进阶之路】Spring的IOC逐层深入——源码解析之IoC的根本BeanFactory(五)
  4. Qt deletelater函数分析(2)
  5. Windows连接已有界面的Ubuntu Linux
  6. [转帖]reptyr, 将正在运行的程序转换为新终端
  7. 【转帖】AMD Zen之父、Intel副总Jim Keller到底有多牛?
  8. Python的运算符和编码
  9. SQL——AS别名
  10. python基础 — Mysql Server