失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 机器学习算法Python实现:word2vec 求词语相似度

机器学习算法Python实现:word2vec 求词语相似度

时间:2024-01-07 16:58:12

相关推荐

机器学习算法Python实现:word2vec 求词语相似度

#!/usr/bin/env Python3# coding=utf-8import jiebajieba.load_userdict("C:\\Users\\Desktop\\s_proj\\dict.txt") #自定义分词词典#分词并将结果存入txtf1 =open("C:\\Users\\Desktop\\neg.txt","r",encoding='utf-8',errors='ignore')f2 =open("C:\\Users\\Desktop\\car_fenci.txt", 'w',encoding='utf-8',errors='ignore')lines =f1.readlines() # 读取全部内容w=''for line in lines:line.replace('\t', '').replace('\n', '').replace(' ','')seg_list = jieba.cut(line, cut_all=False)f2.write(" ".join(seg_list))f1.close()f2.close()from gensim.models import word2vecimport logginglogging.basicConfig(format='%(asctime)s:%(levelname)s: %(message)s', level=logging.INFO)#训练word2vec模型sentences=word2vec.Text8Corpus(u"C:\\Users\\Desktop\\car_fenci.txt")model =word2vec.Word2Vec(sentences,size=400, window=10, min_count=1) #训练skip-gram模型,默认window=5print (model)#保存模型model.save("model_word")# 以一种C语言可以解析的形式存储词向量 model.wv.save_word2vec_format("model_word.bin", binary=True) if __name__ == "__main__": pass #打开要计算相似度的2个文本f3 =open(r"C:\Users\Desktop\s_proj\keyword.txt","r",encoding='utf-8',errors='ignore')f4=open(r"C:\Users\Desktop\s_proj\c.txt","r",encoding='utf-8',errors='ignore')#要计算的2个文本预处理f=[]ff=[]for i in f3.readlines():i=i.replace('\n','')f.append(i)for j in f4.readlines():j=j.replace('\n','')ff.append(j) #相似度计算for ii in f:for jj in ff:try:y1 = model.wv.similarity(ii, jj) print (ii+' '+jj,y1) except:print (ii+' '+jj,0)

如果觉得《机器学习算法Python实现:word2vec 求词语相似度》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。