Ervaring met sessiegebaseerde aanbevelingen
Sessiegebaseerde aanbeveling kan vanuit drie perspectieven worden onderzocht: SBR, global context learning en GSLA (zie Tabel met Materialen). Er waren geen menselijke deelnemers of dieren betrokken bij deze studie. Alle experimentele datasets die in dit werk zijn gebruikt, zijn openbaar beschikbaar en ingediend als Aanvullend Bestand: GSLA4Rec. zip.
Sessiegebaseerde aanbeveling
Sessiegebaseerde aanbeveling (SBR) was een systeem van kunstmatige intelligentie dat via meerrondige natuurlijke taaldialogen met gebruikers interacteerde om gebruikersvoorkeuren dynamisch te begrijpen en gepersonaliseerde aanbevelingen te doen. SBR evolueerde van traditionele methoden naar deep learning-gebaseerde en hybride benaderingen, om vervolgens verder te ontwikkelen richting oplossingen op basis van Large Language Models (LLM).
Traditionele sessiegebaseerde aanbeveling
Traditionele SBR werd doorgaans gerepresenteerd door methoden op basis van Markov-ketens en Collaborative Filtering. De eerste methode genereerde aanbevelingen door gebruikersspecifieke probabilistische transitiematrices te ontleden. Zo stelde Guy Shani24 een aanbevelingsmethode voor op basis van een Markov-beslissingsproces die aanbevelingen produceerde door de overeenkomstige matrices te ontleden; Wanrong Gu25 verbeterde de prestaties van aanbevelingen door Markov-ketens te integreren met aankooptijdsintervallen. De laatste methode genereerde aanbevelingen door middel van matrixfactorisatie verborgen sequentiële relaties tussen opeenvolgende interactieve items te extraheren. Bijvoorbeeld, Sarwar B1 berekende de gelijkenis tussen items op basis van het historische gedrag van gebruikers (zoals scores en klikken) om items aan te bevelen die aansluiten bij de eerdere voorkeuren van gebruikers. Als gebruiker A item a leuk vond en item c sterk leek op a, beveelt het systeem c aan bij A; Rendle S5 stelde FPMC voor, een model voor sequentie-aanbevelingen dat matrixfactorisatie combineert met Markov-ketens om verborgen sequentiële relaties tussen opeenvolgende interactieve items vast te leggen. Dergelijke traditionele SBR richtte zich echter op sequentiële relaties tussen opeenvolgende items, waardoor het modelleren van complexe afhankelijkheidsrelaties bemoeilijkt werd.
Sessiegebaseerde aanbeveling via deep learning
Sessiegebaseerde aanbevelingen via deep learning zijn geëvolueerd via fasen met Convolutionele Neurale Netwerken (CNN's)26,27,28,29, RNN's en GNN's. Op CNN gebaseerde SBR maakte gebruik van operaties zoals convolutie en pooling om representaties van elke sessiecontext te leren, die vervolgens werden gebruikt voor opeenvolgende aanbevelingen. Caser30 zette de L meest recente items waarmee een gebruiker had geïnteracteerd om in d-dimensionale vectoren via een embedding-laag, waardoor een embedding-matrix ontstond die werd behandeld als een "afbeelding" geprojecteerd in de tijd en de latente ruimte. Vervolgens werden drie convolutionele filters voor sequentiepatronen gebruikt — op puntniveau, op unieniveau zonder overslag, en op unieniveau met één keer overslag — om sequentiële patronen te leren voor betere SBR-prestaties. Tuan et al.31 modelleerden sessie-clickstreams en inhoudelijke kenmerken uniform via 3D-convolutiekernels om gezamenlijke ruimtelijk-temporele-inhoudelijke representaties te vormen.
RNN's waren een klasse van neurale netwerkarchitecturen die specifiek waren ontworpen voor het verwerken van sequentiële gegevens. De kernidee was om temporele afhankelijkheden vast te leggen via recurrente structuren zoals long short-term memory-netwerken (LSTM)13 en gated recurrent units (GRU's)32, en ze werden op grote schaal gebruikt in vakgebieden zoals natuurlijke taalverwerking (NLP)33, spraakherkenning34, tekstvertaling35, reizen36,37, criminaliteit38, en het voorspellen van toekomstige trends39 (bijv. verkeer40, aandelenmarkten41,42 en meteorologie43). GRU4Rec, voorgesteld door Hidasi et al., was een mijlpaal in SBR-onderzoek; het introduceerde als eerste RNN's in SBR en legde de sequentiële gedragspatronen van gebruikers vast via GRU om gepersonaliseerde aanbevelingen te realiseren.
GNNs44 hebben een sterke expressieve kracht aangetoond bij het modelleren van complexe relaties binnen grafiekgestructureerde gegevens, en sommige onderzoekers hebben GNNs geïntroduceerd om complexe overgangen binnen of tussen sessies te modelleren. Afhankelijk van de verschillende GNN-modelarchitecturen werden GNN-gebaseerde methoden voor SBR over het algemeen gecategoriseerd in gated graph neural networks (GGNNs)45, graph convolutional networks (GCNs)46 en graph attention networks (GATs)47. SR-GNN was de eerste die GNNs toepaste op SBR door sessiesequenties weer te geven als gerichte grafieken en GGNNs te gebruiken om complexe item-overgangsrelaties binnen sessies vast te leggen, gecombineerd met attention-mechanismen om de uiteindelijke sessie-embedding te verkrijgen, waardoor de aanbevelingsprestaties werden verbeterd. Chen L48 stelde een multi-view GNN-framework voor dat gestructureerde attributen en ongestructureerde trefwoorden combineert om multidimensionale productassociaties te modelleren, wat de nauwkeurigheid van SBR verbeterde. Driss E49 ontwierp een innovatief sessie-aanbevelingssysteem dat gebruikmaakt van capsule graph neural networks om complexe itemkenmerken vast te leggen en de voorspellingsnauwkeurigheid voor SBR te verhogen.
De bovengenoemde deep-learningtechnieken hebben de onderzoekscope van SBR verrijkt en de prestaties effectief verbeterd, maar ze hadden nog steeds bepaalde beperkingen, die zich voornamelijk manifesteerden in: 1) Voor nieuw opkomende items of zeer schaarse sessies was het voor de modellen moeilijk om nauwkeurige voorspellingen te doen vanwege het gebrek aan globale context; 2) Ze konden de globale patronen die in alle historische sessies besloten liggen niet benutten.
Hybride sessiegebaseerde aanbeveling
Hybride sessiegebaseerde aanbevelingen integreerden de sterke punten van verschillende technieken, zoals collaborative filtering, Deep-Learning en aandachtmechanismen, om de prestaties van SBR te verbeteren. GC-SAN50 incorporeerde een self-attention mechanisme op basis van SR-GNN om interactie-informatie van belangrijke items binnen een sessie beter vast te leggen. FGNN51 aggregeerde vervolgens informatie van naburige items via een multi-head attention mechanisme om meerdere relaties van het doelitem te leren. SR-HetGNN52 behoorde tot SBR met heterogene grafen; door het introduceren van items van meerdere typen (gebruiker, item, sessie) en multi-relationele randen (klik, aankoop, co-occurrentie, attribuutassociatie), construeerde het een globaal kennisnetwerk, waardoor de beperking van enkelvoudige itemsequenties werd doorbroken. Dit was in recente jaren een belangrijke methode voor het modelleren van het gedrag van anonieme gebruikers en cross-sessie interesseassociaties. KGSR-SAP53 construeerde een kennisgraaf door items te verbinden met randen van meerdere relaties om diverse gebruikers-iteminteracties te beschrijven, waarmee het probleem van informatieverlies werd opgelost wanneer de globale graaf slechts randen van één type (gebruikers-iteminteractie) bevat. Wang ZH54 stelde DiffSBR voor, een diffusiegebaseerd sessie-aanbevelingsmodel. Dit genereert betrouwbare voorkeuren voor het volgende item door ruisonderdrukking (denoising) te simuleren, wat de modellering van dynamische kliksequenties van gebruikers verbetert. Qiao ST55 bouwde een SBR-framework dat multi-view intentie-leren en LLM-alignment combineerde. Het mineerde impliciete gebruikersintenties vanuit diverse perspectieven en maakte gebruik van taalmodellen om semantische kenmerken af te stemmen voor een betere verbetering van de aanbevelingsprestaties.
Globale context
Om het tekortkoming van het "geïsoleerd bekijken van sessies" te overwinnen, realiseerden onderzoekers zich dat globale informatie kon worden gebruikt om het representatievermogen van de huidige sessie te verbeteren, om zo problemen zoals dataschaarsheid, de cold start en de semantische kloof in traditionele SBR op te lossen. Tegelijkertijd was bij het construeren van de globale context vereist om globale informatie in een enkele sessie te integreren, terwijl ruisinterferentie tot een minimum werd beperkt. CSRM56 optimaliseerde de representatie op sessieniveau door collaboratieve informatie tussen de huidige sessie en naburige sessies te integreren, waarbij een outer memory encoder (OME) werd gebruikt om collaboratieve intentie uit de collaboratieve informatie te extraheren. CA-TCN57 stelde een cross-session aware temporal convolutional network-model voor, waarbij globale grafen en sessiecontextgrafen werden geconstrueerd om de impact van cross-session op items en sessies te simuleren, terwijl het temporal convolutional network (TCN) het receptieve veld uitbreidt via dilated convolutions, waarbij het aantal lagen sequenties van exponentiële lengte bestrijkt (receptief veld = ), wat het probleem van de gradiëntverdwijning bij RNN's oplost. Chen58 stelde een SBR-methode voor op basis van hypergraph neural networks (SR-HGNNs), die mixed-order (lage orde en hoge orde) propagatie en attentiemechanismen integreert om het over-smoothing probleem van traditionele GNN's in korte sessies op te lossen en het belang van verschillende propagatieordes te onderscheiden, waardoor afhankelijkheden nauwkeuriger kunnen worden vastgelegd en ruisinterferentie kan worden vermeden. GCE-GNN gebruikte multi-order co-occuerende itemparen om een ongerichte gewogen graaf te construeren, waarbij de frequenties van co-occurente items werden geteld om het belang van items in de sessie te reflecteren; AGNN-GC59 gebruikte cross-session item-transitierelaties om een globale collaboratieve graaf te construeren, waarbij item-transitiekansen in de globale graaf werden berekend om interesseveranderingen in de sessie te reflecteren; DA-GCN60 gebruikte het kortste pad om de adjacentiematrix bij te werken voor de constructie van een dynamische gewogen graaf, waarbij de globale graaf co-occurrence frequentie en de padafstand tussen items werden berekend. Geïnspireerd door de bovenstaande literatuur stelde dit artikel voor om een globale graaf te construeren via een neighbor-based methode, d.w.z. door de Jaccard-similariteitscoëfficiënt te gebruiken om gelijkaardige sessies te berekenen, wat niet alleen globale informatie benutte maar ook ruis filterde (het wegfilteren van irrelevante items), waardoor het doel van het nauwkeurig construeren van de globale context werd bereikt en een solide basis werd gelegd voor het daaropvolgende SBR-algoritme.
Gated-slot lineaire aandacht
Traditionele transformers61 veroorzaakten een hoge spatiotemporele complexiteit vanwege de noodzaak van volledig verbonden attention-operaties over de gehele sequentie als volgt:
(1)
Waarbij Q, K, V ∈ RN×d lineaire transformaties waren van de input-items, M = {Mij = 1 als i ≥ j, anders −∞ } het causale masker was om lekkage van toekomstige informatie te voorkomen, ⊙ elementgewijze vermenigvuldiging aanduidde, en f de activatiefunctie softmax aanduidde.
Om lineaire aandacht62 te bereiken, was het meest directe idee om de softmax-activeringsfunctie te verwijderen. Wanneer de softmax-activeringsfunctie echter direct zou worden verwijderd, zou lineaire aandacht ongetwijfeld tot enkele potentiële problemen leiden: het verlies van de krachtige expressieve vermogens van neurale netwerken en het onvermogen om complexe praktijkproblemen op te lossen.
Slot linear attention met begrensd geheugengebruik
Uitgaande van de noodzaak om de softmax-activeringsfunctie te behouden, werden K en V afzonderlijk gecomprimeerd tot K̃, Ṽ ∈ Rm×d. Vanuit het perspectief van het geheugennetwerk hadden K̃ and Ṽ geheugenslots waarvan de lengte toeneemt met de sequentie, dat wil zeggen dat het aantal slots m = N. Indien m vaststond, was linearisatie overduidelijk mogelijk. Geïnspireerd door Bounded-memory Control63, was vereist dat elk token in de input-items met een lengte van N competitief in m slots werd geschreven.
,
,
(2)
Hierbij was f de softmax-activeringsfunctie en φi de vector om de effectieve input te beheersen voor het controleren van de sleutelwaarde ki als volgt.
,
(3)
Hierbij stelde (φi)j de schrijfintensiteit van het ide token voor de jde slot voor, wat werd verkregen met behulp van een cumulatieve softmax-functie.
Om een efficiënte lineaire berekening te bewerkstelligen, werd formule (2) herschreven als formule (4), waarbij οi werd berekend uit qi, ki en vi (Eq. 4) via {οi|i=1T, qi, ki, vi)|i=1T} en werd een sequentiële berekening in twee fasen toegepast:
,
(4)
Hieruit konden SLA-operaties worden afgeleid:
,
(5)
Waarbij oi′ ∈ ℝm, οi ∈ ℝd. Daarom kan SLA hardware-efficiënte lineaire-tijd chunk-gewijze training verkrijgen64.
Gated-slot lineaire aandacht
Slot lineaire aandacht met begrensd geheugenbeheer zou de computationele en ruimtelijke complexiteit kunnen verminderen. Echter, de accumulatie van informatie zou ook ruis in de sessie-interactie kunnen introduceren, waardoor data-afhankelijk verval zeer belangrijk was voor het selectief behouden en vergeten van informatie; dit selectieve mechanisme is recentelijk opnieuw onderzocht in selectieve state-space modellen65. GSLA met data-afhankelijk verval kan als volgt worden uitgedrukt:
,
(6)
Hier werden de vervalpoorten geparametriseerd door een vorm van het buitenproduct Gi = αi ⊗ βi, αi, βi ∈ [0,1]d. In het vervolg kan GSLA ook in de volgende equivalente vorm worden geschreven door gewoonlijk βt = 1 te stellen en matrixvermenigvuldiging te gebruiken zoals in64:
(7)
Waar αi en ki respectievelijk de forget gate en de input gate aanduiden, kunnen de twee gates gekoppeld worden als ki = 1 − αi, geïnspireerd door de literatuur over gated RNN's. Het was duidelijk dat GSLA geformuleerd kon worden met een sequentieel computationeel proces in twee stappen, zoals weergegeven in Vergelijking (8). De tweede-orde structuur ondersteunde blok-parallelle training om de trainingsefficiëntie te verbeteren, en de invoeging van de softmax-operatie in het midden van de tweede-orde structuur verbeterde het modelleringsvermogen van het finite slot memory.
,
(8)
Transformeren van sessiegegevens
Probleemdefinitie
Stel dat de gegeven sessievolgorde S = {v1s, v2s, ⋯, vns} is, waarbij vis het ide aangeklikte item aanduidt. Door het klikgedrag van de gebruiker binnen deze volgorde te analyseren, voorspelde het systeem het volgende item vn+1s waarin de gebruiker mogelijk geïnteresseerd is.
Constructie van de graaf
Constructie van de sessiegrafiek
Voor een sessie S = {v1s, v2s, ⋯, vns} werd een gericht grafiek Gs = (Vs, εs) geconstrueerd, waarbij Vs de itemset van de gegeven sessie S was, en εs = {eijlocal|vi, vj, vi, vj ∈ Vs} de verzameling randen van de gegeven sessie S was. ε(vi-1s, vis) representeerde de opeenvolgende aangeklikte items in deze sessie. De rand eijlocal kon worden onderverdeeld in vier typen: ein, eout, ein-out, eself. Aangezien hetzelfde item herhaaldelijk in de sequentie kon voorkomen, werd de gewogen waarde voor elke rand geteld.
De huidige sessie s = [v1, v2, v4, v2, v3] is omgezet in een SG, zoals weergegeven in Figuur 1A.

Figuur 1: Interactieve items worden omgezet in grafiekstructuren. (A) Illustratie van de constructie van een sessiegrafiek (SG) door een sessie om te zetten in een grafiek. (B) Illustratie van de constructie van een neighbor global graph (NGG) door vele sessies in een grafiek te combineren. Deze figuur is zelf getekend via Visio met volledig aangepaste elementen. Er zijn geen auteursrechtelijk beschermde externe grafische bronnen gebruikt, waardoor er geen aanvullende licenties van derden nodig waren. Het auteursrecht van de figuur is in handen van de auteurs en zal bij acceptatie voldoen aan de auteursrechtregels van het tijdschrift. Klik hier om een grotere versie van deze figuur te bekijken.
Constructie van de globale neighbor-graaf
Op basis van de huidige sessie S werd de corresponderende NGG Gg = (Vg, εg) geconstrueerd om het representatieleerproces van de huidige sessie op cross-session wijze te verrijken. Vg was de itemset met alle items in Gg, en εg = {eijglobal|vi, vj, vi, vj ∈ Vg} was de randset van Gg. ε(vi-1g, vig) representeerde de direct interagerende items vi-1g en vig in de NGG Gg. Dit proces bestond uit twee stappen: de acquisitie van buursessies en de constructie van de NGG.
Acquisitie van buursessies
Over de gehele dataset werden sessies gezocht met het maximale aantal items dat gelijktijdig voorkwam met de huidige sessie. De top-N sessies met de hoogste co-occurentie-aantallen werden geselecteerd om een kandidaat-buursessie-set S samen te stellen. Vervolgens werd de Jaccard-gelijkeniscoefficiënt gebruikt om de gelijkenis tussen de huidige sessie cu en een sessie Sr ∈ S uit de kandidaatset S te berekenen, zoals weergegeven in Vergelijking (9).
(9)
Hier gaf co(Scu, Sr) het aantal items aan dat gelijktijdig voorkomt in zowel Scu als Sr, terwijl l(Scu) en l(Sr) respectievelijk de lengtes van Scu en Sr vertegenwoordigden, en Scu en Sr stonden voor de huidige sessie en een naburige sessie. Sessies met een gelijkenis onder een bepaalde drempelwaarde (die als hyperparameter kon worden ingesteld) werden weggefilterd, en de resterende sessies vormden de naburige sessieset Ns voor de huidige sessie.
Constructie van de globale buren-graaf
Op basis van de set naburige sessies Ns, werd de NGG geconstrueerd, zoals geïllustreerd in Figuur 1BTijdens de constructie van de redundantiematrix wordt, indien twee items (vi, vj) een interactie had, de overeenkomstige vermelding Aij werd ingesteld op 1, anders werd het ingesteld op 0. Daarnaast werden de interacties tussen items verwerkt als ongericht en voorzien van self-loops, gevolgd door normalisatie, zoals weergegeven in Tabel 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 |
Tabel 1: Genormaliseerde adjacentiematrix van de globale buurgraaf. De tabel presenteert de genormaliseerde adjacentiematrix die de gewogen verbindingen tussen knopen in de geconstrueerde globale buurgraaf beschrijft.
Ontwerpen van een sessiegebaseerd aanbevelingsalgoritme
Deze sectie geeft een gedetailleerde beschrijving van het voorgestelde innovatieve model GSLA4Rec, dat de prestaties van SBR heeft verbeterd door het GSLA-mechanisme te introduceren over de gezamenlijke kenmerkrepresentatie van SG en NGG.

Figuur 2: GSLA4Rec-framework. Dit framework integreerde structureel leren van sessiegrafen en globale buurgrafen, filterde interactieruis met een gating-mechanisme, balanceerde opslag en efficiëntie met een memory slots-mechanisme en legde itemrelevantie vast met een lineair aandachtmechanisme om de volgende klikvoorkeur van de gebruiker te voorspellen. Deze figuur is zelf getekend via Visio met volledig aangepaste elementen. Er zijn geen auteursrechtelijk beschermde externe grafische bronnen gebruikt, waardoor geen aanvullende licenties van derden nodig waren. Het auteursrecht van de figuur is in handen van de auteurs en zal bij acceptatie voldoen aan de auteursrechtregels van het tijdschrift. GSLA4Rec staat voor gated-slot linear attention graph neural networks voor SBR. Klik hier om een grotere versie van deze figuur te bekijken.
Figuur 2 presenteert het raamwerk van GSLA4Rec, dat uit vier hoofdcomponenten bestond: 1) Itemrepresentatie op sessieniveau. Hierbij werd een GNNs-model op SG gebruikt om item-embeddings op sessieniveau binnen de huidige sessie te leren; 2) Itemrepresentatie op globaal buurniveau. Hierbij werden item-embeddings op globaal niveau over alle sessies geleerd door een GRU te gebruiken om recursief de buurembeddings van elk item te integreren op basis van de NGG; 3) GSLA. Hiermee werd de voorkeur van de gebruikers in de huidige sessie gemodelleerd door de geleerde itemrepresentaties op zowel sessie- als globaal niveau te aggregeren; 4) Voorspellingslaag. Deze gaf de voorspelde waarschijnlijkheden voor de kandidaat-items weer. De vier componenten worden in het vervolg in detail beschreven.
Sessie-representatie
Bij SBR was het begrijpen van het interactiegedrag van gebruikers cruciaal. Hiervoor werden een SG en een NGG geconstrueerd voor session representation learning, met als doel het interactiegedrag van gebruikers uitgebreid te begrijpen en zo de meer authentieke intentie van de gebruikers vast te leggen.
Itemrepresentatie op sessieniveau
Op basis van de SG in Figuur 1A werd een Weighted Bidirectional Graph Attention (WBGAT)-methode toegepast om kenmerken van de SG te extraheren. Deze methode introduceerde randgewichten en itemrichting (In-neighbor en Out-neighbor) op basis van het standaard GAT-mechanisme, waardoor het effect van het versterken van belangrijke randen en het vastleggen van bidirectionele afhankelijkheden werd bereikt, waarmee de tekortkomingen van traditionele GAT met betrekking tot asymmetrische itemrelaties en interactiesterkte werden aangepakt. Het berekeningsproces was als volgt:
Ten eerste wordt de berekening van de normalisatiegewichten voor de in-degree van items uitgevoerd.
(10)
waarbij eij het eerste-orde in-neighbor gewicht van de kenmerken van item j naar item i aanduidde,
de relatie tussen item i en item j was, β* ∈ ℝd de gewichtsvectoren waren, hi en hj respectievelijk de representaties van item i en j waren, Wi(in) ∈ ℝd*d en Wj(in) ∈ ℝd*d trainbare parameters waren, en || de concatenatie-operatie representeerde. Om verschillende in-degree relaties te onderscheiden, werden twee gewichtsvectoren, namelijk rin en rin-self, getraind. LeakyReLU werd gebruikt als de activatiefunctie.
(11)
Om coëfficiënten tussen verschillende items vergelijkbaar te maken, werden de attention-gewichten genormaliseerd via de softmax-functie. Waarbij Ni(in) de eerstegra in-neighbor set van item i was,
het in-neighbor gewicht van de gerichte rand (i←j) in SG, stelde deze methode het model in staat om correlaties tussen item-kenmerken te leren terwijl de inherente verbindingssterkte-informatie van de grafstructuur behouden bleef door het logaritme van de randgewichten te nemen en deze toe te voegen aan de oorspronkelijke attention-score eij.
Ten tweede, de berekening van de normalisatiegewichten voor de out-degree van items.
(12)
waarbij ẽij het eerstegraads uitgaande-buurgewicht van de kenmerken van item j naar item i aangeeft,
de relatie was tussen item i en j, en twee gewichtsvectoren, namelijk rout en rout-self, werden getraind.
(13)
Waarbij Ni(out) de eerstegraads out-neighbor set was van item i,
het out-neighbor gewicht was van de gerichte rand (i→j) in SG.
Ten derde, informatieaggregatie. De bijgewerkte embedding van een item kan worden verkregen na het wegen en sommeren van de eerstegra in-degree en out-degree embeddings van item i.
(14)
Waarbij
en α̃ij respectievelijk de in-degree en out-degree gewichten van item i aanduiden, en
de bijgewerkte representatie van item i aanduidde.
Itemrepresentatie op globaal niveau van buren
Recent onderzoek is er consistent over eens dat het construeren van een globale graaf de datarepresentatie kan verbeteren en daarmee de SBR-prestaties kan verhogen; dit stond buiten kijf. Echter, het globaal verbeteren van data kan ook irrelevante informatie, zoals ruis, introduceren. In het voorgestelde model is een near-neighbor globale graaf geconstrueerd om globale data-augmentatie te bereiken terwijl ruis tot in het grootste mogelijke extent wordt geminimaliseerd.
Op basis van de NGG in Figuur 1B en de genormaliseerde redundantiematrix in Tabel 1, werden de huidige sessie en de naburige sessies getransformeerd naar een NGG, waarna een GGNNs45-methode werd toegepast om kenmerken van de NGG te extraheren. Het leerproces van itemvectoren in de NGG werd weergegeven in Vergelijking (15).




(15)
W ∈ ℝd×2d aangeduide controlegewichten, zg,i en Hier is de vertaling.g,i vertegenwoordigden respectievelijk de update-gate en de reset-gate. [h1t-1, ⋯, hnt-1] vertegenwoordigde de lijst van alle itemvectoren in de sessie s. σ(U heeft geen brontekst opgegeven om te vertalen. Voer a.u.b. de Engelse tekst in die u naar het Nederlands vertaald wilt hebben.) = 1/(1 + e-U heeft geen brontekst opgegeven om te vertalen. Voer a.u.b. de Engelse tekst in die u naar het Nederlands vertaald wilt hebben.) was de logistische sigmoïdefunctie, ⊙ duidt elementgewijze vermenigvuldiging aan, en hi ∈ ℝd vertegenwoordigde de vector na de gated updating. De adjacencymatrix As ∈ ℝn×n gaf de connectiviteit aan tussen items in opeenvolgende sessies, en As,i: ∈ ℝ1×n stelde een kolomblok voor As overeenkomstig met item vs,i in de nabijheidsmatrix. Voor de huidige sessie s = [v1, v2, v4, v2, v3], de NGG en de genormaliseerde adjacentiematrix werden getoond in Figuur 1B en Tabel 1respectievelijk.
Representatie van items
De itemrepresentatie werd verkregen door de itemvector op sessieniveau op te tellen bij de globale itemvector van de buren, zoals weergegeven in Vergelijking (16):

