一种实时用户兴趣识别方法及装置与流程

文档序号:15517927发布日期:2018-09-25 18:47阅读:181来源:国知局

本申请实施例涉及计算机技术领域,具体涉及一种实时用户兴趣识别方法及装置。



背景技术:

用户兴趣识别算法是一种通过数据挖掘分析识别用户的兴趣类别的技术。现有技术中,用户兴趣识别一般是采用离线的方法,根据用户历史行为数据进行分析、计算,从而得到用户的兴趣偏好。然而,用户的历史行为数据往往代表了用户在历史某个时刻的兴趣点,随着时间的衰减,用户的兴趣可能已经被满足或者发生了变化,如果仍然使用历史行为数据识别用户的兴趣,则存在准确性不高的缺陷。现有技术中,并不存在一种实时性强、准确性高的用户兴趣识别方法。



技术实现要素:

本申请实施例提供了一种实时用户兴趣识别方法及装置,可以通过用户的实时行为识别用户兴趣,识别准确性高、实时性强。

为此,本申请实施例提供如下技术方案:

第一方面,本申请实施例提供了一种实时用户兴趣识别方法,包括:获取实时用户行为数据,获得所述实时用户行为数据的特征向量;利用实时用户行为数据的时间特征、时间衰减参数、兴趣关系权重、所述实时用户行为数据的特征向量得到用户实时兴趣得分;根据所述实时用户兴趣得分确定所述用户的兴趣识别结果。

在一些实施方式中,所述实时用户行为数据的时间特征具体为实时用户行为的发生时间与当前时间的差值。

在一些实施方式中,所述兴趣关系权重具体为层次化兴趣点网络的参数矩阵。

在一些实施方式中,所述方法还包括:根据用户历史行为数据,获取用户历史兴趣得分;所述根据所述实时用户兴趣得分确定所述用户的兴趣识别结果包括:根据所述实时用户兴趣得分和所述用户历史兴趣得分确定所述用户的兴趣识别结果。

在一些实施方式中,所述方法还包括:根据用户历史行为数据,获取用户的兴趣点向量;根据所述用户的兴趣点向量得到兴趣点的相似度得分;所述根据所述实时用户兴趣得分确定所述用户的兴趣识别结果包括:根据所述实时用户兴趣得分和所述兴趣点的相似度得分确定所述用户的兴趣识别结果;或者,根据所述实时用户兴趣得分、所述用户历史兴趣得分以及所述兴趣点的相似度得分确定所述用户的兴趣识别结果。

第二方面,本申请实施例提供了实时用户兴趣识别方法,包括:获取实时用户行为数据,获得所述实时用户行为数据的特征向量,利用实时用户行为数据的时间特征、时间衰减参数、兴趣关系权重、所述实时用户行为数据的特征向量得到用户实时兴趣得分;根据用户历史行为数据,获取用户历史兴趣得分;根据用户历史行为数据,获取用户的兴趣点向量,根据所述用户的兴趣点向量得到兴趣点的相似度得分;根据所述实时用户兴趣得分、所述用户历史兴趣得分以及所述兴趣点的相似度得分确定所述用户的兴趣识别结果。

第三方面,本申请实施例提供了一种实时用户兴趣识别装置,包括:实时数据获得单元,用于获取实时用户行为数据,获得所述实时用户行为数据的特征向量;实时兴趣得分计算单元,用于利用实时用户行为数据的时间特征、时间衰减参数、兴趣关系权重、所述实时用户行为数据的特征向量得到用户实时兴趣得分;兴趣识别结果确定单元,用于根据所述实时用户兴趣得分确定所述用户的兴趣识别结果。

第四方面,本申请实施例提供了一种实时用户兴趣识别装置,包括:实时兴趣得分计算模块,用于获取实时用户行为数据,获得所述实时用户行为数据的特征向量,利用实时用户行为数据的时间特征、时间衰减参数、兴趣关系权重、所述实时用户行为数据的特征向量得到用户实时兴趣得分;历史兴趣得分计算模块,用于根据用户历史行为数据,获取用户历史兴趣得分;兴趣点相似度得分计算模块,用于根据用户历史行为数据,获取用户的兴趣点向量,根据所述用户的兴趣点向量得到兴趣点的相似度得分;兴趣识别结果确定模块,用于根据所述实时用户兴趣得分、所述用户历史兴趣得分以及所述兴趣点的相似度得分确定所述用户的兴趣识别结果。

第五方面,本申请实施例提供了一种用于实时用户兴趣识别的装置,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:获取实时用户行为数据,获得所述实时用户行为数据的特征向量;利用实时用户行为数据的时间特征、时间衰减参数、兴趣关系权重、所述实时用户行为数据的特征向量得到用户实时兴趣得分;根据所述实时用户兴趣得分确定所述用户的兴趣识别结果。

第六方面,本申请实施例提供了一种用于实时用户兴趣识别的装置,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:获取实时用户行为数据,获得所述实时用户行为数据的特征向量,利用实时用户行为数据的时间特征、时间衰减参数、兴趣关系权重、所述实时用户行为数据的特征向量得到用户实时兴趣得分;根据用户历史行为数据,获取用户历史兴趣得分;根据用户历史行为数据,获取用户的兴趣点向量,根据所述用户的兴趣点向量得到兴趣点的相似度得分;根据所述实时用户兴趣得分、所述用户历史兴趣得分以及所述兴趣点的相似度得分确定所述用户的兴趣识别结果。

第七方面,本申请实施例提供一种实时用户兴趣识别系统,包括实时计算服务器、离线计算服务器以及结果输出装置,其中:所述实时计算服务器用于获取实时用户行为数据,获得所述实时用户行为数据的特征向量,利用实时用户行为数据的时间特征、时间衰减参数、兴趣关系权重、所述实时用户行为数据的特征向量得到用户实时兴趣得分;所述离线计算服务器用于根据用户历史行为数据,获取用户历史兴趣得分;和/或,根据用户历史行为数据,获取用户的兴趣点向量,根据所述用户的兴趣点向量得到兴趣点的相似度得分;所述实时计算服务器还用于根据所述用户实时兴趣得分确定用户的兴趣识别结果;或者,根据所述用户实时兴趣得分、所述用户历史兴趣得分确定用户的兴趣识别结果;或者,根据所述用户实时兴趣得分、所述兴趣点的相似度得分确定用户的兴趣识别结果;或者,根据所述实时用户兴趣得分、所述用户历史兴趣得分以及所述兴趣点的相似度得分确定所述用户的兴趣识别结果;所述结果输出装置,用于输出所述用户的兴趣识别结果。

第八方面,本申请实施例提供一种实时计算服务器,包括:实时用户行为获取装置,用于获取实时用户行为数据;实时计算节点,用于获得所述实时用户行为数据的特征向量,利用实时用户行为数据的时间特征、时间衰减参数、兴趣关系权重、所述实时用户行为数据的特征向量得到用户实时兴趣得分;以及,根据所述用户实时兴趣得分确定用户的兴趣识别结果;或者,根据用户实时兴趣得分、用户历史兴趣得分确定用户的兴趣识别结果;或者,根据用户实时兴趣得分、兴趣点的相似度得分确定用户的兴趣识别结果;或者,根据实时用户兴趣得分、用户历史兴趣得分以及所述兴趣点的相似度得分确定所述用户的兴趣识别结果;其中,所述用户历史兴趣得分和/或兴趣点的相似度得分由离线计算服务器计算得到。

第九方面,本申请实施例提供一种离线计算服务器,包括:用户历史兴趣得分计算节点,用于根据用户历史行为数据,获取用户历史兴趣得分;兴趣点的相似度得分计算节点,用于根据用户历史行为数据,获取用户的兴趣点向量,根据所述用户的兴趣点向量得到兴趣点的相似度得分;输出装置,用于将所述用户历史兴趣得分和/或兴趣点的相似度得分输出至实时计算服务器以获得用户兴趣识别结果。

第十方面,本申请实施例提供一种交互装置,包括:输入模块,用于输入实时用户行为数据以及用户历史行为数据;传输模块,用于将所述输入模块输入的实时用户行为数据传输给实时计算服务器,以及,将所述输入模块输入的用户历史行为数据传输给离线计算服务器;输出模块,用于输出用户兴趣识别结果;其中,所述用户兴趣识别结果由所述实时计算服务器计算得到。

第十一方面,本申请实施例提供一种实时用户兴趣识别方法,应用于实时计算服务器,包括:获取实时用户行为数据;获得所述实时用户行为数据的特征向量,利用实时用户行为数据的时间特征、时间衰减参数、兴趣关系权重、所述实时用户行为数据的特征向量得到用户实时兴趣得分;根据所述用户实时兴趣得分确定用户的兴趣识别结果;或者,根据用户实时兴趣得分、用户历史兴趣得分确定用户的兴趣识别结果;或者,根据用户实时兴趣得分、兴趣点的相似度得分确定用户的兴趣识别结果;或者,根据实时用户兴趣得分、用户历史兴趣得分以及所述兴趣点的相似度得分确定所述用户的兴趣识别结果;其中,所述用户历史兴趣得分和/或兴趣点的相似度得分由离线计算服务器计算得到。

第十二方面,本申请实施例提供一种用户兴趣识别方法,应用于离线计算服务器,包括:根据用户历史行为数据,获取用户历史兴趣得分;根据用户历史行为数据,获取用户的兴趣点向量,根据所述用户的兴趣点向量得到兴趣点的相似度得分;将所述用户历史兴趣得分和/或兴趣点的相似度得分输出至实时计算服务器以获得用户兴趣识别结果。

本申请实施例提供的实时用户兴趣识别方法及装置,可以通过采集实时用户行为数据,考虑时间衰减因素对兴趣点识别结果的影响,利用实时用户行为数据的时间特征、时间衰减参数、兴趣关系权重、所述实时用户行为数据的特征向量得到用户实时兴趣得分,并根据用户实时兴趣得分获得用户兴趣识别结果,由此获得的结果更为可靠、精确、实时性强。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的用户兴趣识别系统示意图;

图2为本申请一实施例提供的实时用户兴趣识别方法流程图;

图3为本申请另一实施例提供的实时用户兴趣识别方法流程图;

图4为本申请一实施例提供的实时用户兴趣识别方法算法结构示意图;

图5为本申请一实施例提供的实时用户兴趣识别装置示意图;

图6为本申请又一实施例提供的实时用户兴趣识别装置示意图;

图7是根据一示例性实施例示出的一种用于实时用户兴趣识别装置的框图;

图8是根据一示例性实施例示出的一种用于实时用户兴趣识别装置的框图;

图9是本申请一实施例提供的实时计算服务器示意图;

图10是本申请一实施例提供的离线计算服务器示意图;

图11是本申请一实施例提供的交互装置示意图。

具体实施方式

本申请实施例提供了一种实时用户兴趣识别方法及装置,可以通过用户的实时行为识别用户兴趣,识别准确性高、实时性强。

为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

参见图1,为本申请实施例提供的用户兴趣识别系统示意图。本申请实施例提供的方法可以应用于如图1所示的用户兴趣识别系统,所述用户兴趣识别系统可以包括实时计算服务器900、离线计算服务器1000以及结果输出装置1100。所述结果输出装置可以是独立的装置,分别与实时计算服务器和离线计算服务器相连;所述结果输出装置也可以作为实时计算服务器的一部分而存在。其中,所述实时计算服务器900用于获取实时用户行为数据,获得所述实时用户行为数据的特征向量,利用实时用户行为数据的时间特征、时间衰减参数、兴趣关系权重、所述实时用户行为数据的特征向量得到用户实时兴趣得分。所述离线计算服务器1000用于根据用户历史行为数据,获取用户历史兴趣得分;和/或,根据用户历史行为数据,获取用户的兴趣点向量,根据所述用户的兴趣点向量得到兴趣点的相似度得分。所述实时计算服务器900还用于根据所述用户实时兴趣得分确定用户的兴趣识别结果;或者,根据所述用户实时兴趣得分、所述用户历史兴趣得分确定用户的兴趣识别结果;或者,根据所述用户实时兴趣得分、所述兴趣点的相似度得分确定用户的兴趣识别结果;或者,根据所述实时用户兴趣得分、所述用户历史兴趣得分以及所述兴趣点的相似度得分确定所述用户的兴趣识别结果;所述结果输出装置1100,用于输出所述用户的兴趣识别结果。

当然,本发明实施例还可以应用到其他场景中,在此不进行限制。需要注意的是,上述应用场景仅是为了便于理解本发明而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。

下面将结合附图2至附图4对本申请示例性实施例示出的实时用户兴趣识别方法进行介绍。

需要说明的是,在互联网领域,处理数据时一般会考虑大规模,实时性和精准性这几个指标。其中,大规模体现在数据处理方法可以支持海量用户,而用户量越大,获得的信息则越丰富;实时性体现在服务的响应时间短,算法越实时才能保证消息的时效性和价值;而精准性体现在算法能为这海量用户的每一位都提供正确的类别划分和个性化服务,而算法越精准,则收益越大。然而,大多数算法难以同时兼顾大规模、实时性、精准性三者。因此大多数一般会在三者之中进行相应的折中,如为了实现大规模的数据处理,提供离线算法对实时性和精准性进行折中是一种通用的做法。现有技术中的用户兴趣识别便是基于离线处理的,因此在实时性和精准性上存在一定的局限。本申请旨在提供一种精准的大规模实时用户兴趣识别算法,可以帮助电商领域卖家做合理的用户兴趣分类和实时精准营销,当然其应用并不局限于此。

参见图2,为本申请一实施例提供的实时用户兴趣识别方法流程图。如图2所示,可以包括:

s201,获取实时用户行为数据,获得所述实时用户行为数据的特征向量。

具体实现时,可以通过实时用户行为日志采集实时用户行为数据。所述用户行为数据可以包括不限于用户行为的发生时间、用户行为的类别、用户的信息、用户行为对应的商品信息。举例说明,用户行为的类别可以包括用户针对某一商品的浏览、收藏、添加购物车、购买等行为类型。用户的信息可以包括用户所在的终端信息、用户登录时长、用户在所述实时用户行为数据发生之前浏览的商品序列、用户实时行为持续的时长等信息。用户行为对应的商品信息可以包括商品的品牌、商品的价格、商品所属的类目等信息。需要说明的是,可以提取用户行为数据包括的一个或者多个信息作为用户行为数据的特征向量。所述用户行为数据的特征向量可以是抽象表达成一个m维度的向量x。在一些实施方式中,所述用户行为数据的特征向量x至少包括用户的信息、用户行为对应的商品信息以及用户行为类别。本申请对用户行为数据的特征向量x包括的用户特征的种类不进行限定。

s202,利用实时用户行为数据的时间特征、时间衰减参数、兴趣关系权重、所述实时用户行为数据的特征向量得到用户实时兴趣得分。

申请人发现,用户的兴趣识别结果的准确性受到时间衰减因素的影响。举例说明,每一个用户对商品的行为的记忆程度可以用艾宾浩斯记忆曲线来表示:

y=1-0.56x0.06

其中,y代表记忆程度,x代表时间(单位可以为小时)。从以上公示可以看出,随着时间的增长,用户对商品的记忆程度呈衰减趋势。因此,在本申请不仅通过采集实时用户行为获得用户兴趣识别结果,还考虑了时间因素的影响。

具体实现时,所述实时用户行为数据的时间特征具体为实时用户行为的发生时间与当前时间的差值。举例说明,可以使用δt表示当前时间和实时用户行为时间的差值。所述时间衰减参数可以包括时间衰减因子和时间衰减系数。所述兴趣关系权重具体为层次化兴趣点网络的参数矩阵。

在一些实施方式中,可以通过以下公式获得用户实时兴趣得分scorerealtime:

其中δt是当前时间和实时用户行为的发生时间的差值,σ是时间衰减因子,λ是时间衰减系数。wi代表兴趣关系权重,wi会在线实时更新,xt是输入参数即用户行为特征向量。值得说明的一点是wi,xt都是矩阵。具体实现时,wi具体为层次化兴趣点网络的参数矩阵,n代表层次化兴趣点网络模型的层数。

在一些实施方式中,可以通过建立层次化兴趣点网络模型获得用户实时兴趣得分。如图4所示,层次化兴趣点网络模型可以是通过实时或者离线的方式采用多级网络结构进行建立的模型。如图4所示,层次化兴趣点网络的参数包括两部分:网络中的每一个圈代表一个兴趣点,网络从左到右对兴趣的抽象程度越来越强,最右端是兴趣输出端,是高度抽象的兴趣类别;另外一个参数是层与层之前的边,代表着兴趣关系权重。网络的这两个参数都可以进行实时和离线更新。具体实现时,在构造层次化兴趣点网络模型时,可以根据输入层特征是m维度的向量x,逐层训练网络中的兴趣点,得到每个兴趣点的参数向量w,同一层次内的n个兴趣点构成矩阵m*n的矩阵w。当第一层训练好后,在第一层的基础上对第二层网络进行训练,直到最后一层。公式(1)中的wi则代表每一层网络的参数矩阵,其是行为实体和兴趣点的映射关系矩阵。需要说明的是,模型的建立以及参数的更新可以基于离线数据,也可以基于实时数据。

在构建层次化兴趣点网络模型后,即可以利用公式(1)得到实时兴趣得分。其中,每个用户行为均可以用特征向量x表示,根据公示(1)可以得到这次用户实时行为的兴趣分数。其中,scorerealtime的维度是最后一层网络的兴趣点数目,向量的每一个数值代表某个兴趣的得分。

在一些实施方式中,可以直接通过实时用户兴趣得分确定用户的兴趣识别结果。举例说明,假设scorerealtime是一个2维向量,可以将2个兴趣点均作为兴趣识别结果。当然,也可以将得分高的兴趣类别作为最终的识别结果。本申请对如何根据实时用户兴趣得分确定用户的兴趣识别结果的方式不进行限定。

