إرشيف شهر مايو, 2009

المشاركة بمؤتمر صناعة المحتوى الرقمي العربي

الثلاثاء, 19 مايو, 2009

السلام عليكم،

تم قبول مشروع منقح اللغة العربية في مؤتمر صناعة المحتوى الرقمي العربي في قصر الأمويين بدمشق، حيث تبدأ أعمال المؤتمر في 13\6 وتستمر لثلاثة أيام حتى تاريخ 15\6\2009.

أيضاً يعقد بعد يومين مؤتمر للأعمال الناشئة (Entrepreneurship) في لبنان، سأحاول جاهداً حضوره حيث سيلقي الأستاذ حبيب حداد مؤسس يملي محاضرة قيمة وسيتسنى لي فرصة التواصل معه والاستفادة من خبراته في هذا المجال.

التحليل الصرفي

الإثنين, 18 مايو, 2009

بداية لفهم نص أي لغة في العالم ينبغي فهم المكونات الأساسية لهذا النص ألا وهي الكلمات، فهم وتحليل الكلمة أو مايسمى بالتحليل الصرفي (morphological analysis) هو الأساس في تطبيقات استرجاع المعلومات (Information Retrieval) وهي التطبيقات التي تبنى عليها برامج الأرشفة، محركات البحث، محركات قواعد البيانات، تلخيص النصوص ومعالجة اللغات الطبيعية.

بعض الطرق لفهم الكلمة تعتمد على إرجاع الكلمة إلى جذرها (Root)، بينما يعتمد البعض الآخر على إرجاع الكلمة لأصلها (Stem) أي إزالة البوادىء واللواحق، وبمثال بسيط يتوضح الأمر: لنقل أن لدي كلمة “وكتابهم” فجذر هذه الكلمة هو “كتب” أم أصلها (stem) فهو “كتاب” بإزالة البوادىء واللواحق.

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

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

  • المقارنة المباشرة: حيث يستعمل التطبيق قائمة كبيرة من الكلمات ويقارن الكلمة المدخلة مع كامل القائمة لإيجاد الكلمة المطابقة لها والمعلومات المتعلقة بهذه الكلمة.
  • معالجة اللغة: تتفرع هذه الطريقة للكثير من الأساليب والطرق (سنتحدث عنهم لاحقاً)، تعتمد على إزالة الزوائد من الكلمة (البوادىء الأحرف الزائدة في بداية الكلمة واللواحق الأحرف الزائدة في نهايتها والأحرف الزائدة في منتصف الكلمة) ثم الوصول إلى الجذر (شرح مبسط جداً فقط لتوضيح الفكرة بينما الطريقة فيها الكثير من التفاصيل).
  • الدمج أو المجموعة: حيث تأخذ الكلمة المدخلة ويتم توليد عدة كلمات منها (مجموعة)، ونقارن هذه المجموعة مع قائمة بجذور الكلمات وعند وجود تطابق يكون هذا التطابق هو جذر تلك الكلمة.
  • القواعد (Rule-based): كل مجموعة متشابهة من حيث الشكل من الكلمات يتم توليد قالب أو باترن لها.

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

المصادر:

  • Ahmed, Mohamed Attia, “A Large-Scale Computational Processor of the Arabic Morphology, and Applications.”
  • Ibrahim A. Al Kharashi, Imad A. Al Sughaiyer “Rule merging in a rule-based Arabic stemmer”

ملاحظة: تم تحديث التدوينة وإضافة الطريقة الرابعة لمعالجة اللغة العربية.

منقح اللغة العربية

الثلاثاء, 12 مايو, 2009

المحاور الرئيسية:
1. المنقح الإملائي
2. المنقح النحوي
3. الإعراب
4. استخدام الخدمة في المواقع الإلكترونية

المنقح الإملائي:
كثيراً ما نشاهد العديد من الأخطاء الإملائية في المواقع الإلكترونية عندما نتصفحها والأسباب كثيرة، منها السرعة في الكتابة، صغر سن الكاتب، عدم تمكنه من قواعد اللغة العربية، والعديد من الأسباب الأخرى. مهمة التنقيح اليدوية مجهدة وتحتاج وقتاً طويلاً، فكانت الفكرة باستخدام قوة الحواسيب وانتشار الإنترنت في إيجاد تطبيق ويب (Web Application) يقوم بهذه المهمة استناداً إلى قاعدة بيانات تحتوي على آلاف الكلمات العربية الصحيحة، حيث يقوم بتجزئة الجملة التي أدخلها المستخدم إلى كلمات، ومقارنة هذه الكلمات مع الكلمات الموجودة لديه وفي حال عدم وجود تطابق يعتبر هذه الكلمة خاطئة إملائياً، وبالتأكيد الكلمات الموجودة في قاعدة بيانات التطبيق ليست شاملة ولذلك سيكون بإمكان المستخدم اقتراح كلمة غير موجودة في التطبيق لضمها إلى قاعدة البيانات وهكذا سيكون للتطبيق نكهة الويب 2.0 أي التفاعل مع المستخدم وإسهام المستخدم في إثراء التطبيق.

شكل المنقح الإملائي

شكل المنقح الإملائي

المنقح النحوي:
المرحلة التالية للتطبيق ستكون إمكانية اكتشاف الأخطاء النحوية (مثل: “جمع الفلاحين المحصول” والصحيح “جمع الفلاحون المحصول”، أيضاً: “الرياضةَ مفيدة” والصحيح “الرياضةُ مفيدة”).
سيقوم التطبيق “منقح اللغة العربية” بدراسة الجملة، تحليلها وتحديد نوعها، ثم تحديد نوع كل كلمة نحوياً، وبعد ذلك التقاط الأخطاء الموجودة في هذه الجملة وإظهار هذه الأخطاء وإظهار البديل الصحيح أو الأقرب إلى الصحيح.

الإعراب:
الخطوة الثالثة ستكون إمكانية إعراب جملة كاملة بناءً على الميزتين السابقتين، سيدخل المستخدم جملة كاملة وسيقوم التطبيق:
1.  دراسة الجملة نحوياً وتحديد نوعها.
2.  تحديد نوع كل كلمة نحوياً.
3.  إعراب الكلمات بناء على نوعهم ومكانهم في الجملة.

استخدام الخدمة في المواقع الإلكترونية:
سيتم بناء واجهة تخاطب (API) مع خدمة “منقح اللغة العربية”، لاستخدامها في المواقع بطريقة بسيطة وسهلة لأي مدير موقع. حيث سيقوم فقط بنسخ أسطر جافاسكربت بسيطة لاستخدام الخدمة في موقعه، وسيحدد مدير الموقع المحتوى المراد تنقيحه وبعدها ستقوم الخدمة بإرسال هذا المحتوى وتحليله إملائياً ونحوياً وفي النهاية تقوم بوضع خط أحمر تحت الكلمات الخاطئة إملائياً وخط أخضر تحت الكلمات الخاطئة نحوياً في موقعه، وبهذه الطريقة ستقوم هذه الخدمة بخفض الأخطاء الإملائية والنحوية في المواقع بشكل كبير للوصول إلى لغة عربية سليمة وأيضاً تعليم القواعد العربية بشكل ضمني.

استخدام الخدمة في موقع كمثال

استخدام الخدمة في موقع كمثال

عن المختبر

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