一种基于主动学习解决商品冷启动问题的推荐方法与流程

文档序号:11865661阅读:来源:国知局

技术特征:

1.一种基于主动学习解决商品冷启动问题的推荐方法,其特征在于,包括:

步骤1,构建用户对商品的评分模型,通过用户对商品的历史评分数据和商品的属性特征对该模型进行预训练;

步骤2,对于一个新商品,使用步骤1的评分模型估计出不同用户对该商品是否会评分,以及评多少分;

步骤3,根据步骤2的结果,挑选用户对新商品进行评分,得到新商品上的评分数据;

步骤4,利用新商品的评分数据对步骤1的评分模型进行再训练;

步骤5,利用再训练的评分模型预测未挑选用户对新商品的评分,并根据该评分进行商品推荐。

2.如权利要求1所述的基于主动学习解决商品冷启动问题的推荐方法,其特征在于,步骤1中使用libFM构建如下3个模型:

模型1,用于仅根据某商品的属性,预测每个用户是否会对该商品评分;

模型2,用于仅根据某商品的属性,预测每个用户会对该商品评多少分;

模型3,用于根据某商品的ID以及该商品的属性,预测每个用户会对该商品评多少分。

3.如权利要求1或2所述的基于主动学习解决商品冷启动问题的推荐方法,其特征在于,步骤2中,利用步骤1构建的模型1预测每个用户是否会对新商品评分;利用步骤1构建的模型2预测每个用户对新商品评多少分。

4.如权利要求1所述的基于主动学习解决商品冷启动问题的推荐方法,其特征在于,步骤3中,挑选用户基于以下四个要素:

要素1,被挑选的用户中每个用户对新商品的评分概率;

要素2,被挑选的用户中任两个用户对新商品的评分的差异;

要素3,被挑选的用户中每个用户对新商品的客观性评分的能力;

要素4,被挑选的用户和未挑选的用户之间的相似度。

5.如权利要求1所述的基于主动学习解决商品冷启动问题的推荐方法,其特征在于,步骤4中,挑选用户对新商品进行评分,得到新商品上的评分数据,是根据求解以下目标函数计算:

