知识图谱嵌入(KGE):方法和应用的综述

导读

本文主要是参考《Knowledge Graph Embedding: A Survey of Approaches and Applications》和刘知远的《知识表示学习的研究与进展》做的总结,主要介绍了最近关于知识图谱嵌入所涉及到的研究方法,主要从融合事实信息、融合附加信息和KGE下游任务应用三方面展开。由于篇幅较长,下图是本文的结构,可以按照自己的需要有选择性的浏览。

介绍

近年来,知识图谱(KG)的构建和应用得到了快速的发展。大量的KGs,如Freebase、DBpedia、YAGO和NELL,已经被创建并成功地应用于许多实际应用中,从语义解析和命名实体消歧到信息提取和问答。KG是由实体(节点)和关系(不同类型的边)组成的多关系图。每条边都表示为形式(头实体、关系、尾实体)的三个部分,也称为事实,表示两个实体通过特定的关系连接在一起,例如(AlfredHitchcock, DirectorOf, Psycho)。虽然在表示结构化数据方面很有效,但是这类三元组的底层符号特性通常使KGs很难操作。

为了解决这个问题,提出了一种新的研究方向——知识图谱嵌入。关键思想是嵌入KG的组件,包括将实体和关系转化为连续的向量空间,从而简化操作,同时保留KG的原有的结构。那些实体和关系嵌入能进一步应用于各种任务中,如KG补全、关系提取、实体分类和实体解析。

融合事实信息

我们将这种嵌入技术大致分为两类:平移距离模型和语义匹配模型。前者使用基于距离的评分函数,后者使用基于相似度的评分函数。在这一部分中,我们介绍了这两组嵌入技术。在此基础上,对这些嵌入技术的效率和有效性进行了比较。

平移距离模型

平移距离模型利用了基于距离的评分函数,通过两个实体之间的距离对事实的合理性进行度量。

TransE模型及其扩展

TransE模型。表示学习在自然语言处理领域受到广泛关注起源于Mikolov等人于2013年提出的word2vec词表示学习模型和工具包。利用该模型,Mikolov等人发现词向量空间存在平移不变现象。例如他们发现:

受到该平移不变现象的启发,Border等人提出了TransE模型,将知识库中的关系看作实体间的某种平移向量。对于每个事实三元组(h,r,t),TransE模型将实体和关系表示为同一空间中,把关系向量r看作为头实体向量h和尾实体向量t之间的平移即h+r≈t。比如:对于给定的2个事实(姜文, 导演, 邪不压正)和(冯小刚, 导演, 芳华) ,除了可以得到:姜文+ 导演≈邪不压正和冯小刚+导演≈芳华,还可以通过平移不变性得到:邪不压正 - 姜文 ≈芳华 –冯小刚,即得到两个事实相同的关系(DirectorOf)的向量表示。我们也可以将r,看作从h到t,的翻译,因此TransE也被称为翻译模型,如图1(a)所示,对于每一个三元组(h,r,t)TransE希望:h+r≈t,评分函数在表1中所示。

知识库中的实体关系类型可分为 一对一 、一对多 、 多对一 、多对多4 种类型,而复杂关系主要指的是 一对多 、 多对一 、多对多的 3 种关系类型。

虽然TransE模型的参数较少,计算的复杂度显著降低,并且在大规模稀疏知识库上也同样具有较好的性能与可扩展性。但是TransE 模型不能用在处理复杂关系上 ,原因如下:以一对多为例,对于给定的事实,以姜文拍的民国三部曲电影为例,即《让子弹飞》、《一步之遥》和《邪不压正》。可以得到三个事实三元组即(姜文,导演,让子弹飞)、(姜文,导演,一步之遥)和(姜文,导演,邪不压正)。按照上面对于TransE模型的介绍,可以得到,让子弹飞≈一步之遥≈邪不压正,但实际上这三部电影是不同的实体,应该用不同的向量来表示。多对一和多对多也类似。

TransH模型。为了解决TransE模型在处理一对多 、 多对一 、多对多复杂关系时的局限性,TransH模型提出让一个实体在不同的关系下拥有不同的表示。如图1(b)所示,对于关系r,TransH模型同时使用平移向量r和超平面的法向量w_r来表示它。对于一个三元组(h, r, t) , TransH首先将头实体向量h和尾实体向量r,沿法线wr,影到关系r对应的超平面上,用h⊥和t⊥表示如下:

因此TransH定义了如下评分函数如表1中所示,需要注意的是,由于关系r:可能存在无限个超平面,TransH简单地令r与w_r,近似正交来选取某一个超平面。TransH 使不同的实体在不同的关系下拥有了不同的表示形式,但由于实体向量被投影到了关系的语义空间中,故它们具有相同的维度。

TransR模型。虽然TransH模型使每个实体在不同关系下拥有了不同的表示,它仍然假设实体和关系处于相同的语义空间中,这一定程度上限制了TransH的表示能力。TransR模型则认为,一个实体是多种属性的综合体,不同关系关注实体的不同属性。TransR认为不同的关系拥有不同的语义空间。对每个三元组,首先应将实体投影到对应的关系空间中,然后再建立从头实体到尾实体的翻译关系。如图1(c)所示是TransR模型的简单示例。

对于每个三元组(h,r,t),我们首先将实体向量向关系r空间投影。具体而言,对于每一个关系r,TransR定义投影矩阵Mr,将实体向量从实体空间投影到关系r的子空间,用h⊥和t⊥表示如下:

然后使h⊥+r≈t⊥,评分函数如表1所示。

图1 TransE,TransH和TransR的简要说明

TransD模型。虽然TransR模型较TransE和TransH有显著改进,它仍然有很多缺点:

1)在同一个关系:下,头、尾实体共享相同的投影矩阵。然而,一个关系的头、尾实体的类型或属性可能差异巨大.例如,对于三元组(美国,总统,奥巴马),美国和奥巴马的类型完全不同,一个是国家,一个是人物。

2)从实体空间到关系空间的投影是实体和关系之间的交互过程,因此TransR让投影矩阵仅与关系有关是不合理的。

3)与TransE和TransH相比,TransR由于引入了空间投影,使得TransR模型参数急剧增加,计算复杂度大大提高。

为了解决这些问题,Ji等人提出了TransD模型。给定三元组(h, r, t) , TransD模型设置了2个分别将头实体和尾实体投影到关系空间的投影矩阵Mr1和Mr2。,具体定义如下:

