تعريب الأنظمة

تعريب الأنظمة

(بواسطة : طلال السبيعي | بتاريخ : 28 يوليو 2004 )

بسم الله الرحمن الرحيم

 

تكلمنا في درسنا السابق عن المبحث الثاني و هو تعريب المصطلحات بشكل عام و في هذا الدرس سوف نتطرق إلى المبحث الثالث وهو:

المبحث الثالث ( تعريب الأنظمة ) :

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

    * الشفرة (الترميز) العربية:

        تمثل الحروف العربية داخل الجهاز عن طريق ( ASCII, Unicode )، و كالعادة لم يتفق العرب على شفرة موحدة و كانت لهم جهود لتوحيد

    الشفرة في عدة ندوات من اهمها:

        1- ندوة تونس عام 1976م.

        2- ندوة مصر عام 1977م.

        3- ندوة روما بإيطاليا عام 1977م نتج عنها إقتراح شفرة عربية موحدة.

        4- ندوة الرباط بالمغرب عام 1982م نتج عنها إقتراح شفرة عربية أخرى تبنتها منظمة ASMO تحت مسمى ASMO449 قدمت للمنظمة

            الدولية تحت إسم ISO9032.

    – و تم توحيد الشفرة تقريباً على يد Microsoft في MS-Windows.

    – ظهرت أكثر من 20 شفرة عربية.

    * أسس بناء الشفرة العربية:

        1.يجب أن يكون الترميز متسلسل حسب التسلسل الهجائي لسهولة الترتيب.

        2.رمز واحد لكل حرف بغض النظر عن موقعة.

        3.المحافظة على الرموز اللاتينية و الرموز المتعلقة بها (إذا أردنا المحافظة على ثنائية اللغة).

    * المحارف العربية:

       ويقصد بها شكل الحرف أثناء طباعته على الشاشة -أشكال الحروف تطرقنا لها في المبحث الأول-.

            1. عدد المحارف في اللغة العربية هي [مجموع(كل حرف * عدد أشكالة )].

            2. حركات الضبط بالشكل، و هنا يتبادر السؤال:

                س:”هل حركات الضبط بالشكل نضع لها شفرة خاصة أم تكون مع الحرف ؟”

                ج: نضع لكل حرف شفرة خاصة لسببين هما:

                            1.عدد حركات الضبط بالشكل قليل.            2.أنها تستخدم مع جميع الأحرف.

                – عند إضافة حركات الضبط بالشكل يتحرك المؤشر بمقدار صفر، حيث أنه لا يتحرك عند كتابتها.

            3. أضافة بعض المحارف الخاصة مثل: ال   و لا.

        * و كما هو معروف فإن الآسكي كود ASCII يتكون من واحد بايت فيوجد نوعين من كود الآسكي و هما:

                ASCII 7– حيث كود الحرف له 7 بت و الثامن يعتبر Parity Bit لتحقق من الأخطاء.

                – ASCII 8 و هذا النوع لا يوجد به Parity Bit.

    * بعض أنظمة التشفير العربية:

        1. المواصفات العربية ASMO449 تستخدم 7بت.

            – غير ثنائية اللغة.

            – الحركات وضع لها آسكي خاص.

            -بعض الرموز و الأرقام باللغة العربية و البعض الآخر بقي على اللغة الإنجليزية.

        2. المواصفات العربية SAMO0662 و تستخدم 8 بت.

            – لم تستفد من الجزء ما بعد 128.

            – غير ثنائية اللغة.

        3. المواصفات العربية ASMO0708 عام 1988م.

            – ثنائية اللغة.

        4. مايكروسوفت 708 ( مماثلة تقريباً للـ ASMO708 ) و موجهة إلى IBM-DOS.

        5. مايكروسوفت 709 ( تطوير 708 ).

        6. مايكروسوفت 710 ( تم تجنب حروف الرسم ).

        7. النافذة ( شبية بالـ 708 ).

        8. IBM-Arabic و لا توجد به حركات الضبط بالشكل.

        9. المساعد العربي.

        10. المعَّرب ( مدينة الملك عبدالعزيز ).

        11. ويندوز العربي.

        12. Unicode .   ( و لمزيد من الإطلاع على الـ Unicode يمكنك الإطلاع على الموقع www.unicode.org )

        * الحروف العربية موجوده في أنظمة التشفير بشكله الأصلي بغض النظر عن موقعة من المقطع، و الذي يغير شكل الحرف

            حسب موقعة هو الـ “Context Analyzer“، و الحروف تخزن كما هو مبين بالرسم:

    فكما هو مبين بالرسم فإن أشكال الحرف الواحد لها Code واحد و الذي يختار و يتحكم بأشكال الحرف هو الـ Context Analyzer.

        *مستويات تعريب الأنظمة:

            1. تعريب الشفرات Code Page :

                يتم تخزين صفات الحروف في ملفات ثنائية Binary Files تسمى ملفات الـ Code Page Information ذات الإمتداد ‘CPI.*ويوجد

                في الجهاز ملف إسمة ega.CPI و هو يتحكم في شكل الحروف على الشاشة و الطابعة و لو تم مسح هذا الملف لن تستطيع

                الكتابة على الجهاز.

                * تصميم الحروف العربية:

                    تستخدم فيها احد برامج الـ Font Editor و مهمته هو نقل شكل الحرف من المستخدم إلى الـ CPI.* ، و يعمل للحرف كود

                    آسكي واحد و له أكثر من شكل كما يحدده الـ Context Analyzer .

           

                    في لغة الأسمبلي يوجد الـ Interrupt رقم 10H يدخل و يتحكم في الـ CPI.*                  

                int 10H

                    لاحظ أن الـ Scan Code يختلف عن الـ ASCII Code فلنأخذ هذا المثال للتوضيح:

                        لاحظ أن الزر الذي يوجد عليه الحرف ‘A’ و ‘a’   له Scan Code واحد و لكن للـ ‘A’ آسكي مختلف عن آسكي الـ ‘a’ .

            2. تعريب لوحة المفاتيح:

                يوجد معالج صغير داخل لوحة المفاتيح يحول النبضة التي تحدث عن الضغط على زر معين إلى Scan Code و حجمة بايت واحد

                و بإجراء عملية بسيطة و هي 2 أس 8 يتبين لنا أن بإستطاعتنا تمثيل 256 زر مختلف بها البايت و لكن إذا علمنا أنه عند الضغط

                على الزر له Scan Code و عند الرفع له Scan Code سيقل عدد الأزرار الممكن تمثيلها بالبايت الواحد إلى 128 زر.

                    و نعيد أن الـ Scan Code ليس له علاقة بكود الآسكي و لا بوظيفة الزر.

                * يوجد هناك ثلاثة أنواع من الأزرار هي:

                    1. أزرار قابلة للطباعة و تتأثر بالإستمرار في الضغط مثل الحروف و الأرقام و … إلخ.

                    2. أزرار تحكم و لا تتأثر بالإستمرار بالضفط مثل Alt و Shift و … إلخ.

                    3. أزرار ذات قيمتين مثل Caps Lock و Insert و Num Lock و … إلخ.

                *طريقة عمل لوحة المفاتيح:

                    يبين الرسم هذه الميكانيكية:

        و بإعادة برمجة الجزء BOIS int 9H  و الجزء BOIS int 16H يمكننا التحكم في الأحداث Events:

  OnKeyPress

    OnKeyDown   

  OnKeyUp   

        و هذه الأحداث Events موجوده في أغلب لغات البرمجة المرئية مثل الفجول بيسك و الفجول سي++ و دلفي و سي# و … إلخ.

        كما لا يفوتنا أن التفرقة بواسطة الـ Scan Code بين الضغط على الزر و الرفع منه هو البت الأخير فعند الضغط يكون صفر و عند الرفع

        يكون واحد، كما هو مبين بالرسم:

            *توزيع الحروف على لوحة المفاتيح:

                كان هناك إختلاف كبير حول توزيع الحروف العربية على لوحة المفاتيح حتى جاءت شركة مايكروسوفت Microsoft و وحدتها

                نسبياً، و هنا تجدر الإشارة إلى أن توحيد الشفرات أهم بكثير من توحيد لوحة المفاتيح.

                و ظهرت مشلكة الحرف لا هل يوضع له كود خاص به أو أن لوحة المفاتيح سترسل اثم ل؟

                كيفية تعريب لوحة المفاتيح:

                    يتم تعريب لوحة المفاتيح بإعادة برمجة الـ Int 9H بحيث يعيد ربط الـ Scan Code بالحرف أو الـ (ASCII)  اللذي نريد بعد التأكد

                    من أن الوضع هو الوضع العربي، و يتم ذلك بالتحقق من الـ Status Buffer .

                    ولكن في هذا الوقت ظهرت اللغات المرئية و وجدت API’s لتسهل هذه العملية و لكن لتعطي تحكم أقل في برمجتها.

