Implementasi Pytorch dari model bahasa probabilistik saraf. Kode untuk pelatihan dan pemuatan data berdasarkan model bahasa Level Level Bahasa Contoh Pytorch.
Untuk mendapatkan dataset Wikitext-2, jalankan:
./get-data.shContoh level kata:
./main.py train --name wiki --order 5 --batch-size 32Contoh tingkat karakter:
./main.py train --name wiki-char --use-char --order 12 --emb-dim 20 --batch-size 1024Jika Anda memiliki vektor sarung tangan pretrained, Anda dapat menggunakannya:
./main.py train --name wiki --use-glove --glove-dir your/glove/dir --emb-dim 50Beberapa argumen data lainnya adalah:
--lower # Lowercase all words in training data.
--no-headers # Remove all headers such as `=== History ===`. Dengan argumen berikut, satu zaman membutuhkan waktu sekitar 45 menit:
./main.py train --name wiki --order 5 --use-glove --emb-dim 50 --hidden-dims 100
--batch-size 128 --epochs 10 # Test perplexity 224.89 
Kita dapat menjelajahi batas:
./main.py train --name wiki --order 13 --emb-dim 100 --hidden-dims 500
--epochs 40 --batch-size 512 --dropout 0.5 # Test perplexity 153.12 
./main.py train --name wiki --order 13 --emb-dim 300 --hidden-dims 1400
--epochs 40 --batch-size 256 --dropout 0.65 # Test perplexity 152.64 
Untuk menghasilkan teks, gunakan:
./main.py generate --checkpoint path/to/saved/model Token <eos> diganti dengan garis baru, dan sisanya dicetak apa adanya.
Argumen generasi lainnya adalah:
--temperature 0.9 # Temperature to manipulate distribution.
--start # Provide an optional start of the generated text (can be longer than order)
--no-unk # Do not generate unks, especially useful for low --temperature.
--no-sos # Do not print <sos> tokensLihat beberapa teks yang dihasilkan di Generate.txt.
Untuk memvisualisasikan embedding model yang terlatih, gunakan:
./main.py plot --checkpoint path/to/saved/modelIni cocok dengan plot T-SNE 2D dengan pewarnaan kluster K-Means dari 1000 kata yang paling umum dalam dataset. Membutuhkan bokeh untuk merencanakan dan belajar scikit untuk t-sne dan k-means.
Lihat contoh html di sini. (GitHub tidak membuat file html. Untuk membuat, mengunduh dan membuka, atau menggunakan tautan ini.)
python>=3.6
torch==0.3.0.post4
numpy
tqdm