基于在线软约束LDA算法的社区推荐方法技术

技术编号:4098974 阅读:364 留言:0更新日期:2012-04-11 18:40
一种基于在线软约束LDA算法的社区推荐方法。属于社会网络领域。本发明专利技术的目的在于,解决现有的社区推荐方法所容易遇到的由于数据观察的限制所导致的过拟合现象以及计算量庞大的问题。本发明专利技术主要利用用户在各个社区上的发帖次数作为软约束,应用LDA算法去计算社区上的潜在主题分布,并且利用一个增量的方法处理新加入的用户,实时更新模型,达到在线运算的效果。该方法可以在缺少用户特征和社区特征的前提下,自动的计算出社区上的主题分布,并最终推算出用户最感兴趣的社区,在线的方法极大的提高了计算效率。其准确率和速度较之现在比较流行的方法有明显的进步。

【技术实现步骤摘要】

本专利技术涉及个性化推荐方法,特别涉及一种基于在线软约束LDA算法的社区推荐 方法。
技术介绍
近几年来,社会网络大批涌现。这些网页为用户提供了建立社区的工具,使得志同 道合的用户们可以聚集在一起,互相分享他们感兴趣的信息。随着这种社会网络服务的快 速增多,用户们面对海量的各种各样主题的社区,会产生迷惑,如何才能有效率的选择自己 所感兴趣的社区呢?于是,社区推荐逐渐成为一个很重要的技术。目前常见的个性化推荐方法有两种一种是基于内容的推荐方法,一种是协同推 荐。基于内容的推荐方法,先利用每位用户对对象的评论或者投票行为为该用户训练一个 偏好模型,然后再利用这个偏好模型给用户推荐他可能最感兴趣的一个新的对象。协同推 荐是建立在如下假设的基础上的相似的用户有相同的喜好。当使用协同推荐的方法给用 户推荐对象时,只需要参考与该用户相似的用户的喜好。因此这种方法不需要获得对象的 内容信息,可以在缺乏对对象的描述的情况下,进行推荐。在目前已有的社区推荐的算法中,有两种知名的基于协同推荐的方法:ARM方法 和二值的LDA方法。ARM方法利用不同社区之间有多少重叠的用户来推算社区之间的相互 关系。二值的LDA方法通过社区-用户共生矩阵来计算社区之间的潜在主题。这两种方法 容易遇到由于数据观察的限制所导致的过拟合现象以及计算量庞大的问题。并且这两种方 法都忽略了用户与社区之间的关系强弱,也不能处理新加入的用户。
技术实现思路
本专利技术的目的在于,解决现有的社区推荐方法所容易遇到的由于数据观察的限制 所导致的过拟合现象以及计算量庞大的问题。为达到上述目的,本专利技术提供一种基于在线软约束LDA算法的社区推荐方法,包 括计算主题分布、计算最优候选社区、在线更新三大步骤。所述的计算主题分布步骤为步骤a,对于单个用户,抓取其在各个小社区上的发帖信息,分别统计其发帖次数, 作为用户与社区关系的衡量标准,用第i个用户Ui在他所参与的第j个社区Cy上的发帖 次数作为用户U1与社区Cy的关系强弱度,用Ry表示;步骤b,将用户视为文档,用户参与的社区视为文档中的单词,而Rq就是社区单 词Ciij在用户文档Ui中的出现次数,用LDA算法建立用户主题分布以及主题社区分布模型, 并用Gibbs采样方法求解模型参数,求解的具体过程为先为所有的用户文档中出现的社区单词,随机分配一个主题集合,如为社区单词 Ci, j分配主题集合7; = {。乂^,…而^;再利用迭代公式更新所有的主题,直到模型参数 收敛Ah +β ^i.,,+a~(ij,k),l 卞 ivC: n-(i,J,k\'十 ATU其中,T_(i,j,k)表示除去当前的主题之后剩下的所有主题分配,乂^;,…表示社 区Ciij被分配到主题t的总次数,α和β是采用经验值的参数;所述的计算最优候选社区步骤为步骤C,用求解出来的模型计算主题-社区分布Φ和用户-主题分布%利用如下 公式计算η) + Ncβ η], ‘ +Ντα步骤d,为每个社区打分,找出用户最感兴趣的社区,为社区排序的评分标准为ξ = Σ 妒酽·,Nr所述的在线更新步骤为步骤e,在保持已经训练好的模型不变的基础上,对新加入的用户模型单独训练, 方法具体为保持已经训练好的模型不变,单独给新加入的用户文档中出现的社区单词随机分 配主题集合,再利用迭代公式迭代更新新用户文档中的主题分布,迭代公式中会用已经训 练好的模型,并且只迭代较少的次数,这样可以大幅度的提高效率;步骤f,将两部分模型合并为一个整体,作为新的模型,再重新为每个社区打分。本专利技术的有益效果在于,利用用户在各个社区上的发帖次数作为软约束,应用LDA 算法,可以在缺少用户特征和社区特征的前提下,自动的计算出社区上的潜在主题分布,并 最终推算出用户最感兴趣的社区。利用一个增量的方法处理新加入的用户,实时更新模型, 达到在线运算的效果,极大的提高了计算效率。为了检验我们方法的有效性,我们以MySpace作为数据集,总共收集了 409093个 用户以及他们所参与的10814个社区的信息。我们从每个用户所参与的所有社区中,随机 挑出一个组成测试集,剩下的所有数据作为训练集。同时使用二值的LDA方法和我们的方 法,给用户进行社区的推荐。然后看,测试集中的社区在推荐结果中排名是否靠前,排名越 高,表示结果越好。实验结果显示,本专利技术显著提高了社区推荐的准确率和速度。如图1。附图说明图1为本专利技术S-LDA与二值B-LDA方法的结果比较。图2为应用本专利技术对用户进行社区推荐的系统示意图。图3为计算主题分布的流程图。具体实施例方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本专利技术的一部分实施例,而不是全部的实施例。基 于本专利技术的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其 他实施例,都属于本专利技术保护的范围。5如图1所示,为应用本专利技术对用户进行社区推荐的系统示意图。所述系统包括前 台爬虫和后台运算单元。在前台,爬虫负责从网络上获取所有该系统需要处理的信息。在 后台运算单元,本专利技术所包含的方法被用来对前台获取的数据进行分析和计算。在对本专利技术运算过程进行详细说明之前,对本实例进行一定的描述。本实例所涉 及的数据,均来自网络著名社区交友网站MySpace。实现抓取这些数据的爬虫设计及这些数 据的管理方法,不在本专利技术范围之内。对于得到的用户-社区关系矩阵,我们方法的目标是要计算出社区中的潜在主题 分布,并利用该分布对社区进行打分排序,最后给用户推荐得分最高的社区。本专利技术需要预先设定潜在主题的数目。在计算潜在的主题分布时,主题数目的选 取会影响最终推荐结果的准确度,应用中根据实际情况在一定范围内进行调整。下面对本专利技术运算过程进行详细说明。如图2所示,本专利技术包括计算主题分布、计算最优候选社区和在线更新三大步骤。下面为计算主题分布过程进行详细说明。如图3所示,计算主题分布的流程为步骤101 初始化,为所有用户文档中出现的社区单词,随机分配一个主题 集合,如为社区单词Cq分配主题集合I, MtpbfAM^,主题集合的大小为Ri, j, 代表用户Ui和社区Ci, j的关系强弱,初始化计数数组Ni,N2, N3, N4,分别用来存储n-0,j,k),i ' n-(ij,k\i n-(ij,k)J‘步骤102 设置初始值i = 1,说明当前准备处理第一个用户文档;步骤103 设置初始值j = 1,说明当前准备处理用户Ui的第一个社区单词;步骤104 设置初始值k = 1,说明当前准备处理社区Ci,」主题集合中的第一个主 题;步骤105 将 Nl [j, k],N2 [i,k],N3 [k]的值分别减 1 ;步骤106 利用公式 lk^t\T(l Jk],c) oc ;⑴’n' “选择具有最^Lnl大概率的主题t,作为新的主题,替换掉原来的主题;步骤107 将 Nl [j, k],N2[i,k],N3[k]的值分别加 1 ;步骤108 如果k < Rij,则k = k+Ι,转到步骤105,否则继续;步骤109 如果Ci,」不是用户Ui的最后一个社区单词,则j = j+1,转到步骤104, 否则继续;步骤110 如果Ui不是最后一个用本文档来自技高网...

【技术保护点】
一种基于在线软约束LDA算法的社区推荐方法,其特征在于,包括计算主题分布、计算最优候选社区、在线更新三大步骤:所述的计算主题分布步骤为:步骤a,对于单个用户,抓取其在各个小社区上的发帖信息,分别统计其发帖次数,以此作为衡量用户与社区的关系强弱;步骤b,用LDA算法建立用户主题分布以及主题社区分布模型,并用Gibbs采样方法求解模型参数;所述的计算最优候选社区步骤为:步骤c,用求解出来的模型计算主题-社区分布φ和用户-主题分布φ;步骤d,为每个社区打分,找出用户最感兴趣的社区;所述的在线更新步骤为:步骤e,在保持已经训练好的模型不变的基础上,对新加入的用户模型单独训练;步骤f,将两部分模型合并为一个整体,作为新的模型,再重新为每个社区打分。

【技术特征摘要】
一种基于在线软约束LDA算法的社区推荐方法,其特征在于,包括计算主题分布、计算最优候选社区、在线更新三大步骤所述的计算主题分布步骤为步骤a,对于单个用户,抓取其在各个小社区上的发帖信息,分别统计其发帖次数,以此作为衡量用户与社区的关系强弱;步骤b,用LDA算法建立用户主题分布以及主题社区分布模型,并用Gibbs采样方法求解模型参数;所述的计算最优候选社区步骤为步骤c,用求解出来的模型计算主题 社区分布φ和用户 主题分布步骤d,为每个社区打分,找出用户最感兴趣的社区;所述的在线更新步骤为步骤e,在保持已经训练好的模型不变的基础上,对新加入的用户模型单独训练;步骤f,将两部分模型合并为一个整体,作为新的模型,再重新为每个社区打分。FSA00000273164500011.tif2.根据权利要求1所述的计算主题分布步骤,其特征在于,所述的步骤a中,选择用户 在社区中的发帖次数作为用户与社区关系的衡量标准,用第i个用户Ui在他所参与的第j 个社区Cy上的发帖次数作为用户Ui与社区Cy的关系强弱度,用Ry表示。3.根据权利要求1所述的计算主题分布步骤,其特征在于,所述的步骤b中,将用户视 为文档,用户参与的社区视为文档中的单词,而Rm就是社区单词Cm在用户文档Ui中的出 现次数。4.根据权利要求...

【专利技术属性】
技术研发人员:俞能海康雨洁
申请(专利权)人:中国科学技术大学
类型:发明
国别省市:34[中国|安徽]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1