基于强化学习模型向用户推送对象的方法和装置与流程

文档序号:18740442发布日期:2019-09-21 01:42阅读:163来源:国知局
基于强化学习模型向用户推送对象的方法和装置与流程

本说明书实施例涉及机器学习领域,更具体地,涉及一种基于强化学习模型确定针对用户的推送对象列表的方法和装置。



背景技术:

传统的客户服务是人力/资源密集型和耗时的,因此,构建能够自动回答用户面临问题的智能助手非常重要。最近,人们越来越关注如何用机器学习来更好地构建这样的智能助手。作为客户服务机器人的核心功能,用户意图预测旨在自动预测用户可能想要询问的问题,并向用户呈现候选问题以供其选择以减轻用户的认知负担。更具体地说,用户意图预测任务可以被视为前N项(Top N)推荐的任务,其中每个预定好的问题是一个意图类(class)。目前的现有方法将该任务视为一个多分类问题,在给定当前用户状态下预测用户最可能感兴趣的对象(item)列表,即问题列表。这些方法旨在最大化即时奖励,例如点击,而忽略了推荐列表中在前的推荐对象对在后的推荐对象的影响。

因此,需要一种更有效的向用户推送一组对象列表的方案。



技术实现要素:

本说明书实施例旨在提供一种更有效的基于强化学习模型确定针对用户的推送对象列表的方案,以解决现有技术中的不足。

为实现上述目的,本说明书一个方面提供一种基于强化学习模型确定针对用户的推送对象列表的方法,其中,对于第一用户,已预先通过所述方法确定有M组对象列表,每组对象列表中当前包括i-1个对象,其中,M、i都为大于等于1的整数,其中,i小于等于预定整数N,所述方法包括:

对于每组对象列表,

获取第i个状态特征向量,所述第i个状态特征向量包括静态特征和动态特征,其中,所述静态特征包括所述第一用户的属性特征,所述动态特征包括该组对象列表中所述i-1个对象各自的属性特征;

将所述第i个状态特征向量输入所述强化学习模型,以使得所述强化学习模型输出与该第i个状态特征向量对应的权重向量,所述权重向量包括预定数目的排序特征各自的权重;

获取与该组对象列表对应的候选对象集合中各个对象的排序特征向量,所述排序特征向量包括所述预定数目的排序特征各自的特征值;以及

基于所述候选对象集合中各个对象的排序特征向量与所述权重向量的点积,计算所述候选对象集合中各个对象的分数;以及

对于所述M组对象列表,基于与所述M组对象列表分别对应的M个候选对象集合中各个对象的分数,确定更新的M组对象列表,其中,所述更新的M组对象列表中的每组对象列表包括i个对象。

在一个实施例中,所述动态特征至少包括所述i-1个对象各自的以下属性特征:当前热度、对象标识、对象所属类型。

在一个实施例中,所述M组对象列表中包括第一组对象列表,与该第一组对象列表对应的候选对象集合中包括第一对象,与该第一对象对应的排序特征向量至少包括以下排序特征的值:所述第一用户对该第一对象的预估点击率、该第一对象的当前热度、该第一对象相对于所述第一组对象列表中的i-1个对象的多样性。

在一个实施例中,已预先通过所述方法确定有M组对象列表包括,已预先通过所述方法确定有一组对象列表,其中,基于与所述M组对象列表分别对应的M个候选对象集合中各个对象的分数,确定更新的M组对象列表包括,基于与该组对象列表对应的候选对象集合中各个对象的分数,以所述候选对象集合中分数最高的对象作为该组对象列表的第i个对象,并将该组对象列表作为更新的一组对象列表。

在一个实施例中,M大于等于2,其中,基于与所述M组对象列表分别对应的M个候选对象集合中各个对象的分数,确定更新的M组对象列表包括,基于与所述M组对象列表分别对应的M个候选对象集合中各个对象的分数,通过集束搜索算法确定更新的M组对象列表。

在一个实施例中,i等于N,所述方法还包括,通过集束搜索算法,从所述更新的M组对象列表中确定针对所述第一用户的推送对象列表。

在一个实施例中,所述方法还包括,

以所述推送对象列表中各个对象的排列顺序,向所述第一用户推送所述各个对象,以获取所述第一用户的反馈;

基于所述排列顺序和所述反馈获取N个回报值,所述N个回报值与对所述方法的从i=1至N的N次循环分别对应;

获取第N+1个状态特征向量,所述第N+1个状态特征向量包括静态特征和动态特征,其中,所述静态特征包括所述第一用户的属性特征,所述动态特征包括所述推送对象列表中N个对象各自的属性特征;以及

基于与所述N次循环分别对应的N组数据训练所述强化学习模型,以优化所述强化学习模型,其中,所述N组数据包括第1至第N组数据,其中,第i组数据包括:与所述推送对象列表对应的第i个状态特征向量、与该第i个状态特征向量对应的权重向量、与所述推送对象列表对应的第i+1个状态特征向量、以及与第i次循环对应的回报值。

在一个实施例中,所述对象为询问问题,对于第1至N-1次循环中的第i次循环,与所述第i次循环对应的回报值基于所述第一用户的如下反馈获取:是否点击所述推送对象列表中的第i个问题。

在一个实施例中,与所述第N次循环对应的回报值基于所述第一用户的如下反馈获取:是否点击所述推送对象列表中的第N个问题、以及提交的满意度信息。

在一个实施例中,所述强化学习模型为基于深度确定策略梯度算法的模型。

本说明书另一方面提供一种基于强化学习模型确定针对用户的推送对象列表的装置,其中,对于第一用户,已预先通过所述方法确定有M组对象列表,每组对象列表中当前包括i-1个对象,其中,M、i都为大于等于1的整数,其中,i小于等于预定整数N,所述装置包括:

用于每组对象列表的,

第一获取单元,配置为,获取第i个状态特征向量,所述第i个状态特征向量包括静态特征和动态特征,其中,所述静态特征包括所述第一用户的属性特征,所述动态特征包括该组对象列表中所述i-1个对象各自的属性特征;

输入单元,配置为,将所述第i个状态特征向量输入所述强化学习模型,以使得所述强化学习模型输出与该第i个状态特征向量对应的权重向量,所述权重向量包括预定数目的排序特征各自的权重;

第二获取单元,配置为,获取与该组对象列表对应的候选对象集合中各个对象的排序特征向量,所述排序特征向量包括所述预定数目的排序特征各自的特征值;以及

计算单元,配置为,基于所述候选对象集合中各个对象的排序特征向量与所述权重向量的点积,计算所述候选对象集合中各个对象的分数;以及

第一确定单元,配置为,对于所述M组对象列表,基于与所述M组对象列表分别对应的M个候选对象集合中各个对象的分数,确定更新的M组对象列表,其中,所述更新的M组对象列表中的每组对象列表包括i个对象。

在一个实施例中,已预先通过所述方法确定有M组对象列表包括,已预先通过所述方法确定有一组对象列表,其中,所述第一确定单元还配置为,基于与该组对象列表对应的候选对象集合中各个对象的分数,以所述候选对象集合中分数最高的对象作为该组对象列表的第i个对象,并将该组对象列表作为更新的一组对象列表。

在一个实施例中,其中,M大于等于2,其中,所述第一确定单元还配置为,基于与所述M组对象列表分别对应的M个候选对象集合中各个对象的分数,通过集束搜索算法确定更新的M组对象列表。

在一个实施例中,i等于N,所述装置还包括,第二确定单元,配置为,通过集束搜索算法,从所述更新的M组对象列表中确定针对所述第一用户的推送对象列表。

在一个实施例中,所述装置还包括,

推送单元,配置为,以所述推送对象列表中各个对象的排列顺序,向所述第一用户推送所述各个对象,以获取所述第一用户的反馈;

第三获取单元,配置为,基于所述排列顺序和所述反馈获取N个回报值,所述N个回报值与对所述方法的从i=1至N的N次循环分别对应;

第四获取单元,配置为,获取第N+1个状态特征向量,所述第N+1个状态特征向量包括静态特征和动态特征,其中,所述静态特征包括所述第一用户的属性特征,所述动态特征包括所述推送对象列表中N个对象各自的属性特征;以及

训练单元,配置为,基于与所述N次循环分别对应的N组数据训练所述强化学习模型,以优化所述强化学习模型,其中,所述N组数据包括第1至第N组数据,其中,第i组数据包括:与所述推送对象列表对应的第i个状态特征向量、与该第i个状态特征向量对应的权重向量、与所述推送对象列表对应的第i+1个状态特征向量、以及与第i次循环对应的回报值。

本说明书另一方面提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行上述任一项方法。

本说明书另一方面提供一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述任一项方法。

