Surveys of Recommendation System and Streaming Data

How does Graph Neural Network interact with these topics?

Jimmy Yeh
3 min readApr 9, 2021

Recommender System

Graph Neural Networks in Recommender Systems: A Survey, arxiv 2020

For e-commerce and social media platforms, a recommender system is important. Motivation for GNN on RS: (1) RS data is essentially graphs:
Relevant information includes social relationships, bipartite user-item interaction graphs, item transitions, which can all be represented well as a graph structure. (2) GNN is good on graphs.

General Recommendation

static preference. model user-item compatibility by implicit (click) or explicit (rating)

Can utilize side knowledge:

  • social network → influence modeling (friends); preference integration (user-item; social)
  • knowledge graph → graph simplification (kg too complicate); multi-relation propagation; user integration

Sequential Recommendation

Transition pattern for next item recommendation.

The sequential recommendation assumes the most recent click = dynamic preference → uses Markov chain to model.

User implicit/explicit feedback on items as bipartite graph connectivity matrix of m users ×n items.

Can be enhanced with social networks.

Future directions

  • Efficient GNNs for Heterogeneous Graphs
  • Multi-graph Information Integration
  • Scalability
  • Consider time for sequential recommendations

Streaming Data

Foundations and modeling of dynamic networks
using Dynamic Graph Neural Networks: A survey, arxiv 2020

  • There has been little focus on graph neural networks for dynamic networks.
  • Not concerning spatial-temporal graphs (only feature change, no structure change)
  • Many names: dynamic networks, temporal networks, evolutionary networks, or time-varying networks.
    (Streaming data??)
  • Encoder-Decoder framework.
    Section II: dynamic network; Section III: a survey on encoders; Section IV: for prediction — decoder, loss, metrics.

Section II: dynamic network

Add start and end time to every node and edge of graph
G = (V, E) = ({(v, t_s, t_e)}; {u, v, t_s, t_e})
## edge existence time should be constraint by node existence time

—[A] Dynamic Network Representation —

Static Graph → Edge weighted: label edge by active time
Discrete: marked by discrete time intervals, e.g. snapshots
Continous: the most complex

Discrete Representation — DG = {(G^1, G^2, G^3… … G^T)}

Continous Representations —
(i) event-based: focused on link/edge duration

EB = {(u_i, v_i, t_i, Δ_i); i = 1,2,3…}

(ii) contact sequence: link duration is short or unimportant

CS = {(u_i, v_i, t_i); i = 1,2,3…}

(iii) graph stream: used to circumvent hardware limit?

GS = {(u_i , v_i , t_i , δ_i); i=1,2,3…}, δ_i=add (1), or remove (-1)

###the most general G = (V, E) = ({(v, t_s, t_e)}; {u, v, t_s, t_e}) not discussed??

—[B] Link duration spectrum —

E.g. email (instant) < proximity (of person) < employment network < internet < citation (static)

— [C] Node dynamic —

Stacie; Dynamic (special case: Growing)

8 cases categorized by temporal granularity, node situation, link situation.

Machine learning for streaming data: state of the art, challenges, and opportunities, SIGKDD newsletter 2019

Machine learning works for supervised classifying streaming: changes in the data distribution over time, i.e. concept drift.

Not much work on semi-supervised, unsupervised learning

Adversarial Attack

A Survey of Adversarial Learning on Graph, arxiv 2020

--

--