一种自动去除样本标记噪声的方法及系统与流程

文档序号:21034502发布日期:2020-06-09 20:21阅读:246来源:国知局
一种自动去除样本标记噪声的方法及系统与流程

本说明书实施例涉及计算机技术领域,特别涉及一种自动去除样本标记噪声的方法及系统。



背景技术:

随着互联网的快速发展,机器学习与数据挖掘领域越来越受到重视,分类是一种常见的机器学习任务,监督学习是分类任务常用的学习方法,在监督学习中,训练数据所对应的标签质量对于学习效果至关重要。

训练数据对应的标签即是对训练数据某种信息的标记,例如,类别,然而,在很多业务场景下,人们获取的训练数据集都是含有噪声标记的,含有噪声标记的训练数据对于后续建立模型具有负面的影响,会影响模型的预测效果,因此,研究一种能自动去除样本标记噪声的方法及系统是非常有必要的。



技术实现要素:

本说明书实施例的一个方面提供一种自动去除样本标记噪声的方法,包括:获取多个样本,所述多个样本合计包含m个不同的标记,m为≥1的整数;初始化所述样本包含所述m个不同标记中任一标记的概率,并基于初始化后的结果构建初始置信度矩阵;基于权重矩阵a迭代更新所述初始置信度矩阵,得到第一置信度矩阵;所述权重矩阵a中元素代表由所述多个样本中第i个样本与第j个样本之间的相似度确定的第一权重;将权重向量b与所述优化置信度矩阵相乘得到所述样本的第二置信度向量;所述权重矩阵b中元素代表由所述样本与其他样本的相似度占比确定的第二权重;基于预设条件从所述第二置信度向量中确定所述样本的噪声标记并去除。

本说明书实施例的一个方面提供一种自动去除样本标记噪声的系统,包括:样本获取模块,用于获取多个样本,所述多个样本合计包含m个不同的标记,m为≥1的整数;置信度初始化模块,用于初始化所述样本包含所述m个不同标记中任一标记的概率,并基于初始化后的结果构建初始置信度矩阵;置信度优化模块,用于基于权重矩阵a迭代更新所述初始置信度矩阵,得到第一置信度矩阵;所述权重矩阵a中元素代表由所述多个样本中第i个样本与第j个样本之间的相似度确定的第一权重;置信度投票模块,用于将权重向量b与所述第一置信度矩阵相乘得到所述样本的第二置信度向量;所述权重矩阵b中元素代表由所述样本与其他样本的相似度占比确定的第二权重;标记去噪模块,用于基于预设条件从所述第二置信度向量中确定所述样本的噪声标记并去除。

本说明书实施例的一个方面提供一种自动去除样本标记噪声的装置,包括至少一个存储介质和至少一个处理器,所述至少一个存储介质用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令以实现自动去除样本标记噪声的方法。

本说明书实施例的一个方面提供一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,实现自动去除样本标记噪声的方法。

附图说明

本说明书将以示例性实施例的方式进一步描述,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:

图1是根据本说明书的一些实施例所示的示例性自动去除样本标记噪声系统的应用场景图;

图2是根据本说明书的一些实施例所示的示例性自动去除样本标记噪声系统的模块图;

图3是根据本说明书的一些实施例所示的自动去除样本标记噪声的方法的示例性流程图;

具体实施方式

为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。

应当理解,本说明书中所使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。

如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。

本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。

图1是根据本说明书的一些实施例所示的示例性自动去除样本标记噪声系统的应用场景示意图。

自动去除样本标记噪声系统100可以通过实施本申请中披露的方法和/或过程自动去除样本的噪声标记。自动去除样本标记噪声系统100可以应用于智能客服机器人领域。通常,智能客服机器人需要根据用户输入的内容为用户推荐多个可能的答案,或多个可能的问题。智能客服机器人为了实现上述推荐,需要基于大量含有多个标记的样本进行多分类模型的训练,从而,当用户输入问题之后,可以基于用户的类别为用户反馈多个答案或多个问题。为了提高分类模型分类的准确率,需要保证训练样本标记的准确率。从而,可以通过系统100对训练样本中的标记进行去噪,具体的,可以通过系统100在一个样本含有的多个标记中确定该样本的噪声标记并去除。在一些实施例中,样本可以用户输入的历史数据,例如,输入的文字、语音或图片等,标记可以是类别信息。示例的,输入内容“请问这款产品近期的活动?”的候选标记为“活动时间”“折扣”“礼品”“地点”等,其中噪声标记可能是“地点”,需要去除。

