0

Gensim で FastText モデルをトレーニングしました。それを使って文章をエンコードしたい。具体的には、ネイティブの FastText からこの機能を使用したいと考えています。

./fasttext print-word-vectors model.bin < queries.txt

ネイティブの FastText が理解できる正しいバイナリ形式になるように、モデルを Gensim に保存するにはどうすればよいですか?

Python 3.4.3 で FastText 0.1.0 と Gensim 3.4.0 を使用しています。

本質的に、Gensim FastText docに示されているように、 load_binary_data() の逆が必要です。

4

1 に答える 1

0

fasttext-python ( pybindを使用して内部の fasttext API を直接呼び出す)で見られるような内部構造とコードへの依存を意味するため、おそらく gensim でそのような機能を見つけることはありません。このように外部ライブラリに大きく依存することは、gensim の作成者が避けたいことであり、おそらくfasttext ラッパーを呼び出す機能を非推奨にしたのはそのためです。現在、gensim は独自の内部実装を通じて fasttext アルゴリズムを提供しようとしています。fasttext には python バインディングを使用することをお勧めします。

$ git clone https://github.com/facebookresearch/fastText.git
$ cd fastText
$ pip install .

次に、fasttext モデルを使用して Python アプリケーションでトレーニング セットを実行します。

from fastText import train_unsupervised
model = train_unsupervised(input="pathtotextfile", model='skipgram')
model.save_model('model.bin')

これにより、モデルが fastText コマンド ライン形式で保存されます。これで、次のコマンドを実行できるようになります。

$ ./fasttext print-word-vectors model.bin < queries.txt
于 2018-05-05T15:43:05.263 に答える