NLP生成word2vec预训练模型步骤及UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte xxxx in position x的bug解决

1.分词(网上说无需去停用词,直接分词就可以,我试了一下效果还行,就没有去停用词),将分词后的文本用utf-8编码存储到.txt文件中。
2.生成并保存模型,参考资料:https://blog.csdn.net/qq_35273499/article/details/79098689。但是这份资料里有一个问题,就是关于编码的问题。在加载分词后的文本时,对于中文,一定一定要用utf-8编码!即sentences = word2vec.Text8Corpus(u’mytrain_fenci_withsp.txt’),这里的u表示unicode编码,其包含三种编码,分别为utf-8,utf-16以及utf-32。若用原文中写的“r”进行编码,那么就会出现UnicodeDecodeError: ‘utf-8’ codec can’t decode byte xxxx in position x: invalid start byte的bug。
3.加载已保存的模型。保存模型参考资料:https://blog.csdn.net/HUSTHY/article/details/103164934#%E6%A8%A1%E5%9E%8B%E4%BF%9D%E5%AD%98%E5%92%8C%E5%8A%A0%E8%BD%BD,这里注意保存和加载.bin模型的时候binary参数都要选择True,原文没有加,需要加上。
4.简单使用模型,参考资料:https://blog.csdn.net/python3_i_know/article/details/86626696

保存模型
方式一
model.save(‘mylaw.model’)
方式二
model.wv.save_word2vec_format(‘文件名.vector’)
model.wv.save_word2vec_format(‘文件名.bin’, binary=True)

加载模型
model = gensim.models.KeyedVectors.load_word2vec_format(‘文件名.bin’, binary=True)

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值