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

信息召回方法、装置、存储介质及电子设备

文献发布时间:2023-06-19 10:24:22


信息召回方法、装置、存储介质及电子设备

技术领域

本公开涉及数据处理领域,具体涉及一种信息召回方法、装置、存储介质及电子设备。

背景技术

推荐领域通常分为召回和排序两个阶段:召回阶段就是从千万量级的候选对象里,采取简单模型将推荐对象候选集合快速筛减到千级别甚至百级别;排序阶段就是对召回的少量的结果进行统一打分并排序,选出最优Top K。最后还可以结合一些业务策略比如去已读、推荐多样化,加入广告等策略形成最终推荐结果,将结果展示给用户。

协同过滤是一种基于关系的推荐算法,可以实现对候选对象的召回,具体可以分为基于用户、基于内容和基于模型的协同过滤。现有技术中,推荐模型的训练样本中表征候选对象的信息较少,没有利用其他的基础信息,若出现了推荐模型未训练的新对象,则无法表征该对象的特征信息,存在新对象冷启动的问题,影响了信息召回的精度。因此,如何有效地表征新对象以及度量对象间的相似性,进而提高协同过滤的准确性是目前亟待解决的问题。

需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。

发明内容

本公开的目的在于提供一种信息召回方法、装置、存储介质及电子设备,旨在解决信息召回的冷启动问题,进而提高信息召回的精度。

本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。

根据本公开实施例的一个方面,提供了一种信息召回方法,包括:获取目标用户在预设时间段内的浏览对象和所述浏览对象的基础信息;根据所述浏览对象的基础信息查询特征数据库,当所述特征数据库不存在所述浏览对象时,基于所述基础信息利用特征提取模型计算所述浏览对象的综合特征数据;基于所述综合特征数据,计算所述浏览对象与所述特征数据库中各历史对象之间的相似度值,以召回所述目标用户的偏好对象。

根据本公开的一些实施例,基于前述方案,所述基于所述基础信息利用特征提取模型计算所述浏览对象的综合特征数据,包括:利用所述特征提取模型中的嵌入矩阵,计算所述浏览对象的基础信息对应的特征数据;对所述特征数据求均值,以得到所述浏览对象的综合特征数据。

根据本公开的一些实施例,基于前述方案,在计算所述浏览对象的综合特征数据之后,所述方法还包括:将不存在的浏览对象和对应的综合特征数据添加至所述特征数据库,以用于召回偏好对象。

根据本公开的一些实施例,基于前述方案,在根据所述浏览对象的基础信息查询特征数据库时,所述方法还包括:当存在所述浏览对象时,从所述特征数据库中提取所述浏览对象的综合特征数据。

根据本公开的一些实施例,基于前述方案,所述计算所述浏览对象与所述特征数据库中各历史对象之间的相似度,以召回所述目标用户的偏好对象,包括:计算所述浏览对象与所述特征数据库中各历史对象之间的相似度值;基于所述相似度值,按照预设规则选取与所述浏览对象对应的相似历史对象作为所述目标用户的偏好对象。

根据本公开的一些实施例,基于前述方案,所述基础信息包括单值信息、多值信息、图像信息和文字信息中的一种或多种。

根据本公开的一些实施例,基于前述方案,所述方法还包括:预先构建特征数据库,包括:利用所述特征提取模型中的嵌入矩阵,计算所述历史对象的基础信息对应的特征数据;利用所述特征提取模型中的权重矩阵,对所述特征数据进行加权运算,以得到所述历史对象的综合特征数据;存储所述历史对象和所述历史对象的综合特征数据,以构建所述特征数据库。

根据本公开的一些实施例,基于前述方案,所述方法还包括:训练所述特征提取模型,包括:采集所有用户在预设时间段内的历史浏览数据;基于所述历史浏览数据构建历史对象的序列对,并根据所述序列对构建所述历史对象之间的真实关联关系;通过特征提取模型对所述历史对象进行特征提取,以得到所述历史对象与其他所述历史对象的关联关系;其中,所述特征提取模型为基于负采样的skip-Gram模型;将所述关联关系和所述真实关联关系进行比对,以修正所述特征提取模型的嵌入矩阵和权重矩阵。

根据本公开的一些实施例,基于前述方案,所述基于所述历史浏览数据构建历史对象的序列对,包括:获取所述历史浏览数据中各用户的浏览顺序和浏览时间,以构建浏览序列;根据所述浏览序列中历史对象之间的序列关系和出现频率,构建有向有权图;基于所述有向有权图进行随机采样,构建随机游走序列;根据所述随机游走序列中历史对象之间的序列关系,构建历史对象的序列对。

