بحوث في اللسانيات الحاسوبية

مقاربة صرفية إحصائية للتشكيل الآلي

عز الدین مزروعي وآخرون

الخلاصة. نقدم في هذه الورقة برنامجا للتشكیل الآلي للجمل العربیة. یقوم هذا البرنامج في المرحلة الأولى بتحلیل صرفي لكلمات الجملة خارج السیاق من أجل الحصول على جمیع الأوزان الممكنة لكل كلمة. تأتي بعد ذلك المرحلة الثانیة التي یتم خلالها اختیار وزن وحید من بین الأوزان الممكنة لكل كلمة بالاعتماد على نماذج ماركوف وخوارزمیة فیتربي. ويعتبر هذا البرنامج أحد التطبيقات المستفادة من برنامج الخليل الصرفي مفتوح المصدر. وقد تم تدريب البرنامج على نصوص مشكولة واختباره على نصوص غير مشكولة حيث بلغت نسبة نجاحه عند التقييم 79.5% على مستوى الكلمات و 91.8% على مستوى الحروف.

الكلمات الجوهرية:  التشكيل الآلي، التحليل الصرفي، نماذج ماركوف، خوارزمية فيتربي

1        مقدمة

من أهم الصعوبات التي تواجهها المعالجة الآلية للغة العربية غياب علامات التشكيل في معظم النصوص العربية [1]. ينتج عن هذا الغياب لبس على مستوى قراءة النصوص حيث أن معاني الكلمة الواحدة تتعدد بتعدد القراءات. فكلمة  “كتب”مثلا تحتمل أن تقرأ : كَتَبَ وكَتَّبَ وكُتِبَ و كُتُبٌ  إلخ..

وفي الوقت الذي يتمكن فيه أي متعلم مبتدئ للغة الإنجليزية من قراءة كلماتها بشكل صحيح بسبب الحضور الدائم للصوائت في الكلمات، فإن المتعلم المبتدئ للغة العربية يستعصي عليه الأمر حين تكون النصوص غير مشكولة. فالقراءة السليمة للجملة العربية تستوجب وضع علامات التشكيل على حروف الكلمات اعتمادا على سياقها داخل الجملة وهذا يتطلب معرفة متقدمة للغة العربية. 

یسبب غیاب علامات التشكیل في مجال المعالجة الآلیة للغة العربیة معضلة كبیرة لمجموعة من البرمجیات المعاصرة التي تهتم بمجالات من قبیل التركیب والدلالة والنطق الآلي [2]. ولذلك نشأت الحاجة الملحة لإنجاز برامج تقوم بعملیة التشكیل الآلي للنصوص العربیة فظهرت في السنوات الأخیرة مجموعة من البرمجیات تعُنى بالتشكیل الآلي أنجزتها شركات عالمیة ومراكز أبحاث. فقد  قامت الشركة الهندسیة لتطویر نظم الحاسبات RDI بتطوير نظام التشكيل الآلي للنصوص العربية ArabDiac [3] . كما طورت كل من شركة صخر وشركة إنفو آرب وشركة سیمو الفرنسیة برامجها الخاصة للتشكیل الآلي. ومع بدایة هذه السنة، أضافت شركة غوغل ضمن خدماتها مشكلا آليا للنصوص العربیة [4] أكادیمیا، نسجل قیام مدینة الملك عبد العزیز للعلوم والتقنیة بتعاون مع جامعة الملك فهد للبترول والمعادن وجامعة الملك سعود ووزارة الدفاع والطیران بتطویر ثلاث نظم للتشكیل الآلي بناء على ثلاث مقاربات. اعتمدت المقاربة الأولى [5] على نماذج ماركوف الخفية (HMM) فیما استعملت خوارزمیة فیتربي(Viterbi)   في المقاربة الثانیة  [6] وارتكز النظام الثالث على عملیة إحصائیة تعتمد على أعلى نسبة حضور تسلسل حركات تشكیل مع تسلسل حروف معین [7]. وأخیرا نشير إلى وجود أنظمة للتشكیل الآلي قام بتوطیرها مجموعة من الباحثین بالإضافة إلى بعض المحاولات الفردیة لباحثین قاموا بوضع تصورات للمراحل الواجب قطعها من أجل إنجاز برنامج للتشكیل الآلي  ([8]، [9] ، [10]، [11] ، [12] ،[13]،[14]).