如图1所示,自动去除样本标记噪声系统100可以包括服务器110、网络120、用户端130、数据库140。服务器110可以包含处理设备112。

在一些实施例中,服务器110可以用于处理与数据处理相关的信息和/或数据。在一些实施例中,服务器110可以直接与数据库140和/或用户端130连接以访问存储于其中的信息和/或资料。例如,服务器110可以通过网络120获取数据库中多个样本,这些样本可以用于分类模型的训练,且这些样本中每个样本含有多个候选标记。又例如,服务器110可以通过网络120接收用户在用户端130输入的内容。服务器110可以是独立的服务器或者服务器组。该服务器组可以是集中式的或者分布式的(如:服务器110可以是分布系统)。在一些实施例中,服务器110可以是区域的或者远程的。在一些实施例中,服务器110可在云平台上执行。例如,该云平台可包括私有云、公共云、混合云、社区云、分散式云、内部云等中的一种或其任意组合。

在一些实施例中,服务器110可包含处理设备112。该处理设备112可处理数据和/或信息以执行一个或多个本申请中描述的功能。例如,处理设备112可以对从数据库中获取的多个样本的标记进行去噪,具体的,可以初始化多个样本候选标记的置信度,基于多个样本中样本与邻近样本的距离确定权重矩阵a和权重向量b,基于初始化后的置信度以及权重矩阵a和权重向量b确定样本噪声标记。又例如,处理设备112可以基于去除噪声标记的样本训练分类模型。又例如,处理设备112可以将从用户端130获取的输入内容输入到训练好的分类模型中,为该输入内容反馈多个问题或答案。在一些实施例中,处理设备112可包含一个或多个子处理设备(例如,单芯处理设备或多核多芯处理设备)。仅仅作为范例,处理设备112可包含中央处理器(cpu)、专用集成电路(asic)、专用指令处理器(asip)、图形处理器(gpu)、物理处理器(ppu)、可编辑逻辑电路(pld)、控制器等或以上任意组合。

在一些实施例中,网络120可促进数据和/或信息的交换,数据或信息可以包括用户在用户端130输入的内容、数据库140中存储的训练样本及其对应的标记、服务器110中去除噪声标记后的样本、服务器110中基于去除噪声标记的样本训练的分类模型的参数等。在一些实施例中,自动去除样本标记噪声系统100中的一个或多个组件(例如,服务器110、用户端130、数据库140)可通过网络120发送数据和/或信息给系统100中的其他组件。在一些实施例中,网络120可是任意类型的有线或无线网络。例如,网络120可包括缆线网络、有线网络、光纤网络、电信网络、内部网络、网际网络、区域网络(lan)、广域网络(wan)、无线区域网络(wlan)、蓝牙网络等或以上任意组合。在一些实施例中,网络120可包括一个或多个网络进出点。例如,网络120可包含有线或无线网络进出点,如基站和/或网际网络交换点120-1、120-2、…,通过这些进出点系统100的一个或多个组件可连接到网络120上以交换数据和/或信息。

在一些实施例中,用户端130可以是一台计算设备或计算设备组。在一些实施例中,用户端130具体输入的功能,可以用于用户输入问题。例如,打字输入、语音输入等。所述计算设备可以包括手机130-1、平板电脑130-2、笔记本电脑130-3、台式计算机130-4等中的一种或其任意组合。所述计算设备组可以是集中式或分布式的。在一些实施例中,用户端130可以将输入的内容发送到服务器110。相应地,服务器110可以基于输入内容确定多个答案或多个问题发送到用户端130。

在一些实施例中,数据库140可以用于存储训练样本、样本的特征及标记。数据库140可以在在单个中央服务器、通过通信链路连接的多个服务器或多个个人设备中实现。数据库140可以由多个个人设备和云服务器生成。在一些实施例中,数据库140可以用于提供所需要数据的器件或原始媒体,还可以用于数据的存储、加密等操作。在一些实施例中,数据库140可存储供服务器110执行或使用的信息和/或指令,以执行本申请中描述的示例性方法。在一些实施例中,数据库140可包括大容量存储器、可移动存储器、挥发性读写存储器(例如,随机存取存储器ram)、只读存储器(rom)等或以上任意组合。在一些实施例中,数据库140可在云平台上实现。例如,该云平台可包括私有云、公共云、混合云、社区云、分散式云、内部云等或以上任意组合。

图2是根据本说明书的一些实施例所示的示例性自动去除样本标记噪声系统的模块图。

该系统200可以用于互联网服务的线上服务平台。在一些实施例中,该系统100可以用于包含智能答复系统的线上服务平台。例如,电商平台、线上咨询平台、公共服务平台等。

如图2所示,该系统200可以包括样本获取模块210、置信度初始化模块220、置信度优化模块230、置信度投票模块240以及标记去噪模块250。

样本获取模块210可以用于获取多个样本,所述多个样本合计包含m个不同标记,所述多个样本中每个样本包含至少一个候选标记,所述候选标记来源于所述m个不同的标记;m为≥1的整数。在一些实施例中,所述样本为实体对象的数据。在一些实施例中,所述实体对象数据为智能客户数据。

置信度初始化模块220可以用于初始化所述标记属于所述样本的真实标记的概率,并基于初始化后的结果构建初始置信度矩阵;具体地,置信度初始化模块220还可以用于当所述标记为所述样本的候选标记时,将所述标记属于所述样本真实标记的概率初始化为1/n,n为所述样本包含的候选标记的个数;当所述标记不为所述样本的候选标记时,将所述标记属于所述样本真实标记的概率初始化为0。初始化的更多细节参见图3及其相关描述,此处不再赘述。

置信度优化模块230可以用于基于权重矩阵a迭代更新所述初始置信度矩阵,得到第一置信度矩阵;所述权重矩阵a中元素代表由所述多个样本中第i个样本与第j个样本之间的相似度确定的第一权重,当所述第j个样本不为所述第i个样本邻近的样本时,为0;在一些实施例中,可以通过距离度量所述相似度。在一些实施例中,置信度优化模块230还可以用于将所述第i个样本与所述第j个样本之间的距离分之一作为所述第一权重。

在一些实施例中,置信度优化模块230可以用于将迭代(t-1)次得到的中间置信度矩阵与所述权重矩阵a相乘,将相乘后的结果与所述初始置信度矩阵比例相加,得到迭代t次得到的中间置信度,t为大于等于1的整数;直到迭代得到的中间置信度矩阵满足预设条件,迭代结束,并将迭代结束后得到的置信度矩阵作为所述第一置信度矩阵。更新迭代的更多细节参见图3及其相关描述,此处不再赘述。

在一些实施例中,置信度优化模块230还可以用于基于所述权重矩阵a迭代更新所述初始置信度矩阵之前,将所述权重矩阵a中的权重归一化至第二预设数值范围内。

置信度投票模块240可以用于将权重向量b与所述第一置信度矩阵相乘得到所述样本的第二置信度向量;所述权重矩阵b中元素代表由所述样本与所述多个样本中第t个样本的相似度占比确定的第二权重,当所述第t个样本不为所述样本邻近的样本时,为0;在一些实施例中,第二权重与所述相似度占比负相关,在一些实施例中,置信度投票模块240可以用于确定相似度占比,具体地,可以将所述样本与所述第t个样本的距离除以所述样本与所述第一样本集中每一个的距离之和;所述第一样本集包含至少一个所述样本邻近的样本。更多细节参见图3及其相关描述,此处不再赘述。

置信度投票模块240还可以用于将所述权重向量b乘以所述第一置信度矩阵之前,将所述第一置信度矩阵中的置信度归一化至第一预设数值范围内。在一些实施例中,置信度投票模块240还可以用于基于所述权重矩阵a迭代更新所述初始置信度矩阵之前,基于最小二乘法优化所述权重矩阵a中的权重。

标记去噪模块250可以用于基于预设条件从所述第二置信度向量中确定所述样本的噪声标记并去除。

应当理解,图2所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、cd或dvd-rom的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。

需要注意的是,以上对于自动去除样本标记噪声的系统100及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,图1中披露的样本获取模块210、置信度初始化模块220、置信度优化模块230、置信度投票模块240以及标记去噪模块250可以是一个系统中的不同模块,也可以是一个模块实现上述的两个模块的功能。又例如,自动去除样本标记噪声的系统200中各个模块可以共用一个存储模块,各个模块也可以分别具有各自的存储模块。诸如此类的变形,均在本说明书的保护范围之内。

图3是根据本说明书的一些实施例所示的自动去除样本标记噪声的方法的示例性流程图。如图3所述,方法300包括:

步骤302,获取多个样本,所述多个样本合计包含m个不同的标记,所述多个样本中每个样本包含至少一个候选标记,所述候选标记来源于所述m个不同的标记;m为≥1的整数。具体地,该步骤302可以由样本获取模块210执行。

在一些实施例中,样本是输入至模型的训练数据,根据模型应用场景的不同,样本可以是不同类型的训练数据,例如,图像、文本或音频数据等。在一些实施例中,样本可以是实体对象的样本数据。所述实体对象的数据可以是用户数据或者商户数据。其中,用户数据可以包含与用户相关的数据。例如,用户的语音数据、用户输入的文本数据、用户的消费数据等。商户数据可以包括商户的位置数据,商户在工商登记的数据。。在一些实施例中,样本还可以是其他数据,本说明书不做限制。在一些实施例中,样本可以是用户在智能客服机器人中输入的问题的文本数据。例如,问题“怎么注册会员”、“最近的活动”等。

标记可以是用于代表样本某种信息的数据。例如,标记可以代表样本的类别信息。候选标记是指样本可能含有的标记,但并非一定是该样本的真实标记。例如,对于一张在动物园中拍摄的猫的图片,候选标记可能是猫、狗、鸟,但其真正的标记为猫。

在一些实施例中,一个样本可能含有一个或多个候选标记。当一个样本含有多个候选标记时,其标记的方式可能是偏标记或复杂多标记。具体的,当该样本含有的多个候选标记中有且仅有一个真实标记,则为偏标记,例如,上述动物园拍摄的猫的图片为偏标记的情况。当该样本含有的多个候选标记中有多个真实标记,则为复杂多标记。例如,如上述图片中同时拍摄了猫和狗,则属于复杂多标记的情况。

在一些实施例中,样本包含的多个候选标记中除真实标记以外的标记为该样本的噪声标记。以上述动物园拍摄的猫的照片为例,狗和鸟为该图片的噪声标记。

在一些实施例中,获取的多个样本中每个样本都包含至少一个候选标记。统计所有样本候选标记合计为m个不同标记,m为≥1的整数。例如,获取了3个样本,样本1的候选标记为a、b、c,样本2的候选标记为b和c,样本3的候选标记为a和b,则这三个样本合计包含3个不同的标记,即a、b和c。

在一些实施例中,获取样本的方式可以是直接从数据库中读取,也可以是通过接口获取,本实施例不做限制。在一些实施例中,获取多个样本可以为上百以及更多的大量样本。

步骤304,初始化所述标记属于所述样本的真实标记的概率,并基于初始化后的结果构建初始置信度矩阵。具体地,该步骤304可以由置信度初始化模块220执行。

标记属于样本的真实标记的概率可称为置信度。在一些实施例中,可以根据每个样本的候选标记个数初始化每个样本的置信度,将初始化后的置信度称为初始置信度。具体的,当标记为样本的候选标记时,则将该标记属于该样本真实标记的概率初始化为1/n,n为该样本包含的候选标记的个数;当标记不为样本的候选标记时,则该标记属于该样本真实标记的概率初始化为0。例如,获取了3个样本,且这3个样本合计包含3个不同标记a、b和c,其中,样本1的候选标记为a和c,样本2的候选标记为a和b,样本3的候选标记为b和c,因此,a对于样本1初始置信度为1/2,b对于样本1的初始置信度为0,c对于样本1的初始置信度为1/2;a对于样本2初始置信度为1/2,b对于样本2的初始置信度为1/2,c对于样本2的初始置信度为0;a对于样本3初始置信度为0,b对于样本3的初始置信度为1/2,c对于样本3的初始置信度为1/2。

在一些实施例中,可根据m个不同标记中每个标记对应于多个样本中每个样本的初始置信度构建m*m的初始置信度矩阵c,其中,m表示多个样本的个数,其中,初始置信度矩阵中的元素可以表示m个不同标记中第j个标记对应于m个样本中第i样本的初始置信度。继续以上述包含3个不同标记的3个样本为例,其可以构成的初始置信度矩阵为:

m个不同标记中除了样本的候选标记以外的标记,都不可能是该样本的真实标记,属于该样本无关标记。例如,上述示例中,标记b为样本1的无关标记。通过上述初始化的方式建立的初始置信度矩阵,将无关标记的置信度初始化为0,可以减少无关标记对后续确定该样本真实标记的影响。将候选标记的置信度初始化个数分之一,结合了每个样本本身的情况,即考虑样本含有的候选标记数量。因为样本含有的候选标记越多,则每一个候选标记为该样本真实标记的可能性就会越小。

在一些实施例中,还可以通过其他方式初始化,本实施不做限制。例如,将每个候选样本的初始化置信度确定为与候选标记数量成反比即可。

步骤306,基于权重矩阵a迭代更新所述初始置信度矩阵,得到第一置信度矩阵;所述权重矩阵a中元素代表由所述多个样本中第i个样本与第j个样本之间的相似度确定的第一权重,当所述第j个样本不为所述第i个样本邻近的样本时,为0。具体地,该步骤306可以由置信度优化模块230执行。

