一种信息推荐的方法及装置与流程

文档序号:26142162发布日期:2021-08-03 14:26阅读:68来源:国知局
一种信息推荐的方法及装置与流程

本说明书涉及机器学习技术领域,尤其涉及一种信息推荐的方法及装置。



背景技术:

随着信息技术的不断发展,用户可以在业务平台执行多种业务,相应的,业务平台可以向用户推荐多种业务下的业务对象,例如,在外卖业务中,业务平台可以向用户推荐外卖餐品,在消费点评业务中,业务平台可以向用户推荐用户所在地区的商家,以及商家下的餐品。

在实际应用中,对一项业务进行信息推荐时,往往仅通过用户在这一项业务中的历史行为,来确定向用户推荐哪些该业务中的业务对象,以及确定向用户推荐的该业务中的业务对象的顺序,通过这样的方式来进行信息推荐,没有考虑到用户在业务平台中的整体行为,因此,通过这样的方式来进行信息推荐可能会较为不准确。

因此,如何准确地向用户进行信息推荐,则是一个亟待解决的问题。



技术实现要素:

本说明书提供一种信息推荐的方法及装置,以部分地解决现有技术存在的上述问题。

本说明书采用下述技术方案:

本说明书提供了一种信息推荐的方法,包括:

响应于用户的业务请求,获取预设的业务拓扑图,以及确定针对所述业务请求的各候选推荐业务对象,所述业务拓扑图是根据至少两种业务的历史业务记录构建出的,所述业务拓扑图中包含有各用户节点以及各业务对象节点,其中,若一个用户在历史上执行过一个业务对象对应的业务,在所述业务拓扑图中该用户对应的用户节点与该业务对象对应的业务对象节点相连;

针对每个候选推荐业务对象,将该候选推荐业务对象以及所述用户的用户信息输入到预先训练的特征提取模型中,以使所述特征提取模型基于所述业务拓扑图,确定出该候选推荐业务对象对应的特征向量以及所述用户对应的特征向量;

将所述用户对应的特征向量以及该候选推荐业务对象对应的特征向量,输入到预先训练的预测模型中,得到该候选推荐业务对象对应的推荐度;

根据所述各候选推荐业务对象对应的推荐度,对所述用户进行信息推荐。

可选地,将该候选推荐业务对象以及所述用户的用户信息输入到预先训练的特征提取模型中,以使所述特征提取模型基于所述业务拓扑图,确定出该候选推荐业务对象对应的特征向量以及所述用户对应的特征向量,具体包括:

将该候选推荐业务对象对应的业务属性信息以及所述用户的用户信息输入到所述特征提取模型中,以使所述特征提取模型从所述业务拓扑图中确定出该候选推荐业务对象对应的业务对象节点,以及所述用户对应的用户节点,并将该候选推荐业务对象对应的业务对象节点,以及所述用户对应的用户节点,分别作为目标节点;

针对每个目标节点,通过所述特征提取模型,确定该目标节点作为所述业务拓扑图的中心时,该目标节点在所述业务拓扑图中的局部拓扑图,并根据所述局部拓扑图,确定该目标节点在所述业务拓扑图中对应的节点特征向量。

可选地,根据所述局部拓扑图,确定该目标节点在所述业务拓扑图中对应的节点特征向量,具体包括:

确定该目标节点在所述局部拓扑图中不超过设定邻接关系的各其他节点;

通过所述特征提取模型,确定该目标节点对应的初始特征向量,以及所述各其他节点对应的初始特征向量;

将所述各其他节点对应的初始特征向量进行聚合,确定所述各其他节点对应的聚合特征向量;

根据该目标节点对应的初始特征向量以及所述聚合特征向量,确定该目标节点在所述业务拓扑图中对应的节点特征向量。

可选地,将所述各其他节点对应的初始特征向量进行聚合,确定所述各其他节点对应的聚合特征向量,具体包括:

从所述各其他节点中确定出在所述业务拓扑图中与该目标节点具有一阶邻接关系的一阶邻接节点;

根据该目标节点对应的初始特征向量以及所述一阶邻接节点对应的初始特征向量,确定该目标节点与所述一阶邻接节点之间的注意力权重,所述一阶邻接节点对应的初始特征向量是根据所述各其他节点中与所述一阶邻接节点具有一阶邻接关系的节点对应的初始特征向量确定出的;

