CN107844585A - 一种考虑重叠社区效应的推荐方法 - Google Patents

一种考虑重叠社区效应的推荐方法 Download PDF

Info

Publication number
CN107844585A
CN107844585A CN201711134593.0A CN201711134593A CN107844585A CN 107844585 A CN107844585 A CN 107844585A CN 201711134593 A CN201711134593 A CN 201711134593A CN 107844585 A CN107844585 A CN 107844585A
Authority
CN
China
Prior art keywords
mrow
theme
commodity
community
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201711134593.0A
Other languages
English (en)
Other versions
CN107844585B (zh
Inventor
姜元春
姬翠翠
刘业政
王锦坤
孙见山
孙春华
吕曼丽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hefei University of Technology
Original Assignee
Hefei University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hefei University of Technology filed Critical Hefei University of Technology
Priority to CN201711134593.0A priority Critical patent/CN107844585B/zh
Publication of CN107844585A publication Critical patent/CN107844585A/zh
Application granted granted Critical
Publication of CN107844585B publication Critical patent/CN107844585B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种考虑重叠社区效应的推荐方法,其特征是按如下步骤进行:步骤一、获得用户‑主题概率分布矩阵、主题‑商品概率分布矩阵;步骤二、计算商品对用户的效用;步骤三、根据效用评分由高到低的排序,取其中前N项生成用户的商品推荐列表,从而推荐给用户。本发明能有效解决现有推荐系统存在的“冷启动”和数据稀疏问题,提高推荐质量,为用户提供更好的个性化服务。

Description

一种考虑重叠社区效应的推荐方法
技术领域
本发明涉及个性化推荐技术领域,具体的说是一种考虑重叠社区效应的推荐方法。
背景技术
随着互联网的快速发展,人们可以在诸如Twitter、Facebook这样的社交媒体上建立社交关系、加入社区、分享、转发或者评论。与此同时,用户生成内容的快速增长加剧了“信息过载”,用户在海量数据中获取感兴趣的信息难且耗时。为了有效解决这种问题,社交媒体运营商根据用户行为数据,建立推荐系统,为用户提供个性化的推荐。
然而现有的推荐系统把用户浏览行为数据作为唯一的信息源,存在“冷启动”和数据稀疏的问题。举例来说,当一个新用户加入一个社交媒体时,推荐系统可获得的、用来精准建立用户兴趣模型的信息很少。考虑到相似偏好的人容易成为朋友,用户之间存在社交关系表明彼此可能有相似偏好,因此研究人员试图将用户的社交关系,例如信任关系、朋友关系、追随关系等加入推荐系统之中,以此提高推荐质量。然而,用户线下的朋友关系会转移到线上,彼此之间可能不存在相同偏好,某些场景下利用社交关系也无法推断出用户的偏好。因此通过社交关系捕捉用户兴趣不够精确。
本文聚焦于另一种社交媒体活动——加入社区。用户通常会加入好几个社区,用户加入社区就可以认为用户对该社区主题兴趣度极高。社区方面的研究,主要聚焦于推荐用户加入某社区。虽然将重叠社区信息加入概率矩阵分解模型中可以提高评分预测的质量,然而,在社交媒体中,诸如商品评分这样的显示反馈相对较少,研究的适用场景有限,并不能解决大多数社交媒体的个性化推荐问题。
发明内容
本发明为了克服现有技术存在的不足之处,提供一种考虑重叠社区效应的推荐方法,以期能有效解决现有推荐系统存在的“冷启动”和数据稀疏问题,从而能提高推荐质量,为用户提供更好的个性化服务。
本发明为解决技术问题所采用的技术方案是:
本发明一种考虑重叠社区效应的推荐方法,是应用于由用户集合U={1,...,u,...,|U|}、商品集合P={1,...,p,...,|P|}和社区集合C={1,...,c,...,|C|}所构成的社交媒体中,其中,u表示任意用户,1≤u≤|U|,p表示任意商品,1≤p≤|P|,c表示任意社区,1≤c≤|C|;其特点是所述推荐方法是按如下步骤进行:
步骤一、获得用户-主题概率分布矩阵θ、主题-商品概率分布矩阵
步骤1.1、令迭代总次数为itermax,当前迭代次数为iter;主题所对应的编号为k,k=0,1,...,K,主题分布的先验参数集合为α={α0,α1,...,αk,...,αK},αk表示主题编号k分布的先验参数,商品分布的先验参数集合为β={β1,...,βp,...β|P|},βp表示任意商品p分布的先验参数,社区分布的先验参数集合为ε={ε1,...,εc,...,ε|C|},εc表示任意社区c分布的先验参数;
步骤1.2、初始化iter=1,初始化αk、βp、εc,随机给所述商品集合P中的每个商品分配主题所对应的编号,其中,商品i在第iter次迭代中的主题编号记为1≤i≤|P|,则所有商品在第iter次迭代中的主题编号所构成的商品主题集合记为z(iter);随机给社区集合C中的每个社区分配主题所对应的编号,其中,社区j在第iter次迭代中的主题编号记为1≤j≤|C|,则所有社区在第iter次迭代中的主题编号所构成的社区主题集合记为x(iter)
步骤1.3、排除当前商品i所分配的主题编号,根据其他所有商品所分配的主题编号所构成的商品主题集合商品集合P、社区集合C以及社区主题集合x(iter),利用式(1)计算当前商品i分配主题编号k的概率
式(1)中,表示去除当前商品i以后,主题编号k下商品p出现的次数,表示去除当前商品i以后,用户u下主题编号k产生的商品个数,表示用户u下主题编号k产生的社区个数;
步骤1.4、排除当前社区j所分配的主题编号,根据其他所有社区所分配的主题编号所构成的社区主题集合社区集合C、商品集合P以及商品主题集合z(iter),利用式(2)计算当前社区j分配给主题编号k的概率
式(2)中,表示去除当前社区j以后,主题编号k下社区c出现的次数,表示去除当前社区j以后,用户u下主题编号k产生的社区个数,表示用户u下主题编号k产生的商品个数;
步骤1.5、重复步骤1.3得到当前商品i分配给所有主题的概率集合并利用式(3)更新概率得到更新后的概率从而得到更新后的概率集合
步骤1.6、重复步骤1.4得到当前社区j分配给所有主题的概率集合并利用式(4)更新得到更新后的概率从而得到更新后的概率集合
步骤1.7、选取一个随机值并逐一与更新后的当前商品i分配给所有主题的概率集合中的每个概率进行比较,当时,令当前商品i在第iter+1次迭代中的所分配的主题编号为k;
步骤1.8、选取另一个随机值并逐一与更新后的当前社区j分配给所有主题的概率集合中的每个概率进行比较,当时,令当前社区j在第iter+1次迭代中的主题编号为k;
步骤1.9、令iter+1赋值给iter,并判断iter>itermax是否成立,若成立,则执行步骤1.10;否则返回步骤1.3顺序执行;
步骤1.10、利用式(5)和式(6)分别计算用户u-主题编号k的概率分布矩阵θu,k和主题编号k-商品p的概率分布矩阵从而得到用户-主题概率分布矩阵θ和主题-商品概率分布矩阵
式(6)中,表示主题编号k下商品p出现的次数;
步骤二、利用式(7)计算商品p对用户u的效用ru,p,从而得到所有商品对用户u的效用;
步骤三、根据效用评分由高到低的排序,取其中前N项生成用户u的商品推荐列表,从而推荐给用户u。
与已有技术相比,本发明的有益效果体现在:
1、本发明首次将用户浏览行为数据和重叠社区数据联合应用于概率生成模型中,相比现有的把用户浏览行为数据作为单一信息源的推荐方法,本发明将重叠社区数据作为辅助信息,结合用户浏览行为数据,不仅能精确捕捉用户兴趣,有效提高了个性化推荐的精确度,获得用户满意的推荐结果,而且有效解决了“冷启动”用户问题,在大量隐式反馈数据中也能有效提高推荐质量,具有一定的通用性。
2、本发明计算出的用户-主题概率分布矩阵θ,是用户浏览行为数据和重叠社区数据两方面的反映结果,即用户浏览商品以及用户加入的社区可以反映用户主题,比以往仅使用用户浏览行为数据得到的用户-主题概率分布矩阵更能精确捕捉用户的个人兴趣。并且,用户的重叠社区数据对应的主题可以反映用户对该主题的极大兴趣,比以往利用社交关系得出的用户兴趣更准确,有利于推荐系统依据用户个人兴趣做出个性化推荐,为用户提供更好的推荐服务。
3、大数据时代,社交媒体上存在大量稀疏的隐式反馈数据集,用户很少表达诸如商品评分这样的显示反馈数据,因此利用评分推荐的方法适用面窄。本发明采用的是Top-N推荐,即通过计算商品对用户的效用,再根据效用高低排序,向用户推荐前N项,更适合大多数社交媒体。
4、本发明可用于社交网络平台的个性化推荐,平台利用用户加入的社区信息,可对新注册的用户或者基本不评论、转发帖子的用户提供精度更高的推荐,可以在电脑和手机的网页和APP等平台使用,应用范围广泛。
附图说明
图1为本发明的模型示意图;
图2为本发明的几个主要实施步骤的流程图;
图3为不同方法在不同top-N下的召回率(Recall@N)。
具体实施方式
本实施例中,一种考虑重叠社区效应的推荐方法是将用户浏览行为数据和用户加入的重叠社区数据联合应用于概率生成模型中,其概率图模型如图1所示。本发明提出的推荐方法建立在如下假设基础上:每个用户存在一个主题上的多项式分布,这个多项式分布会控制两类主题的生成,一类主题影响用户选择商品,一类主题决定用户加入社区。基于该假设,本发明将用户类比为文档,用户主题偏好类比为文档主题,用户选择的商品以及加入的社区类比为两类单词。
本实施例中,如图2所示,一种考虑重叠社区效应的推荐方法,是应用于由用户集合U={1,...,u,...,|U|}、商品集合P={1,...,p,...,|P|}和社区集合C={1,...,c,...,|C|}所构成的社交媒体中,其中,u表示任意用户,1≤u≤|U|,p表示任意商品,1≤p≤|P|,c表示任意社区,1≤c≤|C|;这里的社交网络可以是Facebook、CiteULike等社交网络平台,本实施例中以CiteULike为例。CiteULike是专门为学术研究人员提供的学术交流平台,研究人员可以注释、分享文献或者书籍,也可以加入社区,在社区里交流、分享学术文章;为了减少数据稀疏性的影响,我们先对数据集进行预处理:只选择至少被注释过4次的商品,最后形成本发明所采用的包含7256个用户对19464个商品的126383条注释、分享记录,同时还包含了这些用户加入的2976个社区。本发明采用五折交叉验证法(five-fold crossvalidation)将数据集分为训练集和测试集,其中训练集占用户-商品数据的80%,用于模型训练,测试集占20%,用于测量算法效果;该推荐方法是按如下步骤进行:
步骤一、获得用户-主题概率分布矩阵θ、主题-商品概率分布矩阵
步骤1.1、令迭代总次数为itermax,当前迭代次数为iter;事先指定所要训练的主题个数K=300,主题所对应的编号为k,k=0,1,...,K,主题分布的先验参数集合为α={α0,α1,...,αk,...,αK},αk表示主题编号k分布的先验参数,商品分布的先验参数集合为β={β1,...,βp,...β|P|},βp表示任意商品p分布的先验参数,社区分布的先验参数集合为ε={ε1,...,εc,...,ε|C|},εc表示任意社区c分布的先验参数;本发明中主题、商品、社区都是服从多项式分布的,αk则是对应主题的多项式分布所服从的狄利克雷分布的参数,βp则是对应商品多项式分布所服从的狄利克雷分布的参数,εc则是对应社区多项式分布所服从的狄利克雷分布的参数;
步骤1.2、初始化iter=1,初始化αk、βp、εc,其中αk左右,βp和εc根据经验取0.01;将α、β、ε都设置为0.01,主题数设置为300,迭代次数不少于300;随机给所述商品集合P中的每个商品分配主题所对应的编号,其中,商品i在第iter次迭代中的主题编号记为1≤i≤|P|,则所有商品在第iter次迭代中的主题编号所构成的商品主题集合记为z(iter);随机给社区集合C中的每个社区分配主题所对应的编号,其中,社区j在第iter次迭代中的主题编号记为1≤j≤|C|,则所有社区在第iter次迭代中的主题编号所构成的社区主题集合记为x(iter)
步骤1.3、排除当前商品i所分配的主题编号,根据其他所有商品所分配的主题编号所构成的商品主题集合商品集合P、社区集合C以及社区主题集合x(iter),利用式(1)计算当前商品i分配主题编号k的概率
式(1)中,表示去除当前商品i以后,主题编号k下商品p出现的次数,表示去除当前商品i以后,用户u下主题编号k产生的商品个数,表示用户u下主题编号k产生的社区个数;
步骤1.4、排除当前社区j所分配的主题编号,根据其他所有社区所分配的主题编号所构成的社区主题集合社区集合C、商品集合P以及商品主题集合z(iter),利用式(2)计算当前社区j分配给主题编号k的概率
式(2)中,表示去除当前社区j以后,主题编号k下社区c出现的次数,表示去除当前社区j以后,用户u下主题编号k产生的社区个数,表示用户u下主题编号k产生的商品个数;
步骤1.5、重复步骤1.3得到当前商品i分配给所有主题的概率集合并利用式(3)更新概率得到更新后的概率从而得到更新后的概率集合
步骤1.6、重复步骤1.4得到当前社区j分配给所有主题的概率集合并利用式(4)更新得到更新后的概率从而得到更新后的概率集合
步骤1.7、选取一个随机值并逐一与更新后的当前商品i分配给所有主题的概率集合中的每个概率进行比较,当时,令当前商品i在第iter+1次迭代中的所分配的主题编号为k;
步骤1.8、选取另一个随机值并逐一与更新后的当前社区j分配给所有主题的概率集合中的每个概率进行比较,当时,令当前社区j在第iter+1次迭代中的主题编号为k;
步骤1.9、令iter+1赋值给iter,并判断iter>itermax是否成立,若成立,则执行步骤1.10;否则返回步骤1.3顺序执行;
步骤1.10、利用式(5)和式(6)分别计算用户u-主题编号k的概率分布矩阵θu,k和主题编号k-商品p的概率分布矩阵从而得到用户-主题概率分布矩阵θ和主题-商品概率分布矩阵
式(6)中,表示主题编号k下商品p出现的次数;
步骤二、利用式(7)计算商品p对用户u的效用ru,p,从而得到所有商品对用户u的效用;
步骤三、根据效用评分由高到低的排序,取其中前N项生成用户u的商品推荐列表,从而推荐给用户u。本实施例中将N设置为10,也就是说对每个用户来说,将商品效用评分的前10个商品推荐给用户。
为了说明模型的有效性,本发明选取一些著名的推荐算法做对比,分别是Random、MostPopular(MP)、UserCF、WRMF、BPR、SBPR以及LDA,这些推荐算法都适用于隐式反馈的数据集。
Random算法随机生成商品列表推荐给用户;MostPopular(MP)算法根据商品的流行度生成非个性化的推荐列表;UserCF算法将相似用户浏览或者购买过的产品推荐给用户;WRMF是一种矩阵分解模型;BPR算法利用评分来优化用户对商品的排序;SBPR算法在BPR的基础上加入了社区信息,通过优化排序生成推荐列表;LDA作为本发明的基础模型,把用户看作一篇文档,商品看作单词,以此为用戶推荐商品。
为了评估模型表现,本发明选取了召回率(Recall@N)、MAP(Mean AveragePrecision)和NDCG@N(Normalized Discounted Cumulative Gain)三种评价指标。召回率用来衡量推荐列表中有多少被正确预测了,值越大,表明系统性能越好;MAP用来衡量推荐的准确率,MAP的值越高,说明准确率越高;NDCG@N是用来衡量排序质量的指标,值越高,效果越好。
本发明与各基准方法在Recall@N、MAP和NDCG@N三种评价指标下的表现如表1所示。从表1可以看出,没有考虑重叠社区信息的协同过滤方法在这三种指标下的表现不如基于社区信息的推荐方法WRMF和SBPR,这也说明了社区信息在建立用户兴趣模型方面的有效性;通过在主题模型中加入社区信息,本发明在这三种评价指标下的表现始终优于其他基准方法;与仅次于本发明的指标值相比,本发明在Recall@N、MAP和NDCG@N三种评价指标下分别提高了约7.53%、5.75%和2.85%。
表1:本发明与各基准方法在Recall@N、MAP和NDCG@N三种评价指标下的表现
随着top-N值的变化,各方法在Recall@N上的表现如图3所示。从图3中可以看出尽管不同N值的实验结果曲线非常接近,但是本发明在各N值上的召回率都高于基准方法,并且当N很小的时候本发明可以提高推荐质量。
社区信息的引入可以有效解决“冷启动”问题,运用本发明即使在用户反馈很少的情况下,也可以建立有效的用户兴趣模型。为了进一步说明这一现象,本发明将训练集中少于5个反馈的用户视为“冷启动”用户,结果如表2所示。
从表2中可以看出,其他方法的指标表现都随着训练集中数据量的减少而下降,只有MP方法在稀疏数据中表现更好;LDA模型比其他协同过滤方法表现好,说明主题模型在记录很少的情况下,能更好地建立用户兴趣模型;引入社区信息的方法例如SBPR比仅依靠用户-商品数据的方法表现更好,这说明当训练样本稀疏的情况下,社区信息可作为辅助信息帮助建立用户兴趣模型;在“冷启动”用户推荐方面,与基准方法相比,本发明的推荐结果明显更好;我们进一步比较了本发明和SBPR的表现,发现相对于之前的结果,本发明的提升效果更明显,这意味着在主题模型中加入社区信息极有利于建立用户兴趣模型,可以有效处理“冷启动”情况下的推荐问题。
表2:各基准方法在“冷启动”用戶数据集中的指标表现

Claims (1)

1.一种考虑重叠社区效应的推荐方法,是应用于由用户集合U={1,...,u,...,|U|}、商品集合P={1,...,p,...,|P|}和社区集合C={1,...,c,...,|C|}所构成的社交媒体中,其中,u表示任意用户,1≤u≤|U|,p表示任意商品,1≤p≤|P|,c表示任意社区,1≤c≤|C|;其特征是所述推荐方法是按如下步骤进行:
步骤一、获得用户-主题概率分布矩阵θ、主题-商品概率分布矩阵
步骤1.1、令迭代总次数为itermax,当前迭代次数为iter;主题所对应的编号为k,k=0,1,...,K,主题分布的先验参数集合为α={α01,...,αk,...,αK},αk表示主题编号k分布的先验参数,商品分布的先验参数集合为β={β1,...,βp,...β|P|},βp表示任意商品p分布的先验参数,社区分布的先验参数集合为ε={ε1,...,εc,...,ε|C|},εc表示任意社区c分布的先验参数;
步骤1.2、初始化iter=1,初始化αk、βp、εc,随机给所述商品集合P中的每个商品分配主题所对应的编号,其中,商品i在第iter次迭代中的主题编号记为1≤i≤|P|,则所有商品在第iter次迭代中的主题编号所构成的商品主题集合记为z(iter);随机给社区集合C中的每个社区分配主题所对应的编号,其中,社区j在第iter次迭代中的主题编号记为1≤j≤|C|,则所有社区在第iter次迭代中的主题编号所构成的社区主题集合记为x(iter);
步骤1.3、排除当前商品i所分配的主题编号,根据其他所有商品所分配的主题编号所构成的商品主题集合商品集合P、社区集合C以及社区主题集合x(iter),利用式(1)计算当前商品i分配主题编号k的概率
式(1)中,表示去除当前商品i以后,主题编号k下商品p出现的次数,表示去除当前商品i以后,用户u下主题编号k产生的商品个数,表示用户u下主题编号k产生的社区个数;
步骤1.4、排除当前社区j所分配的主题编号,根据其他所有社区所分配的主题编号所构成的社区主题集合社区集合C、商品集合P以及商品主题集合z(iter),利用式(2)计算当前社区j分配给主题编号k的概率
式(2)中,表示去除当前社区j以后,主题编号k下社区c出现的次数,表示去除当前社区j以后,用户u下主题编号k产生的社区个数,表示用户u下主题编号k产生的商品个数;
步骤1.5、重复步骤1.3得到当前商品i分配给所有主题的概率集合并利用式(3)更新概率得到更新后的概率从而得到更新后的概率集合
<mrow> <msup> <mi>Pro</mi> <mo>&amp;prime;</mo> </msup> <mrow> <mo>(</mo> <msubsup> <mi>z</mi> <mi>i</mi> <mrow> <mo>(</mo> <mi>i</mi> <mi>t</mi> <mi>e</mi> <mi>r</mi> <mo>)</mo> </mrow> </msubsup> <mo>=</mo> <mi>k</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>Pr</mi> <mi>o</mi> <mrow> <mo>(</mo> <msubsup> <mi>z</mi> <mi>i</mi> <mrow> <mo>(</mo> <mi>i</mi> <mi>t</mi> <mi>e</mi> <mi>r</mi> <mo>)</mo> </mrow> </msubsup> <mo>=</mo> <mi>k</mi> <mo>)</mo> </mrow> <mo>+</mo> <mi>Pr</mi> <mi>o</mi> <mrow> <mo>(</mo> <msubsup> <mi>z</mi> <mi>i</mi> <mrow> <mo>(</mo> <mi>i</mi> <mi>t</mi> <mi>e</mi> <mi>r</mi> <mo>)</mo> </mrow> </msubsup> <mo>=</mo> <mo>(</mo> <mrow> <mi>k</mi> <mo>-</mo> <mn>1</mn> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow>
步骤1.6、重复步骤1.4得到当前社区j分配给所有主题的概率集合并利用式(4)更新得到更新后的概率从而得到更新后的概率集合
<mrow> <msup> <mi>Pro</mi> <mo>&amp;prime;</mo> </msup> <mrow> <mo>(</mo> <msubsup> <mi>x</mi> <mi>j</mi> <mrow> <mo>(</mo> <mi>i</mi> <mi>t</mi> <mi>e</mi> <mi>r</mi> <mo>)</mo> </mrow> </msubsup> <mo>=</mo> <mi>k</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>Pr</mi> <mi>o</mi> <mrow> <mo>(</mo> <msubsup> <mi>x</mi> <mi>j</mi> <mrow> <mo>(</mo> <mi>i</mi> <mi>t</mi> <mi>e</mi> <mi>r</mi> <mo>)</mo> </mrow> </msubsup> <mo>=</mo> <mi>k</mi> <mo>)</mo> </mrow> <mo>+</mo> <mi>Pr</mi> <mi>o</mi> <mrow> <mo>(</mo> <msubsup> <mi>x</mi> <mi>j</mi> <mrow> <mo>(</mo> <mi>i</mi> <mi>t</mi> <mi>e</mi> <mi>r</mi> <mo>)</mo> </mrow> </msubsup> <mo>=</mo> <mo>(</mo> <mrow> <mi>k</mi> <mo>-</mo> <mn>1</mn> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>4</mn> <mo>)</mo> </mrow> </mrow>
步骤1.7、选取一个随机值并逐一与更新后的当前商品i分配给所有主题的概率集合中的每个概率进行比较,当时,令当前商品i在第iter+1次迭代中的所分配的主题编号为k;
步骤1.8、选取另一个随机值并逐一与更新后的当前社区j分配给所有主题的概率集合中的每个概率进行比较,当时,令当前社区j在第iter+1次迭代中的主题编号为k;
步骤1.9、令iter+1赋值给iter,并判断iter>itermax是否成立,若成立,则执行步骤1.10;否则返回步骤1.3顺序执行;
步骤1.10、利用式(5)和式(6)分别计算用户u-主题编号k的概率分布矩阵θu,k和主题编号k-商品p的概率分布矩阵从而得到用户-主题概率分布矩阵θ和主题-商品概率分布矩阵
<mrow> <msub> <mi>&amp;theta;</mi> <mrow> <mi>u</mi> <mo>,</mo> <mi>k</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <msubsup> <mi>n</mi> <mi>u</mi> <mi>k</mi> </msubsup> <mo>+</mo> <msubsup> <mi>s</mi> <mi>u</mi> <mi>k</mi> </msubsup> <mo>+</mo> <msub> <mi>&amp;alpha;</mi> <mi>k</mi> </msub> </mrow> <mrow> <munderover> <mo>&amp;Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>0</mn> </mrow> <mi>K</mi> </munderover> <mrow> <mo>(</mo> <msubsup> <mi>n</mi> <mi>u</mi> <mi>k</mi> </msubsup> <mo>+</mo> <msubsup> <mi>s</mi> <mi>u</mi> <mi>k</mi> </msubsup> <mo>+</mo> <msub> <mi>&amp;alpha;</mi> <mi>k</mi> </msub> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>5</mn> <mo>)</mo> </mrow> </mrow>
式(6)中,表示主题编号k下商品p出现的次数;
步骤二、利用式(7)计算商品p对用户u的效用ru,p,从而得到所有商品对用户u的效用;
步骤三、根据效用评分由高到低的排序,取其中前N项生成用户u的商品推荐列表,从而推荐给用户u。
CN201711134593.0A 2017-11-16 2017-11-16 一种考虑重叠社区效应的推荐方法 Active CN107844585B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711134593.0A CN107844585B (zh) 2017-11-16 2017-11-16 一种考虑重叠社区效应的推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711134593.0A CN107844585B (zh) 2017-11-16 2017-11-16 一种考虑重叠社区效应的推荐方法

Publications (2)

Publication Number Publication Date
CN107844585A true CN107844585A (zh) 2018-03-27
CN107844585B CN107844585B (zh) 2020-02-14

Family

ID=61679518

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711134593.0A Active CN107844585B (zh) 2017-11-16 2017-11-16 一种考虑重叠社区效应的推荐方法

Country Status (1)

Country Link
CN (1) CN107844585B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108846042A (zh) * 2018-05-29 2018-11-20 昆明理工大学 一种结合用户反馈机制的社交网络推荐方法
CN109903099A (zh) * 2019-03-12 2019-06-18 合肥工业大学 用于评分预测的模型构建方法和系统
CN110197404A (zh) * 2019-06-12 2019-09-03 合肥工业大学 可降低流行度偏差的个性化长尾商品推荐方法和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105338380A (zh) * 2015-10-30 2016-02-17 四川长虹电器股份有限公司 智能电视上的网络运营交互系统
CN105844509A (zh) * 2016-03-23 2016-08-10 西安电子科技大学 基于主题模型的地理感知推荐方法
CN106157156A (zh) * 2016-07-29 2016-11-23 电子科技大学 一种基于用户社区的协作推荐系统
CN106980648A (zh) * 2017-02-27 2017-07-25 南京邮电大学 一种基于概率矩阵分解结合相似度的个性化推荐方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105338380A (zh) * 2015-10-30 2016-02-17 四川长虹电器股份有限公司 智能电视上的网络运营交互系统
CN105844509A (zh) * 2016-03-23 2016-08-10 西安电子科技大学 基于主题模型的地理感知推荐方法
CN106157156A (zh) * 2016-07-29 2016-11-23 电子科技大学 一种基于用户社区的协作推荐系统
CN106980648A (zh) * 2017-02-27 2017-07-25 南京邮电大学 一种基于概率矩阵分解结合相似度的个性化推荐方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108846042A (zh) * 2018-05-29 2018-11-20 昆明理工大学 一种结合用户反馈机制的社交网络推荐方法
CN109903099A (zh) * 2019-03-12 2019-06-18 合肥工业大学 用于评分预测的模型构建方法和系统
CN109903099B (zh) * 2019-03-12 2021-03-23 合肥工业大学 用于评分预测的模型构建方法和系统
CN110197404A (zh) * 2019-06-12 2019-09-03 合肥工业大学 可降低流行度偏差的个性化长尾商品推荐方法和系统
CN110197404B (zh) * 2019-06-12 2022-04-01 合肥工业大学 可降低流行度偏差的个性化长尾商品推荐方法和系统

Also Published As

Publication number Publication date
CN107844585B (zh) 2020-02-14

Similar Documents

Publication Publication Date Title
CN104966125B (zh) 一种社交网络的物品评分及推荐方法
CN106651519B (zh) 基于标签信息的个性化推荐方法和系统
CN105740430B (zh) 一种融合社会化信息的个性化推荐方法
Sellers et al. The COM‐Poisson model for count data: a survey of methods and applications
CN103412948B (zh) 基于聚类的协同过滤的商品推荐方法及系统
CN105260390B (zh) 一种面向群组的基于联合概率矩阵分解的项目推荐方法
CN103745100B (zh) 一种基于项目的混合显性隐性反馈的协同过滤推荐的方法
Arenas-Márquez et al. Electronic word-of-mouth communities from the perspective of social network analysis
CN106649657A (zh) 面向社交网络基于张量分解的上下文感知推荐系统及方法
CN106708953A (zh) 基于离散粒子群优化的局部社区检测协同过滤推荐方法
CN107423335B (zh) 一种针对单类协同过滤问题的负样本选择方法
CN108205775A (zh) 一种业务对象的推荐方法、装置和客户端
CN107844585A (zh) 一种考虑重叠社区效应的推荐方法
CN103617289A (zh) 基于用户特征及网络关系的微博推荐方法
CN110188268A (zh) 一种基于标签和时间信息的个性化推荐方法
CN104182392A (zh) 服务推荐处理的方法和装置
CN106157156A (zh) 一种基于用户社区的协作推荐系统
CN111681084B (zh) 一种基于社交关系影响因素的电商平台推荐方法
CN110321485A (zh) 一种结合用户评论与评分信息的推荐算法
CN104239496A (zh) 一种结合模糊权重相似性度量和聚类协同过滤的方法
CN105913159A (zh) 基于社交网络事件的用户影响力预测方法
CN106919699A (zh) 一种面向大规模用户的个性化信息推荐方法
Huang et al. The effect of online and offline word-of-mouth on new product diffusion
CN107025311A (zh) 一种基于k近邻的贝叶斯个性化推荐方法及装置
Chen et al. Top-k followee recommendation over microblogging systems by exploiting diverse information sources

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant