idNet
1.0.0
تدعم هذه الحزمة بنية معممة لتحديد اللغة ( LID ) وتحديد لهجة ( DID ) باستخدام Perceptron متعدد الطبقات تم تصميمه باستخدام keras. هل يدعم أيضًا مصنف SVM الخطي باستخدام Scikit-Learn.
لتحميل نموذج:
from idNet import idNet_Enrich
lid = idNet_Enrich("Path to model file", s3_bucket)
did = idNet_Enrich("Path to model file", s3_bucket)
يأخذ s3_bucket دلو S3 اختياري لتحميل النموذج من. يجب أن يحتوي اسم ملف النموذج على البادئات اللازمة.
بمجرد تحميل نموذج الغطاء ، يكون له الخصائص التالية:
| طريقة | وصف |
|---|---|
| lid.n_features | عدد الميزات في النموذج (أي ، صناديق التجزئة) |
| lid.n_classes | عدد اللغات في النموذج |
| lid.lang_mappings | قاموس {"iso_code": "language_name"} تعيينات جميع رموز ISO 639-3 |
| lid.langs | قائمة رموز ISO 639-3 للغات الموجودة في النموذج الحالي |
بمجرد تحميل نموذج DID ، يكون له الخصائص التالية:
| طريقة | وصف |
|---|---|
| did.n_features | عدد الميزات في القواعد المستخدمة لتعلم النموذج |
| DID.N_CLASSES | عدد البلدان في النموذج |
| DID.COUNTRY_MAPSINGS | قاموس {"iso_code": "Country_Name"} تعيينات لجميع رموز البلد المستخدمة |
| DID.COUNTRIES | قائمة رموز الريف لللهجات الإقليمية (مستوى البلد) الموجودة في النموذج الحالي |
تنفذ النماذج المحملة المهام التالية:
| طريقة | وصف |
|---|---|
| LID.PRIEDICT (بيانات) | يأخذ مجموعة من الأوتار أو السلاسل الفردية ؛ إرجاع مجموعة من رموز اللغة المتوقعة |
| DID.PREDICT (البيانات) | يأخذ مجموعة من الأوتار أو السلاسل الفردية ؛ إرجاع مجموعة من رموز البلد المتوقعة |
ملاحظة: تحتاج أسماء الملفات النموذجية إلى تضمين ".did"/". lid" و ".mlp"/". SVM" لأن هذه المعلومات تستخدم لتحديد نوع النموذج!
لتدريب نماذج جديدة ، يجب إعداد بيانات التدريب. هذه العملية آلية ؛ راجع أدلة Data_did و Data_lid للحصول على الاتجاهات والبرامج النصية.
from idNet import idNet_Train
id = idNet_train()
| دعوى | يكتب | وصف |
|---|---|---|
| يكتب | (Str) | سواء كنت تعمل مع لغة أو لهجة هوية |
| مدخل | (Str) | مسار إلى مجلد الإدخال |
| الإخراج | (Str) | مسار إلى المجلد الإخراج |
| S3 = خطأ | (منطقية) | إذا كان صحيحًا ، استخدم Boto3 للتفاعل مع دلو S3 |
| s3_bucket = "" | (Str) | اسم دلو S3 كسلسلة |
| لقب = "لغة" | (Str) | لقب النماذج لتوفير / تحميل |
| divide_data = صحيح | (منطقية) | إذا كان صحيحا ، الزحف لمجموعة البيانات ؛ إذا كان خطأ ، فقط قم بتحميله |
| test_samples = 20 | (int) | عدد الملفات لكل فئة لاستخدامها في الاختبار |
| عتبة = 100 | (int) | يتم تضمين عدد الملفات المطلوبة قبل اللغة/البلد في النموذج |
| samples_per_epoch = 5 | (int) | عدد العينات التي يجب استخدامها لكل فترة تدريب |
| اللغة = "" | (Str) | لفعل ، يحدد لغة النموذج الحالي |
| lid_sample_size = 200 | (int) | بالنسبة للغطاء ، عدد الأحرف للسماح لكل عينة |
| did_sample_size = 1 | (int) | لفعل ، عدد عينة 100 كلمة ليجمع |
| preannotate_cxg = خطأ | (منطقية) | لـ DID ، إذا كان True Erorric وحفظ جميع متجهات CXG |
| preannotated_cxg = false | (منطقية) | بالنسبة إلى DID ، إذا كان ذلك صحيحًا فقط قم بتحميل متجهات CXG المخصبة مسبقًا |
| cxg_workers = 1 | (int) | بالنسبة إلى DID ، إذا كانت مجموعة البيانات المسبقة ، عدد العمال الذين يجب استخدامهم |
| class_constraints = [] | (قائمة Strs) | خيار لتقييد عدد الفئات |
| merge_dict = {} | (قفلة) | الأصل: مفاتيح الاسم الجديدة |
id.train()
| دعوى | يكتب | وصف |
|---|---|---|
| model_type = "mlp" | (Str) | MLP أو SVM |
| lid_features = 524288 | (int) | عدد ميزات الأحرف n-gram للسماح بها ، التجزئة فقط |
| lid_ngrams = (1،3) | (tuple of ints) | مجموعة من n-grams إلى hash |
| did_grammar = ".grammar.p" | (Str) | اسم قواعد C2XG لاستخدامها في التعليق التوضيحي |
| c2xg_workers = 1 | (int) | لفعل ، عدد العمال لإثراء C2XG |
| mlp_sizes = (300 ، 300 ، 300) | (tuple of ints) | حجم وعدد الطبقات ؛ على سبيل المثال ، 3 طبقات في 300 خلية عصبية لكل منها |
| cross_val = خطأ | (منطقية) | سواء كنت تستخدم التحقق المتبادل بدلاً من مجموعة الاختبار |
| التسرب = 0.25 | (يطفو) | مقدار التسرب للتطبيق على كل طبقة |
| التنشيط = "RELU" | (Str) | نوع التنشيط ؛ فقط يمر الاسم إلى كيراس |
| Optimizer = "SGD" | (Str) | نوع خوارزمية التحسين ؛ فقط يمر الاسم إلى كيراس |