数据标签的修正方法、装置和存储介质与流程

文档序号:16087941发布日期:2018-11-27 22:39阅读:331来源:国知局

本发明涉及机器学习领域,尤其涉及一种数据标签的修正方法、装置和存储介质。



背景技术:

在有监督的学习任务当中,机器学习或深度学习系统的训练需要使用大量标注有相应数据标签的数据。一般来说,使用越多的且标注质量越高的数据来训练模型,训练得到的模型越能够反映真实的情况,对未知数据预测的结果越可靠。

为了提高数据的标注质量,需要找到与数据相匹配的标签。在现有技术中,为了提高数据的标注质量,采用的技术手段常见有人工标注、交叉熵筛选、信息检索和数据丢弃等。其中,人工标注通过人工对数据进行标注;交叉熵筛选通过将原始语料分成多个小集合,计算多个所述小集合的交叉熵并认为熵值最小的集合的数据标注可靠;信息检索依赖于确定的测试集,并检索相关的信息作为训练集;数据丢弃则是丢弃相似度而匹配结果不同的数据。

在实施本发明实施例的过程中,发明人发现,由于人工标注依赖于工作人员的知识与精力、交叉熵筛选丢失了部分数据信息、信息检索依赖于确定的测试集且检索数据质量难以保证,而数据丢弃存在重要数据丢失的风险,导致现有数据的数据标签可靠性较低,得到的机器学习模型预测的准确程度不高。



技术实现要素:

本发明实施例的目的是提供一种数据标签的修正方法、装置和存储介质,能有效提高数据的数据标签的可靠性,以提高得到的机器学习模型预测的准确程度。

为实现上述目的,本发明实施例提供了一种数据标签的修正方法,包括步骤:

载入待修正数据集;其中,所述待修正数据集包括训练集和测试集,所述训练集和所述测试集的数据均标注有预设的数据标签;

基于当前的训练集对机器学习模型进行训练,得到匹配模型;

将当前的测试集的数据作为输入数据输入当前的匹配模型,获取所述当前的匹配模型输出的匹配结果,以更新每一所述输入数据的数据标签;其中,所述匹配结果中针对每一所述输入数据,记录有每一标签的置信度;

当已获取的匹配结果的数量未达到预设值时,基于所述待修正数据集的数据,构建新的训练集和新的测试集;

当所述已获取的匹配结果的数量达到所述预设值时,结合所述已获取的匹配结果和所述预设的数据标签,对所述待修正数据集中的每一数据,计算每一所述标签的修正置信度,以修正所述待修正数据集中每一数据的数据标签。

作为上述方案的改进,所述当前的匹配模型输出的匹配结果中还针对每一所述输入数据,记录了每一所述标签的置信度排名。

作为上述方案的改进,其特征在于,所述结合所述已获取的匹配结果和所述预设的数据标签,对所述待修正数据集中的每一数据,计算每一所述标签的修正置信度,以修正所述待修正数据集中每一数据的数据标签,包括:

基于所述已获取的匹配结果,针对所述待修正数据集的每一数据,获取每一所述标签的置信度和置信度排名,并计算每一所述标签的置信度和置信度排名的加权计算值,结合所述预设的数据标签,得到每一所述标签的修正置信度;

针对所述待修正数据集的每一数据,以所述修正置信度最高的标签作为该数据的新的数据标签。

作为上述方案的改进,其特征在于,针对所述待修正数据集的任一数据,所述修正置信度、所述标签的置信度、所述标签的置信度排名和所述预设的数据标签之间满足以下关系:

S(k)=α*f(k)+(1-α)*g(k)+β*h(k)

式中,α和β均为常数,k为任一标签,S(k)为标签k的修正置信度,f(k)为标签k的置信度的加权平均值,g(k)为标签k的置信度排名的倒数的加权平均值;若该数据预设的数据标签为标签k,有h(k)=1;若数据预设的数据标签非标签k,有h(k)=0。

作为上述方案的改进,其特征在于,所述基于所述待修正数据集的数据,构建新的训练集和新的测试集,包括步骤:

将所述新的数据标签和所述预设的数据标签相一致的所述数据,作为新的训练集中的数据。

作为上述方案的改进,其特征在于,所述基于所述待修正数据集的数据,构建新的训练集和新的测试集,包括步骤:

以所述当前的测试集作为原测试集,以所述当前的训练集作为原训练集;

将属于所述原测试集的、且新的数据标签和上一次所述更新前的数据标签相一致的数据,作为训练组分一,所述原测试集的其他数据作为测试组分一;

从属于所述原训练集的数据中,获取数量与所述训练组分一相等的数据,作为测试组分二,所述原训练集的其他数据作为训练组分二;

合并所述训练组分一和所述训练组分二的数据,作为新的训练集;

合并所述测试组分一和所述测试组分二的数据,作为新的测试集。

作为上述方案的改进,其特征在于,所述从属于所述原训练集的数据中,获取数量与所述训练组分一相等的数据,包括步骤:

从属于所述原训练集的数据中,随机获取数量与所述训练组分一相等的数据。

本发明实施例还提供了一种数据标签的修正装置,包括载入模块、训练模块、匹配模块、更新模块和修正模块;

所述载入模块,用于载入待修正数据集;其中,所述待修正数据集包括训练集和测试集,所述训练集和所述测试集的数据均标注有预设的数据标签;

所述训练模块,用于基于当前的训练集对机器学习模型进行训练,得到匹配模型;

所述匹配模块,用于将当前的测试集的数据作为输入数据输入当前的匹配模型,获取所述当前的匹配模型输出的匹配结果,以更新每一所述输入数据的数据标签;其中,所述匹配结果中针对每一所述输入数据,记录有每一标签的置信度;

所述更新模块,用于当已获取的匹配结果的数量未达到预设值时,基于所述待修正数据集的数据,构建新的训练集和新的测试集;

所述修正模块,用于当所述已获取的匹配结果的数量达到所述预设值时,结合所述已获取的匹配结果和所述预设的数据标签,对所述待修正数据集中的每一数据,计算每一所述标签的修正置信度,以修正所述待修正数据集中每一数据的数据标签。

本发明实施例还提供了一种数据标签的修正装置,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上任意一项所述的数据标签的修正方法。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如上任意一项所述的数据标签的修正方法。

与现有技术相比,本发明公开的一种数据标签的修正方法、装置和存储介质,采用待修正数据集的训练集中的数据训练匹配模型,并用所述匹配模型计算所述待修正数据集的测试集中的数据与标签的匹配结果,在已获得的匹配结果的数量未达到预设值的情况下,重组以得到新的训练集和新的测试集,以得到新的匹配模型和新的匹配结果,在已获得的匹配结果的数量达到预设值的情况下,计算修正置信度并更新所述待修正数据集中的每一数据的新的数据标签,从而实现对所述待修正数据集的数据的数据标签的修正。解决了现有技术问题数据标注的质量难以保证的技术问题,有效地提高了数据的数据标签的可靠性,并且提高了得到的机器学习模型预测的准确程度。

附图说明

图1是本发明实施例中一种数据标签的修正方法的流程示意图。

图2是如图1所示的修正方法的步骤S140的流程示意图。

图3是如图1所示的修正方法的步骤S150的流程示意图。

图4是本发明实施例中一种数据标签的修正装置的结构示意图。

图5是本发明实施例中另一种数据标签的修正装置的结构示意图。

具体实施方式

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

参见图1,是本发明实施例提供的一种数据标签的修正方法的流程示意图。本发明实施例1提供的所述修正方法包括步骤S110至步骤S150。

S110、载入待修正数据集;其中,所述待修正数据集包括训练集和测试集,所述训练集和所述测试集的数据均标注有预设的数据标签。

其中,所述待修正数据集中的数据分别归属于所述训练集和所述测试集。

S120、基于当前的训练集对机器学习模型进行训练,得到匹配模型。

其中,所述当前的训练集可以是所述待修正数据集中预设的所述训练集,也可以是步骤S140构建得到的新的训练集,均不影响本发明可取得的有益效果。

所述机器学习模型可以是预先设定的学习模型,也可以是根据实际情况选取的学习模型,例如单一的机器学习模型或是集成的机器学习模型,均不影响本发明可取得的有益效果。

S130、将当前的测试集的数据作为输入数据输入当前的匹配模型,获取所述当前的匹配模型输出的匹配结果,以更新每一所述输入数据的数据标签;其中,所述匹配结果中针对每一所述输入数据,记录有每一标签的置信度。

其中,所述当前的测试集可以是所述待修正数据集中预设的所述测试集,也可以是步骤S140构建得到的新的测试集,均不影响本发明可取得的有益效果。

例如,设所述待修正数据集为A,所述训练集为A1,所述测试集为A2,假设A={a,b,c,d,e},Aa1={a,b,c},Ab1={d,e},标签类型包括标签1、标签2和标签3,其中数据a和数据b的预设的数据标签为标签1,数据c和数据e预设的数据标签为标签2,数据d预设的数据标签为标签3。基于Aa1对所述机器学习模型进行训练,得到匹配模型B1。B1作为当前的匹配模型,Ab1作为当前的测试集,将Ab1的数据作为输入数据输入B1,得到B1的输出的匹配结果C1。在C1中针对每一输入数据,记录有每一标签的置信度,即记录了数据d分别与标签1、标签2和标签3相匹配的置信度,假设数据d得到的置信度分别为0.6、0.7和0.8,标签3对应的置信度0.8为最高置信度,以标签3作为数据d的新的数据标签,即数据d的新的数据标签与预设的数据标签一致;C1中还记录了数据e分别与标签1、标签2和标签3相匹配的置信度,假设数据e得到的置信度分别为0.9、0.5和0.4,标签1对应的置信度0.9为最高置信度,以标签1作为数据e的新的数据标签,则数据e的新的数据标签与预设的数据标签不一致。可以理解地,上述示例仅作为本发明实施的一种举例,在其他情况下,也可以根据实际情况进行相应的改动,例如所述待修正数据集中包括更多的数据,或是置信度的表示方式改动等,均不影响本发明可取得的有益效果。

作为一种优选的实施方案,在所述匹配结果中,还可以针对每一所述输入数据,记录每一所述标签的置信度排名。继续上述举例,C1中还针对数据d记录了各标签的置信度排名,其中标签1的置信度为0.6,置信度排名为3,标签2的置信度为0.7,置信度排名为2,标签3的置信度为0.8,置信度排名为1;C1还针对数据e记录了各标签的置信度排名,其中标签1的置信度排名为1,标签2的置信度排名为2,标签3的置信度排名为3。

S140、当已获取的匹配结果的数量未达到预设值时,基于所述待修正数据集的数据,构建新的训练集和新的测试集。

其中,所述预设值可以是一个具体的数值,例如4、5或6等,以及更大或是更小的其他数值,均不影响本发明可取得的有益效果。

作为一种优选的实施方案,可以将所述新的数据标签和所述预设的数据标签相一致的所述数据,作为新的训练集中的数据。例如,在步骤S130的举例中,数据d的新的数据标签与预设的数据标签相一致,则将数据d作为所述新的训练集中的数据。

作为一种更优选的实施方案,参见图2,步骤S140可以将所述当前的测试集作为原测试集,以所述当前的训练集作为原训练集,包括步骤S141至步骤S144。

S141、将属于所述原测试集的、且新的数据标签和上一次所述更新前的数据标签相一致的数据,作为训练组分一,所述原测试集的其他数据作为测试组分一。

其中,针对所述原测试集中的任一数据,若该数据的数据标签仅经过一次所述更新,则在该数据的新的数据标签与预设的数据标签相一致的情况下,将该数据作为训练组分一;若该数据的数据标签仅过两次或更多次所述更新,例如经过三次所述更新,则在该数据的新的数据标签与第三次所述更新之前的数据标签进行相一致的情况下,将该数据作为训练组分一。

S142、从属于所述原训练集的数据中,获取数量与所述训练组分一相等的数据,作为测试组分二,所述原训练集的其他数据作为训练组分二。

优选地,可以是根据步骤S141中获取的训练组分一的数据数量,从所述原训练集中随机获取数量相等的数据,以作为所述测试组分二,所述原训练集的其他数据作为训练组分二。

S143、合并所述训练组分一和所述训练组分二的数据,作为新的训练集。

S144、合并所述测试组分一和所述测试组分二的数据,作为新的测试集。

可以理解地,步骤S143和步骤S144的执行顺序可以相互替换,例如步骤S144在步骤S143之前执行,也可以是步骤S143和步骤S144同时执行,均不影响本发明可取得的有益效果。

例如,结合步骤S130的举例,在执行步骤S140的操作之前,有Aa1={a,b,c},Ab1={d,e},并且在执行步骤S130之后,数据d的新的数据标签与更新前的数据标签相一致,因此在执行步骤S140之后,数据d成为新的训练集Aa2中的数据,新的训练集Aa2={a,c,d},新的测试集Ab2={b,e}。

在执行步骤S140之后,可以再次执行步骤S120和步骤S130的操作,以获得新的匹配结果,并在所述已获取的匹配结果的数量未达到所述预设值的情况下,重复步骤S120、步骤S130和步骤S140,使得所述已获取的匹配结果的数量达到所述预设值的要求。

S150、当所述已获取的匹配结果的数量达到所述预设值时,结合所述已获取的匹配结果和所述预设的数据标签,对所述待修正数据集中的每一数据,计算每一所述标签的修正置信度,以修正所述待修正数据集中每一数据的数据标签。

优选地,参见图3,步骤S150可以包括步骤S151和步骤S152。

S151、基于所述已获取的匹配结果,针对所述待修正数据集的每一数据,获取每一所述标签的置信度和置信度排名,并计算每一所述标签的置信度和置信度排名的加权计算值,结合所述预设的数据标签,得到每一所述标签的修正置信度。

更优选地,针对所述待修正数据集的任一数据,所述修正置信度、所述标签的置信度、所述标签的置信度排名和所述预设的数据标签之间满足以下关系:

S(k)=α*f(k)+(1-α)*g(k)+β*h(k)

式中,α和β均为常数,k为任一标签,S(k)为标签k的修正置信度,f(k)为标签k的置信度的加权平均值,g(k)为标签k的置信度排名的倒数的加权平均值;若该数据预设的数据标签为标签k,有h(k)=1;若数据预设的数据标签非标签k,有h(k)=0。

结合步骤S130优选实施方式的举例,针对A={a,b,c,d,e}中的每一个数据,即分别对数据a、数据b、数据c、数据d和数据e,计算相应的每一所述标签的修正置信度。以数据a为例,假设数据a在已获取的匹配结果中,标签1置信度的加权平均值为f(1)=0.9,置信度排名的加权平均值g(1)=1,并且数据a的预设的数据标签在标签1,即h(1)=1,设α=0.4,β=0.3,可得S(1)=1.26,同理可得到数据a的标签2的S(2)和标签3的S(3),以及A中的其他数据的每一所述标签的修正置信度。可以理解地,在其他情况下,也可以根据实际情况进行相应的改动,例如选取不同的α和β的数值等,均不影响本发明可取得的有益效果。

更具体地,针对所述待修正数据集的每一数据,任一所述标签的置信度的加权计算值满足以下关系:

式中,k为任一标签,f(k)为标签k的置信度的加权平均值,n为已获取的匹配结果的数量,为在第i个匹配结果中记录的、标签k的置信度。

更具体地,针对所述待修正数据集的每一数据,任一所述标签的置信度排名的加权计算值满足以下关系:

式中,k为任一标签,g(k)为标签k的置信度排名的倒数的加权平均值,n为已获取的匹配结果的数量,为在第i个匹配结果中记录的、标签k的置信度排名。

S152、针对所述待修正数据集的每一数据,以所述修正置信度最高的标签作为该数据的新的数据标签。

本发明实施例公开的一种数据标签的修正方法,采用待修正数据集的训练集中的数据训练匹配模型,并用所述匹配模型计算所述待修正数据集的测试集中的数据与标签的匹配结果,在已获得的匹配结果的数量未达到预设值的情况下,重组以得到新的训练集和新的测试集,以得到新的匹配模型和新的匹配结果,在已获得的匹配结果的数量达到预设值的情况下,计算修正置信度并更新所述待修正数据集中的每一数据的新的数据标签,从而实现对所述待修正数据集的数据的数据标签的修正。解决了现有技术问题数据标注的质量难以保证的技术问题,有效地提高了数据的数据标签的可靠性,并且提高了得到的机器学习模型预测的准确程度。

本发明实施例还提供了一种数据标签的修正装置,参见图4,修正装置20包括载入模块21、训练模块22、匹配模块23、更新模块24和修正模块25。

所述载入模块21,用于载入待修正数据集;其中,所述待修正数据集包括训练集和测试集,所述训练集和所述测试集的数据均标注有预设的数据标签。

所述训练模块22,用于基于当前的训练集对机器学习模型进行训练,得到匹配模型。

所述匹配模块23,用于将当前的测试集的数据作为输入数据输入当前的匹配模型,获取所述当前的匹配模型输出的匹配结果,以更新每一所述输入数据的数据标签;其中,所述匹配结果中针对每一所述输入数据,记录有每一标签的置信度。

所述更新模块24,用于当已获取的匹配结果的数量未达到预设值时,基于所述待修正数据集的数据,构建新的训练集和新的测试集。

所述修正模块25,用于当所述已获取的匹配结果的数量达到所述预设值时,结合所述已获取的匹配结果和所述预设的数据标签,对所述待修正数据集中的每一数据,计算每一所述标签的修正置信度,以修正所述待修正数据集中每一数据的数据标签。

所述修正装置20的工作过程如上述的数据标签的修正方法,在此不作赘述。

本发明实施例公开的一种数据标签的修正装置,采用待修正数据集的训练集中的数据训练匹配模型,并用所述匹配模型计算所述待修正数据集的测试集中的数据与标签的匹配结果,在已获得的匹配结果的数量未达到预设值的情况下,重组以得到新的训练集和新的测试集,以得到新的匹配模型和新的匹配结果,在已获得的匹配结果的数量达到预设值的情况下,计算修正置信度并更新所述待修正数据集中的每一数据的新的数据标签,从而实现对所述待修正数据集的数据的数据标签的修正。解决了现有技术问题数据标注的质量难以保证的技术问题,有效地提高了数据的数据标签的可靠性,并且提高了得到的机器学习模型预测的准确程度。

本发明实施例还提供了另一种数据标签的修正装置,如图5所示,数据标签的修正装置30包括:处理器31、存储器32以及存储在所述存储器中并可在所述处理器上运行的计算机程序,例如数据标签的修正程序。所述处理器31执行所述计算机程序时实现上述各个计算方法实施例中的步骤,例如图1所示的步骤S120。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块的功能,例如上述实施例中所述的数据标签的修正装置。

示例性的,所述计算机程序可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器32中,并由所述处理器31执行,以完成本发明。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述数据标签的修正装置30中的执行过程。例如,所述计算机程序可以被分割成载入模块、训练模块、匹配模块、更新模块和修正模块,各模块具体功能如下:所述载入模块,用于载入待修正数据集;其中,所述待修正数据集包括训练集和测试集,所述训练集和所述测试集的数据均标注有预设的数据标签;所述训练模块,用于基于当前的训练集对机器学习模型进行训练,得到匹配模型;所述匹配模块,用于将当前的测试集的数据作为输入数据输入当前的匹配模型,获取所述当前的匹配模型输出的匹配结果,以更新每一所述输入数据的数据标签;其中,所述匹配结果中针对每一所述输入数据,记录有每一标签的置信度;所述更新模块,用于当已获取的匹配结果的数量未达到预设值时,基于所述待修正数据集的数据,构建新的训练集和新的测试集;所述修正模块,用于当所述已获取的匹配结果的数量达到所述预设值时,结合所述已获取的匹配结果和所述预设的数据标签,对所述待修正数据集中的每一数据,计算每一所述标签的修正置信度,以修正所述待修正数据集中每一数据的数据标签。

所述数据标签的修正装置30可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述数据标签的修正装置30可包括,但不仅限于,处理器31、存储器32。本领域技术人员可以理解,所述示意图仅仅是数据标签的修正装置的示例,并不构成对数据标签的修正装置30的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述数据标签的修正装置30还可以包括输入输出设备、网络接入设备、总线等。

所称处理器31可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器31是所述数据标签的修正装置30的控制中心,利用各种接口和线路连接整个数据标签的修正装置30的各个部分。

所述存储器32可用于存储所述计算机程序和/或模块,所述处理器31通过运行或执行存储在所述存储器32内的计算机程序和/或模块,以及调用存储在存储器32内的数据,实现所述数据标签的修正装置30的各种功能。所述存储器32可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器32可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

其中,所述数据标签的修正装置30集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。

本发明实施例公开的一种数据标签的修正装置和存储介质,采用待修正数据集的训练集中的数据训练匹配模型,并用所述匹配模型计算所述待修正数据集的测试集中的数据与标签的匹配结果,在已获得的匹配结果的数量未达到预设值的情况下,重组以得到新的训练集和新的测试集,以得到新的匹配模型和新的匹配结果,在已获得的匹配结果的数量达到预设值的情况下,计算修正置信度并更新所述待修正数据集中的每一数据的新的数据标签,从而实现对所述待修正数据集的数据的数据标签的修正。解决了现有技术问题数据标注的质量难以保证的技术问题,有效地提高了数据的数据标签的可靠性,并且提高了得到的机器学习模型预测的准确程度。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

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