20

إطلاق الإصدار 6.0 من مكتبة PHP واللغة العربية

khaled.alshamaa

لقد تم إطلاق الإصدار 6.0 من مكتبة PHP واللغة العربية (ar-php) في 15 شباط / فبراير 2021 بعد نشاط متواصل في الفترة الأخيرة لننتقل بهذه المكتبة إلى مستوى جديد بإذن الله تعالى.

في مثل هذا الشهر (شباط/فبراير) منذ 15 عاما قمت بنشر اللبنة الأولى (الرابط أدناه) لما أصبحت عليه مكتبة PHP واللغة العربية الآن.. من كان يتوقع أن نسير معا كل هذه الطريق! في نهاية المطاف هو الشغف والطموح لخدمة ودعم لغتنا العربية Arabic في عالم الويب

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

بعد عام تقريبا على إطلاق الإصدار 5.0 من مكتبة PHP واللغة العربية والذي تميز بتبسيط هيكليتها والعمل على مطابقتها للمعايير القياسية المعتمدة (مثل PSR-1 و PSR-12)، وكذلك نشرها على منصة GitHub لمشاركة الشيفرات البرمجية المفتوحة المصدر وإتاحتها بشكل رسمي عن طريق Composer على Packagist، ها نحن نبدأ في قطف ثمار ذلك الجهد بعد تضمين مكتبتنا في حزمة Pagisto للتجارة الإلكترونية المبنية على إطار عمل Laravel الشهير.

البارحة (15 فبراير 2021) تجاوز عدد مرات تحميل مكتبة PHP واللغة العربية ما مجموعه ٣٠٠٠ مرة على منصة Packagist

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

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

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

هذه الوظيفة لاتزال تجريبية وقيد التطوير والتحسين المستمر، حيث ينصب تركيزنا على توفير نتائج مقبولة لكن بموارد محدودة (من حيث سرعة المعالجة وحجم بيانات النماذج المطلوبة لعمل الخوارزمية)، وذلك لتناسب بيئة تطبيقات الويب العملية للمواقع الصغيرة والمتوسطة، فهي جهة الاستخدام ذات الأولوية في مكتبتنا. لذا فقد اعتمدنا على أفكار غير تقليدية كاستخدام نظرية الجذور الثنائية للغة العربية، وقمنا بتوظيف قوة النماذج والخوارزميات الإحصائية، وهو ما ساعدنا في الوصول إلى دقة تقارب %75 في تصنيف مزاج التعليقات إن كانت إيجابية أم سلبية بنموذج لايزيد حجمه عن 30 كيلوبايت (الاختبار تم على 100 ألف تقييم مصنفة ومنشورة على Kaggle).

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

  • تحسين أداء دالة تربيط الأحرف العربية وكذلك دالة تحديد المقاطع العربية ضمن النص، وهو ما سيساعدك على توليد فواتيرك بصيغة PDF بمرونة وموثوقية أكبر مع دعم اللغات الأخرى التي تستخدم المحارف العربية الموسعة (كالفارسية والأوردو).

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

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

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

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

مع أطيب الأماني

خالد الشمعة


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

‏‎صديقي العزيز كما سبق وأن أشرت فهذا نموذج إحصائي وبالتالي لايشترط أن تكون النتائج دوما صحيحة إنما ذات طبيعة احتمالية.. فمثلا إن توقعت الأرصاد الجوية هطول الأمطار بنسبة ٩٠٪ ولم يحصل ذلك، فهذا يعني ان ما حصل يبقى صحيحا لكن لم تكن أغلبية الترجيحات تصب في صالحه.

‏‎إن النظر إلى الإحتمالات كحالات فردية هو أمر خطير وفيه مغالطة، فقد تكون نسبة نجاح عملية جراحية ما هي ٩٠٪ بالنسبة لمشفى تجرى فيه تلك العملية عددا كبيرا من المرات على مدار العام، لكن بالنسبة لمريض معين تتقلص تلك الإحتمالات إلى ٥٠٪ فهي إما أن تنجح أو تفشل بغض النظر عن نتائج الآخرين.

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

‏‎بالعودة إلى المثال الذي عرضته، أعود وأذكر أن نسبة الإجابات الصحيحة بحسب ما اختبرناه هي ٧٥٪ حاليا، بمعنى أنه من كل أربعة إجابات لتقييمات عشوائية نتوقع الحصول على إجابة خاطئة، لذلك يمكنك بسهولة تجميع عدد من الحالات ذات الإجابات الخاطئة وعرضها معا كما سبق وأن أوضحت في مشاركتك أعلاه.

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

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

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

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