Pytorch Implementasi model bahasa dasar menggunakan perhatian di jaringan LSTM
Repositori ini berisi kode untuk model bahasa dasar untuk memprediksi kata berikutnya yang diberikan konteksnya. Arsitektur jaringan yang digunakan adalah jaringan LSTM dengan perhatian. Panjang kalimat dapat bervariasi dan ini harus diperhatikan dengan menambah langkah -langkah tambahan dalam urutan. Model ini dilatih menggunakan teks dari buku The Mercer Boys at Woodcrest oleh Capwell Wyckoff tersedia di http://www.gutenberg.org. Ebook atau txt lain dari sumber lain juga dapat digunakan untuk melatih jaringan.
Repositori ini kompatibel dengan Python 2.
nltk yang dapat dipasang menggunakan PIP. Unduh ebook apa pun yang tersedia di http://www.gutenberg.org dalam format .txt . Buat data direktori baru dan simpan file txt di dalamnya. Sumber teks lainnya juga dapat digunakan.
File txt pertama kali diproses untuk menghapus beberapa token yang tidak diinginkan, filter jarang menggunakan kata -kata dan dikonversi menjadi format kamus. Selain itu, embeddings sarung tangan juga harus dimuat.
Untuk membuat kamus, gunakan skrip 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
Untuk membuat kamus sarung tangan, unduh file sarung tangan asli dan jalankan skrip 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
Jika ada masalah dalam mengunduh menggunakan skrip, maka file sarung tangan dapat diunduh dari sini.
Untuk melatih model, jalankan skrip berikut
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
Parameter lain yang akan digunakan ditentukan dalam main.py Merujuknya untuk pemahaman yang lebih baik.
Model yang disimpan tersedia di sini.