الاقتراح

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

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

البدء

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

مثال أندرويد

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

تحميل نموذج البداية

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

كود التدريب

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

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

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

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

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

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

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

بالإضافة إلى النموذج المُدرب، نوفر مجموعة أدوات مفتوحة المصدر في 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 ، وقد ترغب في تعديل تكوين النموذج بناءً على بياناتك الخاصة، مثل حجم المفردات، والتضمين المعتم، وطول سياق الإدخال. هنا بعض النصائح:

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

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

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