发明名称 一种融合项目相关性的基于PMF的协同过滤推荐系统
摘要 本发明公开了一种融合项目相关性的基于PMF的协同过滤推荐系统,系统包括对用户-项目评分数据的概率矩阵因式分解隐向量分析、融入社会标签因素的使用PMF对社会标签网络分析和基于两种数据源的隐向量融合三个部分。对用户-项目评分数据的概率矩阵因式分解是基于已知的用户-项目评分数据,利用PMF对用户-项目评分矩阵进行隐向量分析,再使用构造出的隐向量进行推荐。PMF对社会标签网络分析是沿用之前提出的社会标签网络模型从社会标签数据中抽取社会标签数据中项间的关系,并使用PMF方法对社会标签网络模型进行隐向量分析,最后通过在基于不同数据源的隐向量模型上共享隐向量空间的方式,将社会标签数据信息和用户-项目评分数据信息进行融合,从而达到提高推荐精度的目的。
申请公布号 CN102129463A 申请公布日期 2011.07.20
申请号 CN201110059844.X 申请日期 2011.03.11
申请人 北京航空航天大学 发明人 罗辛;欧阳元新;顾毅;罗建辉;熊璋
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 北京慧泉知识产权代理有限公司 11232 代理人 王顺荣;唐爱华
主权项 1.一种融合了协同标签项目相关性的基于PMF的协同过滤推荐系统,其特征在于:具体如下:(一)使用PMF对用户-项目评分矩阵进行隐向量分析系统首先在给定的包含|I|个项目的社会标签数据上建立的社会标签网络模型,使用邻接矩阵F∈R<sup>|I|×|I|</sup>表示,其中元素f<sub>i,j</sub>表示项目i和j之间的社会标签相关度;使用PMF对用户-项目评分矩阵进行隐向量分析时,令P、Q分别为|U|×f和|I|×f的矩阵,代表f维的用户隐特征矩阵和项目隐特征矩阵;令r<sub>u,j</sub>∈R代表用户u对项目j的评分;代入具备高斯观测噪声的线性似然模型,则使用用户隐特征矩阵和项目隐特征矩阵对用户-项目评分矩阵R进行逼近时,可以得到用户-项目评分矩阵R关于用户隐特征和项目隐特征的条件分布,如下所示:<maths num="0001"><![CDATA[<math><mrow><mi>p</mi><mrow><mo>(</mo><mi>R</mi><mo>|</mo><mi>P</mi><mo>,</mo><mi>Q</mi><mo>,</mo><msubsup><mi>&sigma;</mi><mi>R</mi><mn>2</mn></msubsup><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Pi;</mi><mrow><mi>u</mi><mo>=</mo><mn>1</mn></mrow><mrow><mo>|</mo><mi>U</mi><mo>|</mo></mrow></munderover><munderover><mi>&Pi;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mrow><mo>|</mo><mi>I</mi><mo>|</mo></mrow></munderover><msup><mrow><mo>[</mo><mi>N</mi><mrow><mo>(</mo><msub><mi>r</mi><mi>uj</mi></msub><mo>|</mo><msub><mi>p</mi><mi>u</mi></msub><mo>&CenterDot;</mo><msub><mi>q</mi><mi>j</mi></msub><mo>,</mo><msubsup><mi>&sigma;</mi><mi>R</mi><mn>2</mn></msubsup><mo>)</mo></mrow><mo>]</mo></mrow><msubsup><mi>I</mi><mrow><mi>u</mi><mo>,</mo><mi>j</mi></mrow><mi>R</mi></msubsup></msup><mo>.</mo></mrow></math>]]></maths>其中N(x|μ,σ<sup>2</sup>)是以μ为均值,σ<sup>2</sup>为方差的高斯概率密度函数,I<sup>R</sup>∈R<sup>|U|×|I|</sup>为指示矩阵,如果已知用户u对项目j的评分即r<sub>u,j</sub>∈T,则<img file="FDA0000049803470000012.GIF" wi="156" he="78" />反之,则<img file="FDA0000049803470000013.GIF" wi="164" he="78" />对于用户u,其特征向量p<sub>u</sub>可表示为:<maths num="0002"><![CDATA[<math><mrow><msub><mi>p</mi><mi>u</mi></msub><mo>=</mo><msub><mi>c</mi><mi>u</mi></msub><mo>+</mo><munderover><mi>&Sigma;</mi><mrow><mi>l</mi><mo>=</mo><mn>1</mn></mrow><mrow><mo>|</mo><mi>I</mi><mo>|</mo></mrow></munderover><msubsup><mi>I</mi><mrow><mi>u</mi><mo>,</mo><mi>l</mi></mrow><mi>R</mi></msubsup><mo>&CenterDot;</mo><msub><mi>h</mi><mi>l</mi></msub><mo>/</mo><munderover><mi>&Sigma;</mi><mrow><mi>l</mi><mo>=</mo><mn>1</mn></mrow><mrow><mo>|</mo><mi>I</mi><mo>|</mo></mrow></munderover><msubsup><mi>I</mi><mrow><mi>u</mi><mo>,</mo><mi>l</mi></mrow><mi>R</mi></msubsup></mrow></math>]]></maths>其中,c<sub>u</sub>为用户u的特征向量相对于先验均值的偏移量,h<sub>1</sub>表示任一用户评价了项目l后的偏好效应向量,而I<sup>R</sup>则为用户-项目评分指示矩阵;(二)融入社会标签因素的使用PMF对社会标签网络分析系统使用PMF对邻接矩阵F进行因式分解,得到每个项目在社会标签数据中的特征信息;令Y、Q均为|I|×f的矩阵,各自代表f维的项目隐特征矩阵,其中Y是前置项目隐特征矩阵,Q是后置项目隐特征矩阵,并使用y<sub>i</sub>·q<sub>j</sub>对F中的元素f<sub>i,j</sub>进行逼近,得到F中的已知值关于Y和Q的条件分布;<maths num="0003"><![CDATA[<math><mrow><mi>p</mi><mrow><mo>(</mo><mi>F</mi><mo>|</mo><mi>Y</mi><mo>,</mo><mi>Q</mi><mo>,</mo><msubsup><mi>&sigma;</mi><mi>F</mi><mn>2</mn></msubsup><mo>)</mo></mrow><mo>=</mo><munderover><mi>&Pi;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><mo>|</mo><mi>I</mi><mo>|</mo></mrow></munderover><munderover><mi>&Pi;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mrow><mo>|</mo><mi>I</mi><mo>|</mo></mrow></munderover><msup><mrow><mo>[</mo><mi>N</mi><mrow><mo>(</mo><msub><mi>f</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>|</mo><mi>g</mi><mrow><mo>(</mo><msubsup><mi>y</mi><mi>i</mi><mi>T</mi></msubsup><msub><mi>q</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>,</mo><msubsup><mi>&sigma;</mi><mi>F</mi><mn>2</mn></msubsup><mo>)</mo></mrow><mo>]</mo></mrow><msubsup><mi>I</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>F</mi></msubsup></msup></mrow></math>]]></maths>其中N(x|μ,σ<sup>2</sup>)是高斯分布密度函数,<img file="FDA0000049803470000022.GIF" wi="219" he="70" />为指示矩阵,如果已知项目i、j间的社会标签相关度不为零,则<img file="FDA0000049803470000023.GIF" wi="153" he="78" />反之,则<img file="FDA0000049803470000024.GIF" wi="160" he="78" />避免数据稀疏性的影响,可以对前置项目隐特征矩阵Y进行分解,对于项目i,其前置特征向量yi可表示为:<maths num="0004"><![CDATA[<math><mrow><msub><mi>y</mi><mi>i</mi></msub><mo>=</mo><msub><mi>b</mi><mi>i</mi></msub><mo>+</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mrow><mo>|</mo><mi>I</mi><mo>|</mo></mrow></munderover><msubsup><mi>I</mi><mrow><mi>i</mi><mo>,</mo><mi>k</mi></mrow><mi>F</mi></msubsup><msub><mi>e</mi><mi>k</mi></msub><mo>/</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mrow><mo>|</mo><mi>I</mi><mo>|</mo></mrow></munderover><msubsup><mi>I</mi><mi>ik</mi><mi>F</mi></msubsup><mo>.</mo></mrow></math>]]></maths>其中,b<sub>i</sub>为项目i的特征向量相对于先验均值的偏移量,e<sub>k</sub>表示与项目k具备社会标签相关度的效应向量,而I<sup>F</sup>为指示矩阵;(三)基于两种数据源的隐向量融合通过在基于不同数据源的隐向量模型上共享隐向量空间的方式,将社会标签数据信息和用户-项目评分数据信息进行融合。
地址 100191 北京市海淀区学院路37号