تنفيذ chatbot التسلسل2sequence مع TensorFlow.
راجع التعليمات للبدء أدناه، أو راجع بعض سجلات الدردشة
(الملفات الدفعية متاحة فقط لنظام التشغيل Windows اعتبارًا من الآن. بالنسبة لمستخدمي نظامي التشغيل Mac وLinux، راجع الإرشادات أدناه لوحدة تحكم python.)
للدردشة على وحدة التحكم:
chat_console_best_weights_training.bat
أو chat_console_best_weights_validation.bat
للدردشة على شبكة الإنترنت:
من دليل النموذج، قم بتشغيل chat_web_best_weights_training.bat
أو chat_web_best_weights_validation.bat
افتح المتصفح على عنوان URL الذي تشير إليه وحدة تحكم الخادم، متبوعًا بـ /chat_ui.html
. وهذا عادةً ما يكون: http://localhost:8080/chat_ui.html
قم بتعيين دليل عمل وحدة التحكم إلى دليل seq2seq-chatbot . يجب أن يحتوي هذا الدليل على أدلة النماذج ومجموعات البيانات بداخله مباشرةً.
قم بتشغيل chat.py باستخدام مسار نقطة التفتيش النموذجية:
run chat.py models d ataset_name m odel_name c heckpoint.ckpt
على سبيل المثال، للدردشة مع نموذج حوار فيلم كورنيل المدرّب Trainer_model_v2 :
قم بتنزيل وفك ضغط Trainer_model_v2 في المجلد seq2seq-chatbot/models/cornell_movie_dialog
قم بتعيين دليل عمل وحدة التحكم إلى دليل seq2seq-chatbot
يجري:
run chat.py models c ornell_movie_dialog t rained_model_v2 b est_weights_training.ckpt
يجب أن تبدو النتيجة كما يلي:
لتدريب نموذج من وحدة تحكم بايثون:
قم بتكوين ملف hparams.json إلى معلمات التدريب المطلوبة
قم بتعيين دليل عمل وحدة التحكم إلى دليل seq2seq-chatbot . يجب أن يحتوي هذا الدليل على أدلة النماذج ومجموعات البيانات بداخله مباشرةً.
لتدريب نموذج جديد، قم بتشغيل Train.py باستخدام مسار مجموعة البيانات:
run train.py --datasetdir=datasets d ataset_name
أو لاستئناف تدريب نموذج موجود، قم بتشغيل Train.py باستخدام مسار نقطة تفتيش النموذج:
run train.py --checkpointfile=models d ataset_name m odel_name c heckpoint.ckpt
على سبيل المثال، لتدريب نموذج جديد على مجموعة بيانات حوار فيلم كورنيل باستخدام المعلمات الفائقة الافتراضية:
قم بتعيين دليل عمل وحدة التحكم إلى دليل seq2seq-chatbot
يجري:
run train.py --datasetdir=datasets c ornell_movie_dialog
يجب أن تبدو النتيجة كما يلي:
المستندات قريبا...
تعد TensorBoard أداة رائعة لتصور ما يحدث تحت الغطاء عند تدريب نموذج TensorFlow.
لبدء TensorBoard من محطة طرفية:
tensorboard --logdir=model_dir
حيث model_dir هو المسار إلى الدليل الذي يوجد به ملف نقطة تفتيش النموذج. على سبيل المثال، لعرض نموذج حوار فيلم كورنيل المدرّب Trainer_model_v2 :
tensorboard --logdir=models c ornell_movie_dialog t rained_model_v2
المستندات قريبا...
المستندات قريبا...
يمكن لـ TensorBoard عرض تضمينات الكلمات في مساحة ثلاثية الأبعاد عن طريق تنفيذ تقنية تقليل الأبعاد مثل PCA أو T-SNE، ويمكن أن يسمح لك باستكشاف كيفية قيام نموذجك بتجميع الكلمات في مفرداتك معًا من خلال عرض أقرب الجيران في مساحة التضمين لأي كلمة . يمكن العثور على المزيد حول تضمين الكلمات في TensorFlow وجهاز العرض TensorBoard هنا.
عند تشغيل TensorBoard لدليل نموذجي وتحديد علامة التبويب "جهاز العرض"، يجب أن يبدو كما يلي:
التعليمات قريبا...
يتم استخدام حزم python التالية في seq2seq-chatbot: (باستثناء الحزم التي تأتي مع Anaconda)
TensorFlow *ملاحظة - TF 2.x غير مدعوم بعد، استخدم أحدث إصدار TF 1.x.
pip install --upgrade tensorflow==1. *
لدعم GPU: (انظر هنا للحصول على تعليمات تثبيت GPU الكاملة بما في ذلك CUDA وcuDNN)
pip install --upgrade tensorflow-gpu==1. *
com.jsonpickle
pip install --upgrade jsonpickle
انقر فوق 6.7 وflask 0.12.4 وflask-restful (مطلوب لتشغيل واجهة الويب)
pip install click==6.7
pip install flask==0.12.4
pip install --upgrade flask-restful
راجع صفحة خريطة الطريق
هذا التنفيذ مستوحى من:
تسلسل للتعلم التسلسلي مع الشبكات العصبية
نموذج المحادثة العصبية
الترجمة الآلية العصبية من خلال التعلم المشترك للمحاذاة والترجمة (آلية انتباه بهداناو)
الأساليب الفعالة للترجمة الآلية العصبية القائمة على الانتباه (آلية انتباه لونج)