هذه هي مجموعة أدوات نماذج لغات NetWorl العصبية (NNLMS) التي تدعم الشبكة العصبية التغذية (FNN) ، والشبكة العصبية المتكررة (RNN) ، وذاكرة طويلة الأجل (LSTM) RNN ، و RNN ثنائية الاتجاه ، و LSTM ثنائية الاتجاه. يمكن أيضًا بناء نماذج لغة الشبكة العصبية ذات الطبقات المخفية المتعددة باستخدام مجموعة الأدوات هذه ، ويمكن أن تكون بنية الطبقات المخفية مختلفة. تم اعتماد طريقة قائمة على الفصل في مجموعة الأدوات هذه لتسريع Trainin وتشغيل نموذج لغة الشبكة العصبية. تمت إعادة كتابة مجموعة الأدوات هذه باستخدام C ++ والتي يمكن العثور عليها هنا.
معلمات التكوين لـ NNLM هي كما يلي:
| اسم | وصف | يكتب | مطلوب | تقصير |
|---|---|---|---|---|
| AC_FUN 1 | وظيفة التنشيط للطبقة (الطبقات) المخفية | شارع | تان | |
| ألفا | معدل التعلم | يطفو | 0.01 | |
| alpha_cut | معدل تعلم القطع حسب هذه النسبة عندما يكون التحسن أقل من الحد الأدنى | يطفو | 0.75 | |
| بيتا | المعلمات التنظيم | يطفو | 1E-6 | |
| en_bias | تمكين شروط التحيز | بول | خطأ شنيع | |
| en_direct | تمكين الاتصالات المباشرة | بول | خطأ شنيع | |
| file_type | نوع ملفات الإدخال ، يدعم الثنائي والنص ، "B" للثنائي و "T" للنص | شارع | ر | |
| GATE_FUN | وظيفة التنشيط للبوابات في LSTM RNN | شارع | sigmoid | |
| gram_order | ترتيب n-gram لـ FNN | int | 5 | |
| hidden_layers 2 | اسم وحجم الطبقة (الطبقات) المخفية | قائمة | √ | |
| input_unit 3 | وحدة الإدخال أو الدعم كلمة أو حرف ، "W" للكلمة و "C" للشخصية | شارع | ث | |
| التكرارات 4 | الحد الأقصى لعدد التكرار | int | 50 | |
| min_improve 4 | معدل الحد الأدنى لتحسين الانتروبيا على بيانات التحقق من الصحة | يطفو | 1.003 | |
| model_name | حدد اسمًا لنموذج اللغة | شارع | - | |
| Output_Path | المسار الذي سيتم بموجبه حفظ ملفات الإخراج | شارع | √ | - |
| عشوائي | بذرة للمولد العشوائي | int | 1 | |
| sentence_end | علامة على نهاية الجملة | شارع | < s> | |
| sentence_start | علامة على بداية الجملة | شارع | ||
| test_files | المسار الذي يتم بموجبه تخزين ملفات الاختبار | شارع | √ | - |
| Train_files | المسار الذي يتم بموجبه تخزين ملفات التدريب | شارع | √ | - |
| غير معروف | علامة على كلمة غير معروفة | شارع | أووف | |
| alight_files | المسار الذي يتم بموجبه تخزين ملفات التحقق من الصحة | شارع | √ | - |
| Vector_DIM | بُعد متجه الميزة للكلمات أو الأحرف | int | 30 | |
| vocab_size 5 | حجم المفردات المستفادة من بيانات التدريب | int | 10000 |
ملاحظات: 1. يمكن أن تكون وظيفة التنشيط للطبقة (الطبقات) المخفية واحدة من tanh و sigmoid و hard_sigmoid و relu و gaussian .
2. يمكن أن تكون الطبقة (الطبقات) المخفية واحدة أو عدة من FNN و RNN LSTM و BiRNN و BiLSTM ، ويجب إعطاؤها كقائمة من tuples التي تحتوي على اسم كل طبقة وحجمها ، مثل [('rnn' ، 30) ، ('fnn' ، 20)]. مجرد tuple على ما يرام عندما يكون هناك طبقة مخفية واحدة فقط. يجب أن يتزامن حجم الطبقات المخفية مع بعضها البعض.
3. بالنسبة للغات ، مثل اللغة الإنجليزية ، والفرنسية ، التي يتم فصل كلماتها بشخصية فارغة ، مثل المساحة البيضاء ، يمكن ضبط INPUT_UNITE على "W 'أو" C ". لغات أخرى ، مثل الصينية ، فقط INPUT_UNITE = 'C' تعمل.
4. سينتهي التدريب عندما يصل إما إلى الحد الأقصى لعدد التكرار أو أن تحسين الانتروبيا على بيانات التحقق من الصحة يكون أقل من الحد الأدنى للمعدل مرتين.
5. إذا تجاوز عدد الكلمات أو الشخصيات المستفادة من بيانات التدريب الحجم المحدد للمفردات ، فلن تتم إضافة الكلمات أو الأحرف ذات التردد المنخفض إلى المفردات. على العكس من ذلك ، سيتم إعادة ضبط حجم المفردات إلى عدد الكلمات المستفادة.
وترد الأمثلة في مجموعة الأدوات هذه. مزيد من التفاصيل حول نماذج Languagel التي تم إنشاؤها في مجموعة الأدوات هذه ، يرجى الرجوع إلى مشاركاتي.
الوحدة النمطية متوفرة كمصدر مفتوح بموجب شروط ترخيص معهد ماساتشوستس للتكنولوجيا.