Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
✓DOI references
Found 15 DOI reference(s) in README -
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.1%) to scientific vocabulary
Keywords
Repository
Signed Whole Graph Embeddings
Basic Info
Statistics
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
- Releases: 3
Topics
Metadata Files
README.md
SWGE
Signed Whole-Graph Embedding methods
- Copyright 2020-2024 Noé Cécillon et al.
SWGE is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation. For source availability and license information see licence.txt
- Lab site: http://lia.univ-avignon.fr/
- GitHub repo: https://github.com/CompNet/SWGE
- Data: https://doi.org/10.5281/zenodo.13851361
- Contact: Noé Cécillon noe.cecillon@alumni.univ-avignon.fr, Vincent Labatut vincent.labatut@univ-avignon.fr
If you use this source code or the associated dataset, please cite reference [CLDA'24]:
bibtex
@Article{Cecillon2023,
author = {Cécillon, Noé and Labatut, Vincent and Dufour, Richard and Arınık, Nejat},
title = {Whole-Graph Representation Learning For the Classification of Signed Networks},
journal = {IEEE Access},
year = {2024},
volume = {12},
pages = {151303-151316},
doi = {10.1109/ACCESS.2024.3472474},
}
Description
This set of scripts primarily implements the two signed whole graph embedding methods presented in our paper [CLDA'24]: SG2V (Signed Graph2vec) and WSGCN (Whole Signed Graph Convolutional Networks). It can be used to:
* Learn the representations of whole signed graphs.
* Perform classification tasks based on the embeddings extracted with our method.
In addition, these scripts reproduce the experiments described in our paper [CLDA'24]. In particular, they compare the performance of our method with three alternatives from the literature:
* SiNE [WTAC'17]: this method handles signed graphs, but only to represent individual vertices, and not the whole graph.
* Graph2vec [NCVC'17]: this method handle whole-graphs, but only for unsigned graphs.
* SGCN [DMT'18]: as for SiNE, this method handles signed graphs, but only to represent individual vertices, and not the whole graph.
Data
The scripts are meant to be applied to a corpus of three datasets constituted of signed networks annotated for graph classification. Because of GitHub's file size limit, we include only a few graphs from each dataset in the data folder. The full datasets can be downloaded from Zenodo. Place the downloaded graphs directly into the corresponding folders in data.
Organization
This repository is composed of the following elements:
* Folder data: input signed networks.
* Folder out: files produced by the scripts.
* Folder SG2V: implementation of our signed version of the Graph2vec method.
* Folder SGCN: implementation of the standard Signed Graph Convolutional Network method, taken from repository SGCN.
* Folder SiNE: implementation of the standard Signed Network Embeddings method.
* Folder WSGCN: implementation of our whole-graph variant of the SGCN method.
* File requirements.txt: list of Python packages used by the scripts.
* The main scripts are:
* main.py: learns the graph representations.
* evaluation.py: Performs the classification task.
Installation
- Install
Python(tested withPythonv3.6.9) - Install dependencies using the following command:
pip install -r requirements.txt - Retrieve the data from Zenodo and place them into the
datafolder (as nexplained in section Data).
How to use
In order to learn Graph2Vec-based representations, run the file SG2V.py. You can configure the model_type between the 3 versions proposed in our paper: g2v, sg2vn or sg2vsb. To learn representations SGCN-based representations, run the file run_sgcn.py. These scripts will export the learned representations into the out folder.
After running the previous scripts, you can perform the classification by running evaluation.py. You can configure the path_emb and path_label variables to change the dataset used. The main.py file can be used to run all the experiment with a single script.
References
- [CLDA'24] N. Cécillon, V. Labatut, R. Dufour, N. Arınık: Whole-Graph Representation Learning For the Classification of Signed Networks, IEEE Access 12:151303-151316, 2024. DOI: 10.1109/ACCESS.2024.3472474 ⟨hal-04712854⟩
- [NCVC'17] A. Narayanan, M. Chandramohan, R. Venkatesan, L. Chen, Y. Liu, and S. Jaiswal: graph2vec: Learning distributed representations of graphs, International Workshop on Mining and Learning with Graphs, 2017. URL: [http://www.mlgworkshop.org/2017/paper/MLG2017paper21.pdf]
- [DMT'18] T. Derr, Y. Ma, and J. Tang: Signed graph convolutional network, 18th International Conference on Data Mining, 2018, p.929-934. DOI: 10.1109/ICDM.2018.00113.
- [WTAC'17] S. Wang, J. Tang, C. Aggarwal, Y. Chang, and H. Liu. Signed network embedding in social media. 17th SIAM International Conference on Data Mining, 2017, p.327-335. DOI: 10.1137/1.9781611974973.37.
Owner
- Name: Complex Networks
- Login: CompNet
- Kind: organization
- Location: Avignon, France
- Website: http://lia.univ-avignon.fr
- Repositories: 44
- Profile: https://github.com/CompNet
GitHub Events
Total
- Release event: 1
- Watch event: 1
- Push event: 4
- Create event: 1
Last Year
- Release event: 1
- Watch event: 1
- Push event: 4
- Create event: 1
Dependencies
- Pillow ==8.4.0
- cached-property ==1.5.2
- certifi ==2023.5.7
- charset-normalizer ==2.0.12
- cycler ==0.11.0
- dataclasses ==0.8
- decorator ==5.1.1
- future ==0.18.3
- googledrivedownloader ==0.4
- h5py ==3.1.0
- idna ==3.4
- isodate ==0.6.1
- kiwisolver ==1.3.1
- matplotlib ==3.3.4
- networkx ==2.4
- numpy ==1.19.5
- pandas ==0.23.4
- pkg_resources ==0.0.0
- plyfile ==0.8
- pyparsing ==3.0.9
- python-dateutil ==2.8.2
- pytz ==2023.3
- rdflib ==5.0.0
- requests ==2.27.1
- scikit-learn ==0.20.0
- scipy ==1.1.0
- six ==1.16.0
- texttable ==1.5.0
- torch ==1.10.1
- torch-cluster ==1.5.9
- torch-geometric ==1.3.2
- torch-scatter ==2.0.9
- torch-sparse ==0.6.12
- torchvision ==0.11.2
- tqdm ==4.28.1
- typing_extensions ==4.1.1
- urllib3 ==1.26.15