Notes1:
Knowledge Transfer for Out-of-Knowledge-Base Entities:A Graph Neural Network Approach
Introduction
This paper address the out-of-knowledge-base(OOKB) entity problem in KBC: how to answer queries concering
test entities not observed at training time.
Setting and problems
Existing embedding-based KBC models assume that all test entities are available at training time
OOKB entity problem arise when new entities(OOKB entities) occur in the relation triplets that are given to the system after training.
To solve the OOKB entity problem without retraining,we use graph neural networks(Graph-NNs) to compute the embeddings of OOKB entities,exploiting the limited auxiliary knowledge provided at the test time.
OOKB Entity Problem
Let
E
be a set of entities,and
In addtion to knowledge base G observed at training time,new triplets
Gaux
are given at test time,with
E(Gaux)⊄E(G)
and
R(Gaux)⊆R(G)
.Thus,
Gaux
contains new entities
EOOKB=E(Gaux)∖E(G)
,but no new relations are involved.
triplets in
Gaux
Every triplet in
Gaux
contains exactly one OOKB entity fro
EOOKB
and one entity from
E(G)
;that is ,the additional triplets
Gaux
represent edges bridging
E(G)
and
EOOKB
in the combined knowledge graph
G∪Gaux
.
Motivation
want to use the information already have in
G
to deal with OOKB entities,with the help of the added knowledge graph
Graph-NN Model
Propagation Model on a Knowledge Graph
Let G be a knowledge graph, e∈E(G) be an entity,and ve∈Rd be the d-dimensional representation vector of e.
The propagation model definition:
ve=∑(h,r,e)∈Nhead(e)Thead(vh;h,r,e)+∑(e,r,t)∈Ntail(e)Ttail(vt;e,r,t)
where head neighborhood Nhead and tail neighborhood Ntail are Nhead(e)={(h,r,e)∣(h,r,e)∈G} and Ntail(e)={(e,r,t)∣(e,r,t)∈G}
Modified Model(in this paper):
Shead(e)={Thead(vh,h,r,e)∣(h,r,e)∈Nh(e)}
Stail(e)={Ttail(vt,e,r,t)∣(e,r,t)∈Nt(e)}
ve=P(Shead(e)∪Stail(e))
Transition Function used in experiment:
the aim of transition function T is to modify the vector of a neighbor node to reflect the relations between the current node and the neighbor.
Thead(vh;h,r,e)=ReLU(BN(Aheadrvh))
Ttail(vt;h,r,e)=ReLu(BN(Atailrvt))
where A∈R(d×d) is a matrix of model parameters,and BN indicates batch normalization.
Pooling Function:
To extract share aspects from a set of vectors.
P(S)=∑Ni=1xi
sum pooling
P(S)=1N∑Ni=1xi
average pooling
P(S)=max({xi}Ni=1)
max pooling
Output Model
Using a TransE-based objective function as the output model.
Absolute-Margin Objective Function:
L=∑Ni=1f(hi,ri,ti)+[τ−f(h′i,r′i,t′i)]+
OOKB Entity Experiment
construct dataset
1.choosing OOKB entities.Selected N=1000,3000,5000 triplets from WN11 test file.
Head setting:all head entities in the N triplets are regarded as candidate OOKB entities.
Tail setting is similar,but with the tail entities regarded as candidates.
In the Both setting,all entities appearing as either a head or tail are the candidates.
2.Filtering and spliting triplets.Using the OOKB entities, the original training dataset
was split into the training dataset and the auxiliary dataset.The OOKB training dataset(triplets) did not
contain OOKB entities and the auxiliary dataset(triplets) contain one OOKB entity and non-OOKB entity.
For the test triplets,they used the same first N triplets in the WN11 test file that used in Step 1 and the
triplets did not contain any OOKB entities were removed. For validation triplets they simply removed
the triplets containing OOKB entities from WN11 valid file.
github address: http://github.com/takou-h/GNN-for-OOKB.