根据本公开的一些实施例,基于前述方案,所述获取所述历史浏览数据中各用户的浏览顺序和浏览时间,以构建浏览序列,包括:根据所述历史浏览数据中各用户的浏览顺序,将历史对象拼接得到第一浏览序列;若所述第一浏览序列中,两个历史对象的浏览时间间隔大于预设时间间隔,则将所述两个历史对象从所述第一浏览序列中截断,得到第二浏览序列;将所述第二浏览序列中历史对象的数量大于预设数量的第二浏览序列作为浏览序列。

根据本公开的一些实施例,基于前述方案,所述根据所述浏览序列中历史对象之间的序列关系和出现频率,构建有向有权图,包括:将所述浏览序列中的历史对象配置为有向有权图的节点;提取所述浏览序列中相邻的历史对象,按照序列关系构建所述节点之间的有向边;根据所述有向边在所有有向边中出现的频率计算边权重;基于所述节点、有向边和边权重构建有向有权图。

根据本公开的一些实施例,基于前述方案,所述基于所述有向有权图进行随机采样,构建随机游走序列,包括;选择所述有向有权图中的任一节点作为起始节点;根据所述起始节点对应的多个有向边的边权重和预设的边随机数进行随机采样,以确定所述起始节点对应的下游节点;将所述下游节点配置为起始节点,重复上一步骤直至确定预设数量个下游节点;将所述起始节点和预设数量个下游节点依次构建为一个随机游走序列;遍历所述有向有权图中的所有节点,以构建多个随机游走序列。

根据本公开的一些实施例,基于前述方案,所述随机采样还包括:从每个所述起始节点随机采样预设次数。

根据本公开的一些实施例,基于前述方案,所述根据所述随机游走序列中历史对象之间的序列关系,构建历史对象的序列对,包括:选择所述随机游走序列中的任一节点作为起点;根据所述随机游走序列确定与所述起点关联的预设数量个节点,分别作为终点;基于所述起点和终点构建序列对;遍历所有随机游走序列中的所有节点,以得到多个历史对象的序列对。

根据本公开实施例的第二个方面,提供了一种信息召回装置装置,包括:获取模块,用于获取目标用户在预设时间段内的浏览对象和所述浏览对象的基础信息;计算模块,用于根据所述浏览对象的基础信息查询特征数据库,当所述特征数据库不存在所述浏览对象时,基于所述基础信息利用特征提取模型计算所述浏览对象的综合特征数据;召回模块,用于基于所述综合特征数据,计算所述浏览对象与所述特征数据库中各历史对象之间的相似度值,以召回所述目标用户的偏好对象。

根据本公开实施例的第三个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述实施例中的信息召回方法。

根据本公开实施例的第四个方面,提供了一种电子设备,其特征在于,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中的信息召回方法。

本公开示例性实施例可以具有以下部分或全部有益效果:

在本公开的一些实施例所提供的技术方案中,获取目标用户在预设时间段内的浏览对象后,当特征数据库中不存在浏览对象时,利用特征提取模型进行计算得到浏览对象对应的综合特征数据,最后计算浏览对象与特征数据库中历史对象之间的相似度值,以召回所述目标用户的偏好对象。一方面对于特征数据库未存在的浏览对象,也可以利用特征提取模型计算浏览对象的综合特征数据,解决了新对象无法特征表征的冷启动问题,进而可以选择与新对象相似的浏览对象进行推荐,提高了信息召回的精度;另一方面,在特征数据库中不存在浏览对象时再进行综合特征数据的计算,而不必对用户的所有浏览对象的综合特征数据进行计算,减少了信息召回过程中的计算量,进而提高了信息召回的效率。

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

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1示意性示出本公开示例性实施例中一种信息召回方法的流程示意图;

图2示意性示出本公开示例性实施例中一种构建特征数据库的流程示意图;

图3示意性示出本公开示例性实施例中一种训练特征提取模型方法的流程示意图;

图4示意性示出本公开示例性实施例中一种构建历史对象的序列对方法的流程示意图;

图5示意性示出本公开示例性实施例中一种信息召回装置的组成示意图;

图6示意性示出本公开示例性实施例中一种计算机可读存储介质的示意图;

图7示意性示出本公开示例性实施例中一种电子设备的计算机系统的结构示意图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。

此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。

附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。

在召回过程中,现有的协同过滤算法中,通常是利用推荐对象的单值特征来表征推荐对象,例如在使用深度神经网络(DNN)进行主播特征召回时,采用主播id信息进行训练进而获取召回结果。这种方法存在一定的缺陷,由于只用少量的信息来表征推荐对象,当出现新的推荐对象时无法表征,存在新推荐对象冷启动的问题,影响了信息召回的精度。

鉴于现有技术中存在的问题,本公开提供了一种信息召回方法,旨在解决上述问题,避免新对象冷启动,进一步提高召回的精度。以下对本公开实施例的技术方案的实现细节进行详细阐述。

图1示意性示出本公开示例性实施例中一种信息召回方法的流程示意图。如图1所示,该信息召回方法包括步骤S11至步骤S13:

步骤S11,获取目标用户在预设时间段内的浏览对象和所述浏览对象的基础信息;

步骤S12,根据所述浏览对象的基础信息查询特征数据库,当所述特征数据库不存在所述浏览对象时,基于所述基础信息利用特征提取模型计算所述浏览对象的综合特征数据;

步骤S13,基于所述综合特征数据,计算所述浏览对象与所述特征数据库中各历史对象之间的相似度值,以召回所述目标用户的偏好对象。

在本公开的一些实施例所提供的技术方案中,获取目标用户在预设时间段内的浏览对象后,当特征数据库中不存在浏览对象时,利用特征提取模型进行计算得到浏览对象对应的综合特征数据,最后计算浏览对象与特征数据库中历史对象之间的相似度值,以召回所述目标用户的偏好对象。一方面对于特征数据库未存在的浏览对象,也可以利用特征提取模型计算浏览对象的综合特征数据,解决了新对象无法特征表征的冷启动问题,进而可以选择与新对象相似的浏览对象进行推荐,提高了信息召回的精度;另一方面,在特征数据库中不存在浏览对象时再进行综合特征数据的计算,而不必对用户的所有浏览对象的综合特征数据进行计算,减少了信息召回过程中的计算量,进而提高了信息召回的效率。

本公开提供的信息召回方法可以用于推荐领域中的召回阶段,能够从浏览对象集合中筛减得到偏好对象作为召回结果。下面,将结合附图及实施例对本示例实施方式中的信息召回方法的各个步骤进行更详细的说明。

步骤S11,获取目标用户在预设时间段内的浏览对象和所述浏览对象的基础信息。

在本公开的一个实施例中,预设时间段根据召回需求进行设置,可以是相对时间段,例如选取目标用户最近3天、7天、一个月的浏览对象;也可以是绝对时间段,例如选取目标用户每日12:00-14:00、20:00-22:00的浏览对象,用于召回目标用户的偏好对象。

在本公开的一个实施例中,浏览对象是目标用户浏览过的内容,可以是主播、视频、图片、商品等对象,基于用户浏览的内容,召回用户偏好的主播、视频、图片、商品等。

其中,浏览对象的基础信息包括单值信息、多值信息、图像信息和文字信息中的一种或多种。其中,单值信息是指用单值表示浏览对象的基础信息,多值信息是指用多个单值表示基础信息,图像信息和文字信息分别表示用图像和文字来表示基础信息。采集丰富多样的基础信息,可以提高召回的精度。

具体而言,为目标用户召回偏好的主播为例,则浏览对象是主播,单值信息可以包括主播id、性别、年龄、地理位置;多值信息可以包括主播标签、移动设备;图像特征可以包括主播头像、背景图像;文字特征可以包括主播文字介绍等。

在本公开的一个实施例中,首先获取目标用户在预设时间段内的浏览行为,然后根据浏览行为提取浏览行为中出现的浏览对象,最后基于浏览对象提取浏览对象的基础信息。

步骤S12,根据所述浏览对象的基础信息查询特征数据库,当所述特征数据库不存在所述浏览对象时,基于所述基础信息利用特征提取模型计算所述浏览对象的综合特征数据。

在本公开的一个实施例中,特征数据库是预先构建的,其中存储有历史对象、历史对象的基本信息和历史对象的综合特征数据。可以根据浏览对象单值信息中的id信息,在特征数据库中查询是否存在与浏览对象id信息相匹配的历史对象id信息。

如果查询结果为存在,则从特征数据库中提取与浏览对象id信息相匹配的历史对象的综合特征数据,作为浏览对象的综合特征数据。

如果查询结果为不存在,则基于所述基础信息利用特征提取模型计算所述浏览对象的综合特征数据。计算综合特征数据的具体过程包括以下步骤:

S121,利用所述特征提取模型中的嵌入矩阵,计算所述浏览对象的基础信息对应的特征数据。

在本公开的一个实施例中,特征提取模型是预先训练完成的,特征提取模型的隐含层包括嵌入矩阵的参数信息,每一个基础特征对应一个嵌入矩阵,浏览对象的基础信息包括了多个基础信息,根据嵌入矩阵可以计算每一个基础信息对应的特征数据。

举例来说,若特征提取模型为基于负采样的skip-Gram模型,其目的是为了计算浏览对象的Embedding特征。若浏览对象为主播,可以得到主播id、性别、标签、头像、文字介绍等基础信息,利用嵌入矩阵可以分别计算主播id对应的Embedding特征、性别对应的Embedding特征、标签对应的Embedding特征等等特征数据。

类似地,若浏览对象为其他虚拟对象,也可以根据预先训练的特征提取模型中的嵌入矩阵,分别计算浏览对象各基础信息对应的特征数据。

S122,对所述特征数据求均值,以得到所述浏览对象的综合特征数据。

在本公开的一个实施例中,由于特征提取模型是根据训练样本预先训练的,训练样本是采集的所有用户浏览的历史对象,即存储于特征数据库中的历史对象,虽然特征提取模型中包括权重矩阵的参数信息,但这些权重只对应于训练样本中各历史对象的权重信息。

而需要计算综合特征数据的浏览对象不属于训练样本,所以特征提取模型中也就不包含这些浏览对象的权重信息。因此,可以将各基础信息对应的特征数据求均值,计算得到浏览对象的综合特征数据。

在本公开的一个实施例中,在计算浏览对象的综合特征数据之后,还可以将不存在的浏览对象和对应的综合特征数据添加至特征数据库,以用于召回偏好对象。

具体而言,将获取的不存在的浏览对象也作为历史对象更新至特征数据库,在使用特征数据库选择召回偏好对象时,可选择的历史对象数据更加准确,避免在召回偏好对象时只能选择存在于特征数据库的对象,而无法选择特征数据库不存在的对象,召回的效果更好。

另外,还可以预设时间对特征数据库进行及时更新,可以及时将用户召回时获取的新的浏览对象及计算结果存储至数据库,以保证数据的及时更新,召回偏好对象的数据基础更加准确。

基于上述方法,特征数据库中存在的浏览对象也就是特征提取模型预先已训练过的浏览对象,而不存在的浏览对象也就是未训练的浏览对象。

一方面对于未训练的浏览对象,也可以利用特征提取模型计算浏览对象的综合特征数据,解决了新对象无法特征表征的冷启动问题,进而基于新对象也可以推荐,提高了信息召回的精度;

另一方面,对于已训练的浏览对象提前计算并存储在特征数据库中,对于未训练的浏览对象才进行综合特征数据的计算,不必在召回时计算所有浏览对象的综合特征数据,减少了信息召回过程中的计算量,进而提高了信息召回的效率。

步骤S13,基于所述综合特征数据,计算所述浏览对象与所述特征数据库中各历史对象之间的相似度值,以召回所述目标用户的偏好对象。其具体步骤如下:

S131,计算所述浏览对象与所述特征数据库中各历史对象之间的相似度值。

在本公开的一个实施例中,特征数据库是预先构建的,其中存储有历史对象、历史对象的基本信息和历史对象的综合特征数据。计算相似度值可以是计算浏览对象与各历史对象之间综合特征数据的修正余弦相似度,作为相似度值。

S132,基于所述相似度值,按照预设规则选取与所述浏览对象对应的相似历史对象作为所述目标用户的偏好对象。

在本公开的一个实施例中,预设规则可以是选取N个相似度值高的历史对象作为相似历史对象。优选的,取N=50最佳。对于每一个浏览对象,分别选择与之对应的N个相似历史对象,以作为目标用户的偏好对象,得到召回结果。

在本公开的一个实施例中,在获得召回结果之后,还可以对召回结果进行处理后为目标用户进行推荐。具体而言,对相似历史对象进行去重,然后按照历史对象重复的频率分配对应的权重进行排序,例如重复次数多的权重设置较大的权重,重复次数少的设置较小的权重,根据权重对偏好对象进行排序,若重复次数相同,则按照相似度值的高低进行排序,最后将排序后的偏好对象推送至目标用户用于推荐。

图2示意性示出本公开示例性实施例中一种构建特征数据库的流程示意图。如图2所示,预先构建特征数据库具体包括以下步骤:

步骤S21,利用所述特征提取模型中的嵌入矩阵,计算所述历史对象的基础信息对应的特征数据。

在本公开的一个实施例中,特征提取模型是预先训练完成的,训练完成的特征提取模型中,隐含层包括了嵌入矩阵和训练样本对应的权重矩阵。

首先,获取特征提取模型的训练样本中的历史对象,并基于历史对象的id信息提取历史对象的基础信息。其中,历史对象的基础信息也包括单值信息、多值信息、图像信息和文字信息中的一种或多种。

然后,利用所述特征提取模型中的嵌入矩阵,计算所述历史对象的基础信息对应的特征数据。与S121类似,历史对象的基础信息同样包括了多个基础信息,根据嵌入矩阵可以计算每一个基础信息对应的特征数据。

步骤S22,利用所述特征提取模型中的权重矩阵,对所述特征数据进行加权运算,以得到所述历史对象的综合特征数据。

在本公开的一个实施例中,权重矩阵(M×N)即为M个历史对象的N个基础信息对应的权重。根据权重矩阵中嵌入层的权重信息,对历史对象的特征数据进行加权求和得到所述历史对象的综合特征数据。

步骤S23,存储所述历史对象和所述历史对象的综合特征数据,以构建所述特征数据库。

基于上述方法,对预先训练的特征提取模型中已有的历史对象提前进行综合特征数据计算,可以在召回时直接调用综合特征数据的计算结果,避免召回时的计算过程,提高了召回的效率。

