تسجيل توصية واسعة وعميقة

توضح هذه المقالة كيفية استخدام مكون Score Wide و Deep Recommender في مصمم Azure التعلم الآلي، لإنشاء تنبؤات استنادا إلى نموذج توصية مدرب، استنادا إلى التعلم الواسع والعميق من Google.

يمكن لـ Wide and Deep Recommender إنشاء نوعين مختلفين من التوقعات:

عند إنشاء النوع الأخير من التوقعات، يمكنك العمل إما في وضع الإنتاج أو وضع التقييم.

  • يراعي وضع الإنتاج جميع المستخدمين أو العناصر، وعادةً ما يُستخدم في خدمة الويب. يمكنك إنشاء درجات للمستخدمين الجدد، وليس فقط المستخدمين الذين تمت رؤيتهم أثناء التدريب.

  • يعمل وضع التقييم على مجموعة مصغرة من المستخدمين أو العناصر التي يمكن تقييمها، وعادة ما يتم استخدامها أثناء التجريب.

يمكن العثور على مزيد من التفاصيل حول التوصية العريضة والعميقة ونظريتها الأساسية في ورقة البحث ذات الصلة: التعلم الواسع والعميق لأنظمة التوصية.

كيفية تكوين Score Wide and Deep Recommender

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

توقع التقييمات

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

  1. إضافة نموذج توصية واسعة وعميقة مدربة إلى تجربتك، وتوصيلها بنموذج التوصية Trained Wide and Deep. يجب عليك إنشاء النموذج باستخدام Train Wide and Deep التوصية.

  2. نوع توقع Recommender: حدد Rating Prediction. لا مزيد من المعلمات المطلوبة.

  3. أضف البيانات التي ترغب في عمل توقعات لها، واربطها بـ Dataset to score.

    للتوقع بالتقييمات، يجب أن تحتوي مجموعة البيانات المدخلة على أزواج من عناصر المستخدم.

    يمكن أن تحتوي مجموعة البيانات على عمود ثالث اختياري من التصنيفات لزوج عنصر المستخدم في العمودين الأول والثاني، ولكن سيتم تجاهل العمود الثالث أثناء التوقع.

  4. (اختياري). إذا كانت لديك مجموعة بيانات لميزات المستخدم، فقم بتوصيلها بـ ميزات المستخدم.

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

    يتم تجاهل ميزات المستخدمين الذين قاموا بتقييم العناصر في مجموعة بيانات التدريب بواسطة Score Wide and Deep Recommender، لأنه جرى تعليمهم بالفعل أثناء التدريب. لذلك، قم بتصفية مجموعة البيانات الخاصة بك مسبقاً لتشمل فقط المستخدمين المبتدئين، أو المستخدمين الذين لم يقوموا بتقييم أي عناصر.

    تحذير

    إذا تم تدريب النموذج دون استخدام ميزات المستخدم، فلا يمكنك إدخال ميزات المستخدم أثناء التسجيل.

  5. إذا كانت لديك مجموعة بيانات لميزات العنصر، فيمكنك توصيلها بـ ميزات العنصر.

    يجب أن تحتوي مجموعة بيانات ميزات العنصر على معرف عنصر في العمود الأول. يجب أن تحتوي الأعمدة المتبقية على القيم التي تميز العناصر.

    يتم تجاهل ميزات العناصر المصنفة في مجموعة بيانات التدريب بواسطة Score Wide and Deep التوصيات حيث تم تعلمها بالفعل أثناء التدريب. لذلك، قم بتقييد مجموعة بيانات التسجيل الخاصة بك على عناصر البداية الباردة، أو العناصر التي لم يتم تصنيفها من قِبل أي مستخدم.

    تحذير

    إذا تم تدريب النموذج دون استخدام ميزات العنصر، فلا يمكنك إدخال ميزات العنصر أثناء التسجيل.

  6. شغِّل التجربة.

نتائج تنبؤات التقييم

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

بالإضافة إلى ذلك، يتم تطبيق التغييرات التالية أثناء التسجيل:

  • بالنسبة لمستخدم رقمي أو عمود ميزة عنصر، يتم استبدال القيم المفقودة تلقائياً بالمتوسط ​​ لقيم مجموعة التدريب غير المفقودة. بالنسبة للميزة الفئوية، يتم استبدال القيم المفقودة بنفس القيمة الفئوية بخلاف أي قيم محتملة لهذه الميزة.
  • لا يتم تطبيق أي ترجمة على قيم الميزة للحفاظ على تباينها.

التوصية بالعناصر

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

  1. أضف نموذج توصية Wide and Deep ومدرَّباً لتجربتك، واربطه بـ نموذج توصية Wide and Deep مدرَّب. يجب عليك إنشاء النموذج باستخدام Train Wide and Deep التوصية.

  2. للتوصية بالعناصر لقائمة معينة من المستخدمين، عيّن Recommender prediction kind على Item Recommendation.

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

    • من العناصر المصنفة (لتقييم النموذج): حدد هذا الخيار إذا كنت تقوم بتطوير أو اختبار نموذج. يؤدي هذا الخيار إلى تمكين وضع التقييم، ويقدم المكون توصيات فقط من تلك العناصر الموجودة في مجموعة بيانات الإدخال التي تم تقييمها.
    • From All Items: حدد هذا الخيار إذا كنت تقوم بإعداد تجربة لاستخدامها في خدمة ويب أو إنتاج. يمكّن هذا الخيار وضع الإنتاج، ويقدم المكون توصيات من جميع العناصر التي يتم عرضها أثناء التدريب.
    • من العناصر غير المصنفة (لاقتراح عناصر جديدة للمستخدمين): حدد هذا الخيار إذا كنت تريد أن يقدم المكون توصيات فقط من تلك العناصر الموجودة في مجموعة بيانات التدريب التي لم يتم تقييمها.
  4. أضف مجموعة البيانات التي تريد عمل توقعات لها، واربطها بـ مجموعة البيانات لتسجيل النقاط.

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

      يمكن أن تتضمن مجموعة البيانات عمودين إضافيين من معرفات العناصر والتصنيفات، لكن يتم تجاهل هذين العمودين.

    • إذا حددت الخيار، From Rated Items (for model evaluation)، فيجب أن تتكون مجموعة البيانات المدخلة من أزواج user-item. يجب أن يحتوي العمود الأول على معرف المستخدم. يجب أن يحتوي العمود الثاني على معرفات العنصر المقابلة.

      يمكن أن تتضمن مجموعة البيانات عمودًا ثالثًا من تقييمات عناصر المستخدم، لكن يتم تجاهل هذا العمود.

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

      يمكن أن تتضمن مجموعة البيانات عمودًا ثالثًا من تقييمات عناصر المستخدم، لكن يتم تجاهل هذا العمود.

  5. (اختياري). إذا كانت لديك مجموعة بيانات لميزات المستخدم، فقم بتوصيلها بـ ميزات المستخدم.

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

    يتم تجاهل ميزات المستخدمين الذين قاموا بتقييم العناصر بواسطة Score Wide and Deep Recommender، لأن هذه الميزات قد تم تعلمها بالفعل أثناء التدريب. لذلك، يمكنك تصفية مجموعة البيانات مسبقاً لتشمل فقط المستخدمين المبتدئين، أو المستخدمين الذين لم يصنفوا أي عناصر.

    تحذير

    إذا تم تدريب النموذج دون استخدام ميزات المستخدم، فلا يمكنك استخدام تطبيق الميزات أثناء التسجيل.

  6. (اختياري) إذا كانت لديك مجموعة بيانات لميزات العنصر، فيمكنك توصيلها بـ ميزات العنصر.

    يجب أن يحتوي العمود الأول في مجموعة بيانات ميزات العنصر على معرف العنصر. يجب أن تحتوي الأعمدة المتبقية على القيم التي تميز العناصر.

    يتم تجاهل ميزات العناصر التي تم تقييمها بواسطة Score Wide and Deep Recommender، لأن هذه الميزات قد تم تعلمها بالفعل أثناء التدريب. لذلك، يمكنك قصر مجموعة بيانات التسجيل الخاصة بك على العناصر التي يتأخر بدء تشغيلها، أو العناصر التي لم يتم تصنيفها من قِبل أي مستخدم.

    تحذير

    إذا تم تدريب النموذج دون استخدام ميزات العنصر، فلا تستخدم ميزات العنصر عند التسجيل.

  7. الحد الأقصى لعدد العناصر التي يجب التوصية بها للمستخدم: اكتب عدد العناصر التي تريد إرجاعها لكل مستخدم. بشكل افتراضي، يوصى بـ 5 عناصر.

  8. الحد الأدنى لحجم مجموعة التوصيات لكل مستخدم: اكتب قيمة تشير إلى عدد التوصيات السابقة المطلوبة. بشكل افتراضي، يتم تعيين هذه المعلمة على 2، ما يعني أن العنصر يجب أن يكون قد أوصى به مستخدمان آخران على الأقل.

    يجب استخدام هذا الخيار فقط إذا كنت تسجل في وضع التقييم. لا يتوفر الخيار إذا حددت From All Items أو من عناصر غير مصنفة (لاقتراح عناصر جديدة للمستخدمين).

  9. بالنسبة إلى من العناصر غير المصنفة (لاقتراح عناصر جديدة للمستخدمين)، استخدم منفذ الإدخال الثالث، المسمى Training Data، لإزالة العناصر التي تم تصنيفها بالفعل من نتائج التنبؤ.

    لتطبيق عامل التصفية هذا، قم بتوصيل مجموعة بيانات التدريب الأصلية بمنفذ الإدخال.

  10. شغِّل التجربة.

نتائج توصية البند

تسرد مجموعة البيانات التي تم تسجيلها والتي تم إرجاعها بواسطة core Wide and Deep Recommender العناصر الموصى بها لكل مستخدم.

  • يحتوي العمود الأول على معرفات المستخدم.
  • يتم إنشاء عدد من الأعمدة الإضافية، بناءً على القيمة التي قمت بتعيينها لـ الحد الأقصى لعدد العناصر التي يجب التوصية بها للمستخدم. يحتوي كل عمود على عنصر موصى به (بواسطة المعرف). يتم ترتيب التوصيات حسب تقارب عنصر المستخدم، مع وضع العنصر ذي التقارب الأعلى في العمود، Item 1.

الملاحظات التقنية

يحتوي هذا القسم على إجابات لبعض الأسئلة الشائعة حول استخدام أداة التوصية العريضة والعميقة لإنشاء تنبؤات.

مستخدمو البداية الباردة والتوصيات

عادةً، لإنشاء التوصيات، يتطلب مكون Score Wide and Deep Recommender نفس المدخلات التي استخدمتها عند تدريب النموذج، بما في ذلك معرف المستخدم. وذلك لأن الخوارزمية تحتاج إلى معرفة ما إذا كانت قد تعلمت شيئاً عن هذا المستخدم أثناء التدريب.

ومع ذلك، بالنسبة للمستخدمين الجدد، قد لا يكون لديك معرف مستخدم، فقط بعض ميزات المستخدم مثل العمر والجنس وما إلى ذلك.

لا يزال بإمكانك إنشاء توصيات للمستخدمين الجدد في نظامك، من خلال التعامل معهم باعتبارهم مستخدمي بدء التشغيل المتأخر. بالنسبة لهؤلاء المستخدمين، لا تستخدم خوارزمية التوصية السجل السابق أو التقييمات السابقة، بل تستخدم ميزات المستخدم فقط.

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

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

استخدام الإنتاج من التوصية الواسعة والعميقة

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

  • يتطلب التقييم، بحكم تعريفه، توقعات يمكن التحقق منها مقابل الحقيقة الأساسية في مجموعة الاختبار. لذلك، عند تقييم التوصية، يجب أن يتنبأ فقط بالعناصر التي تم تصنيفها في مجموعة الاختبار. هذا يقيد بالضرورة القيم المحتملة التي يتم توقعها.

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

  • إذا لم تقدم معرّف مستخدم في الإنتاج، ولم تقدم سوى ناقل ميزة، فقد تحصل على قائمة بجميع التوصيات لجميع المستخدمين المحتملين كاستجابة. تأكد من تقديم معرف المستخدم.

    للحد من عدد التوصيات التي يتم إرجاعها، يمكنك أيضاً تحديد الحد الأقصى لعدد العناصر التي يتم إرجاعها لكل مستخدم.

الخطوات التالية

راجع مجموعة المكونات المتوفرة للتعلم الآلي من Microsoft Azure.