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 , that is
u = ( , , ..., ), = . Item i is also divided in the same way:
i = (
PRELIMINARY
1. This paper constructs multiple intent-aware maps, , where = , u,i
Indicates that there has been an interaction between ui, 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 of the item is
3. There are multiple intentions in the interaction between the user and the item, constituting the intention distribution : , 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 to store and represent the graph-aware graph (weighted graph) . element , 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 . The 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 , 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 , 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 , and then perform message aggregation on 2...L-hop neighbors, the method remains unchanged, and get
: 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.
: 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: , 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: