一种对象分配方法和系统与流程

文档序号:25172106发布日期:2021-05-25 14:42阅读:91来源:国知局
一种对象分配方法和系统与流程

本说明书涉及互联网领域,特别涉及一种对象分配方法和系统。



背景技术:

在实际的生产生活领域中,常常会面临需要将一类对象分配给另一对象的问题,且在分配过程中需要考虑一定的约束条件。如何进行自动化、高效、准确的完成分配,成为了需要解决的难题。



技术实现要素:

本说明书实施例之一提供一种对象分配方法,所述方法由至少一个处理器执行,其包括:获取待匹配的第一类对象的特征信息;基于所述第一类对象的特征信息以及两个或以上候选第二类对象的特征信息,确定所述第一类对象分别与两个或以上候选第二类对象的匹配值;获取匹配修正参数;至少基于匹配修正参数以及两个或以上的所述匹配值,从所述两个或以上候选第二类对象中选择目标第二类对象,并分配给所述第一类对象。

本说明书实施例之一提供一种对象分配系统,其包括:特征获取模块,用于获取待匹配的第一类对象的特征信息;匹配值确定模块,用于基于所述第一类对象的特征信息以及两个或以上候选第二类对象的特征信息,确定所述第一类对象分别与两个或以上候选第二类对象的匹配值;参数获取模块,用于获取匹配修正参数;分配模块,用于至少基于匹配修正参数以及两个或以上的所述匹配值,从所述两个或以上候选第二类对象中选择目标第二类对象,并分配给所述第一类对象。

本说明书实施例之一提供一种对象分配装置,所述装置包括处理器以及存储器;所述存储器用于存储指令,所述处理器用于执行所述指令,以实现上述对象分配方法。

本说明书实施例之一提供一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机执行上述对象分配方法。

本说明书实施例之一提供一种用于对象分配的匹配修正参数确定方法,所述方法由至少一个处理器执行,其包括:构建等效目标函数;最小化所述等效目标函数等效于在预设约束条件下使得匹配合值最大化,所述匹配合值等于给定多个第一类对象及其匹配的第二对象时,各第一类样本对象分别与其匹配的第二类对象的匹配值的合值;所述等效目标函数与所述匹配修正参数以及给定的多个第一类对象与其匹配的第二对象的匹配值相关;确定多个第一类样本对象及与其具有关联关系的多个第一类关联对象,以及分别分配给各第一类样本对象的第二类对象;获取第二图数据;所述第二图数据包括与多个第一类样本对象、与第一类样本对象具有关联关系的多个第一类关联对象分别对应的节点,所述第二图数据中节点间的边权信息反映对应对象间的关联关系;利用图神经网络处理所述第二图数据,得到多个第一类样本对象的向量表达;基于第一类样本对象的向量表达以及其第二类对象的特征信息确定该第一类样本对象与其第二类对象的匹配值,进而获得各第一类样本对象与其第二类对象的匹配值;将所述匹配值代入所述等效目标函数,并确定匹配修正参数,所述匹配修正参数能够使得所述等效目标函数在所述匹配值下取得最小值。

本说明书实施例之一提供一种用于对象分配的匹配修正参数确定系统,其包括:函数构建单元,用于构建等效目标函数;最小化所述等效目标函数等效于在预设约束条件下使得匹配合值最大化,所述匹配合值等于给定多个第一类对象及其匹配的第二对象时,各第一类样本对象分别与其匹配的第二类对象的匹配值的合值;所述等效目标函数与所述匹配修正参数以及给定的多个第一类对象与其匹配的第二对象的匹配值相关;对象确定单元,用于确定多个第一类样本对象及与其具有关联关系的多个第一类关联对象,以及分别分配给各第一类样本对象的第二类对象;图数据获取单元,用于获取第二图数据;所述第二图数据包括与多个第一类样本对象、与第一类样本对象具有关联关系的多个第一类关联对象分别对应的节点,所述第二图数据中节点间的边权信息反映对应对象间的关联关系;图数据处理单元,用于利用图神经网络处理所述第二图数据,得到多个第一类样本对象的向量表达;匹配值确定单元,用于基于第一类样本对象的向量表达以及其第二类对象的特征信息确定该第一类样本对象与其第二类对象的匹配值,进而获得各第一类样本对象与其第二类对象的匹配值;参数计算单元,用于将所述匹配值代入所述等效目标函数,并确定匹配修正参数,所述匹配修正参数能够使得所述等效目标函数在所述匹配值下取得最小值。

本说明书实施例之一提供用于对象分配的匹配修正参数确定的装置,所述装置包括处理器以及存储器;所述存储器用于存储指令,所述处理器用于执行所述指令,以实现上述用于对象分配的匹配修正参数确定方法。

本说明书实施例之一提供一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机执行上述用于对象分配的匹配修正参数确定方法。

附图说明

本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:

图1是根据本说明书一些实施例所示的对象分配系统的应用场景示意图;

图2是根据本说明书一些实施例所示对象分配方法的示例性流程图;

图3是根据本说明书一些实施例所示获取待匹配的第一类对象的特征信息的示例性流程图;

图4是根据本说明书一些实施例所示确定匹配修正参数的示例性流程图;

图5是根据本说明书一些实施例所示基于匹配修正参数以及匹配值确定目标第二类对象的示例性流程图;

图6是根据本说明书一些实施例所示的对象分配系统的模块化示意图;

图7是根据本说明书一些实施例所示的匹配修正参数确定系统的模块化示意图。

具体实施方式

为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。

应当理解,本文使用的“系统”、“装置”、“单元”和/或“模块”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。

如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。

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

图1是根据本说明书一些实施例所示的对象分配系统的应用场景示意图。

如图1所示,对象分配系统100包括第一类对象110、第二类对象120、服务器130和网络140。

第一类对象110为系统100进行分配操作时的分配接受者。在一些实施例中,第一类对象可以是实体(如公司、服务提供者、用户、商户或城市等),还可以是信息项(如账户、用户账号等)。

第二类对象120为系统100进行分配操作时被分配的对象。在一些实施例中,第二类对象可以也是实体(如订单、资金、资源等)或信息项(如代金券、订单等)。

在一些实施例中,第一类对象110和第二类对象120可以是来自包括但不限于金融行业、保险行业、互联网行业、汽车行业、餐饮行业、电信行业、能源行业、娱乐行业、体育行业、物流行业、医疗行业、安全行业等的实体或信息项。

示例性的,在一个场景中,第一类对象110可以是服务提供者、第二类对象120为需要执行的订单;在另一个场景中,第一类对象110可以是某平台用户、第二类对象120可以是平台发放给用户的奖励,以激励或引导平台用户完成一定的行为或操作。其中奖励包括但不仅限于红包、代金券或现金。需要说明的是,以上两个场景仅作为示例,并不意在限制本说明书范围。

服务器130可以是单一服务器或服务器组。该服务器组可以是集中式或分布式的(例如,服务器130可以是分布式系统)。在一些实施例中,服务器130可以是区域的或者远程的。在一些实施例中,服务器130可以在云平台上实施,或者以虚拟方式提供。仅作为示例,所述云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。在一些实施例中,服务器130可包含处理器135。处理器135可以处理从其他设备或系统组成部分中获得的数据和/或信息。处理器可以基于这些数据、信息和/或处理结果执行程序指令,以执行一个或多个本说明书中描述的功能。例如,处理器135可以对第一类对象的特征信息以及多个第二类对象的特征信息进行处理,确定第一类对象与各第二类对象的匹配值,获取匹配修正参数,并基于匹配修正参数及各匹配值,从多个第二类对象中选择一个分配给第一类对象。示例性的,处理器135可以基于前述方法,将订单分配给服务提供者,或者将奖励分配给用户。在一些实施例中,处理器135可以包含一个或多个子处理设备(例如,单核处理设备或多核多芯处理设备)。仅作为示例,处理器135可以包括中央处理器(cpu)、专用集成电路(asic)、专用指令处理器(asip)、图形处理器(gpu)、物理处理器(ppu)、数字信号处理器(dsp)、现场可编程门阵列(fpga)、可编辑逻辑电路(pld)、控制器、微控制器单元、精简指令集电脑(risc)、微处理器等或以上任意组合。

网络140可以连接系统的各组成部分和/或连接系统与外部资源部分。网络140使得各组成部分之间,以及与系统之外其他部分之间可以进行通讯,促进数据和/或信息的交换。在一些实施例中,网络140可以是有线网络或无线网络中的任意一种或多种。例如,网络140可以包括电缆网络、光纤网络、电信网络、互联网、局域网络(lan)、广域网络(wan)、无线局域网络(wlan)、城域网(man)、公共交换电话网络(pstn)、蓝牙网络、紫蜂网络(zigbee)、近场通信(nfc)、设备内总线、设备内线路、线缆连接等或其任意组合。各部分之间的网络连接可以是采用上述一种方式,也可以是采取多种方式。在一些实施例中,网络可以是点对点的、共享的、中心式的等各种拓扑结构或者多种拓扑结构的组合。在一些实施例中,网络140可以包括一个或以上网络接入点。例如,网络140可以包括有线或无线网络接入点,例如基站和/或网络交换点,通过这些系统的一个或多个组件可连接到网络140上以交换数据和/或信息。

在一些实施例中,将第二类对象分配给第一类对象过程中,第二类对象的某些属性,如作为第二类对象的奖励或订单的价值、第二类对象的物品的色彩以及形状、或者作为第二类对象的目的地的地理位置,与第一类对象反馈的积极程度成正比,以服务提供者作为第一类对象、订单作为第二类对象为例,服务提供者更加倾向于被匹配到数额更高的订单(可以认为这类分配对应的匹配值更高),而对于被匹配到数额较低的订单的服务提供者满意程度更低(可以认为这类分配对应的匹配值较低),又以定点进行身体检查的用户作为第一类对象为例,用户更倾向于被匹配到与其所在地距离较近的体检中心进行体检(可以认为这类分配对应的匹配值更高)。

但在实际执行过程中,第二类对象的某些属性相对于固定导致分配会受到约束,如在上述第一种场景中,注定会有数额较高的订单和数额较低的订单,对于一些服务提供者而言,频繁被匹配到较低数额的订单时,可能会退出平台或产生不满导致服务效果的下降;在另一个场景中,用于向用户分配的资金总量也会存在限制,可能也会存在由于资金奖励较少,对一部分用户无法起到激励效果;又例如,每个体检中心的用户接待量有限。

有鉴于此,在分配过程受到第二类对象的某些属性(如订单的总价值或奖励总额或者接待量)约束的情况下,为了对第二类对象进行合理分配,提出了一种对象分配系统,该系统结合第一类对象的特征,确定第一类对象与不同第二类对象匹配值,并对该匹配值进行修正后选择与该第一类对象匹配程度更高的对象并进行分配。进而在约束条件下,实现了对象的自动化、准确分配。应当理解,本说明书提供的对象分配方法还可以适用于其他场景,如将生产任务(第二对象)分配给相应的生产流水线(第一类对象)等。

图2是根据本说明书一些实施例所示对象分配方法的示例性流程图。

在一些实施例中,流程200中的一个或多个步骤可以由图1中的处理器135执行。其包括:

步骤210,获取待匹配的第一类对象的特征信息。在一些实施例中,步骤210可以由特征获取模块610执行。

在一些实施例中,待匹配的第一类对象可以是在平台接收到分配请求时,需要接收分配的第一类对象。示例性的,服务平台接收到订单分配请求,需要向该服务提供者分配订单,此时该服务提供者作为待匹配的第一类对象,平台可以获取该服务提供者的特征信息。又例如,某销售平台需要通过奖励来激励用户完成一定的行为(如邀请新人、引导用户使用指定产品或消费达标等)时,待匹配的第一类对象可以是用户,此时可以获取用户的特征信息。

在一些实施例中,每个第一类对象可以包括一个或多个特征。示例性的,当第一类对象为用户时,特征信息可以包括年龄、性别、信用状况、消费习惯等。在一些实施例中,还可以将特征信息进行数值化处理,如利用“0”表示用户性别为女,“1”表示用户性别为男等。在一些实施例中,特征的数值化处理方式可以是其他任意能够将非数值转换为数值的编码方式,在本说明书中不做限制。

在一些实施例中,获取待匹配的第一类对象的特征信息的具体步骤在后文中详细说明,具体可以参见图3及相关描述。

步骤220,基于所述第一类对象的特征信息以及两个或以上候选第二类对象的特征信息,确定所述第一类对象分别与两个或以上候选第二类对象的匹配值。在一些实施例中,步骤220可以由匹配值确定模块620执行。

在一些实施例中,可以存在多个第二类对象,平台在多个第二类对象中选择与第一类对象相关的两个或以上第二类对象作为候选第二类对象。继续采用前述示例,第一类对象为服务提供者时,服务平台接收到订单分配请求,需要向该服务提供者分配订单,此时订单为第二类对象。而当订单与服务提供者位于同一区域或订单需求与服务提供者所提供服务的类型相同等情况下,可以将该订单作为候选第二对象。又例如,当销售平台需要向第一类对象,即用户,发放奖励以激励用户完成一定的行为时,奖励则为第二类对象。

在一些实施例中,第二类对象的特征信息也可以是一个或多个。示例性的,在订单分配时,订单作为第二类对象,其特征信息可以包括订单金额、订单类型、订单服务时间、订单发起方属性等;将奖励作为第二类对象,其特征信息可以包括奖励金额、奖励类型、奖励有效期等。

此外,由于奖励金额是离散的数值,为了便于处理,在一些实施例中,可以将金额分成多个等级,可以理解的是,每个等级对应一个金额。具体的,在一些实施例中,可以将金额的集合表示为该集合中一共个档位的金额,按金额大小排列可以表示为在一些实施例中,当第二类对象为奖励时,与奖励金额对应的档位信息可以作为第二类对象的特征信息。

在一些实施例中,匹配值用于表示第一类对象和第二类对象两者之间的匹配程度,在一些实施例中,匹配值与匹配程度为正比,此外,匹配值可以是数值还可以是概率值。

在一些实施例中,第一类对象为用户时,该奖励为第二类对象。仅作为示例,在某销售平台的营销活动中,营销者希望通过活动达到某个营销效果(如提升某个产品的销量或者使用率),在这类场景中,用户可以进一步划分为邀请者与被邀请者,相应的,第一类对象可以包括邀请者与被邀请者两类用户。作为邀请者的用户邀请其他用户使用或者购买某产品,被邀请者接受邀请后可以得到一个作为第二类对象的被邀请奖励,邀请者可以相应得到一份作为第二类对象的邀请奖励。例如,当被邀请者使用得到的被邀请奖励时,邀请者会得到该邀请奖励。