根据该目标节点与所述一阶邻接节点之间的注意力权重,以及所述一阶邻接节点对应的初始特征向量,确定所述聚合特征向量。

可选地,根据所述各其他节点中与所述一阶邻接节点具有一阶邻接关系的节点对应的初始特征向量,确定所述一阶邻接节点对应的初始特征向量,具体包括:

根据所述各其他节点中与所述一阶邻接节点具有一阶邻接关系的节点对应的初始特征向量,确定所述一阶邻接节点对应的基础特征向量;

将所述基础特征向量输入到所述特征提取模型中包含的全连接层,得到所述一阶邻接节点对应的初始特征向量。

可选地,根据该目标节点对应的初始特征向量以及所述一阶邻接节点对应的初始特征向量,确定该目标节点与所述一阶邻接节点之间的注意力权重,具体包括:

确定针对注意力权重的迭代次数;

针对第n次迭代,根据第n-1次确定出的该目标节点与所述一阶邻接节点之间的注意力权重,以及所述一阶邻接节点对应的初始特征向量,确定该目标节点在所述第n-1次迭代中对应的初始特征向量;

根据该目标节点在所述第n-1次迭代中对应的初始特征向量,以及所述一阶邻接节点对应的初始特征向量,确定在所述第n次迭代中该目标节点与所述一阶邻接节点之间的注意力权重,并根据所述第n次迭代中该目标节点与所述一阶邻接节点之间的注意力权重,以及所述一阶邻接节点对应的初始特征向量,确定在第n+1次迭代中该目标节点与所述一阶邻接节点之间的注意力权重,直到到达所述迭代次数为止,n为正整数。

可选地,训练所述特征提取模型以及所述预测模型,具体包括:

获取训练样本,并确定所述预测模型对应的至少一个关联预测模型,所述预测模型对应的第一业务与所述至少一个关联预测模型对应的第二业务之间存在业务关联,所述训练样本中包含样本用户信息、第一历史业务记录以及第二历史业务记录,所述第一历史业务记录为所述样本用户信息对应的用户在历史上执行针对所述第一历史业务对象的第一业务的历史业务记录,所述第二历史业务记录为所述样本用户信息对应的用户在历史上执行针对所述第二历史业务对象的第二业务的历史业务记录;

将所述样本用户信息、所述第一历史业务对象以及所述第二历史业务对象输入到待训练的特征提取模型中,以使所述特征提取模型基于所述业务拓扑图,确定所述样本用户信息对应的特征向量,所述第一历史业务对象对应的特征向量以及所述第二历史业务对象对应的特征向量;

将所述样本用户信息对应的特征向量和所述第一历史业务对象对应的特征向量输入到所述预测模型中,得到所述第一历史业务对象对应的预测推荐度,以及将所述样本用户信息对应的特征向量和所述第二历史业务对象对应的特征向量输入到所述至少一个关联预测模型中,得到所述第二历史业务对象对应的预测推荐度;

以最小化所述第一历史业务对象对应的预测推荐度与所述第一历史业务记录之间的偏差,以及最小化所述第二历史业务对象对应的预测推荐度与所述第二历史业务记录之间的偏差为优化目标,对所述特征提取模型、所述预测模型以及所述至少一个关联预测模型进行联合训练。

本说明书提供了一种信息推荐的装置,包括:

响应模块,用于响应于用户的业务请求,获取预设的业务拓扑图,以及确定针对所述业务请求的各候选推荐业务对象,所述业务拓扑图是根据至少两种业务的历史业务记录构建出的,所述业务拓扑图中包含有各用户节点以及各业务对象节点,其中,若一个用户在历史上执行过一个业务对象对应的业务,在所述业务拓扑图中该用户对应的用户节点与该业务对象对应的业务对象节点相连;

输入模块,用于针对每个候选推荐业务对象,将该候选推荐业务对象以及所述用户的用户信息输入到预先训练的特征提取模型中,以使所述特征提取模型基于所述业务拓扑图,确定出该候选推荐业务对象对应的特征向量以及所述用户对应的特征向量;

预测模块,用于将所述用户对应的特征向量以及该候选推荐业务对象对应的特征向量,输入到预先训练的预测模型中,得到该候选推荐业务对象对应的推荐度;

推荐模块,用于根据所述各候选推荐业务对象对应的推荐度,对所述用户进行信息推荐。

本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述信息推荐的方法。

本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述信息推荐的方法。

本说明书采用的上述至少一个技术方案能够达到以下有益效果:

在本说明书提供的信息推荐的方法及装置中,响应于用户的业务请求,获取预设的业务拓扑图,以及确定针对该业务请求的各候选推荐业务对象,而后,针对每个候选推荐业务对象,将该候选推荐业务对象以及该用户的用户信息输入到预先训练的特征提取模型中,以使该特征提取模型基于该业务拓扑图,确定出该候选推荐业务对象对应的特征向量以及用户对应的特征向量,并将用户对应的特征向量以及该候选推荐业务对象对应的特征向量,输入到预先训练的预测模型中,得到该候选推荐业务对象对应的推荐度,以及根据各候选推荐业务对象对应的推荐度,对用户进行信息推荐。

从上述方法中可以看出,本方法可以通过拓扑图的方式,表示出业务平台中的各用户在各种业务中进行执行的记录,并且,在需要向用户进行信息推荐时,通过构建出的业务拓扑图,确定出表示用户以及候选推荐业务对象的特征向量,从而使得在进行信息推荐时,既能够参考在候选推荐业务对象对应业务中的相关信息,也能够参考在其他业务下的相关信息,从而相比于现有技术,能够更准确地向用户进行信息推荐。

附图说明

此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:

图1为本说明书中一种信息推荐的方法的流程示意图;

图2为本说明书提供的一种业务拓扑图的示意图;

图3为本说明书提供的一种确定聚合特征向量的示意图;

图4为本说明书提供的一种信息推荐的装置的示意图;

图5为本说明书提供的对应于图1的电子设备示意图。

具体实施方式

为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。

以下结合附图,详细说明本说明书各实施例提供的技术方案。

图1为本说明书中一种信息推荐的方法的流程示意图,具体包括以下步骤:

s101:响应于用户的业务请求,获取预设的业务拓扑图,以及确定针对所述业务请求的各候选推荐业务对象,所述业务拓扑图是根据至少两种业务的历史业务记录构建出的,所述业务拓扑图中包含有各用户节点以及各业务对象节点,其中,若一个用户在历史上执行过一个业务对象对应的业务,在所述业务拓扑图中该用户对应的用户节点与该业务对象对应的业务对象节点相连。

在实际应用中,业务平台可以向用户提供多种业务,相应的,在每种业务中,业务平台可以向用户推荐在该业务下的业务对象,例如,在外卖业务中,业务平台可以向用户推荐外卖餐品,外卖餐品即可以是指在外卖业务中的业务对象,再例如,在消费点评业务中,业务平台可以向用户推荐餐厅,餐厅既可以是指消费点评业务中的业务对象。

很多业务在实际生活中存在一定的关联,上述两个例子中,一个用户的口味习惯、生活地区等信息,能够在上述两个业务场景中均体现出来,因此,在一项业务中进行信息推荐时,若能够结合用户在其他业务中的业务行为,则可以更准确地在这项业务中进行信息推荐。

基于此,在本说明书中提供的信息推荐的方法,即可以是参考了各用户在多项业务中的业务行为,来针对一项业务进行信息推荐的,具体的,业务平台在响应于用户的业务请求后,可以获取预设的业务拓扑图,以及确定针对该业务请求的各候选推荐业务对象。这里提到的业务请求,可以是指用户在需要查看业务平台的某个业务下推荐的业务对象时通过终端向业务平台发送的业务请求。因此,业务平台确定出的针对该业务请求的各候选推荐业务对象可以是一类业务下的业务对象,即该业务请求对应的业务中的业务对象。

这里提到的业务拓扑图可以根据至少两种业务的历史业务记录构建出,该该业务拓扑图中包含有各用户节点以及各业务对象节点,其中,若一个用户在历史上执行过一个业务对象对应的业务,在该业务拓扑图中该用户对应的用户节点与该业务对象对应的业务对象节点相连,下面对业务拓扑图进行举例说明,如图2所示。

图2为本说明书提供的一种业务拓扑图的示意图。

在图2中的业务拓扑图中,能表示出用户1以及用户2在业务a、业务b以及业务c中的历史业务记录,可以看出,用户1分别执行过业务b下的业务对象e、业务a下的业务对象c以及业务c下的业务对象d所对应的业务,用户2执行过业务a下的业务对象a、业务c下的业务对象b和业务对象d所对应的业务。通过该业务拓扑图,能够清楚、直接地将各用户在多个业务下进行执行的记录进行表示。

s102:针对每个候选推荐业务对象,将该候选推荐业务对象以及所述用户的用户信息输入到预先训练的特征提取模型中,以使所述特征提取模型基于所述业务拓扑图,确定出该候选推荐业务对象对应的特征向量以及所述用户对应的特征向量。

业务平台确定出各候选推荐业务对象后,可以针对每个候选推荐业务对象,将该候选推荐业务对象以及该用户对应的用户信息输入到预先训练的特征提取模型中,以使该特征提取模型基于该业务拓扑图,确定出该候选推荐业务对象对应的特征向量以及该用户对应的特征向量。

也就是说,特征提取模型可以根据业务拓扑图中的该候选推荐业务对象对应的业务对象节点,确定出该候选推荐业务对象对应的特征向量,以及根据该用户对应的用户节点,确定出该用户对应的特征向量。这里提到的该候选推荐业务对象对应的特征向量能够表征在上述至少两种业务中该候选推荐业务对象的特点,该用户对应的特征向量也能够表征在上述至少两种业务中该用户的行为特点。

具体的,业务平台可以将该候选推荐业务对象对应的业务属性信息以及该用户的用户信息输入到特征提取模型中,该特征提取模型可以从业务拓扑图中确定出该候选推荐业务对象对应的业务对象节点,以及用户对应的用户节点,并将该候选推荐业务对象对应的业务对象节点,以及用户对应的用户节点,分别作为目标节点,以及,针对每个目标节点,通过特征提取模型,确定该目标节点作为业务拓扑图的中心时,该目标节点在业务拓扑图中的局部拓扑图,并根据该局部拓扑图,确定该目标节点在业务拓扑图中对应的节点特征向量。

这里提到的目标节点作为业务拓扑图的中心时,该目标节点在业务拓扑图中的局部拓扑图,可以是指在该业务拓扑图内以该目标节点为中心划定出的一定范围的局部拓扑图,通过该局部拓扑图,确定出的该目标节点对应的节点特征向量,可以表征出以该目标节点为中心的局部拓扑图的拓扑结构。

其中,通过局部拓扑图,确定目标节点对应的节点特征向量的方式可以有多种,例如,业务平台可以确定该目标节点在该局部拓扑图中不超过设定邻接关系的各其他节点,并通过该特征提取模型,确定该目标节点对应的初始特征向量,以及各其他节点对应的初始特征向量,将各其他节点对应的初始特征向量进行聚合,确定各其他节点对应的聚合特征向量,根据该目标节点对应的初始特征向量以及聚合特征向量,确定该目标节点在业务拓扑图中对应的节点特征向量。

这里提到的设定邻接关系可以根据实际需求进行设定。例如,若该设定邻接关系设为一阶邻接关系,则各其他节点为与该目标节点直接相连的那些节点,而若将该设定邻接关系设定为二阶邻接关系,则各其他节点为与该节点具有一阶邻接关系以及二阶邻接关系的节点。若将该设定邻接关系被设定为较大的邻接关系,则其他节点的数量也可能会较多。

上述提到的各其他节点对应的初始特征向量,是每个其他节点均对应有一个初始特征向量,而通过每个其他节点对应的初始特征向量,所聚合出的各其他节点对应的聚合特征向量,仅是唯一的一个特征向量。

该目标节点对应的初始特征向量,可以是指在上一次确定出的该目标节点的特征向量,也就是说,对于该目标节点来说,该目标节点对应的初始特征向量可以是业务平台在之前需要进行信息推荐时,针对该目标节点进行计算的最后一次的特征向量。而在刚开始训练特征提取模型时,该目标节点的特征向量可以进行随机的初始化。

根据各其他节点对应的初始特征向量,确定出上述聚合特征向量的方式可以有多种。例如,业务平台可以直接通过预设的聚合函数,将各其他节点对应的初始特征向量进行聚合,得到聚合特征向量。再例如,业务平台可以从不超过设定邻接关系的各其他节点中,从与该目标节点之间具有最多的邻接关系的节点开始,依次通过上述预设的聚合函数进行聚合,得到在每一层中的其他节点的初始特征向量,从而得到该聚合特征向量,这里指的每一层的其他节点是与该目标节点具有相同邻接关系的节点,如图3所示。

图3为本说明书提供的一种确定聚合特征向量的示意图。

在图3中,节点b、c、d、e、f、g为由节点a为中心的局部拓扑图中与该节点a之间不超过2阶邻接关系的其他节点,假设节点a为目标节点,可以根据该局部拓扑图来确定节点a对应的特征向量,首先,确定出节点f、节点g对应的初始特征向量,以及节点d和节点e对应的初始特征向量,将节点f与节点g对应的初始特征向量进行聚合,得到该节点f与节点g对应的聚合特征向量,再通过该节点f与节点g对应的聚合特征向量,确定出节点b对应的初始特征向量,确定节点c的初始特征向量的方式与节点b类似。通过节点b以及节点c对应的初始特征向量,可以确定出聚合特征向量,通过该聚合特征向量以及节点a对应的初始特征向量,可以确定出节点a对应的节点特征向量。当然,在这一例子中,仅是以其他节点为与该目标节点之间不超过二阶邻接关系的节点进行举例,在实际应用中,设定邻接关系可以进行其他的设定。

可以看出,目标节点的一阶邻接节点对应的初始特征向量是根据各其他节点中与该一阶邻接节点具有一阶邻接关系的节点对应的初始特征向量确定出的。其中,可以根据各其他节点中与该一阶邻接节点具有一阶邻接关系的节点对应的初始特征向量,确定该一阶邻接节点对应的基础特征向量,并将基础特征向量输入到特征提取模型中包含的全连接层,得到一阶邻接节点对应的初始特征向量。

具体的,可以先对该一阶邻接节点具有一阶邻接关系的节点对应的初始特征向量进行聚合,得到聚合后的特征向量,再根据聚合后的特征向量与上一次计算出的该一阶邻接节点的初始特征向量,确定出该一阶邻接节点对应的基础特征向量,再对该基础特征向量进行全连接变换,得到这一次一阶邻接节点对应的初始特征向量。不管是一阶邻接节点,还是目标节点,之所以会有上一次确定出的初始特征向量,是因为在实际应用中,对于同一个节点来说,可能会在信息推荐时多次使用该节点来计算用户或是业务对象对应的特征向量。

而在确定出节点a对应的节点特征向量时,也可以将节点b以及节点c的初始特征向量按照预设的聚合函数进行聚合,得到各其他节点对应的聚合特征向量,再根据该聚合特征向量与该节点a的初始特征向量,得到节点a对应的节点特征向量。节点a对应的节点特征向量具体可以通过以下公式进行计算:

ov=max(v)

g=relu(w×concat(q,ov)+w)

其中,v为各一阶邻接节点对应的初始特征向量,ov为将v进行聚合后所得到的聚合特征向量,g为该目标节点对应的节点特征向量,w以及w为特征提取模型中的模型参数,max(v)指的是通过最大池化的聚合函数来对各一阶邻接节点对应的初始特征向量进行聚合,当然也可以选取其他聚合函数。

从上述内容中可以看出,在最终确定聚合特征向量时,需要该目标节点的每个一阶邻接节点对应的初始特征向量来确定,而,该目标节点对应的每个一阶邻接节点相对于该目标节点的重要程度可能是不同的。

因此,特征提取模型在确定聚合特征向量时,可以从各其他节点中确定出在业务拓扑图中与该目标节点具有一阶邻接关系的每个一阶邻接节点,并根据该目标节点对应的初始特征向量以及每个一阶邻接节点对应的初始特征向量,确定出该目标节点与每个一阶邻接节点之间的注意力权重,最后,根据该目标节点与每个一阶邻接节点之间的注意力权重,以及每个一阶邻接节点对应的初始特征向量,可以确定出该聚合特征向量。

该目标节点与该一阶邻接节点之间的注意力权重能够表示出该一阶邻接节点相对于该目标节点的重要性。也就是说,在对各一阶邻接节点进行聚合时,不需要通过上述聚合函数来进行聚合,而是可以通过各一阶邻接节点与该目标节点之间的注意力权重,来对各一阶邻接节点对应的初始特征向量进行加权求和,得到该聚合特征向量。

在本说明书中,确定注意力权重的方式也可以有多种,除了直接针对该目标节点对应的初始特征向量与每个一阶邻接节点对应的初始特征向量之间进行注意力权重的计算,从而得到各一阶邻接节点与该目标节点之间的注意力权重的方式之外,特征提取模型也可以针对该目标节点进行多次的注意力权重的计算,并通过最后一次确定出的注意力权重,来计算聚合特征向量,从而使得确定出的每个一阶邻接节点对应的注意力权重,能够更加准确。

具体的,特征提取模型可以确定出针对注意力权重的迭代次数,并针对第n次迭代,根据第n-1次确定出的该目标节点与各一阶邻接节点之间的注意力权重,以及一阶邻接节点对应的初始特征向量,确定该目标节点在第n-1次迭代中对应的初始特征向量,根据该目标节点在第n-1次迭代中对应的初始特征向量,以及一阶邻接节点对应的初始特征向量,确定在第n次迭代中该目标节点与一阶邻接节点之间的注意力权重,并根据第n次迭代中该目标节点与一阶邻接节点之间的注意力权重,以及一阶邻接节点对应的初始特征向量,确定在第n+1次迭代中该目标节点与一阶邻接节点之间的注意力权重,直到达迭代次数为止,n为正整数。

也就是说,在每一次确定各一阶邻接节点与该目标节点之间的注意力权重的时候,可以通过上一次确定出的注意力权重,对每个一阶邻接节点进行加权求和,并根据加权求和得到的结果对该目标节点对应的初始特征向量进行更新,得到这一次迭代中该目标节点对应的初始特征向量,通过这一次迭代中的该目标节点对应的初始特征向量,可以确定出这一次迭代中各一阶邻接节点与该目标节点之间的注意力权重,最终,取预先设定的针对注意力权重的迭代次数下确定出的注意力权重,来对聚合特征向量进行计算。

若计算一次迭代中各一阶邻接节点与该目标节点之间的注意力权重,具体可以通过以下公式进行计算:

ok=kαn-1

gn=r(gn-1+ok)

上述公式中k可以是指一阶邻接节点对应的初始特征向量,αn-1为上一次迭代中确定出的各一阶邻接节点与该目标节点之间的注意力权重,gn-1为上一次迭代中确定出的该目标节点对应的初始特征向量,gn为这一次迭代中更新得到的该目标节点对应的初始特征向量,r也是特征提取模型中的一项模型参数,通过gn与k可以确定出此次迭代中的注意力权重αn。当然,k也可以是指经过全连接层前的一阶邻接节点对应的基础特征向量,通过该基础特征向量与gn来确定注意力权重。

s103:将所述用户对应的特征向量以及该候选推荐业务对象对应的特征向量,输入到预先训练的预测模型中,得到该候选推荐业务对象对应的推荐度。

s104:根据所述各候选推荐业务对象对应的推荐度,对所述用户进行信息推荐。

业务平台通过上述特征提取模型确定出该用户对应的特征向量、该候选推荐业务对象对应的特征向量后,可以将该用户对应的特征向量、该候选推荐业务对象对应的特征向量输入到预先训练的预测模型中,得到该候选推荐业务对象对应的推荐度,业务平台可以根据各候选推荐业务对象对应的推荐度,对该用户进行信息推荐。

这里提到该候选推荐业务对象对应的推荐度,可以用于表征预测模型所预测出的向该用户推荐该候选推荐业务对象,该用户对该候选推荐业务对象所感兴趣的程度。因此,若该候选推荐业务对象对应的推荐度越高,业务平台越可能将该候选推荐业务对象推荐给该用户。

需要说明的是,本说明书中的预测模型以及特征提取模型需要进行预先的有监督训练。具体的,业务平台可以获取训练样本,并确定该预测模型对应的至少一个关联预测模型,该预测模型对应的第一业务以及至少一个关联预测模型对应的第二业务之间存在业务关联,也就是说,每个关联预测模型可以对应一个第二业务,该关联预测模型对应的第二业务可以与该第一业务之间存在某种联系,例如,该关联预测模型对应的第二业务可以是指外卖业务、该第一业务可以是指消费点评业务,这两个业务均涉及餐饮,因此具备一定的业务关联。当然,业务关联也可以并不是指在业务上有相似之处,只要是业务平台中所提供的业务,即可以是与第一业务存在业务关联的第二业务。