则头实体和尾实体用h⊥和t⊥表示如下:

TransR模型评分函数如表1所示。

TranSparse模型。TranSparse是通过在投影矩阵上强化稀疏性来简化TransR的工作。它有两个版本:TranSparse (共享)和TranSparse (单独)。前者对每个关系r使用相同的稀疏投影矩阵M_r(theta_r) 即:

后者对于头实体和尾实体分别使用2个不同的投影矩阵M_r1(theta_r1)和M_r2(theta_r2)。

这里的theta_r、theta_r1和theta_r2表示这些投影矩阵的稀疏度。TransSparse模型评分函数如表1所示。通过引入稀疏投影矩阵,TransSparse模型减少了参数个数。

TransM模型。除了允许实体在涉及不同关系时具有不同的嵌入之外,提高TransE模型性能可以从降低h+r≈t的要求研究开始。TransM模型将为每个事实(h,r,t)分配特定的关系权重theta_r,定义的评分函数如表1所示。通过对一对多、多对一和多对多分配较小的权重,TransM模型使得t在上述的复杂关系中离h+r更远。

ManifoldE模型。ManifoldE模型则是对于每个事实三元组(h,r,t)将h+r≈t转换为为(h+r-t)的L2范式约等于theta_r的平方。同样地,ManifoldE把t近似地位于流形体上,即一个以h+r为中心半径为theta_r的超球体,而不是接近h+r的精确点。评分函数如表1所示。

TransF使用了类似的思想。而不是执行严格的翻译h+r≈t,TransF只需要t与h+r位于同一个方向,同时h与t-r也位于同一个方向。则评分函数(即t和h+r匹配,h也要与t-r匹配)如表1所示。

TransA模型。TransA模型为每个关系r引入一个对称的非负矩阵Mr,并使用自适应马氏距离定义评分函数,评分函数如表1所示。通过学习距离度量Mr, TransA在处理复杂关系时更加灵活。

Xiao等人认为TransE及其之后的扩展模型均存在2个重要问题:1)评分函数只采用L1或L2距离,灵活性不够;2)评分函数过于简单,实体和关系向量的每一维等同考虑。

为了解决这2个问题,Xiao等人提出TransA模型,将评分函数中的距离度量改用马氏距离,并为每一维学习不同的权重。对于每个三元组(h,r,t),TransA模型定义的评分函数如表1所示。其中Mr为与关系r相关的非负权值矩阵。

如图2所示,( h_1, r_1, t_1)和(h_2,r_2,t_2)两个合法的事实三元组,t3是错误的尾实体。如果使用欧氏距离,如图2(a)所示,错误的实体t3会被预测出来。而如图2(b)所示,TransA模型通过对向量不同维度进行加权,正确的实体由于在x轴或者y轴上距离较近,从而能够被正确预测。

图2 传统模型和TransA模型比较

高斯嵌入模型

KG2E模型。He等人认为,知识库中的关系和实体的语义本身具有不确定性,而过去模型中都忽略这个因素。因此,He等人提出KG2E,使用高斯分布来表示实体和关系。其中高斯分布的均值表示的是实体或关系在语义空间中的中心位置,而高斯分布的协方差则表示该实体或关系的不确定度。

图3为KG2E模型示例,每个圆圈代表不同实体与关系的表示,它们分别与“比尔·克林顿”构成三元组,其中圆圈大小表示的是不同实体或关系的不确定度,可以看到“国籍”的不确定度远远大于其他关系。

图3 KG2E模型

KG2E模型将实体和关系表示为从多变量高斯分布中抽取的随机向量

其中,μ_h、μ_r、μ_t是均值向量,∑_h、∑_r、∑_t代表协方差矩阵。然后,受到平移假设的启发,KG2E模型通过测量t-h和r这两个随机向量之间的距离来为一个事实评分,即N(μ_t-μ_h,∑_t+∑_h)和N(μ_r,∑_r)这两个分布。通过2种方法来进行测量。一种是通过KL散度(KL距离)来进行测量即:

另一种方法是计算概率的内积即:

其中μ=μ_h+μ_r-μ_t,∑=∑_h+∑_r+∑_t利用高斯嵌入。KG2E可以有效地对KGs中实体和关系的不确定性进行建模。

TransG模型。TransG也是对高斯分布的实体进行了建模,即:

TransG提出使用高斯混合模型描述头、尾实体之间的关系.该模型认为,一个关系会对应多种语义,每种语义用一个高斯分布来刻画,即:

这里,μ_r_i是第i个语义的嵌入,Pi_r_i是该语义的权重,I是单位矩阵。评分函数如表1所示。从评分函数公式可以看出,哪一种平移距离的混合是由关系的不同语义引入的,由关系的不同语义引入。这些语义组合可以通过CRP从数据中自动学习。

TransG模型与传统模型的对比如图4所示。其中三角形表示正确的尾实体,圆形表示错误的尾实体。图4(a)中为传统模型示例,由于将关系r的所有语义混为一谈,导致错误的实体无法被区分开.而如图4(b)所示,TransG模型通过考虑关系r的不同语义,形成多个高斯分布,就能够区分出正确和错误实体。

图 4 传统模型和TransG模型比较

其他距离模型

非结构化模型(UM)是TransE的一个简单版本,通过设置所有的r=0,得到一个评分函数如表1所示。

显然,它不能区分不同的关系。结构嵌入(SE)通过使用两个独立的矩阵M_r_1和M_r_2为每个关系r对头尾实体进行投影,得到的评分函数如表1所示。

表1 平移距离模型总结

语义匹配模型

语义匹配模型利用基于相似性的评分函数。它们通过匹配实体的潜在语义和向量空间表示中包含的关系来度量事实的可信性。

RESCAL模型及其扩展

RESCAL模型。RESCAL(又称双线性模型)通过使用一个向量表示每个实体来获得它的潜在语义。每个关系都表示为一个矩阵,该矩阵对潜在因素之间的成对交互作用进行了建模。它把事实(h,r,t)评分函数定义为一个双线性函数如表2所示。其中h,t表示头尾实体,Mr表示关系矩阵。这个分数可以得到h和t的所有组成部分之间成对的相互作用(也见图5a),对于每个关系都有O(d_2)个参数。[17]进一步假设对所有的Mr在一组普通的秩-1矩阵上进行分解,即

TATEC不仅对三向交互h╤Mrt进行建模,还对双向交互(如实体与关系之间的交互)进行建模。评分函数如表2所示,其中D是所有不同关系共享的对角矩阵。

DistMult模型。DistMult通过将Mr限制为对角矩阵来简化RESCAL。对于每一个关系r,它都引入一个向量嵌入r,并要求Mr=diag(r),评分函数如表2所示。评分函数只捕获沿同一维度的h和t分量之间的成对交互作用(参阅图5 b),并将每一个关系的参数数量减少至O(d)。然而,因为对于任意的h和t,hTdiag(r)t = t Tdiag(r)h都是成立的,这种过度简化的模型只能处理对称的关系,这显然对于一般的KGs是不能完全适用的。

HolE模型。HolE将RESCAL的表达能力与DistMult的效率和简单性相结合。它把实体和关系都表示为R_d中的向量。给定一个事实(h,r,t),首先使用循环相关操作将实体表示形式组成h*t∈R

然后将组合向量与关系表示形式匹配,以对事实进行评分,即:

循环相关对成对的相互作用进行压缩(参见图5c)。因此,HolE对每个关系只需要O(d)参数,这比RESCAL更有效。与此同时,因为循环相关是不符合交换律的,即h*t不等于t*h。所以HolE能够像RESCAL那样对不对称关系进行建模。

图5 RESCALDistMult、HolE的简单图解

ComplEx模型。ComplEx通过引入复值嵌入来扩展DistMult,以便更好地对非对称关系进行建模。在ComplEx中,实体和关系嵌入h,r, t不再存在于实空间中,而是存在于复空间中。定义事实的评分函数为:

其中,t_是t的共轭和Re(·)表示取复数的实部。这个评分函数不再是对称的,来自非对称关系的事实可以根据涉及实体的顺序得到不同的分数。最近的研究表明,每个ComplEx都有一个等价的HolE,反之,是在嵌入上施加共轭对称ComplEx包含HolE的特殊情况。

ANALOGY模型。ANALOGY 扩展了RESCAL,从而进一步对实体和关系的类比属性进行建模,例如,AlfredHitchcock之于Psycho,正如JamesCameron之于Avatar。它遵循RESCAL并使用双线性评分函数如表2所示。其中,h,t是对于实体的嵌入向量,Mr是一个与关系相关的线性映。为了对类比结构进行建模,它进一步要求关系线性映射是正规的和符合交换律,即:

尽管ANALOGY表示关系为矩阵,这些矩阵可以同时对角化成一组稀疏的准对角矩阵,由每个只有O(d)自由参数。结果表明,前面介绍的DistMult、HolE、ComplEx等方法都可以归为ANALOGY的特例。

基于神经网络匹配

语义匹配能量模型(SME)。SME采用神经网络结构进行语义匹配。给定一个事实三元组(h,r,t),它首先将实体和关系投影到输入层中的嵌入向量。然后,将关系r与头实体h组合得到g_u(h,r),并与尾实体t组合,得到隐藏层中的g_v(t,r)。则该事实的分数最终由它们的点积定义为匹配的g_u和g_v。即:

SME有两个版本:线性版本和双线性版本。SME (线性)定义为:

SME(双线性)定义为:

其中,M_u_1、M_u_2、M_v_1、M_v_2是权重矩阵,而b_u、b_u,是跨不同关系共享的偏差向量。图6(a)提供了SME的简单说明。

神经张量网络模型(NTN)。NTN是另外一种神经网络结构,给定一个事实,它首先将实体投影到输入层中的嵌入向量。然后,将这两个实体h,t由关系特有的张量M_r(以及其他参数)组合,并映射到一个非线性隐藏层。最后,一个特定于关系的线性输出层给出了评分,即:

其中M_r_1、M_r_2和b_r分别是特定关系的权重矩阵和偏差向量。双线性张量积hTM_rt得到一个向量,其中第i项计算为 BB 。图6(b)给出了NTN的一个简单说明。通过设置所有M_r=0和b_r= 0,NTN退化为单层模型(SLM)。尽管NTN是迄今为止最具表达能力的模型,但是,由于它的每个关系的需要O(d^2*k)个参数,并且不能简单有效地处理大型的KGs。

多层感知机(MLP)。MLP是一种更简单的方法,在这种方法中,每个关系(以及实体)都是由一个向量组合而成的。如图6(c)所示,给定一个事实(h,r,t)将嵌入向量h、r和t连接在输入层中,并映射到非线性的隐藏层。然后由线性输出层生成分数,即:

其中M_1、M_2、M_3是第一层的权重,w是第二层的权重,这些都是在不同的关系中共享的。

神经关联模型(NAM)。NAM使用“深度”架构进行语义匹配,给定一个事实,它首先将头实体的嵌入向量和输入层中的关系连接起来,从而给出z_0=[h,r]。然后输入z_0输入到一个由L个线性隐层组成的深神经网络中,这样

其中M_(l)和b_(l)分别表示第l层的权重矩阵和偏差。在前馈过程之后,通过匹配最后一个隐藏层的输出和尾实体的嵌入向量来给出分数,即:

图6(d)提供了NAM的简单说明。它有一个更复杂的版本,将关系嵌入r连接到网络中的所有隐藏层。

图6 SME、NTN、MLP和NAM的简单图解

表2 语义匹配模型总结

其他方法

除上述模型外,还有其他学习头尾实体对的表示。具体地,给定一个三元组(h,r,t),关系r可以表示为一个向量r,实体对(h,t)可以用另外一个向量p表示。该事实的合理性可以通过r和p内积进行度量。然后,通过最小化成对排序损失来学习这些向量表示,类似于在Eq(2)中的定义。这种实体对表示特别适用于关系提取,其目的是确定一对实体之间可能存在的关系。同样地,头实体h可以表示为一个向量h,实体对(r,t)可以用另外一个向量p表示。然而,这种方法也有其缺点。比如,如果头-尾实体对(h_1,t)和(h_2,t)通过不同的向量表示进行建模,则它们共享的相同的尾实体信息将会丢失。而且,也无法有效地发现未配对实体(如h3和t)之间的关系。此外,它还导致了空间复杂度的增加,因为每个实体对都需要计算一次向量表示,它总共需要O(n^2d+md)个参数。

融入附加信息

目前介绍的方法仅使用KG中观察到的事实来执行嵌入任务。事实上,可以合并许多附加信息来进一步改进任务,例如实体类型、关系路径、文本描述以及逻辑规则。在本节中,我们将讨论如何集成这些信息。

实体类型

我们考虑的第一类附加信息是实体类型,即实体所属的语义类别。例如,AlfredHitchcock的类型是人,Psycho的类型是电影作品。这类信息在大多数KGs中都是可用的,通常是由特定关系编码的,并且以三元组的形式存储,例如“Psycho”、“Isa”、“CreativeWork”。如[22]所述,建立这类信息的一种简单方法是将Isa作为一个普通关系,并将相应的三元组作为普通训练示例。

Guo等人提出了语义平滑嵌入(SSE)模型,它要求相同类型的实体在嵌入空间中彼此邻近,例如,Psycho应该更接近Avatar而不是JamesCameron。SSE采用两种流形学习算法,即拉普拉斯特征映射和局部线性嵌入来对这种光滑性假设进行建模。前者要求一个实体和同一类别中的每一个其他实体邻近,给出一个平滑度量:

其中e_i和e_j分别是实体ei和ej的嵌入向量,如果这两个实体属于同一范畴,则w=1,否则w=0。通过最小化R_1,只要当w=1时,我们期望e_i和e_j之间距离会很小。后者表示一个实体视为其最近邻居的线性组合,即同一类别内的实体。

其中IN_ei是包含实体e_i最近邻的集合,如果e_j属于IN_ei,w=1,否则w=0。通过最小化R_2,我们期望每个实体在误差小的情况下,从其最近的邻域进行线性重构。然后将R_1和R_2合并为正则化项,以约束嵌入任务。在KG嵌入和下游任务中,SSE的性能都优于直接方法。SSE的一个主要限制是它假设实体的语义范畴是无层次的,每个实体完全属于一个类别。显然,在典型的现实世界中,情况并非如此。

Xie等人[26]设计了融合类型的知识表示学习(TKRL)模型,它可以处理分层实体类别和多个类别标签。TKRL是一个具有特定类型实体投影的平移距离模型。给定一个事实(h,r,t),它首先用特定类型的投影矩阵预测h和t,然后将r建模为两个投影实体之间的平移。相应地,评分函数被定义为:

其中M_rh和M_rt是h和t的投影矩阵,为了处理多个类别标签,M_rh表示为所有可能的类型矩阵的加权和,即:

其中n_h>=1是h所属的类别数;c_i是其中的第i个类别;M_ci是c_i的投影矩阵;a_i是对应的权重;C_rh是头实体可以具有的与r相关的类型集合。为了进一步处理层次类别,M_ci表示为与c_i的所有子类别关联的投影矩阵的组成。使用两种类型的合成操作,即:

其中,c_i_(1),…,c_i_(l)是是层次结构中c_i的子集;M_ci_(1),…,M_ci_(l)为投影矩阵,beta_(1),…,beta_(l)是对应项的权重。M_rt的定义也是类似的。虽然TKRL在链路预测和三元组分类等下游任务中取得了较好的性能,但由于它将每个类别与特定的投影矩阵相关联,因此具有较高的空间复杂度。

实体类型也可以作为不同关系的头部和尾部位置的约束,例如关系DirectorOf的头实体的类型应该是人,尾实体的类型应该是电影作品。[77]和[26]试图在训练过程中施加这种约束,尤其是在反例的生成过程中。从训练中排除违反类型约束的反例,或者产生的概率很低。[93]对张量因式分解模型RESCAL施加了类似的约束。其思想是丢弃具有错误实体类型的无效事实,只分解由剩余事实组成的子张量。

关联路径

我们考虑的第二类附加信息是关联路径,即实体之间的多跳关系。关系路径通常被定义为一个关联序列r_1,r_2,…r_l,两个实体通过该序列可以在图上连接。例如,BornIn→LocatedIn是一条通过中间节点Leytonstone连接AlfredHitchcock到England的路径。关联路径包含丰富的语义线索,对于KG补全非常有用,例如BornIn→LocatedIn表明着AlfredHitchcock与England之间的国籍关系。

关联路径长期以来一直对多关系中数据进行研究。例如,路径排序算法直接使用连接两个实体的路径作为特征进行预测它们之间可能的关联。最近,它们已将其集成到KG嵌入中。然而,主要的挑战是如何在与实体和关系相同的向量空间中表示这样的路径。一个简单的解决方案是将路径表示为关系表示的一部分,因为路径的语义取决于所有这些关系。图7提供了这个想法的简单的说明。实际上,几乎所有现有的处理关联路径的方法都是使用组合策略。典型的组合操作包括加法、乘法和递归神经网络(RNN)。

图7 路径表示是它们的关系嵌入的语义组合

Lin等人提出一种将TransE扩展到对关系路径建模的方法,称为基于路径的TransE (PTransE)。给定连接两个实体h和t的路径p=r_1→r_2→…→r_l,以及组成关系的向量表示r_1,r_2,…r_l,PTransE考虑了三种类型的组合操作,即,

这里,c_i表示第i个关系的累积路径向量;W是由所有关系共享的组合矩阵。[c_i-1;r_i]表示c_i-1和r_i的级联;f是一个非线性函数。通过设置c_1=r_1和递归地从左到右遍历,最终可以得到p=c_l,然后要求路径p与两个实体之间的直接关系r一致,,即当(h,r,t)成立时,||p-r||_1趋于较小。对于每个事实,PTransE定义了关于这些路径的损失,即,

其中IP(h,t)是连接h和t的所有路径的集合;R(p|h,t)表示给定这两个实体的路径p的可靠性;Z是归一化因子;l(p,r)是在路径关联对(p,r)上指定的损失。路径可靠性R(p|h,t)可以用基于网络的资源分配机制计算,损失l(p,r)定义为:

它的||p-r||_1值比任何||p-r’||_1都低。最后,为了学习实体和关系表示,将L_path路径聚集在ID中的所有事实之上,然后与原始的传输损失相结合。实验结果表明,通过进一步融合关联路径,PTransE在KG补全和关系提取方面明显优于TransE。

Guu等人提出了一种类似的框架,其思想是利用实体对不仅与关系相连,而且与关联路径相连接。例如,给定一对实体(h,t)和它们之间的路径p= r_1→r_2→…→r_l,可以构造一个新的三元组(h,r,t)。要建立这样的路径连接三元组,Guu等人设计了TransE模型和RESCAL模型的扩展。前者使用加法组合,并将(h,r,t)的分数定义为:

