一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种实体对象编码方法、装置、电子设备和存储介质与流程

2021-11-05 18:24:00 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,尤其涉及一种实体对象编码方法、装置、电子设备和存储介质。


背景技术:

2.在知识图谱中,知识通过三元组的方式来表示。目前各种基于知识图谱的机器学习方法都需要先将知识图谱中的三元组信息表达为实体编码信息。因此,实体对象编码对于基于知识图谱的任务来说十分重要。在相关技术中,主要用来做实体对象编码的方法为基于深度学习的方法。这种方法本质来说是在求解一个深度学习任务“学习知识图谱的实体编码:任务的输入是知识图谱中的三元组,任务的输出是各个实体对象的编码。对于数据量较少的实体对象,由于与其相关的三元组的数量较少,所学习到的编码会有较大误差。


技术实现要素:

3.本技术实施例提供一种实体对象编码方法、装置、电子设备和存储介质,用以提高实体对象编码的准确性。
4.本技术实施例提供的一种实体对象编码方法,包括:
5.获取待编码知识图谱中的各个实体对象,其中,所述待编码知识图谱包括所述各个实体对象之间的关联关系;
6.分别对所述各个实体对象进行编码,获得所述各个实体对象对应的实体嵌入特征,以及分别对所述各个实体对象的实体类别进行编码,获得所述各个实体对象的实体类别对应的类别嵌入特征,其中,所述各个实体对象的实体类别是通过对对应的实体嵌入特征进行类别语义分析确定的;
7.分别将所述各个实体对象对应的实体嵌入特征和对应的类别嵌入特征进行融合,获得所述各个实体对象对应的实体编码信息。
8.本技术实施例提供的一种实体对象编码装置,包括:
9.获取单元,用于获取待编码知识图谱中的各个实体对象,其中,所述待编码知识图谱包括所述各个实体对象之间的关联关系;
10.编码单元,用于分别对所述各个实体对象进行编码,获得所述各个实体对象对应的实体嵌入特征,以及分别对所述各个实体对象的实体类别进行编码,获得所述各个实体对象的实体类别对应的类别嵌入特征,其中,所述各个实体对象的实体类别是通过对对应的实体嵌入特征进行类别语义分析确定的;
11.融合单元,用于分别将所述各个实体对象对应的实体嵌入特征和对应的类别嵌入特征进行融合,获得所述各个实体对象对应的实体编码信息。
12.可选的,所述编码单元具体用于:
13.将所述待编码知识图谱输入已训练的实体对象编码模型,基于所述实体对象编码模型中的实体对象嵌入子网络对所述各个实体对象进行编码,获得所述各个实体对象对应
的实体嵌入特征;
14.将所述各个实体对象对应的实体嵌入特征输入所述实体对象编码模型中的链接子网络,基于所述链接子网络对所述各个实体对象的实体嵌入特征进行类别语义分析,获得所述各个实体对象的实体类别对应的类别嵌入特征。
15.可选的,所述装置还包括训练单元,用于通过下列方式训练获得所述实体对象编码模型:
16.根据所述训练样本数据集中的训练样本,对实体对象编码模型执行循环迭代训练,并在训练完毕时,输出训练完毕的实体对象编码模型;其中,在一次循环迭代训练过程中执行以下操作:
17.从所述训练样本数据集中选取一组训练样本,所述一组训练样本包括第一样本知识图谱和第二样本知识图谱,其中,所述第一样本知识图谱与所述第二样本知识图谱包含至少一对作为同义词的实体对象;
18.将所述第一样本知识图谱以及所述第二样本知识图谱输入所述实体对象编码模型的实体对象嵌入子网络,基于所述实体对象嵌入子网络,对所述第一样本知识图谱,以及所述第二样本知识图谱中的各个实体对象进行编码,获得所述各个实体对象对应的实体嵌入特征;以及,基于所述各个实体对象对应的预测实体嵌入特征,对所述实体对象嵌入子网络进行参数调整;
19.将所述各个实体对象对应的实体嵌入特征输入所述实体对象编码模型的链接子网络,基于所述链接子网络,对所述各个实体对象的预测实体嵌入特征进行类别语义分析,获得所述各个实体对象的实体类别对应的第一预测类别嵌入特征;以及,基于所述各个实体对象的实体类别对应的第一预测类别嵌入特征,对所述链接子网络进行参数调整。
20.可选的,所述一组训练样本还包括实体类别知识集合,所述实体类别知识集合包含所述第一样本知识图谱以及所述第二样本知识图谱中的各个实体对象的实体类别,且实体类别之间具有层次化关系;所述实体对象编码模型还包括实体类别知识嵌入子网络;所述训练单元还用于:
21.将所述实体类别知识集合输入所述实体对象编码模型的实体类别知识嵌入子网络,基于所述实体类别知识嵌入子网络对所述实体类别知识集合中的各个实体类别进行编码,获得所述各个实体类别对应的第二预测类别嵌入特征;以及,基于所述各个实体类别对应的第二预测类别嵌入特征,对所述实体类别知识嵌入子网络进行参数调整。
22.可选的,所述实体对象编码模型还包括嵌入优化子网络;所述训练单元还用于:
23.在所述获得所述各个实体类别对应的第二预测类别嵌入特征之后,基于所述嵌入优化子网络,获取所述实体类别知识集合中的每两个实体类别之间的冲突概率,并基于所述冲突概率对所述每两个实体类别对应的第二预测类别嵌入特征进行调整;以及,基于调整后的各个第二预测实体类别嵌入特征对所述嵌入优化子网络进行参数调整;其中,所述冲突概率用于表征所述两个实体类别之间的类别冲突程度。
24.可选的,所述训练单元具体用于:
25.基于所述各个实体对象对应的预测实体嵌入特征,确定包含所述各个实体对象的三元组对应的向量差,其中,所述预测实体嵌入特征为嵌入表示向量,包含所述各个实体对象的三元组对应的向量差为所述三元组中的头实体对象嵌入表示向量以及关系嵌入表示
向量的和,与所述尾实体对象嵌入表示向量的差;
26.基于第一正样本对应的向量差,以及第一负样本对应的向量差构建实体对象嵌入损失函数,并基于所述实体对象嵌入损失函数对所述实体对象嵌入子网络进行参数调整,其中,所述第一正样本为所述第一样本知识图谱或所述第二样本知识图谱中的三元组,所述第一负样本是通过随机替换所述第一正样本中的头实体对象或尾实体对象生成的。
27.可选的,所述训练单元具体用于:
28.根据所述实体类别知识集合中的各个实体类别之间的层次化关系,获取多个实体类别对,其中,每个实体类别对包括子类,以及所述子类所属的父类;
29.针对各个实体类别对都执行以下操作:对于所述各个实体类别对的一个实体类别对,获取所述一个实体类别对中的子类与所述子类所属的父类之间的非线性转换特征,其中,所述非线性转换特征用于表征所述一个实体类别对中的子类对应的第二预测类别嵌入特征与所述子类所属的父类对应的第二预测类别嵌入特征之间的非线性转换关系;
30.基于第二正样本对应的非线性转换特征,以及第二负样本对应的非线性转换特征,构建实体类别知识嵌入损失函数,并基于所述实体类别知识嵌入损失函数对所述实体类别知识嵌入子网络进行参数调整,其中,所述第二正样本为所述实体类别知识集合中的实体类别对,所述第二负样本是通过随机替换所述第二正样本中的子类或父类生成的。
31.可选的,所述训练单元具体用于:
32.针对所述实体类别知识集合中的每两个实体类别,分别执行以下操作:对于所述每两个实体类别中的两个实体类别,基于所述两个实体类别对应的调整后的第二预测类别嵌入特征之间的距离,与根据所述类别冲突矩阵确定的所述两个实体类别对应的冲突概率,构建负对数似然损失函数;
33.基于所述负对数似然损失函数对所述实体对象编码模型中的嵌入优化子网络进行参数调整,以使期望冲突的两个实体类别对应的第二预测类别嵌入特征之间的距离,大于不冲突的两个实体类别对应的第二预测类别嵌入特征之间的距离。
34.可选的,所述训练单元具体用于:
35.针对所述第一样本知识图谱或所述第二样本知识图谱中的各个实体对象,分别执行以下操作:对于所述各个实体对象中的一个实体对象,基于所述一个实体对象对应的第一预测类别嵌入特征与对应的第二预测类别嵌入特征之间的误差,构建链接损失函数;
36.基于所述链接损失函数对所述实体对象编码模型中的链接子网络进行参数调整。
37.可选的,所述实体对象编码模型还包括联合表示子网络,所述训练单元还用于:
38.将所述各个实体对象的实体编码信息输入所述联合表示子网络,基于所述联合表示子网络,对所述第一样本知识图谱和所述第二样本知识图谱中未被识别出的同义词进行标记;以及
39.基于所述实体对象编码模型标记的同义词,对所述实体对象编码模型进行参数调整。
40.可选的,所述训练单元具体用于:
41.对于两个作为同义词的实体对象,基于两个实体对象的实体编码信息构建联合表示损失函数;
42.基于所述联合表示损失函数对所述实体对象编码模型进行参数调整。
43.可选的,所述装置还包括任务执行单元,用于执行以下操作之一:
44.基于所述各个实体对象的实体编码信息进行同义词挖掘,确定所述待编码知识图谱中的同义词;
45.基于所述各个实体对象的实体编码信息进行知识聚类;
46.基于所述各个实体对象的实体编码信息进行路径推断,得到对应的意图路径,将所述意图路径所指向的知识图谱结果作为问答结果。
47.本技术实施例提供的一种电子设备,包括处理器和存储器,其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行上述一种实体对象编码方法的步骤。
48.本技术实施例提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任意一种实体对象编码方法的步骤。
49.本技术实施例提供一种计算机可读存储介质,其包括程序代码,当所述程序产品在电子设备上运行时,所述程序代码用于使所述电子设备执行上述一种实体对象编码方法的步骤。
50.本技术有益效果如下:
51.本技术实施例提供了一种实体对象编码方法、装置、电子设备和存储介质。本技术实施例将用于表示实体对象的实体类别的本体知识引入到实体对象编码的过程中,由于本体是一种树状结构的知识,树中相距越远的节点语义越接近、相距越近的节点语义越不接近。因此本技术实施例中借助本体知识,为数据量较少的实体对象进行指导,从而克服其误差,使得不太相关的实体的编码在编码空间中远离、较相关的实体的编码在编码空间中接近,使得知识图谱中的每个实体对象可以利用其本体所指出的共现关系和非共现关系,提升了实体对象的编码质量,提高了实体对象编码的准确度。
52.本技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术而了解。本技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
53.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
54.图1a为本技术实施例中的一种应用场景的一个可选的示意图;
55.图1b为本技术实施例中的一种知识图谱的示意图;
56.图2为本技术实施例中的一种实体对象编码方法的一个可选的流程示意图;
57.图3为本技术实施例中的一种基于实体对象编码模型实现的实体对象编码方法方法的一个可选的流程示意图;
58.图4a为本技术实施例中的第一种下游任务执行方法的流程示意图;
59.图4b为本技术实施例中的第二种下游任务执行方法的流程示意图;
60.图4c为本技术实施例中的第三种下游任务执行方法的流程示意图;
61.图5为本技术实施例中的一种实体对象编码模型的训练方法的简单流程图;
62.图6a为本技术实施例中的一种实体对象编码模型的结构示意图;
63.图6b为本技术实施例中的一种实体类别知识集合的示意图;
64.图7为本技术实施例中的一种实体对象编码模型的训练方法的完整流程图;
65.图8为本技术实施例中的一种实体对象编码装置的组成结构示意图;
66.图9为应用本技术实施例的一种电子设备的一个硬件组成结构示意图;
67.图10为应用本技术实施例的另一种电子设备的一个硬件组成结构示意图。
具体实施方式
68.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术技术方案的一部分实施例,而不是全部的实施例。基于本技术文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术技术方案保护的范围。
69.下面对本技术实施例中涉及的部分概念进行介绍。
70.知识图谱(knowledge graph,kg):是结构化的语义知识库,用于迅速描述物理世界中的概念及其相互关系。由一些相互连接的实体对象(简称客体)和他们的属性构成的。换句话说,知识图谱是由一条条知识组成,每条知识表示为一个主谓宾(subject

predicate

object,spo)三元组。例如:猫是动物。取值,猫:主语;是:谓词,用来描述或判定客体性质、特征或者客体之间的关联关系的词项;动物:宾语。知识图谱以结构化的形式描述客观世界中概念、实体对象及其关联关系,在技术上就是将数据以一个一个的三元组的形式存储起来。知识图谱的集合,链接起来成为一个图,每个节点是一个一个实体对象,每条边是一个关系,或者说是一个事实。
71.实体对象和关联关系:实体对象指的是具有可区别性且独立存在的某种事物,是知识图谱中的最基本元素,不同的实体对象间存在不同的关联关系。实体对象是对现实对象的一种抽象与概括,指客观存在的具体东西,通常指实际存在的、起作用的组织、机构、物品、人物等名词。三元组中的subject和object都是实体对象,其中subject也可称作头实体对象,object也可称作尾实体对象。关联关系用于连接不同的实体对象,指代实体对象之间的联系。通过关系节点把知识图谱中的节点连接起来,形成一张大图。
72.本体:是指实体对象的抽象类别。实际上就是对特定领域之中某套概念及其相互之间关系的形式化表达。通俗理解:本体在定义一个知识系统的世界观,告诉我们这个知识系统里面有人、有山、有水、水是液体、人需要喝水等等。在本技术实施例中,本体是一种树状结构的知识,树中相距越远的节点语义越接近、相距越近的节点语义越不接近。
73.编码:由于深度学习算法本身难以处理离散变量。因此需要将离散变量表达为连续变量。这个过程称为编码。本技术实施例中的实体编码信息就是基于实体对象的编码而得到的连续变量。
74.翻译嵌入(translating embedding,transe):是一种基于嵌入表示学习的方法,具体是指把三元组翻译成嵌入(embedding)词向量。三元组,也就是(头实体对象,关联关系,尾实体对象)的形式,头实体对象和尾实体对象统称为实体对象。为了简化起见,本技术
实施例中用(h,r,t)来表示三元组。
75.路径覆盖:是指选取足够多的测试数据,使程序的每条可能路径都至少执行一次(如果程序图中有环,则要求每个环至少经过一次)。在本技术实施例中,路径在本体知识集合中,依据实体类别之间的层次关系和可传递性,确定的某一类别至根节点的路径,路径中的各个节点都表示实体类别。
76.人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
77.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
78.其中,机器学习(machine learning,ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
79.自然语言处理,是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
80.本技术实施例在对知识图谱中的实体对象进行编码时,采用机器学习的实体对象编码模型。在本技术实施例中提出的训练实体对象编码模型的方法可分为两部分,包括训练部分和应用部分;其中,训练部分就涉及到机器学习这一技术领域,在训练部分中,通过机器学习这一技术训练实体对象编码模型,使得本技术实施例中给出的包含至少一个第一样本知识图谱,第二样本知识图谱以及本体知识集合的训练样本数据集来训练实体对象编码模型,训练样本通过实体对象编码模型后,获取实体对象编码模型的输出结果,结合输出结果,通过优化算法不断调整模型参数;应用部分用于使用在训练部分训练获得的实体对象编码模型来对待编码知识图谱中的各个实体对象进行编码,本体识别等,最终得到各个实体对象的实体嵌入特征,以及各个实体对象的实体类别的类别嵌入特征,进而将各个实体对象的实体嵌入特征以及对应的类别嵌入特征进行融合,即可得到各个实体对象对应的实体编码信息。另外,还需要说明的是,本技术实施例中实体对象编码模型可以是在线训练也可以是离线训练,在此不做具体限定。在本技术实施例中是以离线训练为例进行举例说明的。
81.下面对本技术实施例的设计思想进行简要介绍:
82.在知识图谱中,知识通过三元组的方式来表示。目前各种基于知识图谱的机器学习方法都需要先将知识图谱中的三元组信息表达为实体编码信息。因此,实体对象编码对于基于知识图谱的任务来说十分重要。
83.在相关技术中,主要用来做实体对象编码的方法除了上述所列举的基于深度学习的方法之外,常见的还有基于概率统计的方法。具体的,该方法会统计三元组之间的多种条件概率值,例如对于某一实体对象计算出p(subject|predicate,object)、p(predicate|subject,object)、p(object|subject,predicate),然后将这些概率值构建为该实体对象的编码。上述方式构建的编码比较生硬,其严格依赖于数据集中的条件概率,使得其受数据集的偏置的影响较大通用性不好,且不易控制编码的向量维度。而基于深度学习的方法所学习到的编码会有较大误差,这种误差表现为不太相关的实体对象的编码在编码空间中距离过近,或者是表现为较相关的实体对象的编码在编码空间中距离过远。
84.有鉴于此,本技术实施例提出了一种实体对象编码方法、装置、电子设备和存储介质。具体的,本技术实施例将用于表示实体对象的实体类别的本体知识引入到实体对象编码的过程中,由于本体是一种树状结构的知识,树中相距越远的节点语义越接近、相距越近的节点语义越不接近。因此本技术实施例中借助本体知识,为数据量较少的实体对象进行指导,从而克服其误差,使得不太相关的实体的编码在编码空间中远离、较相关的实体的编码在编码空间中接近,使得知识图谱中的每个实体对象可以利用其本体所指出的共现关系和非共现关系,提升了实体对象的编码质量,提高了实体对象编码的准确度。
85.以下结合说明书附图对本技术的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本技术,并不用于限定本技术,并且在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
86.如图1a所示,其为本技术实施例的应用场景示意图。该应用场景图中包括两个终端设备110和一个服务器120。终端设备110与服务器120之间可以通过通信网络进行通信。
87.在一种可选的实施方式中,通信网络是有线网络或无线网络。终端设备110以及服务器120可以通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。
88.在本技术实施例中,终端设备110为用户使用的电子设备,该电子设备可以是个人计算机、手机、平板电脑、笔记本、电子书阅读器等具有一定计算能力并且运行有即时通信类软件及网站或者社交类软件及网站的计算机设备。各终端设备110通过无线网络与服务器120连接,服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。
89.其中,实体对象编码模型可部署于服务器120上进行训练,服务器120中可存储有大量训练样本,用于训练实体对象编码模型。可选的,在基于本技术实施例中的训练方法训练得到实体对象编码模型之后,可直接将训练好的实体对象编码模型部署于服务器120或终端设备110上。一般情况下都是直接将实体对象编码模型部署于服务器120上,在本技术实施例中,实体对象编码模型主要用于对待编码知识图谱中的各个实体对象进行编码,获
得各个实体对象对应的实体编码信息。进而,依据实体对象的实体编码信息,可以执行各种知识图谱相关的下游任务,有效提升下游任务的质量。常见的下游任务包括:同义词挖掘、知识聚类、基于图谱的问答等。
90.知识图谱通过对错综复杂的文档的数据进行有效的加工、处理、整合,转化为简单、清晰的“实体对象

关联关系

实体对象”的三元组,最后聚合大量知识,从而实现知识的快速响应和推理。
91.如图1b所示,其为本技术实施例中的一种知识图谱的示意图。如果两个节点之间存在关系,他们就会被一条无向边连接在一起,那么这个节点,在本技术实施例中就称为实体对象,它们之间的这条边,在本技术实施例中就称为关联关系。也就是说,图1b中的各个节点就是实体对象,实体对象与实体对象之间的边即关联关系。知识图谱的基本单位,便是“实体对象

关联关系

实体对象”构成的三元组,这也是知识图谱的核心。
92.例如,图1b中的“d国”、“d城”、“x1平方公里”等都是实体对象。而关联关系用于连接不同的实体对象,如图1b中的“人口”、“首都”、“面积”等。
93.在一种可能的应用场景中,本技术中的训练样本可以采用云存储技术进行存储。云存储(cloudstorage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。
94.在一种可能的应用场景中,为了便于降低通信时延,可以在各个地区部署服务器120,或为了负载均衡,可以由不同的服务器120分别去服务各个终端备10对应的地区。多个服务器120以通过区块链实现数据的共享,多个服务器120相当于多个服务器120组成的数据共享系统。例如终端设备110位于地点a,与服务器120之间进行通信连接,终端设备110位于地点b,与其他服务器120之间通信连接。
95.对于数据共享系统中的每个服务器120,均具有与该服务器120对应的节点标识,数据共享系统中的每个服务器120均可以存储有数据共享系统中其他服务器120的节点标识,以便后续根据其他服务器120的节点标识,将生成的区块广播至数据共享系统中的其他服务器120。每个服务器120中可维护一个如下表所示的节点标识列表,将服务器120名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为网络之间互联的协议(internetprotocol,ip)地址以及其他任一种能够用于标识该节点的信息,表1中仅以ip地址为例进行说明。
96.表1
97.服务器名称节点标识节点1119.115.151.174节点2118.116.189.145
……
节点n119.124.789.258
98.下面结合上述描述的应用场景,参考附图来描述本技术示例性实施方式提供的对象轨迹识别方法,需要注意的是,上述应用场景仅是为了便于理解本技术的精神和原理而示出,本技术的实施方式在此方面不受任何限制。
99.参阅图2所示,为本技术实施例提供的一种实体对象编码方法的实施流程图,该方法的具体实施流程如下:
100.s21:获取待编码知识图谱中的各个实体对象,其中,待编码知识图谱包括各个实体对象之间的关联关系;
101.其中,三元组中的subject和object都是实体对象,其中subject为头实体,在本技术实施例中可用h表示,object为尾实体,可用t表示。而predicate则用于表示h与t之间的关联关系,可用r表示。例如,常见的关联关系有父子关系、夫妻关系、雇佣关系、位置关系等。
102.比如:a建筑坐落于b城市。其中,h为a建筑,t为b城市,它们之间的关系表示为坐落于,即位置关系。
103.s22:分别对各个实体对象进行编码,获得各个实体对象对应的实体嵌入特征,以及分别对各个实体对象的实体类别进行编码,获得各个实体对象的实体类别对应的类别嵌入特征,其中,各个实体对象的实体类别是通过对对应的实体嵌入特征进行类别语义分析确定的;
104.在本技术实施例中,实体类别也可称作本体,是指实体对象的抽象类别。比如对于铅笔这一实体对象而言,它属于文具,即铅笔的实体类别为文具。
105.s23:分别将各个实体对象对应的实体嵌入特征和对应的类别嵌入特征进行融合,获得各个实体对象对应的实体编码信息。
106.具体的,在将实体嵌入特征和类别嵌入特征进行融合时,常见的融合方式有:特征向量拼接,点乘,加权求和等等,在此不做具体限定。
107.在上述实施方式中,将用于表示实体对象的实体类别的本体知识引入到实体对象编码的过程中,由于本体是一种树状结构的知识,树中相距越远的节点语义越接近、相距越近的节点语义越不接近。因此本技术实施例中借助本体知识,为数据量较少的实体对象进行指导,从而克服其误差,使得不太相关的实体的编码在编码空间中远离、较相关的实体的编码在编码空间中接近,使得知识图谱中的每个实体对象可以利用其本体所指出的共现关系和非共现关系,提升了实体对象的编码质量,提高了实体对象编码的准确度。
108.需要说明的是,本技术实施例中的方法也可基于机器学习模型来实现,例如本技术实施例中的实体对象编码模型。在一种可选的实施方式中,可以按照如图3所示的流程图实施步骤s22,包括以下步骤:
109.s301:将待编码知识图谱输入已训练的实体对象编码模型,基于实体对象编码模型中的实体对象嵌入子网络对各个实体对象进行编码,获得各个实体对象对应的实体嵌入特征;
110.其中,实体嵌入子网络主要用于对实体对象进行编码,例如该子网络可以采用transe网络,也可以采用其他模型,例如mtranse网络,在此不做具体限定。
111.以transe网络为例,对各个实体对象进行编码的过程就是指:把实体对象翻译成embedding词向量,以embedding词向量作为实体嵌入特征。
112.s302:将各个实体对象对应的实体嵌入特征输入实体对象编码模型中的链接子网络,基于链接子网络对各个实体对象的实体嵌入特征进行类别语义分析,获得各个实体对象的实体类别对应的类别嵌入特征。
113.在本技术实施例中,链接子网络这个模块的输入是实体对象的向量表示,即基于步骤s301得到的embedding词向量,输出是实体对象对应的本体的向量表示,即实体对象的实体类别对应的类别嵌入特征。
114.需要说明的是,本技术实施例中提出的实体对象编码方法运用到下游任务后能有效提升下游任务的质量。常见的下游任务包括:同义词挖掘、知识聚类、基于图谱的问答等等。即,在步骤s23之后,还可执行步骤s24,具体包括以下操作之一:
115.(一)当在步骤s23之后,执行同义词挖掘任务时,具体流程如图4a所示:
116.在步骤s24中:基于各个实体对象的实体编码信息进行同义词挖掘,确定待编码知识图谱中的同义词。
117.在同义词挖掘任务中,主要是通过对比两个词向量在编码空间中的距离来判断两个词是同义词的可能性的大小。在本技术实施例中,采用基于步骤s21至步骤s23获取到的实体编码信息(可用词向量表示)替换掉原本在同义词挖掘任务中利用随机初始化或利用预训练模型得到的词向量。进而,在s24中,通过比对两个实体对象对应的实体编码信息在编码空间中的距离,获得两个实体对象是同义词的概率,基于确定的概率来确定出待编码知识图谱中的同义词。
118.在上述实施方式中,使用了本技术实施例的词向量后,可使得各同义词的编码在编码空间中更为紧凑,同时不同的词义之间的编码距离更远,提升了挖掘的准确率。从应用场景的角度来说,上述所列举的同义词挖掘技术可以应用于:知识图谱构建、术语标准化、舆情监测等应用场景中,在本技术实施例中不做具体限定。
119.(二)当在步骤s23之后,执行知识聚类任务时,具体流程如图4b所示:
120.在步骤s24中:基于各个实体对象的实体编码信息进行知识聚类。
121.在知识聚类任务中,主要是需要对各个知识表达进行向量化表示,然后利用一系列的方法将具有特定特点的知识归为同一类。同样,在本技术实施例中,采用基于步骤s21至步骤s23得到的知识编码(即实体编码信息)替换掉原本知识聚类任务中利用随机初始化或利用预训练模型得到的知识向量。进而,在s24中,利用一系列的方法将具有特定特点的知识归为同一类。
122.在上述实施方式中,使用了本技术实施例的知识编码后,能具有更明确的分类边界,因此聚类的误差率更低。从应用场景的角度来说,上述所列举的知识聚类技术可以应用于:医疗大数据分析、机构骗保分析、疾病高危人群识别等应用场景中。
123.(三)当在步骤s23之后,执行基于图谱的问答任务时,具体流程如图4c所示:
124.在步骤s24中:基于各个实体对象的实体编码信息进行路径推断,得到对应的意图路径,将意图路径所指向的知识图谱结果作为问答结果。
125.在基于图谱的问答任务中,同样用本技术实施例方法得到的实体编码信息替换掉原本的实体对象编码,进而再做后续的基于图谱的问答流程。
126.在上述实施方式中,使用了本技术实施例的实体编码信息后,改善了稀缺实体对象的编码,从而使得在长尾问题上具有较明显的性能提升。从应用场景的角度来说,基于图谱的问答技术可以应用于:患者咨询自动问答、智能导诊、不合理用药等应用场景能力中。
127.例如,在患者咨询自动问答的应用场景下,知识图谱实体对象可以包括与疾病、症状、部位、患者、诊断项目、医疗科室、医生、医院、治疗、饮食以及运动等相关的词语;实体对
象之间的关联关系包括但不限于:疾病、症状、部位、患者属于确定病情关系,诊断项目、医疗科室、医生、医院、治疗属于诊断治疗关系,治疗、饮食以及运动属于日常护理关系。相应的,实体对象的实体类别包括:疾病名称、疾病介绍、病因、治疗方式、治疗概率、预防措施、治愈概率、易感人群以及日常护理等等。
128.在自动问答系统中,首先对用户所提出的疑问句,进行分词、去停止词等清洗处理;然后结合本地实体对象词典,识别问题中的关键实体对象。进而,采用本技术实施例中的方法对识别出的关键实体对象进行编码,得到对应的实体编码信息。进而基于该实体编码信息进行路径推断,得到对应的意图路径,将意图路径所指向的知识图谱结果作为问答结果。
129.再比如,在智能导诊的应用场景下,可以构建症状

疾病

科室知识图谱。其中,知识图谱中的节点为在医疗百科网站抽取到的疾病、症状概念相关的疾病词和症状词,进而,通过疾病节点通过医疗百科网站出现的症状关联词建立与疾病关键词之间“疾病

症状”关联关系,通过临床医疗数据中疾病对应的科室建立“疾病

科室”的关联关系等等。
130.其中,实体对象的实体类别包括性别和年龄段等,例如,“小儿感冒”的年龄属性为“儿童”等,该实体类别的目的为了筛选和融合患者的性别、年龄信息。在本技术实施例中,可采集用户症状描述信息,基于症状

疾病

科室知识图谱,能识别出患者主诉中的症状和疾病词,进而基于本技术实施例中的实体对象编码方法获得实体编码信息,该实体编码信息中融合了患者的性别和年龄段等信息,进而通过智能导诊算法获得患者应该挂号的医院及科室,实现简单高效的智能导诊。
131.需要说明的是,上述所列举的几个结合应用场景的具体实施方式只是举例说明,除此之外,其他与基于知识图谱的问答技术相关的应用场景,或者是与知识聚类,同义词挖掘等技术相关的应用场景也同样适用,在此不再一一列举。
132.参阅表2所示,其为本技术实施例中的方法在上述所列举的几个下游任务上的效果:
133.表2
[0134][0135]
显然,基于本技术实施例中的方法获得的实体编码信息的编码质量更高,在此基础上,可以提高任务执行的准确性。
[0136]
需要说明的是,上述所列举的实体对象编码模型包括实体对象嵌入子网络和链接子网络。在训练实体对象编码模型时,需要根据训练样本数据集中的训练样本,对实体对象编码模型执行循环迭代训练,并在训练完毕时,输出训练完毕的实体对象编码模型;其中,训练完毕的条件可以是实体对象编码模型收敛,或者是循环迭代次数达到一定上限等,在此不做具体限定。
[0137]
具体的,在一次循环迭代训练过程中需要执行以下操作,参阅图5所示:
[0138]
s501:从训练样本数据集中选取一组训练样本,一组训练样本包括一个第一样本
知识图谱,一个第二样本知识图谱,其中,第一样本知识图谱与第二样本知识图谱包含至少一对作为同义词的实体对象;
[0139]
例如,一个知识图谱可以定义成g=(e,r,t),e,r,t分别是kg的实体集合、关系集合以及三元组集合。每个三元组包含头实体h,关系r以及尾实体t,加粗的h,r,t分别对应h,r,t的嵌入特征(也称嵌入表示)。
[0140]
则,对于第一样本知识图谱g
i
=(e
i
,r
i
,t
i
),和第二样本知识图谱g
j
=(e
j
,r
j
,t
j
)。这两个kg中包含一定数量的同义词种子,其中,同义词种子可表示为
[0141]
具体的,第一样本知识图谱和第二样本知识图谱可以是针对相同知识的不同语种的知识图谱,例如第一样本知识图谱为中文知识图谱,第二样本知识图谱为英文知识图谱,这种情况下,也可认为这两个kg中包含一定数量的同义词种子,另外第一样本知识图谱和第二样本知识图谱也可以相同语种的,针对不同知识的知识图谱,且这两个kg中包含一定数量的同义词种子等等,在此不做具体限定。
[0142]
s502:将第一样本知识图谱以及第二样本知识图谱输入实体对象编码模型的实体对象嵌入子网络,基于实体对象嵌入子网络,对第一样本知识图谱,以及第二样本知识图谱中的各个实体对象进行编码,获得各个实体对象对应的实体嵌入特征;以及,基于各个实体对象对应的预测实体嵌入特征,对实体对象嵌入子网络进行参数调整;
[0143]
s503:将各个实体对象对应的实体嵌入特征输入实体对象编码模型的链接子网络,基于链接子网络,对各个实体对象的预测实体嵌入特征进行类别语义分析,获得各个实体对象的实体类别对应的第一预测类别嵌入特征;以及,基于各个实体对象的实体类别对应的第一预测类别嵌入特征,对链接子网络进行参数调整。
[0144]
例如,在训练过程中,需要两个不同的知识图谱,例如a图谱(即第一样本知识图谱)中有10000个节点,b图谱(即第二样本知识图谱)中有1000个节点,在a图谱和b图谱之间有一些节点是可以相互对应的,假如一共有500个对应,标注为同义词的有50个,这50个节点是同义词种子,进而可以通过训练模型学习剩余的450个节点之间的对应关系。而在模型的应用过程中,输入一个知识图谱即可,通过分析知识图谱中的各个实体对象的类别语义信息,确定对应的实体类别,最后将实体嵌入特征和类别嵌入特征进行融合即可获得实体对象的实体编码信息。
[0145]
参阅图6a所示,其为本技术实施例中的一种实体对象编码模型的结构示意图。在图6a所示的模型中,除了上述所列举的实体对象嵌入子网络和链接子网络之外,还可以包括实体类别知识嵌入子网络,嵌入优化子网络,联合表示子网络。其中,实体对象嵌入子网络主要用于提炼出kg(知识图谱)中的知识;实体类别知识嵌入子网络主要用于将本体知识进行向量化表达;嵌入优化子网络主要用于将对本体知识的向量化表达进行优化;链接子网络主要用于将把kg中的知识和本体知识进行融合;联合表示子网络主要用于将链接子网络得到的知识信息与到具体的下游任务进行结合。
[0146]
另外,需要注意的是,图6a中灰色部分的“下游任务”模块不属于该实体对象编码模型,每个下游任务都有独立的处理逻辑,本技术实施例中通过“联合表示子网络”,可以将本技术实施例中的算法和各个下游任务进行结合,以提升本技术实施例中的方法在下游任务上的效果。
[0147]
在一种可选的实施方式中,训练样本数据集中的训练样本除了包括上述所列举的至少一个第一样本知识图谱,以及至少一个第二样本知识图谱之外,还包括至少一个实体类别知识集合(也称本体知识集合),实体类别知识集合包含第一样本知识图谱以及第二样本知识图谱中的各个实体对象的实体类别,且实体类别之间具有层次化关系。即除了实体层两个kg,本技术实施例中还引入了本体知识集合g
o
=(e
o
,r
o
,t
o
),定义了实体类别之间的层次化关系,而实体和本体知识之间的连接可表示为:m={(e,c)|e∈{kg
i
,kg
j
},c∈e
o
},相当于新增加的三元组,该三元组定义了实体层的每个实体在本体知识对应的实体类别。
[0148]
下面对各个子网络分别进行详细介绍:
[0149]
对于实体对象嵌入子网络,该子网络可以采用transe网络,mtranse网络等。由于该子网络主要用于提炼出kg中的知识,因而,在基于各个实体对象对应的预测实体嵌入特征,对实体对象嵌入子网络进行参数调整时,主要过程如下:
[0150]
基于各个实体对象对应的预测实体嵌入特征,确定包含各个实体对象的三元组对应的向量差,其中,预测实体嵌入特征为嵌入表示向量,包含各个实体对象的三元组对应的向量差为三元组中的头实体对象嵌入表示向量以及关系嵌入表示向量的和,与尾实体对象嵌入表示向量的差;
[0151]
基于第一正样本对应的向量差,以及第一负样本对应的向量差构建实体对象嵌入损失函数,并基于实体对象嵌入损失函数对实体对象嵌入子网络进行参数调整,其中,第一正样本为第一样本知识图谱或第二样本知识图谱中的三元组,第一负样本是通过随机替换第一正样本中的头实体对象或尾实体对象生成的。
[0152]
例如,对于kg,和t

o
,采用transe编码得到实体嵌入特征,具体包括头实体对象嵌入表示向量h,以及尾实体对象嵌入表示向量t,此外,r表示关系嵌入表示向量,本技术实施例中的向量差即h r

t,可根据以下评分函数测量嵌入表示的合理性:
[0153]
f
e
(h,r,t)=||h r

t||2;
[0154]
在本技术实施例中,使用以下limit

based(基于限制)损失来计算得到实体对象嵌入损失函数,对实体对象嵌入子网络进行优化,计算公式如下所示:
[0155][0156]
其中,[x]

=max(0,x);γ1,γ2是超参数,分别用于控制第一正样本和第一负样本的距离;α是平衡第一正样本和第一负样本比例的超参数;t即第一正样本,h,r,t都属于第一正样本,即为第一样本知识图谱或第二样本知识图谱中的三元组;t

则是通过随机替换第一负样本三元组中头实体或者尾实体生成的负样本。
[0157]
在一种可选的实施方式中,实体对象编码模型还包括实体类别知识嵌入子网络;在本技术实施例中,可以基于实体类别知识嵌入子网络对实体类别知识集合中的实体类别进行编码。
[0158]
参阅图6b所示,其为本技术实施例中的一种实体类别知识集合(也称本体知识集合)的示意图,该集合中包含有多个节点,这些节点即用于表示实体对象本体的实体类别,其中根节点就是最顶端的节点。实体类别与实体类别之间具有层级关系,如图6b所示,节点与节点之间具有连接关系,即表明对应的实体类别与实体类别之间具有层级关系,例如工
具包括交通工具、厨具、汽修工具等等。交通工具包括汽车、公交车、地铁、自行车、火车等等。
[0159]
对于实体类别知识嵌入子网络,该子网络主要用于对用于表示实体类别的主体进行编码。因而,该子网络也可以采用transe网络,mtranse网络等,在此不做具体限定。
[0160]
具体的,在将实体类别知识集合输入实体对象编码模型的实体类别知识嵌入子网络,基于实体类别知识嵌入子网络对实体类别知识集合中的各个实体类别进行编码,获得各个实体类别对应的第二预测类别嵌入特征,即本体嵌入表示;进而,基于各个实体类别对应的第二预测类别嵌入特征,对实体类别知识嵌入子网络进行参数调整。
[0161]
在一种可选的实施方式中,在基于各个实体类别对应的第二预测类别嵌入特征,对实体类别知识嵌入子网络进行参数调整时,具体包括以下过程:
[0162]
首先,根据实体类别知识集合中的各个实体类别之间的层次化关系,获取多个实体类别对,其中,每个实体类别对包括一个子类,以及子类所属的父类;例如,子类为铅笔,父类为笔;子类为:笔,父类为:文具;再比如,子类为:自行车,父类为:交通工具;子类为:交通工具,父类为:工具,等等。
[0163]
进而,针对各个实体类别对都执行以下操作:对于各个实体类别对的一个实体类别对,获取一个实体类别对中的子类与子类所属的父类之间的非线性转换特征,其中,非线性转换特征用于表征一个实体类别对中的子类对应的第二预测类别嵌入特征与子类所属的父类对应的第二预测类别嵌入特征之间的非线性转换关系。
[0164]
例如,对于本体知识集合g
o
,也可以利用transe作为实体类别的编码方式,但是transe存在两个问题:其一,transe不能处理一对多,多对一和多对多的映射;其二,本体知识具有明显的层次化结构(比如人又可以分为工程师、数学家等),实体类别之间具有可传递性(比如自行车属于交通工具,交通工具属于工具,即可确定自行车属于工具),transe难以建模这种属性。为了能够编码本体的层次化结构,给定一个实体类别对(c
h
,c
t
),其中c
t
是c
h
的父类,c
h
即该实体类别对中的子类。本技术实施例中将这样的层次结构建模为一个从子类到关联的父类之间的非线性转换,计算公式如下:
[0165]
f
o
(c
h
,c
t
)=||σ(w
o
c
h
b
o
)

c
t
||2;
[0166]
其中,是可学习的参数(指需要学习/更新的变量),σ(
·
)是tanh激活函数,d
o
是类别嵌入表示的维度。
[0167]
基于上述方法即可确定各个样本对应的非线性转换特征f
o
(c
h
,c
t
),进而基于第二正样本对应的非线性转换特征,以及第二负样本对应的非线性转换特征,构建实体类别知识嵌入损失函数,并基于实体类别知识嵌入损失函数对实体类别知识嵌入子网络进行参数调整。其中,第二正样本为实体类别知识集合中的实体类别对,第二负样本是通过随机替换第二正样本中的子类或父类生成的。
[0168]
例如,同样使用以下limit

based损失来计算实体类别知识嵌入损失函数,优化实体类别知识嵌入子网络,计算公式如下所示:
[0169][0170]
其中,t
o
即第二正样本,表示一对实体类别对,该实体类别对中的子父类的层次关
系是正确的,t

o
是通过随机替换c
h
或者c
t
生成的第二负样本,该实体类别对中的子父类的层次关系是错误的,即实际上不是子父类。
[0171]
在一种可选的实施方式中,实体对象编码模型还包括嵌入优化子网络;该子网络用于在获得各个实体类别对应的第二预测类别嵌入特征之后,获取实体类别知识集合中的每两个实体类别之间的冲突概率,并基于冲突概率对每两个实体类别对应的第二预测类别嵌入特征进行调整,比如冲突概率越大,调整后的两个第二预测类别嵌入特征之间的距离越远;冲突概率越小,调整后的两个第二预测类别嵌入特征之间的距离越近;其中,冲突概率用于表征两个实体类别之间的类别冲突程度。
[0172]
在本技术实施例中为了检测类别冲突,根据本体元关系“owl:disjointwith”(表示a类别和b类别绝对不可能相交,例如人和无机物)、路径覆盖规则以及监督同义词种子,设计如下类别冲突矩阵v,其中类别c
i
和类别c
j
的冲突概率定义如下:
[0173][0174]
其中,0表示不冲突。按照实体类别的可传递性,p(c
i
)是c
i
走到根节点的路径上出现的类别集合,即c
i
的祖先;同理,p(c
j
)是c
j
走到根节点的路径上出现的类别集合,即c
j
的祖先。
[0175]
具体的,公式中每一项如下阐明:
[0176]
第一项:表示如果两个类别c
i
和c
j
相等,则不发生冲突,对应冲突概率的值为0;
[0177]
第二项:表示两个属于同义词关系的实体(种子对齐as)对应的类别c
i
和c
j
也不属于冲突关系,对应冲突概率的值为0;
[0178]
第三项:表示根据本体元关系,如果两个类别存在disjoint(不相交)关系,则发生冲突,对应冲突概率的值为1;即,若根据外部知识确定两个类别之间不相交,比如人和无机物,则表示这两个类别发生冲突,对应冲突概率的值为1。
[0179]
第四项:表示如果两个实体类别都不属于上述3个条件,则根据路径覆盖规则计算两者的冲突概率。计算方式依赖于两者的最长公共路径,如果最长公共路径越长,则两者的距离越短,发生冲突的概率越小,而最长公共路径越短,则两者距离越长,发生冲突的概率越大。
[0180]
例如,根据实体类别的可传递性,对于实体类别c
i
自行车:自行车

交通工具

工具

根节点a,这四个类组成类别集合p(c
i
);对于实体类别c
j
齿轮:齿轮

零件

工具

根节点a,四个类组成类别集合p(c
j
)。
[0181]
其中,两者之间的最长公共路径为:工具

根节点a。p(c
i
)与p(c
j
)的交集中一共有2个类别,即工具和根节点a,并集中一共有6个类别,即行车,交通工具,齿轮,零件,工具和根节点a。因而,对应的冲突概率为:1

2/6=2/3。
[0182]
在一种可选的实施方式中,对嵌入优化子网络进行参数调整时,主要是基于调整后的各个第二预测类别嵌入特征来实现的,具体过程如下:
[0183]
针对实体类别知识集合中的每两个实体类别,分别执行以下操作:对于每两个实体类别中的两个实体类别,基于两个实体类别对应的调整后的第二预测类别嵌入特征之间的距离,与根据类别冲突矩阵确定的两个实体类别对应的冲突概率,构建负对数似然损失函数;基于负对数似然损失函数对实体对象编码模型中的嵌入优化子网络进行参数调整,以使期望冲突的两个实体类别对应的第二预测类别嵌入特征之间的距离,大于不冲突的两个实体类别对应的第二预测类别嵌入特征之间的距离。
[0184]
在本技术实施例中,为了使得本体知识能够表示类别冲突,期望冲突的两个类别对应的嵌入表示距离越远越好,而不冲突的两个类别对应的嵌入表示越近越好。可以利用余弦距离度量类别嵌入表示之间的距离,计算公式如下:
[0185]
p
con
(c
i
,c
j
)=1

cos(c
i
,c
j
)
[0186]
进而,将以下负对数似然损失函数作为优化嵌入优化子网络的损失函数,计算公式如下:
[0187][0188]
在一种可选的实施方式中,基于各个实体类别对应的第一预测类别嵌入特征,对链接子网络进行参数调整时,具体包括以下过程:
[0189]
针对第一样本知识图谱或第二样本知识图谱中的各个实体对象,分别执行以下操作:对于各个实体对象中的一个实体对象,基于一个实体对象对应的第一预测类别嵌入特征与对应的第二预测类别嵌入特征之间的误差,构建链接损失函数;基于链接损失函数对实体对象编码模型中的链接子网络进行参数调整。如图6a所示的实体对象编码模型中包含实体类别知识嵌入子网络,该子网络主要用于将实体类别进行向量化表达,而这些实体类别是样本知识图谱中的各个实体对象的本体,在实体对象编码模型的训练过程中,已知实体对象对应的本体,而链接子网络的输入是实体对象的向量化表达,输出是该实体对象对应的本体(预测结果),因而,在调整链接子网络时,可依据第二预测类别嵌入特征及对应的第一预测类别嵌入特征来调整模型参数。
[0190]
另外,在本技术实施例中,实体嵌入表示和本体知识嵌入表示分别将实体和类别编码到低维稠密空间中。联合学习两个嵌入空间是有意义的,这样可以将类别语义信息编码到实体表示中,并且模型可以感知到两个属于同义词关系的实体的类语义应该是一致的。本技术实施例中还可通过非线性转换来建模两者的关系,进而联合学习。例如,给定一个实体e以及其对应的类别c,将二者的关系建模为一个从实体到关联的类别之间的非线性转换:
[0191]
f
m
(e,c)=||σ(w
m
e b
m
)

c||2;
[0192]
其中,是可学习的参数,σ(
·
)是tanh激活函数,d
e
是实体嵌入表示的维度。
[0193]
进而,使用limit

based损失优化上述式子:
[0194][0195]
其中,m是包含一个实体e以及其对应的类别c的正样本,m

是通过随机替换c生成
的负样本,其中包含一个实体e

,以及一个类别c


[0196]
在一种可选的实施方式中,本技术实施例中的实体对象编码模型还包括联合表示子网络。该子网络用于把链接子网络得到的知识信息与具体的下游任务进行结合。具体来说,就是用链接子网络得到的结果直接替代掉原本下游任务中的输入。这并不会改变下游任务的模型结构,因而保障了本技术实施例方法的易用性,可以方便地运用到多种下游任务中去。本子网络修改的是模型的训练过程,即通过修改优化目标,在原本下游任务的优化目标里加入上述各子网络的优化目标,因此,本技术实施例中最终训练出来的实体编码既利用上了本体知识,同时也利用上了下游任务的特性,从而更好地提升本技术实施例中的方法在下游任务上的效果。
[0197]
在本技术实施例中是以同义词挖掘任务为例进行举例说明的,具体的:将各个实体对象的实体编码信息输入联合表示子网络,基于联合表示子网络,对第一样本知识图谱和第二样本知识图谱中未被识别出的同义词进行标记;以及,基于实体对象编码模型标记的同义词,对实体对象编码模型进行参数调整。
[0198]
在同义词挖掘任务中,需要将两个kg中还未被发现的实体和标记为同义词,其中
[0199]
在一种可选的实施方式中,基于实体对象编码模型标记的同义词,对实体对象编码模型进行参数调整时,具体过程为:对于两个作为同义词的实体对象,基于两个实体对象的实体编码信息构建联合表示损失函数;基于联合表示损失函数对实体对象编码模型进行参数调整。
[0200]
以同义词挖掘任务为例,下面的第一个公式就是同义词挖掘任务本身的计算流程,其中本技术实施例中将用链接子网络的输出代替原本的e1,e2。第二个公式是本技术实施例中最终的优化目标。
[0201]
对于两个是同义词的实体(e1,e2),期望他们对应的嵌入表示经过映射后越接近越好,对应的计算公式即为第一个公式,可基于该公式来对联合表示子网络进行优化:
[0202][0203]
其中,表示可学习的参数。
[0204]
最终的优化损失如下:
[0205][0206]
其中,λ1,λ2,λ3是平衡不同子网络的权重超参数。通过利用迭代训练的方式优化上述损失。基于该公式,即第二个公式,来对实体对象编码模型整体进行参数调整。
[0207]
在本技术实施例中,通过引入类别冲突矩阵检测预测结果中的类别冲突问题,能够提升模型的召回率以及同义词关系的实体的排名。并且,本技术实施例中的方式能够和任意的模型进行结合,提升模型的性能,体现了本技术实施例中的方法的鲁棒性和有效性。另外,需要说明的是,类别不共现(类别冲突)嵌入表示除了本技术实施例中使用的初始化方式,还可以用其他方法,例如最短距离等,在此不做具体限定。
[0208]
综上,有别于相关技术中的实体编码方法,本技术实施例中的方法利用本体知识中层次化的类别结构指导下游任务的过程,通过联合学习实体层和本体知识嵌入表示,使
得类别语义信息能够编码进实体表示中,使得下游任务能具有更好的性能。
[0209]
参阅图7所示,为一种实体对象编码模型的训练方法的完整流程图。该方法的具体实施流程如下:
[0210]
步骤s701:从训练样本数据集中选取一组训练样本,一组训练样本包括一个第一样本知识图谱,一个第二样本知识图谱以及一个实体类别知识集合;
[0211]
步骤s702:将第一样本知识图谱,第二样本知识图谱,以及实体类别知识集合输入实体对象编码模型,基于实体对象编码模型中的实体类别知识嵌入子网络对实体类别知识集合中的各个实体类别进行编码,获得各个实体类别对应的类别嵌入特征;
[0212]
步骤s703:基于各个实体类别对应的类别嵌入特征,对实体类别知识嵌入子网络进行参数调整;
[0213]
步骤s704:将各个实体类别对应的类别嵌入特征输入实体对象编码模型中的嵌入优化子网络,基于嵌入优化子网络,获取实体类别知识集合中的每两个类别之间的冲突概率,并基于冲突概率对每两个类别对应的类别嵌入特征进行调整;
[0214]
步骤s705:基于调整后的各个实体类别嵌入特征对嵌入优化子网络进行参数调整;
[0215]
步骤s706:基于实体对象编码模型中的实体对象嵌入子网络,对第一样本知识图谱,以及第二样本知识图谱中的各个实体对象进行编码,获得各个实体对象对应的实体嵌入特征;
[0216]
步骤s707:基于各个实体对象对应的实体嵌入特征,对实体对象嵌入子网络进行调整;
[0217]
步骤s708:将各个实体对象对应的实体嵌入特征输入链接子网络,基于链接子网络,对各个实体对象的预测实体嵌入特征进行类别语义分析,获得各个实体对象的实体类别对应的第一预测类别嵌入特征;
[0218]
步骤s709:基于各个实体对象的实体类别对应的第一预测类别嵌入特征,以及对应的第二预测类别嵌入特征,对链接子网络进行参数调整;
[0219]
步骤s710:将各个实体对象的实体编码信息输入联合表示子网络,基于联合表示子网络,对第一样本知识图谱和第二样本知识图谱中未被识别出的同义词进行标记;
[0220]
步骤s711:基于实体对象编码模型标记的同义词,对实体对象编码模型进行参数调整;
[0221]
步骤s712:判断实体对象编码模型是否收敛,如果是,则执行步骤s713,否则,返回步骤s701;
[0222]
步骤s713:输出训练完毕的实体对象编码模型。
[0223]
基于相同的发明构思,本技术实施例还提供一种实体对象编码装置。如图8所示,其为本技术实施例中的一种实体对象编码装置800的结构示意图,可以包括:
[0224]
获取单元801,用于获取待编码知识图谱中的各个实体对象,其中,待编码知识图谱包括各个实体对象之间的关联关系;
[0225]
编码单元802,用于分别对各个实体对象进行编码,获得各个实体对象对应的实体嵌入特征,以及分别对各个实体对象的实体类别进行编码,获得各个实体对象的实体类别对应的类别嵌入特征,其中,各个实体对象的实体类别是通过对对应的实体嵌入特征进行
类别语义分析确定的;
[0226]
融合单元803,用于分别将各个实体对象对应的实体嵌入特征和对应的类别嵌入特征进行融合,获得各个实体对象对应的实体编码信息。
[0227]
可选的,编码单元802具体用于:
[0228]
将待编码知识图谱输入已训练的实体对象编码模型,基于实体对象编码模型中的实体对象嵌入子网络对各个实体对象进行编码,获得各个实体对象对应的实体嵌入特征;
[0229]
将各个实体对象对应的实体嵌入特征输入实体对象编码模型中的链接子网络,基于链接子网络对各个实体对象的实体嵌入特征进行类别语义分析,获得各个实体对象的实体类别对应的类别嵌入特征。
[0230]
可选的,装置还包括训练单元804,用于通过下列方式训练获得实体对象编码模型:
[0231]
根据训练样本数据集中的训练样本,对实体对象编码模型执行循环迭代训练,并在训练完毕时,输出训练完毕的实体对象编码模型;其中,在一次循环迭代训练过程中执行以下操作:
[0232]
从训练样本数据集中选取一组训练样本,一组训练样本包括第一样本知识图谱和第二样本知识图谱,其中,第一样本知识图谱与第二样本知识图谱包含至少一对作为同义词的实体对象;
[0233]
将第一样本知识图谱以及第二样本知识图谱输入实体对象编码模型的实体对象嵌入子网络,基于实体对象嵌入子网络,对第一样本知识图谱,以及第二样本知识图谱中的各个实体对象进行编码,获得各个实体对象对应的实体嵌入特征;以及,基于各个实体对象对应的预测实体嵌入特征,对实体对象嵌入子网络进行参数调整;
[0234]
将各个实体对象对应的实体嵌入特征输入实体对象编码模型的链接子网络,基于链接子网络,对各个实体对象的预测实体嵌入特征进行类别语义分析,获得各个实体对象的实体类别对应的第一预测类别嵌入特征;以及,基于各个实体对象的实体类别对应的第一预测类别嵌入特征,对链接子网络进行参数调整。
[0235]
可选的,一组训练样本还包括实体类别知识集合,实体类别知识集合包含第一样本知识图谱以及第二样本知识图谱中的各个实体对象的实体类别,且实体类别之间具有层次化关系;实体对象编码模型还包括实体类别知识嵌入子网络;训练单元804还用于:
[0236]
将实体类别知识集合输入实体对象编码模型的实体类别知识嵌入子网络,基于实体类别知识嵌入子网络对实体类别知识集合中的各个实体类别进行编码,获得各个实体类别对应的第二预测类别嵌入特征;以及,基于各个实体类别对应的第二预测类别嵌入特征,对实体类别知识嵌入子网络进行参数调整。
[0237]
可选的,实体对象编码模型还包括嵌入优化子网络;训练单元804还用于:
[0238]
在获得各个实体类别对应的第二预测类别嵌入特征之后,基于嵌入优化子网络,获取实体类别知识集合中的每两个实体类别之间的冲突概率,并基于冲突概率对每两个实体类别对应的第二预测类别嵌入特征进行调整;以及,基于调整后的各个第二预测实体类别嵌入特征对嵌入优化子网络进行参数调整;其中,冲突概率用于表征两个实体类别之间的类别冲突程度。
[0239]
可选的,训练单元804具体用于:
[0240]
基于各个实体对象对应的预测实体嵌入特征,确定包含各个实体对象的三元组对应的向量差,其中,预测实体嵌入特征为嵌入表示向量,包含各个实体对象的三元组对应的向量差为三元组中的头实体对象嵌入表示向量以及关系嵌入表示向量的和,与尾实体对象嵌入表示向量的差;
[0241]
基于第一正样本对应的向量差,以及第一负样本对应的向量差构建实体对象嵌入损失函数,并基于实体对象嵌入损失函数对实体对象嵌入子网络进行参数调整,其中,第一正样本为第一样本知识图谱或第二样本知识图谱中的三元组,第一负样本是通过随机替换第一正样本中的头实体对象或尾实体对象生成的。
[0242]
可选的,训练单元804具体用于:
[0243]
根据实体类别知识集合中的各个实体类别之间的层次化关系,获取多个实体类别对,其中,每个实体类别对包括子类,以及子类所属的父类;
[0244]
针对各个实体类别对都执行以下操作:对于各个实体类别对的一个实体类别对,获取一个实体类别对中的子类与子类所属的父类之间的非线性转换特征,其中,非线性转换特征用于表征一个实体类别对中的子类对应的第二预测类别嵌入特征与子类所属的父类对应的第二预测类别嵌入特征之间的非线性转换关系;
[0245]
基于第二正样本对应的非线性转换特征,以及第二负样本对应的非线性转换特征,构建实体类别知识嵌入损失函数,并基于实体类别知识嵌入损失函数对实体类别知识嵌入子网络进行参数调整,其中,第二正样本为实体类别知识集合中的实体类别对,第二负样本是通过随机替换第二正样本中的子类或父类生成的。
[0246]
可选的,训练单元804具体用于:
[0247]
针对实体类别知识集合中的每两个实体类别,分别执行以下操作:对于每两个实体类别中的两个实体类别,基于两个实体类别对应的调整后的第二预测类别嵌入特征之间的距离,与根据类别冲突矩阵确定的两个实体类别对应的冲突概率,构建负对数似然损失函数;
[0248]
基于负对数似然损失函数对实体对象编码模型中的嵌入优化子网络进行参数调整,以使期望冲突的两个实体类别对应的第二预测类别嵌入特征之间的距离,大于不冲突的两个实体类别对应的第二预测类别嵌入特征之间的距离。
[0249]
可选的,训练单元804具体用于:
[0250]
针对第一样本知识图谱或第二样本知识图谱中的各个实体对象,分别执行以下操作:对于各个实体对象中的一个实体对象,基于一个实体对象对应的第一预测类别嵌入特征与对应的第二预测类别嵌入特征之间的误差,构建链接损失函数;
[0251]
基于链接损失函数对实体对象编码模型中的链接子网络进行参数调整。
[0252]
可选的,实体对象编码模型还包括联合表示子网络,训练单元804还用于:
[0253]
将各个实体对象的实体编码信息输入联合表示子网络,基于联合表示子网络,对第一样本知识图谱和第二样本知识图谱中未被识别出的同义词进行标记;以及
[0254]
基于实体对象编码模型标记的同义词,对实体对象编码模型进行参数调整。
[0255]
可选的,训练单元804具体用于:
[0256]
对于两个作为同义词的实体对象,基于两个实体对象的实体编码信息构建联合表示损失函数;
[0257]
基于联合表示损失函数对实体对象编码模型进行参数调整。
[0258]
可选的,装置还包括任务执行单元805,用于执行以下操作之一:
[0259]
基于各个实体对象的实体编码信息进行同义词挖掘,确定待编码知识图谱中的同义词;
[0260]
基于各个实体对象的实体编码信息进行知识聚类;
[0261]
基于各个实体对象的实体编码信息进行路径推断,得到对应的意图路径,将意图路径所指向的知识图谱结果作为问答结果。
[0262]
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本技术时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
[0263]
所属技术领域的技术人员能够理解,本技术的各个方面可以实现为系统、方法或程序产品。因此,本技术的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
[0264]
与上述方法实施例基于同一发明构思,本技术实施例中还提供了一种电子设备。该电子设备可以用于对知识图谱中的实体对象进行编码。在一种实施例中,该电子设备可以是服务器,如图1a所示的服务器120。在该实施例中,电子设备的结构可以如图9所示,包括存储器901,通讯模块903以及一个或多个处理器902。
[0265]
存储器901,用于存储处理器902执行的计算机程序。存储器901可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行即时通讯功能所需的程序等;存储数据区可存储各种即时通讯信息和操作指令集等。
[0266]
存储器901可以是易失性存储器(volatile memory),例如随机存取存储器(random

access memory,ram);存储器901也可以是非易失性存储器(non

volatile memory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,hdd)或固态硬盘(solid

state drive,ssd);或者存储器901是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器901可以是上述存储器的组合。
[0267]
处理器902,可以包括一个或多个中央处理单元(central processing unit,cpu)或者为数字处理单元等等。处理器902,用于调用存储器901中存储的计算机程序时实现上述实体对象编码方法。
[0268]
通讯模块903用于与终端设备和其他服务器进行通信。
[0269]
本技术实施例中不限定上述存储器901、通讯模块903和处理器902之间的具体连接介质。本技术实施例在图9中以存储器901和处理器902之间通过总线904连接,总线904在图9中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线904可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0270]
存储器901中存储有计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于实现本技术实施例的实体对象编码方法。处理器902用于执行上述的实体对象编码方法,如图2所示。
[0271]
在另一种实施例中,电子设备也可以是其他电子设备,如图1a所示的终端设备
110。在该实施例中,电子设备的结构可以如图10所示,包括:通信组件1010、存储器1020、显示单元1030、摄像头1040、传感器1050、音频电路1060、蓝牙模块1070、处理器1080等部件。
[0272]
通信组件1010用于与服务器进行通信。在一些实施例中,可以包括电路无线保真(wireless fidelity,wifi)模块,wifi模块属于短距离无线传输技术,电子设备通过wifi模块可以帮助用户收发信息。
[0273]
存储器1020可用于存储软件程序及数据。处理器1080通过运行存储在存储器1020的软件程序或数据,从而执行终端设备110的各种功能以及数据处理。存储器1020可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。存储器1020存储有使得终端设备110能运行的操作系统。本技术中存储器1020可以存储操作系统及各种应用程序,还可以存储执行本技术实施例实体对象编码方法的代码。
[0274]
显示单元1030还可用于显示由用户输入的信息或提供给用户的信息以及终端设备110的各种菜单的图形用户界面(graphical user interface,gui)。具体地,显示单元1030可以包括设置在终端设备110正面的显示屏1032。其中,显示屏1032可以采用液晶显示器、发光二极管等形式来配置。显示单元1030可以用于显示本技术实施例中的知识图谱相关的下游任务的执行界面,执行结果等等。
[0275]
显示单元1030还可用于接收输入的数字或字符信息,产生与终端设备110的用户设置以及功能控制有关的信号输入,具体地,显示单元1030可以包括设置在终端设备110正面的触摸屏1031,可收集用户在其上或附近的触摸操作,例如点击按钮,拖动滚动框等。
[0276]
其中,触摸屏1031可以覆盖在显示屏1032之上,也可以将触摸屏1031与显示屏1032集成而实现终端设备110的输入和输出功能,集成后可以简称触摸显示屏。本技术中显示单元1030可以显示应用程序以及对应的操作步骤。
[0277]
摄像头1040可用于捕获静态图像,用户可以将摄像头1040拍摄的图像通过视频客户端上传评论。摄像头1040可以是一个,也可以是多个。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,ccd)或互补金属氧化物半导体(complementary metal

oxide

semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给处理器1080转换成数字图像信号。
[0278]
终端设备还可以包括至少一种传感器1050,比如加速度传感器1051、距离传感器1052、指纹传感器1053、温度传感器1054。终端设备还可配置有陀螺仪、气压计、湿度计、温度计、红外线传感器、光传感器、运动传感器等其他传感器。
[0279]
音频电路1060、扬声器1061、传声器1062可提供用户与终端设备110之间的音频接口。音频电路1060可将接收到的音频数据转换后的电信号,传输到扬声器1061,由扬声器1061转换为声音信号输出。终端设备110还可配置音量按钮,用于调节声音信号的音量。另一方面,传声器1062将收集的声音信号转换为电信号,由音频电路1060接收后转换为音频数据,再将音频数据输出至通信组件1010以发送给比如另一终端设备110,或者将音频数据输出至存储器1020以便进一步处理。
[0280]
蓝牙模块1070用于通过蓝牙协议来与其他具有蓝牙模块的蓝牙设备进行信息交互。例如,终端设备可以通过蓝牙模块1070与同样具备蓝牙模块的可穿戴电子设备(例如智能手表)建立蓝牙连接,从而进行数据交互。
[0281]
处理器1080是终端设备的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器1020内的软件程序,以及调用存储在存储器1020内的数据,执行终端设备的各种功能和处理数据。在一些实施例中,处理器1080可包括一个或多个处理单元;处理器1080还可以集成应用处理器和基带处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,基带处理器主要处理无线通信。可以理解的是,上述基带处理器也可以不集成到处理器1080中。本技术中处理器1080可以运行操作系统、应用程序、用户界面显示及触控响应,以及本技术实施例的实体对象编码方法。另外,处理器1080与显示单元1030耦接。
[0282]
在一些可选的实施方式中,本技术提供的实体对象编码方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本技术各种示例性实施方式的实体对象编码方法中的步骤,例如,计算机设备可以执行如图2中所示的步骤。
[0283]
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0284]
本技术的实施方式的程序产品可以采用便携式紧凑盘只读存储器(cd

rom)并包括程序代码,并可以在计算装置上运行。然而,本技术的程序产品不限于此,在本技术实施例中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被命令执行系统、装置或者器件使用或者与其结合使用。
[0285]
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由命令执行系统、装置或者器件使用或者与其结合使用的程序。
[0286]
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
[0287]
尽管已描述了本技术的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术范围的所有变更和修改。
[0288]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献