通过根据本说明书实施例的基于强化学习模型确定针对用户的推送对象列表的方案旨在优化长期累积的混合奖励,例如最后的回报值可基于用户点击和用户满意度等多个维度获取,另外,策略函数可以随着问题火热度和用户行为模式的变化而不断动态更新和调整,从而有助于提升点击率。

附图说明

通过结合附图描述本说明书实施例,可以使得本说明书实施例更加清楚:

图1示出根据本说明书实施例的对象推送系统100的示意图;

图2所示方法为例如图1所示的模型单元11的一次决策过程;

图3示出根据本说明书实施例的模型的N(N=6)步决策过程;

图4示意示出当采用贪婪搜索方式时在图1所示系统中确定推送对象列表的过程;

图5示意示出通过集束搜索方式确定两组对象列表的过程;

图6示出根据本说明书实施例的一种基于强化学习模型确定针对用户的推送对象列表的装置6000。

具体实施方式

下面将结合附图描述本说明书实施例。

图1示出根据本说明书实施例的对象推送系统100的示意图。所述对象推送系统例如为问题预测系统,其使得用户联系客服时,可自动预测该用户可能想要询问的问题的问题列表,并在客服页面显示该问题列表,以提高用户的使用体验,并节省人工客服成本。可以理解,根据本说明书实施例的对象推送系统100不限于进行询问问题列表的推送,而可以用于推送各种对象的列表,如商品、影视作品、新闻等等。如图1所示,系统100包括模型单元11、训练单元12和排序单元13。所述模型单元11例如包括神经网络,以用于实施强化学习算法,在本说明书实施例中,可使用各种强化学习模型,如基于如下任一算法DDPG、DPG、Actor-crit ic的模型等等,在此不一一列出,下文中将以DDPG算法为例进行描述。

在通过系统100进行例如问题列表推送的情况中,通过依次向模型单元11输入连续的N个状态(s1,s2…sN),而最终在排序单元13获取包括N个问题的推送问题列表。其中,例如,在输入s1的情况中,模型单元11基于s1输出相应的行为a1,在排序单元13中,基于a1和候选问题各自的排序特征对各个问题打分,并基于各个问题的分数,确定推送问题列表的第一个问题。这里可通过贪婪搜索的算法确定第一问题,可以理解,本说明书实施例不限于此,例如还可以采用集束搜索的算法确定。在确定了上述第一问题之后,也相应地确定了环境的第二个状态s2,即环境的当前状态与用户的特征和已经确定的推送问题列表中的问题相关,而在确定第二个状态s2之后,可相应地确定行为a2,及推送问题列表中的第二个问题。从而,在推送问题列表被预设为包括N个问题的情况中,可通过模型的N次决策过程,获取包括N个问题的推送问题列表。

在获取上述推送问题列表之后,通过将该列表展示给用户,可获取用户的反馈,从而可基于该反馈获取模型的每次决策的回报值ri。从而可在训练模型12中,基于上述各个状态和行为以及各个回报值(即N组(si,ai,si+1,ri)),训练所述强化学习模型,并将更新的参数传送给模型单元11,以对其进行更新。

下面将对上述模型决策过程和模型训练过程进行详细描述。

图2示出根据本说明书实施例的一种基于强化学习模型确定针对用户的推送对象列表的方法,其中,对于第一用户,已预先通过所述方法确定有M组对象列表,每组对象列表中当前包括i-1个对象,其中,M、i都为大于等于1的整数,其中,i小于等于预定整数N,所述方法包括:

对于每组对象列表,

步骤S202,获取第i个状态特征向量,所述第i个状态特征向量包括静态特征和动态特征,其中,所述静态特征包括所述第一用户的属性特征,所述动态特征包括该组对象列表中所述i-1个对象各自的属性特征;

步骤S204,将所述第i个状态特征向量输入所述强化学习模型,以使得所述强化学习模型输出与该第i个状态特征向量对应的权重向量,所述权重向量包括预定数目的排序特征各自的权重;

步骤S206,获取与该组对象列表对应的候选对象集合中各个对象的排序特征向量,所述排序特征向量包括所述预定数目的排序特征各自的特征值;以及

步骤S208,基于所述候选对象集合中各个对象的排序特征向量与所述权重向量的点积,计算所述候选对象集合中各个对象的分数;以及

