Preprint
Article

This version is not peer-reviewed.

Corruption-Aware Multi-View Metric Learning for Unseen-User Session Retrieval

Submitted:

19 October 2026

Posted:

20 October 2026

You are already at the latest version

Abstract
Retrieving related visits from users unseen during training requires representations that preserve behavior across sessions. We propose a corruption-aware sequence--graph metric-learning framework that combines a gated recurrent unit with a directed, weighted session-graph encoder. Cross-session contrastive learning uses independently recorded visits of a training user as positives, while clean and perturbed inputs train complementary views in a shared normalized embedding space. An in-depth Coffee Shop study uses five user-disjoint splits and three initializations, with matched supervision, independent-encoder and training-regime controls. A matched positive-pair experiment increases clean mean reciprocal rank (MRR) from 0.1285 to 0.5948 at 1,000 candidates. Under 50\% combined view corruption, original fusion achieves MRR 0.1846, compared with 0.1638 for independent late fusion and 0.0953 for validation-tuned SASRec. Paired gains are 0.0208 (95\% user-bootstrap interval {[}0.0190, 0.0227{]}) and 0.0894 {[}0.0866, 0.0921{]}, respectively. Joint training therefore adds value under combined view damage, complementing alternatives that perform better on clean retrieval. Count-based and raw-event controls further characterize the operating conditions of this benefit. Frozen same-application repartitioning further supports the gated extension's graph-damage benefit against SR-GNN. The contribution is an integrated retrieval-oriented learning design and controlled evidence explaining how cross-session supervision and the availability of complementary views shape its benefits.
Keywords: 
;  ;  ;  ;  ;  

1. Introduction

Clickstream records combine the order of user interactions with recurring navigation transitions. Their representations can support next-item recommendation, session classification and comparisons between complete visits, but these tasks need not reward the same information. A model that predicts the next event accurately may capture local regularities without preserving behavior shared across a user’s separate visits. Session-based recommendation (SBR) primarily ranks a user’s next item [1]; retrieving another related visit calls for an objective and evaluation centered on sessions themselves.
Sequential, attention-based and graph encoders provide complementary technical foundations. Gated recurrent units (GRUs) regulate the retention of ordered context [2], while the Transformer uses attention to combine information across positions [3]. NARM combines recurrent modeling with attention to session intent [4]. Graph neural networks (GNNs) instead propagate information through relationships between nodes [5], and gated graph networks incorporate recurrent updates into this propagation [6]. For clickstreams, a transition graph aggregates repeated navigation links, whereas a sequential encoder preserves event order.
A retrieval model also needs a learning relation that determines which representations should be close. SimCLR learns from augmented views of an instance [7], supervised contrastive learning defines positives through labels [8], and GraphCL applies augmentation-based learning to graphs [9]. Our setting uses independently recorded visits of the same training user as positives. This trains similarity around recurring cross-session behavior rather than an immediate next-item label.
Recurrent, attention-based and graph recommendation methods have advanced item ranking [10,11,12], including the use of cross-session context and similar-session retrieval [13,14]. Our earlier work examined graph embeddings for browsing-behavior clustering [15], event frequency–inverse session frequency weighting [16], and aging-based weighting for session classification [17]. The present study shifts the endpoint to a direct question: can the representation of one complete session retrieve another session of the same user when that user was excluded from model fitting? User identifiers define partitions and positive pairs but never enter the encoder.
We propose a corruption-aware multi-view metric-learning framework combining a GRU with a weighted directed session graph. Parallel branches project their outputs into a common normalized space, and normalized-average fusion yields a candidate-independent session vector. Cross-session contrastive training uses both intact and perturbed inputs. Sequence truncation and edge deletion separately control the information available to each branch; combined damage tests whether learning the views jointly helps when neither is intact. A raw-event deletion control additionally rebuilds all representations after missing observations.
Behavioral matching and identity-supervised embeddings are established foundations [18,19,20]. Our methodological contribution integrates cross-session positives, ordered and directed-transition views, and corruption-aware training in one retrieval-oriented design. An original aggregation graph and a later gated-graph extension instantiate this framework. Independent encoders, fixed-score late fusion, matched supervision and training-regime controls distinguish the effects of the learning relation and joint representation from the effects of individual components.
The original research questions concern clean retrieval relative to count-based similarity, complementarity within the jointly trained model, cross-session versus same-session supervision, performance under view damage, and cross-origin temporal segmentation. Additional controls examine independently trained alternatives and the stability of the gated extension on frozen new partitions. The study uses a common Coffee Shop application setting to vary these factors without changing page semantics or the source application.
Mean reciprocal rank (MRR) measures how early the designated positive appears [21], while Recall@K measures whether it falls within the first K candidates. Candidate-pool size is part of the retrieval task: sampled metrics need not preserve full-collection method rankings [22]. We therefore use matched lists at multiple scales, repeated user-disjoint fits and paired user-level intervals. The resulting evidence identifies combined view corruption as a setting in which joint learning helps relative to independent late fusion, while retaining the clean-retrieval trade-off.
The following sections review related work, specify the methodology and data protocol, report the experiments, discuss their implications, and conclude with practical uses and future research.

3. Methodology

The pipeline separates data preparation, representation learning and held-out retrieval. Figure 1 shows parallel sequence and graph branches, rather than successive graph-building stages. User identifiers define partitions and training positives but never enter the encoders. The original aggregation graph and the later gated graph are alternative branches. Validation determines checkpoint selection under the stated policy; test ranking uses frozen weights. The diagram’s preprocessing stage denotes deterministic parsing; vocabulary fitting follows the user split and uses training users only. Its dashed held-out path denotes reuse of the same encoder, not a bypass of representation learning.

3.1. Problem Definition and Retrieval Task

Let the dataset consist of user-session pairs, as defined in (1):
D = { ( u i , s i ) } i = 1 N , s i = ( x i , 1 , … , x i , T i ) ,
where N is the number of sessions, u i is the user associated with session s i , and x i , t denotes the event at position t in a session of length T i . User identifiers define data partitions, training pairs, retrieval relevance, candidate exclusions and user-level statistical clusters; they are not provided as encoder inputs. Users are partitioned into mutually disjoint training, validation, and test sets, denoted by U t r , U v a , and U t e , respectively.
For a test query session q from an unseen user u q , the candidate set contains one designated positive session p, where u p = u q and p ≠ q , together with M − 1 sessions from other users. Relevance is therefore operationalized as shared recorded user membership, rather than an independently annotated similarity of navigation goals. A different-user session is treated as a negative even if its navigation resembles the query. The resulting scores measure cross-session user linkage under this relevance definition, not general semantic similarity between browsing sessions. Candidates are ranked in descending order of the cosine similarity defined in (2):
sim ( q , c ) = z q ⊤ z c ∥ z q ∥ 2 ∥ z c ∥ 2 ,
where z q and z c are the learned embeddings of the query and candidate sessions, respectively.
For temporal pseudo-sessions, we additionally require origin ( q ) ≠ origin ( p ) , where origin ( · ) identifies the published sequence from which a pseudo-session was derived. This constraint prevents fragments of the same published sequence from forming a positive pair.

3.2. Representation Models

The model family separates event order from aggregated transition structure. The following subsections describe the original sequence and graph views, their fusion, and the later gated-graph extension used in stronger comparisons.

3.2.1. Sequential Encoder

Each event is mapped through a train-only vocabulary and embedding table. A GRU encodes at most the last L = 128 events. In (3), h i , T i denotes the final valid hidden state after encoding the retained suffix, not a state computed from the discarded prefix; T i remains the original session length defined in (1). The final valid hidden state is projected and normalized, as defined in (3):
z i ( s ) = norm ( W s h i , T i + b s ) .

3.2.2. Directed Session-Graph Encoder

For session s i , nodes are event/page identifiers. A directed edge ( a , b ) is weighted by the number of observed consecutive transitions. The adjacency matrix is row-normalized. Initial learned node embeddings are updated using inbound and outbound aggregation, as defined in (4):
h v ( ℓ + 1 ) = ϕ ℓ [ h v ( ℓ ) ∥ ∑ u A u v h u ( ℓ ) ∥ ∑ w A v w h w ( ℓ ) ] .
In the original implementation, each update applies a linear transformation, Gaussian error linear unit (GELU) [54], and layer normalization [55] to the concatenated states and messages. In (4), ϕ ℓ denotes this transformation at layer ℓ, ∥ denotes concatenation, A is the row-normalized transition matrix defined above, and K is the number of propagation layers, set to two in the reported configuration (Section Training and implementation strategy). In (5), h v ( K ) is the state of node v after the final propagation layer and π i , v is the visit-frequency weight assigned to node v in session s i ; nodes that are not visited in the session receive no readout weight. The operator norm ( · ) denotes the same output normalization applied to the branch outputs in (3) and (5) and to the fused representation in (6). The graph representation is visit-frequency weighted, projected, and normalized, as defined in (5):
z i ( g ) = norm W g ∑ v π i , v h v ( K ) + b g .

3.2.3. Normalized Multi-VIEW fusion

The primary representation uses a normalized average. Later fusion and alignment controls characterize alternatives without selecting a replacement from test scores, as defined in (6):
z i = norm z i ( s ) + z i ( g ) 2 .
Co-trained sequence and graph readouts are reported to expose negative transfer. Extracting a branch from a jointly trained model is distinct from training an independent single-view model.

3.2.4. Gated-Graph Extension and Adapted Neural Encoders

The preceding subsections describe the original architecture. The later extension retains the GRU and normalized-average fusion but replaces the graph branch with two gated propagation steps. Node embeddings have 64 dimensions; transformed inbound and outbound messages are concatenated and passed to a GRUCell. Readout concatenates a visit-frequency-weighted global state with an attention-weighted state over visited nodes, then projects to 32 normalized dimensions. It is an SR-GNN-style adaptation, not a reproduction of the original next-item model.
The separate SR-GNN-style and SASRec-style encoders are likewise adapted to the same cross-session metric task. Their retrieval results should not be interpreted as reproductions of published recommendation benchmarks. Table 1 specifies the implemented adaptations of the source architectures [11,12]. SASRec-style encoders add learned positional embeddings to page embeddings and use pre-normalized, causal Transformer layers with padding masks and GELU feed-forward networks. Last-valid-state or non-padding mean pooling is followed by layer normalization, a linear projection, and L2 normalization. The standalone SR-GNN-style encoder uses the gated graph readout described above; its attention is conditioned on the frequency-weighted global state rather than a last-item target, and unvisited nodes are masked before softmax. The gated multi-view extension was developed after earlier test comparisons were inspected. Here, “gated” refers to GRUCell graph propagation, not to a learned gate between the two views.

3.3. Dataset and Preprocessing

The Coffee Shop dataset [56] provides an in-depth, single-application setting with recurring users and navigation sequences. Published sequences average approximately 146.5 events; these published boundaries are not verified activity sessions. Item codes contain user, page, day code and hour, but no event-level dwell time or verified binary target. The models use page order and transitions, not a duration encoder.
The parsed source contains 296,100 published sequences, 43,390,766 events, 96,618 observed users and 46 page identifiers. Users are partitioned 80%/10%/10% for training/validation/test. Main runs use up to 4,000 training and 800 validation users, five partitions and three initializations. Candidate pools contain 100 or 1,000 sessions with one designated positive. The pooled main evaluation contains 22,741 raw users and 27,582 split-user units.
Only users with at least two eligible sessions can supply a query and a different positive. Splits hash the UTF-8 string seed + "\0" + user_id using eight-byte BLAKE2b, interpret the digest as an unsigned big-endian integer, and divide by 2 64 . Thresholds 0.8 and 0.8 + 0.1 determine training and validation; the remainder is test. Vocabulary fitting uses training data only. Training and validation pairs follow source order up to their budgets. Main partition seeds are clickstream-final-split-1 through clickstream-final-split-5, initialization seeds are 41–43, and candidate-list seeds are 41–45. A user’s partition can change across split seeds, so repeated users are kept together in the relevant statistical analyses.
Temporal pseudo-sessions never cross a published boundary. A day-code change, same-day hour regression, or inactivity gap of at least three hours starts a new segment; segments with fewer than two events are removed. A two-hour policy tests sensitivity using the same rule otherwise. Training, validation and test positive pairs must come from different published origins. The two-hour policy retains 945,537 of 966,183 segments after excluding 20,646 singletons; the three-hour policy retains 884,805 of 902,813 after excluding 18,008. Changing the threshold can change eligible users and candidates, so policy comparisons represent end-to-end sessionization sensitivity.

3.4. Training and Implementation Strategy

