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

文档序号:12471770阅读:190来源:国知局
信息推荐方法及装置与流程

本公开涉及互联网技术领域,尤其涉及信息推荐方法及装置。



背景技术:

随着网络技术的发展,一方面,使得用户可获取大量的不同类型的信息;但同时,另一方面,也造成了网络信息的混乱,使得用户需要在大量的信息中,花费时间和精力去筛选出需要的信息。

因此,针对用户行为,包括用户的日常访问习惯、兴趣点等,进行用户行为预测分析,并依此为用户推荐其需要信息成为亟待解决的技术问题。



技术实现要素:

为克服相关技术中存在的问题,本公开提供一种信息推荐方法及装置。

根据本公开实施例的第一方面,提供一种信息推荐方法,包括:

确定目标信息,并获取与所述目标信息相关联的用户历史行为数据及用户信息;

根据所述用户信息和所述用户历史行为数据确定训练集数据,计算所述目标信息的特征值向量;

根据待筛选用户的属性值列表和所述特征值向量确定目标用户;以及

向所述目标用户推荐所述目标信息。

在一个实施例中,所述根据所述用户信息和所述用户历史行为数据确定训练集数据,计算所述目标信息的特征值向量的步骤包括:

根据所述用户信息和所述用户历史行为数据确定训练集数据;

将所述训练集数据按照预设规则进行转换,并输入spark运算平台进行迭代运算,以获得所述特征值向量。

在一个实施例中,所述根据待筛选用户的属性值列表和所述特征值向量确定目标用户的步骤包括:

按照预设拆分规则,对所述待筛选用户的属性值列表进行拆分;

通过spark运算平台,将拆分后的待筛选用户的属性值列表分别与所述特征值向量进行笛卡尔运算;

将运算结果进行排序;

将排序在预设范围内的运算结果所对应的待筛选用户作为所述目标用户。

在一个实施例中,所述预设拆分规则包括以下其中之一:以数量为依据进行拆分、以用户信息为依据进行拆分。

在一个实施例中,所述用户历史行为数据包括以下至少一种:网页浏览数据、购物数据和与目标信息相关的历史选择数据。

根据本公开实施例的第二方面,提供一种信息推荐方法,包括:

获取预设用户的用户历史行为数据及用户信息;

根据所述用户信息和所述用户历史行为数据确定训练集数据,计算所述预设用户的特征值向量;

根据待推荐目标信息的属性值列表和所述特征值向量确定目标信息;以及

将所述目标信息推荐给所述预设用户。

在一个实施例中,所述根据所述用户信息和所述用户历史行为数据确定训练集数据,计算所述预设用户的特征值向量的步骤包括:

根据所述用户信息和所述用户历史行为数据确定训练集数据;

将所述训练集数据按照预设规则进行转换,并输入spark运算平台进行迭代运算,以获得所述特征值向量。

在一个实施例中,所述根据待推荐目标信息的属性值列表和所述特征值向量确定目标信息的步骤包括:

按照预设拆分规则,对所述待推荐目标信息的属性值列表进行拆分;

通过spark运算平台,将拆分后的待推荐目标信息的属性值列表分别与所述特征值向量进行笛卡尔运算;

将所述运算结果进行排序;

将排序在预设范围内的运算结果所对应的待推荐目标信息作为所述目标信息。

在一个实施例中,所述预设拆分规则包括以下其中之一:以数量为依据进行拆分、以用户信息为依据进行拆分。

在一个实施例中,所述用户历史行为数据包括以下至少一种:网页浏览数据、购物数据和与待推荐目标信息相关的历史选择数据。

根据本公开实施例的第三方面,提供一种信息推荐装置,包括:

第一获取模块,被配置为确定目标信息,并获取与所述目标信息相关联的用户历史行为数据及用户信息;

第一计算模块,被配置为根据所述用户信息和所述用户历史行为数据确定训练集数据,计算所述目标信息的特征值向量;

目标用户确定模块,被配置为根据待筛选用户的属性值列表和所述特征值向量确定目标用户;以及

第一推荐模块,被配置为向所述目标用户推荐所述目标信息。

在一个实施例中,所述第一计算模块包括:

第一训练集数据确定子模块,被配置为根据所述用户信息和所述用户历史行为数据确定训练集数据;

第一迭代运算子模块,被配置为将所述训练集数据按照预设规则进行转换,并输入spark运算平台进行迭代运算,以获得所述特征值向量。

在一个实施例中,所述目标用户确定模块包括:

第一拆分子模块,被配置为按照预设拆分规则,对所述待筛选用户的属性值列表进行拆分;

第一计算子模块,被配置为通过spark运算平台,将拆分后的待筛选用户的属性值列表分别与所述特征值向量进行笛卡尔运算;

第一排序子模块,被配置为将所述第一计算子模块的运算结果进行排序;

