الإنجليزية | الصينية
الاستفادة من استرجاع المقطع باستخدام النماذج التوليدية للإجابة على أسئلة المجال المفتوح
RetrievalDense Passage Retrieval للإجابة على أسئلة المجال المفتوح
جدولة أب
نظام حوار كامل العملية يمكن نشره وتنفيذه
نموذج TensorFlow
محول
Seq2Seq
نموذج استرجاع SMN
محول أخذ العينات المجدولة
جي بي تي 2
حوار المهمة
نموذج الشعلة
محول
Seq2Seq
يهدف هذا المشروع إلى بناء نظام حوار يمكن نشره عبر الإنترنت، وهو يتضمن كلاً من أنظمة الحوار ذات المجال المفتوح والموجهة نحو المهام. ويتم وضع نماذج القراءة الورقية في مشروع آخر: يتم استخدام TensorFlow وPytorch في المشروع.
يحتوي دليل البيانات الموجود في المستودع على بيانات اللعبة لكل مجموعة، والتي يمكن استخدامها للتحقق من تنفيذ النظام، ويمكن الاطلاع على المجموعة الكاملة والورقة هنا
LCCC
كروسووز
دجاج أصفر صغير
دوبان
أوبونتو
ويبو
تشينغيون
طيبة
ينفذ Linux run.sh، وللتحقق من دليل المشروع، قم بتنفيذ check.sh (أو check.py)
actuator.py الموجود في الدليل الجذر هو مدخل التنفيذ العام، والذي يتم تنفيذه عن طريق استدعاء تنسيق الأمر التالي (لاحظ أنه تم تثبيت require.txt قبل التنفيذ):
python actuator.py --version [Options] --model [Options] ...
عند التنفيذ من خلال actuator.py في الدليل الجذر، --version
و --model
و --act
هي معلمات مطلوبة، من بينها --version
هو إصدار التعليمات البرمجية tf/torch
، --model
هو transformer/smn...
للتنفيذ transformer/smn...
، والتصرف هو وضع التنفيذ (وضع pre_treat
افتراضيًا) لمزيد من التفاصيل حول معلمات الأمر، يرجى الرجوع إلى actuator.py
ضمن كل نموذج أو ملف تكوين json المقابل في دليل التكوين.
--act
يتم وصف وضع التنفيذ على النحو التالي:
وضع المعالجة المسبقة هو وضع المعالجة المسبقة للنص. إذا لم يكن هناك مجموعة نتائج لتجزئة الكلمات وقاموس، فستحتاج إلى تشغيل وضع المعالجة المسبقة أولاً.
وضع القطار هو وضع التدريب
وضع التقييم هو وضع تقييم المؤشر
وضع الدردشة هو وضع محادثة عند التشغيل في وضع الدردشة، أدخل ESC للخروج من المحادثة.
تسلسل التنفيذ العادي هو pre_treat->train->تقييم->chat
يوجد actuator.py منفصل تحت كل نموذج، والذي يمكنه تجاوز الاقتران الخارجي للتنفيذ والتطوير. ومع ذلك، انتبه إلى ضبط مسار دليل المشروع أثناء التنفيذ.
وفي إطار الحوار، يتم وضع الكود الأساسي للنموذج ذي الصلة لتسهيل التغليف والتعبئة في المستقبل.
نقاط التفتيش يحفظ الموقع لنقاط التفتيش
التكوين هو الدليل حيث يتم حفظ ملف التكوين
البيانات هي موقع تخزين البيانات الأصلية، وفي الوقت نفسه، يتم أيضًا حفظ ملفات البيانات الوسيطة التي تم إنشاؤها أثناء تنفيذ النموذج في هذا الدليل.
نماذج حفظ الدليل للنماذج
يضع كل من Tensorflow وPytorch الكود الأساسي لبناء النموذج وتنفيذ كل وحدة
preprocess_corpus.py هو برنامج نصي لمعالجة مجموعة النصوص، والذي يعالج كل مجموعة في حوارات أحادية الجولة ومتعددة الجولات، ويوحد استدعاءات الواجهة الموحدة.
يتم استخدام read_data.py لاستدعاء تنسيق تحميل البيانات الخاص بـload_dataset.py
metrics.py هو برنامج نصي لمؤشرات مختلفة
Tools.py عبارة عن برنامج نصي للأداة يحتوي على مجزئات الكلمات وعمليات السجل ونصوص حفظ/تحميل نقاط التفتيش وما إلى ذلك.
ضع تعليمات التوثيق ضمن المستندات، بما في ذلك ملاحظات القراءة الورقية النموذجية
يتم استخدام عامل الإرساء (المحمول) للبرامج النصية لنشر الخادم (المحطة المتنقلة).
الخادم هو واجهة خدمة واجهة المستخدم. استخدم القارورة لإنشاءه واستخدامه. ما عليك سوى تنفيذ server.py المقابل.
الأدوات هي دليل الأدوات المحجوزة
actuator.py (run.sh) هو مدخل المحرك الإجمالي
check.py (check.sh) هو البرنامج النصي للتحقق من دليل المشروع
قبل استخدام نظام حوار استرجاع SMN، تحتاج إلى إعداد بيئة Solr Linux الموصى بها لبيئة نظام نشر Solr، ويوصى باستخدام نشر الحاوية (يوصى باستخدام Docker) للأدوات، والتحضير:
سولر (8.6.3)
بيسولر(3.9.0)
ويرد أدناه شرح موجز لمزيد من التفاصيل، يرجى الرجوع إلى المقالة: الحصول على استرجاع استجابة المرشح لنظام حوار الاسترجاع - استخدام pysolr للاتصال بـ Solr.
للتأكد من أن Solr يعمل بشكل ثابت عبر الإنترنت وتسهيل الصيانة اللاحقة، يرجى استخدام DockerFile للنشر، عنوان الحصول على DockerFile: docker-solr
لاستخدام نموذج الاختبار فقط، يمكنك استخدام أبسط تعليمات البناء التالية:
docker pull solr:8.6.3 # 然后启动solr docker run -itd --name solr -p 8983:8983 solr:8.6.3 # 然后创建core核心选择器,这里取名smn(可选) docker exec -it --user=solr solr bin/solr create_core -c smn
فيما يتعلق بأدوات تجزئة الكلمات في Solr، هناك IK Analyzer، وSmartcn، وPinyin Word sectioner، وما إلى ذلك. تحتاج إلى تنزيل الجرة المقابلة، ثم إضافة التكوين في المخطط المُدار لملف التكوين الأساسي Solr.
ملاحظة خاصة : إذا كنت تستخدم TF-IDF، فستحتاج أيضًا إلى تمكين تكوين التشابه في المخطط المُدار.
بعد نشر Solr عبر الإنترنت، استخدم pysolr في Python للاتصال والاستخدام:
pip install pysolr
طريقة إضافة بيانات الفهرس (التي تتطلب عمومًا فحص الأمان أولاً) هي كما يلي. أضف فهرسًا إلى بيانات الرد. يتم إنشاء الردود بتنسيق json: [{},{},{},...].
solr = pysolr.Solr(url=solr_server, always_commit=True, timeout=10) # 安全检查 solr.ping() solr.add(docs=responses)
طريقة الاستعلام هي كما يلي للاستعلام عن جميع العبارات باستخدام TF-IDF، تكون طريقة بيان الاستعلام كما يلي:
{!func}sum(product(idf(utterance,key1),tf(utterance,key1),product(idf(utterance,key2),tf(utterance,key2),...)
قبل الاستخدام، تحتاج إلى إضافة البيانات إلى Solr لاستخدامها في نموذج SMN هذا، ما عليك سوى تنفيذ وضع المعالجة المسبقة أولاً.
الاهتمام هو كل ما تحتاجه |. ملاحظات القراءة: العمل الرائد للمحول، يستحق القراءة المكثفة |
شبكة المطابقة التسلسلية: بنية جديدة لاختيار الاستجابة متعددة الأدوار في Chatbots القائمة على الاسترجاع | ملاحظات القراءة: نموذج حوار استرجاع SMN، واستخراج المعلومات متعدد الطبقات ومتعدد التفاصيل |
استكشاف هائل لبنيات ترجمة الآلة العصبية |. ملاحظات القراءة: تم تقديم أول تحليل واسع النطاق باستخدام المعلمات الفائقة لهندسة NMT كمثال. تقدم التجربة رؤى جديدة واقتراحات عملية لبناء وتوسيع بنيات NMT. |. ديني وآخرون، 2017
أخذ العينات المجدولة للمحولات |. ملاحظات القراءة: تطبيق أخذ العينات المجدولة في المحولات |
مرخص بموجب ترخيص Apache، الإصدار 2.0 حقوق الطبع والنشر لعام 2021 لـ DengBoCong.