基于gensim训练word2vec词向量模型

基于gensim训练word2vec词向量模型,第1张

基于gensim训练word2vec词向量模型

目录
  • 1.安装gensim
  • 2.数据预处理
    • 2.1jieba分词
    • 2.2分词后生成列表
  • 3.构建word2vec模型
  • 4.模型训练
  • 5.模型保持与加载
  • 6.模型使用

  gensim是自然语言处理的强大的工具包。

1.安装gensim

  使用pip安装gensim,如果安装缓慢,建议换个安装源。

pip install gensim
2.数据预处理 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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5521698.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-13
下一篇 2022-12-13

发表评论

登录后才能评论

评论列表(0条)

保存