目标用户确定子模块,被配置为将排序在预设范围内的运算结果所对应的待筛选用户作为所述目标用户。

在一个实施例中,所述预设拆分规则包括以下其中之一:以数量为依据进行拆分、以用户信息为依据进行拆分。

在一个实施例中,所述用户历史行为数据包括以下至少一种:网页浏览数据、购物数据和与目标信息相关的历史选择数据。

根据本公开实施例的第四方面,提供一种信息推荐装置,包括:

第二获取模块,被配置为获取预设用户的用户历史行为数据及用户信息;

第二计算模块,被配置为根据所述用户信息和所述用户历史行为数据确定训练集数据,计算所述预设用户的特征值向量;

推荐目标信息确定模块,被配置为根据待推荐目标信息的属性值列表和所述特征值向量确定目标信息;以及

第二推荐模块,被配置为将所述目标信息推荐给所述预设用户。

在一个实施例中,所述第二计算模块包括:

第二训练集数据确定子模块,被配置为根据所述用户信息和所述用户历史行为数据确定训练集数据;

第二迭代运算子模块,被配置为将所述训练集数据按照预设规则进行转换,并输入spark运算平台进行迭代运算,以获得所述特征值向量。

在一个实施例中,所述推荐目标信息确定模块包括:

第二拆分子模块,被配置为按照预设拆分规则,对所述待推荐目标信息的属性值列表进行拆分;

第二计算子模块,被配置为通过spark运算平台,将拆分后的待推荐目标信息的属性值列表分别与所述特征值向量进行笛卡尔运算;

第二排序子模块,被配置为将第二计算子模块的运算结果进行排序;

推荐目标信息确定子模块,被配置为将排序在预设范围内的运算结果所对应的待推荐目标信息作为所述目标信息。

在一个实施例中,所述预设拆分规则包括以下其中之一:以数量为依据进行拆分、以用户信息为依据进行拆分。

在一个实施例中,所述用户历史行为数据包括以下至少一种:网页浏览数据、购物数据和与待推荐目标信息相关的历史选择数据。

根据本公开实施例的第五方面,提供一种信息推荐装置,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为:

确定目标信息,并获取与所述目标信息相关联的用户历史行为数据及用户信息;

根据所述用户信息和所述用户历史行为数据确定训练集数据,计算所述目标信息的特征值向量;

根据待筛选用户的属性值列表和所述特征值向量确定目标用户;以及

向所述目标用户推荐所述目标信息。

根据本公开实施例的第六方面,提供一种信息推荐装置,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为:

获取预设用户的用户历史行为数据及用户信息;

根据所述用户信息和所述用户历史行为数据确定训练集数据,计算所述预设用户的特征值向量;

根据待推荐目标信息的属性值列表和所述特征值向量确定目标信息;以及

将所述目标信息推荐给所述预设用户。

根据本公开实施例的第七方面,提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行一种信息推荐方法,所述方法包括:

确定目标信息,并获取与目标信息相关联的用户历史行为数据及用户信息;

根据所述用户信息和所述用户历史行为数据确定训练集数据,计算所述目标信息的特征值向量;

根据待筛选用户的属性值列表和所述特征值向量确定目标用户;以及

向所述目标用户推荐所述目标信息。

根据本公开实施例的第八方面,提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行一种信息推荐方法,所述方法包括:

获取预设用户的用户历史行为数据及用户信息;

根据所述用户信息和所述用户历史行为数据确定训练集数据,计算所述预设用户的特征值向量;

根据待推荐目标信息的属性值列表和所述特征值向量确定目标信息;以及

将所述目标信息推荐给所述预设用户。

本公开的实施例提供的技术方案可以包括以下有益效果:可通过分析用户信息和用户历史行为数据,对用户进行准确的信息推荐,为用户获取有用信息节省时间,可极大提高用户体验;且在特征值计算阶段,利用spark的分布式的特点,中间数据放到内存中,可以选择更适合的迭代次数,设计更合理的辅助参数,可快速迭代出对应的特征值向量,提升性能;在实际结果预测阶段,利用spark并行计算的特点,可快速根据特征值向量得到预测结果,提高信息推荐和运营行为的准确,可对所有的用户进行对应属性的预测。

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

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1是根据一示例性实施例示出的一种信息推荐方法的流程图;

图2是根据又一示例性实施例示出的一种信息推荐方法的流程图;

图3是根据一示例性实施例给出的预设类型音乐的推荐方法的流程示意图;

图4是根据又一示例性实施例示出的一种信息推荐方法的流程图;

图5是根据又一示例性实施例示出的一种信息推荐方法的流程图;

图6是根据一示例性实施例示出的一种信息推荐装置框图;

图7是根据又一示例性实施例示出的一种信息推荐装置框图;

图8是根据一示例性实施例示出的一种用于信息推荐的装置框图;

图9是根据一示例性实施例示出的网络架构示意图;

图10是根据一示例性实施例示出的设备接收到信息推荐装置的信息推荐的界面示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

参见图1,是根据一示例性实施例示出的一种信息推荐方法的流程图。该信息推荐方法包括以下步骤:

在步骤101中、确定目标信息,并获取与目标信息相关联的用户历史行为数据及用户信息。

在一个实施例中,目标信息比如可以是预设商品信息或预设应用信息等。以下以预设商品信息为例具体说明,原理相同,其它目标信息的方法不再一一赘述。

预设商品信息包括以下其中之一:预设风格类型的音乐、预设专辑、预设歌手的音乐,等。用户历史行为数据包括以下至少一种:网页浏览数据、购物数据和与目标信息相关的历史选择数据。网页浏览数据可为预设时长内的数据,例如,从相关服务器中,提取一周内、一月内或一季度内的网页浏览数据。同样的,购物数据和与目标信息相关的历史选择数据也可为预设时长内的数据。

应理解,由于逻辑回归算法是机器学习算法中的一种,可以通过对大量训练集数据的学习、训练过程,识别出入参变量(即选取的用户历史行为数据)中各个特征与预测结果之间的关联程度,其关联程度可以通过参数Wi体现出来(关联程度低的特征值对应的参数值通常会比较小,甚至为0),因此只要是与目标信息可能有关联的数据都可选作用户历史行为数据。

由于,大部分网站都有专门用于记录用户网页浏览的历史行为数据、购物数据等的服务器或者实时系统,用户在客户端设备展示的网页上执行的各种浏览行为数据、所选购的商品等信息可以通过打点等方式上传。服务器或者实时系统接收这些数据后通常以日志文件的形式进行存储。因此,网页浏览数据、购物数据可以从这些日志文件中获取。

与网页浏览数据和购物数据相关的用户信息、商品属性信息等既可以从上述日志文件中获取,也可以从用于存储用户信息和商品信息的数据库中查询获取。

与目标信息相关的历史选择数据是与目标信息相关的,可包括:用户对历史推送信息的选择数据、相关应用的使用数据等。例如,若目标信息是风格类型为A的音乐,则与目标信息相关的历史选择数据包括:用户对历史推送信息的选择数据、用户的音乐播放记录数据等。其中,用户对历史推送信息的选择数据包括:当对用户进行信息A的推送时,用户对信息A的关注情况(例如,是否进行点击的情况)。信息A可为与风格类型为A的音乐相关的信息。用户的音乐播放记录数据可包括:使用各类应用软件进行音乐播放的数据。例如,这些应用软件可包括:专用音乐播放软件、社交类应用软件等。

与目标信息相关的历史选择数据可从相关服务器或者实时系统的日志文件中获取。

在一个实施例中,用户信息包括:用户标识、性别、年龄、学历、住址、职业等。用户历史行为数据包括:网页浏览记录、购物记录、与预设用户行为属性相关的历史行为数据。具体的用户信息和用户历史行为数据可根据目标信息需要进行选取。

在步骤102中、根据用户信息和用户历史行为数据确定训练集数据,计算目标信息的特征值向量。

在本发明的一实施例中,采用逻辑回归算法,根据用户信息和用户历史行为数据确定训练集数据,计算目标信息的特征值向量。逻辑回归算法,也称Logit模型,是离散选择法模型之一,属于多重变量分析范畴,通常用于类别的判定或者事件发生概率的预测。

在本公开的一实施例中,特征值向量是根据用户信息和用户历史行为数据所确定的训练样本的特征值所合成的向量集合。建立Logit模型的过程,其实就是求解一组特征值向量(即权值)W0、W1、……、Wm的过程。

假设训练集数据中有n个独立的训练样本{(x1,y1),(x2,y2),...,(xn,yn)},y={0,1}。其中的xi是上述维度为m的入参变量,每一个观察到的样本(xi,yi)出现的概率是:

P(yi,xi)=P(yi=1|xi)yi(1-P(yi=1|xi))1-yi (公式1)

由于每个样本都是独立的,n个样本出现的概率就是各自出现的概率相乘,从而可以得到整个训练集数据中n个独立的样本出现的似然函数,随后求解使得下述公式1中的似然函数取值最大时的各个系数W0、W1、……、Wm的值。

上述公式1中的W就是待求解的包含W0、W1、……、Wm的m维特征值向量,由于训练集数据中各个样本的xi和yi都是已知的,因此可以直接代入公式1,从而得到一组非线性表达式,然后采用梯度下降法或者牛顿-拉斐森迭代法等数学方法,求解出上述似然函数取值最大时的各个W0、W1、……、Wm参数的值,即计算出了特征值向量。

