一种处理训练数据的方法、训练模型的方法及介质与流程

文档序号:33551550发布日期:2023-03-22 10:45阅读:47来源:国知局
一种处理训练数据的方法、训练模型的方法及介质与流程

1.本技术涉及自然语言处理技术领域,具体而言本技术实施例涉及一种处理训练数据的方法、训练模型的方法及介质。


背景技术:

2.自然语言处理系统在实际部署时,经常会面临多标签的数据,即每一个输入的数据,对应上多个同类型的标签。比如说门户网站新闻可以归属到不同的栏目中(如政治、体育、社会、科技、金融等栏目)去,一篇文章里既描写政治又描写金融等内容,那么这篇文章可能会别贴上政治和金融两个标签。
3.多任务自然语言处理系统在训练过程中,需要标准化的多标签的数据集合。自然语言处理系统需要抽取不同比例的数据作为训练过程中标准化的训练集和验证集,不同集合都需要尽量保证包含不同任务的所有标签,并且保证标签比例的平衡。不平衡的数据集划分会影响系统训练或者评估流程,比如训练集标签的不完整会导致系统对于缺失标签的不敏感,验证集标签的不完整会导致验证流程无法正确的评估系统的实际水平。标准化的数据集划分可以避免系统对于特定标签的数据过于敏感或者过于不敏感,避免由于数据问题带来的系统决策的失误。
4.一般的单标签数据集标准化通常对训练集和验证集直接按照比例随机划分,但是在实际应用中,多标签数据集难以随机划分。具体的说,这种做法存在以下三个方面的缺点:1)划分数据集的标签比例和原有比例有较大差别;2)划分的数据集不能包含所有稀有标签,即存在标签类别不足的问题;3)随机划分数据效率相对低下,无法充分利用数据,即利用现有的数据并不能训练出比较健壮(robust)的系统模型。


技术实现要素:

5.本技术实施例的目的在于提供一种处理训练数据的方法、训练模型的方法及介质,通过本技术的一些实施例可以有效解决自然语言处理多标签数据集不充分、差异大、难以标准化的技术问题,提升得到的训练数据的质量使得采用这些训练数据训练得到的模型(例如,自然语言处理模型)的性能更好。
6.第一方面,本技术实施例提供一种处理训练数据的方法,所述方法包括:从数据集中筛选出验证集,其中,所述验证集是根据第一原则对所述数据集中的数据进行筛选得到的,所述第一原则至少用于保证所述验证集对应的标签类别与所述数据集对应的标签类别尽可能接近;将所述数据集中除所述验证集之外的标签和数据作为训练集。
7.本技术的一些实施例首先构建验证集再构建训练集,在划分验证集时,保证了集合的标签类型的合理性,从而保证了整个数据集划分的合理性。这种标准化方法有效解决了多标签数据集划分的标签不合理问题,可以充分利用整个数据集合,从而利用现有的数据并训练出相对健壮(robust)的系统模型。
8.在一些实施例中,所述第一原则还用于保证第一比值和第二比值的差值小于目标
阈值,其中,所述第一比值为所述验证集包括的所有数据的总数目与所述数据集包括的所有数据的总数目之间的比,所述第二比值为所述验证集包括的所有标签的总数目与所述数据集包括的所有标签的总数目之间的比;或者,所述第一比值为所述验证集包括的数据总数目与标签总数目的比值,所述第二比值为所述数据集包括的数据总数目与标签总数目的比值。
9.本技术的一些实施例第一原则还要保证标签比例尽可能接近,在划分验证集时,保证了集合的标签类型和标签比例的合理性,从而保证了整个数据集划分的合理性。
10.在一些实施例中,所述数据集包括多个数据以及与每个数据对应的多个标签;所述从数据集中筛选出验证集,包括:获取所述数据集包括的各种不同标签,得到第一标签集合;从所述数据集中筛选出与所述第一标签集合中各个标签分别对应的至少一个数据,得到基本验证数据集合;根据所述基本验证数据集合得到所述验证集。
11.本技术的一些实施例通过首先从数据集中筛选各种不同标签,并为各种不同标签分别从数据集中抽取一个或多个数据的进而将这些被抽取的数据作为基本验证数据集合,使得根据基本验证数据集合得到的验证集包含了与数据集中各种不同标签对应的数据,提升数据集划分的合理性。
12.在一些实施例中,所述根据所述基本验证数据集合得到所述验证集,包括:若确认所述基本验证数据集合中的总数据量小于目标总数据量则将第一数据集中的部分数据作为所述基本验证数据集合的数据,得到第一验证数据集合,其中,所述第一数据集为所述数据集包括的除所述基本验证数据集合外剩余的数据;根据所述第一验证数据集合得到所述验证集。
13.本技术的一些实施例需要判定得到基本验证数据集合的总数据量是否满足对验证集数据流的要求,提升得到的验证集的质量,进而保证能够根据验证集对训练集训练后得到的模型进行更好评估。
14.在一些实施例中,所述根据所述基本验证数据集合得到所述验证集,包括:若确认所述基本验证数据集合中的数据总量大于目标总数据量则对所述基本验证数据集合中的数据进行筛选,得到所述第一验证数据集合;根据所述第一验证数据集合得到所述验证集。
15.本技术的一些实施例在基本验证数据集合中的数据量大于目标总数据量时对基本验证数据集合中的数据进行筛选以得到验证集数据,使得验证集中的数据量满足要求。
16.在一些实施例中,所述对所述基本验证数据集合中的数据进行筛选,包括:从所述基本验证数据集合中选择至少m个目标数据,作为第二验证数据集合,其中,与所述m个目标数据对应的标签类别的总数目大于或等于所述基本验证数据集合中剩余任意m个数据组合所对应的标签类别的总数目;重复上述过程直至所述第二验证数据集合的数据的总数目等于所述目标总数据量,得到所述第一验证数据集合。
17.本技术的一些实施例在保证标签类别与基本验证数据集合或者数据集合的标签类别(例如,对应数据集合中数据总量与不同标签总量的比值)尽可能一致的条件下筛选基本验证数据集合中的数据,得到验证集数据,使得验证数据集的标签比例更加合理。
18.在一些实施例中,所述根据所述第一验证数据集合得到所述验证集,包括:若确认标签比例大于第一设置阈值或确认标签比例小于第二设置阈值,则修正所述第一验证数据集合中的部分数据,得到所述验证集;其中,所述标签比例为第三比值与第四比值之间的
比,所述第三比值为所述第一验证集合中包括的标签的总数目与所述数据集中包括的标签的总数目的比值,所述第四比值为所述第一验证集合中包括的数据的总数目与所述数据集中包括的数据总数目之间的比值。
19.本技术的一些实施例在确定验证集数据数量的情况下,若存在标签数量的比例相比于数据集标签比例过大或者过小的情况,需要对齐验证集的标签数量,以提升得到的验证集的数据的质量。
20.在一些实施例中,所述若确认标签比例小于第二设置阈值,则修正所述第一验证数据集合中的部分数据,包括:将所述第一验证数据集合中的第一数据替换为第二数据,其中,所述第二数据属于所述数据集包括的除所述第一验证数据集合中数据之外的数据,所述第二数据的标签类别包括所述第一数据的标签类别且与所述第一数据对应的标签的总数目小于与所述第二数据对应的标签总数目;通过执行一次或多次上述替换过程直至经过所有次替换后所述第一验证数据集合包括的所有数据的标签比例大于或等于所述第二设置阈值得到所述验证集。
21.本技术的一些实施例在确认验证集的标签比例过小时则将剩余数据中标签更多的数据替换验证集中的数据,以尽可能满足第一原则提升训练数据的合理性。
22.在一些实施例中,与所述第二数据对应的标签总数目是所述数据集包括的除所述第一验证数据集合中数据之外的剩余数据中标签数目最多的。
23.本技术的一些实施例在确认标签比例过小时为了减少替换次数选择标签数目最多的数据替换第一验证数据集合中的数据。
24.在一些实施例中,所述若确认标签比例大于第一设置阈值,则修正所述第一验证数据集合中的部分数据,包括:将所述第一验证数据集合中的第三数据替换为第四数据,其中,所述第四数据属于所述数据集合包括的除所述第一验证数据集合中数据之外的数据,所述第三数据的标签类别包括所述第四数据的标签类别且与所述第三数据对应的标签的数量大于与所述第四数据对应的标签的数量;通过执行一次或多次上述替换过程直至经过所有次替换后所述第一验证数据集合包括的所有数据的标签比例小于或等于所述第一设置阈值得到所述验证集。
25.本技术的一些实施例在确认验证集标签比例过大时从剩余数据中选择标签数量较少的数据替换验证集中的数据,以尽可能满足第一原则提升训练数据的合理性。
26.在一些实施例中,与所述第四数据对应的标签数量是所述数据集包括的除所述第一验证数据集合中数据之外的剩余数据中标签数目最少的。
27.本技术的一些实施例在确认验证集标签比例过大时选择标签数最少的数据替换第一验证数据集合中的数据可以减少替换次数。
28.在一些实施例中,在所述从数据集中筛选出验证集之前,所述方法还包括:获取原始数据集包括的出现频率小于设置阈值的标签,得到稀有标签集合;对与所述稀有标签集合对应的数据进行重采样,得到采样结果;根据所述采样结果构建所述数据集。
29.本技术的一些实施例对稀有标签数据进行重采样避免丢失这些标签对应的数据。
30.第二方面,本技术的一些实施例提供一种训练自然语言处理模型的方法,根据如上述第一方面任意实施例得到的验证集和训练集对自然语言处理模型进行训练和验证,得到目标自然语言处理模型。
31.第三方面,本技术的一些实施例提供一种处理文本的方法,根据采用如第二方面实施例提供的方法得到的目标自然语言模型对待处理的文件进行分类,得到分类结果。
32.在一些实施例中,在所述得到分类结果之后,所述方法还包括:根据所述分类结果向用户提供检索结果或者向用户推荐目标文件。
33.第四方面,本技术的一些实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时可实现如上述第一方面、第二方面以及第三方面中任意实施例所述的方法。
34.第五方面,本技术的一些实施例提供一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述程序时可实现如上述第一方面、第二方面以及第三方面所述的方法。
35.第六方面,本技术的一些实施例提供一种获取训练数据的装置,所述装置包括:验证集筛选模块,被配置为从数据集中筛选出验证集,其中,所述验证集是根据第一原则对所述数据集中的数据进行筛选得到的,所述第一原则至少用于保证所述验证集对应的标签类别与所述数据集对应的标签类别尽可能接近;训练集获取模块,被配置为将所述数据集中除所述验证集之外的标签和数据作为训练集。
附图说明
36.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
37.图1为本技术实施例提供的对自然语言处理模型进行训练的示意图;
38.图2为本技术实施例提供的处理训练数据的方法流程图之一;
39.图3为本技术实施例提供的处理训练数据的方法流程图之二;
40.图4为本技术实施例提供的处理标注数据的装置组成框图;
41.图5为本技术实施例提供的电子设备组成示意图。
具体实施方式
42.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
43.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
44.本技术的一些实施例至少为了解决数据集标签划分不均衡问题,在多标签数据集的在标准化时,采用先划分验证集再划分训练集的模型,在划分验证集时,保证了验证集集合的标签类型和标签比例的合理性,从而保证了整个数据集划分的合理性。这种标准化方法有效解决了多标签数据集划分的标签不合理问题,可以充分利用整个数据集合,从而利用现有的数据并训练出相对健壮(robust)的系统模型。例如,在本技术的一些实施例中,在保证标签类别充分(例如,在本技术的一些实施例中得到基本验证数据集合基本验证数据集合基本验证数据集合基本验证数据集合中标签类别与数据集标签类别相同)的情况下,
通过验证集的筛选保证了训练集和验证集的标签比例尽可能靠近整个数据集,保证了多标签数据集标准化的合理性。例如,本技术的一些实施例通过与稀有标签对应的数据进行重采样和对第一验证数据集合中的数据进行修正的算法保证了训练集和验证集尽可能不会缺少标签。
45.可以理解的是,采用本技术一些实施例提供的多标签数据集标准化的方法对数据集划分充分利用数据,利用现有的数据并训练出相对健壮(robust)的系统模型。
46.请参看图1,图1为本技术实施例提供的根据训练集110和验证集120的数据对自然语言处理模型130进行训练,得到目标自然语言处理模型140的示意图,在训练过程中会根据图1中自然语言处理模型输出的预测结果调整该模型参数,最终得到目标自然语言处理模型140。
47.正如背景技术部分所描述的多任务自然语言处理系统在训练过程中,需要标准化的多标签的数据集合。自然语言处理系统需要抽取不同比例的数据作为训练过程中标准化的训练集和验证集,不同集合都需要尽量保证包含不同任务的所有标签,并且保证标签比例的平衡。不平衡的数据集划分会影响系统训练或者评估流程,比如训练集110的标签的不完整会导致系统对于缺失标签的不敏感,验证集120的标签的不完整会导致验证流程无法正确的评估系统的实际水平。
48.标准化的数据集划分可以避免系统对于特定标签的数据过于敏感或者过于不敏感,避免由于数据问题带来的系统决策的失误。相关技术对于单标签数据集标准化通常对训练集和验证集直接按照比例随机划分,但是对于每个数据对应多标签时随机划分的方式会带来背景技术部分指出的诸多缺陷。采用本技术的一些实施例至少可以有效解决自然语言处理多标签数据集不充分、差异大、难以标准化的问题。
49.下面结合图2示例性阐述本技术对数据集进行划分得到训练集110以及验证集120进而完成数据集标准化的过程。
50.如图2所示,本技术实施例提供一种处理训练数据的方法,该方法示例性包括:s101,从数据集中筛选出验证集,以及s102,将所述数据集中除所述验证集之外的标签和数据作为训练集。
51.需要说明的是,在本技术的一些实施例中s101涉及的所述验证集是根据第一原则对所述数据集中的数据进行筛选得到的,在本技术的一些实施例中所述第一原则至少用于保证所述验证集对应的标签类别与所述数据集对应的标签类别尽可能接近,该处的尽可能接近是指不同标签的总种类数以及每种不同标签的具体类别均尽可能相似。在本技术的另一些实施例中,第一原则至少用于保证所述验证集对应的所有标签类别的总数目与所述数据集对应的所有标签类别的总数目尽可能接近且还用于保证第一比值和第二比值的差值小于目标阈值,其中,所述第一比值为所述验证集包括的所有数据的总数目与所述数据集包括的所有数据的总数目之间的比,所述第二比值为所述验证集包括的所有标签的总数目与所述数据集包括的所有标签的总数目之间的比;或者,所述第一比值为所述验证集包括的数据总数目与标签总数目的比值,所述第二比值为所述数据集包括的数据总数目与标签总数目的比值。
52.本技术的一些实施例首先根据第一原则构建验证集再将数据集中除验证集之外的数据以及这些数据对应的标签作为训练集,在划分验证集时,保证了集合的标签类型和
标签比例的合理性,从而保证了整个数据集划分的合理性。这种标准化方法有效解决了多标签数据集划分的标签不合理问题,可以充分利用整个数据集合,从而利用现有的数据并训练出相对健壮(robust)的系统模型。
53.下面结合图3示例性阐述上述s101的实现过程。
54.s201,对原始数据集中的所有数据进行标签统计,统计出稀有标签,并且对稀有标签的数据进行重采样,构建数据集。
55.也就是说,在本技术的一些实施例中,在s101所述从数据集中筛选出验证集之前,所述方法还包括:获取原始数据集包括的出现频率小于设置阈值的标签,得到稀有标签集合;对与所述稀有标签集合对应的数据进行重采样,得到采样结果;根据所述采样结果构建所述数据集。本技术的一些实施例对稀有标签数据进行重采样避免丢失这些标签对应的数据。
56.例如,对原始数据集中与所有数据对应的标签进行标签统计,统计出稀有标签(标签数过少,或者标签占所有标签数量比例过小),并且对稀有标签的数据进行重采样,一般使用采样增强算法包括且不限于smote(synthetic minority oversampling technique,合成少数类过采样技术)算法等,构建新的多标签数据集得到数据集。
57.s202,确定数据集中训练集和验证集的划分比例,得到验证集的目标总数据量。
58.例如,若训练集和验证集包括的数据量的划分比列为9:1,且数据集总数据量为1000,则与验证集对应的目标总数据量为1000*0.1=100个,也就是说最终得到的验证集包含的数据的总量为100个,若将一个文本作为一个数据则验证集包括采集的100个文本以及与这些文本对应的所有标签。
59.s203,对数据集中的每个标签分别从该数据集中找一个或多个多标签的数据加入到基本验证数据集合。
60.也就是说,在本技术的一些实施例中,所述数据集包括多个数据以及与每个数据对应的多个标签,s101所述从数据集中筛选出验证集示例性包括:
61.第一步,获取所述数据集包括的各种不同标签,得到第一标签集合。
62.第二步,从所述数据集中筛选出与所述第一标签集合中各个标签分别对应的至少一个数据,得到基本验证数据集合。
63.第三步,根据所述基本验证数据集合得到所述验证集。例如,在本技术的一些实施例中,该第三步直接将第一标签集合和基本验证数据集合作为验证集(即不再执行图3示出的s203之后的步骤,而直接将得到基本验证数据集合作为最终的验证集对模型进行训练)。在本技术的一些实施例中,还需要考虑基础验证集的数据量是否满足s302所要的数据量,在这些实施例中还要对基础验证数据集中的数据进行增加或者删除等操作(即系执行后续的s204或者s205中的一个),以得到用于对模型进行验证的验证集。
64.通过执行s203本技术的一些实施例通过首先从数据集中筛选各种不同标签,并为各种不同标签分别从数据集中抽取一个或多个数据的进而将这些被抽取的数据作为基本验证数据集合中的数据,使得根据基本验证数据集合得到的验证集包含了与数据集中各种不同标签对应的数据,提升数据集划分的合理性,满足第一原则的要求。
65.s204,判断基本验证数据集合中的数据量是否大于目标总数据量,若大于则继续执行s205,若小于(这里不包括等于若等于则不用执行s204或者s205,可以直接执行s206)
则继续执行s206。
66.例如,首先对数据集中的所有数据随机打散(random shuffle),然后对每个标签找一个多标签数据加入到基本验证数据集合,并且对基本验证数据集合去重;根据去重后基本验证数据集合的数据数量,是否满足s202得到的目标总数据量要求,若数量超过该目标总数据量,则需要删减基本验证数据集合的数据,即执行s205;若数量未超过该目标总数据量,则需要补足,即执行s206。
67.s205,对上述基本验证数据集合中的数据进行删减得到第一验证数据集合,需要说明的是,在本技术的一些实施例中也可以将得到第一验证数据集合中的数据以及与这些数据对应的标签作为最终的验证集,并根据该验证集对模型进行验证。
68.也就是说,在本技术的一些实施例中,上述根据所述基本验证数据集合得到所述验证集示例性包括:若确认所述基本验证数据集合中的数据总量大于目标总数据量则对所述基本验证数据集合中的数据进行筛选,得到所述第一验证数据集合;根据所述第一验证数据集合得到所述验证集。例如,在本技术的一些实施例中,所述对所述基本验证数据集合中的数据进行筛选示例性包括:从所述基本验证数据集合中选择至少m个目标数据,作为第二验证数据集合,其中,与所述m个目标数据对应的标签类别的总数目(即不同标签的总种类数)大于或等于所述基本验证数据集合中剩余任意m个数据组合所对应的标签类别的总数目;重复上述过程直至所述第二验证数据集合的数据的总数目等于所述目标总数据量,得到所述第一验证数据集合。本技术的一些实施例在保证标签类别与基本验证数据集合或者数据集合的标签类别(例如,对应数据集合中数据总量与不同标签总量的比值)尽可能一致的条件下筛选基本验证数据集合中的数据,得到验证集数据,使得验证数据集的标签比例更加合理。
69.例如,基本验证数据集合的数据数量超过验证集数据数量(即目标总数据量)要求,需要对基本验证数据集合进行删减。删减可以使用beam search算法,首先在基本验证数据集合选出k1个数据使得标签类别最多,然后再增加k1个数据使得标签类别最多,以此类推得到要求数据数量的验证集,得到第一验证数据集合。beam search算法主要是保证验证集要包含所有类别的标签,但是实际的数据并不能保证这种情况一定发生(验证集的个数是确定的,但是标签类别可能有很多,所以可能出现不管怎么选数据,验证集也不能包含所有类型的标签),但是只能尽可能让验证集含有多的类别的标签。从基本验证数据集合挑选,和之前挑选的数据合在一起,使挑选出来的数据的标签类别最多。这一步就是对基本验证集进行删减,每一步挑选k1个数据,直至到达验证集要求的数据。可以理解的是,因为基本验证数据集合的数据数量超过了验证集的要求,所以要在基本验证集中挑选数据组成验证集,使用beam search算法,每次挑选k1个组合成新集合,直到挑选到满足验证集数量的数据。例如:假设基本验证数据集合中包括50个数据,但是验证集的数量(即目标总数据量)为30,因此基本验证数据集合的数量超过了要求,就需要在这50个数据里挑选30个。挑选的办法使用beam search,假设k1是5,就是每次挑选5个数据,直到达到30个。beam search保证每次挑选5个数据以后,所有挑选的数据的标签类型是最多的。
70.需要说明的是,在本技术的一些实施例中可以将执行s205之后得到的第一验证数据集合中的数据和这些数据对应的标签作为最终的验证集,利用该验证集对训练得到的模型进行验证。在本技术的一些实施例中还需要对s205处理后的第一验证数据集合中的数据
进行再处理以得到最终的验证集数据,即继续执行图3的s207并将执行s207后得到的验证集作为最终的验证集对模型进行验证。
71.s206,对上述基本验证数据集合进行补足得到第一验证数据集合,需要说明的是,在本技术的一些实施例中也可以将得到第一验证数据集合中的数据以及与这些数据对应的标签作为最终的验证集,并根据该验证集对模型进行验证。
72.在本技术的一些实施例中,上述根据所述基本验证数据集合得到所述验证集示例性包括:若确认所述基本验证数据集合中的总数据量小于目标总数据量则将第一数据集中的部分数据作为所述基本验证数据集合的数据,得到第一验证数据集合,其中,所述第一数据集为所述数据集包括的除所述基本验证数据集合外剩余的数据;根据所述第一验证数据集合得到所述验证集。
73.本技术的一些实施例在保证标签比例合理的原则下增加基本验证数据集合中的数据,使得验证集中的数据量满足要求。
74.例如,确认基本验证数据集合的数据数量少于验证集数据数量要求,需要对基本验证数据集合进行补足,补足使用beam search算法,首先在除去基本验证数据集合的剩余数据中选出k2个数据(例如,该k2个数据是从除去基本验证数据集合后的剩余数据中随机选择的),然后再增加k2个数据使得标签类型比例最接近整体数据(即数据集)的标签类型比例,以此类推得到补足数据数量的数据并加入到验证集。需要说明的是,基本验证数据集合加上挑选的数据的组合,它们的标签类型比例最接近数据集的标签类型比例。每次增加k2个数据补充到基本验证数据集合中,直到数量之和达到验证集数量的要求。例如,基本验证数据集合中总数据量为10,验证集数据量要求是50(即目标总数量为50),则需要为基本验证数据集合补充40个数据,如果k2为6,则使用beam search算法从上一步基本验证数据集合选完剩下的数据中(基本验证数据集合+剩下的数据=整体数据)每次增加6个数据到基本验证数据集合中,直至到50个数据。最后一次不一定是k2,因为只需要满足总数50,这个例子最后一次是补充4个数据(10

16

22

28

34

40

46

50)。
75.需要说明的是,在本技术的一些实施例中可以将执行s206之后得到的第一验证数据集合中的数据和这些数据对应的标签作为最终的验证集,利用该验证集对训练得到的模型进行验证。在本技术的一些实施例中还需要对s206处理后的第一验证数据集合中的数据进行再处理以得到最终的验证集数据,即继续执行图3的s207并将执行s207后得到的验证集作为最终的验证集对模型进行验证。
76.在本技术的一些实施例中对于之前得到的第一验证数据集合,在确定验证集数据数量的情况下,若存在标签数量的比例相比于整体数据集标签比例过大或者过小的情况,需要对齐验证集的标签数量。即需要对第一验证数据集合执行s207的操作。
77.s207,对齐第一验证数据集合中的标签数量得到验证集。
78.也就是说,在本技术的一些实施例中,上述根据所述第一验证数据集合得到所述验证集示例性包括:若确认标签比例大于第一设置阈值或确认标签比例小于第二设置阈值,则修正所述第一验证数据集合中的部分数据,得到所述验证集;其中,所述标签比例为第三比值与第四比值之间的比,所述第三比值为所述第一验证集合中包括的标签的总数目与所述数据集中包括的标签的总数目的比值,所述第四比值为所述第一验证集合中包括的数据的总数目与所述数据集中包括的数据总数目之间的比值。本技术的一些实施例在确定
验证集数据数量的情况下,若存在标签数量的比例相比于数据集标签比例过大或者过小的情况,需要对齐验证集的标签数量,以提升得到的验证集的数据的质量。
79.下面分别示例性阐述标签比例过小时如何修正第一验证数据集合中的数据。
80.在本技术的一些实施例中,所述若确认标签比例小于第二设置阈值(即标签比例过小),则修正所述第一验证数据集合中的部分数据示例性包括:将所述第一验证数据集合中的第一数据替换为第二数据,其中,所述第二数据属于所述数据集包括的除所述第一验证数据集合中数据之外的数据,所述第二数据的标签类别包括所述第一数据的标签类别且与所述第一数据对应的标签的总数目小于与所述第二数据对应的标签总数目;通过执行一次或多次上述替换过程直至经过所有次替换后所述第一验证数据集合包括的所有数据的标签比例大于或等于所述第二设置阈值得到所述验证集。可以理解的是,在每次替换中选择的替换数据都是不同的。本技术的一些实施例在确认验证集的标签比例过小时则将剩余数据中标签更多的数据替换验证集中的数据,以尽可能满足第一原则提升训练数据的合理性。
81.为了减少替换次数,在本技术的一些实施例中,与所述第二数据对应的标签总数目是所述数据集包括的除所述第一验证数据集合中数据之外的剩余数据中最多的。本技术的一些实施例在确认标签比例过小时为了减少替换次数选择标签数目最多的数据替换第一验证数据集合中的数据。
82.需要说明的是,在本技术的一些实施例中标签比例过小是指如下两个比值存在较大差异,即第一验证数据集合中标签的数量和数据集标签数量的比值和第一验证数据集合中的数据数量和数据集的数据量的比值。这里的过大过小一般是存在很明显的差异,比如数量级的差异。例如,数据集共有100个数据,第一验证数据集合共有数据10个,但是数据集对应的标签总个数1000个,第一验证数据集合的标签数只有20个。这时候,第一验证数据集合的标签的数量和数据集的标签数量的比值为20:1000,第一验证数据集合的数据数量和数据集中数据的总数量比值是10:100,相差较大,标签比例过小,存在数量级差异。
83.例如,在本技术的一些实施例中若存在标签比例过小的情况,需要增大验证集的标签数量。遍历第一验证数据集合,对于每个第一验证数据集合中的多标签数据,在除去第一验证数据结合的剩余数据中找到一个标签数大于该标签的且标签数最多的多标签数据使得替换前后不改变验证集含有的标签类别,若存在这样的多数据标签,进行替换。
84.下面分别示例性阐述标签比例过大时如何修正第一验证数据集合中的数据。
85.在本技术的一些实施例中,所述若确认标签比例大于第一设置阈值,则修正所述第一验证数据集合中的部分数据示例性包括:将所述第一验证数据集合中的第三数据替换为第四数据,其中,所述第四数据属于所述数据集合包括的除所述第一验证数据集合中数据之外的数据,所述第三数据的标签类别包括所述第四数据的标签类别且与所述第三数据对应的标签的数量大于与所述第四数据对应的标签的数量;通过执行一次或多次上述替换过程直至经过所有次替换后所述第一验证数据集合包括的所有数据的标签比例小于或等于所述第一设置阈值得到所述验证集。可以理解的是,在每次替换中选择的替换数据都是不同的。本技术的一些实施例在确认验证集标签比例过大时从剩余数据中选择标签数量较少的数据替换验证集中的数据,以尽可能满足第一原则提升训练数据的合理性。
86.为了减少替换次数,在本技术的一些实施例中,与所述第四数据对应的标签数量
是所述数据集包括的除所述第一验证数据集合中数据之外的剩余数据中最少的。本技术的一些实施例在确认验证集标签比例过大时选择标签数最少的数据替换第一验证数据集合中的数据可以减少替换次数。
87.下面集合一个示例阐述标签比例过大的含义。例如,数据集共有100个数据,第一验证数据集合中共有数据10个,与数据集对应的标签总数目为1000个,与第一验证数据集合对应的标签数有500个,因此第一验证数据集合标签的数量和数据集对应的标签数量的比值为500:1000,第一验证数据集合的数据的总量和数据集包括的数据的总量的比值是10:100,两个比值相差较大,即标签比例过大存在数量级差异。结合上述描述可知,若存在标签比例过大的情况,需要减小第一验证数据集合的标签数量。例如,遍历第一验证数据集合,对于第一验证数据集合中每个多标签数据,在除去第一验证数据集合的剩余数据中找到一个标签数小于该标签的且标签数最少的多标签数据使得替换前后不改变验证集含有的标签类别,若存在这样的多数据标签,进行替换。
88.需要说明的是,上述的训练集和验证集的划分比例rate为超参数。例如,划分比例rate可以设置为9:1或者8:2,确保尽可能好的训练效果和验证效果。上述迭代采样的方法解决了多标签数据集的标准化(即提供了一种处理训练数据的方法)问题。通过逐步确定验证集划分的保证了训练集和验证集的标签类别和标签比例都尽可能靠近整体数据,保证了数据集标准化的合理性,同时可以充分利用数据,相对提升模型系统的能力,训练出来的模型更为健壮。
89.下面以一个文本作为数据集中的一个数据结合两个示例阐述本技术实施例提供的处理训练数据的方法,该方法实现了对通用的多标签数据集进行标准化处理。
90.实施例1
91.在自然语言处理有一类文本标注的任务,需要对不同类型特定的文本进行标注,一般一篇文章有多个需要标注的地方,每个标注的地方都需要打上一个类别标签,所以一篇文章(作为数据集中一个数据的示例)含有多个标签(即一个数据对一个多个标签的一个示例)。文本标注就是一个需要多标签数据的自然语言处理任务。
92.在训练文本标注的自然语言处理模型时,就需要对这些多标签的文章进行训练集和验证集的划分,每个集合里文章的数量都是确定的。由于每篇文章都含有多个需要标注的地方,所以每篇文章也对应多个标签,而且每篇文章(作为验证集或训练集中的一个数据的示例)含有的标签数也存在很大差异。对于特定标注任务,含有特定标签的文章数量也比较有限。如果像相关技术那样对所有文章进行随机分配,就很可能会导致训练集或者验证集中缺失标签类别,而且训练集和验证集文章的比例(即训练集的数据与验证集的数据的比例的一个示例)和标签的比例(即与训练集对应的标签总数目和与验证集数据对应的标签总数目之间的比例)存在很大差异,与预想的划分比例出入很大。
93.本技术的一些实施例采用如下方法解决多标签文本标注中的数据集标准化问题。
94.首先,对数据集中的所有标签进行统计,如果存在标签过少的情况,甚至只含有一个,需要对数据进行重采样,这里使用smote算法,构建更多的标签数据。第二步对验证集的划分,按照训练集和验证集比例9:1的情况,需要拿出十分之一的数据作为验证集。对打乱顺序的数据进行抽取,每个标签的都需要抽取一个数据,如果抽取到重复的数据只保留一个。若抽取的数据多于验证集要求的数量,则需要删减,使用beam search算法从抽取的所
有数据中选取要求的数量并保证标签的种类最多;若抽取的数据少于验证集要求的数量,则需要增加,使用beam search算法从剩余的数据中选取要求的数量并保证标签的比例最接近整体的比例。
95.最后一步需要对齐验证集数据数量和标签数量的比例。因为每个数据含有的标签数不同,如果验证集选取的数据都含有较多的标签,会使得最终虽然训练集和验证集数据数量保持9:1,但是标签的比例远远大于9:1,与标准化的初衷相违背。这里需要尽量对数据进行替换,在保证标签类别不变的情况下尽可能交换验证集里的数据使得标签比例接近数据比例。
96.在划分好验证集之后,剩下的数据便是训练集数据,并且这种标准化方法同时保证了两个集合标签的比例都尽可能接近整体数据的比例,标准化完成。
97.实施例2
98.发布的文章往往需要自然语言处理模型进行文本分类,以便搜索和推荐。许多文章的内容包含很多领域,所以文本分类需要将这类文章归类到许多类别。面对这种需要处理多标签文本的自然语言处理模型,训练的数据多为多标签的数据集。由于文本格式、文本字数等要求的原因,多标签数据的文本分类数据集的各类标签的比例往往差别很大,比如门户网站新闻的数据,社会、科技、金融等类别文章的比例要比宗教、法律类的文章的比例大的多。另一方面,某些特殊的标签会出现很强的关联,比如门户网站新闻的多标签文章一般包含教育内容就很可能包含社会内容。
99.如果训练集和验证集的划分随机抽取的话,会出现标签类别和标签比例差异过大。这样会导致训练时模型在某些类别上过于敏感,降低模型的性能。
100.本技术的一些实施例具体可以类似实施例1里面的解决细则,用beam search抽取到更多合适比例的验证集数据,保证了训练集和验证集的标签在不缺少类别的情况下,也保证比例贴近整体数据,避免由于数据问题带来的模型预测的失误。
101.请参考图4,图4示出了本技术实施例通过的获取训练数据的装置,应理解,该装置与上述图2方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置的具体功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。装置包括至少一个能以软件或固件的形式存储于存储器中或固化在装置的操作系统中的软件功能模块,该获取训练数据的装置,包括:验证集筛选模块301以及训练集获取模块302。
102.验证集筛选模块,被配置为从数据集中筛选出验证集,其中,所述验证集是根据第一原则对所述数据集中的数据进行筛选得到的,所述第一原则至少用于保证所述验证集对应的标签类别与所述数据集对应的标签类别尽可能接近。
103.训练集获取模块,被配置为将所述数据集中除所述验证集之外的标签和数据作为训练集。
104.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
105.本技术的一些实施例提供一种训练自然语言处理模型的方法,根据如上述任意实施例得到的验证集和训练集对自然语言处理模型进行训练和验证,得到目标自然语言处理模型。
106.本技术的一些实施例提供一种处理文本的方法,根据采用如上述方法得到的目标
自然语言模型对待处理的文件进行分类,得到分类结果。
107.在一些实施例中,在所述得到分类结果之后,所述方法还包括:根据所述分类结果向用户提供检索结果或者向用户推荐目标文件。
108.本技术的一些实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时可实现如上述各种方法所包括的任意实施例所述的方法。
109.如图5所示,本技术的一些实施例提供一种电子设备500,包括存储器510、处理器520以及存储在所述存储器510上并可在所述处理器520上运行的计算机程序,其中,所述处理器520通过总线530从存储器510读取程序并执行所述程序时可实现如上述任意实施例所述的方法。
110.处理器520可以处理数字信号,可以包括各种计算结构。例如复杂指令集计算机结构、结构精简指令集计算机结构或者一种实行多种指令集组合的结构。在一些示例中,处理器520可以是微处理器。
111.存储器510可以用于存储由处理器520执行的指令或指令执行过程中相关的数据。这些指令和/或数据可以包括代码,用于实现本技术实施例描述的一个或多个模块的一些功能或者全部功能。本公开实施例的处理器520可以用于执行存储器510中的指令以实现图2中所示的方法。存储器510包括动态随机存取存储器、静态随机存取存储器、闪存、光存储器或其它本领域技术人员所熟知的存储器。
112.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
113.另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
114.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
115.以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。应注意到:相似的标号和
字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
116.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应所述以权利要求的保护范围为准。
117.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1