snap-stanford / neural-subgraph-learning-GNN

340 stars 64 forks source link

Reproducing the results in the Neural Subgraph Matching paper #22

Open DexterZeng opened 3 years ago

DexterZeng commented 3 years ago

Hi, thanks for sharing the code! It has been really useful! By following the instruction and using the default settings, I can successfully obtain the results (AUROC at 0.716 on synthetic data and AUROC at 0.886 on FIRSTMMDB). I guess this is corresponding to the results in Table 1, right? If so, I have the following questions:

  1. How to obtain the results in Table 2? I guess alignment.py could be helpful. However, it cannot be directly used to generate the results in Table 2, or am I missing some codes? For instance, I wonder how to generate the inputs, i.e., pickle files of the query and target graphs used in the experiment (for producing Table 2)?
  2. Why are the results much inferior to those reported in the paper? (I guess it might be due to the lack of the implementations of curriculum learning and voting as mentioned in other repos)
  3. What is the clf_model used for? In the paper, it seems that a threshold is used to convert the violation to the binary prediction.

Also, I wonder how the node anchoring works in DiskDataSource class. It can be seen from line 310 that the anchor node is set to the first node of the graph node list. This node, however, might not even exist in a or b, which are sampled from g. I guess the anchor should be set to a[0]?

I am still trying to make sense of the codes and might wrongly understand some places. Thanks for your time and I am looking for your response.