API : Application Programming Interface

           

            3. تعريب الشاشة:

                حديثنا في هذا الموضوع هو عن شاشات الـ CRT و ليست شاشات الـ LCD فشاشات الـ LCD لها تقنية خاصة بها.

                أنواع الأوضاع في الشاشات:

                    1. الوضعية النصية Text Mode، و كل حرف له قالب معين و هذا من شأنه أن يجعل له حجم ثابت إما 8×8 أو 8×16.

                       

                            و بالنظر أن السطر في الشاشة يحمل 80 خانة و الشاشة تحمل 25 سطر فإن 80×25 = 2000 حرف في الشاشة الواحدة.

                        – العلاقة بين الشاشة و الذاكرة:

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

                            فيه الحرف نفسة و البايت الآخر تخزن فيه الخصائص Attributes مثل لون الحرف و … إلخ.

                            إذاً الشاشة تحمل 2000 حرف و الذاكرة تخزن كل حرف في بايتين إذاً لابد على الأقل أن تكون مساحة ذاكرة الشاشة

                            4000 بايت على الأقل.

                        – مشاكل تعريب الشاشة:

                            1. مشكلة الإتجاة، حيث أن اللغة العربية تكتب من اليمين إلى اليسار.

                            2. إعتماد الحروف العربية على موقعها من المقطع للتتشكل بالشكل المناسب.

                        – يوجد عدة حلول لمشكلة الإتجاة و هي:

                            1. الكتابة في الذاكرة المقابلة للعرض من اليمين إلى اليسار و لذلك لابد من معرفة عناوين الذاكرة و هي مبينة

                                في الرسم التالي:

                            ومبين في الرسم معادلة الوصول إلى أول عنوان في السطر n .

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

int line = 0, col = 79;

unsigned char far *vmem = 0xB800000;

unsigned char far *pos;

    pos = vmem + ( 160 * line ) + 2 * col; // الركن العلوي الأيمن

    while( (ACode = Read_Arabic_Code()) != EKey )  // EKey = English Key.

    {

            *pos = ACode;

            *(pos+1) = 0x07; // Attribute

            col–;

            if( col < 0 ) { line++; col = 79; }

            pos = vmem + ( 160*line ) + 2*col;

    }

                                 و الكود أطول من ذلك و لكن كما قلت هذا الخوارزم المبسط.

                        – الطريقة الأخرى لتعريب الشاشة:

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

                            السابق كان حجم ذاكرة الشاشة من 64-512 كيلوبايت بينما حجم محتويات الشاشة 4000 بايت.

                            هذه الطريقة تستخدم الـ Int 8H و هو الـ Interrupt الخاص بالـ Timer و الذي يعمل عشرات المرات في الثانية.

                           

                               و طريقة عمل هذا الخوازرم هو كالآتي:

                                1.التهيئة ( عند تشغيل برنامج التعريب ).

                                    – يقوم بقراءة محتويات ذاكرة العرض الحقيقة و نسخ صورة منها في الـ RAM .

                                    – إجراء عمليات التعريب على الشاشة و تخزينها في ذاكرة العرض الإفتراضية.

                                            عمل Loop للـ int 8H

                                            {

                                                        – مقارنة محتويات ذاكرة العرض الحقيقية و نسخ صورة منها في الـ RAM .

                                                                    إذا لم تتساويا إحفظ من الذاكرة الحقيقة إلى الصورة.

                                                                    عرب الصورة.

                                            }

               

                                    و لكن ماذا نعني بكلمة “عرب الصورة” ؟

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

                                    و مثال ذلك كما في الرسم:

                                    هنا أدخلنا كلمة yes و لكن لن يقوم برنامج التعريب بقلب الكلمة لأنها ليست باللغة العربية.

                           

                                هنا أدخلنا الحرف س و لكن البرنامج سيقلبها مع نفسها عندئذ لن يحدث شيئ.

                                الآن سيقارن محتويات الذاكرة الحقيقة مع الإفتراضية و سيقلب الحرفين سو ع بتصبح س ع بدلاً من ع س

                            و سيقارن محتويات الذاكرة الحقيقة مع الإقتراضية و سيقلب الحروف العربية في الذاكرة الحقيقة بتصبح

                                س ع د بدلاً من د ع س و بهذا واضح أننا تغلبنا على مشكلة الإتجاة في اللغة العربية.

                    2. الوضعية الرسومية Graphics Mode ، و هو النوع الآخر من الوضعيات و هنا أصبح التعامل على مستوى البكسل Pixel .

                        من الطبيعي أن الوضعية النصية أسرع من الرسومية و لكن مع تطور المعالجات و تقدمها فإن الفرق أصبح صغير.

                       

                    – مشاكل أخرى في التعريب:

                        1.حرفان في خانة واحده في الشاشة مثلاً لـا تقلب إلى لا.

                        2. حرف في خانتين مثلاً السين و الصاد.

3

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

                        3. مشكلة الضبط بالشكل: بحيث يقع فوق الحرف و لا يشوه شكل الحرف نفسة، فمثلاً الفتحة لابد أن تكون فوق

                            أطول حرف هجائي.

                        4. ثنائية اللغة و عند كتابة عربية إنجليزي في نفس السطر.

            4. تعريب الطابعة:

                المشكلة في تعريب الطابعات في أنها غير موحده في طريقة الآداء الوظيفي مثل لوحة المفاتيح و الشاشة بدليل وجود

                تعريف خاص لكل طابعة.

                للتحكم في الطابعة نستخدم وحده المقاطعة int 17H .

                كانوا في السابق يضطرون إلى التغيير من وضع نصي إلى رسومي لطباعة النص العربية.

                و لبرمجة الطابعات تستخدم لغة البرمجة: -PCL -Printer Control Language ، و كذلك لغة البرمجة PJLPrinter Job Language  .

           5. تعريب الأوامر:

                أول محاولة لتعريب أوامر نظام يونكس Unix هو مشروع تخرج الدكتور عبدالملك السلمان و الدكتور عبدالقادر الفنتوخ، و هو

                تعريب لنظام أوامر و رسائل يونكس.

                فمثلاً بدلاً من الأمر cd أي Change Directory يكتب غير أي غير مجلد.