图3示意性示出本公开示例性实施例中一种训练特征提取模型方法的流程示意图。如图3所示,训练所述特征提取模型具体包括以下步骤:

步骤S31,采集所有用户在预设时间段内的历史浏览数据。

在本公开的一个实施例中,预设时间段根据训练需求进行设置,时间段可以大于召回偏好信息时预设的时间段。设置的时间段越长,采集的数量越大,训练的特征提取模型越精确。

其中,历史浏览数据包括用户浏览的对象、浏览各对象的顺序、浏览每一对象的时间等。

步骤S32,基于所述历史浏览数据构建历史对象的序列对,并根据所述序列对构建所述历史对象之间的真实关联关系。

在本公开的一个实施例中,历史对象的序列对是指由两个历史对象组成的具有先后顺序的序列对,对于每一个历史对象都构建多个序列对,以该历史对象为起点,将该历史对象在浏览序列中的前后多个历史对象为终点,构建该历史对象的多个序列对。

由于序列对中的历史对象之间是根据浏览序列构建的,序列相近,则历史对象之间相互关联,所以序列对可以反映历史对象之间真实关联关系,真实关联关系可以对特征提取模型进行训练,进而对特征提取模型中的参数进行修正。

举例来说,历史浏览数据中显示某一用户浏览历史主播的序列为A、B、C、D,则构建的序列对可以是A-B、A-C、B-A、B-C、B-D、C-A、C-B、C-D、D-B、D-C,根据序列对可以发现没有A与D序列对,而A与B、的序列对较多,这是因为浏览序列中A与D相隔较远,与B较近,因此根据序列对可以获得各历史对象之间的真实关联关系。

步骤S33,通过特征提取模型对所述历史对象进行特征提取,以得到所述历史对象与其他所述历史对象的关联关系;其中,所述特征提取模型为基于负采样的skip-Gram模型。

在本公开的一个实施例中,特征提取模型可以是基于负采样的skip-Gram模型。模型的基础形式分为三层,分别为输入层、隐含层和输出层,模型实际分为两个部分,第一部分为建立模型,第二部分是通过模型获取相应的参数,即先基于训练数据构建一个神经网络,当这个模型训练好以后,并不会用这个训练好的模型处理新的任务,真正需要的是这个模型通过训练数据所学得的参数,例如隐含层的嵌入矩阵以及权重矩阵。利用负采样的skip-Gram模型对模型进行训练可以提高模型训练的精度和效率。

具体而言,所有历史对象构成词汇表,首先选择一个历史对象作为输入层,将该历史对象对应的序列对作为训练数据,然后神经网络基于这些训练数据将会输出一个概率分布,代表着词汇表中与该历史对象相关的另一历史对象是输出层的概率,即历史对象与其他所述历史对象的关联关系。例如,若将A作为输入层(input word),将A-B作为训练数据来训练神经网络,那么模型通过学习这个训练样本,会告诉B是输出层(output word)的概率大小。

步骤S34,将所述关联关系和所述真实关联关系进行比对,以修正所述特征提取模型的嵌入矩阵和权重矩阵。

在本公开的一个实施例中,通过给神经网络输入文本中成对的历史对象的序列对来训练,模型将会从每对历史对象出现的次数中习得统计结果,并通过loss函数修正模型计算的关联关系与真实关联关系,进而修正隐含层的嵌入矩阵和权重矩阵中的参数,得到最终训练完成的特征提取模型。

训练中,若A与B、C的相关程度大于A与D的相关程度,神经网络可能会得到更多类似A-B、A-C这样的训练样本对,而对于A-D这样的组合却看到的很少。因此,当模型完成训练后,给定A作为输入,输出的结果中B或者C要比D计算得到更大的概率值。

在训练时,可以通过负采样的方法来提高效率。在对每一个历史对象的训练中,不需要输出所有历史对象,而是通过对词汇表中的历史对象进行负采样。例如一个序列对为A-B,有一个正样本A-B,然后随机采样k个负样本,如与A无关的D、E组成的A-D、A-E序列对等,就可以对K+1个训练样本进行训练,只对与A相关的一小部分参数进行修改,提高了训练的效率。

对于嵌入矩阵,历史对象的每一个基础信息对应一个嵌入矩阵。比如基础信息包括性别、年龄、城市等,就有性别的嵌入矩阵、年龄的嵌入矩阵、城市的嵌入矩阵等。举例来说,性别的嵌入矩阵维度就是3×D,其中3是设定的性别的类型,包括男、女、未知性别3类,D是设定的embedding特征维度;年龄的嵌入矩阵维度就是10×D,其中10是设定的年龄段,可以将0-9岁的划分为0,10-19岁的划分为1,依次类推,D就是自己设定的embedding特征维度。因此,输入历史对象的基础信息后,可以根据对应的嵌入矩阵得到特征数据。

