用于确定线上到线下服务的营销策略的系统和方法与流程

文档序号:20167381发布日期:2020-03-24 21:54阅读:284来源:国知局
用于确定线上到线下服务的营销策略的系统和方法与流程

本申请一般涉及提供线上到线下服务的系统和方法,并且具体地涉及用于确定线上到线下服务的营销策略的系统和方法。



背景技术:

线上到线下服务,尤其是线上打车服务,已变得越来越受欢迎。在司机在线打车服务系统注册后,系统总是实施至少一种营销策略(例如,发送一些东西(例如,短消息、优惠券、燃料优惠券等),按顺序向司机发送一些东西(例如,首先发送短消息,然后发送优惠券等),以确保司机对系统的贡献最大。现有系统存在的一个问题是,在某些情况下,营销策略的优化效率低下,并缺乏针对性。因此,一些司机对营销策略不敏感,并且这些司机在完成他们的第一次打车服务订单后,系统失去了这些司机。因此,需要提供用于确定和优化线上到线下服务的营销策略的系统和方法。



技术实现要素:

根据本申请的一个方面,一种系统可以包括至少一个计算机可读存储介质,所述计算机可读存储介质包括用于在线上到线下服务中分配订单的一组指令,以及与所述计算机可读存储介质通信的至少一个处理器,其中当执行所述指令时,所述至少一个处理器可以用于:获得多个历史向量;基于所述多个历史向量根据第一强化学习算法确定第一价值函数;基于所述第一价值函数和所述多个历史向量确定提供所述线上到线下服务的司机的一个状态下的第一价值;并通过训练初始模型来获得第一回归模型,其中,所述多个历史向量是所述初始模型的输入,并且所述状态下的第一价值是所述初始模型的标签。

在一些实施例中,多个历史向量中的每一个可以包括司机的状态,系统在该状态下实施给司机的至少一个历史动作以及在该状态和至少一个历史动作下的历史收益。

在一些实施例中,所述至少一个处理器可以进一步用于:使用重要性采样方法离线评估第一回归模型;并且从而调整第一强化学习算法或第一回归模型的至少一个参数。

在一些实施例中,所述至少一个处理器可以进一步用于:基于多个历史营销策略来确定至少一个随机策略,其中每个历史营销策略包括司机的历史状态,系统实施的历史动作,以及司机在所述状态下被实施所述历史动作后对系统贡献的历史长期价值;根据所述重要性采样方法对所述至少一个随机策略进行采样,得到至少一个策略分布;基于第一回归模型,确定司机在每个历史状态下将对系统贡献的预估长期价值;并根据预估长期价值和历史长期价值,确定评估结果。

在一些实施例中,司机的状态可以包括系统中与司机相关联的统计信息和/或司机的人口属性。

在一些实施例中,统计信息可以包括汽车的注册时间、汽车的信息或者从注册时间到汽车提供第一次线上到线下服务之间的时间间隔,并且其中,司机的人口属性包括年龄、性别、文化背景和工作,及其任意组合。

在一些实施例中,所述至少一个历史动作可以包括以下中的至少一个:短消息、优惠券、系统向司机发送动作的时间或多个所述至少一个历史动作的顺序。

在一些实施例中,历史收益可以包括司机对系统贡献的商品交易总量。

在一些实施例中,至少一个策略分布可以包括最优策略分布。

在一些实施例中,所述第一强化学习算法可以包括q学习算法,并且q学习算法的输入是所述多个历史向量,并且q学习算法的输出是第一价值函数。

在一些实施例中,所述第一强化学习算法可以包括sarsa学习算法,并且sarsa学习算法的输入是所述多个历史向量,并且sarsa学习算法的输出是第一价值函数。

在一些实施例中,初始模型可以包括xgboost模型。

在一些实施例中,为了获得多个历史向量,至少一个处理器可以进一步用于:基于马尔可夫决策过程(mdp)模型获得多个历史向量,其中mdp模型的输入是历史营销数据。

在一些实施例中,所述至少一个处理器可以进一步用于:基于所述多个历史向量根据第二强化学习算法确定第二价值函数;基于所述第二价值函数和所述多个历史向量确定每个状态下的第二价值;通过训练初始模型确定第二回归模型,其中所述多个历史向量是初始模型的输入,每个状态下的第二价值是初始模型的标签;并从第一回归模型和第二回归模型中选择最终模型。

在一些实施例中,为了确定最终模型,至少一个处理器可以进一步用于:确定至少一个随机策略;通过对所述至少一个随机策略进行采样来获得至少一个策略分布;基于第一回归模型,确定在所述状态下司机将对系统贡献的第一预估长期价值;基于第二回归模型,确定在所述状态下司机将对系统贡献的第二预估长期价值;并根据第一预估长期价值、第二预估长期价值和该状态下的历史长期价值确定最终模型。

在一些实施例中,所述至少一个处理器可以进一步用于:基于所述状态下的第一预估长期价值、所述第二预估长期价值、以及所述历史长期价值,调整所述第一强度学习算法或所述第二强化学习算法的至少一个参数。

根据本申请的另一方面,用于确定线上到线下服务的营销策略方法,可以在具有至少一个处理器,至少一个计算机可读存储介质和连接到网络的通信平台的计算设备上实现。该方法可以包括一个或多个以下操作:获得多个历史向量;基于所述多个历史向量根据第一强化学习算法确定第一价值函数;基于所述第一价值函数和所述多个历史向量,确定提供所述线上到线下服务的司机的一个状态下的第一价值;以及通过训练初始模型获得第一回归模型,其中,所述多个历史向量是所述初始模型的输入,并且所述状态下的第一价值是所述初始模型的标签。

在一些实施例中,多个历史向量中的每一个可以包括司机的状态,系统在该状态下实施给所述司机的至少一个历史动作以及在该状态和至少一个历史动作下的历史收益。

在一些实施例中,该方法还可以包括一个或多个以下操作:使用重要性采样方法离线评估第一回归模型;从而调整第一强度学习算法或第一回归模型的至少一个参数。

在一些实施例中,该方法还可以包括一个或多个以下操作:基于多个历史营销策略来确定至少一个随机策略,其中每个历史营销策略包括司机的历史状态,所述系统实施给所述司机的历史动作以及在该状态下被实施所述历史动作后司机对系统贡献的历史长期价值;根据重要性采样方法通过对至少一个随机策略进行采样来获得至少一个策略分布;基于第一回归模型,确定所述司机在每个历史状态西将对系统贡献的预估长期价值;以及基于预估长期价值和历史长期价值来确定评估结果。

在一些实施例中,司机的状态可以包括系统中与司机相关联的统计信息和/或司机的人口属性。

在一些实施例中,统计信息可以包括汽车的注册时间、汽车的信息或者从注册时间到汽车提供的第一次线上到线下服务之间的时间间隔,并且其中司机的人口属性包括年龄、性别、文化背景和工作,及其任意组合。

在一些实施例中,所述至少一个历史动作可以包括以下中的至少一个:短消息、优惠券、所述系统向司机发送动作的时间或多个所述至少一个历史动作的顺序。

在一些实施例中,历史收益可以包括司机对系统贡献的商品交易总量。

在一些实施例中,至少一个策略分布可以包括最优策略分布。

在一些实施例中,第一强化学习算法可以包括q学习算法,并且q学习算法的输入是多个历史向量,并且q学习算法的输出是第一价值函数。

在一些实施例中,第一强化学习算法可以包括sarsa学习算法,并且sarsa学习算法的输入是多个历史向量,并且sarsa学习算法的输出是第一价值函数。

在一些实施例中,初始模型可以包括xgboost模型。

在一些实施例中,获得多个历史向量可以包括:基于马尔可夫决策过程(mdp)模型获得多个历史向量,其中mdp模型的输入是历史营销数据。

在一些实施例中,该方法还可以包括一个或多个以下操作:根据基于多个历史向量的第二强化学习算法确定第二价值函数;基于第二价值函数和多个历史向量确定每个状态下的第二价值;通过训练初始模型确定第二回归模型,其中多个历史向量是初始模型的输入,每个状态下的第二价值是初始模型的标签;并从第一回归模型和第二回归模型中选择最终模型。

在一些实施例中,确定最终模型可以包括一个或多个以下操作:确定至少一个随机策略;通过对所述至少一个随机策略进行采样来获得至少一个策略分布;基于第一回归模型,确定在所述状态下在司机将对系统贡献的第一预估长期价值;基于第二回归模型,确定在所述状态下司机将对系统贡献的第二预估长期价值;以及基于所述第一预估长期价值,所述第二预估长期价值和所述状态下的所述历史长期价值来确定所述最终模型。

在一些实施例中,该方法可以进一步包括一个或多个以下操作:基于所述状态下的第一预估长期价值,第二预估长期价值以及历史长期价值,调整第一强化学习算法或第二强化学习算法的至少一个参数。

根据本申请的又一方面,配置成确定用于线上到线下服务的营销策略的系统可以包括一个或多个以下模块:历史向量模块,用于获得多个历史向量;第一价值函数模块,用于基于所述多个历史向量根据第一强化学习算法确定第一价值函数;第一价值模块,用于基于所述第一价值函数和所述多个历史向量来确定在提供所述线上到线下服务的司机的一个状态下的第一价值;以及第一回归模型模块,用于通过训练初始模型来获得第一回归模型,其中,所述多个历史向量是所述初始模型的输入,并且所述状态下的第一价值是初始模型的标签。

附图说明

本申请将结合示例性实施例进一步进行描述。与附图一起阅读时,下面的详细描述将更清楚的说明本申请的前述内容和实施例的其他方面。

图1是根据本申请的一些实施例的用于确定线上到线下服务的营销策略的示例性系统的框图;

图2是根据本申请的一些实施例的计算设备的示例性硬件和/或软件部件的示意图;

图3是根据本申请的一些实施例的移动设备的示例性硬件和/或软件部件的示意图;

图4是根据本申请的一些实施例的一种示例性处理引擎的框图;

图5是根据本申请的一些实施例的用于确定线上到线下服务的营销策略的示例性过程和/或方法的流程图;

图6是根据本申请的一些实施例的用于优化第一回归模型的示例性过程和/或方法的流程图;

图7是根据本申请的一些实施例的用于离线评估第一回归模型的示例性过程和/或方法的流程图;

图8是根据本申请的一些实施例的用于确定线上到线下服务的营销策略的示例性过程和/或方法的流程图;和

图9是根据本申请的一些实施例的用于确定最终模型的示例性过程和/或方法的流程图。

具体实施方式

以下描述是为了使本领域的普通技术人员能够实施和利用本申请,并在特定应用及其要求的上下文中提供。对于本领域的普通技术人员来讲,对本申请披露的实施例进行的各种修改是显而易见的,并且本文中定义的通则在不背离本申请的精神及范围的情况下,可以适用于其他实施例及应用。因此,本申请不限于所示的实施例,而是符合与申请专利范围一致的最广泛范围。

本文中所使用的术语仅用于描述特定示例性实施例,并不限制本申请的范围。如本文使用的单数形式“一”、“一个”及“该”、“所述”可以同样包括复数形式,除非上下文明确提示例外情形。一般说来,术语“包括”与“包含”仅提示包括已明确标识的特征、整体、步骤、操作、元素和/或部件,但不排除一个或多个其他特征、整体、步骤、操作、元素、部件和/或其组合的存在或增加。

在考虑了作为本申请一部分的附图的描述内容后,本申请的特征和特点以及操作方法、结构的相关元素的功能、各部分的组合、制造的经济性变得显而易见。然而,应当理解,附图仅仅是为了说明和描述的目的,并不旨在限制本申请的范围。应当理解的是附图并不是按比例的。

本申请中使用了流程图用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或下面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各种步骤。同时,也可以将一个或多个其他操作添加到这些流程图中,或者从这些流程图中移除某一步或数步操作。

此外,尽管本申请中的系统和方法主要关于在线打车服务进行描述,但是应该理解,这仅仅是一个示例性实施例。本申请的系统或方法还可应用于其他类型的线上到线下服务。例如,本申请的系统和方法可以应用于不同的运输系统,包括陆地、海洋、航空航天等或上述举例的任意组合。该运输系统中的使用的交通工具可包括一出租车、私家车、顺风车、巴士、列车、子弹头列车、高速铁路、地铁、船只、飞机、宇宙飞船、热气球、无人驾驶车辆等或其任意组合。例如,马匹、人力车(两轮自行车、三轮车等)、出租车、专车、顺风车、巴士、火车、动车、高铁、地铁、船舶、飞机、飞船、热气球、无人驾驶的交通工具、收/送快递等应用了管理和/或分配的运输系统。本申请的系统和方法的应用场景可以包括网页、浏览器插件、客户端、定制系统、企业内部分析系统、人工智能机器人等或上述举例的任意组合。

本申请中的位置和/或轨迹可以通过嵌入在用户终端(例如,乘客终端、司机终端)中的定位技术来获取。本申请中使用的定位技术可以包括全球定位系统(gps)、全球卫星导航系统(glonass)、北斗导航系统(compass)、伽利略定位系统、准天顶卫星系统(qzss)、无线保真(wi-fi)定位技术等中的一种,或类似或其任意组合。以上定位技术中的一个或多个可以在本申请中交换使用。

本申请的一方面涉及用于确定线上到线下服务的营销策略的在线系统和方法。根据本申请,所述系统和方法可以基于强化学习方法和监督机器学习方法来训练确定营销策略的模型。该系统和方法可以使用重要性采样方法对模型进行离线评估以优化营销策略。在本申请的第一方面的另一实施例中,还提供了一种用于确定线上到线下服务的营销策略的系统,包括:

至少一个计算机可读存储介质,用于存储确定所述线上到线下服务的营销策略的一组指令;和

至少一个与所述计算机可读储存介质通信连接的处理器,其中,当执行所述该组指令时,所述至少一个处理器用于:

获得多个历史向量;

基于所述多个历史向量根据第一强化学习算法确定第一价值函数;

基于所述第一价值函数和所述多个历史向量来确定在提供所述线上到线下服务的司机的一个状态下的第一价值;和

通过训练初始模型获得第一回归模型,其中,所述多个历史向量是所述初始模型的输入,并且所述状态下的第一价值是所述初始模型的标签。

前述系统,其中,多个历史向量中的每一个包括司机的状态,系统在该状态下对司机实施的至少一个历史动作以及在该状态和至少一个历史动作下的历史收益。

任一前述系统,所述至少一个处理器进一步用于:

使用重要性采样方法评估第一回归模型;以及从而

调整第一强化学习算法或第一回归模型的至少一个参数。

任一前述系统,所述至少一个处理器进一步用于:

基于多个历史营销策略确定至少一个随机策略,其中每个历史营销策略包括司机的历史状态,系统对司机实施的历史动作以及在该状态下司机在执行历史动作后对系统贡献的历史长期价值;

根据所述重要性采样方法对所述至少一个随机策略进行采样,得到至少一个策略分布;

基于第一回归模型,确定所述司机在每个历史状态下将对系统贡献的预估长期价值;和

基于预估长期价值和历史长期价值来确定评估结果。

任一前述系统,其中司机的状态包括系统中与司机相关联的统计信息和/或司机的人口统计属性。

前述系统,其中统计信息包括以下各项中的至少一个:汽车的注册时间、汽车的信息或者从注册时间到汽车提供的第一次线上到线下服务之间的时间间隔,并且其中人口统计属性的司机包括年龄、性别、文化背景和工作,及其任意组合。

任一前述系统,其中至少一个历史动作包括以下中的至少一个:短消息、优惠券、系统向司机发送动作的时间或者多个至少一个历史动作的顺序。

任一前述系统,其中历史报酬包括司机对系统贡献的商品交易总量,并且其中至少一个策略分布包括最优策略分布。

任一前述系统,其中第一强化学习算法包括q学习算法,并且q学习算法的输入是多个历史向量,并且q学习算法的输出是第一价值函数。

任一前述系统,其中第一强化学习算法包括sarsa学习算法,并且sarsa学习算法的输入是多个历史向量,并且sarsa学习算法的输出是第一价值函数。

任一前述系统,其中初始模型是xgboost模型。

任一前述系统,其中为了获得多个历史向量,其中至少一个处理器进一步用于:

基于马尔可夫决策过程(mdp)模型获得多个历史向量,其中mdp模型的输入是历史营销数据。

任一前述系统,其中所述至少一个处理器进一步用于:

基于所述多个历史向量根据第二强化学习算法确定第二价值函数;

基于所述第二价值函数和所述多个历史向量确定每个状态下的第二价值;

通过训练初始模型确定第二回归模型,其中多个历史向量是初始模型的输入,每个状态下的第二价值是初始模型的标签;和

从第一个回归模型和第二个回归模型中选择一个最终模型。

前述系统,其中为了确定最终模型,所述至少一个处理器进一步用于:

确定至少一个随机策略;

通过对所述至少一个随机策略进行采样来获得至少一个策略分布;

基于第一回归模型,确定在所述状态下司机将对系统贡献的第一预估长期价值;

基于第二回归模型,确定在所述状态下司机将对系统贡献的第二预估长期价值;和

基于第一预估长期价值、第二预估长期价值以及该状态下的历史长期价值来确定最终模型。

前述系统,其中至少一个处理器进一步用于:

基于该状态下的第一预估长期价值、第二预估长期价值和历史长期价值,调整第一强化学习算法或第二强化学习算法的至少一个参数。

在本申请的第二方面的其他实施例中,还提供了一种用于确定线上到线下服务的营销策略的方法,该方法在计算设备上实施,该计算设备具有连接到网络的至少一个处理器、至少一个计算机可读存储介质以及通信平台,包括:

获得多个历史向量;

基于所述多个历史向量根据第一强化学习算法确定第一价值函数;

基于所述第一价值函数和所述多个历史向量,确定提供所述线上到线下服务的司机的一个状态下的第一价值;和

通过训练初始模型获得第一回归模型,其中,所述多个历史向量是所述初始模型的输入,并且所述状态下的第一价值是所述初始模型的标签。

前述方法,其中多个历史向量中的每一个包括司机的状态,该系统在该状态下对该司机实施的至少一个历史动作以及在该状态和该至少一个历史动作下的历史收益。

任一前述方法还包括:

使用重要性采样方法评估第一个回归模型;以及从而

调整第一强化学习算法或第一回归模型的至少一个参数。

任一前述方法还包括:

基于多个历史营销策略确定至少一个随机策略,其中每个历史营销策略包括司机的历史状态,所述系统对司机实施的历史动作以及在该状态下被实施所述历史动作后司机对系统贡献的历史长期价值;

根据重要性采样方法通过对至少一个随机策略进行采样来获得至少一个策略分布;

基于第一回归模型,确定所述司机在每个历史状态下将对系统贡献的预估长期价值;

基于预估长期价值和历史长期价值确定评估结果。

任一前述方法,其中,司机的状态包括系统中与司机相关联的统计信息和/或司机的人口属性。

前述方法,其中统计信息包括以下至少一个:汽车的注册时间、汽车的信息、或从注册时间到汽车提供的第一次线上到线下服务之间的时间间隔,并且其中人口属性的司机包括年龄、性别、文化背景和工作,及其任意组合。

任一前述方法,其中所述至少一个历史动作包括以下中的至少一个:短消息、优惠券、所述系统发送给司机动作的时间或多个所述至少一个历史动作的顺序。

任一前述方法,其中历史报酬包括司机对系统贡献的商品交易总量,并且其中至少一个策略分布包括最优策略分布。

任一前述方法,其中第一强化学习算法包括q学习算法,并且q学习算法的输入是多个历史向量,并且q学习算法的输出是第一价值函数。

任一前述方法,其中第一强化学习算法包括sarsa学习算法,并且sarsa学习算法的输入是多个历史向量,并且sarsa学习算法的输出是第一价值函数。

任一前述方法,其中初始模型是xgboost模型。

任一前述方法,其中获得多个历史向量包括:

基于马尔可夫决策过程(mdp)模型获得多个历史向量,其中mdp模型的输入是历史营销数据。

任一前述方法,进一步包括:

基于所述多个历史向量根据第二强化学习算法确定第二价值函数;

基于第二价值函数和多个历史向量确定每个状态下的第二价值;

通过训练初始模型确定第二回归模型,其中多个历史向量是初始模型的输入,每个状态下的第二价值是初始模型的标签;和

从第一回归模型和第二回归模型中选择最终模型。

任一前述方法,其中确定最终模型包括:

确定至少一个随机策略;

根据重要性采样方法通过对至少一个随机策略进行采样来获得至少一个策略分布;

基于第一回归模型,确定在所述状态下司机将对系统贡献的第一预估长期价值;

基于第二回归模型,确定在所述状态下司机将对系统贡献的第二预估长期价值;

基于该状态下的第一预估长期价值、第二预估长期价值以及历史长期价值来确定最终模型。

任一前述方法,还包括:

基于该状态下的第一预估长期价值、第二预估长期价值和历史长期价值,调整第一强化学习算法或第二强化学习算法的至少一个参数。

在本申请的第一方面的另一实施例中,还提供了一种用于确定线上到线下服务的营销策略的系统,包括:

历史向量模块,用于获取多个历史向量;

第一价值函数模块,用于基于所述多个历史向量根据第一强化学习算法确定第一价值函数;

第一价值模块,用于基于所述第一价值函数和所述多个历史向量来确定在提供所述线上到线下服务的司机的一个状态下的第一价值;和

第一回归模型模块,用于通过训练初始模型来获得第一回归模型,其中,所述多个历史向量是所述初始模型的输入,并且所述状态下的第一价值是初始模型的标签。

前述系统,进一步包括:

评估模块,用于使用重要性采样方法离线评估第一回归模型;

反馈模块,用于从而调整第一强度学习算法或第一回归模型的至少一个参数。

任一前述系统,还包括:

第二价值函数模块,用于根据基于所述多个历史向量的第二强化学习算法确定第二价值函数;

第二价值模块,用于基于所述第二价值函数和所述多个历史向量来确定每个状态下的第二价值;

第二回归模型模块,用于通过训练初始模型来确定第二回归模型,其中多个历史向量是初始模型的输入,每个状态下的第二价值是初始模型的标签;和

最终模型模块,用于从第一回归模型和第二回归模型中选择最终模型。

任一前述系统,其中第一强化学习算法包括q学习算法,并且q学习算法的输入是多个历史向量,并且q学习算法的输出是第一价值函数。

任一前述系统,其中,第一强化学习算法包括sarsa学习算法,并且sarsa学习算法的输入是多个历史向量,并且sarsa学习算法的输出是第一价值函数。

图1是根据本申请的一些实施例的用于确定线上到线下服务的营销策略的示例性系统的框图。例如,系统100可以是用于运输服务(例如打车服务、司机服务、车辆配送服务、拼车服务、公共汽车服务、司机租用服务和大巴服务等)的在线运输服务平台。系统100可以包括服务器110、乘客终端120、存储器130、司机终端140、网络150和信息源160。该服务器110可包括处理引擎112。

服务器110可以用于处理与营销相关的信息和/或数据。例如,服务器110可以对乘客终端120和/或司机终端140实施营销策略。再例如,服务器110可以从司机终端140接收与司机有关的信息(例如,注册信息),确定对司机的营销策略,并且将营销策略实施到司机终端140。在一些实施例中,服务器110可以是单一服务器或服务器组。所述服务器组可以是集中式的或分布式的(例如,服务器110可以是分布式的系统)。在一些实施例中,服务器110可以是本地的或远程的。例如,服务器110可以经由网络150访问存储在乘客终端120、司机终端140和/或存储器130中的信息和/或数据。再例如,服务器110可以直接连接到乘客终端130、司机终端140和/或数据库150以访问储存的信息和/或数据。在一些实施例中,服务器110可以在云平台上实施。仅作为范例,云平台可以包括私有云、公用云、混合云、小区云、分布式云、内部云、多层云等或其任意组合。在一些实施例中,服务器110可以在一个如本申请中图2所示的,具有一个或多个部件的计算设备上实现。

在一些实施例中,服务器110可以包括处理引擎112。处理引擎112可以处理与营销有关的信息和/或数据以执行本申请中描述的一个或多个功能。例如,处理引擎112可以对乘客终端120和/或司机终端140实施营销策略。再例如,处理引擎112可以从司机终端140接收与司机有关的信息(例如,注册信息),确定对司机的营销策略,并且将营销策略实施到司机终端140。在一些实施例中,所述处理引擎112可包括一个或者多个处理引擎(例如,单芯片处理引擎或多芯片处理引擎)。仅作为范例,处理引擎112可以包括中央处理单元(cpu)、特定应用集成电路(asic)、特定应用指令集处理器(asip)、图形处理单元(gpu)、物理处理单元(ppu)、数字信号处理器(dsp)、现场可程序门阵列(fpga)、可程序逻辑设备(pld)、控制器、微控制器单元、精简指令集计算机(risc)、微处理器等或其任意组合。在一些实施例中,处理引擎112可以包括逻辑电路。逻辑电路可以接收和/或发送电子信号以执行本申请中描述的一个或多个功能。

在一些实施例中,乘客终端120和/或司机终端140可以是个人、工具或其他实体。乘客可以是服务请求者。在本申请中,“服务请求者”、“乘客终端”和“乘客”可以互换使用。司机可以是服务提供者。在本申请中,“司机”、“司机终端”和“服务提供者”可以互换使用。在一些实施例中,乘客终端120可以包括机动车辆等中的移动设备120-1、平板电脑120-2、膝上型计算机120-3和内置设备120-4,或者其任意组合。在一些实施例中,移动设备120-1可以包括智能家居设备、可穿戴设备、智能移动设备、虚拟现实设备、增强实境设备等或其任意组合。在一些实施例中,智能家居设备可以包括智能照明设备、智能电器的控制设备、智能监测设备、智能电视、智能视讯摄影机、对讲机等或其任意组合。在一些实施例中,该可穿戴设备可包括智慧手环、智慧鞋袜、智慧眼镜、智慧头盔、智慧手表、智慧穿着、智能背包、智能配件等或其任意组合。在一些实施例中,智能移动设备可以包括智能电话、个人数字助理(pda)、游戏设备、导航设备、销售点(pos)设备等或其任意组合。在一些实施例中,该虚拟现实设备和/或增强实境设备可包括虚拟现实头盔、虚拟现实眼镜、虚拟现实眼罩、增强实境头盔、增强实境眼镜、增强实境眼罩等或其任意组合。在一些实施例中,内置设备130-4可以包括车载计算机、车载电视等。在一些实施例中,服务请求者终端130可以是带有定位技术的设备,该定位技术可以用于定位乘客和/或服务请求者终端130的位置。

在一些实施例中,司机终端140可以是一个与乘客终端120类似或者相同的设备。在一些实施例中,司机终端140可以是具有用来确定司机或者司机终端140位置的定位技术的设备。在一些实施例中,乘客终端130和/或司机终端140可以与一个或多个其他定位设备通信以确定乘客、乘客终端130、司机和/或司机终端140的位置。在一些实施例中,乘客终端130和/或司机终端140可以将定位信息发送至服务器110。

存储器130可以存储与营销有关的数据和/或指令。在一些实施例中,存储器130可以储存从乘客终端130和/或司机终端140获取/获得的数据。在一些实施例中,存储器130可以储存服务器110用来执行或使用来完成本申请中描述的示例性方法的数据和/或指令。在一些实施例中,存储设备140可包括大容量存储器、可移动存储器、挥发性读写内存、只读存储器(rom)等或其任意组合。示例性可移式存储器可以包括快闪驱动器、软盘、光盘、记忆卡、压缩碟、磁带等。示例性挥发性读写内存可以包括随机存取内存(ram)。示例性的随机储存器可以包括动态随机储存器(dram)、双倍速率同步动态随机储存器(ddrsdram)、静态随机储存器(sram)、闸流体随机储存器(t-ram)和零电容储存器(z-ram)等。示例性的只读存储器可以包括掩蔽型只读存储器(mrom)、可以程序只读存储器(prom)、可以清除可以程序只读存储器(eprom)、电子可以抹除可以程序只读存储器(eeprom)、压缩盘只读存储器(cd-rom)和数字通用磁盘只读存储器等。在一些实施例中,存储器130可以在云平台上实施。仅作为范例,云平台可以包括私有云、公用云、混合云、小区云、分布式云、内部云、多层云等或其任意组合。

在一些实施例中,存储器130可以与网络150连接以与系统100中的一个或多个部件(例如,服务器110、乘客终端130、司机终端140等)通信。系统100中的一个或多个部件可以通过网络150访问储存于存储器130中的数据或指令。在一些实施例中,存储器130可以直接与系统100中的一个或多个部件(例如,服务器110、乘客终端130、司机终端140等)连接或通信。在一些实施例中,存储器130可以是服务器110的一部分。

网络150可以促进信息和/或数据的交换。在一些实施例中,系统100中的一个或多个部件(例如,服务器110、乘客终端130、司机终端140和数据库150)可以通过网络150向系统100中的其他部件发送信息和/或数据。例如,服务器110可以经由网络150从乘客终端120和/或司机终端140获取/获得信息(例如,注册信息、人口属性等)。再例如,服务器110可以经由网络150将市场营销策略(例如,发送短消息、优惠券等)实施到乘客终端120和/或司机终端140。在一些实施例中,网络150可以为任意形式的有线或无线网络,或其任意组合。仅通过范例,网络150可以包括缆线网络、有线网络、光纤网络、远程通信网络、内部网络、互联网、局域网络(lan)、广域网路(wan)、无线局域网络(wlan)、城域网(man)、公共开关电话网络(pstn)、蓝牙网络、无线个域网、近场通讯(nfc)网络、全球行动通讯系统(gsm)网络、码分多址(cdma)网络、时分多址(tdma)网络、通用分组无线服务(gprs)网络、增强数据速率gsm演进(edge)网络、宽带码分多址接入(wcdma)网络、高速下行分组接入(hsdpa)网络、长期演进(lte)网络、用户数据报协议(udp)网络、传输控制协议/互联网协议(tcp/ip)网络、短讯息服务(sms)网络、无线应用协议(wap)网络、超宽带(uwb)网络、红外线等中的一种,或其任意组合。例如,系统100可以包括一个或多个有线或无线网络接入点。例如,系统100可以包括有线或无线网络接入点,如基站和/或无线接入点120-1、120-2、……,通过这些接入点,系统100的一个或多个部件可以连接到网络150以交换数据和/或信息。

信息源160是为系统100提供其他信息的来源。信息源160可以为系统100提供服务信息,例如,天气情况、交通信息、法律法规信息、新闻事件、生活信息、生活指南信息等。信息源160可以以单个中央服务器,经由通信链路连接的多个服务器或多个个人设备形式存在。当信息源160以大量个人设备形式存在时,这些个人设备可以通过例如向云端服务器上传文字、声音、图像、视频等,生成内容(例如,称为用户生成内容(user-generatedcontents))。信息源可以由多个个人设备和云服务器生成。

图2是根据本申请的一些实施例的可以在其上实现服务器110、乘客终端120、存储器130、司机终端140和/或信息源160的计算设备200的示例性硬件和软件部件。特定系统可以利用功能框图来解释包含一个或多个用户界面的硬件平台。这种计算机可以是一个通用目的的计算机,也可以是一个有特定目的的计算机。两种计算机都可以用于实现根据本申请的一些实施例的特定系统。计算设备200可以用于实现执行本申请中披露的一个或多个功能的任何部件。例如,计算设备200可实施如本文所描述的系统100的任何部件。在图1和图2中,为方便起见,只绘制了一台计算设备。本领域普通技术人员在提交本申请时会理解,与所述的线上到线下服务相关的计算机功能可以在多个类似的平台上以分布式方式实现,以分散处理负荷。

计算设备200可以例如包括与网络相连接并促进数据通信的com端口250。计算设备200还可以包括用于执行程序指令的一个处理器(例如,处理器220),一个或多个处理器形式(例如,逻辑电路)。例如,处理器可以包括其中的接口电路和处理电路。接口电路可以用于为从总线210接收电子信号,其中电子信号对结构化数据和/或指令进行编码以处理处理电路。处理电路可以进行逻辑计算,然后确定编码为电子信号的结论、结果和/或指令。然后,接口电路可以经由总线210从处理电路发出电子信号。

示例性的计算设备可以包括内部通信总线210、不同形式的程序存储器和数据存储器(包括,例如,磁盘270、和只读存储器(rom)230或随机存取内存(ram)240),用于存储由计算设备处理和/或传输的各种各样的数据文件。示例性计算平台也可以包括储存于rom230、ram240和/或其他形式的非暂时性存储介质中的能够被处理器220执行的程序指令。本申请的方法及/或过程可以作为程序指令来实施。计算设备200还包括支持在计算机与其他部件之间的输入/输出的部件260。计算设备200也可以通过网络通信接收程序设计和数据。

仅仅为了说明,图2中仅示出了一个cpu和/或处理器。还可以包括多个cpu和/或处理器,因此如本申请中所描述的由一个cpu和/或处理器执行的操作和/或方法步骤也可以由多个cpu和/或处理器共同地或独立地执行。例如,在本申请中,如果计算设备200的cpu和/或处理器执行步骤a和步骤b,应当理解的是步骤a和步骤b可以由计算设备200的两个不同的cpu和/或处理器共同或分别执行(例如,第一处理器执行步骤a,第二处理器执行步骤b,或者第一处理器和第二处理器共同执行步骤a和b)。

图3是根据本申请的一些实施例的其上可实现乘客终端120或提供者终端140的示例性移动设备的示例性硬件和/或软件部件的示意图。如图3所示,移动设备300可以包括通信单元310、显示器320、图形处理器(gpu)330、中央处理器(cpu)340、输入/输出接口350、内存360、存储器390。cpu340可以包括与处理器220类似的接口电路和处理电路。在一些实施例中,任何其他合适的部件,包括但不限于系统总线或控制器(未示出),也可包括在移动设备300内。在一些实施例中,可以从存储器390将移动操作系统370(例如,iostm,androidtm,windowsphonetm等)和一个或多个应用程序380加载到内存360中,以便由cpu340执行。应用程序380可以包括浏览器或任何其他合适的移动应用程序,用于从移动设备300上的基于位置的服务提供系统接收和呈现与服务请求或其他信息相关的信息。用户与信息流的交互可以经由i/o设备350来实现并且经由网络120被提供给处理引擎112和/或系统100的其他部件。

为了实现上述各种模块,单元及其功能,计算机硬件平台可以用作一个或多个元件(例如,图2中描述的服务器110的模块)的硬件平台。这类计算机的硬件元素、操作系统和程序语言在自然界中是常见的,可以假定本领域技术人员对这些技术都足够熟悉,能够利用这里描述的技术提供路径规划所需要的信息。带有用户界面的计算机可以用作个人计算机(pc)或其他类型的工作站或终端设备。经过正确编程后,可以将带有用户界面的计算机用作服务器。可以认为,本领域技术人员也可以熟悉这种类型的计算机设备的结构、程序或一般操作。因此,附图不再描述。

图4是根据本申请的一些实施例的示例性处理引擎112的框图。处理引擎112可以包括历史向量模块410、第一价值函数模块420、第一价值模块430、第一回归模型模块440、第二价值函数模块450、第二价值模块460、第二回归模型模块470、最终模型模块480、评估模块490,反馈模块411和营销策略模块413。每个、部分或全部模块可以是处理引擎112的全部或部分的硬件电路。每个、部分或全部模块也可以以由处理引擎112读取和执行的应用或一组指令形式存在。此外,这些模块可以是硬件电路和应用程序/指令的组合。例如,当处理引擎执行应用程序/一组指令时,模块可以是处理引擎112的一部分。

历史向量模块410可以用于获取多个历史向量。在一些实施例中,每个历史向量可以包括在一段时间内与历史营销策略相关联的一组历史信息。例如,每个历史向量可以包括提供线上到线下服务的司机的状态,系统100在该状态下实施给司机的至少一个历史动作,司机在该段时间、该状态和至少一个历史动作下,贡献给系统100的历史收益等,或其任意组合。

第一价值函数模块420可以用于确定第一价值函数。在一些实施例中,第一价值函数可以指表示司机将来为系统100带来的累积收入的期望值的函数。在一些实施例中,第一价值函数模块420可以基于历史向量模块410获取的多个历史向量根据第一强化学习算法确定第一价值函数。

第一价值模块430可以用于确定提供线上到线下服务的司机的状态下的第一价值。在一些实施例中,第一价值可以指司机将来(例如,在未来的预定时间段内)为系统100带来的累计收入的期望值。在一些实施例中,第一价值模块430可以基于第一价值函数和多个历史向量来确定第一价值。

第一回归模型模块440可以用于获取第一回归模型。在一些实施例中,第一回归模型可以指预测该状态下的司机可以为系统100带来的至少一个长期价值的方法。在一些实施例中,第一回归模型模块440可以通过训练初始模型来获取第一回归模型。

第二价值函数模块450可以用于确定第二价值函数。在一些实施例中,第二价值函数可以指表示司机将来为系统100带来的累积收入的期望值的函数。在一些实施例中,第二价值函数模块450可以基于多个历史向量根据第二强化学习算法来确定第二价值函数。

第二价值模块460可以用于确定一个状态下的提供线上到线下服务的司机的第二价值。在一些实施例中,第二价值可以指司机将来(例如,在未来的预定时间段内)为系统100带来的累计收入的期望值。在一些实施例中,第二价值模块460可以基于第二价值函数和多个历史向量来确定第二价值。

第二回归模型模块470可以用于获取第二回归模型。在一些实施例中,第二回归模型可以指预测该状态下的司机可以为系统100带来的至少一个长期价值的方法。在一些实施例中,第二回归模型模块470可以通过训练初始模型来获取第二回归模型。

最终模型模块480可以用于确定最终模型。例如,最终模型模块480可以用于从第一回归模型和第二回归模型中选择最终模型。在一些实施例中,最终模型可以指预测该状态下的司机可以为系统100带来的至少一个长期价值的方法。

评估模块490可以用于评估模型。在一些实施例中,评估模块490可以用于根据重要性采样方法评估第一回归模型和/或第二回归模型。例如,评估模块490可以用于基于多个历史营销策略来确定至少一个随机策略;根据所述重要性采样方法对所述至少一个随机策略进行采样,获取至少一个策略分布;基于第一回归模型,确定司机在每个历史状态下将对系统100贡献的预估长期价值;并根据预估长期价值和历史长期价值确定评估结果。再例如,评估模块490可以用于确定至少一个随机策略;根据所述重要性采样方法对所述至少一个随机策略进行采样,获取至少一个策略分布;基于第一回归模型,确定在每个历史状态下司机将对系统100贡献的第一预估长期价值;并且基于第二回归模型,确定每个历史状态下的司机将对系统100贡献的第二预估长期价值。

反馈模块411可以用于在学习和/或训练过程期间调整至少一个参数。例如,反馈模块411可以用于调整第一强化学习算法、第一回归模型、第二强化学习算法、第二回归模型等或其任意组合中的至少一个参数。

营销策略模型413可以用于确定一个状态下的营销策略。在一些实施例中,营销策略模型413可以基于模型(例如,第一回归模型、第二回归模型等),确定该状态下的营销策略。

处理引擎112中的模块可以通过有线连接或无线连接以互相连接或互相通信。有线连接可以包括金属线缆、光缆、混合电缆等或其任意组合。无线连接可以包括局域网络(lan)、广域网路(wan),蓝牙,无线个域网(zigbee),近场通讯(nfc)等,或其任意组合。两个或多个模块可以合并成一个模块,以及任意一个模块可以被拆分成两个或多个单元。例如,第一价值函数模块420可以被集成在第二价值函数模块450中作为既可以确定第一价值函数又可以确定第二价值函数的单个模块。再例如,评估模块490可以分为两个单元:第一评估单元和第二评估单元,两个单元一起工作以分别实现评估模块490的功能。

图5是根据本申请的一些实施例的用于确定线上到线下服务的营销策略的示例性过程和/或方法的流程图。在一些实施例中,过程500中的一个或多个步骤可以在图1所示的系统100中实现。例如,过程500中的一个或多个步骤可以作为指令的形式存储在存储器(例如,存储器130、rom230、ram240等)中,并且由服务器110(例如,服务器110中的处理引擎112或者服务器110中的处理引擎112的处理器220)调用和/或执行。

在510中,处理器220(或历史向量模块410)可以获取多个历史向量。

在一些实施例中,处理器220可以根据马尔可夫决策过程(mdp)模型来获取多个历史向量。例如,处理器220可以将历史营销数据输入到mdp模型中,并且输出可以包括多个历史向量。再例如,处理器220可以从历史营销数据中提取至少一个特征,将该至少一个特征输入到mdp模型中。mdp模型的输出可以包括多个历史向量。至少一个特征可以包括司机的状态,系统100在该状态下实施给司机的动作,司机对系统100贡献的当前收益等,或其任意组合。在一些实施例中,可以预先(训练之后)确定mdp模型并将其存储在存储设备(例如,存储器130、rom230、ram240等)中。例如,处理器220可以从存储器130获取mdp模型以确定多个历史向量。在一些实施例中,处理器220可以使用系统100中的历史数据以训练和获取mdp模型。

在一些实施例中,每个历史向量可以包括在一段时间内与历史营销策略相关联的一组历史信息。例如,每个历史向量可以包括提供线上到线下服务的司机的状态,系统100在该状态下实施给司机的至少一个历史动作,司机在该状态下和时间段内贡献给系统100的历史收益和至少一个历史动作等,或其任意组合。在一些实施例中,多个历史向量在时间线中可以是连续的。

在一些实施例中,司机的状态可以指司机表现的状态。例如,司机的状态可以包括与司机相关联的系统100中的统计信息、司机的人口属性等,或其任意组合。在一些实施例中,与司机相关联的统计信息可以包括汽车在系统100中的注册时间(例如,汽车何时在系统100中注册,司机在系统100中注册多久等),汽车信息(例如,汽车类型、汽车的商业类型、汽车的牌照号等),从注册时间到汽车提供的第一次线上到线下服务之间的时间间隔,司机在线等待的总时间等,或其任意组合。在一些实施例中,司机的人口属性可以指司机的人口学特征。例如,人口属性可以包括司机的年龄、司机的性别、司机的文化背景、司机的工作等,或其任意组合。

在一些实施例中,所述至少一个历史动作可以指在司机在系统100中注册之后系统100实施给司机的一个或多个动作。例如,至少一个历史动作可以包括短消息、优惠券(例如,优惠券类型、优惠券的价值等),系统100发送给司机的历史动作时间,多个所述至少一个历史动作的顺序等,或其任意组合。在一些实施例中,短消息可以用于向司机通知和/或告诉司机某事。在一些实施例中,优惠券类型可以包括燃料优惠券、停车优惠券、奖励优惠券等,或其任意组合。在一些实施例中,多个所述至少一个历史动作的顺序可以指系统100实施给司机的多个历史动作的顺序,例如,所述顺序可以包括序列首先发送短信,然后向司机发送燃油优惠券。

在一些实施例中,历史收益可以指系统100在预定时间段期间向司机实施至少一个历史动作之后,司机对系统100贡献了多少。例如,历史收益可以包括司机在该状态下的一个月内收到至少一个动作之后向系统100贡献的商品交易总量(gmv)。再例如,历史收益可以包括司机在完成第一汽车服务后的一个月内向系统100贡献的gmv。预定时间段可以是在系统100的存储器(例如,存储器130、rom230、ram240等)中存储的预设时间值,也可以是根据不同的应用场景(例如,司机的不同状态、不同的服务类型等)确定的时间值。

在520中,处理器220(或第一价值函数模块420)可以基于多个历史向量根据第一强化学习算法确定第一价值函数。

在一些实施例中,第一价值函数可以指一个函数,该函数表示司机将来可能为系统100带来的累积收入的期望值。在一些实施例中,第一价值函数可以包括用于确定司机可以为系统100带来的累积收入的期望值的算法、公式、方法、过程等。在一些实施例中,处理器220可根据第一强化学习算法离线确定第一价值函数。在一些实施例中,处理器220也可以在线确定第一价值函数。

在一些实施例中,第一强化学习算法可以包括时间差分(td)学习算法、动态规划算法、蒙特卡洛(mc)学习算法、q学习算法、sarsa学习算法、深度q网络算法、深度确定性策略梯度(ddpg)算法等,或其任意组合。在一些实施例中,处理器220可以使用工具包根据第一强化学习算法确定第一价值函数。例如,第一价值函数可以由sparkmllib、mlbox、mr等或其任意组合来确定。

在一些实施例中,处理器220可以将多个历史向量的部分或全部输入到第一强化学习算法中以获取第一价值函数。为了说明的目的,这里将q学习算法和sarsa学习算法描述为确定第一价值函数的例子。例如,处理器220可以将多个历史向量输入到q学习迭代公式(1)中:

qk+1(st,at)=qk(st,at)+α(rt+1+γmaxa′qk(st+1,a′)-qk(st,at))

(1)

其中,qk+1(st,at)表示在第k+1次迭代中被执行动作at后,司机在状态st下可能带来的累计收入的期望值;qk(st,at)表示司机在被执行第k次迭代中的动作at后,在状态st下可能带来的累计收入的期望值;α表示权重系数;rt+1表示在时间t+1时司机的即刻收益;γ表示折扣系数;和maxa′qk(st+1,a′)表示司机在状态st+1下可能带来的最大收入。

在一些实施例中,处理器220可将多个历史向量输入到q学习迭代公式(1)中以在多次迭代之后确定第一价值函数。

再例如,处理器220可以将多个历史向量输入sarsa学习迭代公式(2)中:

qk+1(st,at)=qk(st,at)+α(rt+1+γqk(st+1,at+1)-qk(st,at))(2),

其中,qk+1(st,at)表示在第k+1次迭代中被执行动作at后,司机在状态st下可能带来的累计收入的期望值;qk(st,at)表示司机在被执行第k次迭代中的动作at后,在状态st下可能带来的累计收入的期望值;α表示权重系数;rt+1表示在时间t+1时司机的即刻收益;γ表示折扣系数;和qk(st+1,at+1)表示在第k次迭代中司机在被实施动作at+1后可能带来的累计收入的期望值。

在一些实施例中,处理器220可将多个历史向量输入sarsa学习迭代公式(2)以在多次迭代之后确定第一价值函数。需要说明的是,不同的强化学习算法(例如,q学习迭代公式(1)、sarsa学习迭代公式(2))中的权重系数α和折扣系数γ可以分别不同。

在530中,处理器220(或第一价值模块430)可以基于第一价值函数和多个历史向量确定在一个状态下的提供线上到线下服务的司机的第一价值。

在一些实施例中,第一价值可以指司机将来(例如,在未来的预定时间段内)为系统100带来的累计收入的期望值。在一些实施例中,处理器220可以遍历多个历史向量中的每个状态,以通过将多个历史向量输入到第一价值函数中来确定每个状态下对应的第一价值。

在540中,处理器220(或第一回归模型模块440)可以通过训练初始模型来获取第一回归模型。

在一些实施例中,第一回归模型可以指一种方法,用于预测该状态下的司机可以为系统100带来的至少一个长期价值。每个长期价值可以指系统100在该状态下向司机实施动作之后,司机可以在未来的预定时间段内为系统100带来的累计收入的价值。预定时间段可以是在系统100的存储器(例如,存储器130、rom230、ram240等)中存储的预设时间值,也可以根据不同的应用场景(例如,不同的司机状态、不同的服务类型等)确定的时间值。

在一些实施例中,处理器220可以将多个历史向量输入到初始模型中。每个状态下的第一价值可以是初始模型的标签。处理器220可以基于输入和标签来训练初始模型,并且初始模型的输出可以是第一回归模型。在一些实施例中,处理器220可以通过离线训练初始模型来获取第一回归模型。在一些实施例中,处理器220可以通过在线训练初始模型来获取第一回归模型。

在一些实施例中,处理器220可以根据机器学习算法来获取第一回归模型。在一些实施例中,机器学习算法可以包括决策树算法、随机森林算法、逻辑回归算法、支持向量机算法、boost(例如,xgboost算法,adaboost算法等)算法、k最近邻算法、k平均算法、神经网络等,或其任意组合。例如,初始模型可以包括xgboost模型。

在一些实施例中,可以预先确定初始模型并将其存储在存储设备(例如,存储器130、rom230、ram240等)中。例如,处理器220可以从存储器130获取初始模型,以通过训练初始模型来获取第一回归模型。在一些实施例中,初始模型可以包括多个预定参数。预定参数可以预先确定并存储在存储设备(例如,存储器130、rom230、ram240等)中,或者由处理器220在上一次训练和/或学习过程中确定。

在550中,处理器220(或营销策略模块413)可以基于第一回归模型来确定该状态的营销策略。

在一些实施例中,处理器220可以将状态输入到第一回归模型中。第一回归模型可以遍历每个动作,这些动作是由系统100在此状态下可以实施给司机的,并计算相应的每个动作下的长期价值。第一个回归模型的输出可以是在状态下具有最大长期价值的最优动作。

在一些实施例中,处理器220可基于在该状态下具有最大长期价值的最佳动动作来生成该状态的营销策略。例如,对于在系统100上注册7天的状态下的司机,处理器220可以将状态输入到第一回归模型中以确定在该状态下的最佳动作(例如,发送停车券)。然后,处理器220可以生成用于在该状态下向司机发送停车券的营销策略。在一些实施例中,营销策略可以与历史营销策略相同或不同。

应该注意的是,上述仅出于说明性目的而提供,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,根据本申请的教导可以做出多种变化和修改。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。例如,可以在示例性过程/方法500的其他地方添加一个或多个其他可选步骤(例如,存储步骤、预处理步骤)。再例如,示例性过程/方法500中的所有步骤可以在包括一组指令的计算机可读介质中实现。指令可以以电子电流或电信号的形式传输。

图6是根据本申请的一些实施例的用于优化第一回归模型的示例性过程和/或方法的流程图。在一些实施例中,过程600中的一个或多个步骤可以在图1所示的系统100中实现。例如,过程600中的一个或多个步骤可以以指令的形式存储在存储器(例如,存储器130、rom230、ram240等)中,并且可以由服务器110(例如,服务器110中的处理引擎112或者服务器110中的处理引擎112的处理器220)调用和/或执行。

在610中,处理器220(或评估模块490)可以使用重要性采样方法来离线评估第一回归模型。

在一些实施例中,处理器220可以在基于第一回归模型确定营销策略之前评估第一回归模型。第一回归模型的评估可以判断第一回归模型是否可以预测该状态的精确结果。在一些实施例中,处理器220可以首先根据重要性采样方法对至少一个随机策略进行采样以获取至少一个策略分布。然后,处理器220可以确定与每个策略分布对应的预估长期价值,并且将预估长期价值与对应于相同的策略分布的历史长期价值进行比较。评估可以基于比较结果。在一些实施例中,处理器220可根据本申请的图7中的过程和/或方法700来评估第一回归模型。

图7是根据本申请的一些实施例的用于离线评估第一回归模型的示例性过程和/或方法的流程图。在一些实施例中,过程700中的一个或多个步骤可以在图1所示的系统100中实现。例如,过程700中的一个或多个步骤可以以指令的形式存储在存储器(例如,存储器130、rom230、ram240等)中,并且可以由服务器110(例如,服务器110中的处理引擎112或者服务器110中的处理引擎112的处理器220)调用和/或执行。

在710中,处理器220(或评估模块490)可以基于多个历史营销策略来确定至少一个随机策略。

在一些实施例中,多个历史营销策略可以指已经在历史中完成的一组测试数据。例如,每个历史营销策略可以包括司机的历史状态,系统100实施给司机的历史动作以及在历史状态下实施给司机该历史动作后,司机对系统100贡献的历史长期价值。在一些实施例中,历史状态可以与状态相同,例如,历史状态下汽车的注册时间和/或汽车的信息与当前状态下汽车的注册时间和/或汽车信息相同。在一些实施例中,历史长期价值可以指在系统100在历史状态下将历史策略实施给司机之后,在过去预定时间段内(例如,过去三天,过去十五天)司机为系统100带来的历史累计收入的值。预定时间段可以是系统100的存储(例如,存储器130、rom230、ram240等)中存储的预设时间值,也可以是根据不同的应用场景(例如,不同的司机状态、不同的服务类型等)确定的时间值。在一些实施例中,处理器220可以确定与历史营销策略中的每个历史状态对应的随机策略。

在一些实施例中,处理器220可以确定多个历史营销策略的统计结果以获取至少一个随机策略。例如,在过去上,状态1下的90%的营销策略是对司机实施行动1,10%的营销策略是没有采取行动。状态1对应的随机策略可以与统计结果相同,即90%概率对状态1下的司机实施动作1。

在720中,处理器220(或评估模块490)可以根据重要性采样方法通过对至少一个随机策略进行采样来获取至少一个策略分布。

在一些实施例中,每个策略分布可以对应于历史营销策略中的一个历史状态。例如,处理器220可以获得多个策略分布,每个策略分布对应于历史营销策略中的一个历史状态。

在一些实施例中,处理器220可以根据重要性采样方法从至少一个随机策略中选择至少一个策略分布以获得至少一个策略分布。在一些实施例中,策略分布可以包括最优策略分布。例如,处理器220可以选择在历史中具有突出表现的一个或多个最优策略(例如,对应于该策略的历史收益是最大的,对应于策略的历史收益是最低的等)。例如,在状态1下,对应于动作1的收益1是其他动作中最低(或最大)的收益。处理器220可以选择动作1的策略作为状态1下的策略分布。

处理器220可以根据公式(3)实现重要性采样方法:

其中,τi表示营销策略,πi表示随机策略,πe表示最优策略分布。在一些实施例中,πe可以通过将πi乘以实数来确定。例如,如果在随机策略中实施动作1的收益大于在随机策略中实施动作2的收益,则πe可以通过将πi乘以大于1的实数来确定。如果随机策略中实施收益的动作1小于在随机策略中实施动作2的收益,πe可以通过将πi乘以小于1的实数来确定。

在730中,处理器220(或评估模块490)可以基于第一回归模型,确定每个历史状态下司机将对系统100贡献的预估长期价值。

在一些实施例中,处理器220可以将至少一个策略分布中的每个历史状态输入到第一回归模型中。第一回归模型可以预测在每个历史状态下且在预定时间段(与历史营销策略中的预定时间段相同)内,司机对系统100的贡献的预估长期价值。在一些实施例中,第一回归模型可以在每个历史状态下遍历系统100可以实施给司机的每个动作,并且计算相应的每个动作下的长期价值。每个历史状态下的预估长期价值可以是对应于不同动作的长期价值中的最大值。

在740中,处理器220(或评估模块490)可以基于预估长期价值和历史长期价值来确定评估结果。

在一些实施例中,处理器220可将预估的长期价值与对应于相同历史状态的历史长期价值进行比较以获得评估结果。在一些实施例中,评估结果可以用于评估第一回归模型的性能。例如,如果在历史状态下的预估长期价值高于历史的长期价值,则处理器220可以评估第一回归模型可以预测准确结果。如果历史状态下的预估长期价值小于历史长期价值,则处理器220可以评估第一回归模型可能无法预测准确结果,并且处理器220可以重新训练另一个第一回归模型以确定营销策略。

在一些实施例中,处理器220可以离线实施过程700的一个或多个步骤以评估第一回归模型。在一些实施例中,处理器220可以在线实施过程700的一个或多个步骤以评估第一回归模型。

在一些实施例中,处理器220可以基于多个历史状态对应的多个预估长期价值和多个历史长期价值来确定评估结果。例如,处理器220可以首先通过比较相应的预估长期价值和相应的历史长期价值来确定对应于每个历史状态的比较结果。处理器220然后可以基于多个比较结果来确定平均值。处理器220可以最终基于平均值确定评估结果。在一些实施例中,平均值可以包括多个比较结果的平均值、多个比较结果的权重值、或者根据预定数学方法等确定的任何值,或其任意组合。例如,平均值可以通过为不同的历史状态分配不同的权重来确定。

应该注意的是,上述仅出于说明性目的而提供,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,根据本申请的教导可以做出多种变化和修改。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。例如,可以在示例性过程/方法700的其他地方添加一个或多个其他可选步骤(例如,存储步骤、预处理步骤)。再例如,示例性过程/方法700中的所有步骤可以在包括一组指令的计算机可读介质中实现。指令可以以电子电流或电信号的形式传输。

返回图6。在620中,处理器220(或反馈模块411)可以调整第一强化学习算法或第一回归模型的至少一个参数。

在一些实施例中,至少一个参数的调整可以用于优化学习和训练过程,并且使预测结果更准确。在一些实施例中,第一强化学习算法的至少一个参数可以包括确定第一价值函数中的任何参数。例如,所述至少一个参数可以包括q学习迭代公式(1)中的权重系数、q学习迭代公式(1)中的折扣系数、sarsa学习迭代公式(2)中的权重系数、sarsa学习迭代公式(2)中的折扣系数等,或其任意组合。

在一些实施例中,第一回归模型的至少一个参数可以包括训练初始模型以获得第一回归模型的任何参数。例如,训练xgboost模型来获得第一回归模型中的至少一个参数可以包括一般参数、增强参数、学习任务参数等,或其任意组合。

在一些实施例中,处理器220可以基于在过程600中610获得的评估结果来调整第一强化学习算法或第一回归模型的至少一个参数。例如,处理器220可以基于本申请中的过程700的740中获得的比较结果来调整权重系数。再例如,处理器220可以根据预定规则调整第一强化学习算法或第一回归模型的至少一个参数。预定规则可以由系统100基于离线评估结果来预先确定。

应该注意的是,上述仅出于说明性目的而提供,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,根据本申请的教导可以做出多种变化和修改。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。例如,可以在示例性过程/方法600的其他地方添加一个或多个其他可选步骤(例如,存储步骤、预处理步骤)。再例如,示例性过程/方法600中的所有步骤可以在包括一组指令的计算机可读介质中实现。指令可以以电子电流或电信号的形式传输。

图8是根据本申请的一些实施例的用于确定线上到线下服务的营销策略的示例性过程和/或方法的流程图。在一些实施例中,过程800中的一个或多个步骤可以在图1所示的系统100中实现。例如,过程800中的一个或多个步骤可以作为指令的形式存储在存储器(例如,存储器130、rom230、ram240等)中,并且由服务器110(例如,服务器110中的处理引擎112或者服务器110中的处理引擎112的处理器220)调用和/或执行。

在一些实施例中,处理器220可以确定多于一个回归模型(例如,两个回归模型,五个回归模型等),以确定线上到线下服务的营销策略。例如,处理器220可比较多于一个回归模型以确定具有良好性能的最终模型来确定营销策略。再例如,处理器220可以确定每个状态的回归模型,并使用相应的回归模型来确定该状态下的司机的营销策略。为了说明的目的,本文将描述两个回归模型以确定与图5和图8有关的营销策略。例如,处理器220可以在本申请的图5的过程500之后,执行图8的过程800中的一个或多个步骤。再例如,处理器220可以执行过程500和/或过程800中的一个或多个步骤以确定营销策略。

在810中,处理器220(或第二价值函数模块450)可以基于多个历史向量根据第二强化学习算法来确定第二价值函数。

在一些实施例中,第二价值函数可以指表示司机将来为系统100带来的累积收入的期望值的函数。在一些实施例中,第二价值函数可以包括用于确定司机可以为系统100带来的累积收入的期望值的算法、公式、方法、过程等。在一些实施例中,处理器220可以根据第二强化学习算法离线确定第二价值函数。在一些实施例中,处理器220也可以在线确定第二价值函数。

在一些实施例中,第二强化学习算法可以包括时间差分(td)学习算法、动态规划算法、蒙特卡罗(mc)学习算法、q学习算法,sarsa学习算法、深q网络算法、深度确定性策略梯度(ddpg)算法等,或其任意组合。在一些实施例中,处理器220可以使用工具包根据第二强化学习算法来确定第二价值函数。例如,第二价值函数可以由sparkmllib、mlbox、mr等或其任意组合来确定。

在一些实施例中,基于多个历史向量根据第二强化学习算法确定第二价值函数的过程可以与本申请中确定第一价值函数的过程相同(例如,图5的步骤520及其描述)。

应该注意的是,第二强化学习算法可能与第一强化学习算法不同。例如,第一强化学习算法可以是q学习算法,并且第二学习算法可以是sarsa学习算法。又如,第一强化学习算法可以是深度q学习算法,第二学习算法可以是td学习算法。q学习算法和/或sarsa学习算法的更多描述可以在本申请的其他地方找到(例如,图5及其描述)。

在820中,处理器220(或第二价值模块460)可以基于第二价值函数和多个历史向量,确定一个状态下提供线上到线下服务的司机的第二价值。

在一些实施例中,第二价值可以指司机将来(例如,在未来的预定时间段内)为系统100带来的累计收入的期望值。在一些实施例中,处理器220可以遍历多个历史向量中的每个状态,以通过将多个历史向量输入到第一价值函数中确定每个状态下的对应的第二价值。

在830中,处理器220(或第二回归模型模块470)可以通过训练初始模型来获得第二回归模型。

在一些实施例中,训练初始模型以获得第二回归模型的过程可以与训练初始模型以获得本申请中的第一回归模型的过程相同(例如,图5的步骤540及其描述)。

在一些实施例中,初始模型的更多描述可以在本申请的其他地方找到(例如,图5及其描述)。在一些实施例中,训练以获得第二回归模型的初始模型可以与训练以获得第一回归模型的初始模型相同。例如,两个初始模型可以是相同的xgboost模型。在一些实施例中,两个初始模型可以彼此不同。例如,训练获得第一回归模型的初始模型可以是xgboost模型,而训练以获得第二回归模型的初始模型可以是adaboost模型。

在840中,处理器220(或最终模型模块480)可以从第一回归模型和第二回归模型中选择最终模型。

在一些实施例中,处理器220可以评估第一回归模型和第二回归模型,并且选择具有更好性能的模型中的一个作为最终模型。例如,处理器220可以基于多个历史策略数据来评估第一回归模型和/或第二回归模型。可以在本申请的其他地方(例如,图6和/或图7及其描述)中找到对第一回归模型和/或第二回归模型的评估的更多描述。在一些实施例中,可以在本申请的其他地方(例如,图9及其描述)中找到从第一回归模型和第二回归模型中选择最终模型的更多描述。

在一些实施例中,处理器220可以为司机的所有状态选择一个最终模型。例如,处理器220可以使用所有状态的历史策略数据来评估第一回归模型和第二回归模型,并且针对所有状态仅选择一个最终模型来确定司机的营销策略。在一些实施例中,处理器220可以针对每个司机的状态选择一个最终模型。例如,处理器220可以使用与状态3相关联的历史策略数据来评估第一回归模型和第二回归模型,并且为状态3选择最终模型1以确定司机在状态3下的营销策略。并且处理器220可以使用与状态4相关联的历史策略数据来评估第一回归模型和第二回归模型,并且为状态4选择最终模型2以确定司机在状态4下的营销策略。

在850中,处理器220(或营销策略模块413)可以基于最终模型确定针对该状态的营销策略。

在一些实施例中,处理器220可以将状态输入到最终模型中。最终模型可以在系统状态下遍历系统100可以实施给司机的每个动作,并且计算相应的每个动作下的长期价值。最终模型的输出可以是在状态下具有最大长期价值的最佳动作。

在一些实施例中,处理器220可基于在该状态下具有最大长期价值的最佳动作来生成该状态的营销策略。例如,对于处于在系统100上注册30天状态下的司机,处理器220可以将该状态输入到第一回归模型中以确定在该状态下的最佳动作(例如,发送短消息)。处理器220然后可以生成向在该状态下司机发送短消息的营销策略。

应该注意的是,上述仅出于说明性目的而提供,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,根据本申请的教导可以做出多种变化和修改。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内例如,可以在示例性过程/方法800的其他地方添加一个或多个其他可选步骤(例如,存储步骤、预处理步骤)。再例如,示例性过程/方法800中的所有步骤可以在包括一组指令的计算机可读介质中实现。指令可以以电子电流或电信号的形式传输。

图9是根据本申请的一些实施例的用于确定最终模型的示例性过程和/或方法的流程图。在一些实施例中,过程900中的一个或多个步骤可以在图1所示的系统100中实现。例如,过程900中的一个或多个步骤可以作为指令的形式存储在存储器(例如,存储器130、rom230、ram240等)中,并且可以通过服务器110(例如,服务器110中的处理引擎112或者服务器110中的处理引擎112的处理器220)以下方式调用和/或执行。

在910中,处理器220(或评估模块490)可以确定至少一个随机策略,其中每个随机策略对应于一个状态。在一些实施例中,确定至少一个随机策略的过程可以在本申请的其他地方找到(例如,图7的步骤710及其描述)。

在920中,处理器220(或评估模块490)可以根据重要性采样方法通过对至少一个随机策略进行采样来获得至少一个策略分布。在一些实施例中,获得至少一个策略分布的过程可以在本申请的其他地方找到(例如,图7的步骤720及其描述)。

在930中,处理器220(或评估模块490)可以基于第一回归模型确定每个历史状态下司机将对系统100贡献的第一预估长期价值。在一些实施例中,确定第一预估长期价值的过程可以与确定本申请中其他地方描述的预估长期价值(例如,图7的步骤730及其描述)的过程相同。

在940中,处理器220(或评估模块490)可以基于第二回归模型确定每个历史状态下司机将对系统100贡献的第二预估长期价值。在一些实施例中,确定第一预估长期价值的过程可以与确定本申请中其他地方描述的预估长期价值(例如,图7的步骤730及其描述)的过程相同。

在950中,处理器220(或最终模块480)可基于历史状态下的第一预估长期价值、第二预估长期价值和历史长期价值来确定最终模型。

在一些实施例中,处理器220可以在相同的历史状态下比较第一预估长期价值,第二预估长期价值和/或历史长期价值。处理器220可以基于比较结果确定最终模型。例如,处理器220可以首先将第一预估长期价值和/或第二预估长期价值与历史长期价值进行比较。如果第一预估长期价值和第二预估长期价值都大于历史长期价值,则处理器可以进一步比较第一预估长期价值和第二预估长期价值。处理器220可以选择与第一预估长期价值和第二预估长期价值之间的较大值对应的回归模型作为最终模型。再例如,如果第一预估长期价值和第二预估长期价值都小于历史长期价值,则处理器220可以重新训练另一模型以确定营销策略。又例如,如果第一预估长期价值和第二预估长期价值中的一个大于历史长期价值,并且另一个小于历史长期价值,则处理器220可以选择对应于较大预估长期价值的回归模型作为最终模型。

在一些实施例中,处理器220可以离线实施过程900的一个或多个步骤以确定最终模型。在一些实施例中,处理器220可以在线实施过程900的一个或多个步骤以确定最终模型。

在一些实施例中,处理器220可以基于对应于多个历史状态的多个预估长期价值和多个历史长期价值来确定最终模型。例如,处理器220可以首先通过比较对应的第一和第二预估长期价值与对应的历史长期价值来确定对应于每个历史状态的比较结果。处理器220然后可以分别基于第一和第二预估长期价值的多个比较结果来确定平均值。处理器220可以基于平均值最终确定最终模型。在一些实施例中,每个平均值可以包括多个比较结果的平均值、多个比较结果的权重值或者根据预定的数学方法等确定的任何值,或其任意组合。例如,平均值可以通过为不同的历史状态分配不同的权重来确定。

在一些实施例中,处理器220(或反馈模块411)可以调整最终模型的至少一个参数。例如,处理器220可以基于第一预估长期价值,第二预估长期价值和历史状态下的历史长期价值来调整最终模型的至少一个参数。在一些实施例中,处理器220(或反馈模块411)可以基于第一预估长期价值、第二预估长期价值来调整第一强度学习算法和/或第二强度学习算法的至少一个参数价值以及历史状态下的历史长期价值。在一些实施例中,调整参数的更多描述可以在本申请的其他地方找到(例如,图6及其描述)。

应该注意的是,上述仅出于说明性目的而提供,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,根据本申请的教导可以做出多种变化和修改。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内例如,可以在示例性过程/方法900的其他地方添加一个或多个其他可选步骤(例如,存储步骤,预处理步骤)。再例如,示例性过程/方法900中的所有步骤可以在包括一组指令的计算机可读介质中实现。指令可以以电子电流或电信号的形式传输。

上文已对基本概念做了描述,显然,对于阅读此申请后的本领域的普通技术人员来说,上述发明披露仅作为示例,并不构成对本申请的限制。虽然此处并未明确说明,但本领域的普通技术人员可以进行各种变更、改良和修改。这类修改、改进和修正在本申请中被建议,所以所述类修改、改进、修正仍属于本申请示范实施例的精神和范围。

同时,本申请使用了特定词语来描述本申请的实施例。同时,本申请使用了特定术语来描述本申请的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特性。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特性可以进行适当的组合。

此外,本领域的普通技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的制程、机器、产品或物质的组合,或对其任何新的和有用的改良。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“部件”或“系统”。此外,本申请的各方面可以呈现为位于一个或多个计算机可读媒体中的计算机产品,该产品具有计算机可读程序编码。

计算机可读信号介质可以包括一个含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。此类传播信号可以有多种形式,包括电磁形式、光形式等或任何合适的组合形式。计算机可读信号介质可以为除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、设备或设备以实现通信、传播或传输供使用的程序。位于计算机可读信号介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、缆线、光纤电缆、rf、或类似媒体、或任何上述介质的任意组合。

本申请各方面操作所需的计算机程序码可以用一种或多种程序语言的任意组合编写,包括面向对象程序设计,如java、scala、smalltalk、eiffel、jade、emerald、c++、c#、vb.net,python或类似的常规程序编程语言,如“c”编程语言,visualbasic,fortran1703,perl,cobol1702,php,abap,动态编程语言如python,ruby和groovy或其它编程语言。程序代码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机上运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(lan)或广域网(wan),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(saas)。

此外,除非申请专利范围中明确说明,否则所述处理元素或序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解,此类细节仅起说明的目的,附加的申请专利范围并不仅限于披露的实施例,相反,申请专利范围旨在覆盖所有符合本申请实施例精神和范围的修正和等价组合。例如,虽然以上所描述的系统部件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。

同理,应当注意的是,为了简化本申请揭示的表述,从而帮助对一个或多个发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。然而,此揭示方法并不意味着本申请所需的特征比每个权利要求范围中涉及的特征多。相反,所要求保护的主题可能在于少于单个前述公开实施例的所有特征。

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