专利转让平台_买专利_卖专利_中国高校专利技术交易-买卖发明专利上知查网

全部分类
全部分类
一种针对具备项目的分类信息的推荐方法

一种针对具备项目的分类信息的推荐方法

IPC分类号 : G06F17/30

申请号
CN201610284127.X
可选规格
  • 专利类型: 发明专利
  • 法律状态: 有权
  • 申请日: 2016-05-03
  • 公开号: CN105956089A
  • 公开日: 2016-09-21
  • 主分类号: G06F17/30
  • 专利权人: 桂林电子科技大学

专利摘要

本发明为一种针对具备项目的分类信息的推荐方法,在许多网络应用中往往需要给用户推荐,需要利用上下文信息来提高推荐准确率并增强用户体验,然而现有的上下文感知推荐方法依然面临数据稀疏性问题的挑战。为了进一步缓解数据稀疏性问题,本专利提出一种新型的推荐方法,结合用户评分数据及用户类别偏好进行物品推荐,以解决用户评分数据稀疏时评分预测准确率低的问题。该方法适用于大规模数据。实验结果表明,与目前主流的方法相比,该方法具有较好的推荐效果。

权利要求

1.一种针对具备项目的分类信息的推荐方法,其特征为:采用联合矩阵分解JMF(Joint Matrix Factorization)来同时分解用户-项目评分矩阵和用户类别偏好相似度矩阵,用户类别偏好相似度矩阵的构造并不具有固定的方法,其具体形式有多种{Sim1,Sim2,……}。

2.如权利要求1所述的针对具备项目的分类信息的推荐方法,其特征为:根据用户项目评分数据矩阵和项目类别的关联矩阵构建用户类别偏好相似度。

3.如权利要求2所述的针对具备项目的分类信息的推荐方法,其特征为:使用联合矩阵对用户项目评分矩阵和计算得出的用户类别偏好相似度矩阵进行联合分解,得到优化函数L。

4.如权利要求3所述的针对具备项目的分类信息的推荐方法,其特征为:利用梯度下降和最小二乘法对优化函数L求解局部最小值。

5.如权利要求4所述的针对具备项目的分类信息的推荐方法,其特征为:(1)首先计算用户类别之间的相似度,假设某分类系统为某类项目预先定义了p个分类标签,用户u对项目i打过评分且项目i分属n个分类,则项目i对应的每个分类标签将获得用户t的关注度为1/t,由此用户u对类别c的关注度公式为:

auc=ΣiDk(u)sgn(u,i,c)N(i)k,

其中,如果项目i属于类别c,则sgn(u,i,c)=1,否则为0,auc为用户u对类别c的偏好值;Dk(u)为用户u评论过的项目集合;k为集合Dk(u)中的元素个数,由此建立用户u的User-Category偏好向量:

Au=(au1,au2,…,aup)

采用余弦相似度来度量用户类别偏好相似度,用户i和用户j之间的类别偏好相似度:

Sij(ucp)=Σo=1paioajoΣo=1paio2Σ0=1pajo2,

(2)将计算出来的用户类别偏好相似度矩阵和用户项目评分矩阵进行联合分解:

minU,VL(R,S,U,V)=12Σi=1mΣj=1nIij(Rij-UiTVj)2+2Σi=1mΣk=1mJik(Sik(ucp)-UiTUk)2+λU2||U||2+λV2||V||2

其中m,n分别表示用户和项目的数量, 表示Frobenius范数。Rm×n表示评分矩阵,Um×d表示用户的偏好特征矩阵,Vn×d表示项目的特征矩阵。I是一个指示函数,如果Rij有值,则Iij为1,如果Rij缺失,则Iij为0.||U||2和||V||2是为防止过拟合的正则化项,λU和λV为正则化系数,

(3)得到满足(2)中等式的两个低秩矩阵U和V,这里使用梯度下降搜索目标函数L3的局部最小值,在(2)中等式中分别对U、V进行求导:

L3Ui=Σj=1nIij(UiTVj-Rij)Vj+Σk=1mJik(UiTUk-Sik(ucp))Uk+λVVj

L3Vj=Σj=1nIij(UiTVj-Rij)Ui+λUUi

求解上述最优化函数L,获取局部最优的U和V,从而预测未知评分

说明书

技术领域

