一种实体关系的确定方法、装置、计算设备及存储介质转让专利

申请号 : CN202011198104.X

文献号 : CN112463960B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张浩静刘炎覃建策陈邦忠

申请人 : 完美世界控股集团有限公司

摘要 :

本申请实施例提供一种实体关系的确定方法、装置、计算设备及存储介质。在本申请实施例中,获取待识别语料的第一实体对,确定第一实体对的表征特征,并得到第一三元组;若第一三元组不符合判别条件,则获取对应待识别语料的第二实体对,确定第二实体对的语法特征,并得到第二三元组;若第二三元组不符合判别条件,则获取对应待识别语料的第三实体对以及第三实体对的语义特征;将表征特征、语法特征、语义特征输入到预设模型,以获取第三实体对的实体关系,从而能够快速地进行实体关系的识别或抽取。通过对多级特征进行融合,以扩充实体关系抽取的上下文语义特征,能够更加准确地通过预设模型确定实体关系。

权利要求 :

1.一种实体关系的确定方法,其特征在于,包括:获取待识别语料的第一实体对,确定所述第一实体对的表征特征,并得到第一三元组;

确定所述第一三元组与预置三元组的相似度,根据所述第一三元组与预置三元组的相似度确定所述第一三元组是否符合判别条件,若所述第一三元组不符合判别条件,则获取对应待识别语料的第二实体对,确定第二实体对的语法特征,并得到第二三元组;

确定所述第二三元组与预置三元组的相似度,根据所述第二三元组与预置三元组的相似度确定所述第二三元组是否符合判别条件,若所述第二三元组不符合判别条件,则获取对应待识别语料的第三实体对以及第三实体对的语义特征;

将所述表征特征、所述语法特征、所述语义特征输入到预设模型,以获取第三实体对的实体关系。

2.根据权利要求1所述的方法,其特征在于,所述确定所述第一实体对的表征特征,并得到第一三元组,包括:

获取所述第一实体对的表征特征,并利用所述第一实体对及所述表征特征组成所述第一三元组。

3.根据权利要求1所述的方法,其特征在于,所述确定所述第一三元组与预置三元组的相似度,根据相似度确定所述第一三元组是否符合判别条件包括:将所述第一三元组与预置三元组中特定三元组进行对比以获取相似度;

若相似度大于预设值,则所述第一三元组符合判别条件,并将所述第一三元组设置为第一确定三元组。

4.根据权利要求1所述的方法,其特征在于,所述确定第二实体对的语法特征,并得到第二三元组,包括:

获取所述第二实体对的语法特征,并利用所述第二实体对及所述语法特征组成所述第二三元组。

5.根据权利要求1所述的方法,其特征在于,所述确定所述第二三元组与预置三元组的相似度,根据相似度确定所述第二三元组是否符合判别条件,包括:将所述第二三元组与预置三元组中特定三元组进行对比以获取相似度;

若相似度大于预设值,则所述第二三元组符合判别条件,并将所述第二三元组设置为第二确定三元组。

6.根据权利要求1所述的方法,其特征在于,所述方法还包括:基于所述第三实体对以及获取到的实体关系,构建第三确定三元组,并进行存储。

7.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取待分析语料,确定所述待分析语料中的待分析三元组;

对所述待分析三元组进行分类,得到不同类型的三元组,并作为所述预置三元组,每个类型的三元组对应有该类型下的子类型的三元组。

8.根据权利要求7所述的方法,其特征在于,所述方法还包括:针对所述预置三元组中的每个类型的三元组,获取每个类型的三元组的实体对;

根据获取到的实体对,对所述对应待处理语料进行选择并确定对应待处理语料的第四实体对,并对选择后的待处理语料中的第四实体对进行标注;

对具有标注的第四实体对设置实体关系,相同第四实体对的实体关系相同;

利用标注的第四实体对的表征特征、语法特征以及语义特征构建输入数据,对预设初始模型进行训练,得到预设模型。

9.一种实体关系的确定装置,其特征在于,包括:第一确定模块,用于获取待识别语料的第一实体对,确定所述第一实体对的表征特征,并得到第一三元组;

第一判别模块,用于确定所述第一三元组与预置三元组的相似度,根据所述第一三元组与预置三元组的相似度确定所述第一三元组是否符合判别条件;

第二确定模块,用于若所述第一三元组不符合判别条件,则获取对应待识别语料的第二实体对,确定第二实体对的语法特征,并得到第二三元组;

第二判别模块,用于确定所述第二三元组与预置三元组的相似度,根据所述第二三元组与预置三元组的相似度确定所述第二三元组是否符合判别条件;

第三确定模块,用于若所述第二三元组不符合判别条件,则获取对应待识别语料的第三实体对以及第三实体对的语义特征;

输入模块,用于将所述表征特征、所述语法特征、所述语义特征输入到预设模型,以获取第三实体对的实体关系。

10.一种计算设备,其特征在于,包括:存储器、处理器;

所述存储器,用于存储计算机程序;

所述处理器,用于执行所述计算机程序,以用于:获取待识别语料的第一实体对,确定所述第一实体对的表征特征,并得到第一三元组;

确定所述第一三元组与预置三元组的相似度,根据所述第一三元组与预置三元组的相似度确定所述第一三元组是否符合判别条件,若所述第一三元组不符合判别条件,则获取对应待识别语料的第二实体对,确定第二实体对的语法特征,并得到第二三元组;

确定所述第二三元组与预置三元组的相似度,根据所述第二三元组与预置三元组的相似度确定所述第二三元组是否符合判别条件,若所述第二三元组不符合判别条件,则获取对应待识别语料的第三实体对以及第三实体对的语义特征;

将所述表征特征、所述语法特征、所述语义特征输入到预设模型,以获取第三实体对的实体关系。

11.一种存储有计算机程序的计算机可读存储介质,其特征在于,计算机程序被一个或多个处理器执行时,致使所述一个或多个处理器实现权利要求1‑8任一项所述方法中的步骤。

说明书 :

一种实体关系的确定方法、装置、计算设备及存储介质

技术领域

[0001] 本申请涉及计算机技术领域,尤其涉及一种实体关系的确定方法、装置、计算设备及存储介质。

背景技术

[0002] 进入互联网时代后,网上每天产生大量的文本数据,为了更好的服务于人们的日常生活,需要充分使用文本数据,将非结构化的数据转变为结构化的数据。关系抽取的作用
就是从文本数据提取有用的信息,进而生成结构化数据,更有效地分析复杂关系中存在的
特定潜在的内容,更好的服务与人们的日常生活。
[0003] 然而,由于产生的文本数据众多,故如何能够快速且准确地进行关系抽取是很重要的。

发明内容

[0004] 本申请的多个方面提供一种实体关系的确定方法、装置、计算设备及存储介质,用以能够较为快速且准确地确定实体关系,从而实现关系抽取。
[0005] 本申请实施例提供一种实体关系的确定方法,包括:获取待识别语料的第一实体对,确定所述第一实体对的表征特征,并得到第一三元组;若所述第一三元组不符合判别条
件,则获取对应待识别语料的第二实体对,确定第二实体对的语法特征,并得到第二三元
组;若所述第二三元组不符合判别条件,则获取对应待识别语料的第三实体对以及第三实
体对的语义特征;将所述表征特征、所述语法特征、所述语义特征输入到预设模型,以获取
第三实体对的实体关系。
[0006] 本申请实施例还提供一种实体关系的确定装置,包括:第一确定模块,用于获取待识别语料的第一实体对,确定所述第一实体对的表征特征,并得到第一三元组;第二确定模
块,用于若所述第一三元组不符合判别条件,则获取对应待识别语料的第二实体对,确定第
二实体对的语法特征,并得到第二三元组;第三确定模块,用于若所述第二三元组不符合判
别条件,则获取对应待识别语料的第三实体对以及第三实体对的语义特征;输入模块,用于
将所述表征特征、所述语法特征、所述语义特征输入到预设模型,以获取第三实体对的实体
关系。
[0007] 具体的,所述第一确定模块,包括:第一获取单元,用于获取所述第一实体对的表征特征,并利用所述第一实体对及所述表征特征组成所述第一三元组。
[0008] 此外,所述装置还包括:第一判别模块,用于确定所述第一三元组与预置三元组的相似度,根据相似度确定所述第一三元组是否符合判别条件。
[0009] 具体的,所述第一判别模块,包括:第二获取单元,用于将所述第一三元组与预置三元组中特定三元组进行对比以获取相似度;第一设置单元,用于若相似度大于预设值,则
所述第一三元组符合判别条件,并将所述第一三元组设置为第一确定三元组。
[0010] 此外,所述装置还包括:第一存储模块,用于存储所述第一确定三元组,以进行知识图谱的构建。
[0011] 具体的,所述第二确定模块,包括:第三获取单元,用于获取所述第二实体对的语法特征,并利用所述第二实体对及所述语法特征组成所述第二三元组。
[0012] 此外,所述装置还包括:第二判别模块,用于确定所述第二三元组与预置三元组的相似度,根据相似度确定所述第二三元组是否符合判别条件。
[0013] 所述第二判别模块,包括:第四获取单元,用于将所述第二三元组与预置三元组中特定三元组进行对比以获取相似度;第二设置单元,用于若相似度大于预设值,则所述第二
三元组符合判别条件,并将所述第二三元组设置为第二确定三元组。
[0014] 此外,所述装置还包括:第二存储模块,用于存储所述第二确定三元组,以进行知识图谱的构建。
[0015] 此外,所述装置还包括:第三存储模块,用于基于所述第三实体对以及获取到的实体关系,构建第三确定三元组,并进行存储。
[0016] 此外,所述装置还包括:第四确定模块,用于获取待分析语料,确定所述待分析语料中的待分析三元组;分类模块,用于对所述待分析三元组进行分类,得到不同类型的三元
组,并作为所述预置三元组,每个类型的三元组对应有该类型下的子类型的三元组。
[0017] 此外,所述装置还包括:获取模块,用于针对所述预置三元组中的每个类型的三元组,获取每个类型的三元组的实体对;标注模块,用于根据获取到的实体对,对所述对应待
处理语料进行选择并确定对应待识别语料的第四实体对,并对选择后的待处理语料中的第
四实体对进行标注;设置模块,用于对具有标注的第四实体对设置实体关系,相同第四实体
对的实体关系相同;构建模块,用于利用标注的第四实体对的表征特征、语法特征以及语义
特征构建输入数据,对预设初始模型进行训练,得到预设模型。
[0018] 此外,所述预设初始模型包括输入层、BiLSTM层、注意力机制层、线性层以及分类层。
[0019] 本申请实施例还提供一种计算设备,包括:存储器、处理器;所述存储器,用于存储计算机程序;所述处理器,用于执行所述计算机程序,以用于:获取待识别语料的第一实体
对,确定所述第一实体对的表征特征,并得到第一三元组;若所述第一三元组不符合判别条
件,则获取对应待识别语料的第二实体对,确定第二实体对的语法特征,并得到第二三元
组;若所述第二三元组不符合判别条件,则获取对应待识别语料的第三实体对以及第三实
体对的语义特征;将所述表征特征、所述语法特征、所述语义特征输入到预设模型,以获取
第三实体对的实体关系。
[0020] 本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被一个或多个处理器执行时,致使所述一个或多个处理器实现上述方法中的步骤。
[0021] 在本申请实施例中,获取待识别语料的第一实体对,确定第一实体对的表征特征,并得到第一三元组;若第一三元组不符合判别条件,则获取对应待识别语料的第二实体对,
确定第二实体对的语法特征,并得到第二三元组;若第二三元组不符合判别条件,则获取对
应待识别语料的第三实体对以及第三实体对的语义特征;将表征特征、语法特征、语义特征
输入到预设模型,以获取第三实体对的实体关系,从而能够快速地进行实体关系的识别或
抽取。由于是通过表征特征、语法特征、语义特征输入到预设模型,得到实体关系的,通过对
多级特征进行融合,以扩充实体关系抽取的上下文语义特征,能够更加准确地通过预设模
型确定第三实体对的实体关系。

附图说明

[0022] 此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0023] 图1为本申请一示例性实施例的实体关系的确定方法的流程示意图;
[0024] 图2为本申请一示例性实施例的模型应用的流程示意图;
[0025] 图3为本申请一示例性实施例的模型结构的示意图;
[0026] 图4为本申请一示例性实施例提供的计算设备的结构示意图。

具体实施方式

[0027] 为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一
部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做
出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0028] 基于前文所述可知,由于文本数据众多,所以快速且准确地对文本数据进行信息提取,或关系抽取是很重要的。故,本申请实施例提供的技术方案,较为快速且准确地对实
体关系进行识别或抽取。
[0029] 以下结合附图,详细说明本申请各实施例提供的技术方案。
[0030] 图1为本申请一示例性实施例的一种实体关系的确定方法的流程示意图。本申请实施例提供的该方法100可以由服务端执行,如,服务器等。该方法100包括以下步骤:
[0031] 101:获取待识别语料的第一实体对,确定第一实体对的表征特征,并得到第一三元组。
[0032] 102:若第一三元组不符合判别条件,则获取对应待识别语料的第二实体对,确定第二实体对的语法特征,并得到第二三元组。
[0033] 103:若第二三元组不符合判别条件,则获取对应待识别语料的第三实体对以及第三实体对的语义特征。
[0034] 104:将表征特征、语法特征、语义特征输入到预设模型,以获取第三实体对的实体关系。
[0035] 需要说明的是,本方法100的执行主体还可以由智能终端实现,如电脑等。
[0036] 其中,语料是指语言材料,可以是文本数据。三元组表示为一对实体及实体之间的关系。如A创建B,其中,A和B为实体,即一个实体对,创建为该实体对的实体关系,“创建”本
身的文本或文字形式就可能是具体语料中实体对的表征特征。
[0037] 以下针对上述步骤进行详细阐述:
[0038] 101:获取待识别语料的第一实体对,确定第一实体对的表征特征,并得到第一三元组。
[0039] 其中,表征特征是指表现形式的特征,对于文本数据而言,文本数据的表现形式则可以是文字,那么其表征特征则可以是文字。如,公司,其表征特征则就是该“公司”的本身
文字形式。而对于第一实体对的表征特征则可以初步认为是表示第一实体对的实体关系的
特征。从而可以利用上述获取的第一实体对的表征特征与第一实体对组成第一三元组。
[0040] 具体的,确定第一实体对的表征特征,并得到第一三元组,包括:获取第一实体对的表征特征,并利用第一实体对及表征特征组成第一三元组。
[0041] 例如,可以通过LTP(Language Technology Platform,语言技术平台),一种自然语言处理工具包,确定语料中的第一实体对,以及再通过依存句法分析得到表征特征,并得
到第一三元组。
[0042] 需要说明的是,上述获取第一三元组的实现方式可以通过单元来实现。如图2所示,实体关系抽取表征模式特征单元可以实现获取第一三元组。其中,该单元中的关系抽取
表征规则挖掘子单元可以用于获取到第一三元组。
[0043] 在得到第一三元组后,为了提高该三元组的准确性,对得到的三元组可以继续进一步验证,在一定程度上更好的保证了产生的三元组的有效性。
[0044] 具体的,可以对第一三元组进行判别的方式可以为:该方法100还包括:确定第一三元组与预置三元组的相似度,根据相似度确定第一三元组是否符合判别条件。
[0045] 上述预置三元组是通过对大量待分析语料的处理来获得的。待识别语料的获取方式可以是从已有的众多文本数据中获取到的。该文本数据可以存储在语料库中。服务器可
以从该语料库中进行获取。
[0046] 其中,预置三元组的生成方式可以包括:如图2所示,步骤201:获取待分析语料,确定待分析语料中的待分析三元组;对待分析三元组进行分类,得到不同类型的三元组,并作
为预置三元组,每个类型的三元组对应有该类型下的子类型的三元组。即步骤202:得到预
置三元组。
[0047] 其中,待分析三元组的确定方式可以为:根据依存句法分析来确定的。具体的可以为:对待分析语料中进行分句,得到多个句子,然后对每个句子进行分词,得到每个句子的
分词,并对每个分词的词性进行标注。基于该标注,识别出来每个句子中的实体对,然后对
实体对进行标注。基于这些标注,进行依存句分析,可以确定出如,句子中的主语谓语宾语
关系、定语后置动宾关系、含有介宾关系的主谓动补关系等。
[0048] 还可以通过该LTP(Language Technology Platform,语言技术平台),一种自然语言处理工具包,来确定待分析三元组。
[0049] 例如,根据前文所述,根据上述方式服务器可以确定多个待分析三元组,如,A创建B,C生产D,子公司E从属母公司F等。
[0050] 其中,对待分析三元组进行分类,可以包括:通过聚类算法进行分类。聚类算法可以为k‑meansⅡ聚类算法。
[0051] 例如,根据前文所述可知,通过依存句法分析得到很多的待分析三元组,但是这些三元组中的实体关系语义可能表达了一样的意思,但是实体关系的具体用词却不同,例如
{C,生产,D}和{C,发明,D},甚至{C,产品,D},虽然生产、发明、产品是三个不同的分词,但是
表达了同样或相似的实体关系。面对这样的情况,可以通过k‑meansⅡ聚类对实体关系分词
进行聚类,解决以上问题。
[0052] 此外,k‑meansⅡ聚类算法避免了K‑means聚类算法对于初始的簇心会比较敏感的问题,也解决了K‑means++由于其内在的顺序执行特性导致时间复杂度高的问题。
[0053] 具体的,k‑meansⅡ聚类算法步骤可以包括以下内容:
[0054] 当待分析三元组的有M个。
[0055] (1)、在M个待分析三元组中抽取A个待分析三元组,也可以称为抽取A样本,总共抽取logM次,形成一个新的数据集合,也可以称为新的样本集,该集合中的数据总共有AlogM
个。
[0056] (2)、对新生成的数据集合使用K‑Means算法,找到A个聚簇中心。
[0057] (3)、把这A个聚簇中心放到最初的样本集中,即M个待分析三元组,作为初始聚簇中心。
[0058] (4)、原数据集,即M个待分析三元组根据上述初始聚簇中心,再用K‑Means算法计算出最终的聚簇,即可以得到不同类型的三元组。
[0059] 例如,通过待分析三元组{C,生产,D}、{C,发明,D}、{C,产品,D}找到初始三元组(即预置三元组){C,旗下产品,D}。其下有各个子类别的三元组:{C,生产,D}、{C,发明,D}、
{C,产品,D}。
[0060] 此外,为了方便后续数据的处理,还可以继续构造对应的关系字典,如{旗下产品:[生产,发明,产品]},该字典形式符合key‑value(键值)形式,其中,旗下产品为key(关系
键),[生产,发明,产品]为value(关系值)。也可以理解为,旗下产品为类别,生产,发明,产
品为该类别或该种类的子类别。
[0061] 通过依存句法分析与聚类结合的方法,产生预置三元组,避免了后续人工标注数据,大大降低成本的同时,还解决了模型冷启动的问题。
[0062] 此外,在得到预置三元组的过程中,为了减少处理量,提高处理精度,可以预先对待分析语料进行预处理。
[0063] 具体的,对待分析语料进行清洗。例如,可以通过正则表达式,来对获取到的待分析语料中的中文标点混合英文标点符号,全半角等情况进行清洗,并去除无效乱码。然后去
除语料句子中一些特殊的标点符号,以及标点符号重复使用的情况。最后对待分析语料进
行句子去重。
[0064] 需要说明的是,待分析语料与前文所述的待处理语料是不同的。
[0065] 其中,判别条件可以是是否大于相似度的预设值,如,当大于相似度的预设值则符合判别条件,当小于相似度阈值则不符合判别条件。此外对于等于相似度的预设值而言,则
也可以归为符合判别条件。
[0066] 相似度的确定可以通过相似度算法来确定,如,欧几里得距离、霍夫曼距离算法等来计算两个三元组的相似度。也可以用jieba分词工具包等进行相似度的计算。
[0067] 可以直接通过相似度算法,确定第一三元组与预置三元组中每个三元组的相似度,根据相似度的预设值来确定是否符合判别条件。为了更快的确定是否符合判别条件,可
以通过确定第一三元组与预置三元组中特定三元组的相似度来确定。
[0068] 具体的,可以通过比对第一实体对的表征特征与预置三元组对应关系字典中的关系值(如,关系字典:旗下产品为key(关系键),[生产,发明,产品]为value(关系值))来确定
预置三元组中的特定三元组,以用于缩小相似度的计算范围。若所述关系字典中存在与第
一实体对的表征特征相同或相似的关系值(如上文所述的“生产,发明,产品”),则可以确定
预置三元组中包含所述关系值及/或关系值对应的关系键的三元组为特定三元组,以用于
后续相似度计算。如果若所述关系字典中不存在与第一实体对的表征特征相同或相似的关
系值,可以直接认定所述相似度不符合判别条件,即所述第一三元组不符合判别条件,流程
则直接转入步骤102进一步判别。
[0069] 需要说明的是,如图2所示,其中,实体关系抽取表征模式特征单元中的关系抽取表征特征判别子单元用于确定上述第一三元组是否符合上述判别条件,符合以后得到第一
确定三元组。
[0070] 在第一三元组符合对应判别条件的情况下,第一三元组被设置为第一确定三元组,可被存储以进行知识图谱的构建。如图2所示,即服务器中的关系抽取表征特征判别子
单元可以执行步骤203:发送第一确定三元组至三元组收集单元进行存储或收集,以进行知
识图谱的完善和构建。
[0071] 如果不满足判别条件,服务器可以获取到第一三元组中的表征特征作为后续预设模型的输入的一部分。此外,还可以获取到不符合判别条件的第一三元组所属的待识别语
料。
[0072] 具体的,如图2所示,服务器中的实体关系抽取表征模式特征单元可以执行步骤204:发送表征特征,即第一三元组的实体关系的文字表现形式,至后续用于预设模型的对
应单元。
[0073] 此外,第一三元组不符合判别条件需要得到第二三元组。如下步骤102。
[0074] 102:若第一三元组不符合判别条件,则获取对应待识别语料的第二实体对,确定第二实体对的语法特征,并得到第二三元组。
[0075] 其中,确定第二实体对的语法特征,并得到第二三元组,包括:第二实体对的语法特征,并利用第二实体对及语法特征组成第二三元组。
[0076] 由于前文已经阐述过实体对的确定方式,此处就不再赘述,仅说明:
[0077] 其中,语法特征是指类型、词性、韵律等。如,人名、地名、语调、时域分布和重音等。在得到第二实体对后,以及对应的实体关系后,确定该实体关系的语法特征。
[0078] 第二实体对可以与第一实体对是相同的,即可以用与得到第一实体对相同的方法得到第二实体对,或者直接使用先前获取的第一实体对作为第二实体对。
[0079] 需要说明的是,第一实体对和第二实体对也可以是不同对的。对于待识别语料而言,其可以具有多个实体对,所以可以存在不同的详情。
[0080] 并且也需要对该第二三元组进行判别。具体的,该方法100还包括:确定第二三元组与预置三元组的相似度,根据相似度确定第二三元组是否符合判别条件。
[0081] 可以直接通过相似度算法,确定第二三元组与预置三元组中每个三元组的相似度,根据相似度的预设值来确定是否符合判别条件。具体的,确定第二三元组与预置三元组
的相似度,根据相似度确定第二三元组是否符合判别条件包括:将第二三元组与预置三元
组中特定三元组进行对比以获取相似度;若相似度大于预设值,则第二三元组符合判别条
件,并将第二三元组设置为第二确定三元组。
[0082] 为了更快的确定是否符合判别条件,可以通过确定第二三元组与预置三元组中特定三元组的相似度来确定。
[0083] 具体来说,可以通过比对第二实体对的语法特征与预置三元组的语法特征来选取特定三元组,以用于缩小相似度的计算范围。举例来说,若某一预置三元组的实体对类型与
第二实体对类型相同(如,公司、人名,或公司、公司),且其他语法特征与第二实体的其他语
法特征相似或相同,则可被选为特定三元组以用于后续相似度计算。如果不存在这样的三
元组,则可以直接认定所述相似度不符合判别条件,即所述第二三元组不符合判别条件,流
程则直接转入步骤103进一步处理。
[0084] 由于此处的实现方式与前文所述的实现方式相似,此处就不再赘述。
[0085] 在第二三元组被设置为第二确定三元组后,可被存储以进行知识图谱的构建。
[0086] 更具体的,如图2所示,服务器中的实体关系抽取语法特征单元接收到实体关系抽取表征模式特征单元发送的对应待识别语料,即执行步骤205:发送对应待识别语料。实体
关系抽取语法特征单元中的关系抽取语法规则挖掘子单元获取到第二三元组,并由关系抽
取语法特征判别子单元进行判别。符合判别条件。则执行步骤206:发送第二确定三元组至
三元组收集单元进行存储或收集。不满足判别条件,则将第二三元组的语法特征发送至实
体关系抽取语义特征单元,即执行步骤207:发送语法特征。且,执行步骤208:发送对应待识
别语料至实体关系抽取语义特征单元。
[0087] 三元组收集单元通过以上几种方式逐渐扩大三元组的规模,从而产生高质量的初始三元组,即形成小型知识图谱。
[0088] 103:若第二三元组不符合判别条件,则获取对应待识别语料的第三实体对以及第三实体对的语义特征。
[0089] 其中,获取对应待识别语料中的语义特征,包括:将待识别语料进行分词切分,确定分词向量以及分词与对应实体对的位置向量,作为语义特征。
[0090] 可以根据与前文所述类似的方式得到第三实体对,或以第一实体对作为第三实体对,此处就不再赘述。
[0091] 例如,根据前文所述,服务器可以首先对前述得到的预置三元组,构造实体字典,如,构造的实体字典:{旗下产品:[[A,B],[C,D]]}等。然后,可以利用前述的分词工具,对获
取到不满足判别条件的第二三元组所属的待识别语料中的句子进行分词,分词工具可以使
用jieba、LTP等。用构造的实体字典与对应的待识别语料中的句子进行实体对的匹配筛选,
将含有实体对的对应的句子筛选出来,并对实体对进行标注。可以通过word2vec或者Bert
确定句子中各个分词的分词向量,并通过随机初始化或三角函数等方式确定定各个分词分
别与头实体和尾实体的相对位置的位置向量position embedding。将两者进行拼接即可以
得到语义特征。
[0092] 104:将表征特征、语法特征、语义特征输入到预设模型,以获取第三实体对的实体关系。
[0093] 根据前文所述,再将上述该待识别语料的表征特征、语法特征与语义特征进行拼接,输入至训练好的预设模型中,可以得到第三实体对的实体关系,从而生成最终的第三确
定三元组,从进行存储。
[0094] 除此以外,还可以添加其它特征,将其与上述表征特征、语法特征、语义特征一并进行拼接,并输入至预设模型,或者直接输入至预设模型,得到实体关系。
[0095] 如图2所示,服务器的实体关系抽取语义特征单元在获取到表征特征以及语法特征后,分别获取对应的向量特征。对于表征特征而言,也是可以根据前文所述的方法得到对
应的表征特征对应的向量特征。对于语法特征而言,也是可以根据前文所述的方法得到对
应的语法特征对应的向量特征。并由实体关系抽取语义特征单元中的关系抽取语义规则挖
掘子单元进行模型的训练。可以将这语义特征、语法特征以及表征特征对应的向量特征进
行拼接,从而作为模型的训练数据或输入进行模型的训练。在训练过程中,可以进行测试,
通过关系抽取推理子单元进行测试。
[0096] 具体的,该方法100还包括:基于第三实体对以及获取到的实体关系,构建第三确定三元组,并进行存储。由于该实现方式与前文已经阐述过实现方式相似,此处就不再赘
述。
[0097] 在上述实现过程中,对待测语料中实体对的确定可以使用相同的方式实现,即第一实体对、第二实体对、第三实体对可以是相同的,在一些实施例中,可以仅在确定第一三
元组时获取一次实体对并在后续过程中作为第二实体对和第三实体对使用,本方案对此不
作限定。
[0098] 需要说明的是,可以通过关系抽取深层语义挖掘子单元进行语义特征的提取。而再将表征特征、语法特征与语义特征进行拼接,由关系抽取推理子单元,将该拼接后的特征
输入至预设模型中,得到实体关系。
[0099] 应理解,在进行关系确定的过程中,可以是同一个待识别语料获取到对应的第一实体对的表征特征,第二实体对的语法特征以及第三实体对的语义特征,来最终通过预设
模型确定出第三实体对的实体关系。
[0100] 其中,预设模型的训练过程可以如下:
[0101] 具体的,该方法100还包括:针对预置三元组中的每个类型的三元组,获取每个类型的三元组的实体对;根据获取到的实体对,对对应待处理语料进行选择并确定对应待处
理语料的第四实体对,并对选择后的待处理语料中的第四实体对进行标注;对具有标注的
第四实体对设置实体关系,相同第四实体对的实体关系相同;利用标注的第四实体对的表
征特征、语法特征以及语义特征构建输入数据,对预设初始模型进行训练,得到预设模型。
[0102] 其中,预设初始模型包括输入层、BiLSTM层、注意力机制层、线性层以及分类层。
[0103] 待处理语料的获取过程与前文中所述的待识别语料的获取过程相似,就不再赘述。仅说明:待处理语料也通过了生成了两次三元组以及两层判别得到。从而还可以得到两
次三元组中对应的表征特征以及语法特征。
[0104] 根据前文所述方法,在得到待处理语料后,还可以得到对应的语义特征。除此以外,还有以下处理过程:
[0105] 例如,根据前文所述,服务器可以首先对前述得到的预置三元组,构造实体字典,如,构造的实体字典:{旗下产品:[[A,B],[C,D]]}等。然后,可以利用前述的分词工具,对获
取到不满足上述两次判别条件的三元组所属的待处理语料中的句子进行分词,分词工具可
以使用jieba、LTP等。用构造的实体字典与对应的待处理语料中的句子进行实体对的匹配
筛选,将含有实体对的对应的句子筛选出来,并对两个实体进行标注,即可以得到标注的第
四实体对。如:A创建B,是对A、B这两个实体进行了标注,其它句子的舍弃。接着对标注了第
四实体对的句子添加关系标签,其依据可以是远程监督的假设:如果在一个句子中含有一
个实体关系涉及的实体对,则认为此句子描述了这个实体关系。也就是说,该对应的待处理
语料里所有含有A和B的句子,可以全都假设为A是B的母公司、B是A的子公司,即A和B是子母
公司的实体关系。
[0106] 在筛选出对应的句子后,可以通过word2vec(用来产生词向量的相关模型)或者Bert(Bidirectional Encoder Representations from Transformers,基于转换器的双向
编码表征)确定句子中各个分词的分词向量word embedding、各个分词分别与句子中头实
体相对位置和各个分词分别与尾实体的相对位置的位置向量position embedding,即语义
特征。
[0107] 得到标注的第四实体对后,利用对应的表征特征、语法特征(前文所述训练前得到的)以及语义特征作为训练数据进行模型训练。
[0108] 然后对神经网络模型进行训练,通过反向传播更新模型参数,当模型收敛后再通过dropout随机失活防止模型过拟合。通过对该模型进行不断的训练和测试,当模型达到一
定效果后,就可以应用了,进行模型预测。
[0109] 由于该预设模型是通过表征特征、语法特征和语义特征这三种特征来创建的,从而扩充了语料中特征,使得创建后的预设模型具有更好的模型能力,提高了模型的实体关
系识别的准确度。
[0110] 为了更好地训练模型,还可以将上述这些进行标识过的句子(即上述待处理语料中的句子)按照一定的比例划分为训练集、测试集、预测集。具体的,该方法100还包括:将具
有标注以及实体关系的待处理语料根据预置比例划分为训练数据、测试数据以及预测数
据;基于训练数据,对预设初始模型进行训练;基于测试数据,对训练中的预设初始模型进
行测试;基于预测数据,对创建后的预设初始模型进行预测。
[0111] 其中,将待处理语料按照比例进行划分,也可以是将对应句子按照比例进行划分。训练数据、测试数据以及预测数据即是训练集、测试集、预测集。上述比例可以60%、20%、
20%等。其中,训练集用于对预设初始模型进行训练,测试集用于在训练模型的过程中对预
设初始模型进行测试,预测集用于在模型训练完成后对预设初始模型进行预测。
[0112] 还需要说明的是,在得到上述各个训练数据、测试数据以及预测数据后,可以针对各个数据中第四实体对的表征特征、语法特征以及语义特征来构建模型。
[0113] 另,为了能够更加精准地训练模型,提高模型能力,还可以在上述基础上继续对训练数据进行扩充,得到具有多特征的训练数据,有效提高模型的准确率、召回率以及F(F‑
Score,F分值)值。
[0114] 具体的训练过程可以如下:
[0115] 该模型的结构可以是采用远程监督模型BiLSTM+Attention。如图3所示,可以在模型的输入层中可以获取到上述训练数据的向量特征。BiLSTM层:是双向循环神经网络层即
BiLSTM层。其中,LSTM单元内部结构遗忘门:
[0116] Forgett=f(wF·[ht‑1,xt]+bF)   式1)
[0117] 上式1)中wF为权重矩阵,bF为偏置,ht‑1为前一时刻输出状态,xt为当前这一时刻的输入。f为遗忘门Forgett的激活函数。遗忘门会读取前一时刻输出状态ht‑1,这一时刻的
输入xt,并通过遗忘门的激活函数f决定从细胞状态中丢弃什么信息、留下什么信息,避免
信息的冗余。
[0118] 输入门:
[0119] Inputt=g(wi·[ht‑1,xt]+bi)   式2)
[0120]
[0121] 上式2)和3)wi和wc为权重矩阵,bi和bc为偏置,ht‑1为上一时刻的输出状态,xt为当前这一时刻的输入。输入门的激活函数g和tanh。
[0122] 输入门确定什么样的新信息被存放在细胞状态中。先是通过g激活函数决定哪些信息要更新,再通过一个tanh激活函数层进行处理生成一个向量 此向量作为备选的用
来更新的内容。
[0123] 更新旧细胞状态,旧细胞状态Ct‑1更新为当前时刻的输出Ct:
[0124]
[0125] 输出门:
[0126] Outputt=k(wO·[ht‑1,xt]+bO)   式5)
[0127] ht=Outputt*tanh(Ct)   式6)
[0128] 其中,wO为权重矩阵,bO为偏置,ht‑1为上一时刻的输出状态,xt为这一时刻的输入。输出门的激活函数k。Ct是当前细胞状态。
[0129] Outputt将决定哪部分信息可以输出。相比于RNN(循环神经网络,Recurrent Neural Network),LSTM能够在一定程度上处理长期依赖问题,主要原因是LSTM增加的三个
门:遗忘门、输入门、输出门。在LSTM模型中通过精心设计的称作为“门”的结构来去除或者
增加信息到细胞状态的能力。门是一种让信息选择式通过的方法。门包含一个sigmoid神经
网络层和一个pointwise乘法操作。Sigmoid层输出0到1之间的数值,用来描述每个部分有
多少比例的信息可以通过。0表示不许任何量通过,1表示允许任意量通过。从而可以很好的
抽取包含数字串的较长文本的抽象特征。
[0130] LSTM能够在一定程度上处理长期依赖问题,但是只考虑上文的信息,为了将下文的信息添加进来,可以采用双向LSTM,即BiLSTM。然后将前向LSTM和后向LSTM的输出进行拼
接。
[0131] 注意力机制层即Attention层。假设BiLSTM层的输出的向量集合为H:{h1,h2,…,hT},也即Attention层的输入。
[0132] M=tanh(H)   式7)
[0133] α=softmax(wTM)   式8)
[0134] r=HαT   式9)
[0135] 其中,M是第一暂时输出,wT是一个训练学习得到的参数向量的转置,softmax激活T
函数,α为第二暂时输出,α为α的向量转置,γ为第三暂时输出。
[0136] hsenc=tanh(r)   式10)
[0137] 其中,hsenc为最终得到句子的表示向量。
[0138] Attention机制模拟的是人在看事物时的状态,即虽然人眼所见范围很广,但是在该场景内每一处空间位置上的注意力分布是不一样的。因此在序列学习任务上具有巨大的
提升作用。
[0139] 线性层,即全连接层。线性层时通过一个线性变换和ReLU激活函数。这里线性层的作用是进行维度的变换,变换成与分类数目相同的维度,即将Attention机制输出向量,转
换为分类对应的分数维度。分类就是会得到一个分数值,即得到了是什么实体关系的类别,
如产品类、子母公司类。
[0140] 分类层:由于关系抽取是一个多分类问题,所以使用softmax激活函数,基于上述线性层所得的分数维度,最终确定出各个实体对对应的实体关系的类型。从而完成实体关
系的抽取。
[0141] 在训练完模型后,就可以对新语料进行预测了。
[0142] 即前文所述的步骤101‑104具体过程。在通过模型得到第三确定三元组,还是可以继续对得到的第三确定三元组进行判别,该方法100还包括:在第三确定三元组符合对应判
别条件的情况下,存储第三确定三元组,以进行知识图谱的构建。
[0143] 由于前文已经阐述过了,此处就不再赘述。其中,如图2所示,在得到第三确定三元组后,执行步骤209:发送得到的第三确定三元组至三元组收集单元,从而生成更加完整的
知识图谱。
[0144] 在生成完整的知识图谱后,可以接收知识图谱的查询信息,从而从知识图谱中查找到对应的实体信息。
[0145] 具体的,该方法100还包括:接收查询信息,基于构建的知识图谱对查询信息进行查询,得到与查询信息具有实体关系的其它实体。
[0146] 例如,根据前文所述,在生成知识图谱后,可以接收到智能终端发送的查询请求,该请求可以携带查询信息,如一个实体信息,用户A的姓名。将该信息输入至知识图谱中,得
到与该用户A具有实体关系的实体,并可以将具有实体关系的这些实体发送至智能终端,进
行展示。同时,也可以展示出实体之间的实体关系。
[0147] 还需要说明的是,知识图谱可以持续进行更新,更新的过程可以是按照前文所述的方式获取新的三元组,从而更新知识图谱。
[0148] 本申请实施例还提供了一种计算设备,如,服务器。如图4所示,设备400可以包括:存储器401、处理器402;
[0149] 存储器401,用于存储计算机程序。
[0150] 处理器402,用于执行所述计算机程序,以用于:
[0151] 获取待识别语料的第一实体对,确定所述第一实体对的表征特征,并得到第一三元组;若所述第一三元组不符合判别条件,则获取对应待识别语料的第二实体对,确定第二
实体对的语法特征,并得到第二三元组;若所述第二三元组不符合判别条件,则获取对应待
识别语料的第三实体对以及第三实体对的语义特征;将所述表征特征、所述语法特征、所述
语义特征输入到预设模型,以获取第三实体对的实体关系。
[0152] 具体的,处理器402,具体用于:获取所述第一实体对的表征特征,并利用所述第一实体对及所述表征特征组成所述第一三元组。
[0153] 此外,处理器402,还用于:确定所述第一三元组与预置三元组的相似度,根据相似度确定所述第一三元组是否符合判别条件。
[0154] 具体的,处理器402,具体用于:将所述第一三元组与预置三元组中特定三元组进行对比以获取相似度;若相似度大于预设值,则所述第一三元组符合判别条件,并将所述第
一三元组设置为第一确定三元组。
[0155] 此外,处理器402,还用于:存储所述第一确定三元组,以进行知识图谱的构建。
[0156] 具体的,处理器402,具体用于:获取所述第二实体对的语法特征,并利用所述第二实体对及所述语法特征组成所述第二三元组。
[0157] 此外,处理器402,还用于:确定所述第二三元组与预置三元组的相似度,根据相似度确定所述第二三元组是否符合判别条件。
[0158] 具体的,处理器402,具体用于:将所述第二三元组与预置三元组中特定三元组进行对比以获取相似度;若相似度大于预设值,则所述第二三元组符合判别条件,并将所述第
二三元组设置为第二确定三元组。
[0159] 此外,处理器402,还用于:存储所述第二确定三元组,以进行知识图谱的构建。
[0160] 此外,处理器402,还用于:基于所述第三实体对以及获取到的实体关系,构建第三确定三元组,并进行存储。
[0161] 此外,处理器402,还用于:获取待分析语料,确定所述待分析语料中的待分析三元组;对所述待分析三元组进行分类,得到不同类型的三元组,并作为所述预置三元组,每个
类型的三元组对应有该类型下的子类型的三元组。
[0162] 此外,处理器402,还用于:针对所述预置三元组中的每个类型的三元组,获取每个类型的三元组的实体对;根据获取到的实体对,对所述对应待处理语料进行选择并确定对
应待处理语料的第四实体对,并对选择后的待处理语料中的第四实体对进行标注;对具有
标注的第四实体对设置实体关系,相同第四实体对的实体关系相同;利用标注的第四实体
对的表征特征、语法特征以及语义特征构建输入数据,对预设初始模型进行训练,得到预设
模型。
[0163] 其中,所述预设初始模型包括输入层、BiLSTM层、注意力机制层、线性层以及分类层。
[0164] 另外,本发明实施例提供了一种计算机存储介质,计算机程序被一个或多个处理器执行时,致使一个或多个处理器实现图1方法实施例中一种实体关系的确定方法的步骤。
[0165] 另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行
执行,操作的序号如201、202、203等,仅仅是用于区分开各个不同的操作,序号本身不代表
任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执
行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设
备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
[0166] 以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单
元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其
中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性
的劳动的情况下,即可以理解并实施。
[0167] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实
现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算
机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计
算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程
序产品的形式。
[0168] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流
程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序
指令到通用计算机、专用计算机、嵌入式处理机或其他可编程多媒体数据处理设备的处理
器以产生一个机器,使得通过计算机或其他可编程多媒体数据处理设备的处理器执行的指
令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的
功能的装置。
[0169] 这些计算机程序指令也可存储在能引导计算机或其他可编程多媒体数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生
包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个
方框或多个方框中指定的功能。
[0170] 这些计算机程序指令也可装载到计算机或其他可编程多媒体数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计
算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方
框图一个方框或多个方框中指定的功能的步骤。
[0171] 在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
[0172] 内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的
示例。
[0173] 计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。
计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动
态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除
可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD‑ROM)、
数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备
或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算
机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0174] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可
以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;
而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和
范围。