نُشر في <a href="https://max4arab.com/category/%d8%aa%d8%b9%d8%b1%d9%8a%d8%a8-%d8%a7%d9%84%d8%ad%d8%a7%d8%b3%d8%a8%d8%a7%d8%aa/" rel="category tag">تعريب الحاسبات</a>، <a href="https://max4arab.com/category/%d8%b9%d8%a7%d9%85/" rel="category tag">عام</a> الموسومة <a href="https://max4arab.com/tag/%d8%a7%d9%84%d8%a3%d9%86%d8%b8%d9%85%d8%a9/" rel="tag">الأنظمة</a>، <a href="https://max4arab.com/tag/%d8%aa%d8%b1%d8%ac%d9%85%d8%a9/" rel="tag">ترجمة</a>، <a href="https://max4arab.com/tag/%d8%aa%d8%b9%d8%b1%d9%8a%d8%a8/" rel="tag">تعريب</a>، <a href="https://max4arab.com/tag/%d8%aa%d8%b9%d8%b1%d9%8a%d8%a8-%d8%a7%d9%84%d8%ad%d8%a7%d8%b3%d8%a8-%d8%a7%d9%84%d8%a7%d9%84%d9%8a/" rel="tag">تعريب الحاسب الالي</a>

تعريب المصطلحات

تعريب المصطلحات

(بواسطة : طلال السبيعي | بتاريخ : 28 يوليو 2004 )
اخبر صديق طباعة

 

بسم الله الرحمن الرحيم

 

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

المبحث الثاني ( تعريب المصطلحات ) :

    من أبرز المشاكل التي تواجهنا في المجتمع العربي هي عدم توحد المصطلحات فمثلاً كلمة Computer و هي الكلمة الأم لعلمنا هذا لا يوجد تعريب

موحد له فمثلاً هناك من يقول حاسب و منهم حاسوب و منهم من يقول كمبيوتر بترجمة حرفية.

و هناك عوامل كثيره أثرت على اللغة العربية ( هموم تعريب المصطلحات ):

  • الإستعمار. (التفريق السياسي – الإقتصادي)

  • اللهجات.

  • ضعف التواصل العلمي بين الدول العربي، و عدم أرشفة و فهرسة المعلومات و شح المعلومة في العالم العربي.

    * طرق تعريب المصطلحات:

        1. كتابة الكلمة اللاتينية و نطقها باللغة العربية ( ترجمة لفظية ).

            مثل كلمة ‘Bit’ ترجمة حسب النطق إلى بت .

        2. ترجمة حرفية مثل: ‘Computer’ إلى حاسبو ‘Microprocessor’ إلى معالج دقيق.

        3. ترجمة بالمعني ( معنوية ) مثل: ‘Compiler’ ترجمة إلى مترجم أي تأخذ معنى الكلمة و تترجمها.

    * عوائق التعريب:

        1. كثرة المصطلحات و تجددها السريع.

        2. عدم جدية العالم العربي في التعريب.

        3. قلة المؤلفات.

        4. عدم دخول الحاسب في مراحل التعليم الأولى.       

نُشر في <a href="https://max4arab.com/category/%d8%aa%d8%b9%d8%b1%d9%8a%d8%a8-%d8%a7%d9%84%d8%ad%d8%a7%d8%b3%d8%a8%d8%a7%d8%aa/" rel="category tag">تعريب الحاسبات</a>، <a href="https://max4arab.com/category/%d8%b9%d8%a7%d9%85/" rel="category tag">عام</a> الموسومة <a href="https://max4arab.com/tag/%d8%a7%d9%84%d9%85%d8%b5%d8%b7%d9%84%d8%ad%d8%a7%d8%aa/" rel="tag">المصطلحات</a>، <a href="https://max4arab.com/tag/%d8%aa%d8%b1%d8%ac%d9%85%d8%a9/" rel="tag">ترجمة</a>، <a href="https://max4arab.com/tag/%d8%aa%d8%b9%d8%b1%d9%8a%d8%a8/" rel="tag">تعريب</a>، <a href="https://max4arab.com/tag/%d8%aa%d8%b9%d8%b1%d9%8a%d8%a8-%d8%a7%d9%84%d8%ad%d8%a7%d8%b3%d8%a8-%d8%a7%d9%84%d8%a7%d9%84%d9%8a/" rel="tag">تعريب الحاسب الالي</a>

خصائص اللغة العربية

 

خصائص اللغة العربية

(بواسطة : طلال السبيعي | بتاريخ : 13 يوليو 2004 )

بسم الله الرحمن الرحيم

    هذه سلسلة دروس في مقدمة إلى تعريب الحاسبات و هذه الدروس هي ملخص ما يدرس في مادة 428 عال ( CSC 428 ) في الفصل الصيفي

عام 1425هـ.

     ويقوم بتدريس هذه المادة الدكتور عبدالملك بن سلمان السلمان رئيس قسم علوم الحاسب في جامعة الملك سعود.

المبحث الأول ( خصائص اللغة العربية ):

نقصد بالخصائص هنا هي خصائص عامه للغة العربية قد تتفق أو تختلف مع لغة أو أخرى و منها:

    1. عدد حروف اللغة العربية 28 حرف + أ, إ, آ, ى, ئ, ؤ, ة, ء = 36 حرف، منها 16 حرف يحتوي على نقطة أو نقطتين أو ثلاثة.

    2. وجود علامات الضبط بالشكل (   َ  ِ      ُ     ْ     ً    ٍ      ٌ      ّ ) و هي تنقسم إلى:

                 أ. حركات : فتحة + ضمة + كسرة + فتحتين + كسرتين + ضمتين.

                ب. الشدة.

          و تتميز الشده أنها تأتي على الحرف مع إحدى الحركات.

    3. إختلاف شكل الحرف حسب موقعة من (المقطع) إلا الهمزة المفردة ( ء ).

        المقطع هو: مجموعة من الحروف المتصلة، و الكلمة قد تتكون من أكثر من مقطع، و الحرف إما أن يكون:

                أ.مستقل.    ب.في بداية المقطع.    ج.في وسط المقطع.    د.في آخر المقطع.

        و تتشكل الحروف فمنها ما يأخذ شكل و منها شكلان و منها ما يأخذ أربعة أشكال.

                أ.شكل واحد:   ( ء ) و هي الحرف الوحيد الذي يأخذ شكل واحد.

               ب.شكلين:    و منها الواو مثلاً قد تأخذ الشكل  ( و ) و قد تأخذ الشكل ( ـو ) و هي الحروف التي لا توصل بما بعدها.

               ج.أربعة أشكال: و منها حرف العين ( ع ) مثلاً ز قد تأخذ العين الأشكال:  ( ع ) ( عـ ) ( ـعـ ) ( ـع ). و هي التي توصل بما قبلها و ما بعدها.

    4. اللغة العربية لغة إشتقاقية ( تعتمد على الجذر ) بينما اللغة الإنجليزية لغة لصقية.

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

        – مجموعة جذور في اللغة العربية.  عددها حوالي 7 آلاف جذر.

        – مجموعة أوزان في اللغة العربية. عددها حوالي 400-500 وزن.

        – مجموعة سوابق في اللغة العربية. عددها  8 –> 9 –> 10 حسب الإختلاف، مثلاً سيقول فالسين هنا سابق.

        –  مجموعة لواحق مثل نون التوكيد و واو الجماعة و …

        و قد بينت بعض البحوث أن عدد كلمات اللغة العربية هي حوالي سبعة ملايين كلمة.

    5. تقرأ و تكتب من اليمين إلى اليسار ما عدا الأرقام من الجهتين.

        قمثلاً 25 تقرأ من اليمين إلى اليسار و لكن 125 تقرأ من اليسار ثم اليمين ثم الوسط و هكذا …

    6. هناك حروف تكتب و لا تنطق و حروف تنطق و لا تكتب.

        من الحروف التي تكتب و لا تنطق هي همزة الوصل مثلاً في عبدالله، و اللام الشمسية، و ألف واو الجماعة في قالوا مثلاً و …

        و من الحروف التي تنطق و لا تكتب مثل لكن فهي تنطق ( لاكن ) و هذا تنطق ( هاذا ) و الرحمن تنطق ( الرحمان ) و هكذا …

    7. الكلمات العربية مركبة يدخل فيها:

        التذكير و التأنيث، الزمن، العدد، المخاطب، المتكلم … إلخ.

    8. وجود العديد من الخطوط العربية فمثلاً حرف الهاء يكتب بأكثر من شكل في عديد من الخطوط.

    9. هل الهمزة حرف مستقل أم لا ؟

        نعم: إذا كانت على السطر مثل ( ء ) فهي حرف مستقل.

        لا:  إذا كانت على حرف مد مثلاً ( ؤ ) أو ( أ ) فهي غير مستقلة.

    10. بعض الحروف العربية أعرض من بعض.

        فمثلاً حرف ( ص ) ليس بعرض حرف ( ا ) فمكان الصاد ممكن أن يكتب 4-5 حروف ( ا ).

    11. وجود تشابة كبير بين الحروف.

        فمثلاً ( ت ) تشبة الـ ( ث ) و الـ ( ص ) تشبة الـ ( ض ) و الـ ( بـ ) تشبة الـ ( يـ ) .

    12. تغير بعض الكلمات عن أصل الجذر.

        – حروف العلَّة: ( ق و ل ) تتحول إلى ( يقال ) أو ( قيل ) أو ( قل ) فمن الممكن أن نزيد حرف مثل ( يقال ) أو نغير حرف مثل ( قيل )

                            أو من الممكن حتى أن يحذف حرف مثل ( قل ).

        – دخول حروف جديدة منقلبة عن حروف أخرى.

                فمثلاً الجذر ( ف ع ل ) من الممكن أن يولد الكلمة ( إفتعل ).

                فلو أخذنا الكلمة ( صَبَر ) على وزن ( ف ع ل ) و أردنا أن نحولها إلى الوزن ( إفتعل ) فإنها ستتحول إلى ( إصطبر )

                فتحولت التاء إلى طاء، و السبب في ذلك حرف الصاد من حروف الإستعلاء و حرف التاء من حروف الإستفالة فمن الصعوبة نطق

                الصاد بعدها تاء مثل ( إصتبر ) فبدلت بحرف إستعلاء قريب من التاء و هو الطاء.

    13. إتصال الكلمة بحروف السوابق و اللواحق ( ليست من أصل الكلمة ).

            – السوابق: مثلاً ( الحق ) ممكن أن تكون ( فالحق ) فتكون الفاء و أل التعريف زوائد أو ( فبالحق ) فتكون الفاء و الباء و أل التعريف 3 زوائد.

            – اللواحق: مثلاً نون التوكيد مثلاً ( لتأكل ) تتحول إلى ( لتأكلنَّ ) و … إلخ.

    14. الظبط بالشكل لا يكتب في غالب النصوص ( ما عدا القرآن الكريم ).

        و الظبط بالشكل يؤثر على قراءة مثلاً : ( جمل ) ممكن أن تكون ( جَمَل ) أو ( جُمَل ) لذلك نحن نستعيض بالسياق لمعرفة الكلمة

        قمثلاً الجملة ( هذا جمل كبير ) تتأكد أنها ( جَمَل ) و الجملة ( هذه جمل مفيدة ) تتأكد أنها ( جُمَل ).

    15. مخارج الحروف العربية تبدأ من الجوف و تنتهي بخارج الشفة.

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

                                            ء، هـ، ع، ح، غ، خ ، …………………………………….. ، ب،م

   

    هذه هي أهم خصائص اللغو العربية و لكنها غير مرتبة و جميع هذه الخصائص تؤثر سلباً أو إيجاباً في برامج ( Applications ) عديدة

        مثل: التعرف الضوئي على اللغة العربية ( OCR ) و المدقق الإملائي و المدقق النحوي و التعرف على الـــــــكلام العربي و برامج

        الظبط بالشكل و و و … إلخ.

    و في نهاية درسنا هذا نود التطرق إلى سرعة القراءة في اللغة العربية و كثرة المشتقات فيها و هي على النحو الآتي:

        – سرعة القراءة:

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

            الحركات فهي حروف مصغّرة الضم هي واو صغيرة و الكسر ياء صغيرة و الفتح ألف صغيرة لذلك ستطيل الكلمة و من ثم تقلل سرعة القراءة.

            اللغة العربية تتكون من ذخيرة كبيرة من الكلمات كما قلنا فالبحث فيها يأخذ وقت أطول.

            تشابة الحروف فحرف الفاء يشبة الغين في الكاتبة و لكننا نعرف أنها فاء أو غين من سياق الكلام خصوصاً إذا كانتا على الشكل ( ـفـ ) ( ـغـ ).

            و مخارج الحروف في اللغة العربية متباعده.

            و مع مقارنة مع اللغة الإنجليزية وجد أن قارئ اللغة العربية يقراء 70 كلمة في الدقيقة بينما قارئ اللغة الإنجليزية يقراء 120 كلمة في الدقيقة.

            و لكن هذا يرجع إلى أسباب عديده و التي ذكرت آنفاً.

    – كثرة المشتقات:

            اللغة العربية تأتي بمشتقات من الكلمة كثيره جداً و مثال على ذلك كلمة ( أتى ) ظهرت في القرآن بأكثر من 17 مشتق منها:

                أوتو، سنأتيكم، نؤتي، يأتيانها، آتينك، يؤتي، لتأتيني … إلخ.

            بينما مرادفها في اللغة الإنجليزية Come يأتي على النحو Came, Coming فقط.

و هنا نكون قد إنتهينا من المحبث الأول ( خصائص اللغة العربية ) و في درسنا القادم سوف نتكلم عن المبحث الثاني ( تعريب المصطلحات ).

و بالتوفيق …

نُشر في <a href="https://max4arab.com/category/%d8%aa%d8%b9%d8%b1%d9%8a%d8%a8-%d8%a7%d9%84%d8%ad%d8%a7%d8%b3%d8%a8%d8%a7%d8%aa/" rel="category tag">تعريب الحاسبات</a>، <a href="https://max4arab.com/category/%d8%b9%d8%a7%d9%85/" rel="category tag">عام</a> الموسومة <a href="https://max4arab.com/tag/%d8%a7%d9%84%d8%b9%d8%b1%d8%a8%d9%8a%d8%a9/" rel="tag">العربية</a>، <a href="https://max4arab.com/tag/%d8%a7%d9%84%d9%84%d8%ba%d8%a9/" rel="tag">اللغة</a>، <a href="https://max4arab.com/tag/%d8%aa%d8%b1%d8%ac%d9%85%d8%a9/" rel="tag">ترجمة</a>، <a href="https://max4arab.com/tag/%d8%aa%d8%b9%d8%b1%d9%8a%d8%a8-%d8%a7%d9%84%d8%ad%d8%a7%d8%b3%d8%a8-%d8%a7%d9%84%d8%a7%d9%84%d9%8a/" rel="tag">تعريب الحاسب الالي</a>، <a href="https://max4arab.com/tag/%d8%ae%d8%b5%d8%a7%d8%a6%d8%b5/" rel="tag">خصائص</a>

تعريب لغات البرمجة

تعريب لغات البرمجة

(بواسطة : طلال السبيعي | بتاريخ : 16 أغسطس 2004 )

 

بسم الله الرحمن الرحيم

 

تكلمنا في درسنا السابق عن المبحث الثالث و هو تعريب الأنظمة و في هذا الدرس سوف نتطرق إلى المبحث الرابع وهو:

المبحث الرابع  ( تعريب لغات البرمجة ) :

    * متى بدأت لغات البرمجة ؟

    – مع ظهور الحاسب الآلي.

    * كيف يكون لديك لغة برمجة ؟

    – وصف لغة البرمجة، ثم عمل أو بناء المترجم لها “Compiler” .

    * هل نحتاج إلى لغة برمجة عربية ؟

    – تعريب التطبيقات لا يلزم له تعريب لغات البرمجة.

    – لتعلم لغة برمجة إنجليزية لا يلزم تعلم الكلمات المحجوزة فقط و لكن يتطلب أيضاً معرفة رسائل الأخطاء.

    –  إستخدام لغة برمجة أجنبية قد يعني شيئ من التبعية.

    – هناك رأي آخر يقول : ” لماذا إضاعة الوقت في عمل لغة برمجة عربية ؟ ” و خصوصاً أنه يمكن عمل تطبيقات عربية دون الحاجة إلى

         لغات برمجة عربية.

    * قضايا تتعلق بعمل لغة برمجة عربية :

        – هل نعمل لغة برمجية من الصفر ؟ أو نعمل ترجمة للغة موجودة ؟

        – سهولة التحويل من لغة موجوده إلى لغة برمجة عربية:

                1. فهم جيد للغة لأن لها نفس الوصف.

                2. مجرد تغيير في الـ Scanner و رسائل الأخطاء فقط و باقي مراحل الكمبايلر لا تتغير.

        – ترجمة لغة برمجة أجنبية لن تخفي التبعيَّة .

        – من مميزات عمل لغة برمجة عربية جديدة هو أنه يكون لدينا حرية في التطوير.

    * لم يكتب لكثير من لغات البرمجة العربية النجاح بسبب أمور عديدة منها:

        1. عدم رعاية المؤسسات التعليمية لها، أو حتى الخاصة.

        2. الدعاية و الدعم.

        3. ضعف التسويق لوجود البديل الناجح.

        4. محدودية التواصل بين المطورين.

        5. الإختلاف في الشفرات العربية في السابق.

        6. المبالغة في المحافظة على الملكية.

        7. ضعف الصيانة للبرمجيات.

    * أمثلة على لغات برمجة عربية:

        – أغلبها ترجمة من لغات برمجة أجنبية.

        – أغلبها كمبايلرات و ليست بيئة برمجة متكاملة.

    1. غريب (( لغة برمجة عربية ))  عام 1978م – جامعة الموصل في العراق.

        – شبية بلغة البيسك، للمبتدئين.

        – المترجم بلغة فورتران.

        – تقوم فقط بعمليات حسبية، و ليس بها حروف عربية.

        – المؤشر من اليمين إلى اليسار.

        – موجهه للـ IBM Mainframe .

    2. الخوارزمي – عام 1978م – الكلية الفنية العسكرية – العراق (( موجهه للأطفال )).

    3. لغة برمجة عربية دنيا ASM عام 1978م – العراق و كانت وصف نظري للتدريس و لم تطبق على جهاز.

    4. ليث LAITH و شبيهه بلغة Cobol و لكنها محدوده جداً.

    5. سعودية (( سلطانة )) عام 1979م وهي ترجمة لإحدى لهجات BASIC قامت بتطويرها شركة أوترام بالسعودية تعمل عى جهاز ZX81 .

    6. خوارزمي عام 79 بأمريكا، طورت في كاليفورنيا على نظام التشغيل CP/M شبيهة بلغة البيسك و لكنها بدون تكرار.

    7. نجلاء (( نظام حبري للحاسب الآلي )) 79 ميلادي.

        – د. رضا سراج الثقة – جامعة الملك فهد.

        – تعمل على أجهزة الفارابي.

        – شبيهة بالبيسك و لكنها أقوى في الهيكلة.

        – تدعم Array و متغيرات Local & Global .

    8. صخر بيسك 80-81 ميلادي في الكويت بإذن من Microsoft .

    9. ضاد عام 84 ميلادي بالسعودية.

        – د/ محمد غزالي خياط، جامعة الملك فهد سابقاً و جامعة الملك عبدالعزيز حالياً، بدعم من مدينة الملك عبدالعزيز.

        – ظهرت أولاً على جهاز Cromemco .

        – تحتوي على مميزات جيده في تراكيب البيانات Data Structure ، مناسبة لكتابة Systems .

        – تجمع صفات بيسك، باسكال، سي.

        – ظهرت فيما بعد على الـ IBM-PC .

    10. وصفاً للغة برمجة عربية (( سينا )) عام 1986م في السودان.

        – د/ الأفندي- جامعة الخرطوم.

        – و هي ترجمة لباسكال و لكن بدون كمبايلر.

    11. ARABW عام 86م في البحرين مشابهة للغة Cobol و لكنها مختصرة.

    12. ل.ب.أ  ( لغة برمجة أخرى ) عام 86م بالسعودية.

        – د/فؤاد دهلوي – جامعة الملك عبدالعزيز.

        – د/ محمد مندورة – جامعة الملك سعود.

        – كتب منها Scanner فقط ثم إختفت، تجمع بين البيسك و الباسكال ( نظري ).

    13. باسكال العربي عام 88م بالسعودية.

        – الدكتور حسن مذكور و الدكتور أحمد محجوب.

        – جهاز VAX-11 و كتب منها الـ Scanner فقط.

    14. ARBI أي Arabic Basic على الدوس عام 90 م متطابقة مع GWB BASIC .

    15. السنبلة ( Arabic Natural Language Processing ) عام 94م بالسعودية من قبل الدكتور الأفندي.

    16. Visual Prog عام 95م رسالة دكتوراه للدكتور خالد سليمان، بولدر-أمريكا.

        – مثال تضغط على أزرار Buttons و يطلب منك كتابة الشرط.

    17. Arab Language عام 95م بالبحرين لطلاب المدارس.

    18. باسكال العربي – بيئة متكاملة عام 96م

        – دكتور/ عبدالملك السلمان.

        – بيئة Windows و بها جميع إمكانيات باسكال.

    19. لوقو العربية عام 99م مشروع تخرج بإشراف د. السلمان للطالبين:الجهني/الحربي.

    20. باسكال المتوازي عام 2000.

        – مشروع تخرج بإشراف الدكتور السلمان للطالبين/خالد المصيبيح و عبدالله الدكان.

 

نُشر في <a href="https://max4arab.com/category/%d8%aa%d8%b9%d8%b1%d9%8a%d8%a8-%d8%a7%d9%84%d8%ad%d8%a7%d8%b3%d8%a8%d8%a7%d8%aa/" rel="category tag">تعريب الحاسبات</a>، <a href="https://max4arab.com/category/%d8%b9%d8%a7%d9%85/" rel="category tag">عام</a> الموسومة <a href="https://max4arab.com/tag/%d8%a7%d9%84%d8%a8%d8%b1%d9%85%d8%ac%d8%a9/" rel="tag">البرمجة</a>، <a href="https://max4arab.com/tag/%d8%aa%d8%b1%d8%ac%d9%85%d8%a9/" rel="tag">ترجمة</a>، <a href="https://max4arab.com/tag/%d8%aa%d8%b9%d8%b1%d9%8a%d8%a8/" rel="tag">تعريب</a>، <a href="https://max4arab.com/tag/%d8%aa%d8%b9%d8%b1%d9%8a%d8%a8-%d8%a7%d9%84%d8%ad%d8%a7%d8%b3%d8%a8-%d8%a7%d9%84%d8%a7%d9%84%d9%8a/" rel="tag">تعريب الحاسب الالي</a>، <a href="https://max4arab.com/tag/%d9%84%d8%ba%d8%a7%d8%aa/" rel="tag">لغات</a>

المعالجة الآلية للغة العربية

المعالجة الآلية للغة العربية

(بواسطة : طلال السبيعي | بتاريخ : 16 أغسطس 2004 )

بسم الله الرحمن الرحيم

 

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

المبحث الخامس  ( المعالجة الآلية للغة العربية ) :

تعاريف:

    أولاً الصرف:

        هو العلم الذي يعنى بالكلمة بناءً و تحليلاً، (التشكيل، الأوزان، و يشمل حركات الكلمة ما عدا الحرف الأخير).

            و من الأمثلة على برامج تحتاج الصرف: المدقق الإملائي.

    ثانياً النحو:

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

            و من الأمثلة على برامج تحتاج النحو: المشكل الآلي، المدقق النحوي.

    ثالثاً المعنى:

        أو الدلالة، و هو يتناول كيفية فهم الجملة أو النص.

            و من الأمثلة التي تحتاج علم المعنى: المترجمات الآلية، الملخص الآلي.

    أولاً الصرف ( Morphology ) :

        فهو يدرس الكلمة بناء و تحليل، بناء أي من الجذر إلى الكلمة الأصلية؛ و التحليل من الكلمة إلى الجذر.

        و من تطبيقاتة:

            1. المدقق الإملائي، تحليلي.

                فمثلاً كلمة: “المكتبة” من جذر ( ك ت ب ) و هي على وزن مُفَعَّل و بها سابق (ال) التعريف و لاحق (ة).

            2. البحث: تحليل + توليد.

            3. مترجم المفردات.

       

    تعاريف “غير متفق عليها” :

        1. صوت اللين “Vowel“:

            – قصيرة: و هي الفتحة، الضمة، و الكسرة.

            – طويلة: و هي الحروف الألف، الواو، و الياء.

        2. المشتقات و الجوامد ≈ المتصرف و غير المتصرف:

            – المشتق: و هو المولد أو المتفرع من جذر، مثل: مكتبة مأخوذه من الجذر (ك ت ب).

            – الجامد: و هي التي ليس لها جذر، مثل: بئس، نِعم، إنسان …

        3. علامات الضبط بالشكل “Diacritics“:

            – وهي الفتحه، الضمة، الكسرة، السكون، الشدة، التنوين، و المدة.

        4. الجذر “Root” :

            – و طولة من 3-4 أحرف و الجذر هو الحروف الأصلية في الكلمة، و الجذر ليس بكلمة و إنما مجموعة من الحروف.

        5. الوزن “Measure” أو “Rule” أو “Pattern” :

            – الوزن = الجذر + حروف أو حركات ضبط بالشكل مزيدة.

     *أساليب التحليل و التوليد الصرفي:

        – الخوارزمية اللغوية التقليدية:

            الهدف هو تحديد نوع الكلمة و خصائصها الصرفية.

            فمثلاً كلمة:  ( المحللون ) فأل التعريف فيها هي مجرد سابق، و الواو و النون في الآخر هي مجرد لاحق و محلل هي الساق أو الـ Stem.

            و قبل البدأ في هذا الأسلوب نحتاج إلى:

                1. قائمة بجميع السوابق الممكنة، 10-11 سابق.  Prefix.

                2. قائمة بجميع اللواحق الممكنة.    Suffix.

                3. قائمة بجميع الجذور الثلاثية منها و الرباعية.

                4. قائمة بجميع الأوزان الأساسية.    Patterns.

                5. قائمة بجميع الكلمات الجامدة. و هي أقل من خمسمائة كلمة.

            و نحتاج أيضاً إلى مجموعة من الأعلام Flags و هي:

        1. Prefix_Invariable.   أي هل هو جامد قبلة سابق ؟

        2. Prefix_Pattern.

        3. Variable_Invariable.  أي هل الكلمة المعطاه قابلة لأن تكون جامد أو مشتق ؟

            و الآن الخوازرمية هي كالآتي:

        1. check if the word is invariable:

            1.1 using the prefix table remove the largest prefix associated with the word.

            1.2 if the remaining part of the word is in the list of invariable words then:

                    1.2.1 if the prefix is compatible with the word and the variable-invariable flag is false then return the type;

                            value; grammatical rule

                    1.2.2 else go to step 2 below.

        2.  Analyze the word assuming that is variable.

                    2.1 Using the suffix table remove the largest suffix associated with the word.

                    2.2 Using the morphology pattern list, locate patterns that match the word. A a pattern is said to match

                         a word if it satisfies the following conditions:

                            * the pattern is equal to the word in length.

                            * the root identified by the pattern is in the root table.

                            * the removed suffix and prefix is compatible with the selected pattern.

                            * the root is compatible with the pattern.

                    2.3 For each matching pattern return the type of the corresponding word, the root, the suffix and prefix.

                    2.4 Add the removed suffix back to the word letter by letter, starting with the first letter in the suffix. For each letter

                         added repeat steps 2.2 and  2.3.

                    2.5 Add the removed prefix  back to the word letter by letter, starting with the first letter in the prefix. For each letter

                         added repeat steps 1 and  2.

   

    – المقارنة التقريبية ( النوافذ المنزلقة ):

        الوزن + الجذر = الساق Stem.

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

        يتكافأن و من ثم ينتج الجذر.

        كمثال: لنأخذ كلمة “المرتبطون”، عندئذ سوف تمثل في نافذة مثل الرسم أدناه:

      

        الآن سنجرب أوزان كثيره منها الخاطئ و منها الوزن الصحيح “مفتعل” و سوف نجرب في مثالنا هذا الوزن الصحيح فقط

        للتسهيل، و سيمثل الوزن في النافذة كالتالي:

        الآن الحروف الزائده في هذا الوزن عن الوزن الأساسي “ف ع ل” هي حرف الميم و حرف التاء، إذاً سوف نقارن هذين الحرفين

       مع الحرف الذي فوقها من المدخل حتى يتطابقا. الآن سنزيح الوزن بمقدار واحد إلى اليسار كما في الرسم أدناه:

        فحرف الميم لم ينطبق مع اللام و حرف التاء لم ينطبق مع الراء إذا سنزيح الوزن لليسار أيضاً مقدار واحد كما في الرسم:

        عند المقارنة نلاحظ أن حرف الميم إنطبق مع الميم في المدخل.

      و حرف التاء أيضاً تطابق مع حرف التاء في المدخل كما هو واضح في الرسم أعلاه.

        الآن نأخذ الحروف في المدخل المقابلة لحروف الوزن الأساسي ( ف ع ل ) و هي حرف الراء الذي يعلو الفاء، و حرف الباء الذي يعلو

        حرف العين و حرف الطاء الذي يعلو حرف اللام و ننزلها كجذر في الخانة السفلى كما في الرسم:

        و صار عندنا الحذر ( ر ب ط ).

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

        و أيضاً الفعل (عِ) في الجملة (عِ درسك) أي “إنتبة للدرس” او “إحفظ الدرس” ففعل الأمر (عِ) لا تستطيع هذه الخوارزمية إيجاد جذرها.

    – الخوارزمية العددية الجبرية:

        هناك صعوبات في التعامل معها، و صعبة التطوير لغير مصمم البرنامج نفسة لأنه معقد، و فكرته أن يقوم بتحويل الحروف إلى أرقام

        و من ثم التعامل معها و تحويلها إلى جذر.

    – الخوارزمية التبادلية ( تباديل ):

        و عمل هذا البرنامج هو إيجاد مجموعة من التباديل من حروف الكلمة المدخلة، ثم يحاول التأكد من أن الجذر صحيح و من ثم التأكد

        من أن الحروف الباقية حروف زائدة.

        فمثلاً كلمة ( المرتبطون ) فسيأخذ الحروف و يجرب تباديلها فمثلاً سيجد “رتب” و لكنه سيجد من الحروف الباقية حرف الطاء و لكنه حرف

        غير زائد فسيعلم أن “رتب” ليست الجذر و سيأخذ “ربط” و سيجد أن باقي الحروف كلها مزيده إذاً “ربط” هو الجذر.

        و لكن عيب هذه الطريقة هي أنها مكلفة جداً للبرنامج و تأخذ وقت طويل خصوصاً إذا زادت طول الكلمة عن 4 أحرف.

    – الـ State Machine :

        و هذه الطريقة شبيهه بعمل برنامج الـ Lex في تكوين الـ Scanner الخاص بالكمبايلر، و هي تعتمد على مبدأ الـ State Machine .

