חוויית המלצות מבוססות-סשן
ניתן לבחון המלצות מבוססות-סשן (Session-based recommendation) משלו נקודות מבט: SBR, למידת הקשר גלובלית ו-GSLA (ראו טבלת חומרים). במחקר זה לא השתתפו בני אדם או בעלי חיים. כל מערכי הנתונים הניסיוניים ששימשו בעבודה זו זמינים לציבור והוגשו כ-קובץ משלים: GSLA4Rec.zip.
המלצה מבוססת סשן
מערכת המלצות מבוססת-סשן (SBR) הייתה מערכת בינה מלאכותית שהתקשרה עם משתמשים באמצעות דיאלוגים של שפה טבעית במספר סבבים כדי להבין באופן דינמי את העדפות המשתמשים ולספק המלצות מותאמות אישית. SBR התפתחה משיטות מסורתיות לגישות מבוססות למידה עמוקה וגישות היברידיות, ולאחר מכן התקדמה לעבר פתרונות מבוססי מודלי שפה גדולים (LLM).
המלצה מסורתית מבוססת-סשן
SBR מסורתי יוצג בדרך כלל על ידי שיטות מבוססות שרשראות מרקוב וסינון שיתופי (Collaborative Filtering). הראשונות הפיקו המלצות על ידי פירוק של מטריצות מעברים הסתברותיות ספציפיות למשתמש. לדוגמה, Guy Shani24 הציע שיטת המלצה המבוססת על תהליך החלטה מרקובי (Markov Decision Process) שהפיקה המלצות על ידי פירוק של המטריצות המתאימות; Wanrong Gu25 שיפרה את ביצועי ההמלצות על ידי שילוב של שרשראות מרקוב עם מרווחי זמני רכישה. האחרונות הפיקו המלצות על ידי חילוץ קשרים רצפיים חבויים בין פריטים אינטראקטיביים סמוכים באמצעות פירוק מטריצות (matrix factorization). לדוגמה, Sarwar B1 חישב דמיון בין פריטים על בסיס התנהגויות היסטוריות של משתמשים (כגון ציונים ולחיצות) כדי להמליץ על פריטים התואמים להעדפות העבר של המשתמשים. אם משתמש A אהב את פריט a, ופריט c היה דומה מאוד ל-a, המערכת תמליץ על c ל-A; Rendle S5 הציע את FPMC, מודל המלצות רצפי המשלב פירוק מטריצות עם שרשראות מרקוב, כדי ללכוד קשרים רצפיים חבויים בין פריטים אינטראקטיביים סמוכים. עם זאת, SBR מסורתי זה התמקד בקשרים רצפיים בין פריטים סמוכים, מה שהקשה על מידול של יחסי תלות מורכבים.
המלצה מבוססת-סשן באמצעות למידה עמוקה
מערכות המלצה מבוססות-סשן (session-based recommendation) המשתמשות בלמידה עמוקה התפתחו דרך שלבים שכללו רשתות עצביות קונבולוציוניות (CNNs)26,27,28,29, RNNs ו-GNNs. SBR מבוסס-CNN ניצל פעולות כגון קונבולוציה ו-pooling כדי ללמוד ייצוגים של הקשר כל סשן, אשר שימשו לאחר מכן להמלצות עוקבות. Caser30 המיר את L הפריטים האחרונים שהמשתמש הגיב אליהם לווקטורים במימד d באמצעות שכבת embedding, ובכך יצר מטריצת embedding שהתייחסה כ"תמונה" הממופה במרחב הזמן והמרחב החבוי (latent space). לאחר מכן, נעשה שימוש בשלושה מסנני קונבולוציה של תבניות רצף — ברמת נקודה (point-level), ברמת איחוד ללא דילוג (union-level with no skip), וברמת איחוד עם דילוג אחד (union-level with skip once) — כדי ללמוד תבניות סדרתיות לשיפור ביצועי ה-SBR. Tuan et al.31 מידלו באופן אחיד זרמי לחיצות של סשנים ומאפייני תוכן באמצעות גרעיני קונבולוציה תלת-ממדיים כדי ליצור ייצוגים משותפים של מרחב-זמן-תוכן.
רשתות RNN היו מחלקה של ארכיטקטורות רשתות עצביות שתוכננו במיוחד לעיבוד נתונים סדרתיים. הרעיון המרכזי היה ללכוד תלות זמנית באמצעות מבנים רקורסיביים כגון רשתות זיכרון לטווח קצר ארוך (LSTM)13 ויחידות רקורסיביות שעריות (GRUs)32, והן היו נפוצות בשימוש בתחומים כגון עיבוד שפה טבעית (NLP)33, זיהוי דיבור34, תרגום טקסט35, נסיעות36,37, פשיעה38, וחיזוי מגמות עתידיות39 (למשל, תנועה40, שוקי מניות41,42, ומטאורולוגיה43). GRU4Rec, שהוצעה על ידי Hidasi וחב', הייתה אבן דרך במחקר בתחום SBR, והיא הייתה הראשונה להכניס רשתות RNN ל-SBR וללכוד דפוסי התנהגות סדרתיים של משתמשים באמצעות GRU כדי להשיג המלצות מותאמות אישית.
רשתות עצביות גרפיות (GNNs)44 הפגינו כושר ביטוי חזק במידול מערכות יחסים מורכבות בתוך נתונים במבנה של גרף, וחלק מהחוקרים הציגו GNNs למידול מעברים מורכבים בתוך סשנים או ביניהם. בהתאם לארכיטקטורות שונות של מודלי GNNs, שיטות מבוססות GNNs עבור המלצות מבוססות סשנים (SBR) סווגו באופן כללי לרשתות עצביות גרפיות עם שערים (GGNNs)45, רשתות קונבולוציה גרפיות (GCNs)46, ורשתות תשומת לב גרפיות (GATs)47. מודל ה-SR-GNN היה הראשון ליישם GNNs ב-SBR על ידי ייצוג רצפי סשנים כגרפים מכוונים ושימוש ב-GGNNs כדי ללכוד מערכות יחסים מורכבות של מעברי פריטים בתוך סשנים, בשילוב עם מנגנוני תשומת לב להשגת הייצוג (embedding) הסופי של הסשן, ובכך שיפר את ביצועי ההמלצות. Chen L48 הציע מסגרת GNNs רב-מבטית (multi-view) המשלבת תכונות מובנות ומילות מפתח לא מובנות כדי למדל אסוציאציות רב-ממדיות של מוצרים, מה ששיפר את הדיוק של ה-SBR. Driss E49 תכנן מערכת המלצות סשנים חדשנית המאמצת רשתות עצביות גרפיות מסוג קפסולה (capsule graph neural networks) כדי ללכוד מאפייני פריטים מורכבים ולהגביר את דיוק התחזית עבור SBR.
טכניקות הלמידה העמוקה שהוזכרו לעיל העשירה את היקף המחקר של SBR ושיפרו ביעילות את הביצועים, אך הן עדיין סבלו ממגבלות מסוימות, שבאו לידי ביטוי בעיקר ב: 1) עבור פריטים חדשים או סשנים דלילים מאוד, היה קשה למודלים לבצע תחזיות מדויקות בשל היעדר הקשר גלובלי; 2) הם לא יכלו לנצל את התבניות הגלובליות הכלולות בכל הסשנים ההיסטוריים.
המלצה היברידית מבוססת-סשן
מערכות המלצה היברידיות מבוססות-סשן שילבו את החוזקות של טכניקות שונות, כגון סינון שיתופי (collaborative filtering), למידה עמוקה (Deep-Learning) ומנגנוני קשב (attention mechanisms), כדי לשפר את ביצועי ה-SBR. מודל GC-SAN50 שילב מנגנון קשב עצמי המבוסס על SR-GNN כדי ללכוד טוב יותר מידע על אינטראקציות של פריטים חשובים בתוך סשן. מודל FGNN51 ביצע אגרגציה נוספת של מידע מפריטים שכנים באמצעות מנגנון קשב רב-ראשי (multi-head attention) כדי ללמוד מערכות יחסים מרובות של פריט המטרה. SR-HetGNN52 השתייך ל-SBR עם גרפים הטרוגניים; באמצעות הצגת פריטים מסוגים שונים (משתמש, פריט, סשן) וקשתות רב-יחסיות (לחיצה, רכישה, התרחשות משותפת, אסוציאציית תכונות), הוא בנה רשת ידע גלובלית שפרצה את מגבלת רצפי הפריטים הבודדים, והיהה שיטה חשובה למידול התנהגות של משתמשים אנונימיים ואסוציאציות של עניין בין סשנים בשנים האחרונות. KGSR-SAP53 בנה גרף ידע על ידי חיבור פריטים עם קשתות של מערכות יחסים מרובות כדי לתאר אינטראקציות מגוונות בין משתמש לפריט, ובכך פתר את בעיית אובדן המידע שבה הגרף הגלובלי מכיל רק קשתות מסוג אחד (אינטראקציית משתמש-פריט). Wang ZH54 הציע את DiffSBR, מודל המלצות לסשנים המבוסס על דיפוזיה. הוא מייצר העדפות אמינות לפריט הבא על ידי סימולציה של הסרת רעשים (denoising), ובכך משפר את המידול של רצפי לחיצות דינמיים של משתמשים. Qiao ST55 בנה מסגרת SBR המשלבת למידת כוונה רב-מבטית (multi-view intent learning) וסנכרון עם LLM. מסגרת זו כרתה כוונות משתמש משתמעות מפרספקטיבות מגוונות וניצלה מודלי שפה כדי לסנכרן מאפיינים סמנטיים לצורך שיפור ביצועי ההמלצות.
הקשר גלובלי
כדי להתגבר על החסרון של "צפייה במפגשים בבידוד", חוקרים הבינו שניתן להשתמש במידע גלובלי כדי לשפר את יכולת הייצוג של המפגש הנוכחי, ובכך לפתור בעיות כגון דלילות נתונים, בעיית ההתחלה הקרה (cold start) ופער סמנטי ב-SBR מסורתי. במקביל, בעת בניית הקשר גלובלי, נדרשה שילוב של מידע גלובלי למבנה של מפגש בודד תוך מזעור הפרעות רעש. CSRM56 ביצע אופטימיזציה לייצוג ברמת המפגש על ידי שילוב מידע שיתופי בין המפגש הנוכחי למפגשים שכנים, תוך שימוש במקודד זיכרון חיצוני (OME) כדי לחלץ כוונות שיתופיות מתוך המידע השיתופי. CA-TCN57 הציע מודל רשת קונבולוצית זמנית מודעת למספר מפגשים (cross-session aware), שבנה גרפים גלובליים וגרפי הקשר של מפגשים כדי לדמות את ההשפעה של מעבר בין מפגשים על פריטים ומפגשים, בעוד שהרשת הקונבולוצית הזמנית (TCN) מרחיבה את שדה הרסיפטיביות באמצעות קונבולוציות מורחבות (dilated convolutions), כאשר מספר השכבות מכסה רצפים באורך מעריכי (receptive field = ), ובכך פותר את בעיית היעלמות הגרדיאנט של RNNs. Chen58 הציע שיטת SBR המבוססת על רשתות עצביות של היפר-גרפים (SR-HGNNs), המשלבת מנגנוני התפשטות ותשומת לב מסדרים מעורבים (סדר נמוך וסדר גבוה) כדי לפתור את בעיית ההחלקה המוגזמת (over-smoothing) של GNNs מסורתיים במפגשים קצרים ולהבדיל בין החשיבות של סדרי התפשטות שונים, ובכך להשיג לכידה מדויקת יותר של תלויות ומניעת הפרעות רעש. GCE-GNN השתמש בזוגות פריטים המופיעים יחד במספר סדרי התרחשות כדי לבנות גרף משוקלל לא מכוון, תוך ספירת תדרי ההופעה המשותפת של פריטים כדי לשקף את חשיבות הפריטים במפגש; AGNN-GC59 השתמש ביחסי מעבר של פריטים בין מפגשים כדי לבנות גרף שיתופי גלובלי, תוך חישוב הסתברויות מעבר של פריטים בגרף הגלובלי כדי לשקף שינויי עניין במפגש; DA-GCN60 השתמש במסלול הקצר ביותר לעדכון מטריצת הסמיכות כדי לבנות גרף משוקלל דינמי, תוך חישוב תדירות הופעה משותפת בגרף הגלובלי ומרחק מסלול בין פריטים. בהשראת הספרות לעיל, מאמר זה הציע לבנות גרף גלובלי באמצעות שיטה מבוססת שכנים, כלומר, שימוש במקדם דמיון ג'קארד (Jaccard similarity coefficient) לחישוב מפגשים דומים, מה שלא רק ניצל מידע גלובלי אלא גם סינן רעשים (סינון פריטים לא רלוונטיים), ובכך השיג את מטרת הבנייה המדויקת של הקשר גלובלי והניח תשתית איתנה לאלגוריתם ה-SBR העוקב.
קשב לינארי עם חריצים מוגבלים (Gated-slot linear attention)
טרנספורמרים מסורתיים61 גרמו למורכבות מרחבית-זמנית גבוהה בשל הצורך בפעולות קשב (attention) מחוברות באופן מלא לאורך הרצף כולו, כדלקמן:
(1)
כאשר Q, K, V ∈ RN×d היו טרנספורמציות ליניאריות של פריטי הקלט, M = {Mij = 1 אם i ≥ j, אחרת −∞ } הייתה המסכה הסיבבית (causal mask) למניעת דליפת מידע עתידי, ⊙ סימן מכפלה איבר-איבר, ו-f סימנה את פונקציית האקטיבציה softmax.
כדי להשיג קשב ליניארי (linear attention)62, הרעיון הישיר ביותר היה להסיר את פונקציית ההפעלה softmax. עם זאת, לו פונקציית ההפעלה softmax הייתה מוסרת באופן ישיר, קשב ליניארי היה מוביל בוודאות למספר בעיות פוטנציאליות: אובדן כושר הביטוי העוצמתי של רשתות נוירונים וחוסר יכולת לפתור בעיות מורכבות בעולם האמיתי.
קשב לינארי מסוג Slot עם בקרת זיכרון חסומה
בהנחה שיש לשמר את פונקציית ההפעלה softmax, K ו-V דחסו בנפרד ל-K̃, Ṽ ∈ Rm×d. מנקודת המבט של רשת זיכרון, ל-K̃ ו-Ṽ היו תאי זיכרון שאורכם גדל עם הרצף, כלומר, מספר התאים m = N. אם m היה קבוע, ליניאריזציה הייתה אפשרית באופן ברור. בהשראת Bounded-memory Control63, נדרש שכל טוקן בפריטי הקלט באורך N ייכתב באופן תחרותי לתוך m תאים.
,
,
(2)
כאשר f הייתה פונקציית ההפעלה softmax ו-φi היה וקטור לשליטה בקלט האפקטיבי לצורך בקרה על ערך המפתח ki באופן הבא.
,
(3)
כאן, (φi)j מייצג את עוצמת הכתיבה של הטוקן ה-i למשבצת ה-j, והתקבל באמצעות פונקציית softmax מצטברת.
כדי להשיג חישוב ליניארי יעיל, נוסחה (2) נכתבה מחדש כנוסחה (4), אשר חישבה את οi מתוך qi, ki, ו-vi (משוואה 4) על ידי {οi|i=1T, qi, ki, vi)|i=1T} ואימצה חישוב סדרתי בשני מעברים:
,
(4)
לפיכך, ניתן להסיק את פעולות ה-SLA:
,
(5)
כאשר oi′ ∈ ℝm, οi ∈ ℝd. לפיכך, SLA יכולה להשיג אימון לפי מקטעים (chunk-wise) בזמן לינארי ויעילות חומרתית64.
קשב לינארי בעל חריצים שערים (Gated-slot linear attention)
מנגנון attention ליניארי בעל חריצים (Slot linear attention) עם בקרת זיכרון חסומה עשוי להפחית את הסיבוכיות החישובית והמרחבית. עם זאת, הצטברות של מידע עלולה להחדיר רעש לאינטראקציות של הסשן, ולכן דעיכה תלוית-נתונים הייתה חשובה מאוד לצורך שימור ושכחה סלקטיביים של מידע; מנגנון סלקטיבי זה נבחן מחדש במודלים עדכניים של מרחב מצבים סלקטיבי (selective state-space models)65. GSLA עם דעיכה תלוית-נתונים יכול להיות מבוטא כך:
,
(6)
כאן שערי הדעיכה הוגדרו באמצעות צורה של מכפלה חיצונית Gi = αi ⊗ βi, αi, βi ∈ [0,1]d. בהמשך, ניתן לכתוב את GSLA גם בצורה שקולה הבאה, כאשר בדרך כלל קובעים βt = 1 והכפלה של מטריצות כפי שמוצג ב64:
(7)
כאשר αi ו-ki מייצגים בנפרד את שער השכחה ואת שער הקלט, ניתן להקשיר את שני השערים כך ש-ki = 1 − αi, בהשראת הספרות על RNNs עם שערים (gated RNNs). היה ברור שניתן לנסח את GSLA באמצעות חישוב סדרתי בשני מעברים, כפי שמוצג במשוואה (8). המבנה מסדר שני תמך באימון מקבילי בבלוקים לשיפור יעילות האימון, והכנסת פעולת softmax למרכז המבנה מסדר שני שיפרה את יכולת המידול של זיכרון בעל חריצים מוגבלים (finite slot memory).
,
(8)
המרה של נתוני סשן
הגדרת הבעיה
תהי רצף הסשן הנתון S = {v1s, v2s, ⋯, vns}, כאשר vis מייצג את הפריט ה-i שנלחץ. על ידי ניתוח התנהגות הלחיצות של המשתמש ברצף זה, המערכת חזתה את הפריט הבא שבו המשתמש עשוי להיות מעוניין vn+1s.
בניית גרף
בניית גרף סשן
עבור סשן S = {v1s, v2s, ⋯, vns}, נבנה גרף מכוון Gs = (Vs, εs), כאשר Vs היה קבוצת הפריטים של הסשן הנתון S, ו-εs = {eijlocal|vi, vj, vi, vj ∈ Vs} הייתה קבוצת הקשתות של הסשן הנתון S. ε(vi-1s, vis) ייצג את הפריטים שנלחצו ברצף בסשן זה. ניתן היה לחלק את הקשת eijlocal לארבעה סוגים: ein, eout, ein-out, eself. מכיוון שפריט זהה עשוי להופיע שוב ושוב ברצף, נספר הערך המשוקלל עבור כל קשת.
הסשן הנוכחי s = [v1, v2, v4, v2, v3] הומר ל-SG, כפי שמוצג ב-איור 1A.