对于权重矩阵,不同用户的基础信息赋予不同的权重。比如基础信息包括性别、年龄,对于对象A,权重分别为0.1、0.9,而对象B的权重分别为0.4、0.6。也就是权重矩阵中的每一行为该行对应的历史对象的权重向量,所以权重矩阵中包含训练过的历史对象各个基础信息对应的权重值,而未经训练的历史对象没有相应的权重值。

在特征提取模型训练的过程中,对于每一个历史对象,用基础信息进行表示,其中,基础信息包括单值信息、多值信息、图像信息和文字信息中的一种或多种。其中,单值信息是指用单值表示浏览对象的基础信息,多值信息是指用多个单值表示基础信息,图像信息和文字信息分别表示用图像和文字来表示基础信息。

因此,对于每一个基础信息都可以得到对应的嵌入矩阵。一方面利用丰富多样的基础信息对历史对象进行描述并进行模型训练,可以更准确地表征历史对象。另一方面对于未训练的新对象,也可以基于多样的基础信息进行特征表征,扩大了召回信息的使用场景,相比现有技术中其他的训练模型,例如CNN仅使用单值特征进行训练,本公开提供的模型训练方法中可以避免新对象无法表征的缺点。

图4示意性示出本公开示例性实施例中一种构建历史对象的序列对方法的流程示意图。如图4所示,基于历史浏览数据构建历史对象的序列对具体如下:

步骤S41,获取所述历史浏览数据中各用户的浏览顺序和浏览时间,以构建浏览序列;

步骤S42,根据所述浏览序列中历史对象之间的序列关系和出现频率,构建有向有权图;

步骤S43,基于所述有向有权图进行随机采样,构建随机游走序列;

步骤S44,根据所述随机游走序列中历史对象之间的序列关系,构建历史对象的序列对。

在步骤S41中,构建浏览序列的具体过程包括以下步骤。

S411,根据所述历史浏览数据中各用户的浏览顺序,将历史对象拼接得到第一浏览序列。

在本公开的一个实施例中,采集所有用户的历史浏览数据,对每一用户,根据该用户的浏览顺序,按时间的先后拼接为该用户的第一浏览序列。

S412,若所述第一浏览序列中,两个历史对象的浏览时间间隔大于预设时间间隔,则将所述两个历史对象从所述第一浏览序列中截断,得到第二浏览序列。

在本公开的一个实施例中,若两个历史对象的浏览时间间隔大于预设时间间隔,可以视为两个历史对象之间没有关联关系,则将该第一浏览序列截断。预设时间间隔可以通过大数据分析设置一个合理的预设值。优选地,预设时间间隔可以设置为30分钟。

基于上述方法,对于每一用户的第一浏览序列中的浏览时间进行验证,得到所有用户的第二浏览序列。举例来说,若X用户的第一浏览序列为:A-B-C-B-A-C-D,其中B-C之间的浏览对象超过了30分钟,则将第一浏览序列转化为A-B和C-B-A-C-D两个第二浏览序列。

S413,将所述第二浏览序列中历史对象的数量大于预设数量的第二浏览序列作为浏览序列。

在本公开的一个实施例中,第二浏览序列中历史对象的数量较少时,没有提供更多的历史对象之间的关联关系,也无法构建多个序列对,可以将这些序列剔除,减小后续的计算量。优选地,预设数量可以设置为2。

基于上述方法,对于每一第二浏览序列的历史对象数量进行验证,得到所有用户的浏览序列。例如X用户的第二浏览序列中,将C-B-A-C-D序列保留作为浏览序列。

在步骤S42中,根据所述浏览序列中历史对象之间的序列关系和出现频率,构建有向有权图,具体过程包括以下步骤。

S421,将所述浏览序列中的历史对象配置为有向有权图的节点。

S422,提取所述浏览序列中相邻的历史对象,按照序列关系构建所述节点之间的有向边。

在本公开的一个实施例中,浏览序列中为具有先后顺序的历史对象序列,根据浏览序列提取相邻的历史对象,并为这相邻的两个历史对象按照浏览序列中先后顺序构建有向边。例如C-B-A-C-D序列中,建立C-B、B-A、A-C、C-D的有向边。

S423,根据所述有向边在所有有向边中出现的频率计算边权重。

在本公开的一个实施例中,通过浏览序列构建了全部的有向边,将有向边中出现的频率作为该有向边的权重。需要说明的是权重为有向边的权重,而不是两个节点之间的权重,即A-B有向边的权重与B-A有向边的权重含义不同。

S424,基于所述节点、有向边和边权重构建有向有权图。

在步骤S43中,基于所述有向有权图进行随机采样,构建随机游走序列,具体过程包括以下步骤。

S431,选择所述有向有权图中的任一节点作为起始节点。

S432,根据所述起始节点对应的多个有向边的边权重和预设的边随机数进行随机采样,以确定所述起始节点对应的下游节点。

