2017-02-22 13 views
1

異なるデータを使用して自分のword2vecモデルをトレーニングしています。結果のモデルを分類器に実装し、その結果を元の訓練済みのWord2vecモデルと比較するには、モデルをバイナリ拡張子.binに保存する必要があります。ここに私のコードは、は短いメッセージのリストです。gensim Word2vecモデルをバイナリ形式で保存します.bin with save_word2vec_format

import gensim, logging 
logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO) 
sentences = gensim.models.word2vec.LineSentence('dati.txt') 
model = gensim.models.Word2Vec(
sentences, size=300, window=5, min_count=5, workers=5, 
sg=1, hs=1, negative=0 
) 
model.save_word2vec_format('model.bin', binary=True) 

最後の方法、save_word2vec_formatは、私は、このエラーを与える:

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

私はここで何をしないのですか? gensimや他のフォーラムのドキュメントを読んだことがあります。このrepo on githubはほとんど同じ設定を使用しているので、何が間違っているのか理解できません。私はskipgramからcbowに切り替えようとしました。階層的softmaxから結果のない負のサンプリングに切り替えようとしました。

ありがとうございます!

答えて

2

gensimのプレリリース・リリース候補バージョン、またはdevelopブランチから直接コードを使用していますか?

save_word2vec_format()は、KeyedVectorsというユーティリティクラスに移動しました。

gensimをインストールする通常の方法でこれらのバージョンを入手することはまだありません(pip install gensim)。この変更が公式の配布になるまでには、古いコールが改善されます。

普通のpip install gensimのバージョンを使用することをお奨めします。あなたが比較的熟練したユーザーで、プロジェクトCHANGELOG.mdに慎重に従っている場合を除きます。

+1

クリスタルクリアな返信ありがとうございます。私はモデルに添付されているものの中でsave_word2vec_formatというメソッドを見ていないので、gensimバージョンの問題かもしれないと思った。私は、Webサイトのドキュメントを読んで、gensimをeasy_install -U gensimにインストールしました。私はgensimをunistalledとプレーンピップのインストールを使用して今はスムーズに動作します。どうもありがとうございました! – carloab

+0

FYI私は1.0.0が公式なので、 'pip install gensim'でもAPIを変更したバージョンが得られると思うが、(KeyedVectorsを使用している人を指すように)エラーメッセージが改善されたとも思う。 – gojomo

関連する問題