Welcome to the GNN-based Fake News Detection Challenge! This competition focuses on detecting fake news propagation on Twitter using Graph Neural Networks (GNNs). The task is based on the User Preference-aware Fake News Detection (UPFD) framework. Live Leaderboard
Participants are asked to improve the baseline GNN model by including user profile features in addition to existing text embeddings.
Open-GNN-Mini-Competition/
├── data/
│ ├── gossipcop
│ ├── metadata
│ ├──
│ ├──
│ ├──
│ └──
├── submissions/
│ └── sample_submission.csv
├── models/
│ ├── saved_model.model
│ └──
├── scoring_script.py
├── dataloader.py
├── evaluate.py
├── leaderboard.html
├── leaderboard.json
├── model.py
├── test.py
├── train.py
├── requirements.txt
├── README.md
└── LICENSE
We use the GossipCop and Politifact datasets, which contain Twitter news propagation graphs. Each graph represents a news article as the root node, and the users who retweeted the news as child nodes. You can download the data from this link : https://drive.google.com/drive/folders/1OslTX91kLEYIi2WBnwuFtXsVz5SS_XeR
- Text embeddings of the news (root node) and historical tweets of users
- Pretrained spaCy word2vec (300-dim) or BERT embeddings (768-dim)
- Task extension: include user profile features (10-dim):
- Account age
- Verified status
- Number of followers/friends
- Number of tweets
- Geolocation enabled
- Description length
- etc.
0: Real news1: Fake news
Task: Classify each news propagation graph as real or fake.
- Baseline: Uses only text embeddings of the news and historical tweets of users.
- Challenge: Improve the baseline by including user profile features in the final node embeddings.
The baseline GNN is implemented in model.py. It supports:
- Graph Convolutional Network (GCN)
- Graph Attention Network (GAT)
- GraphSAGE
Features used in baseline:
- Text embeddings of news and historical user tweets
Features to add for challenge: - User profile features (10-dimensional)
git clone https://github.com/TugaAhmed/Open-GNN-Mini-Competition-.git
cd gnn-challengepip install -r requirements.txt- Fork the repo and add your submission CSV under submissions/
- Create a pull request
- GitHub Actions will automatically run scoring_script.py to evaluate your submission and update the leaderboard