fastText ، وكيفية استخدامه لتحليل النص؟

نحن نستخدم جميعًا facebook ويجب أن يكون لديك جميع الخبرة في وقت ما من خلال قيامك ببعض المنشورات ويبدأ facebook في عرض إعلانات ذات صلة بهذا الشيء تمامًا.

على سبيل المثال ، إذا قمت بإنشاء منشور على Facebook ، فأنت ستنهي مهمتك لتبدأ بعض المشاريع الجديدة لك ، وفجأة يبدأ facebook في عرض إعلانات مثل هذه -

فكيف يعرف فيس بوك بالضبط ما الذي سيظهر؟

حسنًا ، إنه سحر مكتبة النص السريع في NLP.

FastText هي مكتبة مفتوحة المصدر وخفيفة الوزن ومفتوحة مؤخرًا تم الحصول عليها من Facebook.FastText هي مكتبة أنشأها فريق Facebook Research Team لتعلم كيفية تمثيل الكلمات وتصنيف الجمل بطريقة فعالة.

اكتسبت هذه المكتبة الكثير من الاهتمام في مجتمع البرمجة اللغوية العصبية (NLP) لأنها أظهرت نتائج رائعة في مجالات NLP المختلفة.

كيفية استخدامها؟

سأخبرك في هذه المقالة عن كيفية استخدامها لتصنيف النص.

الخطوة 1: وضع البيانات الخاصة بك في الشكل الصحيح

من المهم جدًا أن يكون لدى fastText بيانات بتنسيق صحيح محدد.

التنسيق:

_label_0 your_text

هنا يجب استخدام كلمة _label_ كما هي.

"0" تخبر العلامة الخاصة بك. (القيمة الموجودة في عمود التصنيف لهذا الصف المحدد)

"your_text" هو النص الذي ترغب في تدريب المصنف الخاص بك.

في الكود المذكور أعلاه ، أوضحت الطريقة لكيفية فتح ملف جديد 'train.txt' للكتابة وكتابة ملف بياناتك فيه.

الخطوة 2: استنساخ الريبو

بعد ذلك نحتاج إلى استنساخ ريبو fastText في دفتر ملاحظاتنا لاستخدام وظائفه.

معرف الريبو: https://github.com/facebookresearch/fastText.git

بعد الاستنساخ ، اتبع الخطوات التالية:

تأكد من وجود ملف "train.txt" داخل مجلد fastText الذي تم إنشاؤه عن طريق استنساخ الريبو.

الخطوة 3: التلاعب بالأوامر

الآن نموذجك جاهز للتدريب ، قم بإعطاء الأمر التالي لتدريب مصنفك-

. / fasttext تحت الإشراف -إدخال train.txt- الإخراج <المسار لحفظ النموذج>

-label __label__ -lr 0.1-epoch 40

الوسائط التالية إلزامية:

  • مسار ملف التدريب المدخلات
  • مسار إخراج ملف الإخراج

يمكنك اللعب مع هذه المعلمات لضبط النموذج الخاص بك (تأكد من استخدام شرطة (-) قبل استخدام أي وسيطة)

قدمت حجة دون اندفاعة!

الاستعمال:

الوسائط التالية اختيارية:

  • مستوى الجدل المطلق [2]

الوسائط التالية للقاموس اختيارية:

  • -عدد حساب الحد الأدنى لعدد مرات حدوث الكلمة [1]
  • -minCountLabel الحد الأدنى لعدد مرات ظهور الملصقات [0]
  • -wordNgrams أقصى طول الكلمة ngram [2]
  • عدد الدلاء من الدلاء [2000000]
  • - دقيقة واحدة من طول char ngram [0]
  • الحد الأقصى لطول char ngram [0]
  • الحد الأدنى لأخذ العينات [0.0001]
  • بادئة علامات التسمية [__label__]

الوسائط التالية للتدريب اختيارية:

  • معدل التعلم -lr [0.1]
  • -lrUpdateRate يغير معدل التحديثات لمعدل التعلم [100]
  • - الحد الأدنى لحجم متجهات الكلمات [100]
  • - حجم نافذة السياق [5]
  • - عدد مرات الحقبة [40]
  • عدد السلبيات التي تم أخذ عينات منها [5]
  • وظيفة فقدان الخسارة {ns، hs، softmax، one-all-all} [softmax]
  • عدد مؤشرات الترابط من [12]
  • -مترجم على ناقلات ناقلات الكلمات قبل التعلّم الخاضعة للإشراف []
  • -حفظإخراج ما إذا كان يجب حفظ المعلمات الإخراج [خطأ]

الوسائط التالية لتقدير الحجم اختيارية:

  • عدد قطع الكلمات و ngrams للاحتفاظ بها [0]
  • -تراجع عما إذا كان يتم الانتهاء من حفلات الزفاف إذا تم تطبيق قطع [صحيح]
  • - qnorm ما إذا كان المعيار كميا بشكل منفصل [خطأ]
  • - معرفة ما إذا كان المصنف مقيسًا
  • - حجم فرعي لكل ناقل فرعي [2]

الخطوة 4: التنبؤ باستخدام النموذج المحفوظ

الأمر التالي هو اختبار النموذج على مجموعة بيانات اختبار مُعلَّقة مسبقًا ومقارنة الملصقات الأصلية بالتسميات المتوقعة وإنشاء درجات تقييم في شكل قيم الدقة والاستدعاء.

الدقة هي عدد التسميات الصحيحة بين التسميات التي توقعها fastText. الاستدعاء هو عدد التسميات التي تم التنبؤ بها بنجاح.

. / fasttext test   k

تأكد من أن ملف الاختبار هو أيضًا بنفس تنسيق ملف القطار.

لتوقع تسميات جديدة:

. / توقع النص السريع <المسار إلى النموذج> <المسار إلى اختبار الملف> k> <المسار إلى ملف التنبؤ>

حيث تشير k إلى أن النموذج سيتنبأ بالتسميات k العليا لكل مراجعة.

التسميات المتوقعة للمراجعات أعلاه هي كما يلي:

__label__2
__label__1
__label__2
__label__2
__label__2
__label__2
__label__2
__label__2
__label__1
__label__2
__label__2

يمكن بعد ذلك استخدام ملف التنبؤ لأغراض التحليل والتصور المفصلة.

لقد أظهر fastText نتائج رائعة في مجالات أخرى مثل تمثيل الكلمات وما إلى ذلك والتي سيتم تغطيتها في المقالات القادمة.

شكرا لكم على قراءة هذا المقال.