توصية

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

عرض على TensorFlow.org تشغيل في Google Colab عرض المصدر على جيثب

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

البدء

نحن نقدم نموذج تطبيق TensorFlow Lite الذي يوضح كيفية التوصية بالعناصر ذات الصلة للمستخدمين على Android.

مثال على Android

إذا كنت تستخدم نظامًا أساسيًا بخلاف Android ، أو كنت معتادًا بالفعل على TensorFlow Lite APIs ، فيمكنك تنزيل نموذج التوصية المبدئي الخاص بنا.

تنزيل نموذج المبتدئين

نوفر أيضًا برنامج نصي تدريبي في Github لتدريب نموذجك الخاص بطريقة قابلة للتكوين.

كود التدريب

فهم بنية النموذج

نحن نستفيد من بنية نموذج التشفير المزدوج ، مع مشفر السياق لتشفير سجل المستخدم المتسلسل ومشفِّر الملصق لتشفير مرشح التوصية المتوقع. يتم استخدام التشابه بين ترميزات السياق والتسمية لتمثيل احتمالية تلبية المرشح المتوقع لاحتياجات المستخدم.

يتم توفير ثلاث تقنيات مختلفة لتشفير سجل المستخدم المتسلسل مع قاعدة الشفرة هذه:

  • مشفر حقيبة الكلمات (BOW): حساب متوسط ​​حفلات الزفاف لأنشطة المستخدم دون النظر في ترتيب السياق.
  • مشفر الشبكة العصبية التلافيفي (CNN): تطبيق طبقات متعددة من الشبكات العصبية التلافيفية لإنشاء ترميز السياق.
  • مشفر الشبكة العصبية المتكرر (RNN): تطبيق الشبكة العصبية المتكررة لتشفير تسلسل السياق.

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

بعد التدريب ، سيتم تصدير نموذج TensorFlow Lite والذي يمكن أن يوفر تنبؤات أعلى K مباشرة بين المرشحين التوصية.

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

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

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

أمثلة

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

المدخلات

  • معرّفات سياق الفيلم:

    • الملك الأسد (المعرف: 362)
    • قصة لعبة (المعرف: 1)
    • (و اكثر)
  • معرّفات نوع سياق الفيلم:

    • الرسوم المتحركة (المعرف: 15)
    • أطفال (المعرف: 9)
    • الموسيقية (المعرف: 13)
    • الرسوم المتحركة (المعرف: 15)
    • أطفال (المعرف: 9)
    • كوميديا ​​(المعرف: 2)
    • (و اكثر)

المخرجات:

  • معرّفات الأفلام الموصى بها:
    • قصة لعبة 2 (المعرف: 3114)
    • (و اكثر)

معايير الأداء

يتم إنشاء أرقام قياس الأداء باستخدام الأداة الموضحة هنا .

اسم النموذج حجم النموذج جهاز وحدة المعالجة المركزية
توصية (معرف الفيلم كإدخال) 0.52 ميغا بايت بكسل 3 0.09 مللي ثانية *
بكسل 4 0.05 مللي ثانية *
توصية (معرف الفيلم ونوع الفيلم كمدخلات) 1.3 ميغا بايت بكسل 3 0.13 مللي ثانية *
بكسل 4 0.06 مللي ثانية *

* 4 خيوط مستخدمة.

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

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

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

نصائح لتخصيص النموذج مع البيانات الخاصة بك

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

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

  • اختيار نوع التشفير: نقترح اختيار نوع المشفر بناءً على طول سياق الإدخال. يعمل مشفر حقيبة الكلمات جيدًا مع طول سياق الإدخال القصير (على سبيل المثال <10) ، وتجلب مشفرات CNN و RNN المزيد من القدرة على التلخيص لطول سياق الإدخال الطويل.

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