掌桥专利:专业的专利平台
掌桥专利
首页

一种文本处理方法及电子设备

文献发布时间:2023-06-19 19:28:50


一种文本处理方法及电子设备

技术领域

本申请涉及知识图谱技术领域,尤其涉及一种文本处理方法及电子设备。

背景技术

基于公安场景的实体和关系抽取是公安知识图谱构建中的一环。实体是知识图谱的基本单元,也是文本中重要的信息载体。实体提取是自然语言处理中的一项重要和基础的任务,也是信息抽取的子任务,目的是从文本数据中抽取预先定义的实体信息。而关系抽取是找出实体之间存在的关系。因此,这两个任务是相辅相成,联系密切的,通常使用联合模型抽取实体和关系,形成三元组(s,p,o),其中s,p,o分别代表实体主体(subject),谓语或关系(predicate),实体客体(object)。

面向公安领域文本的实体和关系抽取的难点是实体种类数量庞大,实体之间的关系也比较复杂多样。实体和关系的类型与行业背景有很强的关系。此外,在公安行业背景的文本中,实体可能出现嵌套的情况,即一种实体完全包含在另一个较长的实体当中;关系可能出现重叠的情况,如单实体重叠或实体对重叠,这也会导致无法完整和准确地抽取三元组。

发明内容

本申请实施例提供了一种文本处理方法及电子设备,用以在进行知识图谱构建过程中,在对文本进行分析生成相应的三元组时,避免出现实体嵌套和关系重叠的问题。

本申请实施例提供的一种文本处理方法,包括:

获取待处理文本,并对所述待处理文本进行片段划分,得到至少一个片段;并且,从所述至少一个片段中识别出至少一个第一片段,所述第一片段为实体主体;

针对每一所述第一片段,基于所述至少一个片段中该第一片段之外的其余片段,确定该第一片段对应的第二片段和关系词,所述第二片段为实体客体,所述关系词用于表示该第一片段与该第二片段之间的关系;

对于存在对应的第二片段和关系词的每一第一片段,利用该第一片段、该第一片段对应的第二片段和关系词,生成三元组。

通过该方法,对所述待处理文本进行片段划分,得到至少一个片段;并且,从所述至少一个片段中识别出至少一个第一片段,所述第一片段为实体主体;针对每一所述第一片段,基于所述至少一个片段中该第一片段之外的其余片段,确定该第一片段对应的第二片段和关系词,对于存在对应的第二片段和关系词的每一第一片段,利用该第一片段、该第一片段对应的第二片段和关系词,生成三元组,从而实现了以文本片段为单位进行的实体抽取,由于文本片段之间是相互独立的,可以有效解决实体嵌套问题。并且,由于关系和客体是在其对应主体的基础上进行抽取的,因此对于一个实体既是主体又是客体的情况是互不干扰的,适用于所有关系重叠的场景。因此,避免出现实体嵌套和关系重叠的问题。

在一些实施方式中,从所述至少一个片段中识别出第一片段,包括:

针对所述至少一个片段中的每一片段:

确定该片段的向量;

基于该片段的向量,判断该片段是否为所述第一片段。

在一些实施方式中,所述该片段的向量,包括该片段的首字符的编码向量和尾字符的编码向量。

在一些实施方式中,所述针对每一所述第一片段,基于所述至少一个片段中该第一片段之外的其余片段,确定该第一片段对应的第二片段和关系词,包括:

针对每一所述第一片段:

确定在所述待处理文本中该第一片段和每一其余片段之间的相对位置编码;

生成至少一个隐藏向量,其中,每一所述隐藏向量包括:该第一片段的向量、一个其余片段的向量、该第一片段与该其余片段之间的相对位置编码;

利用所述至少一个隐藏向量,判断该第一片段与其余片段是否存在关系,将与所述第一片段存在关系的其余片段作为第二片段,并且确定该第二片段与该第一片段之间的关系类型所对应的关系词。

在一些实施方式中,所述从所述至少一个片段中识别出至少一个第一片段,以及,所述针对每一所述第一片段,基于所述至少一个片段中该第一片段之外的其余片段,确定该第一片段对应的第二片段和关系词,是采用预先训练得到的词编码模型执行的;

所述方法还包括:

计算第一损失函数和第二损失函数;所述第一损失函数为所述词编码模型执行从所述至少一个片段中识别出至少一个第一片段时,对应的损失函数;所述第二损失函数为所述词编码模型执行针对每一所述第一片段,基于所述至少一个片段中该第一片段之外的其余片段,确定该第一片段对应的第二片段和关系词时,对应的损失函数;

利用所述第一损失函数和所述第二损失函数,计算所述词编码模型的总损失函数。

在一些实施方式中,所述方法还包括:

在最小化所述总损失函数的过程中更新所述词编码模型的参数。

在一些实施方式中,不同的片段包含的文字不同,并且,对于包含多个文字的每一片段中的不同文字之间的位置关系是连续的。

本申请另一实施例提供了一种电子设备,其包括存储器和处理器,其中,所述存储器用于存储程序指令,所述处理器用于调用所述存储器中存储的程序指令,按照获得的程序执行上述任一种方法。

此外,根据实施例,例如提供了一种用于计算机的计算机程序产品,其包括软件代码部分,当所述产品在计算机上运行时,这些软件代码部分用于执行上述所定义的方法的步骤。该计算机程序产品可以包括在其上存储有软件代码部分的计算机可读介质。此外,该计算机程序产品可以通过上传过程、下载过程和推送过程中的至少一个经由网络直接加载到计算机的内部存储器中和/或发送。

本申请另一实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行上述任一种方法。

附图说明

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

图1为本申请实施例提供的一种文本处理方法的具体流程示意图;

图2为本申请实施例提供的确定与主体存在关系的客体以及确定具体关系词的流程示意图;

图3为本申请实施例提供的一种文本处理方法的总体流程示意图;

图4为本申请实施例提供的一种电子设备的结构示意图;

图5为本申请实施例提供的一种文本处理装置的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,并不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请实施例提供了一种文本处理方法及电子设备,用以在进行知识图谱构建过程中,在对文本进行分析生成相应的三元组时,避免出现实体嵌套和关系重叠的问题。

本申请实施例中的文本处理方法和电子设备等装置是基于同一申请构思的,由于方法和装置解决问题的原理相似,因此装置和方法的实施可以相互参见,重复之处不再赘述。

本申请实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

以下示例和实施例将只被理解为是说明性的示例。虽然本说明书可能在若干处提及“一”、“一个”或“一些”示例或实施例,但这并非意味着每个这种提及都与相同的示例或实施例有关,也并非意味着该特征仅适用于单个示例或实施例。不同实施例的单个特征也可以被组合以提供其他实施例。此外,如“包括”和“包含”的术语应被理解为并不将所描述的实施例限制为仅由已提及的那些特征组成;这种示例和实施例还可以包含并未具体提及的特征、结构、单元、模块等。

下面结合说明书附图对本申请各个实施例进行详细描述。需要说明的是,本申请实施例的展示顺序仅代表实施例的先后顺序,并不代表实施例所提供的技术方案的优劣。

本申请实施例中的技术术语介绍:

文本片段:本申请实施例处理的对象是句子文本,需要将文本分割为片段的形式,即枚举出一个长度为n的句子的所有子序列。以“同航班”为例,“子序列”是句子中连续出现的片段,是以每个字为起始,依次向后枚举长度为1、2、3、……的片段,得到:

同航

同航班

航班

因此,“同航班”的片段(span)为[“同”,“航”,“班”,“同航”,“航班”,“同航班”],一个长度为n的句子共有

位置编码:为了使模型对实体的长度和跨度更加敏感,提高实体识别的准确率,加入了相对位置编码,用来描述注意力过程(即Attention过程,也称为注意力机制)中参与计算的两个向量的位置的相对距离。

多标签分类:为一个样本打上多种标签。有别于多分类,多标签分类中每个标签不是互斥的。

嵌套实体:一种实体完全包含在另一个实体当中。例如:“骑电动车的人”,其中“电动车”为一种实体类型:车辆种类;“电动”为一种实体类型:能源种类。这两种实体在描述位置上为包含关系,被称为嵌套实体。

关系重叠:一个或一对实体同时出现在多个关系当中,被称为关系重叠。一般有两种关系重叠的类型:

EPO类型:主体和客体都相同,关系有多种,如“小王和小张在2月20日同火车和同酒店”,存在关系重叠:(小王,同火车,小张),(小王,同酒店,小张)。即小王和小张之间的关系存在同火车和同酒店两种关系。

SEO类型:只有一个实体相同,关系有多种,如“驾驶宝马车闯红灯的张三”,存在关系重叠:(张三,驾驶,宝马车),(宝马车,发生,闯红灯),其中“宝马车”作为主体和客体出现在两种关系中。即同一实体“宝马车”,被张三驾驶,并且,还闯了红灯。

需要说明的是,不同实体之间的关系,可以是出现在样本中的词(例如上述“驾驶”),也可以不是出现在样本中的词,而是系统生成的词(例如上述“发生”)。

本申请实施例提供的文本处理方法,例如具体包括:

步骤一:对样本做片段处理。也就是说,本步骤获取待处理文本(简称样本),并对所述待处理文本进行片段划分,得到至少一个片段。

其中,一条样本为一个句子,对样本做片段处理,即将该句子序列划分为其所有的子序列,其中每个子序列都是文本的一个片段,每一片段作为一个候选实体。理论上,每个文本片段都有可能成为一个实体,且不同的文本片段之间是相互独立的。假设句子长度为n,则共有

步骤二:使用基于大规模语料库预训练的BERT模型,对步骤一得到的文本片段进行编码,表示为向量的形式,即针对每一文本片段,该文本片段经过BERT模型处理后得到该文本片段对应的向量。

由于BERT模型针对中文编码是基于字粒度的,因此在一些实施例中,可以把文本片段的首字符和尾字符进行拼接,作为该文本片段的表示。设一个文本片段的起始和结束位置为(s,e),BERT模型对第i个字的编码向量为w

步骤三:针对每一文本片段,判断该文本片段是否为实体主体(subject,简称s),即是否为主体类型的实体。也就是说,本步骤中从样本的所有片段中识别出至少一个第一片段,所述第一片段为实体主体。

在一些实施例中,可以将每一个文本片段对应的向量,输入预设分类器(多层神经网络模型)做分类(可以通过现有技术实现),通过该分类器可以抽取出类别为s的文本片段(即该文本片段为实体主体)。

步骤四:针对每一个类别为s的文本片段(可以简称s),在所有剩余的文本片段中抽取关系(predicate,简称p)及其对应的客体(object,简称o),简称确定该s的po(“predicate”、“object”首字母“po”,是“关系及其对应客体”的简称),即确定每一s对应的p和o。

在一些实施例中,本步骤四采用预设的词编码模型实现,具体操作例如包括:

S41:计算s和其余文本片段之间的相对位置编码。设s的起始位置为s

其中,所述可训练的嵌入矩阵是一组随机初始化的向量,是模型参数一部分,表示为

相对距离为s

设s是“张三”,在样本“驾驶宝马车闯红灯的张三”中的起始位置s

驾 9 – 0 = 9 取出9对应的向量P

驾驶 9 – 0 = 9 取出9对应的向量P

驾驶宝9–0=9取出9对应的向量P

……

驶 9 – 1 = 8 取出8对应的向量P

驶宝 9 – 1 = 8 取出8对应的向量P

……

宝马车9–2=7取出7对应的向量P

……

其中,因为“驾”、“驾驶”、“驾驶宝”、……等片段,在样本“驾驶宝马车闯红灯的张三”中的起始位置都是0(以首字符“架”的起始位置为准),因此与“张三”的相对距离相等,对应的相对位置编码也相同。

