CN107451894B - 数据处理方法、装置和计算机可读存储介质 - Google Patents
数据处理方法、装置和计算机可读存储介质 Download PDFInfo
- Publication number
- CN107451894B CN107451894B CN201710654930.2A CN201710654930A CN107451894B CN 107451894 B CN107451894 B CN 107451894B CN 201710654930 A CN201710654930 A CN 201710654930A CN 107451894 B CN107451894 B CN 107451894B
- Authority
- CN
- China
- Prior art keywords
- items
- data
- category
- positive
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0263—Targeted advertisements based upon Internet or website rating
Abstract
本发明公开了一种数据处理方法、装置和计算机可读存储介质,涉及数据处理领域。数据处理方法包括:获取多个训练数据对以及训练数据对中每个数据的标记值;将训练数据对中的正样本数据输入正样本训练模型、负样本数据输入负样本训练模型,并分别获得正样本数据和负样本数据对应的输出值,其中,正样本训练模型和负样本训练模型具有相同的模型参数;根据同一损失函数以及标记值和输出值对正样本训练模型和负样本训练模型的模型参数进行相同调整,以便根据输入数据在调整后的正样本训练模型或负样本训练模型的输出值对输入数据进行排序。从而使训练后的模型能够区分不同数据之间的排序关系,在基于该模型对推荐条目排序时能够提高排序准确性和推荐效率。
Description
技术领域
本发明涉及数据处理领域,特别涉及一种数据处理方法、装置和计算机可读存储介质。
背景技术
目前的互联网应用广泛采用推荐技术将用户感兴趣的条目推荐给用户,以提高用户对互联网应用或网站的兴趣,增加用户黏性。
以电子商务网站为例,商品推荐能够给用户提供可能感兴趣的商品,是激发用户购买兴趣的主要手段,其中,如何通过对待推荐的商品进行排序、以优先推荐更贴合用户的兴趣的商品也是至关重要的。
现有技术中,主要采用训练数据训练排序模型。在训练完成后,将待推荐的条目数据输入到排序模型中,根据排序模型的输出值对条目进行排序。例如,可以提取用户和商品的特征,采用回归模型进行拟合生成预估值,并采用预估值进行排序。
发明内容
发明人发现,现有技术中的回归模型等方法仅能够简单地训练或拟合单一样本,但没有对不同类型的条目之间的排序关系进行学习,导致排序结果不准确,用户无法优先接触到感兴趣的条目,从而降低了排序的准确性。
针对上述问题,本发明提供了一种能够提高排序的准确性的数据处理方法。
根据本发明实施例的第一个方面,提供一种数据处理方法,包括:获取多个训练数据对以及训练数据对中每个数据的标记值,其中,每个训练数据对包括正样本数据和负样本数据;将训练数据对中的正样本数据输入正样本训练模型、负样本数据输入负样本训练模型,并分别获得正样本数据和负样本数据对应的输出值,其中,正样本训练模型和负样本训练模型具有相同的模型参数;根据同一损失函数以及标记值和输出值对正样本训练模型和负样本训练模型的模型参数进行相同的调整,以便根据输入数据在调整后的正样本训练模型或负样本训练模型的输出值对输入数据进行排序。
在一个实施例中,以令同一损失函数的值最小化为训练目标、对正样本训练模型和负样本训练模型的模型参数进行相同的调整,其中,损失函数的值分别与正样本数据对应的输出值与标记值的差距、负样本数据对应的输出值与标记值的差距成正相关关系。
在一个实施例中,损失函数的值还与同一训练数据对中的正样本数据对应的输出值和负样本数据对应的输出值之差成负相关关系。
在一个实施例中,根据同一损失函数以及标记值和输出值对正样本训练模型和负样本训练模型的模型参数进行相同的调整包括:以令同一损失函数最小化为目标,对正样本训练模型和负样本训练模型的模型参数进行相同的调整,其中,损失函数G为:
N表示训练数据对的数量、并且是正整数,i表示训练数据对的标识,y1i表示第i个训练数据对中正样本数据对应的输出值,y2i表示第i个训练数据对中负样本数据对应的输出值,t1i表示第i个训练数据对中正样本数据的标记值,t2i表示第i个训练数据对中负样本数据的标记值,m和λ的值均大于0。
在一个实施例中,训练数据对中的正样本数据和负样本数据分别为用户在同一次浏览过程中点击的条目对应的特征数据和未点击的条目对应的特征数据。
在一个实施例中,标记值表示商品交易额、点击率、订单量中的任意一种。
在一个实施例中,正样本训练模型和负样本训练模型为深度神经网络模型。
在一个实施例中,数据处理方法还包括:将多个推荐条目对应的特征数据输入到正样本训练模型或者负样本训练模型,并将每个推荐条目对应的输出值作为每个推荐条目的排序预估值;根据排序预估值对推荐条目进行排序。
在一个实施例中,根据排序预估值对推荐条目进行排序包括:获得推荐条目涉及的每个类别对应的β分布参数,其中,β分布参数包括正反馈参数和负反馈参数;根据推荐条目涉及的每个类别中用户的已浏览条目和已点击条目的数量调整相应类别对应的β分布参数,使调整后的正反馈参数与已点击条目的数量成正相关关系、调整后的负反馈参数与已浏览条目的数量成正相关关系;基于调整后的β分布参数对应的β分布调整相应类别的推荐条目的排序预估值;采用调整后的排序预估值对推荐条目进行排序。
在一个实施例中,根据推荐条目涉及的每个类别中用户的已浏览条目和已点击条目的数量调整相应类别对应的β分布参数包括:根据每个类别中用户的已点击条目的数量和已浏览条目的数量之比调整相应类别对应的正反馈参数,其中,每个类别的调整后的正反馈参数与该类别的已点击条目的数量和已浏览条目的数量之比成正相关关系。
在一个实施例中,根据推荐条目涉及的每个类别中用户的已浏览条目和已点击条目的数量调整相应类别对应的β分布参数还包括:根据每个类别的条目的排序预估值的平均值调整相应类别对应的正反馈参数,其中,每个类别的调整后的正反馈参数与相应类别的推荐条目的排序预估值的平均值成正相关关系。
在一个实施例中,根据推荐条目涉及的每个类别中用户的已浏览条目和已点击条目的数量调整相应类别对应的β分布参数包括:根据每个类别中用户的已浏览条目的数量、以及每个类别的条目的排序预估值的平均值调整相应类别对应的负反馈参数,其中,每个类别的调整后的负反馈参数与相应类别的推荐条目的排序预估值的平均值成负相关关系。
在一个实施例中,根据推荐条目的每个类别中用户的已浏览条目和已点击条目的数量,调整每个类别对应的β分布参数包括:采用以下公式,调整β分布参数中的正反馈参数:
c为类别标识,αc为调整前的正反馈参数,α′c为调整后的正反馈参数,avec为条目的排序预估值的平均值,NCc为已点击条目的数量,NEc为已浏览条目的数量,P1为正反馈调整系数、并且P1大于0。
在一个实施例中,根据每个类别的已浏览条目的数量、以及已浏览条目中已点击条目的数量,调整该类别的条目的β分布参数包括:
采用以下公式,调整β分布参数中的负反馈参数:
c为类别标识,βc为调整前的负反馈参数,β′c为调整后的负反馈参数,avec为条目的排序预估值的平均值,NEc为已浏览条目的数量, S为缩放系数,P2为负反馈调整系数,并且S和P2大于0。
在一个实施例中,在上一次调整条目的排序预估值后,当达到预设条件时,根据推荐条目的每个类别中用户的已浏览条目和已点击条目的数量,调整每个类别对应的β分布参数;预设条件包括以下一种或多种:用户已浏览条目的数量增加预设数量、用户已点击条目的数量增加预设数量、用户的浏览时长达到预设时长。
在一个实施例中,基于调整后的β分布参数对应的β分布为每个类别生成随机数,并采用随机数调整相应类别的推荐条目的排序预估值。
在一个实施例中,基于调整后的β分布参数对应的β分布为每个类别生成随机数,根据推荐条目的调整前的排序预估值与相应类别的随机数的乘积确定调整后的排序预估值。
在一个实施例中,基于调整后的β分布参数对应的β分布为每个类别中的每个推荐条目均生成一个随机数,并采用每个随机数调整相应推荐条目的排序预估值。
在一个实施例中,采用调整后的排序预估值对用户未浏览的条目进行排序。
根据本发明实施例的第二个方面,提供一种数据处理装置,包括:训练数据获取模块,被配置为获取多个训练数据对以及训练数据对中每个数据的标记值,其中,每个训练数据对包括正样本数据和负样本数据;训练数据输入模块,被配置为将训练数据对中的正样本数据输入正样本训练模型、负样本数据输入负样本训练模型,并分别获得正样本数据和负样本数据对应的输出值,其中,正样本训练模型和负样本训练模型具有相同的模型参数;参数调整模块,被配置为根据同一损失函数以及标记值和输出值对正样本训练模型和负样本训练模型的模型参数进行相同的调整,以便根据输入数据在调整后的正样本训练模型或负样本训练模型的输出值对输入数据进行排序。
在一个实施例中,参数调整模块进一步被配置为以令同一损失函数的值最小化为训练目标、对正样本训练模型和负样本训练模型的模型参数进行相同的调整,其中,损失函数的值分别与正样本数据对应的输出值与标记值的差距、负样本数据对应的输出值与标记值的差距成正相关关系。
在一个实施例中,损失函数的值还与同一训练数据对中的正样本数据对应的输出值和负样本数据对应的输出值之差成负相关关系。
在一个实施例中,参数调整模块进一步被配置为以令同一损失函数最小化为目标,对正样本训练模型和负样本训练模型进行相同的参数调整,其中,损失函数G为:
N表示训练数据对的数量、并且是正整数,i表示训练数据对的标识,y1i表示第i个训练数据对中正样本数据对应的输出值,y2i表示第i个训练数据对中负样本数据对应的输出值,t1i表示第i个训练数据对中正样本数据的标记值,t2i表示第i个训练数据对中负样本数据的标记值,m和λ的值均大于0。
在一个实施例中,训练数据对中的正样本数据和负样本数据分别为用户在同一次浏览过程中点击的条目对应的特征数据和未点击的条目对应的特征数据。
在一个实施例中,标记值表示商品交易额、点击率、订单量中的任意一种。
在一个实施例中,正样本训练模型和负样本训练模型为深度神经网络模型。
在一个实施例中,数据处理装置还包括:预测模块,被配置为将多个推荐条目对应的特征数据输入到正样本训练模型或者负样本训练模型,并将每个推荐条目对应的输出值作为每个推荐条目的排序预估值;排序模块,被配置为根据排序预估值对推荐条目进行排序。
在一个实施例中,排序模块包括:数据获取单元,被配置为获得推荐条目中每个条目的排序预估值、以及推荐条目涉及的每个类别对应的β分布参数,其中,β分布参数包括正反馈参数和负反馈参数;参数调整单元,被配置为根据推荐条目涉及的每个类别中用户的已浏览条目和已点击条目的数量调整相应类别对应的β分布参数,使调整后的正反馈参数与已点击条目的数量成正相关关系、调整后的负反馈参数与已浏览条目的数量成正相关关系;排序预估值调整单元,被配置为基于调整后的β分布参数对应的β分布调整相应类别的推荐条目的排序预估值;排序单元,被配置为采用调整后的排序预估值对推荐条目进行排序。
在一个实施例中,参数调整单元进一步被配置为根据每个类别中用户的已点击条目的数量和已浏览条目的数量之比调整相应类别对应的正反馈参数,其中,每个类别的调整后的正反馈参数与该类别的已点击条目的数量和已浏览条目的数量之比成正相关关系。
在一个实施例中,参数调整单元进一步被配置为根据每个类别中用户的已点击条目的数量、以及每个类别的条目的排序预估值的平均值调整相应类别对应的正反馈参数,其中,每个类别的调整后的正反馈参数与相应类别的推荐条目的排序预估值的平均值成正相关关系。
在一个实施例中,参数调整单元进一步被配置为根据每个类别中用户的已浏览条目的数量、以及每个类别的条目的排序预估值的平均值调整相应类别对应的负反馈参数,其中,每个类别的调整后的负反馈参数与相应类别的推荐条目的排序预估值的平均值成负相关关系。
在一个实施例中,参数调整单元进一步被配置为采用以下公式,调整β分布参数中的正反馈参数:
c为类别标识,αc为调整前的正反馈参数,α′c为调整后的正反馈参数,avec为条目的排序预估值的平均值,NCc为已点击条目的数量,NEc为已浏览条目的数量,P1为正反馈调整系数、并且P1大于0。
在一个实施例中,参数调整单元进一步被配置为采用以下公式,调整β分布参数中的负反馈参数:
c为类别标识,βc为调整前的负反馈参数,β′c为调整后的负反馈参数,avec为条目的排序预估值的平均值,NEc为已浏览条目的数量, S为缩放系数,P2为负反馈调整系数,并且S和P2大于0。
在一个实施例中,参数调整单元进一步被配置为在上一次调整条目的排序预估值后,当达到预设条件时,根据推荐条目的每个类别中用户的已浏览条目和已点击条目的数量,调整每个类别对应的β分布参数;预设条件包括以下一种或多种:用户已浏览条目的数量增加预设数量、用户已点击条目的数量增加预设数量、用户的浏览时长达到预设时长。
在一个实施例中,排序预估值调整模块进一步被配置为基于调整后的β分布参数对应的β分布为每个类别生成随机数,并采用随机数调整相应类别的推荐条目的排序预估值。
在一个实施例中,排序预估值调整单元进一步被配置为基于每个类别的调整后的β分布参数所形成的β分布为相应类别中的每个推荐条目均生成一个随机数,并采用每个随机数调整相应推荐条目的排序预估值。
在一个实施例中,排序预估值调整单元进一步被配置为基于调整后的β分布参数所形成的β分布为每个类别生成随机数,根据推荐条目的调整前的排序预估值与相应类别的随机数的乘积确定调整后的排序预估值。
在一个实施例中,排序单元进一步被配置为采用调整后的排序预估值对用户未浏览的条目进行排序。
根据本发明实施例的第三个方面,提供一种数据处理装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行前述任意一种数据处理方法。
根据本发明实施例的第四个方面,提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现前述任意一种数据处理方法。
上述发明中的一个实施例具有如下优点或有益效果:本发明的实施例通过采用明显具有排序的先后关系的训练数据对同时训练两个训练模型,并基于同一损失函数对两个训练模型作出同样的调整,使训练后的模型具有区分不同数据之间的排序关系的能力,从而使推荐内容的排序更准确,推荐效率更高。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明数据处理方法的一个实施例的流程图。
图2为β分布的示意图。
图3为本发明数据处理方法的另一个实施例的流程图。
图4为本发明数据处理方法的又一个实施例的流程图。
图5为本发明数据处理装置的一个实施例的结构图。
图6为本发明数据处理装置的另一个实施例的结构图。
图7为本发明数据处理装置的又一个实施例的结构图。
图8为本发明数据处理装置的再一个实施例的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1为本发明数据处理方法一个实施例的流程图。如图1所示,该实施例的数据处理方法包括步骤S102~S106。
在步骤S102中,获取多个训练数据对以及训练数据对中每个数据的标记值。
每个训练数据对包括正样本数据和负样本数据。训练数据对中的训练数据可以是多维特征数据。训练数据对及其标记值可以是从用户的历史数据中获取的。
同一训练数据对中的正样本数据和负样本数据可以是用户在同一个事件中用户给予了不同操作的样本数据。用户对正样本数据的操作为积极、正面的操作,例如点击、收藏、购买等,表示用户对该数据感兴趣,而对负样本数据则没有产生表达用户兴趣的操作。因此在对样本数据进行排序时,应当尽量令同一训练数据对中的正样本数据排列在负样本数据之前,以使用户优先接触到自己更感兴趣的对象。
在一个实施例中,训练数据对中的正样本数据和负样本数据可以分别为用户在同一次浏览过程中点击的条目对应的特征数据和未点击的条目对应的特征数据。条目例如可以为商品条目、新闻条目、书籍条目、音乐条目、电影条目中的任意一种。因此,训练数据的类型,即正样本数据和负样本数据体现的是用户的反馈。
标记值是用于对数据进行排序的依据。在训练阶段,可以采用数据的相关属性值作为标记值。例如,对于商品数据,可以将下单率、订单总额、点击率作为标记值;对于新闻数据,可以将浏览量、热度作为标记值。因此,标记值体现的是数据的固有属性。
本发明的实施例将用户反馈和数据的固有属性共同体现在训练过程中,使模型的输出值能够综合体现上述两方面的特性。
根据需要,正样本数据、负样本数据、标记值还可以是其他领域的其他形式的数据,这里不再赘述。
在步骤S104中,将训练数据对中的正样本数据输入正样本训练模型、负样本数据输入负样本训练模型,并分别获得正样本数据和负样本数据对应的输出值。
正样本训练模型和负样本训练模型具有相同的模型参数。本发明采用的训练模型例如可以为深度神经网络模型(Deep Neural Networks,DNN)。
深度神经网络模型包括多个层,每个层中包括若干神经元。在模型中,位于两侧的层,例如最下层和最上层,分别为输入层和输出层,输入层和输出层之间的层叫做隐藏层。同一层的神经元之间没有连接;相邻的不同层之间通过不同层中的神经元进行连接,并且每个连接都有一个权值,该权值即为相互连接的两个节点中距离输入层较近的节点的参数之一。第N-1层神经元的输出经过加权计算之后作为第N层神经元的输入。本发明采用的深度神经网络模型的输出节点只有一个,即模型的输出值为一维数据。
根据需要,本发明也可以采用其他具有一维输出值的机器学习模型,这里不再赘述。
本发明使用了将两个相同的模型同时进行训练、并作出相同调整的方式。虽然两个模型在训练过程中是完全相同的,但是为了便于描述和区分,本申请将两个模型分别称为正样本训练模型和负样本训练模型,二者的区别仅在于输入的数据种类不同。
在本发明的实际实施过程中,可以实际建立两个模型,分别用于接收正样本数据和负样本数据进行训练,这样可以同时针对正样本数据和负样本数据进行输出,提高处理效率;也可以仅实际建立一个模型,当接收正样本数据时,该模型为正样本训练模型,当接收负样本数据时,该模型为负样本训练模型,即令同一模型分时段地接收不同类型的数据。
不论采用上述哪种处理方式,都属于本发明权利要求所覆盖的保护范围。
在步骤S106中,根据同一损失函数以及标记值和输出值对正样本训练模型和负样本训练模型的模型参数进行相同的调整。
例如,可以以令同一损失函数最小化为目标,对正样本训练模型和负样本训练模型的模型参数进行相同的调整。损失函数中包括标记值、输出值之间的运算关系。
从而,可以根据输入数据在调整后的正样本训练模型或负样本训练模型的输出值对输入数据进行排序。
现有技术是采用单一数据训练单一的模型,并根据单一数据的输出值和标记值对模型参数进行调整。
而在本申请中,由于进行模型训练的目的是采用训练后的模型的输出值对待测数据进行排序,因此,本发明的实施例通过采用明显具有排序的先后关系的训练数据对同时训练两个训练模型,并基于同一损失函数对两个训练模型作出同样的调整,使训练后的模型具有区分不同数据之间的排序关系的能力,从而使推荐内容的排序更准确,推荐效率更高。
下面介绍几种损失函数的实现方式的示例性实施例。
在一个实施例中,损失函数中可以包括正样本数据在正样本训练模型的输出值与标记值的差距、以及负样本数据在负样本训练模型的输出值与标记值的差距。损失函数的值分别与正样本数据对应的输出值与标记值的差距、负样本数据对应的输出值与标记值的差距成正相关关系。
上述差距是非负的,即,损失函数的值分别与正样本数据对应的输出值与标记值之差的绝对值、负样本数据对应的输出值与标记值之差的绝对值成正相关关系。由于训练目标是令损失函数最小化,因此也是令输出值和标记值的差距最小化。
设i表示训练数据对的标识,N表示参与训练的训练数据对的数量、并且是正整数,y1i表示正样本数据在正样本训练模型中的输出值, y2i表示负样本数据在负样本训练模型中的输出值,t1i表示正样本数据的标记值,t2i表示负样本数据的标记值。
正样本数据在正样本训练模型的输出值与标记值的差距可以定义为|y1i-t1i|,负样本数据在负样本训练模型的输出值与标记值的差距可以定义为|y2i-t2i|。
损失函数中可以包括正样本数据对应的输出值与标记值的差距的若干次方、以及负样本数据对应的输出值与标记值的差距的若干次方之和。
例如,损失函数G例如可以采用公式(1)表示:
在公式(1)中,M表示差距的阶次,M可以为大于或等于1的整数。例如,当M取2时,有公式(2):
二阶损失函数具有非负性、唯一确定性、对称性和三角性等特质,易于求导,在根据损失函数采用反向传播算法调整训练模型的参数时更便于计算。
根据需要,还可以在公式(1)和(2)中设置固定参数,这里不再赘述。
在一个实施例中,损失函数还可以包括同一训练数据对中的正样本数据对应的输出值和负样本数据对应的输出值之差。损失函数的值与同一训练数据对中的正样本数据对应的输出值和负样本数据对应的输出值之差成负相关关系。
本发明所训练的模型除了能够区分不同样本之间的偏序关系以外,还可以将不同样本之间的偏序关系放大,以起到更好的排序效果。因此,在进行训练时,目标函数中还可以加入正样本训练模型的输出值与训练数据在负样本训练模型的输出值之差(y1i-y2i)。
例如,损失函数G还可以参考公式(3):
此外,在训练时,还可以考虑同一训练数据对中正样本数据和负样本数据的标记值之差。损失函数的值与同一训练数据对中正样本数据和负样本数据的标记值之差成正比。
从而,如果同一训练数据对中的正样本数据和负样本数据的标记值本身相差很大,则也应当令正样本数据和负样本数据对应的输出值之差很大。
例如,损失函数G还可以参考公式(4):
根据需要,(t1i-t2i)与(y1i-y2i)之间也可以是相加的关系,只要符合损失函数的值与同一训练数据对中正样本数据和负样本数据的标记值之差成正比即可。
此外,当希望训练模型能够将两种具有明显先后关系的样本数据在一定限度内分开时,即不希望二者之间的差距无限制地扩大时,例如还可以采用公式(5)作为损失函数:
在公式(5)中,m和λ为调整系数,并且m和λ的值均大于0。当 (y1i-y2i)*(t1i-t2i)的值大于调整系数m时,可以无需再以令正样本数据和负样本数据的输出值的差异扩大化为目标进行训练。
上述各个实施例介绍了多种损失函数的实现方式。根据需要,本领域技术人员可以将上述各个公式中的部分进行调整或替换,例如在公式中添加固定系数等等,这里不再赘述。
在确定了损失函数之后,可以根据损失函数对训练模型进行调整。现有技术中有成熟的根据损失函数调整训练模型参数值的方法,本发明在此不再赘述。例如,当训练模型为深度神经网络模型时,可以采用反向传播算法来求解调整后的参数。
之后,可以采用完成训练的正样本训练模型或者负样本训练模型对所述待测数据进行排序。
在一个实施例中,可以将多个推荐条目对应的特征数据输入到正样本训练模型或者负样本训练模型,并将每个推荐条目对应的输出值作为每个推荐条目的排序预估值;然后,根据排序预估值对推荐条目进行排序。由于正样本训练模型和负样本训练模型是完全相同的模型,因此可以择一使用以用于预测。
例如,可以按照排序预估值由大到小或由小到大的顺序排列相应的推荐条目。如果在模型训练阶段,标记值是正面的参考因素,例如交易额、订单量、点击率等,则可以按照排序预估值由大到小的顺序排列相应的推荐条目。
上述各个实施例的方法是参考用户的历史数据进行的推荐排序的决策。此外,还可以基于模型的输出结果,根据用户的实时反馈调整排序。
在实时调整推荐给用户的条目的排序时,用户的反馈是十分重要的参考因素。通过用户的浏览和点击情况,可以反映出用户当前的偏好或关注点。
发明人通过分析用户的浏览和点击情况,得出以下结论。
以电子商务网站或应用中的用户行为为例,用户浏览和点击的商品越多,则说明可供参考的样本越多;当样本足够多时,用户的偏好会表现得较为明显,从而可以对商品的排序做出比较明确的调整。
例如,对于某个类别的商品,如果用户的浏览量很大、而点击的商品很少,则可以说明用户对此类商品不感兴趣,可以考虑将此类商品的排序向后调整;反之,对于某个类别的商品,如果用户的浏览量很大,同时点击的商品也很多,则可以考虑将这类商品的排序向前调整以进行优先展示。
当用户浏览和点击的商品都很少时,则用户的行为暂时还无法反映用户的意图。此时,调整的余地可以宽泛一些,例如可以向前或向后微调、或进行随机调整。
发明人经过研究发现,上述结论和规律可以与概率分布函数β分布 (或称贝塔分布、Beta分布)联系起来。
β分布可以采用Beta(α,β)表示,具有参数α和β,其数学形式可以如公式(6)所示。
β分布的示例可以如图2所示。图2中的三条曲线分别表示 Beta(30,30)、Beta(110,110)、Beta(80,200)。
β分布的峰值所对应的横坐标值x为α和(α+β)的比值。
对比Beta(30,30)、Beta(110,110)。Beta(30,30)、Beta(110,110)的峰值所对应的横坐标值是相同的,均为0.5,即α和(α+β)的比值均为0.5。 Beta(30,30)中的参数α和β比Beta(110,110)中的参数α和β均要小,从图中可以看出,Beta(30,30)的峰值区间主要分布在0.3~0.7的区间, Beta(110,110)的峰值区间主要分布在0.4~0.6的区间,即Beta(110,110)的峰值区间更窄。
对比Beta(30,30)和Beta(80,200)。Beta(30,30)中峰值对应的横坐标是 0.5,而Beta(80,200)中的β分布虽然具有较大的参数α和β,但是由于 Beta(80,200)对应的α和(α+β)的比值约等于0.29,小于0.5,因此 Beta(80,200)的峰值区间相较于Beta(30,30)左移。并且,当Beta(80,200) 所示的β分布的峰值区间大约在0.2~0.4之间,要窄于Beta(30,30)的峰值区间。
如图2所示,α和β的取值越大,β分布的峰值区间越狭窄,横坐标的可取值范围越固定。
在β值一定的前提下,α参数的取值越大,峰值越远离原点,峰值区间所覆盖的横坐标的数值越大;反之,α参数的取值越小,峰值区间所覆盖的横坐标的数值越小。
当α和β的取值均较小时,β分布的峰值区间较宽,此时,峰值区间所覆盖的横坐标的范围非常宽泛。
发明人将用户的浏览和点击行为与β分布联系起来,发现将β分布中的α参数和用户点击的某类商品数量对应、将β参数和用户浏览的某类商品数量对应,则β分布的峰值区间对应的x的取值大小与该类商品的推荐程度相对应;而峰值区间越窄,则是否进行推荐的确定性越强。
基于上述分析,发明人提出了一种可以对排序预估值进行调整、以实时调整条目的排序结果的数据处理方法。
图3为本发明数据处理方法一个实施例的流程图。如图3所示,该实施例的数据处理方法包括步骤S302~S306。
在步骤S302中,获得推荐条目中每个条目的排序预估值、以及推荐条目涉及的每个类别对应的β分布参数。
β分布参数包括正反馈参数和负反馈参数。若采用Beta(α,β)表示β分布,则α参数表示能够反映用户对条目的点击情况的正反馈参数,β参数表示能够反映用户对条目的浏览情况的负反馈参数。
推荐条目是预备推荐给用户的条目的集合。在一个实施例中,可以对用户的历史数据进行挖掘,例如浏览数据、购买数据、收藏数据等等,并将与这些数据中的条目关联或相似的条目作为推荐条目;此外,还可以将优惠条目、活动条目等添加到推荐条目中。
根据需要,本领域技术人员还可以采用其他方式获得推荐条目,这里不再赘述。
推荐条目中包括一个或多个类别的条目,条目的类别可以是按照条目属性分类的。例如对于商品条目,可以分为数码产品、图书、服饰、鞋包、化妆品等类别,或者按照价格、促销力度、发货地点等参考因素进行分类;又例如,对于新闻条目,可以分为要闻、社会、军事、体育和娱乐等类别。
每个类别对应一个β分布。在初始阶段,各个类别的β分布参数可以是一致的,例如可以均为Beta(10,10);如果推荐条目已经进行过一次调整,则每个类别对应的β分布参数可以是上一次调整后所确定的β分布参数。
在步骤S304中,根据推荐条目涉及的每个类别中用户的已浏览条目和已点击条目的数量调整相应类别对应的β分布参数,使调整后的正反馈参数与已点击条目的数量成正相关关系、调整后的负反馈参数与已浏览条目的数量成正相关关系。
在一个实施例中,可以根据用户的浏览数据获得每个类别中用户的已浏览条目和已点击条目的数量。
此外,还可以令已浏览条目的数据与正反馈参数成负相关关系,从而在调整正反馈参数时,不仅考虑已点击条目的数量,还会考虑已点击条目与已浏览条目的数量差距或比值。
在一个实施例中,可以根据每个类别中用户的已点击条目的数量和已浏览条目的数量之比调整相应类别对应的正反馈参数,令每个类别的调整后的正反馈参数与该类别的已点击条目的数量和已浏览条目的数量之比成正相关关系。
在步骤S306中,基于调整后的β分布参数对应的β分布调整相应类别的推荐条目的排序预估值。
可以基于调整后的β分布参数对应的横坐标x值进行调整。
在一个实施例中,由于峰值的大小代表了对条目的推荐程度大小,因此可以将β分布的峰值所对应的x值作为排序预估值的调整依据。
在一个实施例中,可以选择β分布的峰值区间所覆盖的x值的范围中的某个分位数作为排序预估值的调整依据。例如,可以选择峰值区间所覆盖的x值的范围的第一四分位数对应的数值作为调整依据。由于样本数量越多,峰值区间越窄,因此例如对于峰值相同、而样本数量不同的两个类别,样本数量大的类别所对应的第一四分位数的数值更大,因此可以优先推荐。
在一个实施例中,还可以基于调整后的β分布参数对应的β分布为每个类别生成随机数,该随机数对应x轴的值,并采用随机数调整相应类别的推荐条目的排序预估值。即,将随机数作为排序预估值的调整依据。
在生成随机数时,可以采用现有的随机数生成器、随机数生成程序或随机数生成函数,基于特定的β分布参数生成随机数,这里不再赘述。
当以排序预估值由大到小的顺序排列条目时,可以使调整后的排序预估值与排序预估值的调整依据成正相关关系。例如,排序预估值的调整依据和调整前的排序预估值可以通过相加或相乘计算获得调整后的排序预估值。
由于排序预估值主要反映正面因素,例如销售额、订单量、点击率等指标,因此大部分应用场景中采用的是这种方法。当然,当以排序预估值由小到大的顺序排列条目时,可以使调整后的排序预估值与随机数成负相关关系。
本发明主要阐述以排序预估值由大到小的顺序排列条目的情况,但是,并不对本发明的保护范围起限制性作用。
从而,可以采用调整后的排序预估值对推荐条目进行排序。
在对条目的排序预估值进行调整以后,可以仅对多个推荐条目中用户未浏览的条目进行重新排序并进行展示,即只调整用户未浏览的条目的排列顺序。
在部分场景下,当排序预估值进行调整后,也可能出现需要再次为用户展示所有的待推荐条目的情况。例如,用户离开了推荐页面,而推荐条目还未更新,此时,可以将全部推荐条目进行重新排序,并在下一次用户进入推荐页面时或触发推荐操作时展示给用户。
通过上述实施例的方法,本发明能够根据用户对每个类别的条目的浏览情况和点击情况调整各个类别的β分布参数,使得已点击条目的数量与正反馈参数成正相关关系、已浏览条目的数量与负反馈参数成正相关关系,并基于调整后的β分布参数对应的β分布调整相应类别的推荐条目的排序预估值,从而优先为用户推荐用户感兴趣的条目,提高了排序的准确性。
用户会对某些类别的条目有偏好,因此在根据用户的浏览数据挖掘出用户的偏好后,可以为用户推荐其喜好的条目。
然而,用户在实时浏览的短暂过程中,其当前的购买目标、购买兴趣也有可能会出现变化。
为了应对这种情况,在步骤S306中可以采用基于调整后的β分布参数对应的β分布为每个类别生成随机数、并采用随机数调整相应类别的推荐条目的排序预估值的方式。
当某个类别的条目中已浏览条目数量很大、已点击条目的数量很小时,β分布的峰值区间较窄、β分布的峰值对应的横坐标较小,随机数取值较为集中、并且取到较小数值的概率很高,因此对于这类用户浏览较多、但是不太感兴趣的条目,可以在大多数情况下将其向后排列。
当某个类别的条目中已浏览条目和已点击条目的数量都很小时,β分布的峰值区间较宽、β分布的峰值对应的横坐标很小,随机数取值较为分散,因此对于这类用户浏览和点击的样本较少的条目,可以在较为宽泛地范围内生成随机数并调整预估值,使部分条目依然有一定概率在靠前的位置推荐给用户。
当某个类别的条目中已浏览条目和已点击条目的数量都很大时,β分布的峰值区间很窄、β分布的峰值对应的横坐标较大,随机数取值较为集中、并且取到较大数值的概率很高,因此对于这类用户浏览较多、也比较感兴趣的条目,可以在大多数情况下大幅度地将其向前排列。
在生成随机数时,可以令每个推荐条目都分别对应一个基于该类的β分布生成的随机数。
例如,服饰类对应β分布Beta(80,200),欲进行调整的服饰类商品有3个,分别为商品A、B和C。基于Beta(80,200)分别为3个条目生成随机数0.2843、0.2851、0.2862,则可以分别采用0.2843、0.2851、 0.2862对商品A、B和C的排序预估值进行调整。
从而,大部分条目的调整幅度都在一个预设的范围内,即在β分布的峰值区间,使同一类别条目的调整幅度总体相近。然而,由于每个推荐条目对应的随机数又不尽相同,从而使该调整幅度在基本稳定的前提下又具有小幅度的波动,使部分条目能够有机会突破调整前的排序顺序而先一步呈现给用户。
此外,也可以令同一类别中的每个推荐条目可以共同对应一个基于该类的β分布生成的随机数。例如,基于数码类商品对应的β分布生成了随机数0.81,则数码类的所有商品均可以基于0.81来调整排序预估值。
这种方式的计算量较小,当希望维持同类条目内部的先后顺序时可以采用这种方法。
上述实施例在调整时采用了随机数的方式,即对于通过分析当前的浏览数据和历史数据而得出的用户并不是非常感兴趣的品类、或偏好不明确的品类,也给予其优先展示的机会,从而,用户可以在短时间内接触到大量偏好类别的条目、以及少量其他类别的条目,从而可以探索用户对其他类别条目的喜好,以进行后续的再次调整。
根据需要,本发明实施例的方法可以多次执行。即,可以多次对推荐条目的排序进行调整。
下面参考图4描述本发明又一个实施例的数据处理方法。
图4为本发明数据处理方法又一个实施例的流程图。如图4所示,该实施例的数据处理方法包括步骤S402~S410。
在步骤S402中,获得推荐条目中每个条目的排序预估值、以及推荐条目涉及的每个类别对应的β分布参数。
在步骤S403中,获取推荐条目涉及的每个类别中用户的已浏览条目和已点击条目的数量。
在步骤S404中,根据推荐条目涉及的每个类别中用户的已浏览条目和已点击条目的数量调整相应类别对应的β分布参数。
在步骤S406中,基于调整后的β分布参数对应的β分布调整相应类别的推荐条目的排序预估值。
在步骤S408中,采用调整后的排序预估值调整推荐条目的排序。
在步骤S410中,响应于用户行为触发预设条件,获取调整后的β分布参数。
然后,可以回到步骤S403,根据推荐条目的每个类别中用户的已浏览条目和已点击条目的数量,调整每个类别对应的β分布参数。通过多次循环,达到实时调整的效果。
预设条件可以包括以下一种或多种:用户已浏览条目的数量增加预设数量、用户已点击条目的数量增加预设数量、用户的浏览时长达到预设时长。
例如,可以在每次用户的浏览数据发生改变时调整一次β分布参数,并进行而调整推荐条目的排序,以根据用户的反馈实时地对排序结果进行调整。
从而,可以根据用户实时的浏览和点击情况进行多次调整,使多次调整后的结果逐渐逼近用户的当前意图。
下面对β分布Beta(α,β)的参数α和β的调整方法进行介绍。
本领域技术人员应当清楚,在本发明中,α参数和β参数仅为两个代表符号,不对本发明起任何限制性的作用。根据需要,也可以采用其他符号表示参数,例如采用Beta(p,q)表示β分布、采用p表示正反馈参数、采用q表示负反馈参数等等,这里不再赘述。
此外,在后文的描述中,采用NCc表示已点击条目中属于类别c 的数量,采用NEc表示已浏览条目中属于类别c的数量。
下面示例性地介绍正反馈参数的调整方法。
在一个实施例中,可以仅根据某个类别中用户的已点击条目的数量调整相应类别对应的正反馈参数,使调整后的正反馈参数与已点击条目的数量成正相关关系。
例如,可以直接将已点击条目的数量作为调整后的正反馈参数,或者将已点击条目的数量与固定系数、调整前的正反馈参数进行运算后作为调整后的正反馈参数。
在一个实施例中,可以根据每个类别中用户的已点击条目的数量和已浏览条目的数量之比调整相应类别对应的正反馈参数,其中,每个类别的调整后的正反馈参数与该类别的已点击条目的数量和已浏览条目的数量之比成正相关关系。
该正相关关系可以是加性关系、乘性关系、指数关系或者多种计算方式结合的正相关关系。下面示例性地介绍几种调整方法。设αc为调整前的正反馈参数,α′c为调整后的正反馈参数。
α′c=(αc+NCc/NEc)*a1+a2 (7)
根据需要,可以更改系数a1和a2的计算位置,这里不再赘述。
此外,在计算过程中,还可以引入同一类中的推荐条目的排序预估值的平均值,在本申请中以avec表示该平均值。
在一个实施例中,可以根据每个类别中用户的已点击条目的数量、以及每个类别的条目的排序预估值的平均值调整相应类别对应的正反馈参数,其中,每个类别的调整后的正反馈参数与相应类别的推荐条目的排序预估值的平均值成正相关关系。
在公式(8)中,P1为调整系数,P1的值大于0。
公式(8)通过调整系数P1,能够将的计算结果与排序预估值保持在接近的数量级,从而使调整结果更合理,不会产生多次调整后排序预估值越来越大或越来越小的情况。当然,本领域技术人员也可以选择不使用调整系数P1。
公式(8)通过引入同一类别条目的排序预估值的均值参与计算,能够基于用户的浏览点击情况和条目的排序预估值共同对正反馈系数进行调整,使调整结果更准确。
下面示例性地介绍负反馈参数的调整方法。
在一个实施例中,可以根据每个类别中用户的已浏览条目的数量,调整该类别的条目的负反馈参数,其中,每个类别的调整后的负反馈参数与已浏览条目的数量成正相关关系。
即,在其他条件不变的情况下,用户的已浏览量条目的数量越多,则β分布的峰值区间越狭窄,随机数可能的取值越集中,调整方向更确定。
例如,可以直接将已浏览条目的数量作为调整后的负反馈参数,或者将已浏览条目的数量与固定系数、调整前的负反馈参数进行运算后作为调整后的负反馈参数。
与调整正反馈参数类似,该正相关关系也可以是加性关系、乘性关系、指数关系或者多种计算方式结合的正相关关系。下面示例性地介绍几种调整方法。设βc为调整前的正反馈参数,β′c为调整后的正反馈参数。
在一个实施例中,可以根据βc与NEc的和或乘积确定β′c。
在一个实施例中,还可以将βc与相加或相乘,获得β′c。由于在用户的实际浏览过程中,已点击条目的数量可能较少,而已浏览条目的数量很可能是比较大的,因此可以将NEc设置在指数位置,采用将βc与进行相加或相乘计算的方式,以使负反馈系数的调整更平缓。
一个示例性的实施例可以如公式(9)所示。
此外,也可以在公式(9)中添加其他固定系数,以根据需要对公式(9)的形式进行变化,这里不再赘述。
在调整负反馈系数的过程中,同样可以引入同一类中的推荐条目的排序预估值的平均值avec参与计算。调整后的负反馈参数与排序预估值的平均值成负相关关系。
当负反馈参数减小时,随机数可能取到的数值会增大,即条目的排序会向前调整。因此,将排序预估值的平均值也参与调整,当排序预估值的平均值较大时,即,当某类别的条目在调整前就处于靠前的排序位置时,会减小负反馈参数的增加幅度,使原本处于靠前排序位置的条目不会大幅度地向后移动。
这种方式不仅考虑了用户的实时反馈,还会结合条目的固有属性或者在上一次调整后所确定的排序位置进行调整,使调整的过程更平滑、更准确。
在计算过程中,调整后的负反馈参数与排序预估值的平均值之间的负相关关系可以采用(1-avec)体现。其中,(1-avec)也可以扩展称为任意正数与avec之差。如果已经预先对avec进行了归一化处理,即条目的排序预估值均为位于[0,1]之间的数值,则可以直接采用 (1-avec)。根据需要,本领域技术人员也可以采用其他负相关关系的表示形式,这里不再赘述。
一种示例性的计算方式可以如公式(10)所示。
在公式(10)中,S为缩放系数,P2为负反馈调整系数,并且S和 P2大于0。
与公式(8)类似地,当条目的排序预估值与之间的数量级相差过大时,如果将(1-avec)与进行相加运算,会使NEc对调整结果的影响过小、从而失去调整作用。因此,采用公式(10) 所示的方式计算,适应性更好。
公式(10)通过引入同一类别条目的排序预估值的均值参与计算,能够基于用户的浏览点击情况和条目的排序预估值共同对负反馈系数进行调整,使调整结果更准确。
下面示例性地介绍基于随机数调整排序预估值的方法。
在一个实施例中,可以根据推荐条目的调整前的排序预估值与相应类别的随机数的乘积确定调整后的排序预估值。
设pvrc为某类中的某个条目调整前的排序预估值,pvrc′为该条目调整后的排序预估值,r为基于该类的β分布获得的随机数。则对排序预估值进行调整的示例性实施例可以如公式(11)所示:
pvrc′=pvrc*(m+r)/P3 (11)
在公式(11)中,P3为大于0的调整系数。其具体数值可以根据实际的排序预估值的大小情况或者后续的算法需要而设置。当然,也可以不设置P3,即,公式(11)例如也可以采用pvri+1=pvri*( m+r) 的形式。
m为固定参数,由于r是取值范围为[0,1]的数,因此m需要大于0,以使调整后的排序预估值大于0。此外,如果m取值过大,在 m与r相加以后,可能会使r对排序预估值的影响过小。例如当m 为100时,r值不论是0.1还是0.9,在与m相加后再与pvri相乘获得的结果可能是较为接近的。因此,m可优选地可以取10以内的数值。
在一个实施例中,m例如可以等于1,即有公式(12):
pvrc′=pvrc*(1+r)/P3 (12)
下面参考图5描述本发明一个实施例的数据处理装置。
图5为本发明数据处理装置的一个实施例的结构图。如图5所示,该实施例的数据处理装置包括:训练数据获取模块51,被配置为获取多个训练数据对以及训练数据对中每个数据的标记值,其中,每个训练数据对包括正样本数据和负样本数据;训练数据输入模块52,被配置为将训练数据对中的正样本数据输入正样本训练模型、负样本数据输入负样本训练模型,并分别获得正样本数据和负样本数据对应的输出值,其中,正样本训练模型和负样本训练模型具有相同的模型参数;参数调整模块53,被配置为根据同一损失函数以及标记值和输出值对正样本训练模型和负样本训练模型的模型参数进行相同的调整,以便根据输入数据在调整后的正样本训练模型或负样本训练模型的输出值对输入数据进行排序。
在一个实施例中,参数调整模块53进一步被配置为以令同一损失函数的值最小化为训练目标、对正样本训练模型和负样本训练模型的模型参数进行相同的调整,其中,损失函数的值分别与正样本数据对应的输出值与标记值的差距、负样本数据对应的输出值与标记值的差距成正相关关系。
在一个实施例中,损失函数的值还与同一训练数据对中的正样本数据对应的输出值和负样本数据对应的输出值之差成负相关关系。
在一个实施例中,参数调整模块53进一步被配置为以损失函数最小化为目标,对正样本训练模型和负样本训练模型的模型参数进行相同的调整,其中,损失函数G可以参考公式(5):
N表示训练数据对的数量、并且是正整数,i表示训练数据对的标识,y1i表示第i个训练数据对中正样本数据对应的输出值,y2i表示第i个训练数据对中负样本数据对应的输出值,t1i表示第i个训练数据对中正样本数据的标记值,t2i表示第i个训练数据对中负样本数据的标记值,m和λ的值均大于0。
在一个实施例中,训练数据对中的正样本数据和负样本数据分别为用户在同一次浏览过程中点击的条目对应的特征数据和未点击的条目对应的特征数据。
在一个实施例中,训练数据对中每个数据的标记值表示商品交易额、点击率、订单量中的任意一种。
在一个实施例中,正样本训练模型和负样本训练模型为深度神经网络模型。
下面参考图6描述本发明另一个实施例的数据处理装置。
图6为本发明数据处理装置的另一个实施例的结构图。如图6所示,该实施例的数据处理装置包括训练数据获取模块61、训练数据输入模块62和参数调整模块63,其具体实施方式可以参照训练数据获取模块51、训练数据输入模块52和参数调整模块53。此外,该实施例的数据处理装置还可以包括:预测模块64,被配置为将多个推荐条目对应的特征数据输入到正样本训练模型或者负样本训练模型,并将每个推荐条目对应的输出值作为每个推荐条目的排序预估值;排序模块65,被配置为根据排序预估值对推荐条目进行排序。
在一个实施例中,排序模块65还可以包括:数据获取单元651,被配置为获得推荐条目中每个条目的排序预估值、以及推荐条目涉及的每个类别对应的β分布参数,其中,β分布参数包括正反馈参数和负反馈参数;参数调整单元652,被配置为根据推荐条目涉及的每个类别中用户的已浏览条目和已点击条目的数量调整相应类别对应的β分布参数,使调整后的正反馈参数与已点击条目的数量成正相关关系、调整后的负反馈参数与已浏览条目的数量成正相关关系;排序预估值调整单元653,被配置为基于调整后的β分布参数对应的β分布调整相应类别的推荐条目的排序预估值,以便采用调整后的排序预估值对推荐条目进行排序。
在一个实施例中,参数调整单元652可以进一步被配置为根据每个类别中用户的已点击条目的数量和已浏览条目的数量之比调整相应类别对应的正反馈参数,其中,每个类别的调整后的正反馈参数与该类别的已点击条目的数量和已浏览条目的数量之比成正相关关系。
在一个实施例中,参数调整单元652可以进一步被配置为根据每个类别中用户的已点击条目的数量、以及每个类别的条目的排序预估值的平均值调整相应类别对应的正反馈参数,其中,每个类别的调整后的正反馈参数与相应类别的推荐条目的排序预估值的平均值成正相关关系。
在一个实施例中,参数调整单元652可以进一步被配置为根据每个类别中用户的已浏览条目的数量、以及每个类别的条目的排序预估值的平均值调整相应类别对应的负反馈参数,其中,每个类别的调整后的负反馈参数与相应类别的推荐条目的排序预估值的平均值成负相关关系。
在一个实施例中,参数调整单元652可以进一步被配置为采用公式(8)调整β分布参数中的正反馈参数:
c为类别标识,αc为调整前的正反馈参数,α′c为调整后的正反馈参数,avec为条目的排序预估值的平均值,NCc为已点击条目的数量,NEc为已浏览条目的数量,P1为正反馈调整系数、并且P1大于0。
在一个实施例中,参数调整单元652可以进一步被配置为采用公式(10)调整β分布参数中的负反馈参数:
c为类别标识,βc为调整前的负反馈参数,β′c为调整后的负反馈参数,avec为条目的排序预估值的平均值,NEc为已浏览条目的数量, SCALE为缩放系数,P2为负反馈调整系数,并且SCALE和P2大于 0。
在一个实施例中,参数调整单元652可以进一步被配置为在上一次调整条目的排序预估值后,当达到预设条件时,根据推荐条目的每个类别中用户的已浏览条目和已点击条目的数量,调整每个类别对应的β分布参数;预设条件包括以下一种或多种:用户已浏览条目的数量增加预设数量、用户已点击条目的数量增加预设数量、用户的浏览时长达到预设时长。
在一个实施例中,排序预估值调整单元653可以进一步被配置为基于调整后的β分布参数对应的β分布为每个类别生成随机数,并采用随机数调整相应类别的推荐条目的排序预估值。
在一个实施例中,排序预估值调整单元653可以进一步被配置为基于每个类别的调整后的β分布参数所形成的β分布为相应类别中的每个推荐条目均生成一个随机数,并采用每个随机数调整相应推荐条目的排序预估值。
在一个实施例中,排序预估值调整单元653可以进一步被配置为基于调整后的β分布参数所形成的β分布为每个类别生成随机数,根据推荐条目的调整前的排序预估值与相应类别的随机数的乘积确定调整后的排序预估值。
在一个实施例中,排序单元654可以进一步被配置为采用调整后的排序预估值对用户未浏览的条目进行排序。
图7为本发明数据处理装置的又一个实施例的结构图。如图7所示,该实施例的装置700包括:存储器710以及耦接至该存储器710的处理器720,处理器720被配置为基于存储在存储器710中的指令,执行前述任意一个实施例中的数据处理方法。
其中,存储器710例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序 (Boot Loader)以及其他程序等。
图8为本发明数据处理装置的再一个实施例的结构图。如图8所示,该实施例的装置800包括:存储器810以及处理器820,还可以包括输入输出接口830、网络接口840、存储接口850等。这些接口 830,840,850以及存储器810和处理器820之间例如可以通过总线 860连接。其中,输入输出接口830为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口840为各种联网设备提供连接接口。存储接口850为SD卡、U盘等外置存储设备提供连接接口。
本发明的实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现前述任意一种数据处理方法。
本领域内的技术人员应当明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (24)
1.一种数据处理方法,其特征在于,包括:
获取多个训练数据对以及训练数据对中每个数据的标记值,其中,每个训练数据对包括正样本数据和负样本数据;
将训练数据对中的正样本数据输入正样本训练模型、负样本数据输入负样本训练模型,并分别获得正样本数据和负样本数据对应的输出值,其中,所述正样本训练模型和负样本训练模型具有相同的模型参数;
根据同一损失函数以及所述标记值和所述输出值对正样本训练模型和负样本训练模型的模型参数进行相同的调整;
将多个推荐条目对应的特征数据输入到正样本训练模型或者负样本训练模型,并将每个推荐条目对应的输出值作为每个推荐条目的排序预估值;
根据排序预估值对推荐条目进行排序,包括:
获得推荐条目涉及的每个类别对应的β分布参数,其中,所述β分布参数包括正反馈参数和负反馈参数;
根据推荐条目涉及的每个类别中用户的已浏览条目和已点击条目的数量调整相应类别对应的β分布参数,使调整后的正反馈参数与已点击条目的数量成正相关关系、调整后的负反馈参数与已浏览条目的数量成正相关关系;
基于调整后的β分布参数对应的β分布调整相应类别的推荐条目的排序预估值;以及
采用调整后的排序预估值对推荐条目进行排序。
2.根据权利要求1所述的数据处理方法,其特征在于,以令同一损失函数的值最小化为训练目标、对正样本训练模型和负样本训练模型的模型参数进行相同的调整,其中,所述损失函数的值分别与正样本数据对应的输出值与标记值的差距、负样本数据对应的输出值与标记值的差距成正相关关系。
3.根据权利要求2所述的数据处理方法,其特征在于,所述损失函数的值还与同一训练数据对中的正样本数据对应的输出值和负样本数据对应的输出值之差成负相关关系。
5.根据权利要求1所述的数据处理方法,其特征在于,所述训练数据对中的正样本数据和负样本数据分别为用户在同一次浏览过程中点击的条目对应的特征数据和未点击的条目对应的特征数据。
6.根据权利要求1所述的数据处理方法,其特征在于,所述根据推荐条目涉及的每个类别中用户的已浏览条目和已点击条目的数量调整相应类别对应的β分布参数包括:
根据每个类别中用户的已点击条目的数量和已浏览条目的数量之比调整相应类别对应的正反馈参数,其中,每个类别的调整后的正反馈参数与该类别的已点击条目的数量和已浏览条目的数量之比成正相关关系。
7.根据权利要求6所述的数据处理方法,其特征在于,所述根据推荐条目涉及的每个类别中用户的已浏览条目和已点击条目的数量调整相应类别对应的β分布参数还包括:
根据每个类别的条目的排序预估值的平均值调整相应类别对应的正反馈参数,其中,每个类别的调整后的正反馈参数与相应类别的推荐条目的排序预估值的平均值成正相关关系。
8.根据权利要求1所述的数据处理方法,其特征在于,所述根据推荐条目涉及的每个类别中用户的已浏览条目和已点击条目的数量调整相应类别对应的β分布参数包括:
根据每个类别中用户的已浏览条目的数量、以及每个类别的条目的排序预估值的平均值调整相应类别对应的负反馈参数,其中,每个类别的调整后的负反馈参数与相应类别的推荐条目的排序预估值的平均值成负相关关系。
9.根据权利要求1所述的数据处理方法,其特征在于,基于调整后的β分布参数对应的β分布为每个类别生成随机数,并采用所述随机数调整相应类别的推荐条目的排序预估值。
10.根据权利要求1所述的数据处理方法,其特征在于,在上一次调整条目的排序预估值后,当达到预设条件时,根据推荐条目的每个类别中用户的已浏览条目和已点击条目的数量,调整每个类别对应的β分布参数;
所述预设条件包括以下一种或多种:用户已浏览条目的数量增加预设数量、用户已点击条目的数量增加预设数量、用户的浏览时长达到预设时长。
11.根据权利要求1-10中任一项所述的数据处理方法,其特征在于,还包括:
采用调整后的排序预估值对用户未浏览的条目进行排序。
12.一种数据处理装置,其特征在于,包括:
训练数据获取模块,被配置为获取多个训练数据对以及训练数据对中每个数据的标记值,其中,每个训练数据对包括正样本数据和负样本数据;
训练数据输入模块,被配置为将训练数据对中的正样本数据输入正样本训练模型、负样本数据输入负样本训练模型,并分别获得正样本数据和负样本数据对应的输出值,其中,所述正样本训练模型和负样本训练模型具有相同的模型参数;
参数调整模块,被配置为根据同一损失函数以及所述标记值和所述输出值对正样本训练模型和负样本训练模型的模型参数进行相同的调整;
预测模块,被配置为将多个推荐条目对应的特征数据输入到正样本训练模型或者负样本训练模型,并将每个推荐条目对应的输出值作为每个推荐条目的排序预估值;
排序模块,被配置为根据排序预估值对推荐条目进行排序,包括:
数据获取单元,被配置为获得推荐条目中每个条目的排序预估值、以及推荐条目涉及的每个类别对应的β分布参数,其中,所述β分布参数包括正反馈参数和负反馈参数;
参数调整单元,被配置为根据推荐条目涉及的每个类别中用户的已浏览条目和已点击条目的数量调整相应类别对应的β分布参数,使调整后的正反馈参数与已点击条目的数量成正相关关系、调整后的负反馈参数与已浏览条目的数量成正相关关系;
排序预估值调整单元,被配置为基于调整后的β分布参数对应的β分布调整相应类别的推荐条目的排序预估值;以及
排序单元,被配置为采用调整后的排序预估值对推荐条目进行排序。
13.根据权利要求12所述的数据处理装置,其特征在于,所述参数调整模块进一步被配置为以令同一损失函数的值最小化为训练目标、对正样本训练模型和负样本训练模型的模型参数进行相同的调整,其中,所述损失函数的值分别与正样本数据对应的输出值与标记值的差距、负样本数据对应的输出值与标记值的差距成正相关关系。
14.根据权利要求13所述的数据处理装置,其特征在于,所述损失函数的值还与同一训练数据对中的正样本数据对应的输出值和负样本数据对应的输出值之差成负相关关系。
16.根据权利要求12所述的数据处理装置,其特征在于,所述训练数据对中的正样本数据和负样本数据分别为用户在同一次浏览过程中点击的条目对应的特征数据和未点击的条目对应的特征数据。
17.根据权利要求12所述的数据处理装置,其特征在于,所述参数调整单元进一步被配置为根据每个类别中用户的已点击条目的数量和已浏览条目的数量之比调整相应类别对应的正反馈参数,其中,每个类别的调整后的正反馈参数与该类别的已点击条目的数量和已浏览条目的数量之比成正相关关系。
18.根据权利要求12所述的数据处理装置,其特征在于,所述参数调整单元进一步被配置为根据每个类别的条目的排序预估值的平均值调整相应类别对应的正反馈参数,其中,每个类别的调整后的正反馈参数与相应类别的推荐条目的排序预估值的平均值成正相关关系。
19.根据权利要求12所述的数据处理装置,其特征在于,所述参数调整单元进一步被配置为根据每个类别中用户的已浏览条目的数量、以及每个类别的条目的排序预估值的平均值调整相应类别对应的负反馈参数,其中,每个类别的调整后的负反馈参数与相应类别的推荐条目的排序预估值的平均值成负相关关系。
20.根据权利要求12所述的数据处理装置,其特征在于,所述排序预估值调整单元进一步被配置为基于调整后的β分布参数对应的β分布为每个类别生成随机数,并采用所述随机数调整相应类别的推荐条目的排序预估值。
21.根据权利要求12所述的数据处理装置,其特征在于,所述参数调整单元进一步被配置为在上一次调整条目的排序预估值后,当达到预设条件时,根据推荐条目的每个类别中用户的已浏览条目和已点击条目的数量,调整每个类别对应的β分布参数;
所述预设条件包括以下一种或多种:用户已浏览条目的数量增加预设数量、用户已点击条目的数量增加预设数量、用户的浏览时长达到预设时长。
22.根据权利要求12-21中任一项所述的数据处理装置,其特征在于,所述排序单元进一步被配置为采用调整后的排序预估值对用户未浏览的条目进行排序。
23.一种数据处理装置,其特征在于,包括:
存储器;以及
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如权利要求1-11中任一项所述的数据处理方法。
24.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-11中任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710654930.2A CN107451894B (zh) | 2017-08-03 | 2017-08-03 | 数据处理方法、装置和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710654930.2A CN107451894B (zh) | 2017-08-03 | 2017-08-03 | 数据处理方法、装置和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107451894A CN107451894A (zh) | 2017-12-08 |
CN107451894B true CN107451894B (zh) | 2020-09-29 |
Family
ID=60490397
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710654930.2A Active CN107451894B (zh) | 2017-08-03 | 2017-08-03 | 数据处理方法、装置和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107451894B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108494602B (zh) * | 2018-04-08 | 2020-11-06 | 上海鸿洛通信电子有限公司 | Ota参数的调整方法、装置及智能终端 |
CN110428295A (zh) * | 2018-08-01 | 2019-11-08 | 北京京东尚科信息技术有限公司 | 商品推荐方法和系统 |
CN109446961B (zh) | 2018-10-19 | 2020-10-30 | 北京达佳互联信息技术有限公司 | 姿势检测方法、装置、设备及存储介质 |
CN109815406B (zh) * | 2019-01-31 | 2022-12-13 | 腾讯科技(深圳)有限公司 | 一种数据处理、信息推荐方法及装置 |
CN110163647B (zh) * | 2019-03-14 | 2023-06-27 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及装置 |
CN109918570A (zh) * | 2019-03-18 | 2019-06-21 | 智者四海(北京)技术有限公司 | 内容推荐方法、装置、存储介质及内容处理方法 |
CN110083542B (zh) * | 2019-05-06 | 2023-11-07 | 百度在线网络技术(北京)有限公司 | 一种推荐系统中模型测试方法、装置及电子设备 |
CN110827112B (zh) * | 2019-09-16 | 2023-02-03 | 中国平安人寿保险股份有限公司 | 深度学习的商品推荐方法、装置、计算机设备及存储介质 |
CN110992127B (zh) * | 2019-11-14 | 2023-09-29 | 北京沃东天骏信息技术有限公司 | 一种物品推荐方法及装置 |
CN111382354A (zh) * | 2020-03-03 | 2020-07-07 | 上海喜马拉雅科技有限公司 | 一种信息推荐方法、装置、设备及存储介质 |
CN113407772B (zh) * | 2020-03-16 | 2023-12-26 | 北京达佳互联信息技术有限公司 | 视频推荐模型的生成方法、视频推荐方法、装置 |
CN112258285A (zh) * | 2020-10-26 | 2021-01-22 | 北京沃东天骏信息技术有限公司 | 一种内容推荐方法及装置、设备、存储介质 |
CN113744017A (zh) * | 2020-11-13 | 2021-12-03 | 北京沃东天骏信息技术有限公司 | 电商搜索的推荐方法及装置、设备、存储介质 |
CN113672783B (zh) * | 2021-08-11 | 2023-07-11 | 北京达佳互联信息技术有限公司 | 特征处理方法、模型训练方法及媒体资源处理方法 |
CN117593768A (zh) * | 2024-01-19 | 2024-02-23 | 季华实验室 | 咽喉定位模型训练方法、装置、电子设备及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110153663A1 (en) * | 2009-12-21 | 2011-06-23 | At&T Intellectual Property I, L.P. | Recommendation engine using implicit feedback observations |
CN104166668B (zh) * | 2014-06-09 | 2018-02-23 | 南京邮电大学 | 基于folfm模型的新闻推荐系统及方法 |
CN104715063B (zh) * | 2015-03-31 | 2018-11-02 | 百度在线网络技术(北京)有限公司 | 搜索排序方法和装置 |
CN105260471B (zh) * | 2015-10-19 | 2019-03-26 | 广州品唯软件有限公司 | 商品个性化排序模型训练方法及系统 |
CN106250464B (zh) * | 2016-07-28 | 2020-04-28 | 北京百度网讯科技有限公司 | 排序模型的训练方法及装置 |
CN106802915B (zh) * | 2016-12-09 | 2020-07-28 | 宁波大学 | 一种基于用户行为的学术资源推荐方法 |
-
2017
- 2017-08-03 CN CN201710654930.2A patent/CN107451894B/zh active Active
Non-Patent Citations (1)
Title |
---|
User’s Brands Preference Based On SVD++ In Recommender Systems;Yancheng Jia,Changhua Zhang,Qinghua Lu,Peng Wang;《IEEE Xplore》;20141208;1175-1178 * |
Also Published As
Publication number | Publication date |
---|---|
CN107451894A (zh) | 2017-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107451894B (zh) | 数据处理方法、装置和计算机可读存储介质 | |
CN106651542B (zh) | 一种物品推荐的方法及装置 | |
CN107423430B (zh) | 数据处理方法、装置和计算机可读存储介质 | |
Teo et al. | Adaptive, personalized diversity for visual discovery | |
CN109241415B (zh) | 项目推荐方法、装置、计算机设备及存储介质 | |
CN109559208A (zh) | 一种信息推荐方法、服务器及计算机可读介质 | |
CN106251174A (zh) | 信息推荐方法及装置 | |
EP4181026A1 (en) | Recommendation model training method and apparatus, recommendation method and apparatus, and computer-readable medium | |
Lai et al. | Novel personal and group-based trust models in collaborative filtering for document recommendation | |
CN111242310B (zh) | 特征有效性评估方法、装置、电子设备及存储介质 | |
EP2860672A2 (en) | Scalable cross domain recommendation system | |
CN107301247B (zh) | 建立点击率预估模型的方法及装置、终端、存储介质 | |
CN110889747B (zh) | 商品推荐方法、装置、系统、计算机设备及存储介质 | |
CN109087178A (zh) | 商品推荐方法和装置 | |
CN106484777A (zh) | 一种多媒体数据处理方法以及装置 | |
KR101864822B1 (ko) | 사용자를 위한 항목을 추천하는 장치 및 방법 | |
CN106708953A (zh) | 基于离散粒子群优化的局部社区检测协同过滤推荐方法 | |
Guàrdia-Sebaoun et al. | Latent trajectory modeling: A light and efficient way to introduce time in recommender systems | |
CN112149003B (zh) | 商品社群推荐方法、装置和计算机设备 | |
CN109410001A (zh) | 一种商品推荐方法、系统、电子设备和存储介质 | |
Puntheeranurak et al. | An item-based collaborative filtering method using item-based hybrid similarity | |
Ben-Shimon et al. | An ensemble method for top-N recommendations from the SVD | |
CN109063120B (zh) | 一种基于聚类的协同过滤推荐方法和装置 | |
CN110059257B (zh) | 基于评分修正的项目推荐方法 | |
Hwang et al. | Data imputation using a trust network for recommendation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |