方法和原理
1 OverView
考虑将一条三元组(h,r,t)看做自然语言处理中一个句子, 我们决定使用RNN模型来解决三元组中实体和关系的缺失。模型主要利用了三元组中实体和关系的结构信息。
考虑实体和关系的表现方式以及存在数量的巨大差异, 我们决定使用不同的RNN单元处理这两种类型的数据。我们使用的模型是一个两层的RNN模型,模型架构如下所示。
如图共有两层RNN,s,r分别表示实体输入和关系输入, c1,c2,c3,c4是不同的RNN单元, 其中c1,c2用来处理实体输入, c3,c4处理关系输入, hs,hr表示隐藏状态。最终模型将实体或关系的预测问题转化为分类任务,例如输入给定的h,r,预测最有可能的t或者输入给定的h,t,预测r。模型也可以只指定h或t,先预测关系r,再预测另一个r或h。
2 Deep Sequential Model
我们使用的模型用不同的RNN单元处理关系和实体,针对每个RNN单元,模型都尝试学习两种不同的参数:
其中E,R分别表示实体集以及关系集,我们的模型根据输入可以自动判断出输入类别并对实体和关系应用不同的RNN单元。
3 Type-based Sampling
由于训练集里面有上万个实体, 因此,最终用于分类的softmax层将具有超过10000的输出大小。针对这种超大标签空间的分类问题,一个比较实用的方法是采样Softmax。 这种Softmax的原理可以由下列公式表示:
其中,w和b分别为输出层的权重以及偏置参数,返回的第个值, 模型首先使用一个全连接层将输出层隐藏状态转为一个不确定维度的概率分布向量, 然后使用采样softmax方法定义模型损失函数,公式中表示在t时刻的负样本集合,的采样规则基于类型,对于实体和关系分别有不同的采样空间,具体采样公式定义如下:
其中表示根据对数均匀采样器从实体集E采样到的个标签, 表示根据对数均匀采样器从关系集R采样到的个标签。
4 Enhancing Entity Prediction with Relation Prediction
这一部分,我们尝试使用关系预测来改进实体预测的精度,在后面的实验中证明了这一点。
在知识补全的经典方法中, 转置关系(互为逆关系)发挥了很大的作用。比如在预测(China, Contains, ?)时, 就可以根据知识库中已有的('Beijing', 'ContainedBy', 'China')来预测?位置可以为'Beijing'。因此对于r和它的转置关系,考虑通过r-来增强对r的预测效果。 例如, 当需要为r预测t时,即预测(h, r, ?)的问题, 在候选的多个实体中,分别对实体预测其转置关系, 结果为一个概率向量,每个位置元素表示对应实体拥有属性关系的概率, 若一个实体对于的拥有概率接近于0, 那么可以推断它不太可能作为关系r的候选t实体,反之若实体对的拥拥有率接近1,则表示其很有可能是r的候选t实体。更具体地对于(s, r, ?)的预测,可以用下面公式表示各个候选实体对应的预测概率:
其中中每个元素都对应一个实体拥有关系的概率,为超参数,其值小于1,用于控制关系预测对实体预测的影响程度。