实体关系类型确定方法、装置和设备及存储介质

文档序号:361616 发布日期:2021-12-07 浏览:3次 >En<

阅读说明:本技术 实体关系类型确定方法、装置和设备及存储介质 (Entity relationship type determination method, device and equipment and storage medium ) 是由 杨韬 于 2021-05-20 设计创作,主要内容包括:本申请公开了一种实体关系类型确定方法、装置和设备及存储介质,涉及人工智能技术领域,用于提升实体关系类型确定的准确性。该方法包括:获取目标实体对关联的目标句袋;将目标句袋输入至已训练的实体关系确定模型,针对目标句袋中各个句子,分别执行如下操作:针对一个句子,基于一个句子中各个字符各自对应的字符表示向量,获得一个句子的句子表示向量;基于获得的各个句子表示向量,分别确定相应句子的句子权重值,每个句子权重值表征一个句子对于目标实体对的关系确定的重要程度;基于各个句子各自对应的句子表示向量和句子权重值,确定目标句袋的句袋表示向量,并基于句袋表示向量,确定目标实体对包括的两个实体之间的目标关系类型。(The application discloses a method, a device and equipment for determining entity relationship types and a storage medium, relates to the technical field of artificial intelligence, and is used for improving the accuracy of determining the entity relationship types. The method comprises the following steps: acquiring a target sentence bag associated with the target entity pair; inputting the target sentence bag into the trained entity relationship determination model, and respectively executing the following operations for each sentence in the target sentence bag: aiming at a sentence, obtaining a sentence expression vector of the sentence based on the character expression vector corresponding to each character in the sentence; respectively determining sentence weight values of corresponding sentences based on the obtained sentence expression vectors, wherein each sentence weight value represents the determined importance degree of a sentence to the relation of a target entity pair; and determining a sentence bag representation vector of the target sentence bag based on the sentence representation vector and the sentence weight value respectively corresponding to each sentence, and determining a target relation type between two entities included in the target entity pair based on the sentence bag representation vector.)

实体关系类型确定方法、装置和设备及存储介质

技术领域

本申请涉及计算机技术领域,尤其涉及人工智能(Artificial Intelligence,AI)技术领域,提供一种实体关系类型确定方法、装置和设备及存储介质。

背景技术

随着网络技术的发展,大量的知识蕴含在普通文本之中,从文本中去挖掘相关的知识就是一项非常必要的工作。实体(entity)关系抽取就是这样的工作,即从普通文本中挖掘实体间的关系,构造出三元组数据去丰富知识图谱,实体关系抽取属于自然语言处理(Natural Language Processing,NLP)中一项基础技术。例如针对一个句子:张三于1961年9月27日出生于A市,这一句话中包含“张三”“1961年9月27日”“A市”,这三个实体之间是存在一定关联关系的,从这句话我们可以得出,“张三”和“1961年9月27日”这两个实体是“出生时间”关系,“张三”和“A市”是“出生地”的关系。因此,基于这句话进行实体关系抽取后,则可以得到(张三,出生时间,1961年9月27日)和(张三,出生地,A市)这两个三元组,进而可将这些三元组加入知识图谱。

知识图谱在很多领域都有很广泛的应用。例如在搜索领域,用户可能问“张三啥时候出生的”、“珠穆朗玛峰有多高”等知识型问题,这时候可将这两个问题解析为“(张三,出生时间,?)”和“(珠穆朗玛峰,海拔,?)”两个查询,进而可以去知识图谱查询并得到答案;又如在推荐领域,通常会把知识图谱里的知识结合推荐模型去给用户更好的推荐结果;又或者在对话领域,用户也可能问相关一些问题,要准确的回答用户也缺少不了知识图谱。

因此,关系抽取任务的准确性直接决定了知识图谱的准确性,从而影响后续下游应用的体验感,那么,如何提升关系抽取任务的准确性,以构建高质量的知识图谱是需要思考的问题。

发明内容

本申请实施例提供一种实体关系类型确定方法、装置和设备及存储介质,用于提升实体关系类型确定的准确性。

一方面,提供一种实体关系类型确定方法,所述方法包括:

获取目标实体对关联的目标句袋;所述目标句袋包含多个句子,且每一个句子包含所述目标实体对;

将所述目标句袋输入至已训练的实体关系确定模型,针对所述目标句袋中各个句子,分别执行如下操作:针对一个句子,基于所述一个句子中各个字符各自对应的字符表示向量,获得所述一个句子的句子表示向量;

采用所述已训练的实体关系确定模型,基于获得的各个句子表示向量,分别确定相应句子的句子权重值,每个句子权重值表征一个句子对于所述目标实体对的关系确定的重要程度;

采用所述已训练的实体关系确定模型,基于各个句子各自对应的句子表示向量和句子权重值,确定所述目标句袋的句袋表示向量,并基于所述句袋表示向量,确定所述目标实体对包括的两个实体之间的目标关系类型。

一方面,提供一种实体关系类型确定装置,所述装置包括:

获取单元,用于获取目标实体对关联的目标句袋,并将所述目标句袋输入至已训练的实体关系确定模型;所述目标句袋包含多个句子,且每一个句子包含所述目标实体对;

句子编码单元,用于采用所述已训练的实体关系确定模型,针对所述目标句袋中各个句子,分别执行如下操作:针对一个句子,基于所述一个句子中各个字符各自对应的字符表示向量,获得所述一个句子的句子表示向量;

句袋编码单元,用于采用所述已训练的实体关系确定模型,基于获得的各个句子表示向量,分别确定相应句子的句子权重值,每个句子权重值表征一个句子对于所述目标实体对的关系确定的重要程度,以及采用所述已训练的实体关系确定模型,基于各个句子各自对应的句子表示向量和句子权重值,确定所述目标句袋的句袋表示向量;

预测单元,用于采用所述已训练的实体关系确定模型,基于所述句袋表示向量,确定所述目标实体对包括的两个实体之间的目标关系类型。

可选的,所述装置还包括模型训练单元,用于:

基于所述实体关系确定模型预设输出的多种关系类型,获取多个三元组;其中,每个三元组包括一个实体对,且对应所述一个实体对关联标注了所述多种关系类型中的一种关系类型;

针对所述多个三元组,分别执行如下操作:针对一个三元组,采用所述一个三元组包含的实体对进行句子匹配,获取包含所述一个三元组包含的实体对的句子样本;

基于获得的多个句子样本分别构建相应的训练样本,其中,每个训练样本包括多个包含有相同实体对的句子样本;

针对获得的各个训练样本,分别标注相应的训练样本关联的实体对对应的关系类型;

基于已标注的多个训练样本对待训练的实体关系确定模型进行迭代训练,直到满足收敛条件为止,获得所述已训练的实体关系确定模型。

可选的,所述模型训练单元,还用于:

对获得的多个句子样本进行分词操作,获得多个分词;

针对所述多种关系类型,分别执行如下操作:

针对一种关系类型,确定所述多个分词中各个分词与所述一种关系类型的互信息系数,一个互信息系数用于表征一个分词对所述一种关系类型的重要程度;

基于获得的多个互信息系数,选取出大于设定阈值的互信息系数所对应的至少一个分词;

将所述一种关系类型所对应的多个句子样本中,未包含所述至少一个分词中任一分词的句子样本筛除;

基于剩余的多个句子样本分别构建相应训练样本。

可选的,所述模型训练单元,还用于:

针对所述多个分词,分别执行如下操作:

针对一个分词,确定所述一个分词出现的第一概率;

确定所述一种关系类型出现的第二概率,以及确定当所述一种关系类型存在时,所述一个分词出现的第三概率;

基于所述第一概率、所述第二概率和所述第三概率,确定所述一个分词对应的互信息系数。

可选的,所述句子编码单元,具体用于:

对所述一个句子进行字符拆分,获得所述一个句子包括的多个字符;

针对所述多个字符,分别执行如下操作:

针对一个字符,对所述一个字符进行特征编码,获得所述一个字符的内容表示向量、位置表示向量以及来源表示向量;其中,所述内容表示向量用于表征所述一个字符所对应的内容,所述位置表示向量表征所述一个字符在所述一个句子中的位置,所述来源表示向量表征所述一个字符所来源的句子;

基于所述内容表示向量、位置表示向量以及来源表示向量,获得所述一个字符的字符表示向量。

可选的,所述句子编码单元,具体用于:

对所述一个句子进行字符拆分,获得所述一个句子包括的多个字符;

按照所述多个字符在所述一个句子中的先后顺序,依次对所述多个字符中各个字符进行特征编码,分别获得所述多个字符各自对应的字符表示向量;其中,针对一个字符,在对所述一个字符进行特征编码时,对所述一个字符进行特征提取,获得所述一个字符的基础表示向量,并基于所述基础表示向量,以及所述一个字符的前一个字符的字符表示向量,获得所述一个字符的字符表示向量。

可选的,所述句子编码单元,具体用于:

对获得的各个字符表示向量进行均值池化,获得所述句子表示向量;或者,

确定各个字符的字符权重值,并基于所述各个字符各自对应的字符表示向量以及字符权重值,获得所述句子表示向量;其中,每个字符权重值表征一个字符对于所述一个句子的重要程度。

可选的,所述句袋编码单元,具体用于:

针对所述各个句子表示向量,分别执行如下操作:

针对一个句子表示向量,基于所述一个句子表示向量以及所述实体关系确定模型包括的预训练权重矩阵,获得所述一个句子表示向量的中间表示向量;

获取所述中间表示向量与所述实体关系确定模型包括的预训练参数向量之间的向量点积;

对获得的各个向量点积进行归一化处理,获得所述各个句子表示向量各自对应的句子权重值。

一方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一种方法的步骤。

一方面,提供一种计算机存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述任一种方法的步骤。

一方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一种方法的步骤。

本申请实施例中,在进行目标实体对的关系类型确定时,将目标实体对所对应的多个句子作为实体关系确定模型的输入,并且,实体关系确定模型基于目标句袋确定实体关系时,基于每一个句子包括的字符获取句子表示向量,并据此确定各个句子的句子权重值,基于句子表示向量以及句子权重值获取句袋表示向量,其中,句子权重值表征一个句子对于所述目标实体对的关系确定的重要程度,这样,噪声句子的权重得以更小,从而可以对句袋中的噪声句子进行一定的过滤,降低噪声句子对关系类型确定的影响程度,进而提升实体关系类型确定的准确性,相应的也就提升了构建的知识图谱的准确性。

附图说明

为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例提供的应用场景图;

图2为本申请实施例提供的实体关系确定模型的训练流程示意图;

图3为本申请实施例提供的实体关系确定模型的一种结构示意图;

图4为本申请实施例提供的池化处理的示意图;

图5为本申请实施例提供的训练样本的生成流程示意图;

图6为本申请实施例提供的构建训练样本的流程示意图;

图7为本申请实施例提供的对各个字符进行特征编码的一种流程示意图;

图8为本申请实施例提供的各个字符的字符表示向量获取示意图;

图9为本申请实施例提供的对各个字符进行特征编码的另一种流程示意图;

图10为本申请实施例提供的实体关系类型确定方法的流程示意图;

图11为本申请实施例提供的实体关系类型确定装置的一种结构示意图;

图12为本申请实施例提供的计算机设备的一种结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚明白,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

为便于理解本申请实施例提供的技术方案,这里先对本申请实施例使用的一些关键名词进行解释:

实体对:一个实体对包括两个实体,实体又称为命名实体(named entity),所谓的命名实体就是指人名、机构名、地名以及其他所有以名称为标识的实体,此外,还可以包括数字、日期、货币、地址等等。

例如针对一个句子:张三于1961年9月27日出生于A市,这一句话中包含“张三”“1961年9月27日”“A市”,每两个实体可以组成一个实体对,如“张三”和“1961年9月27日”这两个实体可以组成一个实体对,“张三”和“A市”这两个实体可以组成一个实体对。

实体关系类型:表征一个实体对包括的两个实体之间的相互关系属性,如上面的例子中,“张三”和“1961年9月27日”这两个实体是“出生时间”关系,那么,“张三”和“1961年9月27日”组成的实体对对应的实体关系类型即为出生时间;又如“张三”和“A市”是“出生地”的关系那么,“张三”和“A市”组成的实体对对应的实体关系类型即为出生地。

知识图谱:是通过将应用数学、图形学、信息可视化技术、信息科学等学科的理论与方法与计量学引文分析、共现分析等方法结合,并利用可视化的图谱形象地展示学科的核心结构整体知识架构。知识图谱是一张巨大的语义网络图,每个实体视为图中的一个节点,节点之间通过实体关系类型进行连接。

三元组:一个三元组包括一个实体对,以及该实体对之间的关系类型,例如可以采用(实体1,关系类型,实体2)这样的方式表示一个实体对,以上述例子为例,则可以得到(张三,出生时间,1961年9月27日)和(张三,出生地,A市)这两个三元组。

句袋(bag):一个句袋由多个包含相同实体对的句子构成。

实体关系确定模型:是指用于确定实体对之间关系类型的已训练的网络模型,实体关系确定模型是基于机器学习(Machine Learning,ML)的方法实现处理和理解句子和句袋的含义的能力,并基于句子以及句袋表示确定相应实体对的关系类型。此外,实体关系确定模型还能够识别不同句子对于一个实体对关系确定的重要程度,并基于此对句袋中的噪声数据进行一定的削弱,提升最终确定的关系类型的准确性。在实体关系确定模型进行训练之后,可以获得实体关系确定模型包含的预训练权重矩阵以及预训练参数向量等训练参数,并用于后续实际确定关系类型的过程中。

本申请实施例涉及人工智能和机器学习技术,主要基于人工智能中的机器学习而设计。

人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。

本申请涉及的实体关系类型确定,或称实体关系抽取,属于NLP中的一项基础技术,NLP是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。

机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。

机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习等技术。人工神经网络(Artificial Neural Network,ANN),从信息处理角度对人脑神经元网络进行抽象,建立某种简单模型,按不同的连接方式组成不同的网络。神经网络是一种运算模型,由大量的节点(或称神经元)之间相互联接构成,每个节点代表一种特定的输出函数,称为激励函数(activation function),每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆,网络的输出则依网络的连接方式,权重值和激励函数的不同而不同,而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。

本申请实施例中涉及利用机器学习的方法训练实体关系确定模型,进而,将已训练的实体关系确定模型应用于实际的实体关系预测中。具体而言,在本申请实施例中的实体关系类型确定可分为两部分,包括训练部分和应用部分。其中,训练部分就涉及到机器学习这一技术领域,在训练部分中,通过机器学习这一技术训练人工神经网络模型(即后续提及的实体关系确定模型),使得基于本申请实施例中给出的基于句袋的训练样本去训练人工神经网络模型,并通过优化算法不断调整模型参数,直至模型收敛;应用部分用于使用在训练部分训练得到的人工神经网络模型来对实际的实体对应的句袋进行表示,并基于获得的句袋表示向量进行实体对的关系类型预测等。另外,还需要说明的是,本申请实施例中人工神经网络模型可以是在线训练也可以是离线训练,在此不做具体限定。在本文中是以离线训练为例进行举例说明的。

下面对本申请实施例的设计思想进行简要介绍。

目前,知识图谱在很多领域都有很广泛的应用,因而如何构建一个符合使用者需求的高质量的知识图谱是一项比较大的挑战。传统获取知识的方式是通过各种互联网上的各种百科信息获取,而这些网页数据主要是由结构化数据构成,所以只需要对这些数据做结构化解析,然后通过去噪等加工就可以得到这些结构化知识。但是网页数据的知识量有限,相较于互联网上浩瀚的文体数据,结构化数据只占很小一部分,大量的知识蕴含在普通文本之中,因而从文本中去挖掘相关的知识就是一项非常必要的工作。实体关系抽取就是这样的工作,即从普通文本中挖掘实体间的关系,构造出三元组数据去丰富知识图谱。

常见的关系抽取方法首先是收集训练数据,一般是采用人审的方式来生成训练数据,然后利用训练数据训练分类模型,用于对各个句子中的实体对进行分类,即从句子中识别出了实体,并对任意两个实体来分类判别其之间的关系。但是,人工构造的训练数据是含有比较大的噪声的,如何减缓这类噪声数据对关系类型确定所带来的影响,是实体关系抽取中需要考虑的问题。

鉴于此,本申请实施例提供一种实体关系类型确定方法,在该方法中,在进行目标实体对的关系类型确定时,将目标实体对所对应的多个句子作为实体关系确定模型的输入,并且,实体关系确定模型基于目标句袋确定实体关系时,基于每一个句子包括的字符获取句子表示向量,并据此确定各个句子的句子权重值,基于句子表示向量以及句子权重值获取句袋表示向量,其中,句子权重值表征一个句子对于所述目标实体对的关系确定的重要程度,这样,噪声句子的权重得以更小,从而可以对句袋中的噪声句子进行一定的过滤,降低噪声句子对关系类型确定的影响程度,进而提升实体关系类型确定的准确性,相应的也就提升了构建的知识图谱的准确性。

此外,本申请实施例中,还通过基于已有知识图谱结合远监督的方法构建训练样本,以解决人工标注困难大使得训练数据偏少的问题,并且针对远监督所引入的噪声问题,采用基于互信息过滤的方式,对噪声句子样本进行一定的过滤,降低噪声句子对训练得到的模型所带来的准确性低的问题,进而提升实体关系类型确定的准确性。

在介绍完本申请实施例的设计思想之后,下面对本申请实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施过程中,可以根据实际需要灵活地应用本申请实施例提供的技术方案。

本申请实施例提供的方案可以适用于知识图谱相关应用场景中,如图1所示,为本申请实施例提供的一种应用场景图,在该场景中,可以包括终端设备101和服务器102。

终端设备101例如可以为手机、平板电脑(PAD)、个人计算机(Personal computer,PC)、智能电视、智能车载设备以及可穿戴设备等。终端设备101可以安装应用,该应用例如可以为聊天机器人相关应用、内容推荐相关应用或者搜索应用等。

服务器102可以为终端设备101上安装的应用所对应的后台服务器,例如可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器,但并不局限于此。

服务器102可以包括一个或多个处理器1021、存储器1022以及与终端交互的I/O接口1023等。此外,服务器102还可以配置数据库1024,数据库1024可以用于存储本申请实施例涉及的模型数据、待预测的目标实体对的相关数据(如:句子、文本以及预测结果)以及知识图谱相关数据等。其中,服务器102的存储器1022中还可以存储本申请实施例提供的实体关系类型确定方法的程序指令,这些程序指令被处理器1021执行时能够用以实现本申请实施例提供的实体关系类型确定方法的步骤,以确定目标实体对之间的关系类型,进而将确定的实体关系类型加入至知识图谱中,扩充知识图谱,以在下游业务中可利用知识图谱实现相应的业务应用。

以终端设备101上安装的应用可以为聊天机器人相关应用为例,那么用户可以在聊天机器人应用中发起对话内容,相应的,服务器102结合自身存储的语义识别模型对该对话内容进行语义识别,识别用户的对话内容所表达的语义,例如若是用户的对话内容为“文章A的作者是谁?”,那么通过语义识别可以获得“(文章A,作者,?)”这样的查询,进而基于该查询从知识图谱中获取相应的答案,并发送给用户。

当然,知识图谱还可以应用于其他场景中,如结合知识图谱的知识脉络构建推荐模型,来为用户得到更好的推荐结果,本申请实施例对此并不进行限制。

终端设备101和服务器102之间可以通过一个或者多个网络103进行直接或间接的通信连接。该网络103可以是有线网络,也可以是无线网络,例如无线网络可以是移动蜂窝网络,或者可以是无线保真(Wireless-Fidelity,WIFI)网络,当然还可以是其他可能的网络,本申请实施例对此不做限制。

本申请实施例中,按照功能不同进行划分,服务器102可以包括不同的子服务器,例如可包括为应用提供后台服务的子服务器1,以及用于构建知识图谱的子服务器2,子服务器1和子服务器2可以为同一物理服务器的不同功能模块,也可以为不同的物理服务器。

