2017-10-20 13 views
2

私はスキップグラムモデルの事前に訓練されたベクトルが必要なプロジェクトを行っています。よりよい結果をもたらすskip-n-gramモデルという名前の変種もあると聞きました。スキップグラムとスキップnグラムの事前にトレーニングされたベクトル

私はモデルを訓練するために何が必要なのでしょうか?私は自分のモデルの埋め込みレイヤーを初期化する必要があるだけです。

私は十分に検索しましたが、良い例は得られませんでした。私はあなたからの提案が必要です。このような事前訓練を受けたモデルはどこにあるのでしょうか、それともあらかじめ訓練されたモデルはありません。

答えて

1

十分なデータがある場合は、独自の単語ベクトルを訓練することができます。これはgensimを使用して行うことができます。トピックモデリングのための非常に簡単で強力なAPIを提供します。

既に訓練されたword2vecモデルを使用する場合は、Googleが公開したword2vec modelを使用できます。 1.5GBで、Googleニュースのデータセットから約1,000億語を訓練した300万語の語彙と語句の単語ベクトルを含んでいます。

gensimでこのモデルを読み込むことができます。訓練されたword2vecモデルをダウンロードし、次のコードを使用して開始してください。

import math 
import sys 
import gensim 
import warnings 
warnings.filterwarnings(action='ignore', category=UserWarning, module='gensim') 

from gensim.models.keyedvectors import KeyedVectors 

words = ['access', 'aeroway', 'airport'] 

# load the model 
model = KeyedVectors.load_word2vec_format(path_to_model, binary=True) 

# to extract word vector 
print(model[words[0]]) # vector representing access 

結果ベクトルは:

[ -8.74023438e-02 -1.86523438e-01 .. ] 

お使いのシステムは、このような巨大なモデルのロード中にフリーズする場合がありますのでご了承ください。

+0

thanks harmen ... !!!しかし、あなたはskip-n-gramについて考えていますか? –

+0

いいえ@MSaifulBari私はあまり考えがありません。しかし、私は[fasttext](https://fasttext.cc)を一度見てみることをお勧めします。私は彼らがn-gramモデルを実装したと思います。 – Harman

関連する問題