معالجة اللغة الطبيعية باستخدام مكتبة هقنق فيس huggingface
تمت  الترجمة بواسطة عبد الإله المسفر
المقدمة
تتكون أحرف اللغة العربية من ٢٨ حرفا بالإضافة الى أحرف أخرى تتشكل عند جمعها مع الهمزة (ء). مثلا: أ، ؤ، ئ. مايميز اللغة العربية آيضا هو وجود التشكيل، مايجعل للكلمات معان مختلفة على الرغم من مشاركتها نفس الأحرف (عِقْد، عَقّد، عُقْد). مما يجعل عدد الأحرف يتخطى ٤٠ حرفا اذا ما اخذنا التشكيل بعين الإعتبار. عند كتابة اللغة العربية، تتصل الأحرف ببعضها بطريقة تختلف عن الشكل الأساسي للأحرف على حدة. مثلا: (ح ر ف) تتشكل عند الكتابة الى (حرف)، مما يجعل بعض مهام تعلم الآلة صعبة، مثل التعرف على الأشكال (OCR). من منظور بناء اللغة ، تعتبر اللغة العربية غنية من الناحية الشكلية, حيث يمكن إضافة العديد من البادئات واللواحق إلى جذع واحد. هناك نوعان من التشكل في اللغة العربية: الاشتقاقي والتصريف. علم التشكل الاشتقاقي شائع في اللغة العربية والذي يسمح باشتقاق كلمات متعددة من جذع واحد. من ناحية أخرى ، يمكن أن تضيف مورفولوجيا التصريف العديد من الأشكال إلى جذع واحد لإنشاء كلمات أطول ومعقدة. نتيجة لذلك، يمكن أن تحتوي الأفعال العربية على 5400 صيغة مختلفة. أدت هذه التركيبة الغنية إلى ظهور لهجات مختلفة تمامًا ومعقدة في جميع أنحاء العالم العربي. علاوة على ذلك ، فإن تعقيد اللغة يجعل نمذجة اللغة مهمة صعبة.
تطورات معالجة اللغة الطبيعية في اللغة العربية
قبل التطورات الحديثة في معالجة اللغة الطبيعية، كان هناك بعض التركيز على تحليل التشكل في اللغة العربية. والجدير بالذكر أنه تم إنشاء الكثير من الأدوات للتحليل الصرفي مثل التجزئة في فراسة FARASA 1 ومداميرا MADAMIRA 3. في وقت لاحق، بعد نجاح تقنيات تضمين الكلمات مثل Word2Vec ، تم إنشاء AraVec 5 ككلمة كبيرة جدًا يتم تضمينها في اللغة العربية واللهجات القياسية الحديثة. في الآونة الأخيرة مع التقدم في المحولات TRANSFORMERS ، تم تدريب العديد من النماذج مسبقًا على اللغة العربية مثل النموذج القائم على BERT ، مثل  AraBERT 4، والمتغيرات المحسنة MARBERT & ARBERT 3 ، وهو نموذج يعتمد على GPT-2  AraGPT-2 1 ، ونموذج يعتمد على ELECTRA AraELECTRA 3و GigaBERT باستخدام لغة بدون طلقة فهم من اللغة الإنجليزية. ناهيك عن نماذج المهام المحددة لمهام مختلفة مثل تحديد اللهجة واكتشاف الأخبار المزيفة وتحليل المشاعر والترجمة وما إلى ذلك.
بيانات ونماذج اللغة العربية في مكتبة هقنق فيس huggingface
يوجد حاليًا حوالي 50 مجموعة بيانات 1 للغة العربية تختص في مهام مختلفة مثل تحليل المشاعر ، تصنيف النص ، والإجابة على الأسئلة ، والترجمة ، والتدريب غير الخاضع للإشراف ، والتخصيص ، وما إلى ذلك. جميع نماذج المحولات في القسم السابق متوفرة في محور نماذج 8 مكتبة هقنق فيس huggingface. بالإضافة إلى ذلك ، يوجد حاليًا أكثر من 70 نموذجًا للغة العربية تتراوح من النماذج أحادية اللغة إلى النماذج متعددة اللغات التي تتعامل مع اللغة العربية الفصحى واللهجات.
المحولات العربية في مكتبة هقنق فيس huggingface
يمكننا استخدام وحدة مجموعات البيانات لتحميل أي مجموعة بيانات متاحة للغة العربية. في هذا المثال ، نستخدم مجموعة بيانات MetRec التي تحتوي على قصائد مصنفة من حيث الأمتار. في مقتطف الشفرة أدناه يمكننا تحميل مجموعة البيانات.

from datasets import load_dataset
dataset = load_dataset('metrec')


كما يمكننا أن نرى أن مجموعة البيانات تحتوي على 47124 سجلًا للتدريب و 8316 سجلًا للاختبار

DatasetDict({
train: Dataset({
features: ['text', 'label'],
num_rows: 47124
})
test: Dataset({
features: ['text', 'label'],
num_rows: 8316
})
})


يمكن أيضًا استخدام المحولات ذات الرموز المميزة بسهولة. فيما يلي مثال بسيط لتحميل بعض النماذج العربية التي تم اختبارها مسبقًا والرموز المميزة باستخدام المحولات.

    from transformers import AutoTokenizer, AutoModel
PRE_TRAINED_MODEL_NAME = 'aubmindlab/bert-base-arabertv01'

tokenizer = AutoTokenizer.from_pretrained(PRE_TRAINED_MODEL_NAME)
bert_model = AutoModel.from_pretrained(PRE_TRAINED_MODEL_NAME)


يمكنك القيام ببعض المهام المعقدة مثل التدريب والضبط كما يظهر في هذه الشروحات 20.


مصادر ذات صلة
نظرًا لتوسع محولات وأدوات تعانق الوجه إلى لغات متعددة ، يقوم المجتمع ببناء أدوات تعتمد على ذلك. في اللغة العربية ، مكتبة تنقيح 3 لتنظيف النصوص العربية يمكن استخدامها لإزالة علامات التشكيل والتطبيع والتجزئة والعديد من مهام المعالجة المسبقة الأخرى. يمكن للمكتبة معالجة مثيلات وحدة مجموعات البيانات. كما قامت CAMeL Tools 12 بدمج المحولات في واجهات برمجة التطبيقات الخاصة بها والتي يمكن استخدامها في العديد من المهام مثل تصنيف المشاعر.