在一种可能的应用场景中,本申请实施例中模型数据、待预测的目标实体对的相关数据以及知识图谱相关数据可以采用云存储技术进行存储。云存储(cloudstorage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(或称存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。

在一种可能的应用场景中,为了便于降低通信时延,可以在各个地区部署服务器102,或为了负载均衡,可以由不同的服务器102分别去服务各个终端设备101对应的地区。多个服务器102通过区块链实现数据的共享,即相当于位于各个地区的多个服务器102组成一个基于区块链技术的数据共享系统。例如终端设备101位于地点a,与服务器102之间进行通信连接,终端设备101位于地点b,与其他服务器102之间通信连接。

对于数据共享系统中的每个服务器102,均具有与该服务器102对应的节点标识,数据共享系统中的每个服务器102均可以存储有数据共享系统中其他服务器102的节点标识,以便后续根据其他服务器102的节点标识,将生成的区块广播至数据共享系统中的其他服务器102。每个服务器102中可维护一个如下表所示的节点标识列表,将服务器102名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为网络之间互联的协议(InternetProtocol,IP)地址以及其他任一种能够用于标识该节点的信息,表1中仅以IP地址为例进行说明。

服务器名称 节点标识
节点1 119.115.151.174
节点2 118.116.189.145
节点N 119.124.789.258

表1

当然,本申请实施例提供的方法并不限用于图1所示的应用场景中,还可以用于其他可能的应用场景,本申请实施例并不进行限制。对于图1所示的应用场景的各个设备所能实现的功能将在后续的方法实施例中一并进行描述,在此先不过多赘述。后续的方法流程可以通过图1中的服务器102或者终端设备101来执行,或者由服务器102和终端设备101共同执行,这里主要以服务器102来执行为例进行介绍。

本申请实施例中,实体关系类型的确定过程可以是由已训练的实体关系确定模型来执行的,因此,在介绍实体关系类型确定方法的流程之前,这里先对实体关系确定模型的训练过程进行介绍。

请参见图2,为本申请实施例提供的实体关系确定模型的训练流程示意图。

步骤201:获取多个训练样本。

传统的实体关系分类模型是针对单个句子单独进行分类,判断这个句子里的实体对属于什么关系,但这种方式可能引入噪声问题,即某个句子反映出的关系类型与标注的关系类型并不相符,这些噪声句子在训练时候则会对模型有比较大的影响,使得模型准确度不高。因此,本申请实施例中采用了一种基于句袋的训练方式,每个训练样本为一个句袋,每个句袋包括多个包含相同实体对的句子,且每个句袋所对应的实体对标注了关系类型标签。

例如,一个可能的训练样本为如下示例:

句子1:小张谈及妻子小吴时眼含泪光

句子2:小张居住在妻子小吴名下的公寓

句子3:小张与小吴在某某酒店举行盛大婚礼仪式

句子4:小张与小吴于2017年8月1日进行婚姻注册登记。

上述的各个句子均包含“小张”和“小吴”这两个实体,且基于上述句子表征的含义,能够看出,小张和小吴之间的关系属性为“夫妻”属性,那么上述的各个句子组成的句袋可以构成实体对“小张”和“小吴”所对应的训练样本,且为该训练样本对应的实体对“小张”和“小吴”标注关系类型为“夫妻”。

需要说明的是,上述的示例所包含的句子数量仅为一种可能的数量,在实际应用中,可以根据实际情况设定每个训练样本包括的句子数量,本申请实施例对此不做限制。

本申请实施例中,在获取训练样本之后,则可以基于获取的多个训练样本对初始的实体关系确定模型进行迭代训练,直至实体关系确定模型满足收敛条件为止。由于每一次迭代训练过程类似,因此这里具体以一次迭代训练过程为例进行介绍。

步骤202:针对每个训练样本中的一个句子,基于该句子中各个字符各自对应的字符表示向量,获得该句子的句子表示向量。

本申请实施例中,实体关系确定模型需要对每个训练样本进行表示,进而基于每个训练样本的表示来预测相应的关系类型,由于实体关系确定模型针对每个句袋中每个句子的句子表示向量,以及每个句袋的句袋表示向量的编码过程均是类似的,因此后续的介绍中主要以一个句袋以及一个句子为例进行介绍,其他句袋以及其他句子可参考下述的介绍。

参见图3所示,为本申请实施例提供的实体关系确定模型的一种结构示意图,其中,实体关系确定模型包括输入层、字符特征编码层、字符特征融合层、句子特征融合层以及输出层,各层的应用将在后续的说明中逐一进行介绍。

具体的,每个训练样本输入至输入层之后,对于该训练样本中的每一个句子,采用一定的标识将该句子中的实体对标识出来。

在一种可能的实施方式中,实体对中不同的实体可以采用不同的标识符号进行标识,将在句子中插入这些标识符,以标识实体所在的位置。参见图3所示,对于实体对中的两个实体可以分别采用“<e1>”“<e2>”进行标识,如这对实体对“小张”和“小吴”,实体“小张”可以采用“<e1>”进行标识,如在小张的前后分别插入标识符“<e1>”和“</e1>”,“</e1>”表示实体字符“小张”的结束位置,同样的,实体“小吴”可以采用“<e2>”进行标识,如在小张的前后分别插入标识符“<e2>”和“</e2>”,“</e2>”表示实体字符“小吴”的结束位置。

在另一种可能的实施方式中,还可以为句子增加额外标注的方式标识出句子的实体对,如在句子的开头或者结束增加标识,指出该句子中实体对包含的两个实体,以及在句子中的位置。

本申请实施例中,由于句子是由一个个字符组成的,因此,为了获取句子表示向量,可先对句子进行字符拆分,将句子拆分为一个个字符(token),并获取每个字符的字符表示向量,进而基于各个字符的字符表示向量融合得到句子表示向量。

具体的,字符表示向量的获取可以通过实体关系确定模型的字符特征编码层来实现,字符特征编码层包括字符特征编码模块,各个句子的字符特征编码模块可以共用网络参数,这些网络参数在初始时可以进行随机赋值,或者,也可以采用初始化赋值方式进行网络参数的赋值,或者,还可以移植采用其他预训练模型的参数。

在本申请实施例中,字符特征编码模块可以采用任意可能的编码模型,例如可以采用基于转换器的双向编码表征(Bidirectional Encoder Representations fromTransformers,BERT)模型、门控循环单元(Gated Recurrent Unit,GRU)模型或者长短期记忆网络(Long Short-Term Memory,LSTM)模型,当然,也可以采用其他可能的模型,本申请实施例对此不做限制。

本申请实施例中,参见图3所示,针对每个句子,通过字符编码模块可获取该句子中每个字符相应的字符表示向量,进而,则可以基于该句子中各个字符各自对应的字符表示向量,获得该句子的句子表示向量。

基于各个字符表示向量获得句子表示向量的过程可以通过实体关系确定模型包括的字符特征融合层来实现,字符特征融合层包括字符特征融合模块,各个句子的字符特征融合模块也可以共用网络参数,这些网络参数在初始时可以进行随机赋值,或者,也可以采用初始化赋值方式进行网络参数的赋值,或者,还可以移植采用其他预训练模型的参数。

具体的,字符特征融合模块可以采用多种方式获得句子表示向量,包括但不限于如下的方式:

(1)均值池化(mean-pooling)的方式

具体的,对每个句子中各个字符表示向量进行均值池化,获得该句子的句子表示向量。

在进行均值池化时,对每个字符的每个位置上的值求取均值,该均值则为句子表示向量中相应位置的特征值,参见图4所示,针对包含m个字符的句子,分别将m个字符表示向量中位于第1个位置的值相加并求取均值,得到句子表示向量中第1个位置对应的特征值,并以此求取第2个位置、第3个位置等上的特征值,从而获得句子表示向量。

在实际应用中,也可以采用最大池化(max pooling)等池化处理方式获得句子表示向量。

(2)加权求和的方式

考虑到在理解一个句子的语义时,不同字符对于句子语义理解的重要程度是不同的,因此在对句子进行表示时,则可以按照不同字符的重要程度区别进行对待。因此,获得各个字符的字符表示向量后,可以确定各个字符的字符权重值,进而,基于各个字符各自对应的字符表示向量以及字符权重值,获得句子表示向量,每个字符权重值表征一个字符对于一个句子的重要程度。

在一种可能的方式中,可以采用自注意力机制确定各个字符的字符权重值。

具体的,字符融合模块可以包括权重向量矩阵和分数转化向量,针对字符A,根据字符A的字符表示向量与权重向量矩阵,可以获得字符A对应的权重表示向量,进而将分数转化向量的转置与权重表示向量进行向量点积运算,即可获得字符A的权重得分,同样的,可以获取句子中除字符A之外的其他字符的权重得分,并通过将各个字符的权重得分进行归一化操作,以获得各个字符各自对应的字符权重值。其中,权重向量矩阵和分数转化向量均为可训练参数,在模型训练的过程中跟随训练,权重向量矩阵其作用在于对字符的字符表示向量进行重新建模,而分数转化向量的作用在于将权重表示向量转化为一个浮点数。

(3)卷积运算的方式。

当采用卷积运算的方式时,可以将一个句子中各个字符的字符表示向量进行拼接,组成一个句子表示矩阵,进而利用字符融合模块包括的卷积核对该句子表示矩阵进行特征提取,从而获得句子表示向量。

其中,字符融合模块可以包括多种大小的卷积核,从而能够提取句子表示矩阵中不同大小的感知野的特征。

步骤203:针对每个训练样本,基于获得的各个句子表示向量,分别确定相应句子的句子权重值,每个句子权重值表征一个句子对于实体对的关系确定的重要程度。

本申请实施例中,考虑到噪声句子的存在,为了提升最终得到的整个句袋的句袋表示向量的准确性,可以为噪声句子赋予更小的权重,使得其少量的特征进入到句袋表示向量中,那么首先需要确定句袋中各个句子所对应的句子权重值。

本申请实施例中,可以基于自注意力(self attention)机制获取各句子的句子权重值。

在一种可能的实施方式中,可采用如下的自注意力机制计算各个句子的句子权重值。

具体的,句子融合模块可以包括预训练权重矩阵和预训练参数向量,训练的目的时希望最终学习到的attention权重参数,也就是上述的预训练权重矩阵和预训练参数向量得以区分噪声句子和正常句子,使得经处理后噪声句子和正常句子之间的权重差异化更大。

这里以一个句袋为例,对句子权重值获取的过程进行介绍。针对一个句袋中的各个句子表示向量,基于每个句子表示向量以及上述的预训练权重矩阵,获得该句子表示向量对应的中间表示向量,并获取中间表示向量与实体关系确定模型包括的预训练参数向量之间的向量点积。其中,预训练权重矩阵和预训练参数向量均为可训练参数,在模型训练的过程中跟随训练,预训练权重矩阵其作用在于对字符的字符表示向量进行重新建模,而预训练参数向量的作用在于将权重表示向量转化为一个浮点数。

进而,基于上述方式获得各个句子的向量点积,向量点积可表征每个句子的权重分数,进而,对获得的各个向量点积进行归一化处理,获得各个句子表示向量各自对应的句子权重值。

句袋中各句子的句子权重值计算可表示如下:

si=vTtanh(Wxi)

A=softmax(S)

其中,W表征预训练权重矩阵,v表征预训练参数向量,si和xi分别表示第i个句子的向量点积和句子表示向量,S表示句袋中所有句子的向量点积的集合,A表示句袋中所有句子的句子权重值的集合。

步骤204:基于各个句子各自对应的句子表示向量和句子权重值,确定所述目标句袋的句袋表示向量。

本申请实施例中,句袋表示向量可表示如下:

Y=AX

其中,X表征句袋中所有句子的句子表示向量的集合,Y表示句袋表示向量,其中,在进行计算时,分别基于各个句子的句子表示向量和句子权重值进行加权求和,进而可获得句袋的句袋表示向量。

步骤205:基于各个训练样本各自对应的句袋表示向量,确定每个训练样本对应的实体对的预测关系类型。

具体的,关系类型的预测可通过多分类器来进行,例如可以采用全连接层将句袋表示向量分别映射到各个关系类型上,获得一个句袋表示向量对应各种预测关系类型的概率值,进而根据概率值确定预测关系类型。

当然,也可以采用其他类似的多分类器,如支持向量机(Support VectorMachine,SVM)或者Softmax等,本申请实施例对此不做限制。

步骤206:根据每个训练样本的预测关系类型和标注关系类型,确定实体关系确定模型的模型损失值。

本申请实施例中,每个训练样本预先标注了关系类型,那么可以根据每个训练样本的预测关系类型和标注关系类型,来确定实体关系确定模型的模型损失(loss)值。其中,模型损失值可以采用交叉熵损失(Cross Entropy Loss)函数、均方差损失(Mean SquaredLoss)函数或者平均绝对误差损失(Mean Absolute Error Loss)函数来获得,当然,也可以采用其他可能的损失函数,本申请实施例对此不做限制。

步骤207:确定实体关系确定模型是否满足收敛条件。

收敛条件可以包括如下条件中的任一条件:

(1)模型损失值小于设定的损失阈值。其中,模型损失值能够表征每个训练样本的预测关系类型和标注关系类型之间的差异程度,那么当模型损失值小于设定的损失阈值,也就是说预测关系类型和标注关系类型足够小或者相同时,表明实体关系确定模型的准确性已经较高,因此此时,可认为实体关系确定模型满足收敛条件。

(2)模型的迭代训练次数到达设定的上限值。

步骤208:当确定实体关系确定模型未满足收敛条件时,根据模型损失值对实体关系确定模型进行模型参数的调整,并跳转至步骤202继续下一次的训练流程。

步骤209:当确定实体关系确定模型满足收敛条件时,结束训练。

当满足上述任一的收敛条件时,则实体关系确定模型的训练过程结束,即获得已训练的实体关系确定模型,已训练的实体关系确定模型可以用于后续实际的关系类型确定过程。

本申请实施例中,考虑到人工逐一标注各个句子中实体对的关系类型工作量巨大,因而采用了一种基于远监督的样本获取方式。参见图5,为训练样本的生成流程示意图。

步骤2011:基于实体关系确定模型预设输出的多种关系类型,获取多个三元组。

其中,每个三元组包括一个实体对,且对应一个实体对关联标注了多种关系类型中的一种关系类型。

具体的,在进行训练之前,会为待训练的实体关系确定模型预先设定该模型输出的各种关系类型,即该模型可以预测哪些关系类型,基于这些预设的关系类型,可从知识库已有的数据中获取相应的三元组。

示例性的,待训练的实体关系确定模型预设输出的关系类型包括“夫妻”,那么可以从知识库中获取已关联标注了“夫妻”关系类型的三元组,例如(小张,夫妻,小吴),以及(小七,夫妻,小八)等。

步骤2012:针对每个三元组,采该三元组包含的实体对进行句子匹配,获取包含该三元组中的实体对的句子样本。

本申请实施例中,利用获取的三元组对采集的无监督文本进行回标,由于网络中存在大量的无监督文本,因此通过这种的回标的方式可以使得大量的无监督文本成为有监督数据。

具体来说,针对上述的“夫妻”这个属性,我们会用(小张,小吴)这个实体对去匹配句子,如果句子中存在这两个实体,则认为这个句子的语义很可能就表达了(小张,夫妻,小吴)这个三元组的信息。例如,回标后的句子如下:

句子1:小张谈及妻子小吴时眼含泪光

句子2:小张居住在小吴名下的公寓

上述的两个句子,从中我们看出其实是会含有比较大的噪声的,例如上面句子1是表达了“夫妻”这个属性,但是句子2完全没有表达这个意思,即句子2则属于噪声句子。

步骤2013:基于获得的多个句子样本分别构建相应的训练样本,其中,每个训练样本包括多个包含有相同实体对的句子样本。

本申请实施例中,采用了基于句袋的方式进行模型训练,因此每个训练样本包含多个句子样本,且这些多个句子样本具有相同实体对,如图2所示的实施例部分的介绍中所涉及的句袋样例。

具体的,可以针对句袋设定其包含的句子样本数量,进而随机选择指定数量且包含相同实体对的句子样本构成一个句袋,即训练样本。当然,在实际应用中,每个训练样本所包含的句子样本的数量也可以是不同的,那么也可以采用随机选择的方式构成各个句袋,本申请实施例对此不做限制。

步骤2014:针对获得的各个训练样本,分别标注相应的训练样本关联的实体对对应的关系类型。

其中,每个训练样本的标注关系类型,即为该训练样本中相同实体对的关系类型。延续上述“夫妻”的例子,则基于“小张谈及妻子小吴时眼含泪光”以及“小张居住在小吴名下的公寓”等句子构成一个训练样本之后,由于基于(小张,夫妻,小吴)这个三元组可知,小张和小吴为夫妻关系,那么则可以为构建的训练样本标注关系类型为“夫妻”。

进而,基于已标注的多个训练样本对待训练的实体关系确定模型进行迭代训练。

本申请实施例中,参见与上述过程中,回标的各个句子中仍然存在大量的噪声句子,因此在构建训练样本之前,还可以采用一定的手段对噪声句子进行过滤,并基于过滤之后的剩余句子样本来构建训练样本。参见图6所示,为构建训练样本的流程示意图。

步骤20131:对获得的多个句子样本进行分词操作,获得多个分词。

其中,分词操作可采用分词工具进行,例如结巴(jieba)分词、StandardAnalyzer以及ChineseAnalyzer等分词工具。

针对上述的句子“小张居住在小吴名下的公寓”,则可以划分为多个分词“小张”“居住”“在”“小吴”“名下”“的”“公寓”。

步骤20132:针对每种关系类型,确定多个分词中各个分词与该种关系类型的互信息系数,一个互信息系数用于表征一个分词对一种关系类型的重要程度。

本申请实施例中,考虑到在每种关系类型存在中,某些词的出现概率是很大的,这些词则可以认为与该中关系类型之间的存在紧密联系,如“夫妻”属性存在,出现“妻子”“丈夫”等词的概率则很高,进而可以通过一些重要词汇对上述的各个句子样本进行筛除,进而减缓远监督方式所带来的噪声问题。

具体的,以关系类型A为例,在确定关系类型A相关的各个分词的互信息分数时,分别确定各个分词出现的第一概率、相应的关系类型A出现的第二概率,以及确定当关系类型A存在时各个分词出现的第三概率,进而基于第一概率、第二概率和第三概率,确定各个分词对应的互信息系数。

其中,互信息系数的计算方式如下:

其中,U表示一个分词,C表示一种关系类型,P(U=et)表示分词et的第一概率,P(C=ec)表示关系类型ec的第二概率,P(U=et,C=ec)表示当关系类型ec存在时分词et出现的第三概率。

步骤20133:基于获得的多个互信息系数,选取出大于设定阈值的互信息系数所对应的至少一个分词。

同样以上述关系类型A为例,当获取关系类型A相关的各个分词的互信息分数后,则可以按照互信息分数从大到小的顺序,从中选取出大于设定阈值的互信息系数所对应的至少一个分词。

其中,设定阈值可以是预先设定的固定阈值,也可以预先设定选取的至少一个分词的数量,那么则可以按照设定的数量从排序后的序列中选定出设定阈值。

步骤20134:将每种关系类型所对应的多个句子样本中,未包含至少一个分词中任一分词的句子样本筛除。

同样以上述关系类型A为例,利用针对关系类型A选取的至少一个分词,这些分词为对关系类型A的重要程度较高的分词,当关系类型A存在时,大概率这些词是存在的,因此可以利用这些词对关系类型A对应的多个句子样本进行过滤,即将包含至少一个分词中任一分词的句子样本保留,将不包含至少一个分词中任一分词的句子样本筛除。

步骤20135:基于剩余的多个句子样本分别构建相应训练样本。

进而,基于进行筛除过后剩余的句子进行训练样本的构建,这样,可以在一定程度上筛除部分噪声句子,提升训练样本的准确性,相应提升训练得到的实体关系确定模型的准确性,进而,提升最终预测的实体关系类型的准确性。

下面,针对字符表示向量的获取过程进行介绍。

在一种可能的实施方式中,字符表示向量的获取过程可采用如下的方式进行。这里以一个句子,如句子A为例,对句子中各个字符表示向量的获取过程进行介绍。参见图7,为对句子A的各个字符进行特征编码的流程示意图。

S2021a:对句子A进行字符拆分,获得句子A包括的多个字符。

在句子A中插入实体的标识之后,则可以将句子A拆分为一个个字符,其中也可以包括插入的标识符。

S2022a:分别针对各个字符进行特征编码,获得各个字符的内容表示向量、位置表示向量以及来源表示向量。

其中,内容表示向量用于表征一个字符所对应的内容,可以基于每个字符表征的含义来获取,也可以通过查询已有的词库来获取,该词库是一个字符与向量之间的映射词库;位置表示向量表征一个字符在一个句子中的位置,可以表征一个字符与句子A中其他字符之间的相对位置关系,其可以通过字符在句子A中的序号进行表示,也可以通过其前后存在的词向量进行表示;来源表示向量表征一个字符所来源的句子,即句子A。

S2023a:基于内容表示向量、位置表示向量以及来源表示向量,获得一个字符的字符表示向量。

参见图8所示,为各个字符的字符表示向量获取示意图。其中,在获取各个字符的内容表示向量、位置表示向量以及来源表示向量之后,则可以基于内容表示向量、位置表示向量以及来源表示向量,获取相应字符的字符表示向量,则字符表示向量为能够同时体现出内容表示向量、位置表示向量以及来源表示向量的信息的向量。

具体的,可以对内容表示向量、位置表示向量以及来源表示向量进行叠加,从而获得相应字符的字符表示向量,如图8所示,以字符1为例,将字符1的内容表示向量Ec1、位置表示向量Eb1和来源表示向量Ea1进行叠加后,获得字符1的字符表示向量E1。

具体的,还可以对内容表示向量、位置表示向量以及来源表示向量进行拼接处理,从而获得相应字符的字符表示向量,例如,可以将字符1的位置表示向量Eb1拼接至内容表示向量Ec1的后面,再将来源表示向量Ea1拼接至位置表示向量Eb1的后面,从而获得字符1的字符表示向量E1。

具体的,还可以对各个字符的内容表示向量、位置表示向量以及来源表示向量进行池化处理,从而获得相应字符的字符表示向量。同样以字符1为例,在进行最大池化处理时,将字符1的内容表示向量Ec1、位置表示向量Eb1和来源表示向量Ea1在相同位置上的值取最大值,从而获得字符1的字符表示向量E1。

本申请实施例中,为了在更准确的得到句子表示向量,还可以在每个字符表示向量中融入其他字符的信息。例如,通过上述的过程获取字符表示向量之后,还可以利用注意力机制将其他字符的信息融入。

具体的,字符编码层还可以包括至少一个注意力向量矩阵,从而根据句子A中各个字符表示向量与相应的注意力向量矩阵,获得各个字符对应的至少一个注意力向量。例如,至少一个注意力向量矩阵可以包括请求(query)向量矩阵、键(key)向量矩阵和值(value)向量矩阵,相应的,至少一个注意力向量包括query向量、key向量和value向量。

进而,可以基于各个字符的至少一个注意力向量获取各个字符的注意力权重向量,其中,一个字符对应的注意力权重向量中各个值分别表征各个字符对于一个字符的注意力权重,例如句子A包含4个字符,那么对于其中的字符1而言,字符1的注意力权重向量包含4个值,每个值表示句子A中包含的一个字符对于字符1的注意力权重。

具体的,字符2对字符1的注意力权重可以通过字符2的key向量与字符1的query向量之间的相似度来获得,同理,其他字符也是如此,而字符1对字符1的注意力权重可以通过字符1的key向量与字符1的query向量之间的相似度来获得。

最后,一个字符最终的字符表示向量是根据该字符的注意力权重向量中各个注意力权重,与相应注意力向量进行加权求和获得的,例如,字符1对应的字符表示向量,则是由字符1的注意力权重向量中各个值与相应value向量加权求和得到的。

进而,将最终获取的字符表示向量用于参与句子表示向量的合成。

在另一种可能的实施方式中,字符表示向量的获取过程还可以采用如下的方式进行。这里同样以句子A为例,参见图9,为对句子A的各个字符进行特征编码的另一种流程示意图。

S2021b:对句子A进行字符拆分,获得句子A包括的多个字符。

S2022b:对句子A中的第一个字符进行特征编码,获得第一个字符对应的字符表示向量。

S2023b:对句子A中的当前待处理字符进行特征提取,获得该字符的基础表示向量。

本申请实施例中,按照多个字符在一个句子中的先后顺序,依次对多个字符中各个字符进行特征编码,分别获得多个字符各自对应的字符表示向量,因此若前一个字符为第一个字符,那么当前待处理字符则为第二个字符,同样的,若前一个字符为第二个字符,那么当前待处理字符则为第三个字符,以此类推。

其中,基础表示向量用于表征一个字符所对应的内容,可以基于每个字符表征的含义来获取,也可以通过查询已有的词库来获取,该词库是一个字符与向量之间的映射词库。

S2024b:基于获得的基础表示向量以及前一个字符的字符表示向量,获得该字符的字符表示向量。

例如,当前字符为第二个字符,那么可以基于当前字符获得的基础表示向量,以及第一个字符的字符表示向量,获得第二个字符的字符表示向量。

S2025b:判断是否所有字符的字符表示向量获取完成。

若步骤S2025b的判断结果为是,即所有字符的字符表示向量获取完成,则结束流程,否则,则跳转至步骤S2023b继续执行,即获取当前字符的下一个字符的字符表示向量。

本申请实施例中,在实体关系确定模型的训练结束之后,则可以利用已训练的实体关系确定模型参与实际的关系类型的预测。请参见图10,为本申请实施例提供的实体关系类型确定方法的流程示意图,该方法的流程介绍如下。

步骤1001:获取目标实体对关联的目标句袋,目标句袋包含多个句子,且每一个句子包含目标实体对。

目标实体对为待进行关系类型确定的实体对,可采集包含该目标实体对的多个句子,同样的,也可以采用互信息的方式预先进行一定的噪声句子的筛除,继而基于剩余的句子构建目标实体对关联的目标句袋。

示例性的,针对实体对“张三”和“1956年4月2日”,可采集包含这两个实体的多个句子,如下示例:

句子1:张三出生于1956年4月2日

句子2:1956年4月2日是张三的生日

句子3:某某于1956年4月2日在某某医院生下了张三

上述的句子仅为部分示例,进而,可以基于采集的多个句子构成目标句袋,以用于“张三”和“1956年4月2日”之间的关系类型确定。

步骤1002:将目标句袋输入至已训练的实体关系确定模型,针对目标句袋中每个句子,基于该句子中各个字符各自对应的字符表示向量,获得一个句子的句子表示向量。

步骤1003:采用已训练的实体关系确定模型,基于获得的各个句子表示向量,分别确定相应句子的句子权重值,每个句子权重值表征一个句子对于目标实体对的关系确定的重要程度。

步骤1004:采用已训练的实体关系确定模型,基于各个句子各自对应的句子表示向量和句子权重值,确定目标句袋的句袋表示向量。

步骤1005:采用已训练的实体关系确定模型,基于句袋表示向量确定目标实体对包括的两个实体之间的目标关系类型。

步骤1002~步骤1005的过程与上述模型训练中相应部分的介绍类似,因此步骤1002~步骤1004的过程可参见训练部分的相应介绍,在此不过多进行赘述。

以上述的实体对“张三”和“1956年4月2日”为例,当已训练的实体关系确定模型足够准确时,最终实体关系确定模型可输出“张三”和“1956年4月2日”的预测关系类型为“出生时间”,进而可以获得新的三元组(张三,出生时间,1956年4月2日),并可将其加入知识图谱中,以供下游的应用场景使用,例如后续有用户输入张三的出生时间时,则可以匹配到该三元组,继而可顺利输出答案“1956年4月2日”,实现问题搜索的精准问答。

综上所述,本申请实施例针对人工标注困难大、训练数据偏少这个问题,采用了基于知识图谱远监督的方式来构造大量的训练数据,针对这部分基于远监督构造的训练数据的噪声问题,一方面通过互信息的方式对带来的噪声问题进行缓解,另一方面,通过基于attention和bag预测的实体关系确定模型,进一步有效的缓解训练数据的噪声。

请参见图11,基于同一发明构思,本申请实施例还提供了一种实体关系类型确定装置110,该装置包括:

获取单元1101,用于获取目标实体对关联的目标句袋,并将目标句袋输入至已训练的实体关系确定模型;目标句袋包含多个句子,且每一个句子包含目标实体对;

句子编码单元1102,用于采用已训练的实体关系确定模型,针对目标句袋中各个句子,分别执行如下操作:针对一个句子,基于一个句子中各个字符各自对应的字符表示向量,获得一个句子的句子表示向量;

句袋编码单元1103,用于采用已训练的实体关系确定模型,基于获得的各个句子表示向量,分别确定相应句子的句子权重值,每个句子权重值表征一个句子对于目标实体对的关系确定的重要程度,以及采用已训练的实体关系确定模型,基于各个句子各自对应的句子表示向量和句子权重值,确定目标句袋的句袋表示向量;

预测单元1104,用于采用已训练的实体关系确定模型,基于句袋表示向量,确定目标实体对包括的两个实体之间的目标关系类型。

可选的,该装置还包括模型训练单元1105,用于:

基于实体关系确定模型预设输出的多种关系类型,获取多个三元组;其中,每个三元组包括一个实体对,且对应一个实体对关联标注了多种关系类型中的一种关系类型;

针对多个三元组,分别执行如下操作:针对一个三元组,采用一个三元组包含的实体对进行句子匹配,获取包含一个三元组包含的实体对的句子样本;

基于获得的多个句子样本分别构建相应的训练样本,其中,每个训练样本包括多个包含有相同实体对的句子样本;

针对获得的各个训练样本,分别标注相应的训练样本关联的实体对对应的关系类型;

基于已标注的多个训练样本对待训练的实体关系确定模型进行迭代训练,直到满足收敛条件为止,获得已训练的实体关系确定模型。

可选的,模型训练单元1105,还用于:

对获得的多个句子样本进行分词操作,获得多个分词;

针对多种关系类型,分别执行如下操作:

针对一种关系类型,确定多个分词中各个分词与一种关系类型的互信息系数,一个互信息系数用于表征一个分词对一种关系类型的重要程度;

基于获得的多个互信息系数,选取出大于设定阈值的互信息系数所对应的至少一个分词;

将一种关系类型所对应的多个句子样本中,未包含至少一个分词中任一分词的句子样本筛除;

基于剩余的多个句子样本分别构建相应训练样本。

可选的,模型训练单元1105,具体用于:

针对多个分词,分别执行如下操作:

针对一个分词,确定一个分词出现的第一概率;

确定一种关系类型出现的第二概率,以及确定当一种关系类型存在时,一个分词出现的第三概率;

基于第一概率、第二概率和第三概率,确定一个分词对应的互信息系数。

可选的,句子编码单元1102,具体用于:

对一个句子进行字符拆分,获得一个句子包括的多个字符;

针对多个字符,分别执行如下操作:

针对一个字符,对一个字符进行特征编码,获得一个字符的内容表示向量、位置表示向量以及来源表示向量;其中,内容表示向量用于表征一个字符所对应的内容,位置表示向量表征一个字符在一个句子中的位置,来源表示向量表征一个字符所来源的句子;

基于内容表示向量、位置表示向量以及来源表示向量,获得一个字符的字符表示向量。

可选的,句子编码单元1102,具体用于:

对一个句子进行字符拆分,获得一个句子包括的多个字符;

按照多个字符在一个句子中的先后顺序,依次对多个字符中各个字符进行特征编码,分别获得多个字符各自对应的字符表示向量;其中,针对一个字符,在对一个字符进行特征编码时,对一个字符进行特征提取,获得一个字符的基础表示向量,并基于基础表示向量,以及一个字符的前一个字符的字符表示向量,获得一个字符的字符表示向量。

可选的,句子编码单元1102,具体用于:

对获得的各个字符表示向量进行均值池化,获得句子表示向量;或者,

确定各个字符的字符权重值,并基于各个字符各自对应的字符表示向量以及字符权重值,获得句子表示向量;其中,每个字符权重值表征一个字符对于一个句子的重要程度。

可选的,句袋编码单元1103,具体用于:

针对各个句子表示向量,分别执行如下操作:

针对一个句子表示向量,基于一个句子表示向量以及实体关系确定模型包括的预训练权重矩阵,获得一个句子表示向量的中间表示向量;

获取中间表示向量与实体关系确定模型包括的预训练参数向量之间的向量点积;

对获得的各个向量点积进行归一化处理,获得各个句子表示向量各自对应的句子权重值。

该装置可以用于执行图2~图10所示的实施例中所示的方法,因此,对于该装置的各功能模块所能够实现的功能等可参考图2~图10所示的实施例的描述,不多赘述。需要说明的是,由于模型训练单元1105并不是必选的功能模块,因此模型训练单元1105在图11中以虚线进行示出。

请参见图12,基于同一技术构思,本申请实施例还提供了一种计算机设备120,可以包括存储器1201和处理器1202。

所述存储器1201,用于存储处理器1202执行的计算机程序。存储器1201可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据计算机设备的使用所创建的数据等。处理器1202,可以是一个中央处理单元(central processing unit,CPU),或者为数字处理单元等等。本申请实施例中不限定上述存储器1201和处理器1202之间的具体连接介质。本申请实施例在图12中以存储器1201和处理器1202之间通过总线1203连接,总线1203在图12中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线1203可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

存储器1201可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器1201也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器1201是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1201可以是上述存储器的组合。

处理器1202,用于调用所述存储器1201中存储的计算机程序时执行如图2~图10所示的实施例中设备所执行的方法。

在一些可能的实施方式中,本申请提供的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的方法中的步骤,例如,所述计算机设备可以执行如图2~图10所示的实施例中设备所执行的方法。

所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

32页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种轮毂编码生成方法和装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!