用gensim导入word2vec词向量bin文件,出现字符编码

本文记录了在使用gensim加载非UTF-8编码的词向量模型时遇到的UnicodeDecodeError问题,并通过对比正确模型找到解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先抛出我遇到的问题。

我训练了一个词向量文件,得到了一个二进制文件,model.bin,然后准备调用gensim来测试bin文件里面的词向量效果怎么样,于是就导入这个模型。


import gensim

# 导入模型
model = gensim.models.KeyedVectors.load_word2vec_format('t8model.bin',binary=True)

print (model['word'])

然后出现以下编码问题


UnicodeDecodeError: 'utf-8' codec can't decode byte 0xba in position 0: invalid start byte


查了一下,这是Stack Overflow上的答案


The strings (words) stored in your model are not valid utf8. By default, gensim decodes the words using the strict encoding settings, which results in the above exception whenever an invalid utf8 sequence is encountered.


然后知道我测试的词在模型中不是utf-8形式的,于是我找了一个以前测试正确的模型,来重新测试,然后就没有出现编码问题。

这就确定了我的问题的原因是由于模型中的词不是utf-8形式的。

现在就去找导致这种结果的原因......



评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值