在一些实施方式中,考虑到用户长期偏好对用户的兴趣识别结果的影响,可以通过离线历史兴趣点模型获取用户历史兴趣得分。例如,可以根据用户历史行为数据,获取用户历史兴趣得分。在确定用户的兴趣识别结果时,可以根据所述实时用户兴趣得分和所述用户历史兴趣得分确定所述用户的兴趣识别结果。例如,为实时用户兴趣得分和用户历史兴趣得分赋予不同的权重以获得最后的兴趣识别结果。

在一些实施方式中,为了获得用户的潜在兴趣,还可以根据兴趣相似度模型获得兴趣点的相似度得分。例如,可以根据用户历史行为数据,获取用户的兴趣点向量;根据所述用户的兴趣点向量得到兴趣点的相似度得分。在确定用户的兴趣识别结果时,可以根据所述实时用户兴趣得分和所述兴趣点的相似度得分确定所述用户的兴趣识别结果。例如,为实时用户兴趣得分和兴趣点的相似度得分赋予不同的权重以获得最后的兴趣识别结果。当然,在一些实施方式中,可以综合考虑这3个因素的影响,根据所述实时用户兴趣得分、所述用户历史兴趣得分以及所述兴趣点的相似度得分确定所述用户的兴趣识别结果,由此获得更加准确的结果。

为了便于本领域技术人员更清楚地理解本申请在具体场景下的实施方式,下面以一个具体示例对本申请实施方式进行介绍。需要说明的是,该具体示例仅为使得本领域技术人员更清楚地了解本申请,但本申请的实施方式不限于该具体示例。

参见图3,为本申请一实施例提供的实时用户兴趣识别方法流程图。如图3所示,可以包括:

s301,获取实时用户行为数据,获得所述实时用户行为数据的特征向量,利用实时用户行为数据的时间特征、时间衰减参数、兴趣关系权重、所述实时用户行为数据的特征向量得到用户实时兴趣得分。

s302,根据用户历史行为数据,获取用户历史兴趣得分。

s303,根据用户历史行为数据,获取用户的兴趣点向量,根据所述用户的兴趣点向量得到兴趣点的相似度得分。

s304,根据所述实时用户兴趣得分、所述用户历史兴趣得分以及所述兴趣点的相似度得分确定所述用户的兴趣识别结果。

需要说明的是,s301、s302和s303并没有必然的先后执行顺序,其顺序可以颠倒地执行,也可以并行地执行。

下面结合图4对图3予以说明。参见图4,为申请一实施例提供的实时用户兴趣识别方法算法结构示意图。本申请的算法结构可以包括3部分,分别为实时用户兴趣模型,离线用户兴趣点模型和兴趣相似度模型。其中,实时用户兴趣模型保证了算法的实时精准性,而离线用户兴趣点模型提供了用户长期兴趣偏好,兴趣相似度模型提供用户的潜在兴趣。三部分加权得出实时兴趣分数。其中,实时兴趣分数由如下公式计算得出:

score=α*scorerealtime+β*scoreoffline+γ*scoresimilarity(2)

α+β+γ=1(3)

其中,α,β,γ是三类模型的得分权重,权重比例归一化为1。其中,α小于等于1。当α=1,β=0,γ=0时,即为图2所示实施例提供的方法。

其中,scorerealtime是实时兴趣用户模型得分,scoreoffline是离线用户兴趣得分(又可以称为用户历史兴趣得分),scoresimilarity是用户兴趣相似度得分(又可以称之为兴趣点的相似度得分)。

实时用户模型包括两部分:一部分是实时用户行为序列,另外一部分是层次化兴趣点模型。实时化行为序列记录用户和行为主体的时间戳和行为类型,而层次化的兴趣点模型是通过实时或者离线的方式采用多级网络结构进行建立的模型。网络的参数包括两部分,每一个圈代表一个兴趣点,网络从左到右对兴趣的抽象程度越来越强,最右端是兴趣输出端,是高度抽象的兴趣类别;另外一个参数是层与层之前的边,代表着兴趣关系权重。网络的这两个参数都可以进行实时和离线更新。具体实现时,在构造层次化兴趣点网络模型时,可以根据输入层特征是m维度的向量x,逐层训练网络中的兴趣点,得到每个兴趣点的参数向量w,同一层次内的n个兴趣点构成矩阵m*n的矩阵w。当第一层训练好后,在第一层的基础上对第二层网络进行训练,直到最后一层。公式(1)中的wi则代表每一层网络的参数矩阵,其是行为实体和兴趣点的映射关系矩阵。需要说明的是,模型的建立以及参数的更新可以基于离线数据,也可以基于实时数据。

