首页> 中国专利> 基于用户兴趣和社交主题提取的社交网络用户推荐方法

基于用户兴趣和社交主题提取的社交网络用户推荐方法

摘要

本发明公开了一种基于用户兴趣和社交主题提取的社交网络用户推荐方法,包括以下步骤:获取社交网络中用户的“follower‑followee”关系以及“mutual‑following”关系信息;提取用户的社交主题和兴趣主题;在这些主题的基础上分别形成用户的社交社区和兴趣社区;将各个社区分别整理成矩阵形式,使用矩阵分解方法对各个社区矩阵进行分解以计算各用户对在各个社区矩阵的意愿关注分数,取各个用户对在所有社区的意愿关注分数的最大值为最终意愿关注分数,为目标用户排序其与其他用户的最终意愿关注分数,最终选取分数最高的TOP‑N用户为推荐关注用户。具有得到了更准确的社交网络用户推荐结果等优点。

著录项

  • 公开/公告号CN106055713A

    专利类型发明专利

  • 公开/公告日2016-10-26

    原文格式PDF

  • 申请/专利权人 华南理工大学;

    申请/专利号CN201610519445.X

  • 发明设计人 许可;郑栩燊;闵华清;蔡毅;

    申请日2016-07-01

  • 分类号G06F17/30(20060101);G06Q50/00(20120101);

  • 代理机构44245 广州市华学知识产权代理有限公司;

  • 代理人罗观祥

  • 地址 510640 广东省广州市天河区五山路381号

  • 入库时间 2023-06-19 00:43:59

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-10-18

    授权

    授权

  • 2017-01-04

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20160701

    实质审查的生效

  • 2016-10-26

    公开

    公开

说明书

技术领域

本发明涉及一种社交网络用户推荐技术,特别涉及一种基于用户兴趣和社交主题提取的社交网络用户推荐方法,该推荐方法采用UIS-LDA模型方法对用户的兴趣主题和社交主题进行提取,在已提取的主题基础上分别形成用户的兴趣社区和社交社区,随后,通过矩阵分解算法对每个社区进行矩阵分解,获取各个用户对之间的意愿关注分数,最后,对目标用户的该分数进行排序,获取分数最高的N个意愿关注用户作为推荐用户。该方法旨在社交网络中找寻到具有相似兴趣和社交圈的用户推荐给目标用户,从而提高用户推荐的准确性。

背景技术

随着社交网络的发展,越来越多的用户通过社交网络,如Twitter、新浪微博等进行社交交互和信息获取。然而,迅速膨胀的社交网络用户数量,由此带来的大规模的博文信息,造成了用户信息过载问题,使得他们很难有效地在社交网络中获取所需。用户推荐是解决社交网络中信息过载的有效途径之一。主流的用户推荐方法包括基于内容的推荐,协同过滤方法和主题模型方法。

本质上看,用户在社交网络中关注某个对象可能受各种因素驱动,譬如和朋友,亲人,工作伙伴等建立联系,或者想获得感兴趣的信息,又或者被名人所吸引。我们将这些因素归为两大类:兴趣和社交。前者关注用户的个人兴趣,使得用户更倾向于关注可以从中获取信息或与之兴趣有重叠的人;后者则注重用户现有社交联系的维持和加强,使得用户更倾向于关注其社交圈内的友人。因此,考虑到用户希望关注与之有相似兴趣和相近社交联系的其他用户,在做推荐的时候有必要将兴趣和社交这两种因素有效区分,并全面地考虑进来。

然而,现有的基于内容的推荐方法完全依赖于博文内容,不考虑用户的社交因素;与此同时,现有的协同过滤方法和主题模型方法通常使用“follower-followee”关系描述用户的喜好,而“follower-followee”关系本身可以由用户的社交或兴趣因素建立,因此这些方法并不区分用户在关注另一个人时的社交和兴趣需求,导致推荐的结果不够准确。

发明内容

本发明的目的在于克服现有技术的缺点与不足,提供一种基于用户兴趣和社交主题提取的社交网络用户推荐方法,该推荐方法结合社交网络用户间的“follower-followee”关系以及“mutual-following”关系,提出一种新的主题模型方法,命名为UIS-LDA,用来提取用户的兴趣主题和社交主题。在此基础上,分别形成用户的兴趣社区和社交社区,通过对每个社区进行矩阵分解,最终为目标用户推荐TOP-N具有相似兴趣和相近社交联系的用户。

本发明的目的可以通过下述技术方案实现:基于用户兴趣和社交主题提取的社交网络用户推荐方法,包含如下步骤:

步骤一、将一个社交网络中的目标用户、需要提取的用户兴趣主题个数Kin和需要提取的用户社交主题个数Kso输入UIS-LDA主题模型,通过该模型聚类出Kin个兴趣主题和Kso个社交主题,并输出参数θin,θso,η,其中,θso表示文档在Kso个社交主题上的分布;θin表示文档在Kin个兴趣主题上的分布;η表示文档在贝努力变量o上的分布,o作为选择开关来指示每一篇文档的每一个followee是从一个社交主题中生成当o=0时或者是从一个兴趣主题中生成,当o=1时;表示社交主题在所有followee即被关注者上的分布;表示兴趣主题在所有followee即被关注者上的分布。

步骤二、对于每一个兴趣主题z∈Zin,对应生成一个兴趣社区c∈Cin,该兴趣社区包含的follower即关注者f和followee即被关注者g分别用c.F和c.G表示如下:

c.F={f|f∈F∧Pr'(z|df)≥γ},

c.G={g|g∈G∧Pr'(z|dg)≥ζ},

其中,F是所有follower的集合,G是所有followee的集合,f∈F表示f是集合F中的一个follower,g∈G表示g是集合G中的一个followee,γ,ζ是定义好的阈值,文档df包含某个follower>g包含关注某个followee>f)≥γ表示文档df条件下属于某个兴趣主题z的发生概率大于等于阈值γ,Pr'(z|dg)≥ζ表示文档dg条件下属于某个兴趣主题z的发生概率大于等于阈值ζ,符号“∧”表示左右两边集合的合取运算,c.F={f|f∈F∧Pr'(z|df)≥γ}表示一个兴趣社区的关注者即follower集合,即c.F由满足f∈F∧Pr'(z|df)≥γ条件的所有follower>g)≥ζ}表示一个兴趣社区的被关注者即followee集合,即c.G由满足g∈G∧Pr'(z|dg)条件的所有followee>in为Kin个兴趣主题集合;Cin为Kin个兴趣社区集合;这里Pr'(z|df),Pr'(z|dg)分别用如下公式获得:

>Pr(z|df)=Pr(z|df)ΣzZPr(z|df),>

>Pr(z|dg)=ΣfdgPr(z|df)ΣzZinΣfdgPr(z|df),>

其中,其中,Pr(z|df)表示文档df条件下属于某个兴趣主题z的发生概率,表示对所有z'的Pr(z'|df)取和,这里z'∈Z,Z为所有兴趣主题和社区主题组成的集合。表示将所有属于文档dg的follower>f)求和。表示先选定某个z'∈Zin,求和类似依次对各个z'∈Zin进行求和,Zin是兴趣主题的集合;

对于每一个社交主题z∈Zso,对应生成一个社交社区c∈Cso,该社交社区包含的follower>

c.F={f|f∈F∧Pr'(z|df)≥γ},

c.G={g|g∈G∧Pr'(z|dg)≥ζ},

其中,F是所有follower的集合,G是所有followee的集合,f∈F表示f是集合F中的一个follower,g∈G表示g是集合G中的一个followee,γ,ζ是定义好的阈值,文档df包含某个follower>g包含关注某个followee>f)≥γ表示文档df条件下属于某个社交主题z的发生概率大于等于阈值γ,Pr'(z|dg)≥ζ表示文档dg条件下属于某个社交主题z的发生概率大于等于阈值ζ,符号“∧”表示左右两边集合的合取运算,c.F={f|f∈F∧Pr'(z|df)≥γ}表示一个社交社区的关注者即follower集合,即c.F由满足f∈F∧Pr'(z|df)≥γ条件的所有follower>g)≥ζ}表示一个社交社区的被关注者即followee集合,即c.G由满足g∈G∧Pr'(z|dg)条件的所有followee>so为Kso个社交主题集合;Cso为Kso个社交社区集合;Pr'(z|df),Pr'(z|dg)分别用如下公式获得:

>Pr(z|df)=Pr(z|df)ΣzZPr(z|df),>

>Pr(z|dg)=ΣfdgPr(z|df)ΣzZsoΣfdgPr(z|df),>

其中,Pr(z|df)表示文档df条件下属于某个社交主题z的发生概率,表示对所有z'的Pr(z'|df)取和,这里z'∈Z,Z为所有兴趣主题和社区主题组成的集合。表示将所有属于文档dg的follower>f)求和。表示先选定某个z'∈Zso,求和类似依次对各个z'∈Zso进行求和,Zso是社交主题的集合。

由此,得到用户的Kin个兴趣社区和Kso个社交社区;

步骤三:对于每一个社区c∈CinUCso,把它整理成一个|c.F|×|c.G|矩阵Mc;Mc中的每一个元素用pfg表示,pfg取值如下:

其中,f∈c.F表示f是集合c.F中的一个follower,g∈c.G表示g是集合c.G中的一个followee.c.F为社区c的关注者即follower集合,c.G为社区c的被关注者即followee集合;

对每一个Mc执行矩阵分解算法,根据下式得到各个矩阵Mc中的follower>

C_score(f,g,c)=xf*yg

这里,“*”号表示左右两边向量的内积,向量xf∈X|c.F|×L,向量yg∈YL×|c.G|。其中X|c.F|×L和YL×|c.G|为Mc矩阵通过矩阵分解方法得到的两个潜在矩阵,L为预先设定好的潜在空间数量,|c.F|为集合c.F的大小,|c.G|为集合c.G的大小。

步骤四:按照如下公式对各个矩阵Mc相应的C_score(f,g,c)值取最大值,得到各个用户对之间的最终意愿关注分数F_score(f,g)。

>F_score(f,g)=Maximum(C_score(f,g,c)cC),>

其中,Maximum()为取最大值函数,表示对每一个社区c计算其相应的C_score(f,g,c)值;

步骤五:对于每一个目标用户f,我们排序与之相关的所有的F_score(f,g),选择分数最高的N个followee g进行推荐。

作为优选,所述的UIS-LDA主题模型可以通过以下方法获得:

(1)UIS-LDA主题模型描述:把社交网络中每一个followee即被关注者g看作UIS-LDA主题模型中一个词,每一个follower即关注者f看作模型中一篇文档df,文档中包含这个follower>文档库D包含所有文档,|D|为文档个数。预先定义好需要提取的K个用户主题,这些主题被分成Kin个兴趣主题和Kso个社交主题;超参数αso为θso上的狄利克雷先验;超参数αin为θin上的狄利克雷先验;超参数βso上的狄利克雷先验;超参数βin上的狄利克雷先验;超参数∈为η上的贝塔先验;其中,超参数αsoininso和∈为给定值;θinso,和η则是需要通过模型训练获取的变量;

(2)UIS-LDA主题模型训练过程将采用生成的玻利维亚罐模型(Generative PólyaUrn,GPU)以及吉布斯采样方法(Gibbs sampling)来进行变量推断。在GPU模型中,罐子中包含各种颜色的球,当一个球被抓取的时候,将一定数量具有相似颜色的球连同该球一起放回罐子中。类似的,我们把社交网络的一个用户看作一个球,与之有相互关注关系的其他用户看作和它具有相似的颜色。因此,在模型采样过程中,当一个用户在一个社交主题下出现,我们应用GPU模型,增大所有与之相互关注的其他用户在这个社交主题下出现的概率。而当一个用户在一个兴趣主题下出现,只会增大这个用户自己在这个兴趣出题下出现的概率。

本发明的目的也可以通过下述技术方案实现:基于用户兴趣和社交主题提取的社交网络用户推荐方法,包括以下步骤:获取社交网络中用户的“follower-followee”关系以及“mutual-following”关系信息;UIS-MF主题模型方法提取用户的社交主题和兴趣主题;在这些主题的基础上分别形成用户的社交社区和兴趣社区;将各个社区分别整理成矩阵形式,使用矩阵分解方法对各个社区矩阵进行分解以计算各用户对在各个社区矩阵的意愿关注分数,取各个用户对在所有社区的意愿关注分数的最大值为最终意愿关注分数,为目标用户排序其与其他用户的最终意愿关注分数,最终选取分数最高的TOP-N用户为推荐关注用户。

基于用户兴趣和社交主题提取的社交网络用户推荐方法,其提出的UIS-MF主题模型方法的描述和训练过程叙述如下:

(1)UIS-LDA主题模型方法的描述:把社交网络中每一个被关注者(followee)g看作UIS-LDA主题模型中一个词,每一个关注者(follower)f看作模型中一篇文档df,文档中包含这个follower>文档库D包含所有文档,|D|为文档个数。预先定义好需要提取的K个用户主题,这些主题被分成Kin个兴趣主题和Kso个社交主题。贝努力变量o作为选择开关来指示每一篇文档的每一个followee是从一个社交主题中生成(当o=0)或者是从一个兴趣主题中生成(当o=1)。θso表示文档在Kso个社交主题上的分布;θin表示文档在Kin个兴趣主题上的分布;η表示文档在o上的分布;表示社交主题在所有followee上的分布;表示兴趣主题在所有followee上的分布;超参数αso为θso上的狄利克雷先验;超参数αin为θin上的狄利克雷先验;超参数βso上的狄利克雷先验;超参数βin上的狄利克雷先验;超参数∈为η上的贝塔先验。其中,超参数αsoininso和∈为给定值;θinso,和η则是需要通过模型训练获取的变量。

(2)UIS-LDA主题模型训练过程采用生成的玻利维亚罐模型(Generative PólyaUrn,GPU)以及吉布斯采样方法(Gibbs sampling)来进行变量推断。在GPU模型中,罐子中包含各种颜色的球,当一个球被抓取的时候,将一定数量具有相似颜色的球连同该球一起放回罐子中。类似的,我们把社交网络的一个用户看作一个球,与之有相互关注关系的其他用户看作和它具有相似的颜色。因此,在模型采样过程中,当一个用户在一个社交主题下出现,我们应用GPU模型,增大所有与之相互关注的其他用户在这个社交主题下出现的概率。而当一个用户在一个兴趣主题下出现,只会增大这个用户自己在这个兴趣出题下出现的概率。

基于用户兴趣和社交主题提取的社交网络用户推荐方法,其兴趣社区的形成方法和社交社区的形成方法叙述如下:

(1)兴趣社区的形成方法:

对于每一个兴趣主题z∈Zin,对应生成一个兴趣社区c∈Cin,该兴趣社区包含的关注者(follower)和被关注者(followee)分别用c.F和c.G表示如下。

c.F={f|f∈F∧Pr'(z|df)≥γ},

c.G={g|g∈G∧Pr'(z|dg)≥ζ},

其中,F是所有follower的集合,G是所有followee的集合,f∈F表示f是集合F中的一个follower,g∈G表示g是集合G中的一个followee,γ,ζ是定义好的阈值,文档df包含某个follower>g包含关注某个followee>f)≥γ表示文档df条件下属于某个兴趣主题z的发生概率大于等于阈值γ,Pr'(z|dg)≥ζ表示文档dg条件下属于某个兴趣主题z的发生概率大于等于阈值ζ,符号“∧”表示左右两边集合的合取运算,c.F={f|f∈F∧Pr'(z|df)≥γ}表示一个兴趣社区的关注者(follower)集合,即c.F由满足f∈F∧Pr'(z|df)≥γ条件的所有follower>g)≥ζ}表示一个兴趣社区的被关注者(followee)集合,即c.G由满足g∈G∧Pr'(z|dg)条件的所有followee>f),Pr'(z|dg)分别用如下公式获得:

>Pr(z|df)=Pr(z|df)ΣzZPr(z|df),>

>Pr(z|dg)=ΣfdgPr(z|df)ΣzZinΣfdgPr(z|df),>

其中,Pr(z|df)表示文档df条件下属于某个兴趣主题z的发生概率,表示对所有z'的Pr(z'|df)取和,这里z'∈Z,Z为所有兴趣主题和社区主题组成的集合。表示将所有属于文档dg的follower>表示先选定某个z'∈Zin,求和类似依次对各个z'∈Zin进行求和,Zin是兴趣主题的集合。

(2)社交社区的形成方法:

对于每一个社交主题z∈Zso,对应生成一个社交社区c∈Cso,该社交社区包含的follower和followee分别用c.F和c.G表示如下。

c.F={f|f∈F∧Pr'(z|df)≥γ},

c.G={g|g∈G∧Pr'(z|dg)≥ζ},

其中,F是所有follower的集合,G是所有followee的集合,f∈F表示f是集合F中的一个follower,g∈G表示g是集合G中的一个followee,γ,ζ是定义好的阈值,文档df包含某个follower>g包含关注某个followee>f)≥γ表示文档df条件下属于某个社交主题z的发生概率大于等于阈值γ,Pr'(z|dg)≥ζ表示文档dg条件下属于某个社交主题z的发生概率大于等于阈值ζ,符号“∧”表示左右两边集合的合取运算,c.F={f|f∈F∧Pr'(z|df)≥γ}表示一个社交社区的关注者(follower)集合,即c.F由满足f∈F∧Pr'(z|df)≥γ条件的所有follower>g)≥ζ}表示一个社交社区的被关注者(followee)集合,即c.G由满足g∈G∧Pr'(z|dg)条件的所有followee>f),Pr'(z|dg)分别用如下公式获得:

>Pr(z|df)=Pr(z|df)ΣzZPr(z|df),>

>Pr(z|dg)=ΣfdgPr(z|df)ΣzZsoΣfdgPr(z|df),>

其中,Pr(z|df)表示文档df条件下属于某个社交主题z的发生概率,表示对所有z'的Pr(z'|df)取和,这里z'∈Z,Z为所有兴趣主题和社区主题组成的集合。表示将所有属于文档dg的follower>f)求和。表示先选定某个z'∈Zso,求和类似依次对各个z'∈Zso进行求和,Zso是社交主题的集合。

由此,我们得到用户的Kin个兴趣社区和Kso个社交社区。

基于用户兴趣和社交主题提取的社交网络用户推荐方法,其兴趣矩阵和社交矩阵的整理方法叙述如下:

对于每一个社区c∈CinUCso,把它整理成一个|c.F|×|c.G|矩阵Mc。Mc中的每一个元素用pfg表示,pfg取值如下:

其中,f∈c.F表示f是集合c.F中的一个follower,g∈c.G表示g是集合c.G中的一个followee.c.F为社区c的关注者(follower)集合,c.G为社区c的被关注者(followee)集合。

基于用户兴趣和社交主题提取的社交网络用户推荐方法,对每一个Mc执行IF-MF矩阵分解算法,根据下式得到各个矩阵Mc中的follower>

C_score(f,g,c)=xf*yg

这里,“*”号表示左右两边向量的内积,向量xf∈X|c.F|×L,向量yg∈YL×|c.G|。其中X|c.F|×L和YL×|c.G|为Mc矩阵通过矩阵分解方法得到的两个潜在矩阵,L为预先设定好的潜在空间数量,|c.F|为集合c.F的大小,|c.G|为集合c.G的大小。

按照如下公式对各个矩阵Mc相应的C_score(f,g,c)值取最大值,得到各个用户对之间的最终意愿关注分数F_score(f,g)。

