选择向目标用户推送的文案的方法和装置
技术领域
本说明书一个或多个实施例涉及计算机领域,尤其涉及选择向目标用户推送的文案的方法和装置。
背景技术
文案来源于广告行业,是广告文案的简称,包括标题、正文,可以用于描述营销奖品。用户由于教育程度、生活环境、兴趣爱好、性格的差异对于文字风格有不同的偏好,使用算法挖掘、生成更多元的文案,从而在营销活动中用上这些文案贴合用户的人物属性,增加强烈的认同感。人工学习用户文案偏好缓慢又不全面,基于用户行为数据反馈、推荐算法、科学的测试能够更快速更全面的进行千人千面。
发明内容
本说明书一个或多个实施例描述了一种选择向目标用户推送的文案的方法和装置,既能够选择向目标用户推送的文案符合目标用户的偏好,又比较通用,即适用于各类活动的文案推送。
第一方面,提供了一种选择向目标用户推送的文案的方法,方法包括:
获取目标用户的基本信息;
根据所述目标用户的基本信息,生成所述目标用户的用户特征向量;
将所述目标用户的用户特征向量作为预先训练的文案推荐模型的输入,通过所述文案推荐模型的输出得到备选文案集合中的各文案分别对应的评分;其中,所述评分根据所述目标用户点击各文案的期望概率,以及该期望概率的不确定程度确定;所述文案推荐模型包括多个独立参数组和至少一个公共参数组,每个独立参数组对应一个文案,所述公共参数组对应所述备选文案集合中的多个文案;用户特征向量与各文案对应的期望概率之间满足线性关系,该线性关系通过各文案对应的独立参数组和公共参数组体现;
从所述各文案中选择评分最高的文案推送给所述目标用户。
在一种可能的实施方式中,所述获取目标用户的基本信息,包括:
获取目标用户的性别、年龄、学历、地理位置、星座、是否已婚、电子支付的活跃程度中的至少一项信息。
在一种可能的实施方式中,所述目标用户的基本信息包括多项信息;所述根据所述目标用户的基本信息,生成所述目标用户的用户特征向量,包括:
针对所述目标用户的各项信息,采用独热编码的编码方式生成各项信息分别对应的用户特征向量;
将各项信息分别对应的用户特征向量进行组合,生成所述目标用户的用户特征向量。
在一种可能的实施方式中,每个独立参数组对应一个偏置参数;
所述文案推荐模型的训练方式包括:
预先训练所述文案推荐模型,依据使各文案分别对应的评分处于同一数值区间内的准则,确定各独立参数组分别对应的偏置参数。
在一种可能的实施方式中,所述从所述各文案中选择评分最高的文案推送给所述目标用户之后,所述方法还包括:
获取所述目标用户是否点击该文案的结果;
根据该结果与期望概率,更新该文案对应的独立参数组和公共参数组。
在一种可能的实施方式中,所述目标用户点击各文案的期望概率通过以下方式确定:
根据所述目标用户的用户特征向量和各文案对应的独立参数组,确定独立部分的期望概率;
根据所述目标用户的用户特征向量和各文案对应的公共参数组,确定公共部分的期望概率;
根据所述独立部分的期望概率和所述公共部分的期望概率,确定所述目标用户点击各文案的期望概率。
在一种可能的实施方式中,所述各文案对应的期望概率的不确定程度通过以下方式确定:
根据所述目标用户的用户特征向量和各文案对应的独立参数组,确定独立部分的不确定程度;
根据所述目标用户的用户特征向量和各文案对应的公共参数组,确定公共部分的不确定程度;
根据所述独立部分的不确定程度和所述公共部分的不确定程度,确定所述各文案对应的期望概率的不确定程度。
第二方面,提供了一种选择向目标用户推送的文案的装置,装置包括:
获取单元,用于获取目标用户的基本信息;
生成单元,用于根据所述获取单元获取的目标用户的基本信息,生成所述目标用户的用户特征向量;
评分单元,用于将所述生成单元生成的目标用户的用户特征向量作为预先训练的文案推荐模型的输入,通过所述文案推荐模型的输出得到备选文案集合中的各文案分别对应的评分;其中,所述评分根据所述目标用户点击各文案的期望概率,以及该期望概率的不确定程度确定;所述文案推荐模型包括多个独立参数组和至少一个公共参数组,每个独立参数组对应一个文案,所述公共参数组对应所述备选文案集合中的多个文案;用户特征向量与各文案对应的期望概率之间满足线性关系,该线性关系通过各文案对应的独立参数组和公共参数组体现;
推送单元,用于从所述各文案中选择评分最高的文案推送给所述目标用户。
第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。
第四方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。
通过本说明书实施例提供的方法和装置,首先获取目标用户的基本信息;然后根据所述目标用户的基本信息,生成所述目标用户的用户特征向量;接着将所述目标用户的用户特征向量作为预先训练的文案推荐模型的输入,通过所述文案推荐模型的输出得到备选文案集合中的各文案分别对应的评分;其中,所述评分根据所述目标用户点击各文案的期望概率,以及该期望概率的不确定程度确定;所述文案推荐模型包括多个独立参数组和至少一个公共参数组,每个独立参数组对应一个文案,所述公共参数组对应所述备选文案集合中的多个文案;用户特征向量与各文案对应的期望概率之间满足线性关系,该线性关系通过各文案对应的独立参数组和公共参数组体现;从所述各文案中选择评分最高的文案推送给所述目标用户。本说明书实施例,考虑了用户特征,因此能够选择向目标用户推送的文案符合目标用户的偏好,又因为用户特征向量是基于用户的基本信息生成的,因此比较通用,即适用于各类活动的文案推送。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书披露的一个实施例的实施场景示意图;
图2示出根据一个实施例的选择向目标用户推送的文案的方法流程图;
图3示出根据一个实施例的选择向目标用户推送的文案的装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
图1为本说明书披露的一个实施例的实施场景示意图。该实施场景涉及选择向目标用户推送的文案。本说明书实施例采用了预先训练的文案推荐模型,基于备选文案中的各文案,以及目标用户的用户特征,选择向目标用户推送的文案。参照图1,当备选文案集合包括文案1、文案2、文案3三种文案时,将文案1、文案2、文案3和目标用户的用户特征输入文案推荐模型,文案推荐模型输出选择向目标用户推送的文案为文案2,也就是说,通过文案推荐模型预测出目标用户偏好的文案为文案2。
本说明书实施例的文案推荐模型在现有的推荐算法LinUCB算法的基础上做了改进。LinUCB算法是比较优选的一种算法,该算法经历了如下的演进过程:Bandit算法是推荐算法的一种,通过数据收集而得到的概率预估任务,都能通过Bandit系列算法来进行在线优化。置信区间上界(upper confidence bound,UCB)算法是Bandit算法的一种,UCB算法假设每个文案的回报均值都有个置信区间,随着试验次数增加,置信区间会变窄,逐渐确定了到底回报丰厚还是可怜。每次选择前,都根据已经试验的结果重新估计每个文案的均值及置信区间。选择置信区间上限最大的那个文案。LinUCB算法是UCB算法的升级版,不仅仅使用UCB算法的置信区间,还使用特征来让模型实际效果更好。
LinUCB算法有一个假设,即文案被选择后推送给一个用户,其回报和相关特征成线性关系,本说明书实施例中的文案推荐模型就是要学习这种线性关系。每条文案对应一个LinUCB的arm,每个arm维护一组参数用于确定预估回报和置信区间,将会选择置信区间上界最大的文案进行推荐,同时观察回报后更新线性关系的参数。在实际的工程应用中,存在arm间数据分布不均匀的情况,其中部分arm训练数据不够导致参数欠拟合,导致线上给用户决策的时候,部分arm的分数会整体低于其他arm,对效果影响较大。本说明书实施例,针对这一问题,在模型中增加一个共享arm,所有样本学习一套参数,另外的私有arm则学习自身的参数。这样一方面解决了部分arm欠拟合,另一方面解决新arm的冷启动问题。
图2示出根据一个实施例的选择向目标用户推送的文案的方法流程图,该方法可以基于图1所示的应用场景。如图2所示,该实施例中选择向目标用户推送的文案的方法包括以下步骤:步骤21,获取目标用户的基本信息;步骤22,根据所述目标用户的基本信息,生成所述目标用户的用户特征向量;步骤23,将所述目标用户的用户特征向量作为预先训练的文案推荐模型的输入,通过所述文案推荐模型的输出得到备选文案集合中的各文案分别对应的评分;其中,所述评分根据所述目标用户点击各文案的期望概率,以及该期望概率的不确定程度确定;所述文案推荐模型包括多个独立参数组和至少一个公共参数组,每个独立参数组对应一个文案,所述公共参数组对应所述备选文案集合中的多个文案;用户特征向量与各文案对应的期望概率之间满足线性关系,该线性关系通过各文案对应的独立参数组和公共参数组体现;步骤24,从所述各文案中选择评分最高的文案推送给所述目标用户。下面描述以上各个步骤的具体执行方式。
首先在步骤21,获取目标用户的基本信息。可以理解的是,用户的基本信息与用户的身份相关联,而与具体的文案归属场景无关,使得本说明书实施例的方案适用于各类场景下的文案推送,比较通用。
在一个示例中,获取目标用户的性别、年龄、学历、地理位置、星座、是否已婚、电子支付的活跃程度中的至少一项信息。其中,地理位置可以为国家、省份、城市等级别。电子支付的活跃程度可以限定于某一特定电子支付平台的电子支付的活跃程度,或任何电子支付平台的电子支付的活跃程度。
然后在步骤22,根据所述目标用户的基本信息,生成所述目标用户的用户特征向量。可以理解的是,目标用户的基本信息可以仅包括一项信息,也可以包括多项信息。
在一个示例中,所述目标用户的基本信息包括多项信息;针对所述目标用户的各项信息,采用独热(Onehot)编码的编码方式生成各项信息分别对应的用户特征向量;将各项信息分别对应的用户特征向量进行组合,生成所述目标用户的用户特征向量。例如,目标用户的学历为博士,如果学历包括专科、硕士、博士,则目标用户的学历会变成3个特征,学历_专科:0,学历_硕士:0,学历_博士:1,将其余的信息也进行类似的转换处理得到稠密特征,特征值是0或者1。
接着在步骤23,将所述目标用户的用户特征向量作为预先训练的文案推荐模型的输入,通过所述文案推荐模型的输出得到备选文案集合中的各文案分别对应的评分;其中,所述评分根据所述目标用户点击各文案的期望概率,以及该期望概率的不确定程度确定;所述文案推荐模型包括多个独立参数组和至少一个公共参数组,每个独立参数组对应一个文案,所述公共参数组对应所述备选文案集合中的多个文案;用户特征向量与各文案对应的期望概率之间满足线性关系,该线性关系通过各文案对应的独立参数组和公共参数组体现。可以理解的是,独立参数组可以对应于图1所示应用场景中的私有arm,公共参数组可以对应于图1所示应用场景中的共享arm。
在一个示例中,每个独立参数组对应一个偏置参数;
所述文案推荐模型的训练方式包括:
预先训练所述文案推荐模型,依据使各文案分别对应的评分处于同一数值区间内的准则,确定各独立参数组分别对应的偏置参数。
例如,给每个样本增加一个常数为1的偏置特征,用于学习每个arm的偏置参数,使得不同arm之间更可比。也就是说,使不同arm的分数可比,可能有些arm的分数集中在[0.8,0.9],有些是[0.5,0.7],通过训练偏置参数,可以使不同arm的分数处于同一个区间,比如[0.7,0.8]。
在一个示例中,所述目标用户点击各文案的期望概率通过以下方式确定:
根据所述目标用户的用户特征向量和各文案对应的独立参数组,确定独立部分的期望概率;
根据所述目标用户的用户特征向量和各文案对应的公共参数组,确定公共部分的期望概率;
根据所述独立部分的期望概率和所述公共部分的期望概率,确定所述目标用户点击各文案的期望概率。
例如,各文案的期望概率可以通过如下公式确定:
其中,Ea代表文案a的期望概率;
代表文案a的独立部分的期望概率;
代表文案a的公共部分的期望概率;
xa和xac代表目标用户的用户特征向量,二者可以相同;
θa代表文案a对应的独立参数组,θac代表文案a对应的公共参数组。
在一个示例中,所述各文案对应的期望概率的不确定程度通过以下方式确定:
根据所述目标用户的用户特征向量和各文案对应的独立参数组,确定独立部分的不确定程度;
根据所述目标用户的用户特征向量和各文案对应的公共参数组,确定公共部分的不确定程度;
根据所述独立部分的不确定程度和所述公共部分的不确定程度,确定所述各文案对应的期望概率的不确定程度。
例如,各文案的期望概率的不确定程度可以通过如下公式确定:
其中,Fa代表文案a的期望概率的不确定程度;
xa和xac代表目标用户的用户特征向量,二者可以相同。
各文案的评分可以通过如下公式确定:
其中,adef代表文案a的评分;
A代表备选文案集合;
α为预设常数,不确定程度对最终评分的影响程度,也就是探测(exploration)的程度。
最后在步骤24,从所述各文案中选择评分最高的文案推送给所述目标用户。
在一个示例中,在步骤24之后,获取所述目标用户是否点击该文案的结果;根据该结果与该文案对应的期望概率,更新该文案对应的独立参数组和公共参数组。
独立参数组和公共参数组可以依据相同的方式分别进行更新。
以独立参数组为例,更新方式如下:
首先计算损失函数:loss=(ya-xaθa)2+γ||θa||
其中,loss代表损失函数;
ya代表目标用户是否点击该文案的结果;
xa代表目标用户的用户特征向量;
θa代表文案a对应的独立参数组;
γ是一个可以人工设定的步长参数。
根据损失函数,求得最优解为:
通过本说明书实施例提供的方法,首先获取目标用户的基本信息;然后根据所述目标用户的基本信息,生成所述目标用户的用户特征向量;接着将所述目标用户的用户特征向量作为预先训练的文案推荐模型的输入,通过所述文案推荐模型的输出得到备选文案集合中的各文案分别对应的评分;其中,所述评分根据所述目标用户点击各文案的期望概率,以及该期望概率的不确定程度确定;所述文案推荐模型包括多个独立参数组和至少一个公共参数组,每个独立参数组对应一个文案,所述公共参数组对应所述备选文案集合中的多个文案;用户特征向量与各文案对应的期望概率之间满足线性关系,该线性关系通过各文案对应的独立参数组和公共参数组体现;从所述各文案中选择评分最高的文案推送给所述目标用户。本说明书实施例,考虑了用户特征,因此能够选择向目标用户推送的文案符合目标用户的偏好,又因为用户特征向量是基于用户的基本信息生成的,因此比较通用,即适用于各类活动的文案推送。
根据另一方面的实施例,还提供一种选择向目标用户推送的文案的装置,该装置用于执行本说明书实施例提供的选择向目标用户推送的文案的方法。图3示出根据一个实施例的选择向目标用户推送的文案的装置的示意性框图。如图3所示,该装置300包括:
获取单元31,用于获取目标用户的基本信息;
生成单元32,用于根据所述获取单元31获取的目标用户的基本信息,生成所述目标用户的用户特征向量;
评分单元33,用于将所述生成单元32生成的目标用户的用户特征向量作为预先训练的文案推荐模型的输入,通过所述文案推荐模型的输出得到备选文案集合中的各文案分别对应的评分;其中,所述评分根据所述目标用户点击各文案的期望概率,以及该期望概率的不确定程度确定;所述文案推荐模型包括多个独立参数组和至少一个公共参数组,每个独立参数组对应一个文案,所述公共参数组对应所述备选文案集合中的多个文案;用户特征向量与各文案对应的期望概率之间满足线性关系,该线性关系通过各文案对应的独立参数组和公共参数组体现;
推送单元34,用于从所述各文案中选择评分最高的文案推送给所述目标用户。
可选地,作为一个实施例,所述获取单元31,具体用于获取目标用户的性别、年龄、学历、地理位置、星座、是否已婚、电子支付的活跃程度中的至少一项信息。
可选地,作为一个实施例,所述目标用户的基本信息包括多项信息;所述生成单元,具体用于针对所述目标用户的各项信息,采用独热编码的编码方式生成各项信息分别对应的用户特征向量;将各项信息分别对应的用户特征向量进行组合,生成所述目标用户的用户特征向量。
可选地,作为一个实施例,每个独立参数组对应一个偏置参数;
所述文案推荐模型的训练方式包括:
预先训练所述文案推荐模型,依据使各文案分别对应的评分处于同一数值区间内的准则,确定各独立参数组分别对应的偏置参数。
可选地,作为一个实施例,所述装置还包括:
更新单元,用于在所述推送单元34从所述各文案中选择评分最高的文案推送给所述目标用户之后,获取所述目标用户是否点击该文案的结果;根据该结果与期望概率,更新该文案对应的独立参数组和公共参数组。
可选地,作为一个实施例,所述目标用户点击各文案的期望概率通过以下方式确定:
根据所述目标用户的用户特征向量和各文案对应的独立参数组,确定独立部分的期望概率;
根据所述目标用户的用户特征向量和各文案对应的公共参数组,确定公共部分的期望概率;
根据所述独立部分的期望概率和所述公共部分的期望概率,确定所述目标用户点击各文案的期望概率。
可选地,作为一个实施例,所述各文案对应的期望概率的不确定程度通过以下方式确定:
根据所述目标用户的用户特征向量和各文案对应的独立参数组,确定独立部分的不确定程度;
根据所述目标用户的用户特征向量和各文案对应的公共参数组,确定公共部分的不确定程度;
根据所述独立部分的不确定程度和所述公共部分的不确定程度,确定所述各文案对应的期望概率的不确定程度。
通过本说明书实施例提供的装置,首先获取单元31获取目标用户的基本信息;然后生成单元32根据所述目标用户的基本信息,生成所述目标用户的用户特征向量;接着评分单元33将所述目标用户的用户特征向量作为预先训练的文案推荐模型的输入,通过所述文案推荐模型的输出得到备选文案集合中的各文案分别对应的评分;其中,所述评分根据所述目标用户点击各文案的期望概率,以及该期望概率的不确定程度确定;所述文案推荐模型包括多个独立参数组和至少一个公共参数组,每个独立参数组对应一个文案,所述公共参数组对应所述备选文案集合中的多个文案;用户特征向量与各文案对应的期望概率之间满足线性关系,该线性关系通过各文案对应的独立参数组和公共参数组体现;推送单元34从所述各文案中选择评分最高的文案推送给所述目标用户。本说明书实施例,考虑了用户特征,因此能够选择向目标用户推送的文案符合目标用户的偏好,又因为用户特征向量是基于用户的基本信息生成的,因此比较通用,即适用于各类活动的文案推送。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2所描述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。