在构建层次化兴趣点网络模型后,即可以利用公式(1)得到实时兴趣得分。其中,每个用户行为均可以用特征向量x表示,根据公示(1)可以得到这次用户实时行为的兴趣分数。其中,scorerealtime的维度是最后一层网络的兴趣点数目,向量的每一个数值代表某个兴趣的得分。

考虑到用户的长期偏好对用户兴趣的影响,本申请通过离线模型获取用户的长期偏好。特别是在无法获得实时行为的时候,离线模型会起到显著的作用。离线模型可以采用基于行为和基于内容两种方式对兴趣点进行建模。基于行为的兴趣点模型可以采用层次化聚类的方式,而基于内容的模型可以采用titleembedding的方式进行。具体地,离线建模方式可以利用用户的兴趣点样本,使用模型(例如dnn)进行多分类训练,输出的是一个离线模型model。离线模型model可以对历史行为进行多分类的打分,得到历史的兴趣分数scoreoffline,历史兴趣分数是一个向量,每一个维度都是兴趣点分数。

为了预测用户的潜在兴趣,可以通过兴趣相似度模型得到用户兴趣相似度得分。举例说明,从日志系统中能够获取到用户的行为数据,对于一个特定用户将其行为按时间排序,并将行为作用的对象商品抽象成为一个兴趣点c。于是得到如下行为序列:

其中,ui表示用户i,cij表示用户i的第j次行为的兴趣点。

具体实现时,将用户的这些行为序列视为一段“自然”的文本,而将所有用户的这些“行为文本”视为最终的训练“语料”。使用基于神经网络的语言模型对“文本”进行训练,得到这些兴趣点的进行wordembedding(词嵌入,是一种词的向量化表示方法)编码。这里将兴趣点的编码结果标记为有了兴趣点的向量编码后,就可以基于向量来计算兴趣点的相似性。具体可以采用余弦相似性作为评价兴趣点的相似度。通过这一步计算,能够得到任意2个兴趣点的相似性得分,并将这个得分作为兴趣点扩散的依据。

其中,embedding的目标函数为:

这里训练数据集为c,context(c)为商品(或者兴趣点)c在训练集中的上下文环境。通过商品的embedding也可以得出商品簇(兴趣点)的相似度。

由此,可以获得用户的潜在兴趣。举例说明,假设通过实时用户兴趣模型或者离线兴趣模型确定用户对品牌耐克nike感兴趣,通过兴趣相似度得分可以确定出用户是否对类似的运动品牌阿迪达斯adidas感兴趣,由此可以预测出用户的潜在兴趣类别。

在这一实施例中,综合考虑了实时用户兴趣、用户长期偏好以及用户潜在兴趣对用户兴趣识别结果的影响,由此得到的识别结果更为准确。

需要说明的是,以上从实时用户兴趣识别系统整体上执行的方法的角度对本申请提供的实时用户兴趣识别方法进行了介绍。对应地,本申请实施例还提供了实时计算服务器侧执行的方法以及离线计算服务器执行的方法。在一些实施方式中,本申请实施例还提供了一种应用于实时计算服务器的实时用户兴趣识别方法,包括以下步骤:a、获取实时用户行为数据;b、获得所述实时用户行为数据的特征向量,利用实时用户行为数据的时间特征、时间衰减参数、兴趣关系权重、所述实时用户行为数据的特征向量得到用户实时兴趣得分;c、根据所述用户实时兴趣得分确定用户的兴趣识别结果;或者,根据用户实时兴趣得分、用户历史兴趣得分确定用户的兴趣识别结果;或者,根据用户实时兴趣得分、兴趣点的相似度得分确定用户的兴趣识别结果;或者,根据实时用户兴趣得分、用户历史兴趣得分以及所述兴趣点的相似度得分确定所述用户的兴趣识别结果;其中,所述用户历史兴趣得分和/或兴趣点的相似度得分由离线计算服务器计算得到。具体的实现可以参照图2至图4所示的方法而进行。

在一些实施方式中,本申请实施例还提供了一种应用于离线计算服务器的用户兴趣识别方法,包括以下步骤:a'、根据用户历史行为数据,获取用户历史兴趣得分;b'、根据用户历史行为数据,获取用户的兴趣点向量,根据所述用户的兴趣点向量得到兴趣点的相似度得分;c'、将所述用户历史兴趣得分和/或兴趣点的相似度得分输出至实时计算服务器以获得用户兴趣识别结果。具体的实现可以参照图2至图4所示的方法而进行。