其中,上述训练样本中包含样本用户信息、第一历史业务记录以及第二历史业务记录,该第一历史业务记录为该样本用户信息对应的用户在历史上执行针对所述第一历史业务对象的第一业务的历史业务记录,该第二历史业务记录为该样本用户信息对应的用户在历史上执行针对该第二历史业务对象的第二业务的历史业务记录。

业务平台可以将该样本用户信息、第一历史业务对象以及第二历史业务对象输入到待训练的特征提取模型中,以使特征提取模型基于业务拓扑图,确定样本用户信息对应的特征向量,第一历史业务对象对应的特征向量以及第二历史业务对象对应的特征向量,并将样本用户信息对应的特征向量和第一历史业务对象对应的特征向量输入到预测模型中,得到第一历史业务对象对应的预测推荐度。

而后,将样本用户信息对应的特征向量和第二历史业务对象对应的特征向量输入到至少一个关联预测模型中,得到第二历史业务对象对应的预测推荐度,最后,业务平台可以将最小化第一历史业务对象对应的预测推荐度与第一历史业务记录之间的偏差,以及最小化第二历史业务对象对应的预测推荐度与第二历史业务记录之间的偏差作为优化目标,对特征提取模型、预测模型以及至少一个关联预测模型进行联合训练。

需要说明的是,样本用户信息中可以包含不同用户的样本信息、也可以仅包含相同用户的样本信息,若样本用户信息中包含不同用户的样本信息,则需要预测模型以及每个关联预测模型需要对应一个用户的样本信息,并且,第一历史业务记录对应输入到预测模型中的用户的样本信息,第二历史业务记录对应输入到关联预测模型中的用户的样本信息。其中,第一历史业务记录以及第二历史记录可以表示用户是否执行了业务对象所对应的业务,也可以表示在将业务对象推荐给用户后,该用户是否针对该业务对象的链接进行点击等,具体可以根据实际需求确定出所需的历史业务记录。

从上述方法中可以看出,业务平台可以通过拓扑图的方式,表示出业务平台中的各用户在各种业务中进行执行的记录,并且,在需要向用户进行信息推荐时,通过构建出的业务拓扑图,确定出表示用户以及候选推荐业务对象的特征向量,从而使得在进行信息推荐时,既能够参考在候选推荐业务对象对应业务中的相关信息,也能够参考在其他业务下的相关信息,从而相比于现有技术,能够更准确地向用户进行信息推荐。

以上为本说明书的一个或多个实施例提供的信息推荐的方法,基于同样的思路,本说明书还提供了相应的信息推荐的装置,如图4所示。

图4为本说明书提供的一种信息推荐的装置的示意图,具体包括:

响应模块401,用于响应于用户的业务请求,获取预设的业务拓扑图,以及确定针对所述业务请求的各候选推荐业务对象,所述业务拓扑图是根据至少两种业务的历史业务记录构建出的,所述业务拓扑图中包含有各用户节点以及各业务对象节点,其中,若一个用户在历史上执行过一个业务对象对应的业务,在所述业务拓扑图中该用户对应的用户节点与该业务对象对应的业务对象节点相连;

输入模块402,用于针对每个候选推荐业务对象,将该候选推荐业务对象以及所述用户的用户信息输入到预先训练的特征提取模型中,以使所述特征提取模型基于所述业务拓扑图,确定出该候选推荐业务对象对应的特征向量以及所述用户对应的特征向量;

预测模块403,用于将所述用户对应的特征向量以及该候选推荐业务对象对应的特征向量,输入到预先训练的预测模型中,得到该候选推荐业务对象对应的推荐度;

推荐模块404,用于根据所述各候选推荐业务对象对应的推荐度,对所述用户进行信息推荐。

可选地,所述输入模块402具体用于,将该候选推荐业务对象对应的业务属性信息以及所述用户的用户信息输入到所述特征提取模型中,以使所述特征提取模型从所述业务拓扑图中确定出该候选推荐业务对象对应的业务对象节点,以及所述用户对应的用户节点,并将该候选推荐业务对象对应的业务对象节点,以及所述用户对应的用户节点,分别作为目标节点;针对每个目标节点,通过所述特征提取模型,确定该目标节点作为所述业务拓扑图的中心时,该目标节点在所述业务拓扑图中的局部拓扑图,并根据所述局部拓扑图,确定该目标节点在所述业务拓扑图中对应的节点特征向量。

可选地,所述输入模块402具体用于,确定该目标节点在所述局部拓扑图中不超过设定邻接关系的各其他节点;通过所述特征提取模型,确定该目标节点对应的初始特征向量,以及所述各其他节点对应的初始特征向量;将所述各其他节点对应的初始特征向量进行聚合,确定所述各其他节点对应的聚合特征向量;根据该目标节点对应的初始特征向量以及所述聚合特征向量,确定该目标节点在所述业务拓扑图中对应的节点特征向量。

可选地,所述输入模块402具体用于,从所述各其他节点中确定出在所述业务拓扑图中与该目标节点具有一阶邻接关系的一阶邻接节点;根据该目标节点对应的初始特征向量以及所述一阶邻接节点对应的初始特征向量,确定该目标节点与所述一阶邻接节点之间的注意力权重,所述一阶邻接节点对应的初始特征向量是根据所述各其他节点中与所述一阶邻接节点具有一阶邻接关系的节点对应的初始特征向量确定出的;根据该目标节点与所述一阶邻接节点之间的注意力权重,以及所述一阶邻接节点对应的初始特征向量,确定所述聚合特征向量。

可选地,所述输入模块402具体用于,根据所述各其他节点中与所述一阶邻接节点具有一阶邻接关系的节点对应的初始特征向量,确定所述一阶邻接节点对应的基础特征向量;将所述基础特征向量输入到所述特征提取模型中包含的全连接层,得到所述一阶邻接节点对应的初始特征向量。

可选地,所述输入模块402具体用于,确定针对注意力权重的迭代次数;

针对第n次迭代,根据第n-1次确定出的该目标节点与所述一阶邻接节点之间的注意力权重,以及所述一阶邻接节点对应的初始特征向量,确定该目标节点在所述第n-1次迭代中对应的初始特征向量;根据该目标节点在所述第n-1次迭代中对应的初始特征向量,以及所述一阶邻接节点对应的初始特征向量,确定在所述第n次迭代中该目标节点与所述一阶邻接节点之间的注意力权重,并根据所述第n次迭代中该目标节点与所述一阶邻接节点之间的注意力权重,以及所述一阶邻接节点对应的初始特征向量,确定在第n+1次迭代中该目标节点与所述一阶邻接节点之间的注意力权重,直到到达所述迭代次数为止,n为正整数。

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

训练模块405,用于获取训练样本,并确定所述预测模型对应的至少一个关联预测模型,所述预测模型对应的第一业务与所述至少一个关联预测模型对应的第二业务之间存在业务关联,所述训练样本中包含样本用户信息、第一历史业务记录以及第二历史业务记录,所述第一历史业务记录为所述样本用户信息对应的用户在历史上执行针对所述第一历史业务对象的第一业务的历史业务记录,所述第二历史业务记录为所述样本用户信息对应的用户在历史上执行针对所述第二历史业务对象的第二业务的历史业务记录;将所述样本用户信息、所述第一历史业务对象以及所述第二历史业务对象输入到待训练的特征提取模型中,以使所述特征提取模型基于所述业务拓扑图,确定所述样本用户信息对应的特征向量,所述第一历史业务对象对应的特征向量以及所述第二历史业务对象对应的特征向量;将所述样本用户信息对应的特征向量和所述第一历史业务对象对应的特征向量输入到所述预测模型中,得到所述第一历史业务对象对应的预测推荐度,以及将所述样本用户信息对应的特征向量和所述第二历史业务对象对应的特征向量输入到所述至少一个关联预测模型中,得到所述第二历史业务对象对应的预测推荐度;以最小化所述第一历史业务对象对应的预测推荐度与所述第一历史业务记录之间的偏差,以及最小化所述第二历史业务对象对应的预测推荐度与所述第二历史业务记录之间的偏差为优化目标,对所述特征提取模型、所述预测模型以及所述至少一个关联预测模型进行联合训练。

本说明书还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图1所示的信息推荐的方法。

本说明书还提供了图5所示的电子设备的示意结构图。如图5所述,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1所述的信息推荐的方法。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。

在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmablelogicdevice,pld)(例如现场可编程门阵列(fieldprogrammablegatearray,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardwaredescriptionlanguage,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmelat91sam、microchippic18f26k20以及siliconelabsc8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

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

以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

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