
Delft ( de ep l compning f ramework for t ext) هو إطار keras و tensorflow لمعالجة النص ، مع التركيز على وضع العلامات التسلسل (على سبيل المثال ، وضع علامة على الكيان ، استخراج المعلومات) وتصنيف النص (مثل تصنيف التعليق). تقوم هذه المكتبة بإعادة وضع بنيات التعلم العميق الحديثة هذه ذات الصلة بمهام معالجة النصوص.
لدى Delft ثلاثة أغراض رئيسية:
تغطية النصوص والنصوص الغنية : معظم أعمال التعلم العميق الحالية في NLP تعتبر فقط نصوصًا بسيطة كمدخلات. بالإضافة إلى النصوص البسيطة ، فإننا نستهدف أيضًا نصًا غنيًا حيث ترتبط الرموز بتخطيط المعلومات (Font. Style ، وما إلى ذلك) ، والمواقف في المستندات المهيكلة ، وربما معلومات السياق المعجمية أو الرمزية الأخرى. عادةً ما يأتي النص من مستندات كبيرة مثل PDF أو HTML ، وليس فقط من شرائح مثل الجمل أو الفقرات ، ويبدو أن الميزات السياقية مفيدة للغاية. النص الغني هو المحتوى النصي الأكثر شيوعًا الذي يستخدمه البشر للتواصل والعمل.
استنساخ وقياس : من خلال تنفيذ العديد من المراجع/النماذج الحديثة لكل من مهام وضع العلامات وتصنيف النص ، نريد أن نقدم القدرة على التحقق من النتائج المبلغ عنها بسهولة وتقدير عدة طرق في نفس الظروف والمعايير.
مستوى الإنتاج ، من خلال تقديم إمكانيات الأداء المحسن والمتانة والتكامل ، نهدف إلى دعم القرارات الهندسية/المفاضلة والتطبيقات الناجحة على مستوى الإنتاج.
تشمل بعض المساهمات:
مجموعة متنوعة من بنية NLP الحديثة والمهام التي يتعين استخدامها بعد واجهة برمجة التطبيقات نفسها وتنسيقات الإدخال ، بما في ذلك RNN و Elmo و Transformers.
الحد من حجم نماذج RNN ، وخاصة عن طريق إزالة تضمينات الكلمات منها. على سبيل المثال ، انخفض نموذج مصنف التعليق السام من حجم 230 ميجابايت مع تضمينات إلى 1.8 ميغابايت. في الممارسة العملية ، يكون حجم جميع نماذج Delft أقل من 2 ميغابايت ، باستثناء طراز Ontonotes 5.0 NER وهو 4.7 ميغابايت.
تنفيذ دعم عام للميزات الفئوية ، المتوفرة في بنيات مختلفة.
استخدام مولد البيانات الديناميكي بحيث لا تحتاج بيانات التدريب إلى الوقوف تمامًا في الذاكرة.
تحميل وإدارة فعال لحجم غير محدود من التضمينات الساكنة قبل التدريب.
إطار تقييم شامل مع المقاييس القياسية لمهام وضع العلامات وتصنيف التسلسل ، بما في ذلك التحقق من صحة N-Fold.
تكامل محولات Huggingface كطبقات Keras.
تم تحقيق تكامل Java الأصلي للمكتبة في Grobid عبر JEP.
تم اختبار أحدث إصدار من Delft 0.3.4 بنجاح مع Python 3.8 و TensorFlow 2.9.3. كما هو الحال دائمًا ، فإن GPU (S) مطلوبة لوقت التدريب اللائق. على سبيل المثال ، يعمل GeForce GTX 1050 Ti (4GB) بشكل جيد للغاية لتشغيل نماذج RNN ونماذج قاعدة Bert أو Roberta. لا يمثل استخدام نموذج Bert كبير مشكلة مع GeForce GTX 1080 TI (11 جيجابايت) ، بما في ذلك التدريب مع حجم الدُفعة المتواضع. باستخدام وحدات معالجة الرسومات المتعددة (التدريب والاستدلال) يتم دعمها.
تفضل بزيارة وثائق Delft للحصول على معلومات مفصلة عن التثبيت والاستخدام والنماذج.
تتوفر حزم PYPI للإصدارات المستقرة. أحدث إصدار مستقر هو 0.3.4 :
python3 -m pip install delft==0.3.4
لتثبيت Delft واستخدم الإصدار الرئيسي الحالي ، احصل على Github Repo:
git clone https://github.com/kermitt2/delft
cd delftيُنصح بإعداد بيئة افتراضية أولاً لتجنب الوقوع في أحد هذه الأهوار التبعية القاتمة:
virtualenv --system-site-packages -p python3.8 env
source env/bin/activateتثبيت التبعيات:
python3 -m pip install -r requirements.txtأخيرًا قم بتثبيت المشروع ، ويفضل أن يكون ذلك في حالة قابلة للتحرير
python3 -m pip install -e .انظر وثائق Delft للاستخدام.
موزعة تحت رخصة Apache 2.0. يتم توزيع التبعيات المستخدمة في المشروع أيضًا بموجب ترخيص Apache 2.0 أو توزيعها بموجب ترخيص متوافق.
إذا كنت تساهم في Delft ، فأنت توافق على مشاركة مساهمتك بعد هذه التراخيص.
الاتصال: باتريس لوبيز ([email protected]) ولوكا فوببيانو (lfoppiano).
إذا كنت ترغب في هذا العمل ، فيرجى الرجوع إلى مشروع GitHub الحالي ، إلى جانب المعرف الدائم على مستوى المشروع على مستوى المشروع. على سبيل المثال ، مع bibtex:
@misc { DeLFT ,
title = { DeLFT } ,
howpublished = { url{https://github.com/kermitt2/delft} } ,
publisher = { GitHub } ,
year = { 2018--2024 } ,
archivePrefix = { swh } ,
eprint = { 1:dir:54eb292e1c0af764e27dd179596f64679e44d06e }
}