LSTMネットワークでの注意を使用して、基本的な言語モデルのPytorchの実装
このリポジトリには、コンテキストが与えられた次の単語を予測するための基本言語モデルのコードが含まれています。使用されるネットワークアーキテクチャは、注意を払ったLSTMネットワークです。文の長さは変動する可能性があり、これはシーケンス内の追加の手順をパディングすることで注意してください。このモデルは、http://www.gutenberg.orgで入手可能なCapwell WyckoffによるWoodcrestのThe Mercer Boys at WoodcrestのThe Mercer Boysのテキストを使用して訓練されています。他のソースからの他の電子ブックまたはTXTは、ネットワークのトレーニングにも使用できます。
このリポジトリは、Python 2と互換性があります。
nltkです。http://www.gutenberg.orgで利用可能な電子書籍を.txt形式でダウンロードしてください。新しいディレクトリdataを作成し、TXTファイルを保存します。他のテキストソースも使用できます。
TXTファイルは、最初に不要なトークンを削除し、めったに使用されない単語をフィルターし、辞書形式に変換するために前処理されます。さらに、グローブの埋め込みもロードされます。
辞書を作成するには、スクリプトpreprocess_data/create_dictionary.pyを使用します
python create_dictionary.py --data_path path_to_txt_file --dict_file dict_file_name.json --min_occ minimum_occurance_required
グローブ辞書を作成するには、元のグローブファイルをダウンロードして、スクリプトpreprocess_data/create_gloves.pyを実行します
wget http://nlp.stanford.edu/data/glove.42B.300d.zip -P data/
unzip data/glove.42B.300d.zip -d data/
python preprocess_data/create_gloves.py --data_path path_to_txt_file --glove_in data/glove.42B.300d.txt --glove_out data/glove_dict.pkl
スクリプトを使用してダウンロードする際に問題がある場合は、ここからグローブファイルをダウンロードできます。
モデルをトレーニングするには、次のスクリプトを実行します
python main.py --gpu gpu_id_to_use --use_cuda True --data_path path_to_txt_file --glove_path data/glove_dict.pkl --dict_path path_to_dict_file
使用する他のパラメーターは、 main.pyで指定されています。より良い理解のためにそれを参照してください。
保存されたモデルはこちらから入手できます。