סינון מבוסס תוכן משתמש בתכונות של פריטים כדי להמליץ על פריטים אחרים, באופן דומה למה שהמשתמש אוהב, על סמך הפעולות הקודמות שלו או משוב מפורש.
כדי להדגים סינון מבוסס תוכן, נערוך הנדסה ידנית של תכונות מסוימות לחנות Google Play. באיור הבא מוצגת מטריצת תכונות כאשר כל שורה מייצגת אפליקציה, וכל עמודה מייצגת תכונה. התכונות יכולות לכלול קטגוריות (כגון Education, Shorts, Health), בעל האפליקציה של האפליקציה ועוד קטגוריות רבות. כדי לפשט את התהליך, נניח שהמטריצת של התכונה הזו היא בינארית: הערך של אפס ערכים פירושו שהאפליקציה כוללת את הערך הזה.
בנוסף, אתם מייצגים את המשתמש באותו מרחב תכונות. את חלק מהתכונות שקשורות למשתמש ניתן לספק באופן מפורש. לדוגמה, משתמש בוחר "בידור באפליקציות" בפרופיל שלו. תכונות אחרות עשויות להיות מרומזות, בהתאם לאפליקציות שהם התקינו בעבר. לדוגמה, המשתמש התקין אפליקציה אחרת שפורסמה על ידי Science R Us.
המודל צריך להמליץ על פריטים שרלוונטיים למשתמש הזה. כדי לעשות זאת, קודם צריך לבחור מדד דמיון (לדוגמה, מוצר נקודה). לאחר מכן עליכם להגדיר את המערכת לתת ציון לכל פריט במועמד בהתאם למדד הדמיון הזה. חשוב לשים לב שההמלצות הן ספציפיות למשתמש הזה, מאחר שהמודל לא השתמש במידע על משתמשים אחרים.
שימוש במוצר של נקודה כדי למדוד דמיון
קחו לדוגמה את המקרים שבהם הטמעת המשתמש \(x\) והטמעת האפליקציה \(y\) הן וקטורים בינאריים. מכיוון ש\(\langle x, y \rangle = \sum_{i = 1}^d x_i y_i\), תכונה שמופיעה גם \(x\) וגם \(y\) תרמת 1 לסכום. במילים אחרות, \(\langle x, y \rangle\) הוא מספר התכונות הפעילות בשני הוקטורים בו-זמנית. מוצר עם נקודות גבוהות מצביע על תכונות נפוצות יותר, ולכן הדמיון בו גבוה יותר.
רוצה לנסות?
יש לחשב את המוצר של הנקודה לכל אפליקציה שבה נתקלת בבעיה. לאחר מכן, השתמשו במידע הזה כדי לענות על השאלה הבאה: