CN109711651B - 一种带修正向量的隐含因子模型威客任务推荐方法 - Google Patents
一种带修正向量的隐含因子模型威客任务推荐方法 Download PDFInfo
- Publication number
- CN109711651B CN109711651B CN201810034174.8A CN201810034174A CN109711651B CN 109711651 B CN109711651 B CN 109711651B CN 201810034174 A CN201810034174 A CN 201810034174A CN 109711651 B CN109711651 B CN 109711651B
- Authority
- CN
- China
- Prior art keywords
- user
- task
- correction vector
- interest
- tasks
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种带特征向量的隐含因子模型威客任务推荐方法,用于解决威客平台出现的信息过载问题,向用户推荐适合的任务,其技术方案主要包括以下步骤:首先进行用户兴趣度量化与特征集构建,将原始行为数据进行量化,读入特征集并引入负采样来丰富原始行为集;随后建立带修正向量隐含因子模型,进行训练,并生成推荐结果;最后,对于新进入、尚未具有行为信息的用户和任务,提供基于修正向量组进行冷启动推荐;本发明根据威客平台数据的特点,将用户特征、任务特征对应为修正向量引入隐含因子模型中,对用户的兴趣进行更精确地建模,同时利用模型中的用户特征向量及任务特征向量解决新用户、新任务进入时的冷启动问题,实用性强。
Description
技术领域
本发明涉及威客任务的推荐方法,特别是涉及到引入了根据用户特征和任务特征进行细化的修正向量的基于隐含因子模型的推荐算法及其应用方法。
背景技术
随着信息化的进程的加速,许多新兴互联网概念应运而生,威客模式正是其中之一。威客的概念大约于2005年被提出,将人的知识、智慧、经验、技能通过互联网转换成实际收益,从而达到各取所需的互联网新模式。
在威客模式快步发展的同时,它也陷入了信息过载的窘境。大量信息的涌入导致用户获取信息的困难,以国内某大型威客网站为例,其需求(任务)总量达到20余万,注册用户更是接近800万,而其用于信息过滤的手段只有简单的关键字搜索、条件项目过滤等,无疑给用户定位到适合自己的任务增加了难度,成为制约其发展的一个短板,而推荐系统正是解决该问题的一个重要手段。
目前,学术界提出了多种推荐方法来适应不同的推荐环境,其中应用较为广泛的是协同过滤方法,协同过滤方法的基本思想是通过利用用户与物品间的交互行为构造出相似性,进而基于相似性构造出用户对物品的兴趣度量并作出推荐。本发明提出的带修正向量的隐含因子模型属于一种基于模型的协同过滤方法,该类方法最早源于信息检索的领域中的隐语义索引,其使用矩阵的奇异值分解对文档的词袋模型进行分解,以更精确地使用向量空间来描述某一文档。目前使用的隐含因子型推荐方法可看做代数学上的矩阵奇异值分解(Singular Value Decomposition,SVD)的改造版本,Yehuda Koren在其论文中将这一类方法统称为隐含因子模型(Latent Factor Model,LFM)。此类推荐方法亦有明显短板存在,当一个新用户或新物品加入系统时,系统中也没有任何关于它的行为,就难以做出相应的推荐,造成了被称为“冷启动”的问题。解决冷启动问题也已经有了多种途径,例如使用人口统计学信息、热门物品推荐、同类物品推荐等,本发明亦结合威客任务数据的特征,提出了相应的解决方案。
发明内容
本发明之目的在于提供一种基于隐含因子模型的威客任务推荐方法,结合威客任务交互数据的一系列特点,引入用户特征、任务特征修正向量对用户的兴趣进行更精确地建模,提高推荐的准确率,同时利用模型中的用户特征向量及任务特征向量解决新用户、新任务进入时的冷启动问题,提高推荐方法整体的可用性。
本发明的具体技术方案包括以下几个步骤:
(1)用户兴趣度量化与特征集构建
首先,从威客平台数据库读取用户-威客交互信息,并以二元组(u,t)的形式存入倒排链表形式的行为集T,此即用户与任务之间的交互行为信息。
针对在行为集T中出现过的所有用户和任务,从数据库中读取其特征信息,对于用户,读取其兴趣类型(可有多个),佣金均值作为特征,对于任务,读取其所属类别、子类别、佣金、时间要求作为特征,将其中数值型值进行离散化处理后,分别存入用户特征集D和任务特征集E。
对于每一个用户u,以预定义的采样比例r(即,该用户在训练集中的行为数与采样的负样本个数之比为r)在他未产生过行为的任务tn中进行采样,每一件任务被采样到的几率与其在训练集中出现的次数(热门程度)成正比,其概率公式可由下式1表示,其中appear_times()为任务在行为集中出现次数。
同时,考虑到威客数据的特点,当被采样到的任务的类别出现在用户喜好的类别中,则以一定的概率θ拒绝本次负采样,对所有用户进行此负采样过程,即可构建出负样本采样集N。
相比于那些具有显式兴趣度度量(如评分)的应用来说,威客平台所存储的数据中没有相应的量化度量,仅有用户对任务参与的记录,故需要进行显式量化。本发明认为当用户参与某一任务时,即可认为其对该任务表现出喜好,统一令其兴趣度评分为1,同时,令那些被负采样过程采样到的负样本的兴趣度评分为0,兴趣度rut的量化如下式所示。
由此,即构造出用户-任务兴趣度矩阵R,用户特征集D以及任务特征集E,可用于后续的模型建立和推荐。
(2)隐含因子模型的建立与推荐结果的生成
传统隐含因子模型将用户和任务分别映射到一个f维的隐式空间进行表达,并通过向量空间的内积预测出用户对任务的兴趣度,这种方法从宏观上对整个系统进行建模,缺少对个体的特化。
本发明根据威客数据的特点,结合用户特征集D和任务特征集E对隐含因子向量进行了修正,即个体的隐含因子向量由宏观训练出的部分和特征修正的部分两部分组合而成,使其更精确地刻画用户、任务间的兴趣关系。本发明采用式3对用户u对任务t的兴趣度进行建模,U为用户隐含因子矩阵(Uu为代表用户u的行)、V为任务隐含因子矩阵(Vt为代表任务t的列)、y为用户特征修正向量组(yj为特征j对应的修正向量)、z为任务特征修正向量组(zk为特征k对应的修正向量),D(u)与E(t)代表用户u的特征集和任务t的特征集,该模型示意图如附图1所示。
该模型的训练可以转换为一个最优化问题,即最小化下式4所示之损失函数L,使得预测的兴趣度尽可能的接近实际兴趣度rut,为避免模型出现过拟合现象,本发明在该损失函数中引入了正则化项,并引入了正则化参数λ1、λ2。
该式可通过随机梯度下降法进行优化,其依据实值函数沿着梯度方向增长最快,负梯度方向减少最快的原理,从某一初值点向负梯度方向进行迭代,使目标函数逐渐接近最优,进而完成模型训练。
根据随机梯度下降法的定义,每一次迭代需沿着梯度的负方向进行更新,以找到损失函数L的最优值。本发明之模型带有四组模型参数:uuf、vtf、yjf、zkf,(即上述Uu、Vt、修正向量yj、zk的第f维)需分别进行优化。
以模型参数uuf为例,梯度在该参数方向的分量即为损失函数L对uuf的偏导数,设预测兴趣度与实际兴趣度量化间的差值为eut,如式5所示,在每一次更新时即令参数向负梯度方向推进,为了计算方便,将常数因子2提取并整合入学习率α(即梯度下降过程中每一步移动的“幅度”),则其迭代更新式可由式6定义。
同理,可以得到另外三组模型参数vtf、yjf、zkf的迭代更新公式,如下式7~9所示:
基于以上更新式,即可使用训练样本,即(1)中兴趣度矩阵R中的有定义项进行迭代训练,直至到达最大迭代次数或损失函数变化小于某一预定阈值。
训练过程结束后,即可得到隐因子矩阵U、V以及修正向量组y、z并对每个用户生成推荐结果,其方式是通过U、V、y、z,根据式3计算出用户对每件任务的预测兴趣度,排序后输出兴趣度最高、且不在用户曾经发生过兴趣的任务中的N件任务作为推荐。
(3)基于修正向量组的冷启动推荐
本发明提出之模型中,威客用户和任务都是由自身隐含因子向量和特征修正向量两部分来表示的,对于新加入的任务(威客用户),在没有行为信息的情况下,可以仅根据其特征来刻画其兴趣度,这样做虽然会造成一定的偏差,但可以使系统在不知晓任何行为信息的情况下做出推荐,以解决冷启动的问题。
对于新加入系统的任务t,可以使用其分类类别、父类别以及酬金价格段等特征的修正向量组成“冷启动隐因子向量”以代替任务t的隐因子向量Vt,则威客用户u对任务t的兴趣度可以由式10进行估计:
类似地,对于新加入系统的用户u,可以使用其填写的擅长任务分类等特征的修正向量组成隐因子向量代替其原有隐因子向量Uu,则其对系统中已存在的任务t的兴趣度可以由式11进行估计:
由此,即可预测出相应用户与新任务、新用户与任务之间的预测兴趣度,并根据此,为用户独立的新任务推荐,并为新用户推荐合适其的任务。
综上,本发明在现有的隐含因子模型的基础上,根据威客任务交互数据的特性,构造出用户特征、任务特征修正向量对原始的隐含因子向量进行修正,使得模型对用户-任务间的兴趣度关系刻画更为准确,提升了推荐结果的准确度,对于传统推荐方法针对冷启动场景(无交互数据的新用户、新任务进行推荐)表现差的特点,当新用户、新任务进入系统时,本发明所提出之方法可使用训练好的用户特征向量集和任务特征向量集解决,以解决冷启动问题,具有很强的实用性。
附图说明
图1为模型示意图
图2倒排表示意图
图3为训练过程流程图
图4为推荐过程流程图
图5为本发明方法实验效果图
具体实施方式
本发明提供一种引入修正向量的隐含因子模型威客任务推荐方法,基于威客数据的特点,引入了用户与任务的特征信息参与到兴趣度的整体宏观建模,使模型能够更精确地刻画用户-任务之间的兴趣度关系,旨在获得更准确的推荐结果,同时,利用模型训练得到的修正向量解决了新用户、新任务进入系统时的冷启动推荐问题,具有很强的实用性。本节将结合具体实施例,描述本发明的具体实施方式。
本发明的具体实施过程可以分为三个关键过程:数据录入与兴趣度量化构造,隐含因子模型的构造与推荐结果生成,新进入用户与任务的冷启动推荐,以下分别介绍每一过程的具体细节,并介绍本发明的具体应用效果。
1.数据录入与兴趣度量化构造
(1)行为集构造;本发明将用户对某一任务的投稿视为“兴趣行为”,从数据库中读取相应的数据,在过程中,将重复投稿过滤后,以用户-任务二元组(u,t)的形式存入一个行为集T。
相比于直接构造矩阵,为便于读取,该集合可采用倒排链表的形式构造,以用户标识符作为链表头,将其发生过行为的任务构造在链表中,实际使用时可通过散列方法查找,其示意图可见说明书附图2。
(2)特征集构造;从数据库中读取用户的兴趣任务类型(可有多个),佣金均值,任务的所属类别、子类别、佣金、时间要求作为特征,对于其中的数值型值(佣金),采用分箱的方法进行离散化,使其变成不同的离散值(可数个不同特征),存入用户特征集D和任务特征集E,为便于读取,此特征集可使用和上述行为集类似的倒排链表来构造。
(3)进行负样本采样;即从兴趣集合中随机挑选出一部分用户没有与之产生过关系的物品作为负样本。任务在行为集中出现次数越多,越容易被采样中,即任务tn被采样的概率为对每个用户,根据一个预定义好的采样比例r以及其历史行为个数来决定采样任务数,如采样中的任务所属类别为用户的兴趣类别,则以一定的概率θ拒绝此次采样,组织成负采样集N。
(4)兴趣度量化,对于行为集T中的所有行为,认为其为兴趣行为,设其兴趣度为1,并写入行为集中,相应地,认为所有负采样集N中的样本,认为其为无兴趣行为,设其兴趣度为0。
2.隐含因子模型的建立与推荐结果生成
(1)模型参数初始化;初始化用户、任务隐含因子矩阵U、V以及用户、任务修正向量组y、z,此处使用一个正态分布x~N(0,1)来产生随机值进行初始化,以避免填入0值导致后续训练无法完成。
(2)训练迭代;依次遍历行为集中的所有用户,将其行为集中的每一个二元组(即一个用户-任务对)作为一个样本点,采用随机梯度下降法训练,训练时,用对兴趣度进行预测,式中U为用户隐含因子矩阵(Uu为代表用户u的行)、V为任务隐含因子矩阵(Vt为代表任务t的列)、y为用户特征修正向量组(yj为特征j对应的修正向量)、z为任务特征修正向量组(zk为特征k对应的修正向量),D(u)与E(t)代表用户u的特征集和任务t的特征集,λ1、λ2为正则化参数。设预测兴趣度与实际兴趣度量化间的差值为eut,四组模型参数U、V、y、z分别采用以下四式进行更新: vtf、yjf、zkf分别为上述Uu、Vt、修正向量yj、zk的第f维,直至或到达最大迭代次数,在训练过程中,每经历一次迭代,令学习率衰减为原来的95%,以避免在训练接近结束时越过局部最优值。
模型训练的具体过程可见说明书附图3。
(3)生成推荐结果;在模型训练完成后,即可根据训练后的模型,使用式预测出系统中任意用户对任意任务的预测兴趣度值,根据该值即可对用户做出推荐,具体方法为遍历系统中所有用户,在其未发生过兴趣的任务中选择预测兴趣度值最高的N个(该N值由系统具体的业务情况决定),组成推荐列表,将其推荐给用户。
推荐生成的具体过程可见说明书附图4。
3.基于修正向量组的冷启动推荐
(1)特征集提取;对于新进入系统的用户、任务,与兴趣度构造类似,从数据库中提取相应的特征信息:用户提取兴趣任务类型,佣金均值,任务则提取所属类别、子类别、佣金、时间要求,组织成相应的用户特征集D’,任务特征集E’。
(2)预测兴趣度并做出推荐;威客用户u对新进入任务t的兴趣度可以由进行估计,其中E’(t)是新任务t的特征集,新用户u对系统中已存在的任务t的兴趣度可以由:进行估计,其中D’(u)是新用户u的特征集,根据预测出的兴趣度,为用户独立的新任务推荐,并为新用户推荐合适其的任务,该推荐与步骤2所做出的推荐分别提供给用户。
4.本发明的应用效果
本发明截取了某威客平台1个月的相关数据进行了实验,其实验结果如说明书附图5所示,所使用的评价指标为召回率(Recall),其定义为即推荐列表中的任务出现在测试集中的比例,可见,本发明提供方法在威客任务推荐场景下相较原方法有较大改善。
对于冷启动场景,我们在威客数据中抽取一些未在实验数据中出现的20件任务,为一位标注为“外观设计”、“UI设计”的用户进行冷启动推荐,设N=5,推荐得到的任务如下所示:
表1任务冷启动推荐
排名 | 标题 | 分类 |
1 | 赛里木之恋-系列白酒外观设计 | 产品外观设计 |
2 | 设计一份宣传册 | 宣传册页 |
3 | 化妆品上市海报设计 | 海报设计 |
4 | 软件UI设计 | 整站网页设计 |
5 | 企业网站UI界面设计 | 整站网页设计 |
同样的,我们设计了一位兴趣类型为“程序外包”、“网站开发”的新用户,为其进行新入任务的冷启动推荐,设N=5,推荐得到的任务如下所示:
表2用户冷启动推荐
排名 | 标题 | 分类 |
1 | 汽车租赁网站建设 | 电商网站 |
2 | 做一个静态网站 | 程序功能开发 |
3 | 仿一个网站 | 资讯型网站 |
4 | 建设汽车租赁网站 | 综合性网站 |
5 | c2c网站建设 | 综合性网站 |
可见,本发明提供的方法可以根据修正向量,得出良好的冷启动推荐结果。
Claims (3)
1.一种带修正向量的隐含因子模型威客任务推荐方法,其特征在于,具体包括以下步骤:
(1)用户兴趣度量化与特征集构建,该步骤读取原始数据集中的交互数据与用户、任务特征数据,并通过引入负采样的方式对用户-任务兴趣度进行量化;
(2)隐含因子模型的建立与推荐结果的生成,该步骤基于(1)中构建的量化兴趣度及用户、任务特征集训练出带修正向量的隐含因子模型,并基于训练后的模型预测;
(3)基于修正向量组的冷启动推荐,该步骤通过(2)中训练得到的修正向量组计算新用户和新任务对已存在的任务和用户的兴趣度,并做出冷启动推荐;
所述的步骤(2)中的隐含因子模型的建立与推荐结果的生成,该步骤基于上述步骤(1)中构建的量化兴趣度及用户、任务特征集训练出带修正向量的隐含因子模型,并基于训练后的模型预测;具体的,模型使用下式来预测用户u对某一任务t的兴趣度:
其中,U为用户隐含因子矩阵,Uu为代表用户u的行,V为任务隐含因子矩阵,Vt为代表任务t的列,y为用户特征修正向量组,yj为特征j对应的修正向量,z为任务特征修正向量组,zk为特征k对应的修正向量,D(u)与E(t)代表用户u的特征集和任务t的特征集;使用随机梯度下降法优化损失函数来进行模型的训练,其中λ1、λ2为正则化参数用于控制过拟合情况;按照随机梯度下降法的求解方式,设预测兴趣度与实际兴趣度量化间的差值为eut,四组模型参数uuf、vtf、yjf、zkf,即上述Uu、Vt、修正向量yj、zk的第f维,分别采用以下四式进行更新:
α为学习率,基于以上式,迭代直至到达最大迭代次数或损失函数变化小于某一预定阈值,即得到隐因子矩阵U、V以及修正向量组y、z并对每个用户生成推荐结果,并计算出用户对每件任务的预测兴趣度,排序后输出兴趣度最高、且不在用户曾经发生过兴趣的任务中的M件任务作为推荐。
2.根据权利要求1中所述的带修正向量的隐含因子模型威客任务推荐方法,其特征在于所述的步骤(1)中的用户兴趣度量化与特征集构建,该步骤读取原始数据集中的交互数据与用户、任务特征数据,并通过引入负采样的方式对用户-任务兴趣度进行量化;
3.根据权利要求1中所述的带修正向量的隐含因子模型威客任务推荐方法,其特征在于所述的步骤(3)中的基于修正向量组的冷启动推荐,该步骤通过上述步骤训练得到的修正向量组计算新用户和新任务对已存在的任务和用户的兴趣度,并做出冷启动推荐;
由此,即预测出相应用户与新任务、新用户与任务之间的预测兴趣度,并根据此,为用户独立的新任务推荐,并为新用户推荐合适其的任务。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2017110144281 | 2017-10-26 | ||
CN201711014428 | 2017-10-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109711651A CN109711651A (zh) | 2019-05-03 |
CN109711651B true CN109711651B (zh) | 2021-02-09 |
Family
ID=66253630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810034174.8A Active CN109711651B (zh) | 2017-10-26 | 2018-01-15 | 一种带修正向量的隐含因子模型威客任务推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109711651B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112270571B (zh) * | 2020-11-03 | 2023-06-27 | 中国科学院计算技术研究所 | 一种用于冷启动广告点击率预估模型的元模型训练方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104166668A (zh) * | 2014-06-09 | 2014-11-26 | 南京邮电大学 | 基于folfm模型的新闻推荐系统及方法 |
CN106022865A (zh) * | 2016-05-10 | 2016-10-12 | 江苏大学 | 一种基于评分和用户行为的商品推荐方法 |
-
2018
- 2018-01-15 CN CN201810034174.8A patent/CN109711651B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104166668A (zh) * | 2014-06-09 | 2014-11-26 | 南京邮电大学 | 基于folfm模型的新闻推荐系统及方法 |
CN106022865A (zh) * | 2016-05-10 | 2016-10-12 | 江苏大学 | 一种基于评分和用户行为的商品推荐方法 |
Non-Patent Citations (1)
Title |
---|
基于用户分类的隐含因子模型研究;黎新志 等;《http://kns.cnki.net/kcms/detail/51.1196.TP.20170721.1353.056.html》;20170721;第1-6页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109711651A (zh) | 2019-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111797321B (zh) | 一种面向不同场景的个性化知识推荐方法及系统 | |
CN108763362B (zh) | 基于随机锚点对选择的局部模型加权融合Top-N电影推荐方法 | |
CN111460130B (zh) | 信息推荐方法、装置、设备和可读存储介质 | |
CN107833117B (zh) | 一种考虑标签信息的贝叶斯个性化排序推荐方法 | |
CN103559262B (zh) | 基于社区的作者及其学术论文推荐系统和推荐方法 | |
CN106802915A (zh) | 一种基于用户行为的学术资源推荐方法 | |
CN107992531A (zh) | 基于深度学习的新闻个性化智能推荐方法与系统 | |
CN103353872B (zh) | 一种基于神经网络的教学资源个性化推荐方法 | |
CN104063481A (zh) | 一种基于用户实时兴趣向量的电影个性化推荐方法 | |
CN107767279A (zh) | 一种基于lda的加权平均的个性化好友推荐方法 | |
CN107016122A (zh) | 基于时间迁移的知识推荐方法 | |
CN111177538A (zh) | 一种基于无监督权值计算的用户兴趣标签构建方法 | |
CN105138508A (zh) | 一种基于偏好扩散的上下文推荐系统 | |
CN109840833A (zh) | 贝叶斯协同过滤推荐方法 | |
CN106897419A (zh) | 融合社交信息的对级排序学习推荐方法 | |
CN113806630A (zh) | 基于注意力的多视角特征融合跨域推荐方法及装置 | |
Dai et al. | BTR: a feature-based Bayesian task recommendation scheme for crowdsourcing system | |
CN109829110A (zh) | 一种学习资料的个性化推荐方法 | |
CN116541607A (zh) | 基于商品检索数据分析的智能推荐方法 | |
CN115712780A (zh) | 一种基于云计算和大数据的信息推送方法及装置 | |
CN109582868A (zh) | 基于词向量加权、支持向量回归和用户点击偏好的搜索推荐方法 | |
CN113742586B (zh) | 一种基于知识图谱嵌入的学习资源推荐方法及系统 | |
CN115687760A (zh) | 一种基于图神经网络的用户学习兴趣标签预测方法 | |
CN115204967A (zh) | 一种融入用户长短期兴趣表征隐式反馈的推荐方法 | |
CN107291894A (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 |