文本的实体关系抽取方法、装置及存储介质与流程

文档序号:19418838发布日期:2019-12-14 01:12阅读:305来源:国知局
文本的实体关系抽取方法、装置及存储介质与流程
本发明涉及自然语言处理
技术领域
,尤其涉及一种文本的实体关系抽取方法、装置、电子设备及存储介质。
背景技术
:近年来,随着互联网技术的快速发展,网络数据内容呈现爆炸式的增长态势。由于互联网内容的大规模、异质多元、组织结构松散、非结构化等特点,给人们有效获取信息和知识提出了挑战。因此,自然语言处理(naturelanguageprocessing,nlp)技术应运而生。自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。其中,关系抽取作为自然语言处理技术的重要组成部分,其目的在于从非结构化的文本信息中挖掘出实体间的语义关联,促进知识图谱的构建,从而为用户提供更加精准的搜索服务、以及知识问答等。然而,相关技术在进行关系抽取时,存在效率低下或者效果较差等问题。技术实现要素:本发明实施例提供一种文本的实体关系抽取方法、装置、电子设备及存储介质,能够提高文本的实体关系抽取的效率。本发明实施例的技术方案是这样实现的:本发明实施例提供一种文本的实体关系抽取方法,包括:对输入文本进行识别处理,得到所述输入文本中的实体、以及所述实体所属的类别;基于类别约束条件遍历所述实体,以基于满足类别约束条件的候选实体构建候选实体对;根据每个所述候选实体对中实体所属的类别,将所构建的候选实体对进行标签化处理;基于标签化处理的候选实体对,将所述输入文本中识别出的实体替换为标签,以得到新的样本;通过分类模型对所得到的新的样本进行分类处理,得到所构建的候选实体对的关系,并输出由所述候选实体对以及所述关系构成的三元组。本发明实施例提供一种文本的实体关系抽取装置,包括:识别模块,用于对输入文本进行识别处理,得到所述输入文本中的实体、以及所述实体所属的类别;构建模块,用于对基于类别约束条件遍历所述实体,以基于满足类别约束条件的候选实体构建候选实体对;处理模块,用于根据每个所述候选实体对中实体所属的类别,将所构建的候选实体对进行标签化处理;替换模块,用于基于标签化处理的候选实体对,将所述输入文本中识别出的实体替换为标签,以得到新的样本;分类模块,用于通过分类模型对所得到的新的样本进行分类处理,得到所构建的候选实体对的关系,并输出由所述候选实体对以及所述关系构成的三元组。上述方案中,所述识别模块,还用于对输入文本进行基于序列标注的识别处理,得到所述输入文本中的命名实体、以及所述命名实体所属的类别;以及,用于对输入本文进行基于规则模板的识别处理,得到所述输入文本中具有规则特征的实体、以及所述具有规制特征的实体所属的类别;以及,用于对输入文本进行基于词典匹配的识别处理,得到所述输入文本中封闭集合的实体,以及所述封闭集合的实体所属的类别。上述方案中,所述识别模块,还用于对应不同的实体类别分别预训练多个序列标注模型;利用所述多个序列标注模型分别对输入文本进行识别处理,得到所述输入文本中的实体、以及所述实体所属的类别。上述方案中,所述构建模块,还用于预先设置三元组中每个元素的类别约束条件,得到类别约束表;根据所述类别约束表,遍历所述实体构成的实体集合,以从所述实体集合中选取满足类别约束条件的两个实体组成候选实体对;根据所组成的候选实体对形成候选实体对集合。上述方案中,所述分类模块,还用于通过基于卷积神经网络或者长短时记忆网络的分类模型,对所得到的新的样本进行分类处理,以得到所述样本在所述类别约束表中各个关系类别的得分。上述方案中,所述处理模块,还用于设置由已知三元组构建的关系分类的正样本、以及由不在已知三元组构建的关系分类的负样本;基于所述正样本和所述负样本训练初始化的所述分类模型。上述方案中,所述分类模块,还用于通过分类模型对所得到的新的样本进行分类处理,得到所述新的样本在所述类别约束表中各个关系类别的得分;将所述约束表中各个关系类别的得分进行降序排序,将所述降序排序得分最高的关系类别作为对应候选实体对的关系。上述方案中,所述处理模块,还用于选取所述降序排序得分最高的前n个关系类别,其中,n为大于1的整数;确定所述前n个关系类别的得分之间的差值,当所述差值小于差值阈值时,将所述前n个关系类别均作为对应候选实体对的关系。本发明实施例提供一种用于文本的实体关系抽取的电子设备,包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的文本的实体关系抽取方法。本发明实施例提供一种存储介质,存储有可执行指令,用于引起处理器执行时,实现本发明实施例提供的文本的实体关系抽取方法。本发明实施例具有以下有益效果:通过对输入文本中识别出的实体在预先设置的类别约束条件下构建候选实体对,对所构建的候选实体对进行标签化处理,并通过分类模型得到所述候选实体对的关系,从而可以输出由所述候选实体对以及所述关系构成的三元组。如此,分类的次数仅依赖于所构建的候选实体对的数量,有效提高了文本的实体关系抽取的效率。附图说明图1是本发明实施例提供的文本的实体关系抽取系统的一个可选的架构示意图;图2是本发明实施例提供的用于文本的实体关系抽取的电子设备的一个可选的结构示意图;图3是本发明实施例提供的文本的实体关系抽取方法的一个可选的流程示意图;图4是本发明实施例提供的文本的实体关系抽取方法的一个可选的流程示意图;图5a是本发明实施例提供的文本的实体关系抽取方法的一个可选的流程示意图;图5b是本发明实施例提供的文本的实体关系抽取方法的一个可选的流程示意图;图6是本发明实施例提供的文本的实体关系抽取方法的一个可选的流程示意图;图7是相关技术提供的序列标注模型的结构示意图;图8是本发明实施例提供的谓语关系分类的流程示意图。具体实施方式为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的
技术领域
的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。1)实体:现实世界中具有可区别性且独立存在的某种事务,例如:人名、地名、游戏名称等。2)提及(mention):包括命名实体、一般的名词、指代词等。命名实体一般指人名、地名、机构名等实体,而有些特殊的名词、代词,由于无法对其分类,统称为mention。mention识别是比命名实体识别更为复杂的任务。3)序列标注:序列标注是自然语言处理中在句子层面的主要任务,即在给定的文本序列上预测标签,可应用到中文分词、命名实体识别、词性标注等任务。具体的算法模型包括:隐马尔科夫模型(hmm,hiddenmarkovmodel)、条件随机场(crf,conditionalrandomfield)、以及一些深度学习相结合的方法。4)关系抽取:关系定义为两个或多个实体之间的联系,关系抽取就是通过学习文本中多实体之间的语义联系,来识别其关系。关系抽取的输入是一段或者一句文本,输出通常是一个三元组:<实体1,关系,实体2>。例如,输入文本“张三的妻子是小红”,经过关系抽取后,输出的三元组为<张三,妻子,小红>,<小红,丈夫,张三>。5)三元组抽取:将关系抽取中的关系泛化为谓语,实体泛化为主语和宾语,主语和宾语是句子中的mention。这样抽取的三元组就变为:<主语,谓语,宾语>。6)模式(schema)约束:在三元组抽取任务中,schema中对三元组中每个元素的类型进行了约束,具体包含主语和宾语的类型(人名、地名、机构名、作品名等),及两者之间关系的集合。比如,主语为人名,宾语也为人名时,限制抽取出谓语类型只能是“丈夫”,“妻子”,“父母”,“子女”,“none”等,其中,“none”指两个mention没有关系。约束的谓语类别一般是通过人工定义生成,训练语料可以采用人工标注或者启发式规则自动构建等。在三元组抽取任务中,相关技术通常将schema约束下的三元组抽取任务形式化为有监督的多分类任务,也就是关系分类。其中,每个谓语就是一个类别。近年来,深度学习的方法在有监督关系抽取中占据了重要地位。例如,可以将卷积神经网络应用到有监督关系分类中,具体步骤为利用词向量或者字向量将句子表示为矩阵,再利用卷积神经网络及池化得到句子的向量表示,然后使用归一化指数(softmax)分类器对向量进行分类,通过设置类别得分的阈值得到具体的关系类别。长短时记忆网络是另一种可以对句子向量矩阵进行建模的模型,结合注意力机制可以更好地提取句子中词语之间的语义联系,最终都需要通过softmax分类器进行分类。此外,相关技术还将三元组抽取任务形式化为一个序列标注任务,也就是给句子中的每一个字打上一个标签,mention包含的字标注为特殊符号,非mention对应的字标注为普通符号,一般为“o”。经过抽取模型后,每个字都有一个对应的标签,将连续相同或者属于同一类的标签进行组合,就可以得到句子中的候选mention。如果设计的标签还包括谓语信息,则也可以提取出候选mention之间的关系。上述方法的优点是采用一个通用的模型就可以将句子中的主语、宾语以及谓语同时抽取出来。相关技术还提供了将序列标注和分类模型相结合的方法来实现三元组抽取任务。该方法首先通过序列标注模型识别句子中的主语,然后将主语的语义信息进行传递,对schema约束中的每一中谓语关系进行宾语的边界分类。然而,相关技术提供的上述三种方法存在以下问题:关系分类方法主要是利用深度学习对句子进行建模,默认句子中的候选实体都已经标记出,只需进行分类。但是,在实际任务中,需要抽取系统自动发现句子中的候选实体,并进行关系判别。因此,关系分类方法不适合实际的应用。序列标注方法对于复杂的句子(例如:句子中包含多个mention),进行谓语判断时就会十分困难,尤其是当一个mention可能构成多个三元组时,抽取效果就会变得很差。序列标注和关系分类结合的方法存在效率差的缺点。举例来说,如果schema中有100种谓语关系,那么在识别宾语的时候就需要进行100次的分类。此外,序列标注和关系分类结合的方法对主语的识别要求较高,不然会产生误差传递,如果句子中含有多个主语,那么将导致所述方法的效果不佳。对此,可以考虑基于mention识别和谓语关系分类相结合的方案,在预先设置的schema约束下,先进行mention识别,然后进行谓语关系的分类,从而抽取出句子中的三元组。鉴于此,本发明实施例提供一种文本的实体关系抽取方法、装置、电子设备和存储介质,能够有效提高关系抽取的效率和效果。下面说明本发明实施例提供的电子设备的示例性应用,本发明实施例提供的电子设备可以实施为笔记本电脑、平板电脑、台式计算机、智能手机等各种类型的用户终端,也可以实施为服务器或者服务器集群,还可以采用由用户终端和服务器协同的方式实施。下面,将说明电子设备实施为服务器时的示例性应用。参见图1,图1是本发明实施例提供的文本的实体关系抽取系统100的一个可选的架构示意图,用户终端400通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。如图1所示,所述文本的实体关系抽取系统中包括服务器200、网络300、用户终端400、以及数据库500。其中,服务器200中包括模型训练系统、三元组抽取系统和知识图谱库。服务器200从数据库500中获取非结构化的文本数据,利用模型训练系统中已训练好的模型对所获取的非结构化的文本数据进行识别处理,得到所述文本中的实体、以及所述实体所属的类别。将识别出的实体输入三元组抽取系统,由三元组抽取系统得到所述实体间的语义关联,从而得到由实体对以及实体对间的关系构成的三元组,将得到的三元组存入知识图谱库中。如此,当接收到用户终端400发送的搜索请求时,可以基于所构建的知识图谱库,通过对实体间的语义信息深入挖掘与分析进一步理解用户的搜索意图,从而可以向用户终端400提供更加精确的搜索结果,提高用户的搜索体验。参见图2,图2是本发明实施例提供的用于文本的实体关系抽取的电子设备200的结构示意图,图2所示的电子设备200包括:至少一个处理器210、存储器250、至少一个网络接口220和用户接口230。电子设备200中的各个组件通过总线系统240耦合在一起。可理解,总线系统240用于实现这些组件之间的连接通信。总线系统240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统240。处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digitalsignalprocessor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。用户接口230包括使得能够呈现媒体内容的一个或多个输出装置231,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口230还包括一个或多个输入装置232,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。存储器250可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器250可选地包括在物理位置上远离处理器210的一个或多个存储设备。存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom,readonlymemory),易失性存储器可以是随机存取存储器(ram,randomaccessmemory)。本发明实施例描述的存储器250旨在包括任意适合类型的存储器。在一些实施例中,存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。操作系统251,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;网络通信模块252,用于经由一个或多个(有线或无线)网络接口220到达其他计算设备,示例性的网络接口220包括:蓝牙、无线相容性认证(wifi)、和通用串行总线(usb,universalserialbus)等;呈现模块253,用于经由一个或多个与用户接口230相关联的输出装置231(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);输入处理模块254,用于对一个或多个来自一个或多个输入装置232之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。在一些实施例中,本发明实施例提供的装置可以采用软件方式实现,图2示出了存储在存储器250中的文本的实体关系抽取装置255,其可以是程序和插件等形式的软件,包括以下软件模块:识别模块2551、构建模块2552、处理模块2553、替换模块2554和分类模块2555,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,将在下文中说明各个模块的功能。在另一些实施例中,本发明实施例提供的装置可以采用硬件方式实现,作为示例,本发明实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的文本的实体关系抽取方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(asic,applicationspecificintegratedcircuit)、dsp、可编程逻辑器件(pld,programmablelogicdevice)、复杂可编程逻辑器件(cpld,complexprogrammablelogicdevice)、现场可编程门阵列(fpga,field-programmablegatearray)或其他电子元件。下面,以电子设备实施为服务器为例说明本发明实施例提供的文本的实体关系抽取方法。参见图3,图3是本发明实施例提供的文本的实体关系抽取方法的一个可选的流程示意图,将结合图3示出的步骤进行说明。步骤s301:对输入文本进行识别处理,得到所述输入文本中的实体、以及所述实体所属的类别。这里,所述实体包括命名实体、以及mention。示例的,可以从输入文本中识别出人名、地名、机构名等命名实体。示例的,也可以从输入文本中识别出身高、出生日期等不满足实体定义的信息,即mention。举例来说,这些信息的具体值可能是“180cm”、“1990年11月2日”等。参见图4,图4是本发明实施例提供的文本的实体关系抽取方法的一个可选的流程示意图,在一些实施例中,图3示出的步骤s301可以通过图4示出的步骤s3011至步骤s3013实现,将结合各步骤进行说明。步骤s3011:对输入文本进行基于序列标注的识别处理,得到所述输入文本中的命名实体、以及所述命名实体所属的类别。在一些实施例中,为了保证识别的准确率,可以采用序列标注模型对输入文本中的命名实体进行识别。序列标注模型可以使用条件随机场模型与一些深度学习方法相结合的方式对输入文本中的命名实体进行识别。具体的,采用序列标注模型对输入文本进行识别包括训练阶段和预测阶段。其中,训练阶段的具体步骤为:1)分词或者分字:对输入文本进行预处理,所述预处理包括分词处理或者分字处理。2)词嵌入:将单字映射为向量。具体的,对于字向量,利用分字的结果,从“词语-向量(word2vec)”的映射表中取出对应的向量,或者随机赋予一个向量;对于词向量,对当前字为开始或者结尾的两个bi-gram向量求平均,和字向量进行拼接,其中,将每一个字节片段称为gram。3)编码:学习输入文本中每个字之间的语义关联,也就是提取输入文本中句子的特征。一般可采用卷积神经网络(cnn)、长短时记忆单元机制(lstm)、以及注意力机制(attention)等方法进行提取。经过编码层的学习后,每个词对应一个特征向量。4)解码:将特征向量映射到最可能的标签。一般可以采用条件随机场(crf)、以及归一化指数分类器(softmax)来进行映射。5)模型保存:将训练好的模型保存在本地,供预测阶段使用。预测阶段的具体步骤为:1)分词或者分字:对输入文本进行预处理,预处理步骤与训练阶段相同。2)模型预测:加载训练阶段保存的模型,对经过分词或者分字处理得到的序列进行标签预测。3)标注结果后处理:将连续的属于同一类别的标签进行组合,得到最终的预测出的候选实体。在一些实施例中,可以将所有实体的类别放在同一个标签空间中,采用一个模型进行序列标注。示例的,采用的标签空间可以为{b,m,e,s,o},分别代表实体的开始位置、中间位置、结束位置、单个字mention、以及非mention字符,则可以采用同一个模型同时识别人名、地名、机构名、以及作品名等。由于分词可能会存在切分错误的情况,从而影响序列标注的结果。因此,需要对分词进行预处理。举例来说,假设输入的文本为“王小明出生于新界”,经过分字处理后,得到的结果为“王/小/明/出/生/于/新/界”。在已知“王小明”为人名,“新界”为地名时,则相应的标签序列为:“b-per(王)/m-per(小)/e-per(明)/o/o/o/b-loc(新)/e-loc(界)”。在另一些实施例中,也可以针对每一类实体设计一种标签空间,对应训练一个模型,标签空间的构建以及模型的训练过程与上述步骤类似,本发明实施例在此不再赘述。步骤s3012:对输入本文进行基于规则模板的识别处理,得到所述输入文本中具有规则特征的实体、以及所述具有规制特征的实体所属的类别。规则模板方法可以采用正则表达式作为模板,识别出输入文本中规则特征较为明显的mention。示例的,可以使用正则表达式识别出输入文本中格式固定的mention,例如面积、时间、电话号码等。举例来说,通过配置正则表达式的形式,可以分别对输入文本中的面积、高度、金额、人口等特征明显的mention进行抽取。也就是说,规则模板方法抽取的mention的类别主要包括数字、时间等类别。步骤s3013:对输入文本进行基于词典匹配的识别处理,得到所述输入文本中封闭集合的实体,以及所述封闭集合的实体所属的类别。对于一些mention来说,其包括的类别是可以穷举的。例如:对于民族来说,其仅包括“汉族”、“藏族”、“苗族”等有限的民族;对于国家来说,其也仅包括“中国”、“美国”、“英国”等有限的国家。因此,可以通过配置词典,在识别阶段将待识别的mention与词典进行匹配,从而识别出集合相对封闭的mention。也就是说,词典匹配方法识别出的mention类别主要包括民族、语言、国家、气候等类别。在一些实施例中,可以同时采用序列标注方法、规则模板方法、以及词典匹配方法对输入文本进行识别,以提高识别mention的类别数量。举例来说,假设输入的文本为“张三,1967年11月27日出生于辽宁省沈阳市,满族人,是一名歌手”。则序列标注模块识别出:“张三”人名,“辽宁省沈阳市”地名;规则抽取模块识别:“1967年11月27日”日期;词典匹配模块识别:“满族”民族。在另一些实施例中,为了保证识别的准确率,可以不采用规则模板和词典匹配等不考虑语义的方案,而是对应不同的实体类别分别预训练多个不同的序列标注模型,利用所述多个不同的序列标注模型分别对输入文本进行识别处理,得到所述输入文本中的实体、以及所述实体所属的类别。需要说明的是,本发明实施例提供的文本的实体关系抽取方法即可以识别出文本中的实体,也可以识别出文本中的mention。为方便描述,本发明实施例对实体和mention不作具体的区分。步骤s302:基于类别约束条件遍历所述实体,以基于满足类别约束条件的候选实体构建候选实体对。这里,所述基于类别约束条件遍历所述实体,以基于满足类别约束条件的候选实体构建候选实体对,包括:预先设置三元组中每个元素的类别约束条件,得到类别约束表;根据所述类别约束表,遍历所述实体构成的实体集合,以从所述实体集合中选取满足类别约束条件的两个实体对组成候选实体对;根据所组成的候选实体对形成候选实体对集合。类别约束条件具体包括三元组中主语和宾语的类别约束以及两者之间关系类别的集合。示例的,参见表1,表1给出了三元组中每个元素的类别约束示例。主语类别宾语类别谓语类别人名人名父母、配偶、子女......人名地名出生地、国籍人名机构名员工、董事长…..地名地名位于人名数字身高、体重……表1如表1所示,当三元组中的主语和宾语都是人名时,谓语类别只能是父母、配偶、子女、同学等;当三元组中的主语和宾语分别是人名和地名时,谓语类别只能是出生地、国籍等;当三元组中的主语和宾语分别是人名和机构名时,谓语类别只能是员工、董事长等;当三元组中的主语和宾语都是地名时,谓语类别只能是位于;当三元组的主语和宾语分别是人名和数字时,谓语类别只能是身高、体重等。举例来说,假设输入文本为“张三出生于沈阳,位于辽宁”,则经过步骤s301的识别处理后,得到的实体包括“张三/人名”、“沈阳/地名”、以及“辽宁/地名”,也就是说,识别出的实体类别只包括人名和地名。则通过查阅表1,可以构建出以下候选实体对:<张三,?,沈阳>、<张三,?,辽宁>、<沈阳,?,辽宁>、以及<辽宁,?,沈阳>,其中,“?”代表需要识别的谓语关系。步骤s303:根据每个所述候选实体对中实体所属的类别,将所构建的候选实体对进行标签化处理。在执行步骤s302后,得到了由候选实体构建的候选实体对,则本步骤根据所构建的候选实体对以及候选实体对中实体所属的类别,将所构建的候选实体对进行标签化处理。所述标签化处理是将识别出的实体抽象化成相应的类别。示例的,对于实体对<张三,沈阳>,进行标签化处理后的实体对为<per_sub,loc_obj>。示例的,对于实体对<沈阳,辽宁>,其进行标签化处理后的实体对为<loc_sub,loc_obj>。步骤s304:基于标签化处理的候选实体对,将所述输入文本中识别出的实体替换为标签,以得到新的样本。在执行步骤s303后,得到了标签化处理的候选实体对,则本步骤基于标签化处理的候选实体对,将所述输入文本中识别出的实体替换为标签,从而得到新的样本。示例的,假设输入文本为“张三出生于沈阳,位于辽宁”,构建的实体对为<张三,沈阳>,相应的,标签化处理后的实体对为<per_sub,loc_obj>,则将输入文本中识别出的实体替换为标签后,得到的新的样本为“per_sub出生于loc_obj,位于辽宁”。示例的,假设输入文本为“张三出生于沈阳,位于辽宁”,构建的实体对为<张三,辽宁>,相应的,标签化处理后的实体对为<per_sub,loc_obj>,则将输入文本中识别出的实体替换为标签后,得到的新的样本为“per_sub出生于沈阳,位于loc_obj”。步骤s305:通过分类模型对所得到的新的样本进行分类处理,得到所构建的候选实体对的关系,并输出由所述候选实体对以及所述关系构成的三元组。参见图5a,图5a是本发明实施例提供的文本的实体关系抽取方法的一个可选的流程示意图,在一些实施例中,图3示出的步骤s305可以通过图5a示出的步骤s3051a至步骤s3052a实现,将结合各步骤进行说明。步骤s3051a:通过分类模型对所得到的新的样本进行分类处理,得到所述新的样本在所述类别约束表中各个关系类别的得分。在执行步骤s304后,得到了新的样本,则本步骤是利用已经训练好的分类模型对所得到的新的样本进行分类处理,以得到所述新的样本在预先设置的类别约束表中各个关系类别的得分。关系分类是一个监督学习任务,训练阶段主要包括训练数据的构建以及训练模型两个部分。其中,训练数据的构建与上述标签化处理以及回标样本的步骤保持一致。在已知输入文本中的三元组后,通过这些已知的三元组可以构建出关系分类的正样本。当然,在分类任务中,负样本的设置同样重要,不然最终结果容易过召回。将训练数据的文本通过实体识别处理、以及候选实体对构建处理后,可以提取出训练数据的文本中的候选实体对,对得到的候选实体对进行判断,如果在已知三元组中,那么就为正样本,则预测标签就是所述候选实体对的关系;如果不在已知三元组中,那么就为负样本,则相应的预测标签为“none”。示例的,假设训练数据的文本为“李四出生于沈阳,位于辽宁”,已知的三元组为<李四,出生于,沈阳>和<沈阳,位于,辽宁>。对训练数据的文本执行实体识别和候选实体对构建后,得到的候选实体对为<李四,沈阳>、<李四,辽宁>、<沈阳,辽宁>、以及<辽宁,沈阳>。其中,候选实体对<李四,沈阳>和<沈阳,辽宁>在已知三元组中,则其对应的预测标签就是候选实体对间的关系;而候选实体对<李四,辽宁>和<辽宁,沈阳>不在已知的三元组中,则这两个候选实体对间的关系为“none”,也就是说,候选实体对中的两个实体间没有关联。在训练好分类模型后,利用已训练好的分类模型对所得到的新的样本进行分类处理,以得到所述新的样本在已设置的类别约束表中各个关系类别的得分。示例的,假设输入文本为“张三的儿子是张小三”,则经过步骤s301至步骤s304后,得到的新的样本为“per_sub的儿子是per_obj”。另外,当主语和宾语均为人名时,构建的类别约束表中,谓语类别集合为“父亲、母亲、丈夫、妻子、儿子、女儿”,则利用分类模型计算样本“per_sub的儿子是per_obj”分别属于父亲、母亲、丈夫、妻子、儿子、女儿的得分。在一些实施例中,可以使用基于卷积神经网络或者长短时记忆网络的分类模型对所得到的新的样本进行分类处理,本发明实施例在此不再赘述。步骤s3052a:将所述约束表中各个关系类别的得分进行降序排序,将所述降序排序得分最高的关系类别作为对应候选实体对的关系。在一些实施例中,在得到类别约束表中各个关系类别的得分之后,将所述类别约束表中各个关系类别的得分进行从大到小的降序排序,将得分最高的关系类别作为对应候选实体对的关系,并输出由所述候选实体对以及所述关系构成的三元组。示例的,假设输入文本为“张三的儿子是张小三”,相应的回标样本为“per_sub的儿子是per_obj”。利用分类模型得到回标样本“per_sub的儿子是per_obj”属于父亲、母亲、儿子、女儿的得分分别是60%、56%、85%、67%,则选择得分最高的儿子作为候选实体对<张三,张小三>的关系,输出三元组<张三,儿子,张小三>。在另一些实施例中,在得到类别约束表中各个关系类别的得分之后,也可以首先将预测标签为“none”的候选实体对丢弃,然后根据不同类别设置不同的得分阈值,从而过滤掉概率较低的标签,以得到最终的三元组。参见图5b,图5b是本发明实施例提供的文本的实体关系抽取方法的一个可选的流程示意图,在另一些实施例中,图3示出的步骤s305还可以通过图5b示出的步骤s3051b至步骤s3052b实现,将结合各步骤进行说明。步骤s3051b:选取所述降序排序得分最高的前n个关系类别,其中,n为大于1的整数。步骤s3052b:确定所述前n个关系类别的得分之间的差值,当所述差值小于差值阈值时,将所述前n个关系类别均作为对应候选实体对的关系。在一些实施例中,候选实体对的两个实体间的关系可能不是唯一的,例如:张三和李四既是兄弟关系,又是同事关系。因此,在确定候选实体对的关系时可以不单单只选取得分最高的关系类别作为候选实体对的关系,也可以选取降序排序中得分最高的前n个关系类别,且当所述前n个关系类别的得分之间的差值小于差值阈值时,将所述前n个关系类别均作为对应候选实体对的关系,如此,候选实体对间的关系可以多样化,进一步保证了候选实体对间关系的全面性。下面继续说明本发明实施例提供的文本的实体关系抽取装置255的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器250的文本的实体关系抽取装置255中的软件模块可以包括:识别模块2551,用于对输入文本进行识别处理,得到所述输入文本中的实体、以及所述实体所属的类别;构建模块2552,用于对基于类别约束条件遍历所述实体,以基于满足类别约束条件的候选实体构建候选实体对;处理模块2553,用于根据每个所述候选实体对中实体所属的类别,将所构建的候选实体对进行标签化处理;替换模块2554,用于基于标签化处理的候选实体对,将所述输入文本中识别出的实体替换为标签,以得到新的样本;分类模块2555,用于通过分类模型对所得到的新的样本进行分类处理,得到所构建的候选实体对的关系,并输出由所述候选实体对以及所述关系构成的三元组。在一些实施例中,所述识别模块2551,还用于对输入文本进行基于序列标注的识别处理,得到所述输入文本中的命名实体、以及所述命名实体所属的类别;以及,还用于对输入本文进行基于规则模板的识别处理,得到所述输入文本中具有规则特征的实体、以及所述具有规制特征的实体所属的类别;以及,还用于对输入文本进行基于词典匹配的识别处理,得到所述输入文本中封闭集合的实体,以及所述封闭集合的实体所属的类别。在一些实施例中,所述识别模块2551,还用于对应不同的实体类别分别预训练多个序列标注模型;利用所述多个序列标注模型分别对输入文本进行识别处理,得到所述输入文本中的实体、以及所述实体所属的类别。在一些实施例中,所述构建模块2552,还用于预先设置三元组中每个元素的类别约束条件,得到类别约束表;根据所述类别约束表,遍历所述实体构成的实体集合,以从所述实体集合中选取满足类别约束条件的两个实体组成候选实体对;根据所组成的候选实体对形成候选实体对集合。在一些实施例中,所述分类模块2555,还用于通过基于卷积神经网络或者长短时记忆网络的分类模型,对所得到的新的样本进行分类处理,以得到所述样本在所述类别约束表中各个关系类别的得分。在一些实施例中,所述处理模块2553,用于设置由已知三元组构建的关系分类的正样本、以及由不在已知三元组构建的关系分类的负样本;基于所述正样本和所述负样本训练初始化的所述分类模型。在一些实施例中,所述分类模块2555,还用于通过分类模型对所得到的新的样本进行分类处理,得到所述新的样本在所述类别约束表中各个关系类别的得分;将所述约束表中各个关系类别的得分进行降序排序,将所述降序排序得分最高的关系类别作为对应候选实体对的关系。在一些实施例中,所述处理模块2553,还用于选取所述降序排序得分最高的前n个关系类别,其中,n为大于1的整数;确定所述前n个关系类别的得分之间的差值,当所述差值小于差值阈值时,将所述前n个关系类别均作为对应候选实体对的关系。需要说明的是,对于本发明实施例提供的文本的实体关系抽取装置中未尽的技术细节,可以根据图3、4、5a、5b、6、8任一附图的说明而理解。下面,将说明本发明实施例在一个实际的应用场景中的示例性应用。相关技术在进行三元组关系抽取时通常采用:关系分类方法、序列标注方法、或者序列标注和关系分类结合的方法。其中,关系分类方法主要是利用深度学习模型对句子进行建模,默认句子中的候选实体都已经标记出,只需进行分类。然而,在实际任务中,需要抽取系统自动发现句子中的候选实体,并进行关系判别。因此,关系分类方法不适合实际的应用。序列标注方法对于复杂的句子(例如:句子中包含多个mention),进行谓语判断时就会十分困难,尤其是当一个mention可能构成多个三元组时,抽取效果就会变得很差。序列标注和关系分类结合的方法存在效率差的缺点。举例来说,如果schema中有100种谓语关系,那么在识别宾语的时候就需要进行100次的分类。此外,序列标注和关系分类结合的方法对主语的识别要求较高,不然会产生误差传递,如果句子中含有多个主语,那么将导致所述方法的效果不佳。针对相关技术在进行schema约束下的三元组抽取任务时,存在无法较好地解决实际文本中多谓语关系出现的情况,即出现多个三元组,同时抽取的效率较差、以及无法满足schema中谓语关系较多的需求,本发明实施例提供了一种基于mention识别和谓语关系分类相结合的方案,在预先设置的schema约束下,先进行mention识别,然后进行谓语关系的分类,从而抽取出句子中的三元组。参见图6,图6是本发明实施例提供的文本的实体关系抽取方法的一个可选的流程示意图。如图6所示,所述方法主要包括:mention识别、有效实体对的构建、谓语关系分类以及三元组输出四个阶段。下面针对每个阶段进行详细说明。1)mention识别mention通常包括命名实体,如人名、地名、机构名等,也包括一些普通名词,例如民族、语言等对应的信息。此外,三元组中的谓语通常包括一些基础属性,例如身高、面积等,因此,需要识别出更多类型的mention。基于此,可以通过一个通用的序列标注模型来识别命名实体,以保证这些相对重要的mention的准确率。同时采用规则加词典相结合的方式,来提高识别mention的类别数据。序列标注模型可采用长短时记忆单元(lstm,longshort-termmemory)与条件随机场(crf,conditionalrandomfield)相结合的模型,采用该模型就可以取得较好的识别效果。参见图7,图7是相关技术提供的序列标注模型的示意图。如图7所示,序列标注模型可分为wordembedding层、bi-lstm层、以及crf层三部分。具体的,wordembedding层将输入文本中的每一个单词利用预先训练好的单词向量进行向量化,作为bi-lstm层的输入。bi-lstm层利用一个双向的lstm对输入的序列进行特征提取。这里之所以使用双向的lstm是因为双向的lstm可以对输入的序列进行正向和逆向的遍历,以提取出更多的特征信息。将经过bi-lstm层提取到的特征作为输入,利用crf从这些特征中计算出序列中每一个单词的标签。规则识别模型主要采用正则表达式作为模板,可识别出输入文本中规则特征较为明显的mention。词典匹配的方法可以识别集合相对较为封闭的mention,例如国家、语言等mention。经过上述三种方法识别出的mention均具有类别的信息。例如序列标注模型识别出的mention类别为人名、地名、机构名等;规则识别模型识别出的mention类别为数字、时间等;词典匹配方法识别出的mention类别为国家、语言等。给识别出的mention赋予类别是为了更好地对mention之间的关系进行分类。在一些实施例中,为了保证识别出的mention的准确率,可以不采用规则模板和词典匹配等不考虑语义的方案。而是根据mention类别,多训练几个序列标注模型。2)有效实体对的构建在mention识别步骤中,输入文本中的mention通过序列标注方法、规则模板方法和词典匹配方法被识别出来。在本步骤中,根据预先设置的schema中对三元组每个元素的类别约束,对识别出来的mention构建有效实体对。参见表2,表2给出了本发明实施例提供的schema中主语、谓语、以及宾语的类别限制示例。如表1所示,mention的类型只包括人名和地名。假设输入文本为“王小明出生于新界,位于香港”,通过mention识别步骤,识别出的mention包括“王小明/人名”、“新界/地名”和“香港/地名”。查阅表2的schema约束,得到的候选有效实体对为<王小明,?,新界>、<王小明,?,香港>、<新界,?,香港>和<香港,?,新界>共四条,其中,“?”代表要识别的谓语关系。主语类别宾语类别谓语类型人名地名出生地、国籍人名人名父母、配偶、子女......地名地名位于表23)谓语关系分类在得到候选有效实体对之后,需要对所得到的有效实体对进行分类,以确定其对应的谓语类型。参见图8,图8是本发明实施例提供的谓语关系分类的流程示意图。如图8所示,谓语关系分类的步骤包括:根据得到的有效实体对以及其中主语和宾语对应的mention类别,将有效实体对进行标签化,然后将标签替换为原始输入文本中的mention,从而得到新的预测样本。利用已经训练好的分类模型进行预测,对各个类别的预测概率进行从大到小的排序,寻找schema限制中第一个有效的谓语类型,得到最终的预测结果和预测概率。谓语关系分类是一个监督学习任务,训练阶段主要包括训练数据的构建和训练模型两个部分。训练数据的构建与上述的标签化以及回标样本步骤保持一致。当已知输入文本中的三元组时,通过这些三元组可以构建出关系分类的正样本。但是,在分类任务中,负样本的设置同样重要,不然最终的结果容易过召回。将训练数据的输入文本通过mention识别步骤和有效实体对的构建步骤提取出有效实体对,对提取出的有效实体对进行判断,如果在已知的三元组中,则作为正样本,预测标签就是有效实体对对应的谓语关系;如果不在已知的三元组中,则作为负样本,预测标签为“none”。参见表3,表3给出了训练数据文本为“王小明出生于新界,位于香港”,已知三元组为“<王小明,出生于,新界>”、“<新界,位于,香港>”的数据处理及负样本构建示例。文本中的有效实体对为4条,但是只有2条在已知三元组中,将剩余的两条视作负样本,标记类别为“none”。训练的模型可以采用卷积神经网络(cnn)、长短时记忆网络(lstm)等深度学习模型。表34)三元组输出经过谓语关系分类模块,得到了输入文本中的有效实体对及其预测的标签,首先将预测结果为“none”的实体对去掉,然后可以根据不同类别设置不同的得分阈值,过滤掉概率较低的标签,从而得到最终的三元组集合。在另一些实施例中,也可以选取得分最高的前n个关系类别,计算所述前n个关系类别对应的得分之间的差值,当所述差值小于一定的阈值时,将所述n个关系类别均保留下来,如此,一对mention可以拥有多种关系。本发明实施例提供的文本的实体关系抽取方法,首先对输入文本中的所有mention进行识别,对识别出的mention在schema约束下构建有效实体对,接着将所构建的有效实体对进行标签化处理得到新的样本,随后经过分类模型的预测得到得分最高的有效关系,最终得到句子中的所有三元组。如此,分类的次数仅依赖于构建的有效实体对的数量,相较于其他方法,其文本的实体关系抽取的效率较高。本发明实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本发明实施例提供的文本的实体关系抽取方法,例如,如图3、4、5a、5b、6和8任一附图示出的方法。在一些实施例中,存储介质可以是fram、rom、prom、eprom、eeprom、闪存、磁表面存储器、光盘、或cd-rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备。在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(html,hypertextmarkuplanguage)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。综上所述,通过本发明实施例具有以下有益效果:通过对输入文本中识别出的实体在预先设置的类别约束条件下构建候选实体对,对所构建的候选实体对进行标签化处理,并通过分类模型得到所述候选实体对的关系,从而可以输出由所述候选实体对以及所述关系构成的三元组。如此,分类的次数仅依赖于所构建的候选实体对的数量,有效提高了文本的实体关系抽取的效率。此外,同时设置由已知三元组构建的关系分类的正样本、以及由不在已知三元组构建的关系分类的负样本,利用所述正样本和所述负样本训练分类模型,提高了召回率。以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1