在一些场景中,营销者希望更多的被邀请者使用奖励,以及邀请者能够邀请更多的被邀请者。进而在一些实施例中,当所述第一类对象为被邀请者时,所述第一类对象与候选第二类对象的匹配值与将该候选第二类对象分配给所述第一类对象时,第一类对象使用该候选第二类对象的概率正相关。当所述第一类对象为邀请者时,所述第一类对象与候选第二类对象的匹配值与将该候选第二类对象分配给所述第一类对象时,第一类对象将邀请发送给其他用户的人数正相关。

在一些实施例中,第一类对象的特征信息(即被邀请者i的特征)表示为hi,候选第二类对象的特征信息(即奖励等级对应的代金券金额j)表示为rj,可以针对第一类对象的类型(如邀请者或被邀请者)构建不同的匹配值预测模型。

当第一类对象为被要求者时,匹配值为概率值,匹配值可以通用fc(hi,rj)获得,其中:

其中,第一类对象的特征信息hi可以为向量形式,并通过神经网络或深度学习网络等方式获取,具体获取方式可以参见后文图3的相关描述。

公式(1)中λ(i,τ)为分段线性函数,其表示用户i对函数中τ个分段中每个分段的敏感程度或者响应度。示例性的,假设该分段线性函数将金额0~5元的奖励平均划分为5个分段,此时λ(i,2)值可以表示用户i对第二个分段(即1~2元段)的敏感程度;在该情况下,用户对于金额为2元奖励的敏感程度实际为用户对0~1元段的敏感程度λ(i,1)与1~2元段的敏感程度λ(i,2)的累加,因此在公式(1)中计算该分段线性函数的积分。在一些实施例中,分段线性函数可以被定义为:

当rk-1<τ<rk(2)

其中,wk和bk是对应第k个分段的可训练参数,表示参数wk的矩阵转置。示例性的,wk可以是与hi同维的向量,bk均为单个数值。

在一些实施例中,可以要求参数wk满足以下约束条件:

通过公式(3)将用户对于相邻两段金额代表的敏感程度的差值限制在一定范围内。示例性的,用户对于某两个相邻的奖励金额如对于1~2元和2~3元之间的敏感程度不会相差太大,因此通过差值限制以保证分段函数的平滑性,其中,ζ的值可以根据实际情况进行选取。需要说明的是,在一些实施例中,根据实际应用场景可以不设置该约束条件。

当第一类对象为邀请者时,匹配值与邀请者将邀请发送给其他用户的人数正相关,匹配值可以通过fm(hi,rj)获得:

其中,softplus(·)以及relu(·)为激活函数,在一些实施例中,softplus(·)以及relu(·)可以由其他激活函数替代,如sigmoid函数、leakyrelu函数等;式中wg和wp分别为可训练参数。示例性的,wg、wp均可以是与hi同维的向量,均为单个数值。

关于匹配值预测模型fc(hi,rj)以及fm(hi,rj)中待训练参数的训练过程可以在本说明书的其他地方找到。

步骤220中第一类对象分别获取与每个候选第二类对象的匹配值,但在一些实施例中,还是可以看出,匹配值与第二类对象的价值成正相关,因此在考虑成本等约束条件的情况下,需要通过匹配修正参数,对匹配值进行一定程度上的修正。

步骤230,获取匹配修正参数。在一些实施例中,步骤230可以由参数获取模块630执行。

在一些实施例中,匹配修正参数可以预先获得,参数获取模块可以从存储设备中直接获取。在一些实施例中,匹配修正参数可以定期更新。获取匹配修正参数的具体步骤在后文中详细说明,具体可以参见图4及相关描述。

步骤240,至少基于匹配修正参数以及两个或以上的所述匹配值,从所述两个或以上候选第二类对象中选择目标第二类对象,并分配给所述第一类对象。在一些实施例中,步骤240可以由分配模块640执行。

在一些实施例中,可以至少基于匹配修正参数对两个或以上的所述匹配值进行修正,得到两个或以上的目标分值;再基于目标分值对候选第二类对象进行筛选,得到目标第二类对象。其中,所述修正能够使得多个第一类对象与分配到的第二类对象的匹配值的合值在预设约束条件下取得最大值,也就是说,按照前述修正得到的目标分值逐一为多个第一类对象分配第二类对象时,得到的第一类对象与其第二类对象的匹配值的合值能够在预设约束条件下取得最大值。在一些实施例中,还可以基于匹配修正参数、预设约束条件以及匹配值计算目标分值,并将其中最小的目标分值对应的候选第二类对象确定为目标第二类对象。关于基于匹配修正参数以及两个或以上的所述匹配值,从所述两个或以上候选第二类对象中选择目标第二类对象的更多内容可以在图4的相关说明中找到。

接下来基于示例,阐述匹配值预测模型fc(hi,rj)以及fm(hi,rj)的训练过程。

示例性的,第一类对象为某平台用户,第二类对象为该平台发放给用户的奖励。可以从平台获取历史数据用于对匹配值预测模型进行训练。当用户接受邀请时,平台会收到一个邀请请求并给该被邀请者一个被邀请奖励,可以定义ωc为这种被邀请请求的集合。当被邀请者使用了该奖励之后,平台会收到一个奖励请求,并给邀请者一个邀请奖励,可以定义ωm是这种奖励请求的集合。由此,可以获得多对第一类对象以及其分配到的第二类对象。同时,可以记录作为被邀请者的第一类对象是否使用了分配给他的奖励,以及观察作为邀请者的第一类对象在收到奖励后,一段时间内邀请的用户人数。在一些实施例中,也可以记录邀请者在第一观察时间段内收到的奖励均值,以及在随后的第二观察时间段内邀请的用户人数,以此作为训练样本。其中,时间段可以是一个星期、一个月等。

在一些实施例中,可以定义fc(hi,rj)的损失函数为:

其中,是正样本的集合,表示用户i使用了分配给他的奖励rj;是负样本的集合,当表示用户i没有使用分配给他的奖励rj。

在一些实施例中,可以定义fc(hi,rj)的损失函数为:

其中,(i,rj)∈ωm表示用户i在第一观察时间段内收到的平均奖励为rj,在之后的第二观察时间段内发出的邀请数量,即标签值为yi。

进一步,可以构造联合损失函数并基于该损失函数调整匹配值预测模型fc(hi,rj)以及fm(hi,rj)的参数,以使所述联合损失函数最小化。

应当注意的是,上述有关流程200的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程200进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。

图3是根据本说明书一些实施例所示获取待匹配的第一类对象的特征信息的示例性流程图。在一些实施例中,流程300可以由特征获取模块610实现。

在一些实施例中,可以利用图数据获取第一类对象的特征信息,基于此,流程300可以包括:

步骤301,获取第一图数据;所述第一图数据包括与所述第一类对象、与所述第一类对象具有关联关系的多个第一类关联对象分别对应的节点,所述第一图数据中节点间的边权信息反映对应对象间的关联关系。

图数据可以包括多个节点和边权,其中,节点可以与对象对应,对象的属性或特征可以看作对应节点的属性或特征,节点之间的边权可以表示两个对应对象之间的关联。根据对象类型的不同,图数据可以是社交图(其中节点与用户对应,节点间的边权表示用户间的社会关系)、设备网络图(其中节点与网络设备对应,节点间的边权表示设备间的通信关系)、转账图(其中节点与用户账户对应,节点间的边权表示用户间的资金流向关系)等。在一些实施例中,第一图数据可以将一个时间段内与第一类对象有关联的第一类关联对象全部或部分添加至第一图数据中,该时间段可以是一个月、半年或一年等。

示例性的,当第一类对象为用户时,可以基于过去一段时间内,一个月内,的邀请关系为该用户构建邻居集合,如为用户i构建邻居集合ni。具体的,邻居集合ni包含用户i,且当用户i在过去一段时间内曾经邀请过用户j或者被用户j邀请过,就可以将用户j加入集合ni。在一些实施例中,可以将与用户i具有非邀请关系以外的用户加入其邻居集合ni,例如,用户j’仅仅是用户i的同事,目前还未发生邀请或被邀请关系,此时,也可以将用户j’加入邻居集合ni。邻居集合ni中,用户i可以看作第一类对象,除用户i以外的用户可以看作是第一类关联对象。进一步,可以基于邻居集合为用户构建第一图数据。邻居集合中的用户与第一图数据中的节点一一对应,第一图数据中的边权反映对应用户间的关联关系,如邀请或被邀请关系。在一些实施例中,第一图数据中的边权还可以反映对应用户间的其他关系,如社会关系、交易关系等。

在一些实施例中,第一类对象与第一类关联对象之间的边权的形式可以包括0或1,以体现有或无,此外边权还可以是0~1之间的数值,以进一步表现关系的强弱,如关系的强弱与转账数额的大小正相关。需要说明的是,在一些实施例中,边权的取值还可以根据实际的应用场景取其他值,如边权可以大于1。在一些实施例中,根据实际的应用场景,边权的取值还可以是负数,如在需要体现邀请方向时,作为示例,如第一类对象邀请了第一类关联对象j,两者间的边权可以为+,相反,两者间的边权可以为-。

步骤302,利用图神经网络处理所述第一图数据,得到所述第一类对象的向量表达。

在一些实施例中,图神经网络可以包括图卷积网络(graphconvolutionnetworks,gcn)、图注意力网络(graphattentionnetworks)、图自编码器(graphautoencoders)、图生成网络(graphgenerativenetworks)中的一个或多个。

以图注意力网络gat为例,图注意力网络是一种基于空间的图卷积网络,它的注意机制是在聚合特征信息时,将注意机制用于确定节点邻域的权重。示例性的,当第一类对象为用户,可以通过h(0)(vi)表示用户i的原始特征,在一些实施例中,原始特征可以包括用户的性别、年龄、消费习惯等,可以将原始特征按照一定方式转换为初始的向量表达并输入图注意力网络。在图注意力网络中,经过图注意力网络卷积处理后,可以将用户i的向量表达表示为h(l)(vi)。图注意力网络中可以包含多层图卷积计算,其中一层图卷积计算可以表示为:

