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