本发明涉及数据处理技术领域,尤其涉及一种实体识别方法、设备及计算机可读存储介质。
背景技术:
实体是具有可区别性且独立存在的某种事物。监督学习等机器学习任务需要大量的标注实体数据,利用人工标注实体费时费力。目前大多数实体标注工作由人工完成,虽然准确率高,但效率十分低。自动化的方法是使用词典对文本进行标注,但该方法可移植性差,不同领域的文本标注需要获取不同的词典,且完整的词典难以获得。
技术实现要素:
本发明实施例提供了一种实体识别方法、设备及计算机可读存储介质,能够自动对未标注的实体进行标注。
本发明一方面提供一种实体识别方法,所述方法包括:第一操作,通过实体库对指定文本进行标注,确定对应所述指定文本的训练集和测试集;所述训练集包括标注文本集和半标注文本集;第二操作,通过所述训练集对模型进行训练,基于训练获得的实体识别模型对所述测试集进行预测,筛选获得有效实体;第三操作,将所述有效实体加入所述实体库,基于所述实体库重新确定半标注文本集;重复循环第二操作和第三操作,获得目标实体库。
在一可实施方式中,所述基于训练获得的实体识别模型对所述测试集进行预测,筛选获得有效实体,包括:通过所述训练获得的实体识别模型对所述测试集进行预测,获得预测实体;基于所述实体库对所述预测实体进行过滤,获得过滤实体;基于约束策略对所述过滤实体进行筛选处理,得到有效实体。
在一可实施方式中,所述约束策略包括如下至少之一:用于长度约束的第一策略、用于字符约束的第二策略和用于统计约束的第三策略。
在一可实施方式中,所述基于所述实体库重新确定半标注文本集,包括:通过所述实体库对所述半标注文本集进行标注,获得标注的半标注文本集;通过强化学习中的策略网络对所述标注的半标注文本集进行选择,获得选择后的半标注文本集;将所述选择后的半标注文本集确定为所述第三操作的半标注文本集。
在一可实施方式中,所述重复循环第二操作和第三操作,获得目标实体库,包括:在当前轮第三操作结束后,判断是否满足终止条件;当判断为满足终止条件时,将当前轮获得的实体库确定为目标实体库。
在一可实施方式中,所述方法还包括:当判断为不满足终止条件时,执行下一轮第二操作和第三操作。
在一可实施方式中,所述终止条件为所述第二操作和第三操作的循环次数是否满足循环阈值;或,所述终止条件为加入所述第三操作的实体库的有效实体的数量是否满足数量阈值。
本发明一方面提供一种实体识别设备,所述设备包括:第一操作模块,用于通过实体库对指定文本进行标注,确定对应所述指定文本的训练集和测试集;所述训练集包括标注文本集和半标注文本集;第二操作模块,用于通过所述训练集对模型进行训练,基于训练获得的实体识别模型对所述测试集进行预测,筛选获得有效实体;第三操作模块,用于将所述有效实体加入所述实体库,基于所述实体库重新确定半标注文本集;循环模块,用于重复循环第二操作和第三操作,获得目标实体库。
在一可实施方式中,所述第二操作模块,包括:预测子模块,用于通过所述训练获得的实体识别模型对所述测试集进行预测,获得预测实体;过滤子模块,用于基于所述实体库对所述预测实体进行过滤,获得过滤实体;筛选子模块,用于基于约束策略对所述过滤实体进行筛选处理,得到有效实体。
在一可实施方式中,所述第三操作模块,包括:标注子模块,用于通过所述实体库对所述半标注文本集进行标注,获得标注的半标注文本集;选择子模块,用于通过强化学习中的策略网络对所述标注的半标注文本集进行选择,获得选择后的半标注文本集;第一确定子模块,用于将所述选择后的半标注文本集确定为所述第三操作的半标注文本集。
在一可实施方式中,所述循环模块,包括:判断子模块,用于在当前轮第三操作结束后,判断是否满足终止条件;第二确定子模块,用于当判断为满足终止条件时,将当前轮获得的实体库确定为目标实体库。
在一可实施方式中,所述设备还包括:执行子模块,用于当判断为不满足终止条件时,执行下一轮第二操作和第三操作。
本发明另一方面提供一种计算机可读存储介质,所述存储介质包括一组计算机可执行指令,当所述指令被执行时用于执行上述任一项所述的实体识别方法。
本发明实施例提供的一种实体识别方法、设备及计算机可读存储介质通过实体库中少量的实体对指定文本进行标注,通过实体识别模型对测试集进行测试,筛选获得有效实体,再通过有效实体加入实体库对半标注文本集进行重新标注,循环操作,能够产生新的有效实体加入到实体库中,通过重复循环上述步骤,能够实现自动扩充目标实体库中的实体的目的,并且能够自动标注大量未标注的文本。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
在附图中,相同或对应的标号表示相同或对应的部分。
图1为本发明实施例一种实体识别方法的实现流程示意图;
图2为本发明实施例一种实体识别方法实体识别模型的实体抽取框架图;
图3为本发明实施例一种实体识别方法实体预测筛选的实现流程示意图;
图4为本发明实施例一种实体识别方法实体识别模型的框架示意图;
图5为本发明实施例一种实体识别方法确定半标注文本集的实现流程示意图;
图6为本发明实施例一种实体识别方法实体识别模型的标注框架示意图;
图7为本发明实施例一种实体识别设备的实现模块示意图。
具体实施方式
为使本发明的目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例一种实体识别方法的实现流程示意图。
参见图1,本发明实施例一方面提供一种实体识别方法,方法包括:第一操作101,通过实体库对指定文本进行标注,确定对应指定文本的训练集和测试集;训练集包括标注文本集和半标注文本集;第二操作102,通过训练集对模型进行训练,基于训练获得的实体识别模型对测试集进行预测,筛选获得有效实体;第三操作103,将有效实体加入实体库,基于实体库重新确定半标注文本集;操作104,重复循环第二操作和第三操作,获得目标实体库。
本发明实施例提供的实体识别方法通过实体库中少量的实体对指定文本进行标注,通过实体识别模型对测试集进行测试,筛选获得有效实体,再通过有效实体加入实体库对半标注文本集进行重新标注,循环操作,能够产生新的有效实体加入到实体库中,通过重复循环上述步骤,能够实现自动扩充目标实体库中的实体数量的目的,并且能够自动标注大量未标注的文本。
本方法包括第一操作,通过实体库对指定文本进行标注,确定对应指定文本的训练集和测试集。本方法提供的第一操作,通过实体库对指定文本进行标注,以确定指定文本中的训练集和测试集。其中,指定文本可以为按一定原则归类汇编起来的各种语料,语料可以为各种句子,需要理解的是,此处不对句子的长度及完整性进行限定。一定规则可以为语域、语体、历时、共时等其他规则。实体库包括对应指定本文的少量种子实体。少量种子实体可以采用人工标注获得。通过实体库对指定文本进行标注,指定文本经过标注后形成训练集和测试集。训练集中包括经过实体标注的句子。测试集为未经过实体标注的句子。其中,训练集包括标注文本集和半标注文本集,标注文本集中的句子经过实体库的原始种子实体可以实现完全标注。半标注文本集中的句子通过原始种子实体和有效实体进行联合标注。进一步的,指定文本还可以包括验证集,通过从验证数据集上得出的误差来调整模型参数从而选择最优模型。
本方法还包括第二操作,通过训练集对模型进行训练,基于训练获得的实体识别模型对测试集进行预测,筛选获得有效实体。
图2为本发明实施例一种实体识别方法实体识别模型的实体抽取框架图。参见图2,通过训练集对模型进行训练,能够获得实体识别模型。实体识别模型可以选为如图2所示的bilstm-crf模型,通过bilstm-crf模型对测试集进行预测,能够获得对应测试集的预测实体,由于预测实体中还可能包含重复等因素的实体,需要对预测实体进行进一步筛选,以获得有效实体。
本方法还包括第三操作,将有效实体加入实体库,基于实体库重新确定半标注文本集。在获得有效实体后,将有效实体加入第一操作中的实体库,使实体库中的实体数量得到增加,通过实体数量增加的实体库可以对半标注文本集进行重新标注,以更新半标注文本集中的句子的标注。
本方法还包括,重复循环第二操作和第三操作,获得目标实体库。由于半标注文本集中的句子的标注得到更新,可以使训练集更新,由此,通过训练集训练的模型也会得到更新,基于此,可以通过模型对测试集进行预测,以得到区别于上一轮有效实体的当前轮有效实体。重复循环第二操作和第三操作,可以得到大量的有效实体,以达到扩充实体库中实体数量的目的,且通过该方法,在具有实体库中少量种子实体的情况下,还可以实现自动标注大量未标注文本。
图3为本发明实施例一种实体识别方法实体预测筛选的实现流程示意图。图4为本发明实施例一种实体识别方法实体识别模型的框架示意图。
参见图2、图3和图4,在本发明实施例中,第二操作102,基于训练获得的实体识别模型对测试集进行预测,筛选获得有效实体,包括:操作1021,通过训练获得的实体识别模型对测试集进行预测,获得预测实体;操作1022,基于实体库对预测实体进行过滤,获得过滤实体;操作1023,基于约束策略对过滤实体进行筛选处理,得到有效实体。
本方法包括,通过训练获得的实体识别模型对测试集进行预测,获得预测实体。通过bilstm-crf模型对实体进行标注,即对训练集和测试集中每一个句子寻找一个最可能的标签序列。该模型在进行预测时,对每一个句子的嵌入使用了训练的词向量,这些词向量输入到bilstm层,输出隐层向量h。隐层向量输入到crf层,在crf层计算每一个文本句子对应的标签序列的条件概率,计算公式如下:
s代表当前的句子,y代表标签序列,ys代表当前的句子s所有可能的标签序列结合。损失函数的定义如下:
loss(θ,s,y)=-logp(y|s)
其中θ代表模型所有参数。通过bilstm-crf模型对测试集进行预测,能够获得对应测试集的预测实体。
本方法还包括,基于实体库对预测实体进行过滤,获得过滤实体。由实体识别模型预测得到的预测实体中可能会包括与实体库中相同的实体,基于实体库对预测实体进行过滤,能够消除预测实体中与实体库重复的数据,得到与实体库不同的过滤实体。需要理解的是,当当前轮操作非第一轮操作时,用于过滤操作的实体库为上一轮结果加入有效实体的实体库;当当前轮操作为第一轮操作时,用于过滤操作的实体库为第一操作中指代的实体库。
本方法还包括,基于约束策略对过滤实体进行筛选处理,得到有效实体。
实体识别模型预测的预测实体的质量有好有坏,无法直接加入到实体库中,因此需要使用实体过滤器筛选出高质量的有效实体。实体过滤器采用三种不同的约束策略进行筛选,以得到有效实体。
在本发明实施例中,约束策略包括如下至少之一:用于长度约束的第一策略、用于字符约束的第二策略和用于统计约束的第三策略。
用于长度约束的第一策略的目的是要限制过滤实体字符串的长度,筛除长度不满足预设长度范围的实体,具体的预设长度范围可以根据实际进行确定,这里定义预设长度范围的最小长度为min、预设长度范围的最大长度为max,过滤实体以e表示,一个过滤实体e的长度len(e)设定为需要满足下面的长度约束:min≤len(e)≤max,将不满足该长度约束的过滤实体进行筛除。
用于字符约束的第二策略的目的是除去那些包含特殊字符的预测实体,例如逗号等其他非文字的符号。将含特殊字符的过滤实体进行筛除。
用于统计约束的第三策略是基于多次的预测结果,以确定实体的置信度,将不满足置信度要求的实体筛除。如果一个过滤实体被多次预测到,那么该过滤实体是一个有效实体的置信度比较高,这里设定一个出现次数阈值num和选择概率π。如果一个实体出现的次数满足次数阈值num,就以更高的概率选择它,否则丢弃掉。其中c代表计数器,p表示置信度。需要理解的是,次数阈值num与循环轮数对应,置信度p的设定要求可以根据实际情况进行确定。计算公示如下:
图5为本发明实施例一种实体识别方法确定半标注文本集的实现流程示意图;图6为本发明实施例一种实体识别方法实体识别模型的标注框架示意图。
参见图5和图6,在本发明实施例中,操作103,基于实体库重新确定半标注文本集,包括:操作1031,通过实体库对半标注文本集进行标注,获得标注的半标注文本集;操作1032,通过强化学习中的策略网络对标注的半标注文本集进行选择,获得选择后的半标注文本集;操作1033,将选择后的半标注文本集确定为第三操作的半标注文本集。
在基于实体库重新确定半标注文本集时,包括,通过实体库对半标注文本集进行标注,获得标注的半标注文本集。需要理解的是,此处的实体库指代为第三操作中,将有效实体加入后的实体库。
本方法还包括,通过强化学习中的策略网络对标注的半标注文本集进行选择,获得选择后的半标注文本集。此处可以通过实例选择器进行处理,实例选择器为奖励函数、策略函数和行为的结合,即强化学习中的策略网络。标注的半标注集中的句子质量有好有坏,因此需要借助策略网络决定标注的半标注集中的句子进行选择,以确定句子否要加入到实体识别模型训练集中用于下一轮模型的训练,其中的状态、行为、奖励定义如下:
状态,状态用来表示当前句子和其对应标签的信息,它是一个实值向量,包含两个部分:1)当前句子向量的表示,从bilstm层获得;2)当前句子的标签序列,从crf层获得。
行为,行为ai∈{0,1}用于表示是否选择使用标注的半标注集中第i个句子。这里使用一个自定义策略函数,公式如下:
aθ(si,ai)=aiσ(w*si b) (1-ai)(1-σ(w*si b))
其中si是状态特征向量,σ(.)是sigmoid函数,其参数为w和b。θ为行为参数集合。基于该自定义策略函数确定是否选择第i个句子用于训练。
本方法还包括,将选择后的半标注文本集确定为第三操作的半标注文本集。通过强化学习的策略网络,决定被实体库重新确定半标注文本集中被标注的句子是否要加入到实体识别模型中进行训练。当将选择后的半标注文本集确定为第三操作的半标注文本集后,将确定的第三操作的半标注文本集和标注文本集作为训练集,以用于下一轮第二操作对模型进行更新训练。
参见图6,在本发明实施例中,操作401,重复循环第二操作和第三操作,获得目标实体库,包括:首先,在当前轮第三操作结束后,判断是否满足终止条件;然后,当判断为满足终止条件时,将当前轮获得的实体库确定为目标实体库。
在循环第二操作和第三操作,为确定循环结束,本方法在每轮第三操作结束后,需要判断是否满足终止条件。当判断为满足终止条件时,可以结束循环,将当前轮获得的实体库确定为目标实体库。当判断为不满足终止条件时,继续循环第二操作和第三操作,执行下一轮第二操作和第三操作。其中,终止条件可以根据实际情况进行预设。
在本发明实施例中,终止条件为第二操作和第三操作的循环次数是否满足循环阈值;或,终止条件为加入第三操作的实体库的有效实体的数量是否满足数量阈值。
在一种情况下,终止条件为第二操作和第三操作的循环次数是否满足循环阈值。循环次数可以为一次或一次以上的任一正整数,例如:三次、五次、九次。需要理解的是,循环一次为第二操作和第三操作只执行一次。例如:当循环次数达到循环阈值时,即判断为满足终止条件,将当前轮获得的实体库确定为目标实体库。当循环次数未达到循环阈值时,即判断为未满足判断为满足终止条件时,执行下一轮第二操作和第三操作。
在另一种情况下,终止条件为加入第三操作的实体库的有效实体的数量是否满足数量阈值,数量阈值可以为0或0以上的任一正整数。例如:当加入第三操作的实体库的有效实体数量小于数量阈值时,即判断为满足终止条件,将当前轮获得的实体库确定为目标实体库。当加入第三操作的实体库的有效实体数量大于或等于数量阈值时,即判断为不满足终止条件,执行下一轮第二操作和第三操作。可以理解的是,当数量阈值选为0时,当没有新的有效实体加入实体库时,满足终止条件。
图7为本发明实施例一种实体识别设备的实现模块示意图。
参见图7,本发明实施例一方面提供一种实体识别设备,设备包括:第一操作模块701,用于通过实体库对指定文本进行标注,确定对应指定文本的训练集和测试集;训练集包括标注文本集和半标注文本集;第二操作模块702,用于通过训练集对模型进行训练,基于训练获得的实体识别模型对测试集进行预测,筛选获得有效实体;第三操作模块703,用于将有效实体加入实体库,基于实体库重新确定半标注文本集;循环模块704,用于重复循环第二操作和第三操作,获得目标实体库。
在本发明实施例中,第二操作模块702,包括:预测子模块7021,用于通过训练获得的实体识别模型对测试集进行预测,获得预测实体;过滤子模块7022,用于基于实体库对预测实体进行过滤,获得过滤实体;筛选子模块7023,用于基于约束策略对过滤实体进行筛选处理,得到有效实体。
在本发明实施例中,第三操作模块703,包括:标注子模块7031,用于通过实体库对半标注文本集进行标注,获得标注的半标注文本集;选择子模块7032,用于通过强化学习中的策略网络对标注的半标注文本集进行选择,获得选择后的半标注文本集;第一确定子模块7033,用于将选择后的半标注文本集确定为第三操作的半标注文本集。
在本发明实施例中,循环模块704,包括:判断子模块7041,用于在当前轮第三操作结束后,判断是否满足终止条件;第二确定子模块7042,用于当判断为满足终止条件时,将当前轮获得的实体库确定为目标实体库。
在本发明实施例中,设备还包括:执行子模块7043,用于当判断为不满足终止条件时,执行下一轮第二操作和第三操作。
本发明另一方面提供一种计算机可读存储介质,存储介质包括一组计算机可执行指令,当指令被执行时用于执行上述任一项的实体识别方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
1.一种实体识别方法,其特征在于,所述方法包括:
第一操作,通过实体库对指定文本进行标注,确定对应所述指定文本的训练集和测试集;所述训练集包括标注文本集和半标注文本集;
第二操作,通过所述训练集对模型进行训练,基于训练获得的实体识别模型对所述测试集进行预测,筛选获得有效实体;
第三操作,将所述有效实体加入所述实体库,基于所述实体库重新确定半标注文本集;
重复循环第二操作和第三操作,获得目标实体库。
2.根据权利要求1所述的方法,其特征在于,所述基于训练获得的实体识别模型对所述测试集进行预测,筛选获得有效实体,包括:
通过所述训练获得的实体识别模型对所述测试集进行预测,获得预测实体;
基于所述实体库对所述预测实体进行过滤,获得过滤实体;
基于约束策略对所述过滤实体进行筛选处理,得到有效实体。
3.根据权利要求2所述的方法,其特征在于,所述约束策略包括如下至少之一:用于长度约束的第一策略、用于字符约束的第二策略和用于统计约束的第三策略。
4.根据权利要求3所述的方法,其特征在于,所述基于所述实体库重新确定半标注文本集,包括:
通过所述实体库对所述半标注文本集进行标注,获得标注的半标注文本集;
通过强化学习中的策略网络对所述标注的半标注文本集进行选择,获得选择后的半标注文本集;
将所述选择后的半标注文本集确定为所述第三操作的半标注文本集。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述重复循环第二操作和第三操作,获得目标实体库,包括:
在当前轮第三操作结束后,判断是否满足终止条件;
当判断为满足终止条件时,将当前轮获得的实体库确定为目标实体库。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
当判断为不满足终止条件时,执行下一轮第二操作和第三操作。
7.根据权利要求6所述的方法,其特征在于,所述终止条件为所述第二操作和第三操作的循环次数是否满足循环阈值;
或,
所述终止条件为加入所述第三操作的实体库的有效实体的数量是否满足数量阈值。
8.一种实体识别设备,其特征在于,所述设备包括:
第一操作模块,用于通过实体库对指定文本进行标注,确定对应所述指定文本的训练集和测试集;所述训练集包括标注文本集和半标注文本集;
第二操作模块,用于通过所述训练集对模型进行训练,基于训练获得的实体识别模型对所述测试集进行预测,筛选获得有效实体;
第三操作模块,用于将所述有效实体加入所述实体库,基于所述实体库重新确定半标注文本集;
循环模块,用于重复循环第二操作和第三操作,获得目标实体库。
9.根据权利要求8所述的设备,其特征在于,所述第二操作模块,包括:
预测子模块,用于通过所述训练获得的实体识别模型对所述测试集进行预测,获得预测实体;
过滤子模块,用于基于所述实体库对所述预测实体进行过滤,获得过滤实体;
筛选子模块,用于基于约束策略对所述过滤实体进行筛选处理,得到有效实体。
10.一种计算机可读存储介质,其特征在于,所述存储介质包括一组计算机可执行指令,当所述指令被执行时用于执行权利要求1-7任一项所述的实体识别方法。
技术总结