在一些实施例中,权重矩阵a可以是的矩阵,其中,m×m表示权重矩阵a为m行m列的矩阵,m的取值为多个样本的数量,权重矩阵a中的元素为多个样本中第i个样本与第j个样本之间的相似度确定的第一权重。在一些实施例中,权重矩阵a中某一行的向量代表某个样本的权重向量,例如,行向量代表样本xi的权重向量,即由样本xi与多个样本中所有样本的相似度确定的第一权重。

相似度可以指样本与样本之间的相似程度。在一些实施例中,可以通过距离度量相似度。距离与相似度成反比,样本与样本之间的距离越大,则代表样本与样本之间的相似度越小。在一些实施例中,可以将样本与样本之间的距离分之一作为这两个样本之间的相似度,进一步的,将样本与样本之间的距离分之一作为第一权重。

样本与样本之间的距离实际是通过计算样本的特征与样本的特征之间的距离得到。特征是对样本的抽象,是样本的抽象表示,通过使用数值表示样本。在一些实施例中,样本的特征可以用向量表示,例如,行向量或列向量,向量中每个元素代表样本的某个特征。在一些实施例中,可以从样本中提取样本一个或多个特征。在一些实施例中,不同的样本,其特征也不相同。例如,图片的特征可以包括但不限于纹理特征、颜色特征、形状特征等。其中,可以通过hog(方向梯度直方图)获取图片轮廓信息以得到形状特征,可以lbp(局部二值模式)、灰度共生矩阵、随机场模型法等确定纹理特征。可以通过独热模型、bert模型、elmo模型、open-gpt模型等模型提取文本的特征。又例如,文本样本对应的特征可以为one-hot向量和tf-idf向量。又例如,音频样本对应的特征可以为声学频谱特征。

在一些实施例中,距离包括但不限于欧式距离、曼哈段距离、马氏距离或闵可夫斯基距离等。以欧式距离为例,基于公式(1)计算得到样本x与样本y之间的距离:

其中,d代表选取的样本x与样本y之间的距离,xi代表样本x的第i个特征,yi代表样本y的第i个特征;t为样本的特征的数量。

在一些实施例中,对于权重矩阵a来说,当第j个样本为第i个样本邻近的样本时,可以通过计算第i个样本和第j个样本之间的相似度作为权重,当第j个样本不为第i个样本邻近的样本时,的值为0。在一些实施例中,可以通过k最近邻(k-nearestneighbor,knn)算法找到多个样本中的每个样本的邻近样本。具体地,knn算法可以通过计算样本与多个样本中的其余样本之间的相似度,一般地,相似度可以由上述距离度量,进而,找到与该样本最接近的k个其余样本,其中,k个其余样本为该样本的邻近样本。在一些实施例中,k的取值可以根据具体情况设定,例如,3、4或者5等。例如,样本数量m为4,包含样本1、2、3、4,取k为2,其中,样本1与样本2和样本3近邻,样本2与样本3和样本4近邻,样本3和样本1和样本2近邻,样本4与样本2和样本1近邻,则权重矩阵a为4*4的矩阵:其中,为样本1与样本2的相似度,代表样本2与样本3的相似度,其他依次类推。

初始置信度矩阵中的每一个样本的候选标记的置信度是相同的,然而,候选标记可能为真实标记或者噪声标记,为了确定候选标记中样本的真实标记和噪声标记,需要使真实标记的置信度大于噪声标记置信度。标记是代表样本的某种信息(例如,分类),样本与样本之间的相似度越高,则它们之间含有的标记(例如,类别标记)相似度也会越高,两个很相似的样本若含有同一个候选标记,则这个候选标记为真实标记的可能性较高。例如,样本1和样本2相似度很高,样本1的候选标记有a和b,样本2含有的候选标记有b和c,标记b有较大概率为样本1的真实标记。因此,可以通过样本的邻近样本的标记置信度去影响该样本的候选标记置信度,拉大候选标记中真实标记与噪声标记的置信度差距。同时,将不与样本邻近的样本处的权重设置为0,可以尽量降低与样本非近邻的样本对该样本标记的影响。

在一些实施例中,权重矩阵a影响初始置信度矩阵的方式可以是基于权重矩阵a迭代更新初始置信度矩阵,得到第一置信度矩阵。具体的,权重矩阵a可以通过公式(2)迭代更新初始置信度矩阵:

ft=αf0+(1-α)af(t-1)(2)

其中,t为迭代次数,t为≥1的整数,f0为初始置信度矩阵,a为权重矩阵a,f(t-1)为迭代(t-1)次生成的中间置信度矩阵。第一次迭代时,f(t-1)取初始置信度矩阵f0。其中,α为[0,1]之间的实数。α用于控制从迭代过程中继承的标记信息和初始置信度矩阵的比重,α可以根据实际情况进行具体设置,一般地,α=0.95。在α取0.95可以保证引入足够原来的信息(即初始置信度中置信度),防止被新的信息(即迭代时加入的其他样本的置信度和权重)误导。

基于上述公式进行迭代过程中,直到迭代得到的中间置信度矩阵满足预设条件,迭代结束,并将迭代结束后得到的置信度矩阵作为第一置信度矩阵。在一些实施例中,预设条件可以根据实际需求进行具体设置,在一些实施例中,预设条件可以为第t次迭代生成的中间置信度不再变化,或者变化的误差小于特定值(例如,0.001、002等),在一些实施例中,预设条件可以是t满足迭代最大次数,例如,迭代最大次数t=1000。

由上述迭代过程可知,若迭代初始置信度矩阵为m*m的矩阵,则得到的第一置信度矩阵也为m*m的矩阵。具体的,m*m的权重矩阵与m*m的初始置信度矩阵相乘得到m*m的矩阵,该矩阵再与m*m的初始置信度矩阵比例相加得到的中间置信度矩阵仍然是m*m矩阵;再利用m*m的中间置信度矩阵进行上述过程,最后迭代得到第一置信度矩阵仍然为m*m矩阵。

例如,样本数为3,标记为4个,权重矩阵a为初始置信度矩阵为α=0.95,则经过一次迭代后得到的置信度矩阵为0.95*由此可见,经过一次迭代后,对于第一个样本,其置信度受到了其邻近的样本(即第二个样本)的影响,具体的,加上了第二样本的初始置信度与权重的乘积(即,),其中,权重为第一样本与第二样本之间距离确定的第一权重0.7;第二样本的初始置信度受到了其邻近样本(即第三样本)的影响,具体的,加上了第三样本的初始置信度与权重的乘积其中,权重为第二样本与第三样本之间距离确定的第一重0.6。依次类推,第一样本迭代t次的结果,会受第二样本迭代t-1次的结果的影响。然而,第二样本迭代t-1次的结果又受其邻近样本第三样本迭代t-2次的结果的影响。因此,在迭代过程中,样本不仅受其邻近样本的置信度的影响,还可以受到其邻近样本自己的邻近样本的影响。而且,通过上述迭代过程,可以拉大候选标记中真实标记和噪声标记的置信度差距。例如,迭代一次后,样本1候选标记中第一个标记和第三个标记相比与第三个标记多了

在一些实施例中,基于权重矩阵a迭代更新初始置信度矩阵之前,可以基于最小二乘法优化权重矩阵a中的第一权重,具体地,对于权重矩阵a=[a1,a2,……,am]t而言,权重矩阵a中的向量可以基于公式(3)计算得到优化后的ai:

其中,xj代表第j个样本xj的特征向量,xi代表第i个样本xi的特征向量,为样本xj与样本xi之间的相似度确定的权重,m为多个样本的数量。

优化过程中,同时使得:

其中,n(xi)代表样本xi的k近邻样本的索引。

通过最小二乘法,即,上述公式(2)可优化权重矩阵a中的第一权重,可以减小权重矩阵a中的第一权重误差,保证在误差最小的情况下更正权重矩阵a中的权重值。

在一些实施例中,为了避免权重矩阵a中的第一权重不在同一个量纲上,影响后续的计算,例如,导致生成的第一置信度矩阵中的置信度相差很大,进一步地导致生成第二置信度向量中置信度相差过大,在基于预设阈值确定样本的真实标记时,出现阈值选取困难等问题。在基于权重矩阵a迭代更新初始置信度矩阵之前,可以将权重矩阵a的第一权重归一化至第二预设数值范围。在一些实施例中,第二预设数值范围可以是[0,1]。在一些实施例中,归一化至[0,1]的方式可以由多种,例如,可以通过min-max归一化方式,将每个样本的权重向量中的权重最大值归一化至1,权重最小值归一化至0。又例如,可以将每个样本的权重向量中所有权重值之和归一化为1。以min-max归一化为例,具体见公式(4):

minxi)代表样本xi的权重向量中最小值,maxxi)代表样本xi的权重向量中最大值,代表样本xi向量中样本xi与样本xj的权重,j取自于[1,m]。例如,以权重矩阵a为4*4的矩阵为例,样本x1的权重向量为[0,10,0.3,2],则2归一化后为:(2-0.3)/(10-0.3)。

步骤308,将权重向量b与所述第一置信度矩阵相乘得到所述样本的第二置信度向量;所述权重向量b中元素代表由所述样本与所述多个样本中第t个样本的相似度占比确定的第二权重,当所述第t个样本不为所述样本邻近的样本时,为0。具体地,该步骤308可以由置信度投票模块240执行。

在一些实施例中,权重向量b可以是的行向量,也可以是的列向量,为某个样本的权重向量,其中,m为多个样本的数量,权重向量b中的元素代表由某个样本与多个样本中第t个样本的相似度占比确定的第二权重。例如,共包含4个样本1、样本2、样本3和样本4,4个样本分别对应一个权重向量b,样本2的权重向量为若将样本1作为第1个样本,样本2作为第二个样本,样本3作为第三个样本,样本4作为第四样本,则代表样本2与样本1的距离占比确定的第二权重,代表样本2与样本2的距离占比确定的第二权重,代表样本2与样本3的距离占比确定的第二权重,表样本2与样本4的距离占比确定的第二权重。

针对某个样本的权重向量而言,当第t个样本为该样本的邻近样本时,可以通过计算该样本与第t个样本的相似度占比确定第二权重,当第t个样本不为该样本的邻近样本时,关于确定样本的邻近样本的更多细节请参见步骤306及其相关描述,在此不再赘述。仍以上述示例为例,k为2,若样本a和样本d为样本b的2个邻近样本,则样本b的权重向量b为

在一些实施例中,确定相似度占比具体为:样本与第t个样本的距离除以该样本与第一样本集中每一个样本的距离之和,其中,第一样本集有该样本的邻近样本组成。关于样本与样本之间的距离可以参见上述步骤306及其相关描述,在此不再赘述。

仍以上述示例为例,则样本b和样本a的相似度占比为样本b与样本a的距离除以距离之和,该距离之和为样本b与样本a的距离加上样本b和样本d的距离,即dist(b,a)/(dist(b,a)+dist(b,d));样本2和样本1的相似度占比为样本3与样本1的距离除以该距离之和,即dist(b,d)/(dist(b,a)+dist(b,d))。

在一些实施例中,权重向量b中的第二权重与相似占比负相关。例如,样本与其某个邻近样本的第二权重为1减去该样本与该邻近样本的相似占比。具体地,可以基于公式(5)确定权重向量b中的第二权重:

其中,dist(xt,xj)代表样本xi和它的邻近样本xt的距离,xk代表样本xi的所有邻近样本组成的第一样本集中的任意样本,n(xi)代表样本xj的k近邻的索引。

在一些实施例中,可以将某个样本的权重向量b与第一置信度矩阵相乘得到该样本第二置信度向量。第二置信度向量中置信度代表m个不同标记中每个标记为该样本真实标记的概率。可以理解,想要得到哪个样本的第二置信度向量,就需要用该样本的权重向量b参与上述运算。

在一些实施例中,若权重向量b为1*m的行向量,则用1*m权重矩阵b乘以m*m的第一置信度矩阵得到1*m第二置信度向量;若权重向量b为m*1的列向量,则用m*1的权重向量b的转置乘以m*m的第一置信度矩阵,得到1*m第二置信度向量。

根据步骤306的描述,权重矩阵a会多次迭代更新初始置信度矩阵,随着迭代次数的增加,可能存在过拟合的现象。通过该实施例可以避免迭代生成的第一置信度矩阵的过拟合。同时,可以进一步拉大样本的候选标记中真实标记和噪声标记之间的置信度值差距,使候选标记中的真实标记的概率置信度越来越大,噪声标记的置信度越来越小。具体的,通过距离占比(即公式(4))方式确定的权重,相比较于距离分之一确定权重而言,距离不同权重值差距更大,例如,样本1与邻近样本2和3的距离分别为3和4,则第一权重分别为1/2、1/3,权重差距为1/6,第二权重分别为2/5、3/5,权重差距为1/5。从而通过增大权重差距,可以进一步拉大噪声标记与真实标记的置信度值,便于从候选标记中确定真实标记。

在一些实施例中,为了避免第一置信度矩阵中的置信度不在同一个量纲上,影响后续的计算,在将权重向量b乘以第一置信度矩阵之前,可以将第一置信度矩阵中的置信度归一化至第一预设数值范围内,在一些实施例中,第一预设数值范围可以是[0,1]。归一化的方式与步骤306描述类似,此处不再赘述。

步骤310,基于预设条件从所述第二置信度向量中确定所述样本的噪声标记并去除。具体地,该步骤可以由步骤310执行。

