“utf-8”加载word2vec modu时解码错误

2024-05-14 14:56:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我必须使用一个包含大量汉字的word2vec模块。该模块由我的同事使用Java进行培训,并保存为bin文件。

我安装了gensim并尝试加载模块,但出现以下错误:

In [1]: import gensim  

In [2]: model = gensim.models.Word2Vec.load_word2vec_format('/data5/momo-projects/user_interest_classification/code/word2vec/vectors_groups_1105.bin', binary=True)

UnicodeDecodeError: 'utf-8' codec can't decode bytes in position 96-97: unexpected end of data

我试图在Python2.7和3.5中同时加载模块,但同样失败。那么如何在gensim中加载模块呢?谢谢。


Tags: 模块文件inimportformatmodelbinmodels
2条回答

我试过国旗

unicode_errors='ignore'

但它并不能解决unicode问题。

在将文件从filename.bin.gz重命名为filename.gz之后,我检查了是否收到unicode错误。

我的解决方案是提取压缩文件,而不是重命名它。

然后我使用上面带有标志的文件,没有unicode错误。

注意,我在python 2.7中使用Mac(Sierra)。

这个模块是由Java训练的大量汉字。我搞不清原始语料库的编码格式。这个错误可以用gensimFAQ中的描述来解决

使用带有忽略字符解码错误标志的加载字2vec格式:

In [1]: import gensim

In [2]: model = gensim.models.Word2Vec.load_word2vec_format('/data5/momo-projects/user_interest_classification/code/word2vec/vectors_groups_1105.bin', binary=True, unicode_errors='ignore')

但我不知道忽略编码错误是否重要。

相关问题 更多 >

    热门问题