1960年,Quillian在进行自然语言理解的应用研究时提出了语义网络概念,侧重描述概念间语义关系,这是知识图谱的起源。语义网和链接数据是Tim Berners Lee分别在1998年和2006年提出的,是知识图谱发展的基础。随后,学者们构建了大量大规模知识库,包括常识知识库Cyc[1],词典知识库WordNet[2]和世界开源知识库FreeBase[3]等。2012年,知识图谱的概念由Google正式提出,主要侧重强调数据或事物之间的关联,随后亚马逊的Amazon Neptune、微软的多模数据库CosmosDB以及腾讯云的“星图”等陆续出现。
知识图谱是结构化的语义知识库,以三元组(
知识表示学习主要包括基于平均距离的模型、语义匹配模型以及融合多源信息的模型等[7]。受word2vec模型[8]的“词向量在语义空间中具有平移不变性”启发,Bordes等[9]提出了TransE模型。TransE简单高效,但是在处理复杂关系时性能不佳。针对TransE的局限性,研究者们相继提出了TransE的很多变体,其中包括TransR[10]和TransD模型[11]。TransD是在TransR基础上引入了投影向量的概念,这使模型参数量增加了一倍,且实体两种表示之间的关系不明晰,模型仍存在不可解释性等问题。
为此,本文针对TransD模型的缺陷,提出了一种概率分布下双目标交替优化的知识表示模型(以下简称PTransD)。首先,通过聚类算法构造
平均距离模型是知识表示学习中的代表模型,采用基于距离的评分函数,用头实体通过关系进行翻译之后的实体和尾实体之间的距离来测量事实三元组的合理性,其中较有代表性的方法包括TransE、TransH[13]、TransR、TransD、TransF[14]以及TransGH[15]等。
词向量模型word2vec使每个词可以映射到一个向量,以表示词对词之间的关系。Bordes等[9]受到此现象启发,提出TransE模型。对于每个三元组(
TransH克服了TransE的上述缺点,将实体和关系嵌入到统一的向量空间,把实体投影到关系的超平面中进行翻译,即
TransE和TransH都是在同一空间中考虑实体和关系,然而从本质上看实体和关系是不同的客观事物,在同一空间中表示是不合理的。TransR提出不同的关系关注实体的不同属性,应具有不同的语义空间,将不同关系下的实体投影到不同的语义空间中进行翻译,即
为解决投影矩阵只和关系有关的问题,TransD提出每个实体和关系都有两种表示,一种是捕获实体和关系的含义,表示为
TransR认为每个关系都有一个关系空间,忽略了关系空间的结构,例如关系“出生地”可以推断出“国籍”。针对这一缺陷,TransF建模投影矩阵的基子空间来减轻关系投影的负担,将投影矩阵分解为关系空间的坐标矩阵和基张量的积,即
TransH、TransR和TransD都考虑了复杂关系的映射属性,但计算量大。TransGH在TransH的基础上提出广义关系特定超平面的概念,使用一组基向量来代替单个法向量,得到投影实体向量为
表1列出了以上所有提及的知识表示模型的复杂度。PTransD在时间复杂度相等的情况下,空间复杂度远小于TransD,而相比于TransH,PTransD的复杂度相差不大,且实验结果和性能较好,验证详见第3节。
| 表 1 各嵌入模型的复杂度 Table 1 Complexity of several embedding models |
基于TransD模型存在的问题,本文详细地介绍了在此基础上改进的知识表示模型PTransD。PTransD使用聚类算法和概率分布相似的原理来克服TransD的模型参数多和实体两种表示之间无联系的缺陷,并将得分函数的距离模型和概率分布相似模型集合成一个模型,从而增强模型的表示能力。
2.1 实体表示与聚类结合模型参数越多,模型的拟合能力越强,越容易出现过拟合,导致模型泛化能力差,因此本文减少了投影向量个数。假定实体投影向量个数为
为便于数学表达,记
|
图 1 实体空间实体分布示意图 Figure 1 Schematic diagram of entity distribution in entity space |
所有实体聚类完成后,头尾投影矩阵分别表示为
| $ {{\boldsymbol{M}}}_{{\mathcal{rh}}}={{\boldsymbol{r}}}_{{\rm{pj}}}{{(\boldsymbol{e}_{{\rm{pj}}}^i)^{\rm{T}}}}+{{\boldsymbol{I}}}^{m\times n}\text{,}{\boldsymbol{h}}\in U(\boldsymbol{e}_{{\rm{pj}}}^i) $ | (1) |
| $ {{\boldsymbol{M}}}_{{\mathcal{rt}}}={{\boldsymbol{r}}}_{{\rm{pj}}}(\boldsymbol{e}_{{\rm{pj}}}^j)^{\rm{T}}+{{\boldsymbol{I}}}^{m\times n}\text{,}{\boldsymbol{t}}\in U(\boldsymbol{e}_{{\rm{pj}}}^j) $ | (2) |
| $ i,j \in \left\{ {1,2, \cdots ,k} \right\} $ |
定义关系空间中被投影的头实体
| $ {{\boldsymbol{h}}_ \bot } = {{\boldsymbol{M}}_{{\mathcal{rh}}}}{\boldsymbol{h}} $ | (3) |
| $ {{\boldsymbol{t}}_ \bot } = {{\boldsymbol{M}}_{{\mathcal{rt}}}}{\boldsymbol{t}} $ | (4) |
特别地,当
| $ {{\boldsymbol{h}}_ \bot } = {{\boldsymbol{M}}_{{\mathcal{rh}}}}{\boldsymbol{h}} = {{(\boldsymbol{e}_{{\rm{pj}}}^i)^{\rm{T}}}}{\boldsymbol{h}}{{\boldsymbol{r}}_{\rm{pj}}} + {[{\boldsymbol{h}^{\rm{T}}},{{\bf{0}}^{\rm{T}}}]^{\rm{T}}},{\boldsymbol{h}} \in U(\boldsymbol{e}_{{\rm{pj}}}^i) $ | (5) |
| $ {{\boldsymbol{t}}_ \bot } = {{\boldsymbol{M}}_{{\mathcal{rt}}}}{\boldsymbol{t}} = {{(\boldsymbol{e}_{{\rm{pj}}}^i)^{\rm{T}}}}{\boldsymbol{t}}{{\boldsymbol{r}}_{\rm{pj}}} + {{[{\boldsymbol{t}^{\rm{T}}},{{\bf{0}}^{\rm{T}}}]^{\rm{T}}}},{\boldsymbol{t}} \in U(\boldsymbol{e}_{{\rm{pj}}}^i) $ | (6) |
本文采用距离函数模型,被投影到关系
| $ f({\mathcal{h}},{\mathcal{r}},{\mathcal{t}}) = - {\left\| {{{\boldsymbol{h}}_ \bot } + {\boldsymbol{r}} - {{\boldsymbol{t}}_ \bot }} \right\|_{{L_1}{\rm{/}}{L_2}}} $ | (7) |
其可以使用
对三元组(
测量类间距离有很多种方法,包括平均距离法、最短距离法、重心距离法等,但这些方法都涉及大量的两点距离计算,故本文提出实体类中心的概念,使用实体类中心代替整个实体类进行类间距离计算。在实体空间中,每一类实体语义向量可以确定一个实体类中心,采用算术平均值的方法计算
| $ {{\boldsymbol{e}}^i} = \frac{{\displaystyle\sum\nolimits_{{\boldsymbol{e}} \in U( {{\boldsymbol{e}}_{{\rm{pj}}}^{i}} )} {\boldsymbol{e}} }}{{N( {U( {{\boldsymbol{e}}_{{\rm{pj}}}^i} )} )}} $ | (8) |
式中:
| $ {{\boldsymbol{e}}^i} = \frac{{{\boldsymbol{h}}_1^{\left( i \right)} + {\boldsymbol{h}}_2^{\left( i \right)} + {\boldsymbol{h}}_3^{\left( i \right)} + {\boldsymbol{t}}_1^{\left( i \right)} + {\boldsymbol{t}}_2^{\left( i \right)}}}{5} $ |
实体类中心距离越近,对应的投影向量也越近。常规的做法是使用欧式距离来表示这种相似性,但是在高维空间中,每个坐标对欧式距离所做的贡献往往是不同的,本文把这种距离关系转换成一种概率来表示相似性。
在实体空间2个实体类中心
| $ {p_{j|i}} = \frac{{\exp ( { - {{\| {{{\boldsymbol{e}}^i} - {{\boldsymbol{e}}^j}} \|}^2}/2\sigma _i^2} )}}{{\displaystyle\sum\nolimits_{d \ne i} {\exp ( { - {{\| {{{\boldsymbol{e}}^i} - {{\boldsymbol{e}}^d}} \|}^2}/2\sigma _i^2} )} }} $ | (9) |
式中:
实体类中心
| $ {q_{j|i}} = \frac{{\exp ( { - {{\| {\boldsymbol{e}_{{\rm{pj}}}^i - \boldsymbol{e}_{{\rm{pj}}}^j} \|}^2}} )}}{{\displaystyle\sum\nolimits_{d \ne i} {\exp ( { - {{\| {\boldsymbol{e}_{{\rm{pj}}}^i - \boldsymbol{e}_{{\rm{pj}}}^d} \|}^2}} )} }}$ | (10) |
由于
| $ {p_{ij}} = \frac{{{p_{j|i}} + {p_{i|j}}}}{{2k}},{p_{ij}} = {p_{ji}} $ | (11) |
同时,对式(10)改进为
| $ {q_{ij}} = \frac{{\exp ( { - {{\| {\boldsymbol{e}_{{\rm{pj}}}^i - \boldsymbol{e}_{{\rm{pj}}}^j} \|}^2}} )}}{{\displaystyle\sum\nolimits_{d \ne l} {\exp ( { - {{\| {\boldsymbol{e}_{{\rm{pj}}}^l - \boldsymbol{e}_{{\rm{pj}}}^d} \|}^2}} )} }},{q_{ij}} = {q_{ji}} $ | (12) |
若考虑
所有知识表示模型都采用三元组损失函数作为目标函数进行训练,本文在三元组损失函数的基础上增添K-L散度损失函数作为辅助,完整的损失函数表示为
| $\begin{split} &L = {L_{{\rm{score}}}} + {L_{{\rm{K - L}}}}=\\ &\sum\limits_{( {{\mathcal{h}},{\mathcal{r}},{\mathcal{t}}} ) \in \varDelta ,( {{\mathcal{h}}',{\mathcal{r}},{\mathcal{t}}'} ) \in \varDelta '} {\xi \left( {f\left( {{\mathcal{h}},{\mathcal{r}},{\mathcal{t}}} \right),f\left( {{\mathcal{h}}',{\mathcal{r}},{\mathcal{t}}'} \right)} \right) + {D_{{\rm{K - L}}}}\left( {{\boldsymbol{P}}\parallel {\boldsymbol{Q}}} \right)}= \\ & \sum\limits_{( {{\mathcal{h}},{\mathcal{r}},{\mathcal{t}}} ) \in \varDelta } \sum\limits_{( {{\mathcal{h}}',{\mathcal{r}},{\mathcal{t}}'} ) \in \varDelta '} \max \left( {f\left( {{\mathcal{h}}',{\mathcal{r}},{\mathcal{t}}'} \right) + \gamma - f\left( {{\mathcal{h}},{\mathcal{r}},{\mathcal{t}}} \right),0} \right) +\\ & \sum\nolimits_i {\sum\nolimits_j {{p_{ij}}\lg \left( {\frac{{{p_{ij}}}}{{{q_{ij}}}}} \right)} } \end{split} $ | (13) |
在式(13)中,第1个目标表示三元组损失,目的是为了区分正确三元组和错误三元组,其中
| $\begin{split} &\forall ({\mathcal{h}}{\text{,}}{\mathcal{r}}{\text{,}}{\mathcal{t}}) \in \varDelta \cup \varDelta ',{\left\| {\boldsymbol{h}} \right\|_2} \leqslant 1,{\left\| {\boldsymbol{t}} \right\|_2} \leqslant 1,{\left\| {\boldsymbol{r}} \right\|_2} \leqslant 1,{\left\| {{{\boldsymbol{h}}_ \bot }} \right\|_2} \leqslant 1,\\ &{\left\| {{{\boldsymbol{t}}_ \bot }} \right\|_2} \leqslant 1 ,\forall i\in \left\{0,1,\cdots ,k-1\right\},{\Vert {{\boldsymbol{e}}}^{i}\Vert }_{2}\leqslant 1,{\Vert {{\boldsymbol{e}}}_{{\rm{pj}}}^{i}\Vert }_{2}\leqslant 1 \end{split} $ |
第2个目标表示K-L散度损失,目的是对实体空间的实体类中心和对应的实体投影进行相似性度量。
训练模型时,需要损坏知识图谱中的三元组来构建负例三元组。TransE提出的方法是均匀采样(随机替换头尾实体),但这种抽样方法在处理一对多、多对一以及多对多的复杂关系时,构建的三元组不是负例的概率较大。针对上述缺点,TransH提出基于伯努利分布的采样,以不同的概率来替换头尾实体,降低引入错误负例的概率。本文在伯努利分布采样的基础上,选择类间距大的类中的实体来替换头尾实体,以便提高模型对实体的区分度。
1) 以不同的概率替换
在生成负例时,根据关系的类型不同来设置不同的替换策略。对于一对多关系,以更高的概率来替换头实体;对于多对一关系,以更高的概率来替换尾实体;对于多对多关系,相当于多个多对一关系或者一对多关系,按前两种关系的替换策略来进行。
首先提出2个概念:在一个关系的所有三元组中,
其次用参数为
2) 选择类间距大的类的实体
在前文中,所有实体被划分为了
不妨假设实体从实体空间翻译到关系空间,并没有改变它们之间的相对距离关系。选择类间距大的类的实体进行替换,确保翻译到关系空间的两个实体也相距较远。对于需替换头实体的三元组,计算头实体所对应的实体投影
对于三元组(
在关系空间
模型训练迭代包含2个阶段:三元组损失和K-L散度损失。每次迭代中,首先训练三元组损失2次,得到的实体向量表示作为K-L散度损失的输入,再继续训练1次,这种交替学习的方法在更加关注三元组损失目标的同时,更好地协同优化模型。算法1给出了PTransD的学习算法。
算法1 Learning PTransD
Input: Training set
Output: The well trained embedding model.
1: initialize allparameters
2: for number of training iteration do
// triple loss objection
3: for 2 steps do
4:
5:
6:
7: foreach
8:
9:
10: end for
11: Update embedding w.r.t
12: end for
// K-L divergence loss objection
13:
14:
15:
16: Update embedding w.r.t
17: end for
3 试验和结果分析本节介绍PTransD模型的的实验部分,通过在知识图谱上进行三元组分类和链接预测来评估模型的性能。首先介绍这2项工作的评价指标和实验结果,然后与其他模型方法的实验结果进行对比分析。
3.1 数据集WordNet是世界著名的大型英语词典知识库,其名词、动词、形容词和副词被各自组成同义词网络,并通过关系连接,可用于语义消歧;FreeBase是一个完全结构化的大型知识库,其内容主要来自其社区成员的贡献和多种多样的数据库。本文在WordNet的子集(WN18和WN11)和Freebase的子集(FB15K和FB13)上进行实验。统计资料如表2所示,可以看出,WN18包含的实体较多,而FB15K包含的关系类别较多。
| 表 2 数据集的统计 Table 2 Statistics of datasets |
在知识图谱中,链接预测的任务是进行实体关系学习,具体地,就是预测一个关系事实三元组(
知识图谱中存在一些一对多、多对一以及多对多的复杂关系,一些损坏三元组也存在于知识图谱中,但这些三元组是正确的,排名靠前是合理的。如果直接将这些损坏三元组认定为负例进行训练,会降低模型的表示能力。为了避免这种情况产生,将这种正确的损坏三元组从训练集、验证集和测试集中去除,该实验设置称为“Filt”,而没有经过去除处理的实验设置称为“Raw”。
3.2.1 评价指标对所有训练的三元组按得分进行综合排列,用2个常用评价指标衡量模型优劣。一是平均排序(Mean Rank),表示正确实体在所有候选实体中的平均排名,排名值越低,正确实体在排列中的位置越靠前,模型性能越好;二是HIT@10,表示正确实体排在前十名的概率,概率越大,模型预测越准确。
3.2.2 实验设置在这个任务中,使用WN18和FB15K作为数据集,并都采用Adadelta SGD算法[16]作为优化方法,设置超参数:
“unif ”表示均匀采样,“bern”表示基于伯努利分布的采样。在“unif”设置下:在WN18上,
PTransD的链接预测实验结果如表3所示,表中加粗的数字表示在同一指标下最优模型的实验结果。结果标明:(1) 相对于原模型TransD,PTransD模型的2个指标值有部分提升,HIT@10指标值提升更明显;(2) 对比2个数据集上的指标值,PTransD在FB15K上的结果较好,证明该模型在关系复杂且信息稠密的知识图谱上性能更优;(3) PTransD相对于其他模型来说,HIT@10值较高,证明其学习的能力更好。
| 表 3 链接预测实验结果 Table 3 Results of link prediction |
为了验证PTransD确实能够较好地处理各种复杂关系,进一步对不同关系类型的三元组进行实验。选择具有更多关系类型的FB15K数据集来进行验证。在1 345个关系中,1-1关系占24%,1-n关系占23%,n-1关系占29%,m-n关系占24%,各关系的比例十分均衡。实验结果如表4所示,表中加粗的数字表示在同一指标下最优模型的实验结果。结果表明:(1) 相比于TransD模型,PTransD模型在复杂关系上的HIT@10值明显提高;(2) 相比于其他模型,PTransD模型能较好地区分1-1关系以及m-n关系,在另外两种关系中性能表现也较好。
| 表 4 FB15K各类关系的HIT@10值 Table 4 HIT@10 of each type of relations in FB15K |
三元组分类的目标是判断一个给定的三元组(
三元组分类任务使用准确率A作为评价指标,公式为
| $ {{A}} = \frac{{{T_{{\text{pos}}}} + {T_{{\text{neg}}}}}}{{{N_{{\text{pos}}}} + {N_{{\text{neg}}}}}} $ | (14) |
式中:
这个任务采用Adadelta SGD算法作为优化方法,并设置超参数
表5列出了不同模型的三元组分类精度,表中加粗的数字表示在同一指标下最优模型的实验结果。在3个数据集上,PTransD模型都比TransD模型分类能力更好,这说明PTransD模型更适用于大规模知识图谱。
| 表 5 不同模型的三元组分类精度 Table 5 Accuracy of triple classification of different models |
本文提出了一种概率分布下基于双目标交替优化的知识表示模型PTransD。针对翻译的模型TransD参数多的问题,PTransD限制实体投影个数,对实体进行聚类,将“实体语义向量和实体投影两种表示属于一一对应的关系”转变成“实体类和实体投影属于一一对应的关系”。针对实体两种表示之间的关系无约束的问题,PTransD在对实体进行聚类的基础上,通过求平均值计算每类的实体类中心,利用概率代替欧氏距离来衡量实体类中心和实体投影的概率分布相似性,加强对实体投影的约束。采用交替优化的方法获得三元组损失和概率分布下的K-L散度损失,并共同训练模型。为了验证方法的有效性,在WordNet和FreeBase的大规模真实数据集上对链接预测和三元组分类任务进行了综合测评。实验结果表明,PTransD模型有较好的性能,可以应用于知识图谱的完善和推理中。
在将来的研究中继续改进PTransD模型,针对关系空间中关系的两种表示之间的相关性,引入关系路径;还可将PTransD模型应用于涉及关系抽取、知识推理的任务中。
| [1] |
LENAT D B, PRAKASH M, SHEPHERD M. CYC: using common sense knowledge to overcome brittleness and knowledge acquisition bottlenecks[J].
AI Magazine, 1985, 6(4): 65.
|
| [2] |
MILLER G A. WordNet[J].
Communications of the ACM, 1995, 38(11): 39-41.
DOI: 10.1145/219717.219748. |
| [3] |
BOLLACKER K, COOK R, TUFTS P. Freebase: ashared database of structured general human knowledge[C]//Proceedings of the Twenty-Second AAAI Conference on Artificial Intelligence. Vancouver: AAAI Press, 2007: 1962-1963.
|
| [4] |
JI S, PAN S, CAMBRIA E, et al. A survey on knowledge graphs: representation, acquisition and applications [EB/OL]. (2021-04-01)[2021-04-20]. https://arxiv.org/abs/2002.00388.
|
| [5] |
GAO Y, LI Y, LIN Y, et al. Deep learning on knowledge graph for recommender system: a survey[EB/OL]. (2020-03-25) [2021-04-20]. https://arxiv.org/abs/2004.00387.
|
| [6] |
HUANG X, ZHANG J, LI D, et al. Knowledge graph embedding based question answering [C]//Proceedings of the Twelfth ACM International Conference on Web Search and Data Mining. New York: ACM, 2019: 105-113.
|
| [7] |
DAI Y, WANG S, XIONG N N, et al. A survey on knowledge graph embedding: approaches, applications and benchmarks[J].
Electronics, 2020, 9(5): 750.
DOI: 10.3390/electronics9050750. |
| [8] |
MIKOLOV T, SUTSKEVER I, CHEN K, et al. Distributed representations of words and phrases and their compositionality[J].
Advances in Neural Information Processing Systems, 2013, 26: 3111-3119.
|
| [9] |
BORDES A, USUNIER N, GARCIA-DURAN A, et al. Translating embeddings for modeling multi-relational data[C]// Proceedings of the 26th International Conference on Neural Information Processing Systems. Lake Tahoe: NIPS, 2013: 2787-2795.
|
| [10] |
LIN Y, LIU Z, SUN M, et al. Learning entity and relation embeddings for knowledge graph completion[C]//Proceedings of the AAAI Conference on Artificial Intelligence. Austin: AAAI Press, 2015: 2181-2187.
|
| [11] |
JI G, HE S, XU L, et al. Knowledge graph embedding via dynamic mapping matrix[C] //Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing. Beijing: ACL, 2015: 687-696.
|
| [12] |
WANG H, ZHANG F, ZHAO M, et al. Multi-task feature learning for knowledge graph enhanced recommendation[C]//Proceedings of the 2019 World Wide Web Conference. San Francisco: ACM, 2019: 2000-2010.
|
| [13] |
WANG Z, ZHANG J, FENG J, et al. Knowledge graph embedding by translating on hyperplanes[C] //In Proceedings of the Twenty-eighth AAAI Conference on Artificial Intelligence. Québec City: AAAI Press, 2014: 1112–1119.
|
| [14] |
DO K, TRAN T, VENKATESH S. Knowledge graph embedding with multiple relation projections[C]// 2018 24th International Conference on Pattern Recognition. Beijing: IEEE, 2018: 332-337.
|
| [15] |
ZHU Q, ZHOU X, TAN J, et al. Learning knowledge graph embeddings via generalized hyperplanes[C] //Proceedings of the 18th International Conference on Computational Science. Wuxi: Springer, 2018: 624-638.
|
| [16] |
ZEILER M D. Adadelta: an adaptive learning rate method[EB/OL]. (2012-12-22) [2021-04-20]. https://arxiv.org/abs/1212.5701v1.
|
| [17] |
BORDES A, GLOROT X, WESTON J, et al. Joint learning of words and meaning representations for open-text semantic parsing[C]// Proceedings of the Fifteenth International Conference on Artificial Intelligence and Statistics. La Palma: PMLR, 2012: 127-135.
|
| [18] |
BORDES A, WESTON J, COLLOBERT R, et al. Learning structured embeddings of knowledge bases[C]//In Proceedings of the Twenty-eighth AAAI Conference on Artificial Intelligence. San Francisco: AAAI Press, 2011: 301–306.
|
| [19] |
BORDES A, GLOROT X, WESTON J, et al. A semantic matching energy function for learning with multi-relational data[J].
Machine Learning, 2014, 94(2): 233-259.
DOI: 10.1007/s10994-013-5363-6. |
2022, Vol. 39

