CN107832426A - 一种基于使用序列上下文的app推荐方法及系统 - Google Patents
一种基于使用序列上下文的app推荐方法及系统 Download PDFInfo
- Publication number
- CN107832426A CN107832426A CN201711117741.8A CN201711117741A CN107832426A CN 107832426 A CN107832426 A CN 107832426A CN 201711117741 A CN201711117741 A CN 201711117741A CN 107832426 A CN107832426 A CN 107832426A
- Authority
- CN
- China
- Prior art keywords
- app
- user
- context
- preference
- neural network
- 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
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000003062 neural network model Methods 0.000 claims abstract description 34
- 239000013598 vector Substances 0.000 claims description 52
- 238000012549 training Methods 0.000 claims description 37
- 239000011159 matrix material Substances 0.000 claims description 20
- 238000013528 artificial neural network Methods 0.000 claims description 14
- 230000014509 gene expression Effects 0.000 claims description 10
- 238000012163 sequencing technique Methods 0.000 claims description 5
- 239000000284 extract Substances 0.000 abstract description 8
- 206010068052 Mosaicism Diseases 0.000 abstract 1
- 210000003765 sex chromosome Anatomy 0.000 abstract 1
- 238000005070 sampling Methods 0.000 description 21
- 238000004364 calculation method Methods 0.000 description 10
- 230000000875 corresponding effect Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 5
- 230000002596 correlated effect Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000007477 logistic regression Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72406—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Evolutionary Computation (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于使用序列上下文的APP推荐方法及系统,所述推荐方法包括如下步骤:步骤一,对任意用户,利用已训练好的神经网络模型,预测该用户对所有未安装的APP的偏好程度;步骤二,根据用户对所有未安装的APP的偏好进行排序,将偏好值最大的K个作为结果推荐给该用户,本发明根据用户使用APP的记录来抽取用户对APP的偏好情况,并根据用户使用APP的上下文信息,来解决数据稀疏性问题,以提高推荐准确率。
Description
技术领域
本发明涉及一种APP(Application,应用程序)推荐方法及系统,特别是涉及一种基于使用序列上下文的APP推荐方法及系统。
背景技术
近些年,随着人们生活水平的提高和科学技术的进步,智能手机逐渐成为人们生活的一部分。而智能手机上多种多样的APP也为人们提供了很多便利。然而在APP带给我们便利的同时,数目众多APP也让人们的选择变得更加困难。尤其是在数以万千的应用中,找到符合人们需求的APP更是十分困难。因此很多互联网公司提供了应用商店,这些商店汇总了手机上的APP程序,同时可以根据APP的安装情况来推荐一些APP给用户。
在科研领域,也有很多工作致力于设计更优良的推荐方法,提高推荐的准确度。然而,这些工作大多是根据一个用户对物品的打分矩阵,如电影评分等,来进行物品推荐。这些评分直接反映了用户对物品的喜好程度,但是评分数据很难直接获得。因为用户很少主动去给物品打分,这个问题在手机APP的使用上更为严重,与之相反,用户的隐式反馈,如用户点击、安装、删除等行为,却是比较容易获得的。但是隐式反馈也存在数据稀疏的问题,即用户仅安装数量十分少的APP,但是APP的总数却十分庞大。因此,本发明欲提供一种根据用户使用APP的记录来抽取用户对APP的偏好情况,同时根据用户使用APP的上下文信息,来解决数据稀疏性问题,提高推荐准确率的基于使用序列上下文的APP推荐方法及系统。
发明内容
为克服上述现有技术存在的不足,本发明之目的在于提供一种基于使用序列上下文的APP推荐方法及系统,以根据用户使用APP的记录来抽取用户对APP的偏好情况,并根据用户使用APP的上下文信息,来解决数据稀疏性问题,以提高推荐准确率。
为达上述及其它目的,本发明提出一种基于使用序列上下文的APP推荐方法,包括如下步骤:
步骤一,对任意用户,利用已训练好的神经网络模型,预测该用户对所有未安装的APP的偏好程度;
步骤二,根据用户对所有未安装的APP的偏好进行排序,将偏好值最大的K个作为结果推荐给该用户。
进一步地,于步骤一之前,还包括如下步骤:
根据用户对APP的偏好和APP使用序列上下文建立神经网络模型,并利用训练样本进行模型训练,获得训练好的神经网络模型。
进一步地,所述根据用户对APP的偏好和APP使用序列上下文建立神经网络模型,并利用训练样本进行模型训练,获得训练好的神经网络模型的步骤进一步包括:
步骤S1,根据用户的使用记录生成偏好矩阵;
步骤S2,根据用户的APP使用序列抽取出用户使用APP对应的上下文;
步骤S3,根据用户偏好和APP使用上下文建立神经网络模型;
步骤S4,获取训练样本,对该神经网络模型进行训练。
进一步地,于步骤S1中,所述偏好矩阵Y中元素的取值情况如下:
其中,取值1表示用户喜欢对应的APP,而取值0表示未观察到的状态。
进一步地,于步骤S2中,所述APP对应的上下文为使用序列中用户使用一个APP的记录附近的其他APP。
进一步地,所述神经网络模型包括输入层、嵌入层以及预测输出层,输入层的输入是一个用户和一个APP的向量表示,经嵌入层得到用户特征向量和APP特征向量,合并后经预测输出层输出用户对APP的偏好预测和用户使用该APP上下文的预测。
进一步地,用户对APP的偏好预测值计算方法如下:
用户偏好预测的损失函数如下:
其中,表示用户u的one-hot向量与嵌入层参数P相乘得到的向量表达,是APPa的向量表达,f表示神经网络的函数。P和Q分别是用户和APP向量表达的参数,θf是神经网络中其他的参数。
进一步地,上下文预测的损失函数为:
其中p(c|u,a)为给定用户u和APPa的情况下,上下文c出现的概率。
进一步地,步骤S4训练过程如下:
(1)使用随机数初始化模型参数;
(2)初始化t=1;
(3)随机选择一批数量为B样本(u,a)而且yua=1,作为正样本,标记为1,对每个正样本采样Np个负样本(u,a′),标记为0;
(4)使用损失函数更新模型参数;
(5)t=t+1。如果t<T1回到步骤(3);
(6)初始化t=1;
(7)采样一批数量为B的上下文样本(u,a,c),对每一个上下文样本采样出Nc个负样本;
(8)使用损失函数更新模型参数;
(9)t=t+1,如果t<T2回到步骤(7);
(10)判断损失函数是否收敛,收敛则退出,未收敛则返回步骤(2)
为达到上述目的,本发明还提供一种基于使用序列上下文的APP推荐系统,包括:
偏好程序预测单元,根据用户的APP使用记录,对任意用户利用已训练好的神经网络模型,预测该用户对所有未安装的APP的偏好程度;
推荐单元,用于根据用户对所有未安装的APP的偏好进行排序,将偏好值最大的K个作为结果推荐给该用户。
与现有技术相比,本发明一种基于使用序列上下文的APP推荐方法及系统通过从用户的APP使用记录中抽取用户对APP的偏好以用于APP的推荐,同时抽取用户使用APP的上下文用来解决用户偏好数据太稀疏的问题,提高了APP推荐的准确度。
附图说明
图1为本发明一种基于使用序列上下文的APP推荐方法的一个实施例的步骤流程图;
图2为本发明一种基于使用序列上下文的APP推荐方法的另一实施例的步骤流程图;
图3为本发明具体实施例中预处理单元的细部结构图;
图4为本发明一种基于使用序列上下文的APP推荐系统的一个实施例的系统架构图;
图5为本发明一种基于使用序列上下文的APP推荐系统的另一实施例的系统架构图;
图6为本发明具体实施例中模型建立单元的细部结构图。
具体实施方式
以下通过特定的具体实例并结合附图说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其它优点与功效。本发明亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本发明的精神下进行各种修饰与变更。
图1为本发明一种基于使用序列上下文的APP推荐方法的步骤流程图。如图1所示,本发明一种基于使用序列上下文的APP推荐方法,包括如下步骤:
步骤101,针对每一个用户,利用已训练好的神经网络模型,预测该用户对所有未安装的APP的偏好程度。
步骤102,根据用户对所有未安装的APP的偏好进行排序,将偏好值最大的K个作为结果推荐给该用户。
优选地,如图2所示,本发明一种基于使用序列上下文的APP推荐方法,于步骤101之前,还包括如下步骤:
步骤100,根据用户对APP的偏好和APP使用序列上下文建立神经网络模型,并使用梯度下降算法进行模型训练,获得训练好的神经网络模型。
具体地,步骤100进一步包括:
步骤S1,根据用户的使用记录生成偏好矩阵。其中偏好矩阵的一行表示一个用户,一列表示一个APP。如果用户使用过一个APP,则矩阵中对应项赋值为1,否则赋值为0。
在本发明具体实施例中,使用U和A分别表示用户和APP的集合。用户和APP的总数分别是M和N。根据用户使用APP的记录,则可以生成用户对APP的偏好矩阵Y,偏好矩阵Y中元素的取值情况如下公式:
该矩阵使用1表示用户喜欢该APP,而0表示未观察到的状态,可能是用户不喜欢该APP,也可能是用户还没有用过该APP。
步骤S2,根据用户的APP使用序列抽取出用户使用APP对应的上下文,即,使用序列中用户使用一个APP的记录附近的其他APP。
用户使用APP的上下文是指在APP使用日志中,该用户使用该APP的记录附近的APP。例如对一个用户u,他的APP使用序列是(a1,t1),...,(an,tn),其中αi表示APP,ti表示使用该APP的时刻。对于一个记录(αi,ti),用户u使用APPαi的两个上下文是{ai-1,ai+1}。较佳地,为了去除使用序列中的噪声,例如前一天使用的最后一个APP记录和今天使用的第一个APP记录,虽然相邻,但是并没有相互的关联,将原始的使用序列根据生成的日期被分割成子序列,因为用户的生活习惯经常是以一天为一个周期,对于(u,a)的所有上下文记录,转换成格式{a′:num,...},num是该上下文a′出现的次数。
步骤S3,根据用户偏好和APP使用上下文建立一个神经网络模型,所述神经网络模型包括输入层、嵌入层以及预测输出层,输入层的输入是一个用户和一个APP的向量表示,经嵌入层得到用户特征向量和APP特征向量,合并后经预测输出层输出用户对APP的偏好预测和用户使用该APP上下文的预测。
在本发明具体实施例中,该神经网络模型的架构如3所示,其中,
模型输入:模型的输入是一个用户和一个APP的向量表示,这里使用one-hot向量和来分别唯一表示用户u和APPa。即该向量只有一位为1,其他位为0。不同的用户向量不同,不同的APP向量也不同。向量的长度分别是用户数目和APP数目。
模型输出:模型的输出包括两个部分,图3中左边部分是用户对APP的偏好预测,即0-1之间的一个值。图3中右边部分是用户使用该APP的上下文。
对应于模型的输出,模型的损失函数如下:
其中,是用户偏好预测的误差,是上下文预测误差,λ是用来平衡这两部分的参数,可以人为设定。以下分别介绍该模型中的用户的偏好预测和上下文预测:
1、用户对APP偏好的预测
在本发明具体实施例中,用户对APP的偏好预测值计算方法如下:
表示用户u的one-hot向量与嵌入层参数P相乘得到的向量表达,是APPa的向量表达。f表示神经网络的函数。P和Q分别是用户和APP向量表达的参数,θf是神经网络中其他的参数。神经网络具体的函数形式如下:
其中hM表示用户和APP的向量合并,这里直接将用户和APP的向量拼接成一个新的向量。hi(x)表示神经网络的一个隐藏层,ho表示输出层,隐藏层和输出层的形式如下
hi(x)=φ(Wix+bi)
其中x表示该层的输入,Wi和bi分别是权重和偏置参数。φ(·)是Sigmoid函数,可以将输出控制在范围[0,1]之间。
根据用户的隐式反馈,即使用记录,只能获取用户喜欢那些APP,即yua=1。而当yua为0时并不能确定用户u不喜欢APPα。因此不能将所有的yua=0的元素作为训练样本,只能采样出一部分作为负样本进行模型训练。采样方法是给定一个正样本(u,a),其标记为1,即yua=1,作为训练样本。同时对该用户u,从未安装的APP中均匀采样出Np个负样本(u,a′),标记为0作为训练数据。
用户偏好预测的损失函数定义如下
2、用户使用APP上下文的预测
除了用户的偏好预测以外,上下文的预测方法可以作为正则化部分,更新用户和APP的向量表达。上下文预测的损失函数定义如下:
其中p(c|u,a)是给定u和a的情况下,上下文c出现的概率。下面介绍该概率如何计算,先定义神经网络上下文隐含层的输出为
在最后一层经过softmax函数,可以计算出上下文c出现的概率。softmax函数计算公式如下。
其中是上下文c对应的向量。Softmax函数计算的结果即p(c|u,a)。但是softmax函数的分母部分,需要计算zua和所有APP向量的内积,因此计算量较大,可以修改为负采样的方法来学习模型。假设(u,a,c)是根据用户使用APP记录得到的样本。可以认为这些样本是正样本C+,并针对每个正样本采样出负样本集合C-。使用逻辑回归的方法来判断一个样本是否为正样本,则损失函数就可以定义为
针对一个(u,a)会有多个上下文,而且不同的用户,不同的APP上下文的数目也不同,这样一些活跃的用户和热门的APP会有特别多的训练数据,会导致训练数据不均衡的问题。解决方法是给定一个(u,a)采样出固定数目的上下文c。在(u,a)所有上下文的集合C中,本发明提供了以下三种不同的采样的概率:
1)基于频率的采样概率pf。n(c|u,a)是对于(u,a)来说,上下文c出现的次数。
2)基于idf的采样概率pi。APP的idf定义是
3)基于频率和idf的采样概率pfi。首先根据上下文APP的频率计算概率分布pf,然后结合每个APP的idf值计算采样概率pfi。
在获取上下文样本之后,对每个上下文样本,还需要进行负采样,用来解决softmax函数计算量大的问题。给定一个上下文样本(u,a,c),我们在所有的APP中根据APP的受欢迎程度采样出Nc个负样本,采样概率定义如下
其中nU(a)=|{u∈U|yua=1}|,表示安装了APPa的用户数目,用来表示该APP的受欢迎程度。
步骤S4,获取训练样本,对该神经网络模型进行训练。
具体地,步骤S4的训练方法如下:
(1)使用随机数初始化模型参数
(2)初始化t=1
(3)随机选择一批数量为B的样本(u,a)而且yua=1,作为正样本,标记为1,对每个正样本采样Np个负样本(u,a′),标记为0
(4)使用损失函数更新模型参数
(5)t=t+1,如果t<T1回到步骤(3)
(6)初始化t=1
(7)采样一批数量为B的上下文样本(u,a,c),对每一个上下文样本采样出Nc个负样本
(8)使用损失函数更新模型参数
(9)t=t+1。如果t<T2回到步骤(7)
(10)判断损失函数是否收敛,收敛则退出。未收敛则返回步骤(2)。
图4为本发明一种基于使用序列上下文的APP推荐系统的系统架构图。如图4所示,本发明一种基于使用序列上下文的APP推荐系统,包括:
偏好程序预测单元401,根据用户的APP使用记录,对任意用户,利用已训练好的神经网络模型,预测该用户对所有未安装的APP的偏好程度。
推荐单元402,用于根据用户对所有未安装的APP的偏好进行排序,将偏好值最大的K个作为结果推荐给该用户。
优选地,如图5所示,本发明一种基于使用序列上下文的APP推荐系统,还包括:
模型建立单元400,用于根据用户对APP的偏好和APP使用序列上下文建立神经网络模型,并使用梯度下降算法进行模型训练,获得训练好的神经网络模型。
具体地,如图6所示,模型建立单元400进一步包括:
偏好矩阵生成单元400a,根据用户的使用记录生成偏好矩阵。其中偏好矩阵的一行表示一个用户,一列表示一个APP。如果用户使用过一个APP,则矩阵中对应项赋值为1,否则赋值为0。
在本发明具体实施例中,使用U和A分别表示用户和APP的集合。用户和APP的总数分别是M和N。根据用户使用APP的记录,则可以生成用户对APP的偏好矩阵Y,偏好矩阵Y中元素的取值情况如下公式:
该矩阵使用1表示用户喜欢该APP,而0表示未观察到的状态,可能是用户不喜欢该APP,也可能是用户还没有用过该APP。
APP上下文抽取单元400b,根据用户的APP使用序列抽取出用户使用APP对应的上下文,即,使用序列中用户使用一个APP的记录附近的其他APP。
用户使用APP的上下文是指在APP使用日志中,该用户使用该APP的记录附近的APP。例如对一个用户u,他的APP使用序列是(a1,t1),...,(an,tn),其中ai表示APP,ti表示使用该APP的时刻。对于一个记录(ai,ti),用户u使用APPai的两个上下文是{ai-1,ai+1}。较佳地,为了去除使用序列中的噪声,例如前一天使用的最后一个APP记录和今天使用的第一个APP记录,虽然相邻,但是并没有相互的关联,将原始的使用序列根据生成的日期被分割成子序列,因为用户的生活习惯经常是以一天为一个周期,对于(u,a)的所有上下文记录,转换成格式{a′:num,...},num是该上下文a′出现的次数。
神经网络模型建立单元400c,用于根据用户偏好和APP使用上下文建立一个神经网络模型,所述神经网络模型包括输入层、嵌入层以及预测输出层,输入层的输入是一个用户和一个APP的向量表示,经嵌入层得到用户特征向量和APP特征向量,合并后经预测输出层输出用户对APP的偏好预测和用户使用该APP上下文的预测。
在本发明具体实施例中,该神经网络模型的架构如3所示,其中,
模型输入:模型的输入是一个用户和一个APP的向量表示,这里使用one-hot向量和来分别唯一表示用户u和APPa。即该向量只有一位为1,其他位为0。不同的用户向量不同,不同的APP向量也不同。向量的长度分别是用户数目和APP数目。
模型输出:模型的输出包括两个部分,图3中左边部分是用户对APP的偏好预测,即0-1之间的一个值。图3中右边部分是用户使用该APP的上下文。
对应于模型的输出,模型的损失函数如下:
其中,是用户偏好预测的误差,是上下文预测误差,λ是用来平衡这两部分的参数,可以人为设定。以下分别介绍该模型中的用户的偏好预测和上下文预测:
1、用户对APP偏好的预测
在本发明具体实施例中,用户对APP的偏好预测值计算方法如下:
表示用户u的one-hot向量与嵌入层参数P相乘得到的向量表达,是APPa的向量表达。f表示神经网络的函数。P和Q分别是用户和APP向量表达的参数,θf是神经网络中其他的参数。神经网络具体的函数形式如下:
其中hM表示用户和APP的向量合并,这里直接将用户和APP的向量拼接成一个新的向量。hi(x)表示神经网络的一个隐藏层,ho表示输出层,隐藏层和输出层的形式如下
hi(x)=φ(Wix+bi)
其中x表示该层的输入,Wi和bi分别是权重和偏置参数。φ(·)是Sigmoid函数,可以将输出控制在范围[0,1]之间。
根据用户的隐式反馈,即使用记录,只能获取用户喜欢那些APP,即yua=1。而当yua为0时并不能确定用户u不喜欢APPa。因此不能将所有的yua=0的元素作为训练样本,只能采样出一部分作为负样本进行模型训练。采样方法是给定一个正样本(u,a),其标记为1,即yua=1,作为训练样本。同时对该用户u,从未安装的APP中均匀采样出Np个负样本(u,a′),标记为0作为训练数据。
用户偏好预测的损失函数定义如下
2、用户使用APP上下文的预测
除了用户的偏好预测以外,上下文的预测方法可以作为正则化部分,更新用户和APP的向量表达。上下文预测的损失函数定义如下:
其中p(c|u,a)是给定u和a的情况下,上下文c出现的概率。下面介绍该概率如何计算,先定义神经网络上下文隐含层的输出为
在最后一层经过softmax函数,可以计算出上下文c出现的概率。softmax函数计算公式如下。
其中是上下文c对应的向量。Softmax函数计算的结果即p(c|u,a)。但是softmax函数的分母部分,需要计算zua和所有APP向量的内积,因此计算量较大,可以修改为负采样的方法来学习模型。假设(u,a,c)是根据用户使用APP记录得到的样本。我可以认为这些样本是正样本C+,并针对每个正样本采样出负样本集合C-。使用逻辑回归的方法来判断一个样本是否为正样本,则损失函数就可以定义为
针对一个(u,a)会有多个上下文,而且不同的用户,不同的APP上下文的数目也不同,这样一些活跃的用户和热门的APP会有特别多的训练数据,会导致训练数据不均衡的问题。解决方法是给定一个(u,a)采样出固定数目的上下文c。在(u,a)所有上下文的集合C中,本发明提供了以下三种不同的采样的概率:
1)基于频率的采样概率pf。n(c|u,a)是对于(u,a)来说,上下文c出现的次数。
2)基于idf的采样概率pi。APP的idf定义是
3)基于频率和idf的采样概率pji。首先根据上下文APP的频率计算概率分布pf,然后结合每个APP的idf值计算采样概率pfi。
在获取上下文样本之后,对每个上下文样本,还需要进行负采样,用来解决softmax函数计算量大的问题。给定一个上下文样本(u,a,c),在所有的APP中根据APP的受欢迎程度采样出Nc个负样本,采样概率定义如下
其中nU(a)=|{u∈U|yua=1}|,表示安装了APPa的用户数目,用来表示该APP的受欢迎程度。
模型训练单元400d,用于获取训练样本,对该神经网络模型进行训练。
具体地,模型训练单元400d的训练过程如下:
(1)使用随机数初始化模型参数
(2)初始化t=1
(3)随机选择一批数量为B的样本(u,a)而且yua=1,作为正样本,标记为1,对每个正样本采样Np个负样本(u,a′),标记为0
(4)使用损失函数更新模型参数
(5)t=t+1,如果t<T1回到步骤(3)
(6)初始化t=1
(7)采样一批数量为B的上下文样本(u,a,c),对每一个上下文样本采样出Nc个负样本
(8)使用损失函数更新模型参数
(9)t=t+1。如果t<T2回到步骤(7)
(10)判断损失函数是否收敛,收敛则退出。未收敛则返回步骤(2)。
综上所述,本发明一种基于使用序列上下文的APP推荐方法及系统通过从用户的APP使用记录中抽取用户对APP的偏好以用于APP的推荐,同时抽取用户使用APP的上下文用来解决用户偏好数据太稀疏的问题,提高了APP推荐的准确度。
与现有技术相比,本发明具有如下优点:
1、解决了数据稀疏性问题。根据用户与APP之间的交互情况得到的偏好矩阵是比较稀疏的。如果仅仅使用该矩阵来进行APP推荐,推荐效果会比较差。本发明结合了用户使用APP的序列,解决了数据稀疏性的问题,并提高了推荐准确率;
2、静态的用户对APP偏好数据和时间序列的APP使用记录数据的结合。用户对APP的偏好,可以认为是静态的数据,因为用户安装APP的情况在较长的一段时间不会变化。而用户使用APP的记录却是在随着时间的增加而增加的。而这两类数据因为特性不同,很难结合到一块。本发明先从用户的APP使用记录中抽取出了所有的上下文,根据用户和使用的APP来预测用户偏好和使用记录上下文,使这两类数据很好地结合到了一起。
3、解决了不同用户之间以及不同APP之间训练数据不均衡问题。在用户使用APP的记录中,活跃的用户一定会比其他用户产生更多记录,受欢迎的APP也是如此。因此,如果直接使用原始的APP使用记录的上下文数据会导致训练数据的不均衡问题。本发明通过对不同的用户和APP采样出固定数目的上下文样本,解决了该问题。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何本领域技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修饰与改变。因此,本发明的权利保护范围,应如权利要求书所列。
Claims (10)
1.一种基于使用序列上下文的APP推荐方法,包括如下步骤:
步骤一,对任意用户,利用已训练好的神经网络模型,预测该用户对所有未安装的APP的偏好程度;
步骤二,根据用户对所有未安装的APP的偏好进行排序,将偏好值最大的K个作为结果推荐给该用户。
2.如权利要求1所述的一种基于使用序列上下文的APP推荐方法,其特征在于,于步骤一之前,还包括如下步骤:
根据用户对APP的偏好和APP使用序列上下文建立神经网络模型,并利用训练样本进行模型训练,获得训练好的神经网络模型。
3.如权利要求2所述的一种基于使用序列上下文的APP推荐方法,其特征在于,所述根据用户对APP的偏好和APP使用序列上下文建立神经网络模型,并利用训练样本进行模型训练,获得训练好的神经网络模型的步骤进一步包括:
步骤S1,根据用户的使用记录生成偏好矩阵;
步骤S2,根据用户的APP使用序列抽取出用户使用APP对应的上下文;
步骤S3,根据用户偏好和APP使用上下文建立神经网络模型;
步骤S4,获取训练样本,对该神经网络模型进行训练。
4.如权利要求3所述的一种基于使用序列上下文的APP推荐方法,其特征在于,于步骤S1中,所述偏好矩阵Y中各元素的取值情况如下:
其中,取值1表示用户喜欢对应的APP,而取值0表示未观察到的状态。
5.如权利要求3所述的一种基于使用序列上下文的APP推荐方法,其特征在于,于步骤S2中,所述APP对应的上下文为使用序列中用户使用一个APP的记录附近的其他APP。
6.如权利要求3所述的一种基于使用序列上下文的APP推荐方法,其特征在于:所述神经网络模型包括输入层、嵌入层以及预测输出层,输入层的输入是一个用户和一个APP的向量表示,经嵌入层得到用户特征向量和APP特征向量,合并后经预测输出层输出用户对APP的偏好预测和用户使用该APP上下文的预测。
7.如权利要求3所述的一种基于使用序列上下文的APP推荐方法,其特征在于,用户对APP的偏好预测值计算方法如下:
用户偏好预测的损失函数如下:
其中,表示用户u的one-hot向量与嵌入层参数P相乘得到的向量表达,是APPa的向量表达,f表示神经网络的函数。P和Q分别是用户和APP向量表达的参数,θf是神经网络中其他的参数。
8.如权利要求3所述的一种基于使用序列上下文的APP推荐方法,其特征在于,上下文预测的损失函数为:
其中p(c|u,a)为给定用户u和APPα的情况下,上下文c出现的概率。
9.如权利要求3所述的一种基于使用序列上下文的APP推荐方法,其特征在于,步骤S4训练过程如下:
(1)使用随机数初始化模型参数;
(2)初始化t=1;
(3)随机选择一批数量为B样本(u,a)而且yua=1,作为正样本,标记为1,对每个正样本采样Np个负样本(u,a′),标记为0;
(4)使用损失函数更新模型参数;
(5)t=t+1,如果t<T1回到步骤(3);
(6)初始化t=1;
(7)采样一批数量为B的上下文样本(u,a,c),对每一个上下文样本采样出Nc个负样本;
(8)使用损失函数更新模型参数;
(9)t=t+1,如果t<T2回到步骤(7);
(10)判断损失函数是否收敛,收敛则退出,未收敛则返回步骤(2)。
10.一种基于使用序列上下文的APP推荐系统,包括:
偏好程序预测单元,根据用户的APP使用记录,对任意用户利用已训练好的神经网络模型,预测该用户对所有未安装的APP的偏好程度;
推荐单元,用于根据用户对所有未安装的APP的偏好进行排序,将偏好值最大的K个作为结果推荐给该用户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711117741.8A CN107832426B (zh) | 2017-11-13 | 2017-11-13 | 一种基于使用序列上下文的app推荐方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711117741.8A CN107832426B (zh) | 2017-11-13 | 2017-11-13 | 一种基于使用序列上下文的app推荐方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107832426A true CN107832426A (zh) | 2018-03-23 |
CN107832426B CN107832426B (zh) | 2021-11-02 |
Family
ID=61655300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711117741.8A Active CN107832426B (zh) | 2017-11-13 | 2017-11-13 | 一种基于使用序列上下文的app推荐方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107832426B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108536572A (zh) * | 2018-04-16 | 2018-09-14 | 浙江大学 | 基于AppUsage2Vec模型的智能手机App使用预测方法 |
CN108648049A (zh) * | 2018-05-03 | 2018-10-12 | 中国科学技术大学 | 一种基于用户行为区别建模的序列推荐方法 |
CN109299327A (zh) * | 2018-11-16 | 2019-02-01 | 广州市百果园信息技术有限公司 | 视频推荐方法、装置、设备及存储介质 |
CN109522474A (zh) * | 2018-10-19 | 2019-03-26 | 上海交通大学 | 基于交互序列数据挖掘深度用户相似性的推荐方法 |
CN110083769A (zh) * | 2019-04-29 | 2019-08-02 | 西北工业大学 | 一种面向用户偏好演化的移动应用推荐方法 |
CN110569422A (zh) * | 2018-03-29 | 2019-12-13 | 广州市动景计算机科技有限公司 | 基于应用向量的应用推荐方法及装置 |
CN110765352A (zh) * | 2019-10-11 | 2020-02-07 | 上海上湖信息技术有限公司 | 一种用户兴趣识别方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104166668A (zh) * | 2014-06-09 | 2014-11-26 | 南京邮电大学 | 基于folfm模型的新闻推荐系统及方法 |
CN104866505A (zh) * | 2014-02-25 | 2015-08-26 | 腾讯科技(深圳)有限公司 | 一种应用的推荐方法及装置 |
CN105912550A (zh) * | 2015-12-15 | 2016-08-31 | 乐视网信息技术(北京)股份有限公司 | 一种移动终端的信息推荐方法及装置 |
CN105975309A (zh) * | 2016-05-05 | 2016-09-28 | 广东小天才科技有限公司 | 一种移动终端的应用程序更新方法及装置 |
CN106528745A (zh) * | 2016-10-27 | 2017-03-22 | 北京奇虎科技有限公司 | 在移动终端上推荐资源的方法、装置及移动终端 |
CN106779867A (zh) * | 2016-12-30 | 2017-05-31 | 中国民航信息网络股份有限公司 | 基于上下文感知的支持向量回归推荐方法及系统 |
US20170169473A1 (en) * | 2015-12-11 | 2017-06-15 | Wesley John Boudville | App social network via linket and ads for mobile deep links |
-
2017
- 2017-11-13 CN CN201711117741.8A patent/CN107832426B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104866505A (zh) * | 2014-02-25 | 2015-08-26 | 腾讯科技(深圳)有限公司 | 一种应用的推荐方法及装置 |
CN104166668A (zh) * | 2014-06-09 | 2014-11-26 | 南京邮电大学 | 基于folfm模型的新闻推荐系统及方法 |
US20170169473A1 (en) * | 2015-12-11 | 2017-06-15 | Wesley John Boudville | App social network via linket and ads for mobile deep links |
CN105912550A (zh) * | 2015-12-15 | 2016-08-31 | 乐视网信息技术(北京)股份有限公司 | 一种移动终端的信息推荐方法及装置 |
CN105975309A (zh) * | 2016-05-05 | 2016-09-28 | 广东小天才科技有限公司 | 一种移动终端的应用程序更新方法及装置 |
CN106528745A (zh) * | 2016-10-27 | 2017-03-22 | 北京奇虎科技有限公司 | 在移动终端上推荐资源的方法、装置及移动终端 |
CN106779867A (zh) * | 2016-12-30 | 2017-05-31 | 中国民航信息网络股份有限公司 | 基于上下文感知的支持向量回归推荐方法及系统 |
Non-Patent Citations (2)
Title |
---|
XIA WU ET AL.: ""A Hybrid Approach Based on Collaborative Filtering to Recommending Mobile Apps"", 《INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED SYSTEMS》 * |
曹磊: ""基于移动上下文的音乐推荐系统"", 《万方数据知识服务平台》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110569422A (zh) * | 2018-03-29 | 2019-12-13 | 广州市动景计算机科技有限公司 | 基于应用向量的应用推荐方法及装置 |
CN110569422B (zh) * | 2018-03-29 | 2022-06-17 | 阿里巴巴(中国)有限公司 | 基于应用向量的应用推荐方法及装置 |
CN108536572A (zh) * | 2018-04-16 | 2018-09-14 | 浙江大学 | 基于AppUsage2Vec模型的智能手机App使用预测方法 |
CN108536572B (zh) * | 2018-04-16 | 2020-05-12 | 浙江大学 | 基于AppUsage2Vec模型的智能手机App使用预测方法 |
CN108648049A (zh) * | 2018-05-03 | 2018-10-12 | 中国科学技术大学 | 一种基于用户行为区别建模的序列推荐方法 |
CN108648049B (zh) * | 2018-05-03 | 2022-03-01 | 中国科学技术大学 | 一种基于用户行为区别建模的序列推荐方法 |
CN109522474A (zh) * | 2018-10-19 | 2019-03-26 | 上海交通大学 | 基于交互序列数据挖掘深度用户相似性的推荐方法 |
CN109522474B (zh) * | 2018-10-19 | 2021-05-18 | 上海交通大学 | 基于交互序列数据挖掘深度用户相似性的推荐方法 |
CN109299327A (zh) * | 2018-11-16 | 2019-02-01 | 广州市百果园信息技术有限公司 | 视频推荐方法、装置、设备及存储介质 |
CN110083769A (zh) * | 2019-04-29 | 2019-08-02 | 西北工业大学 | 一种面向用户偏好演化的移动应用推荐方法 |
CN110083769B (zh) * | 2019-04-29 | 2023-04-18 | 西北工业大学 | 一种面向用户偏好演化的移动应用推荐方法 |
CN110765352A (zh) * | 2019-10-11 | 2020-02-07 | 上海上湖信息技术有限公司 | 一种用户兴趣识别方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107832426B (zh) | 2021-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107832426B (zh) | 一种基于使用序列上下文的app推荐方法及系统 | |
Collin et al. | Extending approximate Bayesian computation with supervised machine learning to infer demographic history from genetic polymorphisms using DIYABC Random Forest | |
CN110717098B (zh) | 基于元路径的上下文感知用户建模方法、序列推荐方法 | |
CN110503531B (zh) | 时序感知的动态社交场景推荐方法 | |
He et al. | Diversified third-party library prediction for mobile app development | |
Singer et al. | Detecting memory and structure in human navigation patterns using Markov chain models of varying order | |
CN110717099B (zh) | 一种推荐影片的方法及终端 | |
CN111783810B (zh) | 用于确定用户的属性信息的方法和装置 | |
CN112115257A (zh) | 用于生成信息评估模型的方法和装置 | |
CN111966914A (zh) | 基于人工智能的内容推荐方法、装置和计算机设备 | |
CN108769125B (zh) | 应用推荐方法、装置、存储介质及计算机设备 | |
CN111242310A (zh) | 特征有效性评估方法、装置、电子设备及存储介质 | |
US11443202B2 (en) | Real-time on the fly generation of feature-based label embeddings via machine learning | |
CN108520034B (zh) | 应用推荐方法、装置及计算机设备 | |
CN112989146B (zh) | 向目标用户推荐资源的方法、装置、设备、介质和程序产品 | |
CN115879508A (zh) | 一种数据处理方法及相关装置 | |
CN115018552A (zh) | 产品点击率确定方法 | |
CN114780753A (zh) | 基于知识图谱的对话推荐方法、装置、设备及存储介质 | |
JP2024508502A (ja) | 情報をプッシュする方法および装置 | |
Guan et al. | Enhanced SVD for collaborative filtering | |
CN113792952A (zh) | 用于生成模型的方法和装置 | |
CN113836388A (zh) | 信息推荐方法、装置、服务器及存储介质 | |
CN116401522A (zh) | 一种金融服务动态化推荐方法和装置 | |
CN107766944B (zh) | 一种利用api分析进行系统功能流优化的系统和方法 | |
CN109740743A (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 |