掌桥专利:专业的专利平台
掌桥专利
首页

控制应用程序的方法、装置、服务器及存储介质

文献发布时间:2023-06-19 11:35:49


控制应用程序的方法、装置、服务器及存储介质

技术领域

本公开涉及互联网技术领域,尤其涉及一种控制应用程序的方法、装置、服务器及存储介质。

背景技术

随着互联网技术的发展和智能终端的普及,各种各样的应用程序相继被推向广大用户,这些应用程序遍及购物、食品外卖、短视频、直播、外语学习、新闻、打车等各个领域。通常情况下,同一领域的各个应用程序之间存在一定的竞争关系。为此,各应用程序会长期不断地优化,旨在提升用户体验,提高用户粘度,进而维持或扩大市场占有率。

相关技术中,服务端通常会根据安装有目标应用程序的用户终端的当前状态,控制用户终端上的应用程序,例如向该用户终端推送信息,使得该应用程序将该信息展示/推送给用户。例如当用户的终端由WIFI模式切换至4G模式后,应用程序会向用户推送提示弹窗,提醒用户跟进流量使用情况;又例如当用户暂时未使用应用程序时,应用程序会向用户推送热点信息,目的在于激活用户。

上述这些控制应用程序的方式,通常是一种基于固定规则的策略。比如当检测到用户终端的网络模式切换后,会根据固定规则立刻向用户推送提示弹窗。又比如在检测到应用程序当前并没有被用户使用时,会根据固定规则每隔固定时间段向用户发送热点信息,以激活用户。然而随着时间推移,用户群体的使用习惯也会逐渐发生的变化,而固定的规则并不能适应用户群体使用习惯的变化,基于固定规则对应用程序进行控制,导致应用程序在该种控制方式下输出的响应动作过于单一,不能随着用户群体使用习惯的变化而适应性变化。

发明内容

本公开提供一种控制应用程序的方法、装置、服务器及存储介质,旨在更智能地控制用户终端的应用程序,使得应用程序在响应用户终端的当前运行状态时,具有更丰富的响应方式。

根据本公开实施例的第一方面,提供了一种控制应用程序的方法,所述方法包括:

获得安装有目标应用程序的用户终端的当前运行状态;

确定在所述当前运行状态下,针对所述用户终端可执行的候选操作,其中,针对用户终端执行不同的候选操作,用户终端的运行状态会发生不同的变化;

获得各个候选操作各自对应的后续操作序列,其中,所述后续操作序列用于表征在用户终端的当前运行状态发生变化之后,对用户终端可执行的系列操作;

基于各个候选操作各自对应的后续操作序列,从所述候选操作中确定目标操作,并执行所述目标操作。

可选地,所述基于各个候选操作各自对应的后续操作序列,从所述候选操作中确定目标操作,包括:

针对每个候选操作,确定在执行该候选操作所对应的后续操作序列后,所述用户终端的运行状态变化情况;

根据各个候选操作各自对应的运行状态变化情况,从各个候选操作中确定目标操作。

可选地,所述根据各个候选操作各自对应的运行状态变化情况,从各个候选操作中确定目标操作,包括:

针对每个运行状态变化情况,确定该运行状态变化情况对应的评价分数;

以第一预设概率,将评价分数最大的运行状态变化情况所对应的候选操作确定为所述目标操作,以第二预设概率,从其余候选操作中确定所述目标操作,其中,所述第一预设概率大于所述第二预设概率。

可选地,所述根据各个候选操作各自对应的运行状态变化情况,从各个候选操作中确定目标操作,包括:

针对每个运行状态变化情况,确定该运行状态变化情况对应的评价分数;

通过归一化指数函数,确定评价分数最大的运行状态变化情况所对应的候选操作的被选中概率,以及确定其余候选操作的被选中概率;

根据各个候选操作各自对应的被选中概率,从各个候选操作中确定目标操作。

可选地,确定在所述当前运行状态下,针对所述用户终端可执行的候选操作,包括:

获得运行状态与候选操作之间的映射关系;

从所述映射关系中确定所述当前运行状态对应的候选操作。

可选地,所述确定在所述当前运行状态下,针对所述用户终端可执行的候选操作,获得各个候选操作各自对应的后续操作序列,基于各个候选操作各自对应的后续操作序列,从所述候选操作中确定目标操作,包括:

将所述当前运行状态对应的数据输入概率预测模型,以通过所述概率预测模型确定在所述当前运行状态下,针对所述用户终端可执行的候选操作,并通过所述概率预测模型获得各个候选操作各自对应的后续操作序列,再通过所述概率预测模型基于各个候选操作各自对应的后续操作序列,输出各个候选操作各自对应的概率;

根据各个候选操作各自对应的概率,从各个候选操作中确定目标操作。

可选地,所述方法还包括:

针对预设数量的安装有目标应用程序的样本用户终端中的每个样本用户终端,获得该样本用户终端的运行状态,并根据探索策略,确定该运行状态下针对样本用户终端可执行的一个或多个样本操作,再随机地执行所述一个或多个样本操作中的一个样本操作;

获得每个样本用户终端的多个样本数据组,每个样本数据组包括:该样本用户终端在样本时刻的运行状态、执行的样本操作、所述探索策略中执行该样本操作的概率、以及在执行该样本操作后样本用户终端对应的反馈值;

按照样本时刻的先后顺序,对每个样本用户终端的多个样本数据组进行排序,得到各个样本用户终端的样本序列;

以多个样本序列为训练样本,对预设模型进行训练,得到所述概率预测模型。

可选地,在将所述当前运行状态对应的数据输入概率预测模型之前,所述方法还包括:

按照以下公式,确定所述训练样本的总体预期反馈值:

其中,i代表所述训练样本中的第i个样本序列,j表示每个样本序列中的第j个样本数据组,a

判断所述训练样本的总体预期反馈值是否大于预设阈值;

在所述训练样本的总体预期反馈值大于所述预设阈值的情况下,确定所述概率预测模型训练成功。

可选地,在从所述候选操作中确定目标操作,并执行所述目标操作后,所述方法还包括:

获得在执行所述目标操作后所述用户终端对应的反馈值,以生成当前数据组,所述当前数据组包括:所述用户终端的当前运行状态、执行的目标操作、以及在执行该目标操作后所述用户终端对应的反馈值;

将所述当前数据组添加到历史序列,得到当前序列,其中,所述历史序列是由多个在之前已经生成的数据组所组成的序列;

根据所述当前序列,对所述概率预测模型进行更新。

可选地,在将所述当前运行状态对应的数据输入概率预测模型之前,所述方法还包括:

对所述概率预测模型的各个参数添加随机扰动值,得到调整后的概率预测模型;

所述将所述当前运行状态对应的数据输入概率预测模型,包括:

将所述当前运行状态对应的数据输入所述调整后的概率预测模型。

根据本公开实施例的第二方面,提供一种控制应用程序的装置,所述装置包括:

运行状态获得模块,用于获得安装有目标应用程序的用户终端的当前运行状态;

候选操作确定模块,用于确定在所述当前运行状态下,针对所述用户终端可执行的候选操作,其中,针对用户终端执行不同的候选操作,用户终端的运行状态会发生不同的变化;

后续操作序列获得模块,用于获得各个候选操作各自对应的后续操作序列,其中,所述后续操作序列用于表征在用户终端的当前运行状态发生变化之后,对用户终端可执行的系列操作;

操作执行模块,用于基于各个候选操作各自对应的后续操作序列,从所述候选操作中确定目标操作,并执行所述目标操作。

根据本公开实施例的第三方面,提供一种服务器,该服务器包括:

处理器;

用于存储该处理器可执行指令的存储器;

其中,该处理器被配置为执行以实现如本公开提供的控制应用程序的方法所执行的操作。

根据本公开实施例的第四方面,提供一种非临时性计算机可读存储介质,当该存储介质中的指令由服务器的处理器执行时,使得服务器能够执行一种以实现如本公开提供的控制应用程序的方法所执行的操作。

本公开的实施例提供的技术方案可以包括以下有益效果:

采用本公开提出的控制应用程序的方法,通过获得用户终端的当前运行状态,根据该当前运行状态,确定在该当前运行状态下用户终端可执行的各个候选操作。然后获得各个候选操作各自对应的后续操作序列,并基于各个候选操作各自对应的后续操作序列,从候选操作中确定目标操作,以执行该目标操作。其中,后续操作序列具有前瞻性,后续操作序列用于表征在用户终端的当前运行状态发生变化之后,对用户终端可执行的系列操作。

一方面,由于后续操作序列能反应用户终端在后续一段时间内的运行状态变化情况,因此基于各个候选操作各自对应的后续操作序列,确定并执行目标操作,可以更智能地控制用户终端的应用程序,并有助于在将来的一段时间内,为用户带来更好的体验。

另一方面,利用该方法控制应用程序时,并不受限于固定的控制规则,该方法使得应用程序在响应用户终端的当前运行状态时,具有更丰富的响应方式,从而更适应用户群体使用习惯的变化,从而满足用户需求。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

图1是本公开实施例提出的控制应用程序的方法的示意图;

图2是本公开实施例提出的训练概率预测模型的示意图;

图3是本公开另一实施例提出的控制应用程序的方法的流程图;

图4是本公开实施例提出的控制应用程序的装置的示意图;

图5是根据一示例性实施例示出的一种用于控制应用程序的服务器的结构框图。

具体实施方式

为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

相关技术中,服务端通常会根据安装有目标应用程序的用户终端的当前状态,控制用户终端上的应用程序,例如向该用户终端推送信息,使得该应用程序将该信息展示/推送给用户。例如当用户的终端由WIFI模式切换至4G模式后,应用程序会向用户推送提示弹窗,提醒用户跟进流量使用情况;又例如当用户暂时未使用应用程序时,应用程序会向用户推送热点信息,目的在于激活用户。

上述这些控制应用程序的方式,通常是一种基于固定规则的策略。比如当检测到用户终端的网络模式切换后,会根据固定规则立刻向用户推送提示弹窗。又比如在检测到应用程序当前并没有被用户使用时,会根据固定规则每隔固定时间段向用户发送热点信息,以激活用户。然而随着时间推移,用户群体的使用习惯也会逐渐发生的变化,而固定的规则并不能适应用户群体使用习惯的变化,基于固定规则对应用程序进行控制,导致应用程序在该种控制方式下输出的响应动作过于单一,不能随着用户群体使用习惯的变化而适应性变化。

有鉴于此,本公开实施例提出:以不受限于固定规则的控制方式,控制应用程序。具体地:获得用户终端的当前运行状态,并根据该当前运行状态,确定在该当前运行状态下用户终端可执行的各个候选操作。然后获得各个候选操作各自对应的后续操作序列,并基于各个候选操作各自对应的后续操作序列,从候选操作中确定目标操作,以执行该目标操作。其中,后续操作序列具有前瞻性,候选操作对应的后续操作序列可以表征:在执行该候选操作后,用户终端运行状态的变化情况。

参考图1,图1是本公开实施例提出的控制应用程序的方法的示意图。如图1所示,该方法包括以下步骤:

步骤S11:获得安装有目标应用程序的用户终端的当前运行状态。

本公开实施例提出的方法主要应用于所述目标应用程序对应的服务器。如此,该服务器可以与该目标应用程序通讯,在该目标应用程序获得用户终端的当前运行状态后,可以将该当前运行状态发送给该服务器。

示例地,例如该目标应用程序可以是即时通讯聊天软件,则本公开实施例提出的方法主要应用于该即时通讯聊天软件的服务器。或者例如该目标应用程序可以是线上购物软件,则本公开实施例提出的方法主要应用于该线上购物软件的服务器。应当理解的,本公开不限定目标应用程序的具体类型,相应地,本公开也不限定实施本公开的服务器的具体类型。

示例地,用户终端的当前运行状态包括但不限于以下几种中的任意一种或多种:用户当前未使用目标应用程序、用户当前正在打开目标应用程序、用户正在切换用户终端的网络模式(例如从wifi切换为5G)、用户正在刷新目标应用程序中的信息流(feed)。

步骤S12:确定在所述当前运行状态下,针对所述用户终端可执行的候选操作,其中,针对用户终端执行不同的候选操作,用户终端的运行状态会发生不同的变化。

其中,不同的当前运行状态,对应不同的候选操作。并且候选操作既可以是控制应用程序所执行的具体动作,也可以是使应用程序不执行任何动作,旨在不主动干扰用户。

示例地,例如用户终端的当前运行状态是:用户正在将wifi模式切换为5G模式。通过执行上述步骤S12,确定出的候选操作可能包括:向用户推送提示弹窗、不推送任何信息。其中,“不推送任何信息”这一候选操作旨在使应用程序不执行任何动作,从而不主动干扰用户。

又例如用户终端的当前运行状态是:用户当前未使用目标应用程序。通过执行上述步骤S12,确定出的候选操作可能包括:推送广告信息、推送热点新闻信息、推送好友消息、不推送任何信息。其中,“不推送任何信息”这一候选操作旨在使应用程序不执行任何动作,从而不主动干扰用户。

本公开在实施期间,在执行上述步骤S12时,具体地,可以包括以下子步骤:

子步骤S12-1:获得运行状态与候选操作之间的映射关系;

子步骤S12-2:从所述映射关系中确定所述当前运行状态对应的候选操作。

示例地,参考表1,表1是当前运行状态与候选操作之间的映射关系示意表。本公开在执行时,在获得表1(即所述映射关系)后,可以通过查询表1,确定当前运行状态对应的候选操作。

表1当前运行状态与候选操作之间的映射关系示意表

