אחזור

נניח שיש לכם מודל הטמעה. במקרה של משתמש, להחליט על אילו פריטים להמליץ?

בזמן ההצגה, בתגובה לשאילתה, מתחילים באחת מהפעולות הבאות:

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

אחרי שמטמיעים את השאילתה \(q\), מחפשים הטמעות פריטים. \(V_j\) שקרובים ל- \(q\) במרחב ההטמעה. זוהי בעיה השכנה הקרובה ביותר. לדוגמה, אפשר להחזיר את הערך k עליון פריטים בהתאם לציון הדמיון \(s(q, V_j)\).

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

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

אחזור בקנה מידה גדול

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

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