在本发明的一实施例中,根据目标信息确定用户信息和用户历史行为数据中需选取哪些数据作为建模过程中所需的训练集数据。

在一个具体实施例中,若目标信息为风格类型为A的音乐,则选取购买数据、用户对历史推送信息的选择数据、用户的音乐播放记录数据作为用户历史行为数据,以及用户信息作为训练集数据。其中,用户信息包括:用户标识、性别、年龄、职业、家庭状况、学历和收入水平等。用户信息中的年龄可进一步细分为多个属性,例如,年龄为12到18作为一个属性,年龄为18到24作为一个属性,年龄24到36作为一个属性,年龄36到48作为一个属性,年龄48到60作为一个属性,年龄60以上作为一个属性。购买数据包括:VIP用户购买数据。用户的音乐播放记录数据包括:音乐播放类型、听歌时长、专辑播放情况。其中,听歌时长可进一步细分为多个属性,例如,0到10分钟作为一个属性、10到30分钟作为一个属性、30-60分钟作为一个属性、60分钟以上作为一个属性。用户对历史推送信息的选择数据包括:对所推送信息的关注情况,例如,对所推荐信息进行点击或不点击。

在一个实施例中,用户历史行为数据的信息(例如,购买数据、用户对历史推送信息的选择数据、用户的音乐播放记录数据等)及用户信息中的信息(例如,用户标识、性别、年龄、职业、家庭状况、学历和收入水平等)即可构成该用户的属性信息。例如,某一用户的属性信息可包括以下信息中的一者或多者:用户信息中的用户标识、性别、年龄、职业、家庭状况、学历、收入水平等,以及用户历史行为数据中的选取购买数据、用户对历史推送信息的选择数据、用户的音乐播放记录数据等信息。这些属性信息即可构成用户的属性值列表。

在一个实施例中,可预先进行信息的推送,以获取用户对历史推送信息的选择数据。还可分别获取关注该推送信息的用户(例如,进行点击)的属性和未关注该推送信息(例如,未点击)用户的属性。

确定了训练集数据后,就按照上述的公式1和公式2相关进行特征值向量的计算。

在步骤103中,根据待筛选用户的属性值列表和特征值向量确定目标用户。求出特征值向量后,按照特征值向量与待筛选用户的属性值列表进行加权求和,求出每一待筛选用户对应的Z值,如下所示:

Z=W0+W1*X1+……+Wm*Xm (公式3)

其中,X1、X2、……、Xm即为待筛选用户的属性值列表。公式3中的Z也经常写作函数g(X),然后按照如下的sigmoid函数的形式求出变量P的值:

该变量P的值域为[0,1],代表了在当前入参变量的情况下,某事件发生(Y=1)的概率。在本发明的实施例中,变量P即为待筛选用户对目标信息感兴趣的概率。

在一个实施例中,可将待筛选用户对目标信息感兴趣的概率进行排序,并将排序在预设范围内的待筛选用户作为目标用户。

在步骤104中,向目标用户推荐目标信息。

向目标用户推荐目标信息可通过直接发送推荐信息、邮件推送、短信推送等等方式。

本公开实施例的信息推荐方法,可通过分析用户信息和用户历史行为数据,对用户进行准确的信息推荐,为用户获取有用信息节省时间,可极大提高用户体验。

参见图2,是根据又一示例性实施例示出的一种信息推荐方法的流程图。该信息推荐方法包括以下步骤:

在步骤201中、确定目标信息,并获取与目标信息相关联的用户历史行为数据及用户信息。在步骤202中,根据用户信息和用户历史行为数据确定训练集数据,将训练集数据按照预设规则进行转换,并输入spark运算平台进行迭代运算,以获得特征值向量。

Spark运算平台,是一种通用并行框架,启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载,配合完成低延迟的数据分析应用。

在该实施例中,为了提高运算效率,将训练集数据按照预设规则进行转换,并输入spark运算平台进行迭代运算,以获得特征值向量。预设规则进行转换,实际是将数据的编码格式等转换为spark运算平台可识别的格式。Spark运算平台进行运算,获得稳定的特征值向量后,将其返回。返回的特征值向量需进行验证,以确定其准确性。

在迭代的过程中,需使得迭代出的特征值向量是稳定、准确的。而影响特征值向量稳定和准确的因素包括:迭代次数和变量参数。其中,变量参数是逻辑回归算法中,为了提高准确率,额外增加的一个属性。在一些实施例中,变量参数可设为浮点数1.0。当在迭代次数的调整不能获得稳定的特征值向量时,可通过调整变量参数的方式,使得特征值向量稳定。

本公开实施例,通过利用Spark运算平台进行迭代,由于spark分布式运算的特点,可使得迭代次数和变量参数的设置更加容易,大大提升性能。

在步骤203中,按照预设拆分规则,对待筛选用户的属性值列表进行拆分。