步骤S210,对于所述M组对象列表,基于与所述M组对象列表分别对应的M个候选对象集合中各个对象的分数,确定更新的M组对象列表,其中,所述更新的M组对象列表中的每组对象列表包括i个对象。

图2所示方法为例如图1所示的模型单元11的一次决策过程,即向强化学习模型输入s1,s2…sN中任一状态以在排序问题列表中增加一个问题的过程。例如,将要对模型输入状态si,其中1≤i≤N。如上文所述,在通过贪婪搜索算法对问题排序的情况中,在模型的分别基于s1,s2…si-1的决策过程中,已确定有一组对象列表,该组对象列表中当前包括i-1个对象。在通过集束搜索的算法排序的情况中,例如将集束宽度预设为2,即M=2,从而,在模型的分别基于s1,s2…si-1的决策过程中,已确定有两组对象列表,并且每组对象列表中当前包括i-1个对象。

下面详细描述该方法中的每个步骤。

其中,步骤S202-步骤S208是针对上述已有的M组对象列表中每组对象列表的步骤,即针对M组对象列表中的每组对象列表分别实施步骤S202-步骤S208。

首先,在步骤S202,获取第i个状态特征向量,所述第i个状态特征向量包括静态特征和动态特征,其中,所述静态特征包括所述第一用户的属性特征,所述动态特征包括该组对象列表中所述i-1个对象各自的属性特征。

所述第i个状态特征向量即为上述状态si,如上文所述,在将要实施该方法的当前,在预先确定的每组对象列表中当前包括i-1个对象,在本说明书实施例中,将si设定为不仅与用户的静态特征相关,还与所述已经确定的i-1个对象相关,从而可在确定第i个对象的过程中,考虑列表中已有的对象的属性。其中,所述用户的静态特征例如为该用户的年龄、教育背景、地理位置等等。所述动态特征例如为所述i-1个对象各自的当前热度、对象标识(例如问题序号)、对象类型等。例如,所述对象为用户的询问问题,在对模型输入s1以执行模型的第一次决策之前,可预设预定数目的问题作为该次决策的候选问题集合。可根据多个用户在预定时段内对每个候选问题的提问次数,确定每个候选问题的热度。可预先对上述预定数目的问题进行分类,从而确定每个问题的类型,例如,在支付宝的客服系统中,问题的类型例如包括:关于花呗的问题、关于购物的问题、热点问题等等。

图3示出根据本说明书实施例的模型的N(N=6)步决策过程,其中包括各步的输入状态s1-s6。如图3中所示,在各个状态中,下部的数据条对应于静态特征,上部的数据条示意示出动态特征的一部分。在动态特征部分中,每个方形表示动态特征部分中的一个维度,每个方形对应的数值表示前面各步决策中确定的各个问题的属性,例如问题类型。如图中所示,在输入s1之前,还未确定问题列表中的问题,因此,各个方框中的数值为0,在输入s2之前,模型已经基于输入的s1进行了第一次决策从而确定了问题列表中的第一个问题,因此,可基于该第一个问题确定s2的动态特征,如图中所示,s2的动态特征的第一个方框对应于数值5,其例如表示第一个问题的类型标识,类似地,s3的动态特征的第一个方框中的数值5和第二个方框中的数值2分别对应于相应问题列表中第一个问题和第二个问题的类型。

步骤S204,将所述第i个状态特征向量输入所述强化学习模型,以使得所述强化学习模型输出与该第i个状态特征向量对应的权重向量,所述权重向量包括预定数目的排序特征各自的权重。仍然如图3中所示,在每步决策中,在确定状态si之后,通过将si输入强化学习模型,从而可使得模型输出相应的行为(即权重向量)ai={wi0,wi1,…,wim},其中,i=1,2,…6,其中wij表示排序特征fij的权重,如图中所示,每个权重向量ai中的圆形表示该向量的一个维度,即对应于一个wij的值,其中,三个圆形表示j=3,所述排序特征fij为各个对象的用于获取排序分数的特征,将在下文对其详细描述。

如上文所述,所述强化学习模型例如为DDPG模型,该模型通过基于神经网络进行学习而获取。所述神经网络中包括策略网络和价值网络,在本说明书实施例中,策略网络例如包括两层全连接层,在策略网络中通过如下公式(1)和(2)基于si计算ai:

ai=μ(si)=tanh(W2Hi+b2) (1)

Hi=tanh(W1Si+b1) (2)