إن المشكل الآلي الذي قمنا بتطويره يشتغل على مرحلتين. يقوم في المرحلة الأولى بتحليل صرفي للكلمات اعتمادا على برنامج الخليل الصرفي الذي تم تطويره بتعاون بين جامعة محمد الأول وجدة-المغرب ومنظمة ألكسو (المنظمة العربية للتربية والثقافة والعلوم) ومدينة الملك عبد العزيز للعلوم والتقنية. يقوم هذا البرنامج بتقطيع الكلمة إلى لبناتها الصرفية الأساسية من سابق وجذع ولاحق قصد تحديد مجموعة من المعلومات الصرفية المحتملة للكلمة. نعتمد في المرحلة الثانية على نماذج ماركوف الخفية وخوارزمية فيتيربي من أجل تحديد التشكيل الصحيح للكلمات داخل الجملة.

2        برنامج الخليل الصرفي

قام مخبر البحث في الإعلاميات بجامعة محمد الأول بوجدة-المغرب بتعاون مع منظمة ألكسو ومدينة الملك عبد العزيز للعلوم والتقنية بتطوير برنامج مفتوح المصدر يُعْنى بالتحليل الصرفي للكلمات. وقد تمت تسميته برنامج الخليل الصرفي (Alkhalil Morpho Sys). يقوم هذا البرنامج بإعطاء تحليل صرفي للكلمات العربية وذلك بتحديد:

  • حالات التشكيل الممكنة للكلمة
  • الزوائد التي تلحق بها (السوابق واللواحق)
  • نوع الكلمة: اسم أو فعل أو أداة
  • وزن الكلمة مشكولا (في حالة الأسماء والأفعال)
  • جذعها
  • جذرها (في حالة الأسماء والأفعال)
  • حالتها الإعرابية (في حالة الأسماء والأفعال).

من أجل استخلاص هذه الصفات الصرفية، تعتمد خوارزمية البرنامج على قوانين النحو والصرف، وعلى قواعد المعطيات التالية:

  • قاعدة معطيات السوابق واللواحق
  • قاعدة معطيات بالأدوات
  • قاعدة معطيات  بأسماء الأعلام
  • قاعدة معطيات تضم الأوزان غير المشكولة
  • قاعدة معطيات تضم الأوزان المشكولة
  • قاعدة معطيات تضم الجذور العربية مرفقة بأوزان مشتقاتها.

يمكن تحميل النسخة المصدرية لبرنامج الخليل الصرفي من العنوان التالي:

http://sourceforge.net/projects/alkhalil/

3        المشكل الآلي

تقوم الفكرة الأساس التي بُنِيَّ عليها البرنامج على تحديد الأوزان المشكولة لكلمات الجملة  عوض البحث مباشرة عن تشكيل هذه الكلمات. فيما يخص الكلمات التي لا وزن لها (من قبيل الحروف، الضمائر, أسماء الأعلام, ….) فإن البرنامج يقوم بتحديد حركات حروفها بشكل مباشر. ويرجع الاهتمام بالأوزان عوض الكلمات لسببين وجيهين:

السبب الأول: باستقراء طبيعة جمل اللغة العربية نلاحظ وجود علاقات دقيقة تحكم تسلسل الأوزان. فمثلا التسلسل ” فَعَلَ + مُحَمَّدٌ + فُعَالاً “(تسلسل الجملة ” سأل محمد سؤالا” والجملة “باع محمد قماشا”) جد شائع، في حين يندر وجود جمل في اللغة العربية تطابق التسلسل ” فَعَلَ + فَعَلَ +فَعَل”.

 السبب الثاني: تبقى أي ذخيرة تستعمل لتدريب النظام محدودة مهما كبر حجمها لأنها لا يمكن أن تستوعب جميع جمل اللغة العربية وينتج عن هذا إشكال أثناء اختبار البرنامج على جمل لم يسبق له التدرب عليها. في حين يمكن للبرنامج أن يعالج باستعمال الأوزان جملا لم يتدرب عليها حَالَمَا يوجد ضمن ذخيرة التدريب تسلسل للأوزان يتطابق مع تسلسل أوزان الجملة المراد اختبارها. فعلى سبيل المثال إذا تضمنت ذخيرة التدريب الجملة ” سأل محمد سؤالا ” فإنه يمكن للبرنامج اختبار الجمل التالية: ” باع زيد قماشا” و  ” دعا أحمد دعاء” إلخ… حتى وإن لم تكن ضمن ذخيرة التدريب وذلك راجع لكون تسلسلاتها متطابقة مع تسلسل الجملة ” باع محمد قماشا”. 

كما أشرنا في المقدمة يشتغل البرنامج على مرحلتين. يقوم في المرحلة الأولى بتحليل صرفي للكلمات اعتمادا على برنامج الخليل الصرفي مما يعطي حلولا متعددة لكل كلمة. ثم نقوم بعد ذلك في المرحلة الثانية باستعمال نماذج ماركوف الخفية وخوارزمية فيتيربي من أجل اختيار الحل الأنسب بين الحلول الصرفية المتعددة والذي من خلاله نحصل على التشكيل الصحيح للكلمات داخل الجملة.

3.1      المرحلة الأولى

نقوم في هذه المرحلة بتحليل صرفي لجميع كلمات الجملة. وتتم هذه العملية باستعمال برنامج الخليل الصرفي الذي يُمَكِّنُنَا من الحصول على لائحة الأوزان المشكولة الممكنة لكل كلمة مصحوبة بسابق ولاحق الكلمة الخَاصَّيْن بكل وزن. وبالنسبة للكلمات التي لا وزن لها فإننا:

  • نعوض الوزن بنوع الكلمة في حالة الأدوات (الحروف وأسماء الشرط والأسماء الموصولة وأسماء الإشارة والظروف والضمائر).
  • وفي حالة الأعلام نعوض الوزن بكلمة “اسم علم”.

مثال: رحل سالم إلى المدينة

رحلسالمإلىالمدينة
سالوزنقسالوزنقسالوزنقسالوزنق
#فَعْل 5 ح.إ##اسم علم ح.إ##حرف جر#اَلْفَعِيلَة 3 ح.إ 
#فِعَل 5 ح.إ##فَاعِل 5 ح.إ#   اَلْمُفَعِّلَة 3 ح.إ 
#فَعَّلَ##فَاعَلَ#   اَلْمُفِعْلَة 3 ح.إ 
#فَعَلَ##فَاعِلْ#   اَلْمُفَعَّلَة 3 ح.إ 
#فُعِّلَ## #   اَلْمَفِعْلَة 3 ح.إ 
#فُعِلَ## #   اَلْمِفْعَلَة 3 ح.إ 
#فَعِّلْ## #      
عدد الحالات: 15عدد الحالات: 8عدد الحالات: 1عدد الحالات: 18

س: سابق

ق: لاحق

ح.إ: الحالات الإعرابية

3.2      المرحلة الثانية

كما هو واضح في المثال أعلاه، فإن التحليل الصرفي لكل كلمة على حدة يعطي في الغالب حلولا متعددة. ومن أجل اختيار حل واحد لكل كلمة من الجملة، قمنا بإنشاء نموذج إحصائي لتسلسل أوزان الكلمات بالاعتماد على نماذج ماركوف الخفيةHMM  [15]، حيث يتم اختيار الحل الأكثر رجحانا لكل كلمة باستخدام خوارزمية فيتربي [16] التي ترجح حلا لكلمة ما بناء على الحلول التي تم اختيارها للكلمات السابقة. وفي ما يلي نعرض للنموذج الإحصائي المعتمد بشيء من التفصيل:

لتكن المجموعة   O = {o1, …, oM}مجموعة منتهية من “المشاهدات” Observations))

ولتكن S = {s1, …, sN} مجموعة منتهية من الحالات الخفية  (Hidden States)

تعريف:

نموذج ماركوف الخفي من الرتبة الأولى هو كل زوج من السلاسل  بحيث:

  •  : عبارة عن سلسلة ماركوف متجانسة (homogeneous Markov chain) تأخذ قيمها في مجموعة الحالات الخفية S

حيث:

تعبر  عن احتمال المرور من الحالة  إلى الحالة   

  • بينما تأخذ السلسلة  قيمها في مجموعة المشاهدات  O  بحيث:

 وتعبر  عن احتمال مشاهدة  مع العلم بتحقق .

وفي هذا النموذج فإن مجموعة المشاهدات تعبر عن كلمات الجملة العربية المراد تشكيلها بينما تعبر مجموعة الحالات الخفية عن الأوزان المشكولة المحتملة لهذه الكلمات بالإضافة إلى الأدوات مشكولة (الحروف وأسماء الشرط والأسماء الموصولة وأسماء الإشارة والظروف والضمائر) وكلمة علم.

وفي ما يلي نبين كيف استخدمنا هذا النموذج لغرض الاستخلاص الآلي لتشكيل أوزان الكلمات العربية في سياقها داخل الجملة.

