信息抽取方法及装置、设备、计算机可读存储介质与流程

文档序号:22916163发布日期:2020-11-13 15:57阅读:145来源:国知局
信息抽取方法及装置、设备、计算机可读存储介质与流程

本申请涉及人工智能技术领域,具体涉及一种信息抽取方法及装置、设备和计算机可读存储介质。



背景技术:

随着人工智能技术研究和进步,人工智能技术已在多个领域展开研究和应用,例如在常见的智能家居、智能穿戴设备、虚拟助理、自动驾驶、无人机、机器人、智能客服等领域,人工智能技术发挥着越来越重要的价值。例如在信息抽取领域,利用人工智能技术可以很方便地将嵌入在文本中的非结构化信息自动提取为形如<头实体,实体关系,尾实体>的结构化信息。

目前,常用的结构化信息抽取过程为:先抽取出文本中的所有实体,然后遍历所有实体对<实体1,实体2>,并预测所有实体对中是否存在实体关系以及存在哪种实体关系,最后将存在实体关系的实体对所含有的实体1和实体2分别作为头实体和尾实体,并基于二者实体之间的实体关系得到结构化信息。但是,在这种信息抽取方式中,如果头实体或者尾实体中的任意一个实体抽取错误,就会导致后续预测到错误的实体关系,从而导致抽取的结构化信息的准确性不高。

由此,亟待解决现有的结构化信息抽取技术中无法抽取得到准确性较高的结构化信息的技术问题。



技术实现要素:

为解决上述技术问题,本申请的实施例提供一种信息抽取方法及装置、设备、计算机可读存储介质,用以提升对于非结构化文本进行结构化信息的抽取质量。

其中,本申请所采用的技术方案为:

一种信息抽取方法,包括:根据预设的实体类型抽取非结构化文本中含有的头实体;对所述非结构化文本中含有的头实体进行关系分类处理,获得所述非结构化文本中含有的与所述头实体对应的实体关系;根据所述头实体和所述头实体对应的实体关系构建实体关系问题;在所述非结构化文本中抽取尾实体,所述尾实体与所述实体关系问题中的头实体以及实体关系相对应,并基于所述实体关系问题中的头实体及实体关系、以及所述尾实体得到所述非结构化文本所含有的结构化信息。

一种信息抽取装置,包括:头实体抽取模块,用于根据预设的实体类型抽取非结构化文本中含有的头实体;实体关系抽取模块,用于对所述非结构化文本中含有的头实体进行关系分类处理,获得所述非结构化文本中含有的与所述头实体对应的实体关系;关系问题构建模块,用于根据所述头实体和所述头实体对应的实体关系构建实体关系问题;尾实体抽取模块,用于在所述非结构化文本中抽取尾实体,所述尾实体与所述实体关系问题中的头实体以及实体关系相对应,并基于所述实体关系问题中的头实体及实体关系、以及所述尾实体得到所述非结构化文本所含有的结构化信息。

一种信息抽取设备,包括处理器及存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如上所述的信息抽取方法。

一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行如上所述的信息抽取方法。

在上述技术方案中,非结构化文本中含有的头实体是根据预设的实体类型抽取得到的,因此可以准确地得到非结构化文本中的头实体,而实体关系是对非结构化文本中含有的头实体进行关系分类处理得到的,并且非结构化文本中含有的尾实体是基于头实体和对应的实体关系抽取得到的,丰富了实体关系以及尾实体抽取时所依赖的特征信息,使得本申请抽取的与头实体对应的实体关系和尾实体也是准确的,由此能够提升结构化信息抽取的准确性,得到质量较高的结构化信息。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1是本申请涉及的一种实施环境的示意图;

图2是根据一示例性实施例示出的一种信息抽取模型的结构示意图;

图3是图2所示信息抽取模型执行结构化文本所含有结构化信息的抽取过程的流程图;

图4是根据另一示例性实施例示出的一种信息抽取模型的结构示意图;

图5是根据一示例性实施例示出的一种信息抽取方法的流程图;

图6是根据一实施例实施例示出的抽取非结构化文本中含有的头实体的过程示意图;

图7是根据一实施例实施例示出的抽取非结构化文本中的头实体所对应实体关系的过程示意图;

图8是根据一实施例实施例示出的抽取非结构化文本中与实体关系文本中的头以及实体关系相对应的尾实体的过程示意图;

图9是根据另一示例性实施例示出的一种信息抽取方法的流程图;

图10是一示例性的模型训练界面所含有的模型创建子界面的示意图;

图11是一示例性的模型训练界面所含有的模型版本创建子界面的示意图;

图12是一示例性的模型训练界面所含有的训练展示子界面的示意图;

图13是根据另一示例性实施例示出的一种信息抽取方法的流程图;

图14是根据一示例性实施例示出的一种信息抽取装置的框图;

图15是根据一示例性实施例示出的一种信息抽取设备的结构示意图。

具体实施方式

这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。

在本申请的描述中,除非另有说明,“多个”的含义是至少两个。

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

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

例如,自然语言处理(naturelanguageprocessing,nlp)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法,因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括非结构化文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。

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

本申请提出的信息抽取方法及装置、设备以及计算机可读存续介质涉及人工智能领域中的非结构化文本处理领域,以下将通过具体的实施例对这些方法、装置、设备和计算机可读存储介质进行详细说明。

请参阅图1,图1是本申请涉及的一种实施环境的示意图。

该实施环境具体为信息抽取模型的训练及应用系统,如图1所示,该系统包括模型训练客户端10、模型应用客户端20和服务器30,模型训练客户端10和模型应用客户端20分别与服务器30之间通过有线或者无线网络进行通信。

服务器30中部署有用于对非结构化文本进行信息抽取的信息抽取模型,以得到非结构化文本所含有的结构化信息。模型训练客户端10用于向服务器30发送模型训练指令参数和模型训练数据,以使得服务器30基于模型训练客户端10发送的模型训练指令参数和模型训练数据对信息抽取模型进行训练。模型应用客户端20用于向服务器30发送接口调用请求,以请求服务器30抽取目标文本所含有的形如<头实体,实体关系,尾实体>的结构化信息之后,将抽取得到的结构化信息返回给模型应用客户端20。

在本实施环境中,模型训练客户端10和模型应用客户端20运行在同一终端中,或者运行在不同的终端中,例如运行在智能手机、平板、笔记本电脑、计算机等电子设备中,本处不对此进行限制。服务器30可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(contentdeliverynetwork,内容分发网络)以及大数据和人工智能平台等基础云计算服务的云服务器,本处也不对此进行限制。

图2是根据一示例性实施例示出的一种信息抽取模型的结构示意图。该信息抽取模型可以具体部署在图1所示实施环境中的服务器30上,用于抽取非结构化文本所含有的形如<头实体,实体关系,尾实体>的结构化信息。

如图2所示,该示例性的信息抽取模型包括特征向量提取模型31、头实体分类模型32、关系分类模型33和尾实体分类模型34。

其中,头实体分类模型32是用于抽取非结构化文本中含有的头实体的专用模型,关系分类模型33是用于抽取非结构化文本中的头实体所含有的实体关系的专用模型,尾实体分类模型34是用于抽取非结构化文本中含有的尾实体的专用模型,特征向量提取模型31则为头实体分类模型32、关系分类模型33和尾实体分类模型34之间所共享的模型。各个专用模型之间对于特征向量提取模型31的共享,可以理解为是各个专用模型需要根据特征向量提取模型31的输出信号执行自身功能。

特征向量提取模型31用于提取输入文本中含有的各个字符所对应的特征向量,以得到输入文本对应的特征向量序列。其中,输入文本是非结构化文本和补充信息拼接得到的文本,补充信息位于非结构化文本之后,并且还在非结构化文本的开始位置添加有第一指定字符“cls”,在非结构化文本和补充信息之间的拼接位置、以及补充信息的结束位置添加有第二指定字符“sep”。

并且,在抽取非结构化文本所含有的结构化信息的不同阶段,输入文本中拼接的补充信息是不同的。例如,在抽取非结构化文本中含有的头实体,以及提取非结构化文本中的实体所对应的实体关系的阶段,输入文本为基于非结构化文本和实体类型名称进行拼接得到的类型拼接文本,特征向量提取模型31的输出信息是由类型拼接文本中的各个字符对应的特征向量所组成的特征向量序列。又例如,在抽取非结构化文本中含有的尾实体的阶段,输入文本为基于非结构化文本和实体关系问题拼接得到的问题拼接文本,特征向量提取模型31的输出信号则是与问题拼接文本相对应的特征向量序列。其中,实体关系问题是基于非结构化文本中的头实体以及头实体对应的实体关系构建得到的。

需要理解的是,补充信息是为了引导将要从非结构化文本中进行抽取的内容,以提升结构化信息抽取的准确性。例如,类型拼接文本将实体类型名称作为补充信息,以基于此补充信息准确地得到非结构化文本中含有的与实体类型名称相对应的头实体。问题拼接文本将实体关系问题作为补充信息,以基于此补充信息准确地得到非结构化文本中含有的与实体关系问题相对应的答案,此答案即作为与实体关系问题中的头实体以及实体关系相对应的尾实体。

图3是图2所示信息抽取模型执行结构化文本所含有结构化信息的抽取过程的流程图。根据图3所示步骤10至步骤60描述的,先由特征向量提取模型31提取类型拼接文本对应的特征向量序列,再由实体分类模型32对特征向量提取模型31输出的类型拼接文本所对应特征向量序列进行类型识别处理,得到非结构化文本中与类型拼接文本所含有的类型名称相对应的头实体。示例性的,实体分类模型32针对类型拼接文本所对应的特征向量序列中的各个特征向量预测所属的字符类型,其中字符类型可以是“b1”(表示头实体的起始字符)、“i1”(表示头实体的中间字符)、“e1”(表示头实体的结尾字符)、“o1”(表示非头实体的字符)中的任一种,“b1i1e1”所对应的字符组合即为非结构化文本中含有的与类型拼接文本中的实体类型名称相对应的头实体。

关系分类模型33根据头实体分类模型32的识别得到的头实体信息确定头实体对应的局部特征向量,并预测该局部特征向量所属的实体关系,将预测到的实体关系作为头实体对应的实体关系。其中,头实体信息可以是类型拼接文本对应的特征向量序列中各个特征向量所属的字符类型,局部特征向量可以特征向量提取模型31针对相应类型拼接文本所输出的特征向量序列中,与头实体的起始字符“b1”相对应的特征向量,也可以是头实体的起始字符“b1”、中间字符“i1”以及结尾字符“o1”分别对应的特征向量之和,还可以是头实体的起始字符“b1”、中间字符“i1”以及结尾字符“o1”分别对应的特征向量之和的平均向量,本处不进行限制。