通过spark运算平台的平行计算,可大大的提高运算效率。拆分是充分利用了spark并行计算的特点,拆分后的数据将由spark进行并行计算,计算结束后,再进行计算结果的汇总即可。其中,在一个实施例中,预设拆分规则包括以下其中之一:以数量为依据进行拆分、以用户信息为依据进行拆分。

以数量为依据进行拆分,即若待筛选用户的数量为1000万,则可拆分为100组数据,每组10万用户,由此,可使得100组数据并行进行运算,提高运算效率。

以用户信息为依据进行拆分,则可以用户信息中的性别属性或者年龄属性等信息为依据进行拆分,例如,将待筛选用户按照性别属性或年龄属性划分为多组数据,并行进行运算。采用以用户信息为依据进行拆分的方式,还可分别获得不同性别、不同年龄段的预测数据,为后续的整理带来便捷。

在步骤204中,通过spark运算平台,将拆分后的待筛选用户的属性值列表分别与特征值向量进行笛卡尔运算。

获得的运算结果可表征每一个待筛选用户对目标信息感兴趣的概率。

由于预测阶段即概率计算阶段,实际是用属性值列表同特征向量去做笛卡尔积,当特征值向量维度较多,且待预测数据为海量时,在计算阶段进行拆分,交由spark去并行计算,提高计算效率。

在步骤205中,将运算结果进行排序。

按照步骤203进行数据拆分,并行运算后获得的概率,将spark计算的结果进行汇总,对结果按照预测值进行分类。在一个实施例中,可设置一阈值,当计算得到的用户对目标信息感兴趣的概率大于阈值时,认为感兴趣,小于则认为不感兴趣,并将感兴趣的部分再进行排序。

在步骤206中,将排序在预设范围内的运算结果所对应的待筛选用户作为目标用户。

预设范围可根据需要进行设置,例如,设置为排序在前20万的为目标用户。

在步骤207中,将目标信息推荐给目标用户。

应理解,该实施例中的用户信息、用户历史行为数据等和上述图1所示实施例相同。且上述图1所示实施例中的特征值向量计算方法、待筛选用户对目标信息感兴趣的概率计算方法等同样适用本实施例,在此不再赘述。

本公开实施例的信息推荐方法,可通过分析用户信息和用户历史行为数据,对用户进行准确的信息推荐,为用户获取有用信息节省时间,可极大提高用户体验;且在特征值计算阶段,利用spark的分布式的特点,中间数据放到内存中,可以选择更适合的迭代次数,设计更合理的辅助参数,可快速迭代出对应的特征值向量,提升性能;在实际结果预测阶段,利用spark并行计算的特点,可快速根据特征值向量得到预测结果,提高信息推荐和运营行为的准确,可对所有的用户进行对应属性的预测。

本公开实施例的信息推荐方法,推荐的目标信息比如可以是预设商品信息或预设应用信息等。以下以预设商品信息为例具体说明,原理相同,其它目标信息的方法不再一一赘述。预设商品信息包括以下其中之一:预设风格类型的音乐、预设专辑、预设歌手的音乐,等。

参见图3,是根据一示例性实施例给出的预设类型音乐的推荐方法的流程示意图。

在步骤301中,获取与目标信息相关联的用户信息和用户历史行为数据。

由于目标信息为预设类型音乐(例如,流行类音乐、轻音乐、摇滚类音乐等等),因此,获取的用户信息包括:用户标识、性别、年龄、职业、家庭状况、学历和收入水平。用户历史行为数据包括:购买数据、用户的音乐播放记录数据、用户对历史推送信息的选择数据。其中,购买数据包括:VIP用户购买数据。用户的音乐播放记录数据包括:音乐播放类型、听歌时长、专辑播放情况。其中,听歌时长可进一步细分为多个属性,例如,0到10分钟作为一个属性、10到30分钟作为一个属性、30-60分钟作为一个属性、60分钟以上作为一个属性。用户对历史推送信息的选择数据包括:对所推荐信息的关注情况。所推荐信息可为与预设类型的音乐相关的信息,例如,相关歌手的新闻、相关帖子等。

在步骤302中,确定入参变量的各个特征,从用户历史行为数据和用户信息中提取相应数据,生成多个训练样本,所有训练样本共同组成训练集数据。

为了提高推荐的准确性,根据目标信息灵活确定入参变量的各个特征。在一个实施例中,当目标信息为预设类型音乐的推荐时,可选取性别、年龄、是否点击过推送信息、听过的音乐类型、听音乐的时长、是否听过类似音乐、是否为会员等作为入参变量的各个特征,并从用户信息和用户历史行为数据中提取相应的数据,生成多个训练样本,所有训练样本共同组成训练集数据。

在步骤303中,使用训练集数据,确定迭代次数和变量参数,利用spark运算平台计算特征值向量。

