Heterogeneous Graph-based Framework with Disentangled Representations Learning for Multi-target Cross Domain Recommendation

Xiaopeng Liu NetEase Media Technology (Bei**g) Co.,Ltd.Bei**gChina [email protected] Juan Zhang NetEase Media Technology (Bei**g) Co.,Ltd.Bei**gChina [email protected] Chongqi Ren NetEase Media Technology (Bei**g) Co.,Ltd.Bei**gChina [email protected] Shenghui Xu NetEase Media Technology (Bei**g) Co.,Ltd.Bei**gChina [email protected] Zhaoming Pan NetEase Media Technology (Bei**g) Co.,Ltd.Bei**gChina [email protected]  and  Zhimin Zhang NetEase Media Technology (Bei**g) Co.,Ltd.Bei**gChina [email protected]
(2018)
Abstract.

CDR (Cross-Domain Recommendation), i.e., leveraging information from multiple domains, is a critical solution to data sparsity problem in recommendation system. The majority of previous re search either focused on single-target CDR (STCDR) by utilizing data from the source domains to improve the model’s performance on the target domain, or applied dual-target CDR (DTCDR) by integrating data from the source and target domains. In addition, multi-target CDR (MTCDR) is a generalization of DTCDR, which is able to capture the link among different domains. In this paper we present HGDR (Heterogeneous Graph-based Framework with Disentangled Representations Learning), an end-to-end heterogeneous network architecture where graph convolutional layers are applied to model relations among different domains, meanwhile utilizes the idea of disentangling representation for domain-shared and domain-specifc information. First, a shared heterogeneous graph is generated by gathering users and items from several domains without any further side information. Second, we use HGDR to compute disentangled representations for users and items in all domains.Experiments on real-world datasets and online A/BAB\mathrm{A}/\mathrm{B}roman_A / roman_B tests prove that our proposed model can transmit information among domains effectively and reach the SOTA performance.

Multi-target Cross Domain Recommendation, Heterogeneous Graph Convolution, Disentangled Representations Learning
copyright: acmlicensedjournalyear: 2018doi: XXXXXXX.XXXXXXXconference: Make sure to enter the correct conference title from your rights confirmation emai; 2023; Austin,Texasisbn: 978-1-4503-XXXX-X/18/06ccs: Information systems Recommender systems

1 INTRODUCTION

Recommender systems are playing more and more important roles in online personalized services. As an important tool to understand user intentions, recommender systems focus on discovering the most relevant information for their consumers to increase user engagement and reduce the time spent searching for it. However, even through they can capture different latent relationships between users and items, they are still suffering from the sparsity issue.

Recently, Cross-Domain Recommendation (CDR) (ref12, ) is a potential strategy to mitigate the sparsity issue. It integrates large amounts of data from one domain to another to improve recommendation performance. Previous research on Single-target CDR (STCDR) and Dual-target CDR (DTCDR) is relatively sufficient, but there is lack of attention on the Multi-target CDR (MTCDR), a generalization of DTCDR whose purpose is to improve recommendation performance of multiple domains. MTCDR faces a lot of challenges in the real-world recommendation system, including model complexity and difficulty of improvement on multiple domains.

In recent related research, graph neural networks (GNNs) have shown great potential in the field of recommendation algorithms (ref15, ). Unlike traditional deep models, GNNs can model non-Euclidean data with a variable number of neighbours. In the field of recommendation algorithms, we are generally dealing with heterogeneous graphs with several types of nodes and edges. For example, in an ecommerce scenario, nodes can be ”items”, ”shops”, ”users” and edge types can be ”click”, ”favorite”. Relationship Graph Convolutional Network (RGCN) (ref11, ) is the first GNN model to consider heterogeneity, modelling the heterogeneity of edges through edgetypespecific transformation.

In this paper, we represent users and items from different domains as nodes of different types in the graph, and their interactions as edges of different types in the global graph if the user interacts with the item in different domains. Without side information, we use the IDs of the nodes as the only input. Different from previous GNN based models, our proposed model utilizes the idea of disentangling the domain-shared and domain-specifc information, which has been proved to be an efficient way to transfer information across different domains. This study makes the following major contributions: (1) We propose a new graph convolutional layer designed for MTCDR, which aggregates neighbor nodes while considering types of relationship and nodes’ domains; (2) We design an efficient way to learn disentangled representations for domain-shared and domain-specifc information for users and items in different domains; (3) Experiments on the real-world datasets show that our proposed model achieves significantly better performance than other state-of-the-art models and online A/B tests further prove that our proposed model achieves better performance than many online models.

2 RELATED WORK

2.1 Cross Domain Recommendation

The main feature of cross-domain recommendation is that it can be used to capture user preferences in certain areas by analyzing information about their interactions in other domains. This can then be used to enrich the data in the target domain. There are two types of cross-domain recommendations: (1) Asymmetric Approach: it uses data in the source domain to address data sparsity in the target domain, specifically by applying knowledge learned in the source domain or some pattern directly to the target domain acting as prior knowledge. (2) Symmetric Approach: it assumes that both the source and target domains have a data sparsity issue and they are treated equally. Typically this approach learns a map** function between the domains that makes a clear distinction between factors that are unique to each domains and factors that are shared between domains. Many different kinds of cross-domain recommendation methods have been proposed, including DTCDR (Dual-Target CrossDomain Recommendation) (ref18, ), EMCDR (Embedding and Map** Cross-Domain Recommendation) (ref7, ), CoNet(Collaborative Cross Networks) (ref4, ), HeroGRAPH (ref9, ) etc.

2.2 Graph neural networks for recommendation

There is only one type of node and edge in the homogeneous graph, so all nodes share the same model parameters and have the same dimensional feature space when building a graph neural network In contrast, there can be more than one type of node and edge in a heterogeneous graph, allowing different types of nodes to have different dimensions of features or attributes. Common recommen dation system data consists of information about the interactions between users and items. The graph is a heterogeneous graph since user nodes may contain personal information such as the user’s age and occupation, while item nodes contain item-specific information such as content and price. Many different kinds of models with graph neural networks have been proposed, including GCMC (Graph Convolutional Matrix Completion) (ref1, ), ACKRec (Attention Concept Knowledge Recommendation) (ref14, ), GHCF (Graph Heterogeneous Collaborative Filtering) (ref6, ), etc.

2.3 Disentangled Representation Learning

Disentangled representation learning focuses on factorizing the latent factors from data, which achieves great success in many areas such as computer vision. Disentangled representation learning in recommendation is unexplored until recently, several models have been proposed, including DICE (Disentangling Interest and Conformity with Causal Embedding) (ref17, ), CLSR (Contrastive learning framework to disentangle Long and Short-term interests for Rec ommendation) (ref16, ), DisenCDR (Disentangled Representations for Cross-Domain Recommendation) (ref5, ), etc. DisenCDR utilizes two mutual-information-based regularizers to disentangle the domainshared and domain-specifc information, which inspired our present graph-based method.

3 METHODOLOGY

In this section, firstly we formalize the multi-target cross-domain recommendation issue by introducing one heterogeneous graph.
Then we propose our novel heterogeneous graph network HGDR (Heterogeneous Graph-based Framework with Disentangled Representations Learning). Finally, we describe how to use BPR loss function to train our proposed model.

3.1 Preliminary Concepts and Notations

Let U𝑈Uitalic_U and I𝐼Iitalic_I stand for user and item sets, D𝐷Ditalic_D stands for the domain set and domain d𝑑ditalic_d is represented by the subscript d𝑑ditalic_d. We only use the user ID, item ID, and their interactions to build one global heterogeneous graph. We define the interaction as edges that connect users and items. Since our data is modeled on a heterogeneous graph, our edges also have different types. For example, for edges between one user and items from different domains, ”user - click - music” and ”user - click - movie” are two types of edges, similarily, ”user - click - music” and ”music - click - by - user” are different types of edges.

3.2 Model Structure

HGDR consists of two main parts, firstly a map** layer structure that generates embedding based on node IDs, and a newly proposed disentangled convolutional structure including domain-specific graph convolution and domain-shared graph convolution, which is used to learn disentangled representations for nodes in different domains. The final output for a node is the integration of the outputs of the above two graph convolution structures. The overall structure of our proposed model is depicted on Figure 1.

Refer to caption
Figure 1. Our proposed HGDR framework

