Cross-Domain Recommendation via Contrastive Learning
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing cross-domain sequential recommendation models face challenges in predicting user interests due to sparse and noisy user interaction data, particularly when there are few users whose behaviors overlap between domains, leading to biased recommendations.
Innovation Solution
A contrastive self-supervised learning method is employed for user representation learning, using data augmentation techniques and multi-task learning to create augmented sequences and fine-tune sequence representations for next-value prediction in the target domain, leveraging both overlapping and non-overlapping user interactions across domains.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If existing cross-domain sequential recommendation models use observed user interactions for modeling, then the models can leverage data from other domains to overcome sparsity, but the models heavily rely on modeling users whose behaviors overlap between domains and may often fail if there are very few users whose behaviors cross two domains
Solution Approach 1:
The patent creates synthetic overlapped user sequences by copying and combining real user behavior patterns from source and target domains. When real overlapped users are insufficient, the system generates artificial overlapped users by combining source domain user sequences with target domain item sequences, creating synthetic training data that mimics real cross-domain user behavior patterns.
Solution Approach 2:
The patent introduces an intermediary representation layer that bridges source and target domains. The model learns domain-independent user representations through contrastive learning, where the intermediary space allows for knowledge transfer from source domain to target domain while handling the scarcity of real overlapped users through synthetic data augmentation.
2Quantity of substance
If the model creates faux overlapped users by taking users who have similar histories in one domain and assuming their history in the other domain is the same, then the model can train on more data, but the assumption may not always be valid and could introduce biases
Solution Approach 1:
The patent employs contrastive learning with feedback mechanisms that continuously refine the synthetic user representations. The model receives feedback from actual user interactions in the target domain and adjusts the synthetic overlapped user constructions accordingly, allowing the system to learn from both synthetic training data and real validation data to improve prediction accuracy.
Solution Approach 2:
The patent dynamically adjusts parameters of synthetic user sequence generation based on domain characteristics and user similarity metrics. The system modifies the degree of sequence copying, weighting, and combination based on measured user behavior similarities, allowing flexible adaptation to different domain pairs and user profiles while minimizing bias introduction.
Data Source
AI summary
The technology involves a personalized recommender system that can be used with an e-commerce platform. It employs a contrastive learning based cross-domain recommendation approach. The approach balances the learning of user behaviors within each domain, as well as user behaviors across multiple domains. To achieve robust user representations and to improve knowledge transfer between the source and target domains, multi-task intra-domain contrastive regularizations may be employed along with multiple branches of sequential attentive encoders in a model for cross-domain sequential recommendation. Different data augmentation approaches can be used to generate augmented data for contrastive learning. For instance, different data augmentation methods may be combined with recommendation optimization in a multi-task learning paradigm. An optimized sequence representation may be fine-tuned in a next-value prediction task for recommendation in a target domain.


