[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: AlModaqeq Design Final Decision



elsakhawy el a écrit :
Alsalmo alikom All

وعليكم السلام ورحمة الله وبركاته،

After looking for other tools for grammer chechking , i came over an old
version of LanguageTool that was written in python ,it seems that Daniel
Naber the author of LanguageTool started with the same thinking , after
contacting  Daniel Naber  , according to what he described non latin
language like Arabic seem to have a possiblity to be implemented  , the main
idea is bearking the sentences to words and applying the grammatical laws on
them , that seems to similar to the design i suggested for the python
implementation

Thus i think that the choice of LanguageTool will be a good decision despite
its unexpected stability , since we will be starting from the point where
they started if i go through the python engine solution, thus i think the
design portion is now settled , and we can start working on implementing the
rules


  أخي السخوي،
إليك ببغض الأفكار حول مشروع التدقيق النحوي:

إن المدققات النحوية الحرة تعمل من خلال خمسة مراحل أساسية كما تعلم: التقطيع Tokenization (تقطيع النص إلى جمل ثم تقطيع الجمل إلى كلمات)، التصنيف ورفع اللبس Tagging (تصنيف هذه الكلمات حسب نوعها "النحوي" وعند وجود كلمة ما لها أكثر من مقابل نوعي يجب اختيار واحد منها فقط)، التجزيء Chunking (تقطيع النص مرة أخرى على أساس أجزاء جمل Chunk قصد مقارنة كلماتها وترادف مكوناتها) ثم أخيراً تحديد الأخطاء (حسب قواعد لغوية مدونة في ملف XML).

يعتمد Languagetool في نسخته الأولى المبرمجة بواسطة لغة Python في مرحلة التصنيف Tagging على مكنز لغة Corpus مستعملا طريقة احتمالية/إحصائية ولرفع اللبس حول الكلمات القليلة التي لم تُميز بهذه الطريقة يتم اللجوء إلى قواعد لغوية تدون يدوياً في ملف XML. أظن أن هذه الطريقة غير ممكنة لسبب بسيط: لا يوجد مكنز لغة عربية حر يمكن استعماله في المشروع كما أنه سيصعب تعيين مكان الخطأ في حالة حصوله وسيخضع المدقق لبنية المكنز بحسناته وسيئاته. لذلك سنكون مضطرين لاستخدام طريقة التصنيف Tagging بواسطة قاموس مصنّف lexicon ثم رفع اللبس بواسطة ملف XML يضمّ قواعد تُدوّن يدوياً. وهذا الحل هو الذي استخدم في النسخة الثانية من برنامج LT المبرمج بلغة جافا JAVA والمبني بطريقة تتعامل بطريقة جيدة مع ملفات XML.

في مجال البرامج الحرة لدينا الاختيار بين قاموسين حرين: قاموس Quamus للباحث اللغوي Tim Buckwalter وقاموسAyaspell لعبد ربه. للأسف قاموس Ayaspell غير مهيأ حاليا للعب هذا الدور مقارنة بقاموس T.Buckwalter كما يجب أن ننتبه في حالة اللغة العربية، إلى ضرورة ضم القاموس لقواعد إلحاق الزيادات بسبب الخاصية الالتصاقية للغة العربية عكس الإنجليزية – مثلاً - التي لا يضم قاموسها إلاّ لائحة المفردات كمداخل أساسية. اعتبار القاموسDictionary file بمفردات مصحوبة بأعلام تحيل إلى ملف زيادات Affixe file في مرحلة التصنيف سيتطلب جهداً ووقتاً لبرمجته وإدماجه في LT.

خلال السنة القادمة، أنوي بناء قاموس آيسبلAyaspell على أساس جديد يناسب المدقق النحوي ... والمدقق الإملائي معاً لأنني أظن أن يجب وضع مرحلة إضافيه spellchecking خلال سيرورة التدقيق النحوي مباشرة قبل مرحلة التصنيف، مرحلة تصحح الأخطاء الإملائية وتساعد المستعمل على اكتشاف المفردات التي يجهلها القاموس قبل الاستمرار في عملية التدقيق النحوي مما سيحسن من مردوديته. وهكذا سيكون للقاموس دورين: دور في التصحيح الإملائي Spellchecking ثم دور في التصنيف tagging. النتيجة دمج المدقق الإملائي والمدقق النحوي في أداة واحد هي المدقق اللغوي العربي الحر... أما مرحلة التجزيء Chunking ومرحلة بناء ملفات XML لقواعد رفع اللبس وقواعد اكتشاف الأخطاء فتستدعي دراسة لسانية مستفيضة واطلاع على النظريات الحديثة في هذا الميدان تتطلب انضمام مختص فيها للمشروع.

والسلام عليكم ورحمة الله



--
Ayaspell project: http://ayaspell.sourceforge.net/
         for free arabic dictionaries:
              SpellChecker-ar, GrammarChecker-ar & Thesaurus-ar