关系分类模型33所识别得到的头实体对应的实体关系可以是非结构化文本中含有的直接实体关系,或者是非结构化文本中含有的间接实体关系。示例性的,如果关系分类模型33所识别得到的头实体对应的实体关系为非结构化文本中确定含有的词语或者句子,则表示该实体关系为直接实体关系。而如果关系分类模型33所识别得到的头实体对应的实体关系可以通过非结构化文本中确定含有的词语或者句子推导得到,该实体关系即为间接实体关系。

基于以上过程,即可得到非结构化文本中含有的各个头实体,以及各个头实体对应的实体关系。为了进一步抽取非结构化文本中含有的与各个头实体之间具有对应实体关系的尾实体,还需要将各个头实体以及对应实体关系组成实体关系问题,并将实体关系问题与非结构化文本拼接为问题拼接文本,并通过特征向量提取模型31提取问题拼接文本对应的特征向量序列。

尾实体分类型34对特征向量提取模型31输出的问题拼接文本所对应的特征向量序列进行类型识别处理,得到非结构化文本中与问题拼接文本所含有的实体关系问题相对应的尾实体。示例性的,尾实体分类型34也可以用于预测问题拼接文本对应的特征向量序列中的各个特征向量预测其所属的字符类型,其中字符类型包括“b2”(表示尾实体的起始字符)、“i2”(表示尾实体的中间字符)、“e2”(表示尾实体的结尾字符)、“o2”(表示非尾实体的字符)中的任一种,“b2i2e2”所对应的字符组合即为非结构化文本中含有的与实体关系问题相对应的尾实体。其中,尾实体与实体关系问题相对应具体是指尾实体与实体关系问题中的头实体以及实体关系相对应。

由此,尾实体分类模型34所得到尾实体实际上是头实体与头实体关系所组成实体关系问题的答案,基于信息抽取模型所抽取得到的头实体、头实体对应的实体关系、与头实体和头实体关系所组成实体关系问题相对应的尾实体,则可以得到非结构化文本中含有的形如<头实体,实体关系,尾实体>的结构化信息。

由此可以得出,图2所示信息抽取模型中的各个专用模型依赖于特征向量提取模型31针对类型拼接文本或者问题拼接文本进行特征向量提取所得到的特征向量序列,由此能够增强头实体抽取、头实体所对应实体关系的获取、以及尾实体抽取之间的相互促进,能够提升非结构化文本所含有结构化信息的抽取准确性。

需要说明的是,在图2所示的信息抽取模型中,特征向量提取模型31具体可以采用bert(bidirectionalencoderrepresentationfromtransformers)、gpt(generativepre-training)、elmo(embeddingsfromlanguagemodels)、albert(alitebert)等模型,头实体分类模型32、关系分类模型33以及尾实体分类模型34可以采用支持向量机(supportvectormachine,svm)或者感知机(perceptron)等模型,本处不对此进行限制。

并且在对图2所示的信息抽取模型进行训练时,可以基于特征向量提取模型31的输出信号分别对各个专用模型进行训练,根据训练结果,同时更新相应专用模型中的模型参数以及特征向量提取模型31中的模型参数。例如,可以将针对各个专用模型的训练过程各自作为一个子任务,并基于各个子任务各自训练的结果对相应的专用模型以及各个子任务之间共享的模型进行模型参数更新,由此建立不同子任务之间的相互促进,从而提升整个信息抽取模型的信息抽取效果。

整个信息抽取模型的训练损失值由各个专用模型进行训练的结果确定,例如信息抽取模型的训练损失值的计算公式如下:

l总=l头实体+l实体关系+l尾实体

其中,“l总”表示信息抽取模型的训练损失值,“l头实体”表示针对头实体抽取模型32进行训练所得到的训练损失值,“l实体关系”表示针对关系分类模型33进行训练所得到的训练损失值,“l尾实体”表示针对尾实体分类模型34进行训练所得到的训练损失值。各个专用模型进行训练的训练损失值可以是根据各个专用模型的训练结果进行交叉熵计算所得到的结果。

可以看出,信息抽取模型的训练损失值为各个专用模型所对应的损失值之和。当信息抽取模型的训练损失值小于预设的损失阈值时,则可以结束训练各个专用模型。

在另外的实施例中,在对关系分类模型33进行训练时,可以分别使用头实体所对应的局部特征向量以及全局特征向量进行训练,以使得关系分类模型33对文本的整体性把握更强,进而使得关系分类模型33进行关系分类的结果更准确。

其中,头实体对应的全局特征向量中含有头实体所在文本的全局信息,因此全局特征向量可以是字符“cls”或者字符“sep”对应的特征向量,由于这些字符不具有任何含义,因此这些字符对应的特征向量中仅含有文本的全局信息,有利于关系分类模型33基于文本的全局信息来识别头实体所对应的实体关系,从而提升实体关系识别的准确性。因此,信息抽取模型的训练损失值的计算公式也可以表示如下:

l总=l头实体+(l实体关系-局部+l实体关系-全局)+l尾实体

其中,“l实体关系-局部”表示关系分类模型33基于头实体对应的局部特征向量进行训练所得到的训练损失值,“l实体关系-全局”则表示关系分类模型33基于头实体对应的全局特征向量进行训练所得到的训练损失值。

