המלצה

הצג באתר TensorFlow.org הפעל ב-Google Colab צפה במקור ב-GitHub

המלצות מותאמות אישית נמצאות בשימוש נרחב עבור מגוון מקרי שימוש במכשירים ניידים, כגון אחזור תוכן מדיה, הצעה למוצר קניות והמלצה לאפליקציה הבאה. אם אתה מעוניין לספק המלצות מותאמות אישית ביישום שלך תוך כיבוד פרטיות המשתמש, אנו ממליצים לחקור את הדוגמה ואת ערכת הכלים הבאים.

להתחיל

אנו מספקים אפליקציה לדוגמה של TensorFlow Lite המדגימה כיצד להמליץ ​​על פריטים רלוונטיים למשתמשים באנדרואיד.

דוגמה לאנדרואיד

אם אתה משתמש בפלטפורמה שאינה אנדרואיד, או שאתה כבר מכיר את ממשקי API של TensorFlow Lite, אתה יכול להוריד את מודל ההמלצה שלנו למתחילים.

הורד את דגם המתחיל

אנו מספקים גם סקריפט הדרכה ב-Github כדי להכשיר את הדגם שלך בצורה ניתנת להגדרה.

קוד הדרכה

הבן את ארכיטקטורת המודל

אנו ממנפים ארכיטקטורת מודל של מקודד כפול, עם מקודד הקשר לקידוד היסטוריית משתמש רציפה ומקודד תווית לקידוד מועמד המלצות חזוי. דמיון בין קידוד ההקשר והתוויות משמש כדי לייצג את הסבירות שהמועמד החזוי עונה על צרכי המשתמש.

שלוש טכניקות שונות של קידוד היסטוריית משתמשים עוקבות מסופקות עם בסיס הקוד הזה:

  • מקודד תיק של מילים (BOW): ממוצע הטמעות של פעילויות משתמש מבלי להתחשב בסדר ההקשר.
  • מקודד רשתות עצביות קונבולוציונית (CNN): החלת שכבות מרובות של רשתות עצביות קונבולוציוניות כדי ליצור קידוד הקשר.
  • מקודד רשת עצבית חוזרת (RNN): החלת רשת עצבית חוזרת כדי לקודד רצף הקשר.

כדי ליצור מודל של כל פעילות משתמש, נוכל להשתמש במזהה של פריט הפעילות (מבוסס מזהה) , או במספר תכונות של הפריט (מבוסס תכונות), או בשילוב של שניהם. המודל המבוסס על תכונות המשתמש במספר תכונות כדי לקודד יחד את התנהגות המשתמשים. עם בסיס קוד זה, אתה יכול ליצור מודלים מבוססי מזהה או מבוססי תכונה באופן שניתן להגדרה.

לאחר האימון, ייצא מודל TensorFlow Lite שיוכל לספק ישירות תחזיות מובילות בקרב המועמדים להמלצה.

השתמש בנתוני האימון שלך

בנוסף למודל המאומן, אנו מספקים ערכת כלים במקור פתוח ב-GitHub כדי להכשיר מודלים עם הנתונים שלך. אתה יכול לעקוב אחר הדרכה זו כדי ללמוד כיצד להשתמש בערכת הכלים ולפרוס מודלים מאומנים ביישומים ניידים משלך.

אנא עקוב אחר מדריך זה כדי ליישם את אותה טכניקה המשמשת כאן כדי להכשיר מודל המלצות באמצעות מערכי נתונים משלך.

דוגמאות

כדוגמאות, הכשרנו מודלים של המלצות עם גישות מבוססות זיהוי ותכונות מבוססות. המודל המבוסס על מזהה לוקח רק את מזהי הסרטים כקלט, והמודל המבוסס על תכונה לוקח גם מזהי סרטים וגם מזהי ז'אנר סרטים כקלט. אנא מצא את דוגמאות הכניסות והפלטים הבאות.

תשומות

  • מזהי סרטי הקשר:

    • מלך האריות (מזהה: 362)
    • צעצוע של סיפור (מזהה: 1)
    • (ועוד)
  • מזהי ז'אנר סרטי הקשר:

    • אנימציה (מזהה: 15)
    • ילדים (תעודת זהות: 9)
    • מחזמר (מזהה: 13)
    • אנימציה (מזהה: 15)
    • ילדים (תעודת זהות: 9)
    • קומדיה (מזהה: 2)
    • (ועוד)

פלטים:

  • מזהי סרטים מומלצים:
    • צעצוע של סיפור 2 (מזהה: 3114)
    • (ועוד)

מדדי ביצועים

מספרי אמת מידה לביצועים נוצרים עם הכלי המתואר כאן .

שם המודל גודל דגם התקן מעבד
המלצה (מזהה סרט כקלט) 0.52 מגה-ביט פיקסל 3 0.09ms*
פיקסל 4 0.05ms*
המלצה (מזהה סרט וז'אנר סרט כקלט) 1.3 מגה-ביט פיקסל 3 0.13ms*
פיקסל 4 0.06ms*

* 4 חוטים בשימוש.

השתמש בנתוני האימון שלך

בנוסף למודל המאומן, אנו מספקים ערכת כלים במקור פתוח ב-GitHub כדי להכשיר מודלים עם הנתונים שלך. אתה יכול לעקוב אחר הדרכה זו כדי ללמוד כיצד להשתמש בערכת הכלים ולפרוס מודלים מאומנים ביישומים ניידים משלך.

אנא עקוב אחר מדריך זה כדי ליישם את אותה טכניקה המשמשת כאן כדי להכשיר מודל המלצות באמצעות מערכי נתונים משלך.

טיפים להתאמה אישית של מודל עם הנתונים שלך

המודל המאומן מראש המשולב באפליקציית ההדגמה הזו מאומן עם מערך הנתונים של MovieLens , ייתכן שתרצה לשנות את תצורת המודל בהתבסס על הנתונים שלך, כגון גודל ווקאב, עמעום הטבעה ואורך הקשר קלט. הנה כמה טיפים:

  • אורך הקשר קלט: אורך הקשר הקלט הטוב ביותר משתנה עם מערכי נתונים. אנו מציעים לבחור את אורך הקשר הקלט בהתבסס על כמה אירועי תווית מתואמים עם תחומי עניין ארוכי טווח לעומת הקשר קצר טווח.

  • בחירת סוג מקודד: אנו מציעים לבחור סוג מקודד על סמך אורך ההקשר של הקלט. מקודד Bag-of-words עובד היטב עבור אורך הקשר קלט קצר (למשל <10), מקודדי CNN ו-RNN מביאים יותר יכולת סיכום עבור אורך הקשר קלט ארוך.

  • שימוש בתכונות הבסיסיות כדי לייצג פריטים או פעילויות משתמש יכול לשפר את ביצועי המודל, להכיל פריטים טריים יותר, אולי להקטין את גודל החללים של הטבעה, ובכך להפחית את צריכת הזיכרון וידידותי יותר במכשיר.