איור 1: הפיכת פריטים אינטראקטיביים למבני גרף. (A) איור של בניית גרף סשן (SG) על ידי הפיכת סשן לגרף. (B) איור של בניית גרף גלובלי של שכנים (NGG) על ידי שילוב של סשנים רבים לגרף אחד. איור זה נערך באופן עצמאי באמצעות Visio עם אלמנטים מותאמים אישית באופן מלא. לא נעשה שימוש במשאבי גרפיקה חיצוניים המוגנים בזכויות יוצרים, ולכן לא נדרש רישוי זכויות יוצרים נוסף מצד שלישי. זכויות היוצרים של האיור שייכות למחברים ויעמדו בכללי זכויות היוצרים של כתב העת עם קבלת המאמר. אנא לחצו כאן כדי לצפות בגרסה גדולה יותר של איור זה.
בניית גרף שכנים גלובלי
בהתבסס על הסשן הנוכחי S, נבנה ה-NGG המתאים Gg = (Vg, εg) כדי להעשיר את למידת הייצוג של הסשן הנוכחי באופן חוצה-סשנים. Vg היה קבוצת הפריטים המכילה את כל הפריטים ב-Gg, ו-εg = {eijglobal|vi, vj, vi, vj ∈ Vg} הייתה קבוצת הקשתות של Gg. ε(vi-1g, vig) ייצג את הפריטים בעלי האינטראקציה הישירה vi-1g ו-vig ב-NGG Gg. תהליך זה היה מורכב משני שלבים: רכישת סשנים שכנים ובניית NGG.
רכישת מפגשי שכנים
בכלל מערך הנתונים, נחפשו הסשנים עם המספר המקסימלי של פריטים המופיעים יחד עם הסשן הנוכחי. ה- N סשנים המובילים עם ספירות ההופעה המשותפת הגבוהות ביותר נבחרו כדי לבנות קבוצת סשנים שכנים מועמדים S. לאחר מכן, נעשה שימוש במקדם דמיון ג'קארד (Jaccard similarity coefficient) כדי לחשב את הדמיון בין הסשן הנוכחי cu לבין סשן Sr ∈ S מקבוצת המועמדים S, כפי שמוצג במשוואה (9).
(9)
כאן, co(Scu, Sr) סימן את מספר הפריטים המופיעים יחד הן ב-Scu והן ב-Sr, בעוד ש-l(Scu) ו-l(Sr) ייצגו בהתאמה את אורכיהם של Scu ו-Sr, כאשר Scu ו-Sr סימנו את הסשן הנוכחי ואת סשן שכנה. סשנים עם דמיון נמוך מסף מסוים (שניתן להגדירו כהיפר-פרמטר) סוננו החוצה, והסשנים שנותרו הרכיבו את קבוצת סשני השכנים Ns עבור הסשן הנוכחי.
בניית גרף גלובלי של שכנים
על בסיס קבוצת מפגשי השכנים Ns, נבנה ה-NGG, כפי שמוצג ב-איור 1B. במהלך בניית מטריצת הסמיכות, אם בין שני פריטים (vi, vj) התקיים אינטראקציה, הערך התואם Aij נקבע ל-1, ואחרת הוא נקבע ל-0. בנוסף, האינטראקציות בין הפריטים עובדו כבלתי מכוונות ולוו בלולאות עצמיות (self-loops), ולאחר מכן בוצעה נורמליזציה, כפי שמוצג ב-טבלה 1.
| 1 | 2 | 3 | 4 | 5 | 6 |
| 1 | 1/2 | 1/2 | 0 | 0 | 0 | 0 |
| 2 | 0 | 1/4 | 1/4 | 1/2 | 0 | 0 |
| 3 | 0 | 0 | 1 | 0 | 0 | 0 |
| 4 | 0 | 1/4 | 1/2 | 1/4 | 0 | 0 |
| 5 | 0 | 0 | 0 | 0 | 1/3 | 2/3 |
| 6 | 0 | 1/3 | 0 | 1/3 | 0 | 1/3 |
טבלה 1: מטריצת סמיכות מנורמלת של הגרף הגלובלי של השכנים. הטבלה מציגה את מטריצת הסמיכות המנורמלת המתארת את הקשרים המשוקללים בין הצמתים בגרף הגלובלי של השכנים שנבנה.
תכנון אלגוריתם המלצות מבוסס-סשן
סעיף זה מרחיב על המודל החדשני המוצע GSLA4Rec, אשר שיפר את ביצועי ה-SBR על ידי הכנסת מנגנון ה-GSLA על גבי ייצוג מאפיינים משותף של SG ו-NGG.

איור 2: מסגרת העבודה GSLA4Rec.מסגרת עבודה זו שילבה למידה של מבנה גרף של סשנים ומבנה גרף גלובלי של שכנים, סיננה רעשי אינטראקציה באמצעות מנגנון שער (gating mechanism), איזנה בין אחסון ליעילות באמצעות מנגנון חריצי זיכרון (memory slots mechanism), ולכדה רלוונטיות של פריטים באמצעות מנגנון קשב ליניארי (linear attention mechanism) כדי לחזות את העדפת הלחיצה הבאה של המשתמש. איור זה שורטט באופן עצמאי באמצעות Visio עם אלמנטים בהתאמה אישית מלאה. לא נעשה שימוש במשאבי גרפיקה חיצוניים המוגנים בזכויות יוצרים, ולכן לא נדרש רישוי זכויות יוצרים נוסף מצד שלישי. זכויות היוצרים של האיור שייכות למחברים ויעמדו בכללי זכויות היוצרים של כתב העת עם קבלת המאמר. GSLA4Rec מייצג רשתות עצביות גרפיות בעלות קשב ליניארי וחריצים עם שער (gated-slot linear attention graph neural networks) עבור SBR. אנא לחץ כאן כדי לצפות בגרסה גדולה יותר של איור זה.
איור 2 מציג את המסגרת של GSLA4Rec, המורכבת מארבעה רכיבים עיקריים: 1) ייצוג פריטים ברמת הסשן (Session-level item representation). רכיב זה השתמש במודל GNNs על גבי SG כדי ללמוד שיבוצי פריטים (embeddings) ברמת הסשן בתוך הסשן הנוכחי; 2) ייצוג פריטים ברמה גלובלית של שכנים (Neighbor global-level item representation). רכיב זה למד שיבוצי פריטים ברמה גלובלית על פני כל הסשנים על ידי שימוש ב-GRU כדי לשלב באופן רקורסיבי את שיבוצי השכנים של כל פריט בהתבסס על ה-NGG; 3) GSLA. רכיב זה מידל את העדפות המשתמשים בסשן הנוכחי על ידי אגרגציה של ייצוגי הפריטים שנלמדו הן ברמת הסשן והן ברמה הגלובלית; 4) שכבת חיזוי (Prediction layer). רכיב זה פלט את ההסתברויות החזויות עבור הפריטים המועמדים. ארבעת הרכיבים מוצגים בפירוט בהמשך.
ייצוג הסשן
ב-SBR, הבנת דפוסי האינטראקציה של המשתמשים הייתה קריטית. לשם כך, נבנו SG ו-NGG לצורך למידת ייצוג של סשנים, במטרה להבין באופן מקיף את דפוסי האינטראקציה של המשתמשים ובכך ללכוד את הכוונות האותנטיות יותר של המשתמשים.
ייצוג פריטים ברמת הסשן
בהתבסס על ה-SG ב-איור 1A, נעשה שימוש בשיטת Weighted Bidirectional Graph Attention (WBGAT) כדי לחלץ מאפיינים של ה-SG. שיטה זו הציגה משקולות קשתים וכיווניות פריטים (In-neighbor ו-Out-neighbor) בהתבסס על מנגנון GAT סטנדרטי, והשיגה את האפקט של חיזוק קשתים חשובים ולכידה של תלויות דו-כיווניות, ובכך נתנה מענה לחסרונות של GAT מסורתי בנוגע למערכות יחסים אסימטריות בין פריטים ולעוצמת האינטראקציה. תהליך החישוב היה כדלקמן:
ראשית, חישוב משקלי נורמליזציה של דרגת הכניסה של הפריטים.
(10)
כאשר eij מציין את משקל השכנים הקרובים מסדר ראשון של מאפייני פריט j ביחס לפריט i,
היה הקשר בין פריט i לפריט j, β* ∈ ℝd היו וקטורי משקלות, hi ו-hj היו הייצוגים של פריט i ופריט j בהתאמה, Wi(in) ∈ ℝd*d ו-Wj(in) ∈ ℝd*d היו פרמטרים הניתנים לאימון, ו-|| ייצג פעולת שרשור (concatenation). כדי להבדיל בין קשרי דרגה נכנסת (in-degree) שונים, אומנו שני וקטורי משקלות, rin ו-rin-self. פונקציית ההפעלה שנוצלה הייתה LeakyReLU.
(11)
כדי להפוך את המקדמים לניתנים להשוואה בין פריטים שונים, משקולות הקשב נורמלו באמצעות פונקציית softmax. כאשר Ni(in) הייתה קבוצת השכנים הפנימיים מסדר ראשון של פריט i,
היה משקל השכן הפנימי של קשת מכוונת (i←j) ב-SG, שיטה זו אפשרה למודל ללמוד קורלציות של מאפייני פריט תוך שמירה על מידע על חוזק הקשר האינהרנטי של מבנה הגרף, וזאת על ידי נטילת הלוגריתם של משקולות הקשת והוספתן לציון הקשב המקורי eij.
שנית, חישוב משקלי נורמליזציה של דרגת היציאה (out-degree) של הפריט.
(12)
כאשר ẽij מציין את משקל השכנה החוצה (out-neighbor weight) מסדר ראשון של מאפייני פריט j כלפי פריט i,
היה הקשר בין פריט i ל-j, ואומנו שני וקטורי משקל, כלומר rout ו-rout-self.
(13)
כאשר Ni(out) הייתה קבוצת השכנים היוצאים מסדר ראשון של פריט i,
היה משקל השכן היוצא של הקשת המכוונת (i→j) ב-SG.
שלישית, אגרגציית מידע. ניתן לקבל את ההטמעה המעודכנת של הפריט לאחר שקלול וסכימה של הטמעות הדרגה הנכנסת (in-degree) והדרגה היוצאת (out-degree) מסדר ראשון של פריט i.
(14)
כאשר
ו-α̃ij מייצגים בהתאמה את משקלי ה-in-degree וה-out-degree של פריט i, ו-
מייצג את הייצוג המעודכן של פריט i.
ייצוג פריטים ברמה גלובלית של שכנים
מחקרים אחרונים הסכימו בעקביות כי בניית גרף גלובלי עשויה לשפר את ייצוג הנתונים ובכך להביא לשיפור בביצועי ה-SBR, דבר זה היה מעבר לספק. עם זאת, שיפור גלובלי של נתונים עלול להחדיר גם מידע לא רלוונטי, כגון רעש. במודל המוצע, כדי להשיג העשרה גלובלית של נתונים תוך מזעור הרעש ככל האפשר, נבנה גרף גלובלי של שכנים קרובים.
בהתבסס על ה-NGG ב-איור 1B ועל מטריצת הסמיכות הנורמלית ב-טבלה 1, הסשן הנוכחי והסשנים השכנים לו הומרו ל-NGG, ושיטת GGNNs45 יושמה כדי לחלץ מאפיינים של ה-NGG. תהליך הלמידה של וקטורי הפריטים ב-NGG הוצג במשוואה (15).




(15)
W ∈ ℝd×2d מייצג את משקלי הבקרה, zg,i ו-rg,i מייצגים את שער העדכון ושער האיפוס, בהתאמה. [h1t-1, ⋯, hnt-1] מייצג את רשימת כל וקטורי הפריטים בסשן s. σ(x) = 1/(1 + e-x) הייתה פונקציית הסיגמואיד הלוגיסטית, ⊙ סימן כפל איבר-איבר, ו-hi ∈ ℝd מייצג את הווקטור לאחר עדכון עם שערים. מטריצת הסמיכות As ∈ ℝn×n הצביעה על הקישוריות בין פריטים בסשנים שכנים, ו-As,i: ∈ ℝ1×n ייצג בלוק עמודות של As המתאים לפריט vs,i במטריצת הסמיכות. עבור הסשן הנוכחי s = [v1, v2, v4, v2, v3], ה-NGG ומטריצת הסמיכות הנורמלית מוצגים ב-איור 1B וב-טבלה 1, בהתאמה.
ייצוג פריט
הייצוג של הפריט התקבל על ידי סכימה של וקטור הפריט ברמת הסשן ושל וקטור הפריט השכני ברמה הגלובלית, כפי שמוצג במשוואה (16):

(16)
שם נעשה שימוש ב-dropout על ייצוגי פריטי השכנים ברמה הגלובלית כדי להפחית overfitting.
קשב לינארי עם חריצים שערים (Gated-slot linear attention)
מנגנון תשומת הלב הליניארית בעלת החריצים השערים (GSLA) במאמר זה שילב תשומת לב ליניארית עם בקרת זיכרון חסומה ומנגנון שערים תלוי-נתונים. מצד אחד, הוא ירש את מנגנון חריצי הזיכרון הסופי של מודל הבקר מבוסס תשומת הלב (ABC), דחס זוגות מפתח-ערך שגדלו במקור עם אורך הרצף למספר קבוע של חריצים, וכל חריץ עודכן באמצעות כתיבה תחרותית, ובכך פתר את בעיית הסיבוכיות החישובית של תשומת לב גלובלית בטרנספורמר. מצד שני, הוא הציג מנגנון שערים עדין הדומה ל-GLA, שבו נתוני הקלט התאימו באופן דינמי את יחס השימור של מידע היסטורי באמצעות שער שכחה αi, ובכך פתר את בעיית הרעש שנגרמה מחסרונו של מנגנון שכחה ב-ABC.

