CN108769125A - 应用推荐方法、装置、存储介质及计算机设备 - Google Patents
应用推荐方法、装置、存储介质及计算机设备 Download PDFInfo
- Publication number
- CN108769125A CN108769125A CN201810399587.6A CN201810399587A CN108769125A CN 108769125 A CN108769125 A CN 108769125A CN 201810399587 A CN201810399587 A CN 201810399587A CN 108769125 A CN108769125 A CN 108769125A
- Authority
- CN
- China
- Prior art keywords
- application
- recommended
- user
- vector
- sample
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/535—Tracking the activity of the user
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种应用推荐方法、装置、存储介质及计算机设备,所述的方法包括:获取待推荐用户已安装的应用,生成应用集合;分别获取待推荐应用与所述应用集合中的每个应用的交叉特征,得到应用特征向量;根据所述应用特征向量生成对应的实数向量,将所述实数向量输入预生成的应用推荐模型中,得到所述待推荐应用的预测安装值;其中,所述应用推荐模型用于表征所述实数向量和所述预测安装值之间的关联关系;根据所述预测安装值,向所述待推荐用户推荐应用。上述应用推荐方法,解决现有技术中存在的给用户推荐相关应用时效率过低的问题,实现给用户自动化推荐感兴趣的应用。
Description
技术领域
本发明涉及计算机技术领域,具体而言,本发明涉及一种应用推荐方法、装置、存储介质及计算机设备。
背景技术
随着互联网技术以及终端技术的发展,人们对各种类型的应用的需求越来越多,在其终端设备中安装的应用也越来越多。然而,终端设备的容量有限,过多的应用将造成终端设备的资源浪费。如何很好地给用户推荐感兴趣的应用,避免用户终端安装过多不必要的应用,提高用户体验,是应用商店运营过程中一直急需解决的问题。
现有技术提出了为用户提供感兴趣的应用推荐的方案,即通过获知用户的兴趣所在,主动为其推荐感兴趣的应用。然而,判断用户感兴趣的应用,一般是通过人工筛选,不仅耗费大量的人工,而且效率过低。
发明内容
本发明针对现有方式的缺点,提出一种应用推荐方法、装置、存储介质及计算机设备,用以解决现有技术中存在的给用户推荐相关应用时效率过低的问题,实现给用户自动化推荐感兴趣的应用。
本发明提供以下方案:
一种应用推荐方法,包括步骤:获取待推荐用户已安装的应用,生成应用集合;分别获取待推荐应用与所述应用集合中的每个应用的交叉特征,得到应用特征向量;根据所述应用特征向量生成对应的实数向量,将所述实数向量输入预生成的应用推荐模型中,得到所述待推荐应用的预测安装值;其中,所述应用推荐模型用于表征所述实数向量和所述预测安装值之间的关联关系;根据所述预测安装值,向所述待推荐用户推荐应用。
在其中一个实施例中,所述根据所述预测安装值,向所述待推荐用户推荐应用,包括:获取应用推荐池中每个待推荐应用的预测安装值;按照预测安装值从大到小对所述应用推荐池中的待推荐应用进行排序;向所述待推荐用户推荐所述应用推荐池中排名靠前的预置数量的待推荐应用。
在其中一个实施例中,所述根据所述应用特征向量生成对应的实数向量,包括:获取所述应用特征向量中每个元素的字符串的哈希值;根据所述每个元素的哈希值生成所述实数向量。
在其中一个实施例中,所述预生成的应用推荐模型通过以下方式获得:获取向样本用户曝光的应用,以及所述曝光的应用的安装信息;根据所述曝光的应用的安装信息生成曝光应用安装向量;获取所述样本用户已安装的应用,生成样本应用集合;分别获取曝光的应用与所述样本应用集合中每个应用的交叉特征,得到样本应用特征向量;根据所述样本应用特征向量生成对应的样本实数向量;将所述样本实数向量和所述曝光应用安装向量,输入深度神经网络中进行训练,生成所述应用推荐模型。
在其中一个实施例中,所述将所述样本实数向量和所述曝光应用安装向量,输入深度神经网络中进行训练,生成所述应用推荐模型,包括:将所述样本实数向量和所述曝光应用安装向量输入预先构建的损失函数中;通过预设算法求解所述损失函数最小时对应的所述深度神经网络的模型参数,根据所述模型参数生成所述应用推荐模型。
在其中一个实施例中,所述预设算法为梯度下降法。
在其中一个实施例中,所述获取待推荐用户已安装的应用,生成应用集合,包括:获取距离当前时间预设时长内待推荐用户已安装的应用,将所述已安装的应用按照安装时间与当前时间的距离从近到远的顺序进行排序;根据排序后的已安装的应用,生成所述应用集合。
在其中一个实施例中,所述根据排序后的已安装的应用,生成所述应用集合,包括:在所述排序后的已安装的应用中,获取排名靠前的预设数量的应用生成所述应用集合。
一种应用推荐装置,包括:生成模块,用于获取待推荐用户已安装的应用,生成应用集合;第一获取模块,用于分别获取待推荐应用与所述应用集合中的每个应用的交叉特征,得到应用特征向量;第二获取模块,用于根据所述应用特征向量生成对应的实数向量,将所述实数向量输入预生成的应用推荐模型中,得到所述待推荐应用的预测安装值;其中,所述应用推荐模型用于表征所述实数向量和所述预测安装值之间的关联关系;推荐模块,用于根据所述预测安装值,向所述待推荐用户推荐应用。
一种存储介质,其上存储有计算机程序;所述计算机程序被处理器执行时,实现上述任一实施例所述的应用推荐方法。
一种计算机设备,其包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行根据上述任一实施例所述的应用推荐方法。
上述实施例提供的应用推荐方法,分别获取待推荐应用与推荐用户已安装的每个应用的交叉特征,自动生成待推荐应用的应用特征向量,将该应用特征向量输入应用推荐模型中得到待推荐应用的预测安装值,进而根据该预测安装值向待推荐用户推荐应用。通过机器学习的方法对待推荐应用进行自动化的分析,给待推荐用户推荐感兴趣的应用,解决人工推荐耗费大量人力成本的问题,提高了应用推荐的效率。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明提供的一种应用推荐方法的一实施例中服务器与客户端之间的交互示意图;
图2为本发明提供的一种应用推荐模型生成方法的一实施例中流程图;
图3为本发明提供的一种应用推荐模型生成方法的另一实施例中流程图;
图4为本发明提供的深度神经网络(DNN)模型的结构图;
图5为本发明提供的一种应用推荐方法的一实施例中的流程图;
图6为本发明提供的一种应用推荐方法的另一实施例中的流程图;
图7为本发明一种应用推荐装置的一实施例中的结构示意图;
图8为本发明提供的计算机设备结构一实施例中的示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式,这里使用的“第一”、“第二”仅用于区别同一技术特征,并不对该技术特征的顺序和数量等加以限定。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本发明提供的一种应用推荐方法,给不同的用户推荐该用户感兴趣的应用。该应用推荐方法应用于如图1所示的应用环境中。
如图1所示,服务器100与用户终端300位于同一个网络200环境中,服务器100与用户终端300通过网络200进行数据信息的交互。服务器100与用户终端300的数量不作限定,图1所示只作为示例说明。用户终端300中安装有客户端,客户端为第三方应用软件,如应用商店APP(Application,应用)等。用户可以通过用户终端300中的客户端APP与对应的服务器100进行信息交互。客户端与服务器(Server)端相对应,共同遵循同一套数据协议,使得服务器端跟客户端能够互相解析出对方的数据,为用户提供应用推荐服务。
在本发明提供的应用推荐方法中,服务器100从用户终端300中获取用户已安装的应用以及已安装应用的相关信息。如,已安装应用的安装时间。以及,服务器100获取用户终端300中用户已安装的应用的名称,根据已安装应用的名称从本地存储中匹配出已安装应用的相关信息。同时,服务器100还可以通过网络200给用户端300下发待推荐的应用以及给用户端300曝光相关应用等。
服务器100可以是,但不限于,网络服务器、管理服务器、应用服务器、数据库服务器、云端服务器等等。用户终端300可以是,但不限于智能手机、个人电脑(personalcomputer,PC)、平板电脑、个人数字助理(personal digital assistant,PDA)、移动上网设备(mobile Internet device,MID)等。用户终端300的操作系统可以是,但不限于,安卓(Android)系统、IOS(iPhone operating system)系统、Windows phone系统、Windows系统等。
本发明实施例通过应用推荐模型实现自动化给待推荐用户推荐相关应用。因此本发明实施例提供的技术方案分两部分构成:第一部分,根据历史用户的曝光点击行为训练应用推荐模型。第二部分,利用训练好的应用推荐模型模型对访问应用商店的用户进行应用推荐。具体地,首先构造给用户推荐应用的DNN模型,然后根据历史用户的曝光点击行为训练DNN模型中的相关参数,最后对访问应用商店的用户运用训练好的DNN模型给用户推荐应用。
下面按照应用推荐模型的生成以及利用应用推荐模型给访问应用商店的用户推荐应用对本发明实施例进行详细介绍。
第一部分:应用推荐模型的生成
在生成给待推荐用户推荐应用的应用推荐模型时,根据向样本用户曝光的应用、所述曝光的应用的安装信息以及样本用户已安装的应用,训练出应用推荐模型的模型参数,以根据模型参数生成本方案所述的应用推荐模型。
如图2所示,在一个实施例中,应用推荐模型通过以下步骤得到:
S110,获取向样本用户曝光的应用,以及所述曝光的应用的安装信息。
样本用户为同一服务器的网络环境下的多个用户。如图1所示,服务器100通过网络200与多个用户终端300进行数据信息交互。因此,服务器100可采集多个用户终端300的相关数据,作为样本数据。
在本实施例中,服务器向样本用户下发应用,获取样本用户曝光的应用,以及曝光应用的安装信息。安装信息包括样本用户安装了曝光的应用以及样本用户没有安装曝光的应用。在一实施方式中,给用户u曝光的应用为应用A。用户的安装信息可以通过“0”和“1”来记录。其中:“0”表示用户u没有安装应用A,1表示用户u安装了应用A。
S120,根据所述曝光的应用的安装信息生成曝光应用安装向量。
服务器在获取到样本用户的曝光的应用的安装信息后,进一步根据样本用户的曝光的应用的安装信息生成对应的曝光应用安装向量。在应用推荐模型训练的过程中,可以收集当天应用商店平台中所有用户中曝光的所有应用,以及曝光的应用的安装信息,以生成对应的安装向量。对于应用推荐模型的训练,样本数据越多,训练出的应用推荐模型越精准。
S130,获取所述样本用户已安装的应用,生成样本应用集合。
对于每个样本用户,服务器获取该样本用户已安装的应用,根据已安装的应用生成样本应用集合。样本应用集合中包括样本用户已安装的应用。具体地,可以按照安装时间的先后顺序获取样本用户在应用商店中最近安装的N个应用。N的取值取决于需要采集的样本数据。
S140,分别获取曝光的应用与所述样本应用集合中每个应用的交叉特征,得到样本应用特征向量。
服务器获取到给样本用户曝光的应用,以及样本用户已安装的应用形成的样本应用集合之后,分别获取曝光的应用与样本应用集合中每个应用的交叉特征,得到样本应用特征向量。例如,样本用户曝光的应用为应用a。应用a的特征包括a1、a2和a3。样本应用集合中的一个应用为应用b。应用b的特征包括b1、a2和b3。获取应用a和应用b的交叉特征,得到特征a2。同理,获取曝光的应用与样本应用集合中其他每个应用的交叉特征,得到样本应用特征向量。此处,样本应用特征向量中每个元素为采用上述方式得到的交叉特征。
其中,获取曝光的应用与样本应用集合中每个应用的交叉特征的方式,可以采用拼接技术。此处的拼接技术可以是采用逻辑斯蒂回归算法实现的拼接技术。具体地,可以将用户已安装的应用按照安装时间的先后顺序排列,再分别与给用户曝光的应用拼接,具体可以是通过连接符号&做拼接,从而得到样本应用特征向量。
S150,根据所述样本应用特征向量生成对应的样本实数向量。
步骤S140中,服务器得到的样本应用特征向量属于字符型的向量。因此,需要进一步将字符型的样本应用特征向量转换成对应的实数向量。具体可以将样本应用特征向量中的字符串通过哈希函数进行处理,获取样本应用特征向量中每个元素的哈希值,再对该哈希值取对应数值的模,从而生成对应的实数向量。
S160,将所述样本实数向量和所述曝光应用安装向量,输入深度神经网络中进行训练,生成所述应用推荐模型。
通过上述步骤S110至步骤S150,服务器可根据样本实数向量和曝光应用安装向量生成训练样本。例如,样本实数向量为Xu,A,u表示样本用户,A表示给用户u曝光的应用A。yu,A表示给用户u曝光的应用A安装向量,则(Xu,A,yu,A)表示训练样本。进一步地,服务器将训练样本输入到深度神经网络(DNN)中进行训练,生成本方案所述的应用推荐模型。
在一实施例中,如图3所示,步骤S160包括:
S161,将所述样本实数向量和所述曝光应用安装向量输入预先构建的损失函数中。
S163,通过预设算法求解所述损失函数最小时对应的所述深度神经网络的模型参数,根据所述模型参数生成所述应用推荐模型。
在该实施例中,预先构建的损失函数为DNN模型对应的损失函数。通过将样本数据(样本用户对应的样本实数向量和曝光应用安装向量)输入到构建的损失函数中,求解损失函数最小值时对应DNN模型中的模型参数,从而根据模型参数构建本方案所述的应用推荐模型。此处,通过梯度下降法求解损失函数最小值时对应的DNN模型的参数。
以下提供一具体实施方式,对上述第一部分实施例所述的应用推荐模型的生成进行详细说明。
首先,样本数据的生成;
样本数据的提取:设有用户u,给该用户曝光了应用A,用户安装情况用y表示(0表示没有安装,1表示安装了)。
第一步:提取DNN模型输入的数据;
installedu,i表示用户u在应用商店按照时间先后顺序,最近安装的第i个应用名称,i取前50。
Au表示给用户u的曝光;
取用户最近安装的前50个应用,把用户安装的应用按照先后顺序排列,并且分别与应用A通过连接符号&做拼接技术。如果用户安装的应用不足50个那么后面的用0表示,记为X0;
X0=(installedu,1&Au,installedu,2&Au,…,installedu,50&Au)。
例如用户u总共安装了两个应用,最近安装的应用是“微信”,第二近安装的应用为“QQ”。曝光的应用A是“爱奇艺”那么
X0=(微信&爱奇艺,QQ&爱奇艺,0,…,0)
定义哈希函数hash(X0):表示对向量X0每个元素的字符串hash值,然后对这个hash值取100万的模。公式如下:
hash(X0)=(hashcode(installedu,1&Au)%1000000,…,hashcode(installedu,50&Au)%1000000)
上式中hashcode(l)表示取字符串的哈希值;
DNN模型输入的参数Xu,A可以通过下述公式表示:
X=hash(X0)
第二步:训练样本生成
yu,A表示给用户u曝光的应用A,用户的安装情况(0表示没有安装,1表示安装了)。(Xu,A,yu,A)为生成的一条样本。
可以通过上述第一步以及第二步的方式收集当天应用商店平台中,所有用户曝光的所有应用生成的样本,得到一条的训练样本。
其次,DNN模型定义;
定义1个输入层,5个隐藏层,1个输入层,结构如图4所示:
参见图4的结构图所示,其中,输入层、隐藏层都是50维的向量,输出层为1维的向量。
以下定义DNN模型参数:
wi表示50*50的矩阵,表示每个隐藏层的与上一个隐藏(输入层)连接的权重系数,模型总共5个隐藏层所以i=1,2,3,4,5;
bi表示1*50的矩阵,表示每个隐藏层的偏置系数;
logistic(l)表示逻辑斯蒂函数,例如:
f(L)表示隐藏层的输出函数,其中L是1*50的向量,该函数会把L中每个元素带入逻辑斯蒂函数进行变换,最终逻辑斯蒂变换后的1*50向量。
例如:L=(1,2,…,50)那么
o是一个50*1的矩阵,表示输出层的权重系数;
E是一个50*1的矩阵,里面所有元素都为1;
Y是一个数值,是用于预测用户是安装的值;
各层关系如下:
L1=f(X·w1+b1)
L2=f(L1·w2+b2)
L3=f(L2·w3+b3)
L4=f(L3·w4+b4)
L5=f(L4·w5+b5)
以下为模型参数训练:
第一步:定义损失函数
n表示收集最近一天样本的数量;
(Xi,yi)表示提取第i个样本的DNN模型参数输入Xi,用户真实安装yi;
Yi表示预测用户安装的值,是关于w1,w2,w3,w4,w5,b1,b2,b3,b4,b5,o的变量;
损失函数为:
把所有Yi的计算表达式展开,通过梯度下降法求解损失函数los最小时对应解w1,w2,w3,w4,w5,b1,b2,b3,b4,b5,o,即为DNN模型参数。
梯度下降法如下:
第1步:把模型所有参数统一记到一个集合,不妨记为θ={θi},随机给定一组在0-1之间,设为θ(0),初始化迭代步数k=0;
第2步:迭代计算
其中ρ用于控制收敛速度,取0.01;
第3步:判断是否收敛
如果那么就返回θ(k+1),否则回到第2步继续计算,其中α是一个很小的值,可以取α=0.01·ρ;
因此,通过上述方式确定出本方案所述的应用推荐模型。进一步地,根据该应用推荐模型,自动化给待推荐用户推荐应用。
第二部分:利用训练好的DNN模型,给待推荐用户推荐应用;
本发明实施例提供一种应用推荐方法,利用第一部分生成的DNN模型,给待推荐用户推荐应用。如图5所述,在一实施例中,该应用推荐方法包括如下步骤:
S10,获取待推荐用户已安装的应用,生成应用集合。
在本实施例中,服务器获取目标的待推荐应用的用户,进一步采集该用户的已安装的应用,生成待推荐用户的应用集合。具体地,可以按照安装的时间顺序采集用户在应用商店平台上最近安装的N个应用。N可以取值50,或者其他数值。
S20,分别获取待推荐应用与所述应用集合中的每个应用的交叉特征,得到应用特征向量。
服务器获得待推荐用户最近安装的应用,生成对应的应用集合后,分别获取待推荐应用与应用集合中的每个应用的交叉特征,得到应用特征向量。如,给待推荐用户推荐的应用c,所述应用集合中的一个应用d。应用c的特征包括c1、c2和c3。应用d的特征包括d1、c2和d3。获取应用c和应用d的交叉特征,得到特征c2。
具体地,可以采用拼接技术,以分别获取待推荐应用与应用集合中的每个应用的交叉特征,得到应用特征向量。在具体的实施方式中,可以通过连接符号&将待推荐应用和应用集合中的应用做拼接。应用特征向量中每个元素均为两两应用的交叉特征,属于字符型的元素。
S30,根据所述应用特征向量生成对应的实数向量,将所述实数向量输入预生成的应用推荐模型中,得到所述待推荐应用的预测安装值;其中,所述应用推荐模型用于表征所述实数向量和所述预测安装值之间的关联关系。
在本实施例中,应用推荐模型为第一部分生成的模型。该应用推荐模型表征的是实数向量与预测安装值之间的关联关系。因此,在该步骤中,服务器将步骤S20中得到的字符型的应用特征向量转化成对应的实数向量。在一实施方式中,应用特征向量转化成对应的实数向量通过以下方式得到:
获取所述应用特征向量中每个元素的字符串的哈希值;
根据所述每个元素的哈希值生成所述实数向量。
在该实施方式中,服务器获取应用特征向量的每个字符元素的字符串的哈希值,也即是对应用特征向量中的元素做哈希处理。再对每个元素的哈希值取对应数值的模,从而生成对应的实数向量。再将该实数向量输入通过第一部分训练生成的应用推荐模型中,得到待推荐应用的预测安装值。
S40,根据所述预测安装值,向所述待推荐用户推荐应用。
在本实施例中,服务器通过步骤S10至步骤S30得到每个待推荐应用的预测安装值后,根据每个待推荐应用的预测安装值给用户推荐应用。可以是,当待推荐应用的预测安装值大于阈值时,将该待推荐应用推荐给目标用户。
在一实施例中,如图6所示,步骤S40还包括:
S41,获取应用推荐池中每个待推荐应用的预测安装值。
S43,按照预测安装值从大到小对所述应用推荐池中的待推荐应用进行排序。
S45,向所述待推荐用户推荐所述应用推荐池中排名靠前的预置数量的待推荐应用。
在该实施例中,服务器通过步骤S10至步骤S30可获得应用推荐池中每个待推荐应用的预测安装值,进一步根据每个待推荐应用的预测安装值将应用推荐池中的待推荐应用排序处理。此处,根据每个待推荐应用的预测安装值从大到小进行排序。获取排名靠前的预置数量的待推荐应用,将该部分的待推荐应用推荐给用户。
以下给出一具体实施方式,以详细说明如何根据待推荐用户的已安装应用和待推荐应用生成应用推荐模型的输入参数,从而输出待推荐应用的预测安装值:
Bw表示给用户w曝光应用B;
取用户w最近安装的前50个应用,把用户已安装的应用按照先后顺序排列并且与应用B通过连接符号&做拼接。如果用户安装的应用不足50个那么后面的用0表示,记为X10
X10=(installedw,1&Bw,installedw,2&Bw,......installedw,50&Bw)
例如用户w总共安装了两个应用,最近安装的应用是“微信”,第二近安装的应用为“QQ”。曝光的应用A是“爱奇艺”那么
X10=(微信&爱奇艺,QQ&爱奇艺,0,......,0)
定义哈希函数hash(X10)表示对向量X10每个元素的字符串hash值,然后对这个hash值取100万的模。公式如下:
hash(X10)=(hashcode(installedw,1&Bw)%1000000,.......hashcode(installedw,50&Bw)%1000000)
上式中hashcode(l)是取字符串的哈希值
模型输入的参数X1w,B:
X=hash(X10);
通过上述方式,获得待推荐应用B对应的模型输入参数X1w,B之后,将该输入参数X1w,B输入到应用推荐模型(训练好的DNN模型)中,从而输出待推荐应用B的预测安装值。
上述实施例提供的应用推荐方法,分别获取待推荐应用与推荐用户已安装的每个应用的交叉特征,自动生成待推荐应用的应用特征向量,将该应用特征向量输入应用推荐模型中得到待推荐应用的预测安装值,进而根据该预测安装值向待推荐用户推荐应用。通过机器学习的方法对待推荐应用进行自动化的分析,给待推荐用户推荐感兴趣的应用,解决人工推荐耗费大量人力成本的问题,提高了应用推荐的效率。
基于同一发明构思,本发明还提供一种应用推荐装置,下面结合附图对本发明装置的具体实施方式进行详细介绍。
如图7所示,在一实施例中,该应用推荐装置包括生成模块100、第一获取模块200、第二获取模块300和推荐模块400。
生成模块100用于获取待推荐用户已安装的应用,生成应用集合。在本实施例中,服务器获取目标的待推荐应用的用户,进一步采集该用户的已安装的应用,生成待推荐用户的应用集合。具体地,可以按照安装的时间顺序采集用户在应用商店平台上最近安装的N个应用。N可以取值50,或者其他数值。
第一获取模块200用于分别获取待推荐应用与所述应用集合中的每个应用的交叉特征,得到应用特征向量。服务器获得待推荐用户最近安装的应用,生成对应的应用集合后,分别获取待推荐应用与应用集合中的每个应用的交叉特征,得到应用特征向量。如,给待推荐用户推荐的应用c,所述应用集合中的一个应用d。应用c的特征包括c1、c2和c3。应用d的特征包括d1、c2和d3。获取应用c和应用d的交叉特征,得到特征c2。
具体地,可以采用拼接技术,以分别获取待推荐应用与应用集合中的每个应用的交叉特征,得到应用特征向量。在具体的实施方式中,可以通过连接符号&将待推荐应用和应用集合中的应用做拼接。应用特征向量中每个元素均为两两应用的交叉特征,属于字符型的元素。
第二获取模块300用于根据所述应用特征向量生成对应的实数向量,将所述实数向量输入预生成的应用推荐模型中,得到所述待推荐应用的预测安装值;其中,所述应用推荐模型用于表征所述实数向量和所述预测安装值之间的关联关系。
在本实施例中,应用推荐模型为第一部分生成的模型。该应用推荐模型表征的是实数向量与预测安装值之间的关联关系。因此,在该模块中,服务器将第一获取模块200中得到的字符型的应用特征向量转化成对应的实数向量。在一实施方式中,应用特征向量转化成对应的实数向量通过以下方式得到:
获取所述应用特征向量中每个元素的字符串的哈希值;
根据所述每个元素的哈希值生成所述实数向量。
在该实施方式中,服务器获取应用特征向量的每个字符元素的字符串的哈希值,也即是对应用特征向量中的元素做哈希处理。再对每个元素的哈希值取对应数值的模,从而生成对应的实数向量。再将该实数向量输入通过第一部分训练生成的应用推荐模型中,得到待推荐应用的预测安装值。
推荐模块400用于根据所述预测安装值,向所述待推荐用户推荐应用。在本实施例中,服务器通过模块100至模块300得到每个待推荐应用的预测安装值后,根据每个待推荐应用的预测安装值给用户推荐应用。可以是,当待推荐应用的预测安装值大于阈值时,将该待推荐应用推荐给目标用户。或者,服务器通过模块100至模块300可获得应用推荐池中每个待推荐应用的预测安装值,进一步根据每个待推荐应用的预测安装值将应用推荐池中的待推荐应用排序处理。此处,根据每个待推荐应用的预测安装值从大到小进行排序。获取排名靠前的预置数量的待推荐应用,将该部分的待推荐应用推荐给用户。
在其他实施例中,上述应用推荐装置的各个模块还用于执行上述应用推荐方法中相应步骤实现的功能,此处不再详述。
本发明还提供一种存储介质。该存储介质上存储有计算机程序;所述计算机程序被处理器执行时,实现上述任一实施例所述的应用推荐方法。该存储介质可以是存储器。例如,内存储器或外存储器,或者包括内存储器和外存储器两者。内存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)、快闪存储器、或者随机存储器。外存储器可以包括硬盘、软盘、ZIP盘、U盘、磁带等。本发明所公开的存储介质包括但不限于这些类型的存储器。本发明所公开的存储器只作为例子而非作为限定。
本发明还提供一种计算机设备。一种计算机设备包括:一个或多个处理器;存储器;一个或多个应用程序。其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行上述任一实施例所述的应用推荐方法。
图8为本发明一实施例中的计算机设备的结构示意图。本实施例所述计算机设备可以是服务器、个人计算机以及网络设备。如图8所示,设备包括处理器803、存储器805、输入单元807以及显示单元809等器件。本领域技术人员可以理解,图8示出的设备结构器件并不构成对所有设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件。存储器805可用于存储应用程序801以及各功能模块,处理器803运行存储在存储器805的应用程序801,从而执行设备的各种功能应用以及数据处理。存储器可以是内存储器或外存储器,或者包括内存储器和外存储器两者。内存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)、快闪存储器、或者随机存储器。外存储器可以包括硬盘、软盘、ZIP盘、U盘、磁带等。本发明所公开的存储器包括但不限于这些类型的存储器。本发明所公开的存储器只作为例子而非作为限定。
输入单元807用于接收信号的输入,以及接收用户输入的关键字。输入单元807可包括触控面板以及其它输入设备。触控面板可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并根据预先设定的程序驱动相应的连接装置;其它输入设备可以包括但不限于物理键盘、功能键(比如播放控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。显示单元809可用于显示用户输入的信息或提供给用户的信息以及计算机设备的各种菜单。显示单元809可采用液晶显示器、有机发光二极管等形式。处理器803是计算机设备的控制中心,利用各种接口和线路连接整个电脑的各个部分,通过运行或执行存储在存储器803内的软件程序和/或模块,以及调用存储在存储器内的数据,执行各种功能和处理数据。
在一实施方式中,设备包括一个或多个处理器803,以及一个或多个存储器805,一个或多个应用程序801。其中所述一个或多个应用程序801被存储在存储器805中并被配置为由所述一个或多个处理器803执行,所述一个或多个应用程序801配置用于执行以上实施例所述的应用推荐方法。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括存储器、磁盘或光盘等。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
应该理解的是,在本发明各实施例中的各功能单元可集成在一个处理模块中,也可以各个单元单独物理存在,也可以两个或两个以上单元集成于一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (11)
1.一种应用推荐方法,其特征在于,包括步骤:
获取待推荐用户已安装的应用,生成应用集合;
分别获取待推荐应用与所述应用集合中的每个应用的交叉特征,得到应用特征向量;
根据所述应用特征向量生成对应的实数向量,将所述实数向量输入预生成的应用推荐模型中,得到所述待推荐应用的预测安装值;其中,所述应用推荐模型用于表征所述实数向量和所述预测安装值之间的关联关系;
根据所述预测安装值,向所述待推荐用户推荐应用。
2.根据权利要求1所述的应用推荐方法,其特征在于,所述根据所述预测安装值,向所述待推荐用户推荐应用,包括:
获取应用推荐池中每个待推荐应用的预测安装值;
按照预测安装值从大到小对所述应用推荐池中的待推荐应用进行排序;
向所述待推荐用户推荐所述应用推荐池中排名靠前的预置数量的待推荐应用。
3.根据权利要求1所述的应用推荐方法,其特征在于,所述根据所述应用特征向量生成对应的实数向量,包括:
获取所述应用特征向量中每个元素的字符串的哈希值;
根据所述每个元素的哈希值生成所述实数向量。
4.根据权利要求1所述的应用推荐方法,其特征在于,所述预生成的应用推荐模型通过以下方式获得:
获取向样本用户曝光的应用,以及所述曝光的应用的安装信息;
根据所述曝光的应用的安装信息生成曝光应用安装向量;
获取所述样本用户已安装的应用,生成样本应用集合;
分别获取曝光的应用与所述样本应用集合中每个应用的交叉特征,得到样本应用特征向量;
根据所述样本应用特征向量生成对应的样本实数向量;
将所述样本实数向量和所述曝光应用安装向量,输入深度神经网络中进行训练,生成所述应用推荐模型。
5.根据权利要求4所述的应用推荐方法,其特征在于,所述将所述样本实数向量和所述曝光应用安装向量,输入深度神经网络中进行训练,生成所述应用推荐模型,包括:
将所述样本实数向量和所述曝光应用安装向量输入预先构建的损失函数中;
通过预设算法求解所述损失函数最小时对应的所述深度神经网络的模型参数,根据所述模型参数生成所述应用推荐模型。
6.根据权利要求5所述的应用推荐方法,其特征在于,所述预设算法为梯度下降法。
7.根据权利要求1所述的应用推荐方法,其特征在于,所述获取待推荐用户已安装的应用,生成应用集合,包括:
获取距离当前时间预设时长内待推荐用户已安装的应用,将所述已安装的应用按照安装时间与当前时间的距离从近到远的顺序进行排序;
根据排序后的已安装的应用,生成所述应用集合。
8.根据权利要求7所述的应用推荐方法,其特征在于,所述根据排序后的已安装的应用,生成所述应用集合,包括:
在所述排序后的已安装的应用中,获取排名靠前的预设数量的应用生成所述应用集合。
9.一种应用推荐装置,其特征在于,包括:
生成模块,用于获取待推荐用户已安装的应用,生成应用集合;
第一获取模块,用于分别获取待推荐应用与所述应用集合中的每个应用的交叉特征,得到应用特征向量;
第二获取模块,用于根据所述应用特征向量生成对应的实数向量,将所述实数向量输入预生成的应用推荐模型中,得到所述待推荐应用的预测安装值;其中,所述应用推荐模型用于表征所述实数向量和所述预测安装值之间的关联关系;
推荐模块,用于根据所述预测安装值,向所述待推荐用户推荐应用。
10.一种存储介质,其特征在于,其上存储有计算机程序;所述计算机程序被处理器执行时,实现上述权利要求1-8中任意一项所述的应用推荐方法。
11.一种计算机设备,其特征在于,其包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个应用程序配置用于执行根据权利要求1至8任一项所述的应用推荐方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810399587.6A CN108769125B (zh) | 2018-04-28 | 2018-04-28 | 应用推荐方法、装置、存储介质及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810399587.6A CN108769125B (zh) | 2018-04-28 | 2018-04-28 | 应用推荐方法、装置、存储介质及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108769125A true CN108769125A (zh) | 2018-11-06 |
CN108769125B CN108769125B (zh) | 2021-08-17 |
Family
ID=64012336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810399587.6A Active CN108769125B (zh) | 2018-04-28 | 2018-04-28 | 应用推荐方法、装置、存储介质及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108769125B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109408729A (zh) * | 2018-12-05 | 2019-03-01 | 广州市百果园信息技术有限公司 | 推荐物料确定方法、装置、存储介质和计算机设备 |
CN109408731A (zh) * | 2018-12-27 | 2019-03-01 | 网易(杭州)网络有限公司 | 一种多目标推荐方法、多目标推荐模型生成方法以及装置 |
CN110674020A (zh) * | 2019-09-02 | 2020-01-10 | 平安科技(深圳)有限公司 | App智能推荐方法、装置及计算机可读存储介质 |
CN111311104A (zh) * | 2020-02-27 | 2020-06-19 | 第四范式(北京)技术有限公司 | 一种配置文件的推荐方法、装置及系统 |
CN113641916A (zh) * | 2021-10-13 | 2021-11-12 | 腾讯科技(深圳)有限公司 | 一种内容推荐方法、装置、电子设备和存储介质 |
CN113988807A (zh) * | 2021-10-29 | 2022-01-28 | 民众安全服务(广东)有限公司 | 智慧应急管理系统及软件管理方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102722379A (zh) * | 2011-03-30 | 2012-10-10 | 腾讯科技(深圳)有限公司 | 软件推荐方法及系统 |
CN103544220A (zh) * | 2013-09-29 | 2014-01-29 | 北京航空航天大学 | 应用推荐方法和装置 |
CN104601438A (zh) * | 2014-04-28 | 2015-05-06 | 腾讯科技(深圳)有限公司 | 一种好友推荐方法和装置 |
US20160019587A1 (en) * | 2012-12-30 | 2016-01-21 | Certona Corporation | Extracting predictive segments from sampled data |
CN105933425A (zh) * | 2016-05-18 | 2016-09-07 | 北京奇虎科技有限公司 | 推荐应用的方法及装置 |
CN106649774A (zh) * | 2016-12-27 | 2017-05-10 | 北京百度网讯科技有限公司 | 基于人工智能的对象推送方法及装置 |
CN106846094A (zh) * | 2016-12-29 | 2017-06-13 | 广州优视网络科技有限公司 | 一种基于已安装应用来推荐应用信息的方法和装置 |
CN107507073A (zh) * | 2017-09-14 | 2017-12-22 | 中国人民解放军信息工程大学 | 基于信任扩展和列表级排序学习的服务推荐方法 |
CN107563851A (zh) * | 2017-08-23 | 2018-01-09 | 广东欧珀移动通信有限公司 | 应用推荐方法、装置、终端及存储介质 |
-
2018
- 2018-04-28 CN CN201810399587.6A patent/CN108769125B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102722379A (zh) * | 2011-03-30 | 2012-10-10 | 腾讯科技(深圳)有限公司 | 软件推荐方法及系统 |
US20160019587A1 (en) * | 2012-12-30 | 2016-01-21 | Certona Corporation | Extracting predictive segments from sampled data |
CN103544220A (zh) * | 2013-09-29 | 2014-01-29 | 北京航空航天大学 | 应用推荐方法和装置 |
CN104601438A (zh) * | 2014-04-28 | 2015-05-06 | 腾讯科技(深圳)有限公司 | 一种好友推荐方法和装置 |
CN105933425A (zh) * | 2016-05-18 | 2016-09-07 | 北京奇虎科技有限公司 | 推荐应用的方法及装置 |
CN106649774A (zh) * | 2016-12-27 | 2017-05-10 | 北京百度网讯科技有限公司 | 基于人工智能的对象推送方法及装置 |
CN106846094A (zh) * | 2016-12-29 | 2017-06-13 | 广州优视网络科技有限公司 | 一种基于已安装应用来推荐应用信息的方法和装置 |
CN107563851A (zh) * | 2017-08-23 | 2018-01-09 | 广东欧珀移动通信有限公司 | 应用推荐方法、装置、终端及存储介质 |
CN107507073A (zh) * | 2017-09-14 | 2017-12-22 | 中国人民解放军信息工程大学 | 基于信任扩展和列表级排序学习的服务推荐方法 |
Non-Patent Citations (1)
Title |
---|
孟宪阳: "多因素的排序推荐算法的研究与应用", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109408729A (zh) * | 2018-12-05 | 2019-03-01 | 广州市百果园信息技术有限公司 | 推荐物料确定方法、装置、存储介质和计算机设备 |
CN109408731A (zh) * | 2018-12-27 | 2019-03-01 | 网易(杭州)网络有限公司 | 一种多目标推荐方法、多目标推荐模型生成方法以及装置 |
CN109408731B (zh) * | 2018-12-27 | 2021-03-16 | 网易(杭州)网络有限公司 | 一种多目标推荐方法、多目标推荐模型生成方法以及装置 |
CN110674020A (zh) * | 2019-09-02 | 2020-01-10 | 平安科技(深圳)有限公司 | App智能推荐方法、装置及计算机可读存储介质 |
CN110674020B (zh) * | 2019-09-02 | 2022-07-22 | 平安科技(深圳)有限公司 | App智能推荐方法、装置及计算机可读存储介质 |
CN111311104A (zh) * | 2020-02-27 | 2020-06-19 | 第四范式(北京)技术有限公司 | 一种配置文件的推荐方法、装置及系统 |
CN113641916A (zh) * | 2021-10-13 | 2021-11-12 | 腾讯科技(深圳)有限公司 | 一种内容推荐方法、装置、电子设备和存储介质 |
CN113988807A (zh) * | 2021-10-29 | 2022-01-28 | 民众安全服务(广东)有限公司 | 智慧应急管理系统及软件管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108769125B (zh) | 2021-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108769125A (zh) | 应用推荐方法、装置、存储介质及计算机设备 | |
US11048530B1 (en) | Predictive action modeling to streamline user interface | |
CN109657138B (zh) | 一种视频推荐方法、装置、电子设备及存储介质 | |
CN113626719B (zh) | 信息推荐方法、装置、设备、存储介质及计算机程序产品 | |
CN110442790B (zh) | 推荐多媒体数据的方法、装置、服务器和存储介质 | |
WO2020011068A1 (zh) | 用于执行机器学习过程的方法和系统 | |
CN107613022B (zh) | 内容推送方法、装置及计算机设备 | |
CN111046286B (zh) | 一种对象推荐方法、装置、以及计算机存储介质 | |
CN108921221A (zh) | 用户特征的生成方法、装置、设备及存储介质 | |
CN110781391A (zh) | 一种信息推荐方法、装置、设备及存储介质 | |
CN111090756B (zh) | 基于人工智能的多目标推荐模型的训练方法及装置 | |
CN107103057A (zh) | 一种资源推送方法及装置 | |
CN106294830A (zh) | 多媒体资源的推荐方法及装置 | |
CN109377253A (zh) | 广告投放方法、装置、终端及存储介质 | |
WO2019084560A1 (en) | SEARCH FOR NEURONAL ARCHITECTURES | |
CN111258593B (zh) | 应用程序预测模型的建立方法、装置、存储介质及终端 | |
CN109189931A (zh) | 一种目标语句的筛选方法及装置 | |
CN110209875B (zh) | 用户内容画像确定方法、访问对象推荐方法和相关装置 | |
CN109388376A (zh) | 软件开发风险评估方法、装置、设备及可读存储介质 | |
CN113688326B (zh) | 推荐方法、装置、设备及计算机可读存储介质 | |
CN110110233A (zh) | 信息处理方法、装置、介质和计算设备 | |
CN109117442A (zh) | 一种应用推荐方法及装置 | |
CN113015010A (zh) | 推送参数确定方法、装置、设备及计算机可读存储介质 | |
CN111680213B (zh) | 信息推荐方法、数据处理方法及装置 | |
CN116452263A (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200421 Address after: 310052 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province Applicant after: Alibaba (China) Co.,Ltd. Address before: 510640 Guangdong city of Guangzhou province Whampoa Tianhe District Road No. 163 Xiping Yun Lu Yun Ping square B radio tower 15 layer self unit 02 Applicant before: GUANGZHOU UC NETWORK TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |