This repository contains the code for the implementation of the paper titled NeXLink: Node Embedding Framework for Cross-Network Linkages Across Social Networks by Kaushal et al. published at NetSci-X 2020.
The raw graph dataset can be found in /data/raw
directory.
The project uses Python 3 dependencies explicitly, for processing and training. All the code is run on JupyterLab computational environment and Anaconda is used as a package manager as well as a virtual environment manager.
All the dependencies are exported in the environment.yml
file. Make a new environment using:
$ conda env create -f environment.yml
- Start by running a Jupyter Lab using
$ jupyter lab
. experiments
directory containsconstruct-graph.ipynb
to read the raw dataset and create graph edgelists. Useconstruct-nodepairs.ipynb
to create nodepairs from the graph edgelists. SimilarlyIONE-dataset.ipynb
processes the real world dataset.- Change the directory to
embeddings/OpenNE/src/
and executerun-augmented.sh
to extract node embeddings on the augmented dataset andrun-ione.sh
for the real world dataset. We generate the embeddings using OpenNE open source toolkit. - Once the embeddings are generated, go back to
experiments
and runscript-retrieval.sh
to get results on the augmented dataset andscript-retrieval-ione.sh
for the real world dataset. - The results should output in a directory
results
in the root folder as CSV files.
If you found this code or our paper useful, please consider citing the following paper:
@inproceedings{kaushal2020nexlink,
title={NeXLink: Node Embedding Framework for Cross-Network Linkages Across Social Networks},
author={
Kaushal, Rishabh and
Singh, Shubham and
Kumaraguru, Ponnurangam
},
booktitle={International Conference on Network Science},
pages={61--75},
year={2020},
organization={Springer}
}