We reproduce several ANE (Attributed Network Embedding) methods as well as PNE (Pure Network Embedding) methods in **one unified framework**, where they all share the same I/O, downstream tasks, etc. We start this project based on [OpenNE](https://github.com/thunlp/OpenNE) which mainly integrates PNE methods in one unified framework.
<br> OpenANE not only integrates those PNE methods that consider pure structural information, but also provides the state-of-the-art ANE methods that consider both structural and attribute information during embedding.
In many real-world scenarios, a network often comes with node attributes such as paper metadata in a citation network, user profiles in a social network, and even node degrees in any pure networks. Unfortunately, PNE methods cannot make use of attribute information that may further improve the quality of node embeddings.
<br> From engineering perspective, by offering more APIs to handle attribute information in graph.py and utils.py, OpenANE shall be easy to use for embedding an attributed network. Except attributed networks, OpenANE can also deal with pure networks by calling PNE methods, or by assigning node degrees as node attributes and then calling ANE methods. Therefore, to some extent, ANE methods can be regarded as the generalization of PNE methods.
For more details of each method, please have a look at our paper https://arxiv.org/abs/1811.11728. And if you find ABRW (namely RoSANE in the paper) or this framework is useful for your research, please consider citing it.
*We take the average of six runs. During embedding phase, 10% links are removed. During downstream phase, the removed 10% links and the equal number of non-existing links are used for LP testing; and 30% of labels are used for NC testing.
We highly welcome and appreciate your contribution in fixing bugs, reproducing new ANE methods, etc. Please use the *pull requests* and your contribution will automatically appear in this project once accepted. We will add you to authors list, if your contribution is significant to this project.