성균관대학교 소프트웨어학과 16학번 류호준 졸업작품입니다. 아래는 원본 repo의 README 입니다.
WtaGraph is a web tracking and advertising detection framework based on Graph Neural Networks (GNNs). The basic idea behind WtaGraph is that we construct a graph that represents HTTP network traffic and formulate web tracking and advertising detection as a task of edge classification in the graph. For more details, please refer to our full paper. Feel free to contact Zhiju Yang if you run into any problem running WtaGraph.
We shared our dataset (including two prebuilt graphs, node and edge features, and edge labels) on Zenodo.
Please download the dataset and put them in the subfolders of data
folder as indicated by those files ending with .placeholder
.
data
folder: contains feature data and graph datagnn
folder: contains the code of ourWTA-GNN
for training and evaultiongraph
folder: contains the code for loading graph and corresponding feature dataoutput
fodler: model output. Note: we put two pre-trained model in this foldermain.py
: the entrancerequirements.txt
: module version information
Once you have downloaded the dataset and put the files in right folders, you can run the code with python3 main.py YOUR_ARGS_HERE
.
Specfically, there are four functions:
start_train(args)
: where you can train the WTA-GNN model on the given graphstart_train_cv(args)
: where you can train the WTA-GNN model on the given graph with cross-validationeval_saved_model(args)
: where you can evaluate a pre-trained model (saved in theoutput
folder)eval_model_inductive(args)
: where you can evaluate a pre-trained model in the inductive learning setting (check more details in our paper)
Make sure to provide the correct parameters for the args
(check the get_args()
in the main.py
for parameter details), otherwise it will use the default parameters.