- 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_data
2.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 model
4.模型训练
训练完成模型保持到最后一行的路径下。
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