Table 1 distinguishes the encoder implementations. All outputs are 32-dimensional and L2-normalized. Sequence inputs retain at most the last 128 events; graph inputs use the full eligible session unless the equal-history control is specified. Models use eight epochs, AdamW [57], learning rate 10 − 3 , weight decay 10 − 4 , gradient-norm clipping at 5 and contrastive temperature 0.15. Main batches contain up to 64 users and two sessions per user. The earliest epoch attaining minimum validation loss is retained unless a fixed-epoch protocol is explicitly specified.
For reproducible input schedules, source sessions are shuffled with random.Random(100 + epoch). Training condition selection uses random.Random(epoch * 10000 + batchindex) and validation uses random.Random(900000 + batchindex). Candidate seeds construct evaluation tasks rather than additional trained models.
The tuned SASRec search evaluates layers {1, 2}, heads {1, 2, 4}, widths {32, 64}, dropout {0, 0.1, 0.2} and last-state/mean pooling: 72 configurations plus the historical reference. Feed-forward width is twice the embedding width within the grid. Split 1, initialization 41, 4,000 training users and 800 validation users are used; each validation user has 1,000 candidates with seed 314159. Maximum clean validation user-macro MRR over epochs 1–8 selects the configuration, breaking ties by earlier epoch and then configuration ID. The selected two-layer, one-head, width-64 mean-pooling model attains validation MRR 0.6330 at epoch 8. Architecture and epoch are frozen for the five-split test matrix. The historical reference uses width 32 and feed-forward width 128. Test scores do not select the tuned configuration.

3.5. Cross-session supervision and matched control

A mini-batch samples B training users and two different sessions per user. For normalized representations z i , we use a supervised contrastive objective [8], with user membership defining positives, as defined in (7):
L s u p = − 1 2 B ∑ i 1 | P ( i ) | ∑ p ∈ P ( i ) log exp ( z i ⊤ z p / τ ) ∑ a ≠ i exp ( z i ⊤ z a / τ ) ,
where P ( i ) contains the other session of the same batch user. The objective is applied to sequence, graph, and fused representations. This is weakly supervised metric learning, not self-supervised learning.
The historical label-free package pairs two augmented copies of one session, with other source sessions treated as distinct instances. It averages the sequence, graph and fusion contrastive losses equally. Batches contain 64 source sessions and 128 augmented inputs; independent draws select among the six non-clean sequence, edge and combined conditions at 25% or 50%. The 8,000 training and 1,600 validation sessions come from the same user-pair pools as weak training. User IDs affect selection and partitions, but not instance-positive labels. Validation minimizes the same SSL objective. Because weighting and batch construction also differ, this comparison concerns training packages.
A separate matched control uses the original architecture and a symmetric cross-bank objective. Each batch contains 64 users with two distinct sessions, forming 128 clean and 128 corrupted inputs. Same-session positives select the anchor’s own counterpart; cross-session positives select the counterpart of that user’s other session. Both directions use the same 128-entry denominator and are averaged. The fused loss has weight 1 and each branch loss 0.125. Inputs, initial weights, corruption schedules, optimizer updates and forward counts are matched; final epoch 8 is evaluated without checkpoint selection. The positive permutation is the intended treatment difference, also changing which bank entry is negative. Same-session sampling remains user-grouped. This five-split, three-initialization control is distinct from the historical SSL package and has not been repeated for the gated architecture.

3.6. Corruption-Aware Training and Evaluation

Each session’s corrupted copy receives one of seven uniformly sampled conditions: clean, sequence truncation at 25% or 50%, directed-edge deletion at 25% or 50%, or combined damage at a matched rate. These are adaptations of established cropping and edge perturbations [9,30]. Their role here is to train and evaluate sensitivity to the availability of each clickstream view. Equation (8) combines clean and corrupted fusion losses with clean-branch supervision.
L = 1 2 ( L f , c l e a n + L f , c o r r ) + 1 4 L s , c l e a n + L g , c l e a n 2 .
Clean-only training uses L f , c + 0.25 ( L s , c + L g , c ) / 2 . Independently trained branches use 0.75 L c + 0.5 L r ; standalone neural baselines use ( L c + L r ) / 2 . Historical clean/corrupted regimes use their own validation corruption settings. The common-validation control selects both regimes by the clean-plus-corrupted fusion objective, and a further control averages two clean forward losses before one update to match the corruption regime’s 126 training forwards and 63 updates per epoch. Matching forwards does not equate FLOPs. Alternative fusion heads and the alignment control use the common selector; the alignment term is excluded from checkpoint selection in both arms.
Sequence damage keeps the newest max(1, round(L * (1 - rate))) tokens after the last-128 restriction, using Python’s ties-to-even rounding. The graph and page counts are unchanged. Edge deletion hashes str(session_id) + "\0" + str(a) + "\0" + str(b) + "\0" + str(rate) with eight-byte BLAKE2b. A directed edge type and its full count survive if the unsigned digest divided by 2 64 is at least the rate. Masks are deterministic per session/rate, unweighted by edge frequency, and need not be nested across rates. Surviving counts are row-normalized; the transposed matrix supplies inbound messages, not separately normalized inbound probabilities. Unknown page contributions accumulate at the shared unknown index. With no surviving edges, messages are zero but self-state transformations and page-frequency pooling remain. Queries and candidates share the condition, not identical masks. Thus page counts are invariant to these interventions, transition/graph-only methods to sequence-only damage, and sequence-only methods to edge damage.
The raw-event control instead deletes min(N-1, floor(r*N)) events before feature extraction at rates 0.25 and 0.50. BLAKE2b ranking of source-sequence IDs and event positions, with seed b6-event-drop-v1, defines nested masks. All views are rebuilt from the ordered survivors; newly adjacent survivors form transitions. Frozen models use the historical candidate lists. Legacy encoders use six CPU threads and tuned SASRec four to match replay settings. This synthetic mechanism changes page counts as well as sequence and graph inputs. A separate history control retrains the original model with every view limited to the same last 128 events; its reference is the common-validation full-history model, not historical main checkpoints.

3.7. Baselines and Ablation Rationale

Random ranking establishes chance performance: with one positive among M candidates, expected MRR is H M / M and expected Recall@K is min ( K , M ) / M . The empirical control permutes retained lists using NumPy PCG64 with master seed 4203 and a deterministic SHA-256-derived stream for each split, candidate size and candidate seed. It has no model initialization. Page-frequency and directed-transition cosine test direct navigation summaries. SASRec-style and SR-GNN-style metric encoders test attention and graph mechanisms under the same retrieval endpoint, not their original recommendation tasks [11,12]. HGRU4Rec and MCV-SBR remain task-neighbor literature rather than implemented numerical baselines [13,27].
Independent sequence and graph models remove the unused branch and retain the original encoder configuration. Late fusion averages their cosine scores with fixed weights 0.5/0.5, avoiding coordinate averaging across independently learned spaces. Ordered candidate lists match the joint model. Per-branch schedules match, but the two independently trained models do not have the same total optimization budget as one jointly trained model. Co-trained readouts instead hold the checkpoint fixed. Together, these controls distinguish within-model complementarity from comparisons against independently optimized alternatives.
A training-anchor neighborhood comparator maps each session to similarities with 8,000 training sessions, keeps its k largest similarities, normalizes the profile and uses profile cosine for retrieval. A validation search over page/transition counts and k in {50, 100, 500} selects transition counts with k=100. Source-order ties are deterministic and zero profiles score zero. Anchors remain fixed while query/gallery features receive the intervention. This is a session-retrieval neighborhood control, not a reproduction of a next-item session-kNN algorithm.
Fixed-MLP, embedding-gate and quality-gate fusion variants use the original encoders and common-validation training design. A separate alignment variant adds 0.25 times a symmetric sequence-to-graph cross-entropy loss using clean same-session diagonal positives. Other sessions, including another visit by the same user, remain off-diagonal in this auxiliary term. The loss reuses clean embeddings. Both variant studies repeat five splits and three initializations; no test-best variant replaces the average-fusion reference.

3.8. Retrieval Metrics and Statistical Analysis

MRR averages the reciprocal rank of the designated positive [21]; Recall@1 and Recall@10 measure first-rank and top-ten success. Up to 5,000 eligible query users are sampled for each candidate seed. Eligible users are sorted, shuffled with Python random.Random(candidateseed), and truncated to the query budget. Published query/positive pairs are sampled without replacement within user. For temporal sessions, a uniformly selected query is paired with a uniformly selected different-origin session. Negatives are uniform test-session draws, rejecting the query user’s sessions and duplicate indices. Sorted negative indices and the positive are shuffled together. The RNG is consumed sequentially, so different candidate sizes need not use identical positives even with the same seed. Method comparisons reuse identical lists within each task.
Primary summaries pool repeated observations within each raw user before averaging users equally. Paired differences use matched observations before rounding and common user resamples. Pointwise 95% percentile intervals use 10,000 NumPy PCG64 resamples, seed 42, and sorted endpoints 249 and 9749 (zero-based). They are conditional on fitted models and observed partitions, not full retraining uncertainty or simultaneous confidence bounds. Zero bootstrap tail counts are not exact zero p-values; an interval containing zero does not establish equivalence. Across-fit standard deviations and timing standard deviations are separate descriptive quantities.
Historical neural comparisons retain an equal split-user mean over 27,582 units rather than the equal-raw-user mean over 22,741 people. Their MRR ratio bootstrap resamples raw users with all split appearances, preserving the split-user denominator; their earlier Recall intervals resample split-user units separately and retain cross-split dependence limitations. This convention is explicitly marked wherever retained. Scores from different estimands are never subtracted to manufacture paired effects. Fixed-pair one-split extensions average three initializations within each of 1,000 users. For candidate-scale tests, these same query/positive pairs use nested pools of 1,000, 5,000, 10,000 and all eligible sessions; the full pool excludes the query and other same-user sessions. Ties follow deterministic sequence order. Sampled scores are not substitutes for full-collection performance [22].
The original study repeats five splits and three initializations. Additional neural, supervision and ablation experiments were developed after earlier test inspection. The gated extension was subsequently frozen before 45 replication fits, using split seeds coffee-b4-replication-20261001-1 through coffee-b4-replication-20261001-5, initializations 41–43, candidate seeds 41–45 and fixed training/evaluation rules. Its paired bootstrap uses 10,000 draws, seed 20261001 and NumPy linear-interpolated percentiles, rather than the earlier sorted-endpoint convention. The scale and budget extension fixes candidate seed 46 on the first three new partitions. Both gated training regimes share the common validation selector. The protocol was frozen locally, not externally preregistered. Approximately 46–48% of repeated-session users in proposed replication test partitions also appeared in earlier test partitions; this indicates potential exposure, not that every user was queried. Repartitioning tests stability within Coffee Shop without creating an independent application-level dataset. Scale and budget replication use the first three new partitions and three initializations, pooling 2,929 distinct query users. Figure 2 summarizes the evaluation hierarchy.

4. Experiments and Results

The experiments test three connected claims: cross-session positives provide a useful retrieval signal, joint sequence–graph training can add value beyond independent encoders, and the resulting benefit depends on which information remains available. Matched supervision and independent-encoder comparisons address the first two claims; intervention, training and replication controls delimit the third. Historical and frozen-partition results retain their own populations and estimands. Unless stated otherwise, brackets denote pointwise 95% intervals; a paired interval containing zero is not evidence of equivalence.
Tables contain the quantitative evidence; the text explains its implication. Repeated controlled studies take precedence over developmental pilots. Sensitivity displays use named protocols and a symmetric set of conditions, not test-selected winning cases. Full internal analysis inventories are not treated as additional independent evidence.

4.1. Retrieval Quality and Ranking Depth

We first establish what the learned representation retrieves before examining why it helps. Table 2 places original fusion alongside direct navigation summaries and historical neural encoders. Its improvement over transition cosine is visible in MRR and top-ten recall, but not uniformly in first-rank accuracy. The historical SR-GNN comparison is much closer. Table 4 gives paired intervals, so small score differences are not interpreted from marginal means alone.
The historical attention configuration is not the strongest attention baseline. Validation tuning raises SASRec’s clean MRR to 0.8819 at 100 candidates and 0.7311 at 1,000, compared with original fusion’s 0.8072 and 0.6066. This motivates evaluating the proposed design through matched controls and input conditions, rather than claiming a uniformly superior encoder. Empirical random ranking agrees with its analytic expectation within 1.25 Monte Carlo standard errors across the six metric/size combinations.
Figure 3 makes the ranking-depth distinction visible: first-rank success and finding a relevant session within ten results are different properties. Its pointwise intervals share raw-user resampling draws; they are not simultaneous confidence bands. The figure uses retained historical ranks. Replay reproduced all but one of 750,000 SR-GNN ranks; that near-tied query changes pooled MRR by less than one millionth.

