مدقّق مواضع الكيانات المسمّاة العربية من Bayanat Labs
تنكسر وسوم الكيانات المسمّاة العربية بطرق يصعب رؤيتها: رمز تعبيري يجعل JavaScript وPython تعدّان المواضع بطريقتين مختلفتين، وخطوة تطبيع تحوّل الألف مع الهمزة المركّبة إلى حرف واحد أو حرف لام ألف المدمج إلى حرفين، وتطويل أو فواصل أسطر تتغير بعد الوسم، وحدّ امتداد يفصل الحرف عن حركته، وحرف عطف يلتصق باسم المكان. يقرأ المدقّق ملف الوسوم بصيغة JSON Lines القياسية أو doccano أو Label Studio أو spaCy أو CoNLL أو صفوف توكنات Hugging Face، ويذكر كل مشكلة برمز من 27 رمزًا للنتائج ورسالة بالعربية والإنجليزية، ويقترح مواضع جديدة للمراجعة في صورة فرق قابل للتدقيق حين يتبيّن ما حدث. وتُعلَن وحدة المواضع (نقاط الترميز أو وحدات UTF-16 أو بايتات UTF-8 أو العناقيد الكتابية) ولا تُخمَّن، ويذكر التقرير الوحدة التي تناسب النص. والمدقّق مكتبة Python وأداة سطر أوامر، وتطبيق ويب يُجري الفحوص نفسها داخل متصفحك دون رفع الملف أو تخزينه. وقد اختُبر على 100 حالة اختبار للتطوير و100 حالة للقبول منشورة بترخيص CC BY 4.0: نجحت حالات التطوير الـ100 كلها، و96 من حالات القبول الـ100.
| الترخيص | Apache-2.0 للشيفرة وتطبيق الويب، وCC BY 4.0 لحالات الاختبار ومصفوفة اصطلاحات المواضع والتوثيق، والبيانات المشتقة من Unicode بترخيص Unicode License v3 |
|---|---|
| الإصدار | v0.1.0 · الشيفرة وحالات الاختبار وتطبيق الويب v0.1.0، موسومة على GitHub، وغير موجودة على PyPI بعد. |
| تاريخ النشر | |
| آخر تحديث | |
| لمن هذا الإصدار | الفرق التي توسم بيانات الكيانات المسمّاة العربية أو تشتريها أو تسلّمها، والمهندسون الذين ينقلونها بين أدوات الوسم وشيفرة التدريب، ممن يريدون كشف أخطاء المواضع والتطبيع والحدود والوسوم قبل التدريب أو التسليم. |
| المستوى | متوسط |
أرقام رئيسية
تُحسب آليًا من الملفات المنشورة. يُقرأ كل رقم من ملف docs/qa/numbers.json الصادر عند الوسم v0.1.0، والذي يعيد سكربت المستودع نفسه حسابه، ويُربط بقيمة SHA-256 للملف. ويذكر ملف MANIFEST.json في مجموعة حالات الاختبار عدد الحالات لكل قسم وفئة مع بصماتها، ويسرد ملف MANIFEST.json في تطبيق الويب كل ملف يقدّمه مع قيمته.
التنزيل والمعرّفات
| المكان | المحتوى |
|---|---|
| Hugging Face | افتح تطبيق الويب |
| bayanatlabs.com | Python وسطر الأوامر |
| GitHub | الشيفرة وحالات الاختبار والمصفوفة على GitHub |
| Hugging Face | حالات الاختبار مجموعةَ بيانات على Hugging Face |
| GitHub | الفحوص ورموز النتائج |
| GitHub | تقرير الجودة |
| GitHub | مصفوفة اصطلاحات المواضع |
ابدأ الاستخدام
ثبّت المكتبة وأداة سطر الأوامر من GitHub عند وسم الإصدار v0.1.0، فالحزمة غير موجودة على PyPI بعد. أما تطبيق الويب فلا يحتاج إلى تثبيت.
pip install "git+https://github.com/Bayanat-Labs/arabic-ner-validator@v0.1.0"
arabic-ner-validator check annotations.jsonl --json report.json
arabic-ner-validator check export.jsonl --format doccano --offset-unit utf16 --clitic-policy exclude -v
arabic-ner-validator check train.conll --format conll --scheme BIOES
arabic-ner-validator convert export.jsonl --format spacy --offset-unit codepoint --to BILUO
arabic-ner-validator codes
ما الذي يتضمنه الإصدار
| الجزء | الترخيص | ضمن الإصدار |
|---|---|---|
| تطبيق الويب على Hugging Face Spaces: الفحوص نفسها داخل متصفحك، والواجهة بالإنجليزية والعربية | Apache-2.0 | نعم |
| مكتبة Python وأداة سطر الأوامر (arabic-ner-validator) لـ Python 3.10 أو أحدث، والمواضع بنقاط الترميز أو وحدات UTF-16 أو بايتات UTF-8 أو العناقيد الكتابية | Apache-2.0 | نعم |
| حالات الاختبار (للتطوير والقبول، ومتاحة أيضًا مجموعةَ بيانات على Hugging Face) وأمثلة المدخلات المرفوضة ومصفوفة اصطلاحات المواضع ومخططات JSON والتوثيق | CC BY 4.0 | نعم |
| قائمة انزياح التطبيع واختبارات حدود العناقيد الكتابية المشتقة من قاعدة بيانات محارف Unicode بإصداريها 16.0.0 و17.0.0 | Unicode License v3، وحقوق النشر لشركة Unicode | نعم |
| خط IBM Plex Sans Arabic في تطبيق الويب، دون تعديل (SIL Open Font License 1.1) | SIL Open Font License، وحقوق النشر لشركة IBM | نعم |
صيغة النسبة: Arabic NER Offset Validator (arabic-ner-validator) by Bayanat Labs. https://github.com/Bayanat-Labs/arabic-ner-validator
الاستخدامات المقصودة
- فحص ملف وسوم كيانات مسمّاة عربية قبل التدريب أو التسليم أو القبول، مع رمز لكل نتيجة.
- كشف المواضع المحسوبة بوحدة خاطئة، أو النص الذي تغيّر بعد الوسم، عند نقل البيانات بين doccano وLabel Studio وspaCy وCoNLL وصفوف توكنات Hugging Face.
- التحويل بين المواضع الحرفية ووسوم BIOES أو BILUO وفحص تسلسل الوسوم، في السكربتات والتكامل المستمر.
خارج النطاق
- الحكم على صحة تصنيف الكيان: يفحص المدقّق المواضع والنص والحدود وبنية الوسوم، لا معنى التصنيف.
- إصلاح البيانات دون مراجعة: تُسرد المواضع المقترحة في فرق قابل للتدقيق، ولا تغيّر النسخة المُصلَحة إلا المواضع.
الحقوق باختصار
التدريب والعرض وإعادة التوزيع وإنشاء الأصوات الاصطناعية أذونات منفصلة.
| الاستخدام | الحالة | ملاحظة |
|---|---|---|
| التدريب | لا ينطبق | مدقّق وحالات اختبار، وليست بيانات تدريب. وحالات الاختبار بترخيص CC BY 4.0 إذا أعدت استخدامها. |
| العرض | مسموح | حالات الاختبار والمصفوفة والتوثيق بترخيص CC BY 4.0 مع نسبتها إلى المصدر. |
| إعادة التوزيع | مسموح | الشيفرة بترخيص Apache-2.0، وحالات الاختبار والمصفوفة والتوثيق بترخيص CC BY 4.0، والبيانات المشتقة من Unicode بترخيص Unicode License v3، والخط المرفق بترخيص SIL Open Font License. |
| الصوت الاصطناعي | لا ينطبق | لا يتضمن ملفات صوتية. |
القيود
- يجب إعلان وحدة المواضع، فالمدقّق لا يخمّنها أبدًا.
- بعض التغييرات لا تترك أثرًا في السجل: حين يُطبَّع النص المخزَّن ونصوص الامتدادات كلاهما بعد الوسم، يذكر المدقّق عدم التطابق لكنه لا يستطيع تسمية السبب. ويشرح تقرير الجودة كل حالة قبول لم تنجح.
- تنجح 96 من حالات القبول الـ100، ونجحت 86 منها على الإصدار الذي جُمِّد قبل قراءة حالات القبول. والتغييرات التي أُجريت بعد قراءتها مذكورة في سجل التغييرات، ولم تُعدَّل أي حالة اختبار.
- يحصل الامتداد الذي ينتهي بعلامة ترقيم عربية على تحذير، وقد تسمح به إرشادات المشروع نفسه.
- حالات الاختبار جمل اصطناعية كُتبت لهذه المجموعات، بأسماء أماكن ومؤسسات وشخصيات عامة أو تاريخية أو أسماء متخيَّلة. لم يراجع النصَّ العربي بعدُ كاتبٌ لغته الأم العربية، والنص الإنجليزي هو المعتمد.
- ثبّت المدقّق من GitHub حاليًا، فالحزمة غير موجودة على PyPI بعد.
المصادر والتراخيص
| المصدر | الترخيص | يُعاد توزيعه هنا |
|---|---|---|
| Unicode Character Database 16.0.0 and 17.0.0 (UnicodeData.txt, DerivedNormalizationProps.txt, GraphemeBreakTest.txt) | Unicode License v3، والجداول المشتقة مرفقة مع الإشعار | نعم |
| spaCy 3.8.18, used as a test oracle for the BILUO conversions | MIT، ويُستخدم في الاختبارات فقط ولا يُرفق | لا |
| Label Studio and doccano source code, read for the offset-convention matrix | Apache-2.0 لـ Label Studio وMIT لـ doccano، ويُستشهد بها بالملف والسطر وبصمة SHA-256 دون تضمين أي شيفرة | لا |
كُتبت حالات الاختبار لهذا المدقّق: جمل اصطناعية بأسماء أماكن ومؤسسات وشخصيات عامة أو تاريخية أو أسماء متخيَّلة، ولا تصف أي جملة شخصًا حقيقيًا من الأفراد. وقيست مصفوفة اصطلاحات المواضع على 20 نصًا عربيًا اختباريًا باستخدام Python وJavaScript في Node وChromium وspaCy ومُجزِّئات Hugging Face السريعة، أما صفّا Label Studio وdoccano فقُرئا من شيفرتهما المصدرية ولم يُقاسا. تفاصيل المصادر (بالإنجليزية)
طريقة الاستشهاد
صيغة الاستشهاد:
Bayanat Labs (2026). Arabic NER Offset Validator (arabic-ner-validator), version 0.1.0. Bayanat Labs. https://github.com/Bayanat-Labs/arabic-ner-validator
لا يوجد معرّف DOI. استشهد بالرابط الوارد في صيغة الاستشهاد أعلاه وبتاريخ اطلاعك عليه.
@misc{bayanatlabs2026arabicnervalidator,
author = {{Bayanat Labs}},
title = {Arabic NER Offset Validator (arabic-ner-validator), version 0.1.0},
year = {2026},
month = oct,
howpublished = {\url{https://github.com/Bayanat-Labs/arabic-ner-validator}}
}
كيف نتعامل مع الاستشهاد (بالإنجليزية)
سجل التغييرات
| التاريخ | الإصدار | التغيير |
|---|---|---|
| v0.1.0 | مكتبة Python وأداة سطر الأوامر وحالات الاختبار ومصفوفة اصطلاحات المواضع على GitHub، وتطبيق الويب بالإنجليزية والعربية على Hugging Face Spaces، وحالات الاختبار مجموعةَ بيانات على Hugging Face. |
التصحيح وطلبات الإزالة
إذا وجدت في هذا الإصدار ما لا ينبغي وجوده أو ما يحتاج إلى تصحيح، فراسلنا على hello@bayanatlabs.com. نعالج طلبات الإزالة خلال 30 يومًا، وطلبات المنصات خلال 24 ساعة. كيف تعمل طلبات الإزالة
المنتج المرتبط: Bayanat Documents