栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

word2vec学习

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

word2vec学习

个人笔记,记录的比较杂

wqx.txt文件,是使用jieba模块分词好的文件

#词向量
from gensim.test.utils import common_texts, get_tmpfile
from gensim.models import word2vec
sentences = word2vec.LineSentence('wqx.txt')
#训练语料
model = word2vec.Word2Vec(sentences, hs=1,min_count=1,window=5,size=100)
print(model)
for key in model.wv.similar_by_word('召开', topn =10):#输入与“贪污”相近的10个词
    print(key)


hs: 即我们的word2vec两个解法的选择了,如果是0, 则是Negative Sampling,是1的话并且负采样个数negative大于0, 则是Hierarchical Softmax。默认是0即Negative Sampling。
size: 词向量的维度,默认值是100。这个维度的取值一般与我们的语料的大小相关,视语料库的大小而定。
window:即词向量上下文最大距离,skip-gram和cbow算法是基于滑动窗口来做预测。默认值为5。在实际使用中,可以根据实际的需求来动态调整这个window的大小。对于一般的语料这个值推荐在[5,10]之间。
min_count::可以对字典做截断. 词频少于min_count次数的单词会被丢弃掉, 默认值为5。
效果

获取相近的100个向量,并保存

from gensim.models import word2vec
sentences = word2vec.LineSentence('wqx.txt')
#训练语料
model = word2vec.Word2Vec(sentences, hs=1,min_count=1,window=5,size=100)
print(model)
model.save("word2vec.model")
model.wv.save_word2vec_format("wqx_01.txt", binary=False)#将所有词的词向量保存
model.save(u"word2vec.bin")  # 保存模型

效果

数组维度
可以从左至右计算数组的方括号数目,一个方括号是一维数组,两个方括号是二维数组,三个方括号是三维数组。
如: [1, 2, 3]是一维数组、[[1, 2, 3], [4, 5, 6]]是二维数组、[[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]] 是三维数组。

日志格式设置,可自行设置

读取判断两个词的相似程度。

中文jieba分词

在b站找到了一个了教程,讲的挺详细的

https://www.bilibili.com/video/BV1rt4y1279n?p=4&share_source=copy_web

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/272969.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号