(16)
Waarbij dropout werd toegepast op itemrepresentaties van buren op globaal niveau om overfitting te verminderen.
Gated-slot lineaire aandacht
De gated-slot lineaire aandacht (GSLA) in dit artikel integreerde lineaire aandacht met begrensd-geheugencontrole en een datagebaseerd gating-mechanisme. Enerzijds erfde het het mechanisme met eindige geheugenslots van het attention-based controller (ABC) model, waarbij sleutel-waarde-paren die oorspronkelijk groeiden met de sequentielengte werden gecomprimeerd tot een vast aantal slots, waarbij elk slot via competitief schrijven werd bijgewerkt om het probleem van de computationele complexiteit van transformer globale aandacht aan te pakken. Anderzijds introduceerde het een fijnmazig gating-mechanisme vergelijkbaar met GLA, waarbij inputgegevens de retentieratio van historische informatie dynamisch aanpasten via een forget gate αi, wat het ruisprobleem oploste dat werd veroorzaakt door het ontbreken van een vergeetmechanisme in ABC.

Figuur 3: Schematisch diagram van GSLA. De inputvector werd respectievelijk afgebeeld op de queryvector, keywordvector en waardevector, en vervolgens verwerkt door lineaire aandacht met bounded-memory controle en een datagestuurd gating-mechanisme om de bijgewerkte queryvector, keywordvector, waardevector en outputvector te verkrijgen. Deze figuur is zelf getekend via Visio met volledig aangepaste elementen. Er zijn geen auteursrechtelijk beschermde externe grafische bronnen gebruikt, waardoor geen aanvullende licenties van derden nodig waren. Het auteursrecht op de figuur is in handen van de auteurs en zal bij acceptatie voldoen aan de auteursrechtregels van het tijdschrift. GSLA staat voor gated-slot linear attention. Klik hier om een grotere versie van deze figuur te bekijken.
Zoals specifiek geïmplementeerd in Figuur 3, werd de inputvector afzonderlijk afgebeeld op de queryvector, keyvector en waardevector64:
(17)
Waarbij Wq, Wk, Wv ∈ ℝd×d de transformatie-gewichtmatrices vertegenwoordigden die respectievelijk overeenkomen met de query, key en value, en ht de embedding-vector aanduidde bij de tde tijdstap in de sessie-invoersequentie. De Swish-functie werd gedefinieerd als Swish(x) = x · σ(x) en was een self-gated activatiefunctie, waarbij σ de Sigmoid-functie was; deze presteerde beter dan de traditionele ReLU-activatiefunctie in meerdere Deep-Learning-taken.
GSLA maakte gebruik van een forget gate αi en een input gate 1 − αi, afhankelijk van de inputgegevens, om de informatie in het ide geheugenslot dynamisch bij te werken. Het proces verliep als volgt64:
(18)
(19)
Hierbij representeerden K̃t en Ṽt de key-vectorslots en value-vectorslots op tijdstap t, terwijl K̃t-1 en Ṽt-1 de key-vectorslots en value-vectorslots representeerden op tijdstap t−1. De forget gate αi = σ(Wαht)1/τ, waarbij Wα ∈ ℝd de transformatie-gewichtmatrix was, σ de Sigmoid-functie was, en τ de dempingscoëfficiënt was (doorgaans ingesteld op 8), die werd gebruikt om de zachtheid van de forget gate te regelen. Hierdoor kon GSLA de vergetingssnelheid van historische informatie vloeiend aanpassen: hoe groter de αi, hoe meer GSLA vertrouwde op historische informatie; hoe kleiner de αi, hoe meer GSLA zich richtte op de huidige input.
De sleutelvector-slots K̃t en waardvector-slots Ṽt van de slots bij de tde stap werden in matrixvorm genoteerd, zoals weergegeven65 in Vergelijkingen (20) en (21):
(20)
(21)
Vervolgens werd de GSLA met eigenschappen van tweede orde (zie Vergelijking (8)) gebruikt om de output oi |i=1T voor elke tijdstap i ∈ [1, …, T] te berekenen. Op de output van elke tijdstap werd een lineaire transformatie toegepast om het resultaat h̃t te verkrijgen. Ten slotte werd de gemiddelde waarde van de representaties van alle items in de sessiesequentie berekend om de sessie-embedding S̃e met dynamische geheugenupdates te genereren:
(22)
(23)
Hier representeerde ot de output van Gated-Slot op tijdstap t, en duidde h̃t het resultaat aan van het toepassen van een lineaire transformatie op ot. S̃e duidde de gemiddelde waarde van h̃t aan over alle tijdstappen.
Voorspellingslaag
Op basis van de verkregen sessierepresentatie S̃e en de initiële embedding van item i, werd een dot product-operatie uitgevoerd om de score voor elk kandidaat-item hi te berekenen. Vervolgens werd de softmax-functie gebruikt om de aanbevelingskansen van kandidaat-item i te verkrijgen:
(24)
Hier representeerde ỹ de aanbevelingskansen van het kandidaatitem, duidde hi de vector van het kandidaatitem aan, en werd de cross-entropy verliesfunctie gebruikt voor de training van het model.
(25)
Hier was y de one-hot gecodeerde representatie van de ground truth.