10/05/2026
هو إحنا بنعمل مواقع "ديناميك" وخلاص.. ولا المواقع دي ممكن "تفكر" بجد؟ 🤔
طول عمرنا في تطوير الويب بنبني مواقع بتعتمد على الـ CRUD Operations وقواعد البيانات، بس هل ده كفاية؟ هل صح نفضل مستنيين الـ User هو اللي يدينا "Explicit Commands" عشان نتحرك؟
الفترة اللي فاتت كنت بحاول أحل لغز توقع سلوك المستخدم، والموضوع كان عبارة عن مجهود وتصحيح أخطاء (Bugs) كتير جداً بـ Manual Logic.. لحد ما قررت أغير الـ Approach وأبدأ أستخدم مكتبة PHP-ML.
المكتبة دي ساعدتني في نقطتين :
_التنبؤ بالاهتمامات المستخدم - > بخوارزميات التصنيف باستخدام الـ Classification Algorithms بقيت أقدر أفهم المستخدم بيدور على إيه Implicitly من غير ما يقول.
_محتوي متغيرة حسب سلوك المستخدم - >الموقع بقا بيعمل Update للـ UI والـ Recommendations بتاعته بناءً على "توقعه" للحاجة اللي شاغلة بال الـ User
طيب إزاي PHP-ML بتشتغل ؟
بدل ما نكتب كود ثابت (Static Code) يتنفذ في كل مرة، إحنا بنمشي في 3 خطوات:
Data Preprocessing: بنجهز البيانات التاريخية للمستخدمين ونحولها لأرقام (Vectors) تفهمها الخوارزمية
بنمثل البيانات دي مثلا في مصفوفات (Arrays)
==========================================
// مثلا غير الدخول في كود طويل و BD الكود بسيط لفهم الفكره _ الاحتمالات (سلوك المستخدم: الوقت في الموقع، عدد الصفحات)
; samples = [ [ 10 , 2 ] , [ 45 , 12 ] , [ 5 , 1 ] , [ 60 , 20 ] ] $
//____ (Label: مهتم، غير مهتم)
labels = ['not_interested', 'interested', 'not_interested', 'interested']$
======================================================
Model Training : بنغذي الخوارزمية (زي K-Nearest Neighbors) بالبيانات دي عشان تبني نموذج
====================================
;usePhpml\Classification\KNearestNeighbors
; () classifier = new KNearestNeighbors$
;classifier->train($samples, $labels)$ // عملية التعلم ولاحتمال
===================================================
Inference (التوقع): لما يجي user جديد، بنسأل "النموذج" وهو بيرد علينا بأقرب اهتمام للمستخدم ده بناءً على اللي اتعلمه
==============================================
// مستخدم قضى 50 دقيقة وشاف 15 صفحة
;prediction = $classifier->predict ( [ 50, 15 ] )$
; echo ' prediction is : '. $prediction
// النتيجة المتوقعة : interested
==================================================