还需要说明的是,在其它的实施例中,信息抽取模型中每个专用模型之间也可以不共享同一个特征向量提取模型,也即是说,信息抽取模型中的每个专用模型均配置有相应的特征向量提取模型,以分别提取各自所关联的各个专用模型所需的特征向量序列。在对各个专用模型进行训练时,相应更新各个专用模型以及专用模型所关联的特征向量提取模型即可。

或者,考虑到关系分类模型33需要基于头实体分类模型32识别的字符类型来确定头实体的局部特征向量,因此在另外的实施例中,如图4所示,头实体分类模型32和关系分类模型33之间可以通过同一特征向量提取模型对类型拼接文本中的各个字符进行特征向量的提取。在对分别对头实体分类模型32和关系分类模型33进行训练时,相应更新头实体分类模型32和关系分类模型33中的模型参数,以及更新头实体分类模型32和关系分类模型33之间所共享的特征向量提取模型中的模型参数。

图5是根据一示例性实施例示出的一种信息抽取方法的流程图,该方法可以由前述实施例中提出的信息抽取模型具体执行,因此,该方法也可以由图1所示实施环境中的服务器30具体执行。

如图5所示,在一示例性的实施例中,该方法至少包括如下步骤:

步骤310,根据预设的实体类型抽取非结构化文本中含有的头实体。

首先需要说明的是,在本实施例中,对非结构化文本进行头实体抽取可以是基于前述实施例提供的信息抽取模型中含有的特征向量提取模型和头实体分类模型实现的。

本实施例提供有预设的实体类型名称库,实体类型名称库中含有多个实体类型名称,每个实体类型名称分别对应一种实体类型,例如实体类型名称可以包括地点、人物等。

预设的多个实体类型名称用于在非结构化文本中进行实体类型名称所对应头实体的提取。在一个实施例中,如图6所示,将实体类型名称拼接文本之后,并在非结构化文本的起始位置添加第一指定字符“cls”,还在实体类型名称的结束位置、以及非结构化文本与实体类型名称之间的拼接位置添加第二指定字符“sep”,由此得到类型拼接文本。将类型拼接文本作为输入信号输入至特征向量提取模型中,以使得特征向量提取模型对类型拼接文本中的各个字符进行特征向量提取,得到由各个字符对应的特征向量所组成的特征向量序列。其中,类型拼接文本中的各个字符不仅包括非结构化文本以及实体类型名称中的各个字符,还包括第一指定字符“cls”以及第二指定字符“sep”。

并且,特征向量提取模型对类型拼接文本中的各个字符进行特征向量求提取时,需考虑类型拼接文本的上下文信息,因此特征向量提取模型针对各个字符所提取的特征向量中含有类型拼接文本中其它字符的特征信息。例如,特征向量提取模型中设有lstm(longshort-termmemory,长短期记忆网络)模型进行各个字符所对应特征向量,或者设有含有自注意力机制的网络模型以对类型拼接文本中的各个字符进行特征向量提取。

特征向量提取模型输出的类型拼接文本对应的特征向量序列还输入头实体分类模型中,以使得头实体分类模型对类型拼接文本对应的特征向量序列进行类型识别处理,得到非结构化文本中含有的头实体。示例性的,头实体分类模型预测类型拼接文本对应的特征向量序列中的各个特征向量所属的字符类型,字符类型可以是“b1”(表示头实体的起始字符)、“i1”(表示头实体的中间字符)、“e1”(表示头实体的结尾字符)、“o1”(表示非头实体的字符)中的任一种,将非结构化文本中与“b1”、“i1”和“e1”字符类型分别对应的各个目标字符依次组合所得到的字符组合即为非结构化文本中含有的头实体。也即,“b1i1e1”所对应的字符组合即为非结构化文本中含有的头实体。

在类型拼接文本中,实体类型名称作为补充信息使得类型拼接文本中的各个字符所对应特征向量中将含有补充信息相关的特征信息,因此在头实体分类模型对类型拼接文本中的各个字符所对应特征向量进行字符类型识别时,能够基于补充信息相关的特征信息对各个特征向量所属的字符类型进行准确识别,由此准确地获得非结构化文本中作为补充信息的实体类型名称相对应的头实体。

示例性的,假设非结构化文本为“#######,简称“**”,成立于1949年10月1日”,当抽取实体类型为“地点”的头实体时,类型拼接文本为“[cls]#######,简称“**”,成立于1949年10月1日[sep]地点[sep]”,头实体分类模型则可将“#######”中的首字符对应的特征向量预测字符类型“b1”,将尾字符对应的特征向量预测为字符类型“e1”,将其余的中间字符对应的特征向量预测为字符类型“i1”,并且将“**”中的首尾字符对应的特征向量分别预测为字符类型“b1”和字符类型“e1”。由此,所得到的头实体“#######”以及“**”即与实体类型“地点”相对应。

基于以上过程,即可针对实体类型名称库中含有的多个实体类型名称逐一在非结构化文本中进行各个实体类型名称对应的头实体的提取。因此在本实施例中,可以逐类别地抽取不同实体类型所对应的头实体,得到非结构化文本中含有的头实体集合。

在另外的实施例中,也可以将多个实体类型名称作为补充信息拼接在类型拼接文本中,以同时得到非结构化文本中含有的分别对应于不同实体类型的头实体,以提升头实体提取的效率,本实施例不对此进行限制。

步骤330,对非结构化文本中含有的头实体进行关系分类处理,获得非结构化文本中含有的与头实体对应的实体关系。

在本实施例中,对非结构化文本中含有的头实体进行关系分类处理是由信息抽取模型中的特征向量提取模型、头实体分类模型以及关系分类模型所共同实现的。其中,关系分类模型的输入信号来源于特征向量模型输出的类型拼接文本对应的特征向量序列,并且基于头实体分类模型的输出信号来确定特征向量序列中具体进行关系类型识别的特征向量。

如前所述的,实体分类模型是对类型分类文本对应的特征向量序列中的各个特征向量进行字符类型识别,因此实体分类模型的输出信号含有类型分类文本对应的特征向量序列中的各个特征向量所属的字符类型。根据实体分类模型的输出信号即可确定非结构化文本中含有的头实体,因此可以确定头实体所对应的局部特征向量,通过关系分类模型对头实体对应的局部特征向量进行关系类型识别,即可得到头实体对应的实体关系类型。

具体地,关系分类模型对输入的头实体的局部特征向量进行关系类型识别,得到该局部特征向量对应为每一种候选实体关系的分值。局部特征向量对应为每一种实体关系的分值用于表征头实体属于每一种候选实体关系的可能性大小,因此可以将分值大于分数阈值的候选实体关系确定为头实体所对应的实体关系。其中候选实体是关系分类模型中预设的,例如从语料库中提取得到,或者预先针对非结构化文本进行实体关系提取得到,因此关系分类模型识别到的头实体所对应的实体关系可以是非结构化文本中的直接实体关系或者间接实体关系。

如图7所示,可以将头实体的起始字符“b1”对应的特征向量作为头实体对应的局部特征向量,因此关系分类模型将对头实体中的起始字符“b1”对应的特征向量进行关系类型识别,以得到头实体对应于候选实体关系的分值。如果假设关系分类模型预测头实体对应于候选实体关系“别名”的分值为0.8,对应于候选实体关系“成立日期”的分值为0.76,对应于候选实体关系“首都”的分值为0.1,对应于候选实体关系“主体民族”的分值为0.01,预设的分数阈值为0.5,则确定头实体所对应的实体关系为“别名”以及“成立日期”。

在另外的实施例中,还可以将头实体的起始字符“b1”、中间字符“i1”以及结尾字符“e1”分别对应的特征向量之和作为头实体对应的局部特征向量,或者将头实体的起始字符“b1”、中间字符“i1”以及结尾字符“e1”分别对应的特征向量之和的平均向量作为头实体对应的局部特征向量,本处不对此进行限制。

步骤350,根据头实体和头实体对应的实体关系构建实体关系问题。

基于前述步骤310和步骤330,可以得到非结构化文本中含有的所有头实体以及各个头实体所对应的实体关系,因此可以将每个头实体与相应的实体关系组成为实体关系问题,以基于组合得到的实体关系问题,在非结构化文本中抽取与实体关系问题中含有的头实体以及实体关系相对应的尾实体,从而得到一组形如<头实体,实体关系,尾实体>的结构化信息。

实体关系组合依赖于问题模板,示例性的,可以预先收集每一种实体关系对应的问题模板,所得到的问题模板可以是“[头实体]的别名是什么”、“[头实体]的成立日期是什么时候”等。而在其它的实施例中,问题模板也可以是“[头实体]的[实体关系]是什么”,或者“[头实体];[实体关系]”,本实施例不对此进行限制。

因此,本实施例基于问题模板,可以根据头实体以及头实体对应的实体关系构建实体关系问题,例如在前述示例中,所得到的实体关系问题可以是“#######的别名是什么”、“#######的成立时间是什么时候”以及“**的成立时间是什么时候”等。

步骤370,在非结构化文本中抽取尾实体,所抽取的尾实体与实体关系问题中的头实体以及实体关系相对应,并基于实体关系问题中的头实体及实体关系、以及尾实体得到非结构化文本所含有的结构化信息。

在本实施例中,在非结构化文本中抽取与实体关系问题中的头实体以及实体关系相对应的尾实体,是基于信息抽取模型中的特征向量提取模型和尾实体分类模型实现。非结构化文本中与实体关系问题中的头实体以及实体关系相对应的尾实体,具体为实体关系问题的答案。

具体来说,如图8所示,首先需要将非结构化文本与步骤350中得到的实体关系问题进行拼接,以得到问题拼接文本。与前述类型拼接文本同理,可以将实体关系问题拼接在非结构化文本之后,并在非结构化文本的起始位置添加第一指定字符“cls”,还在实体关系问题的结束位置、以及非结构化文本与实体关系问题之间的拼接位置添加第二指定字符“sep”,由此得到问题拼接文本。将问题拼接文本作为输入信号输入至特征向量提取模型中,以使得特征向量提取模型对问题拼接文本中的各个字符进行特征向量提取,得到由各个字符对应的特征向量所组成的特征向量序列。

特征向量提取模型对问题拼接文本中的各个字符进行特征向量求提取时,仍需考虑类型拼接文本的上下文信息,因此特征向量提取模型针对各个字符所提取的特征向量中含有问题拼接文本中其它字符的特征信息。例如,特征向量提取模型针对各个字符所提取的特征向量可以是基于自注意力机制或者其它方式实现的。

尾实体分类模型则对问题拼接文本对应的特征向量序列进行类型识别处理,得到非结构化文本中含有的尾实体,并且所得到的尾实体与问题拼接文本中含有的实体关系问题中的头实体以及实体关系相对应。