S42:对于s和某一个文本片段i(上述的所有文本片段中的任意一个片段i),得到一个隐藏向量,用于关系提取,该隐藏向量为h

S43:对隐藏向量做多标签分类,得到s和其余每一个文本片段的关系标签。也就是说,本步骤实现了利用隐藏向量,判断第一片段(主体)与其余片段(候选客体)是否存在关系,如果存在关系,则说明存在关系的片段为实体主体对应的实体客体,因此将与该第一片段存在关系的其余片段作为第二片段(即客体),并且确定该第二片段与该第一片段之间的关系类型所对应的关系词。

在一些实施例中,由于可能会有关系重叠,s和一个文本片段可能存在多种关系,因此需要使用sigmoid激活函数计算隐藏向量属于各个关系的概率,若概率大于预设的阈值,则认为s和该文本片段属于这种关系。

在一些实施例中,针对不同类型的关系,可以预设不同的阈值。

例如,初步确定了主体“电动车”与候选客体“闯红灯”构成“发生”关系,为了提高准确性,进一步还计算主体“电动车”与候选客体“闯红灯”构成“发生”关系的概率,若该概率大于该“发生”关系类型对应的预设阈值,则认为主体“电动车”与候选客体“闯红灯”构成“发生”关系,最终确定“闯红灯”为主体“电动车”对应的客体,二者的关系词是“发生”,后续可以基于此生成三元组(电动车,发生,闯红灯)。

S44:由于词编码模型联合抽取的顺序是先抽取实体主体,再抽取和该实体能够构成关系的实体客体,因此损失函数的构造分为两部分,即计算两个任务的损失,分别为第一损失函数值L

总损失函数值为:

L=L

其中

表示对于实体主体s,文本片段i和s组成关系r的概率,R为所有关系的集合;

S45:最小化损失函数,词编码模型的训练过程根据每次前向传播的损失函数值进行反向传播和滑动平均算法,更新词编码模型的参数,得到最优的词编码模型。也就是说,本步骤在最小化总损失函数的过程中更新词编码模型的参数。

例如,本步骤所采用的是“梯度下降法”,即训练神经网络模型通用的参数更新方法,公式如:

α表示预设学习率,即预设常数,

步骤五:将抽取到的实体主体s和其对应的关系p、实体客体o组成三元组,三元组的表示形式为(s,p,o)。

例如,抽取样本“骑电动车闯红灯的张三”中的实体和关系p,根据上述步骤,得到如下三个三元组:

三元组一:(张三,驾驶,电动车);

三元组二:(电动车,发生,闯红灯);

三元组三:(电动车,能源种类,电动)。

在本例中,存在关系重叠和实体嵌套的情况。

其中,所述关系重叠,即“电动车”既可以在一种关系中作为实体主体(参见上述三元组二、三元组三),又可以在另一种关系中作为实体客体(参见上述三元组一)。

所述实体嵌套,即“电动车”和“电动”作为两种实体,存在嵌套关系(参见上述三元组三)。

综上,本申请实施例以文本片段为单位进行实体抽取(即步骤一至步骤三)。由于文本片段之间是相互独立的,可以有效解决实体嵌套问题。

本申请实施例适用于所有关系重叠的场景,包括EPO类型和SEO类型。由于关系和客体是在其对应主体的基础上进行抽取的(即步骤四),因此对于一个实体既是主体又是客体的情况是互不干扰的;并且,其中:

在进行关系抽取时,考虑了实体主体和每一个候选客体之间的联系。将该主体和其余的每一个候选客体进行向量拼接,并加入二者之间的相对位置编码(即上述步骤S41和步骤S42)。充分考虑两两之间的关系有利于关系分类。

由于对实体和任一文本片段组成的隐藏向量进行的是多标签分类(即上述步骤S43),所以如果同一对主体和客体有不同的关系,也能被完整提取。

本申请实施例可以实现实体和关系的联合抽取,损失函数由实体抽取和关系抽取两部分构造而成(即L=L

下面以输入样本“骑电动车闯红灯的张三”为例,结合附图给出具体举例说明。

具体流程如图1所示,包括:

步骤一:枚举输入样本的片段,得到以下片段:

骑电

骑电动

骑电动车

……

电动

电动车

……

张三

步骤二:对每一片段进行编码,具体地,每个片段的头、尾,均对应一个词向量,用w

骑 [w

骑电 [w

骑电动[w

骑电动车[w

……

电动车[w

……

张三[w

……

步骤三:将上述片段向量输入预设分类器,判断是否是实体主体s,例如:

骑 [w

骑电 [w

骑电动[w

骑电动车[w

……

电动车[w

……

张三[w

……

从而,提取得到“电动车”、“张三”两个实体主体。

步骤四:得到“电动车”、“张三”两个实体主体的po。

以实体主体“电动车”为例:

用h

用预设关系分类器判断实体主体“电动车”和其他片段之间的关系。具体可以参见图2,例如,“电动车”与文本片段“闯红灯”构成“发生”关系,“电动车”与文本片段“电动”构成“能源种类”关系,因此,通过实体主体“电动车”得到以下三元组:

(电动车,发生,闯红灯);

(电动车,能源种类,电动)。

同理,通过实体主体“张三”得到以下三元组:

(张三,驾驶,电动车)。

其中,在得到实体主体之后,得到隐藏向量进行关系提取,流程如图2所示,以实体主体“电动车”为例,其客体、关系提取流程包括:

用w

用w

骑 [w

骑电 [w

骑电动[w

骑电动车[w

……

张三[w

……

也就是说,在实体抽取阶段,文本片段编码由该片段的首字符的BERT向量和尾字符的BERT向量拼接而成。

用p表示相对位置向量,即表示实体主体与其他任意片段i的相对位置。

用h

(电动车,发生,闯红灯);

(电动车,能源种类,电动)。

综上,本申请实施例中,以片段为单位构造候选实体,通过分类器进行实体抽取;整个流程先抽取主体s,再得到关系p、客体o;其中,在抽取po时,考虑了主体和所有其他片段(即候选客体);并且,主体s及其po的抽取共用一个词编码模型,计算了主体s及其po的抽取这两个任务的损失值,实现了主体s及其po的联合抽取。

可见,参见图3,本申请实施例提供的一种文本处理方法,包括:

S101、获取待处理文本,并对所述待处理文本进行片段划分,得到至少一个片段;并且,从所述至少一个片段中识别出至少一个第一片段,所述第一片段为实体主体(例如上述主体s);

S102、针对每一所述第一片段,基于所述至少一个片段中该第一片段之外的其余片段,确定该第一片段对应的第二片段和关系词(例如上述po),所述第二片段为实体客体(例如上述客体o),所述关系词用于表示该第一片段与该第二片段之间的关系(例如上述关系p);

S103、对于存在对应的第二片段和关系词的每一第一片段,利用该第一片段、该第一片段对应的第二片段和关系词,生成三元组。

所述三元组,例如:

(电动车,发生,闯红灯)

在一些实施方式中,从所述至少一个片段中识别出第一片段,包括:

针对所述至少一个片段中的每一片段:

确定该片段的向量;例如通过BERT模型对片段进行编码,得到该片段的向量;

基于该片段的向量,判断该片段是否为所述第一片段。具体如何判断可以采用现有技术,例如将每一个文本片段对应的向量,输入预设分类器做分类,通过该分类器可以抽取出类别为s的文本片段。

在一些实施方式中,所述该片段的向量,包括该片段的首字符的编码向量和尾字符的编码向量。例如该文本片段对应的向量可以表示为w

在一些实施方式中,所述针对每一所述第一片段,基于所述至少一个片段中该第一片段之外的其余片段,确定该第一片段对应的第二片段和关系词,包括:

针对每一所述第一片段:

确定在所述待处理文本中该第一片段和每一其余片段之间的相对位置编码;所述相对位置编码,例如该第一片段的起始位置和其余片段的起始位置之间的相对距离对应的向量;

生成至少一个隐藏向量,其中,每一所述隐藏向量包括:该第一片段的向量、一个其余片段的向量、该第一片段与该其余片段之间的相对位置编码;

利用所述至少一个隐藏向量,判断该第一片段与其余片段是否存在关系,将与所述第一片段存在关系的其余片段作为第二片段(即存在关系的片段是实体客体),并且确定该第二片段与该第一片段之间的关系类型所对应的关系词。例如,“电动车”与文本片段“闯红灯”构成“发生”关系、“电动车”与文本片段“电动”构成“能源种类”关系。

在一些实施方式中,所述从所述至少一个片段中识别出至少一个第一片段,以及,所述针对每一所述第一片段,基于所述至少一个片段中该第一片段之外的其余片段,确定该第一片段对应的第二片段和关系词,是采用预先训练得到的词编码模型执行的;

所述方法还包括:

计算第一损失函数和第二损失函数;所述第一损失函数为所述词编码模型执行从所述至少一个片段中识别出至少一个第一片段时,对应的损失函数(例如上述

利用所述第一损失函数和所述第二损失函数,计算所述词编码模型的总损失函数,例如上述L=L

在一些实施方式中,所述方法还包括:

在最小化所述总损失函数的过程中更新所述词编码模型的参数,例如利用上述公式

在一些实施方式中,不同的片段包含的文字不同,并且,对于包含多个文字的每一片段中的不同文字之间的位置关系是连续的。

本申请实施例提供的技术方案,可以用于针对公安领域文本的实体和关系联合抽取任务,同时解决实体嵌套和关系重叠问题。公安场景下的实体和关系抽取一般会面临实体种类多、粒度细、关系种类复杂的问题。本申请实施例提供的技术方案通过把句子文本转化为相互独立的文本片段,实现包括嵌套实体在内的所有实体的完整提取,并在此基础上通过多标签分类,实现主体和客体都重叠的情况下的重叠关系的提取;

本申请实施例提供的技术方案,在不同阶段采用不同的混合编码方法。在实体抽取阶段,文本片段编码由该片段的首字符的BERT向量和尾字符的BERT向量拼接而成;在关系抽取阶段,目的是抽取出带有关系标签的客体,因此,隐藏向量由作为主体的文本片段的编码、作为候选客体的文本片段的编码和二者之间的相对位置编码组成。这种混合编码方式考虑了两个文本片段之间的交互关系,有利于关系抽取。

下面介绍一下本申请实施例提供的设备或装置,其中与上述方法中所述的相同或相应的技术特征的解释或举例说明,后续不再赘述。

参见图4,本申请实施例提供的电子设备包括:

处理器600,用于读取存储器620中的程序,执行下列过程:

获取待处理文本,并对所述待处理文本进行片段划分,得到至少一个片段;并且,从所述至少一个片段中识别出至少一个第一片段,所述第一片段为实体主体;

针对每一所述第一片段,基于所述至少一个片段中该第一片段之外的其余片段,确定该第一片段对应的第二片段和关系词,所述第二片段为实体客体,所述关系词用于表示该第一片段与该第二片段之间的关系;

对于存在对应的第二片段和关系词的每一第一片段,利用该第一片段、该第一片段对应的第二片段和关系词,生成三元组。

在一些实施方式中,从所述至少一个片段中识别出第一片段,包括:

针对所述至少一个片段中的每一片段:

确定该片段的向量;

基于该片段的向量,判断该片段是否为所述第一片段。

在一些实施方式中,所述该片段的向量,包括该片段的首字符的编码向量和尾字符的编码向量。

在一些实施方式中,所述针对每一所述第一片段,基于所述至少一个片段中该第一片段之外的其余片段,确定该第一片段对应的第二片段和关系词,包括:

针对每一所述第一片段:

确定在所述待处理文本中该第一片段和每一其余片段之间的相对位置编码;

生成至少一个隐藏向量,其中,每一所述隐藏向量包括:该第一片段的向量、一个其余片段的向量、该第一片段与该其余片段之间的相对位置编码;

利用所述至少一个隐藏向量,判断该第一片段与其余片段是否存在关系,将与所述第一片段存在关系的其余片段作为第二片段,并且确定该第二片段与该第一片段之间的关系类型所对应的关系词。

在一些实施方式中,所述从所述至少一个片段中识别出至少一个第一片段,以及,所述针对每一所述第一片段,基于所述至少一个片段中该第一片段之外的其余片段,确定该第一片段对应的第二片段和关系词,是采用预先训练得到的词编码模型执行的;

处理器600,还用于读取存储器620中的程序,执行下列过程:

计算第一损失函数和第二损失函数;所述第一损失函数为所述词编码模型执行从所述至少一个片段中识别出至少一个第一片段时,对应的损失函数;所述第二损失函数为所述词编码模型执行针对每一所述第一片段,基于所述至少一个片段中该第一片段之外的其余片段,确定该第一片段对应的第二片段和关系词时,对应的损失函数;

利用所述第一损失函数和所述第二损失函数,计算所述词编码模型的总损失函数。

在一些实施方式中,处理器600,还用于读取存储器620中的程序,执行下列过程:

在最小化所述总损失函数的过程中更新所述词编码模型的参数。

在一些实施方式中,不同的片段包含的文字不同,并且,对于包含多个文字的每一片段中的不同文字之间的位置关系是连续的。

在一些实施例中,所述电子设备还包括收发机610,用于在处理器600的控制下接收和发送数据。

所述电子设备可以是终端设备,也可以是网络侧设备。

其中,在图4中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器600代表的一个或多个处理器和存储器620代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机610可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。

在一些实施例中,还包括用户接口630,用户接口630可以是能够外接内接需要设备的接口,连接的设备包括但不限于小键盘、显示器、扬声器、麦克风、操纵杆等。

处理器600负责管理总线架构和通常的处理,存储器620可以存储处理器600在执行操作时所使用的数据。

在一些实施例中,处理器600可以是CPU(中央处埋器)、ASIC(ApplicationSpecific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable GateArray,现场可编程门阵列)或CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)。

参见图5,本申请实施例提供的一种文本处理装置包括:

第一单元11,用于获取待处理文本,并对所述待处理文本进行片段划分,得到至少一个片段;并且,从所述至少一个片段中识别出至少一个第一片段,所述第一片段为实体主体;

第二单元12,用于针对每一所述第一片段,基于所述至少一个片段中该第一片段之外的其余片段,确定该第一片段对应的第二片段和关系词,所述第二片段为实体客体,所述关系词用于表示该第一片段与该第二片段之间的关系;

第三单元13,用于对于存在对应的第二片段和关系词的每一第一片段,利用该第一片段、该第一片段对应的第二片段和关系词,生成三元组。

在一些实施方式中,从所述至少一个片段中识别出第一片段,包括:

针对所述至少一个片段中的每一片段:

确定该片段的向量;

基于该片段的向量,判断该片段是否为所述第一片段。

在一些实施方式中,所述该片段的向量,包括该片段的首字符的编码向量和尾字符的编码向量。

在一些实施方式中,所述针对每一所述第一片段,基于所述至少一个片段中该第一片段之外的其余片段,确定该第一片段对应的第二片段和关系词,包括:

针对每一所述第一片段:

确定在所述待处理文本中该第一片段和每一其余片段之间的相对位置编码;

生成至少一个隐藏向量,其中,每一所述隐藏向量包括:该第一片段的向量、一个其余片段的向量、该第一片段与该其余片段之间的相对位置编码;

利用所述至少一个隐藏向量,判断该第一片段与其余片段是否存在关系,将与所述第一片段存在关系的其余片段作为第二片段,并且确定该第二片段与该第一片段之间的关系类型所对应的关系词。

在一些实施方式中,所述从所述至少一个片段中识别出至少一个第一片段,以及,所述针对每一所述第一片段,基于所述至少一个片段中该第一片段之外的其余片段,确定该第一片段对应的第二片段和关系词,是采用预先训练得到的词编码模型执行的;

第二单元12还用于:

计算第一损失函数和第二损失函数;所述第一损失函数为所述词编码模型执行从所述至少一个片段中识别出至少一个第一片段时,对应的损失函数;所述第二损失函数为所述词编码模型执行针对每一所述第一片段,基于所述至少一个片段中该第一片段之外的其余片段,确定该第一片段对应的第二片段和关系词时,对应的损失函数;

利用所述第一损失函数和所述第二损失函数,计算所述词编码模型的总损失函数。

在一些实施方式中,第二单元12还用于:

在最小化所述总损失函数的过程中更新所述词编码模型的参数。

在一些实施方式中,不同的片段包含的文字不同,并且,对于包含多个文字的每一片段中的不同文字之间的位置关系是连续的。

需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

本申请实施例提供了一种计算设备,该计算设备具体可以为桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)等。该计算设备可以包括中央处理器(Center Processing Unit,CPU)、存储器、输入/输出设备等,输入设备可以包括键盘、鼠标、触摸屏等,输出设备可以包括显示设备,如液晶显示器(Liquid Crystal Display,LCD)、阴极射线管(Cathode Ray Tube,CRT)等。

存储器可以包括只读存储器(ROM)和随机存取存储器(RAM),并向处理器提供存储器中存储的程序指令和数据。在本申请实施例中,存储器可以用于存储本申请实施例提供的任一所述方法的程序。

处理器通过调用存储器存储的程序指令,处理器用于按照获得的程序指令执行本申请实施例提供的任一所述方法。

本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中的任一所述方法。所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。

本申请实施例提供了一种计算机可读存储介质,用于储存为上述本申请实施例提供的装置所用的计算机程序指令,其包含用于执行上述本申请实施例提供的任一方法的程序。所述计算机可读存储介质,可以是非暂时性计算机可读介质。

所述计算机可读存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NANDFLASH)、固态硬盘(SSD))等。

应当理解:

通信网络中的实体经由其往来传送流量的接入技术可以是任何合适的当前或未来技术,诸如可以使用WLAN(无线本地接入网络)、WiMAX(微波接入全球互操作性)、LTE、LTE-A、5G、蓝牙、红外等;另外,实施例还可以应用有线技术,例如,基于IP的接入技术,如有线网络或固定线路。

适合于被实现为软件代码或其一部分并使用处理器或处理功能运行的实施例是独立于软件代码的,并且可以使用任何已知或未来开发的编程语言来规定,诸如高级编程语言,诸如objective-C、C、C++、C#、Java、Python、Javascript、其他脚本语言等,或低级编程语言,诸如机器语言或汇编程序。

实施例的实现是独立于硬件的,并且可以使用任何已知或未来开发的硬件技术或其任何混合来实现,诸如微处理器或CPU(中央处理单元)、MOS(金属氧化物半导体)、CMOS(互补MOS)、BiMOS(双极MOS)、BiCMOS(双极CMOS)、ECL(发射极耦合逻辑)和/或TTL(晶体管-晶体管逻辑)。

实施例可以被实现为单独的设备、装置、单元、部件或功能,或者以分布式方式实现,例如,可以在处理中使用或共享一个或多个处理器或处理功能,或者可以在处理中使用和共享一个或多个处理段或处理部分,其中,一个物理处理器或多于一个的物理处理器可以被用于实现一个或多个专用于如所描述的特定处理的处理部分。

装置可以由半导体芯片、芯片组或包括这种芯片或芯片组的(硬件)模块来实现。

实施例还可以被实现为硬件和软件的任何组合,诸如ASIC(应用特定IC(集成电路))组件、FPGA(现场可编程门阵列)或CPLD(复杂可编程逻辑器件)组件或DSP(数字信号处理器)组件。

实施例还可以被实现为计算机程序产品,包括在其中体现计算机可读程序代码的计算机可用介质,该计算机可读程序代码适应于执行如实施例中所描述的过程,其中,该计算机可用介质可以是非暂时性介质。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

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

技术分类

06120115921840