NTN: Reasoning With Neural Tensor Networks for Knowledge Base Completion(2013年)
(一)论文理解
论文地址:https://nlp.stanford.edu/pubs/SocherChenManningNg_NIPS2013.pdf
一、研究问题
知识图谱是一个非常重要的资源,但通常由于知识图谱构建固有的原因,知识图谱总是具备不完备的特点,即会缺失部分实体之间的关系,因此需要知识推理和补齐技术来预测缺失和错误的关系边,使得知识图谱更为完整和可靠。而本论文提出的就是可应用于知识推理和补齐技术的模型,希望通过知识图谱的输入来获得能够用于下游学习任务的表示向量输出,来对知识库中缺失的信息进行补全。
二、论文动机
如前文所言,知识推理对于知识图谱技术非常重要。大家希望可以从知识库中已知的、现有的知识推理出新的、额外的尽可能接近事实的知识来对知识库进行扩充。例如,当我们被告知发现了一只新品种的猴子时,我们不需要额外的信息去证明我们就能知道这种猴子是有腿的。
对于知识推理,一种主要手段是获取知识库中实体的表示,但先前的工作要么是将实体表示成离散的最小单元,要么表示成单个的实体向量,论文作者认为这些做法影响了它们的效率。例如,先前的工作只是简单地将实体表示成单个向量,没有充分利用实体名称之间含有相同子串这一点(如Bank of China和China),作者认为这种做法没有做到sharing of statistical strength。因此作者希望使用新的实体表示方法——将其表示为它们词向量的平均值(例如Bank of China包含三个词分别为Bank、of和China,将它表示成这三个词向量的平均值),作者认为这样可以使每个实体的词表示之间做到sharing of statistical strength,同时实验表明这种方法效果更好。
并且,作者希望在这些词向量的初始化环节上做一定优化来提高模型的效果,论文提出了使用大量无监督学习的语料学习结果来初始化这些词向量。实验表明,这种做法对于预测知识库里两个实体是否有关系的评估结果有着明显的提升。
最后,作者认为以前的标准神经网络在建模关系数据这一块上表现不够好,并且受到了LFM的双线性变换性质的启发,因此希望提出一种新的概括了此前的几个神经网络模型优点的效果更好的神经网络模型——神经张量网络模型。
三、方法设计
如下图所示,每一个关系三元组都由一个神经网络和被作为关系模型的输入的数据库实体对来表示。
论文提出的神经张量网络模型 (NTN) 将标准线性神经网络层替换为双线性张量层,该层直接将两个实体向量跨多个维度关联起来。该网络的结构为:
神经张量网络层
为两个输入实体的特征向量,维度为 ,它们的初始化最初是随机均匀赋值,在训练过程中它们会不断更新,但论文后面针对向量初始化问题提出了改进:
(1)并非为每个实体单独初始化一个向量,而是为每个实体名称包含的单词初始化一个向量,再取这些单词向量的平均值作实体的初始向量表示(如self attention,将其表示为self向量和attention向量的平均值)。
(2)对于词向量,使用预训练好的结果来初始化效果会更好。
是该网络结构的输出,同时也是对关系的打分函数结果;