其中,W1、W2、b1和b2为该策略网络中的参数,通过激活函数tanh(),将ai各个元素wij的值限制在[-1,1]之间。可以理解,上述描述仅仅是示意性的,所述强化学习模型不限于DDPG模型,从而不限于通过策略网络来基于si获得ai,另外,所述策略网络的结构不限于使用激活函数tanh,从而wij的值不必需限制在[-1,1]之间。

步骤S206,获取与该组对象列表对应的候选对象集合中各个对象的排序特征向量,所述排序特征向量包括所述预定数目的排序特征各自的特征值。

如上文所述,例如,所述对象为询问问题,在对模型输入s1以执行模型的第一次决策之前,可预设预定数目的问题作为该次决策的候选问题集合。在输入s1之后,将根据模型决策结果确定至少一组问题列表,对于其中的一组问题列表,其中已经包括该问题列表的第一个问题,从而,在对模型输入例如s2,以进行第2步决策的过程中,与该组问题列表对应的候选问题集合为从上述预定数目的问题中移除上述第一个问题所获取的候选问题集合。在后续次的决策过程中,可同样地确定与该组问题列表对应的候选问题集合,即,所述候选问题集合为通过从初始预设的问题集合中移除该组问题列表中包括的问题所获取的问题集合。

可将模型的第i次决策中对象k的排序特征向量表示为该排序特征向量的维度与上述模型输出的行为向量ai的维度相同,与对象的各个排序特征分别对应。所述各个排序特征可基于具体场景中对对象排序的影响因素确定,例如,在所述对象为客服场景中的询问问题的情况中,所述排序特征例如包括:该场景中用户的预估点击率、该问题的当前热度和问题多样性。所述预估点击率可通过现有的点击率预估模型(CTR模型)基于例如用户的点击历史行为和用户特征等获取。其中,预估点击率用于体现用户的偏好,问题热度用于体现实时问题流行度,问题多样性用于体现推荐问题的多样性。例如,在模型进行第i步决策之前,当前已确定有第一组问题列表,与该第一组问题列表对应的候选问题集合中包括第一问题,从而该第一问题的问题多样性特征值基于该组问题列表中已有的i-1个问题的类型确定,例如,在所述i-1个问题的类型中不包括第一问题的类型的情况中,可将第一问题的多样性特征值确定为1,在所述i-1个问题的类型中已经包括第一问题的类型的情况中,可将第一问题的多样性特征值确定为0。

步骤S208,基于所述候选对象集合中各个对象的排序特征向量与所述权重向量的点积,计算所述候选对象集合中各个对象的分数。

在通过上述步骤获取了在第i次决策中的权重向量和候选对象集合中各个对象的排序特征向量之后,对于候选对象集合中的问题k,可通过例如如下公式(3)计算问题k在第i次决策中的排序分

可以理解,所述公式(3)仅仅是可选的一种计算方法,所述分数的计算不限于此,例如,还可以通过分别对排序特征向量和权重向量进行归一化,然后再通过对其进行点积获取相应的分数,等等。

步骤S210,对于所述M组对象列表,基于与所述M组对象列表分别对应的M个候选对象集合中各个对象的分数,确定更新的M组对象列表,其中,所述更新的M组对象列表中的每组对象列表包括i个对象。

如上文所述,在根据各个对象的分数确定对象列表中,可通过贪婪搜索的方式或集束搜索的方式进行确定。

在采用贪婪搜索方式的情况中,在模型的每次决策中,仅选出候选对象集合中分数最高的对象作为推送对象列表的第一个对象。图4示意示出当采用贪婪搜索方式时在图1所示系统中确定推送对象列表的过程。如图4所示,图中包括图1中的模型单元11和排序单元13。在初始,排序单元中还未确定对象列表,此时,可认为对象列表中包括0个对象。基于该包括0个对象的对象列表,确定第一次决策的状态s1,并将该状态s1输入模型单元,模型单元中的强化学习模型基于该状态s1获取行为a1,在排序单元13中,基于a1获取候选对象集合中各个对象的分数,从而将其中分数最高的对象确定为该对象列表中的第一个对象。在确定第一对象之后,可基于该第一个对象,确定模型的第二次决策的状态s2,类似地,通过将s2输入模型单元,从而获取行为a2,继而基于a2获取候选对象集合中各个对象的分数,并基于分数确定该对象列表中的第二个对象,从而可基于该对象列表中的第一个对象和第二个对象,确定第三次决策的状态s3,可以理解,在第二次决策中的候选对象集合与第一次决策中的候选对象集合已经不同,其中已经不包括所述第一个对象。类似地,后续的每次决策过程都可与前述决策过程类似地进行,例如,在模型的第5次决策过程之后,确定行为a5,从而可计算相应的候选对象集合中每个对象的分数,从而确定该对象列表中的第5个对象,并继而基于该对象列表中已有的5个对象,确定第6次决策的状态s6,通过将状态s6输入模型,获取行为a6,并基于a6确定该对象列表中的第6个对象。从而可通过模型的六次决策过程确定包括6个对象的对象列表,并且可将该对象列表作为推送对象列表推送给相应的用户,如第一用户。

