{"id":13676393,"url":"https://github.com/ferencberes/online-node2vec","last_synced_at":"2025-04-29T07:32:06.194Z","repository":{"id":44088487,"uuid":"149097316","full_name":"ferencberes/online-node2vec","owner":"ferencberes","description":"Node Embeddings in Dynamic Graphs","archived":false,"fork":false,"pushed_at":"2022-01-12T09:09:28.000Z","size":2974,"stargazers_count":56,"open_issues_count":0,"forks_count":11,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-21T21:03:21.868Z","etag":null,"topics":["embeddings","network-embedding","representation-learning","research","temporal-networks","twitter-data","twitter-data-analysis","twitter-dataset"],"latest_commit_sha":null,"homepage":"https://appliednetsci.springeropen.com/articles/10.1007/s41109-019-0169-5","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ferencberes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-09-17T09:00:12.000Z","updated_at":"2025-02-10T02:20:32.000Z","dependencies_parsed_at":"2022-07-28T23:18:46.212Z","dependency_job_id":null,"html_url":"https://github.com/ferencberes/online-node2vec","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ferencberes%2Fonline-node2vec","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ferencberes%2Fonline-node2vec/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ferencberes%2Fonline-node2vec/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ferencberes%2Fonline-node2vec/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ferencberes","download_url":"https://codeload.github.com/ferencberes/online-node2vec/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251455887,"owners_count":21592256,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["embeddings","network-embedding","representation-learning","research","temporal-networks","twitter-data","twitter-data-analysis","twitter-dataset"],"created_at":"2024-08-02T13:00:25.043Z","updated_at":"2025-04-29T07:32:05.698Z","avatar_url":"https://github.com/ferencberes.png","language":"Jupyter Notebook","funding_links":[],"categories":["Jupyter Notebook"],"sub_categories":[],"readme":"Online Node2Vec\n===============\n\n![build](https://github.com/ferencberes/online-node2vec/actions/workflows/main.yml/badge.svg)\n[![codecov](https://codecov.io/gh/ferencberes/online-node2vec/branch/master/graph/badge.svg?token=H6RRUKXQRF)](https://codecov.io/gh/ferencberes/online-node2vec)\n![PyPI - Python Version](https://img.shields.io/badge/python-3.6%20|%203.7%20|%203.8%20|%203.9-blue.svg)\n[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/ferencberes/online-node2vec/HEAD?filepath=ipython%2FOnlineNodeEmbeddings.ipynb)\n\nThis repository contains the code related to the research of [Ferenc Béres](https://github.com/ferencberes), [Róbert Pálovics](https://github.com/rpalovics), [Domokos Miklós Kelen](https://github.com/proto-n) and [András A. Benczúr](https://mi.nemzetilabor.hu/people/andras-benczur).\n\n# Introduction\n\nWe propose two online node embedding models (StreamWalk and online second order similarity) for temporally evolving networks. Two nodes are required to be mapped close in the vector space whenever they lie on short paths formed by recent edges in the first model, and whenever the set of their recent neighbors is similar in the second model.\n\nPlease cite our [paper](https://appliednetsci.springeropen.com/articles/10.1007/s41109-019-0169-5) if you use our work:\n\n```\n@Article{Béres2019,\nauthor=\"B{\\'e}res, Ferenc\nand Kelen, Domokos M.\nand P{\\'a}lovics, R{\\'o}bert\nand Bencz{\\'u}r, Andr{\\'a}s A.\",\ntitle=\"Node embeddings in dynamic graphs\",\njournal=\"Applied Network Science\",\nyear=\"2019\",\nvolume=\"4\",\nnumber=\"64\",\npages=\"25\",\n}\n```\n\nI presented a former version of our work at the 7th International Conference on Complex Networks and Their Applications that is availabe on this [branch](https://github.com/ferencberes/online-node2vec/tree/complex_networks_2018).\n\n# Data\n\n**US Open 2017 (UO17)** and **Roland-Garros 2017 (RG17)** Twitter datasets were published in our [previous work](https://link.springer.com/article/10.1007/s41109-018-0080-5) for the first time. Please cite this article if you use our data sets in your research:\n\n```\n@Article{Béres2018,\nauthor=\"B{\\'e}res, Ferenc\nand P{\\'a}lovics, R{\\'o}bert\nand Ol{\\'a}h, Anna\nand Bencz{\\'u}r, Andr{\\'a}s A.\",\ntitle=\"Temporal walk based centrality metric for graph streams\",\njournal=\"Applied Network Science\",\nyear=\"2018\",\nvolume=\"3\",\nnumber=\"32\",\npages=\"26\",\n}\n```\n\nThese Twitter datasets are available on the [website](https://dms.sztaki.hu/~fberes/tennis/) of our research group. In order to process the data you need to install the [twittertennis](https://github.com/ferencberes/twittertennis) Python package. It will automatically [download and prepare](scripts/preprocess_data.py) the datasets for you.\n\n# Install\n\n```bash\npip install online-node2vec\n```\n\n# Usage\n\nAfter installing every requirement execute the following script to run both node representation learning and evaluation for the similarity search task.\n\n```bash\ncd scripts\nbash run.sh\n```\n\nThe major steps in our pipeline are:\n   * [Download and preprocess](scripts/preprocess_data.py) data\n   * Learning [StreamWalk](scripts/streamwalk_runner.py) representations\n   * Learning [Second order similarity](scripts/second_order_runner.py) representations\n   * [Evaluate](scripts/evaluate.py) node embeddings for the similarity search supervised experiment\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fferencberes%2Fonline-node2vec","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fferencberes%2Fonline-node2vec","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fferencberes%2Fonline-node2vec/lists"}