Disentangled Graph Collaborative Filtering

Code address: https://github.com/xiangwang1223/disentangled_graph_collaborative_filtering

Background:

Existing models largely model the user-item relationship in a unified way (the model is regarded as a black box, historical interactions are used as input, and Embedding is used as output.), which ignores the diversity of user intentions (users see A video may be for killing time, liking the actors in it, etc.) resulting in suboptimal representation. This paper proposes to divide embedding into multiple parts, each part expresses an intention independently, and each part is independent of each other to realize the decoupling of intentions.

Example: Suppose the length of Embedding is N, the number of intentions is K, and the length of each part after division is \frac{N}{K}, that is 

u = ( itent_1, itent_2, ..., itent_N),  |itent_i|\frac{N}{K}. Item i is also divided in the same way:

i = ((i_1,i_2,\cdot \cdot \cdot \cdot \cdot \cdot ,i_n)

PRELIMINARY

1. This paper constructs multiple intent-aware maps, G = \{G_1,G_2,\cdot \cdot \cdot \cdot \cdot \cdot G_K\}, where  G_K =  \{u,i,A_k(u,i)\}, u,i

Indicates that there has been an interaction between ui, A_k(u,i) indicating that the interaction between user u and item i is due to the score of intent k. It is not difficult to see that the intent-aware graph is a weighted graph

2. The itent-aware graph is not a subgraph of the user-item interaction bipartite graph. The graph structure of the two is the same, but the representation of the user is and the representation itent_kof the item is i_k

3. There are multiple intentions in the interaction between the user and the item, constituting the intention distribution :  A(u,i) =(A_1(u,i),A_2(u,i), \cdot \cdot \cdot \cdot \cdot \cdot ,A_K(u,i)), A_K(u,i)indicating that the interaction between user u and item i is due to the confidence level of intention k, and the overall representation of the interaction between user u and item i is due to the degree of confidence of each intention.

 4. In this paper, the adjacency matrix is ​​used A_kto store and represent the graph-aware graph (weighted graph) Graph_{\_k}. element  A_k(u,i) = x, which represents the confidence level x of user u interacting with item i because of intent k.

METHODOLOGY (this paper focuses on two iterative update methods)

initialization:

Initialize the embedding vectors of users u and i as random numbers . A_kThe position where the ui has been interacted with is initialized to 1 (assuming that the user intention distribution is the same at the beginning), and the initialized matrix is ​​recorded as S_k, as shown in the lower part of the above figure.

Update mechanism:

This paper adopts an iterative update mechanism, whether it is feature update or intent-aware map update, it is repeated T times, the purpose is to make the result closer to reality. In the following  t\ \epsilon \ (1,2,\cdot \cdot \cdot \cdot ,T), the intent-aware map and the intent-aware representation are updated alternately T times (although both are updated iteratively, the main purpose is to obtain a better intent-aware representation, or it can be said that the purpose of updating the intent-aware map is to obtain A more authentic level of confidence in user intent, delivering more effective information when messaging.). 

Intent-aware feature update

        Execute GNN for T times, first perform first-order neighbor message aggregation, and iterate T times to obtain e_{ku}^{(1)}, and then perform message aggregation on 2...L-hop neighbors, the method remains unchanged, and gete_{ku}^{(2)}\cdot \cdot \cdot \cdot \cdot \cdot e_{ku}^{(L)}

 \iota_k^t(u,i): It can be understood as attention. The interaction between u and i is because the greater the confidence of the intention k, the more features are extracted from the item on k.

\tilde{S_k^t}(u,i): As mentioned above, the interaction between the user and the item may be due to multiple intentions, and the distribution of the intention of the user and the item interaction is: A(u,i) =(A_1(u,i),A_2(u,i), \cdot \cdot \cdot \cdot \cdot \cdot ,A_K(u,i)), where normalization is performed for each intention.

Intent-aware map update

Use intent-aware features to update the intent-aware map.

layer aggregation

 

 The feature representation of the obtained 0...L layer message aggregation is made into SUM as the user's final feature representation.

Independence Modeling

In this paper, the user feature representation is divided into multiple intents, each intent is independent, and the intent disentanglement is realized. In order to make each intent independent of each other, this paper introduces a distance correlation loss:

Guess you like

Origin blog.csdn.net/qq_42018521/article/details/130182494