示例性的,尾实体分类模型预测问题拼接文本对应的特征向量序列中的各个特征向量所属的字符类型,字符类型可以是“b2”(表示尾实体的起始字符)、“i2”(表示尾实体的中间字符)、“e2”(表示尾实体的结尾字符)、“o2”(表示非尾实体的字符)中的任一种,将非结构化文本中与“b2”、“i2”和“e2”字符类型分别对应的各个目标字符依次组合所得到的字符组合即为非结构化文本中含有的尾实体。也即,“b2i2e2”所对应的字符组合即为非结构化文本中含有的尾实体。

可以看出,在问题拼接文本中,实体关系问题作为补充信息使得问题拼接文本中的各个字符所对应特征向量中将含有补充信息相关的特征信息,因此在尾实体分类模型对问题拼接文本中的各个字符所对应特征向量进行字符类型识别时,能够基于补充信息相关的特征信息对各个特征向量所属的字符类型进行准确识别,由此准确地获得非结构化文本中作为补充信息的实体关系问题的答案,因此答案所对应的尾实体也是十分准确的。

示例性的,仍针对内容为“#######,简称“**”,成立于1949年10月1日”的非结构化文本,可以提取得到与实体关系问题“#######的别名是什么”的答案为“**”,与实体关系问题“#######的成立时间是什么时候”的答案为“1949年10月1日”,因此可以得到如下的结构化信息:

<#######,别名,**>;

<#######,成立时间,1949年10月1日>等。

需要理解为是,本处并未对此示例性的非结构化文本中含有的所有结构化信息进行一一描述,该非结构化文本中含有的其它结构化信息可以基于本实施例提供的方法详细获得,本处不进行赘述。

因此基于本实施例提供的方法,可以准确地得到非结构化文本中含有的头实体,并且相应得到各个头实体对应的实体关系。另外,本实施例还通过实体关系问题的方式在非结构化文本中抽取实体关系问题的答案,将答案作为非结构化文本中与实体关系问题中的头实体以及实体关系相对应的尾实体,保证了尾实体的准确性,因此最终所得到的结构化信息也是准确的。

在另一示例性的实施例中,如图9所示,在图5所描述方法的基础上,该信息抽取方法还包括如下步骤:

步骤410,确定用于抽取非结构化文本中所含有结构化信息的信息抽取模型。

如前所述的,信息抽取模型中含有特征向量提取模型、头实体分类模型、关系分类模型和尾实体分类模型,头实体分类模型为抽取非结构化文本中含有的头实体的专用模型,关系分类模型为抽取非结构化文本中的头实体所含有实体关系的专用模型,所述尾实体分类模型为抽取非结构化文本中含有的尾实体的专用模型,特征向量提取模型是各个专用模型之间所共享的模型。

其中,信息抽取模型中的各个专用模型的具体执行过程,以及特征向量提取模型的具体执行过程请具体参见前述实施例中对于信息抽取模型的模型结构的详细描述,本处不再进行赘述。

步骤430,基于特征向量提取模型分别对各个专用模型进行训练,并根据训练结果更新相应专用模型中的模型参数,以及更新各个专用模型之间所共享的特征向量提取模型中的模型参数。

其中,基于特征向量提取模型分别对各个专用模型进行训练,是将信息抽取模型进行结构化信息抽取的过程视为头实体识别、实体关系识别、尾实体识别三个子任务,并且每个子任务共享特征向量提取模型中的参数。在三个子任务各自进行训练时,既更新专用模型的模型参数,又更新子任务之间共享的特征向量提取模型的模型参数。

基于每个子任务进行训练的结果,可以计算各个专用模型所对应的训练损失值,并将各个专用模型所对应的训练损失值之和作为信息抽取模型的训练损失值。当各个专用模型所对应的训练损失值之和小于损失阈值时,表示信息抽取模型当前已经具有较好的效果,因此可以结束各个专用模型的训练,并将训练好的信息抽取模型用于进行实际的结构化信息抽取。

并且在一个实施例中,在对关系分类模型进行训练时,分别使用头实体所对应的局部特征向量以及全局特征向量进行训练,并将关系分类模型分别对局部特征向量以及全局特征向量进行训练的训练损失值之和作为关系分类模型进行当前训练的训练损失值。

在另外的实施例中,信息抽取方法还可以包括如下步骤:

获取模型训练指令参数以及模型训练数据,模型训练指令参数以及模型训练数据是根据模型训练界面中触发的信息选取指令确定的;

当接收到模型训练界面中触发的模型训练指令时,根据模型训练指令参数以及模型训练数据中含有的训练文本,启动对于各个专用模型的训练。

在本实施例中,模型训练界面是模型训练客户端所提供的客户端界面,用于对信息抽取模型进行训练控制。例如,模型训练客户端可以是图1所示实施环境中的模型训练客户端10。

请参阅图10和图11,其中图10是一示例性的模型训练界面所含有的模型创建子界面的示意图,图11是一示例性的模型训练界面所含有的模型版本创建子界面的示意图。具体地,模型创建子界面中设有模型信息设置入口,用以输入待训练的模型名称、训练框架、用户训练模型的训练数据集等模型训练数据。训练数据集是由若干非结构化的样本文本所组成的集合。模型版本创建子界面中设有版本信息设置入口,用以输入待训练的模型版本以及模型训练指令参数,例如,模型训练指令参数可以包括batch_size(一次训练所选取的样本数)、epochs(轮次)、max_len(可抽取文本的最大长度)、learning_rate(学习率)等。