איור 3: תרשים סכמטי של GSLA. וקטור הקלט מופנה לווקטור השאילתה (query), לווקטור מילת המפתח (keyword) ולווקטור הערך (value), בהתאמה, ולאחר מכן מעובד על ידי קשב ליניארי (linear attention) עם בקרת זיכרון מוגבלת ומנגנון שערים תלוי-נתונים כדי לקבל את ווקטור השאילתה המעודכן, ווקטור מילת המפתח, ווקטור הערך ווקטור הפלט. איור זה שורטט באופן עצמאי באמצעות Visio עם אלמנטים מותאמים אישית באופן מלא. לא נעשה שימוש במשאבי גרפיקה חיצוניים המוגנים בזכויות יוצרים, ולכן לא נדרש רישוי נוסף של זכויות יוצרים מצד שלישי. זכויות היוצרים של האיור שייכות למחברים ויהיו תואמות לכללי זכויות היוצרים של כתב העת עם קבלת המאמר. GSLA מייצג gated-slot linear attention. אנא לחצו כאן כדי לצפות בגרסה גדולה יותר של איור זה.
כפי שיושם באופן ספציפי ב-איור 3, וקטור הקלט מופה בנפרד לווקטור השאילתה (query vector), לווקטור המפתח (key vector) ולווקטור הערך (value vector)64:
(17)
כאשר Wq, Wk, Wv ∈ ℝd×d מייצגים את מטריצות משקלי הטרנספורמציה המתאימות בהתאמה לשאילתה (query), למפתח (key) ולערך (value), ו-ht מציין את וקטור ההטמעה (embedding vector) בצעד הזמן ה-t ברצף הקלט של הסשן. פונקציית Swish הוגדרה כ-Swish(x) = x · σ(x) והיא פונקציית אקטיבציה בעלת שער עצמי (self-gated activation function), כאשר σ היא פונקציית הסיגמואיד (Sigmoid); פונקציה זו הניבה ביצועים טובים יותר מפונקציית האקטיבציה המסורתית ReLU במספר משימות של למידה עמוקה (Deep-Learning).
GSLA השתמשה בשער שכחה αi ובשער קלט 1 − αi, בהתאם לנתוני הקלט, כדי לעדכן באופן דינמי את המידע בתא הזיכרון ה-i. התהליך היה כדלקמן64:
(18)
(19)
כאן, K̃t ו-Ṽt ייצגו את חריצי וקטור המפתחות (key vector slots) וחריצי וקטור הערכים (value vector slots) בצעד הזמן t, בעוד ש-K̃t-1 ו-Ṽt-1 ייצגו את חריצי וקטור המפתחות וחריצי וקטור הערכים בצעד הזמן t−1. שער השכיחה הוא αi = σ(Wαht)1/τ, כאשר Wα ∈ ℝd הייתה מטריצת משקלי הטרנספורמציה, σ הייתה פונקציית הסיגמואיד (Sigmoid), ו-τ היה מקדם הריסון (בדרך כלל מוגדר כ-8), המשמש לשליטה ברמת הרכות של שער השכיחה. דבר זה אפשר ל-GSLA להתאים בצורה חלקה את קצב השכיחה של מידע היסטורי: ככל ש-αi גדול יותר, כך ה-GSLA הסתמך יותר על מידע היסטורי, וככל ש-αi קטן יותר, כך ה-GSLA התמקד יותר בקלט הנוכחי.
חריצי וקטור המפתח K̃t וחריצי וקטור הערך Ṽt של החריצים בשלב ה-t נכתבו בצורה של מטריצה, כפי שמוצג65 במשוואות (20) ו-(21):
(20)
(21)
לאחר מכן, נעשה שימוש ב-GSLA בעל תכונות מסדר שני (ראו משוואה (8)) כדי לחשב את הפלט oi |i=1T עבור כל שלב זמן i ∈ [1, …, T]. טרנספורמציה ליניארית הוחלה על הפלט של כל שלב זמן כדי לקבל את התוצאה h̃t. לבסוף, חושב ערך הממוצע של הייצוגים של כל הפריטים ברצף הסשן כדי להפיק את ה-session embedding S̃e עם עדכוני זיכרון דינמיים:
(22)
(23)
כאן, ot מייצג את הפלט של Gated-Slot בצעד זמן t, ו-h̃t מציין את התוצאה של ביצוע טרנספורמציה ליניארית על ot. S̃e מציין את ערך הממוצע של h̃t בכל צעדי הזמן.
שכבת חיזוי
על בסיס ייצוג הסשן שהתקבל S̃e והשיכון (embedding) הראשוני של פריט i, בוצעו פעולות מכפלה סקלארית כדי לחשב את הניקוד עבור כל פריט מועמד hi. לאחר מכן, נעשה שימוש בפונקציית softmax כדי לקבל את הסבירויות להמלצה עבור הפריט המועמד i:
(24)
כאן, ỹ מייצג את הסטירואידים של הסבירות להמלצה על הפריט המועמד, hi מסמן את הווקטור של הפריט המועמד, ולצורך אימון המודל נעשה שימוש בפונקציית הפסד של cross-entropy.
(25)
כאן, y היה הייצוג של ה-one-hot encoding עבור ה-ground truth.