由于逻辑回归中的迭代次数和变量参数对结果可能会产生一定影响,故往往需要多次计算,并对特征值向量进行分析,选取合适的特征值向量。在逻辑回归的迭代阶段交由spark运算平台进行处理,充分利用spark快速迭代出特征值向量。

在该实施例中,获得的特征值向量包括性别、年龄、是否点击过推送信息、听过的音乐类型、听音乐的时长、是否听过类似音乐、是否为会员的取值。

如上,利用spark运算平台进行处理时,需要进行数据格式的转换。

在步骤304中,对特征值向量进行稳定性验证。

可采用多种方式进行特征值向量稳定性的验证,例如,通过历史数据验证、AUC指标验证法等等。

在步骤305中,根按照预设拆分规则,对待筛选用户的属性值列表进行拆分,通过spark运算平台,将拆分后的待筛选用户的属性值列表分别与特征值向量进行笛卡尔运算。

获得的运算结果,即每一个待筛选用户对目标信息感兴趣的概率。

待筛选用户的属性值列表是与特征值向量相对应的,由上特征值向量包括性别、年龄、是否点击过推送信息、听过的音乐类型、听音乐的时长、是否听过类似音乐、是否为会员的值,则待筛选用户的属性值列表中至少包括以下属性:性别、年龄、是否点击过推送信息、听过的音乐类型、听音乐的时长、是否听过类似音乐、是否为会员。

在步骤306中,将待筛选用户的对目标信息感兴趣的概率进行排序,将排序在预设范围内的待筛选用户作为目标用户。

在步骤307中,将预设类型音乐推荐给目标用户。

上述图1所示实施例中的特征值向量计算方法、待筛选用户对目标信息感兴趣的概率计算方法等同样适用本实施例,在此不再赘述。

本公开实施例的信息推荐方法,可通过分析用户信息和用户历史行为数据,对用户进行准确的音乐类型的推荐,为用户节省时间,可极大提高用户体验且在特征值计算阶段,利用spark的分布式的特点,中间数据放到内存中,可以选择更适合的迭代次数,设计更合理的辅助参数,可快速迭代出对应的特征值向量,提升性能;在实际结果预测阶段,利用spark并行计算的特点,可快速根据特征值向量得到预测结果,提高信息推荐和运营行为的准确,可对所有的用户进行对应属性的预测。

参见图4,是根据又一示例性实施例示出的一种信息推荐方法的流程图。该信息推荐方法包括以下步骤:

在步骤401中、获取预设用户的用户历史行为数据及用户信息。

在一个实施例中,用户信息包括:用户标识、性别、年龄、学历、住址、职业等。用户历史行为数据包括:网页浏览数据、购物数据和与待推荐目标信息相关的历史选择数据。具体的用户信息和用户历史行为数据可根据推荐需要进行选取。

用户信息和用户历史行为数据可从相关服务器或者实时系统的日志文件中获取。

在步骤402中、根据用户信息和用户历史行为数据确定训练集数据,计算预设用户的特征值向量。

在本发明的一实施例中,采用逻辑回归算法,根据用户信息和用户历史行为数据确定训练集数据,计算预设用户的特征值向量。逻辑回归算法,也称Logit模型,是离散选择法模型之一,属于多重变量分析范畴,通常用于类别的判定或者事件发生概率的预测。

建立Logit模型的过程,其实就是求解一组特征值向量(即权值)W0、W1、……、Wm的过程。假设训练集数据中有n个独立的训练样本{(x1,y1),(x2,y2),...,(xn,yn)},y={0,1}。其中的xi是上述维度为M的入参变量,每一个观察到的样本(xi,yi)出现的概率是:

P(yi,xi)=P(yi=1|xi)yi(1-P(yi=1|xi))1-yi (公式1)

由于每个样本都是独立的,n个样本出现的概率就是各自出现的概率相乘,从而可以得到整个训练集数据中n个独立的样本出现的似然函数,随后求解使得下述公式1中的似然函数取值最大时的各个系数W0、W1、……、Wm的值。

上述公式1中的W就是待求解的包含W0、W1、……、Wm的M维特征值向量,由于训练集数据中各个样本的xi和yi都是已知的,因此可以直接代入公式1,从而得到一组非线性表达式,然后采用梯度下降法或者牛顿-拉斐森迭代法等数学方法,求解出上述似然函数取值最大时的各个W0、W1、……、Wm参数的值,即计算出了特征值向量。

在本发明的一实施例中,根据预设用户确定用户信息和用户历史行为数据中需选取哪些数据作为建模过程中所需的训练集数据。确定了训练集数据后,就按照上述的公式1和公式2相关进行特征值向量的计算。

