لمعالجة بعض قيود الفلترة المستندة إلى المحتوى، تستخدم الفلترة التعاونية أوجه التشابه بين المستخدمين والعناصر في الوقت نفسه لتقديم اقتراحات. يسمح هذا الإجراء بالاقتراحات الصدفية، بمعنى أن نماذج الفلترة التعاونية يمكن أن تقترح عنصرًا للمستخدم "أ" استنادًا إلى اهتمامات مستخدم "ب" مشابه. بالإضافة إلى ذلك، يمكن تعلّم التضمينات تلقائيًا بدون الاعتماد على الهندسة اليدوية للميزات.
مثال على اقتراح فيلم
ننصحك باستخدام نظام تضمين الأفلام الذي تتألف فيه بيانات التدريب من مصفوفة التعليقات التي:
- يمثل كل صف مستخدمًا.
- ويمثّل كل عمود عنصرًا (فيلمًا).
تندرج التعليقات حول الأفلام ضمن إحدى الفئتين:
- موسيقى صريحة: يحدِّد المستخدمون مدى إعجابهم بفيلم معيّن من خلال تقديم تقييم رقمي.
- ضمني: إذا شاهد مستخدم فيلمًا، يستنتج النظام أنّ المستخدم مهتم به.
لتبسيط الأمر، سنفترض أنّ مصفوفة الملاحظات ثنائية، أي أنّ القيمة 1 تشير إلى الاهتمام بالفيلم.
عندما يزور أحد المستخدمين الصفحة الرئيسية، يجب أن يقترح النظام الأفلام بناءً على:
- التشابه مع الأفلام التي نالت إعجاب المستخدم سابقًا
- أفلام أعجب المستخدمين المشابهين
من أجل التوضيح، ندعوك إلى إجراء هندسة يدوية لبعض ميزات الأفلام الموضحة في الجدول التالي:
فيلم | التقييم | الوصف |
---|---|---|
لعبة The Dark Knightrises | يُنصح بتوجيه الآباء للأطفال دون 13 عامًا | يسعى"باتمان"إلى إنقاذ مدينة"غوثام"من إنكارها النووي في هذه اللعبة المكّملة للعبة The دارك فارس التي تدور أحداثها في عالم الكتب المصوّرة من DC. |
هاري بوتر وحجر الساحر | PG | اكتشف فتى يتيم أنه ساحر ويسجّل في مدرسة هوغوورتس للسحرية والسحر، حيث يخوض معركة أول ضده. |
شريك | PG | ذهب حبب حبيب وصديقه الحمار في رحلة إلى مهمة لإنقاذ الأميرة "فيونا" التي سُرقت في قلاعها من خلال تنين. |
ثلاثية "بيلفيل" | يُنصح بتوجيه الآباء للأطفال دون 13 عامًا | عندما يتم اختطاف راكب دراجة محترف أثناء جولة Tour de France، تنطلق جدّته وكلابه الوزنية الزائدة في الخارج لإنقاذه، وذلك بمساعدة ثلاثة من مغنّي موسيقى الجاز المسنّين. |
Memento | أحمر | يسعى الطفل المصاب بفقدان الأمل بشدّة إلى حلّ جريمة قتل زوجته من خلال رسم وشم على جسده. |
تضمين 1D
لنفترض أنّنا نخصّص لكل فيلم حجمًا صغيرًا \([-1, 1]\) يصف ما إذا كان الفيلم مخصّصًا للأطفال (قيم سلبية) أو بالغين (قيم إيجابية). لنفترض أيضًا أننا نحدّد أيضًا مقياسًا رقميًا لكل مستخدم في \([-1, 1]\) يوضّح اهتمامات المستخدم في أفلام الأطفال (أقرب إلى -1) أو أفلام للبالغين (أقرب إلى 1+). يجب أن يكون منتج تضمين الفيلم والتضمين للمستخدم أعلى (أقرب إلى 1) للأفلام التي نتوقع أن يحبها المستخدم.
في المخطط أدناه، تحدّد كل علامة اختيار فيلمًا شاهده مستخدم معيّن. ويحظى المستخدمان الثالث والرابع بخيارات مفضّلة بشكل جيد من خلال هذه الميزة، حيث يفضّل المستخدم الثالث الأفلام للأطفال ويفضّل المستخدم الرابع الأفلام المخصصة للبالغين. ومع ذلك، لا توضّح هذه الميزة المفضّلة للمستخدمَين الأول والثاني.
تضمين ثنائي الأبعاد
لم تكن ميزة واحدة كافية لشرح الإعدادات المفضّلة لجميع المستخدمين. وللتغلب على هذه المشكلة، علينا إضافة ميزة ثانية وهي درجة نجاح كل فيلم أو فيلمه الفني. باستخدام الميزة الثانية، يمكننا الآن عرض كل فيلم باستخدام التضمين ثنائي الأبعاد التالي:
ونضع المستخدمين مرة أخرى في مساحة التضمين نفسها لتوضيح مصفوفة الملاحظات على أفضل نحو: لكل زوج (مستخدم، عنصر)، نرغب في أن يكون منتج النقاط المضمّن للمستخدم المضمّن وعنصر تضمين العنصر قريبًا من 1 عندما يشاهد المستخدم الفيلم، وعلى 0 بخلاف ذلك.
في هذا المثال، صمّمنا بشكل يدوي عمليات التضمين. من الناحية العملية، يمكن تعلم التضمينات تلقائيًا، وهي فعالية نماذج الفلترة التعاونية. في القسمين التاليين، سنناقش نماذج مختلفة لتعلّم هذه التضمينات، وكيفية تدريبها.
وتكون الطبيعة التعاونية التي تستند إليها هذه الطريقة واضحة عندما يتعلّم النموذج التضمينات. لنفترض أنّ المتجهات المضمّنة للأفلام ثابتة. بعد ذلك، يمكن أن يتعلّم النموذج متّجه تضمين للمستخدمين لشرح إعداداتهم المفضّلة على أفضل نحو. وبالتالي، سيتم تضمين عمليات تضمين المستخدمين الذين لديهم إعدادات مفضّلة مشابهة عن بعضها. وبالمثل، إذا تم تثبيت التضمينات للمستخدمين، يمكننا في هذه الحالة تعلّم تضمين الأفلام لتوضيح مصفوفة التعليقات على أفضل نحو. ونتيجةً لذلك، سيتم إغلاق التضمينات للأفلام التي أعجبت المستخدمين المشابهين في مساحة التضمين.