本发明属于推荐系统领域,涉及一类具有项目分类功能的应用的推荐方法。

背景技术

现有的基于上下文的推荐系统都是直接使用用户的历史数据的推荐方法,固然有方便,便于广泛使用,容易得到广泛的评价的好处,但是由于用户的历史行为数据通常情况下是非常稀疏的,因此这些方法都面临着严重的数据稀疏性问题。根据稀疏的用户历史行为数据很难对用户的偏好进行建模,导致推荐系统的准确率偏低,从而影响用户体验。

我们要对一个应用系统进行项目推荐,一般要分析推荐系统的构成,在这里我们要讨论构成推荐系统的一些主体。下面对常见的上下文推荐系统的做一个简单的介绍。假设一个推荐系统中有n个物品(这里的物品也包括电影之类的网络应用和资源)和m个用户,则令U={u1,u2…,un}表示用户集合,I={i1,i2…,im}表示项目集合。在推荐系统中,对项目进行分类,可以更好的帮助用户找到自己感兴趣的项目。例如电影评论网站MovieLens,根据电影的类型,为不同电影打上标签(如:喜剧、爱情等)。令C={c1,c2…,cp}表示类别集合。其中一个用户可以评论多个项目,一个项目可以分属不同的类别。

目前的系统直接使用应用系统中的上下文信息来缓解用户项目评分数据的稀疏性问题。

他们都是整合用户项目评分之外上下文信息以缓解评分数据的稀疏性问题。大多数推荐方法都是针对特定的应用系统,丧失了推荐方法的普适性。

一个好的推荐方法,如果需要准确的刻画用户的潜在特征,就应该具有足够的数据来弥补用户评分数据。

本专利针对分类系统应用,从用户类别的角度来构建用户之间的相似度矩阵,同时结合用户-项目评分矩阵进行联合矩阵分解,提出一种基于用户类别偏好相似度和联合矩阵分解的推荐方法(Joint Matrix Factorization with User Category Preference,简称JMF-UCP),对于评分较少的用户,很难从用户评分矩阵中捕捉其潜在的特征,在此模型中可以通过用户类别偏好相似度来学习此类用户的潜在特征。

发明内容

我们首先根据用户-项目评分矩阵和项目-类别矩阵构建用户类别偏好相似度矩阵,假设某分类系统为某类项目预先定义了p个分类标签,用户u对项目i打过评分且项目i分属n个分类,则项目i对应的每个分类标签将获得用户t的关注度为1/t.由此用户u对类别c的关注度公式为:

<mrow><msub><mi>a</mi><mrow><mi>u</mi><mi>c</mi></mrow></msub><mo>=</mo><mfrac><mrow><munder><mo>&Sigma;</mo><mrow><mi>i</mi><mo>&Element;</mo><msub><mi>D</mi><mi>k</mi></msub><mrow><mo>(</mo><mi>u</mi><mo>)</mo></mrow></mrow></munder><mfrac><mrow><mi>sgn</mi><mrow><mo>(</mo><mi>u</mi><mo>,</mo><mi>i</mi><mo>,</mo><mi>c</mi><mo>)</mo></mrow></mrow><mrow><mi>N</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow></mfrac></mrow><mi>k</mi></mfrac></mrow>

其中,如果项目i属于类别c,则sgn(u,i,c)=1,否则为0.auc为用户u对类别c的偏好值;Dk(u)为用户u评论过的项目集合;k为集合Dk(u)中的元素个数。由此可建立用户u的User-Category偏好向量:

Au=(au1,au2,…,aup)

本专利采用余弦相似度来度量用户类别偏好相似度,用户i和用户j之间的类别偏好相似度:

<mrow><msubsup><mi>S</mi><mrow><mi>i</mi><mi>j</mi></mrow><mrow><mo>(</mo><mi>u</mi><mi>c</mi><mi>p</mi><mo>)</mo></mrow></msubsup><mo>=</mo><mfrac><mrow><munderover><mo>&Sigma;</mo><mrow><mi>o</mi><mo>=</mo><mn>1</mn></mrow><mi>p</mi></munderover><msub><mi>a</mi><mrow><mi>i</mi><mi>o</mi></mrow></msub><msub><mi>a</mi><mrow><mi>j</mi><mi>o</mi></mrow></msub></mrow><mrow><msqrt><mrow><munderover><mo>&Sigma;</mo><mrow><mi>o</mi><mo>=</mo><mn>1</mn></mrow><mi>p</mi></munderover><msubsup><mi>a</mi><mrow><mi>i</mi><mi>o</mi></mrow><mn>2</mn></msubsup></mrow></msqrt><msqrt><mrow><munderover><mo>&Sigma;</mo><mrow><mn>0</mn><mo>=</mo><mn>1</mn></mrow><mi>p</mi></munderover><msubsup><mi>a</mi><mrow><mi>j</mi><mi>o</mi></mrow><mn>2</mn></msubsup></mrow></msqrt></mrow></mfrac><mo>.</mo></mrow>

本方法首先通过用户项目的评分关系与项目类别的关联关系构建用户类别偏好相似度矩阵S(ucp),然后通过联合矩阵分解(JMF)同时分解用户项目评分矩阵和用户类别偏好相似度矩阵S(ucp),其优化函数为:

<mfenced open = "" close = ""><mtable><mtr><mtd><mrow><munder><mi>min</mi><mrow><mi>U</mi><mo>,</mo><mi>V</mi></mrow></munder><mi>L</mi><mrow><mo>(</mo><mi>R</mi><mo>,</mo><mi>S</mi><mo>,</mo><mi>U</mi><mo>,</mo><mi>V</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>I</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><msup><mrow><mo>(</mo><msub><mi>R</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>-</mo><msubsup><mi>U</mi><mi>i</mi><mi>T</mi></msubsup><msub><mi>V</mi><mi>j</mi></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow></mtd></mtr><mtr><mtd><mrow><mo>+</mo><mfrac><mo>&part;</mo><mn>2</mn></mfrac><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><munderover><mo>&Sigma;</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><msub><mi>J</mi><mrow><mi>i</mi><mi>k</mi></mrow></msub><msup><mrow><mo>(</mo><msubsup><mi>S</mi><mrow><mi>i</mi><mi>k</mi></mrow><mrow><mo>(</mo><mi>u</mi><mi>c</mi><mi>p</mi><mo>)</mo></mrow></msubsup><mo>-</mo><msubsup><mi>U</mi><mi>i</mi><mi>T</mi></msubsup><msub><mi>U</mi><mi>k</mi></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow></mtd></mtr><mtr><mtd><mrow><mo>+</mo><mfrac><msub><mi>&lambda;</mi><mi>U</mi></msub><mn>2</mn></mfrac><msup><mrow><mo>||</mo><mi>U</mi><mo>||</mo></mrow><mn>2</mn></msup><mo>+</mo><mfrac><msub><mi>&lambda;</mi><mi>V</mi></msub><mn>2</mn></mfrac><msup><mrow><mo>||</mo><mi>V</mi><mo>||</mo></mrow><mn>2</mn></msup></mrow></mtd></mtr></mtable></mfenced>

其中J是一个指示函数,如果 有值,则Jik为1,如果 缺失,则Jik为 是权衡系数,用来控制用户类别偏好相似度对评分预测的影响。其中m,n分别表示用户和项目的数量, 表示Frobenius范数。Rm×n表示评分矩阵,Um×d表示用户的偏好特征矩阵,Vn×d表示项目的特征矩阵。I是一个指示函数,如果Rij有值,则Iij为1,如果Rij缺失,则Iij为0.||U||2和||V||2是为防止过拟合的正则化项,λU和λV为正则化系数。求解上述最优化函数L,获取局部最优的U和V,从而预测未知评分

目标函数主要包含两个部分,即在将用户评分矩阵分解成低维的用户潜在特征矩阵和项目潜在特征矩阵时,同时分解用户类别偏好相似度。该联合矩阵分解模型可以有效的缓解数据稀疏性问题,对于评分较少的用户,很难从用户评分矩阵中捕捉其潜在的特征,在此模型中可以通过用户类别偏好相似度来学习此类用户的潜在特征。

本发明的优化函数使用梯度下降的求解方法为了得到满足优化函数中的两个低秩矩阵U和V,这里使用梯度下降搜索目标函数L的局部最小值。为此,目标函数分别对U、V进行求导:

<mfenced open = "" close = ""><mtable><mtr><mtd><mrow><mfrac><mrow><mo>&part;</mo><mi>L</mi></mrow><mrow><mo>&part;</mo><msub><mi>U</mi><mi>i</mi></msub></mrow></mfrac><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>I</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mrow><mo>(</mo><msubsup><mi>U</mi><mi>i</mi><mi>T</mi></msubsup><msub><mi>V</mi><mi>j</mi></msub><mo>-</mo><msub><mi>R</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>)</mo></mrow><msub><mi>V</mi><mi>j</mi></msub></mrow></mtd></mtr><mtr><mtd><mrow><mo>+</mo><mo>&part;</mo><munderover><mo>&Sigma;</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>m</mi></munderover><msub><mi>J</mi><mrow><mi>i</mi><mi>k</mi></mrow></msub><mrow><mo>(</mo><msubsup><mi>U</mi><mi>i</mi><mi>T</mi></msubsup><msub><mi>U</mi><mi>k</mi></msub><mo>-</mo><msubsup><mi>S</mi><mrow><mi>i</mi><mi>k</mi></mrow><mrow><mo>(</mo><mi>u</mi><mi>c</mi><mi>p</mi><mo>)</mo></mrow></msubsup><mo>)</mo></mrow><msub><mi>U</mi><mi>k</mi></msub><mo>+</mo><msub><mi>&lambda;</mi><mi>V</mi></msub><msub><mi>V</mi><mi>j</mi></msub></mrow></mtd></mtr></mtable></mfenced>

<mrow><mfrac><mrow><mo>&part;</mo><mi>L</mi></mrow><mrow><mo>&part;</mo><msub><mi>V</mi><mi>j</mi></msub></mrow></mfrac><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>I</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mrow><mo>(</mo><msubsup><mi>U</mi><mi>i</mi><mi>T</mi></msubsup><msub><mi>V</mi><mi>j</mi></msub><mo>-</mo><msub><mi>R</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>)</mo></mrow><msub><mi>U</mi><mi>i</mi></msub><mo>+</mo><msub><mi>&lambda;</mi><mi>U</mi></msub><msub><mi>U</mi><mi>i</mi></msub></mrow>

由于现有推荐系统的应用场景中,项目的类别数目往往远小于系统中用户个数和项目个数,且用户类别偏好可单独来计算,可事先存放在内存中,因此本推荐方法的计算开销主要来自目标函数和梯度下降变量的迭代更新。因此目标函数L3的时间复杂度为O(nRl+nSl),其中,nRl、nSl分别表示矩阵R、S(ucp)中的非零元素个数。因此,每迭代一次总的时间复杂度是O(nRl+nSl)。综合上述分析,推荐方法的时间复杂度随着矩阵R、S(ucp)的非零元素个数的增加呈线性增长,因此本推荐方法可以应用于大规模的数据集。

本发明的推荐方法,正则化参数λU、λV、维度d可取普遍可以接受的经验值。参数 控制着用户类别偏好在推荐系统中的重要性, 取值越大则用户类别偏好对推荐系统影响也越大。因此,针对不同的数据集需要做实验来确定参数 的值。

针对推荐系统实际应用中数据稀疏性问题,本专利提出一种基于用户类别偏好相似度和联合矩阵分解的推荐方法,并通过在真实数据集上的实验评估证实了本推荐方法具有较好的准确率,有效的缓解了数据稀疏性问题。本推荐方法的时间复杂度随着观察数据的增加呈现线性增长,因此可应用于大规模数据。

附图说明

图1是本方法流程图。

图2是不同方法对比图。

图3是参数对RMSE的影响。

具体实施方式

以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。

使用推荐领域中MovieLens 1M(http://grouplens.org/datasets/movielens/)真实数据集给出本发明实现的例子.该数据集包含2000年6400个独立匿名用户对3900部电影作的1,000,209次评分,评分的取值[1-5]之间的离散值,标签的种类数共有18种,电影都被打上不同的分类标签,每个电影对应一个或多个分类标签。

利用发明内容中介绍的方法构建用户类别偏好相似度矩阵S(ucp),然后将利用联合矩阵分解对用户评分矩阵R和用户类别偏好相似度矩阵S(ucp)进行联合分解得到目标函数L,学习用户的潜在特征向量U和项目的潜在特征向量V。

为了验证本推荐方法在评分预测中的准确性,实验采用了均方根误差(root mean squared error,RMSE)评估方法。RMSE的定义形式如下:

<mrow><mi>R</mi><mi>M</mi><mi>S</mi><mi>E</mi><mo>=</mo><msqrt><mfrac><mrow><munder><mo>&Sigma;</mo><mrow><mi>u</mi><mo>,</mo><mi>i</mi></mrow></munder><msup><mrow><mo>(</mo><msub><mi>R</mi><mrow><mi>u</mi><mi>i</mi></mrow></msub><mo>-</mo><msub><mover><mi>R</mi><mo>^</mo></mover><mrow><mi>u</mi><mi>i</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow><mrow><mo>|</mo><msub><mi>R</mi><mi>t</mi></msub><mo>|</mo></mrow></mfrac></msqrt></mrow>

其中,Rui是用户u对项目i的真是评分, 表示预测评分,|Rt|表示测试集中的评分个数。可以看出,RMSE越低,评分预测的准确率越高,推荐系统的性能越好。

为了评估本推荐方法的性能,通过实验把本推荐方法与另外一些推荐方法进行了比较:(I)Random方法,为目标用户随机产生邻居的方法;(II)UserAvg方法,根据每个用户的历史平均评分对未知的评分进行预测;(III)协同过滤方法(CF),目前使用最为广泛的基于内存的推荐方法;(IV)非负矩阵方法(NMF),该方法的是基本的矩阵分解,其基本形式如公式(4),其中正则项参数λU及λV的取值与本推荐方法(JMF-UCP)中相同;(V)JMF-UP方法,该方法首先根据用户项目评分矩阵构建用户间的相似度矩阵S,然后利用联合矩阵分解融合基本的用户偏好S来完成评分预测,其形式如公式(4.6)将其中的用户类别偏好相似度S(ucp)替换成S,其中所需要的参数取值与本方法(JMF-UCP)中相同;(VI)SoRecUser方法,该方法利用共享潜在特征,将用户和分类标签的关联关系融入评分矩阵的低秩矩阵分解过程。试验中,评分数据集被分为两个部分:随机抽取80%的评分数据作为训练集,余下的20%作为测试集。为了得到稳定的实验结果,实验重复计算10次,度量的结果取平均值。试验中,正则化参数λU及λV取值为0.001,维度d的取值为10,附图2给出了不同方法的实验结果对比。

参数 控制着用户类别偏好在推荐系统中的重要性, 取值越大则用户类别偏好对推荐系统影响也越大。因此,针对参数 做了一组实验,着重研究参数 对本推荐方法模型的性能影响,通过调整参数 取不同的值,观察本推荐方法模型的性能。实验结果如附图3所示,参数 取不同值的情况下,本推荐方法评分预测的RMSE值有不同的变化。从图3中看出参数 的值小于0.1或者大于0.1时RMSE的值都会上升。实验参数 设置为0.1是合理的。同时上述实验结果也说明,适当的考虑用户对类别的偏好可以进一步提高推荐系统的性能。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

一种针对具备项目的分类信息的推荐方法专利购买费用说明

专利买卖交易资料

Q:办理专利转让的流程及所需资料

A:专利权人变更需要办理著录项目变更手续,有代理机构的,变更手续应当由代理机构办理。

1:专利变更应当使用专利局统一制作的“著录项目变更申报书”提出。

2:按规定缴纳著录项目变更手续费。

3:同时提交相关证明文件原件。

4:专利权转移的,变更后的专利权人委托新专利代理机构的,应当提交变更后的全体专利申请人签字或者盖章的委托书。

Q:专利著录项目变更费用如何缴交

A:(1)直接到国家知识产权局受理大厅收费窗口缴纳,(2)通过代办处缴纳,(3)通过邮局或者银行汇款,更多缴纳方式

Q:专利转让变更,多久能出结果

A:著录项目变更请求书递交后,一般1-2个月左右就会收到通知,国家知识产权局会下达《转让手续合格通知书》。

动态评分

0.0

没有评分数据
没有评价数据
×

打开微信,点击底部的“发现”

使用“扫一扫”即可将网页分享至朋友圈

×
复制
用户中心
我的足迹
我的收藏

您的购物车还是空的,您可以

  • 微信公众号

    微信公众号
在线留言
返回顶部