而后者选择乘法组合,并将分数定义为:

然后,在训练过程中,将路径连接三元组视为与那些关系连接的三元组相同。这种方法在回答KGs上的路径查询方面表现良好。

在结合关联路径提高模型性能的同时,大量的路径对模型的复杂度提出了严峻的挑战。[27]和[28]都必须通过抽样或剪枝进行近似。为了实现有效的路径建模,[29]提出了一种动态规划算法,该算法可以将所有边界长度的关联路径结合起来。

文本描述

本节讨论对实体的文本描述的集成。实际上,在大多数KGs中,对于包含丰富语义信息的实体,有简明的描述。图8显示了在FreeBase中对AlfredHitchcock和 Psycho描述信息。此外,实体描述除了存储在KGs以外,它还可以扩展到结合更多的一般文本信息,如发布的新闻和维基百科文章。

图8 实体描述示例

嵌入带有文本信息的 KGs可以追溯到前面讲述的NTN模型,其中文本信息只是简单的用于初始化实体表示。具体来说,NTN首先从辅助新闻语料库中学习单词向量,然后通过对包含在其名称中的单词的向量求平均来初始化每个实体的表示。例如,AlfredHitchcock的嵌入是通过 “Alfred”和“Hitchcock”的平均单词向量初始化的。后来在[ 76 ] 中提出了一种类似的方法,它把实体表示为描述的平均词向量而不仅仅是它们的名称。由于这种方法将文本信息与KG事实分开,因此不能利用它们之间的交互信息。

Wang等人首先提出了一个联合模型,它可以在嵌入过程中更好地使用文本信息。其核心思想是使给定的KG与辅助文本语料库对齐,然后再联合进行KG嵌入和词嵌入。这样,实体/关系和词就是在同一个向量空间中表示的,因此它们之间的运算如内积(相似性)是有意义的。该联合模型具有三个组成部分:知识模型,文本模型和对齐模型。知识模型是将实体和关系嵌入到KG中。它是TransE的变体,损失L_k测量KG事实的拟合度。文本模型是在文本语料库中词嵌入,它是Skip-gram的变体,损失L_t测量对共现词对的拟合度。最后,对齐模型保证了实体/关系的嵌入,以及单词位于相同的空间中。还引入了不同的对齐机制,比如通过实体名称、维基百科以及实体描述对齐。将损失L_A定义为测量对齐的质量。然后,联合模型将三个损失最小化,即:

联合嵌入利用来自结构化的KGs和非结构化文本的信息。因此,可以通过彼此增强KG嵌入和词嵌入。此外,通过对这两种类型的信息进行对齐,联合嵌入还能够预测KG不包含的实体,即出现在web文本中但在KG不包括的短语。

Xie等人[32]提出了一种融合描述的知识表示学习模型,其目的是对TransE进行扩展以便更好地处理实体的描述。DKRL将实体e与两个向量表示相关联,即基于结构的e_s和基于描述的e_d。前者捕获KG事实表示的结构信息,而后者捕获实体描述表示的文本信息。基于描述的表示由组成词嵌入构成,通过连续的词袋编码器或卷积神经网络编码器来构造。给定一个事实(h,r,t),DKRL把评分函数定义为:

其中r是关系的向量表示,并共享基于结构的h_s/t_s和基于描述的h_d/h_d。然后,通过最小化Eq(2)中定义的排序损失,可以同时学习实体、关系和词嵌入。实验结果证明了DKRL相对TransE的优越性,特别是在超出KG包含实体的情况下。

Wang等人最近提出了一种文本增强的KG嵌入模型,称为TEKE。给定一个KG和一个文本语料库,TEKE首先对语料库中的实体进行注释,并构造一个由实体和词组成的共现网络。然后,对于每个实体e,TEKE将其文本的上下文n(e)定义为它在共现网络中的邻域,即文本语料库中与实体频繁共现的词。对该实体进一步引入了文本上下文嵌入n(e),把它定义为n(e)中单词向量的加权平均值。对于事实(h,r,t)中的每一个关系r,TEKE将其文本上下文定义为h和t的共同邻域,即n(h,t)=n(h)∩n(t)。类似地,为该关系定义文本上下文嵌入为n(h,t)。然后将文本上下文嵌入结合到传统方法中,例如TransE,以学习更有表达能力的实体和关系表示,例如:

其中A,B是权重矩阵,h,t,r偏差向量。此扩展也适用于TransH和TransR。通过结合文本上下文嵌入,证明TEKE是优于原来的TransE、TransH和TransR模型。

逻辑规则

最后,我们考虑了逻辑规则的结合,特别是那些用一阶Hron条款来表示的规则,例如

指出由关系HasWife连接的任何两个实体也应该由关系HasSpouse连接。这种逻辑规则包含丰富的背景信息,在知识获取和推理中得到了广泛的研究,通常基于马尔可夫逻辑网络。还有一些系统,如WARMR、Aleph和Amie,可以从KGS中自动提取逻辑规则。

Wang等人试图利用规则改善KG补全过程中的嵌入模型。在他们的研究中,通过利用嵌入模型生成的目标函数和规则的约束把KG补全当做为一个整数线性规划问题。以这种方式推断出的事实将是嵌入模型中最优先考虑的,并且符合所有规则。类似的,[24]介绍了通过马尔可夫逻辑网络的结合规则和嵌入模型的方法。然而,在[23]和[24]中,由于规则与嵌入模型分别建模,作为后处理的步骤,因此并不会有助于获得更好的嵌入。

Guo等人提出了一种将KG事实和逻辑规则同时嵌入的联合模型。这种方法的一个关键组成部分,称为KALE,是在一个统一的框架中表示和对事实和规则建模。具体来说,事实(h,r,t)被看作是一个基本原子,其真值被定义为:

其中,d是嵌入向量的维度,I(h,r,t)∈[0,1] 是TransE评分函数的线性转换版本表示事实成立的可能性。逻辑规则首先被实例化为基本规则,比如可以把

转化为:HasWife(AlfredHitchcock;AlmaReville) →HasSpouse(AlfredHitchcock;AlmaReville)然后,将基本规则可以解释为通过将基本原子与逻辑连接词(比如∧和→)组合而构造的复杂公式,并采用t-范数模糊逻辑进行建模。基本规则的真值是通过特定的基于t-范数的逻辑连接词,构成基本原子的真值的组合,比如:

