تحدي التعرف على الكيانات متعددة اللغات
تحقق نماذج التعرف على الكيانات (NER) المدربة على اللغة الإنجليزية نتائج مثيرة للإعجاب - 85-92% من درجات F1 على المعايير القياسية. هل تطبق تلك النماذج نفسها على العربية أو الصينية؟ غالبًا ما تنخفض الدقة إلى 50-70%.
بالنسبة لكشف PII، فإن هذه الفجوة حرجة. تعني نسبة كشف 70% أن 30% من البيانات الحساسة تبقى غير محمية.
لماذا تفشل نماذج الإنجليزية
1. حدود الكلمات
الإنجليزية: الكلمات مفصولة بمسافات.
"جون سميث يعيش في نيويورك"
→ ["جون", "سميث", "يعيش", "في", "نيو", "يورك"]
الصينية: لا توجد حدود للكلمات على الإطلاق.
"张伟住在北京"
→ تحتاج إلى تقسيم أولاً: ["张伟", "住在", "北京"]
العربية: الكلمات متصلة، والحركات القصيرة غير مكتوبة.
"محمد يعيش في دبي"
→ نص متصل، من اليمين إلى اليسار، الحركات محذوفة
قواعد تقسيم الكلمات في الإنجليزية ببساطة لا تنطبق.
2. التعقيد الصرفي
الصرف الإنجليزي: بسيط نسبيًا
run → runs, running, ran
الصرف العربي: معقد للغاية (نظام الجذر والنمط)
كتب (k-t-b، جذر "يكتب")
→ كاتب (كاتب)، كتاب (كتاب)، مكتبة (مكتبة)، يكتب (هو يكتب)
جذر عربي واحد ينتج العشرات من الكلمات ذات الصلة. يجب أن تفهم نماذج NER هذا النظام الاشتقاقي.
3. تقاليد الأسماء
الأسماء الإنجليزية: الاسم الأول الاسم الأخير
جون سميث، ماري جونسون
الأسماء العربية: مكونات متعددة
محمد بن عبد الله بن عبد المطلب
(محمد ابن عبد الله ابن عبد المطلب)
الأسماء الصينية: اسم العائلة أولاً، غالبًا ما يتكون من 2-3 أحرف
张伟 (Zhang Wei) - 2 أحرف
欧阳修 (Ouyang Xiu) - 3 أحرف
4. اتجاه الكتابة
الإنجليزية: من اليسار إلى اليمين (LTR) العربية/العبرية: من اليمين إلى اليسار (RTL) نص مختلط: ثنائي الاتجاه (BiDi) - معقد للغاية
عندما يظهر اسم إنجليزي في نص عربي:
التقيت بـ جون سميث في المؤتمر
(التقيت بجون سميث في المؤتمر)
يختلف ترتيب العرض، والترتيب المنطقي، وترتيب العرض جميعها.
الدقة حسب اللغة
تختلف أداء NER في العالم الحقيقي بشكل كبير:
| اللغة | النص | نطاق F1-Score | مستوى التحدي |
|---|---|---|---|
| الإنجليزية | لاتينية | 85-92% | منخفض |
| الألمانية | لاتينية | 82-88% | منخفض |
| الفرنسية | لاتينية | 80-87% | منخفض |
| الإسبانية | لاتينية | 81-86% | منخفض |
| الروسية | سيريلية | 75-83% | متوسط |
| العربية | عربية | 55-75% | عالي |
| الصينية | هانزي | 60-78% | عالي |
| اليابانية | مختلط | 65-80% | عالي |
| التايلاندية | تايلاندية | 50-70% | مرتفع جدًا |
| الهندية | ديفاناغاري | 60-75% | عالي |
تحتفظ اللغات ذات الصرف المعقد، والنصوص غير اللاتينية، أو عدم وجود حدود للكلمات بأداء منخفض باستمرار.
نهج anonym.legal ذو الثلاثة مستويات
نحن نحل مشكلة NER متعددة اللغات من خلال ثلاثة مستويات متخصصة:
المستوى 1: spaCy (25 لغة)
لللغات ذات الموارد العالية مع نماذج جيدة:
- الإنجليزية، الألمانية، الفرنسية، الإسبانية، الإيطالية، البرتغالية
- الهولندية، البولندية، الروسية، اليونانية
- و15 لغة أخرى بدقة موثوقة
المستوى 2: Stanza (7 لغات)
لللغات ذات الصرف المعقد:
- العربية (صرف نظام الجذر والنمط)
- الصينية (تتطلب تقسيم الكلمات)
- اليابانية (نصوص متعددة)
- الكورية (ملصقة)
- و3 لغات أخرى
المستوى 3: XLM-RoBERTa (16 لغة)
لللغات ذات الموارد المنخفضة بدون نماذج مخصصة:
- التايلاندية، الفيتنامية، الإندونيسية
- الهندية، البنغالية، التاميلية
- العبرية، التركية، الفارسية
- والمزيد
كيف يعمل
نص الإدخال مع كشف اللغة
↓
[موجه اللغة]
↓
┌───────┴───────┐
↓ ↓
موارد عالية معقدة/موارد منخفضة
(spaCy) (Stanza/XLM-RoBERTa)
↓ ↓
└───────┬───────┘
↓
[تراكب Regex للبيانات الهيكلية]
↓
[دمج الثقة]
↓
الكيانات النهائية
تراكب Regex
بعض الأنماط مستقلة عن اللغة:
- عناوين البريد الإلكتروني:
[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,} - بطاقات الائتمان:
\d{4}[\s-]?\d{4}[\s-]?\d{4}[\s-]?\d{4} - أرقام الهواتف: أنماط متنوعة حسب البلد
نطبق regex أولاً للبيانات الهيكلية، بغض النظر عن اللغة.
معالجة النصوص من اليمين لليسار
تتطلب اللغات من اليمين لليسار معالجة خاصة:
خوارزمية النص الثنائي الاتجاه
عندما تحتوي العربية على الإنجليزية:
المرئي: المؤتمر في جون سميث بـ التقيت
المنطقي: التقيت بـ جون سميث في المؤتمر
معالجتنا:
- تطبيع إلى الترتيب المنطقي
- تشغيل NER على الترتيب المنطقي
- إعادة تعيين مواقع الكيانات إلى الترتيب المرئي
- إرجاع مواقع متسقة لأي عرض
كشف حدود الكيانات
حدود الكيانات العربية معقدة:
"محمد" - مجرد الاسم
"لمحمد" - "إلى محمد" (حرف جر ملحق)
"ومحمد" - "و محمد" (حرف عطف ملحق)
نقوم بإزالة اللواحق قبل NER وإعادة إرفاقها بعد ذلك.
تبديل الأكواد
النص الحقيقي غالبًا ما يخلط بين اللغات:
"El meeting con John es at 3pm"
(خلط الإسبانية والإنجليزية)
"我今天跟John去shopping"
(خلط الصينية والإنجليزية)
نهجنا:
- تقسيم النص حسب اللغة
- معالجة كل جزء بالنموذج المناسب
- دمج النتائج مع خريطة المواقع
معايير الأداء
اختبارات داخلية على مجموعات بيانات مختلطة اللغات:
| السيناريو | F1-Score |
|---|---|
| الإنجليزية فقط | 91% |
| الألمانية فقط | 88% |
| العربية فقط | 79% |
| الصينية فقط | 81% |
| خلط الإنجليزية والعربية | 83% |
| خلط الإنجليزية والصينية | 84% |
| خلط الإنجليزية والألمانية | 89% |
يحافظ نهجنا الهجين على دقة عالية حتى في اللغات الصعبة.
نصائح التنفيذ
لمستخدمي API
حدد اللغة عند معرفتها:
{
"text": "محمد بن عبد الله",
"language": "ar"
}
دعنا نكتشف تلقائيًا عند عدم معرفتها:
{
"text": "محمد بن عبد الله",
"language": "auto"
}
لمستخدمي تطبيق سطح المكتب
يكتشف التطبيق اللغة تلقائيًا لكل مستند. بالنسبة للملفات المختلطة اللغات، يعالج كل جزء بشكل مناسب.
لأنواع الكيانات المخصصة
يجب أن تأخذ الأنماط المخصصة في الاعتبار النصوص:
# معرف الموظف باللغة الإنجليزية
EMP-[0-9]{6}
# معرف الموظف باللغة العربية (يشمل الأرقام العربية)
موظف-[٠-٩0-9]{6}
الخاتمة
تفشل نماذج NER المدربة على الإنجليزية في النصوص غير الإنجليزية لأن اللغات تختلف جوهريًا في:
- حدود الكلمات (أو عدم وجودها)
- التعقيد الصرفي
- اتجاه الكتابة
- تقاليد الأسماء
يتطلب الكشف الفعال عن PII متعدد اللغات:
- نماذج خاصة باللغة للنصوص المعقدة
- أنماط Regex للبيانات الهيكلية
- معالجة صحيحة لـ RTL/BiDi
- دعم تبديل الأكواد
يدعم anonym.legal 48 لغة من خلال نهجنا ذو الثلاثة مستويات، محققين دقة متسقة عبر جميع اللغات.
جربه بنفسك:
المصادر: