繁体   English   中英

加载word2vec模块时,'utf-8'解码错误

[英]'utf-8' decode error when loading a word2vec module

我必须使用包含大量中文字符的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

我试图在python 2.7和3.5中加载模块,以同样的方式失败。 那么如何在gensim中加载模块呢? 谢谢。

该模块是由Java培训的大量汉字。 我无法弄清楚原始语料库的编码格式。 该错误可以通过gensim FAQ中的描述来解决,

使用带有标志的load_word2vec_format来忽略字符解码错误:

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')

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

我试过这面旗帜

unicode_errors='ignore'

但它并没有解决unicode问题。

我检查到我将文件从filename.bin.gz重命名为filename.gz后出现了unicode错误。

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

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

请注意,我使用Mac(Sierra)和python 2.7。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM