نقاش:الترميز المعنوي للغة العربية

من ويكي عربآيز
اذهب إلى: تصفح، ابحث

Thanks Hamid, if you require any assistance, please don't hesitate to ask. --Djihed 16:28, 1 December 2006 (PST)

http://www.sinjab.com/TarmeezDemo0.1.zip

الرابط لبرنامج التجريبي هذا لا يعمل، أية فكرة؟ --خالد حسني ١٥:٠٧, ١٩ يناير ٢٠٠٧

uذرا ولكن الأخ خلدون سحب البرنامج لتعديله كما أن محاولتي رفعه إلى الويكي فشلت

الفكرة تحتاج إلي مراجعة

السلام عليكم,

الترميز المقترح لن يحل المشكلة بل سيأتي هو بمشكلة جديدة, فالمستخدم لن يكتب الكلمة من مشتقها بل سيميل أكثر إلي أن يكتب الكلام كما يقرأه , بمعني أن يكتب مثلاًُ "الاستخدام المتكرر" ولا يكتب "خدم/6ال كرر/5م" , والمثال للتوضيح فقط, وهذا سيأتي بمشكلة جديدة وهي فضلاً عن صعوبة ادخال النصوص بهذه الطريقة فإن هناك الحاجة إلي برنامج ادخال نصوص يستطيع فهم هذا الترميز, وهنا ستأتي مشكلة عندما يريد المستخدم كتابة كلمات ليست مشتقة من فعل معروف , وحتي إن حاولنا حصر هذه الكلمات فلن نستطيع حصرها كلها لتنوعها في جميع اللهجات بالإضافة إلي وجود لغات تستخدم نظام الكتابة العربي مثل الفارسية والأوردو وغيرها , ولن نستطيع أن نصنع قواميس لكل هذه اللغات.


إذا ما الحل؟ الحل في رأيي هو في إعادة النظر في مسألة الترميز علي أساس الكلمة, ونستبدل به الترميز المحسن علي أساس الحرف , وهذا الترميز المحسن سيكون خصائصه كالتالي :


Ar new encoding diagram.gif


الترميز علي أساس الحرف العاري , أي بدون النقاط. وهذه الحروف ستكون : ا ب ح د ر س ص ط ع ف ك ل م ن ه لا-حرف(لاحرف بمعني أن هذه علامة معينة أو رقم أو أي شئ آخر ونستخدم البتات التالية لتحديد نوع هذه العلامة بالضبط) , وهذه كما ترون ستة عشر حرفًا , أي يمكن أن يدرجوا في أربعة بتات فقط , ثم أربعة بتات أخري لتحديد عدد النقاط من لا نقاط إلي أربعة نقاط فوق الحرف , والقيم من خمسة إلي تسعة تعني من نقطة إلي أربعة نقاط تحت الحرف والقيمة عشرة تعني همزة فوق الحرف والقيمة أحدي عشر تعني همزة تحت الحرف (لا توجد حروف بها نقاط وهمزات في نفس الوقت , أليس كذلك؟) والقيم من اثنتي عشر إلي خمسة عشر خاضعين للإقتراحات , إذن نحن هنا نتكلم في ثمانية بتات لتحديد الحرف نفسه.

الشق الثاني متعلق بتشكيل الحرف , وهنا ثمانية احتمالات : لا تشكيل , فتحة , كسرة, ضمة , سكون , تنوين فتح , تنوين ضم , تنوين كسر , وهذه الاحتمالات الثمانية يمكن ترميزها في ثلاثة بتات فقط, والبت الرابع سنستخدمه لتحديد هل هناك شدة علي الحرف أم لا , حيث أنه لايمكن أن يكون هناك فتحة وضمة مثلاً في نفس الوقت علي الحرف , لكن الشدة يمكن أن توجد مع أي تشكيل آخر ولذا نخصص لها بت مستقل.ويمكن أن يمتد نظام التشكيل إلي أكثر من أربع بتات إذا احتجنا إلي ادراج أنواع التشكيل الأخري مثل التشكيل القرآني والتشكيلات الزخرفية وأنواع التشكيلات الأخري الموجودة في اللغات الغير عربية والتي تكتب بالحروف العربية, وهذا الأمر نحتاج رأيكم فيه. وبت آخر نستخدمه لتحديد ما إذا كان الحرف هو حرف كامل أو حرف كبير, أي الحرف الأخير في الكلمة , مثل ع بدلاً من عـ , وهذه الخاصية يمكن استخدامها لإجبار محرك رسم الخطوط علي رسم الحروف كاملة/كبيرة وهي ليست في آخر الكلمة وهذا يفيد في حالات كتابة الاختصارات مثل "ج م ع" جمهورية مصر العربية , لو كتبت في الأحوال العادية بدون ترك مسافات لكانت "جمع" وهو بالتأكيد ليس ما نريده. و البتات الثلاثة الأخري لتحديد عدد الكشيدات الزائدة (أو عرض الحرف) لإدراجها في نفس الحرف حتي نتجنب التفريق بين الكلمة التي تحتوي علي كشيدة وتلك التي لا تحتوي علي كشيدة أثناء البحث في النصوص , وذلك بداية من لا كشيدة (الحرف العادي) بحد أقصي 7 كشيدات.


مزايا النظام الجديد :

  • التشكيل مرتبط بالحرف وليس حرف مستقل وبالتالي يوفر المساحة الزائدة التي يستهلكها التشكيل , في حالة اليونيكود مثلاً هذا النص "بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيمِ" يستهلك مساحة 576 بت بينما في النظام المقترح الجديد لن يستهلك سوي 336 بت فقط. كما أن ارتباط التشكيل وعدد النقاط بالحرف يساعد محرك رسم الخطوط علي تجنب مشكلة رسم التشكيل والنقاط فوق بعضهم البعض.
  • التشكيل منفصل عن الحرف (!) , بمعني أنه بإمكان البرنامج (أو محرك رسم الخطوط) قراءة أي جزء من أجزاء الترميز بصفة مستقلة عن بقية الحرف , علي سبيل المثال , يمكن تهيئة محرك رسم الخطوط بحيث يرسم النص كامل بتشكيله(بقراءة الترميز كله) , أو يرسم النص بدون التشكيل (بقراءة أول ثمانية بتات فقط) أو يرسم النص بدون تشكيل ولا نقاط ولا همزات (بقراءة أول أربعة بتات فقط). وهذه النقطة قد تفيد محرك رسم الخطوط في رسم الحروف المتشابهة بنفس الطريقة ثم وضع الحروف والتشكيل لاحقًا حسب التفاصيل المذكورة مما يقلل من استهلاكها للذاكرة ويقلل من أحجام ملفات الخطوط.
  • إمكانية صنع برامج للتشكيل التلقائي علي نفس النص , حيث يمكن قراءة النص الغير مشكل وكتابة التشكيل عليه بدون تغيير الترميز ولا استهلاك مساحة أكبر, بالإضافة إلي إمكانية صنع برامج لإدخال النصوص العربية يقوم بتحليل النص المدخل وتهيئة التشكيل تلقائيًا حسب التحليل الإملائي والنحوي أثناء الإدخال في صورة مشابهة لبرامج إدخال النصوص الصينية مثلاً مع الفارق.
  • ليس فقط استيعاب جميع أشكال الحروف العربية بل فتح آفاق جديدة , حيث يمكن إنتاج أشكال من الحروف لم تكن موجودة من قبل , مثل الباء وتحتها أربعة نقاط أو القاف وفوقها همزة مثلاً, ويمكن استخدام تلك الحروف كرموز برمجية ( في حالة لغة برمجة أو نظام تشغيل عربي مثلاً ).

مشاكل في النظام الجديد وحلها :

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

حل هذه المشكلة بسيط , فبقراءة أول أربعة بتات نحدد كيفية التعامل مع بقية البتات , فإذا كانت الأربع البتات الأولي تدل علي حرف فتترجم بقية البتات علي أنها خواص هذا الحرف كما شرح بالسابق, أما إذا كانت أول أربعة بتات تدل علي "لا-حرف" بكونها أصفار مثلاً ففي هذه الحالة تترجم بقية البتات الاثني عشر المتبقية علي أي نطاق ترميز نتفق علي تحديده , ويشمل الحروف الإنجليزية والأرقام والمسافة والنجمة والشباك وكل هذه العلامات.

  • ماذا عن اليونيكود؟ هل نخالف الإتجاه العالمي؟

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

هذا كل ما أستطيع التفكير فيه الآن , تحياتي لكم د.عمرو 07:43, 9 يوليو 2007 (PDT)

ما العيب في يونيكود؟
  • قد يساعدكم مشروغ أيةسبل في تصنيف الأفعال، انظر هنا (القائمة البريدية لعربآيز)

إعادة مراجعة الفكرة

اعدت مراجعة الفكرة والمقترح الجديد وانتهيت أنه لا مشكلة في الترميز , المشكلة تكمن في الحاجة لبرامج تتعامل مع ادخال اللغة العربية بصورة أفضل , أعني أن برامج تحرير النصوص نفسها هي التي يجب أن تعدل , بحيث مثلاً أستطيع أن أغير التشكيل علي حرف معين بضغطة زر , بدلاً من أضطر للتحرك داخل الكلمة وتجربة مسح حرف لكي أعرف هل أنا أقف عند الحرف أم عند التشكيل , ثم أن امكانية وضع أكثر من تشكيل علي حرف واحد تصنع مشكلة وتتسبب في تعميق اهمالنا للتشكيل , يجب أن تتمع برامج تحرير النصوص بميزة تغيير حركة الحرف بضغطة واحدة , أي أن تقف علي الحرف وتضغط زر معين فيمسح التشكيل القديم ويكتب التشكيل الجديد , وهذه أعتقد ليست مشكلة ترميز في المقام الأول. د.عمرو 09:05, 11 يوليو 2007 (PDT)

أعتقد أن هذه مشاكل في تقنيات الخطوط بالمقام الأول، تقنيات الخطوط الحالية مازالت لا تفي بكل متطلبات الخط العربي، حتى المميزات التي توفرها التقنيات الحديثة مثل أوبن‌تايب لا يستغلها أحد فأغلب مصممي الخطوط العربية مايزالون في عصر الآلة الكاتبة. أعتقد علينا أيضا أن نضع عينا على تقنية جرافيت لتصيير الخطوط فهي تقنية واعدة وحرّة في الوقت ذاته. --خالد حسني 10:39, 13 يوليو 2007 (PDT)

ملاحظات حول المقترحات

السلام عليكم

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


المد حركة من الحركات

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

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

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

الوضع الأمثل في رأيي هو أن لا أشغل نفسي بكل الحركات إذا أردت، و أن يعمل الحاسوب على ضبط ما أكتبه (أو أمليه).

تبدو هذه أفكار كثيرة و متناثرة. قد لا تكون صفحة نقاش ميدياويكي هي الحل الأمثل لنقاش مثل هذا. صفحات عديدة لدروبال قد تحل المشكلة.--عمرو غربية 06:53, 5 سبتمبر 2007 (PDT)