基于新闻知识图谱的知识表示学习方法转让专利

申请号 : CN202211244954.8

文献号 : CN115329102B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 石文翔李光林李军

申请人 : 北京道达天际科技股份有限公司

摘要 :

本发明涉及基于新闻知识图谱的知识表示学习方法,包括步骤:构建训练实体向量的正样本集和对应的负样本集;使用word2vec模型训练得到字向量矩阵;将正样本集、负样本集输入TransE模型中,经过Embedding层后得到实体向量;同时将实体、关系拆分为字符,根据字向量矩阵得到字符对应的字向量;将实体向量和字向量进融合得到高维特征向量;分别计算正样本、负样本的距离分数,迭代计算TransE模型的损失函数,反向传播更新Embedding层的参数。本发明利用TransE模型学习到新闻知识图谱中实体的特征,并使用额外的字向量提高语义信息的丰富性,以及提高TransE模型的知识表达能力。

权利要求 :

1.基于新闻知识图谱的知识表示学习方法,其特征在于:包括以下步骤:

步骤S1,准备第一数据集,所述第一数据集为新闻知识图谱数据集,使用第一数据集构建训练实体向量的正样本集和对应的负样本集;准备第二数据集,所述第二数据集为与新闻知识图谱相关的语料数据集,将第二数据集输入word2vec模型训练得到字向量矩阵;

所述使用第一数据集构建训练实体向量的正样本集和对应的负样本集的步骤,包括:使用已有的新闻知识图谱的数据,按照<头实体,关系,尾实体>的形式构建若干三元组数据,最终生成文本文档txt的形式;文本文档txt的每一行均由<头实体,关系,尾实体>构成,形成正样本集;

将文本文档txt中各三元组数据的头实体或者关系或者尾实体进行随机替换,形成负样本集;

步骤S2,将正样本集与对应的负样本集组成正负样本对分批输入TransE模型中,经过TransE模型的Embedding层后得到对应的实体向量;同时将输入的正负样本对中的实体、关系拆分为字符,根据字向量矩阵得到字符对应的字向量;

步骤S3,将步骤S2获得的实体向量和字向量进行融合,得到高维特征向量;

步骤S4,根据高维特征向量分别计算正样本、负样本的距离分数,使用距离分数迭代计算TransE模型的损失函数,根据损失函数反向传播不断更新TransE模型的Embedding层的参数;

所述根据高维特征向量,分别计算正样本集、负样本集的距离分数的步骤,包括:所述高维特征向量以<头实体向量,关系向量,尾实体向量>的形式表示,正样本集的高维特征向量中lh为头实体向量,lr为关系向量,lt为尾实体向量;负样本的高维特征向量中lh`为头实体向量,lr`为关系向量,lt`为尾实体向量;

所述正样本集的距离分数L为: ;

所述负样本集的距离分数L`为: ;

所述使用距离分数迭代计算TransE模型的损失函数,根据损失函数反向传播不断更新TransE模型的Embedding层的参数的步骤,包括:使用正样本集和负样本集的距离分数L、L`迭代计算TransE模型的损失函数Loss:其中,h表示正样本集中的头实体,r表示正样本集中的关系,t表示正样本集中的尾实体,S表示正样本集;h`表示负样本集中的头实体,r`表示负样本集中的关系,t`表示负样本集中的尾实体,S`表示负样本集;n表示高维特征向量的维度,i表示高维特征向量的第i个维度;Li表示第i个维度的正样本集距离分数,L`i表示第i个维度的负样本集距离分数;

(lh)i表示正样本中第i个维度的头实体向量的值,(lr)i表示正样本集中第i个维度的关系向量的值,(lt)i表示正样本集中第i个维度的尾实体向量的值;(lh`)i表示负样本集中第i个维度的头实体向量的值,(lr`)i表示负样本集中第i个维度的关系向量的值,(lt`)i表示负样本集中第i个维度的尾实体向量的值;

表示边距超参数,且 ; 表示权重超参数;[  ]+表示正数部分;

表示正样本集中头实体向量加关系向量与负样本集中头实体向量加

关系向量之间的余弦相似度。

2.根据权利要求1所述的基于新闻知识图谱的知识表示学习方法,其特征在于:所述使用第一数据集构建训练实体向量的正样本集和对应的负样本集的步骤,还包括:分别对正样本集、负样本集中的三元组数据构建实体字典、关系字典、头实体集合、尾实体集合;所述实体字典为所有的实体及其对应的ID,内容格式为{实体:实体ID},其中实体包括头实体、尾实体;所述关系字典为所有关系及其对应的ID,内容格式为{关系:关系ID};所述头实体集合中的内容是头实体以及以该实体为头实体的所有尾实体;所述尾实体集合中的内容是尾实体以及以该实体为尾实体的所有头实体。

3.根据权利要求2所述的基于新闻知识图谱的知识表示学习方法,其特征在于:所述将第二数据集输入word2vec模型训练得到字向量矩阵的步骤,包括:收集与新闻知识图谱相关的语料数据,将所有语料数据进行分字处理,再过滤特殊符号,去除停用词;

使用word2vec模型的skip‑gram算法对语料数据中的字符进行训练,得到字向量,生成向量模型文件;所述向量模型文件中包含所有字符、字符对应的字向量,以及字向量矩阵;

将字符和字符的ID存入词典文件,字符的ID为该字符对应的字向量在字向量矩阵中的位置;将字向量矩阵作为字向量Embedding层的初始化参数。

4.根据权利要求3所述的基于新闻知识图谱的知识表示学习方法,其特征在于:所述同时将输入的正负样本对中的实体、关系拆分为字符,根据字向量矩阵得到字符对应的字向量的步骤,包括:将实体字典、关系字典中的实体、关系拆分为字符,从词典文件中查找拆分的各个字符对应的ID;将字符的ID输入字向量Embedding层输出得到该字符在字向量矩阵中的位置,从而获得该字符对应的字向量。

5.根据权利要求1所述的基于新闻知识图谱的知识表示学习方法,其特征在于:所述将步骤S2获得的实体向量和字向量进行融合,得到高维特征向量的步骤,包括:将实体、关系拆分为字符后获得的对应的各个字向量进行融合,在融合时以求平均的方式进行融合;

将融合后的字向量与步骤S2获得的实体向量进行融合,在融合时以拼接的方式进行融合,得到高维特征向量。

说明书 :

基于新闻知识图谱的知识表示学习方法

技术领域

[0001] 本发明涉及信息分析处理技术领域,特别涉及一种基于新闻知识图谱的知识表示学习方法。

背景技术

[0002] 传统基于翻译距离模型的知识图谱对新闻知识的表示学习方法通常独立地学习三元组,而忽视知识图谱的语义信息,并且如果遇到未出现过的实体信息,就会出现oov的问题,使得知识图谱的知识表示的准确性受到严重的影响。
[0003] 目前,知识图谱的知识表示学习方法主要有四类:一是翻译距离模型,如TransE、TransH、CTransR、SE模型等;二是语义匹配模型,如RESCAL、NTN、MLP模型等;三是随机游走模型,如DeepWalk、LINE、node2vec模型等;四是子图汇聚模型,如GCN、GAT、GraphSage模型等。
[0004] 翻译距离模型这类的模型是将尾节点看作头节点加关系的翻译结果,使用基于距离的评分函数来估计三元组的概率。其中TransE模型相对简单,且具有良好的性能,但是其独立地学习三元组而忽视知识图谱的语义信息。而其他模型如CTransR模型的参数过多,计算起来比较复杂,无法适用于大规模的知识图谱。
[0005] 语义匹配模型是基于相似度的评分函数,实体用向量表示,关系适用矩阵表示,然后进行建模,计算头实体和尾实体的相似度等,来判断三元组的概率。其中一些模型过于简化,只能处理对称关系。语义匹配模型中的神经张量网络模型(NTN)是最具表达能力的模型,但是它的参数过多,处理大型的知识图谱效率很差。
[0006] 随机游走模型和子图汇聚模型侧重点是学习的网络结构信息,表达能力有所欠缺。

发明内容

[0007] 本发明的目的在于利用TransE模型学习到新闻中字向量特征的知识表达,提高语义信息的丰富性,以及提高TransE模型的知识表达能力,提供一种基于新闻知识图谱的知识表示学习方法。
[0008] 为了实现上述发明目的,本发明实施例提供了以下技术方案:
[0009] 基于新闻知识图谱的知识表示学习方法,包括以下步骤:
[0010] 步骤S1,准备第一数据集,所述第一数据集为新闻知识图谱数据集,使用第一数据集构建训练实体向量的正样本集和对应的负样本集;准备第二数据集,所述第二数据集为与新闻知识图谱相关的语料数据集,将第二数据集输入word2vec模型训练得到字向量矩阵;
[0011] 步骤S2,将正样本集与对应的负样本集组成正负样本对分批输入TransE模型中,经过TransE模型的Embedding层后得到对应的实体向量;同时将输入的正负样本对中的实体、关系拆分为字符,根据字向量矩阵得到字符对应的字向量;
[0012] 步骤S3,将步骤S2获得的实体向量和字向量进行融合,得到高维特征向量;
[0013] 步骤S4,根据高维特征向量分别计算正样本、负样本的距离分数,使用距离分数迭代计算TransE模型的损失函数,根据损失函数反向传播不断更新TransE模型的Embedding层的参数。
[0014] 所述使用第一数据集构建训练实体向量的正样本集和对应的负样本集的步骤,包括:
[0015] 使用已有的新闻知识图谱的数据,按照<头实体,关系,尾实体>的形式构建若干三元组数据,最终生成文本文档txt的形式;文本文档txt的每一行均由<头实体,关系,尾实体>构成,形成正样本集;
[0016] 将文本文档txt中各三元组数据的头实体或者关系或者尾实体进行随机替换,形成负样本集;
[0017] 分别对正样本集、负样本集中的三元组数据构建实体字典、关系字典、头实体集合、尾实体集合;所述实体字典为所有的实体及其对应的ID,内容格式为{实体:实体ID},其中实体包括头实体、尾实体;所述关系字典为所有关系及其对应的ID,内容格式为{关系:关系ID};所述头实体集合中的内容是头实体以及以该实体为头实体的所有尾实体;所述尾实体集合中的内容是尾实体以及以该实体为尾实体的所有头实体。
[0018] 所述将第二数据集输入word2vec模型训练得到字向量矩阵的步骤,包括:
[0019] 收集与新闻知识图谱相关的语料数据,将所有语料数据进行分字处理,再过滤特殊符号,去除停用词;
[0020] 使用word2vec模型的skip‑gram算法对语料数据中的字符进行训练,得到字向量,生成向量模型文件;所述向量模型文件中包含所有字符、字符对应的字向量,以及字向量矩阵;
[0021] 将字符和字符的ID存入词典文件,字符的ID为该字符对应的字向量在字向量矩阵中的位置;将字向量矩阵作为字向量Embedding层的初始化参数。
[0022] 所述同时将输入的正负样本对中的实体、关系拆分为字符,根据字向量矩阵得到字符对应的字向量的步骤,包括:
[0023] 将实体字典、关系字典中的实体、关系拆分为字符,从词典文件中查找拆分的各个字符对应的ID;将字符的ID输入字向量Embedding层输出得到该字符在字向量矩阵中的位置,从而获得该字符对应的字向量。
[0024] 所述将步骤S2获得的实体向量和字向量进行融合,得到高维特征向量的步骤,包括:
[0025] 将实体、关系拆分为字符后获得的对应的各个字向量进行融合,在融合时以求平均的方式进行融合;
[0026] 将融合后的字向量与步骤S2获得的实体向量进行融合,在融合时以拼接的方式进行融合,得到高维特征向量。
[0027] 所述根据高维特征向量,分别计算正样本集、负样本集的距离分数的步骤,包括:
[0028] 所述高维特征向量以<头实体向量,关系向量,尾实体向量>的形式表示,正样本集的高维特征向量中lh为头实体向量,lr为关系向量,lt为尾实体向量;负样本的高维特征向量中lh`为头实体向量,lr`为关系向量,lt`为尾实体向量;
[0029] 所述正样本集的距离分数L为: ;
[0030] 所述负样本集的距离分数L`为: 。
[0031] 所述使用距离分数迭代计算TransE模型的损失函数,根据损失函数反向传播不断更新TransE模型的Embedding层的参数的步骤,包括:
[0032] 使用正样本集和负样本集的距离分数L、L`迭代计算TransE模型的损失函数Loss:
[0033]
[0034]
[0035]
[0036] 其中,h表示正样本集中的头实体,r表示正样本集中的关系,t表示正样本集中的尾实体,S表示正样本集;h`表示负样本集中的头实体,r`表示负样本集中的关系,t`表示负样本集中的尾实体,S`表示负样本集;n表示高维特征向量的维度,i表示高维特征向量的第i个维度;Li表示第i个维度的正样本集距离分数,L`i表示第i个维度的负样本集距离分数;
[0037] (lh)i表示正样本中第i个维度的头实体向量的值,(lr)i表示正样本集中第i个维度的关系向量的值,(lt)i表示正样本集中第i个维度的尾实体向量的值;(lh`)i表示负样本集中第i个维度的头实体向量的值,(lr`)i表示负样本集中第i个维度的关系向量的值,(lt`)i表示负样本集中第i个维度的尾实体向量的值;
[0038] 表示边距超参数,且 ; 表示权重超参数;[  ]+表示正数部分;表示正样本集中头实体向量加关系向量与负样本集中头实体向量
加关系向量之间的余弦相似度。
[0039] 与现有技术相比,本发明的有益效果:
[0040] 本发明基于TransE模型能输出实体向量的能力,让TransE模型去学习新闻中字向量的特征的知识表达,并把实体向量与字向量进行融合,以提高语义信息的丰富度,通过距离分数计算损失函数,迭代更新TransE模型的Embedding层的参数,使得TransE模型通过迭代训练后能输出准确的实体向量。

附图说明

[0041] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0042] 图1为本发明方法流程示意图。

具体实施方式

[0043] 下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0044] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性,或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
[0045] 实施例:
[0046] 本发明通过下述技术方案实现,如图1所示,一种基于新闻知识图谱的知识表示学习方法,包括以下步骤:
[0047] 步骤S1,准备第一数据集,所述第一数据集为新闻知识图谱数据集,使用第一数据集构建训练实体向量的正样本集和对应的负样本集;准备第二数据集,所述第二数据集为与新闻知识图谱相关的语料数据集,将第二数据集输入word2vec模型训练得到字向量矩阵。
[0048] 准备数据集时需要准备两类数据集,分别为第一数据集、第二数据集,其中所述第一数据集为新闻知识图谱数据集;第二数据集为与新闻知识图谱相关的语料数据集,包括但不限于科普文章、百科、教学资料等。
[0049] 使用已有的新闻知识图谱的数据,按照<头实体,关系,尾实体>的形式构建若干三元组数据,最终生成文本文档txt的形式,文本文档txt的每一行均由<头实体,关系,尾实体>构成,形成正样本集。
[0050] 比如一则新闻知识图谱的数据为“2008年北京成功举办奥运会”,则构建的三元组数据可能为<北京,举办,奥运会>,其中“北京”是头实体,“举办”是关系,“奥运会”是尾实体;同样还有三元组数据<李忆如,母亲,赵灵儿>,<中国,首都,北京>等等,若干的三元组数据则定义为正样本集,也就是头实体、关系、尾实体均是正确的样本集。
[0051] 将正样本集中的三元组数据随机打乱,定义为负样本集。比如<北京,首都,赵灵儿>就是把一个三元组数据中的头实体或者关系或者尾实体进行随机打乱了,这样可以增强模型训练的能力。
[0052] 后续分别对正样本集、负样本集做相同的处理,以便后续能计算正样本集、负样本集的距离分数,使得TransE模型训练更加准确,但本实施例仅以正样本集的处理进行说明。
[0053] 根据正样本集中的三元组数据构建实体字典、关系字典、头实体集合、尾实体集合;所述实体字典为所有的实体及其对应的ID,内容格式为{实体:实体ID},其中实体包括头实体、尾实体;所述关系字典为所有关系及其对应的ID,内容格式为{关系:关系ID};所述头实体集合中的内容是头实体以及以该实体为头实体的所有尾实体;所述尾实体集合中的内容是尾实体以及以该实体为尾实体的所有头实体。
[0054] 将第二数据集进行分字处理,再过滤特殊符号,去除停用词,比如去除频次少于3的字符。使用word2vec模型的skip‑gram算法对第二数据集中的字符进行训练,得到字向量,生成向量模型文件;所述向量模型文件中包含所有字符、字符对应的字向量,以及字向量矩阵。
[0055] 在word2vec模型的外部有一个字向量Embedding层,将向量模型文件中的字向量矩阵作为该字向量Embedding层的初始化参数。将字符和字符的ID存入词典文件,字符的ID为该字符对应的字向量在字向量矩阵中的位置。
[0056] 步骤S2,将正样本集与对应的负样本集组成正负样本对分批输入TransE模型中,经过TransE模型的Embedding层后得到对应的实体向量;同时将输入的正负样本对中的实体、关系拆分为字符,根据字向量矩阵得到字符对应的字向量。
[0057] TransE模型中有Embedding层(区别于步骤S1所述的字向量Embedding层),在训练之前Embedding层的初始化参数为正态分布随机参数,所以未训练的TransE模型输出的实体向量是不准确的。正样本集与对应的负样本集组成正负样本对后,将实体字典、关系字典中的实体、关系输入TransE模型的Embedding层,获得实体对应的实体向量,本方案通过后续的训练过程对TransE模型的Embedding层的参数(即初始化参数)进行不断地更新,使得TransE模型输出的实体向量越来越准确。
[0058] 具体训练过程为,将实体字典、关系字典中的实体、关系拆分为字符,从词典文件中查找拆分的各个字符对应的ID,将字符的ID输入字向量Embedding层输出得到该字符在字向量矩阵中的位置,从而获得该字符对应的字向量。
[0059] 比如一个三元组数据为<北京,举办,奥运会>,将其中头实体“北京”拆分为字符“北”、“京”,然后可以在词典文件中查找到“北”、“京”对应的ID;关系、尾实体同理。将字符的ID输入字向量Embedding层,则可以在字向量矩阵中找到字符的位置,从而得到字符相应的字向量。
[0060] 步骤S3,将步骤S2获得的实体向量和字向量进行融合,得到高维特征向量。
[0061] 实体向量与字向量进行融合的目的是为了增加对应向量包含信息的丰富度,可以对当前实体和/或关系进行更好的表征。向量融合的方式有两种,一种是拼接的方式,即将两个向量拼接在一起,这样会增加向量的维度,拼接后的向量维度为拼接前两个向量维度的加和。另一种是求平均的方式,即将两个向量进行相加,然后在此基础上计算平均,但要求融合的两个向量的维度要完全一样,并且融合之后的向量维度不变,依旧是融合之前的维度。
[0062] 由于已经对三元组数据进行字符进行拆分了,并且每个字符对应的字向量维度都是完全一样的,比如对三元组数据<北京,举办,奥运会>进行拆分后的字符为“北”、“京”、“举”、“办”、“奥”、“运”、“会”,将这些字符的ID输入字向量Embedding层后,得到各自对应的字向量的维度都是相同的。
[0063] 在进行实体向量和字向量融合之前,需要先进行字向量的融合,因为一个实体一般由多个字符组成,先将拆分后的多个字符对应的字向量进行融合,那么融合的字向量能包含多个字符组合的信息。比如将头实体的字符“北”、“京”对应的字向量进行融合,由于字向量的维度都是相同的,所以对于字向量融合选择求平均的方式,可以降低维度空间。同样,将关系的字符“举”、“办”对应的字向量进行融合,将尾实体的字符“奥”、“运”、“会”对应的字向量进行融合,融合之后还是字向量。
[0064] 接着再将步骤S1中TransE模型获得的实体向量与上述获得的字向量进行融合,比如头实体“北京”的实体向量与字符“北”、“京”对应的字向量融合后的字向量再进行融合。由于实体由多个字符组成,实体向量与字向量的维度不同,所以对于实体向量与字向量的融合选择拼接的方式。
[0065] 将实体向量与字向量进行融合后,就得到的高维特征向量。
[0066] 步骤S4,根据高维特征向量分别计算正样本、负样本的距离分数,使用距离分数迭代计算TransE模型的损失函数,根据损失函数反向传播不断更新TransE模型的Embedding层的参数。
[0067] 所述高维特征向量以<头实体向量,关系向量,尾实体向量>的形式表示,正样本集的高维特征向量中lh为头实体向量,lr为关系向量,lt为尾实体向量;负样本的高维特征向量中lh`为头实体向量,lr`为关系向量,lt`为尾实体向量。
[0068] 作为一种可实施方式,所述正样本集的距离分数L为: ;所述负样本集的距离分数L`为: 。
[0069] 作为另一种可实施方式,所述正样本集的距离分数L为: ;所述负样本集的距离分数L`为: 。
[0070] 需要说明的是, 只是理想状态,本次训练损失函数就是为了让该等式能成立,距离分数L越趋紧于0,则说明训练的效果越好,TransE模型输出的实体向量越准确。
[0071] 可以选择上述任一中实施方式计算损失函数,本实施例选择第一种实施方式,使用正样本集和负样本集的距离分数L、L`迭代计算TransE模型的损失函数Loss:
[0072]
[0073]
[0074]
[0075] 其中,h表示正样本集中的头实体,r表示正样本集中的关系,t表示正样本集中的尾实体,S表示正样本集;h`表示负样本集中的头实体,r`表示负样本集中的关系,t`表示负样本集中的尾实体,S`表示负样本集;n表示高维特征向量的维度,i表示高维特征向量的第i个维度;Li表示第i个维度的正样本集距离分数,L`i表示第i个维度的负样本集距离分数;
[0076] (lh)i表示正样本中第i个维度的头实体向量的值,(lr)i表示正样本集中第i个维度的关系向量的值,(lt)i表示正样本集中第i个维度的尾实体向量的值;(lh`)i表示负样本集中第i个维度的头实体向量的值,(lr`)i表示负样本集中第i个维度的关系向量的值,(lt`)i表示负样本集中第i个维度的尾实体向量的值;
[0077] 表示边距超参数,且 ; 表示权重超参数;[  ]+表示正数部分;表示正样本集中头实体向量加关系向量与负样本集中头实体向量
加关系向量之间的余弦相似度。
[0078] 通过损失函数Loss反向传播不断更新TransE模型的Embedding层的初始化参数(也叫参数),直到模型收敛,或达到训练迭代次数,这样就能不断的提高TransE模型输出实体向量的准确度。当TransE模型训练完毕后,在应用时,将新闻文本直接输入TransE模型,就可以得到准确的实体向量了。
[0079] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。