一种基于耦合主题模型的协同滤波方法

文档序号:6539000阅读:291来源:国知局
一种基于耦合主题模型的协同滤波方法
【专利摘要】本发明公开了一种基于耦合主题模型的协同滤波方法,用于在推荐系统中有效结合历史评分信息与用户生成内容(User-generated?Content,简称UGC),通过进行评分预测进行有效推荐。该方法包括以下步骤:1)获取用户生成内容的记录;2)获取用户对产品的评分记录;3)提取用户文档和产品文档;4)利用耦合主题模型学习用户特征向量和产品特征向量;5)根据特征向量计算目标用户对不同产品的评分,来进行相应的产品推荐。本发明引入对用户生成内容信息的分析,能够直接的显式的发现用户兴趣和产品属性,而且有效解决了评分矩阵的稀疏问题,获得比基于用户评分信息的预测更准确的效果。
【专利说明】一种基于耦合主题模型的协同滤波方法【技术领域】
[0001]本发明涉及互联网产品的信息推荐领域,特别针对网站系统中同时存在用户生成内容信息以及用户评分信息,如何有效利用用户生成内容并同时结合历史评分信息,准确分析用户偏好和产品属性,为目标用户进行个性化信息产品推荐。
【背景技术】
[0002]随着互联网技术与web2.0的深入发展,用户生成内容(User-generatedContent,简称UGC)逐渐成为一种新型的主流网络信息资源。用户生成内容泛指以任何形式在网络上发表的由用户创作的文字、图片、音频、视频等内容,本发明主要针对推荐系统的用户生成内容进行分析,即特定用户对特定产品的UGC,比如推荐系统中用户对产品的标签或评论。
[0003]近年来,矩阵分解方法在推荐系统中得到了比较广泛的应用。矩阵分解对每个用户和产品学习一个相应的特征向量,来分别表征用户偏好和产品属性。然后利用学习到的特征向量进行 产品推荐。但是传统矩阵分解方法只考虑了对历史评分信息进行分析,并未挖掘文本内容相关的信息,因此学习到的特征向量可解释性较差。
[0004]主题模型(比如PLSA、LDA等)是一种在文档集上进行主题挖掘的方法。主题模型可以将高维BOW表征的文档映射到K维主题空间,每个文档用一个K维主题向量来表示。
[0005]本发明提出了一种耦合主题模型,其结合矩阵分解与主题模型的优势,同时挖掘历史评分信息与用户生成内容进行个性化产品推荐。本发明学习到的特征向量可以用主题来更好的解释,同时解决了评分信息的稀疏问题。

【发明内容】

[0006]为了解决现有技术存在的问题,本发明的目的是提供一种基于耦合主题模型的协同滤波方法。
[0007]所述基于耦合主题模型的协同滤波方法包括以下步骤:
[0008]步骤SI,获取用户生成内容记录,每个用户生成内容对应特定的用户和产品;
[0009]步骤S2,获取用户对产品的历史评分信息,将部分历史评分信息作为训练集,剩下的作为测试集,分别构建不完全观测评分矩阵,即根据部分用户对部分产品的评分构建不完全观测评分矩阵,得到的训练集评分矩阵R作为耦合主题模型的评分输入;
[0010]步骤S3,根据用户生成内容,提取用户文档Clu和产品文档dv,其中,所述用户文档Clu为与用户有关的用户生成内容,所述产品文档火为与产品有关的用户生成内容,每个文档使用其包括的单词的词频来表示,并将每个文档的词袋表达向量Wu和Wv建模为可见单元,作为耦合主题模型的内容输入;
[0011]步骤S4,结合所述步骤S2得到的训练集评分矩阵R和所述步骤S3得到的用户文档Clu、产品文档dv,利用耦合主题模型学习得到用户特征向量11?和产品特征向量ην;
[0012]步骤S5,根据步骤S4得到的用户特征向量11?和产品特征向量Hv,利用.7/.7,计算用户对不同产品的评分,然后将得到的预测评分与测试集评分进行对比,衡量所述耦合主题模型的可靠性,最后针对特定用户,根据预测评分的高低得到推荐产品列表,从而进行产品推荐。
[0013]本发明引入了对用户生成内容信息的分析,能够直接的显式的发现用户兴趣和产品属性,而且有效地解决了评分矩阵的稀疏问题,获得比基于用户评分信息的预测更准确的效果。
【专利附图】

【附图说明】
[0014]图1是本发明基于耦合主题模型的协同滤波方法的流程图。
[0015]图2是用于协同滤波的耦合主题模型的生成示意图。
[0016]图3是以电影推荐系统为例,介绍用户生成内容的示意图。
【具体实施方式】
[0017]为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
[0018]本发明基于矩阵分解与主题模型,提出了耦合主题模型。通过将用户和产品映射到隐含主题空间,对每个用户和产品学习一个K维特征向量η,通过引入逻辑斯谪正态先验替代狄利克雷先验,使得学习到主题向量Θ Ok = I,Κ为主题向量的数量)的同
时,可以学习到更加灵活的特征向量n,所述特征向量n不再受限于相应的单纯形(一个
K维的向量θ如果满足> ο,χ" x6k = 1,那么就称该向量分布在κ-1的单纯性上),这
样不仅使得特征向量的表达性更好,而且用于矩阵分解进行评分预测也更加灵活。
[0019]图1是本发明基于耦合主题模型的协同滤波方法的流程图,如图1所示,所述方法包括以下步骤:
[0020]步骤SI,获取用户生成内容记录,每个用户生成内容对应特定的用户和产品,所述用户生成内容比如可以为用户标签,每个标签对应特定的用户和产品;
[0021]步骤S2,获取用户对产品的历史评分信息,将部分历史评分信息作为训练集,剩下的作为测试集,分别构建不完全观测评分矩阵,即根据部分用户对部分产品的评分构建不完全观测评分矩阵,得到的训练集评分矩阵R作为耦合主题模型的评分输入;
[0022]步骤S3,根据用户生成内容,提取用户文档Clu和产品文档dv,其中,所述用户文档Clu为与用户有关的用户生成内容,所述产品文档火为与产品有关的用户生成内容,每个文档使用其包括的单词的词频来表示,并将每个文档的词袋表达向量(即Wu和Wv)建模为可见单元,作为耦合主题模型的内容输入;
[0023]其中,用户文档反映了用户的偏好信息,产品文档则反映了产品的属性信息。用户文档与产品文档都来自于用户生成内容,这也保证了用户文档与产品文档共享同一词典,使得两者可以映射到同一主题空间。与用户i相关的所有用户生成内容构成用户i的文档‘,与产品j相关的所有用户生成内容构成产品j的文档dv,p如果用dq表示用户i对产品j的用户生成内容文档,那么用户i的文档C^i中单词W的词频表示为:
【权利要求】
1.一种基于耦合主题模型的协同滤波方法,其特征在于,该方法包括以下步骤: 步骤S1,获取用户生成内容记录,每个用户生成内容对应特定的用户和产品; 步骤S2,获取用户对产品的历史评分信息,将部分历史评分信息作为训练集,剩下的作为测试集,分别构建不完全观测评分矩阵,即根据部分用户对部分产品的评分构建不完全观测评分矩阵,得到的训练集评分矩阵R作为耦合主题模型的评分输入; 步骤S3,根据用户生成内容,提取用户文档Clu和产品文档dv,其中,所述用户文档Clu为与用户有关的用户生成内容,所述产品文档4为与产品有关的用户生成内容,每个文档使用其包括的单词的词频来表示,并将每个文档的词袋表达向量Wu和Wv建模为可见单元,作为耦合主题模型的内容输入; 步骤S4,结合所述步骤S2得到的训练集评分矩阵R和所述步骤S3得到的用户文档dv、产品文档4,利用耦合主题模型学习得到用户特征向量11?和产品特征向量ην; 步骤S5,根据步骤S4得到的用户特征向量产品特征向量Hv,利用计算用户对不同产品的评分,然后将得到的预测评分与测试集评分进行对比,衡量所述耦合主题模型的可靠性,最后针对特定用户,根据预测评分的高低得到推荐产品列表,从而进行产品推荐。
2.根据权利要求1所述的方法,其特征在于,所述用户生成内容为用户标签,每个标签对应特定的用户和产品。
3.根据权利要求1所述的方法,其特征在于,所述用户文档反映了用户的偏好信息,所述产品文档反映了产品的属性信息。
4.根据权利要求1所述的方法,其特征在于,所述耦合主题模型观测变量(RjipWv)的生成过程为: 1)对每个用户1: a)从K元正态分布Ν(μu,Σu)中采样一个K维向量作为用户i的特征向量,其中,Iluii为用户i的特征向量,μ υ,Σ υ为正态分布参数; b)对用户文档Clllji中的每个单词Wlljijt; I)从多项分布Mult(Qu i)中采样一个值作为单词W^t的主题分配Z^t,其中,Zu,i,t为单词Wu i t的主题分配,θ u, i为多项分布参数,且θu,i ( Iiu, Jzexpl; Iiu, J /Σ kexp { η u, i,k} ; II)把采样得到的作为选择器,选择第^卩个主题,根据多项分布久? )采样得到单词Wl^t,其中为用户i的文档中第t个单词,P,.为多项分布参数; 2)对每个广品j: a)从K兀正态分布Ν(μ ν, Σ v)米样一个K维向量作为产品j的特征向量」,其中,η V, j为产品j的特征向量,μ ν,Σ ν为正态分布参数; b)对用户文档dVj中的每个单词Wv,j,t; I)从多项分布Mult( 0V j)中采样一个值作为单词Wv,j,t的主题分配zv,j,t,其中,zv,j,t为单词\j,k的主题分配,0v,j为多项分布参数,且9 ν,」=π ( ην,j)=eXρ{ ηv,j} /Σ kexp{ nv;J.k};II)把采样得到的作为选择器,选择第个主题,根据多项分布睛%')1样得到单词wVjt,其中,wVjt为产品j的文档中第t个单词,PZv:Jit为多项分布参数; 3)从正态分布中采样得到用户i对产品j的评分Rm,其中,该正态分布是以为均值,σ 2为方差。
5.根据权利要求4所述的方法,其特征在于,所述映射函数将特征向量η映射到主题向量θ: Θ = Ji ( η) =exp { n } / Σ kexp{ nk},相当于主题向量Θ服从逻辑斯谪正态分布。
6.根据权利要求1所述的方法,其特征在于,所述步骤S4中,将用户文档Clu的词袋表达向量Wu、产品文档dv的词袋表达向量Wv和训练集评分矩阵R建模为耦合主题模型的输入,即可对每个用户和产品同时学习到相应的主题向量Θ和特征向量η。
7.根据权利要求1所述的方法,其特征在于,所述耦合主题模型中,若用μν, Σν, β , σ ]表示所述稱合主题模型的所有模型参数,用A = Iinu, nv, Zu, Zv]表示所有的隐变量,Zu, Zv表示所有的主题分配,那么所述耦合主题模型的观测变量(R,Du, Dv)的似然函数为:
p(r, Du, Dv)= / / P(nu)P(nv)P(R rIu, nν)P(Du nu)p(dv nv)d nv, 其中,Hu为用户特征向量,nv为产品特征向量。
8.根据权利要求7所述的方法,其特征在于,所述耦合主题模型的参数学习通过求解目标函数Θ = arg max P(/?, Du, Dv \ Θ)得到。
9.根据权利要求8所述的方法,其特征在于,采用变分EM算法进行所述耦合主题模型参数的学习,具有自动学习参数,即无需手动调参的优势。
10.根据权利要求1所述的方法,其特征在于,所述步骤S5中,根据均方根误差标准来衡量所述耦合主题模型的可靠性。
【文档编号】G06Q30/02GK103903163SQ201410069229
【公开日】2014年7月2日 申请日期:2014年2月27日 优先权日:2014年2月27日
【发明者】王亮, 吴书, 徐松 申请人:中国科学院自动化研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1