在步骤403中、根据待推荐目标信息的属性值列表和特征值向量确定目标信息。求出特征值向量后,按照特征值向量与待推荐目标信息的属性值列表进行加权求和,求出每一待推荐目标信息对应的Z值,如下所示:

Z=W0+W1*X1+……+Wm*Xm(公式3)

其中,X1、X2、……、Xm即为待推荐目标信息的属性值列表。公式3中的Z也经常写作函数g(X),然后按照如下的sigmoid函数的形式求出变量P的值:

该变量P的值域为[0,1],代表了在当前入参变量的情况下,某事件发生(Y=1)的概率。在本发明的实施例中,变量P即为预设用户对每一个待推荐目标信息感兴趣的概率。

在一个实施例中,将预设用户对每一个待推荐目标信息感兴趣的概率进行排序;将排序在预设范围内的待推荐目标信息作为目标信息。

在步骤404中,将目标信息推荐给预设用户。

该实施例和上述图1所示实施例的区别在于,图1所示实施例是先确定要推荐的目标信息,然后利用逻辑回归算法和spark运算平台获得目标用户,并将确定的目标信息推荐给目标用户。而该实施例,是先确定目标用户群,然后采用逻辑回归算法和spark运算平台获取该目标用户群感兴趣的目标信息,并将感兴趣信息推荐给目标用户群。

本公开实施例的信息推荐方法,可通过分析用户信息和用户历史行为数据,对用户进行准确的信息推荐,为用户获取有用信息节省时间,可极大提高用户体验。

参见图5,是根据又一示例性实施例示出的一种信息推荐方法的流程图。该信息推荐方法包括以下步骤:

在步骤501中、确定预设用户,并获取用户历史行为数据及用户信息。

在步骤502中,根据用户信息和用户历史行为数据确定训练集数据,将训练集数据按照预设规则进行转换,并输入spark运算平台进行迭代运算,以获得特征值向量。

在该实施例中,为了提高运算效率,将训练集数据按照预设规则进行转换,并输入spark运算平台进行迭代运算,以获得特征值向量。预设规则进行转换,实际是将数据的编码格式等转换为spark运算平台可识别的格式。Spark运算平台进行运算,获得稳定的特征值向量后,将其返回。返回的特征值向量需进行验证,以确定其准确性。

在迭代的过程中,需使得迭代出的特征值向量是稳定、准确的。而影响特征值向量稳定和准确的因素包括:迭代次数和变量参数。其中,变量参数是逻辑回归算法中,为了提高准确率,额外增加的一个属性。在一些实施例中,变量参数可设为浮点数1.0。当在迭代次数的调整不能获得稳定的特征值向量时,可通过调整变量参数的方式,使得特征值向量稳定。

本公开实施例,通过利用Spark运算平台进行迭代,由于spark分布式运算的特点,可使得迭代次数和变量参数的设置更加容易,大大提升性能。

在步骤503中,按照预设拆分规则,对待推荐目标信息的属性值列表进行拆分。

通过spark运算平台的平行计算,可大大的提高运算效率。拆分是充分利用了spark并行计算的特点,拆分后的数据将由spark进行并行计算,计算结束后,再进行计算结果的汇总即可。其中,在一个实施例中,预设拆分规则包括以下其中之一:以数量为依据进行拆分、以用户信息为依据进行拆分。

在步骤504中,通过spark运算平台,将拆分后的待推荐目标信息的属性值列表分别与特征值向量进行笛卡尔运算。

获得的运算结果可用于表征预设用户对每一个待推荐目标信息感兴趣的概率。

由于预测阶段即概率计算阶段,实际是用属性值列表同特征向量去做笛卡尔积,当特征值向量维度较多,且待预测数据为海量时,在计算阶段进行拆分,交由spark去并行计算,提高计算效率。

在步骤505中,将运算结果进行排序。

在步骤506中,将排序在预设范围内的待推荐目标信息作为目标信息。

在步骤507中,将确定的目标信息推荐给预设用户。

在一个实施例中,预设用户可为某20万用户,目标信息比如可以是预设商品信息或预设应用信息等。以下以预设商品信息为例具体说明,原理相同,其它目标信息的方法不再一一赘述。

预设商品信息包括以下其中之一:预设风格类型的音乐、预设专辑、预设歌手的音乐,等。应理解,该实施例中的用户信息、用户历史行为数据等和上述图4所示实施例相同。且上述图4所示实施例中的特征值向量计算方法、预设用户对每一个待推荐目标信息感兴趣的概率计算方法等同样适用本实施例,在此不再赘述。

本公开实施例的信息推荐方法,可通过分析用户信息和用户历史行为数据,对用户进行准确的信息推荐,为用户获取有用信息节省时间,可极大提高用户体验;且在特征值计算阶段,利用spark的分布式的特点,中间数据放到内存中,可以选择更适合的迭代次数,设计更合理的辅助参数,可快速迭代出对应的特征值向量,提升性能;在实际结果预测阶段,利用spark并行计算的特点,可快速根据特征值向量得到预测结果,提高信息推荐和运营行为的准确,可对所有的用户进行对应属性的预测。

