؟ العروض التوضيحية المباشرة عبر الإنترنت: http://tworld.io/ss3/ ؟؟؟
يعد مصنف نص SS3 نموذجًا جديدًا للتعلم الآلي الخاضع للإشراف لتصنيف النص الذي يمكن تفسيره ، أي أنه لديه القدرة على شرح الأساس المنطقي بشكل طبيعي (الذات) . تم تقديمه في الأصل في القسم 3 من الورقة "إطار تصنيف النص لاكتشاف الاكتئاب المبكر البسيط والفعال على تدفقات الوسائط الاجتماعية" (Arxiv preprint). حصل هذا النموذج البسيط على أفضل النتائج والثانية على التوالي ، على التوالي ، في الطبعات الثلاثة الأخيرة من مختبر Erisk في Clef بين جميع النماذج المشاركة [Burdisso et al. 2019 ؛ لويولا وآخرون. 2021]. بالنظر إلى طبيعتها ذات الصناديق البيضاء ، فإنها تتيح للباحثين والممارسين نشر نماذج قابلة للتفسير (أي قابلة للتفسير ذاتيا) وبالتالي أكثر موثوقية ، نماذج لتصنيف النص (والتي يمكن أن تكون مفيدة بشكل خاص لأولئك الذين يعملون مع مشاكل التصنيف التي يمكن من خلالها تأثر حياة الناس بطريقة ما).
ملاحظة: تشتمل هذه الحزمة أيضًا على اختلافات مختلفة من النموذج الأصلي ، مثل تلك التي تم تقديمها في "T-SS3: مصنف نص مع n-grams الديناميكي للكشف المبكر عن المخاطر عبر تدفقات النص" (Arxiv preprirn) والذي يسمح لـ SS3 بالتعرف على كلمة n-grams ذات الطول المهم ".
PYSS3 عبارة عن حزمة Python تتيح لك العمل مع SS3 بطريقة واضحة للغاية وتفاعلية ومرئية. بالإضافة إلى تنفيذ مصنف SS3 ، يأتي PYSS3 مع مجموعة من الأدوات لمساعدتك على تطوير نماذج التعلم الآلي الخاص بك بطريقة أوضح وأسرع. تتيح لك هذه الأدوات تحليل نماذجك ومراقبتها وفهمها من خلال السماح لك برؤية ما تعلموه بالفعل ولماذا. لتحقيق ذلك ، يوفر لك PYSS3 3 مكونات رئيسية: فئة SS3 ، وفئة Live_Test ، وفئة Evaluation ، كما هو موضح أدناه.
SS3الذي ينفذ المصنف باستخدام واجهة برمجة تطبيقات واضحة. على سبيل المثال ، دعنا أولاً نقوم بتحميل أحد مجموعة بيانات البرنامج التعليمي:
from pyss3 . util import Dataset
url = "https://github.com/sergioburdisso/pyss3/raw/master/examples/datasets/movie_review.zip"
x_train , y_train = Dataset . load_from_url ( url , "train" )
x_test , y_test = Dataset . load_from_url ( url , "test" ) الآن دعنا ندرب نموذج SS3 الأول! لاحظ أن واجهة برمجة التطبيقات تشبه إلى حد كبير طرازات sklearn :
from pyss3 import SS3
clf = SS3 ()
clf . fit ( x_train , y_train )
y_pred = clf . predict ( x_test ) أيضًا ، توفر هذه الفئة حفنة من الأساليب المفيدة الأخرى ، على سبيل المثال ، extract_insight() لاستخراج شظايا النص المشاركة في قرار التصنيف (مما يتيح لك فهم الأساس المنطقي وراء تنبؤات النموذج بشكل أفضل) أو classify_multilabel() لتوفير دعم تصنيف متعدد العلامات:
doc = "Liverpool CEO Peter Moore on Building a Global Fanbase"
# standard "single-label" classification
label = clf . classify_label ( doc ) # 'business'
# multi-label classification
labels = clf . classify_multilabel ( doc ) # ['business', 'sports']Live_Testالذي يسمح لك باختبار نموذجك بشكل تفاعلي ورؤية الأسباب وراء قرارات التصنيف ، مع سطر واحد فقط من التعليمات البرمجية :
from pyss3 . server import Live_Test
clf = SS3 ()
clf . fit ( x_train , y_train )
Live_Test . run ( clf , x_test , y_test ) # <- this one! cool uh? :) كما هو موضح في الصورة أدناه ، سيتم فتح هذا ، محليًا ، أداة تفاعلية في متصفحك يمكنك استخدامها في (Live) اختبار النماذج الخاصة بك مع المستندات الواردة في x_test (أو الكتابة الخاصة بك!). سيسمح لك هذا بتصور وفهم ما يتعلمه نموذجك بالفعل.
على سبيل المثال ، قمنا بتحميل اثنين من هذه الاختبارات المباشرة عبر الإنترنت لكي تجربها: "مراجعة الفيلم (تحليل المشاعر)" و "تصنيف الموضوع" ، تم الحصول على كلاهما بعد البرامج التعليمية.
Evaluation ربما يكون هذا أحد أكثر المكونات المفيدة لـ PYSS3. كما يوحي الاسم ، يوفر هذه الفئة طرقًا سهلة الاستخدام لتقييم النماذج وتحسين المتقلب ، مثل ، على سبيل المثال ، test ، kfold_cross_validation ، طرق grid_search ، واتجاهات plot لإجراء الاختبارات ، والتحقيقات المتقاطعة في الطبقة الطبقية ، وتفتيش الشبكة لعمليات التحسين المفرط ، وتصور نتائج التقييم باستخدام مؤامرة ثلاثية الأبعاد. من المحتمل أن تكون إحدى ميزاتها الأكثر أهمية هي القدرة على تسجيل تاريخ التقييمات التي قمت بها تلقائيًا (وبشكل دائم). سيوفر لك ذلك الكثير من الوقت وسيسمح لك بتصور وتحليل أداء المصنف بشكل تفاعلي من حيث قيمها المفرطة المفرطة (وتحديد أفضل نموذج وفقًا لاحتياجاتك). على سبيل المثال ، دعنا نجرى بحثًا عن الشبكة مع التحقق من صحة 4 أضعاف على المداخل الثلاثة ، والنعومة ( s ) ، والأهمية ( l ) ، والعقوبة ( p ):
from pyss3 . util import Evaluation
best_s , best_l , best_p , _ = Evaluation . grid_search (
clf , x_train , y_train ,
s = [ 0.2 , 0.32 , 0.44 , 0.56 , 0.68 , 0.8 ],
l = [ 0.1 , 0.48 , 0.86 , 1.24 , 1.62 , 2 ],
p = [ 0.5 , 0.8 , 1.1 , 1.4 , 1.7 , 2 ],
k_fold = 4
) في هذا المثال التوضيحي ، ستأخذ s و l و p تلك القيم الست المختلفة لكل منها ، وبمجرد انتهاء البحث ، ستعود هذه الوظيفة (بشكل افتراضي) القيم المفرطة التي حصلت على أفضل دقة. الآن ، يمكننا أيضًا استخدام وظيفة plot لتحليل النتائج التي تم الحصول عليها في بحث الشبكة الخاص بنا باستخدام مؤامرة التقييم ثلاثية الأبعاد التفاعلية:
Evaluation . plot () في هذه المؤامرة ثلاثية الأبعاد ، تمثل كل نقطة تجربة/تقييم يتم إجراؤه باستخدام هذا المزيج المعين من القيم ( s و l و p ). أيضًا ، يتم رسم هذه النقاط بما يتناسب مع مدى جودة الأداء وفقًا للمقياس المحدد ؛ سيتم تحديث المؤامرة "على الطيران" عندما يحدد المستخدم مقياسًا مختلفًا للتقييم (الدقة ، الدقة ، الاستدعاء ، F1 ، إلخ). بالإضافة إلى ذلك ، عندما يتم نقل المؤشر عبر نقطة بيانات ، يتم عرض معلومات مفيدة (بما في ذلك تمثيل "مضغوط" لمصفوفة الارتباك التي تم الحصول عليها في تلك التجربة). أخيرًا ، تجدر الإشارة إلى أنه قبل عرض المؤامرات ثلاثية الأبعاد ، يقوم PYSS3 بإنشاء ملف HTML واحد ومحمول في مجلد المشروع الذي يحتوي على المؤامرات التفاعلية. يتيح ذلك للمستخدمين تخزين المؤامرات أو إرسالها أو تحميلها إلى مكان آخر باستخدام ملف HTML واحد. على سبيل المثال ، قمنا بتحميل اثنين من هذه الملفات لتشاهد: "تحليل المشاعر (مراجعات الأفلام)" و "تصنيف الموضوع" ، تم الحصول على مؤامرات التقييم أيضًا بعد البرامج التعليمية.
فقط اذهب إلى صفحة البدء: د
ببساطة استخدم:
pip install pyss3 شكرا لاهتمامك بالمشروع ، أنت !! أي نوع من المساعدة موضع ترحيب للغاية (رمز ، تقارير الأخطاء ، المحتوى ، البيانات ، الوثائق ، التصميم ، الأمثلة ، الأفكار ، التعليقات ، وما إلى ذلك) ، يتم الترحيب بالمشكلات و/أو السحب لأي مستوى من التحسينات ، من المطبع المطبعي الصغير إلى ميزات جديدة ، تساعدنا على جعل PYSS3 أفضل؟
تذكر أنه يمكنك استخدام زر "تحرير" (أيقونة "قلم رصاص") أعلى لتحرير أي ملف من هذا الريبو مباشرة على جيثب.
أخيرًا ، في حال كنت تخطط لإنشاء طلب سحب جديد ، للالتزام بهذا الريبو ، نتبع "القواعد السبعة لرسالة الالتزام الرائعة" من "كيفية كتابة رسالة التزام GIT" ، لذلك تأكد من أن ارتكابك تتبعها أيضًا.
(إذا كنت بحاجة إلى أي معلومات أخرى ، من فضلك ، لا تتردد في الاتصال بي - [email protected])
شكراً لهؤلاء الأشخاص الرائعين (مفتاح الرموز التعبيرية):
فلوريان Angermeir ؟ ؟ | مونيب فاياني ؟ ؟ | سوراب بورا ؟ | هوبرت بنيكي ؟ |
يتبع هذا المشروع مواصفات جميع المساهمين. مساهمات من أي نوع ترحيب!
الوثائق الكاملة
وثائق API
الورق preprint