在本公开的一个实施例中,首先确定起始节点对应的多个有向边;确定了多个有向边后,根据有向有权图获取各有向边的权重,并为有向边设置一个对应的0~1之间的随机数;最后将随机数与权重相乘,选定计算结果大的有向边,将该有向边对应的节点作为下游节点。

举例来说,选择一个起始节点为A,则确定有向边中以A为起点的所有有向边,包括A-B、A-C,其中A-B权重为10,A-C权重为5,为A-B设置随机数0.5,A-C设置随机数0.8,则A-B边计算结果为5,A-C边计算结果为4,取结果最大的A-B边,则A的下游节点为B。

S433,将所述下游节点配置为起始节点,重复上一步骤直至确定预设数量个下游节点。

在本公开的一个实施例中,将下游节点配置为起始节点,重复S432,得到S个下游节点,即随机游走S步。优选地,S取10。

S434,将所述起始节点和预设数量个下游节点依次构建为一个随机游走序列。

S435,遍历所述有向有权图中的所有节点,以构建多个随机游走序列。

在本公开的一个实施例中,基于上述方法,以有向有权图中的每个节点作为起始节点出发进行随机采样,并且,从每个起始节点出发M次,以保证随机采样的随机性。优选地,M取10。

在步骤S44中,根据所述随机游走序列中历史对象之间的序列关系,构建历史对象的序列对。

S441,选择所述随机游走序列中的任一节点作为起点。

S442,根据所述随机游走序列确定与所述起点关联的预设数量个节点,分别作为终点。

S443,基于所述起点和终点构建序列对。

在本公开的一个实施例中,序列对是作为负采样的skip-Gram模型的训练样本,因此需要设置skip_window的参数,它代表着从当前input word的一侧(左边或右边)选取词的数量。举例来说,如果设置skip_window=2,代表着选取随机游走序列中历史对象的左侧2个词和右侧2个词进入窗口,所以整个窗口大小T=2×2+1=5。优先地,T取5。

另一个参数叫num_skips,它代表着我们从整个窗口中选取多少个不同的词作为output word。举例来说,如果设置num_skips=2,代表着选取2个历史对象作为序列对。

因此,根据skip_window和num_skips来确定与起点关联的节点作为终点。以一个随机游走序列为A-B-C-D-E为例,若选定C为input word,即起点,设置skip_window=2,num_skips=2,则与C关联的节点为A、B、D、E,若选定A为input word,则与A关联的节点为B、C。最后根据起点和终点构建序列对,则C对应的序列对为C-A、C-B、C-D、C-E,A对应的序列对为A-B、A-C。

S444,遍历所有随机游走序列中的所有节点,以得到多个历史对象的序列对。

在本公开的一个实施例中,基于S441至S443的方法,以随机游走序列中的所有节点作为起点构建序列对,再对所有的随机游走序列构建序列对。

基于上述方法,根据所有用户的历史浏览数据构建有向有权图,在基于有向有权图进行多次随机采样构建序列对,保证训练样本的随机性和准确性,进而提高模型训练的准确性。

图5示意性示出本公开示例性实施例中一种信息召回装置的组成示意图,如图5所示,该信息召回装置500可以包括获取模块501、计算模块502以及召回模块503。其中:

获取模块501,用于获取目标用户在预设时间段内的浏览对象和所述浏览对象的基础信息;

计算模块502,用于根据所述浏览对象的基础信息查询特征数据库,当所述特征数据库不存在所述浏览对象时,基于所述基础信息利用特征提取模型计算所述浏览对象的综合特征数据;

召回模块503,用于基于所述综合特征数据,计算所述浏览对象与所述特征数据库中各历史对象之间的相似度值,以召回所述目标用户的偏好对象。

根据本公开的示例性实施例,所述计算模块502还包括:特征数据计算单元和综合特征数据计算单元(图中未示出)。特征数据计算单元用于利用所述特征提取模型中的嵌入矩阵,计算所述浏览对象的基础信息对应的特征数据;综合特征数据计算单元用于对所述特征数据求均值,以得到所述浏览对象的综合特征数据。

根据本公开的示例性实施例,所述方法还包括:将不存在的浏览对象和对应的综合特征数据添加至所述特征数据库,以用于召回偏好对象。

根据本公开的示例性实施例,在根据所述浏览对象的基础信息查询特征数据库时,所述方法还包括:当存在所述浏览对象时,从所述特征数据库中提取所述浏览对象的综合特征数据。

根据本公开的示例性实施例,所述召回模块503还包括:计算单元、选择单元(图中未示出)。计算单元用于计算所述浏览对象与所述特征数据库中各历史对象之间的相似度值;选择单元用于基于所述相似度值,按照预设规则选取与所述浏览对象对应的相似历史对象作为所述目标用户的偏好对象。