نُشر في <a href="https://max4arab.com/category/%d8%aa%d8%b9%d8%b1%d9%8a%d8%a8-%d8%a7%d9%84%d8%ad%d8%a7%d8%b3%d8%a8%d8%a7%d8%aa/" rel="category tag">تعريب الحاسبات</a>، <a href="https://max4arab.com/category/%d8%b9%d8%a7%d9%85/" rel="category tag">عام</a> الموسومة <a href="https://max4arab.com/tag/%d8%a7%d9%84%d8%a2%d9%84%d9%8a%d8%a9/" rel="tag">الآلية</a>، <a href="https://max4arab.com/tag/%d8%a7%d9%84%d8%b9%d8%b1%d8%a8%d9%8a%d8%a9/" rel="tag">العربية</a>، <a href="https://max4arab.com/tag/%d8%a7%d9%84%d9%85%d8%b9%d8%a7%d9%84%d8%ac%d8%a9/" rel="tag">المعالجة</a>، <a href="https://max4arab.com/tag/%d8%aa%d8%b1%d8%ac%d9%85%d8%a9/" rel="tag">ترجمة</a>، <a href="https://max4arab.com/tag/%d8%aa%d8%b9%d8%b1%d9%8a%d8%a8-%d8%a7%d9%84%d8%ad%d8%a7%d8%b3%d8%a8-%d8%a7%d9%84%d8%a7%d9%84%d9%8a/" rel="tag">تعريب الحاسب الالي</a>، <a href="https://max4arab.com/tag/%d9%84%d9%84%d8%ba%d8%a9/" rel="tag">للغة</a>

التحديات التي تواجه معالجة النحو العربي آلياً

التحديات التي تواجه معالجة النحو العربي آلياً

(بواسطة : طلال السبيعي | بتاريخ : 16 أغسطس 2004 )
اخبر صديق طباعة

بسم الله الرحمن الرحيم

 

تكلمنا في درسنا السابق عن المبحث الخامس و هو المعالجة الآلية للغة العربية و في هذا الدرس سوف نتطرق إلى المبحث السادس وهو:

المبحث السادس  ( التحديات التي تواجه معالجة النحو العربي آلياً ) :    ” كتبة سعيد الغامدي “.

    1. المشكلة الأولى غياب صياغة رسمية للنحو العربي:

        فمثلاً قل ما يوجد مثل هذا التقسيم:

                الرفع:

                    الأصل فيه الضمة و يرفع بـ:

                        – الواو في جمع المذكر السالم و الأسماء الخمسة.

                        – الألف في المثنى.

                        – ثبوت النون في الأفعال الخمسة.

                النصب:

                    الأصل فيه الفتحة و ينصب بـ:

                        – الكسرة في جمع المؤنث السالم.

                        – الياء في المثنى و جمع المذكر السالم.

                        – …

                الجر:

                        ….

                        ….

                الجزم:

                        ….

                        ….

            فمثل هذا التقسيم يساعدنا كثيراً خصوصاً المبرمجين منا لعمل برامج تهتم في مجالات اللغة العربية.           

            أي أننا نحتاج إلى إعادة هيكلة للنحو العربي لكي يتناسب مع الحاسب الآلي.

       

    2. إسقاط علامات الضبط بالشكل في معظم النصوص العربية:

            و هذا يعتبر عيب في برامج النطق العربي و برامج النحو العربي، بينما هي ميزة في التعرف الآلي للكتابة العربية OCR .

            و يوجد في اللغة العربية مستويات عديده من الإختزال منها:

                *. غياب النطق، فبعض الحروف لا تنطق مثل اللام الشمسية.

                *. غياب علامات الترقيم، و التي تشكل معضلة في برامج الترجمة و التلخيص الآلي.

                *. غياب علامات الضبط بالشكل.

    3. تعدد حالات اللبس النحوي:

        – اللبس المعجمي:

                فكلمة “عين” من الممكن أن تكون “عين الإنسان” و “عين البئر” و “عين الشيئ” و الحسد و و و… إلخ.

                و أيضاً توجد جمل مثل “أشعة تحت الحمراء” و “بيت المال” و “بيت الشِعر” و “بيت الشَعر”.

        – اللبس في إرجاع الضمير:

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

                 و هو موسى عليه السلام.

        – اللبس الدلالي:

                فمثلاً في المثل الشهير “رجع بخفي حنين” يراد به أنه لم يرجع بشيئ و ليس المراد معناها حرفياً.

    4. المصاعب الناجمة عن مرونة اللغة العربية:

        – التقديم و التأخير.

        – طول الجملة، فقد تصل الجملة في اللغة العربية إلى 125 كلمة.

        – الحذف.

        – الإبدال و الإحلال.

    5. قصور المعجم العربي نحوياً و دلالياً:

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

    6. تعدد العلامات الإعرابية و حالات الجواز و التفضيل.

     

    7. عدم توفر الإحصائيات النحوية.

نُشر في <a href="https://max4arab.com/category/%d8%aa%d8%b9%d8%b1%d9%8a%d8%a8-%d8%a7%d9%84%d8%ad%d8%a7%d8%b3%d8%a8%d8%a7%d8%aa/" rel="category tag">تعريب الحاسبات</a>، <a href="https://max4arab.com/category/%d8%b9%d8%a7%d9%85/" rel="category tag">عام</a> الموسومة <a href="https://max4arab.com/tag/%d8%a2%d9%84%d9%8a%d8%a7/" rel="tag">آليا</a>، <a href="https://max4arab.com/tag/%d8%a7%d9%84%d8%aa%d8%ad%d8%af%d9%8a%d8%a7%d8%aa/" rel="tag">التحديات</a>، <a href="https://max4arab.com/tag/%d8%a7%d9%84%d8%aa%d9%8a/" rel="tag">التي</a>، <a href="https://max4arab.com/tag/%d8%a7%d9%84%d8%b9%d8%b1%d8%a8%d9%8a/" rel="tag">العربي</a>، <a href="https://max4arab.com/tag/%d8%a7%d9%84%d9%86%d8%ad%d9%88/" rel="tag">النحو</a>، <a href="https://max4arab.com/tag/%d8%aa%d8%b1%d8%ac%d9%85%d8%a9/" rel="tag">ترجمة</a>، <a href="https://max4arab.com/tag/%d8%aa%d8%b9%d8%b1%d9%8a%d8%a8-%d8%a7%d9%84%d8%ad%d8%a7%d8%b3%d8%a8-%d8%a7%d9%84%d8%a7%d9%84%d9%8a/" rel="tag">تعريب الحاسب الالي</a>، <a href="https://max4arab.com/tag/%d8%aa%d9%88%d8%a7%d8%ac%d9%87/" rel="tag">تواجه</a>، <a href="https://max4arab.com/tag/%d9%85%d8%b9%d8%a7%d9%84%d8%ac%d8%a9/" rel="tag">معالجة</a>

الترجمة

الترجمة

(بواسطة : طلال السبيعي | بتاريخ : 16 أغسطس 2004 )

بسم الله الرحمن الرحيم

 

تكلمنا في درسنا السابق عن المبحث السادس و هو التحديات التي تواجه معالجة النحو العربي آلياً و في هذا الدرس سوف نتطرق إلى المبحث السابع وهو:

المبحث سابع  ( الترجمة ) :

  • أنواع الترجمة:

            1. آلية كاملة:

                    و هي شبة مستحيلة في الحاسب الآلي في أن تعطينا نتائج صحيحة 100%.

            2. آلية بمساعدة الإنسان:

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

            3. الترجمة الآلية لمساعدة الإنسان:

                   أن يستعين المترجم بالحاسب الآلي لإعطاء المعنى التقريبي للجملة و كذلك الإستعانة بالقواميس الآلية.

  • الخطوات الأساسية للترجمة:

            تحليل معجمي —> تحليل صرفي —> تحليل نحوي —> تحليل دلالي —> المقابلة اللغوية —> بناء و ترتيب الجملة.

  • نظريات بطرق الترجمة

        1.طريقة التحويل:  أخذ اللغة و تحليلها ثم بناءها إلى اللغة الأخرى، مثلاً لو الترجمة من اللغة العربية إلى اللغة الإنجليزية

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

        2. التبادل اللغوي: و هذه طريقة قد تبنتها منظمة الأمم المتحده، و إسمها هو UNL أي Universal Network Language .

            و فكرتها هي أن العرب يبنون برنامج تحليل و توليد من اللغة العربية إلى الوسيطة و العكس فقط.

            ففي الطريقة السابقة كان علينا بناء برنامج تحليل للغة العربية و برنامج توليد للغة الإنجليزية، و لكن هنا نختص بلغتنا فقط

            و كل ذوي لغة يبنون برنامج تحليل و توليد من لغتهم إلى اللغة الوسيطة.

           

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

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

     التي لا توجد لدينا معرفة بلغتهم.

     و لكن هذه الطريقة لم تطبق، و أيضاً اللغة الوسيطة مجهولة الهوية.

 

نُشر في <a href="https://max4arab.com/category/%d8%aa%d8%b9%d8%b1%d9%8a%d8%a8-%d8%a7%d9%84%d8%ad%d8%a7%d8%b3%d8%a8%d8%a7%d8%aa/" rel="category tag">تعريب الحاسبات</a>، <a href="https://max4arab.com/category/%d8%b9%d8%a7%d9%85/" rel="category tag">عام</a> الموسومة <a href="https://max4arab.com/tag/%d8%aa%d8%b1%d8%ac%d9%85%d8%a9/" rel="tag">ترجمة</a>، <a href="https://max4arab.com/tag/%d8%aa%d8%b9%d8%b1%d9%8a%d8%a8-%d8%a7%d9%84%d8%ad%d8%a7%d8%b3%d8%a8-%d8%a7%d9%84%d8%a7%d9%84%d9%8a/" rel="tag">تعريب الحاسب الالي</a>

التعرف الضوئي على الكتابة العربية

التعرف الضوئي على الكتابة العربية (بواسطة : طلال السبيعي | بتاريخ : 9 أغسطس 2004 )
بسم الله الرحمن الرحيم

 

التعرف الضوئي  للكتابة العربية

(428 عال)

 

ينقسم التعرف الضوئي للكتابة إلى قسمين on-line and off-line.

 

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

 

2. off-line: التعرف على النص المكتوب (آليا أو يدويا) على الورق. أغلب الأبحاث هي في هذا المجال. من أمثلة البرامج التجارية “القارئ الآلي” من صخر.

 

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

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

بدأت البحوث العربية في التعرف على الحروف العربية المعزولة. أما في الوقت الحاضر، فقد طورت طرق جديدة للتعرف على الكتابة اليدوية بدقة قد تصل إلى 95%.

 

الخطوات الأساسية للتعرف على الكتابة العربية

 

أغلب هذه الخطوات تنطبق على كلا الصنفين السابقين، إلا أن التركيز هنا على الصنف الثاني.

1. ما قبل المعالجة (pre-processing)

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

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

–                   الملاسة: يمكن تحديد حالة نقطة معينة (pixel) من خلال النقاط الثمان المحيطة بها. بالإضافة إلى عمليات أخرى.

–                   التنحيف: وذلك بحذف النقاط العرضية الزائدة الواصلة بين نقطتين، فمثلا قد تكون الألف عبارة عن مستطيل ذو عرض معين فيحول إلى مستقيم عرضه نقطة واحة (pixel). فحذف النقاط الزائدة وحفظ أقل عدد من النقاط الضرورية للتعرف على الحرف يساعد في تسريع الخطوات اللاحقة وتوفير الذاكرة.

–                                                       التناغم بين حجم الحروف وتحويلها إلى حروف ذات حجم متساو.

–                   تحديد السطر المرجعي (baseline):

يحمل معلومات مهمة حول طبيعة الحرف ونقاط الاتصال بين الحروف.

    2. التقطيع (Segmentation)

التقطيع خطوة هامة لما بعدها من الخطوات، وينقسم إلى:

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

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

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

ملحوظة: بعض الأنظمة لا تقوم بعملية التقطيع إلى كلمات بل تأخذ الكلمة جملة واحدة، هذه الأنظمة موجهة في  العادة إلى التعرف على كلمات محدودة.

 

    3. استخلاص الخصائص والتصنيف (Feature extraction and Classification)

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

التصنيف هو عملية تحديد الحرف (أو مجموعة الحروف الممكنة). طريقة التصنيف تعتمد بشكل كبير على طبيعة عملية التقطيع (حرف أو أجزاء      من الحرف).

 

    4. ما بعد المعالجة

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

 

نُشر في <a href="https://max4arab.com/category/%d8%aa%d8%b9%d8%b1%d9%8a%d8%a8-%d8%a7%d9%84%d8%ad%d8%a7%d8%b3%d8%a8%d8%a7%d8%aa/" rel="category tag">تعريب الحاسبات</a>، <a href="https://max4arab.com/category/%d8%b9%d8%a7%d9%85/" rel="category tag">عام</a> الموسومة <a href="https://max4arab.com/tag/%d8%aa%d8%b1%d8%ac%d9%85%d8%a9/" rel="tag">ترجمة</a>، <a href="https://max4arab.com/tag/%d8%aa%d8%b9%d8%b1%d9%8a%d8%a8-%d8%a7%d9%84%d8%ad%d8%a7%d8%b3%d8%a8-%d8%a7%d9%84%d8%a7%d9%84%d9%8a/" rel="tag">تعريب الحاسب الالي</a>