لنفرض على سبيل المثال جملة عربية على الشكل: ، ولتكن المجموعة  مجموعة الأوزان العربية المشكولة. انطلاقا من هذه الفرضيات، فإن مسألة تحديد الأوزان المشكولة الصحيحة في هذه المرحلة من المعالجة تتمثل في إيجاد مجموعة الأوزان المشكولة  التي تحقق المعادلة التالية:

وبما أن:

فإن التسلسل   يحقق:

وهي المعادلة التي يمكن أن تكتب على الشكل التالي:

حيث ترمز المجموعة  إلى مجموعة الأوزان المشكولة المحتملة الناتجة عن تحليل الكلمة .

ونقوم بحل هذه المعادلة عن طريق البحث عن المسار الأكثر رجحانا في شبكة الحلول الناتجة عن التحليل الصرفي للكلمات خارج سياقها كما هو مبين في الشكل التالي:

الشّكل1. شبكة الأوزان المشكولة المحتملة الناتجة عن تحليل الجملة W1…,Wn

حيث تعتبر خوارزمية فيتربي [16] وسيلة فعالة للبحث عن المسار الأكثر رجحانا.

وفي ما يلي نضع:

وتعبر  عن قيمة احتمال المسار الجزئي الأرجح الذي يمر من الجذر       (  ينتمي لمجموعة الأوزان المشكولة المحتملة للكلمة ).

ويمكن أن نكتب المعادلة السابقة على الشكل التالي:

وتسمح لنا المعادلة الأخيرة بحساب قيم الدالة  بصيغة تراجعية.

ومن أجل التعرف على المسار الأرجح فإننا نعرف دالة  تسمح في كل لحظة t  بتخزين الوزن المشكول الذي يحقق أكبر قيمة للمعادلة السابقة (*). 

نعرف   كما يلي:

 مع ملاحظة أن:

 هاتان المعادلتان (*) و (**) تسمحان لنا بإيجاد المسار الأرجح عن طريق الخوارزمية التراجعية التالية:

  • المرحلة الأولى: 1 ≤ k ≤ n1 

حساب  : احتمال أن تبدأ الجملة بالكلمة  ويكون وزنها المشكول  

  • المرحلة الثانية : 2 ≤ t ≤ n      و    1 ≤ k ≤ nt  
  • المرحلة الثالثة:
  • المرحلة الرابعة:    

                                                t = n-1 :1 

4        مرحلة التدريب

تحتاج “بارامترات” هذا النموذج المتمثلة في قيم المصفوفتين ( ) =  Aو  ( )  B = إلى عملية تقييم -خلال مرحلة تدريب النظام- بالاعتماد على ذخيرة لغوية كافية.

فلو اعتبرنا ذخيرة لغوية  مكونة من عدد كبير من الجمل، فإن عملية تدريب النظام تتلخص في تقييم “البارامترات” على الشكل التالي:

5        التقييم

بخصوص الذخيرة اللغوية التي استخدمنا لتدريب برنامج التشكيل الآلي، فقد كانت مكونة من ما يربو على 30.000 كلمة مشكولة. تم استقاؤها من ذخيرة مشروع NEMLAR  [17]. وقد أدى اختبار البرنامج على نصوص غير مشكولة إلى نسبة نجاح بلغت 79.5% على مستوى الكلمات  و 91.8% على مستوى الحروف.

6        الخاتمة

قدمنا في هذه الورقة برنامجا للتشكیل الآلي للجمل العربیة يستند على برنامج الخليل الصرفي مفتوح المصدر.  تتكون المقاربة المقترحة من مرحلتين تهتم الأولى بالتحلیل صرفي للكلمات خارج السیاق من أجل الحصول على جمیع الأوزان الممكنة لكل كلمة. تأتي بعد ذلك المرحلة الثانیة التي یتم خلالها اختیار وزن وحید من بین الأوزان الممكنة لكل كلمة بالاعتماد على نماذج ماركوف وخوارزمیة فیتربي. وتعتبر نتيجة تقييم البرنامج جد مشجعة بالنظر للحجم المحدود لذخيرة التدريب. وفي الوقت الحالي نعمل على توفير ذخيرة لغوية أكبر آملين أن نتيح مصدر البرنامج مستقبلا للباحثين.

المراجع

