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

一种关系识别方法、装置、存储介质及电子设备与流程

2021-11-15 17:39: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.本说明书提供的一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的关系识别方法。
55.本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
56.本说明书实施例中根据知识图谱中每个样本知识中包含的实体和关系类型,将各样本知识分成两类,并根据分类类别,对每个样本知识进行标注。根据标注结果,对关系分类模型进行训练。最后,通过训练完成的关系分类模型,对实体与实体之间的关系进行识别。在此方法中,可以将所有关系类型归纳于两大类,根据归纳的类别训练得到的关系分类模型,可以识别出所有的关系类型,而不需要针对不同的关系类型单独训练一个模型,从而提高了该关系分类模型的泛化能力,并且节省了资源。
附图说明
57.此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
58.图1为本说明书实施例提供的关系识别流程示意图;
59.图2为本说明书实施例提供的有向图的示意图;
60.图3为本说明书实施例提供的关系分类模型训练过程中的示意图;
61.图4为本说明书实施例提供的关系识别装置结构示意图;
62.图5为本说明书实施例提供的电子设备的结构示意图。
具体实施方式
63.知识图谱是一种描述实体与实体之间关系的语义网络,它能够将获取到的复杂的信息整合成一个个知识,并且以网络的形式将每个知识组织在一起。每个知识通常由三元组表示,如:<第一实体,关系类型,第二实体>、<主语,谓语,宾语>。其中,第一实体和第二实体是指具有可区别性且独立存在的事物,关系类型或谓语是指实体之间的关系描述。对于相同或不同的领域,实体与实体之间的关系描述都不相同。比如:在外卖领域,<番茄炒蛋,主要原料,番茄、鸡蛋、盐>、<雪碧,是一种,饮料>;在定位导航领域,<北京,位于,中国>、<中国,首都,北京>等。
64.现有技术中,针对不同领域中实体与实体之间的关系描述,需要人工进行设置,比如设置为“主要原料”、“位于”等关系描述。针对不同的关系描述,需要采用不同的识别模型,对实体与实体之间的关系进行识别。因为,实体与实体之间的多种关系描述需要人为事先设置,并且训练不同的识别模型时需要获取大量的训练样本,所以,在实际应用中,当发现实体与实体之间存在一种新的关系描述时,又需要单独训练一个用于识别这种新的关系描述的识别模型,这样将耗费大量的资源。
65.而本说明书实施例中将实体与实体之间的各种关系描述分成两类,比如将“主要原料”、“是一种”、“位于”、“首都”等这一类的关系描述归纳于具有语义包含关系的关系,而诸如<小红,呼唤,小明>中的“呼唤”等这一类的关系描述归纳于不具有语义包含关系的关系。也就是,将具体的关系描述上位到通用的关系。根据这两类的训练样本训练得到的关系分类模型可以识别所有具体的关系描述,这样可以提高该关系分类模型的泛化能力,并且减少资源浪费。
66.为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
67.以下结合附图,详细说明本说明书各实施例提供的技术方案。
68.图1为本说明书实施例提供的关系识别流程示意图,包括:
69.s100:提取已存储的知识图谱中的每个样本知识。
70.在本说明书实施例中,以每个知识表示为<第一实体,关系类型,第二实体>的三元组为例,对图1所示的关系识别方法进行说明。
71.在说明书实施例中,本说明书提供一种关系分类模型,可以通过该关系分类模型区识别每个知识中第一实体与第二实体之间的关系类型,在本说明书中可以对第一实体与第二实体之间可能存在的关系类型进行分类,分成具有语义包含关系的第一类关系和不具有语义包含关系的第二类关系。相应的,可以通过关系分类模型将各知识分成具有语义包含关系的第一类知识和不具有语义包含关系的第二类知识。而该关系分类模型能够实现上述的功能,就需要根据分类类别确定样本标注。
72.在本说明书实施例中,可以先从已有的开源知识图谱中提取各个知识,作为样本知识。其中,开源知识图谱可以包括:中文通用百科知识图谱和思知知识图谱等。提取的每个样本知识中第一实体与第二实体之间的关系各种各样,并不限于语义包含关系。需要说明的是,本说明书中的“语义包含关系”是指语义相互包含的关系,而不是指“包含”这个关系描述词。比如:样本知识1表示为<北京,位于,中国>,样本知识2表示为<上海,简称,泸>。那么,针对两个样本知识中的关系类型,“位于”具有语义包含关系,而“简称”不具有语义包含关系。对于整个样本知识,样本知识1中的北京和中国具有语义包含关系,样本知识2中上海和泸不具有语义包含关系,而是一种等价的关系。
73.s102:针对每个样本知识,确定该样本知识中包含的实体和关系类型。
74.在本说明书实施例中,在训练关系分类模型之前,针对每个样本知识,确定该样本知识中包含的实体和关系类型。其中,每个样本知识中包含至少两个实体,可以为第一实体和第二实体,第一实体位于关系类型的左侧,第二实体位于关系类型的右侧,并且在指定关系类型的描述下,第一实体与第二实体的顺序不能互换。其中,每个知识中的实体可以指具有可区别性且独立存在的事物,关系类型可以指第一实体与第二实体之间具体的关系描述。
75.另外,当样本知识由多个语句构成时,样本知识中可能包含多个第一实体和多个第二实体。
76.s104:根据所述实体和所述关系类型,对各样本知识进行分类,得到第一类样本知识和第二类样本知识。
77.s106:将所述第一类样本知识标注为第一标注,将所述第二类样本知识标注为第二标注。
78.在本说明书实施例中,可以根据每个样本知识的语义内容,从所有样本知识中包含的所有实体中筛选出关键实体。其中,筛选出的关键实体是指具有语义包含关系的关键实体。然后,根据关键实体以及每个样本知识中包含的关系类型,从所有关系类型中筛选出关键关系类型。筛选出的关键关系类型是指具有语义包含关系的关键关系类型。最后,根据关键实体和关键关系类型,对各样本知识进行分类,得到第一类样本知识和第二类样本知识。其中,第一类样本知识可以是具有语义包含关系的样本知识,第二类样本知识可以是不具有语义包含关系的样本知识。
79.在将各样本知识进行分类之后,将第一类样本知识标注为第一标注,将第二类样本知识标注为第二标注。同时,可以将具有语义包含关系的第一类样本知识作为正样本,将不具有语义包含关系的第二类样本知识作为负样本。
80.s108:根据各样本知识以及各样本知识的标注结果,对关系分类模型进行训练。
81.在本说明书实施例中,在确定了标注结果之后,就需要对关系分类模型进行训练。
关系分类模型可包括:编码子模型、融合子模型和全连接层。其中,编码子模型可包括:第一编码子模型和第二编码子模型。第一编码子模型用于编码实体,第二编码子模型用于编码关系类型。
82.具体的,针对每个样本知识,可以将该样本知识中包含的第一实体和第二实体输入第一编码子模型,通过第一编码子模型,得到第一实体特征和第二实体特征。同时,将该样本知识中包含的关系类型输入第二编码子模型,通过第二编码子模型得到该样本知识的关系类型特征。将第一实体特征、关系类型特征和第二实体特征输入融合子模型,通过融合子模型,将第一实体特征、关系类型特征和第二实体特征进行特征融合,得到综合特征。最后,将综合特征输入全连接层,通过全连接层输入待优化分类结果。至少以标注结果与待优化分类结果之间的差异最小化为训练目标,对关系分类模型进行训练。
83.进一步,可以计算标注结果与待优化分类结果之间的交叉熵,确定第一损失。以第一损失最小化为训练目标,对关系分类模型进行训练。
84.另外,第一编码子模型可包括:rnn、cnn、bert、拼接层、注意力层,第二编码子模型可包括:rnn、cnn、bert、拼接层、注意力层,融合子模型可包括:拼接层和transformer模型。
85.s110:通过训练完成的关系分类模型,对任意实体间的关系进行识别。
86.在本说明书实施例中,在对关系分类模型训练完成之后,可以将训练完成的关系分类模型应用到不同领域,比如:外卖领域、电商领域等。
87.具体的,可以获取待识别知识;其中,所述待识别知识包括:待识别第一实体、待识别关系类型和待识别第二实体。然后,将待识别知识输入关系分类模型,通过关系分类模型,对待识别第一实体与待识别第二实体之间的待识别关系类型进行识别。也就是,判断待识别知识中的待识别第一实体和待识别第二实体之间的关系类型是否成立。
88.进一步,若识别出待识别知识为第一类样本知识,则确定待识别知识中的待识别第一实体和待识别第二实体之间的关系类型成立;若识别出待识别知识为第二类样本知识,则确定待识别知识中的待识别第一实体和待识别第二实体之间的关系类型不成立。
89.再进一步,若识别出待识别知识为第一类样本知识,则将待识别知识添加到已存储的知识图谱中;若识别出待识别知识为第二类样本知识,则无需将待识别知识添加到已存储的知识图谱中。
90.为了提高关系分类模型在不同领域中识别待识别知识的准确性,可以在训练完成的关系分类模型的基础上,针对不同领域进行模型参数微调。
91.具体的,由于不同领域对具有语义包含关系的实体对或关系类型具有不同的描述习惯,所以针对每个领域,可以先通过关系分类模型对该领域中知识进行分类,确定具有语义包含关系的第一类知识和不具有语义包含关系的第二类知识。然后,选取少量的第一类知识和第二类知识,作为训练样本,并对第一类知识和第二类知识进行标注,得到标注结果。根据标注结果以及少量的训练样本,对关系分类模型的模型参数进行调整,得到适用于该领域的最终关系分类模型。
92.通过上述图1所示的方法可见,本说明书实施例中根据知识图谱中每个样本知识中包含的实体和关系类型,将各样本知识分成两类,并根据分类类别,对每个样本知识进行标注。根据标注结果,对关系分类模型进行训练。最后,通过训练完成的关系分类模型,对实体与实体之间的关系进行识别。在此方法中,可以将所有关系类型归纳于两大类,根据归纳
的类别训练得到的关系分类模型,可以识别出所有的关系类型,而不需要针对不同的关系类型单独训练一个模型,从而提高了该关系分类模型的泛化能力,并且节省了资源。
93.进一步的,针对图1中步骤s104,对各样本知识进行分类时,主要分为三个部分。第一部分:对样本知识中包含的实体进行筛选。第二部分:对样本知识中包含的关系类型进行筛选。第三部分:根据筛选出的实体和筛选出的关系类型,对各样本知识进行分类。
94.第一部分:对样本知识中包含的实体进行筛选。可以根据样本知识中包含的实体与实体之间是否具有语义包含关系,对各实体进行筛选,得到关键实体。
95.具体的,可以根据实体的词性和类型,对各实体进行筛选,得到候选实体。其中,候选实体可以指除了抽象名词之外的其他名词。然后,根据候选实体之间的相似度,确定每个候选实体的重要程度。根据每个候选实体的重要程度,从所有候选实体中筛选出具有语义包含关系的实体,作为关键实体。其中,候选实体的重要程度越大,表示候选实体越可能具有语义包含关系。有向图可以是指将实体与实体通过有方向的边连接所构成的图。在本说明书中可以通过textrank的方式不断迭代连接候选实体,构成有权有向图。根据构成的有权有向图,计算每个候选实体的重要程度。其中,有权有向图中每条边的权重可以是每两个实体之间的相似度。
96.进一步,在筛选候选实体时,可以将所有样本知识中的所有实体都抽取出来,得到实体集合。然后,先根据每个实体的词性,对实体集合中的名词词性的实体进行筛选,得到第一实体集合。其中,实体的词性可包括:名词、形容词等。
97.由于本说明中涉及语义包含关系的实体,而这类的实体大部分为名词。所以,可以采用词性识别算法对所有实体的词性进行识别,根据识别结果,将名词词性的实体筛选出来,得到第一实体集合。其中,词性识别算法可包括:hanlp。
98.接下来,根据实体的类型,对第一实体集合中的实体进行筛选,得到候选实体。其中,实体的类型可包括:时间、人名、数词、品类词(如:水果、植物等)、地点(如:北京、上海等)等。由于本说明书中需要区分语义包含关系的实体,即,语义互相包含的实体,所以需要过滤掉时间、人名和数词等抽象实体,保留品类词、地点等实体。因此,候选实体可以指除抽象实体之外的其他名词词性的实体。
99.再进一步,在获得候选实体之后,可以根据每个候选实体的词向量,计算候选实体之间的相似度。因为每个候选实体的词向量代表每个候选实体的语义内容,所以候选实体之间的相似度表示候选实体与候选实体之间的语义相似度。其中,每两个候选实体之间的语义相似度越大,说明该两个候选实体之间具有语义包含关系的可能性越大。然后,针对每个候选实体,确定该候选实体所在的样本知识以及确定该候选实体所在的样本知识所包含的除了该候选实体以外的其他候选实体。根据该候选实体与各其他候选实体之间的相似度,确定该候选实体的综合相似度。根据该候选实体的综合相似度,确定该候选实体的重要程度。其中,该候选实体的重要程度可以表示该候选实体在所有候选实体中的重要程度。
100.针对每个候选实体,若该候选实体的重要程度越大,说明该候选实体的综合相似度越大,综合相似度越大,说明与该候选实体存在相似度的其他候选实体越多,而每两个候选实体之间的相似度,表示的是该两个候选实体之间的语义相似度,从而说明该候选实体与很多其他候选实体存在语义相关性,在该候选实体与很多其他候选实体存在语义相关性的情况下,该候选实体与其他候选实体之间具有语义包含关系的可能性越大。所以,每个候
选实体的重要程度大小可以用来判断候选实体是否具有语义包含关系。即,候选实体的重要程度越大,表示候选实体具有语义包含关系的可能性越大;候选实体的重要程度越小,表示候选实体具有语义包含关系的可能性越小。
101.具体的,针对每个候选实体的重要程度,若该候选实体的重要程度大于第一预设阈值,则确定该候选实体为具有语义包含关系的实体;若该候选实体的重要程度小于第一预设阈值,则确定该候选实体为不具有语义包含关系的实体。
102.另外,计算每个候选实体的重要程度的公式可以包括:另外,计算每个候选实体的重要程度的公式可以包括:其中,ws(v
i
)表示实体v
i
的重要程度,ws(v
j
)表示实体v
j
的重要程度,表示与v
i
相连的实体v
j
对实体v
i
的贡献程度。w
ji
表示实体v
j
与实体v
i
之间的语义相似度,in(v
i
)表示为指向实体v
i
的实体集合,out(v
j
)表示实体v
j
向外指向的实体集合。
103.此外,在构建有向图时,需要将同一样本知识中的第一实体和第二实体进行连接,但是连接的边有方向的。其中,这里的第一实体和第二实体都为候选实体。可以在一定的关系类型下,根据候选实体的语义空间大小,设置候选实体之间的有向边的指向。具体的,在一定的关系类型下,可以建立语义空间大的候选实体指向语义空间小的候选实体的有向边。如图2所示。在图2中,语义空间大的候选实体有:番茄炒鸡蛋,语义空间小的候选实体有:鸡蛋、番茄、盐。在主要原料的关系条件下,番茄炒鸡蛋分别指向鸡蛋、番茄和盐。
104.第二部分:对样本知识中的关系类型进行筛选。
105.具体的,可以根据具有语义包含关系的关键实体,确定包含具有语义包含关系的关键实体的样本知识,作为候选样本知识。其中,候选样本知识中包含的第一实体和第二实体均为关键实体。
106.由于候选样本知识中包含的第一实体和第二实体均为关键实体,说明候选样本中的第一实体和第二实体之间具有语义包含关系。但是,这并不能说明候选样本知识中的关系类型是具有语义包含关系的关系描述。比如:<上海,简称,泸、位于中国>,“上海”与“中国”具有语义包含关系,但是“简称”并不是具有语义包含关系的关系描述。在这种情况下,需要过滤掉“简称”这个关系类型。
107.然后,遍历所有候选样本知识中的包含关系类型,针对每个关系类型,根据该关系类型所在的候选样本知识中包含的关键实体的重要程度,从所有候选样本知识的关系类型中筛选出具有语义包含关系的关键关系类型。
108.进一步,针对每个关系类型,根据该关系类型所在的候选样本知识中包含的关键实体的重要程度,确定该关系类型在所有关系类型中的重要程度。根据该关系类型在所有关系类型中的重要程度,判断该关系类型是否为具有语义包含关系的关系类型。根据判断结果,从所有候选样本知识的关系类型中筛选出具有语义包含关系的关键关系类型。
109.进一步,若该关系类型在所有关系类型中的重要程度大于第二预设阈值,则确定该关系类型为具有语义包含关系的关系类型。相反,若该关系类型在所有关系类型中的重要程度小于第二预设阈值,则确定该关系类型为不具有语义包含关系的关系类型。
110.针对每个关系类型,在确定该关系类型在所有关系类型中的重要程度时,由于包含该关系类型的候选样本中的第一实体和第二实体均为关键实体,所以通过所有包含该关系类型的候选样本中的第一实体的重要程度和第二实体的重要程度,计算得到的该关系类型的重要程度越大,说明存在该关系类型的候选样本数量越多,而关键实体本身具有语义包含关系,从而可推断在所有候选样本中出现频率越高的关系类型具有语义包含关系的可能性越大。因此,该关系类型的重要程度越大,表示该关系类型具有语义包含关系的可能性越大。
111.在确定该关系类型在所有关系类型中的重要程度时,可以根据候选样本知识中的第一实体和第二实体的语义空间大小,确定两种不同的计算方式。其中,这里的第一实体和第二实体均为关键实体。
112.第一种计算方式:第一实体的语义空间比第二实体的语义空间大。公式如下:其中,e
i
表示第一实体e
i
,e
j
表示第二实体e
j
,rel表示关系类型rel,ws(e
j
)表示第二实体e
j
的重要程度,ws(e
i
)表示第一实体e
i
的重要程度。i(e
i
,rel,e
j
)表示第一实体e
i
、关系类型rel、第二实体e
j
同时出现在同一个三元组(一个知识可以表示成一个三元组)中有效,有效为1,无效为0。同样,i(e
i
,rel,
·
)表示第一实体e
i
、关系类型rel同时出现在同一个三元组中有效,有效为1,无效为0。表示的含义是:针对每个关系类型rel,计算满足该关系类型rel的所有候选样本知识中包含的所有第一实体与第二实体的重要程度的平均值。f(rel)比f(rel)多了各实体的重要程度。score1(rel)表示关系类型rel的重要程度。
113.根据上述的计算关系类型的重要程度的公式,容易知道在第一实体和第二实体具有语义包含关系的前提下,而第一实体和第二实体又同时出现在同一三元组中,那么这个三元组中的关系类型很大可能具有语义包含关系。并且,第一实体、第二实体和某个关系类型出现在同一三元组的个数占出现该关系类型的三元组的个数的大多数,更能体现该关系类型具有语义包含关系。
114.第二种计算方式:第一实体的语义空间比第二实体的语义空间小。公式如下:其中,i(
·
,rel,e
j
)表示关系类型rel和第二实体e
j
同时出现在同一三元组有效,有效为1,无效为0。其他变量和定义与上述说明内容一致。score2(rel)表示关系类型rel的重要程度。
115.在计算关系类型的重要程度时,无法判断出同一三元组中的第一实体和第二实体的语义空间大小,所以可以通过上述的两种计算方式计算关系类型的重要程度。然后,针对每个关系类型,根据该关系类型的两个计算结果,选择最大的计算结果表示该关系类型的重要程度。
116.第三部分:根据筛选出的实体和筛选出的关系类型,对各样本知识进行分类。具体的,根据具有语义包含关系的关键实体和具有语义包含关系的关键关系类型,判断每个样本知识是否均包含具有语义包含关系的关键实体和具有语义包含关系的关键关系类型。也就是,在同一个三元组中,判断三元组中的第一实体和第二实体是否为具有语义包含关系
的实体且三元组中的关系类型是否为具有语义包含关系的关系类型。然后,根据判断结果,对各样本知识进行分类。
117.进一步,针对每个样本知识,若该样本知识均包括具有语义包含关系的关键实体和具有语义包含关系的关键关系类型,确定该样本知识为具有语义包含关系的第一类样本知识;若该样本知识不包括具有语义包含关系的关键实体或具有语义包含关系的关键关系类型,确定该样本知识为不具有语义包含关系的第二类样本知识。
118.比如:通过上述两个部分筛选出的具有语义包含关系的实体有:番茄炒鸡蛋、番茄、鸡蛋、北京、上海、中国,具有语义包含关系的关系类型有:主要原料、位于。若知识1表示的三元组为<番茄炒鸡蛋,主要原料,番茄、鸡蛋>,明显三元组中的第一实体、第二实体和关系类型都是具有语义包含关系,所以知识1为具有语义包含关系的第一类样本知识。若知识2表示的三元组为<中国,首都,北京>,这个三元组中的第一实体、第二实体都是具有语义包含关系,但是三元组中的关系类型“首都”并不具有语义包含关系,所以知识2为不具有语义包含关系的第二类样本知识。
119.在如图1所示的步骤s106中,在将具有语义包含关系的第一类样本知识作为正样本,将不具有语义包含关系的第二类样本知识作为负样本之后,还可以扩充正样本数量和负样本数量。
120.针对正样本扩充,可以将第一类样本知识中多个实体进行拆分或删减,以构成新的第一类样本知识。当第一类样本知识存在多个第二实体时,可以将多个第二实体进行拆分或将包含多个第二实体的语句进行拆分。比如:一个第一类样本知识表示的三元组为<蜂蜜香蕉,描述,“蜂蜜香蕉是一种美食,主要材料有香蕉、蜂蜜”>,可以将该个第一类样本知识拆分为两个第一类样本知识,分别为<蜂蜜香蕉,描述,蜂蜜香蕉是一种美食>,<蜂蜜香蕉,主要材料,香蕉、蜂蜜>。
121.当第一类样本知识存在多个第一实体时,可以删减至少一个第一实体,删减后的第一类样本知识作为新的第一类样本知识。
122.针对负样本扩充,可以对第一类样本知识中的实体和关系类型进行替换,并将替换后的知识作为负样本,即第二类样本知识。
123.具体的,针对每个第一类样本知识中的实体,可以获取除该实体之外的其他候选实体,将其他候选实体与该实体进行替换。当第一类样本知识存在多个第二实体时,还可以将第二实体与第一类样本知识中的第一实体进行替换。比如:一个第一类样本知识表示的三元组<番茄炒鸡蛋,主要原料,番茄、鸡蛋>,可以将番茄与番茄炒鸡蛋进行替换,得到第二类样本知识表示的三元组<番茄,主要原料,番茄炒鸡蛋、鸡蛋>。
124.进一步,对第一类样本知识中的关系类型进行替换。比如:一个第一类样本知识表示的三元组<番茄炒鸡蛋,主要原料,番茄、鸡蛋>,可以将关系类型“主要原料”与“位于”进行替换,得到第二类样本知识表示的三元组<番茄,位于,番茄炒鸡蛋、鸡蛋>。
125.在图1所示的步骤s110中,本说明书中关系分类模型除了可以根据知识的关系类型对知识图谱进行扩充之外,还可以根据知识中的第一实体对知识图谱进行扩充。为了根据知识中的第一实体对知识图谱进行扩充的功能,该关系分类模型还包括:重构子模型。其中,重构子模型可以是transformer模型。因此,在对关系分类模型进行训练时,还需要对重构子模型进行训练。
126.在单独对重构子模型进行训练时,可以先根据标注结果,判断输入关系分类模型的样本知识是否具有语义包含关系。当样本知识为具有语义包含关系的第一类样本知识时,将编码子模型输出的第一类样本知识的关系类型特征和第二实体特征输入重构子模型,通过重构子模型生成第一类样本知识的待优化第一实体特征。然后,根据第一类样本知识的待优化第一实体特征与第一类样本知识的第一实体特征,确定第一类样本知识的待优化第一实体特征与第一类样本知识的第一实体特征之间的第一差异。其中,第一差异越小越好。
127.当样本知识为不具有语义包含关系的第二类样本知识时,将第二类样本知识的关系类型特征和第二实体特征输入重构子模型,通过重构子模型生成第二类样本知识的待优化第一实体特征。根据第二类样本知识的待优化第一实体特征与第二类样本知识的第一实体特征,确定第二类样本知识的待优化第一实体特征与第二类样本知识的第一实体特征之间的第二差异。其中,第二差异越大越好。
128.在训练重构子模型的目的是:让重构子模型可以根据知识中的关系类型和第二实体可以生成具有语义包含关系的第一实体,这样在后续使用重构子模型时,可以针对任意输入的关系类型和第二实体,可以生成新的第一实体。然后将新的第一实体、关系类型和第二实体构成一个新的知识,并将新的知识添加到已存储的知识图谱中。
129.所以,在确定第一差异时,需要第一差异越小越好;在确定第二差异时,需要第二差异越大越好。
130.最终,可以根据第一差异与第二差异之间的差异,确定第三差异。以第三差异的最大化为训练目标,对重构子模型进行训练。
131.除了对重构子模型进行单独训练之外,还可以参与关系分类模型的整体训练过程。本说明书提供一种关系分类模型训练过程中的示意图,如图3所示。在图3中,除了上述训练关系分类模型的训练过程之外,还包括训练重构子模型的训练过程。
132.在步骤s108中,可以根据标注结果与待优化分类结果之间的差异,确定关系分类模型的第一损失。在确定第一损失之后,可以根据重构子模型确定第二损失。
133.具体的,当样本知识为具有语义包含关系的第一类样本知识时,将编码子模型输出的第一类样本知识的关系类型特征和第二实体特征输入重构子模型,通过重构子模型生成第一类样本知识的待优化第一实体特征。然后,根据第一类样本知识的待优化第一实体特征与第一类样本知识的第一实体特征,确定第一类样本知识的待优化第一实体特征与第一类样本知识的第一实体特征之间的第一差异。其中,第一差异越小越好。
134.当样本知识为不具有语义包含关系的第二类样本知识时,将第二类样本知识的关系类型特征和第二实体特征输入重构子模型,通过重构子模型生成第二类样本知识的待优化第一实体特征。根据第二类样本知识的待优化第一实体特征与第二类样本知识的第一实体特征,确定第二类样本知识的待优化第一实体特征与第二类样本知识的第一实体特征之间的第二差异。其中,第二差异越大越好。
135.根据第一差异与第二差异,确定第三差异。根据第三差异,确定关系分类模型的第二损失。然后,根据第一损失与第二损失,确定关系分类模型的综合损失。以综合损失最小化为训练目标,对关系分类模型进行训练。
136.进一步,可以对第一损失和第二损失进行加权求和,得到综合损失。考虑到关系分
类模型主要的功能是对每个知识进行语义关系的分类,因此,第一损失的权重大于第二损失的权重。
137.在使用重构子模型时,可以将指定第二实体、指定关系类型和待选第一实体输入该关系分类模型中,通过编码子模型,得到待选第一实体特征、指定第二实体特征和指定关系类型特征,然后,将指定第二实体特征和指定关系类型特征输入重构子模型,通过重构子模型输出指定第一实体特征,根据指定第一实体特征与每个待选第一实体特征之间的相似度,从所有待选第一实体中选择出相似度最大的第一实体,作为标准第一实体。最后,将标准第一实体、指定关系和指定第二实体作为一个新知识,并将该新知识添加到已存储的知识图谱中。
138.以上为本说明书实施例提供的关系识别方法,基于同样的思路,本说明书还提供了相应的装置、存储介质和电子设备。
139.图4为本说明书实施例提供的一种关系识别装置的结构示意图,所述装置包括:
140.提取模块401,用于提取已存储的知识图谱中的每个样本知识;
141.确定模块402,用于针对每个样本知识,确定该样本知识中包含的实体和关系类型;
142.分类模块403,用于根据所述实体和所述关系类型,对各样本知识进行分类,得到第一类样本知识和第二类样本知识;
143.标注模块404,用于将所述第一类样本知识标注为第一标注,将所述第二类样本知识标注为第二标注;
144.训练模块405,用于根据各样本知识以及各样本知识的标注结果,对关系分类模型进行训练;
145.关系识别模块406,用于通过训练完成的关系分类模型,对任意实体间的关系进行识别。
146.可选地,所述分类模块403具体用于,根据所述实体的语义内容,从所有样本知识中包含的所有实体中筛选出关键实体;根据筛选出的关键实体以及每个样本知识中包含的关系类型,从所有关系类型中筛选出关键关系类型;根据所述关键实体和所述关键关系类型,对各样本知识进行分类,得到第一类样本知识和第二类样本知识。
147.可选地,所述分类模块403具体用于,根据所述实体的词性和类型,对每个样本知识中包含的实体中筛选出候选实体;根据所述候选实体之间的相似度,确定每个候选实体的重要程度;根据所述重要程度,从所有候选实体中筛选出关键实体。
148.可选地,所述每个样本知识中包括至少两个实体;
149.可选地,所述分类模块403具体用于,针对每个候选实体,确定该候选实体所在的样本知识以及确定该候选实体所在的样本知识所包含的除了该候选实体以外的其他候选实体;根据该候选实体与各其他候选实体之间的相似度,确定该候选实体的综合相似度;根据该候选实体的综合相似度,确定该候选实体的重要程度。
150.可选地,所述分类模块403具体用于,根据所述关键实体,确定包含所述关键实体的样本知识,作为候选样本知识;遍历所有候选样本知识中包含的关系类型,针对每个关系类型,根据该关系类型所在的候选样本知识中包含的关键实体的重要程度,从所有候选样本知识的关系类型中筛选出关键关系类型。
151.可选地,所述分类模块403具体用于,针对每个样本知识,根据所述关键实体和所述关键关系类型,判断该样本知识是否均包含所述关键实体和所述关键关系类型;若该样本知识均包含所述关键实体和所述关键关系类型,确定该样本知识为第一类样本知识;若该样本知识缺少所述关键实体和/或所述关键关系类型,确定该样本知识为第二类样本知识。
152.可选地,所述关系分类模型包括:编码子模型、融合子模型和全连接层;所述每个样本知识中包含的实体包括:第一实体和第二实体;
153.可选地,所述训练模块405具体用于,将每个样本知识输入关系分类模型的编码子模型中,通过所述编码子模型,对每个样本知识进行编码,得到第一实体特征、关系类型特征和第二实体特征;将所述第一实体特征、所述关系类型特征和所述第二实体特征输入所述融合子模型,通过所述融合子模型,将所述第一实体特征、所述关系类型特征和所述第二实体特征进行融合,得到融合后的综合特征;将所述综合特征输入所述全连接层,通过所述全连接层输出待优化分类结果;至少以标注结果与所述待优化分类结果之间的差异最小化为训练目标,对所述关系分类模型进行训练。
154.可选地,所述关系识别模块406具体用于,在关系分类模型训练完成之后,待识别知识;其中,所述待识别知识包括:待识别第一实体、待识别关系类型和待识别第二实体;将所述待识别知识输入所述关系分类模型,通过所述关系分类模型,对所述待识别第一实体与所述待识别第二实体之间的待识别关系类型进行识别;若识别出所述待识别知识为第一类样本知识,将所述待识别知识添加到所述已存储的知识图谱中;若识别出所述待识别知识为第二类样本知识,无需将所述待识别知识添加到所述已存储的知识图谱中。
155.本说明书还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可用于执行上述图1提供的关系识别方法。
156.基于图1所示的关系识别方法,本说明书实施例还提供了图5所示的无人设备的结构示意图。如图5,在硬件层面,该无人设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1所述的关系识别方法。
157.当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
158.在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmable logic device,pld)(例如现场可编程门阵列(field programmable gate array,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,
而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardware description language,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advanced boolean expression language)、ahdl(altera hardware description language)、confluence、cupl(cornell university programming language)、hdcal、jhdl(java hardware description language)、lava、lola、myhdl、palasm、rhdl(ruby hardware description language)等,目前最普遍使用的是vhdl(very

high

speed integrated circuit hardware description language)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
159.控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc 625d、atmel at91sam、microchip pic18f26k20以及silicone labs c8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
160.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
161.为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
162.本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
163.本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
164.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
165.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
166.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
167.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
168.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd

rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
169.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
170.本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
171.本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
172.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例
的部分说明即可。
173.以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
再多了解一些

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

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

相关文献