在一些实施例中,可以基于预设条件从所述第二置信度向量中确定所述样本的噪声标记并去除,在一些实施例中,预设条件可以是根据不同应用场景进行具体设置,在一些实施例中,对于采用复杂多标记的样本而言,即需要从候选标记中确定多个真实标记,则预设条件可以为第二置信度向量中的元素值大于等于预设阈值,其中,预设阈值可以根据实际需求进行具体设置,例如,0.8或者0.6等,通过设置不同的预设阈值可以实现按照不同的置信程度去噪。在一些实施例中,对于采用偏标记的样本而言,即需要从候选标记中确定一个真实标记,则预设条件可以为第二置信度向量中的元素值的最大值,即将第二置信度向量中的最大值对应的标记作为样本的真实标记。

可以理解,在步骤308中可以将多个样本中所有样本中的权重向量b构建成一个权重矩阵,再基于该权重矩阵与第一置信度矩阵相乘,即可同时得到所有样本的第二置信度向量,进一步,可以基于步骤310同时确定所有样本的噪声标记。例如,共3个样本,样本1的权重向量b为行向量b1,样本2的权重向量为行向量b2,样本3的权重向量为行向量b3,则可以构建3*3的权重矩阵[b1b2b3]t,可以将该矩阵与第一置信度矩阵相乘得到一个新的置信度矩阵,该矩阵中的行向量为某个样本的第二置信度向量。进一步,可以通过预设条件从每个样本的第二置信度向量中确定每个样本的噪声标记并去除。由此可见,通过该实施例,可以同时对所有样本的噪声标记去除。

本说明书实施例例还提供一种装置,其至少包括处理器以及存储器。所述存储器用于存储指令。当所述指令被所述处理器执行时,导致所述装置实现前述的自动去除样本标记噪声的方法,包括:获取多个样本,所述多个样本合计包含m个不同标记,所述多个样本中每个样本包含至少一个候选标记,所述候选标记来源于所述m个不同的标记;m为≥1的整数;

初始化所述标记属于所述样本的真实标记的概率,并基于初始化后的结果构建初始置信度矩阵;基于权重矩阵a迭代更新所述初始置信度矩阵,得到第一置信度矩阵;所述权重矩阵a中元素代表由所述多个样本中第i个样本与第j个样本之间的相似度确定的第一权重,当所述第j个样本不为所述第i个样本邻近的样本时,为0;将权重向量b与所述第一置信度矩阵相乘得到所述样本的第二置信度向量;所述权重矩阵b中元素代表由所述样本与所述多个样本中第t个样本的相似度占比确定的第二权重,当所述第t个样本不为所述样本邻近的样本时,为0;基于预设条件从所述第二置信度向量中确定所述样本的噪声标记并去除。

本说明书实施例还提供一种计算机可读存储介质。所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机实现前述的自动去除样本标记噪声的方法,包括:获取多个样本,所述多个样本合计包含m个不同标记,所述多个样本中每个样本包含至少一个候选标记,所述候选标记来源于所述m个不同的标记;m为≥1的整数;初始化所述标记属于所述样本的真实标记的概率,并基于初始化后的结果构建初始置信度矩阵;基于权重矩阵a迭代更新所述初始置信度矩阵,得到第一置信度矩阵;所述权重矩阵a中元素代表由所述多个样本中第i个样本与第j个样本之间的相似度确定的第一权重,当所述第j个样本不为所述第i个样本邻近的样本时,为0;将权重向量b与所述第一置信度矩阵相乘得到所述样本的第二置信度向量;所述权重矩阵b中元素代表由所述样本与所述多个样本中第t个样本的相似度占比确定的第二权重,当所述第t个样本不为所述样本邻近的样本时,为0;基于预设条件从所述第二置信度向量中确定所述样本的噪声标记并去除。

本说明书实施例可能带来的有益效果包括但不限于:(1)可以对样本的标记实现自动去噪,无需人工参与;(2)去噪过程中去噪的对象可以同时是多个样本,去噪效率高。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。

上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。

同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。

此外,本领域技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。

计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、rf、或类似介质,或任何上述介质的组合。

本说明书各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如java、scala、smalltalk、eiffel、jade、emerald、c++、c#、vb.net、python等,常规程序化编程语言如c语言、visualbasic、fortran2003、perl、cobol2002、php、abap,动态编程语言如python、ruby和groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或处理设备上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(lan)或广域网(wan),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(saas)。

此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的处理设备或移动设备上安装所描述的系统。

同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。

一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。

针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。

最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。

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