CN107644042B - 软件程序点击率预估排序方法及服务器 - Google Patents

软件程序点击率预估排序方法及服务器 Download PDF

Info

Publication number
CN107644042B
CN107644042B CN201610584612.9A CN201610584612A CN107644042B CN 107644042 B CN107644042 B CN 107644042B CN 201610584612 A CN201610584612 A CN 201610584612A CN 107644042 B CN107644042 B CN 107644042B
Authority
CN
China
Prior art keywords
software
user
preset
data
variable
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610584612.9A
Other languages
English (en)
Other versions
CN107644042A (zh
Inventor
陈曦
王建明
肖京
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201610584612.9A priority Critical patent/CN107644042B/zh
Publication of CN107644042A publication Critical patent/CN107644042A/zh
Application granted granted Critical
Publication of CN107644042B publication Critical patent/CN107644042B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

一种软件程序点击率预估排序方法,包括:获取带有用户基本信息数据的软件推荐请求;将该用户基本数据转换成0、1二值变量;将转成的二值变量作为模型的特征维度代入预先生成的分析模型中,以分析出该用户对各软件的倾向分值,并基于各软件对应的倾向分值,按照预设的分析规则确定出待推荐的软件,向该用户发送推荐确定出的软件的消息。本发明还提供一种适用于上述方法的服务器。本发明可以基于用户的基本信息数据分析出用户可能感兴趣的软件。

Description

软件程序点击率预估排序方法及服务器
技术领域
本发明涉及数据评估技术领域,特别是一种基于机器学习的软件程序点击率预估排序方法及服务器。
背景技术
随着互联网,特别是社会化网络的快速发展,我们正处于信息过载的时代。用户面对过量的信息很难找到自己真正感兴趣的内容,而内容提供商也很难把优质的内容准确推送给感兴趣的用户。推荐系统被认为是解决这些问题的有效方法,它对用户的历史行为进行挖掘,对用户兴趣进行建模,并对用户未来的行为进行预测,从而建立了用户和内容的关系。
目前,现有的产品推荐算法主要是针对用户是否会购买某一产品的业务场景,推荐算法的目标变量是0或1。但是对某些APP产品,我们希望能预测用户对APP上软件的点击率排序,此时的目标变量不再是0或1。现有的推荐算法难以处理目标变量非0或1的业务场景,因此,如何对APP上软件的点击率进行排序已经成为一个亟待解决的技术问题。
发明内容
鉴于以上内容,有必要提供一种软件程序点击率预估排序方法,其可以基于机器学习的方法预估软件程序点击率的排序。
一种软件程序点击率预估排序方法,包括:
获取带有用户基本信息数据的软件推荐请求;
将该用户基本数据转换成0、1二值变量;
将转成的二值变量作为模型的特征维度代入预先生成的分析模型中,以分析出该用户对各软件的倾向分值,并基于各软件对应的倾向分值,按照预设的分析规则确定出待推荐的软件,向该用户发送推荐确定出的软件的消息。
本发明较佳实施例中,所述用户基本信息数据包括用户的性别、年龄、职业、是否拥有某产品。
本发明较佳实施例中,所述将该用户基本数据转换成0、1二值变量的方法包括:基本数据中属于离散变量的采用哑变量转换方式,属于连续变量的采用分箱转换方式,以及属于缺失值的采用-1替换。
本发明较佳实施例中,所述预设的分析规则包括:
按照各软件对应的倾向分值的预设大小顺序,按顺序为各软件进行排序,确定出倾向分值大于预设值的软件作为待推荐的软件;或者
按照各软件对应的倾向分值的预设大小顺序,按顺序为各软件进行排序,若所述预设大小顺序为从大到小顺序,则确定出排序在前的预设数量的软件作为待推荐的软件,若所述预设大小顺序为从小到大顺序,则确定出排序在后的预设数量的软件作为待推荐的软件。
本发明较佳实施例中,所述分析模型的建立包括:
将预设数量用户的基本信息数据和点击各个软件的频数作为样本数据,其中,各个用户的基本信息数据作为自变量,将各个用户点击各个软件的频数作为目标变量;
取出第一预设比例的用户的样本数据作为训练集,并将剩余的用户的样本数据作为测试集;
将训练集中的各个用户的所有基本数据转成0、1二值变量,并将训练集中的各个用户的目标变量转成0、1二值变量;
计算训练集中的各个用户各特征维度与各软件的相关系数,并通过训练集中的各个用户对各软件的点击率排序训练各相关系数的权重,进而构建出基于计算出的各特征维度与各软件的相关系数及对应的权重的分析模型。
鉴于以上内容,还有必要提供一种适用于上述方法的服务器,其可以基于机器学习的方法预估软件程序点击率的排序。
一种适用于上述方法的服务器,该服务器包括存储设备以及处理器,其中:
所述存储设备,用于存储一个软件程序点击率预估排序系统;
所述处理器,用于调用并执行所述软件程序点击率预估排序系统,以执行如下步骤:
获取带有用户基本信息数据的软件推荐请求;
将该用户基本数据转换成0、1二值变量;
将转成的二值变量作为模型的特征维度代入预先生成的分析模型中,以分析出该用户对各软件的倾向分值,并基于各软件对应的倾向分值,按照预设的分析规则确定出待推荐的软件,向该用户发送推荐确定出的软件的消息。
本发明较佳实施例中,所述用户基本信息数据包括用户的性别、年龄、职业、是否拥有某产品。
本发明较佳实施例中,所述将该用户基本数据转换成0、1二值变量的方法包括:基本数据中属于离散变量的采用哑变量转换方式,属于连续变量的采用分箱转换方式,以及属于缺失值的采用-1替换。
本发明较佳实施例中,所述预设的分析规则包括:
按照各软件对应的倾向分值的预设大小顺序,按顺序为各软件进行排序,确定出倾向分值大于预设值的软件作为待推荐的软件;或者
按照各软件对应的倾向分值的预设大小顺序,按顺序为各软件进行排序,若所述预设大小顺序为从大到小顺序,则确定出排序在前的预设数量的软件作为待推荐的软件,若所述预设大小顺序为从小到大顺序,则确定出排序在后的预设数量的软件作为待推荐的软件。
本发明较佳实施例中,所述分析模型的建立包括:
将预设数量用户的基本信息数据和点击各个软件的频数作为样本数据,其中,各个用户的基本信息数据作为自变量,将各个用户点击各个软件的频数作为目标变量;
取出第一预设比例的用户的样本数据作为训练集,并将剩余的用户的样本数据作为测试集;
将训练集中的各个用户的所有基本数据转成0、1二值变量,并将训练集中的各个用户的目标变量转成0、1二值变量;
计算训练集中的各个用户各特征维度与各软件的相关系数,并通过训练集中的各个用户对各软件的点击率排序训练各相关系数的权重,进而构建出基于计算出的各特征维度与各软件的相关系数及对应的权重的分析模型。
本发明所述软件程序点击率预估排序方法及适用于上述方法的服务器,通过机器学习方法建立软件程序评估的分析模型,根据该分析模型分析出用户对各软件程序的倾向分值,并可以根据软件程序的倾向分值为所述用户推荐软件程序。
附图说明
图1是本发明软件程序点击率预估排序系统第一较佳实施例的硬件环境示意图。
图2是本发明软件程序点击率预估排序系统第二较佳实施例的硬件环境示意图。
图3是本发明软件程序点击率预估排序系统较佳实施例的功能模块图。
图4是本发明软件程序点击率预估排序方法较佳实施例的方法流程图。
图5是本发明软件程序点击率预估排序方法较佳实施例中生成分析模型的实施流程图。
图6是本发明用于建立分析模型的数据的样例。
图7是图6中的数据转换后的数据格式。
图8是基于计算出的各特征维度与各软件的相关系数及对应的权重的分析模型。
图9是转换为具有排序值的目标变量的数据集。
具体实施方式
参阅图1所示,是本发明软件程序点击率预估排序系统第一较佳实施例的硬件环境示意图。
本实施例中,所述软件程序点击率预估排序系统2可以安装并运行于一台服务器1中。所述服务器1可以通过通讯模块(未图示)与至少一台终端设备3通讯连接。所述终端设备3可以是个人电脑、智能手机、平板电脑等设备。所述终端设备3包括输入设备30及显示设备31。
所述服务器1可以包括有处理器以及存储设备(未图示)。所述处理器是服务器1的运算核心(Core Unit)和控制核心(Control Unit),用于解释计算机指令以及处理计算机软件中的数据。所述存储设备可以是一个或者多个非易失性存储设备,如ROM、EPROM或Flash Memory(快闪存储设备)等。所述存储设备可以内置或者外接于所述服务器1。
本实施例中,所述软件程序点击率预估排序系统2可以是一种计算机软件,其包括计算机可执行的程序指令代码,该程序指令代码可以存储于所述存储设备中,在所述处理器的执行下,实现下述功能:在接收到终端设备3通过其输入设备30输入的带有用户基本信息数据的软件推荐请求后,将该用户基本数据转换成0、1二值变量,将转成的二值变量作为模型的特征维度代入预先生成的分析模型中,以分析出该用户对各软件的倾向分值,并基于各软件对应的倾向分值,按照预设的分析规则确定出待推荐的软件,向该用户发送推荐确定出的软件的消息,并显示于终端设备3的显示设备31上。
其中,所述用户基本信息数据包括,但不是限制,用户的性别、年龄、职业、是否拥有某产品等等。
所述将该用户基本数据转换成0、1二值变量的方法包括,例如,基本数据中属于离散变量的采用哑变量转换方式,属于连续变量的采用分箱转换方式,以及属于缺失值的采用-1替换等。
所述哑变量又称虚拟变量(Dummy Variables)、虚设变量、名义变量等,用以反映质的属性的人工变量,是量化了的自变量,通常取值为0或1。例如,反映文化程度的虚拟变量可取为:1:本科学历;0:非本科学历。一般地,在虚拟变量的设置中:基础类型、肯定类型取值为1;比较类型,否定类型取值为0。
所述分箱是将某个自变量的值分为k个分箱,本发明较佳实施例中,k为2。例如,将年龄这个变量分为2个分箱,其中小于等于40岁为一个分箱,大于40岁为另一个分箱,并将小于等于40岁的分箱赋值为1,以及大于40岁的另一个分箱赋值为0。
本发明较佳实施例中,所述预设的分析规则为:
按照各软件对应的倾向分值的预设大小顺序(例如,从大到小顺序或者从小到大顺序),按顺序为各软件进行排序,确定出倾向分值大于预设值(例如,70分)的软件作为待推荐的软件;或者
按照各软件对应的倾向分值的预设大小顺序(例如,从大到小顺序或者从小到大顺序),按顺序为各软件进行排序,若所述预设大小顺序为从大到小顺序,则确定出排序在前的预设数量(例如,2个)的软件作为待推荐的软件,若所述预设大小顺序为从小到大顺序,则确定出排序在后的预设数量的软件作为待推荐的软件。
本发明较佳实施例中,所述分析模型的建立过程如下:
第一步:将预设数量(例如,10万个)用户的基本信息数据(例如,性别、年龄、职业、是否拥有某产品等等)和点击各个软件的频数作为样本数据,其中,各个用户的基本信息数据作为自变量,将各个用户点击各个软件的频数作为目标变量。其中,所述预设数量用户的基本信息数据和点击各个软件的频数可以从一个数据库4中获取。
所述数据的样例如下图6所示。
其中,图6中所示的字段说明如下:
Party_id:客户号;
Sex:性别;
Age:年龄;
Life_cycle:人生阶段;
Prof:职业;
Pc_flag:是否产险用户;
Card_flag:是否信用卡用户;
Bank_flag:是否银行用户;
Hold_child_flag:是否持有子女教育险产品;
target:点击软件ID;
Lable:点击软件频数。
第二步:提取出第一预设比例(例如,70%)的用户的样本数据作为训练集,并将剩余的用户的样本数据作为测试集。
第三步:将训练集中的各个用户的所有基本数据(例如,性别、年龄、职业、是否拥有某产品等等)转成0、1二值变量(例如,所述基本数据中的离散变量采用哑变量转换方式,所述基本数据中的连续变量采用分箱转换方式,以及所述基本数据中的缺失值采用-1替换),并将训练集中的各个用户的目标变量转成0、1二值变量(例如,采用哑变量转换方式,将各个目标变量转化为0、1二值变量)。转换后的数据格式如图7所示。
第四步:计算训练集中的各个用户各特征维度(即由用户的所有基本数据转成的0、1二值变量)与各软件的相关系数,并通过训练集中的各个用户对各软件的点击率排序训练各相关系数的权重,进而构建出基于计算出的各特征维度与各软件的相关系数及对应的权重的分析模型。所述模型构造如图8所示。
其中,所述相关系数的计算包括:
首先,计算用户的各特征维度与各软件的相关系数,设用户的特征维度为{u1,u2,...,uN},这里的特征维度即为图7中的序号2-28的自变量。软件集合为{T1,T2,...,TN}。所述软件集合中的软件即为图7中的序号29-31的变量。在计算相关性的阶段,不需要考虑点击各软件的频率,只需考虑是否点击过软件。因此可以直接根据序号2-31的变量计算各特征维度与各软件的相关系数。相关性计算采用皮尔逊相关系数。所述皮尔逊相关系数是一种度量两个变量间相关程度的方法。它是一个介于1和-1之间的值,其中,1表示变量完全正相关,0表示无关,-1表示完全负相关。最终计算出了所有特征维度与所有软件的相关系数cor(ui,Ti)。
进一步地,所述特征权重w学习包括:
不同的特征维度对目标的影响程度不一样,因此很有必要训练各特征维度的权重。本算法由于目标变量具有相对排序值,因此我们采用ranknet算法训练特征的权重。具体步骤如下:
首先将原始点击数据转换成目标变量为排序值的新数据,数据集总共有软件A、B、C。用户A点击了A软件,那么用户A的点击数据将转化为3条新数据。分别代表点击A、点击B、点击C。
点击A的新数据的自变量为用户A的各特征维度与A软件的相关系数与用户A的特征维度值的乘积值。即为:
u′i=ui*cor(ui,pA)
目标变量为用户A点击A的点击频率。
点击B的新数据的自变量为用户A的各特征维度与B产品的相关系数与用户A的特征维度值的乘积值。即为:
u′i=ui*cor(ui,pB)
目标变量为用户A点击B软件的点击频率。
点击C的新数据的自变量为用户A的各特征维度与C产品的相关系数与用户A的特征维度值的乘积值。即为:
u′i=ui*cor(ui,pC)
目标变量为用户A点击C软件的点击频率。
得到新数据后,利用Ranknet算法,即可训练出各特征维度的参数。
图9所示,为样例转换后的数据集。
其他用户的转换依次类推。
所述RankNet是一种Pairwise方法,在这里我们定义了软件对<A,B>的概率(假设A,B的特征分别为xi,xj),Pij为预测的i比j的偏好值更大的概率。
Figure BDA0001056408830000091
其中,oij=oi-oj,oi=f(xi),RankNet使用神经网络来训练模型,所以f(xi)是神经网络的输出.
如果对于某用户来说,软件A比软件B的偏好值更大,则实际概率:
Figure BDA0001056408830000092
如果软件B比软件A的偏好值更大,目标函数
Figure BDA0001056408830000093
如果A和B的偏好值一样,则
Figure BDA0001056408830000094
有了模型输出的概率Pij和目标概率
Figure BDA0001056408830000095
我们使用交叉熵来作为训练的损失函数:
Figure BDA0001056408830000096
得到训练集的损失函数后,我们可以根据多种优化方法来求解损失函数的最优解,求得的最优解即为各特征维度的权重。
进一步地,倾向性评分的计算包括:
根据用户的特征维度值以及特征维度权重。即可计算用户对各软件的倾向分值数。将倾向性评分进行排序,即可对用户进行软件推荐。倾向性分数的计算公式为:
Figure BDA0001056408830000097
其中,wi为特征维度的权重,ui为特征维度的值,cor(ui,p)为特征维度与软件的相关系数。
在本发明的其他实施例中,如图2所示,所述的软件程序点击率预估排序系统2也可以安装并运行于终端设备3中,所述软件程序点击率预估排序系统2的程序代码可以存储于所述终端设备3的存储设备(未图示)中,并在终端设备3的处理器的执行下,实现上述描述的功能。
参阅图3所示,是本发明软件程序点击率预估排序系统较佳实施例的功能模块图。
所述软件程序点击率预估排序系统2的程序代码根据其不同的功能,可以划分为多个功能模块。本发明较佳实施例中,所述软件程序点击率预估排序系统2可以包括模型建立模块20、获取模块21、预处理模块22及推荐模块23。
所述模型建立模块20用于建立用于软件推荐的分析模型。
本发明较佳实施例中,所述分析模型的建立过程如下:
第一步:将预设数量(例如,10万个)用户的基本信息数据(例如,性别、年龄、是否拥有某产品、是否某业务公司客户等等)和点击各个软件的频数作为样本数据,其中,各个用户的基本信息数据作为自变量,将各个用户点击各个软件的频数作为目标变量。
第二步:提取出第一预设比例(例如,70%)的用户的样本数据作为训练集,并将剩余的用户的样本数据作为测试集。
第三步:将训练集中的各个用户的所有基本数据(例如,性别、年龄、是否拥有某产品、是否某业务公司客户等等)转成0、1二值变量(例如,所述基本数据中的离散变量采用哑变量转换方式,所述基本数据中的连续变量采用分箱转换方式,以及所述基本数据中的缺失值采用-1替换),并将训练集中的各个用户的目标变量转成0、1二值变量(例如,采用哑变量转换方式,将各个目标变量转化为0、1二值变量)。
第四步:计算训练集中的各个用户各特征维度与各软件的相关系数,并通过训练集中的各个用户对各软件的点击率排序训练各相关系数的权重,进而构建出基于计算出的各特征维度与各软件的相关系数及对应的权重的分析模型。
所述获取模块21用于获取终端设备3通过其输入设备30输入的带有用户基本信息数据的软件推荐请求。
其中,所述用户基本信息数据包括,但不是限制,用户的性别、年龄、是否拥有某产品、是否某业务公司客户等等。
所述预处理模块22用于将该用户基本数据转换成0、1二值变量。
所述将该用户基本数据转换成0、1二值变量的方法包括,例如,基本数据中属于离散变量的采用哑变量转换方式,属于连续变量的采用分箱转换方式,以及属于缺失值的采用-1替换等。
所述哑变量又称虚拟变量(Dummy Variables)、虚设变量、名义变量等,用以反映质的属性的人工变量,是量化了的自变量,通常取值为0或1。例如,反映文化程度的虚拟变量可取为:1:本科学历;0:非本科学历。一般地,在虚拟变量的设置中:基础类型、肯定类型取值为1;比较类型,否定类型取值为0。
所述分箱是将某个自变量的值分为k个分箱,本发明较佳实施例中,k为2。例如,将年龄这个变量分为2个分箱,其中小于等于40岁为一个分箱,大于40岁为另一个分箱,并将小于等于40岁的分箱赋值为1,以及大于40岁的另一个分箱赋值为0。
所述推荐模块23用于将转成的二值变量作为模型的特征维度代入预先建立的分析模型中,以分析出该用户对各软件的倾向分值,并基于各软件对应的倾向分值,按照预设的分析规则确定出待推荐的软件,向该用户发送推荐确定出的软件的消息,并显示于终端设备3的显示设备31上。
本发明较佳实施例中,所述预设的分析规则为:
按照各软件对应的倾向分值的预设大小顺序(例如,从大到小顺序或者从小到大顺序),按顺序为各软件进行排序,确定出倾向分值大于预设值(例如,70分)的软件作为待推荐的软件;或者
按照各软件对应的倾向分值的预设大小顺序(例如,从大到小顺序或者从小到大顺序),按顺序为各软件进行排序,若所述预设大小顺序为从大到小顺序,则确定出排序在前的预设数量(例如,2个)的软件作为待推荐的软件,若所述预设大小顺序为从小到大顺序,则确定出排序在后的预设数量的软件作为待推荐的软件。
参阅图4所示,是本发明软件程序点击率预估排序方法较佳实施例的方法实施流程图。本实施例所述软件程序点击率预估排序方法并不限于流程图中所示步骤,此外流程图中所示步骤中,某些步骤可以省略、步骤之间的顺序可以改变。
S10,建立用于软件推荐的分析模型。
本发明较佳实施例中,所述分析模型的建立过程详见图5所示。
S11,获取带有用户基本信息数据的软件推荐请求。
其中,所述用户基本信息数据包括,但不是限制,用户的性别、年龄、职业、是否拥有某产品等等。
S12,将该用户基本数据转换成0、1二值变量。
所述将该用户基本数据转换成0、1二值变量的方法包括,例如,基本数据中属于离散变量的采用哑变量转换方式,属于连续变量的采用分箱转换方式,以及属于缺失值的采用-1替换等。
所述哑变量又称虚拟变量(Dummy Variables)、虚设变量、名义变量等,用以反映质的属性的人工变量,是量化了的自变量,通常取值为0或1。例如,反映文化程度的虚拟变量可取为:1:本科学历;0:非本科学历。一般地,在虚拟变量的设置中:基础类型、肯定类型取值为1;比较类型,否定类型取值为0。
所述分箱是将某个自变量的值分为k个分箱,本发明较佳实施例中,k为2。例如,将年龄这个变量分为2个分箱,其中小于等于40岁为一个分箱,大于40岁为另一个分箱,并将小于等于40岁的分箱赋值为1,以及大于40岁的另一个分箱赋值为0。
S13,将转成的二值变量作为模型的特征维度代入预先建立的分析模型中,以分析出该用户对各软件的倾向分值,并基于各软件对应的倾向分值,按照预设的分析规则确定出待推荐的软件,向该用户发送推荐确定出的软件的消息。
参阅图5所示,是本发明软件程序点击率预估排序方法较佳实施例中生成分析模型的实施流程图。本实施例所述软件程序点击率预估排序方法并不限于流程图中所示步骤,此外流程图中所示步骤中,某些步骤可以省略、步骤之间的顺序可以改变。
S20,将预设数量(例如,10万个)用户的基本信息数据(例如,性别、年龄、是否拥有某产品、是否某业务公司客户等等)和点击各个软件的频数作为样本数据,其中,各个用户的基本信息数据作为自变量,将各个用户点击各个软件的频数作为目标变量。
所述数据的样例如下图6所示。
其中,图6中所示的字段说明如下:
Party_id:客户号;
Sex:性别;
Age:年龄;
Life_cycle:人生阶段;
Prof:职业;
Pc_flag:是否产险用户;
Card_flag:是否信用卡用户;
Bank_flag:是否银行用户;
Hold_child_flag:是否持有子女教育险产品;
target:点击软件ID;
Lable:点击软件频数。
S21,提取出第一预设比例(例如,70%)的用户的样本数据作为训练集,并将剩余的用户的样本数据作为测试集。
S22,将训练集中的各个用户的所有基本数据(例如,性别、年龄、是否拥有某产品、是否某业务公司客户等等)转成0、1二值变量(例如,所述基本数据中的离散变量采用哑变量转换方式,所述基本数据中的连续变量采用分箱转换方式,以及所述基本数据中的缺失值采用-1替换),并将训练集中的各个用户的目标变量转成0、1二值变量(例如,采用哑变量转换方式,将各个目标变量转化为0、1二值变量)。转换后的数据格式如图7所示。
S23,计算训练集中的各个用户各特征维度与各软件的相关系数,并通过训练集中的各个用户对各软件的点击率排序训练各相关系数的权重,进而构建出基于计算出的各特征维度与各软件的相关系数及对应的权重的分析模型。
所述模型构造如图8所示。
其中,所述相关系数的计算包括:
首先计算用户的各特征维度与各软件的相关系数,设用户的特征维度为{u1,u2,...,uN},这里的特征维度即为图7中的序号2-28的自变量。软件集合为{T1,T2,...,TN}。所述软件集合中的软件即为图7中的序号29-31的变量。在计算相关性的阶段,不需要考虑点击各软件的频率,只需考虑是否点击过软件。因此可以直接根据序号2-31的变量计算各特征维度与各软件的相关系数。相关性计算采用皮尔逊相关系数。所述皮尔逊相关系数是一种度量两个变量间相关程度的方法。它是一个介于1和-1之间的值,其中,1表示变量完全正相关,0表示无关,-1表示完全负相关。最终计算出了所有特征维度与所有软件的相关系数cor(ui,Ti)。
进一步地,所述特征权重w学习包括:
不同的特征维度对目标的影响程度不一样,因此很有必要训练各特征维度的权重。本算法由于目标变量具有相对排序值,因此我们采用ranknet算法训练特征的权重。具体步骤如下:
首先将原始点击数据转换成目标变量为排序值的新数据,数据集总共有软件A、B、C。用户A点击了A软件,那么用户A的点击数据将转化为3条新数据。分别代表点击A、点击B、点击C。
点击A的新数据的自变量为用户A的各特征维度与A软件的相关系数与用户A的特征维度值的乘积值。即为:
u′i=ui*cor(ui,pA)
目标变量为用户A点击A的点击频率。
点击B的新数据的自变量为用户A的各特征维度与B产品的相关系数与用户A的特征维度值的乘积值。即为:
u′i=ui*cor(ui,pB)
目标变量为用户A点击B软件的点击频率。
点击C的新数据的自变量为用户A的各特征维度与C产品的相关系数与用户A的特征维度值的乘积值。即为:
u′i=ui*cor(ui,pC)
目标变量为用户A点击C软件的点击频率。
得到新数据后,利用Ranknet算法,即可训练出各特征维度的参数。
图9所示,为样例转换后的数据集。
其他用户的转换依次类推。
所述RankNet是一种Pairwise方法,在这里我们定义了软件对<A,B>的概率(假设A,B的特征分别为xi,xj),Pij为预测的i比j的偏好值更大的概率。
Figure BDA0001056408830000151
其中,oij=oi-oj,oi=f(xi),RankNet使用神经网络来训练模型,所以f(xi)是神经网络的输出。
如果对于某用户来说,软件A比软件B的偏好值更大,则实际概率:
Figure BDA0001056408830000152
如果软件B比软件A的偏好值更大,目标函数
Figure BDA0001056408830000153
如果A和B的偏好值一样,则
Figure BDA0001056408830000154
有了模型输出的概率Pij和目标概率
Figure BDA0001056408830000155
我们使用交叉熵来作为训练的损失函数:
Figure BDA0001056408830000156
得到训练集的损失函数后,我们可以根据多种优化方法来求解损失函数的最优解,求得的最优解即为各特征维度的权重。
进一步地,倾向性评分的计算包括:
根据用户的特征维度值以及特征维度权重。即可计算用户对各软件的倾向分值数。将倾向性评分进行排序,即可对用户进行软件推荐。倾向性分数的计算公式为:
Figure BDA0001056408830000161
其中,wi为特征维度的权重,ui为特征维度的值,cor(ui,p)为特征维度与软件的相关系数。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (8)

1.一种软件程序点击率预估排序方法,其特征在于,该方法包括:
获取带有用户基本信息数据的软件推荐请求;
将该用户基本数据转换成0、1二值变量;
将转成的二值变量作为模型的特征维度代入预先生成的分析模型中,以分析出该用户对各软件的倾向分值,并基于各软件对应的倾向分值,按照预设的分析规则确定出待推荐的软件,向该用户发送推荐确定出的软件的消息;
所述分析模型的建立包括:
将预设数量用户的基本信息数据和点击各个软件的频数作为样本数据,其中,各个用户的基本信息数据作为自变量,将各个用户点击各个软件的频数作为目标变量;
取出第一预设比例的用户的样本数据作为训练集,并将剩余的用户的样本数据作为测试集;
将训练集中的各个用户的所有基本数据转成0、1二值变量,并将训练集中的各个用户的目标变量转成0、1二值变量;
计算训练集中的各个用户各特征维度与各软件的相关系数,并通过训练集中的各个用户对各软件的点击率排序训练各相关系数的权重,进而构建出基于计算出的各特征维度与各软件的相关系数及对应的权重的分析模型。
2.如权利要求1所述的方法,其特征在于,所述用户基本信息数据包括用户的性别、年龄、职业、是否拥有某产品。
3.如权利要求1所述的方法,其特征在于,所述将该用户基本数据转换成0、1二值变量的方法包括:基本数据中属于离散变量的采用哑变量转换方式,属于连续变量的采用分箱转换方式,以及属于缺失值的采用-1替换。
4.如权利要求1所述的方法,其特征在于,所述预设的分析规则包括:
按照各软件对应的倾向分值的预设大小顺序,按顺序为各软件进行排序,确定出倾向分值大于预设值的软件作为待推荐的软件;或者
按照各软件对应的倾向分值的预设大小顺序,按顺序为各软件进行排序,若所述预设大小顺序为从大到小顺序,则确定出排序在前的预设数量的软件作为待推荐的软件,若所述预设大小顺序为从小到大顺序,则确定出排序在后的预设数量的软件作为待推荐的软件。
5.一种适用于权利要求1至4任一项所述方法的服务器,其特征在于,该服务器包括存储设备以及处理器,其中:
所述存储设备,用于存储一个软件程序点击率预估排序系统;
所述处理器,用于调用并执行所述软件程序点击率预估排序系统,以执行如下步骤:
获取带有用户基本信息数据的软件推荐请求;
将该用户基本数据转换成0、1二值变量;
将转成的二值变量作为模型的特征维度代入预先生成的分析模型中,以分析出该用户对各软件的倾向分值,并基于各软件对应的倾向分值,按照预设的分析规则确定出待推荐的软件,向该用户发送推荐确定出的软件的消息;
所述分析模型的建立包括:
将预设数量用户的基本信息数据和点击各个软件的频数作为样本数据,其中,各个用户的基本信息数据作为自变量,将各个用户点击各个软件的频数作为目标变量;
取出第一预设比例的用户的样本数据作为训练集,并将剩余的用户的样本数据作为测试集;
将训练集中的各个用户的所有基本数据转成0、1二值变量,并将训练集中的各个用户的目标变量转成0、1二值变量;
计算训练集中的各个用户各特征维度与各软件的相关系数,并通过训练集中的各个用户对各软件的点击率排序训练各相关系数的权重,进而构建出基于计算出的各特征维度与各软件的相关系数及对应的权重的分析模型。
6.如权利要求5所述的服务器,其特征在于,其中,所述用户基本信息数据包括用户的性别、年龄、职业、是否拥有某产品。
7.如权利要求5所述的服务器,其特征在于,所述将该用户基本数据转换成0、1二值变量的方法包括:基本数据中属于离散变量的采用哑变量转换方式,属于连续变量的采用分箱转换方式,以及属于缺失值的采用-1替换。
8.如权利要求5所述的服务器,其特征在于,所述预设的分析规则包括:
按照各软件对应的倾向分值的预设大小顺序,按顺序为各软件进行排序,确定出倾向分值大于预设值的软件作为待推荐的软件;或者
按照各软件对应的倾向分值的预设大小顺序,按顺序为各软件进行排序,若所述预设大小顺序为从大到小顺序,则确定出排序在前的预设数量的软件作为待推荐的软件,若所述预设大小顺序为从小到大顺序,则确定出排序在后的预设数量的软件作为待推荐的软件。
CN201610584612.9A 2016-07-22 2016-07-22 软件程序点击率预估排序方法及服务器 Active CN107644042B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610584612.9A CN107644042B (zh) 2016-07-22 2016-07-22 软件程序点击率预估排序方法及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610584612.9A CN107644042B (zh) 2016-07-22 2016-07-22 软件程序点击率预估排序方法及服务器

Publications (2)

Publication Number Publication Date
CN107644042A CN107644042A (zh) 2018-01-30
CN107644042B true CN107644042B (zh) 2020-06-30

Family

ID=61109488

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610584612.9A Active CN107644042B (zh) 2016-07-22 2016-07-22 软件程序点击率预估排序方法及服务器

Country Status (1)

Country Link
CN (1) CN107644042B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108536572B (zh) * 2018-04-16 2020-05-12 浙江大学 基于AppUsage2Vec模型的智能手机App使用预测方法
CN109886310B (zh) * 2019-01-25 2020-06-09 北京三快在线科技有限公司 图片排序方法、装置、电子设备及可读存储介质
CN116776131A (zh) * 2023-08-23 2023-09-19 腾讯科技(深圳)有限公司 基于图的特征降维方法、意向评级方法及相关设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102999588A (zh) * 2012-11-15 2013-03-27 广州华多网络科技有限公司 一种多媒体应用的推荐方法和系统
CN104951465A (zh) * 2014-03-28 2015-09-30 腾讯科技(深圳)有限公司 应用推荐方法及装置
CN105631707A (zh) * 2015-12-23 2016-06-01 北京奇虎科技有限公司 基于决策树的广告点击率预估方法与应用推荐方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2829086A4 (en) * 2012-03-24 2015-10-28 Intel Corp LOCATION BASED APPLICATION RECOMMENDATION
CN105426486B (zh) * 2015-11-20 2018-11-09 天津大学 一种基于用户行为数据的手机app推送方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102999588A (zh) * 2012-11-15 2013-03-27 广州华多网络科技有限公司 一种多媒体应用的推荐方法和系统
CN104951465A (zh) * 2014-03-28 2015-09-30 腾讯科技(深圳)有限公司 应用推荐方法及装置
CN105631707A (zh) * 2015-12-23 2016-06-01 北京奇虎科技有限公司 基于决策树的广告点击率预估方法与应用推荐方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于复杂网络的移动互联App应用推荐系统;汤浙斌;《中国优秀硕士学位论文全文数据库 信息科技辑》;20160331;第I138-7728页 *

Also Published As

Publication number Publication date
CN107644042A (zh) 2018-01-30

Similar Documents

Publication Publication Date Title
US11562012B2 (en) System and method for providing technology assisted data review with optimizing features
CN112084383A (zh) 基于知识图谱的信息推荐方法、装置、设备及存储介质
US20160132904A1 (en) Influence score of a brand
CN110046981B (zh) 一种信用评估方法、装置及存储介质
CN111797320B (zh) 数据处理方法、装置、设备及存储介质
CN107767152B (zh) 产品购买倾向分析方法及服务器
CN112085565A (zh) 基于深度学习的信息推荐方法、装置、设备及存储介质
CN112925911B (zh) 基于多模态数据的投诉分类方法及其相关设备
CN112182118B (zh) 基于多数据源的目标对象预测方法及其相关设备
CN107644042B (zh) 软件程序点击率预估排序方法及服务器
US20190164083A1 (en) Categorical Data Transformation and Clustering for Machine Learning using Natural Language Processing
US20180349476A1 (en) Evaluating theses using tree structures
CN110910201A (zh) 信息推荐的控制方法、装置、计算机设备及存储介质
CN114118570A (zh) 业务数据预测方法及装置、电子设备和存储介质
US20230316106A1 (en) Method and apparatus for training content recommendation model, device, and storage medium
CN114925275A (zh) 产品推荐方法、装置、计算机设备及存储介质
CN113537631B (zh) 药品需求量的预测方法、装置、电子设备及存储介质
CN115222112A (zh) 一种行为预测方法、行为预测模型的生成方法及电子设备
CN113919921A (zh) 一种基于多任务学习模型的产品推荐方法及相关设备
CN113052509A (zh) 模型评估方法、模型评估装置、电子设备和存储介质
CN112200602A (zh) 用于广告推荐的神经网络模型训练方法及装置
CN112785095A (zh) 贷款预测方法、装置、电子设备和计算机可读存储介质
CN114862482B (zh) 一种基于大数据预测产品需求的数据处理方法及系统
CN117172632B (zh) 一种企业异常行为检测方法、装置、设备及存储介质
CN114707488B (zh) 数据处理方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant