具体实施方式
本说明书的实施例提出一种新的计算机执行的项目选择方法,基于己方已发放的促销项目、衡量己方促销项目效果的效果参数、以及作为隐变量以概率分布描述的竞争方促销项目和用户偏好,来构建输出为对己方促销项目评估结果的促销策略模型,并以可获得历史数据的己方已发放的促销项目和效果参数来对促销策略模型进行深度强化学习训练,采用训练后的促销策略模型来确定己方的促销项目,从而无需研发人员凭借主观经验来调整数据模型,也无需耗费大量计算资源来对不断调整的模型进行训练,并且由于促销策略模型综合考虑了竞争方和用户偏好,能够达到更好的促销效果。
本说明书的实施例可以运行在任何具有计算和存储能力的设备上,如手机、平板电脑、PC(Personal Computer,个人电脑)、笔记本、服务器等设备;还可以由运行在两个或两个以上设备的逻辑节点来实现本说明书实施例中的各项功能。
本说明书的实施例中,某个互联网服务提供商有两个或者两个以上可供选择的促销项目,每个促销项目在促销类型(如满减、发放代金券、赠送礼品等)、促销规则(如满减的适用范围、代金券的额度、代金券的使用限制等)、促销额度(如满减的消费额度和扣减额度、代金券的额度、礼品的价值等)等方面至少有一个与其他促销项目不同。换言之,可供选择的促销项目可以是不同类型,可以是相同类型不同规则,可以是相同类型不同额度,还可以是其他情形,不做限定。
应用本说明书实施例的互联网服务提供方(己方)利用促销策略模型,在其他与己方对相同用户群体有竞争关系的互联网服务提供方(竞争方)也进行促销的情形下,来在己方可供选择的促销项目中确定其中的一个发放给某个用户。己方的促销项目与竞争方的促销项目在促销类型、促销规则、促销额度等各个方面可以相同也可以不同,不做限定。
促销的目的通常是使己方赢得竞争优势。在竞争环境中,竞争优势的取得不仅与己方的促销项目有关,还与竞争方的促销策略(即如何向用户发放促销项目)和用户对己方和竞争方的偏好相关。但是竞争方的促销策略往往是己方无法获得的商业机密,用户的偏好则需要综合己方和竞争方双方的样本数据才能确定,而己方和竞争方都难以得到对方的数据。因此,在本说明书的实施例中,在促销策略模型中,将竞争方的促销项目和用户对己方和竞争方的偏好作为隐变量(latent variable),采用概率分布来描述。在有多个竞争方的应用场景中,促销策略模型的隐变量可以包括每个竞争方的促销项目、和用户对己方与每个竞争方的偏好。
其中,隐变量竞争方促销项目的概率分布用来描述对某个用户,竞争方向其发放各个促销项目的可能性;通过对某个用户的该隐变量的概率分布进行采样,可以得到某次向该用户发放的促销项目是哪个。隐变量用户偏好的概率分布用来描述某个用户选择己方和竞争方的可能性;在一些应用场景中,当己方和竞争方促销项目的差异程度不同时,用户对己方和竞争方的偏好也可能不同,这种情况下可以用一个到多个概率分布来描述用户偏好,每个概率分布表示当己方和竞争方促销项目的差异为一种既定值时,用户对己方和竞争方的偏好。
促销策略模型中还可以包括其他隐变量,例如在确定模型输出时需要的其他无法观测(即难以得到样本数据)的变量,再如在模型训练中计算损失函数时所需的其他无法观测的变量。
可以根据实际应用场景的需要、某个隐变量的特性等因素,来选择描述隐变量的概率分布函数,不做限定。
促销策略模型的输入包括对某个用户已发放的己方促销项目、和该已发放己方促销项目的效果参数。其中,效果参数用来衡量该已发放己方促销项目的促销效果,可以根据实际应用场景中促销的目的、互联网服务的种类、促销项目的特点等因素来决定,例如,对满减促销活动,可以将使用满减优惠的交易金额作为效果参数,也可以将使用满减优惠的交易次数作为效果参数。促销策略模型的输入可以一个已发放的己方促销项目及其效果参数,也可以是两个或两个以上已发放的己方促销项目及其相应的效果参数,不做限定。
促销策略模型还可以采用其他的可观测变量作为输入,例如用户的身份信息特征(如性别、年龄、常驻地域、和/或教育程度等)、用户状态信息特征(如用户账户的业务开通状态、账户认证状态、账户登录状态、和/或账户异常状态等)、用户的行为记录特征(如用户的浏览记录、查询记录、对某些功能的使用记录等)中的一个到多个。
促销策略模型的输出包括对至少一个己方促销项目的评估结果,例如,促销策略模型可以输出一个评价最高的己方促销项目,也可以输出评价最高的两个或两个以上的己方促销项目,还可以输出对每个己方促销项目的评分,或者以其他方式给出评估结果,不做限定。促销策略模型根据模型的输入、和各个隐变量的取值来生成对各个己方促销项目的评估结果,其中每个隐变量的取值为对该隐变量概率分布的采样结果。
本说明书的实施例中,促销策略模型采用DRL(Deep Reinforcement Learning,深度强化学习)训练方法进行训练。在训练中将促销策略模型中各个隐变量的概率分布参数作为状态的组成部分,并根据所获得的奖励来更新概率分布参数。这样,在DRL训练过程中,促销策略模型中的各个隐变量的概率分布参数将在迭代中逐渐逼近训练样本所表现的现实情形,使得在训练完成后,对某个隐变量的概率分布进行采样得到的取值,能够很好的模拟现实情形中该隐变量的实际值。
其中,DRL的奖励可以主要参考实际应用场景中促销的目的来确定,例如,可以是m个用户的交易总额度最大、m个用户的交易总次数最多、m个用户的交易额度的方差最小、用户使用己方服务的活跃度最高等,不做限定。在一些应用场景中,在计算奖励时还需要用到其他无法观测的变量,这种情形下可以将这样的变量作为促销策略模型中的隐变量,通过对其概率分布的采样来得到这些变量的具体取值。
对促销策略模型中的隐变量,在训练开始时可以设置某个隐变量具有预定的初始概率分布,即将该隐变量的概率分布参数设置为预定的初始值;也可以设置某个隐变量的初始概率分布符合预定的先验分布,即以预定的先验分布作为分布的分布,来描述该隐变量初始概率分布,通过对预定的先验分布进行采样得到该隐变量概率分布参数的初始值。本说明书实施例对先验分布采用的分布函数不做限定,例如,对二项分布,可以采用Beta(贝塔)分布作为先验分布;对多项分布,可以采用Dirichlet(狄利克雷)分布作为先验分布。
图1为促销策略模型的DRL训练过程的一个例子,设促销策略模型中只有一个竞争方,训练样本包括m(m为自然数)个用户在n(n为大于1的自然数)个状态的已发放促销项目
和效果参数/>
促销策略模型中竞争方促销项目的概率分布参数为/>
用户偏好的概率分布参数为/>
其中i∈(1,m),j∈(1,n)。
促销策略模型的状态(t-1),t∈(2,n)包括
以及隐变量的概率分布参数/>
和/>
在状态(t-1),促销策略模型的输出为向m个用户发放的促销项目/>
根据促销策略模型在状态(t-1)获得的奖励,DRL将更新竞争方促销项目的概率分布参数为/>
更新用户偏好的概率分布参数为
促销策略模型的状态t包括/>
以及更新后的概率分布参数/>
和/>
在经过(n-1)次迭代后,可以得到训练完成的促销策略模型,并利用训练完成的促销策略模型来得到对某个用户,己方可选择促销项目的评估结果。
促销策略模型可以采用任何一种适用于DRL训练方法的机器学习算法,不做限定,如Q-learning(增强学习)、Actor Critic(行动者-评论者)等。
本说明书的实施例中,计算机执行的项目选择方法的流程如图2所示。
步骤210,获取已发放给某个用户的己方促销项目、和衡量所述已发放己方促销项目的促销效果的效果参数。
当互联网服务提供商的服务端需要向某个用户发放己方促销项目时,获取促销策略模型需要的输入信息,包括已经发放给该用户的一个到多个(根据促销策略模型的输入确定)己方促销项目以及对应于每个己方促销项目的效果参数。对促销策略模型的输入包括其他变量的情形,服务端还需要获取该用户的这些输入变量的数据。
步骤220,将已发放的己方促销项目和效果参数输入促销策略模型,基于促销策略模型的输出得出将要向用户发放的促销项目。
在得到该用户对促销策略模型的全部输入信息后,服务端这些信息输入到促销策略模型中,促销策略模型输出对一个到多个己方促销项目的评估结果。基于评估结果,服务端确定至少一个己方促销项目,发放给该用户。例如,对促销策略模型的输出为对每个己方促销项目的评估结果的情形,服务端可以将评估结果最好的两个不同类型的己方促销项目发放给该用户。
本说明书的实施例中,在向用户发放己方促销项目后,可以收集该己方促销项目的促销效果,生成效果参数,并且将该己方促销项目和效果参数作为该用户的下一个状态,用于促销策略模型的DRL训练。对促销策略模型的DRL训练可以在使用模型的过程中持续进行。
可见,本说明书的实施例中,构建以己方已发放的促销项目、衡量己方促销项目效果的效果参数为输入,以竞争方促销项目和用户偏好作为隐变量,以对己方促销项目评估结果为输出的促销策略模型,在采用DRL训练方法进行训练后,按照促销策略模型的输出确定向用户发放的己方促销项目,不再依赖于研发人员对竞争方的主观估计来进行模型调整,节省了大量人力和调整后模型训练所耗费的计算资源,并且由于促销策略模型综合考虑了竞争方和用户偏好,能够达到更好的促销效果。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书的一个应用示例中,移动支付的服务提供商G和服务提供商H在用户使用本方平台进行的支付满足一定条件时,向用户发放某个数额的奖励金(一种促销项目),用户可以在下一次支付时使用,以鼓励用户更多的使用本方平台。服务提供商G(己方)采用促销策略模型,来在多个可选奖励金数额中决定向某个用户发放的奖励金数额。
服务提供商G采用LDA(Latent Dirichlet Allocation,隐含狄利克雷分布)模型来建立促销策略模型,其概率图模型结构如图3所示。促销策略模型的输入为:上一次用户使用己方平台后向用户发放的奖励金数额、与上一次发放奖励金的时间相关的预定时间段内(如上次发放奖励金后的一周)用户使用己方平台的次数(一种效果参数)、用户的身份信息特征和用户的状态信息特征。促销策略模型的输出为在所有可选奖励金数额中评估结果最好的一个bmax。
在促销策略模型中,对用户i,服务提供商H(竞争方)在用户使用其平台后向用户发放的奖励金数额服从多项分布Multinomial(b
H,i),多项分布Multinomial(b
H,i)服从分布
用户i在该预定时间段内使用G和H进行移动支付的总次数服从多项分布Multinomial(t
i),多项分布Multinomial(t
i)服从分布/>
对己方奖励金与竞争方奖励金的差值d,用户i在服务提供商G和H之间选择G的可能性ρ
d,i(一种用户对己方平台和竞争方平台的使用偏好)服从多项分布Multinomial(ρ
d,i),服从分布/>
其中,/>
和/>
的值由开发人员设置,例如可以设置为(1,…,1)全为1的向量,还可以根据实际应用的效果进行调整。
对促销策略模型的DRL训练以在该预定时间段内所有用户使用己方平台的总次数为奖励。训练样本包括对若干个用户已发放的若干个奖励金数额、对应于每个奖励金的对应用户在预定时间段内使用己方平台的次数。在训练开始时,对用户i,从
采样得到多项分布Multinomial(b
H,i)的初始参数值,从/>
采样得到多项分布Multinomial(t
i)的初始参数值,对各个己方奖励金与竞争方奖励金的差值d,从
采样得到多项分布Multinomial(ρ
d,i)的初始参数值。
对用户i的第k(k≥1)个奖励金bG,i,k(己方已发放的奖励金为已知数据),从多项分布Multinomial(bH,i)采样得到竞争方对用户i发放的奖励金数额bH,i,k;由式1计算得出己方与竞争方的奖励金差值di,k:
di,k=bG,i,k-bH,i,k 式1
从多项分布
采样得到用户i在己方和竞争方之间选择己方的可能性/>
从多项分布Multinomial(t
i)采样得到用户i在预定时间段内使用己方平台和竞争方平台的总次数t
i,k。基于/>
和t
i,k,可以得到用户i在对应于第k个的奖励金的预定时间段使用己方平台的次数,从而得出DRL训练中对应于状态k的奖励。由DRL根据累计奖励最大的原则对包括多项分布Multinomial(b
H,i)的参数、多项分布Multinomial(t
i)的参数和多项分布Multinomial(ρ
d,i)的参数在内的促销策略模型的参数进行调整。
在促销策略模型训练完毕后,将上一次向某个用户发放的奖励金数额和该用户在预定时间段内使用己方平台的次数输入促销策略模型,即可得到即将向该用户发放的奖励金数额。
可以本应用示例通过使用大数据来学习竞争方促销策略和用户偏好,同时利用了DRL来学习全局最优的奖励金发放策略,使得己方在价格竞争中能够具有更多的优势。
与上述流程实现对应,本说明书的实施例还提供了一种计算机执行的项目选择装置。该装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为逻辑意义上的装置,是通过所在设备的CPU(Central Process Unit,中央处理器)将对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,除了图4所示的CPU、内存以及存储器之外,计算机执行的项目选择装置所在的设备通常还包括用于进行无线信号收发的芯片等其他硬件,和/或用于实现网络通信功能的板卡等其他硬件。
图5所示为本说明书实施例提供的一种计算机执行的项目选择装置,包括输入值获取单元和模型输出单元,其中:输入值获取单元用于获取已发放给某个用户的己方促销项目、和衡量所述已发放己方促销项目的促销效果的效果参数;模型输出单元用于将所述已发放的己方促销项目和效果参数输入促销策略模型,基于促销策略模型的输出得出将要向所述用户发放的促销项目;所述促销策略模型具有若干个采用概率分布描述的隐变量,所述隐变量包括至少一个竞争方的促销项目、以及用户对己方和竞争方的偏好;所述促销策略模型的输出包括对至少一个己方促销项目的评估结果,所述对己方促销项目的评估结果根据促销策略模型的输入和对所述隐变量概率分布的采样结果确定;所述促销策略模型采用深度强化学习训练方法进行训练。
可选的,所述促销策略模型的隐变量还包括:用于确定深度强化学习的奖励的其他变量。
一个例子中,所述促销策略模型的隐变量具有预定的初始概率分布,或者,从预定的先验分布中采样获得隐变量的初始概率分布。
上述例子中,所述隐变量初始概率分布的先验分布包括:贝塔Beta分布或狄利克雷Dirichlet分布。
可选的,所述用户对己方和竞争方的偏好,包括:当己方和竞争方促销项目的差异为至少一种既定值时,用户对己方和竞争方的偏好。
可选的,所述己方促销项目包括:使用己方平台后发放的奖励金;所述效果参数包括:预定时间段内用户使用己方平台的次数;所述竞争方促销项目包括:使用竞争方平台后发放的奖励金;所述用户对己方和竞争方的偏好包括:当己方和竞争方发放奖励金的差值为既定时,用户对己方平台和竞争方平台的使用偏好;所述促销策略模型的隐变量还包括:用户在预定时间段内使用己方平台和竞争方平台的总次数;所述深度强化学习的奖励包括:所有用户在所述预定时间段内使用己方平台的总次数。
本说明书的实施例提供了一种计算机设备,该计算机设备包括存储器和处理器。其中,存储器上存储有能够由处理器运行的计算机程序;处理器在运行存储的计算机程序时,执行本说明书实施例中计算机执行的项目选择方法的各个步骤。对计算机执行的项目选择方法的各个步骤的详细描述请参见之前的内容,不再重复。
本说明书的实施例提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,这些计算机程序在被处理器运行时,执行本说明书实施例中计算机执行的项目选择方法的各个步骤。对计算机执行的项目选择方法的各个步骤的详细描述请参见之前的内容,不再重复。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书的实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书的实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。