RuleModel¶
IterE¶
- class neuralkg.model.RuleModel.IterE.IterE(args, train_sampler, test_sampler)[source]¶
- Bases: - neuralkg.model.RuleModel.model.Model- Iteratively Learning Embeddings and Rules for Knowledge Graph Reasoning. (WWW’19) (IterE). - args¶
- Model configuration parameters. 
 - epsilon¶
- Caculate embedding_range. 
 - margin¶
- Caculate embedding_range and loss. 
 - embedding_range¶
- Uniform distribution range. 
 - ent_emb¶
- Entity embedding, shape:[num_ent, emb_dim]. 
 - rel_emb¶
- Relation_embedding, shape:[num_rel, emb_dim]. 
 - update_train_triples(epoch=0, update_per=10)[source]¶
- add the new triples from axioms to training triple 
 - split_embedding(embedding)[source]¶
- split embedding - Parameters
- embedding – embeddings need to be splited, shape:[None, dim]. 
- Returns
- The similrity between two matrices. 
- Return type
- probability 
 
 - sim(head=None, tail=None, arity=None)[source]¶
- calculate the similrity between two matrices - Parameters
- head – embeddings of head, shape:[batch_size, dim]. 
- tail – embeddings of tail, shape:[batch_size, dim] or [1, dim]. 
- arity – 1,2 or 3 
 
- Returns
- The similrity between two matrices. 
- Return type
- probability 
 
 - run_axiom_probability()[source]¶
- this function is used to generate a probality for each axiom in axiom pool 
 - update_valid_axioms(input)[source]¶
- this function is used to select high probability axioms as valid axioms and record their scores 
 - generate_new_train_triples()[source]¶
- The function is to updata new train triples and used after each training epoch end - Returns
- The new training dataset (triples). 
- Return type
- self.train_sampler.train_triples 
 
 - get_rule(rel2id)[source]¶
- Get rule for rule_base KGE models, such as ComplEx_NNE model. Get rule and confidence from _cons.txt file. Update: - (rule_p, rule_q): Rule. confidence: The confidence of rule. 
 - init_emb()[source]¶
- Initialize the entity and relation embeddings in the form of a uniform distribution. 
 - score_func(head_emb, relation_emb, tail_emb, mode)[source]¶
- Calculating the score of triples. - The formula for calculating the score is DistMult. - Parameters
- head_emb – The head entity embedding. 
- relation_emb – The relation embedding. 
- tail_emb – The tail entity embedding. 
- mode – Choose head-predict or tail-predict. 
 
- Returns
- The score of triples. 
- Return type
- score 
 
 - forward(triples, negs=None, mode='single')[source]¶
- The functions used in the training phase - Parameters
- triples – The triples ids, as (h, r, t), shape:[batch_size, 3]. 
- negs – Negative samples, defaults to None. 
- mode – Choose head-predict or tail-predict, Defaults to ‘single’. 
 
- Returns
- The score of triples. 
- Return type
- score 
 
 
RugE¶
- class neuralkg.model.RuleModel.RugE.RugE(args)[source]¶
- Bases: - neuralkg.model.RuleModel.model.Model- Knowledge Graph Embedding with Iterative Guidance from Soft Rules (RugE), which is a novel paradigm of KG embedding with iterative guidance from soft rules. - args¶
- Model configuration parameters. 
 - epsilon¶
- Caculate embedding_range. 
 - margin¶
- Caculate embedding_range and loss. 
 - embedding_range¶
- Uniform distribution range. 
 - ent_emb¶
- Entity embedding, shape:[num_ent, emb_dim]. 
 - rel_emb¶
- Relation_embedding, shape:[num_rel, emb_dim]. 
 - init_emb()[source]¶
- Initialize the entity and relation embeddings in the form of a uniform distribution. 
 - score_func(head_emb, relation_emb, tail_emb, mode)[source]¶
- Calculating the score of triples. - The formula for calculating the score is \(Re(< wr, es, e¯o >)\) - Parameters
- head_emb – The head entity embedding. 
- relation_emb – The relation embedding. 
- tail_emb – The tail entity embedding. 
- mode – Choose head-predict or tail-predict. 
 
- Returns
- The score of triples. 
- Return type
- score 
 
 - forward(triples, negs=None, mode='single')[source]¶
- The functions used in the training phase - Parameters
- triples – The triples ids, as (h, r, t), shape:[batch_size, 3]. 
- negs – Negative samples, defaults to None. 
- mode – Choose head-predict or tail-predict, Defaults to ‘single’. 
 
- Returns
- The score of triples. 
- Return type
- score 
 
 
ComplEx_NNE_AER¶
- class neuralkg.model.RuleModel.ComplEx_NNE_AER.ComplEx_NNE_AER(args, rel2id)[source]¶
- Bases: - neuralkg.model.RuleModel.model.Model- Improving Knowledge Graph Embedding Using Simple Constraints (/ComplEx-NNE_AER), which examines non-negativity constraints on entity representations and approximate entailment constraints on relation representations. - args¶
- Model configuration parameters. 
 - epsilon¶
- Caculate embedding_range. 
 - margin¶
- Caculate embedding_range and loss. 
 - embedding_range¶
- Uniform distribution range. 
 - ent_emb¶
- Entity embedding, shape:[num_ent, emb_dim]. 
 - rel_emb¶
- Relation_embedding, shape:[num_rel, emb_dim]. 
 - get_rule(rel2id)[source]¶
- Get rule for rule_base KGE models, such as ComplEx_NNE model. Get rule and confidence from _cons.txt file. Update: - (rule_p, rule_q): Rule. confidence: The confidence of rule. 
 - init_emb()[source]¶
- Initialize the entity and relation embeddings in the form of a uniform distribution. 
 - score_func(head_emb, relation_emb, tail_emb, mode)[source]¶
- Calculating the score of triples. - The formula for calculating the score is \(Re(< wr, es, e¯o >)\) - Parameters
- head_emb – The head entity embedding. 
- relation_emb – The relation embedding. 
- tail_emb – The tail entity embedding. 
- mode – Choose head-predict or tail-predict. 
 
- Returns
- The score of triples. 
- Return type
- score 
 
 - forward(triples, negs=None, mode='single')[source]¶
- The functions used in the training phase - Parameters
- triples – The triples ids, as (h, r, t), shape:[batch_size, 3]. 
- negs – Negative samples, defaults to None. 
- mode – Choose head-predict or tail-predict, Defaults to ‘single’. 
 
- Returns
- The score of triples. 
- Return type
- score