一种样本数据的生成方法、装置及计算机可读存储介质与流程

文档序号:24335368发布日期:2021-03-19 12:15阅读:75来源:国知局
一种样本数据的生成方法、装置及计算机可读存储介质与流程

本发明涉及机器学习技术领域,具体涉及一种样本数据的生成方法、装置及计算机可读存储介质。



背景技术:

近年来,推荐系统在搜索引擎、电商网站等多个领域获得了成功的应用。推荐系统通过基于对用户数据的挖掘,构建推荐模型,向用户推荐符合他们需求的产品、信息和服务等内容,帮助用户解决信息过载的问题。

现有的推荐系统将推荐模型的训练过程视为监督问题,其标签(如评级)或来自用户的特定行为。这种显式方法提供了明确的标签,但这些标签的真实性可能存在问题,其原因包括用户出于各种原因的虚假标注等。

监督学习技术通过学习大量训练样本来构建推荐模型,其中每个训练样本都有一个标签标明其真值输出。尽管当前的技术已经取得了巨大的成功,但是值得注意的是,由于数据标注过程的高成本,很多任务难以获得全部真值标签这样的强监督信息。因此,能够使用弱监督的机器学习技术是可取的。

弱监督学习是指训练样本的标签是不可靠的,如(x,y),y对于x的标记是不可靠的。这里的不可靠包括标记不正确、多种标记、标记不充分、局部标记等。针对监督信息不完整或不明确对象的学习问题统称为弱监督学习。由于训练样本的标签可靠性较差,这会对基于弱监督学习所构建的推荐模型的性能造成不利影响。



技术实现要素:

本发明实施例要解决的技术问题是提供一种样本数据的生成方法、装置及计算机可读存储介质,可以提升样本数据的标签质量,进而可以改善基于该样本数据训练得到的推荐模型的性能。

为解决上述技术问题,本发明实施例提供的样本数据的生成方法,包括:

生成推荐系统的至少两个弱监督推荐模型;

通过训练神经网络模型,学习所述至少两个弱监督推荐模型间的依赖关系;

利用训练得到的所述神经网络模型,对样本数据进行重新标注,得到更新后的样本数据。

可选的,通过训练神经网络模型,学习所述至少两个弱监督推荐模型间的依赖关系的步骤,包括:

基于所述至少两个弱监督推荐模型的输出,构建用于表示所述至少两个弱监督推荐模型间的依赖关系的神经网络模型;

通过最大化所述至少两个弱监督推荐模型的输出的联合概率,训练所述神经网络模型的参数,生成所述至少两个弱监督推荐模型间的依赖关系。

可选的,利用训练得到的所述神经网络模型,对样本数据进行重新标注的步骤,包括:

获取所述至少两个弱监督推荐模型对样本数据的标注结果;

利用训练得到的所述神经网络模型,获得所述标注结果的最大似然估计,根据所述标注结果的最大似然估计,对样本数据进行重新标注。

可选的,所述生成推荐系统的至少两个弱监督推荐模型的步骤,包括:

基于已有的弱监督标签,训练生成多个不同类型的弱监督推荐模型;

分别从每个类型的弱监督推荐模型中,选择出标注性能高于预设门限的弱监督推荐模型,得到所述至少两个弱监督推荐模型。

可选的,在得到更新后的样本数据之后,所述方法还包括:

利用更新后的样本数据,训练得到所述推荐系统的目标推荐模型。

本发明实施例还提供了一种样本数据的生成装置,包括:

推荐模型获得单元,用于生成推荐系统的至少两个弱监督推荐模型;

神经网络模型学习单元,用于通过训练神经网络模型,学习所述至少两个弱监督推荐模型间的依赖关系;

重标注单元,用于利用训练得到的所述神经网络模型,对样本数据进行重新标注,得到更新后的样本数据。

可选的,所述神经网络模型学习单元,还用于基于所述至少两个弱监督推荐模型的输出,构建用于表示所述至少两个弱监督推荐模型间的依赖关系的神经网络模型;以及,通过最大化所述至少两个弱监督推荐模型的输出的联合概率,训练所述神经网络模型的参数,生成所述至少两个弱监督推荐模型间的依赖关系。

可选的,所述重标注单元,还用于获取所述至少两个弱监督推荐模型对样本数据的标注结果;以及,利用训练得到的所述神经网络模型,获得所述标注结果的最大似然估计,根据所述标注结果的最大似然估计,对样本数据进行重新标注。