其中,σ(·)是激活函数;在一些实施例中,激活函数可以是sigmoid函数或tanh函数等;vi和vj分别表示节点i以及其邻居节点j节点的特征,如取节点i以及节点j的初始向量表达;w(l)是第l层的可训练参数,l取1、2、…、l,l为大于1的整数;h(l-1)表示第l层的输入,当l取1时,h(0)即为用户i的初始向量表达vi;α(vi,vj)是图卷积核函数,又可以称为注意力函数。可以理解,将第一图数据中各个节点的初始向量表达输入到图注意力网络后,在图注意力网络中经过l层图卷积计算后,可以得到第一类对象的向量表达h(l)(vi)。

在一些实施例中,图卷积核函数可以是以下形式:

式中,d为vi与vj的距离,如欧式距离。

在一些其他实施例中,图卷积核函数还可以是:

公式(8)为无参数训练的图卷积核,公式(9)为参数为w1和w2的图卷积核函数,在实际训练过程中,无参数训练的图卷积核能够实现计算量更低且快速的训练,而含有参数的图卷积核能够更加准确的学习图数据中相邻节点j对节点i的影响度贡献。在一些实施例中,图卷积核函数还可以其他形式,在本说明书中不做限制。上述公式中,节点在各阶段的向量表达同维,如初始向量表达与图注意力网络输出的向量表达同维,a(vi,vj)与节点的向量表达同维,w(l)、w1和w2为方阵,其行或列的维度与节点的向量维度相同。

步骤303,将所述第一类对象的向量表达作为所述第一类对象的特征信息。

在一些实施例中,步骤303得到的经过图神经网络处理后得到的第一类对象的向量h(l)(vi),作为第一类对象的特征信息,可以表示为步骤220中的hi,并在后文中继续沿用该表示方式。

图4是根据本说明书一些实施例所示确定匹配修正参数的示例性流程图。在一些实施例中,流程400可以由匹配修正参数确定系统700实现。

在一些实施例中,步骤230中所获取的匹配修正参数可以通过流程400确定:

步骤401,构建等效目标函数。在一些实施例中,步骤401可以由函数构建单元710实现。

为了便于直观理解,沿用第一类对象为某平台用户,第二类对象为该平台发放给用户的奖励作为示例。当用户接受邀请时,平台会收到一个邀请请求,此时需要确定给该被邀请者被邀请奖励的具体等级或金额大小,可以定义ωc′为这种被邀请请求的集合。当被邀请者使用了该奖励之后,平台会收到一个奖励请求,并需要确定给邀请者邀请奖励的具体等级或金额大小,可以定义ωm′是这种奖励请求的集合。

在一些实施例中,已经预先将奖励金额划分为个等级,对于被邀请者,可以定义离散决策变量具体的,当表示向作为被邀请者的第i个用户发放j等级奖励,进一步的,由于实际平台向用户发送的奖励为1个,因此,增加约束条件这样可以保证针对单一被邀请者有且仅有一个即无论金额如何,用户有且仅有一份奖励。同理,对于邀请者,可以定义离散决策变量同时增加约束条件

至此,前述示例中,确定向用户i发放何种等级或多少金额的奖励的问题转化为求解离散决策变量的过程。

在一些应用场景中,希望各个第一类对象与分配到的第二类对象的匹配合值最大。为此,可以基于各第一类对象与不同第二类对象的匹配值的合值建立目标函数:

式中,为匹配值预测模型,可以预先训练得到,其训练过程可以参见图2的相关说明。

在最大化目标的情况下,需要增加约束条件,可以理解的是,需要在奖励放过程中控制发放的平均成本,发放成本包括被邀请者奖励的成本和邀请者奖励的成本,但在一些实施例中,实际上发放给被邀请者的代金券并不会马上核销,只有核销的部分才会计入成本。进而可以约束条件为平均成本不超设定阈值,其中平均成本可以描述为第一类样本对象使用其第二类对象和/或将邀请发送给其他用户所产生的收益相对将相应的第二类对象分配给第一类样本对象所产生的成本的比值,进一步可以用下式表示:

表示被邀请者全部使用分配到的奖励数量,表示被邀请者全部使用了分配到的奖励后会产生的成本金额;表示向邀请者发放奖励的总数,表示向邀请者发放的奖励总金额。可以理解,约束条件并不是唯一的,可以根据具体的场景需要设置为其他形式。

进而,将问题转化成了在预设约束条件下求解使得目标函数最大化的离散决策变量以及

在一些实施例中,为了便于求解,可以将决策变量转化为连续决策变量,如将决策变量转化为0~1之间的值。具体转化方式可以参考常见离散变量转化为连续变量的方式,如插值法和曲线拟合法等。连续转化后的依然满足各自的约束条件。然后采用拉格朗日乘数法引入对偶变量将目标函数及其约束条件转化为等效目标函数:

由于离散决策变量的约束条件,公式(12)中的最后两个求和项为0,进而等效目标函数可以进一步简化为:

其中,λ为拉格朗日乘子,或称为匹配修正参数。在一些实施例中,可以认为当λ=λ*时,公式(12)或公式(13)存在最优解,此时目标函数最大化且满足预设约束条件。

最终,问题转化为在给定匹配修正参数下求解使得等效目标函数最小化的离散决策变量。此时,可以基于平台在历史一段时间内实际发放出去的奖励确定平台给集合ωc′与集合ωm′中的每个第一类对象,即用户,发放的奖励,进而确定离散决策变量,并求解在已知离散决策变量的前提下,匹配修正参数的最优值。

步骤402,确定多个第一类样本对象及与其具有关联关系的多个第一类关联对象,以及分别分配给各第一类样本对象的第二类对象。在一些实施例中,步骤402可以由对象确定单元720实现。

所述多个第一类样本对象以及分配给各第一类样本对象的第二类对象可以基于集合ωc′与集合ωm′确定。与各第一类样本对象具有关联关系的多个第一类关联对象的确定方式可以参见步骤301,在此不再赘述。

步骤403,获取第二图数据;所述第二图数据包括与多个第一类样本对象、与第一类样本对象具有关联关系的多个第一类关联对象分别对应的节点,所述第二图数据中节点间的边权信息反映对应对象间的关联关系。在一些实施例中,步骤403可以由图数据获取单元730实现。

在一些实施例中,第二图数据的获取方式与步骤301中的第一图数据的获取方式类似,具体可以参见步骤301中相关描述,此处不再赘述。在一些实施例中,可以基于类似步骤301类似的方式为每个第一类样本对象构建一个图数据,即获得多个第二图数据。在一些实施例中,也可以将前述的多个第二图数据进行拼接,得到一个更大的第二图数据。

步骤404,利用图神经网络处理所述第二图数据,得到多个第一类样本对象的向量表达。在一些实施例中,步骤404可以由图数据处理单元740实现。

在一些实施例中,利用图神经网络处理所述第二图数据,得到多个第一类样本对象的向量表达的方式与步骤302类似,具体可以参见步骤302中相关描述,此处不再赘述。

步骤405,基于第一类样本对象的向量表达以及其第二类对象的特征信息确定该第一类样本对象与其第二类对象的匹配值,进而获得各第一类样本对象与其第二类对象的匹配值。在一些实施例中,步骤405可以由匹配值确定单元750实现。

由于集合ωc′与集合ωm′中的每个第一类对象都已经被分配到一个确定的第二类对象,因此,等效目标函数中的离散决策变量是已知的。此时可以利用匹配值预测模型分别计算出各第一类样本对象与其第二类对象的匹配值即可。确定匹配值的方式与步骤220类似,具体可以参见步骤220中相关描述,此处不再赘述。

步骤406,将所述匹配值代入所述等效目标函数,并确定匹配修正参数,所述匹配修正参数能够使得所述等效目标函数在所述匹配值下取得最小值。在一些实施例中,步骤406可以由参数计算单元760实现。

将计算得到的各匹配值代入公式(13),进一步通过l-bfgs算法求解公式(13)获取λ*,l-bfgs算法是一种利用拟牛顿法求解非线性规划问题的算法,其具有收敛速度快、内存开销少等优点,在一些其他实施例中,还可以使用其他算法获取λ*,如梯度下降法或牛顿法等。

在一些实施例中,λ*能够使得所述匹配合值在预设约束条件下(即公式(12))取得最大值,因此,可以将求解得到的λ*直接作为匹配修正参数。

图5是根据本说明书一些实施例所示基于匹配修正参数以及匹配值确定目标第二类对象的示例性流程图。在一些实施例中,流程500可以由分配模块640实现。

继续以前述奖励分配场景为例,平台在实际接收到来自第一类对象(如用户)的分配请求(如被邀请请求或奖励请求)时,可以先参照步骤210以及步骤220确定第一类对象与各候选第二类对象(如奖励集合中的奖励rj,j取1、2、…、)的匹配值。

步骤501,基于匹配修正参数、所述平均分配成本以及两个或以上的所述匹配值,计算得到两个或以上目标分值。

参见图4的相关说明,可以知晓分配问题可以等效为求解使得公式(13)最小化的离散决策变量,其中,匹配修正参数λ*、平均分配成本b为已知,具体的,最小化公式(13)问题又可以转化为对于给定的第一类对象(如用户i),从多个候选第二类对象中选出使得最小的作为目标第二类对象。实际场景中,可以将匹配修正参数、平均分配成本以及匹配值分别代入得到目标分值。当第一类对象为被邀请者时,使用计算目标分值,当第一类对象为邀请者时,使用计算目标分值。进而,可以获得两个或以上目标分值。

步骤502,将所述两个或以上目标分值的最小值对应的候选第二类对象确定为所述目标第二类对象。

具体可以表示为:

作为示例,当第一类对象为被邀请者时,如果向其分配第j个奖励时,目标分值取最小值,即平台为该用户分配奖励rl;当第一类对象为被邀请者时,如果向其分配第j个奖励时,目标分值取最小值,平台则为该用户分配奖励rl。平台可以基于此向用户发放不同的奖励,以实现在约束条件下的匹配合值最大。当平台执行一段时间的奖励策略后,可以基于已有的奖励分配历史数据重新执行流程400,以更新匹配修正参数,能够实现匹配修正参数的迭代更新,使其更接近最优值,进而使得平台的奖励发放策略得到优化。

