数据的处理方法、装置、设备以及存储介质与流程
本申请实施例涉及语言识别技术领域,并且更具体地,涉及数据的处理方法、装置、设备以及存储介质。
背景技术:
随着语言识别技术的不断发展,基于自然语言理解(naturallanguageunderstanding,nlu)的对话系统在包括手机、平板、电视等在内的终端设备中得到广泛的应用。而为了满足用户对于对话系统的自然语言理解能力的高要求,需要不断优化基于nlu的语言算法模型,使其分类识别能力得到优化,进而更好的识别用户的意图。
对此,现有技术常需要通过大量的训练数据对语言算法模型的分类识别能力进行优化训练,而在实际业务领域中,训练数据往往受长尾效应的影响而缺乏均衡性,大量类别模糊的边界语料因收录的频次较低而很少被抽取为训练数据,而少数类别清晰的数据因收录的频次较高,较多的被抽取为训练数据,导致语言算法模型无法对大量的边界数据进行准确的分类识别,进而使得语言算法模型的准确性较差。
技术实现要素:
本申请实施例提供了一种数据的处理方法、装置、设备以及存储介质。实现对语言算法模型的准确性进行验证和优化。
第一方面,提供了一种数据的处理方法,包括:
根据预设的验证集,对语言算法模型进行验证,得到验证结果;验证集包括第一数据集,第一数据集包括从数据池抽样得到的多个第一数据,第一数据是携带有标签,且不确定度大于第一预设阈值的数据;
根据验证结果,更新语言算法模型。
在一种具体的实现方式中,根据验证集,对语言算法模型进行验证,得到验证结果,包括:
针对验证集中的每个验证数据,将验证数据输入语言算法模型,得到语言算法模型针对验证数据的输出结果;
根据输出结果和验证数据的标签,确定语言算法模型针对验证数据的输出结果是否正确。
在一种具体的实现方式中,根据输出结果和验证数据的标签,确定语言算法模型针对验证数据的输出结果是否正确,包括:
确定输出结果和验证数据的标签是否相同;
若输出结果和验证数据的标签相同,则语言算法模型针对验证数据的输出结果正确;
否则,语言算法模型针对验证数据的输出结果错误。
在一种具体的实现方式中,根据验证结果,更新语言算法模型,包括:
根据验证结果,确定语言算法模型是否满足第一更新条件;
在语言算法模型满足第一更新条件时,根据预设的训练集,对语言算法模型进行训练;训练集包括第二数据集,第二数据集包括从数据池中抽样得到的多个第二数据,第二数据是携带有标签,且不确定度大于第二预设阈值的数据;
将语言算法模型更新为训练后的语言算法模型。
在一种具体的实现方式中,根据验证结果,确定语言算法模型是否满足第一更新条件,包括:
根据验证结果,确定语言算法模型针对全部验证数据的输出结果的正确率是否小于第一预设正确率阈值;
若语言算法模型针对全部验证数据的输出结果的正确率小于第一预设正确率阈值,则语言算法模型满足第一更新条件;
否则,语言算法模型不满足第一更新条件。
在一种具体的实现方式中,根据验证结果,确定语言算法模型是否满足第一更新条件,包括:
根据验证结果,确定语言算法模型针对第一数据集的输出结果的正确率是否小于第二预设正确率阈值;
若语言算法模型针对第一数据集的输出结果的正确率小于第二预设正确率阈值,则语言算法模型满足第一更新条件;
否则,语言算法模型不满足第一更新条件。
在一种具体的实现方式中,根据验证结果,确定语言算法模型是否满足第一更新条件,包括:
根据验证结果,确定第一占比是否大于第一预设占比阈值;第一占比为语言算法模型的错误输出结果对应的第一数据的数量占语言算法模型的错误输出结果对应的验证数据的数量的比例;
若第一占比大于第一预设占比阈值,则语言算法模型满足第一更新条件;
否则,语言算法模型不满足第一更新条件。
可选的,在根据预设的训练集,对语言算法模型进行训练之前,方法还包括:
根据验证结果,确定语言算法模型是否满足第二更新条件;第二更新条件与第一更新条件不同;
在语言算法模型满足第二更新条件时,获取第三数据集;第三数据集包括从数据池中抽样得到的多个第三数据,第三数据是携带有标签,且不确定度大于第三预设阈值的数据;
将第三数据集合入训练集,并根据训练集对语言算法模型进行训练。
在一种具体的实现方式中,根据验证结果,确定语言算法模型是否满足第二更新条件,包括:
根据验证结果,确定语言算法模型针对全部验证数据的输出结果的正确率是否小于第三预设正确率阈值;
若语言算法模型针对全部验证数据的输出结果的正确率小于第三预设正确率阈值,则语言算法模型满足第二更新条件;
否则,语言算法模型不满足第二更新条件。
在一种具体的实现方式中,根据验证结果,确定语言算法模型是否满足第二更新条件,包括:
根据验证结果,确定语言算法模型针对第一数据集的输出结果的正确率是否小于第四预设正确率阈值;
若语言算法模型针对第一数据集的输出结果的正确率小于第四预设正确率阈值,则语言算法模型满足第二更新条件;
否则,语言算法模型不满足第二更新条件。
在一种具体的实现方式中,根据验证结果,确定语言算法模型是否满足第二更新条件,包括:
根据验证结果,确定第一占比是否大于第二预设占比阈值;第一占比为语言算法模型的错误输出结果对应的第一数据的数量占语言算法模型的错误输出结果对应的验证数据的数量的比例;
若第一占比大于第二预设占比阈值,则语言算法模型满足第二更新条件;
否则,语言算法模型不满足第二更新条件。
可选的,第一数据集、第二数据集和第三数据集中的任意两个数据集均可以为互斥的数据集合,或者为含有部分相同数据的数据集合。
可选的,在根据预先获取的验证集,对语言算法模型进行验证,得到验证结果之前,方法还包括:
根据第一预设阈值,从数据池进行抽样,得到第一数据集,数据池为基于未标注样本集得到的所有不确定度大于预设不确定度阈值的数据,并且每个数据均携带有标签。
可选的,在从数据池进行抽样,得到第一数据集之前,方法还包括:
将未标注样本集中的每个未标注样本数据输入分类模型,得到多个不确定度大于预设阈值的未标注样本数据;分类模型为基于主动学习模型预先训练得到的;
对多个不确定度大于预设不确定度阈值的未标注样本数据进行标签标注;
由标注后的多个不确定度大于预设不确定度阈值的数据组成数据池。
在一种具体的实现方式中,将未标注样本集中的每个未标注样本数据输入分类模型,得到多个不确定度大于预设阈值的未标注样本数据,包括:
通过分类模型的查询函数,对每个未标注样本数据的分类结果进行打分,得到未标注样本数据的不确定度;
比较每个未标注样本数据的不确定度和预设阈值,得到多个不确定度大于预设阈值的未标注样本数据。
可选的,在根据验证结果,更新语言算法模型之后,方法还包括:
根据预设的测试集对语言算法模型进行泛化测试,得到测试结果;测试集包括第四数据集,第四数据集包括从数据池中抽样得到的多个第四数据,第四数据是携带有标签,且不确定度大于第四预设阈值的数据,测试结果用于指示更新后的语言算法模型的准确性。
第二方面,提供一种数据的处理装置,包括:
验证单元,用于根据预设的验证集,对语言算法模型进行验证,得到验证结果;验证集包括第一数据集,第一数据集包括从数据池抽样得到的多个第一数据,第一数据是携带有标签,且不确定度大于第一预设阈值的数据;
更新单元,用于根据验证结果,更新语言算法模型。
在一种可能的设计中,验证单元具体用于:
针对验证集中的每个验证数据,将验证数据输入语言算法模型,得到语言算法模型针对验证数据的输出结果;
根据输出结果和验证数据的标签,确定语言算法模型针对验证数据的输出结果是否正确。
在一种可能的设计中,验证单元具体用于:
确定输出结果和验证数据的标签是否相同;
若输出结果和验证数据的标签相同,则语言算法模型针对验证数据的输出结果正确;
否则,语言算法模型针对验证数据的输出结果错误。
在一种可能的设计中,更新单元具体用于:
根据验证结果,确定语言算法模型是否满足第一更新条件;
在语言算法模型满足第一更新条件时,根据预设的训练集,对语言算法模型进行训练;训练集包括第二数据集,第二数据集包括从数据池中抽样得到的多个第二数据,第二数据是携带有标签,且不确定度大于第二预设阈值的数据;
将语言算法模型更新为训练后的语言算法模型。
在一种可能的设计中,更新单元具体用于:
根据验证结果,确定语言算法模型针对全部验证数据的输出结果的正确率是否小于第一预设正确率阈值;
若语言算法模型针对全部验证数据的输出结果的正确率小于第一预设正确率阈值,则语言算法模型满足第一更新条件;
否则,语言算法模型不满足第一更新条件。
在一种可能的设计中,更新单元具体用于:
根据验证结果,确定语言算法模型针对第一数据集的输出结果的正确率是否小于第二预设正确率阈值;
若语言算法模型针对第一数据集的输出结果的正确率小于第二预设正确率阈值,则语言算法模型满足第一更新条件;
否则,语言算法模型不满足第一更新条件。
在一种可能的设计中,更新单元具体用于:
根据验证结果,确定第一占比是否大于第一预设占比阈值;第一占比为语言算法模型的错误输出结果对应的第一数据的数量占语言算法模型的错误输出结果对应的验证数据的数量的比例;
若第一占比大于第一预设占比阈值,则语言算法模型满足第一更新条件;
否则,语言算法模型不满足第一更新条件。
在一种可能的设计中,更新单元具体用于:
根据验证结果,确定语言算法模型是否满足第二更新条件;第二更新条件与第一更新条件不同;
在语言算法模型满足第二更新条件时,获取第三数据集;第三数据集包括从数据池中抽样得到的多个第三数据,第三数据是携带有标签,且不确定度大于第三预设阈值的数据;
将第三数据集合入训练集,并根据训练集对语言算法模型进行训练。
在一种可能的设计中,更新单元具体用于:
根据验证结果,确定语言算法模型针对全部验证数据的输出结果的正确率是否小于第三预设正确率阈值;
若语言算法模型针对全部验证数据的输出结果的正确率小于第三预设正确率阈值,则语言算法模型满足第二更新条件;
否则,语言算法模型不满足第二更新条件。
在一种可能的设计中,更新单元具体用于:
根据验证结果,确定语言算法模型针对第一数据集的输出结果的正确率是否小于第四预设正确率阈值;
若语言算法模型针对第一数据集的输出结果的正确率小于第四预设正确率阈值,则语言算法模型满足第二更新条件;
否则,语言算法模型不满足第二更新条件。
在一种可能的设计中,更新单元具体用于:
根据验证结果,确定第一占比是否大于第二预设占比阈值;第一占比为语言算法模型的错误输出结果对应的第一数据的数量占语言算法模型的错误输出结果对应的验证数据的数量的比例;
若第一占比大于第二预设占比阈值,则语言算法模型满足第二更新条件;
否则,语言算法模型不满足第二更新条件。
可选的,第一数据集、第二数据集和第三数据集中的任意两个数据集均可以为互斥的数据集合,或者为含有部分相同数据的数据集合。
在一种可能的设计中,装置还包括:
获取单元,用于根据第一预设阈值,从数据池进行抽样,得到第一数据集,数据池为基于未标注样本集得到的所有不确定度大于预设不确定度阈值的数据,并且每个数据均携带有标签。
在一种可能的设计中,获取单元还用于:
将未标注样本集中的每个未标注样本数据输入分类模型,得到多个不确定度大于预设阈值的未标注样本数据;分类模型为基于主动学习模型预先训练得到的;
对多个不确定度大于预设不确定度阈值的未标注样本数据进行标签标注;
由标注后的多个不确定度大于预设不确定度阈值的数据组成数据池。
在一种可能的设计中,获取单元具体用于:
通过分类模型的查询函数,对每个未标注样本数据的分类结果进行打分,得到未标注样本数据的不确定度;
比较每个未标注样本数据的不确定度和预设阈值,得到多个不确定度大于预设阈值的未标注样本数据。
在一种可能的设计中,装置还包括:
测试单元,用于根据预设的测试集对语言算法模型进行泛化测试,得到测试结果;测试集包括第四数据集,第四数据集包括从数据池中抽样得到的多个第四数据,第四数据是携带有标签,且不确定度大于第四预设阈值的数据,测试结果用于指示更新后的语言算法模型的准确性。
第三方面,提供一种电子设备,包括:处理器和存储器,该存储器用于存储计算机程序,处理器用于调用并运行存储器中存储的计算机程序,执行如第一方面或其各实现方式中的方法。
第四方面,提供一种计算机可读存储介质,用于存储计算机程序,计算机程序使得计算机执行如第一方面或其各实现方式中的方法。
第五方面,提供一种计算机程序产品,包括计算机程序指令,该计算机程序指令使得计算机执行如第一方面或其各实现方式中的方法。
第六方面,提供一种计算机程序,计算机程序使得计算机执行如第一方面或其各实现方式中的方法。
通过上述第一方面的技术方案,使得能够根据包含不确定度高的验证数据的验证集对语言算法模型的输出准确性进行验证,并在语言算法模型的准确性不满足要求时,根据包含不确定度高的训练数据的训练集对语言算法模型进行优化训练,以提高语言算法模型的准确性。
附图说明
图1为本申请实施例提供的一种数据的处理方法的流程示意图;
图2为本申请实施例提供的一种数据的处理方法的流程示意图;
图3为本申请实施例提供的一种数据的处理方法的流程示意图;
图4(a)至图4(c)为本申请实施例提供的数据分布示意图;
图5为本申请实施例提供的一种分类模型的训练流程示意图;
图6为本申请实施例提供的一种数据的处理方法的流程示意图;
图7为本申请实施例提供的一种数据的处理方法的流程示意图;
图8为本申请实施例提供的一种数据的处理方法的流程示意图;
图9为本申请实施例提供的一种数据的处理方法的流程示意图;
图10示出了根据本申请实施例的数据的处理装置的示意性框图;
图11示出了根据本申请实施例的数据的处理装置的示意性框图;
图12示出了根据本申请实施例的数据的处理装置的示意性框图;
图13是本申请实施例提供的一种电子设备示意性结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。针对本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例的技术方案可以应用于各种电子设备,用于实现对语言算法模型的验证、优化、测试中的至少一种。该电子设备可以是一种终端设备,例如手机(mobilephone)、平板电脑(pad)、电脑、虚拟现实(virtualreality,vr)终端设备、增强现实(augmentedreality,ar)终端设备、工业控制(industrialcontrol)中的终端设备、无人驾驶(selfdriving)中的终端设备、远程医疗(remotemedical)中的终端设备、智慧城市(smartcity)中的终端设备或智慧家庭(smarthome)中的终端设备等。本申请实施例中的终端设备还可以是可穿戴设备,可穿戴设备也可以称为穿戴式智能设备,是应用穿戴式技术对日常穿戴进行智能化设计、开发出可以穿戴的设备的总称,如眼镜、手套、手表、服饰及鞋等。可穿戴设备即直接穿在身上,或是整合到用户的衣服或配件的一种便携式设备。终端设备可以是固定的或者移动的。
示例性的,本申请实施例中的电子设备还可以是一种服务器,当电子设备为服务器时,可通过终端设备收集语料信息(同下文中的未标注样本数据),并从语料信息中提取用于对语言算法模型进行验证、优化、测试的数据,以对语言算法模型进行验证、优化、测试等。
应理解,作为一种语言算法模型,例如基于自然语言理解(naturallanguageunderstanding,nlu)的语言算法模型可以作为对话系统的组成部分,对用户输入的语音或者文字进行语义分析,并根据用户的意图将输入的语音或者文字内容进行分类,例如分为聊天、娱乐、音乐、购物、百科、饮食等类别。通过收集大量的用户输入内容,能够得到大量类别清楚的内容,和少量类别模糊的内容,示例性的,针对饮食类别,用户输入内容较多的为“评分最高的餐厅”、“最近的早餐店”“想吃火锅”等类别清楚的属于饮食类别的内容,而还存在少量的用户输入内容为“东北人家”“西湖春天”“坚果拼盘”等也属于饮食类别的但内容类别不够清楚的内容,从这些内容中抽取得到的训练数据,受到内容频次的影响,类别模糊的数据非常缺乏,通过这样的训练数据对语言算法模型进行训练,使得语言算法模型无法对类别模糊的数据进行准确的识别,进而影响了语言算法模型的准确性。
针对上述场景,本申请实施例预先对类别模糊的数据(通过下文中分类模型识别后体现为不确定度高的数据)进行提取和标签标注,再根据包含类别模糊数据的验证数据对语言算法模型的准确性进行验证,在准确性较差时根据包含类别模糊数据的训练数据对语言算法模型进行优化。作为示例而非限制性的,在优化完成后,通过包含类别模糊数据的测试数据对语言算法模型进行泛化测试。达到全面提高语言算法模型准确性的目的。
下面通过几个实施例对本申请进行具体说明。
图1为本申请实施例提供的一种数据的处理方法的流程示意图。
为了确保语言算法模型能够针对用户输入的各种类别的语音或者文字内容进行准确的识别,本申请实施例通过在验证集中增加第一数据集来增加不确定度高的数据的总量,基于该验证集对语言算法模型进行验证,并依据验证结果更新语言算法模型,以提高语言算法模型的准确性。
如图1所示,通过包含第一数据集的验证集对语言算法模型进行验证,例如对语言算法模型的识别准确性进行验证,确定语言算法模型的识别准确性是否满足要求,例如对不确定度高的数据进行识别时的识别准确性是否满足要求,或者对整体验证数据进行识别时的识别准确性是否满足要求;进而,根据验证结果对语言算法模型进行优化更新。
应理解,第一数据集包括多个第一数据,每个第一数据都是携带有标签的,且不确定度大于第一预设阈值的数据。验证集中除了包括有第一数据集以外,还包括原验证数据,示例性的,原验证数据为经过任一抽样方法从预先采集的未标注样本数据中获取的,且标注了标签的数据,由于未标注样本数据中存在大量类别清楚的高频次数据和少量类别模糊的低频次数据,相应的,从未标注样本数据中获取的原验证数据中具有大量类别清楚的高频次的验证数据和少量类别模糊的低频次的验证数据。而将第一数据集设置于验证集中,弥补了验证集中缺少类别模糊的低频次验证数据的不足。
在上述实施例的基础上,图2为本申请实施例提供的一种数据的处理方法的流程示意图。结合图2所示,在对语言算法模型进行验证,得到验证结果的过程中,针对验证集中的每个验证数据,将验证数据输入语言算法模型,得到语言算法模型针对该验证数据的输出结果。该输出结果包括对验证数据识别得到的类别,例如聊天、娱乐、音乐、购物、百科、饮食等,而验证数据携带的标签也包括预先对验证数据设置的类别。进而根据每个验证数据携带的标签和对应的输出结果,确定语言算法模型对该验证数据的输出结果是否正确。示例性的,可确定输出结果和标签是否相同,例如,标签为a,输出结果也为a,则输出结果与标签相同,则语言算法模型针对该验证数据的输出结果正确;或者,可确定输出结果和标签的相似度是否大于相似度阈值,例如标签为a,输出结果为a’,a和a’的相速度大于相似度阈值,则语言算法模型针对该验证数据的输出结果正确;或者,可确定输出结果和标签是否互为子类别,例如,标签为a,输出结果为b,假设a为b的子类别,或者b为a的子类别,则语言算法模型针对该验证数据的输出结果正确;在上述任一示例中,不满足示例中的条件时,即确定语言算法模型针对该验证数据的输出结果错误。
应理解,验证结果中包括与每个验证数据对应的输出结果是否正确的指示信息。
本申请实施例中,通过验证集对语言算法模型进行验证后,通过分析验证结果所指示的信息能够反映当前语言算法模型的识别准确性,尤其能够得到当前语言算法模型针对不确定度高的数据的识别准确性,对语言算法模型进行更新以提高语言算法模型的识别准确性。
图3为本申请实施例提供的一种数据的处理方法的流程示意图。示例性的,结合图3所示,第一数据集的获取过程,包括:将预先获取的未标注样本集中的每个未标注样本数据输入分类模型,得到多个不确定度大于预设不确定度阈值的未标注样本数据,并对每个不确定度大于预设不确定度阈值的未标注样本数据进行标签标注,最终得到多个携带有标签的不确定度大于预设不确定度阈值的数据,由这些数据组成了数据池。进而根据第一预设阈值,从数据池进行抽样,得到多个第一数据,组成第一数据集。
可选的,从数据池进行抽样得到多个第一数据可采用随机抽样、依据抽样函数进行抽样等方式,本申请对此不做要求。
可选的,第一预设阈值与预设不确定度阈值可以相同,或者第一预设阈值大于预设不确定度阈值。
其中,分类模型为基于主动学习模型预先训练得到的。图4(a)至图4(c)为本申请实施例提供的数据分布示意图。结合图4所示,图4(a)二分类数据分布图,图4(b)为随机抽取数据分布图,图4(c)为基于主动学习模型训练的分类模型抽取数据分布图,可见分类模型抽取的数据多分布于类别的边界,即类别模糊的数据。应理解,分类模型针对输入的每个未标注样本数据,能够输出与之对应的分类结果,即该未标注样本数据的类别,例如聊天、娱乐、音乐、购物、百科、饮食等,同时,分类模型的查询函数,会对每个未标注样本数据的分类结果进行打分,得到每个未标注样本数据的不确定度。进而,根据不确定度和预设的不确定度阈值,对不确定度高的数据进行筛选。应理解,不确定度高的数据,其对应的分类模型输出的分类结果的可靠性也较低,因此,对于不确定度高的数据,需要通过人工标注或者其他更加准确的标注方式对其进行标签标注。
图5为本申请实施例提供的一种分类模型的训练流程示意图。示例性的,分类模型的训练过程包括:获取多个初始样本,该初始样本为已标注的训练样本,对主动学习模型进行训练,得到初始分类模型;根据初始分类模型c的查询函数q在为标注训练样本集u中查询获取不确定度最高的预设数量的训练样本;通过督导者s对训练样本进行标注,该标注可以是人工标注或者其他标注方式,并将标注后的训练样本合入已标注训练样本集;再根据已标注训练样本集对初始分类模型进行训练;进一步地,根据训练后的初始分类模型的查询函数q从未标注训练样本集u的剩余样本中获取不确定度最高的预设数量的训练样本;通过督导者s对训练样本进行标注,该标注可以是人工标注或者其他标注方式,并将标注后的训练样本合入已标注训练样本集;再根据已标注训练样本集对初始分类模型进行训练;重复上述对初始分类模型的训练过程直至初始分类模型满足准确度要求或者初始分类模型的损失函数值收敛至预设值时结束训练过程,得到分类模型。
综上,基于主动学习模型训练得到的分类模型,能够高效筛选出不确定度高的数据。
图6为本申请实施例提供的一种数据的处理方法的流程示意图。结合图6所示,可根据验证结果,分析语言算法模型的识别准确性,或者语言算法模型针对不确定度高的数据的识别准确性,来判断是否需要对语言算法模型进行更新。
确定语言算法模型是否需要更新,即判断是否满足第一更新条件,包括但不限于以下三种可能的实现方式:
方式一、根据验证结果中针对每个验证数据指示的信息,找出其中正确的输出结果的数量,根据正确的输出结果的数量和验证数据的总数量,计算出语言算法模型针对全部验证数据的输出结果的正确率,并确定该正确率是否小于第一预设正确率阈值;若正确率小于第一预设正确率阈值,则表明语言算法模型的准确性需要提高,即满足第一更新条件;否则,不满足第一更新条件。
方式二、根据验证结果中针对每个第一数据指示的信息,找出其中正确的输出结果的数量,根据正确的输出结果的数量和第一数据的总数量,计算出语言算法模型针对第一数据集的输出结果的正确率,并确定该正确率是否小于第二预设正确率阈值;若该正确率小于第二预设正确率阈值,则表明语言算法模型针对不确定度高的数据的识别准确性需要提高,即满足第一更新条件;否则,不满足第一更新条件。
方式三、根据验证结果中指示的错误输出结果对应的验证数据,计算这些验证数据中第一数据的数量占所有错误输出结果对应的验证数据的数量的比例,得到第一占比,并确定第一占比是否大于第一预设占比阈值;若第一占比大于第一预设占比阈值,则表明语言算法模型对于不确定度高的数据的识别准确性相比于对其他验证数据的识别准确性更低,需要提高语言算法模型针对不确定度高的数据的识别准确性,即满足第一更新条件;否则,不满足第一更新条件。
本申请实施例中,方式一针对语言算法模型的整体准确性进行分析,一般来说,语言算法模型已经经过大量高频次类别的训练数据的训练,针对高频词类别的识别能力较高,因此在通过含有第一数据集的验证数据对语言算法模型进行验证时,若整体的准确性较低,则一定程度反映出语言算法模型针对不确定度高的数据的识别准确性较差。相对于方式一,方式二和方式三侧重于分析语言算法模型在识别不确定度高的数据时的准确性。
进一步地,通过验证集的验证,在语言算法模型满足第一更新条件时,语言算法模型的识别准确性,尤其对于不确定度高的数据的识别准确性较低。为了使语言算法模型针对不确定度高的数据的识别准确性更高,本申请实施例,需要根据预设的训练集,对语言算法模型进行训练。其中,预设的训练集包括第二数据集,第二数据集包括从数据池中抽样得到的多个第二数据,每个第二数据均是携带有标签,且不确定度大于第二预设阈值的数据,多个第二数据可以是通过随机抽样或者根据抽样函数进行抽样得到的,本申请对此不做限制。通过在训练集中增加第二数据集,使训练集中的训练数据的类别更加均衡,以使训练后的语言算法模型更加准确。
在语言算法模型不满足第一更新条件时,说明语言算法模型的准确性较高,此时可以对语言算法模型进行更新也可以不对语言算法模型进行更新,本申请对此不做要求,选择根据包含不确定度高的训练数据对语言算法模型进行更新可以进一步提高语言算法模型的准确性,选择不更新语言算法模型则减少了系统消耗。
其中,第二预设阈值与前述预设不确定度阈值可以相同,或者第二预设阈值大于预设不确定度阈值。第二预设阈值与第一预设阈值可以相同也可以不同,本申请对此不做限制。上述实施例中的第一数据集以及第二数据集为两次从数据池抽样得到的,第一数据集和第二数据集可以为互斥的集合,或者为部分数据相同的集合。
示例性的,根据预设的训练集对语言算法模型进行迭代训练,直至损失函数的值收敛至预设值时停止训练过程。将语言算法模型更新为训练后的语言算法模型。
为了进一步提高语言算法模型对不确定度高的数据的识别准确性,本申请实施例可根据语言算法模型对于不确定度高的数据的识别的准确程度,采取对应的更新方法。示例性的,在语言算法模型满足第一更新条件时,根据预设的训练集对语言算法模型进行训练,而在语言算法模型满足第二更新条件时,在预设的训练集中增加不确定度高的数据,以提高不确定度高的数据在训练集中的占比,再根据训练集对语言算法模型进行训练。
应理解,第二更新条件与第一更新条件不同,具体体现为相较于满足第一更新条件的语言算法模型来说,第二更新条件的语言算法模型的识别准确性将更低。本申请实施例对于确定语言算法模型是否满足第二更新条件,以及语言算法模型是否需满足第一更新条件的执行顺序不做要求。若先确定语言算法模型是否满足第二更新条件,则在确定语言算法模型满足第二更新条件时,其一定也满足第一更新条件;类似的,若先确定语言算法模型是否满足第一更新条件,则在确定语言算法模型不满足第一更新条件时,其也一定不满足第二更新条件。
示例性的,若确定语言算法模型满足第一更新条件,则根据验证结果确定语言算法模型是否满足第二更新条件。若语言算法模型不满足第二更新条件,则依然执行上述实施例中根据预设的训练集,对语言算法模型进行训练的步骤;若语言算法模型满足第二更新条件,则获取第三数据集,将第三数据集合入训练集,并根据训练集对语言算法模型进行训练。
本申请实施例在确定语言算法模型是否满足第二更新条件的过程中,包括但不限于以下三种实现方式:
方式一、根据验证结果中针对每个验证数据指示的信息,找出其中正确的输出结果的数量,根据正确的输出结果的数量和验证数据的总数量,计算出语言算法模型针对全部验证数据的输出结果的正确率,并确定该正确率是否小于第三预设正确率阈值;若正确率小于第三预设正确率阈值,则表明语言算法模型的准确性较低,即满足第二更新条件;否则,不满足第二更新条件。
方式二、根据验证结果中针对每个第一数据指示的信息,找出其中正确的输出结果的数量,根据正确的输出结果的数量和第一数据的总数量,计算出语言算法模型针对第一数据集的输出结果的正确率,并确定该正确率是否小于第四预设正确率阈值;若该正确率小于第四预设正确率阈值,则表明语言算法模型针对不确定度高的数据的识别准确性较低,即满足第二更新条件;否则,不满足第二更新条件。
方式三、根据验证结果中指示的错误输出结果对应的验证数据,计算这些验证数据中第一数据的数量占所有错误输出结果对应的验证数据的数量的比例,得到第一占比,并确定第一占比是否大于第二预设占比阈值;若第一占比大于第二预设占比阈值,则表明语言算法模型对于不确定度高的数据的识别准确性相比于对其他验证数据的识别准确性更低,需要提高语言算法模型针对不确定度高的数据的识别准确性,即满足第二更新条件;否则,不满足第二更新条件。
本申请实施例中确定语言算法模型是否满足第二更新条件的三种实现方式与确定语言算法模型是否满足第一更新条件的三种实现方式可以任意组合。例如根据第一占比确定语言算法模型是否满足第二更新条件,可根据第一占比、语言算法模型针对全部验证数据的输出结果的正确率或语言算法模型针对第一数据集的输出结果的正确率确定语言算法模型是否满足第一更新条件。应理解,若基于相同的维度确定语言算法模型是否满足第一更新条件和第二更新条件,第二更新条件和第一更新条件的不同体现在确定是否满足更新条件所采用的阈值大小不同。例如,若同时根据语言算法模型针对全部验证数据的输出结果的正确率来确定语言算法模型是否满足第一更新条件和第二更新条件,则第三预设正确率阈值应小于第一预设正确率阈值;若同时根据语言算法模型针对第一数据集的输出结果的正确率来确定语言算法模型是否满足第一更新条件和第二更新条件,则第四预设正确率阈值应小于第二预设正确率阈值;若同时根据第一占比来确定语言算法模型是否满足第一更新条件和第二更新条件,则第二预设占比阈值应大于第一预设占比阈值。
图7为本申请实施例提供的一种数据的处理方法的流程示意图。
进一步地,结合图7所示,通过验证集的验证,在语言算法模型满足第二更新条件时,语言算法模型的识别准确性,尤其对于不确定度高的数据的识别准确性更低。为了使语言算法模型针对不确定度高的数据的识别准确性得到有效提高,本申请实施例中通过在预设的训练集中增加第三数据集来增加训练集中不确定度高的数据的总量,并根据该训练集,对语言算法模型进行训练。可选的,在训练集中的训练数据的总量已经达到最高限制时,可用第三数据集中的第三数据替换原训练集中的训练数据,若第三数据与原训练集中的训练数据存在重复,则对第三数据集进行去重操作后再用第三数据集中的第三数据替换原训练集中的训练数据。
其中,第三数据集包括多个第三数据,每个第三数据均是携带有标签,且不确定度大于第三预设阈值的数据。示例性的,获取第三数据集的方法包括:1、从上述实施例中的数据池中根据第三预设阈值抽样得到多个第三数据组成第三数据集,例如可以是随机抽样或者根据抽样函数进行抽样;2、从新的数据池中根据第三预设阈值抽样得到多个第三数据组成第三数据集,新的数据池包括多个携带有标签的不确定度大于预设不确定度阈值的数据,新的数据池中的数据为根据分类模型从新的未标注样本数据中筛选得到的,且进行标签标注的数据。
可选的,第一数据集、第二数据集和第三数据集中的任意两个数据集均可以为互斥的数据集合,或者为含有部分相同数据的数据集合。可选的,若第三数据集与第二数据集含有部分相同的数据,则通过去重操作保留训练集中重复的训练数据。
本申请实施例通过确定语言算法模型的识别的准确程度,在语言算法模型的准确程度较低(满足第一更新条件)时,通过含有不确定度高的数据的训练集对语言算法模型进行训练,以优化更新语言算法模型;而在语言算法模型的准确程度更低(满足第二更新条件)时,增加训练集中的不确定度高的数据的占比,再根据训练集对语言算法模型进行训练,更大程度的优化更新语言算法模型。
在图6或图7所示任一实施例的基础上,本申请实施例将根据含有不确定度高的数据的测试集,对训练后,即更新后的语言算法模型进行泛化测试,以确定语言算法模型在训练后的识别准确性是否满足准确性要求。
图8为本申请实施例提供的一种数据的处理方法的流程示意图。如图8所示,根据测试集对语言算法模型进行泛化测试,得到测试结果,该测试结果用于指示更新后的语言算法模型的准确性。其中,测试集包括第四数据集,该第四数据集包括从数据池中抽样得到的多个第四数据,第四数据是携带有标签,且不确定度大于第四预设阈值的数据。可选的,为了达到对语言算法模型的泛化测试,第四数据集应与第一数据集为互斥的数据集合,且第四数据集应与第二数据集为互斥的数据集合,并在训练集增加了第三数据集时,第四数据集应与第三数据集为互斥的数据集合。
可选的,若测试结果指示语言算法模型的识别准确性仍然较低无法满足准确性的要求,可再次向训练集中增加不确定度高的数据作为训练数据,或者用新的不确定度高的数据替换训练集中的训练数据来提高不确定度高的数据在训练集中的占比,对语言算法模型再次进行训练。
在上述实施例的基础上,图9为本申请实施例提供的一种数据的处理方法的流程示意图。结合图9所示,对本申请实施例构建验证集、测试集以及训练集的过程进行说明。
首先在未标记样本集中进行数据提取得到多个不确定度高于预设不确定度阈值的数据,可根据上述实施例中所述的通过分类模型进行数据提取。再对多个不确定度高于预设不确定度阈值的数据进行标签标注,由标注后的数据组成数据池,从数据池中分别进行验证数据抽样、测试数据抽样和训练数据抽样。
将抽样得到的第一数据作为验证数据在原验证数据中进行去重,将去重后的第一数据合并至原验证集,在原验证集的原验证数据的数量达到最大限制时,从原验证集中抽取相应数量的原验证数据更新为从数据池中抽样得到的第一数据,得到新的验证集。
类似的,同样通过去重、合并或替换操作将抽样得到的第一数据作为测试数据更新至新的测试集,以及将抽样得到的第二数据作为训练数据更新至新的训练集。
本实施例中新的验证集、新的测试集和新的训练集,即为前述任一实施例中提到的预设的验证集、预设的测试集、以及预设的训练集。
上文结合图1至图9,详细描述了本申请的方法实施例,下文结合图10至图12,详细描述本申请的装置实施例,应理解,装置实施例与方法实施例相互对应,类似的描述可以参照方法实施例。
图10示出了根据本申请实施例的数据的处理装置的示意性框图。如图10所述,该数据的处理装置10包括:
验证单元11,用于根据预设的验证集,对语言算法模型进行验证,得到验证结果;验证集包括第一数据集,第一数据集包括从数据池抽样得到的多个第一数据,第一数据是携带有标签,且不确定度大于第一预设阈值的数据;
更新单元12,用于根据验证结果,更新语言算法模型。
本申请实施例中的数据的处理装置10包括验证单元11和更新单元12,通过包含第一数据集的验证数据对语言算法模型进行验证,并根据验证结果对语言算法模型进行更新,其中第一数据集中包括多个不确定度大于第一预设阈值的数据,使语言算法模型识别准确性得到全面的验证和提升。
可选的,验证单元11具体用于:
针对验证集中的每个验证数据,将验证数据输入语言算法模型,得到语言算法模型针对验证数据的输出结果;
根据输出结果和验证数据的标签,确定语言算法模型针对验证数据的输出结果是否正确。
可选的,验证单元11具体用于:
确定输出结果和所述验证数据的标签是否相同;
若输出结果和所述验证数据的标签相同,则语言算法模型针对验证数据的输出结果正确;
否则,语言算法模型针对验证数据的输出结果错误。
可选的,更新单元12具体用于:
根据验证结果,确定语言算法模型是否满足第一更新条件;
在语言算法模型满足第一更新条件时,根据预设的训练集,对语言算法模型进行训练;训练集包括第二数据集,第二数据集包括从数据池中抽样得到的多个第二数据,第二数据是携带有标签,且不确定度大于第二预设阈值的数据;
将语言算法模型更新为训练后的语言算法模型。
可选的,更新单元12具体用于:
根据验证结果,确定语言算法模型针对全部验证数据的输出结果的正确率是否小于第一预设正确率阈值;
若语言算法模型针对全部验证数据的输出结果的正确率小于第一预设正确率阈值,则语言算法模型满足第一更新条件;
否则,语言算法模型不满足第一更新条件。
可选的,更新单元12具体用于:
根据验证结果,确定语言算法模型针对第一数据集的输出结果的正确率是否小于第二预设正确率阈值;
若语言算法模型针对第一数据集的输出结果的正确率小于第二预设正确率阈值,则语言算法模型满足第一更新条件;
否则,语言算法模型不满足第一更新条件。
可选的,更新单元12具体用于:
根据验证结果,确定第一占比是否大于第一预设占比阈值;第一占比为语言算法模型的错误输出结果对应的第一数据的数量占语言算法模型的错误输出结果对应的验证数据的数量的比例;
若第一占比大于第一预设占比阈值,则语言算法模型满足第一更新条件;
否则,语言算法模型不满足第一更新条件。
可选的,更新单元12具体用于:
根据验证结果,确定语言算法模型是否满足第二更新条件;第二更新条件与第一更新条件不同;
在语言算法模型满足第二更新条件时,获取第三数据集;第三数据集包括从数据池中抽样得到的多个第三数据,第三数据是携带有标签,且不确定度大于第三预设阈值的数据;
将第三数据集合入训练集,并根据训练集对语言算法模型进行训练。
可选的,更新单元12具体用于:
根据验证结果,确定语言算法模型针对全部验证数据的输出结果的正确率是否小于第三预设正确率阈值;
若语言算法模型针对全部验证数据的输出结果的正确率小于第三预设正确率阈值,则语言算法模型满足第二更新条件;
否则,语言算法模型不满足第二更新条件。
可选的,更新单元12具体用于:
根据验证结果,确定语言算法模型针对第一数据集的输出结果的正确率是否小于第四预设正确率阈值;
若语言算法模型针对第一数据集的输出结果的正确率小于第四预设正确率阈值,则语言算法模型满足第二更新条件;
否则,语言算法模型不满足第二更新条件。
可选的,更新单元12具体用于:
根据验证结果,确定第一占比是否大于第二预设占比阈值;第一占比为语言算法模型的错误输出结果对应的第一数据的数量占语言算法模型的错误输出结果对应的验证数据的数量的比例;
若第一占比大于第二预设占比阈值,则语言算法模型满足第二更新条件;
否则,语言算法模型不满足第二更新条件。
可选的,第一数据集、第二数据集和第三数据集中的任意两个数据集均可以为互斥的数据集合,或者为含有部分相同数据的数据集合。
上述实施例提供的数据的处理装置,可以执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
在图10所示实施例的基础上,图11示出了根据本申请实施例的数据的处理装置的示意性框图。如图11所示,该数据的处理装置10还包括:
获取单元13,用于根据第一预设阈值,从数据池进行抽样,得到第一数据集,数据池为基于未标注样本集得到的所有不确定度大于预设不确定度阈值的数据,并且每个数据均携带有标签。
获取单元13还用于:
将未标注样本集中的每个未标注样本数据输入分类模型,得到多个不确定度大于预设阈值的未标注样本数据;分类模型为基于主动学习模型预先训练得到的;
对多个不确定度大于预设不确定度阈值的未标注样本数据进行标签标注;
由标注后的多个不确定度大于预设不确定度阈值的数据组成数据池。
获取单元13具体用于:
通过分类模型的查询函数,对每个未标注样本数据的分类结果进行打分,得到未标注样本数据的不确定度;
比较每个未标注样本数据的不确定度和预设阈值,得到多个不确定度大于预设阈值的未标注样本数据。
上述实施例提供的数据的处理装置,可以执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
在图10或图11所示实施例的基础上,图12示出了根据本申请实施例的数据的处理装置的示意性框图。如图12所示,该数据的处理装置10还包括:
测试单元14,用于根据预设的测试集对语言算法模型进行泛化测试,得到测试结果;测试集包括第四数据集,第四数据集包括从数据池中抽样得到的多个第四数据,第四数据是携带有标签,且不确定度大于第四预设阈值的数据,测试结果用于指示更新后的语言算法模型的准确性。
上述实施例提供的数据的处理装置,可以执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图13是本申请实施例提供的一种电子设备示意性结构图。图13所示的电子设备包括处理器1310,处理器1310可以从存储器中调用并运行计算机程序,以实现本申请实施例中的方法。
可选地,如图13所示,电子设备1300还可以包括存储器1320。其中,处理器1310可以从存储器1320中调用并运行计算机程序,以实现本申请实施例中的方法。
其中,存储器1320可以是独立于处理器1310的一个单独的器件,也可以集成在处理器1310中。
可选地,如图13所示,电子设备1300还可以包括收发器1330,处理器1310可以控制该收发器1330与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。
其中,收发器1330可以包括发射机和接收机。收发器1330还可以进一步包括天线,天线的数量可以为一个或多个。
可选地,该电子设备1300可以实现本申请实施例的各个方法中的相应流程,为了简洁,在此不再赘述。
应理解,本申请实施例的处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可以理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-onlymemory,rom)、可编程只读存储器(programmablerom,prom)、可擦除可编程只读存储器(erasableprom,eprom)、电可擦除可编程只读存储器(electricallyeprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(randomaccessmemory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(staticram,sram)、动态随机存取存储器(dynamicram,dram)、同步动态随机存取存储器(synchronousdram,sdram)、双倍数据速率同步动态随机存取存储器(doubledataratesdram,ddrsdram)、增强型同步动态随机存取存储器(enhancedsdram,esdram)、同步连接动态随机存取存储器(synchlinkdram,sldram)和直接内存总线随机存取存储器(directrambusram,drram)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
应理解,上述存储器为示例性但不是限制性说明,例如,本申请实施例中的存储器还可以是静态随机存取存储器(staticram,sram)、动态随机存取存储器(dynamicram,dram)、同步动态随机存取存储器(synchronousdram,sdram)、双倍数据速率同步动态随机存取存储器(doubledataratesdram,ddrsdram)、增强型同步动态随机存取存储器(enhancedsdram,esdram)、同步连接动态随机存取存储器(synchlinkdram,sldram)以及直接内存总线随机存取存储器(directrambusram,drram)等等。也就是说,本申请实施例中的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本申请实施例还提供了一种计算机可读存储介质,用于存储计算机程序。
可选的,该计算机可读存储介质可应用于本申请实施例中的电子设备,并且该计算机程序使得计算机执行本申请实施例的各个方法中由电子设备实现的相应流程,为了简洁,在此不再赘述。
本申请实施例还提供了一种计算机程序产品,包括计算机程序指令。
可选的,该计算机程序产品可应用于本申请实施例中的电子设备,并且该计算机程序指令使得计算机执行本申请实施例的各个方法中由电子设备实现的相应流程,为了简洁,在此不再赘述。
本申请实施例还提供了一种计算机程序。
可选的,该计算机程序可应用于本申请实施例中的电子设备,当该计算机程序在计算机上运行时,使得计算机执行本申请实施例的各个方法中由电子设备实现的相应流程,为了简洁,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。针对这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除