3.2.1 Map** Layer. We generate embeddings for each user and item in one common semantic context. We only have IDs for users and items from different domains because there is no side information, thus we can assign an embedding for each ID, which is represented as ( eu,ei,ej,)\left.e_{u},e_{i},e_{j},\ldots\right)italic_e start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT , italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_e start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT , … ), where eusubscript𝑒𝑢e_{u}italic_e start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT represents the embedding for user entities and ei,ejsubscript𝑒𝑖subscript𝑒𝑗e_{i},e_{j}italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT , italic_e start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT represents embeddings for item entities. We follow the general scenario that users are shared in all domains, while each item belongs to only one domain.

3.2.2 Disentangled Convolutional Layer. After obtaining embeddings for users and items according to their IDs, we use one heterogeneous graph to connect users and items from different domains. Inspired by RGCN and DisenCDR, we design the following domainspecific graph convolution operation and domain-shared graph convolution operation to learn disentangled representations for nodes in different domains.

  • domain-specific graph convolution:

In order to model different user preferences of different domains and mitigate the transferring of useless information among different domains, for each node in domian d𝑑ditalic_d, the domain-specific graph convolution operation aggregates information of neighbours in the same domain. More specifically, for user u𝑢uitalic_u, the domain-specific representation of (l+1)𝑙1(l+1)( italic_l + 1 ) th layer is get by:

(1) hudl+1=Relu(hudlWdUUl+iNudhidlWdIUl)superscriptsubscriptsubscript𝑢𝑑𝑙1Relusuperscriptsubscriptsubscript𝑢𝑑𝑙superscriptsubscript𝑊subscript𝑑𝑈𝑈𝑙subscript𝑖superscriptsubscript𝑁𝑢𝑑superscriptsubscriptsubscript𝑖𝑑𝑙superscriptsubscript𝑊subscript𝑑𝐼𝑈𝑙h_{u_{d}}^{l+1}=\operatorname{Relu}\left(h_{u_{d}}^{l}W_{d_{UU}}^{l}+\sum_{i% \in N_{u}^{d}}h_{i_{d}}^{l}W_{d_{IU}}^{l}\right)italic_h start_POSTSUBSCRIPT italic_u start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_l + 1 end_POSTSUPERSCRIPT = roman_Relu ( italic_h start_POSTSUBSCRIPT italic_u start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT italic_W start_POSTSUBSCRIPT italic_d start_POSTSUBSCRIPT italic_U italic_U end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT + ∑ start_POSTSUBSCRIPT italic_i ∈ italic_N start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT end_POSTSUBSCRIPT italic_h start_POSTSUBSCRIPT italic_i start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT italic_W start_POSTSUBSCRIPT italic_d start_POSTSUBSCRIPT italic_I italic_U end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT )

and for item i𝑖iitalic_i

(2) hidl+1=Relu(hidlWdIIl+uNidhudlWdUIl)superscriptsubscriptsubscript𝑖𝑑𝑙1Relusuperscriptsubscriptsubscript𝑖𝑑𝑙superscriptsubscript𝑊subscript𝑑𝐼𝐼𝑙subscript𝑢superscriptsubscript𝑁𝑖𝑑superscriptsubscriptsubscript𝑢𝑑𝑙superscriptsubscript𝑊subscript𝑑𝑈𝐼𝑙h_{i_{d}}^{l+1}=\operatorname{Relu}\left(h_{i_{d}}^{l}W_{d_{II}}^{l}+\sum_{u% \in N_{i}^{d}}h_{u_{d}}^{l}W_{d_{UI}}^{l}\right)italic_h start_POSTSUBSCRIPT italic_i start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_l + 1 end_POSTSUPERSCRIPT = roman_Relu ( italic_h start_POSTSUBSCRIPT italic_i start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT italic_W start_POSTSUBSCRIPT italic_d start_POSTSUBSCRIPT italic_I italic_I end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT + ∑ start_POSTSUBSCRIPT italic_u ∈ italic_N start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT end_POSTSUBSCRIPT italic_h start_POSTSUBSCRIPT italic_u start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT italic_W start_POSTSUBSCRIPT italic_d start_POSTSUBSCRIPT italic_U italic_I end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT )

where Wd()lsuperscriptsubscript𝑊subscript𝑑𝑙W_{d_{(\cdot)}}^{l}italic_W start_POSTSUBSCRIPT italic_d start_POSTSUBSCRIPT ( ⋅ ) end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT represents the learnable feature transform matrix for different relations, here we consider four different types including ”user to user”(UU), ”item to user”(IU), ”item to item”(II) and ”item to user”(IU), Nudsuperscriptsubscript𝑁𝑢𝑑N_{u}^{d}italic_N start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT and Nidsuperscriptsubscript𝑁𝑖𝑑N_{i}^{d}italic_N start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT represents the neighbourhood nodes of user and item in domain d,hud0=eu,hid0=eiformulae-sequence𝑑superscriptsubscriptsubscript𝑢𝑑0subscript𝑒𝑢superscriptsubscriptsubscript𝑖𝑑0subscript𝑒𝑖d,h_{u_{d}}^{0}=e_{u},h_{i_{d}}^{0}=e_{i}italic_d , italic_h start_POSTSUBSCRIPT italic_u start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT = italic_e start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT , italic_h start_POSTSUBSCRIPT italic_i start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT = italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT, and Relu represents the activation function;

  • domain-shared graph convolution:

In order to get valuable information for transfering among different domains, we design the domain-shared graph convolution operation to aggregate information of neighbours in all domains. More specifically, for user u𝑢uitalic_u, the domain-shared representation of (l+1)𝑙1(l+1)( italic_l + 1 ) th layer is get by:

(3) gul+1=Relu(gulWsUUl+dDiNudgilWdIUl)superscriptsubscript𝑔𝑢𝑙1Relusuperscriptsubscript𝑔𝑢𝑙superscriptsubscript𝑊𝑠𝑈𝑈𝑙subscript𝑑𝐷subscript𝑖superscriptsubscript𝑁𝑢𝑑superscriptsubscript𝑔𝑖𝑙superscriptsubscript𝑊subscript𝑑𝐼𝑈𝑙g_{u}^{l+1}=\operatorname{Relu}\left(g_{u}^{l}W_{sUU}^{l}+\sum_{d\in D}\sum_{i% \in N_{u}^{d}}g_{i}^{l}W_{d_{IU}}^{l}\right)italic_g start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_l + 1 end_POSTSUPERSCRIPT = roman_Relu ( italic_g start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT italic_W start_POSTSUBSCRIPT italic_s italic_U italic_U end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT + ∑ start_POSTSUBSCRIPT italic_d ∈ italic_D end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_i ∈ italic_N start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT end_POSTSUBSCRIPT italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT italic_W start_POSTSUBSCRIPT italic_d start_POSTSUBSCRIPT italic_I italic_U end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT )

and for item i𝑖iitalic_i :

(4) gil+1=Relu(gilWsIIl+dDuNidgulWdUIl)superscriptsubscript𝑔𝑖𝑙1Relusuperscriptsubscript𝑔𝑖𝑙superscriptsubscript𝑊subscript𝑠𝐼𝐼𝑙subscript𝑑𝐷subscript𝑢superscriptsubscript𝑁𝑖𝑑superscriptsubscript𝑔𝑢𝑙superscriptsubscript𝑊𝑑𝑈𝐼𝑙g_{i}^{l+1}=\operatorname{Relu}\left(g_{i}^{l}W_{s_{II}}^{l}+\sum_{d\in D}\sum% _{u\in N_{i}^{d}}g_{u}^{l}W_{dUI}^{l}\right)italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_l + 1 end_POSTSUPERSCRIPT = roman_Relu ( italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT italic_W start_POSTSUBSCRIPT italic_s start_POSTSUBSCRIPT italic_I italic_I end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT + ∑ start_POSTSUBSCRIPT italic_d ∈ italic_D end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_u ∈ italic_N start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT end_POSTSUBSCRIPT italic_g start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT italic_W start_POSTSUBSCRIPT italic_d italic_U italic_I end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT )

where Ws(.)lW_{s_{(.)}}^{l}italic_W start_POSTSUBSCRIPT italic_s start_POSTSUBSCRIPT ( . ) end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_l end_POSTSUPERSCRIPT represents the learnable feature transform matrix for shared graph convolution, gu0=eu,gi0=eiformulae-sequencesuperscriptsubscript𝑔𝑢0subscript𝑒𝑢superscriptsubscript𝑔𝑖0subscript𝑒𝑖g_{u}^{0}=e_{u},g_{i}^{0}=e_{i}italic_g start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT = italic_e start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT , italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT 0 end_POSTSUPERSCRIPT = italic_e start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT. It is worthwhile to notice that many attention-based graph convolution operations such as GAT (Graph Attention Network) can be directly applied in our proposed models.

3.2.3 Output Layer. The final representation of each node is integrated by the domain-specific representation and domain-shared representation:

(5) oud=(hudL+guL)WdO,oid=(hidL+giL)formulae-sequencesuperscriptsubscript𝑜𝑢𝑑superscriptsubscriptsubscript𝑢𝑑𝐿superscriptsubscript𝑔𝑢𝐿superscriptsubscript𝑊𝑑𝑂superscriptsubscript𝑜𝑖𝑑superscriptsubscriptsubscript𝑖𝑑𝐿superscriptsubscript𝑔𝑖𝐿o_{u}^{d}=\left(h_{u_{d}}^{L}+g_{u}^{L}\right)W_{d}^{O},\quad o_{i}^{d}=\left(% h_{i_{d}}^{L}+g_{i}^{L}\right)italic_o start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = ( italic_h start_POSTSUBSCRIPT italic_u start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_L end_POSTSUPERSCRIPT + italic_g start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_L end_POSTSUPERSCRIPT ) italic_W start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_O end_POSTSUPERSCRIPT , italic_o start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = ( italic_h start_POSTSUBSCRIPT italic_i start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_L end_POSTSUPERSCRIPT + italic_g start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_L end_POSTSUPERSCRIPT )

where L𝐿Litalic_L is the last convolutional layer and WdOsuperscriptsubscript𝑊𝑑𝑂W_{d}^{O}italic_W start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_O end_POSTSUPERSCRIPT is learnable output transform parameters for users.

3.3 Training and Optimization Process

In this subsection, we calculate the user preference and train the model. The positive user preference is calculated based on the matrix factorization:

(6) xuid=oudoidsuperscriptsubscript𝑥𝑢𝑖𝑑superscriptsubscript𝑜𝑢𝑑superscriptsubscript𝑜𝑖𝑑x_{ui}^{d}=o_{u}^{d}o_{i}^{d}italic_x start_POSTSUBSCRIPT italic_u italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = italic_o start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT italic_o start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT

Then we apply the widely-used pair-wise Bayesian Personalized Ranking (BPR) to train the model:

(7) luijd=lnσ(xuidxujd)superscriptsubscript𝑙𝑢𝑖𝑗𝑑𝜎superscriptsubscript𝑥𝑢𝑖𝑑superscriptsubscript𝑥𝑢𝑗𝑑l_{uij}^{d}=-\ln\sigma\left(x_{ui}^{d}-x_{uj}^{d}\right)italic_l start_POSTSUBSCRIPT italic_u italic_i italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = - roman_ln italic_σ ( italic_x start_POSTSUBSCRIPT italic_u italic_i end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT - italic_x start_POSTSUBSCRIPT italic_u italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT )

where xujd=oudojdsuperscriptsubscript𝑥𝑢𝑗𝑑superscriptsubscript𝑜𝑢𝑑superscriptsubscript𝑜𝑗𝑑x_{uj}^{d}=o_{u}^{d}o_{j}^{d}italic_x start_POSTSUBSCRIPT italic_u italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT = italic_o start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT italic_o start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT is negative preference based on negative feedback pair (ud,jd)subscript𝑢𝑑subscript𝑗𝑑\left(u_{d},j_{d}\right)( italic_u start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT , italic_j start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT ). Finally the loss function for domain d𝑑ditalic_d is:

(8) θd=argmin𝜃uluijd+λθθ2superscriptsubscript𝜃𝑑𝜃argminsubscript𝑢superscriptsubscript𝑙𝑢𝑖𝑗𝑑subscript𝜆𝜃superscriptnorm𝜃2\theta_{d}^{*}=\underset{\theta}{\operatorname{argmin}}\sum_{u}l_{uij}^{d}+% \lambda_{\theta}\|\theta\|^{2}italic_θ start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT = underitalic_θ start_ARG roman_argmin end_ARG ∑ start_POSTSUBSCRIPT italic_u end_POSTSUBSCRIPT italic_l start_POSTSUBSCRIPT italic_u italic_i italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_d end_POSTSUPERSCRIPT + italic_λ start_POSTSUBSCRIPT italic_θ end_POSTSUBSCRIPT ∥ italic_θ ∥ start_POSTSUPERSCRIPT 2 end_POSTSUPERSCRIPT