可选的,所述推荐模型获得单元,还用于基于已有的弱监督标签,训练生成多个不同类型的弱监督推荐模型;以及,分别从每个类型的弱监督推荐模型中,选择出标注性能高于预设门限的弱监督推荐模型,得到所述至少两个弱监督推荐模型。

可选的,上述生成装置还包括:

目标推荐模型训练单元,用于利用更新后的样本数据,训练得到所述推荐系统的目标推荐模型。

本发明实施例还提供了一种样本数据的生成装置,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的样本数据的生成方法的步骤。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的样本数据的生成方法的步骤。

与现有技术相比,本发明实施例提供的样本数据的生成方法、装置及计算机可读存储介质,通过神经网络模型学习多个弱监督推荐模型间的依赖关系,并利用上述依赖关系提升了样本数据的标签质量,可以避免或减少样本数据的标注错误对推荐模型训练的不利影响,改善训练得到的推荐模型的性能。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例的样本数据的生成方法的一种流程示意图;

图2为本发明实施例所构建的神经网络模型的一个示例图;

图3为本发明实施例的样本数据的生成方法的另一种流程示意图;

图4为本发明实施例的样本数据的生成装置的一种结构示意图;

图5为本发明实施例的样本数据的生成装置的另一种结构示意图;

图6为本发明实施例的样本数据的生成装置的又一结构示意图。

具体实施方式

为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。在下面的描述中,提供诸如具体的配置和组件的特定细节仅仅是为了帮助全面理解本发明的实施例。因此,本领域技术人员应该清楚,可以对这里描述的实施例进行各种改变和修改而不脱离本发明的范围和精神。另外,为了清楚和简洁,省略了对已知功能和构造的描述。

应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。

在本发明的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

请参照图1,本发明实施例提供了一种样本数据的生成方法,该样本数据的生成方法可以提升样本数据的标签质量,进而可以改善基于该样本数据训练得到的推荐模型的性能。如图1所示,本发明实施例提供的样本数据的生成方法可以包括:

步骤101,生成推荐系统的至少两个弱监督推荐模型。

这里,本发明实施例可以基于已有的训练样本,训练得到推荐系统的至少两个弱监督推荐模型。所述训练样本通常包括有不可靠的标签,因此训练得到的推荐模型为弱监督推荐模型。具体的,每个弱监督推荐模型采用的训练样本可以是完全相同、部分相同或者完全不同,本发明对此不作具体限定。

步骤102,通过训练神经网络模型,学习所述至少两个弱监督推荐模型间的依赖关系。

这里,为了便于学习弱监督推荐模型间的依赖关系,本发明实施例构建了一个神经网络模型,具体的,基于所述至少两个弱监督推荐模型的输出,构建用于表示所述至少两个弱监督推荐模型间的依赖关系的神经网络模型,通常该神经网络模型包括至少两层网络。然后,通过最大化所述至少两个弱监督推荐模型的输出的联合概率,训练所述神经网络模型的参数,生成所述至少两个弱监督推荐模型间的依赖关系。在训练所述神经网络模型时,利用所述至少两个弱监督推荐模型对同一样本数据的输出(标签),以最大化上述输出的似然函数为目标进行训练,最终可以获得所述神经网络模型的参数,这些参数反映了所述至少两个弱监督推荐模型间的依赖关系。

图2为本发明实施例针对两个弱监督推荐模型所构建的神经网络模型的一个示例,该神经网络模型包括有两层网络,两层的神经网络可以表示包括与、或、非以及异或在内的所有的逻辑运算,其中,λ1和λ2分别表示两个弱监督推荐模型针对同一样本数据的输出,y表示标签的取值范围,pθ(λ1,λ2,y)表示该两个弱监督推荐模型的输出的似然函数,θ表示神经网络模型中的参数,如神经元之间的权重参数等。通过最大化似然函数pθ(λ1,λ2,y),可以训练得神经网络模型中的参数。

步骤103,利用训练得到的所述神经网络模型,对样本数据进行重新标注,得到更新后的样本数据。

本发明实施例在通过步骤102获得训练好的神经网络模型后,本发明实施例可以获取所述至少两个弱监督推荐模型对某个样本数据的标注结果,然后,利用训练得到的所述神经网络模型,获得所述标注结果的最大似然估计,进而根据所述标注结果的最大似然估计,对样本数据进行重新标注。这里,进行重新标注的样本数据,可以是步骤101中训练得到所述弱监督推荐模型的样本数据,也可以是所述推荐系统的其他样本数据,本发明实施例不作具体限定。

例如,仍然以图2所示神经网络为例,假设该两个弱监督推荐模型对某个样本数据的标注结果分别为λ1'和λ2',然后,利用所述神经网络模型,获得上述标注结果的最大似然估计为pθ(λ1',λ2',y1),那么就可以根据y1对该样本数据重新标注,即将其标注为y1。

通过以上步骤,本发明实施例通过神经网络模型学习得到多个弱监督推荐模型间的依赖关系,并利用上述依赖关系对样本数据重新进行标注,提升了样本数据的标签质量,可以避免或减少样本数据的标注错误对推荐模型训练的不利影响,改善训练得到的推荐模型的性能。

为了提升重新标注的标签的质量,本发明实施例在步骤101中,可以生成一定数量且相互间具有一定差异的弱监督推荐模型。也就是说,为了达到更好的重标注性能,步骤101中可以采用多样性的弱监督推荐模型。在具体实现时,本发明实施例可以基于已有的弱监督标签,训练生成多个不同类型的弱监督推荐模型;然后,分别从每个类型的弱监督推荐模型中,选择出标注性能高于预设门限的弱监督推荐模型,得到所述至少两个弱监督推荐模型。

具体的,作为上述训练生成多个不同类型的弱监督推荐模型的一种实现方式,弱监督推荐模型的类型可以通过人工方式进行定义,此时,在步骤101中基于已有的弱监督标签,训练生成多个不同预定类型的弱监督推荐模型。例如,可以将不同方式获取的弱监督推荐模型作为不同类型,而弱监督推荐模型的获取方式通常可以包括:

(1)基于用户行为规则的模式匹配或人工标注;

(2)无监督方法,如异常行为分析;

(3)基于现有标签的监督/半监督推荐模型。

作为上述训练生成多个不同类型的弱监督推荐模型的另一种实现方式,本发明实施例可以将先基于已有的弱监督标签,训练生成多个弱监督推荐模型。然后,对上述多个弱监督推荐模型的推荐结果进行聚类,例如,使用k-means的聚类算法,从而获得多个聚类,进而得到多个不同类型的弱监督推荐模型。

另外,为了减少后续神经网络模型的训练所需时间,本发明实施例可以控制步骤101中的所述至少两个弱监督推荐模型的数量,具体的,本发明实施例可以从每个类型的弱监督推荐模型中,选择出标注性能高于预设门限的弱监督推荐模型,舍弃那些标注性能较差的弱监督推荐模型。具体的,标注性能可以采用弱监督推荐模型对不可靠样本数据(即该样本数据的标签不可靠)的标注的准确率作为参考指标,准确率低于预设门限的弱监督推荐模型将被舍弃。

在上述步骤103中,本发明实施例可以得到更新后的样本数据,在此之后,如图3所示,本发明实施例还可以包括以下步骤:

步骤104,利用更新后的样本数据,训练得到所述推荐系统的目标推荐模型。

这里,本发明实施例利用更新后的样本数据进行推荐模型的训练,由于更新后的样本数据其标签的准确性更高,因此训练得到的推荐模型具有更好的性能。具体的,步骤104中的目标推荐模型的结构,可以与步骤101中所述的至少两种弱监督推荐模型中的任意一种相同,也可以是不同于步骤101中所述的至少两种弱监督推荐模型,本发明实施例对此不作具体限定。

基于以上方法,本发明实施例还提供了实施上述方法的装置,请参考图4,本发明实施例提供的样本数据的生成装置400,包括:

推荐模型获得单元401,用于生成推荐系统的至少两个弱监督推荐模型;

神经网络模型学习单元402,用于通过训练神经网络模型,学习所述至少两个弱监督推荐模型间的依赖关系;

重标注单元403,用于利用训练得到的所述神经网络模型,对样本数据进行重新标注,得到更新后的样本数据。

通过以上样本数据的生成装置400,可以对样本数据进行重新标注,生成更为准确的标签,提升了标签质量,进而可以改善后续基于该样本数据训练得到的推荐模型的模型性能。

可选的,所述神经网络模型学习单元402,还用于基于所述至少两个弱监督推荐模型的输出,构建用于表示所述至少两个弱监督推荐模型间的依赖关系的神经网络模型;以及,通过最大化所述至少两个弱监督推荐模型的输出的联合概率,训练所述神经网络模型的参数,生成所述至少两个弱监督推荐模型间的依赖关系。

可选的,所述重标注单元,还用于获取所述至少两个弱监督推荐模型对样本数据的标注结果;以及,利用训练得到的所述神经网络模型,获得所述标注结果的最大似然估计,根据所述标注结果的最大似然估计,对样本数据进行重新标注。

可选的,所述推荐模型获得单元,还用于基于已有的弱监督标签,训练生成多个不同类型的弱监督推荐模型;以及,分别从每个类型的弱监督推荐模型中,选择出标注性能高于预设门限的弱监督推荐模型,得到所述至少两个弱监督推荐模型。

本发明另一实施例还提供了如图5所示的样本数据的生成装置400a,除了包括如图4所示的推荐模型获得单元401、神经网络模型学习单元402和重标注单元403外,还可以包括以下单元:

目标推荐模型训练单元404,用于利用更新后的样本数据,训练得到所述推荐系统的目标推荐模型。

通过上述目标推荐模型训练单元,本发明实施例可以训练得到性能更好的推荐模型。

请参考图6,本发明实施例还提供了样本数据的生成装置的一种硬件结构框图,如图6所示,该样本数据的生成装置600包括:

处理器602;和

存储器604,在所述存储器604中存储有程序,

其中,在所述程序被所述处理器运行时,使得所述处理器602执行以下步骤:

生成推荐系统的至少两个弱监督推荐模型;

通过训练神经网络模型,学习所述至少两个弱监督推荐模型间的依赖关系;

利用训练得到的所述神经网络模型,对样本数据进行重新标注,得到更新后的样本数据。

进一步地,如图6所示,该样本数据的生成装置600还可以包括网络接口601、输入设备603、硬盘605、和显示设备606。

上述各个接口和设备之间可以通过总线架构互连。总线架构可以是包括任意数量的互联的总线和桥。具体由处理器602代表的一个或者多个中央处理器(cpu),以及由存储器604代表的一个或者多个存储器的各种电路连接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其它电路连接在一起。可以理解,总线架构用于实现这些组件之间的连接通信。总线架构除包括数据总线之外,还包括电源总线、控制总线和状态信号总线,这些都是本领域所公知的,因此本文不再对其进行详细描述。

所述网络接口601,可以连接至网络(如因特网、局域网等),从网络中收集样本数据,并可以将收集到的样本数据保存在硬盘605中。

所述输入设备603,可以接收操作人员输入的各种指令,并发送给处理器602以供执行。所述输入设备603可以包括键盘或者点击设备(例如,鼠标,轨迹球(trackball)、触感板或者触摸屏等)。

所述显示设备606,可以将处理器602执行指令获得的结果进行显示,例如显示样本数据的重新标注的结果或标注进度等。

所述存储器604,用于存储操作系统运行所必须的程序和数据,以及处理器602计算过程中的中间结果等数据。

可以理解,本发明实施例中的存储器604可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom)、可编程只读存储器(prom)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)或闪存。易失性存储器可以是随机存取存储器(ram),其用作外部高速缓存。本文描述的装置和方法的存储器604旨在包括但不限于这些和任意其它适合类型的存储器。

在一些实施方式中,存储器604存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:操作系统6041和应用程序6042。

其中,操作系统6041,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序6042,包含各种应用程序,例如浏览器(browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序6042中。

本发明上述实施例揭示的方法可以应用于处理器602中,或者由处理器602实现。处理器602可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器602中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器602可以是通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器604,处理器602读取存储器604中的信息,结合其硬件完成上述方法的步骤。

可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑设备(pld)、现场可编程门阵列(fpga)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。

对于软件实现,可通过执行本文所述功能的模块(例如过程、函数等)来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。

可选的,所述程序被处理器602执行时还可实现如下步骤:

基于所述至少两个弱监督推荐模型的输出,构建用于表示所述至少两个弱监督推荐模型间的依赖关系的神经网络模型;

通过最大化所述至少两个弱监督推荐模型的输出的联合概率,训练所述神经网络模型的参数,生成所述至少两个弱监督推荐模型间的依赖关系。

可选的,所述程序被处理器602执行时还可实现如下步骤:

获取所述至少两个弱监督推荐模型对样本数据的标注结果;

利用训练得到的所述神经网络模型,获得所述标注结果的最大似然估计,根据所述标注结果的最大似然估计,对样本数据进行重新标注。

可选的,所述程序被处理器602执行时还可实现如下步骤:

基于已有的弱监督标签,训练生成多个不同类型的弱监督推荐模型;

分别从每个类型的弱监督推荐模型中,选择出标注性能高于预设门限的弱监督推荐模型,得到所述至少两个弱监督推荐模型。

可选的,所述程序被处理器602执行时还可实现如下步骤:

利用更新后的样本数据,训练得到所述推荐系统的目标推荐模型。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的样本数据的生成方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁盘或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

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