在用户终端的当前运行状态下执行某一候选操作后,该用户终端的运行状态将产生相应变化。例如用户终端的当前运行状态是:用户当前未使用目标应用程序。如果控制该用户终端的应用程序执行候选操作“推送广告信息”,则该用户终端的运行状态可能变化为:点击该广告信息以进入目标应用程序、忽略该广告信息、或者退出登录以断开与服务器之间的长连接。

或者如果控制该用户终端的应用程序执行候选操作“推送好友消息”,则该用户终端的运行状态可能变化为:点击该好友信息以进入目标应用程序、忽略该好友信息。

步骤S13:获得各个候选操作各自对应的后续操作序列,其中,所述后续操作序列用于表征在用户终端的当前运行状态发生变化之后,对用户终端可执行的系列操作。

具体地,针对每个候选操作,预估在执行该候选操作后用户终端的运行状态发生变化情况,然后基于用户终端变化后的运行状态,确定针对该变化后的运行状态可执行的一系列操作,即后续操作序列。

步骤S14:基于各个候选操作各自对应的后续操作序列,从所述候选操作中确定目标操作,并执行所述目标操作。

如前所述,后续操作序列能反应用户终端在后续一段时间内的运行状态变化情况。为此,在执行上述步骤S14时,具体可以包括以下子步骤:

子步骤S14-1:针对每个候选操作,确定在执行该候选操作所对应的后续操作序列后,所述用户终端的运行状态变化情况;

子步骤S14-2:根据各个候选操作各自对应的运行状态变化情况,从各个候选操作中确定目标操作。

第一示例,在执行上述子步骤S14-2时,具体可以针对每个运行状态变化情况,确定该运行状态变化情况对应的评价分数;然后以第一预设概率,将评价分数最大的运行状态变化情况所对应的候选操作确定为所述目标操作,以第二预设概率,从其余候选操作中确定所述目标操作,其中,所述第一预设概率大于所述第二预设概率。

例如,第一预设概率为0.9,第二预设概率为0.1。假设用户终端的当前运行状态为:用户当前未使用目标应用程序。该当前运行状态对应的多个候选操作分别是:推送广告信息、推送热点新闻信息、推送好友消息、不推送任何信息。假设“不推送任何信息”这一候选操作对应的运行状态变化情况的评价分数最高。如此,以0.9的概率执行“不推送任何信息”这一候选操作,以0.1的概率从“推送广告信息”、“推送热点新闻信息”以及“推送好友消息”等候选操作中选择任一候选操作执行。

其中,评价分数表征候选操作对应的运行状态变化情况与期望的运行状态变化情况之间的匹配程度,评价分数越高,候选操作对应的运行状态变化情况越接近于期望的运行状态变化情况。换言之,评价分数越高,候选操作对应的运行状态变化情况越利于提升用户体验。

通过以上述第一示例所公开的方式执行上述子步骤S14-2,在确定目标操作时体现了探索的策略,具体体现在:以概率值较小的第二预设概率,从其余候选操作中确定目标操作。如此,即使评价分数较低的候选操作也有机会被选为目标操作。基于此,可以通过搜集用户终端的状态、反馈等信息,调整服务器在确定可执行的候选操作时的确定方式,和 /或,调整服务器在获得各个候选操作各自对应的后续操作序列时的获得方式,和/或,调整服务器在确定目标操作时的确定方式,使得服务器更适应于随时间而变化的应用环境,从而更智能地控制用户终端的应用程序,提升用户体验。

第二示例,在执行上述子步骤S14-2时,具体可以针对每个运行状态变化情况,确定该运行状态变化情况对应的评价分数;通过归一化指数函数,确定评价分数最大的运行状态变化情况所对应的候选操作的被选中概率,以及确定其余候选操作的被选中概率;根据各个候选操作各自对应的被选中概率,从各个候选操作中确定目标操作。

其中,归一化指数函数是形如下式的函数:

式中的p(i)代表第i个候选操作对应的被选中概率;q

其中,评价分数表征候选操作对应的运行状态变化情况与期望的运行状态变化情况之间的匹配程度,评价分数越高,候选操作对应的运行状态变化情况越接近于期望的运行状态变化情况。换言之,评价分数越高,候选操作对应的运行状态变化情况越利于提升用户体验。

通过以上述第二示例所公开的方式执行上述子步骤S14-2,在确定目标操作时体现了探索的策略,具体体现在:根据各个候选操作各自对应的被选中概率,从各个候选操作中确定目标操作。如此,无论评价分数的高低,各个候选操作均有机会被选为目标操作。基于此,可以通过搜集用户终端的状态、反馈等信息,调整服务器在确定可执行的候选操作时的确定方式,和/或,调整服务器在获得各个候选操作各自对应的后续操作序列时的获得方式,和/或,调整服务器在确定目标操作时的确定方式,使得服务器更适应于随时间而变化的应用环境,从而更智能地控制用户终端的应用程序,提升用户体验。