下面对本申请实施例提供的方法对应的设备进行介绍。

参见图5,为本申请一实施例提供的实时用户兴趣识别装置示意图。

一种实时用户兴趣识别装置500,包括:

实时数据获得单元501,用于获取实时用户行为数据,获得所述实时用户行为数据的特征向量。

实时兴趣得分计算单元502,用于利用实时用户行为数据的时间特征、时间衰减参数、兴趣关系权重、所述实时用户行为数据的特征向量得到用户实时兴趣得分。

兴趣识别结果确定单元503,用于根据所述实时用户兴趣得分确定所述用户的兴趣识别结果。

在一些实施方式中,所述实时兴趣得分计算单元502具体用于利用实时用户行为的发生时间与当前时间的差值、时间衰减参数、兴趣关系权重、所述实时用户行为数据的特征向量得到用户实时兴趣得分。

在一些实施方式中,所述实时兴趣得分计算单元502具体用于利用用户行为数据的时间特征、时间衰减参数、层次化兴趣点网络的参数矩阵、所述实时用户行为数据的特征向量得到用户实时兴趣得分。

在一些实施方式中,所述装置还包括:

历史兴趣得分计算单元,用于根据用户历史行为数据,获取用户历史兴趣得分;

所述兴趣识别结果确定单元503具体用于根据所述实时用户兴趣得分和所述用户历史兴趣得分确定所述用户的兴趣识别结果。

在一些实施方式中,所述装置还包括:

兴趣相似度得分计算单元,具体用于根据用户历史行为数据,获取用户的兴趣点向量;根据所述用户的兴趣点向量得到兴趣点的相似度得分;

所述兴趣识别结果确定单元503具体用于根据所述实时用户兴趣得分和所述兴趣点的相似度得分确定所述用户的兴趣识别结果;或者,根据所述实时用户兴趣得分、所述用户历史兴趣得分以及所述兴趣点的相似度得分确定所述用户的兴趣识别结果。

参见图6,为本申请一实施例提供的实时用户兴趣识别装置示意图。

一种实时用户兴趣识别装置600,包括:

实时兴趣得分计算模块601,用于获取实时用户行为数据,获得所述实时用户行为数据的特征向量,利用实时用户行为数据的时间特征、时间衰减参数、兴趣关系权重、所述实时用户行为数据的特征向量得到用户实时兴趣得分;

历史兴趣得分计算模块602,用于根据用户历史行为数据,获取用户历史兴趣得分;

兴趣点相似度得分计算模块603,用于根据用户历史行为数据,获取用户的兴趣点向量,根据所述用户的兴趣点向量得到兴趣点的相似度得分;

兴趣识别结果确定模块604,用于根据所述实时用户兴趣得分、所述用户历史兴趣得分以及所述兴趣点的相似度得分确定所述用户的兴趣识别结果。

参见图7,是本申请另一实施例提供的数据通信的装置的框图。包括:至少一个处理器701(例如cpu),存储器702和至少一个通信总线703,用于实现这些装置之间的连接通信。处理器701用于执行存储器702中存储的可执行模块,例如计算机程序。存储器702可能包含高速随机存取存储器(ram:randomaccessmemory),也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器701执行所述一个或者一个以上程序包含用于进行以下操作的指令:

获取实时用户行为数据,获得所述实时用户行为数据的特征向量;

利用实时用户行为数据的时间特征、时间衰减参数、兴趣关系权重、所述实时用户行为数据的特征向量得到用户实时兴趣得分;

根据所述实时用户兴趣得分确定所述用户的兴趣识别结果。

在一些实施方式中,处理器701具体用于执行所述一个或者一个以上程序包含用于进行以下操作的指令:利用实时用户行为的发生时间与当前时间的差值、时间衰减参数、兴趣关系权重、所述实时用户行为数据的特征向量得到用户实时兴趣得分。

在一些实施方式中,处理器701具体用于执行所述一个或者一个以上程序包含用于进行以下操作的指令:利用用户行为数据的时间特征、时间衰减参数、层次化兴趣点网络的参数矩阵、所述实时用户行为数据的特征向量得到用户实时兴趣得分。

在一些实施方式中,处理器701具体用于执行所述一个或者一个以上程序包含用于进行以下操作的指令:根据用户历史行为数据,获取用户历史兴趣得分;根据所述实时用户兴趣得分和所述用户历史兴趣得分确定所述用户的兴趣识别结果。

