CN107832426A - 一种基于使用序列上下文的app推荐方法及*** - Google Patents

一种基于使用序列上下文的app推荐方法及*** Download PDF

Info

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
preference
context
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
Application number
CN201711117741.8A
Other languages
English (en)
Other versions
CN107832426B (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.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
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 Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN201711117741.8A priority Critical patent/CN107832426B/zh
Publication of CN107832426A publication Critical patent/CN107832426A/zh
Application granted granted Critical
Publication of CN107832426B publication Critical patent/CN107832426B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72406User 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)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于使用序列上下文的APP推荐方法及***,所述推荐方法包括如下步骤:步骤一,对任意用户,利用已训练好的神经网络模型,预测该用户对所有未安装的APP的偏好程度;步骤二,根据用户对所有未安装的APP的偏好进行排序,将偏好值最大的K个作为结果推荐给该用户,本发明根据用户使用APP的记录来抽取用户对APP的偏好情况,并根据用户使用APP的上下文信息,来解决数据稀疏性问题,以提高推荐准确率。

Description

一种基于使用序列上下文的APP推荐方法及***
技术领域
本发明涉及一种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个作为结果推荐给该用户。
CN201711117741.8A 2017-11-13 2017-11-13 一种基于使用序列上下文的app推荐方法及*** Active CN107832426B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (7)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
CN107832426A (zh) 一种基于使用序列上下文的app推荐方法及***
CN110110181B (zh) 一种基于用户风格和场景偏好的服装搭配推荐方法
CN110162693A (zh) 一种信息推荐的方法以及服务器
Lu Recommendations based on purchase patterns
CN110807150A (zh) 信息处理方法及装置、电子设备和计算机可读存储介质
Li et al. End-to-end learning for action quality assessment
CN107633430A (zh) 一种基于群体社区的商品推荐方法
CN111859160B (zh) 一种基于图神经网络会话序列推荐方法及***
CN110008397B (zh) 一种推荐模型训练方法及装置
CN111797321A (zh) 一种面向不同场景的个性化知识推荐方法及***
CN110209922A (zh) 对象推荐方法、装置、存储介质及计算机设备
CN108509573A (zh) 基于矩阵分解协同过滤算法的图书推荐方法及***
CN115917535A (zh) 推荐模型的训练方法、推荐方法、装置及计算机可读介质
US20230066853A1 (en) Method and apparatus for training information prediction models, method and apparatus for predicting information, and storage medium and device thereof
CN111523055B (zh) 一种基于农产品特征属性评论倾向的协同推荐方法及***
CN107016122B (zh) 基于时间迁移的知识推荐方法
CN110019943A (zh) 视频推荐方法、装置、电子设备和存储介质
CN110245285A (zh) 一种基于异构信息网络的个性化推荐方法
CN113946754A (zh) 基于用户画像的权益推荐方法、装置、设备及存储介质
CN106202377A (zh) 一种基于随机梯度下降的在线协同排序方法
Hong et al. Development of a new knowledge-based fabric recommendation system by integrating the collaborative design process and multi-criteria decision support
CN111695024A (zh) 对象评估值的预测方法及***、推荐方法及***
CN113806630A (zh) 基于注意力的多视角特征融合跨域推荐方法及装置
CN106202515A (zh) 一种基于排序学习的移动应用推荐方法及其推荐***
CN118043802A (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