The total loss is the sum of each domain’s loss: θ=dDβdθdsuperscript𝜃subscript𝑑𝐷subscript𝛽𝑑superscriptsubscript𝜃𝑑\theta^{*}=\sum_{d\in D}\beta_{d}\theta_{d}^{*}italic_θ start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT = ∑ start_POSTSUBSCRIPT italic_d ∈ italic_D end_POSTSUBSCRIPT italic_β start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT italic_θ start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT start_POSTSUPERSCRIPT ∗ end_POSTSUPERSCRIPT, where βdsubscript𝛽𝑑\beta_{d}italic_β start_POSTSUBSCRIPT italic_d end_POSTSUBSCRIPT are hyper-parameters set according to the data size of each domain, all parameters are updated by Adam (ref2, ) with default values.

4 EXPERIMENTS

PyTorch (ref8, ) and the DGL (ref13, ) are used to implement our proposed model. The model has two disentangled convolutional layers and the embedding dimension is 128 .

4.1 Datasets and Evaluation Protocols

Datasets: Generally we follow experiment settings in GA-DTCDR (ref3, ). Two experiments are carried out using the Douban dataset, and our industrial dataset which is collected from three recommendation scenarios of our APP in one day. Table 1 shows the statistics of the two datasets.

Table 1. Statistics of the two datasets
Dataset Douban
Domain Book Music Movie
# Users 2110 1672 2712
# Items 6777 5567 34893
# Interactions 96041 69709 1278401
sparsity (%) 0.67 0.75 1.35
Dataset Our App
Domain Scenario A Scenario B Scenario C
# Users 88491 77609 172076
# Items 193521 211236 114550
# Interactions 2417083 1361152 696868
sparsity (%) 0.0141 0.0083 0.0035

Evaluation Protocols: For each test user, we choose the latest interaction with a test item as the test interaction and randomly sample 99 unobserved interactions for the test user, and then rank the test item among the 100 items. HR@10 (Hit Rate) and NDCG@10 (Normalized Discounted Cumulative Gain) are used as the performance metrics.

4.2 Benchmarks

We choose several methods to compare the proposed model:

(1) MF (Matrix Factorization) (ref10, ): MF is one powerful single domain recommendation method, which uses implicit feedback from users to rank items by the maximum posterior probability obtained from a Bayesian analysis of the problem.

(2) DDTCDR (Dual-Target Cross-Domain Recommendation) (ref18, ): DDTCDR is an effective cross-domain recommendation framework based on multi-task learning. Given two domains containing user and item ratings, textual information, etc., the model investigates the goal of recommending more accurate items to users in both domains simultaneously.

(3) GA-DTCDR (Graphical and Attentional framework for Dual-Target Cross-Domain Recommendation) (ref3, ): GA-DTCDR is a unified framework for dual-target CDR and multi-target CDR based on Graph embedding and Attention techniques, in which the element-wise attention mechanism and the personalized training strategy are used to improve accuracy and avoid negative transfer

(4) RGCN (Relational Graph Convolutional Network) (ref11, ) RGCN is the first paper in graph neural network field that considers edge difference. It utilizes different propagation layers for different types of edge to capture edge information, which are naturally suited for cross-domain recommendation.

4.3 Results

We first compare our method with prior SOTA methods in the two experiments. The results are shown in Table 2. The results show that our proposed model achieves the best performance among all methods.