图6是根据一示例性实施例示出的一种信息推荐装置框图。参照图6,该信息推荐装置600包括第一获取模块601,第一计算模块602和第一推荐模块603。

第一获取模块601,被配置为确定目标信息,并获取与目标信息相关联的用户历史行为数据及用户信息;

第一计算模块602,被配置为根据用户信息和用户历史行为数据确定训练集数据,计算目标信息的特征值向量;

目标用户确定模块603,被配置为根据待筛选用户的属性值列表和特征值向量确定目标用户

第一推荐模块604,被配置为向目标用户推荐目标信息。;

第一计算模块602包括:

第一训练集数据确定子模块6021,被配置为根据所述用户信息和所述用户历史行为数据确定训练集数据。

第一迭代运算子模块6022,被配置为将训练集数据按照预设规则进行转换,并输入spark运算平台进行迭代运算,以获得特征值向量。

目标用户确定模块603包括:

第一拆分子模块6031,被配置为按照预设拆分规则,对待筛选用户的属性值列表进行拆分;

第一计算子模块6042,被配置为通过spark运算平台,将拆分后的待筛选用户的属性值列表分别与特征值向量进行笛卡尔运算。其中,预设拆分规则包括以下其中之一:以数量为依据进行拆分、以用户信息为依据进行拆分。

第一排序子模块6033,被配置为将预设结果进行排序;

目标用户确定子模块6034,被配置为将排序在预设范围内的待筛选用户作为目标用户。

图7是根据又一示例性实施例示出的一种信息推荐装置框图。参照图7,该信息推荐装置700包括第二获取模块701,第二计算模块702和第二推荐模块703。

第二获取模块701,被配置为获取预设用户的用户历史行为数据及用户信息;

第二计算模块702,被配置为根据用户信息和用户历史行为数据确定训练集数据,计算预设用户的特征值向量;

目标信息确定模块703,被配置为根据待推荐目标信息的属性值列表和特征值向量确定目标信息;

第二推荐模块703,被配置为将推荐信息推荐给预设用户。

第二计算模块702包括:

第二训练集数据确定子模块7021,被配置为根据所述用户信息和所述用户历史行为数据确定训练集数据;

第二迭代运算子模块7022,被配置为将训练集数据按照预设规则进行转换,并输入spark运算平台进行迭代运算,以获得特征值向量。

目标信息确定模块703包括:

第二拆分子模块7031,被配置为按照预设拆分规则,对待推荐目标信息的属性值列表进行拆分;

第二计算子模块7032,被配置为通过spark运算平台,将拆分后的待推荐目标信息的属性值列表分别与特征值向量进行笛卡尔运算;

第二排序子模块7033,被配置为将运算结果进行排序;

目标信息确定子模块7034,被配置为将排序在预设范围内的待推荐目标信息作为目标信息。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

图8是根据一示例性实施例示出的一种用于信息推荐的装置800的框图。例如,装置800可以被提供为一服务器。参照图8,装置800包括处理组件801,其进一步包括一个或多个处理器,以及由存储器802所代表的存储器资源,用于存储可由处理组件801的执行的指令,例如应用程序。存储器802中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件801被配置为执行指令,以执行上述信息推荐方法。

装置800还可以包括一个电源组件803被配置为执行装置800的电源管理,一个有线或无线网络接口804被配置为将装置800连接到网络,和一个输入输出(I/O)接口805。装置800可以操作基于存储在存储器802的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。

参见图9是根据一示例性实施例示出的网络架构示意图。信息推荐装置800接入网络904,可向同样接入网络的设备900、设备902……进行信息推荐。信息推荐装置800可执行上述的信息推荐方法,获得目标用户,然后通过网络904向其进行信息推荐;或获得推荐信息,通过网络904向预设用户进行信息推荐。

本公开的信息推荐装置800可推荐的目标信息可包括:音乐、电影、数据产品、各类生活用品、房产等。

设备900-903可为手机、平板电脑、台式电脑、便携式电脑、电子书、个人数字助理、可穿戴式设备等。

参见图10,是根据一示例性实施例示出的设备接收到信息推荐装置的信息推荐的界面示意图。通过实施上述方法快速获得待推荐目标信息后,信息推荐装置可向各类设备进行精准的信息推送。以设备900为例,当其收到信息推荐装置推送的信息后,可在其显示界面进行显示,以供用户选择。由于本公开通过分析用户信息和用户历史行为数据,对用户进行准确的信息推荐,为用户获取有用信息节省时间的同时,还可极大的提高推荐信息被点击的概率,不会对用户造成骚扰。

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

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

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