gensim中word2vec和其他一些向量的使用
2024-10-21 13:12:32
直接上代码吧,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来加载,那么一定要注意第一行的问题。
最新文章
- Dean-Edward的事件系统实现
- 微信APP支付服务端开发Java版(一)
- 阿里巴巴-OS事业群-OS手机事业部-系统服务部门招聘Java开发工程师,有意者请进来
- sublime编写markdown文件中Ctrl+B的作用
- mysql主从切换摘要
- 【spring 7】spring和Hibernate的整合:声明式事务
- android Thread和Runable区别,精讲(有疑问)
- Java [leetcode 16] 3Sum Closest
- 计数方法,博弈论(扫描线,树形SG):HDU 5299 Circles Game
- BootStrap——模态框
- 查询矩形范围内的";点";要素
- 开发一个Swing功能时的一点总结
- [BZOJ]2594 水管局长数据加强版(Wc2006)
- Spark UI界面原理
- 自然语言推断(NLI)、文本相似度相关开源项目推荐(Pytorch 实现)
- c# 关于取小数点后值四舍五入精度问题
- 消除flex-wrap之后每个item上下的距离
- 深入浅出etcd系列 – 心跳和选举
- html可用于跨域的三个标签
- Transient修饰符的使用
热门文章
- Android 调试桥介绍 (adb)
- [LeetCode] 111. Minimum Depth of Binary Tree 二叉树的最小深度
- 【SSH进阶之路】Spring的IOC逐层深入——源码解析之IoC的根本BeanFactory(五)
- Qt deletelater函数分析(2)
- Windows连接已有界面的Ubuntu Linux
- [转帖]reptyr, 将正在运行的程序转换为新终端
- 【转帖】AMD Zen之父、Intel副总Jim Keller到底有多牛?
- Python的运算符和编码
- SQL——AS别名
- python基础 — Mysql Server