应当注意的是,上述有关流程300~流程500的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对上述步骤进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。

图6是根据本说明书一些实施例所示的对象分配系统的模块化示意图。

如图6所示对象分配系统600包括特征获取模块610、匹配值确定模块620、参数获取模块630和分配模块640。

特征获取模块610,用于获取待匹配的第一类对象的特征信息。

关于第一类对象的特征信息的相关描述,可以在本说明书的其他地方(如步骤210、流程300及其相关描述中)找到,在此不再赘述。

匹配值确定模块620,用于基于所述第一类对象的特征信息以及两个或以上候选第二类对象的特征信息,确定所述第一类对象分别与两个或以上候选第二类对象的匹配值。

关于候选第二类对象以及匹配值的相关描述,可以在本说明书的其他地方(如步骤220及其相关描述中)找到,在此不再赘述。

参数获取模块630,用于获取匹配修正参数。

关于匹配修正参数的相关描述,可以在本说明书的其他地方(如步骤230、流程400及其相关描述中)找到,在此不再赘述。

分配模块640,用于至少基于匹配修正参数以及两个或以上的所述匹配值,从所述两个或以上候选第二类对象中选择目标第二类对象,并分配给所述第一类对象。

关于目标第二类对象的相关描述,可以在本说明书的其他地方(如步骤240及流程500的相关描述中)找到,在此不再赘述。

图7是根据本说明书一些实施例所示的匹配修正参数确定系统的模块化示意图。

如图7所示匹配修正参数确定系统700包括函数构建单元710、对象确定单元720、图数据获取单元730、图数据处理单元740、匹配值确定单元750和参数计算单元760。

函数构建单元710,用于构建等效目标函数;最小化所述等效目标函数等效于在预设约束条件下使得匹配合值最大化,所述匹配合值等于给定多个第一类对象及其匹配的第二对象时,各第一类样本对象分别与其匹配的第二类对象的匹配值的合值;所述等效目标函数与所述匹配修正参数以及给定的多个第一类对象与其匹配的第二对象的匹配值相关。

关于等效目标函数的相关描述,可以在本说明书的其他地方(如步骤401及其相关描述中)找到,在此不再赘述。

对象确定单元720,用于确定多个第一类样本对象及与其具有关联关系的多个第一类关联对象,以及分别分配给各第一类样本对象的第二类对象。

关于第一类关联对象以及第二类对象的相关描述,可以在本说明书的其他地方(如步骤402及其相关描述中)找到,在此不再赘述。

图数据获取单元730,用于获取第二图数据;所述第二图数据包括与多个第一类样本对象、与第一类样本对象具有关联关系的多个第一类关联对象分别对应的节点,所述第二图数据中节点间的边权信息反映对应对象间的关联关系。

关于第二图数据的相关描述,可以在本说明书的其他地方(如步骤403及其相关描述中)找到,在此不再赘述。

图数据处理单元740,用于利用图神经网络处理所述第二图数据,得到多个第一类样本对象的向量表达。

关于第一类样本对象的向量表达的相关描述,可以在本说明书的其他地方(如步骤404及其相关描述中)找到,在此不再赘述。

匹配值确定单元750,用于基于第一类样本对象的向量表达以及其第二类对象的特征信息确定该第一类样本对象与其第二类对象的匹配值,进而获得各第一类样本对象与其第二类对象的匹配值。

关于匹配值的相关描述,可以在本说明书的其他地方(如步骤405及其相关描述中)找到,在此不再赘述。

参数计算单元760,用于将所述匹配值代入所述等效目标函数,并确定匹配修正参数,所述匹配修正参数能够使得所述等效目标函数在所述匹配值下取得最小值。

关于确定匹配修正参数的相关描述,可以在本说明书的其他地方(如步骤406及其相关描述中)找到,在此不再赘述。

应当理解,图6、图7所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,装置及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行装置,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和装置可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、cd或dvd-rom的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的装置及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。

需要注意的是,以上对于候选项显示、确定系统及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。

本说明书实施例可能带来的有益效果包括但不限于:(1)通过匹配修正参数,能够基于样本数据在具有约束条件的情况下选择更加适合第一类对象的目标第二类对象;(2)利用图神经网络处理图数据进而对第一类对象进行特征抽取,能够充分考虑第一类对象与其关联对象之间的关系,对第一类对象刻画更加精准,进而基于此获得的匹配值预测模型也更加准确;(3)当第一类对象中包含不同性质且又有关联关系的多类对象时,本说明书提出的方法能够基于不同类别对象间的关联关系进行建模,使得分配方式更加合理;(4)能够通过更新的样本数据,实时获取更加准确的匹配修正参数,进而优化分配策略。

需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。

上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。

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

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

同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。

一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。

针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。

最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。

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