- 1.安装gensim
- 2.数据预处理
- 2.1jieba分词
- 2.2分词后生成列表
- 3.构建word2vec模型
- 4.模型训练
- 5.模型保持与加载
- 6.模型使用
gensim是自然语言处理的强大的工具包。 1.安装gensim
使用pip安装gensim,如果安装缓慢,建议换个安装源。
pip install gensim2.数据预处理 2.1jieba分词
利用pandas库读取数据,apply方法批量处理。
def preprocessData(path='D:/Py/Data/comment5_1.txt', sep=' ', names=['sightName','emotion','comment']): df_all_data = pd.read_csv(path, sep=sep, names=names, escapechar='\') tqdm.pandas(desc='分词进度', ncols=100) df_all_data['cut_res'] = df_all_data.clean_comment.apply(jieba.cut).progress_apply(list) return df_all_data2.2分词后生成列表
sentences = preData.cut_sws.tolist()3.构建word2vec模型
from gensim.models import word2vec import logging def createWord2Vec(sentences, vector_size=100): ##训练word2vec模型 # 获取日志信息 logging.basicConfig(format='%(asctime)s:%(levelname)s:%(message)s', level=logging.INFO) # 训练模型,部分参数如下 model = word2vec.Word2Vec(sentences, vector_size=vector_size, hs=1, min_count=1, window=3) # 保留模型,方便重用 localtime = time.strftime("%Y%m%d%H%M%S", time.localtime()) model.save(u'D:/MyFiles/jupyterNoteBook/DC/modelWord2vec/zh'+localtime+'.model') return model4.模型训练
训练完成模型保持到最后一行的路径下。
model = createWord2Vec(sentences)5.模型保持与加载
model模型
model.save(u'D:/Data/zh'+localtime+'.model') # 对应的加载方式 from gensim.models import word2vec model = word2vec.Word2Vec.load('D:zh20210917142414.model')
bin模型
model.save_word2vec_format("model.bin", binary=True) # 对应的加载方式 from gensim.models import KeyedVectors model = word2vec.Word2Vec.load_word2vec_format("model.bin",binary=True)6.模型使用
model模型
# 查看词向量 print(model.wv['景区']) # 查找相似词语 result = model.wv.most_similar(u"景区") for res in result: print(res) # 查看两个词的相似度 res = model.wv.similarity("瀑布", "坐船") print(res)
bin模型
# 查看词向量 print(model['景区']) # 转换成词典 model.dict_to_index
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)