Skip to main content

Graph Networks

Item-Item Co-Occurrence Graph​

The item-item co-occurrence graph can be defined as an undirected graph G={V,E}\mathcal{G = \{V, E\}}, where V\mathcal{V} is the node set and E\mathcal{E} is the edge set. Each node in π‘£βˆˆV𝑣 \in \mathcal{V} denotes an item. For user π‘’βˆˆU𝑒 \in \mathcal{U}, if two items 𝑣0𝑣_0 and 𝑣1𝑣_1 co-occur in his historical behavior sequence B𝑒\mathcal{B_𝑒}, then the triplet (𝑣0,𝑣1,𝑀)∈E(𝑣_0, 𝑣_1, 𝑀) \in \mathcal{E}. 𝑀𝑀 denotes the co-occurrence times.

In practice, to construct an item-item co-occurrence graph, we set a sliding window and slide it on behavior sequences of all users. Each pair of items within the window are connected by an undirected edge. The weight of each edge is assigned as the total number of occurrences of the two connected items in all users’ behaviors.

Triangles​

Triangle is an important structure in complex graph analysis in different fields, such as social networks and protein networks. Many existing works in graph theory have mentioned the properties of triangles. For instance, the homophily of triangles indicates the nodes in a triangle are often relatively similar. Triangles are also used to address some of the biases in existing CTR models.

Standard CTR methods are biased towards the similar and popular items in the left figure. Triangle-based methods introduces different triangles as diverse interest units, such as skirts of the same color, store and use in the right figure. source.

In an item-item co-occurrence graph G={V,E}\mathcal{G = \{V, E\}}, for node π‘£βˆˆV𝑣 \in \mathcal{V}, we denote the set of its KK-order (KK>0) neighbor nodes as V𝑣\mathcal{V}_𝑣. For three nodes 𝑣0,𝑣1,Β and 𝑣2∈V𝑣𝑣_0, 𝑣_1,\ \text{and}\ 𝑣_2 \in \mathcal{V}_𝑣, we define the triplet π‘‘π‘Ÿ=(𝑣0,𝑣1,𝑣2)𝑑_π‘Ÿ = (𝑣_0, 𝑣_1, 𝑣_2) as a triangle only if (𝑣0,𝑣1),(𝑣0,𝑣2),and(𝑣1,𝑣2)∈E(𝑣_0, 𝑣_1), (𝑣_0, 𝑣_2), and (𝑣_1, 𝑣_2) \in \mathcal{E}.

The number of triangles can increase exponentially with the number of nodes. Thus, to effectively incorporate triangle structure information, we set 𝐾𝐾 as a relative small number. Moreover, for a target node, since the influence of triangles of different distances is also distinct, we further introduce the definition of k-order triangles. k-Order Triangle: For node π‘£βˆˆV𝑣 \in \mathcal{V}, given a triangle (𝑣0,𝑣1,𝑣2)(𝑣_0, 𝑣_1, 𝑣_2), if the shortest distance from these three nodes to 𝑣 is π‘˜, then we define this triplet as a k-order triangle of 𝑣. Generally speaking, the triangle order π‘˜ is a natural number, which is smaller than the order of the neighborhood 𝐾𝐾.