>F_score(f,g)=Maximum(C_score(f,g,c)cC),>

其中,Maximum()为取最大值函数,表示对每一个社区c计算其相应的C_score(f,g,c)值。

对于每一个目标用户f,我们排序与之相关的所有的F_score(f,g),选择分数最高的N个用户g进行推荐。

本发明的基于用户兴趣和社交主题提取的社交网络用户推荐方法,也可以包括以下步骤:获取社交网络中用户的“follower-followee”关系以及“mutual-following”关系信息;UIS-MF主题模型方法提取用户的社交主题和兴趣主题;在这些主题的基础上分别形成用户的社交社区和兴趣社区;将各个社区分别整理成矩阵形式,使用矩阵分解方法对各个社区矩阵进行分解以计算各用户对在各个社区矩阵的意愿关注分数,取各个用户对在所有社区的意愿关注分数的最大值为最终意愿关注分数,为目标用户排序其与其他用户的最终意愿关注分数,最终选取分数最高的TOP-N用户为推荐关注用户。

本发明相对于现有技术具有如下的优点及效果:

1、以独创的UIS-LDA主题模型为基础,该模型同时对用户间的“follower-follower”关系和“mutual-following”关系进行建模,用以提取用户两种类型的主题:社交主题和兴趣主题。相比现有技术,在无须增加用户关注关系之外信息的基础上,充分利用“follower-follower”关系和“mutual-following”关系,提取出质量更高的用户主题,从而得到更准确的社交网络用户推荐结果。

2、现有主题模型无法准确地描述用户之间不同强弱的关系,譬如,现有方法同等对待有“mutual-following”关系的用户和无“mutual-following”关系的用户。UIS-LDA模型提出在采样过程中应用GPU方法来加重“mutual-following”用户同时出现在某个社区概率的做法,很好地解决了现有主题模型的这个问题,同时也为类似问题的解决提供参考借鉴。

3、本发明将用户的兴趣主题和社交主题一一生成相应的兴趣社区和社交社区,由于各个社区相互独立,因而可采用并行计算的方法来执行矩阵分解算法,从而降低时间复杂度,获得更高的执行效率。

附图说明

图1是UIS-LDA模型方法盘子(Plate Notation)图。

具体实施方式

下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。

实施例

如图1所示,一种基于用户兴趣和社交主题提取的社交网络用户推荐方法,包括以下步骤:

步骤一:获取Twitter用户间的“follower-followee”关系,并在这些“follower-followee”关系上进一步获取用户间的“mutual-following”关系。将目标用户,需要提取的用户兴趣主题个数Kin和需要提取的用户社交主题个数Kso输入UIS-LDA主题模型,通过该模型聚类出Kin个兴趣主题和Kso个社交主题,并输出参数θin,θso,η,

步骤二:对于每一个兴趣主题z∈Zin,对应生成一个兴趣社区c∈Cin,该兴趣社区包含的关注者(follower)和被关注者(followee)分别用c.F和c.G表示如下。

c.F={f|f∈F∧Pr'(z|df)≥γ},

c.G={g|g∈G∧Pr'(z|dg)≥ζ},

其中,F是所有follower的集合,G是所有followee的集合,f∈F表示f是集合F中的一个follower,g∈G表示g是集合G中的一个followee,γ,ζ是定义好的阈值,文档df包含某个follower>g包含关注某个followee>f)≥γ表示文档df条件下属于某个兴趣主题z的发生概率大于等于阈值γ,Pr'(z|dg)≥ζ表示文档dg条件下属于某个兴趣主题z的发生概率大于等于阈值ζ,符号“∧”表示左右两边集合的合取运算,c.F={f|f∈F∧Pr'(z|df)≥γ}表示一个兴趣社区的关注者(follower)集合,即c.F由满足f∈F∧Pr'(z|df)≥γ条件的所有follower>g)≥ζ}表示一个兴趣社区的被关注者(followee)集合,即c.G由满足g∈G∧Pr'(z|dg)条件的所有followee>f),Pr'(z|dg)分别用如下公式获得:

>Pr(z|df)=Pr(z|df)ΣzZPr(z|df),>

>Pr(z|dg)=ΣfdgPr(z|df)ΣzZinΣfdgPr(z|df),>

其中,Pr(z|df)表示文档df条件下属于某个兴趣主题z的发生概率,表示对所有z'的Pr(z'|df)取和,这里z'∈Z,Z为所有兴趣主题和社区主题组成的集合。表示将所有属于文档dg的follower>f)求和。表示先选定某个z'∈Zin,求和类似依次对各个z'∈Zin进行求和,Zin是兴趣主题的集合。

对于每一个社交主题z∈Zso,对应生成一个社交社区c∈Cso,该社交社区包含的follower和followee分别用c.F和c.G表示如下。

c.F={f|f∈F∧Pr'(z|df)≥γ},

c.G={g|g∈G∧Pr'(z|dg)≥ζ},

其中,F是所有follower的集合,G是所有followee的集合,f∈F表示f是集合F中的一个follower,g∈G表示g是集合G中的一个followee,γ,ζ是定义好的阈值,文档df包含某个follower>g包含关注某个followee>f)≥γ表示文档df条件下属于某个社交主题z的发生概率大于等于阈值γ,Pr'(z|dg)≥ζ表示文档dg条件下属于某个社交主题z的发生概率大于等于阈值ζ,符号“∧”表示左右两边集合的合取运算,c.F={f|f∈F∧Pr'(z|df)≥γ}表示一个社交社区的关注者(follower)集合,即c.F由满足f∈F∧Pr'(z|df)≥γ条件的所有follower>g)≥ζ}表示一个社交社区的被关注者(followee)集合,即c.G由满足g∈G∧Pr'(z|dg)条件的所有followee>f),Pr'(z|dg)分别用如下公式获得:

>Pr(z|df)=Pr(z|df)ΣzZPr(z|df),>

>Pr(z|dg)=ΣfdgPr(z|df)ΣzZsoΣfdgPr(z|df),>

其中,Pr(z|df)表示文档df条件下属于某个社交主题z的发生概率,表示对所有z'的Pr(z'|df)取和,这里z'∈Z,Z为所有兴趣主题和社区主题组成的集合。表示将所有属于文档dg的follower>f)求和。表示先选定某个z'∈Zso,求和类似依次对各个z'∈Zso进行求和,Zso是社交主题的集合。

由此,我们得到用户的Kin个兴趣社区和Kso个社交社区。

步骤三:对于每一个社区c∈CinUCso,把它整理成一个|c.F|×|c.G|矩阵Mc。Mc中的每一个元素用pfg表示,pfg取值如下:

其中,f∈c.F表示f是集合c.F中的一个follower,g∈c.G表示g是集合c.G中的一个followee.c.F为社区c的关注者(follower)集合,c.G为社区c的被关注者(followee)集合。

对每一个Mc执行矩阵分解算法,根据下式得到各个矩阵Mc中的follower>

C_score(f,g,c)=xf*yg

这里,“*”号表示左右两边向量的内积,向量xf∈X|c.F|×L,向量yg∈YL×|c.G|。其中X|c.F|×L和YL×|c.G|为Mc矩阵通过矩阵分解方法得到的两个潜在矩阵,L为预先设定好的潜在空间数量,|c.F|为集合c.F的大小,|c.G|为集合c.G的大小。

步骤四:按照如下公式对各个矩阵Mc相应的C_score(f,g,c)值取最大值,得到各个用户对之间的最终意愿关注分数F_score(f,g)。

>F_score(f,g)=Maximum(C_score(f,g,c)cC),>

其中,其中,Maximum()为取最大值函数,表示对每一个社区c计算其相应的C_score(f,g,c)值。

步骤五:对于每一个目标用户f,我们排序与之相关的所有的F_score(f,g),选择分数最高的N个followee g进行推荐。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号