在采用集束搜索的方式的情况中,例如集束宽度为2,也就是说,在模型的每次决策中,将确定两组对象列表。图5示意示出通过集束搜索方式确定两组对象列表的过程。如图中左部所示,在进行模型的第一次决策中,在对模型输入s1之后,可与上述贪婪搜索方式中相同地,计算候选对象集合中各个对象的分数,从而可获取分数排在前两位的两个对象(例如对象1和对象)分别作为两组对象列表中的第一个对象,该两组对象列表左侧的“s1”用于指示其都是基于状态s1获取的。如图中右部所示,在获取图中左部两个对象列表之后,基于每个对象列表可确定新的状态s21和s22,类似地,可分别基于状态s21和状态s22进行模型的第二次决策,从而可分别确定相应的两个对象列表,即共确定图中右部的四个对象列表中,如图中所示,图中右部上面两个列表与状态s21对应,即,其中第一个对象都为对象1,下面两个列表与状态s22对应,即其中第一个对象都为对象2。在该四个对象列表中,可分别计算其中第一个对象和第二个对象的分数和,并取分数和排在前两位的两个对象列表作为在第二次决策中确定的两个对象列表,例如图中两个虚线框中的两个对象列表。例如将要通过模型的6次决策过程确定推送对象列表,即,N=6,在该情况中,在第6次决策中,在如上所述获取两个对象列表(该每个对象列表包括6个已确定的对象)之后,可将该两个对象列表中各个对象的分数和最高的对象列表作为推送对象列表推送给相应的用户。

在如上所述获取用户(例如第一用户)的推送对象列表之后,可以以该列表中的对象的排列顺序向第一用户推送该列表中的N个对象。例如在客服界面中展示顺序排列的N个问题,或者顺序展示所述N个问题等等。在对第一用户进行上述推送之后,可获取第一用户的反馈,如第一用户对N个问题中任一问题的点击、用户提交的满意度信息等等。在一个实例中,客服界面中显示有满意度按钮,以通过用户的点击体现用户的满意,在用户点击对象列表中推送对象列表中第p个对象的情况中,可通过如下公式(4)确定模型的第i次决策对应的回报值ri:

其中,当用户点击满意度按钮时,可将r’设置为1,否则将r’设置为0。也就是说,当用户点击第i个问题,当i≠N时,ri等于αp,当i=N(即模型的最后一次决策)时,ri等于αp+r′;当用户未点击第i个问题,当i≠N时,ri等于0,当i=N时,ri等于r′。

在通过模型的N次决策过程获取推送对象列表、并基于该推送对象列表获取模型的从i=1至i=N的各次决策的回报值ri之后,可获取与该组推送对象列表对应的N组(si,ai,si+1,ri),其中第N组数据中的sN+1可基于该对象列表中的N个对象确定。从而,可基于上述N组数据训练上述强化学习模型。例如,在所述强化学习模型为DDPG模型的情况中,实施模型计算的神经网络除了包括上文所述的策略网络之外,还包括价值网络,从而可根据例如梯度下降法分别对所述策略网络和价值网络进行调参。例如通过B表示上述N组(si,ai,si+1,ri)的集合,通过Ω表示价值网络的参数,则可通过如下的公式(5)更新Ω:

其中,通过如下公式(6)获取公式(5)中的y(ri,si+1):

其中,Ωtgt为价值网络的目标参数,Θtgt为策略网络的目标参数,为例如公式(1)所示的函数,所述Ωtgt、Θtgt为基于软更新所获取的值,在上述通过公式(5)更新Ω之后,可通过软更新基于Ω更新Ωtgt。对策略网络的目标参数Θtgt的更新也可通过梯度下降法基于上述N组数据和价值网络的输出Q进行,在此不再详述。

