知识表示学习研究进展

知识表示学习研究进展

本博文来源于 Paper: 刘知远 2016 知识表示学习研究进展 计算机研究与发展

目前的产品

  • 谷歌知识图谱
  • 微软Bing Satori
  • 百度知心
  • 搜狗知立方
  • IBM Waston等

知识库的主要研究目标

从无结构或半结构的互联网信息中获取有结构知识,自动融合构建知识库、服务知识推理等相关应用,自动融合构建知识库、服务知识推理等相关应用。知识表示是知识获取与应用的基础,因此,知识表示学习问题是贯穿知识库的构建与应用全过程的关键问题。

基于网络形式的知识表示面临的困难点

  1. 计算效率问题;
  2. 数据稀疏问题:大规模知识库遵循长尾分布;

表示学习 VS 知识表示学习

表示学习旨在将研究对象的语义信息表示为稠密低维表示向量;而知识表示学习则面向知识库中的实体和关系进行表示学习;该技术可以在低维空间中高效计算实体和关系的语义联系,有效解决数据稀疏问题,使知识获取、融合、推理的性能得到显著提升。

表示学习

表示学习旨在将研究对象的语义信息表示为稠密低维实值向量。在该低维向量空间中,2个对象距离越近则说明其语义相似度越高。通常将研究对象表示为向量:实体 e 表示为 le l e ;关系 r 表示为 lr l r ;通过欧氏距离或余弦距离等方式计算任意2个对象之间的语义相似度;

独热表示 one-hot encoding

独热表示是信息检索和搜索引擎中广泛使用的词袋模型的基础。

词袋模型

一个网页中有W个不同的词,则在词袋模型中都被表示为一个W维的独热表示向量。在此基础上,词袋模型将每个文档表示为一个W维向量,每一位表示对应的额词在该文档的重要性。将研究对象表示为向量,该向量只有某一维非零,其他维度上的值均为0.有多少个不同的研究对象,独热表示向量就有多长。

  • 优点:无学习过程,简单高效
  • 缺点:假设所有对象都是相互独立的。导致无法有效表示短文本、容易受到数据稀疏问题影响的根本原因;

知识表示学习

知识表示学习是面向知识库中实体和关系的表示学习。通过将实体或关系投影到低维向量空间,我们能够实现对实体和关系的语义信息的表示,可以高效地计算实体、关系及其之间的复杂语义关联。

知识表示学习得到的分布式表示有以下典型应用:

  • 相似度计算:计算实体键的语义相似度;
  • 知识图谱补全:预测2个实体的关系,这一般称为知识库的连接预测(link prediction),又称为知识图谱补全(knowledge graph completion).
  • 关系抽取;
  • 自动问答;
  • 实体链接;

知识表示学习的主要优点

  1. 显著提升计算效率。
    1. 知识库的三元组表示实际就是基于独热表示的。此方法,计算复杂度高、可扩展性差。
    2. 表示学习得到的分布式表示,能够高效地实现语义相似度计算等操作,显著提升计算效率。
  2. 有效缓解数据稀疏:
    1. 由于表示学习将对象投影到统一的低维空间中,使每个对象均对应一个稠密向量,从而缓解数据稀疏问题;体现在两个方面:
      1. 每个对象的向量均为稠密有值的,可能度量任意对象之间的语义相似程序;
      2. 将大量对象投影到统一空间的过程,能够将高频对象的语义信息用于帮助低频对象的语义表示,提高低频对象的语义表示的精确性;
  3. 实现异质信息融合;
    1. 不同来源的异质信息需要融合为整体,才能得到有效应用。
    2. 大量实体和关系在不同知识库中的名称不同。通过设计合理的表示学习模型,将不同来源的对象投影到同一个语义空间中,就能够建立统一的表示空间,实现多知识库的信息融合。

表示学习的几个代表模型

  1. 距离模型:结构表示(structured embedding, SE)
    1. 每个实体用d维向量表示,所有实体被投影到同一个d维向量空间中。
    2. 每个关系定义为2个矩阵 Mr,1,Mr,2Rd×d M r , 1 , M r , 2 ∈ R d × d ,用于三元组中头实体和尾实体的投影操作。
    3. 损失函数: fr(h,t)=|Mr,llhMr,2lt|L1 f r ( h , t ) = | M r , l l h − M r , 2 l t | L 1
      1. 计算两投影向量的距离;
      2. 反映了2个实体在关系r下的语义相关度;
      3. 距离越小,说明2个实体存在这种关系的可能性越大。
    4. 学习样例:知识库三元组;
      1. 通过优化模型参数使知识库三元组的损失函数值不断降低,从而使实体向量和关系矩阵能够较好地反映实体和关系的语义信息。
      2. 链接预测:找两实体距离最近的关系矩阵
      3. 缺陷:它对头、尾实体使用2个不同的矩阵进行投影,协同性较差,往往无法精确刻画两实体与关系之间的语义联系。
  2. 单层神经网络模型(single layer model, SLM):
    1. 采用非线性操作,来减轻SE无法协同精确刻画实体与关系的语义联系的问题。
    2. SLM是SE模型的改进版本,但是它的非线性操作仅提供了实体和关系之间比较微弱的联系。于此同时,却引入了更高的计算复杂度。
  3. 能量模型:
    1. 语义匹配能量模型(semantic matching energy, SME):寻找实体和关系之间的语义联系;
    2. 每个实体和关系都用低维向量表示;
    3. 定义若干投影矩阵,刻画实体与关系的内在联系;
    4. SME定义2种评分函数:线性形式和双线性形式;
    5. 缺点:操作复杂;
  4. 双线性模型:
    1. 隐变量模型(latent factor model, LFM)
      1. 利用基于关系的双线性变换,刻画实体和关系之间的二阶联系。
      2. 双线性评分函数 fr(h,t)=lThMrlt f r ( h , t ) = l h T M r l t
    2. 优点:通过简单有效的方法刻画了实体和关系的语义联系,协同性较好,计算复杂度低。
    3. 后来的DISTMULT模型简化了LFM模型,将关系矩阵设置为对角阵。不仅极大降低了模型复杂度,模型效果反而得到显著提升。
  5. 张量神经网络模型(Neural tensor network,NTN):
    1. 基本思想:用双线性张量取代传统神经网络中的线性变换层,在不同维度下将头、尾实体向量联系起来;
    2. NTN中的实体向量是该实体中所有单词向量的平均值。
    3. 好处:实体中的单词数量远小于实体数量,可以充分重复利用单词向量构建实体表示,降低实体表示学习的洗属性问题,增强不同实体的语义联系。
    4. 缺点:由于引入张量操作,虽然能够更精确地刻画实体和关系的复杂语义联系,但是计算复杂度非常高,需要大量三元组样例才能得到充分学习。NTN在大规模稀疏知识图谱上的效果较差。
  6. 矩阵分解模型:
    1. 矩阵分解是得到低维向量表示的重要途径。
    2. 代表方法:RESACL模型;
      1. 基本思想与LFM类似。不同之处在于,RESACL会优化张量中的所有位置,包括为0的位置;LFM只会优化知识库中存在的三元组;
  7. 翻译模型TransE:
    1. 起源于word2vec词表示学习模型,词向量空间存在有趣的平移不变现象;
    2. 平移不变现象普遍存在于词汇的语义关系和句法关系中;此现象产生了TransE模型;
    3. TransE模型将知识库中的关系看做实体间的某种平移向量。用关系r的向量 lr l r 作为头实体向量 lh l h 和尾实体向量 lt l t 之间的平移。也可以将 lr l r 看作从 lh l h lt l t 之间的翻译。
    4. TransE希望 lh+lrlt l h + l r ∼ l t
    5. 损失函数:
      1. fr(h,t)=|lh+lrlt|L1/L2 f r ( h , t ) = | l h + l r − l t | L 1 / L 2
      2. 上式即为 lh+lr l h + l r lt l t 的 L1或 L2距离。
    6. 为了增强知识表示的区分能力,TransE采用最大间隔方法
  8. 全息表示模型(holographic embeddings, Hole):
    1. 使用头、尾实体向量的“循环相关”操作来表示该实体对。
    2. 循环相关操作可以看做张量乘法特殊形式,具有较强的表达能力,优点:
      1. 不可交换性;
      2. 相关性;
      3. 计算效率高;
    3. 该模型刚刚提出,尚未验证其效果,但是无疑为知识表示学习提供了全新的视角,值得关注。
  9. TransE面临的3个主要难点:
    1. 难点一:复杂关系建模:
      1. 由于模型简单,在大规模知识图谱上效果明显。但是也由于过于简单,导致TransE在处理知识库的复杂关系时捉襟见肘;
      2. 将关系划分为:1-1;1-N;N-1;N-N;四种模型;
        1. 1-N;N-1;N-N;定义为复杂关系;
      3. 由于复杂关系的存在,TransE学习得到的实体表示区分性较低。
    2. 为了解决TransE存在的一些问题,衍生出一些模型。有8个代表模型:
      1. TransH模型:
        1. 假设实体和关系处于相同的语义空间R^d 中,限制了其表示能力;
        2. 为了解决TransE模型在处理1-N;N-1;N-N;复杂关系时的局限性,TransH模型提出让一个实体在不同的关系下拥有不同的表示;
        3. 对于关系r, TransH模型同时使用平移向量 lr l r 和超平面的法向量w_r 来表示它.对于一个三元组(h, r, t) , TransH首先将头实体向量 lh l h 和尾实体向量 lr l r 沿法线 wr w r 投影到关系r对应的超平面上,用 lhr l h r ltr l t r 表示如下:
          1. lhr=lhwTrlhwr l h r = l h − w r T l h w r
          2. ltr=lrwTrltwr l t r = l r − w r T l t w r
          3. TransH 定义了如下损失函数: fr(h,t)=hhr+lrltrL1/l2 f r ( h , t ) = ‖ h h r + l r − l t r ‖ L 1 / l 2
      2. TransR | CTransR模型
        1. 虽然TransH模型使每个实体在不同关系下拥有了不同的表示,它仍然假设实体和关系处于相同的语义空间R^d 中,这一定程度上限制了TransH的表示能力.
        2. TransR 认为,一个实体是多种属性的综合体,不同关系关注实体的不同属性;不同的关系拥有不同的语义空间。
          1. 对于每个三元组,首先应将实体投影到对应的关系空间中,然后在建立从头实体到尾实体的翻译关系;
          2. TransR定义投 影矩阵将实体向量从实体空间投影到关系r的子空间,用 lhr l h r ltr l t r 表示如下:
            1. lhr=lhMr l h r = l h M r
            2. ltr=ltMr l t r = l t M r
            3. 然后使 lhr+lrltr l h r + l r ≈ l t r . 因此,TransR定义了如下损失函数: fr(h,t)=lhr+lrltrL1/L2 f r ( h , t ) = ‖ l h r + l r − l t r ‖ L 1 / L − 2
        3. TransR缺点:
          1. 在同一个关系r下,头、尾实体共享相同的投影矩阵,然而,一个关系的头、尾实体的类型或属性可能差异巨大。
          2. 从实体空间到关系空间的投影是实体和关系之间的交互过程,因此,TransR让投影矩阵仅与关系有关是不合理的;
          3. 相比于TransE和TransH,TransR由于引入了空间投影,使得TransR模型参数急剧增加,计算复杂度大大提高;
        4. CTransE模型
          1. 通过将把关系 r 对应的实体对的向量差值 lhlt l h − l t 进行聚类,将关系r细分为多个子关系 rc r c .
          2. 为每一个子关系 rc r c 分别学习向量表示;
          3. 对于每个三元组(h, r, t),定义了损失函数: fr(h,t)=lhr+lrcltrL1/L2 f r ( h , t ) = ‖ l h r + l r c − l t r ‖ L 1 / L 2
      3. TransD模型
        1. 为了解决TransR模型中存在的问题;
        2. 设置2个分别将实体和尾实体投影到关系空间的投影矩阵 Mrh M r h Mrt M r t
        3. Mrh M r h Mrt M r t 与实体和关系均相关;
        4. 利用2个投影向量构建投影矩阵,解决了原来TransR模型参数过多的问题。
      4. TranSparse模型
        1. 知识库中的实体和关系的异质性和不平衡性是制约知识表示学习的难题:
          1. 异质性:知识库中某些关系可能会与大量的实体有连接,而某些关系则可能仅仅与少量实体有连接;
          2. 不均衡性:某些关系中,头实体和尾实体的种类和数量可能差别巨大;
        2. TranSparse提出使用稀疏矩阵代替TransR模型中的稠密矩阵,其中矩阵M_r 的稀疏度由关系r连接的实体对数量决定。
        3. 为了解决关系的不平衡问题,TranSparse对于头实体和尾实体分别使用2个不同的投影矩阵
      5. TransA模型
        1. TransE及其之后的扩展模型均存在2个重要问题:
          1. 损失函数只采用 L1 L 1 L2 L 2 距离,灵活性不够;
          2. 损失函数过于简单,实体和关系向量的每一维等同考虑;
        2. 改进:将损失函数中的距离度量改用马氏距离,并为每一维学习不同的权重。
      6. TransG模型:
        1. 使用高斯混合模型描述头、尾实体之间的关系;
        2. 一个关系会应对多种语义,每种语义用一个高斯分布来刻画。
        3. 通过考虑关系r的不同语义,形成多个高斯分布,就能够区分出正确和错误实体;
      7. KG2E模型
        1. 认为,知识库中关系和实体的语义本身具有不确定性,这在过去的模型中都被忽略了;
        2. 使用高斯分布来表示实体和关系;
        3. 高斯分布的均值表示的是实体或关系在语义空间中的中心位置,而高斯分布的协方差则表示该实体或关系的不确定度;
        4. 2种计算概率相似度的办法:KL距离和期望概率;
          1. KL距离是一种不对称相似度;
          2. 期望概率是一种对称相似度;
        5. 为了防止过度拟合,对参数进行一些限制;
    3. 难点二:多源信息融合
      1. 在信息融合方面,目前的发展还处于起步阶段;
      2. 2个代表性的工作:
        1. 考虑实体描述的知识表示学习模型(description-embodied knowledge representation learning, DKRL)
          1. 在知识表示学习中,DKRL考虑了知识库中提供的实体描述文本信息;
          2. 文本表示方面的2种模型:
            1. CBOW模型:将文本中的词向量简单相加作为文本表示;
            2. 卷积神经网络(convolutional neural network, CNN):能够考虑文本中的词序信息;
          3. DKRL的优势:
            1. 提升实体表示的区分能力;
            2. 实现对新实体的表示;
            3. 当出现一个未在知识库中存在的新实体时,DKRL可以根据它的描述产生它的实体表示,用于知识图谱补全等任务;
        2. 文本与知识库融合的知识表示学习
          1. 思想:在表示学习中考虑文本数据;
          2. 方法:利用word2vec学习维基百科正文中的词表示,利用TransE学习知识库中的知识表示,同时,利用维基百科正文中的链接信息(锚文本与实体的对应关系),让文本中实体对应的词表示与知识库中的实体表示尽可能接近,从而实现文本与知识库融合的表示学习;
      3. 多远信息融合能够有效提升知识表示的性能,特别是可以有效处理新实体的表示问题。但目前仍处于非常起步的阶段,相关工作较少,考虑的信息源非常有限,有大量的信息未被考虑,具有广阔的研究背景;
    4. 难点三:关系路径建模:
      1. 在知识图谱中,多步的关系路径能够反映实体之间的语义关系;利用两实体间的关系路径信息预测它们的关系;
      2. 关系路径的表示学习也被用来进行基于知识库的自动问答;
      3. 考虑关系路径能够极大提升知识表示学习的区分性,提高在知识图谱补全等任务上的性能;
      4. 还处于初步阶段;
      5. Path-based TransE(PTransE)模型:以TransE为基础,进行扩展
        1. 面临的挑战:
          1. 并不是所有的实体间的关系路径都是可靠的;使用Path-Constraint Resource Allocation图算法度量关系路径的可靠性;
          2. PTransE需要建立关系路径的向量表示,参与从头实体到尾实体的翻译过程。这是典型的组合语义问题,需要对路径上所有关系的向量进行语义组合产生路径向量。3中代表性的语义组合操作:相加、按位相乘和循环神经网络;其中相加的组合操作效果最好;

展望:

  1. 对于TransE等模型存在的问题,已经有许多改进方案。但知识表示学习距离真正使用还很远;
  2. 面向不同知识类型的知识表示学习
    1. 人类知识包括4中结构:
      1. 数状关系:表示实体间的层次分类关系;e.g. 生物界的分类系统
      2. 二维网格关系:表示现实世界的空间信息;e.g. 地理位置信息
      3. 单维顺序关系:表示实体间的偏序关系;e.g. 政治家的左右倾谱系分布
      4. 有向网络关系(三元组形式):表示实体间的关联或因果关系;e.g. 疾病之间的传染关系
    2. 认知科学关于人类知识类型的总结,与许多知识库的组织形式有一定契合之处,但不完全相同。
      1. Freebase等大部分知识库采用有向网络结构(三元组形式);
      2. WordNet:首先将同义词聚集成同义词集合(Synset),然后再以同义词集合为单位用有向网络结构表示集合之间的关系(如上下位关系、整体-部分关系等)
    3. 大部分知识库中,树状关系等类型的知识均用邮箱网络表示,这并不利于在知识表示中充分利用不同类型知识的结构特点;
  3. 多元信息融合的知识表示学习
    1. 主要考虑:实体描述的知识表示学习模型;文本与知识库融合的知识表示学习;
    2. 3个方面的工作需要开展:
      1. 融合知识库中实体和关系的其他关系;
      2. 融合互联网文本信息;技术:远程监督(distant supervision)、开放信息抽取(open information extraction)等
      3. 融合多知识库信息;主要涉及:实体融合、关系融合、事实融合;
      4. 由于存在大量别名现象,需要对信息源进行实体对齐和关系对齐;这在分布式表示中,是典型的多表示空间投影问题,可以采用学习匹配 (learning to match)等思想,利用 PSI(polynomial semantic indexing ),SSI (supervised semantic indexing)等技术,建立多源表示空间投影关系, 实现实体对齐与关系对齐.此外,还可以充分利用多 表示空间之间的一致性,实现多空间协同映射 (collective fusion).
      5. 可信度检测:由于大量知识来自海 量互联网文本,无法确保获取知识的真实性,存在大量互相矛盾的知识. 可以综合考虑信息源可信性、多信息源一致性等要素,利用TruStRank等可信性 度量技术,检测实体间知识的矛盾并分别度量其可信性
  4. 复杂推理模式的知识表示学习
    1. 考虑关系路径的知识表示学习,实际上是充分利用了两实体间的关系和关系路径之间的推理模式,来为表示学习模型提供更精确的约束信息.
    2. 关系路径只是复杂推理模式中的一种特殊形式,它要求头实体和尾实体必须保持不变.
    3. 在该问题中,如何总结和表示这些复杂推理模式是关键难题. 目前来看,一阶逻辑(first-order logic,F0L) 是对复杂推理模式的较佳表示方案,未来我们需要探索一阶逻辑的分布式表示及其融合到知识学的技术 .
  5. 其他研究方向
    1. 面向大规模知识库的在线学习和快速学习;
    2. 基于知识分布式表示的应用;

你可能感兴趣的:(NLP,PaperWeekly)