次のバージョンでこれははるかに簡単です。これは今週中に行われるはずです---私はちょうどテストを終えています。現時点では:
デフォルトでは、spaCyはdata/vocab/vec.binファイルをロードします。「data」ディレクトリはspacy.enモジュールディレクトリ内にあります spacy.vocabを使用してbz2ファイルからvec.binファイルを作成します。 .write_binary_vectors spaCyのvec.binファイルを置き換えるか、実行時にnlp.vocab.load_rep_vectorsをバイナリファイルへのパスで呼び出します。 上記は最初は少し不便でしたが、バイナリファイル形式ははるかに小さく読み込みが速く、ベクトルファイルはかなり大きいです。 GloVeはbzipではなくgzip形式で配布されることに注意してください。
興味のあるもの:GloVeベクターを使用していますか、自分のデータで訓練したものはありますか?自分のデータであれば、Gensimを使いましたか?私はこれをもっと簡単にしたいので、あなたが見たいと思っているワークフローの提案を感謝します。あなたのベクトルがデフォルトでロードされますので、実行時に
ロード新しいベクトル、必要に応じて
from spacy.vocab import write_binary_vectors
import spacy.en
from os import path
def main(bz2_loc):
bin_loc = path.join(path.dirname(spacy.en.__file__), 'data', 'vocab', 'vec.bin')
write_binary_vectors(bz2_loc, bin_loc)
if __name__ == '__main__':
plac.call(main)
それはクールになる、vec.binを交換し、彼らに
を変換しますspacy.vocabベクトルをgensimで使用可能な形式で簡単にダンプし、新しいコーパスでgensimを使用して再学習し、Spacyでリロードします。これは現在のところ簡単ですか? – geoffn91