在一些实施方式中,处理器701具体用于执行所述一个或者一个以上程序包含用于进行以下操作的指令:根据用户历史行为数据,获取用户的兴趣点向量;根据所述用户的兴趣点向量得到兴趣点的相似度得分;根据所述实时用户兴趣得分和所述兴趣点的相似度得分确定所述用户的兴趣识别结果;或者,根据所述实时用户兴趣得分、所述用户历史兴趣得分以及所述兴趣点的相似度得分确定所述用户的兴趣识别结果。

参见图8,是本申请另一实施例提供的数据通信的装置的框图。包括:至少一个处理器801(例如cpu),存储器802和至少一个通信总线803,用于实现这些装置之间的连接通信。处理器801用于执行存储器802中存储的可执行模块,例如计算机程序。存储器802可能包含高速随机存取存储器(ram:randomaccessmemory),也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器801执行所述一个或者一个以上程序包含用于进行以下操作的指令:获取实时用户行为数据,获得所述实时用户行为数据的特征向量,利用实时用户行为数据的时间特征、时间衰减参数、兴趣关系权重、所述实时用户行为数据的特征向量得到用户实时兴趣得分;根据用户历史行为数据,获取用户历史兴趣得分;根据用户历史行为数据,获取用户的兴趣点向量,根据所述用户的兴趣点向量得到兴趣点的相似度得分;根据所述实时用户兴趣得分、所述用户历史兴趣得分以及所述兴趣点的相似度得分确定所述用户的兴趣识别结果。

其中,本申请装置各单元或模块的设置可以参照图2至图4所示的方法而实现,在此不赘述。

参见图9,为本申请一实施例提供的实时计算服务器示意图。所述实时计算服务器900可以包括实时用户行为获取装置901以及实时计算节点902。其中,所述实时用户行为获取装置901用于获取实时用户行为数据。所述实时计算节点902用于获得所述实时用户行为数据的特征向量,利用实时用户行为数据的时间特征、时间衰减参数、兴趣关系权重、所述实时用户行为数据的特征向量得到用户实时兴趣得分;以及,根据所述用户实时兴趣得分确定用户的兴趣识别结果;或者,根据用户实时兴趣得分、用户历史兴趣得分确定用户的兴趣识别结果;或者,根据用户实时兴趣得分、兴趣点的相似度得分确定用户的兴趣识别结果;或者,根据实时用户兴趣得分、用户历史兴趣得分以及所述兴趣点的相似度得分确定所述用户的兴趣识别结果;其中,所述用户历史兴趣得分和/或兴趣点的相似度得分由离线计算服务器计算得到。

参见图10,为本申请一实施例提供的离线计算服务器示意图。所述离线计算服务器1000可以包括用户历史兴趣得分计算节点1001、兴趣点的相似度得分计算节点1002、输出装置1003。其中,所述,用户历史兴趣得分计算节点1001用于根据用户历史行为数据,获取用户历史兴趣得分。所述兴趣点的相似度得分计算节点1002用于根据用户历史行为数据,获取用户的兴趣点向量,根据所述用户的兴趣点向量得到兴趣点的相似度得分。所述输出装置1003用于将所述用户历史兴趣得分和/或兴趣点的相似度得分输出至实时计算服务器以获得用户兴趣识别结果。

参见图11,为本申请一实施例提供的交互装置示意图。

一种交互装置1200包括:

输入模块1201,用于输入实时用户行为数据以及用户历史行为数据;

传输模块1202,用于将所述输入模块输入的实时用户行为数据传输给实时计算服务器,以及,将所述输入模块输入的用户历史行为数据传输给离线计算服务器;

输出模块1203,用于输出用户兴趣识别结果;其中,所述用户兴趣识别结果由所述实时计算服务器计算得到。

需要说明的是,在这一实施例中,交互装置1200用于与使用所述交互装置1200的用户进行交互,输入数据为实时用户行为数据以及用户历史行为数据,输出的结果为用户兴趣识别结果。所述交互装置1200还可以与实时计算服务器以及离线计算服务器相连,用于分别向所述实时计算服务器传输所述输入模块输入的实时用户行为数据以及向离线计算服务器传输所述输入模块输入的用户历史行为数据。所述实时计算服务器具体可以为如图9所示的结构并可以实现相同的功能。对应地,所述离线计算服务器具体可以为图10所示的结构并实现相同的功能。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。

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

以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。以上所述仅是本申请的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

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