CrossMNA icon indicating copy to clipboard operation
CrossMNA copied to clipboard

CrossMNA

This repo contains the source code and datasets of WWW' 19 paper: Cross-Network Embedding for Multi-Network Alignment.

Datasets

There are three datasets: ArXiv, SacchCere, and Twitter. The raw data can be found here.

Two multi-network tasks in our work: multi-network alignment and link prediction.

To split the dataset into training set and test set for network alignment, you can use the method split_dataset() in node_matching/split_data.py. This will generate a special input data format for CrossMNA. You can use transfer() to transforms this data format to the input format as in method IONE.

To split dataset for link prediction:

>> python link_prediction/split_data.py

Run

To train CrossMNA for network alignment, where p denotes the training ratio:

>> python main.py --task NetworkAlignment --dataset xxx --p xx

To generate multi-network embedding for intra-link prediction:

>> python main.py --task LinkPrediction --dataset xxx --p xx

Dependencies

  • Python == 2.7
  • Tensorflow >= 1.4

Cite

If this code is helpful for you, please cite this paper: Xiaokai Chu, Xinxin Fan, Di Yao, Zhihua Zhu, Jianhui Huang, Jing- ping Bi. Cross-Network Embedding for Multi-Network Alignment. In Proceedings of the 2019 World Wide Web Conference (WWW ’19).