当图10中的“创建模型”按钮及图11中的“创建版本”按钮被触发时,即可以视为模型训练界面中触发了信息选取指令,模型训练客户端则将图10和图11所示界面中输入的模型训练指令参数以及模型训练数据发送至加载有待训练的信息抽取模型的服务器中,使得服务器能够获取到这些模型训练指令参数以及模型训练数据。

模型训练界面中还可以设有用于触发信息抽取模型启动训练的按钮(图10和图11中未示出),当此按钮被触发时,模型训练客户端则向加载有待训练的信息抽取模型的服务器发送模型训练指令,使得服务器响应于模型训练指令,基于接收到的模型训练指令参数以及模型训练数据启动对于各个专用模型的训练。

完成信息抽取模型的训练后,模型训练界面中则可以显示图12所示的训练展示子界面,在此界面中可以展示训练得到的模型及版本信息。

在另一示例性的实施例中,如图13所示,在步骤310之前,该信息抽取方法还包括如下步骤:

步骤510,接收接口调用终端发起的接口调用请求,并获取接口调用请求中含有的目标文本,目标文本为待抽取结构化信息的非结构化文本;

在步骤370之后,该信息抽取方法还包括如下步骤:

步骤530,将抽取得到的目标文本中所含有的结构化信息返回至接口调用终端。

在本实施例中,还将信息抽取模型作为远端服务(例如云服务),向客户提供进行结构化信息抽取的api(applicationprogramminginterface,应用程序接口),接口调用终端即为发起远端服务请求的客户设备。在接口调用终端所发起的接口调用请求中,需携带待进行结构化信息抽取的目标文本,以将目标文本传入远端服务所在的服务器中,使得远端服务所在的服务器启动信息抽取模型执行步骤310至步骤370中描述的内容,得到目标文本所含有的结构化信息。

远端服务所在的服务器获得目标文本所含有的结构化信息之后,将目标文本中所含有的结构化信息返回至接口调用终端,由此实现客户设备与远端服务之间的数据交互。

示例性的,接口调用设备可以基于下表1所示的输入参数进行远端服务所提供api的调用。

表1

远端服务的输出参数可以如下表2所示:

表2

图14是根据一示例性实施例示出的一种信息抽取装置的框图。该装置可以具备配置在图1所示实施环境中的服务器30上。如图14所示,该装置可以包括头实体抽取模块610、实体关系抽取模块630、关系问题构建模块650和尾实体抽取模块670。

其中,头实体抽取模块610用于根据预设的实体类型抽取非结构化文本中含有的头实体。实体关系抽取模块630用于对非结构化文本中含有的头实体进行关系分类处理,获得非结构化文本中含有的与头实体对应的实体关系。关系问题构建模块650用于根据头实体和头实体对应的实体关系构建实体关系问题。尾实体抽取模块670用于在非结构化文本中抽取尾实体,所抽取的尾实体与实体关系问题中的头实体以及实体关系相对应,并基于实体关系问题中的头实体及实体关系、以及尾实体得到非结构化文本所含有的结构化信息。

在另一示例性的实施例中,尾实体抽取模块670包括问题拼接单元、问题特征提取单元和尾实体识别单元。问题拼接单元用于将非结构化文本与实体关系问题进行拼接,得到问题拼接文本。问题特征提取单元用于对问题拼接文本中的各个字符进行特征向量提取,获得由各个字符对应的特征向量组成的特征向量序列,各个字符对应的特征向量含有问题拼接文本中的其它字符的特征信息。尾实体识别单元用于根据尾实体分类模型对特征向量序列进行类型识别处理,获得非结构化文本中含有的尾实体。

在另一示例性的实施例中,尾实体识别单元包括字符类型获取子单元和尾实体确定子单元。字符类型获取子单元用于将特征向量序列输入尾实体分类模型中,获得尾实体分类模型输出的针对特征向量序列中的各个特征向量识别到的字符类型。尾实体确定子单元用于在非结构化文本中确定字符类型分别为尾实体的起始字符、中间字符以及结尾字符对应的各个目标字符,并对各个目标字符依次组合得到非结构化文本中含有的尾实体。

在另一示例性的实施例中,头实体抽取模块610包括名称库获取单元和实体集合获取单元。名称库获取单元用于获取预设的实体类型名称库。实体集合获取单元用于根据实体类型名称库中含有的多个实体类型名称,在非结构化文本中进行实体类型名称所对应头实体的提取,以获得非结构化文本中含有的头实体集合。

在另一示例性的实施例中,实体集合获取单元包括类型文本获取子单元和头实体识别子单元。类型文本获取子单元用于将实体类型名称拼接在非结构化文本之后,并在非结构化文本的起始位置添加第一指定字符,在实体类型名称的结束位置添加第二指定字符,以及在非结构化文本与实体类型名称之间的拼接位置添加第二指定字符,得到类型拼接文本。头实体识别子单元用于在类型拼接文本中识别与实体类型名称相对应的头实体。

