thunlp / KB2E

Knowledge Graph Embeddings including TransE, TransH, TransR and PTransE
MIT License
1.4k stars 450 forks source link

what's the difference between text.txt and e1_e2.txt in entity prediction task? #65

Closed ShellingFord221 closed 5 years ago

ShellingFord221 commented 6 years ago

As the title, I want to predict head/tail entity in test triples by pTransE (not just TransE). In PCRA.py, after reading train.txt, the program also reads text.txt and e1_e2.txt, so what's the difference between text.txt and e1_e2.txt? Aren't they describing the same data?

ShellingFord221 commented 6 years ago

In my opinion, one reason may be that train.txt and test.txt actually are the whole set of FB15K/WN18 triples, so the program should read them both. Then e1_e2.txt are actually the test set for entity prediction task in pTransE. But there is no relation mentioned in e1_e2.txt, how do you know corresponding relations?

Mrlyk423 commented 6 years ago

Test.txt is the whole set of fact triples of FB15K/WN18, and e1_e2.txt are entities candidates generates by TransE for entity prediction. As mentioned in the paper, for the task of entity prediction, we use PTransE to re-rank the top-500 entity candidates. And e1_e2.txt is further fed into PCRA.py to obtain the relational paths between two entities.