← voidwest    research notes

arabic tokenization system

Arabic Tokenization System
Mohammed Attia · ~2007
Arabic NLP tokenization finite-state morphology

the idea

tokenizer عربي modular و finite-state مبني على منصة XFST (Beesley & Karttunen, 2003).

عكس الـ tokenizers الإحصائية اللي تتعلم من البيانات، هذا نظام مكتوب يدوياً بقواعد صريحة لكشف الـ clitics والتحليل الصرفي وفك غموض الـ tokens.

architecture

three tokenization models

النموذج 1: tokenization من دون محلل صرفي. يستخدم clitic guesser، وهو finite-state transducer بأنماط مكتوبة يدوياً للـ proclitic prefixes والـ enclitic suffixes. يولّد كل تركيبات clitics الممكنة.

محول lexc صغير منفصل يتعامل مع أشكال clitics المنفصلة. هذا متين، يشتغل على أي كلمة بغض النظر عن تغطية القاموس، و modular، الـ tokenization والصرف مكونات مستقلة. المقايضة: الـ guesser غير حتمي، ينتج غموض توافقي (جملة من ثلاث كلمات قد تنتج 8 مسارات tokenization).

النموذج 2: tokenization مع تلميحات من المحلل الصرفي. الجذر مقيد بمدخلات المحلل الصرفي. ما اننفذ في الورقة؛ وُصف كتحسين مستقبلي يقلل الغموض على حساب الحاجة لتغطية قاموسية.

النموذج 3: tokenization معتمد على المحلل الصرفي. الجذر مقيد بالمدخلات الفعلية في قاموس المحلل الصرفي بدل التخمين. يقلل الغموض لكن يفقد المتانة: ما يقدر يسوي tokenization للكلمات غير المعروفة.

key engineering details

preprocessing: whitespace normalization

النص العربي يستخدم محارف مسافات متعددة (مسافات، أسطر جديدة، متغيرات مسافات خاصة بالعربي) بشكل غير منتظم، خاصة حول الترقيم والـ clitics. مطبّع finite-state يدمج المسافات لشكل قانوني قبل ما يبدأ الـ tokenization.

clitic demarcation with the kashida

خط التطويل العربي (الكشيدة، ـ) يُعاد استخدامه كعلامة تفريق. لما يقطع الـ tokenizer الـ enclitics، يُدخل كشيدة بين الجذر والـ clitic. هذا يحل الغموض بين proclitics والـ enclitics المتشابهة، وبين clitics متصلة صرفياً والكلمات المستقلة المتشابهة. مثال: كتابهم تصير كتابـهم، الكشيدة تشير إن الضمير متصل، مو كلمة منفصلة. استخدام ذكي لبنية مطبعية موجودة أصلاً.

post-processing: token filter

finite-state transducer مركب فوق الـ tokenizer الأساسي يعلّم الـ tokenizations غير المرغوبة بعلامة +undesired.

يستورد قوائم من محول MWE (حظر التجول → forbidden + walking) ومجموعة منتقاة يدوياً من التقسيمات غير المحتملة (مثلاً، بعد تنقسم لـ بـ + عد). الفلتر ما يسأل عن معلومات morpho-syntactic؛ يطابق الأشكال السطحية ضد أنماط غير مرغوبة معروفة.

multiword expressions

الـ MWEs مثل حظر التجول (curfew) تُعالج بإبقاء المسافات الداخلية كما هي، الـ tokenizer يطلعها كـ tokens مفردة. محول MWE مخصص يزود قائمة التعابير، ومرشح الـ token يحجب التحليلات التركيبية اللي كان سينتجها tokenizer غير حتمي.

Observation

الـ tokenization ممكن يكون modular. بفصل كشف clitics (guesser) عن التحليل الصرفي (القاموس)، النظام يصير متين وقابل للصيانة.

الـ guesser يتعامل مع الكلمات غير المعروفة؛ الفلتر ينقّي الضجيج. هذا عكس نهج "الـ tokenization مدمج في النموذج" ويستبق نقاشات NLP pipelines اللي للحين نشطة.

relevance today

finite-state approaches are alive in constrained settings

الـ tokenizers العصبية استبدلت أغلب أنظمة finite-state اليدوية للعربي. لكن المشاكل الهيكلية ما تغيرت: تكديس clitics العربي للحين يخلي BPE tokenizers تقطع زيادة (boundary precision لـ GPT-4o كانت 17%)، ومعمارية guess-and-filter تستبق pipelines حديثة من مرحلتين (over-generate + rerank). آلية الكشيدة للحين تظهر في خطوط معالجة Arabic NLP.

the modularity lesson

أنظف فكرة من هالورقة مو خوارزمية محددة، بل الحجة إن الـ tokenization لازم يكون قابل للفصل عن التحليل الصرفي. الـ guesser يتعامل مع مشكلة السلسلة السطحية (وين حدود الـ clitic؟)؛ المحلل يتعامل مع المشكلة اللغوية (وش معنى هذا الجذر؟). دمجهم ينتج أنظمة تفشل على الكلمات غير المعروفة. هذا الدرس ما وصل بالكامل لـ neural NLP، حيث الـ tokenization مدمج في معماريات النماذج وما يتغير إلا بإعادة التدريب.