在另一示例性的实施例中,实体关系抽取模块630还包括局部特征确定单元、关系类型识别单元和分值筛选单元。局部特征确定单元用于确定非结构化文本中的头实体所对应的局部特征向量。关系类型识别单元用于根据关系分类模型对局部特征向量进行关系类型识别,获得头实体对应于候选实体关系的分值。分值筛选单元用于将分值大于分数阈值的候选实体关系确定为头实体对应的实体关系。

在另一示例性的实施例中,局部特征确定单元中包括第一向量获取子单元、第二向量获取子单元和第三向量获取子单元。第一向量获取子单元用于头实体中的起始字符对应的特征向量,将起始字符对应的特征向量作为头实体对应的局部特征向量。第二向量获取子单元用于将头实体中的起始字符、中间字符以及结尾字符分别对应的特征向量之和作为头实体对应的局部特征向量。第三向量获取子单元用于将头实体中的起始字符、中间字符以及结尾字符分别对应的特征向量之和的平均向量作为头实体对应的局部特征向量。

在另一示例性的实施例中,该装置还包括模型获取模块和模型训练模块。模型获取模块用于确定用于抽取非结构化文本中所含有结构化信息的信息抽取模型,信息抽取模型中含有特征向量提取模型、头实体分类模型、关系分类模型和尾实体分类模型,头实体分类模型为抽取非结构化文本中含有的头实体的专用模型,关系分类模型为抽取非结构化文本中的头实体所含有实体关系的专用模型,尾实体分类模型为抽取非结构化文本中含有的尾实体的专用模型,特征向量提取模型是各个专用模型之间所共享的模型。模型训练模块用于基于特征向量提取模型分别对各个专用模型进行训练,并根据训练结果更新相应专用模型中的模型参数,以及更新特征向量提取模型中的模型参数。

在另一示例性的实施例中,该装置还包括损失值计算模块和损失值比较模块。损失值计算模块用于分别计算各个专用模型所对应的训练损失值。损失值比较模块用于当各个专用模型所对应的训练损失值之和小于损失阈值时,结束训练各个专用模型。

在另一示例性的实施例中,模型训练模块在对关系分类模型进行训练时,分别使用头实体所对应的局部特征向量以及全局特征向量进行训练,全局特征向量含有头实体所在文本中的所有字符对应的特征信息。

在另一示例性的实施例中,该装置还包括参数获取模块和训练启动模块。参数获取模块用于获取模型训练指令参数以及模型训练数据,模型训练指令参数以及模型训练数据是根据模型训练界面中触发的信息选取指令确定的。训练启动模块用于当接收到模型训练界面中触发的模型训练指令时,根据模型训练指令参数以及模型训练数据,启动对于各个专用模型的训练。

在另一示例性的实施例中,该装置还包括接口调用接收模块和接口调用返回模块。接口调用接收模块用于接收接口调用终端发起的接口调用请求,并获取接口调用请求中含有的目标文本,目标文本为待抽取结构化信息的非结构化文本。接口调用返回模块用于将抽取得到的目标文本中所含有的结构化信息返回至接口调用终端。

需要说明的是,上述实施例所提供的装置与上述实施例所提供的方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。

本申请的实施例还提供了一种信息抽取设备,包括处理器和存储器,其中,存储器上存储有计算机可读指令,该计算机可读指令被处理器执行时实现如前所述的信息抽取方法。

图15是根据一示例性实施例示出的一种信息抽取设备的结构示意图。

需要说明的是,该信息抽取设备只是一个适配于本申请的示例,不能认为是提供了对本申请的使用范围的任何限制。该信息抽取设备也不能解释为需要依赖于或者必须具有图15中示出的示例性的信息抽取设备中的一个或者多个组件。

该设备的硬件结构可因配置或者性能的不同而产生较大的差异,如图15所示,该设备包括:电源810、接口830、至少一存储器850、以及至少一中央处理器(cpu,centralprocessingunits)870。

其中,电源810用于为该设备上的各硬件提供工作电压。

接口830包括至少一有线或无线网络接口831、至少一串并转换接口833、至少一输入输出接口835以及至少一usb接口837等,用于与外部设备通信。

存储器850作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统851、应用程序853或者数据855等,存储方式可以是短暂存储或者永久存储。其中,操作系统851用于管理与控制该设备上的各硬件设备以及应用程序853,以实现中央处理器870对海量数据855的计算与处理,其可以是windowsservertm、macosxtm、unixtm、linuxtm等。应用程序853是基于操作系统851之上完成至少一项特定工作的计算机程序,其可以包括至少一模块,每个模块都可以分别包含有对该设备的一系列计算机可读指令。

中央处理器870可以包括一个或多个以上的处理器,并设置为通过总线与存储器850通信,用于运算与处理存储器850中的海量数据855。

如上面所详细描述的,适用本申请的信息抽取设备将通过中央处理器870读取存储器850中存储的一系列计算机可读指令的形式来完成如前所述的信息抽取方法。

此外,通过硬件电路或者硬件电路结合软件指令也能同样实现本申请,因此,实现本申请并不限于任何特定硬件电路、软件以及两者的组合。

本申请的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前所述的信息抽取方法。该计算机可读存储介质可以是上述实施例中描述的信息抽取设备中所包含的,也可以是单独存在,而未装配入该信息抽取设备中。

本申请的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的信息抽取方法。

上述内容,仅为本申请的较佳示例性实施例,并非用于限制本申请的实施方案,本领域普通技术人员根据本申请的主要构思和精神,可以十分方便地进行相应的变通或修改,故本申请的保护范围应以权利要求书所要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1