[1]Fathi DEBILI, Hadhemi ACHOUR “Voyellation automatique de l’arabe” in Proceedings of the workshop on Computation approaches to Semitic languages, COLING-ACL ’98., Montréal, 1998.
[2]Mona Diab, Mahmoud Ghoneim, Nizar Habash “Arabic Diacritization in the Context of Statistical Machine Translation” In Proceedings of the Machine Translation Summit (MT-Summit), Copenhagen, Denmark, September 2007
[3]M. Attia, Theory and Implementation of a Large-Scale Arabic Phonetic Transcriptor, and Applications, PhD thesis, Dept. of Electronics and Electrical Communications, Faculty of Engineering, Cairo University, Sept. 2005.
[4]Google Labs, Tashkeel, http://tashkeel.googlelabs.com/ , 2010.
[5]Elshafei, Mustafa, Husni Almuhtasib and Mansour Alghamdi, “Machine Generation of Arabic Diacritical Marks”, The 2006 World Congress in Computer Science Computer Engineering, and Applied Computing . Las Vegas, USA. 2006.
[6]Elshafei, Mustafa, Husni Almuhtasib and Mansour Alghamdi, “Statistical Methods for Automatic Diacritization of Arabic Text“, The Saudi 18th National Computer Conference . Riyadh. 18: 301-306.
[7]Alghamdi, M. and Zeeshan M.   “KACST Arabic Diacritizer”. The First International Symposium on Computers and Arabic Language, Riyadh  2007
[8]M. Attia, M. Rashwan, A Large-Scale Arabic PoS Tagger Based on a Compact Arabic PoS Tags- Set, and Application on the Statistical Inference of Syntactic Diacritics of Arabic Text Words, Proceedings of the Arabic Language Technologies and Resources Int’l Conference; NEMLAR, Cairo, 2004.
[9]Mohsen Rashwan, Mohammad Al-Badrashiny, Mohamed Attia and Sherif Abdou, “A Hybrid System for Automatic Arabic Diacritization”  MEDAR 2009
[10]Rani Nelken and Stuart M. Shieber “Arabic Diacritization Using Weighted Finite-State Transducers” 2005
[11]Sankaranarayanan Ananthakrishnan, Shrikanth S. Narayanan Srinivas Bangalore “Automatic Diacritization of Arabic Transcripts for Automatic Speech Recognition” 2005.
[12]D. Vergyri and K. Kirchhoff, ‘Automatic diacritization of Arabic for Acoustic Modeling in Speech Recognition’. In Proceedings of the Workshop on Computational Approaches to Arabic Script-based Languages. COLING 2004, Geneva: 66-73.
[13]Ya’akov Gal, “An HMM Approach to Vowel Restoration in Arabic and Hebrew”, ACL, 2002.
[14]Zitouni, J. S. Sorensen and R. Sarikaya. (2006). ‘Maximum Entrpy Based Restoration of Arabic Diacritics’. In Proceedings of the 21st International Conference on Computational Linguistics and 44th Annual Meeting of the Association for Computational Linguistics. Workshop on Computational Approaches to Semitic Languages, Sydney, Australia. July 2006.
[15]Rabiner L., “A tutorial on Hidden Markov Models and selected applications inspeech recognition”, in the proceeding of Readings in speech recognition, pp. 267-296, 1990.
[16]Neuhoff D.L., The Viterbi Algorithm as an Aid in Text Recognition, IEEE Transaction on Information Theory, pp 222-226, March 1975.
[17]Attia. M., Yaseen., M., and Choukri., K. (2005), Specifications of the Arabic Written Corpus produced within the NEMLAR project; www.NEMLAR.org.

الملخص باللغة الانجليزية

Title:  A Morpho-statistical approach for Arabic Diacritization

Abstract. In this paper, we present an automatic diacritization system for Arabic sentences. The proposed system is comprised of two modules. The first one consists of an analysis out of context. This module uses the open source morphological analyzer AlKhalil in order to identify, for each word, its possible patterns.. The second module consists in choosing, among all the possible patterns of the word, a unique pattern taking into account the context. For this purpose, we use a Hidden Markov Models (HMM) and Viterbi algorithm, where the observations are the words and the possible patterns represent the hidden states.the system was trained on diacritized texts tested on undiacritzed ones. It achieved an accuracy of 79.5% on the word level and 91.8% on the character level.

Keywords: Diacritization, Morphological Analysis, Markov Models, Viterbi Algorithm

المصطلحات

تشكيل آليAutomatic Diacritization
تحليل صرفيMorphological Analysis
نماذج ماركوف الخفيةHidden Markov Models
خوارزمية فيتربيViterbi Algorithm
حالة خفيةHidden State
مشاهدةObservation

0 Reviews

Write a Review

مقالات ذات صلة

زر الذهاب إلى الأعلى