word2vec python使用

(1)安装gensim

 

pip install  --upgrade setuptools
pip install gensim

sudo pip install pattern

 

 

 

 

 

 

 

 

(2)使用上次训练好的词向量vectors.bin

 

vectors.bin 的生成参考http://blog.csdn.net/u013378306/article/details/54616829

 

# -*- coding: utf-8 -*-
from gensim.models.word2vec import  Word2Vec
model=Word2Vec.load_word2vec_format("/home/lhy/data/word2vec/w2v/trunk/vectors.bin",binary=True);

#输出词good的向量
print model["good"]

#找出 woman king积极影响,man消极影响的词,按顺序5个
ll=model.most_similar(positive=['woman','king'],negative=['man'],topn=5);
print ll;

#good ,bad的余弦相似度
sim1 = model.similarity(u'good', u'bad')
print sim1
# 两个列表的 余弦相似度
list1 = [u'good', u'bad']
list2 = [u'red',u'good']
list_sim1 =  model.n_similarity(list1, list2)
print list_sim1

#找出其中一个不同于其他类的词
list = [u'good', u'bad', u'her', u'greet']
print model.doesnt_match(list)

 

 

 

 

 

 

 

 

Python使用Word2Vec,可以通过gensim库来实现。首先,需要导入相应的库和模块,如gensim和word2vec。然后,可以调用word2vec模型的不同方法来进行预处理和模型训练。 在代码中,首先需要判断文件是否存在,并进行相关预处理操作,如对文本进行分词。接下来,可以选择是否训练模型,如果已经存在训练好的模型,则可以直接加载。 一旦模型加载完毕,可以使用模型的方法来计算词语之间的相似度或相关程度。例如,可以使用similarity方法来计算两个词的相似度,或使用most_similar方法来获取某个词的相关词列表。 总之,使用Word2VecPython代码示例如下所示: ```python from gensim.models import word2vec import os # 预处理和模型训练 def preprocess_and_train(cut_file, save_model_name): # 进行预处理操作,如分词等 # ... # 判断是否需要训练模型 if not os.path.exists(save_model_name): # 进行模型训练 # ... print('模型训练完成') else: print('此训练模型已经存在,不用再次训练') # 加载已训练好的模型 def load_model(save_model_name): model = word2vec.Word2Vec.load(save_model_name) return model # 计算词语相似度 def calculate_similarity(model, word1, word2): similarity = model.similarity(word1, word2) return similarity # 获取相关词列表 def get_similar_words(model, word, topn): similar_words = model.most_similar(word, topn=topn) return similar_words # 主函数 def main(): cut_file = '倚天屠龙记.txt' save_model_name = '倚天屠龙记.model' preprocess_and_train(cut_file, save_model_name) model = load_model(save_model_name) word1 = "赵敏" word2 = "韦一笑" similarity = calculate_similarity(model, word1, word2) print("赵敏和韦一笑的相似度为:", similarity) word = "张三丰" similar_words = get_similar_words(model, word, topn=10) print("和张三丰最相关的词有:") for item in similar_words: print(item<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [中文word2vecpython实现](https://blog.csdn.net/sinat_29694963/article/details/79177832)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [Word2Vec Python源代码](https://download.csdn.net/download/happymoi/10133811)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

life1024

你的鼓励将是我创作的最大动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值