4.2. Does Joint Learning Add Value Beyond Independent Encoders?

The principal architectural question is not whether fusion beats a weak branch extracted from its own checkpoint, but whether training the views together improves on independently trained encoders and their late-score combination. Table 3 answers this question on identical candidate tasks, alongside the stronger, validation-tuned attention comparator.
Joint fusion improves over independent late fusion and both independent branches under combined view damage at both severities and candidate sizes. Clean and edge-only retrieval favor late fusion. Under sequence-only damage, joint fusion beats late fusion but not the unchanged independent graph. The benefit therefore comes from how the trained views interact with the available information, not simply from increasing the number of encoders.
Table 4 checks whether this pattern is confined to MRR. Its joint-versus-late-fusion block uses a symmetric clean/50%-damage grid, including conditions that favor either method. The combined-damage improvement appears at both the first rank and the top-ten cutoff; the clean disadvantage also remains visible. The historical block resolves the small neural differences introduced above.
Table 5 supplies the original model’s corruption profile and absolute retrieval levels. Transition cosine is unchanged by sequence-only damage, whereas page counts are unchanged by every view-level intervention. Consequently, intact page counts exceed fusion under 50% combined damage at both candidate sizes and under 50% edge damage at 1,000 candidates. Their invariance is a property of the intervention, not a separate demonstration of resilience to missing events.
The training-anchor retrieval adaptation provides a complementary non-parametric control. Original fusion’s paired MRR intervals against it are positive in all fourteen condition/size tasks; nevertheless, the anchor’s clean MRR at 1,000 candidates is below direct transition cosine. The gated extension shows the same directional pattern against tuned SASRec as original fusion: clean and edge-only inputs favor the attention model, while sequence and combined damage favor the multi-view model. These comparisons concern the implemented retrieval adaptations, not the original papers’ next-item scores.

4.3. Why Does Cross-Session Supervision Help?

The learning relation should match the evaluation endpoint: a second recorded visit is a different target from an augmented copy of the current visit. The historical package comparison in Table 6 motivates this distinction but does not isolate it, because objective weighting also changes. Its strongest label-free output is the graph, not label-free fusion. The same table distinguishes co-trained readouts from the independent models evaluated above.
The matched experiment in Table 7 holds the architecture, initial weights, objective, input schedule and final epoch fixed while changing the positive relation. Cross-session positives improve all three metrics in every evaluated condition/size task, with positive paired intervals. Thus the value of cross-session supervision is not inferred solely from comparing two differently weighted training packages. The result remains specific to the common cross-bank formulation and its user-grouped sampling.
Directed structure supplies much of the co-trained retrieval signal, but its longer input history could otherwise explain part of the apparent advantage. Rebuilding every view from the last 128 events reduces clean fusion MRR at 1,000 candidates from 0.6059 to 0.5920. Fusion nevertheless retains a paired gain over its co-trained graph: +0.0305 [0.0291, 0.0319] with full graph history and +0.0340 [0.0327, 0.0354] with matched history. At 100 candidates the corresponding gains are +0.0288 [0.0276, 0.0301] and +0.0306 [0.0293, 0.0318]. Equalizing history therefore changes absolute quality without removing the within-checkpoint fusion benefit. This does not replace an independently trained, history-matched single-view comparison.

4.4. Training and Fusion Choices

A corruption-training effect could be confused with a different checkpoint-selection rule or a larger computation budget. Table 8 separates the original regime-specific selection from common-validation and matched-forward controls. The historical comparison retains all fourteen paired intervals, including its clean cost. With a common selector the original model’s clean difference changes sign, whereas the combined-damage gain remains positive even after matching forward counts. Robustness is therefore not explained solely by the original selection mismatch.
Changing only the clean selector changes the selected epoch in 12 of 15 fits. Duplicate clean forwards in the budget control add no augmentation and do not imply equal runtime. Historical Recall comparisons also favor corruption training in every corrupted task; clean Recall@10 at 100 candidates has an interval containing zero. These distinctions prevent turning the original clean-cost estimate into a universal architectural property.
Table 9 examines whether a more flexible fusion head or explicit alignment is an automatic improvement. The displayed sensitivity grid covers clean input and all three severe interventions at both candidate sizes, rather than selecting only favorable conditions. Quality gating helps clean and sequence-corrupted retrieval, fixed-MLP helps combined damage, and alignment improves clean/edge retrieval while worsening sequence/combined retrieval. The descriptive seed ranges show training variation separately from paired confidence intervals. No variant is selected on these test outcomes.
These results support a design-level explanation: complementary inputs, their joint objective and model selection interact. They do not establish that learned gates or alignment are generally ineffective. Earlier single-split pilots served development; the repeated controlled experiments, not additional listings of pilot scores, support the reported conclusions.

4.5. From View Damage to Missing Events

Representation-specific perturbations answer which view supplies usable information. Missing logs ask a different question because all views must be reconstructed from incomplete observations. Table 10 therefore removes raw events before rebuilding the sequence, graph and counts, using the same surviving observations for every method.
All methods degrade, including the previously invariant counts. Under 50% deletion at 1,000 candidates, original fusion and gated fusion trail transition cosine by paired MRR differences of −0.0033 [−0.0048, −0.0019] and −0.0017 [−0.0032, −0.0002]. Gated fusion exceeds SR-GNN by +0.0016 [0.0007, 0.0024]; original fusion’s intervals against SR-GNN, tuned SASRec and page cosine include zero. Thus the combined-view result identifies a useful operating condition, not a universal missing-event advantage. These intervals remain conditional on fitted models and one nested deletion-mask schedule.

4.6. Temporal Granularity and Retrieval Scope

Cross-origin temporal pairing tests whether the result relies on the published sequence boundary. Query and positive must originate from different published sequences, so splitting one sequence cannot create an artificially easy positive. Table 11 compares both inactivity thresholds without selecting a threshold on test performance.
Both policies give a positive fusion-minus-transition MRR interval at 100 candidates. At 1,000 candidates, first-rank and top-ten effects have opposite signs: fusion improves top-ten recall but not first-rank success. The three-hour MRR interval includes zero; it does not establish equivalence. This separates useful shortlist retrieval from a claim of uniformly better top-one identification. Segmentation counts, singleton exclusions and pairing eligibility are specified in Methodology.

4.7. Stability Under Frozen Repartitioning and Larger Candidate Pools

The gated extension was developed after earlier test inspection. Its settings were subsequently frozen before new partition runs, allowing us to ask whether its observed pattern persists when the user assignment changes. Table 12 retains the historical comparison and reports all new gated-minus-SR-GNN paired endpoints. The new partitions favor gated fusion in clean MRR and under edge/combined damage, while sequence-only damage favors SR-GNN. Most Recall contrasts agree, but Recall@10 under 25% combined damage at 100 candidates includes zero.
The within-model controls in Table 13 distinguish this external comparator result from training and readout effects. Corruption training retains a clean cost in the new gated fits and improves the corrupted tasks. Fusion also improves on its own graph readout except under severe sequence truncation. These controls use the same common selector, making them more informative than comparing unrelated historical clean-cost estimates. The new partitions reuse the application and overlap previously exposed users; they test same-application stability, not an independent new population.
Table 14 and Figure 4 extend the question from sampled candidates to the full eligible collection. Fixed query/positive pairs are retained within each scale experiment. The historical corpus contains 29,028 sessions before same-user exclusions. The new-partition graph-damage advantage over SR-GNN persists as pools grow, but transition cosine leads clean full-corpus retrieval and intact page counts lead under heavy view corruption. The historical clean SR-GNN advantage is not reproduced as a nonzero difference in the new full-corpus interval.
Increasing the candidate pool therefore changes both absolute difficulty and the strongest alternative. The contribution is a repeatable graph-damage benefit relative to the graph encoder within the evaluated application, rather than dominance over every baseline at every retrieval scale. Shading in the scale figure spans partition means, not confidence intervals.

4.8. Training Budget and Computational Cost

Table 15 tests the amount of training data needed for useful retrieval. Original-model budgets retain both candidate sizes and include the small-user regimes; the gated extension is shown before and after repartitioning. The clean transition references are 0.7575 and 0.5946 MRR at 100 and 1,000 candidates, respectively; under 50% combined damage they are 0.2200 and 0.0757. The original model first exceeds transition cosine at 2,000 users for clean 100-candidate retrieval and at 4,000 users for clean 1,000-candidate retrieval. Even its 500-user budget gives a positive paired difference under combined damage at 1,000 candidates.
Figure 5 shows that the gated budget trend recurs across new partitions. Nested budgets preserve the vocabulary and 800 validation users, but more users also mean more optimization updates. These curves measure the specified training-budget procedure, not isolated sample efficiency or saturation at 4,000 users.
Table 16 quantifies representation and training costs; Table 17 separately quantifies ranking a resident candidate bank. Measurements use a 16-inch MacBook Pro, Apple M5 Pro, 24 GB memory, macOS Tahoe 26.6, Python 3.12.14 and PyTorch 2.13.0, with four CPU threads and no GPU/MPS acceleration. Encoding includes shared collation and forward computation for 10,000 pre-parsed sessions, but excludes parsing, disk I/O and concatenation. Three warmed repeats measure runtime variation, not initialization uncertainty.
Training timings use three fresh seed-41 trajectories per method on the same 4,000/800-user split, 63 updates per epoch and method-specific objectives. They include batching, perturbation, collation, losses, backward and optimizer operations; loading, initialization, logging and checkpoint I/O are excluded. Eight-epoch validation is timed separately and ranges from 2.0103 to 3.9315 seconds. Original fusion contains 10,980 unused alternative-head parameters, which explains its stored/gradient-connected count difference.
Dense page and transition vectors require 0.00912 ± 0.00015 and 0.02245 ± 0.00015 ms/session to construct from pre-parsed dictionaries; raw parsing and count extraction are excluded. Neural encoding has a higher construction cost, while candidate-independent vectors allow one encoding to be reused across comparisons. Neither these measurements nor the resident-bank timings establish end-to-end deployment latency. They make the cost of the evaluated design explicit without conflating model construction, training and retrieval.

5. Discussion

The study connects behavioral metric learning to a concrete multi-view training design for unseen-user session retrieval. Identity-supervised sequence embeddings and behavioral fingerprints already establish that recurring behavior can define similarity [18,19,20], while graph-based matching provides a structural alternative [53]. Here, ordered events and directed transitions enter parallel encoders whose outputs are trained together under clean and perturbed inputs. The resulting candidate-independent vector supports cosine ranking without a candidate-conditioned encoding pass. The methodological contribution is the retrieval-oriented integration of cross-session supervision and corruption-aware joint sequence–graph learning; the accompanying controls identify how supervision and complementary views contribute to its performance.
The matched-supervision comparison provides direct evidence for the learning relation: independently recorded visits supply a useful signal for retrieving another session of an unseen user. It complements the historical label-free package comparison by holding architecture, objective weighting and input schedule fixed. Same-session sampling still uses user-grouped batches, and the paired experiment concerns the original architecture. The matched result therefore identifies the effect of the implemented cross-session relation under this shared training design.
The view controls reveal a more specific role for joint learning than clean accuracy alone suggests. Directed transitions dominate the co-trained readouts, yet fusion improves over that graph readout even when all views share the last-128 history budget. Independently trained encoders are stronger controls than extracted readouts: late fusion wins on clean and edge-only inputs, whereas joint fusion exceeds it and both independent branches under combined damage. Thus a weak co-trained sequence readout can still participate in a useful joint representation, but its standalone score cannot establish that sequence modeling is intrinsically weak.
Training and selection choices also matter. Common-validation and matched-forward controls preserve the combined-corruption benefit while changing the original architecture’s clean-cost estimate. Explicit alignment and learned fusion alternatives shift sensitivity across conditions instead of yielding one uniformly better variant. These findings support studying the interaction among supervision, views and optimization, rather than attributing every difference to the encoder alone. Potential explanations such as increased sequence reliance under alignment remain interpretations, not directly measured mechanisms.
The stronger attention baseline and simple count controls define the practical comparison. Tuned SASRec leads original fusion on clean retrieval, and intact page counts remain strong under heavy view corruption. Rebuilding every view after raw-event deletion changes this ordering and removes the count baseline’s artificial invariance. This distinction is useful for applications: a representation-level intervention models a different failure from missing events in the logging stream. The model should therefore be assessed under the anticipated data-loss mechanism, not chosen from a favorable test condition. Competitive inexpensive baselines are consistent with earlier empirical SBR findings [51].
Frozen repartitioning strengthens the evidence for the gated extension’s graph-damage benefit relative to SR-GNN. Candidate-scale and temporal tests further show that retrieval depth, eligibility and pool size affect conclusions. The common application setting holds page semantics fixed while these learning and evaluation choices are varied. Together, these experiments connect the proposed learning design to three concrete findings within Coffee Shop: the value of cross-session positives, joint learning beyond independent late fusion under combined view damage, and the stability of the gated extension’s graph-damage benefit across repartitioning and candidate scales.
Despite these strengths, several limitations must be acknowledged. Evidence comes from one application with 46 page identifiers; repeated partitions do not establish transfer to other applications. The gated architecture and later controls followed test inspection, and new partitions overlap potentially exposed users. Bootstrap intervals are conditional on observed fits and are pointwise; historical Recall panels retain their stated split-user dependence limitation. Synthetic view perturbations and event deletion do not cover all production failures. Equal-history controls concern jointly trained readouts, and session linkage does not establish downstream recommendation utility or privacy protection.

6. Conclusions

We proposed a corruption-aware sequence–graph metric-learning framework for retrieving sessions of users excluded from model fitting. Cross-session positives align representations with recurring behavior across visits, while parallel sequence and directed-graph views provide complementary information under controlled input damage. Matched supervision, independent encoders, training-regime controls and frozen repartitioning provide a coherent empirical basis for this design.
The central result is the value of joint training under combined view corruption: at 1,000 candidates and 50% damage, original fusion reaches MRR 0.1846 versus 0.1638 for independent late fusion and 0.0953 for tuned SASRec. Cross-session positives are also supported by the matched training control, and the gated extension’s graph-damage advantage over SR-GNN persists across new partitions and candidate scales. These benefits coexist with stronger clean alternatives and a different ranking under raw-event loss; they identify the conditions in which the proposed design is useful within the evaluated application.
In practice, the encoder could support mobile-application or web-usage analytics by retrieving related navigation histories for an analyst investigating recurring journeys. Retrieved sessions could also supply context to personalization or recommendation workflows, with downstream utility evaluated separately. These are prospective uses, not demonstrated deployments; cross-session linkage requires appropriate consent, access controls and privacy assessment.
Future work will examine independently trained encoders under matched history budgets, empirically grounded logging-loss mechanisms, and retrieval with multiple relevant sessions. Integrating session similarity into analytics or recommendation workflows would connect the present endpoint to operational value, while deployment studies should measure end-to-end latency, resource use and linkage risks.

Author Contributions

Conceptualization, M.S.A.; methodology, N.T.; software, N.T.; validation, M.S.A.; formal analysis, N.T.; investigation, M.S.A.; resources, N.T.; data curation, N.T.; writing—original draft preparation, N.T.; writing—review and editing, N.T. and M.S.A.; visualization, N.T.; supervision, M.S.A.; project administration, M.S.A. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Data Availability Statement

The Coffee Shop dataset is obtained separately from its Kaggle source [56] under the applicable terms. The analyzed file has SHA-256 127e88d3d1cbc1a92812b0e107c7e083cb08ad36e41071799f6d2da78f26b0d4. Research code is available on Zenodo, DOI 10.5281/zenodo.23111534, version session-retrieval-code-v2, under the MIT license for project code. The release contains model, training, evaluation and analysis code, fixed configurations, dependency information and execution-order instructions. It excludes raw data, user-linked ranks/candidate lists, trained checkpoints and private review materials. Required intermediate artifacts must be generated locally; code availability does not imply public availability of the retained private research outputs.

Acknowledgments

The authors acknowledge the use of OpenAI’s ChatGPT (version 5.6 Sol) for assistance with research planning, analysis workflows, manuscript drafting, and editing. The authors assume full responsibility for verifying the code, analyses, references, and claims and for the accuracy, originality, and integrity of the final manuscript. The authors also thank Hepsiburada for providing a collaborative research environment.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Wang, S.; Cao, L.; Wang, Y.; Sheng, Q. Z.; Orgun, M. A.; Lian, D. A survey on session-based recommender systems. ACM Comput. Surv. 2021, vol. 54(no. 7, Art. no. 154), 1–38. [Google Scholar] [CrossRef]
  2. Cho, K.; et al. Learning phrase representations using RNN encoder-decoder for statistical machine translation. arXiv. 2014. Available online: https://arxiv.org/abs/1406.1078.
  3. Vaswani, A.; et al. Attention is all you need. 2017. Available online: https://arxiv.org/abs/1706.03762.
  4. Li, J.; Ren, P.; Chen, Z.; Ren, Z.; Lian, T.; Ma, J. Neural attentive session-based recommendation. Proc. 26th ACM Int. Conf. Inf. Knowl. Manage. (CIKM), 2017; pp. 1419–1428. Available online: https://arxiv.org/abs/1711.04725. [CrossRef]
  5. Gilmer, J.; Schoenholz, S. S.; Riley, P. F.; Vinyals, O.; Dahl, G. E. Neural message passing for quantum chemistry. 2017, arXiv:1704.01212. Available online: https://arxiv.org/abs/1704.01212.
  6. Li, Y.; Tarlow, D.; Brockschmidt, M.; Zemel, R. “Gated graph sequence neural networks,” 2015, arXiv:1511.05493. Available online: https://arxiv.org/abs/1511.05493.
  7. Chen, T.; Kornblith, S.; Norouzi, M.; Hinton, G. “A simple framework for contrastive learning of visual representations,” 2020, arXiv:2002.05709. Available online: https://arxiv.org/abs/2002.05709.
  8. Khosla, P.; et al. Supervised contrastive learning. 2020, arXiv:2004.11362. Available online: https://arxiv.org/abs/2004.11362.
  9. You, Y.; Chen, T.; Sui, Y.; Chen, T.; Wang, Z.; Shen, Y. “Graph contrastive learning with augmentations,” 2020, arXiv:2010.13902. Available online: https://arxiv.org/abs/2010.13902.
  10. Hidasi, B.; Karatzoglou, A.; Baltrunas, L.; Tikk, D. Session-based recommendations with recurrent neural networks. Proc. Int. Conf. Learn. Represent. (ICLR). 2016. Available online: https://arxiv.org/abs/1511.06939.
  11. Kang, W.-C.; McAuley, J. Self-attentive sequential recommendation. Proc. IEEE Int. Conf. Data Mining (ICDM), 2018; pp. 197–206. [Google Scholar] [CrossRef]
  12. Wu, S.; Tang, Y.; Zhu, Y.; Wang, L.; Xie, X.; Tan, T. Session-based recommendation with graph neural networks. Proc. AAAI Conf. Artif. Intell. 2019, vol. 33, 346–353. [Google Scholar] [CrossRef]
  13. Quadrana, M.; Karatzoglou, A.; Hidasi, B.; Cremonesi, P. Personalizing session-based recommendations with hierarchical recurrent neural networks. Proc. 11th ACM Conf. Recommender Syst. (RecSys), 2017; pp. 130–137. [Google Scholar] [CrossRef]
  14. Song, W.; Wang, S.; Wang, Y.; Wang, S. “Next-item recommendations in short sessions,” 2021, arXiv:2107.07453. Available online: https://arxiv.org/abs/2107.07453.
  15. Tasgetiren, N.; Kilic, T.; Aktas, M. S. On the use of graph embedding techniques for clustering user browsing navigational behaviours. Int. J. Web Grid Serv. 2024, vol. 20(no. 4), 482–504. [Google Scholar] [CrossRef]
  16. Tasgetiren, N.; Safak, I.; Aktas, M. S. An event frequency-inverse session frequency based weighting mechanism for data embedding methodologies. Softw. Pract. Exp. 2025, vol. 55(no. 6), 983–1002. [Google Scholar] [CrossRef]
  17. Tasgetiren, N.; Safak, I.; Aktas, M. S. Aging-based weighting for session classification in user behavior analysis. Proc. Int. Conf. Comput. Sci. Appl. (ICCSA) Workshops, 2025; pp. 16–34. [Google Scholar] [CrossRef]
  18. Vamosi, S.; Reutterer, T.; Platzer, M. A deep recurrent neural network approach to learn sequence similarities for user-identification. Decis. Support Syst. 2022, vol. 155. [Google Scholar] [CrossRef]
  19. De Smedt, J.; Lacka, E.; Nita, S.; Kohls, H.-H.; Paton, R. Session stitching using sequence fingerprinting for web page visits. Decis. Support Syst. 2021, vol. 150, Art. no. 113579. [Google Scholar] [CrossRef]
  20. Tanielian, U.; Tousch, A.-M.; Vasile, F. Siamese cookie embedding networks for cross-device user matching. 2018, arXiv:1803.10450v1. Available online: https://arxiv.org/abs/1803.10450v1.
  21. Voorhees, E. M. “The TREC-8 question answering track report,” in Proc. 8th Text REtrieval Conf. (TREC-8). Gaithersburg, MD, USA, 1999; Available online: https://trec.nist.gov/pubs/trec8/papers/qa_report.pdf.
  22. Krichene, W.; Rendle, S. On sampled metrics for item recommendation (extended abstract). Proc. 30th Int. Joint Conf. Artif. Intell. (IJCAI), 2021; pp. 4784–4788. [Google Scholar] [CrossRef] [PubMed]
  23. Li, Z.; et al. Graph and sequential neural networks in session-based recommendation: A survey. ACM Comput. Surv. (online publication). 2024, vol. 57(no. 2, Art. no. 40), 1–37. [Google Scholar] [CrossRef]
  24. Sun, F.; et al. BERT4Rec: Sequential recommendation with bidirectional encoder representations from Transformer. Proc. 28th ACM Int. Conf. Inf. Knowl. Manage. (CIKM), 2019; pp. 1441–1450. [Google Scholar] [CrossRef]
  25. Wang, Z.; Wei, W.; Cong, G.; Li, X.-L.; Mao, X.-L.; Qiu, M. Global context enhanced graph neural networks for session-based recommendation. Proc. 43rd Int. ACM SIGIR Conf. Res. Develop. Inf. Retr., 2020; pp. 169–178. [Google Scholar] [CrossRef]
  26. Xia, X.; Yin, H.; Yu, J.; Wang, Q.; Cui, L.; Zhang, X. Self-supervised hypergraph convolutional networks for session-based recommendation. Proc. AAAI Conf. Artif. Intell. 2021, vol. 35(no. 5), 4503–4511. [Google Scholar] [CrossRef]
  27. Yang, Y.; Zhang, J.; Wang, Y.; Miao, Z.; Tong, Y. Multiple connectivity views for session-based recommendation. Proc. 17th ACM Conf. Recommender Syst. (RecSys), 2023; pp. 1000–1006. [Google Scholar] [CrossRef]
  28. Ou, Z.; Zhang, X.; Zhu, Y.; Lyu, S.; Liu, J.; Ao, T. LS-TGNN: Long and short-term temporal graph neural network for session-based recommendation. Proc. AAAI Conf. Artif. Intell. vol. 39(no. 12, 2025), 12426–12434. [CrossRef]
  29. Li, M.; et al. Multi-granular graph learning with fine-grained behavioral pattern awareness for session-based recommendation. Proc. AAAI Conf. Artif. Intell. 2026, vol. 40(no. 27), 23030–23038. [Google Scholar] [CrossRef]
  30. Xie, X.; et al. Contrastive learning for sequential recommendation. Proc. IEEE 38th Int. Conf. Data Eng. (ICDE), 2022; pp. 1259–1273. [Google Scholar] [CrossRef]
  31. Qiu, R.; Huang, Z.; Yin, H.; Wang, Z. Contrastive learning for representation degeneration problem in sequential recommendation. Proc. 15th ACM Int. Conf. Web Search Data Mining (WSDM), 2022; pp. 813–823. [Google Scholar] [CrossRef]
  32. Gao, S.; Zeng, Y.; Dang, X.; Dong, X. SR-MACL: Session-based recommendation with multi-layer aggregation augmentation in contrastive learning. Neural Process. Lett. 2024, vol. 56. [Google Scholar] [CrossRef]
  33. Wang, F.; Lu, X.; Lyu, L. CGSNet: Contrastive graph self-attention network for session-based recommendation. Knowl.-Based Syst. 2022, vol. 251. [Google Scholar] [CrossRef]
  34. He, J.-X.; Chen, H.-H. “GraphFusionSBR: Denoising multi-channel graphs for session-based recommendation,” 2026, arXiv:2601.08497v1. Available online: https://arxiv.org/abs/2601.08497v1.
  35. Neverova, N.; Wolf, C.; Taylor, G. W.; Nebout, F. ModDrop: Adaptive multi-modal gesture recognition. IEEE Trans. Pattern Anal. Mach. Intell. 2016, vol. 38(no. 8), 1692–1706. [Google Scholar] [CrossRef]
  36. Choi, J.-H.; Lee, J.-S. EmbraceNet: A robust deep learning architecture for multimodal classification. Inf. Fusion 2019, vol. 51, 259–270. [Google Scholar] [CrossRef]
  37. Mckinzie, B.; Shankar, V.; Cheng, J. Y.; Yang, Y.; Shlens, J.; Toshev, A. T. Robustness in multimodal learning under train–test modality mismatch. Proc. 40th Int. Conf. Mach. Learn. (ICML) 2023, vol. 202, 24291–24303. Available online: https://proceedings.mlr.press/v202/mckinzie23a.html.
  38. Tasgetiren, N.; Aktas, M. S. Mining web user behavior: A systematic mapping study. Proc. Int. Conf. Comput. Sci. Appl. (ICCSA) Workshops, 2022; pp. 667–683. [Google Scholar] [CrossRef]
  39. Hakvar, H.; et al. On the use of predictive deep learning approaches in the frequency and uniqueness-based representation of sequential browsing events. Proc. Int. Conf. Comput. Sci. Appl. (ICCSA) 2024, 83–100. [Google Scholar] [CrossRef]
  40. Hamilton, W. L.; Ying, R.; Leskovec, J. Inductive representation learning on large graphs. 2017, arXiv:1706.02216. Available online: https://arxiv.org/abs/1706.02216.
  41. Velickovic, P.; Cucurull, G.; Casanova, A.; Romero, A.; Lio, P.; Bengio, Y. “Graph attention networks,” 2017, arXiv:1710.10903. Available online: https://arxiv.org/abs/1710.10903.
  42. Xu, K.; Hu, W.; Leskovec, J.; Jegelka, S. How powerful are graph neural networks? 2018, arXiv:1810.00826. Available online: https://arxiv.org/abs/1810.00826.
  43. Yu, F.; Zhu, Y.; Liu, Q.; Wu, S.; Wang, L.; Tan, T. “TAGNN: Target attentive graph neural networks for session-based recommendation,” 2020, arXiv:2005.02844. Available online: https://arxiv.org/abs/2005.02844.
  44. Yang, Z.; Liang, T. Multi-graph co-training for capturing user intent in session-based recommendation. 2024, arXiv:2412.11105. Available online: https://arxiv.org/abs/2412.11105.
  45. Peintner, A.; Moscati, M.; Parada-Cabaleiro, E.; Schedl, M.; Zangerle, E. “Unsupervised graph embeddings for session-based recommendation with item features,” presented at the Workshop on Context-Aware Recommender Systems (CARS), 2022. Author-deposited version: arXiv:2502.13763v2, Mar. 2025. Available online: https://humrec.github.io/publication/peintner-cars-2022/.
  46. Zhang, X.; et al. “A survey on side information-driven session-based recommendation: From a data-centric perspective,” 2025, arXiv:2505.12279. Available online: https://arxiv.org/abs/2505.12279.
  47. Shi, Z.; Wang, X.; Lipani, A. Self contrastive learning for session-based recommendation. Adv. Inf. Retr. (ECIR) 2024, 3–20. [Google Scholar] [CrossRef]
  48. Seshadri, P.; Shashaani, S.; Knees, P. Enhancing sequential music recommendation with negative feedback-informed contrastive learning. 2024, arXiv:2409.07367. Available online: https://arxiv.org/abs/2409.07367.
  49. Zhang, S.; Li, X.; Wu, J.; Yang, F.; Li, X.; Gao, M. “Integrating LLM-derived multi-semantic intent into graph model for session-based recommendation,” 2025, arXiv:2507.20147. Available online: https://arxiv.org/abs/2507.20147.
  50. Lee, G.; et al. SPRINT: Scalable and predictive intent refinement for LLM-enhanced session-based recommendation. arXiv:2508.00570v3, Apr. 2026. Available online: https://arxiv.org/abs/2508.00570v3.
  51. Ludewig, M.; Mauro, N.; Latifi, S.; Jannach, D. Empirical analysis of session-based recommendation algorithms. 2019, arXiv:1910.12781. Available online: https://arxiv.org/abs/1910.12781.
  52. Oliveira, M.; Yang, J.; Griffiths, D.; Bonnay, D.; Kulshrestha, J. Browsing behavior exposes identities on the Web. Sci. Rep. 2025, vol. 15. [Google Scholar] [CrossRef] [PubMed]
  53. Taghibakhshi, A.; Ma, M.; Aithal, A.; Yilmaz, O.; Maron, H.; West, M. Hierarchical graph neural network with cross-attention for cross-device user matching. 2023, arXiv:2304.03215v2. Available online: https://arxiv.org/abs/2304.03215v2.
  54. Hendrycks, D.; Gimpel, K. Gaussian error linear units (GELUs). 2016, arXiv:1606.08415. Available online: https://arxiv.org/abs/1606.08415.
  55. Ba, J. L.; Kiros, J. R.; Hinton, G. E. “Layer normalization,” 2016, arXiv:1607.06450. Available online: https://arxiv.org/abs/1607.06450.
  56. Buyuktanir, T.; Aktas, M. “Clickstreams of a coffee shop mobile applications,” Kaggle, 2022, dataset. Available online: https://www.kaggle.com/datasets/tolgabuyuktanir/clickstreams-of-a-coffee-shop-mobile-applications (accessed on 30 September 2026).
  57. Loshchilov, I.; Hutter, F. Decoupled weight decay regularization. 2017, arXiv:1711.05101. Available online: https://arxiv.org/abs/1711.05101.