图6示出根据本说明书实施例的一种基于强化学习模型确定针对用户的推送对象列表的装置6000,其中,对于第一用户,已预先通过所述方法确定有M组对象列表,每组对象列表中当前包括i-1个对象,其中,M、i都为大于等于1的整数,其中,i小于等于预定整数N,所述装置包括:

用于每组对象列表的,

第一获取单元601,配置为,获取第i个状态特征向量,所述第i个状态特征向量包括静态特征和动态特征,其中,所述静态特征包括所述第一用户的属性特征,所述动态特征包括该组对象列表中所述i-1个对象各自的属性特征;

输入单元602,配置为,将所述第i个状态特征向量输入所述强化学习模型,以使得所述强化学习模型输出与该第i个状态特征向量对应的权重向量,所述权重向量包括预定数目的排序特征各自的权重;

第二获取单元603,配置为,获取与该组对象列表对应的候选对象集合中各个对象的排序特征向量,所述排序特征向量包括所述预定数目的排序特征各自的特征值;以及

计算单元604,配置为,基于所述候选对象集合中各个对象的排序特征向量与所述权重向量的点积,计算所述候选对象集合中各个对象的分数;以及

第一确定单元605,配置为,对于所述M组对象列表,基于与所述M组对象列表分别对应的M个候选对象集合中各个对象的分数,确定更新的M组对象列表,其中,所述更新的M组对象列表中的每组对象列表包括i个对象。

在一个实施例中,已预先通过所述方法确定有M组对象列表包括,已预先通过所述方法确定有一组对象列表,其中,所述第一确定单元还配置为,基于与该组对象列表对应的候选对象集合中各个对象的分数,以所述候选对象集合中分数最高的对象作为该组对象列表的第i个对象,并将该组对象列表作为更新的一组对象列表。

在一个实施例中,其中,M大于等于2,其中,所述第一确定单元还配置为,基于与所述M组对象列表分别对应的M个候选对象集合中各个对象的分数,通过集束搜索算法确定更新的M组对象列表。

在一个实施例中,i等于N,所述装置还包括,第二确定单元606,配置为,通过集束搜索算法,从所述更新的M组对象列表中确定针对所述第一用户的推送对象列表。

在一个实施例中,所述装置6000还包括,

推送单元607,配置为,以所述推送对象列表中各个对象的排列顺序,向所述第一用户推送所述各个对象,以获取所述第一用户的反馈;

第三获取单元608,配置为,基于所述排列顺序和所述反馈获取N个回报值,所述N个回报值与对所述方法的从i=1至N的N次循环分别对应;

第四获取单元609,配置为,获取第N+1个状态特征向量,所述第N+1个状态特征向量包括静态特征和动态特征,其中,所述静态特征包括所述第一用户的属性特征,所述动态特征包括所述推送对象列表中N个对象各自的属性特征;以及

训练单元610,配置为,基于与所述N次循环分别对应的N组数据训练所述强化学习模型,以优化所述强化学习模型,其中,所述N组数据包括第1至第N组数据,其中,第i组数据包括:与所述推送对象列表对应的第i个状态特征向量、与该第i个状态特征向量对应的权重向量、与所述推送对象列表对应的第i+1个状态特征向量、以及与第i次循环对应的回报值。

本说明书另一方面提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行上述任一项方法。

本说明书另一方面提供一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述任一项方法。

通过根据本说明书实施例的基于强化学习模型确定针对用户的推送对象列表的方案,相比于现有的点击预测分类模型具有如下优势:首先,本说明书实施例的方案在考虑用户点击率之外,还考虑了用户点击对象的位置和用户的其它反馈(如用户是否满意等),这些额外的信息体现在模型的回报值中;其次,根据本说明书实施例的强化学习模型以CTR模型打分及一些实时特征作为输入,特征空间小,模型的迭代更新可以很快,辅助不同滑动时间窗口的实时数据进行综合打分,在充分利用ctr模型的前提下,能及时应用环境的实时变化;最后在本说明书实施例中,模型状态中包含用户、场景及层次化的信息,从而可控制对象推送的多样性和探索性,另外,根据本说明书实施例的模型参数可根据在收集数据、用户体验和保证效果各方面的需要进行干预调节。

需要理解,本文中的“第一”,“第二”等描述,仅仅为了描述的简单而对相似概念进行区分,并不具有其他限定作用。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执轨道,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执轨道的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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