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]#切完的词用空格隔开