Table 2. Performance Comparison
Experiment Exp. 1 (Douban)
Domain Book Music Movie
Metric HR(%) / NDCG(%)
MF 0.577/0.3510.5770.3510.577/0.3510.577 / 0.351 0.330/0.1970.3300.1970.330/0.1970.330 / 0.197 0.404/0.2450.4040.2450.404/0.2450.404 / 0.245
DDTCDR 0.586/0.3580.5860.3580.586/0.3580.586 / 0.358 0.352/0.2110.3520.2110.352/0.2110.352 / 0.211 0.422/0.2430.4220.2430.422/0.2430.422 / 0.243
RGCN 0.697/0.4380.6970.4380.697/0.4380.697 / 0.438 0.420/0.2350.4200.2350.420/0.2350.420 / 0.235 0.474/0.2870.4740.2870.474/0.2870.474 / 0.287
GA-DTCDR 0.695/0.4410.6950.4410.695/0.4410.695 / 0.441 0.449/0.2600.4490.2600.449/0.2600.449 / 0.260 0.499/0.3090.4990.3090.499/0.3090.499 / 0.309
HGDR(Our) 0.712/0.4480.7120.448\textbf{0.712}/\textbf{0.448}0.712 / 0.448 0.483/0.2810.4830.281\textbf{0.483}/\textbf{0.281}0.483 / 0.281 0.550/0.3460.5500.346\textbf{0.550}/\textbf{0.346}0.550 / 0.346
Experiment Exp. 2 (Our App)
Domain Scenario A Scenario B Scenario C
Metric HR(%) / NDCG(%)
MFMF\mathrm{MF}roman_MF 0.577/0.4110.5770.4110.577/0.4110.577 / 0.411 0.591/0.4330.5910.4330.591/0.4330.591 / 0.433 0.322/0.2030.3220.2030.322/0.2030.322 / 0.203
RGCNRGCN\mathrm{RGCN}roman_RGCN 0.697/0.5130.6970.5130.697/0.5130.697 / 0.513 0.665/0.5030.6650.5030.665/0.5030.665 / 0.503 0.751/0.6130.7510.6130.751/0.6130.751 / 0.613
HGDR(Our) 0.721/0.5340.7210.534\textbf{0.721}/\textbf{0.534}0.721 / 0.534 0.692/0.5290.6920.529\textbf{0.692}/\textbf{0.529}0.692 / 0.529 0.775/0.6290.7750.629\textbf{0.775}/\textbf{0.629}0.775 / 0.629

4.4 Online Evaluation

To verify the effectiveness of HGDR in real-world scenarios, we conduct an online A/BAB\mathrm{A}/\mathrm{B}roman_A / roman_B test on our online recommendation system of Our APP. Precisely, we deploy HGDR and several competitive baselines in the matching module of a cross-domain sceniaro, with the ranking module unchanged. In online evaluation, we focus on three online metrics in the target domain: (1) CTR, (2) average user duration (seconds), and (3) coverage ratio for users. We conduct the A/B test for 5 days, and results are shown in Table 3

Table 3. Online A/B tests on Our App
CTR(%) Duration(s) Coverage Ratio(%)
MF 6.12 85.69 32.28
RGCN 7.48 90.78 32.31
HGDR(Our) 8.35 94.78 34.1

5 CONCLUSIONS AND FUTURE WORK

In this work, we propose a novel heterogeneous graph based framework with disentangled representations learning structure, which is used for learning domain-shared and domain-specifc information for cross-domain recommendation. Experiments on the real-world datasets prove that our proposed model achieves much better performance than other state-of-the-art models, and online A/B tests further prove that our proposed model achieves better performance than many online models. In the future, we will explore the possibility of further improving our models with users’ or items’ side information. Furthermore, we will try to utilize multi-modal information as input to improve our model performance in the field of cross domain recommendation.

References

  • (1) Rianne van den Berg, Thomas N Kipf, and Max Welling. 2017. Graph convolutional matrix completion. arXiv preprint arXiv:1706.02263 (2017).
  • (2) Kingma Diederik and Ba Jimmy. 2015. Adam: A Method for Stochastic Optimization. In International Conference for Learning Representations.
  • (3) Zhu Feng, Wang Yan, Zhou Jun, Chen Chaochao, Li Longfei, and Liu Guanfeng 2021. A Unified Framework for Cross-Domain and Cross-System Recommenda tions. In IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING.
  • (4) Guangneng Hu, Yu Zhang, and Qiang Yang. 2018. Conet: Collaborative cross networks for cross-domain recommendation. In Proceedings of the 27th ACM international conference on information and knowledge management. 667-676.
  • (5) Cao Jiangxia, Lin Xixun, Cong Xin, Ya **g, Liu Tingwen, and Wang Bin. 2022 DisenCDR: Learning Disentangled Representations for Cross-Domain Recom mendation. In SIGIR.
  • (6) Zekun Li, Yujia Zheng, Shu Wu, Xiaoyu Zhang, and Liang Wang. 2020. Heterogeneous graph collaborative filtering. arXiv preprint arXiv:2011.06807 (2020).
  • (7) Tong Man, Huawei Shen, ** approach.. In IFCAI, Vol. 17. 24642470
  • (8) Adam Paszke, Sam Gross, Francisco Massa, Adam Lerer, James Bradbury, Gre gory Chanan, Trevor Killeen, Zeming Lin, Natalia Gimelshein, Luca Antiga, Alban Desmaison, Andreas Kopf, Edward Yang, Zachary DeVito, Martin Rai son, Alykhan Tejani, Sasank Chilamkurthy, Benoit Steiner, Lu Fang, Junjie Bai, and Soumith Chintala. 2019. PyTorch: An Imperative Style, High-Performance Deep Learning Library. In Advances in Neural Information Processing Systems 32, H. Wallach, H. Larochelle, A. Beygelzimer, F. d’Alché-Buc, E. Fox, and R. Garnet (Eds.). Curran Associates, Inc., 8024-8035. http://papers.neurips.cc/paper/9015 pytorch-an-imperative-style-high-performance-deep-learning-library.pdf
  • (9) Cui Qiang, Wei Tao, Zhang Yafeng, and Zhang Qing. 2020. HeroGRAPH: A Het erogeneous Graph Framework for Multi-Target Cross-Domain Recommendation In ACM RecSys.
  • (10) Steffen Rendle, Christoph Freudenthaler, Zeno Gantner, and Lars Schmidt Thieme. 2012. BPR: Bayesian personalized ranking from implicit feedback. arXiv preprint arXiv:1205.2618 (2012).
  • (11) Michael Schlichtkrull, Thomas N Kipf, Peter Bloem, Rianne van den Berg, Ivan Titov, and Max Welling. 2018. Modeling relational data with graph convolutiona networks. In European semantic web conference. Springer, 593-607.
  • (12) Jie Tang, Sen Wu, Jimeng Sun, and Hang Su. 2012. Cross-domain collaboration recommendation. In Proceedings of the 18th ACM SIGKDD international conference on Knowledge discovery and data mining. 1285-1293.
  • (13) Minjie Wang, Da Zheng, Zihao Ye, Quan Gan, Mufei Li, Xiang Song, ****g Zhou, Chao Ma, Lingfan Yu, Yu Gai, Tianjun Xiao, Tong He, George Karypis, **yang Li, and Zheng Zhang. 2019. Deep Graph Library: A Graph-Centric, HighlyPerformant Package for Graph Neural Networks. arXiv preprint arXiv:1909.01315 (2019).
  • (14) Xiang Wang, Xiangnan He, Yixin Cao, Meng Liu, and Tat-Seng Chua. 2019. Kgat: Knowledge graph attention network for recommendation. In Proceedings of the 25th ACM SIGKDD international conference on knowledge discovery & data mining. 950958950958950-958950 - 958.
  • (15) Kaige Yang and Laura Toni. 2018. Graph-based recommendation system. In 2018 IEEE Global Conference on Signal and Information Processing (GlobalSIP). IEEE, 798802798802798-802798 - 802.
  • (16) Zheng Yu, Gao Chen, Chang Jianxin, Niu Yanan, Song Yang, ** Depeng, and L Yong. 2022. Disentangling Long and Short-Term Interests for Recommendation. In International World Wide Web Conference Committee.
  • (17) Zheng Yu, Gao Chen, Li Xiang, He Xiangnan, ** Depeng, and Li Yong. 2021. Disentangling User Interest and Conformity for Recommendation with Causal Embedding. In International World Wide Web Conference Committee.
  • (18) Feng Zhu, Chaochao Chen, Yan Wang, Guanfeng Liu, and Xiaolin Zheng. 2019. Dtcdr: A framework for dual-target cross-domain recommendation. In Proceedings of the 28th ACM International Conference on Information and Knowledge Management. 1533-1542.