Implementasi chatbot sequence2sequence dengan TensorFlow.
Lihat petunjuk untuk memulai di bawah, atau lihat beberapa log obrolan
(File batch hanya tersedia untuk windows saat ini. Untuk pengguna mac dan linux lihat instruksi di bawah untuk konsol python.)
Untuk obrolan konsol:
chat_console_best_weights_training.bat
atau chat_console_best_weights_validation.bat
Untuk obrolan web:
Dari direktori model jalankan chat_web_best_weights_training.bat
atau chat_web_best_weights_validation.bat
Buka browser ke URL yang ditunjukkan oleh konsol server, diikuti oleh /chat_ui.html
. Ini biasanya: http://localhost:8080/chat_ui.html
Setel direktori kerja konsol ke direktori seq2seq-chatbot . Direktori ini harus memiliki direktori model dan kumpulan data langsung di dalamnya.
Jalankan chat.py dengan jalur pos pemeriksaan model:
run chat.py models d ataset_name m odel_name c heckpoint.ckpt
Misalnya, untuk ngobrol dengan model dialog film cornell terlatih train_model_v2 :
Unduh dan unzip train_model_v2 ke dalam folder seq2seq-chatbot/models/cornell_movie_dialog
Setel direktori kerja konsol ke direktori seq2seq-chatbot
Berlari:
run chat.py models c ornell_movie_dialog t rained_model_v2 b est_weights_training.ckpt
Hasilnya akan terlihat seperti ini:
Untuk melatih model dari konsol python:
Konfigurasikan file hparams.json ke hyperparameter pelatihan yang diinginkan
Setel direktori kerja konsol ke direktori seq2seq-chatbot . Direktori ini harus memiliki direktori model dan kumpulan data langsung di dalamnya.
Untuk melatih model baru, jalankan train.py dengan jalur himpunan data:
run train.py --datasetdir=datasets d ataset_name
Atau untuk melanjutkan pelatihan model yang sudah ada, jalankan train.py dengan jalur pos pemeriksaan model:
run train.py --checkpointfile=models d ataset_name m odel_name c heckpoint.ckpt
Misalnya, untuk melatih model baru pada kumpulan data dialog film cornell dengan hyperparameter default:
Setel direktori kerja konsol ke direktori seq2seq-chatbot
Berlari:
run train.py --datasetdir=datasets c ornell_movie_dialog
Hasilnya akan terlihat seperti ini:
Dokumen segera hadir...
TensorBoard adalah alat hebat untuk memvisualisasikan apa yang terjadi saat model TensorFlow dilatih.
Untuk memulai TensorBoard dari terminal:
tensorboard --logdir=model_dir
Dimana model_dir adalah jalur ke direktori tempat file pos pemeriksaan model berada. Misalnya, untuk melihat model dialog film cornell yang dilatih train_model_v2 :
tensorboard --logdir=models c ornell_movie_dialog t rained_model_v2
Dokumen segera hadir...
Dokumen segera hadir...
TensorBoard dapat memproyeksikan penyematan kata ke dalam ruang 3D dengan melakukan teknik reduksi dimensi seperti PCA atau T-SNE, dan memungkinkan Anda menjelajahi bagaimana model mengelompokkan kata-kata dalam kosakata Anda dengan melihat tetangga terdekat di ruang penyematan untuk kata apa pun . Lebih lanjut tentang penyematan kata di TensorFlow dan proyektor TensorBoard dapat ditemukan di sini.
Saat meluncurkan TensorBoard untuk direktori model dan memilih tab "Projector", tampilannya akan seperti ini:
Instruksi segera hadir...
Paket python berikut digunakan di seq2seq-chatbot: (tidak termasuk paket yang disertakan dengan Anaconda)
TensorFlow *Catatan - TF 2.x belum didukung, gunakan versi TF 1.x terbaru.
pip install --upgrade tensorflow==1. *
Untuk dukungan GPU: (Lihat di sini untuk petunjuk pemasangan GPU lengkap termasuk CUDA dan cuDNN)
pip install --upgrade tensorflow-gpu==1. *
jsonpickle
pip install --upgrade jsonpickle
klik 6.7, flask 0.12.4 dan flask-restful (diperlukan untuk menjalankan antarmuka web)
pip install click==6.7
pip install flask==0.12.4
pip install --upgrade flask-restful
Lihat Halaman Peta Jalan
Implementasi ini terinspirasi oleh:
Pembelajaran Urutan ke Urutan dengan Jaringan Syaraf Tiruan
Model Percakapan Neural
Terjemahan Mesin Neural dengan Belajar Bersama Menyelaraskan dan Menerjemahkan (mekanisme perhatian Bahdanau)
Pendekatan Efektif untuk Terjemahan Mesin Neural Berbasis Perhatian (mekanisme perhatian Luong)