تطبيع الأسماء والنصوص العربيةArabic name and text normalization
دالة واحدة مشتركة تحول الاسم أو النص إلى صيغة بحث موحدة: إزالة التشكيل والتطويل، توحيد الألف والياء والتاء المربوطة والهمزات، دمج «عبد»، توحيد «بن/ابن» وإزالة الألقاب ولواحق الشركات. النص الأصلي يُحفظ دائمًا.
الميزات التي تستخدمها: B02 الموكّلون والأطراف والعلاقات، B16 فحص تعارض المصالح، B29 المساعد القانوني (RAG)، B15 مكتبة الأنظمة واللوائح بإصداراتها
1الغرض والمصطلحات القانونية المرتبطة
الاسم الواحد يُكتب بصيغ كثيرة؛ بلا تطبيع يفشل البحث والتعارض والاستشهاد.
2المدخلات وأنواعها ومصادرها
نص عربي (قد يحوي أرقامًا عربية وتشكيلًا).
3المخرجات والحالات
نص موحد للبحث فقط. لا يُستخدم للعرض (دليل المساعد القانوني ص16).
4خطوات المعالجة بالتسلسل
- أرقام ٠–٩ ← 0–9.
- إزالة التشكيل والتطويل.
- أ إ آ ٱ ← ا؛ ى ← ي؛ ة ← ه؛ ؤ ← و؛ ئ ← ي.
- دمج «عبد ال…» ← «عبدال…».
- توحيد «ابن» ← «بن» ثم حذفها من سلسلة الاسم للمقارنة.
- حذف الألقاب (الشيخ، الدكتور…) ولواحق الشركات (شركة، مؤسسة، المحدودة، للتجارة…).
- ضغط المسافات.
5الشروط والفروع والاستثناءات
قوائم الألقاب واللواحق قابلة للتعديل. للأنظمة: لا حذف للألقاب؛ تطبيع الحروف فقط.
6Pseudocode كامل
Pseudocode
function normalize(s, mode="name"):
s = translate_digits(s)
s = remove(s, DIACRITICS + TATWEEL)
s = replace(s, {أ,إ,آ,ٱ}->ا, ى->ي, ة->ه, ؤ->و, ئ->ي)
s = regex_replace(s, "عبد\s+ال", "عبدال")
if mode == "name":
s = regex_replace(s, "\bابن\b", "بن")
tokens = [t for t in split(s) if t not in TITLES and t != "بن"]
tokens = [t for t in tokens if t not in COMPANY_SUFFIXES]
s = join(tokens)
return collapse_spaces(s).strip()7مثال اصطناعي خطوة بخطوة
| المدخل | الناتج |
|---|---|
| مُحمّد بن عبدالله العتيبي | محمد عبدالله العتيبي |
| محمد عبد الله العتيبي | محمد عبدالله العتيبي |
| شركة الاختبار للتجارة المحدودة | الاختبار |
| فاطمة | فاطمه |
8حالات الفشل والتعامل معها
نص فارغ ← فارغ. أحرف غير عربية ← تبقى.
9منع التكرار والتزامن
لا ينطبق.
10الصلاحيات والتدقيق والأمن
لا ينطبق.
11اختبارات الوحدات والتكامل والقبول
| المعرّف | النوع | السيناريو | النتيجة المتوقعة |
|---|---|---|---|
ALG-AN-01 | وحدة | كل صفوف المثال | مطابق |
ALG-AN-02 | وحدة | نص بأرقام عربية | لاتينية |
ALG-AN-03 | وحدة | تشغيل مرتين | الناتج ثابت |
12ما هو قاعدة تقنية وما هو قرار قانوني
| قاعدة تقنية (ينفذها المطور) | قرار قانوني (يعتمده مختص) |
|---|---|
| جدول التحويل | لا يوجد |