python word2vector计算相似度_Word2Vec 计算词语之间的余弦相似度

本文介绍了如何在Python中使用Word2Vec计算词语的余弦相似度。通过jieba分词、停用词过滤,利用gensim库训练Word2Vec模型,并展示如何找到热词的相似词。
摘要由CSDN通过智能技术生成

python中常用的分析文档、计算词语相似度的包 —— Word2Vec函数;该函数在gensim.models.Word2Vec包内。

分析文本和计算相似度有几个步骤:

导入需要用到的库:

#导入第三包

importjiebaimportpandas as pdimportgensimfrom collections importCounterimportcsvimporttimefrom tqdm importtqdmfrom progressbar importProgressBar, Percentage, Bar, Timer, ETA, FileTransferSpeedimport os

定义文件位置,包括数据集位置和自定义的词库位置:

first_dir = r'D:\Python_workspace\spyder_space\test数据集' #里面存放着一个或者多个相同结构的excel表格数据

file_list=os.listdir(first_dir)print(file_list)

path_dir= r'D:\Python_workspace\spyder_space\' #存放着关键词文件、停用词文件

导入关键词库,是为了保证某些词不被切开,用于得到自己需要的词:

#读入自定义词

with open(path_dir+r'\自定义关键词.txt', encoding='UTF-8') as words: #分词中想保留的关键词,要不然有可能会被切分开

my_words = [i.strip() for i in words.readlines()]

将关键词加入分词器:

#将自定义词加入到jieba分词器中

for word inmy_words:

jieba.add_word(word)

导入停用词(用于去掉无意义或者不需要的词):

#读入停止词

with open(path_dir+r'\自定义停用词.txt', encoding='UTF-8') as words:

stop_words= [i.strip() for i in words.readlines()]

定义分词函数:

#基于切词函数,构造自定义函数

defcut_word(sentence):

words= [i for i in jieba.cut(sentence) if i not in stop_words and len(i)>1]#切完的词用空格隔开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值