通过执行上述包括步骤S11至步骤S14的控制应用程序的方法,获得用户终端的当前运行状态,根据该当前运行状态,确定在该当前运行状态下用户终端可执行的各个候选操作。然后获得各个候选操作各自对应的后续操作序列,并基于各个候选操作各自对应的后续操作序列,从候选操作中确定目标操作,以执行该目标操作。其中,后续操作序列具有前瞻性,后续操作序列用于表征在用户终端的当前运行状态发生变化之后,对用户终端可执行的系列操作。

一方面,由于后续操作序列能反应用户终端在后续一段时间内的运行状态变化情况,因此基于各个候选操作各自对应的后续操作序列,确定并执行目标操作,可以更智能地控制用户终端的应用程序,并有助于在将来的一段时间内,为用户带来更好的体验。

另一方面,利用该方法控制应用程序时,并不受限于固定的控制规则,该方法使得应用程序在响应用户终端的当前运行状态时,具有更丰富的响应方式,从而更适应用户群体使用习惯的变化,从而满足用户需求。

本公开在实施期间,为了进一步提高智能化水平,可以借助预先训练的概率预测模型以执行上述步骤S12至步骤S14。具体地,在确定在当前运行状态下,针对用户终端可执行的候选操作,获得各个候选操作各自对应的后续操作序列,基于各个候选操作各自对应的后续操作序列,从候选操作中确定目标操作时,借助概率预测模型的实施方式是:

将所述当前运行状态对应的数据输入概率预测模型,以通过所述概率预测模型确定在所述当前运行状态下,针对所述用户终端可执行的候选操作,并通过所述概率预测模型获得各个候选操作各自对应的后续操作序列,再通过所述概率预测模型基于各个候选操作各自对应的后续操作序列,输出各个候选操作各自对应的概率;根据各个候选操作各自对应的概率,从各个候选操作中确定目标操作。

其中,概率预测模型可以是一种强化学习模型,该模型在经过训练后,获得了决策函数,即各种运行状态与候选操作之间的映射关系。此外,该模型在经过训练后,还获得奖赏函数和环境预测模块,其中奖赏函数表征每种操作各自对应的奖励值,环境预测模块用于预测未来一段时间内可能执行的动作。如此,奖赏函数和环境预测模块的结合使用,可以确定每个候选操作的评价分数。具体地,环境预测模块用于预测候选操作对应的后续操作序列,奖赏函数用于确定该后续操作序列中的每个操作所对应的奖励值,各个操作的奖励值之和即是该预测候选对应的评价分数。

上述确定评价分数的具体过程是概率预测模型的内部操作,每个候选操作的评价分数通过该候选操作对应的概率而体现。通常,候选操作的评价分数越高,概率预测模型针对该候选操作输出的概率越大。如此,可以将概率预测模型针对候选操作输出的概率作为该候选操作对应的评价分数,然后以上述第一示例或第二示例公开的方式确定目标操作。

参考图2,图2是本公开实施例提出的训练概率预测模型的示意图。如图2所示,该训练流程包括以下步骤:

步骤S01:针对预设数量的安装有目标应用程序的样本用户终端中的每个样本用户终端,获得该样本用户终端的运行状态,并根据探索策略,确定该运行状态下针对样本用户终端可执行的一个或多个样本操作,再随机地执行所述一个或多个样本操作中的一个样本操作。

本公开在实施期间,步骤S01作为探索阶段,旨在随机执行样本操作,从而搜集样板用户终端的反馈。一方面,为了尽可能使每种可能的动作都会被样本用户终端的目标应用程序执行,以扩大样本的覆盖率,使得经过该样本训练的模型更具泛化性;另一方面,为了尽可能避免在探索阶段因随机执行样本操作,而对用户造成干扰,导致用户流失、探索成本升高。出于上述目的,在步骤S01中,具体是向预设数量的样本用户终端随机执行样本操作,控制参与探索的用户终端范围,以限定探索成本。

示例地,可以根据用户终端的用户属性,将用户终端划分为多个用户终端集群,每个用户终端集群中的多个用户终端具有相同的用户属性。然后从每个用户终端集群中选择少量用户终端,比如少于1/10的用户终端,作为样本用户终端。其中,用户的用户属性可以包括以下属性中的一种或多种:性别、年龄、品类偏好、兴趣点、职业、教育程度、当前所在地、当前时间点、上次退出应用程序的时间点、最近浏览、最近点击、最近下单、最近阅读、最近收藏等。