这个值也在[0,1]的范围内,表示在多大程度上满足了基本规则。以这种方式,KALE在一个统一的框架中表示事实和规则,分别是原子公式和复杂公式。图9提供了该框架的简单图示。在统一事实和规则之后,KALE最小化了两者学习实体和关系嵌入的全局损失。因此,所学习的嵌入不仅与事实兼容,而且与规则兼容,这对于知识获取和推理更为有效。

图 9 KALE的简单说明

Rocktaschel等人设计了一个类似于KALE的模型。然而,在他们的工作中,是为实体对而不是单个实体引入向量嵌入,使其特别适用于关系提取。由于实体确实没有自己的嵌入关系,无法有效地发现未配对实体之间的关系。[34]和[35]两者有一个共同的缺点:在学习它们的模型之前,它们必须将普遍量化的规则实例化为基本规则。该基本的过程可能在时间和空间上效率极低,尤其当KG中存在大量的实体且规则本身是复杂时或者规则本身是复杂时。要解决此问题Demeester等人的缺点[111]最近提出了[35]的扩展,其核心思想是利用逻辑正则化关系嵌入的影响避免接地。例如,给定一个普遍量化的规则

[111]尝试只使用两个关系的嵌入HasWife和HasSpouse对其进行建模,而无需实例化在KG中的具体的实体x和y。然而,此策略仅适用于最简单形式的规则比如:

并且不能推广到更复杂的规则。

其他信息

除了上述四种类型的附加信息外,还有一些研究试图将其他信息转化为KG嵌入。

实体属性。Nickel等认为KGs中的关系可以表示实体(例如,AlfredHitchcock、HasWfe、AlmaReville)和实体属性(例如,AlfredHitchcock、性别、男性)之间的关系,但大多数KG嵌入技术没有明确区分关系和属性。以张量分解模型RESCAL为例。在这个模型中,每个KG关系被编码为张量的一个片段,无论它表示一个真关系还是一个属性。这种对属性的天真处理将显着地增加张量的维度,然而,这个张量中的大量条目将被浪费。[14]为了解决这一问题,[22]建议明确区分属性和关系。关系仍然是用张量编码的,而属性则是在单独的实体属性矩阵中编码的。然后,将该矩阵与张量一起分解,以便同时学习实体、关系和属性的表示。类似的想法后来在平移距离模型中进行了研究。

时序信息。Jiang等[115]观察到KGs事实通常对时间是敏感的,例如(Alfredhtchock,Bornin,Leytonstone)发生在1899年,而(Alfredhtchock,Diedin,Belair)在1980年。基于这种观察,他们提出了时间感知嵌入模型。该模型的思想是在时间敏感的关系对上加入时间顺序约束,例如:Bornin和Deedin。给定这样的一对(r_i,r_j),先前的关系应该接近于随后的关系时间转换后的关系,即,M_r_i=r_j,其中M为在关系之间的捕获时间顺序信息的转换矩阵。

在加入这样的时间顺序约束之后,[115]能够学习在时间上一致的关系嵌入。Esteban等人试图对KGs的时间演化进行建模。在他们的模型中,他们使用标记的四元组表示的事件比如(h,r,t,s;True)和(h,r,t,s;False),分别表明该事实在时间s出现和消失。然后将每个四元组建模为h、r 、t和s,其中s是时间特征向量。该模型在医学和传感器数据等动态领域表现良好。Trivdi等[117]最近提出,随着时间的推移,学习非线性进化的实体表示,以便在动态KGs上进行时间的推理。动态KG中的每个事实可以表示为四元组(h,r,t,s),表示头实体h与尾实体t在时间s上才会存在关系r。然后通过用时间点过程[118]来模拟事实的发生,用双线性评分函数得到实体间的多关系交互情况,以及利用深度递归神经网络学习非线性进化的实体表示。这种方法在链接预测,特别是时间预测方面表现很好。

图结构。Feng等人[119]提出了一种利用三种图结构学习实体和关系表示的图感知嵌入模型。第一个是邻域上下文,它实际上相当于在KG中观察到的三元组。第二个是路径上下文,和上面讨论的关系路径类似。最后一个是边缘上下文,在之前介绍的方法中都没有考虑到这一点。给定一个特定的实体,它的边缘上下文被定义为链接到该实体的所有类型的关系,仅仅基于这样的直觉,所有这些关系也都代表着这个实体。例如,AlfredHitchcock的边缘上下文可能包括BornIn、Deedin、HasWife和DirectorOf等关系,所有这些都表明AlfredHitchcock是一个人或者更准确地说他是一个导演。实验结果进一步证明了这些图结构建模的有效性。Jiang等人建议从事实直接的上下文来估计其合理性。对于事实(h,r,t),将它的直接上下文定义为:(i)在三元组中h是头实体,(ii) 在三元组中h是尾实体,(iii) 在三元组中t是头实体,(iv) 在三元组中t是尾实体,(v)两个实体是h和t且具有任意关系的三元组。该研究表明,在预测多关系数据的链接是有效的。

其他相关学习方法的说明。另一条研究思路是将KG嵌入与其他关系结合在一起。例如,路径排序算法(PRA),它是采用不同类型的算法的方法。Dong等人提出了通过融合系统将MLP与PRA相结合的方法。具体地, 在分别对这两种模型进行拟合后,它们使用MLP和PRA的输出作为标量特征,通过训练二分类器学习一个最终的融合层。他们发现融合这两种模型能够改善性能:融合系统的结果是:ROC曲线下的面积为0.911,而PRA是0.882 和MLP是0.884。Nickel等设计了一个通用框架,将潜在变量模型和可观测变量模型结合起来。特别是,如果将Rescal与PRA结合,则评分函数变为:

其中第一项是RESCALE评分函数和第二项是PRA评分函数,其中Φht是由路径特征组成的特征向量,w_r是这些特征的权值。这是一个联合模型,可以通过交替优化RESCAL参数和PRA参数来进行训练。在组合后,RESCAL只需对不能用PRA建模的“残差”进行建模,这需要较小的潜在维数,并要加快训练速度。

下游任务应用

在对当前可用的KG嵌入技术进行了系统的回顾之后,本节将探索如何将学习到的实体和关系嵌入应用到各种下游任务中,并从中获益。我们将这些任务分为(i) in-KG应用和(ii) out-of- KG应用,讨论如下。

In-KG 应用

In-KG应用是在KG范围内进行的应用,在此范围内学习实体和关系嵌入。我们将介绍四个这样的应用程序,即链接预测、三元组分类、实体分类和实体解析。所有的这些应用都是从不同的角度和应用上下文对KG输入进行各种细化(例如补全或去重)。

链接预测

链接预测通常指的是预测与给定实体有特定关系的实体的任务,即,给定(r,t)预测h或给定(h,r)预测t; ,前者可以表示为(?,r,t),后者为(h,r,?)。这本质上是一个KG补全的任务,即将缺失的知识添加到图谱中。这个链接预测任务有时也称为实体预测或实体排序。类似的也可以用来预测两个给定实体之间的关系,即(h,?,t)通常称为关系预测。

通过事先学习实体和关系表示,链接预测可以通过一个简单的排序过程来实现。预测任务以(?,r,t)为例。为预测头实体,可以将KG中每个实体h作为候选答案,然后为每个实体计算f(h,t)分数。一旦对KG进行了嵌入模型的训练,就可以使用所学习的嵌入和评分函数轻松地实现这一点,例如,如果使用TransE进行KG嵌入,则使用f(h,t)=-||h+r-t||1/2。将这些分数按下降顺序排列将得到一个候选答案的排序列表。例如,对于预测任务(?,DirectorOf,Psycho) ,可以使用这个排序过程生成一个有序列表{JamesCameron, AlfredHitchcock, GeorgeLucas,QuentinTarantino}。预测任务(h,r,?)或(h,?,t)也可以以同样的方式进行。

为了进行评估,通常的做法是将正确答案的排列顺序记录在有序列表中,以便查看是否可以将正确答案排列在错误答案之前。在前面提到的 (?, DirectorOf, Psycho)正确答案AlfredHitchcock排在第2。正确答案排序数越小表示性能越好。基于这些排序设计了各种评价标准,如平均排序(预测的排序数字的平均值)、平均倒数排序(倒数排序的平均值)、Hits@n(n个正确排序所占的比例)、AUC-PR(准确率-召回率曲线下的面积)。

三元组分类

三元组分类在于验证三元组表示的事实(h,r,t)真假,例如, (AlfredHitchcock,DirectorOf, Psycho)归类为一个真的事实,而 (JamesCameron, DirectorOf, Psycho)则归类一个假的事实。同样,这个任务也可以看作是对KG输入的补全。

回想一下,一旦在KG上学会了一个嵌入模型,我们可以计算任何三元组(h,r,t)的得分,只要h,t E IE和r E R,例如,假设使用TransE学习KG嵌入,则可以使用f(h,t)=-||h+r-t||1/2 计算得分。三元组分类可以简单地在三元组得分的基础上进行。分数高的三元组往往是真的事实。具体地说,我们为每一个关系r引入一个阈值d。然后从任何的事实关系,说(h,r,t),如果它的分数f(h,t)高于d则视为真的,否则则视为假的。通过这种方法,我们得到了每一个关系的三元组分类器。传统的分类指标可以用来评估这个任务,例如,微观和宏观的平均精度。因为对于每一个三元组实值分数都将与二进制标签一起输出,排序指标也可以在这里使用,例如,平均精度均值。

实体分类

实体分类的目的是将实体划分为不同的语义类别,例如,AlfredHitchcock是一个人,Psycho是一部创造作品。由于在大多数情况下,关系编码实体类型(表示为IsA)包含在KG中,并且已经包含在嵌入的过程中,因此实体分类可以看作是一个具体的链接预测任务,即(x,IsA,?)。类似的预测和评估方法的具体细节可以看链接预测那一节,实体分类显然也是一个KG补全问题。

实体解析

实体解析包括验证两个实体是否指的是同一个对象。在一些KGs中,许多节点实际上指的是相同的对象,例如,在Cora 数据集中,包含了作者、标题和地点字段的引用,作者或地点的名称可以用不同的方式编写。实体解析是删除这些重复的节点的任务。

Bordes等人考虑了这样一种场景,其中KG已经包含了一个关系,该关系声明两个实体是否相等(表示为EqualTo),并且已经学习了该关系的嵌入。在这种情况下,实体解析退化为三元组分类问题,即,判断三元组(x,EqualTo,y)是否成立或者这个三元组成立有多大的可能性。通过嵌入模型输出的三元组评分可以直接用于这种预测(详见三元组分类)。然而,这种直观的策略并不总是有效,因为并非所有的KG都编码EqualTo关系。Nickel等人提出仅基于实体表示来执行实体解析。具体地,给定两个实体x, y和它们的向量表示x, y, 则x和y之间的相似性为:

请输入标题

这个相似度评分用于度量x和y指向同一实体的可能性。即使在KG输入中没有编码EqualTo关系,新策略也可以起作用。AUC-PR是对于这种任务应用最广泛的评价指标。

Out-of-KG应用

Out-of-KG应用是那些突破KG输入边界并扩展到更广泛领域的应用。本文介绍了三种应用实例,包括关系抽取、问答和推荐系统。我们不寻求对这些任务进行系统性地概述或介绍最新的技术。相反,我们特别关注如何将KG嵌入应用于这些领域。我们希望它们能为KG嵌入的未来的应用提供新的视角。

关系抽取

关系抽取的目的是从已经检测到实体的纯文本中抽取关系事实。例如,从给定“Alfred Hitchcock directed Psycho”(Psycho)中可以检测到h=AlfredHitchcock和t=Psycho两个实体,一个关系抽取器应该预测这两个实体之间的关系是DirectorOf。关系抽取长期以来一直是自然语言处理中的一项重要任务,为扩展KGs提供了有效的方法。许多研究都试图利用KGs来完成这一任务,但通常作为远程监督来自动生成标记数据。但是这些方法仍然是基于文本的抽取,而忽略了KG自身推理新事实的能力。

最近,Weston等人提出将TransE与基于文本的抽取器相结合的方法,以便更好地进行关系抽取。具体来说,在训练阶段,他们从文本语料库中学习一个基于文本的抽取器,并从与该语料库对齐的KG中学习一个TransE模型。基于文本的抽取器对每个关系r与其文本提及m之间的相似性进行评分,即Stext(m,r)。这些评分可以用来预测它们的文本提及的关系,即证据来自文本语料库。与此同时,TransE模型对在KG中的每个缺失的的事实(h,r,t)的合理性进行打分。这些分数可以用来预测它们与KG中实体的交互关系,即证据来自KG。在测试阶段,给定两个实体h, t,以及所有与它们相关的关系Mht,首先使用基于文本的抽取器对进行预测得到r,然后对候选事实进行一个复合的评分计算,即

这个复合模型支持的预测不仅与文中提到的一致,而且与KG一致。实验结果进一步表明,与传统的基于文本的抽取器相比,采用TransE模型可以成功地改进传统的基于文本的抽取器。加入TransH和TransR后也观察到类似的改善。

图10 文本和KGs的编码矩阵

Riedel et al.[21]设计了一个不同的框架,通过将纯文本和KGs联合嵌入,来实现关系提取,在他们的工作中,文本和KGs被表示在同一个矩阵中。矩阵的每一行代表一对实体,每一列代表一个提及的文本或KG关系。如果两个实体与纯文本中的一个提到或与KGs中的关系同时出现,则将相应的条目设置为1,否则设置为0。对于训练实例(实体对),我们可以同时观察文本提及和KG关系,而KG关系作为重要的监督。但是对于测试实例,只有文本提到是可用的。然后,关系提取用于预测测试实例缺少的KG关系。图7给出了这个场景的一个简单插图。本文提到,这项任务使用了协作过滤技术,它分解输入矩阵来学习实体对的向量嵌入和公斤关系。该框架还改进了传统的基于文本的提取器。Fan等[88]也提出了类似的观点关系提取方法。但在他们的工作中,第一矩阵中的一组列对应于文本特性并采用矩阵补全技术[128]代替矩阵分解技术。Chang等人[93]后来设计了一种基于张量的变体用三模张量编码纯文本和KGs,然后利用RESCAL模型分解张量。

问答

本文考虑一个具体的问题回答任务,即给定一个用自然语言表达的问题,任务是从一个KG[11]、[12]中检索由三元组或三元组支持的正确答案。这里我们展示了一些问题、答案和支持三元组的例子:

KGs的使用简化了问题的回答,以结构化的格式组织了各种各样的答案。然而,由于自然语言的较大的变化性和KGs的巨大的规模,这仍然是一个具有挑战性的任务。

Bordes等人为这项任务引入了一个基于嵌入式的框架。该方法的核心思想是学习单词和KG成分的低维向量嵌入,使问题的表示和相应的答案在嵌入空间中相互接近。具体地说,让q表示一个问题和a表示一个候选答案。函数S(q,a),基于向量映射进行,目的是给问题答案之间的相似性进行评分,即

上式中W是一个包含单词、实体和关系嵌入的矩阵;Φ(q)和ψ(a)是两个稀疏向量,前者表示问题中出现的单词,后者表示答案中出现的实体和关系。

WΦ(q)和Wψ(a)分别是问题和答案在嵌入空间中的向量表示。两者都是各自成分的嵌入组合,即词汇、实体和关系。如果问题问的是正确答案,S(.,.)生成一个高分,否则和较低的评分。给定一组由问题和正确答案配对组成的训练集,可以通过使用典型的成对排序优化来学习嵌入W,这使得一对正确的得分高于任何一对错误的得分。训练集可以通过众包机制创建,也可以通过在KGs上自动生成种子模式来创建。通过对W训练,在测试时,对于给定的问题q,预测答案为

上式中A(q)是候选答案集。Bordes等人经验表明,这种直观的方法实现了较好的的结果,在不使用任何词典,或额外的步骤词性标注规则,语法或依赖项解析在训练最传统的问答系统。

系统推荐

系统推荐向用户提供关于他们可能希望购买或检查的商品的建议。在不同的推荐策略中,将用户与商品之间的交互建模为用户与商品之间的即时表示的产品的协同过滤技术取得了显著的成功。然而,这样的技术并不总是有效,因为用户-项目交互可能非常稀疏。在这种情况下,将用户-物品交互和用户或物品的辅助信息相结合的混合推荐系统通常可以获得更好的性能。

Zhang等人最近提出了一种混合推荐框架,该框架利用KG内的异构信息来提高协同过滤的质量。具体地说,他们使用存储在KG的三种类型的信息,包括结构性知识(事实三元组),文本知识(例如,一本书或一部电影的文本性的总结),和视觉知识(例如,一本书的封面或电影海报图片),为每项生成语义表示。为了对结构知识进行建模,采用了一种典型的KG嵌入技术,即TransR应用,它为每项学习结构表示。对于另外两种信息,采用叠加去噪自动编码器和叠加卷积自动编码器分别提取每项的文本表示和视觉表示。然后,为了进行协同过滤,将每个用户i表示为一个潜在向量u i,每一项j表示为一个潜在向量

其中,sj、tj和vj分别是与该项相关联的结构表示、文本表示和视觉表示,而hj是一个偏移向量。然后将用户i对item j的偏好建模为两个潜在向量的乘积,即 uT_i*e_j。利用对优先级的排序优化来学习这些潜在向量。最后,在测试时,给定目标用户i,可以根据下面的排序标准进行item推荐:

上式中i:js>jt表示用户i更喜欢项目js而不是jt。实验结果证明了从KG中学习的三种类型的表示方法在推荐系统中的有效性。

结论

KG嵌入是一种将实体和关系嵌入到连续向量空间的方法,在各种面向实体的任务中得到了广泛的应用,并迅速得到了广泛的关注。本文系统地回顾了当前可用的技术,特别是基于KG嵌入中使用的信息类型。首先介绍了仅使用在给定KG中观察到的事实进行嵌入的最新技术。我们描述了总体框架,具体的模型设计,以及这些技术的优缺点。在此基础上,并对KG嵌入技术进行了深入的研究。我们特别侧重于四种类型的附加信息的合并,即:、实体类型、关系路径、文本描述和逻辑规则。关于纳入更多资料的研究才刚刚开始,在不久的将来可能会得到越来越多的注意。最后,本文探讨了KG嵌入技术的应用。介绍了两种类型的应用,即,In-KG应用在KG输入的范围内执行,Out-of- KG应用扩展到更广泛的领域。我们希望通过这次简短的探索,为今后KG嵌入技术的应用提供新的思路。

论文链接:

https://ieeexplore.ieee.org/document/8047276

http://www.cnki.com.cn/Article/CJFDTotal-JFYZ201602003.htm

原文发布于微信公众号 - AI科技评论(aitechtalk)

原文发表时间:2019-08-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券