بعض التعليمات البرمجية للقيام بنمذجة اللغة مع Keras ، وخاصة لمهام الإجابة على الأسئلة. كتبت منشورًا طويلًا جدًا في المدونة يشرح كيف يعمل الكثير من هذا ، والذي يمكن العثور عليه هنا.
attention_lstm.py : LSTM الانتباه ، استنادًا إلى إحدى الأوراق المشار إليها في منشور المدونة وغيرها. تطبيق واحد يستخدمه لتسمية الصورة. تتم تهيئتها باستخدام ناقل الاهتمام الذي يوفر مكون الانتباه للشبكة العصبية.insurance_qa_eval.py : إطار التقييم لمجموعة بيانات التأمين. للحصول على هذا العمل ، استنساخ مستودع البيانات وتعيين متغير بيئة INSURANCE_QA على المستودع المستنسخ. سيؤدي تغيير config إلى ضبط كيفية تدريب النموذج.keras-language-model.py : تستخدم فئة LanguageModel إعدادات config لإنشاء نموذج تدريب ونموذج اختبار. يمكن تدريب النموذج عن طريق تمرير متجه أسئلة ، ومتجه إجابة الحقيقة الأرضية ، ومتجه إجابة سيئة fit . ثم predict بحساب التشابه بين السؤال والإجابة. تجاوز طريقة build مع أي نموذج لغة تريد الحصول على نموذج قابل للدرار. يتم توفير أمثلة في الأسفل ، بما في ذلك EmbeddingModel ، و ConvolutionModel ، و RecurrentModel . # Install Keras (may also need dependencies)
git clone https://github.com/fchollet/keras
cd keras
sudo python setup.py install
# Clone InsuranceQA dataset
git clone https://github.com/codekansas/insurance_qa_python
export INSURANCE_QA= $( pwd ) /insurance_qa_python
# Run insurance_qa_eval.py
git clone https://github.com/codekansas/keras-language-modeling
cd keras-language-modeling/
python insurance_qa_eval.pyبدلاً من ذلك ، كتبت برنامج نصي للبدء على مثيل منصة Google Cloud (Ubuntu 16.04) يمكن تشغيله عبر
cd ~
git clone https://github.com/codekansas/keras-language-modeling
cd keras-language-modeling
source install.pyلقد كنت أعمل على إتاحة هذه النماذج خارج الصندوق. تحتاج إلى تثبيت فرع GIT من keras (وربما إجراء بعض التعديلات) من أجل تشغيل بعض هذه النماذج ؛ يمكن العثور على مشروع Keras هنا.
برنامج Runnable هو insurance_qa_eval.py . سيؤدي ذلك إلى إنشاء models/ دليل سيخزن تاريخًا من أوزان النموذج عند إنشاؤه. تحتاج إلى تعيين متغير بيئة لإخباره أين هي مجموعة بيانات التأمين.
أخيرًا ، فإن الإعداد الخاص بي (الذي أعتقد أنه شائع جدًا) هو الحصول على SSD مع نظام التشغيل الخاص بي ، ومكتب الأقراص الصلبة مع ملفات بيانات أكبر. لذلك أوصي بإنشاء models/ symlink من دليل المشروع إلى مكان ما في محرك الأقراص الثابتة الخاصة بك ، إذا كان لديك إعداد مماثل.
أضفت وسيطة سطر الأوامر التي تستخدم Flask للعمل على منفذ. بمجرد تثبيت Flask ، يمكنك التشغيل:
python insurance_qa_eval.py serveهذا مفيد مع NGROK لمراقبة التقدم التدريبي بعيدا عن سطح المكتب.