gensimパッケージを使用してword2vecモデルを習得し、Word2vecで保存されたモデルはUTF-8でエンコードされていませんが、Word2vecモデルに入力された文章はUTF-8でエンコードされています
これらのログメッセージ情報があります。モデルは訓練されて保存されていました。その後
INFO : not storing attribute syn0norm
INFO : not storing attribute cum_table
、私は次のエラーを得、これを使用してモデルをロードするために
from gensim.models import Word2Vec
model = Word2Vec.load("300features_1minwords_10context")
を試してみました。
2017-06-22 21:27:14,975 : INFO : loading Word2Vec object from 300features_1minwords_10context
2017-06-22 21:27:15,496 : INFO : loading wv recursively from 300features_1minwords_10context.wv.* with mmap=None
2017-06-22 21:27:15,497 : INFO : setting ignored attribute syn0norm to None
2017-06-22 21:27:15,498 : INFO : setting ignored attribute cum_table to None
2017-06-22 21:27:15,499 : INFO : loaded 300features_1minwords_10context
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-25-9d90db0f07c0> in <module>()
1 from gensim.models import Word2Vec
2 model = Word2Vec.load("300features_1minwords_10context")
----> 3 model.syn0.shape
AttributeError: 'Word2Vec' object has no attribute 'syn0'
また、ファイル "300features_1minwords_10context" で、
"300features_1minwords_10context" is not UTF-8 encoded
Saving disabled.
Open console for more details
は、上記の属性のエラーを修正するにことを示して、私はまた、Googleのフォーラムから次のことを試してみました
import gensim
model = gensim.models.KeyedVectors.load_word2vec_format("300features_1minwords_10context")
model.syn0.shape
別のエラーが発生しました。
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte
モデルはUTF-8エンコードされた文章で訓練されています。なぜ私はこのエラーを投げているのか分かりません。
詳細情報:ここでは
df = pd.read_csv('UNSPSCdataset.csv',encoding='mac_roman',low_memory=False)
features = ['MaterialDescription']
temp_features = df[features]
temp_features.to_csv('materialDescription', encoding='UTF-8')
X = pd.read_csv('materialDescription',encoding='UTF-8')
は、私はパンダのデータフレームを使用してアクセスするために、「mac_roman」エンコーディングを使用する必要がありました。データフレーム内のテキストはモデルのトレーニング中にUTF-8でなければならないため、UTF-8でエンコードして別のCSVファイルに保存しました。その特定の列にアクセスしました。
すべてのヘルプは
こんにちは@gojomo、私は最新のgensimを使用しています。はい、ロード時に「属性がありません」というエラーが発生しています 質問にエラースタックが付いています。 syn0のようなものは生成されません。モデルで保存されたファイルでさえ、何もありません。 Unicodeの問題のために、モデルはまったく保存されないと思います。 文章を印刷すると、このようなユニコードのシンボルは表示されませんでした。u'Airtel ' –
上記の更新インラインを参照してください。実際のエラーは 'load()'ではなく、次の行の 'model.syn0'にアクセスしようとしています。' syn0'にアクセスしようとしています。最近のgensimのバージョンでは ' model.wv.syn0'。 – gojomo
こんにちは、私はこれを試してください。 https://stackoverflow.com/questions/44740161/how-to-preserve-number-of-records-in-word2vec –