diff --git a/README.md b/README.md index b2ecb99..44c2401 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,13 @@ JODIE can be used for two broad category of tasks: 1. **Interaction prediction**: Which two entities will interact next? Example applications are recommender systems and modeling network evolution. 2. **State change prediction**: When does the state of an entity change (e.g., from normal to abnormal)? Example applications are anomaly detection, ban prediction, dropout and churn prediction, and fraud and account compromise. +### Motivation +Temporal interaction networks provide an expressive language to represent time-evolving and dynamic interactions between entities. Representation learning provides a powerful tool to model and reason on networks. However, as networks evolve over time, a single (static) embedding becomes insufficient to represent the changing behavior of the entities and the dynamics of the network. + +![JODIE at work](http://snap.stanford.edu/jodie/jodie-example.png) + +JODIE is a representation learning framework that embeds every entity in a Euclidean space and their evolution is modeled by an embedding trajectory in this space. JODIE learns to project/forecast the embedding trajectories into the future to make predictions about the entities and their interactions. These trajectories can be trained for downstream tasks, such as recommendations and predictions. JODIE is scalable to large networks by employing a novel t-Batch algorithm that creates batches of independent edges that can be processed simulaneously. + If you make use of this code, the JODIE algorithm, the T-batch algorithm, or the datasets in your work, please cite the following paper: ``` @inproceedings{kumar2019predicting, @@ -24,14 +31,6 @@ If you make use of this code, the JODIE algorithm, the T-batch algorithm, or the organization={ACM} } ``` - -### Motivation -Temporal interaction networks provide an expressive language to represent time-evolving and dynamic interactions between entities. Representation learning provides a powerful tool to model and reason on networks. However, as networks evolve over time, a single (static) embedding becomes insufficient to represent the changing behavior of the entities and the dynamics of the network. - -![JODIE at work](http://snap.stanford.edu/jodie/jodie-example.png) - -JODIE is a representation learning framework that embeds every entity in a Euclidean space and their evolution is modeled by an embedding trajectory in this space. JODIE learns to project/forecast the embedding trajectories into the future to make predictions about the entities and their interactions. These trajectories can be trained for downstream tasks, such as recommendations and predictions. JODIE is scalable to large networks by employing a novel t-Batch algorithm that creates batches of independent edges that can be processed simulaneously. - ### Setup and Requirements Recent versions of PyTorch, numpy, sklearn, tqdm, and gpustat. You can install all the required packages using the following command: