لا شك أن موقع فيسبوك بات جزءاً رئيسياً من حياة الكثير من الناس خلال السنوات الأخيرة؛ فالموقع يحتل المرتبة الأولى عالمياً بين مواقع التواصل الاجتماعي من حيث عدد المستخدمين النشطين. وغالباً عندما تتمكن من استراق لحظات خاطفة أثناء الاستراحة من العمل أو قبل النوم مباشرة فإنك تتصفح الموقع سريعاً لتطَّلع على أحدث ما قام به أصدقاؤك أو معارفك، أو حتى ما الذي حدث في العالم خلال الساعات الماضية.
ولكن، هل تساءلت يوماً عن كيفية ظهور المنشورات على صفحتك الرئيسية على فيسبوك؟ بالتأكيد لا يحدث الأمر عشوائياً، وإلا فلماذا قد تحتوي قائمة موجز الأخبار أو "نيوز فيد" (News Feed) لديك على منشورات متعددة من نفس الصفحة أو نفس الصديق، بينما يتم تجاهل المنشورات التي تبثها مئات الصفحات الأخرى التي تشترك بها بشكل شبه تام؟
تصنيف تريليونات المنشورات
للإجابة عن هذا السؤال، نشرت الشركة مقالاً على مدونتها الإلكترونية، كتبه ثلاثة من كبار مسئوليها، تشرح فيه مدى التعقيد الذي يتسم به عمل نظام تصنيف المنشورات القائم على التعلم الآلي، والتحديات التي تواجه تطوير نظام يمكنه إظهار محتوى مناسب وذو مغزى لكل واحد من مستخدمي الموقع البالغ عددهم أكثر من 2 مليار شخص.
وأوضح المقال -الذي كتبه كل من أكوس لادا مدير علوم البيانات في الشركة، وميهونج وانج المدير الهندسي، وتاك يان مدير إدارة المنتجات- أن الموقع يجب أن يختار عدداً محدوداً من المنشورات من بين أكثر من ألف منشور "مرشح" لكل شخص من هؤلاء المستخدمين، وبالتالي فنحن نتحدث هنا عن تريليونات المنشورات، التي تحتاج إلى كم هائل من موارد الحوسبة لمعالجتها.
وتقول الشركة إنه لترتيب هذا الكم الهائل من المنشورات حسب الأهمية وإضفاء طابع شخصي على عملية الترتيب، فإن نظام التصنيف لا يستخدم خوارزمية واحدة وإنما "طبقات متعددة" من نماذج التعلم الآلي، للتنبؤ بالمحتوى الأكثر صلة والأكثر أهمية لكل مستخدم على حدة.
يضع النظام في اعتباره أن كل شخص على الموقع لديه اهتمامات مختلفة؛ لذا فإنه يحتاج إلى تقييم آلاف الإشارات لاختيار ما قد يجده هذا الشخص مناسباً لاهتماماته. وتستند هذه التقييمات إلى مجموعة متنوعة من العوامل، بما في ذلك ما الذي تابعته أو أعجبت به أو تفاعلت معه مؤخراً، ومن الشخص الذي تابعته.
رحلة خوان داخل فيسبوك
لفهم كيفية تحكم الخوارزميات في هذا الاختيار بشكل عملي، تضرب الشركة لنا مثلاً بما يحدث لشخص واحد -أطلقت عليه اسم خوان- عندما يسجل دخوله إلى فيسبوك.
منذ أخر مرة دخل فيها خوان إلى الموقع أمس، نشر صديقه وي صورة لكلبه، ونشرت صديقة أخرى تدعى سانفي مقطع فيديو لها خلال ممارسة الرياضة صباحاً، ونشرت صفحته المفضلة مقالاً مثيراً للاهتمام حول أفضل طريقة لمشاهدة مجرة درب التبانة ليلاً.
على الرغم من أن كل هذه المنشورات قد تكون ممتعة بالنسبة لخوان، لأنه اختار متابعة الأشخاص أو الصفحات التي نشرتها، إلا أن النظام يجب أن يحدد أهم المنشورات المناسبة له لتظهر في أعلى قائمة موجز الأخبار لدى خوان.
للتنبؤ بما إذا كان خوان سيُعجب بمنشور معين، يمكن استخدام خصائص هذا المنشور، مثل من الذي تمت الإشارة إليه (tagged) فيه ومتى تم نشره. على سبيل المثال، إذا كان خوان يميل إلى التفاعل بشكل كبير مع مشاركات سانفي -من خلال المشاركة أو التعليق مثلاً- وكان مقطع الفيديو حديثاً للغاية، فإن هناك احتمالاً كبيراً أنه سيحب هذا المنشور.
وإذا كان خوان قد أظهر في الماضي اهتماماً بمقاطع الفيديو أكثر من الصور، فإن النظام سيخفض إلى حد ما احتمالية إعجابه بصورة الكلب التي نشرها صديقه وي. وفي هذه الحالة، ستضع خوارزمية الترتيب الخاصة بفيسبوك مقطع الفيديو الذي نشرته سانفي في مرتبة أعلى من صورة وي، لأنها تتوقع احتمالاً أكبر لأن يعجب به خوان.
لكن كُتّاب المقال يشيرون إلى أن الضغط على زر الإعجاب ليس الطريقة الوحيدة التي يعبر بها الأشخاص عن تفضيلاتهم على فيسبوك. فكل يوم، يشارك الناس المقالات التي يجدونها ممتعة، أو يشاهدون مقاطع الفيديو التي ينشرها الأشخاص أو المشاهير الذين يتابعونهم، أو يتركون تعليقات على مشاركات أصدقائهم. لذا، فإن الأمور تصبح أكثر تعقيداً من الناحية الحسابية للدرجة التي تجعل نماذج التعلم الآلي تنتج تقييمات متعارضة. وبالتالي، فالنظام في حاجة إلى طريقة لدمج هذه التوقعات المتباينة في درجة واحدة مُحسَّنة لتحقيق هدفه الأساسي المتمثل في إظهار المحتوى الأكثر أهمية للمستخدم.
ولترجيح كفة نموذج على آخر، تلجأ فيسبوك إلى عدة طرق أبرزها استطلاع آراء الناس حول مدى اهتمامهم بمنشورات معينة أو ما إذا كان المنشور يستحق وقتهم، وذلك حتى يعكس النظام ما يعتقد الناس أنه ممتع ومفيد. وبعد ذلك يتم تقييم التنبؤات التي تنتجها نماذج التعلم الآلي في حالة خوان، استناداً إلى ما يقرر الناس (عبر الاستطلاعات) أنه أكثر أهمية لهم.
طبقات فوق طبقات
لترتيب المنشورات يجمع النظام أولاً كل المنشورات المؤهلة فيما يمكن أن نطلق عليه اسم "مخزون المشاركات"، الذي يضم أي مشاركة تم نشرها بواسطة صديق أو مجموعة أو صفحة منذ آخر مرة سجل فيها خوان دخوله. ثم يضيف النظام إلى هذا المخزون المنشورات التي تم ترشيحها لخوان ولكنه لم يرها في أخر مرة تصفح فيها الموقع. وأخيراً، تتم إضافة أي مشاركات شاهدها بالفعل وأثارت محادثة بينه وبين أصدقائه.
الخطوة التالية هي إعطاء درجة لكل منشور، وفقاً لمجموعة متنوعة من العوامل، مثل نوعه ومدى تشابهه مع غيره ومدى مطابقته مع ما يميل خوان إلى التفاعل معه. وللقيام بهذا الأمر في الوقت الفعلي بالنسبة لأكثر من ألف منشور ولكل واحد من الملياري مستخدم، تشغل الشركة نماذجها لتنقيح جميع المشاركات المرشحة، بشكل متزامن، على العديد من الأجهزة التي تسمى المتنبئات (Predictors).
ولكن قبل أن يجمع النظام كل هذه التنبؤات معاً، يحتاج إلى تضييق مجموعة المنشورات هذه، من خلال تمريرها على عدة مراحل لتوفير الطاقة الحاسوبية. في المرحلة الأولى يقلص "نموذج خفيف الوزن" المجموعة إلى ما يقرب من 500 منشور تمثل الموضوعات الأكثر أهمية بالنسبة لخوان. وهذا العدد المنخفض نسبياً يتيح للشركة إمكانية استخدام شبكات عصبونية أكثر قوة في المراحل التالية.
المرحلة التالية هي التي يتم خلالها إضفاء الجزء الأكبر من الطابع الشخصي على عملية الاختيار؛ إذ يتم احتساب درجة لكل منشور بشكل مستقل، ثم يتم ترتيب جميع المنشورات الخمسمائة حسب الدرجة. بالنسبة للبعض، قد تكون درجة الإعجاب بالمنشورات أعلى من درجة التعليق، حيث يحب بعض الأشخاص التعبير عن أنفسهم من خلال الإعجاب أكثر من التعليق. وإذا كان هناك سلوك نادراً ما يصدر عن الشخص، فإنه يحصل تلقائياً على دور ضئيل في الترتيب، حيث تكون قيمته المتوقعة منخفضة للغاية.
المرحلة الأخيرة هي مرحلة السياق؛ حيث تتم إضافة سمات سياقية متعددة، على غرار "قواعد تنوع المحتوى" للتأكد من أن قائمة نيوز فيد التي تظهر لخوان تضم مزيجاً متجانساً من أنواع المحتوى، ولضمان أنه لن يرى مثلاً العديد من المشاركات المتوالية التي تضم مقاطع فيديو.
في النهاية..
إذا كنت قد وصلت إلى هذا السطر، فلا بد أنك قد استغرقت بعض الوقت لفهم وتذكر كل هذه الخطوات المتوالية. لذا، ربما يمكنك الآن أن تتصور حجم التعقيد الذي يتسم به عمل خوارزميات التعلم الآلي التي تستخدمها شركة فيسبوك، والذي يجب أن يجري بالكامل خلال تلك اللحظة التي تفصل بين فتحك للمنصة وشروعك في التصفح.