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分词
https://www.bilibili.com/video/BV1rt4y1279n?p=4&share_source=copy_web



