DeepGraphLearning / graphvite

GraphVite: A General and High-performance Graph Embedding System
https://graphvite.io
Apache License 2.0
1.23k stars 152 forks source link

modify edge_split for splitting a knowledge graph into train/valid/test for entity prediction #32

Open dchang56 opened 4 years ago

dchang56 commented 4 years ago

Currently, the random split from edge_split() works only for link prediction. Could you modify the split to also work for entity prediction? Thank you!

KiddoZhu commented 4 years ago

Good idea. A small problem is that ensuring the entity set are observed in the splits might not be as scalable as previous stream-style random split. We will discuss on how to implement that.

dchang56 commented 4 years ago

Maybe we could just create a separate test file for entity prediction that's a subset of seen triplets from the original split?

Also, does entity prediction work for the standard datasets for benchmark? And does that mean that the test sets in the benchmark datasets all have seen triplets?

KiddoZhu commented 4 years ago

I just checked entity prediction. It works on FB15k and WN18. So it means their test splits don't have any unobserved entities.

Then we will change edge_split() to satisfy that.

dchang56 commented 4 years ago

Any updates?