Gensim中word2vec的三种保存模型的方式

### 1 保存一般模型
model.save('训练w2v模型相关/zhihu_w2v.model')
model_1 = word2vec.Word2Vec.load('训练w2v模型相关/zhihu_w2v.model')
print("模型1:", model_1)

## 第二种方法 以保存词向量的方式保存模型 二进制
model.wv.save_word2vec_format('训练w2v模型相关/zhihu_binary.bin', binary=True)
# 通过加载词向量加载模型模型
model = gensim.models.KeyedVectors.load_word2vec_format('训练w2v模型相关/zhihu_binary.bin', binary=True)
print("\n模型2:", model)
print("两个词的相似度为:", model.similarity("热火", "湖人"))
print("两个词的相似度为:", model.similarity("热火", "北京"))

# 计算某个词的相关词列表
top_n = model.wv.most_similar("湖人", topn=3)  # 最相关的几个词
print("湖人top_n格式:", top_n)

name_list = ["热火", "湖人", "凯尔特人", "北京"]
print("当中最不相关的词:", model_2.doesnt_match(name_list))

# 第三种方式 保存词向量 与第二种方法相同 只是非二进制文件
model.wv.save_word2vec_format('33.txt', binary=False)

# 加载模型
#model_3 = gensim.models.KeyedVectors.load_word2vec_format('33.txt', binary=False)
#print("\n模型3:", model_3)
print("两个词的相似度为:", model_3.similarity("热火", "湖人"))
print("两个词的相似度为:", model_3.similarity("热火", "北京"))
#
# 计算某个词的相关词列表
top_n = model_3.wv.most_similar("科比", topn=3)  # 最相关的几个词
print("top_n格式:", top_n)

name_list = ["热火", "湖人", "凯尔特人", "北京"]
print("当中最不相关的词:", model_3.doesnt_match(name_list))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,需要安装gensim库。可以使用pip命令进行安装: ``` pip install gensim ``` 然后,我们需要准备一个语料库(corpus)作为训练数据。语料库可以是一个文本文件,每一行是一个句子,或者是一个已经分好词的列表。 下面是一个使用gensim实现word2vec的示例代码: ```python from gensim.models import Word2Vec # 读取语料库 sentences = [] with open('corpus.txt', 'r', encoding='utf-8') as f: for line in f: words = line.strip().split() sentences.append(words) # 定义模型 model = Word2Vec(sentences, size=100, window=5, min_count=5, workers=4, sg=0) # 保存模型 model.save('word2vec.model') # 加载模型 model = Word2Vec.load('word2vec.model') # 使用模型计算相似度 similarity = model.wv.similarity('word1', 'word2') print('Similarity between word1 and word2:', similarity) # 找出与指定词语最相似的词语 most_similar = model.wv.most_similar('word') print('Most similar words:', most_similar) ``` 在这段代码,我们首先读取语料库,然后使用Word2Vec类定义模型。其,size表示词向量的维度,window表示词向量上下文的窗口大小,min_count表示出现次数小于min_count的词语将被忽略,workers表示训练时使用的线程数,sg表示使用的模型类型,sg=0表示使用CBOW模型,sg=1表示使用Skip-gram模型。 然后,我们可以使用save方法保存模型,使用load方法加载模型。最后,使用wv.similarity方法计算两个词语之间的相似度,使用wv.most_similar方法找出与指定词语最相似的词语。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值