簡體   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