Figure 1. Sequence–graph architecture. Parallel GRU and directed-graph branches produce normalized session vectors; the original and gated graph branches are alternatives.
Figure 1. Sequence–graph architecture. Parallel GRU and directed-graph branches produce normalized session vectors; the original and gated graph branches are alternatives.
Preprints 239231 g001
Figure 2. Main-study evaluation hierarchy: user-disjoint fitting, matched candidate tasks and user-level resampling. Candidate seeds are not independent trained models. Fixed-epoch controls are specified separately in the text.
Figure 2. Main-study evaluation hierarchy: user-disjoint fitting, matched candidate tasks and user-level resampling. Candidate seeds are not independent trained models. Fixed-epoch controls are specified separately in the text.
Preprints 239231 g002
Figure 3. Recall@K at 1,000 candidates under clean input and 50% edge deletion. Shading represents pointwise 95% raw-user bootstrap intervals; all cutoffs share resampling draws.
Figure 3. Recall@K at 1,000 candidates under clean input and 50% edge deletion. Shading represents pointwise 95% raw-user bootstrap intervals; all cutoffs share resampling draws.
Preprints 239231 g003
Figure 4. Candidate-scale replication across three new partitions. Curves are pooled raw-user MRR; shading spans partition-level means after averaging initializations, not confidence intervals.
Figure 4. Candidate-scale replication across three new partitions. Curves are pooled raw-user MRR; shading spans partition-level means after averaging initializations, not confidence intervals.
Preprints 239231 g004
Figure 5. Gated-model training-budget replication. Thin curves are partition means over three initializations; thick curves average partitions. Markers and bands show pooled raw-user estimates and pointwise intervals.
Figure 5. Gated-model training-budget replication. Thin curves are partition means over three initializations; thick curves average partitions. Markers and bands show pooled raw-user estimates and pointwise intervals.
Preprints 239231 g005
Table 1. Encoder configurations. Historical and tuned SASRec are separate comparators; a gated graph is distinct from a learned fusion gate.
Table 1. Encoder configurations. Historical and tuned SASRec are separate comparators; a gated graph is distinct from a learned fusion gate.
Encoder Widths Propagation / readout
Original fusion Sequence 32 → GRU 64; graph 64 One GRU; two aggregation layers; frequency pooling; normalized mean
Independent sequence Embedding 32; GRU 64 One GRU; last valid state
Independent graph Node states 64 Two aggregation layers; frequency pooling
Historical SASRec-style Embedding 32; feed-forward 128 Two causal layers; four heads; dropout 0.1; last state
Tuned SASRec-style Embedding 64; feed-forward 128 Two causal layers; one head; dropout 0; mean pooling
SR-GNN-style Node states 64; message 128 Two GRUCell steps; frequency and attention readout
Gated-graph fusion Sequence 32 → GRU 64; graph 64 GRU plus gated graph; normalized mean
Table 2. Clean retrieval. Brackets are pointwise 95% intervals. Raw-user rows use raw-user resampling for all metrics. Split-user rows retain split-user point estimates, with raw-user ratio-bootstrap MRR intervals but split-user-resampled Recall intervals. Random analytic values are exact expectations; “—” denotes no sampling interval.
Table 2. Clean retrieval. Brackets are pointwise 95% intervals. Raw-user rows use raw-user resampling for all metrics. Split-user rows retain split-user point estimates, with raw-user ratio-bootstrap MRR intervals but split-user-resampled Recall intervals. Random analytic values are exact expectations; “—” denotes no sampling interval.
Estimand Candidates Method MRR [95% CI] Recall@1 [95% CI] Recall@10 [95% CI]
Raw-user 100 Proposed fusion 0.8072 [0.8043, 0.8102] 0.7274 [0.7236, 0.7313] 0.9518 [0.9500, 0.9536]
Raw-user 100 Transition cosine 0.7575 [0.7539, 0.7611] 0.6894 [0.6851, 0.6937] 0.8819 [0.8787, 0.8850]
Raw-user 100 Page cosine 0.5056 [0.5017, 0.5097] 0.3831 [0.3786, 0.3875] 0.7607 [0.7565, 0.7649]
Raw-user 100 Random ranking (analytic) 0.0519 — 0.0100 0.1000
Raw-user 100 Random ranking (empirical) 0.0523 [0.0516, 0.0530] 0.0103 [0.0097, 0.0109] 0.1009 [0.0991, 0.1027]
Raw-user 1,000 Proposed fusion 0.6066 [0.6025, 0.6105] 0.5195 [0.5150, 0.5239] 0.7762 [0.7725, 0.7800]
Raw-user 1,000 Transition cosine 0.5946 [0.5902, 0.5989] 0.5257 [0.5210, 0.5305] 0.7282 [0.7239, 0.7325]
Raw-user 1,000 Page cosine 0.2714 [0.2676, 0.2751] 0.1948 [0.1911, 0.1985] 0.4198 [0.4149, 0.4247]
Raw-user 1,000 Random ranking (analytic) 0.0075 — 0.0010 0.0100
Raw-user 1,000 Random ranking (empirical) 0.0074 [0.0071, 0.0076] 0.0009 [0.0008, 0.0011] 0.0100 [0.0094, 0.0106]
Split-user 100 Original fusion 0.8074 [0.8042, 0.8105] 0.7275 [0.7239, 0.7309] 0.9524 [0.9507, 0.9540]
Split-user 100 SASRec-style 0.5726 [0.5696, 0.5757] 0.4060 [0.4028, 0.4092] 0.9023 [0.9002, 0.9045]
Split-user 100 SR-GNN-style 0.8062 [0.8030, 0.8094] 0.7291 [0.7256, 0.7327] 0.9482 [0.9464, 0.9500]
Split-user 100 Gated fusion 0.8076 [0.8044, 0.8107] 0.7293 [0.7257, 0.7328] 0.9515 [0.9498, 0.9532]
Split-user 1,000 Original fusion 0.6065 [0.6022, 0.6108] 0.5196 [0.5155, 0.5236] 0.7759 [0.7724, 0.7793]
Split-user 1,000 SASRec-style 0.2321 [0.2294, 0.2348] 0.1219 [0.1197, 0.1240] 0.4720 [0.4684, 0.4756]
Split-user 1,000 SR-GNN-style 0.6119 [0.6075, 0.6163] 0.5280 [0.5238, 0.5321] 0.7761 [0.7724, 0.7796]
Split-user 1,000 Gated fusion 0.6115 [0.6072, 0.6158] 0.5268 [0.5226, 0.5308] 0.7765 [0.7729, 0.7799]
Table 3. Original joint fusion minus independent and validation-selected comparators: paired MRR difference [pointwise 95% raw-user interval], five splits × three initializations. Positive values favor joint fusion. All seven conditions and both candidate sizes are retained. The anchor profile is the specified neighborhood retrieval adaptation.
Table 3. Original joint fusion minus independent and validation-selected comparators: paired MRR difference [pointwise 95% raw-user interval], five splits × three initializations. Positive values favor joint fusion. All seven conditions and both candidate sizes are retained. The anchor profile is the specified neighborhood retrieval adaptation.
Condition Candidates Independent graph Independent sequence Equal-score late fusion Tuned SASRec Training-anchor profile
Clean 100 +0.0038 [+0.0027, +0.0050] +0.1569 [+0.1543, +0.1594] -0.0178 [-0.0191, -0.0165] -0.0747 [-0.0772, -0.0721] +0.1235 [0.1207, 0.1263]
Clean 1,000 +0.0025 [+0.0011, +0.0038] +0.2555 [+0.2523, +0.2587] -0.0271 [-0.0286, -0.0255] -0.1245 [-0.1279, -0.1211] +0.1539 [0.1505, 0.1572]
Sequence 25% 100 -0.0263 [-0.0277, -0.0250] +0.4136 [+0.4104, +0.4167] +0.0697 [+0.0678, +0.0714] +0.3892 [0.3859, 0.3924] +0.0934 [0.0906, 0.0962]
Sequence 25% 1,000 -0.0341 [-0.0358, -0.0325] +0.4220 [+0.4185, +0.4256] +0.0806 [+0.0785, +0.0827] +0.4067 [0.4030, 0.4104] +0.1173 [0.1139, 0.1206]
Sequence 50% 100 -0.0534 [-0.0552, -0.0517] +0.5008 [+0.4975, +0.5042] +0.1323 [+0.1300, +0.1347] +0.5000 [0.4965, 0.5034] +0.0663 [0.0634, 0.0693]
Sequence 50% 1,000 -0.0704 [-0.0725, -0.0683] +0.4409 [+0.4371, +0.4448] +0.1448 [+0.1422, +0.1475] +0.4384 [0.4346, 0.4423] +0.0810 [0.0775, 0.0843]
Edge 25% 100 +0.0575 [+0.0559, +0.0592] -0.0024 [-0.0055, +0.0007] -0.0770 [-0.0788, -0.0752] -0.2340 [-0.2372, -0.2308] +0.2445 [0.2407, 0.2484]
Edge 25% 1,000 +0.0545 [+0.0528, +0.0562] +0.0089 [+0.0055, +0.0123] -0.0880 [-0.0900, -0.0860] -0.3711 [-0.3750, -0.3672] +0.1923 [0.1886, 0.1959]
Edge 50% 100 +0.0980 [+0.0961, +0.0998] -0.1384 [-0.1418, -0.1351] -0.1185 [-0.1205, -0.1164] -0.3700 [-0.3735, -0.3664] +0.2880 [0.2842, 0.2918]
Edge 50% 1,000 +0.0640 [+0.0624, +0.0656] -0.1308 [-0.1341, -0.1274] -0.0949 [-0.0968, -0.0930] -0.5108 [-0.5149, -0.5069] +0.1537 [0.1508, 0.1566]
Both 25% 100 +0.0239 [+0.0221, +0.0256] +0.2508 [+0.2475, +0.2541] +0.0297 [+0.0277, +0.0318] +0.2264 [0.2230, 0.2297] +0.2109 [0.2070, 0.2149]
Both 25% 1,000 +0.0250 [+0.0232, +0.0268] +0.1825 [+0.1794, +0.1858] +0.0115 [+0.0095, +0.0136] +0.1672 [0.1640, 0.1706] +0.1628 [0.1592, 0.1664]
Both 50% 100 +0.0431 [+0.0410, +0.0453] +0.2079 [+0.2047, +0.2113] +0.0572 [+0.0548, +0.0596] +0.2071 [0.2037, 0.2104] +0.2332 [0.2293, 0.2371]
Both 50% 1,000 +0.0284 [+0.0267, +0.0301] +0.0919 [+0.0893, +0.0946] +0.0208 [+0.0190, +0.0227] +0.0894 [0.0866, 0.0921] +0.1180 [0.1153, 0.1208]
Table 4. Paired effects across ranking depths. Brackets are pointwise 95% intervals; positive values favor the first named method. Five splits × three initializations. Historical clean MRR uses raw-user ratio resampling of a split-user mean; its Recall intervals use split-user resampling. Joint-minus-late-fusion effects use raw-user pooling/resampling. Clean and 50% interventions are shown symmetrically for both candidate sizes; intermediate severities remain in the MRR comparison.
Table 4. Paired effects across ranking depths. Brackets are pointwise 95% intervals; positive values favor the first named method. Five splits × three initializations. Historical clean MRR uses raw-user ratio resampling of a split-user mean; its Recall intervals use split-user resampling. Joint-minus-late-fusion effects use raw-user pooling/resampling. Clean and 50% interventions are shown symmetrically for both candidate sizes; intermediate severities remain in the MRR comparison.
Contrast / condition Candidates Δ MRR Δ Recall@1 Δ Recall@10
Historical clean: Original fusion minus SR-GNN 100 0.0011 [-0.0002, 0.0025] -0.0017 [-0.0033, 0.0000] 0.0042 [0.0031, 0.0052]
Historical clean: Original fusion minus SASRec 100 0.2348 [0.2318, 0.2377] 0.3214 [0.3179, 0.3249] 0.0500 [0.0481, 0.0520]
Historical clean: Gated fusion minus SR-GNN 100 0.0013 [0.0003, 0.0024] 0.0002 [-0.0013, 0.0016] 0.0033 [0.0024, 0.0042]
Historical clean: Original fusion minus SR-GNN 1,000 -0.0054 [-0.0070, -0.0038] -0.0084 [-0.0103, -0.0065] -0.0002 [-0.0019, 0.0015]
Historical clean: Original fusion minus SASRec 1,000 0.3743 [0.3706, 0.3781] 0.3977 [0.3939, 0.4015] 0.3039 [0.3002, 0.3075]
Historical clean: Gated fusion minus SR-GNN 1,000 -0.0004 [-0.0017, 0.0010] -0.0012 [-0.0028, 0.0004] 0.0004 [-0.0011, 0.0019]
Joint minus late fusion: Clean 100 -0.0178 [-0.0191, -0.0165] -0.0238 [-0.0255, -0.0220] -0.0057 [-0.0067, -0.0046]
Joint minus late fusion: Clean 1,000 -0.0271 [-0.0286, -0.0255] -0.0284 [-0.0303, -0.0265] -0.0240 [-0.0258, -0.0222]
Joint minus late fusion: Sequence 50% 100 +0.1323 [+0.1300, +0.1347] +0.1514 [+0.1485, +0.1544] +0.0829 [+0.0806, +0.0852]
Joint minus late fusion: Sequence 50% 1,000 +0.1448 [+0.1422, +0.1475] +0.1387 [+0.1358, +0.1416] +0.1564 [+0.1534, +0.1596]
Joint minus late fusion: Edge 50% 100 -0.1185 [-0.1205, -0.1164] -0.1256 [-0.1282, -0.1231] -0.0821 [-0.0843, -0.0800]
Joint minus late fusion: Edge 50% 1,000 -0.0949 [-0.0968, -0.0930] -0.0741 [-0.0761, -0.0721] -0.1450 [-0.1478, -0.1422]
Joint minus late fusion: Combined 50% 100 +0.0572 [+0.0548, +0.0596] +0.0450 [+0.0423, +0.0478] +0.0782 [+0.0753, +0.0811]
Joint minus late fusion: Combined 50% 1,000 +0.0208 [+0.0190, +0.0227] +0.0072 [+0.0054, +0.0090] +0.0540 [+0.0509, +0.0570]
Table 5. Original fusion under all view conditions. Recall brackets are pointwise raw-user 95% intervals. Transition cosine is invariant to sequence truncation; page and random baselines retain Table 2 values under every condition. Invariant values are reused scores, not independent runs.
Table 5. Original fusion under all view conditions. Recall brackets are pointwise raw-user 95% intervals. Transition cosine is invariant to sequence truncation; page and random baselines retain Table 2 values under every condition. Invariant values are reused scores, not independent runs.
Condition Candidates Fusion MRR Fusion Recall@1 [95% CI] Fusion Recall@10 [95% CI] Transition MRR
Clean 100 0.8072 0.7274 [0.7236, 0.7313] 0.9518 [0.9500, 0.9536] 0.7575
Sequence 25% 100 0.7770 0.6925 [0.6886, 0.6964] 0.9336 [0.9314, 0.9357] 0.7575
Sequence 50% 100 0.7500 0.6591 [0.6551, 0.6632] 0.9219 [0.9197, 0.9242] 0.7575
Edge 25% 100 0.6479 0.5185 [0.5145, 0.5225] 0.8999 [0.8975, 0.9024] 0.4391
Edge 50% 100 0.5119 0.3600 [0.3563, 0.3638] 0.8297 [0.8267, 0.8328] 0.2200
Both 25% 100 0.6143 0.4831 [0.4791, 0.4871] 0.8729 [0.8702, 0.8757] 0.4391
Both 50% 100 0.4571 0.3084 [0.3047, 0.3120] 0.7724 [0.7690, 0.7758] 0.2200
Clean 1,000 0.6066 0.5195 [0.5150, 0.5239] 0.7762 [0.7725, 0.7800] 0.5946
Sequence 25% 1,000 0.5700 0.4825 [0.4781, 0.4869] 0.7410 [0.7371, 0.7450] 0.5946
Sequence 50% 1,000 0.5337 0.4442 [0.4399, 0.4486] 0.7095 [0.7053, 0.7136] 0.5946
Edge 25% 1,000 0.3600 0.2518 [0.2483, 0.2555] 0.5799 [0.5757, 0.5841] 0.2247
Edge 50% 1,000 0.2203 0.1275 [0.1249, 0.1301] 0.4080 [0.4038, 0.4122] 0.0757
Both 25% 1,000 0.3305 0.2268 [0.2234, 0.2303] 0.5409 [0.5367, 0.5453] 0.2247
Both 50% 1,000 0.1846 0.1021 [0.0998, 0.1045] 0.3504 [0.3463, 0.3546] 0.0757
Table 6. Original readouts and historical label-free packages on clean retrieval. Five splits × three initializations; raw-user estimates; Recall brackets are pointwise 95% intervals. Co-trained fusion is the weakly supervised package. Label-free rows also change objective weighting, so this is not the matched-positive experiment. Readouts are not independently trained models.
Table 6. Original readouts and historical label-free packages on clean retrieval. Five splits × three initializations; raw-user estimates; Recall brackets are pointwise 95% intervals. Co-trained fusion is the weakly supervised package. Label-free rows also change objective weighting, so this is not the matched-positive experiment. Readouts are not independently trained models.
Training package Candidates Output MRR Recall@1 [95% CI] Recall@10 [95% CI]
Co-trained 100 sequence 0.2594 0.1252 [0.1228, 0.1277] 0.5696 [0.5658, 0.5735]
Co-trained 100 graph 0.7780 0.6961 [0.6921, 0.7001] 0.9290 [0.9268, 0.9313]
Co-trained 100 fusion 0.8072 0.7274 [0.7236, 0.7313] 0.9518 [0.9500, 0.9536]
Co-trained 1,000 sequence 0.0697 0.0283 [0.0271, 0.0296] 0.1363 [0.1336, 0.1391]
Co-trained 1,000 graph 0.5754 0.4894 [0.4849, 0.4939] 0.7435 [0.7395, 0.7476]
Co-trained 1,000 fusion 0.6066 0.5195 [0.5150, 0.5239] 0.7762 [0.7725, 0.7800]
Historical supervision 100 Label-free sequence 0.1377 0.0646 [0.0627, 0.0667] 0.2668 [0.2630, 0.2705]
Historical supervision 100 Label-free graph 0.6592 0.5669 [0.5624, 0.5715] 0.8383 [0.8349, 0.8418]
Historical supervision 100 Label-free fusion 0.3874 0.2510 [0.2476, 0.2544] 0.6732 [0.6693, 0.6770]
Historical supervision 1,000 Label-free sequence 0.0368 0.0148 [0.0138, 0.0158] 0.0728 [0.0706, 0.0751]
Historical supervision 1,000 Label-free graph 0.4591 0.3833 [0.3788, 0.3878] 0.6070 [0.6023, 0.6117]
Historical supervision 1,000 Label-free fusion 0.1521 0.0851 [0.0829, 0.0873] 0.2840 [0.2802, 0.2878]
Table 7. Matched positive-pair control, five splits × three initializations, raw-user pooling. Architecture, initial weights, input schedule, cross-bank objective and final epoch are matched. Differences are cross-session minus same-session, with pointwise 95% paired intervals. Same-session sampling retains user-grouped batches.
Table 7. Matched positive-pair control, five splits × three initializations, raw-user pooling. Architecture, initial weights, input schedule, cross-bank objective and final epoch are matched. Differences are cross-session minus same-session, with pointwise 95% paired intervals. Same-session sampling retains user-grouped batches.
Condition Candidates Cross-session MRR Same-session MRR Δ MRR [95% CI] Δ Recall@1 [95% CI] Δ Recall@10 [95% CI]
Clean 100 0.8006 0.3450 +0.4556 [0.4524, 0.4588] +0.5044 [0.5005, 0.5083] +0.3272 [0.3233, 0.3310]
Sequence 25% 100 0.7791 0.3446 +0.4345 [0.4313, 0.4378] +0.4797 [0.4757, 0.4837] +0.3145 [0.3106, 0.3183]
Sequence 50% 100 0.7523 0.3437 +0.4086 [0.4053, 0.4120] +0.4476 [0.4437, 0.4518] +0.3034 [0.2995, 0.3073]
Edge 25% 100 0.6409 0.2952 +0.3457 [0.3424, 0.3490] +0.3371 [0.3331, 0.3411] +0.3404 [0.3364, 0.3444]
Edge 50% 100 0.5093 0.2585 +0.2508 [0.2474, 0.2542] +0.2138 [0.2100, 0.2176] +0.3243 [0.3202, 0.3283]
Both 25% 100 0.6186 0.2951 +0.3235 [0.3201, 0.3269] +0.3137 [0.3097, 0.3177] +0.3224 [0.3184, 0.3264]
Both 50% 100 0.4679 0.2573 +0.2106 [0.2073, 0.2139] +0.1757 [0.1721, 0.1794] +0.2842 [0.2801, 0.2884]
Clean 1,000 0.5948 0.1285 +0.4663 [0.4626, 0.4702] +0.4361 [0.4319, 0.4405] +0.5268 [0.5226, 0.5310]
Sequence 25% 1,000 0.5694 0.1284 +0.4410 [0.4372, 0.4449] +0.4107 [0.4065, 0.4150] +0.5026 [0.4983, 0.5068]
Sequence 50% 1,000 0.5345 0.1273 +0.4072 [0.4034, 0.4111] +0.3754 [0.3712, 0.3798] +0.4730 [0.4686, 0.4773]
Edge 25% 1,000 0.3487 0.1005 +0.2482 [0.2449, 0.2515] +0.1892 [0.1858, 0.1926] +0.3791 [0.3748, 0.3835]
Edge 50% 1,000 0.2151 0.0818 +0.1334 [0.1306, 0.1361] +0.0832 [0.0806, 0.0858] +0.2460 [0.2418, 0.2502]
Both 25% 1,000 0.3295 0.1004 +0.2291 [0.2259, 0.2324] +0.1734 [0.1701, 0.1767] +0.3534 [0.3491, 0.3577]
Both 50% 1,000 0.1888 0.0808 +0.1080 [0.1055, 0.1106] +0.0657 [0.0633, 0.0680] +0.2036 [0.1995, 0.2077]
Table 8. Corruption-trained minus clean-trained MRR. Historical regime-specific selection is reported at both candidate sizes, including all fourteen paired intervals. Common-validation and forward-matched columns use 1,000 candidates and share the corruption-trained fits. Each column is a paired contrast within its own protocol, not an architecture comparison. Five splits × three initializations; pointwise raw-user intervals.
Table 8. Corruption-trained minus clean-trained MRR. Historical regime-specific selection is reported at both candidate sizes, including all fourteen paired intervals. Common-validation and forward-matched columns use 1,000 candidates and share the corruption-trained fits. Each column is a paired contrast within its own protocol, not an architecture comparison. Five splits × three initializations; pointwise raw-user intervals.
Condition Historical: 100 candidates Historical: 1,000 candidates Common validation: 1,000 Common validation + matched forwards: 1,000
Clean -0.0080 [-0.0094, -0.0067] -0.0101 [-0.0117, -0.0085] +0.0053 [0.0037, 0.0069] +0.0037 [0.0021, 0.0053]
Sequence 25% +0.1330 [0.1304, 0.1356] +0.1094 [0.1068, 0.1120] +0.0527 [0.0506, 0.0547] +0.0611 [0.0588, 0.0633]
Sequence 50% +0.1466 [0.1440, 0.1493] +0.1145 [0.1119, 0.1172] +0.0619 [0.0596, 0.0643] +0.0680 [0.0656, 0.0704]
Edge 25% +0.2117 [0.2088, 0.2146] +0.1699 [0.1672, 0.1727] +0.1818 [0.1791, 0.1845] +0.1803 [0.1777, 0.1831]
Edge 50% +0.2548 [0.2518, 0.2577] +0.1405 [0.1381, 0.1430] +0.1467 [0.1442, 0.1492] +0.1461 [0.1437, 0.1486]
Both 25% +0.2828 [0.2798, 0.2858] +0.1918 [0.1891, 0.1945] +0.1796 [0.1770, 0.1823] +0.1811 [0.1785, 0.1838]
Both 50% +0.2771 [0.2741, 0.2799] +0.1319 [0.1296, 0.1342] +0.1279 [0.1257, 0.1302] +0.1284 [0.1261, 0.1306]
Table 9. Fusion sensitivity under clean and each 50% intervention, both candidate sizes; five partitions × three initializations, common selector. Method values are pooled raw-user MRR. Parentheses are descriptive initialization min–max ranges after averaging five split-specific scores per seed, not confidence intervals. Final column: alignment minus average [pointwise 95% paired CI]. The quality gate is a fusion head, not the gated graph architecture.
Table 9. Fusion sensitivity under clean and each 50% intervention, both candidate sizes; five partitions × three initializations, common selector. Method values are pooled raw-user MRR. Parentheses are descriptive initialization min–max ranges after averaging five split-specific scores per seed, not confidence intervals. Final column: alignment minus average [pointwise 95% paired CI]. The quality gate is a fusion head, not the gated graph architecture.
Condition Candidates Average (seed range) Fixed MLP (seed range) Embedding gate (seed range) Quality gate (seed range) Alignment Alignment − average
clean 100 0.8069 (0.8062–0.8078) 0.7975 (0.7949–0.7992) 0.8186 (0.8179–0.8201) 0.8197 (0.8189–0.8215) 0.8461 +0.0392 [0.0377, 0.0407]
clean 1000 0.6059 (0.6047–0.6068) 0.5894 (0.5861–0.5916) 0.6220 (0.6204–0.6247) 0.6231 (0.6210–0.6269) 0.6558 +0.0499 [0.0480, 0.0518]
Sequence 50% 100 0.7500 (0.7470–0.7532) 0.7868 (0.7855–0.7884) 0.7914 (0.7899–0.7935) 0.7953 (0.7948–0.7965) 0.5696 −0.1804 [−0.1830, −0.1778]
Sequence 50% 1000 0.5340 (0.5291–0.5367) 0.5702 (0.5687–0.5717) 0.5783 (0.5765–0.5808) 0.5869 (0.5844–0.5890) 0.3320 −0.2020 [−0.2050, −0.1991]
Edge 50% 100 0.5113 (0.5090–0.5163) 0.4847 (0.4836–0.4880) 0.4937 (0.4921–0.4970) 0.4924 (0.4903–0.4966) 0.6812 +0.1699 [0.1676, 0.1722]
Edge 50% 1000 0.2198 (0.2174–0.2239) 0.1990 (0.1975–0.2005) 0.2092 (0.2078–0.2114) 0.2076 (0.2067–0.2101) 0.3632 +0.1435 [0.1413, 0.1457]
Combined 50% 100 0.4570 (0.4567–0.4583) 0.4731 (0.4718–0.4757) 0.4541 (0.4535–0.4558) 0.4547 (0.4518–0.4571) 0.3780 −0.0790 [−0.0815, −0.0764]
Combined 50% 1000 0.1845 (0.1843–0.1848) 0.1913 (0.1894–0.1927) 0.1815 (0.1809–0.1828) 0.1812 (0.1792–0.1826) 0.1477 −0.0368 [−0.0388, −0.0348]
Table 10. MRR after raw-event deletion, five splits × three initializations, raw-user pooling. All representations are rebuilt from the same surviving ordered events; deterministic count outputs are not independent initialization replicates.
Table 10. MRR after raw-event deletion, five splits × three initializations, raw-user pooling. All representations are rebuilt from the same surviving ordered events; deterministic count outputs are not independent initialization replicates.
Condition Candidates Original fusion Gated fusion SR-GNN Tuned SASRec Page cosine Transition cosine
Clean 100 0.8072 0.8074 0.8058 0.8819 0.5056 0.7575
Event drop 25% 100 0.3602 0.3625 0.3566 0.3115 0.2750 0.3767
Event drop 50% 100 0.1764 0.1789 0.1699 0.1764 0.1706 0.1705
Clean 1,000 0.6066 0.6116 0.6118 0.7311 0.2714 0.5946
Event drop 25% 1,000 0.1410 0.1436 0.1454 0.1117 0.0975 0.1746
Event drop 50% 1,000 0.0479 0.0495 0.0480 0.0469 0.0477 0.0512
Table 11. Cross-origin temporal retrieval, five splits × three initializations. Within-policy paired differences are fusion minus transition, with pointwise raw-user 95% intervals. Query tasks differ across thresholds. Three-hour estimates use the fully recorded replacement series.
Table 11. Cross-origin temporal retrieval, five splits × three initializations. Within-policy paired differences are fusion minus transition, with pointwise raw-user 95% intervals. Query tasks differ across thresholds. Three-hour estimates use the fully recorded replacement series.
Policy Candidates Fusion MRR Transition MRR Page MRR Δ MRR [95% CI] Δ Recall@1 [95% CI] Δ Recall@10 [95% CI]
2 hours 100 0.4823 0.4675 0.3624 +0.0148 [0.0134, 0.0162] +0.0063 [0.0048, 0.0078] +0.0335 [0.0310, 0.0361]
2 hours 1,000 0.3548 0.3572 0.1906 −0.0025 [−0.0036, −0.0013] -0.0081 [-0.0095, -0.0068] +0.0076 [0.0060, 0.0092]
3 hours 100 0.4923 0.4750 0.3664 +0.0173 [0.0159, 0.0186] +0.0078 [0.0063, 0.0093] +0.0391 [0.0366, 0.0416]
3 hours 1,000 0.3615 0.3621 0.1908 −0.0006 [−0.0018, 0.0005] -0.0066 [-0.0080, -0.0053] +0.0097 [0.0081, 0.0112]
Table 12. Gated fusion minus SR-GNN across ranking depths. Historical and new-partition blocks each use five splits × three initializations; positive values favor gated fusion. New-partition effects use raw-user clustering over 22,575 users. Historical MRR retains split-user weighting with raw-user ratio resampling; historical Recall uses split-user resampling. Blocks are not paired with each other. Intervals are pointwise 95%.
Table 12. Gated fusion minus SR-GNN across ranking depths. Historical and new-partition blocks each use five splits × three initializations; positive values favor gated fusion. New-partition effects use raw-user clustering over 22,575 users. Historical MRR retains split-user weighting with raw-user ratio resampling; historical Recall uses split-user resampling. Blocks are not paired with each other. Intervals are pointwise 95%.
Protocol Condition Candidates Δ MRR Δ Recall@1 Δ Recall@10
Historical Clean 1,000 -0.0004 [-0.0017, 0.0010] -0.0012 [-0.0028, 0.0004] 0.0004 [-0.0011, 0.0019]
Historical Sequence 25% 1,000 -0.0224 [-0.0239, -0.0208] -0.0232 [-0.0249, -0.0214] -0.0212 [-0.0228, -0.0195]
Historical Sequence 50% 1,000 -0.0519 [-0.0540, -0.0499] -0.0549 [-0.0570, -0.0528] -0.0456 [-0.0477, -0.0436]
Historical Edge 25% 1,000 0.0269 [0.0252, 0.0286] 0.0250 [0.0231, 0.0269] 0.0285 [0.0264, 0.0306]
Historical Edge 50% 1,000 0.0386 [0.0370, 0.0402] 0.0301 [0.0284, 0.0318] 0.0567 [0.0543, 0.0590]
Historical Combined 25% 1,000 0.0084 [0.0066, 0.0101] 0.0087 [0.0068, 0.0107] 0.0059 [0.0037, 0.0081]
Historical Combined 50% 1,000 0.0113 [0.0095, 0.0132] 0.0098 [0.0080, 0.0116] 0.0145 [0.0118, 0.0171]
Frozen partitions Clean 100 +0.0050 [0.0038, 0.0061] +0.0051 [0.0035, 0.0066] +0.0044 [0.0035, 0.0054]
Frozen partitions Clean 1,000 +0.0057 [0.0043, 0.0071] +0.0051 [0.0034, 0.0069] +0.0045 [0.0029, 0.0061]
Frozen partitions Sequence 25% 100 -0.0130 [-0.0143, -0.0118] -0.0156 [-0.0173, -0.0139] -0.0067 [-0.0078, -0.0055]
Frozen partitions Sequence 25% 1,000 -0.0159 [-0.0175, -0.0144] -0.0172 [-0.0191, -0.0153] -0.0151 [-0.0168, -0.0134]
Frozen partitions Sequence 50% 100 -0.0348 [-0.0364, -0.0331] -0.0432 [-0.0453, -0.0410] -0.0154 [-0.0168, -0.0140]
Frozen partitions Sequence 50% 1,000 -0.0469 [-0.0488, -0.0449] -0.0504 [-0.0527, -0.0481] -0.0410 [-0.0431, -0.0388]
Frozen partitions Edge 25% 100 +0.0263 [0.0248, 0.0279] +0.0305 [0.0285, 0.0325] +0.0159 [0.0145, 0.0174]
Frozen partitions Edge 25% 1,000 +0.0293 [0.0276, 0.0310] +0.0278 [0.0258, 0.0298] +0.0307 [0.0285, 0.0330]
Frozen partitions Edge 50% 100 +0.0491 [0.0474, 0.0509] +0.0509 [0.0486, 0.0531] +0.0392 [0.0373, 0.0412]
Frozen partitions Edge 50% 1,000 +0.0386 [0.0369, 0.0403] +0.0311 [0.0293, 0.0329] +0.0558 [0.0532, 0.0582]
Frozen partitions Combined 25% 100 +0.0062 [0.0046, 0.0078] +0.0085 [0.0063, 0.0106] +0.0012 [-0.0004, 0.0028]
Frozen partitions Combined 25% 1,000 +0.0103 [0.0085, 0.0121] +0.0107 [0.0087, 0.0128] +0.0073 [0.0050, 0.0097]
Frozen partitions Combined 50% 100 +0.0109 [0.0087, 0.0129] +0.0135 [0.0110, 0.0160] +0.0028 [0.0005, 0.0050]
Frozen partitions Combined 50% 1,000 +0.0113 [0.0094, 0.0131] +0.0104 [0.0085, 0.0124] +0.0127 [0.0098, 0.0154]
Table 13. Frozen-partition training and readout controls at 1,000 candidates. Five splits × three initializations; raw-user paired differences [pointwise 95% CI]. Both training regimes share the validation selector. Positive values favor corruption training in the first block and fusion in the second. These are within-protocol controls, not independently trained single-view comparisons.
Table 13. Frozen-partition training and readout controls at 1,000 candidates. Five splits × three initializations; raw-user paired differences [pointwise 95% CI]. Both training regimes share the validation selector. Positive values favor corruption training in the first block and fusion in the second. These are within-protocol controls, not independently trained single-view comparisons.
Contrast Condition Δ MRR Δ Recall@1 Δ Recall@10
Corruption minus clean training Clean -0.0136 [-0.0151, -0.0122] -0.0141 [-0.0159, -0.0124] -0.0141 [-0.0158, -0.0124]
Corruption minus clean training Sequence 25% +0.0502 [0.0482, 0.0523] +0.0437 [0.0415, 0.0460] +0.0621 [0.0597, 0.0645]
Corruption minus clean training Sequence 50% +0.0631 [0.0610, 0.0653] +0.0485 [0.0461, 0.0508] +0.0926 [0.0898, 0.0953]
Corruption minus clean training Edge 25% +0.1889 [0.1861, 0.1918] +0.1581 [0.1550, 0.1612] +0.2556 [0.2518, 0.2594]
Corruption minus clean training Edge 50% +0.1594 [0.1568, 0.1619] +0.1096 [0.1071, 0.1121] +0.2747 [0.2707, 0.2785]
Corruption minus clean training Combined 25% +0.2000 [0.1971, 0.2028] +0.1612 [0.1582, 0.1642] +0.2841 [0.2804, 0.2879]
Corruption minus clean training Combined 50% +0.1516 [0.1492, 0.1541] +0.0993 [0.0970, 0.1017] +0.2689 [0.2652, 0.2727]
Fusion minus co-trained graph Clean +0.0317 [0.0303, 0.0331] +0.0318 [0.0300, 0.0335] +0.0297 [0.0280, 0.0314]
Fusion minus co-trained graph Sequence 25% +0.0101 [0.0086, 0.0116] +0.0095 [0.0076, 0.0114] +0.0100 [0.0084, 0.0117]
Fusion minus co-trained graph Sequence 50% -0.0209 [-0.0229, -0.0189] -0.0237 [-0.0260, -0.0214] -0.0158 [-0.0180, -0.0137]
Fusion minus co-trained graph Edge 25% +0.0424 [0.0409, 0.0439] +0.0390 [0.0372, 0.0408] +0.0476 [0.0456, 0.0497]
Fusion minus co-trained graph Edge 50% +0.0408 [0.0394, 0.0422] +0.0321 [0.0306, 0.0336] +0.0598 [0.0576, 0.0621]
Fusion minus co-trained graph Combined 25% +0.0234 [0.0218, 0.0250] +0.0220 [0.0201, 0.0238] +0.0243 [0.0221, 0.0265]
Fusion minus co-trained graph Combined 50% +0.0135 [0.0118, 0.0152] +0.0114 [0.0097, 0.0132] +0.0167 [0.0141, 0.0193]
Table 14. Fixed-pair full-corpus retrieval: one historical or three frozen partitions, three initializations and 1,000 fixed query users per partition. Method cells are MRR. Historical marginal intervals and paired differences are conditional on one split; frozen rows use pooled raw-user estimates. Differences include pointwise 95% intervals. A dash denotes an undisplayed contrast, not zero. Historical and frozen populations are not paired.
Table 14. Fixed-pair full-corpus retrieval: one historical or three frozen partitions, three initializations and 1,000 fixed query users per partition. Method cells are MRR. Historical marginal intervals and paired differences are conditional on one split; frozen rows use pooled raw-user estimates. Differences include pointwise 95% intervals. A dash denotes an undisplayed contrast, not zero. Historical and frozen populations are not paired.
Protocol Condition Gated MRR SR-GNN MRR Transition MRR Page MRR Gated − SR-GNN Gated − page
Historical, full corpus Clean 0.3645 [0.3389, 0.3904] 0.3771 [0.3513, 0.4039] Not reported 0.0916 [0.0766, 0.1076] -0.0127 [-0.0238, -0.0021] 0.2728 [0.2487, 0.2967]
Historical, full corpus Edge 50% 0.0677 [0.0572, 0.0787] 0.0484 [0.0397, 0.0577] Not reported 0.0916 [0.0766, 0.1076] 0.0193 [0.0125, 0.0263] -0.0240 [-0.0407, -0.0076]
Historical, full corpus Combined 50% 0.0597 [0.0501, 0.0700] 0.0484 [0.0397, 0.0577] Not reported 0.0916 [0.0766, 0.1076] 0.0114 [0.0040, 0.0186] -0.0319 [-0.0486, -0.0161]
Frozen, full corpus Clean 0.3647 0.3629 0.3933 0.0961 +0.0018 [-0.0042, 0.0077] —
Frozen, full corpus Edge 50% 0.0580 0.0412 0.0150 0.0961 +0.0167 [0.0131, 0.0205] —
Frozen, full corpus Both 50% 0.0506 0.0412 0.0150 0.0961 +0.0093 [0.0054, 0.0132] —
Table 15. Training-budget MRR. Original: five partitions; historical gated: one; frozen gated: three new partitions; three initializations each. Original edge-only budgets were not part of this comparison (dash). The 4,000-user models are reused reference fits. Fixed query sets and weighting remain protocol-specific.
Table 15. Training-budget MRR. Original: five partitions; historical gated: one; frozen gated: three new partitions; three initializations each. Original edge-only budgets were not part of this comparison (dash). The 4,000-user models are reused reference fits. Fixed query sets and weighting remain protocol-specific.
Protocol Candidates Users Clean Edge 50% Combined 50%
Original 100 500 0.6744 — 0.2649
Original 1,000 500 0.4333 — 0.0789
Original 100 1,000 0.7190 — 0.3174
Original 1,000 1,000 0.4927 — 0.1032
Original 100 2,000 0.7644 — 0.3879
Original 1,000 2,000 0.5489 — 0.1406
Original 100 4,000 0.8069 — 0.4570
Original 1,000 4,000 0.6059 — 0.1845
Gated: historical 1,000 500 0.4648 0.1235 0.1231
Gated: historical 1,000 1000 0.5077 0.1531 0.1524
Gated: historical 1,000 2000 0.5753 0.2112 0.2053
Gated: historical 1,000 4000 0.6225 0.2794 0.2533
Gated: frozen 1,000 500 0.4436 0.1244 0.1232
Gated: frozen 1,000 1,000 0.5029 0.1578 0.1545
Gated: frozen 1,000 2,000 0.5634 0.1986 0.1915
Gated: frozen 1,000 4,000 0.6161 0.2631 0.2283
Table 16. Measured CPU costs. Parameters are stored / gradient-connected counts. Encoding is ms/session; training is seconds; time values are mean ± SD over three timing repeats. Peak RSS is MiB for the encoding process, including parsed data and runtime, not model-only memory. Batch sizes are 1 and 256.
Table 16. Measured CPU costs. Parameters are stored / gradient-connected counts. Encoding is ms/session; training is seconds; time values are mean ± SD over three timing repeats. Peak RSS is MiB for the encoding process, including parsed data and runtime, not model-only memory. Batch sizes are 1 and 256.
Encoder Parameters Encode B=1 Encode B=256 Train/epoch Train/8 epochs Peak RSS
Independent sequence 22,400 / 22,400 0.30093 ± 0.00668 0.11261 ± 0.00133 2.9419 ± 0.0415 23.5352 ± 0.3320 551.7
Independent graph 30,048 / 30,048 0.15228 ± 0.00034 0.07400 ± 0.00005 1.6423 ± 0.0146 13.1388 ± 0.1167 551.8
Original fusion 63,428 / 52,448 0.40156 ± 0.00135 0.14088 ± 0.00465 3.4401 ± 0.0385 27.5209 ± 0.3078 552.1
Gated multi-view 83,488 / 83,488 0.44771 ± 0.00193 0.13989 ± 0.00034 3.9425 ± 0.0056 31.5397 ± 0.0451 554.5
Tuned SASRec-style 80,352 / 80,352 0.34077 ± 0.00208 0.13221 ± 0.00036 5.3796 ± 0.0141 43.0368 ± 0.1124 552.3
SR-GNN-style 61,088 / 61,088 0.21937 ± 0.00370 0.09415 ± 0.00172 2.1556 ± 0.0033 17.2446 ± 0.0262 553.3
Table 17. Resident-bank query time in ms/query (mean ± SD): 32 fixed query rows, three passes, four CPU threads. All operations include bank scoring; full sort uses stable source-order ties. Bank rows are not eligible candidate counts: at 29,028 rows the query is masked but other same-user rows are not filtered.
Table 17. Resident-bank query time in ms/query (mean ± SD): 32 fixed query rows, three passes, four CPU threads. All operations include bank scoring; full sort uses stable source-order ties. Bank rows are not eligible candidate counts: at 29,028 rows the query is masked but other same-user rows are not filtered.
Representation Dimensions Bank rows Target rank Top-10 Full sort
Neural fusion 32 1,000 0.00786 ± 0.00030 0.00583 ± 0.00036 0.03432 ± 0.00350
Neural fusion 32 29,028 0.06821 ± 0.00144 0.08202 ± 0.00138 1.45567 ± 0.04063
Page counts 27 1,000 0.00804 ± 0.00045 0.00602 ± 0.00022 0.03273 ± 0.00194
Page counts 27 29,028 0.07113 ± 0.00226 0.08379 ± 0.00265 1.28525 ± 0.00896
Directed transitions 313 1,000 0.00896 ± 0.00009 0.00658 ± 0.00028 0.03124 ± 0.00208
Directed transitions 313 29,028 0.26831 ± 0.00482 0.27791 ± 0.00553 1.35229 ± 0.01939
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.
Copyright: This open access article is published under a Creative Commons CC BY 4.0 license, which permit the free download, distribution, and reuse, provided that the author and preprint are cited in any reuse.