43

Gensim でドキュメントのコーパスを使用して word2vec モデルをトレーニングしました。モデルがトレーニングされたら、次のコードを書いて、「ビュー」という単語の生の特徴ベクトルを取得します。

myModel["view"]

ただし、おそらく word2vec によってインデックス付けされたキーのリストにキーとして存在しないため、単語の KeyError が発生します。生の特徴ベクトルを取得しようとする前に、キーがインデックスに存在するかどうかを確認するにはどうすればよいですか?

4

6 に答える 6

43

Word2Vec は、直接アクセスできる 'vocab' メンバーも提供します。

Pythonistic アプローチの使用:

if word in w2v_model.vocab:
    # Do something

EDIT gensim リリース 2.0 以降、Word2Vec の API が変更されました。語彙にアクセスするには、これを使用する必要があります。

if word in w2v_model.wv.vocab:
    # Do something

EDIT 2属性「wv」は非推奨であり、gensim 4.0.0で完全に削除されます。これで、OP による元の回答に戻ります。

if word in w2v_model.vocab:
    # Do something
于 2015-06-29T10:02:48.020 に答える
1

ここで自分の質問に答えます。

Word2Vec は、対応する単語がインデックス化されているかどうかに基づいて True または False を返す、 contains ('view')という名前のメソッドを提供します。

于 2015-05-18T11:33:11.517 に答える