本实施例中,探索策略需要满足的条件是:使得每种样本操作都可能被样本用户终端的目标应用程序执行,以扩大样本的覆盖率。在满足上述条件的前提下,探索策略的内容可以是任意内容。如表2所示,表2示意性地提供了一种探索策略,该探索策略中包括多种样本用户终端运行状态,还包括每种样本用户终端运行状态各自对应的多种可能被执行的样本操作,以及各种样本操作被执行的概率。应当理解的,限于篇幅的原因,表2仅示意性地列出了一些用户终端运行状态和样本操作,表2所示内容不用于限定本公开。

表2探索策略示意表

步骤S02:获得每个样本用户终端的多个样本数据组,每个样本数据组包括:该样本用户终端在样本时刻的运行状态、执行的样本操作、所述探索策略中执行该样本操作的概率、以及在执行该样本操作后样本用户终端对应的反馈值。

其中,反馈值由强化学习中的奖励值表征,奖励值越高,反馈值越高。

在针对多个样本用户终端中的每个样本用户终端,基于该样本用户终端在各时刻的运行状态控制其目标应用程序执行一系列样本操作后,可以针对每个时刻,获得该样本用户终端的一个样本数据组。如表3所示,表3示意性地针对一个样本用户终端,提供了该样本用户终端的多个样本数据组。应当理解的,表3仅发挥示意性作用,表3所示内容不用于限定本公开。

表3一个样本用户终端的样本数据组列表

需要说明的是,在表3中的样本用户终端反馈一栏中,该样本用户终端的反馈表征了奖励值。换言之,该样本用户终端的反馈表征了反馈值。本公开在实施期间,可以将样本用户终端的反馈映射为对应的反馈值。例如在用户当前未使用目标应用程序的状态下,向用户终端推送好友信息后,如果用户打开了该应用程序,则该反馈对应的反馈值是1;如果用户忽略了该条信息,则该反馈对应的反馈值是0。

步骤S03:按照样本时刻的先后顺序,对每个样本用户终端的多个样本数据组进行排序,得到各个样本用户终端的样本序列。

示例地,沿用表3,表3所示样本用户终端的多个样本数据组按照先后顺序的排序是1、2、3、4、5,表3所示样本用户终端的样本序列是 (s

步骤S04:以多个样本序列为训练样本,对预设模型进行训练,得到所述概率预测模型。

示例地,步骤S04中,可利用标准的强化学习算法,例如dqn(Deep Q Network)、ddpg(Deep Deterministic Policy Gradient)等算法,基于多个样本用户终端各自的样本序列,对强化学习模型进行训练,得到概率预测模型,服务器可利用该概率预测模型执行上述步骤S12至步骤S14。如前所述,该概率预测模型中形成了决策函数,即各种运行状态与候选操作之间的映射关系。此外,该概率预测模型还获得奖赏函数和环境预测模块,其中奖赏函数表征每种操作各自对应的奖励值,环境预测模块用于预测未来一段时间内可能执行的动作。

此外,服务器在利用该概率预测模型执行上述步骤S12至步骤S14之前,还可以预先对概率预测模型进行评估。具体的评估方式包括以下步骤:

步骤S05-1:按照以下公式,确定所述训练样本的总体预期反馈值:

其中,i代表所述训练样本中的第i个样本序列,j表示每个样本序列中的第j个样本数据组,a

步骤S05-2:判断所述训练样本的总体预期反馈值是否大于预设阈值;

步骤S05-3:在所述训练样本的总体预期反馈值大于所述预设阈值的情况下,确定所述概率预测模型训练成功。

示例地,沿用表3所示的一个样本用户终端的样本数据组列表,假设该样本用户终端对应的样本序列是训练样本中的第i个样本序列,则∏

如果训练样本的总体预期反馈值G大于预设阈值,说明经过步骤S01至步骤S04训练得到的概率预测模型的表现符合预期,可以确定该概率预测模型训练成功,从而可以将该概率预测模型应用于步骤S12至步骤S14。

如果训练样本的总体预期反馈值G不大于预设阈值,说明经过步骤S01至步骤S04训练得到的概率预测模型的表现不符合预期,可以确定该概率预测模型尚未训练成功。在此情况下,继续以所述预设数量的样本用户终端各自的样本序列为训练样本,对该概率预测模型进行训练,或者采集更多的训练样本对该概率预测模型进行训练,直到所述训练样本的总体预期反馈值大于所述预设阈值为止,得到训练成功的概率预测模型。

本公开通过执行上述步骤S05-1至步骤S05-3,对训练出的概率预测模型进行评估,并在保证概率预测模型符合预期的情况下,才将概率预测模型上线使用,可以进一步确保模型在上线后的稳定性、准确性等,确保概率预测模型带给用户的体验能达到预期,从而防止用户流失。

此外,服务器在利用该概率预测模型执行上述步骤S12至步骤S14之前,还可以对所述概率预测模型的各个参数添加随机扰动值,得到调整后的概率预测模型。然后服务器在利用概率预测模型执行上述步骤S12至步骤S14时,将当前运行状态对应的数据输入调整后的概率预测模型。

示例地,对概率预测模型中包含的决策函数、奖赏函数、和/或环境预测模块的参数添加随机扰动值,使得调整后的概率预测模型与原概率预测模型相比,针对每种候选操作输出的概率存在波动。假设原概率预测模型在被输入运行状态s

此外,如上所述,考虑到概率预测模型是基于少量样本用户终端的样本序列训练得到的,概率预测模型中的决策函数可能还没有最终收敛,还考虑到应用环境、用户行为等也会随着时间产生变化。因此可以在概率预测模型上线后,记录用户终端的目标应用程序所执行的操作、并接收各用户终端的反馈等,从而建立新的样本数据,对概率预测模型持续更新。

参考图3,图3是本公开另一实施例提出的控制应用程序的方法的流程图。如图3所示,该方法还包括以下步骤:

步骤S15:获得在执行所述目标操作后所述用户终端对应的反馈值,以生成当前数据组,所述当前数据组包括:所述用户终端的当前运行状态、执行的目标操作、以及在执行该目标操作后所述用户终端对应的反馈值;

步骤S16:将所述当前数据组添加到历史序列,得到当前序列,其中,所述历史序列是由多个在之前已经生成的数据组所组成的序列;

步骤S17:根据所述当前序列,对所述概率预测模型进行更新。

其中,可以根据用户终端针对目标操作产生的反馈或新状态,映射出对应的反馈值,例如在用户当前未使用目标应用程序的状态下,控制用户终端的目标应用程序执行“推送好友信息”这一候选操作后,如果用户打开了该应用程序,则该反馈对应的反馈值是1;如果用户忽略了该条信息,则该反馈对应的反馈值是0。

其中,历史序列是指:由多个在之前已经生成的数据组所组成的序列。假设目标应用程序已经上线一周,在过去的一周内,针对某一目标用户终端,先后向控制该目标用户终端的目标应用程序执行了9次操作。针对每次操作的执行,获得了对应的一个数据组,于是在过去的一周内共获得9个数据组。这9个数据组按照时间先后顺序,排列成样本序列,对于当前时刻来讲,该样本序列即是当前时刻的历史序列。

在将该目标用户终端的当前数据组添加到该目标用户终端的历史序列后,得到该目标用户终端的当前序列,该当前序列中包括10个数据组。

基于同一发明构思,本公开一实施例提供一种控制应用程序的装置。参考图4,图4是本公开实施例提出的控制应用程序的装置的示意图。如图4所示,该装置包括:

运行状态获得模块41,用于获得安装有目标应用程序的用户终端的当前运行状态;

候选操作确定模块42,用于确定在所述当前运行状态下,针对所述用户终端可执行的候选操作,其中,针对用户终端执行不同的候选操作,用户终端的运行状态会发生不同的变化;

后续操作序列获得模块43,用于获得各个候选操作各自对应的后续操作序列,其中,所述后续操作序列用于表征在用户终端的当前运行状态发生变化之后,对用户终端可执行的系列操作;

操作执行模块44,用于基于各个候选操作各自对应的后续操作序列,从所述候选操作中确定目标操作,并执行所述目标操作。

可选地,所述操作执行模块包括:

状态变化确定子模块,用于针对每个候选操作,确定在执行该候选操作所对应的后续操作序列后,所述用户终端的运行状态变化情况;

目标操作确定子模块,用于根据各个候选操作各自对应的运行状态变化情况,从各个候选操作中确定目标操作。

可选地,所述目标操作确定子模块包括:

评价分数确定子单元,用于针对每个运行状态变化情况,确定该运行状态变化情况对应的评价分数;

目标操作确定子单元,用于以第一预设概率,将评价分数最大的运行状态变化情况所对应的候选操作确定为所述目标操作,以第二预设概率,从其余候选操作中确定所述目标操作,其中,所述第一预设概率大于所述第二预设概率。

可选地,所述目标操作确定子模块包括:

评价分数确定子单元,用于针对每个运行状态变化情况,确定该运行状态变化情况对应的评价分数;

被选中概率确定子单元,用于通过归一化指数函数,确定评价分数最大的运行状态变化情况所对应的候选操作的被选中概率,以及确定其余候选操作的被选中概率;

目标操作确定子单元,用于根据各个候选操作各自对应的被选中概率,从各个候选操作中确定目标操作。

可选地,所述候选操作确定模块包括:

映射关系获得子模块,用于获得运行状态与候选操作之间的映射关系;

候选操作确定子模块,用于从所述映射关系中确定所述当前运行状态对应的候选操作。

可选地,所述候选操作确定模块、后续操作序列获得模块以及操作执行模块具体用于:

将所述当前运行状态对应的数据输入概率预测模型,以通过所述概率预测模型确定在所述当前运行状态下,针对所述用户终端可执行的候选操作,并通过所述概率预测模型获得各个候选操作各自对应的后续操作序列,再通过所述概率预测模型基于各个候选操作各自对应的后续操作序列,输出各个候选操作各自对应的概率;

根据各个候选操作各自对应的概率,从各个候选操作中确定目标操作。

可选地,所述装置还包括:

样本操作执行模块,用于针对预设数量的安装有目标应用程序的样本用户终端中的每个样本用户终端,获得该样本用户终端的运行状态,并根据探索策略,确定该运行状态下针对样本用户终端可执行的一个或多个样本操作,再随机地执行所述一个或多个样本操作中的一个样本操作;

样本数据组获得模块,用于获得每个样本用户终端的多个样本数据组,每个样本数据组包括:该样本用户终端在样本时刻的运行状态、执行的样本操作、所述探索策略中执行该样本操作的概率、以及在执行该样本操作后样本用户终端对应的反馈值;

样本序列获得模块,用于按照样本时刻的先后顺序,对每个样本用户终端的多个样本数据组进行排序,得到各个样本用户终端的样本序列;

模型训练模块,用于以多个样本序列为训练样本,对预设模型进行训练,得到所述概率预测模型。

可选地,所述装置还包括:

总体预期反馈值确定模块,用于在将所述当前运行状态对应的数据输入概率预测模型之前,按照以下公式,确定所述训练样本的总体预期反馈值:

其中,i代表所述训练样本中的第i个样本序列,j表示每个样本序列中的第j个样本数据组,a

判断模块,用于判断所述训练样本的总体预期反馈值是否大于预设阈值;

训练结束模块,用于在所述训练样本的总体预期反馈值大于所述预设阈值的情况下,确定所述概率预测模型训练成功。

可选地,所述装置还包括:

当前数据组生成模块,用于在从所述候选操作中确定目标操作,并执行所述目标操作后,获得在执行所述目标操作后所述用户终端对应的反馈值,以生成当前数据组,所述当前数据组包括:所述用户终端的当前运行状态、执行的目标操作、以及在执行该目标操作后所述用户终端对应的反馈值;

当前序列获得模块,用于将所述当前数据组添加到历史序列,得到当前序列,其中,所述历史序列是由多个在之前已经生成的数据组所组成的序列;

模型更新模块,用于根据所述当前序列,对所述概率预测模型进行更新。

可选地,所述装置还包括:

随机扰动值添加模块,用于在将所述当前运行状态对应的数据输入概率预测模型之前,对所述概率预测模型的各个参数添加随机扰动值,得到调整后的概率预测模型;

所述候选操作确定模块、后续操作序列获得模块以及操作执行模块进一步用于:

将所述当前运行状态对应的数据输入所述调整后的概率预测模型。

基于同一发明构思,本公开一实施例提供一种服务器。该服务器包括处理器、和用于存储该处理器可执行指令的存储器。其中,该处理器被配置为执行以上任一方法实施例所执行的操作。

基于同一发明构思,本公开一实施例提供一种非临时性计算机可读存储介质,当该存储介质中的指令由服务器的处理器执行时,使得服务器能够执行以上任一方法实施例所执行的操作。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

参照图5所示,图5是根据一示例性实施例示出的一种用于控制应用程序的服务器的结构框图,服务器500可以包括处理器501、电源组件502、网络接口503、存储器504 及输入/输出接口505,其中,存储器504上配置有可读存储介质540,该可读存储介质 540中存储有用于执行上述控制应用程序的方法的指令,存储器504可以与处理器501进行通信,当所述可读存储介质540中的指令由处理器501执行时,使得服务器500能够执行上述控制应用程序的方法。其中,网络接口503可以将服务器500连接到网络中,电源组件502可以执行服务器500的电源管理。

可选地,可读存储介质540可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质540可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

相关技术
  • 应用程序维护控制方法、装置、终端、服务器及存储介质
  • 应用程序维护控制方法、装置、服务器、终端及存储介质
技术分类

06120112986695