Closed Ckeai closed 2 years ago
Actually, I also use inverse relationship in test set and verification set (please check line 162 and 194 model.py). I score a fact (s,r,o) by summing f(s,r,o) and f(o,r^{-1},s) for training, and valuation. It can be regarded as a data augmentation trick.
Thank you for your reply, for second question, I don't think I made it clear. I mean that filter setting from 98 lines to 110 lines in Dataset.py. facts_pool = [self.training_facts,self.validation_facts,self.test_facts]
, each fact in facts pool do not contain inverse relationship. I would appreciate it if you could answer my questions.
Thank you for your reply, for second question, I don't think I made it clear. I mean that filter setting from 98 lines to 110 lines in Dataset.py.
facts_pool = [self.training_facts,self.validation_facts,self.test_facts]
, each fact in facts pool do not contain inverse relationship. I would appreciate it if you could answer my questions.
We do not need filter facts invovling inverse relationships. For each testing fact (s,r,o), we score it by summing f(s,r,o) and f(o,r^{-1},s). For each fact (s,r,o') or (s',r,o) needed to be filtered, we also socre it by summing f(s',r,o)+ f(o,r-1,s') or f(s,r,o')+ f(o',r-1,s). In this way, we take inverse relationship into consideration in the filtered setting for evaluation
Thank you for your patience. I already understand. Wish you a happy life!:smile:
Thank you very much for sharing. I have some questions.