根据本公开的示例性实施例,所述基础信息包括单值信息、多值信息、图像信息和文字信息中的一种或多种。

根据本公开的示例性实施例,所述信息召回装置500还包括特征数据库模块(图中未示出),用于利用所述特征提取模型中的嵌入矩阵,计算所述历史对象的基础信息对应的特征数据;利用所述特征提取模型中的权重矩阵,对所述特征数据进行加权运算,以得到所述历史对象的综合特征数据;存储所述历史对象和所述历史对象的综合特征数据,以构建所述特征数据库。

根据本公开的示例性实施例,所述信息召回装置500还包括特征提取模型模块(图中未示出),包括采集数据单元、序列对单元、特征提取单元和参数修正单元。采集数据单元用于采集所有用户在预设时间段内的历史浏览数据;序列对单元用于基于所述历史浏览数据构建历史对象的序列对,并根据所述序列对构建所述历史对象之间的真实关联关系;特征提取单元用于通过特征提取模型对所述历史对象进行特征提取,以得到所述历史对象与其他所述历史对象的关联关系;其中,所述特征提取模型为基于负采样的skip-Gram模型;参数修正单元用于将所述关联关系和所述真实关联关系进行比对,以修正所述特征提取模型的嵌入矩阵和权重矩阵。

根据本公开的示例性实施例,所述序列对单元还包括浏览序列单元、有向有权图单元、随机游走序列单元和构建序列对单元。浏览序列单元用于获取所述历史浏览数据中各用户的浏览顺序和浏览时间,以构建浏览序列;有向有权图单元用于根据所述浏览序列中历史对象之间的序列关系和出现频率,构建有向有权图;随机游走序列单元用于基于所述有向有权图进行随机采样,构建随机游走序列;构建序列对单元用于根据所述随机游走序列中历史对象之间的序列关系,构建历史对象的序列对。

根据本公开的示例性实施例,所述浏览序列单元用于根据所述历史浏览数据中各用户的浏览顺序,将历史对象拼接得到第一浏览序列;若所述第一浏览序列中,两个历史对象的浏览时间间隔大于预设时间间隔,则将所述两个历史对象从所述第一浏览序列中截断,得到第二浏览序列;将所述第二浏览序列中历史对象的数量大于预设数量的第二浏览序列作为浏览序列。

根据本公开的示例性实施例,所述有向有权图单元用于将所述浏览序列中的历史对象配置为有向有权图的节点;提取所述浏览序列中相邻的历史对象,按照序列关系构建所述节点之间的有向边;根据所述有向边在所有有向边中出现的频率计算边权重;基于所述节点、有向边和边权重构建有向有权图。

根据本公开的示例性实施例,所述随机游走序列单元用于选择所述有向有权图中的任一节点作为起始节点;根据所述起始节点对应的多个有向边的边权重和预设的边随机数进行随机采样,以确定所述起始节点对应的下游节点;将所述下游节点配置为起始节点,重复上一步骤直至确定预设数量个下游节点;将所述起始节点和预设数量个下游节点依次构建为一个随机游走序列;遍历所述有向有权图中的所有节点,以构建多个随机游走序列。

根据本公开的示例性实施例,所述方法还包括从每个所述起始节点随机采样预设次数。

根据本公开的示例性实施例,所述构建序列对单元用于选择所述随机游走序列中的任一节点作为起点;根据所述随机游走序列确定与所述起点关联的预设数量个节点,分别作为终点;基于所述起点和终点构建序列对;遍历所有随机游走序列中的所有节点,以得到多个历史对象的序列对。

上述的信息召回装置500中各模块的具体细节已经在对应的信息召回方法中进行了详细的描述,因此此处不再赘述。

应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

在本公开的示例性实施例中,还提供了一种能够实现上述方法的存储介质。图6示意性示出本公开示例性实施例中一种计算机可读存储介质的示意图,如图6所示,描述了根据本公开的实施方式的用于实现上述方法的程序产品600,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如手机上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。图7示意性示出本公开示例性实施例中一种电子设备的计算机系统的结构示意图。

需要说明的是,图7示出的电子设备的计算机系统700仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图7所示,计算机系统700包括中央处理单元(Central Processing Unit,CPU)701,其可以根据存储在只读存储器(Read-Only Memory,ROM)702中的程序或者从存储部分708加载到随机访问存储器(Random Access Memory,RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有系统操作所需的各种程序和数据。CPU 701、ROM702以及RAM 703通过总线704彼此相连。输入/输出(Input/Output,I/O)接口705也连接至总线704。

以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN(Local Area Network,局域网)卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。

特别地,根据本公开的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本公开的系统中限定的各种功能。

需要说明的是,本公开实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。

作为另一方面,本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。

应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施方式的方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。

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

相关技术
  • 一种服务信息召回方法、装置、电子设备及存储介质
  • 一种信息召回方法、装置、电子设备及存储介质
技术分类

06120112532957