<mrow> <mtable> <mtr> <mtd> <mrow> <munder> <mi>max</mi> <mi>q</mi> </munder> <mi>&alpha;</mi> <munderover> <mi>&Sigma;</mi> <mrow> <mi>m</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mo>|</mo> <mi>U</mi> <mo>|</mo> </mrow> </munderover> <mi>q</mi> <mrow> <mo>(</mo> <mi>m</mi> <mo>)</mo> </mrow> <mi>p</mi> <mrow> <mo>(</mo> <mi>m</mi> <mo>)</mo> </mrow> <mo>+</mo> <mi>&beta;</mi> <munderover> <mi>&Sigma;</mi> <mrow> <mi>m</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mo>|</mo> <mi>U</mi> <mo>|</mo> </mrow> </munderover> <munderover> <mi>&Sigma;</mi> <mrow> <mi>n</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mo>|</mo> <mi>U</mi> <mo>|</mo> </mrow> </munderover> <mi>q</mi> <mrow> <mo>(</mo> <mi>m</mi> <mo>)</mo> </mrow> <mi>q</mi> <mrow> <mo>(</mo> <mi>n</mi> <mo>)</mo> </mrow> <mi>D</mi> <mrow> <mo>(</mo> <mi>m</mi> <mo>,</mo> <mi>n</mi> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>-</mo> <mi>&gamma;</mi> <munderover> <mi>&Sigma;</mi> <mrow> <mi>m</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mo>|</mo> <mi>U</mi> <mo>|</mo> </mrow> </munderover> <mi>q</mi> <mrow> <mo>(</mo> <mi>m</mi> <mo>)</mo> </mrow> <mi>o</mi> <mrow> <mo>(</mo> <mi>m</mi> <mo>)</mo> </mrow> <mo>+</mo> <mi>&sigma;</mi> <munderover> <mi>&Sigma;</mi> <mrow> <mi>m</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mo>|</mo> <mi>U</mi> <mo>|</mo> </mrow> </munderover> <munderover> <mi>&Sigma;</mi> <mrow> <mi>n</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mo>|</mo> <mi>U</mi> <mo>|</mo> </mrow> </munderover> <mi>q</mi> <mrow> <mo>(</mo> <mi>m</mi> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <mi>q</mi> <mo>(</mo> <mi>n</mi> <mo>)</mo> <mo>)</mo> </mrow> <mi>S</mi> <mrow> <mo>(</mo> <mi>m</mi> <mo>,</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </mtd> </mtr> </mtable> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>

<mrow> <mi>s</mi> <mo>.</mo> <mi>t</mi> <mo>.</mo> <mi>q</mi> <mrow> <mo>(</mo> <mi>m</mi> <mo>)</mo> </mrow> <mo>&Element;</mo> <mo>{</mo> <mn>0</mn> <mo>,</mo> <mn>1</mn> <mo>}</mo> <mo>,</mo> <mo>&ForAll;</mo> <mi>m</mi> <mi> </mi> <mi>a</mi> <mi>n</mi> <mi>d</mi> <munderover> <mi>&Sigma;</mi> <mrow> <mi>m</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mo>|</mo> <mi>U</mi> <mo>|</mo> </mrow> </munderover> <mi>q</mi> <mrow> <mo>(</mo> <mi>m</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>k</mi> </mrow>

式中,U是所有的用户集合;|U|是用户总数,k是预先设定的需要挑选的用户数;m,n是用户索引;q是待求解的向量,q(m)是向量q的第m个元素,q(n)是向量q的第n个元素;α,β,γ和σ是不同项的权重;

p(m):第m个用户um对新商品inew的评分概率;

D(m,n):第m个用户um和第n个用户un对新商品inew评分的差异;

o(m):第m个用户um对新商品inew生成客观性评分的能力;

S(m,n):第m个用户um和第n个用户un的相似度。

6.如权利要求5所述的基于主动学习解决商品冷启动问题的推荐方法,其特征在于,要素1中第m个用户um对新商品的评分概率p(m)定义为:

p(m)=willing_score(um,inew),um∈U (2)

式中,um表示U中的第m个用户,inew表示新商品;willing_score(um,inew)是模型1预测用户um会对新商品inew评分的概率。

7.如权利要求5所述的基于主动学习解决商品冷启动问题的推荐方法,其特征在于,要素2中第m个用户和第n个用户的评分差异D(m,n)定义为:

<mrow> <mi>D</mi> <mrow> <mo>(</mo> <mi>m</mi> <mo>,</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>=</mo> <msup> <mrow> <mo>|</mo> <msub> <mi>P</mi> <mi>r</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>u</mi> <mi>m</mi> </msub> <mo>,</mo> <msub> <mi>i</mi> <mrow> <mi>n</mi> <mi>e</mi> <mi>w</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mi>P</mi> <mi>r</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>u</mi> <mi>n</mi> </msub> <mo>,</mo> <msub> <mi>i</mi> <mrow> <mi>n</mi> <mi>e</mi> <mi>w</mi> </mrow> </msub> <mo>)</mo> </mrow> <mo>|</mo> </mrow> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> </msup> <mo>,</mo> <msub> <mi>u</mi> <mi>m</mi> </msub> <mo>&Element;</mo> <mi>U</mi> <mo>,</mo> <msub> <mi>u</mi> <mi>n</mi> </msub> <mo>&Element;</mo> <mi>U</mi> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow>

式中,un表示U中的第n个用户,Pr(um,inew)是模型2预测用户um对新商品inew的评分数值,Pr(un,inew)是模型2预测用户un对新商品inew的评分数值。

8.如权利要求5所述的基于主动学习解决商品冷启动问题的推荐方法,其特征在于,要素3中第m个用户生成客观性评分的能力o(m)定义为:

<mrow> <mi>o</mi> <mrow> <mo>(</mo> <mi>m</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mn>1</mn> <mrow> <mi>log</mi> <mo>|</mo> <mi>I</mi> <mrow> <mo>(</mo> <msub> <mi>u</mi> <mi>m</mi> </msub> <mo>)</mo> </mrow> <mo>|</mo> </mrow> </mfrac> <mfrac> <mn>1</mn> <mrow> <mo>|</mo> <mi>I</mi> <mrow> <mo>(</mo> <msub> <mi>u</mi> <mi>m</mi> </msub> <mo>)</mo> </mrow> <mo>|</mo> </mrow> </mfrac> <munder> <mi>&Sigma;</mi> <mrow> <msub> <mi>i</mi> <mi>r</mi> </msub> <mo>&Element;</mo> <mi>I</mi> <mrow> <mo>(</mo> <msub> <mi>u</mi> <mi>m</mi> </msub> <mo>)</mo> </mrow> </mrow> </munder> <msup> <mrow> <mo>(</mo> <mi>R</mi> <mo>(</mo> <mrow> <mi>m</mi> <mo>,</mo> <mi>r</mi> </mrow> <mo>)</mo> <mo>-</mo> <mover> <mrow> <mi>R</mi> <mrow> <mo>(</mo> <mi>r</mi> <mo>)</mo> </mrow> </mrow> <mo>&OverBar;</mo> </mover> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>,</mo> <msub> <mi>u</mi> <mi>m</mi> </msub> <mo>&Element;</mo> <mi>U</mi> <mo>,</mo> <msub> <mi>i</mi> <mi>r</mi> </msub> <mo>&Element;</mo> <mi>I</mi> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>4</mn> <mo>)</mo> </mrow> </mrow>

式中,I是所有的商品集合,r是商品索引,ir表示I中的第r个商品,I(um)是用户um评过分的商品集合,R(m,r)是用户um对商品ir的评分数值,是商品ir上所有评分的均值。

9.如权利要求5所述的基于主动学习解决商品冷启动问题的推荐方法,其特征在于,要素4中第m个用户和第n个用户的的相似度S(m,n)定义为:

<mrow> <mi>S</mi> <mrow> <mo>(</mo> <mi>m</mi> <mo>,</mo> <mi>n</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mi>S</mi> <mi>i</mi> <mi>m</mi> <mrow> <mo>(</mo> <mi>R</mi> <mo>(</mo> <mrow> <mi>m</mi> <mo>,</mo> <mo>:</mo> </mrow> <mo>)</mo> <mo>,</mo> <mi>R</mi> <mo>(</mo> <mrow> <mi>n</mi> <mo>,</mo> <mo>:</mo> </mrow> <mo>)</mo> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mtable> <mtr> <mtd> <mrow> <mi>i</mi> <mi>f</mi> </mrow> </mtd> <mtd> <mrow> <mi>m</mi> <mo>&NotEqual;</mo> <mi>n</mi> </mrow> </mtd> </mtr> </mtable> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mtable> <mtr> <mtd> <mrow> <mi>i</mi> <mi>f</mi> </mrow> </mtd> <mtd> <mrow> <mi>m</mi> <mo>-</mo> <mi>n</mi> </mrow> </mtd> </mtr> </mtable> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>5</mn> <mo>)</mo> </mrow> </mrow>

式中,R(m,:)和R(n,:)是通过评分矩阵R所表示的第m个用户和第n个用户的向量,Sim()是两个向量间的相似度函数。

10.如权利要求1或2所述的基于主动学习解决商品冷启动问题的推荐方法,其特征在于,将步骤3中反馈得到的评分数据加入步骤1中的模型3进行再训练,得到模型4;步骤5中,利用步骤4的模型4预测未挑选用户对新商品的评分。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1