10

AttributeErrorword2vec リポジトリで利用可能な gensim モデルを読み込んでいます。

from gensim import models
w = models.Word2Vec()
w.load_word2vec_format('GoogleNews-vectors-negative300.bin', binary=True)
print w["queen"]

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-3-8219e36ba1f6> in <module>()
----> 1 w["queen"]

C:\Anaconda64\lib\site-packages\gensim\models\word2vec.pyc in __getitem__(self, word)
    761 
    762         """
--> 763         return self.syn0[self.vocab[word].index]
    764 
    765 

AttributeError: 'Word2Vec' object has no attribute 'syn0'

これは既知の問題ですか?

4

3 に答える 3

5

異なるトレーニング アルゴリズム (Word2Vec、Fastext、WordRank、VarEmbed) 間で単語ベクトル クエリ コードを共有するために、作成者は単語ベクトルの格納とクエリを別のクラス KeyedVectors に分離しました。

word2vec クラスの 2 つのメソッドといくつかの属性が廃止されました。

メソッド

  • load_word2vec_format
  • save_word2vec_format

属性

  • syn0norm
  • syn0
  • 語彙
  • index2word

これらは KeyedVectors クラスに移動されました。

このリリースにアップグレードした後、非推奨のメソッドまたは欠落している属性に関する例外が発生する場合があります。

例外を削除するには、使用する必要があります

KeyedVectors.load_word2vec_format (instead ofWord2Vec.load_word2vec_format)
word2vec_model.wv.save_word2vec_format (instead of  word2vec_model.save_word2vec_format)
model.wv.syn0norm instead of  (model.syn0norm)
model.wv.syn0 instead of  (model.syn0)
model.wv.vocab instead of (model.vocab)
model.wv.index2word instead of (model.index2word)
于 2017-11-09T07:27:31.660 に答える