CN112800345B - 一种社区角色感知的用户需求主动预测方法及系统 - Google Patents
一种社区角色感知的用户需求主动预测方法及系统 Download PDFInfo
- Publication number
- CN112800345B CN112800345B CN202110171341.5A CN202110171341A CN112800345B CN 112800345 B CN112800345 B CN 112800345B CN 202110171341 A CN202110171341 A CN 202110171341A CN 112800345 B CN112800345 B CN 112800345B
- Authority
- CN
- China
- Prior art keywords
- user
- node
- community
- item
- users
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 238000012216 screening Methods 0.000 claims abstract description 14
- 238000005259 measurement Methods 0.000 claims abstract description 4
- 238000004364 calculation method Methods 0.000 claims description 13
- 238000005065 mining Methods 0.000 claims description 8
- 238000011156 evaluation Methods 0.000 claims description 4
- 238000005457 optimization Methods 0.000 claims description 4
- 239000000126 substance Substances 0.000 claims description 4
- 238000010276 construction Methods 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 238000006386 neutralization reaction Methods 0.000 claims description 3
- 230000004927 fusion Effects 0.000 claims description 2
- 230000008447 perception Effects 0.000 abstract description 5
- 238000001914 filtration Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000009792 diffusion process Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013277 forecasting method Methods 0.000 description 2
- 238000012614 Monte-Carlo sampling Methods 0.000 description 1
- 241001122767 Theaceae Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9536—Search customisation based on social or collaborative filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Primary Health Care (AREA)
- Marketing (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Health & Medical Sciences (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种社区角色感知的用户需求主动预测方法和系统,采用局部社区发现算法从社交网络中挖掘目标用户集Us中的每个用户所在的局部社区Ci,所有用户所在的社区的并集记为融合对应的社交网络子图和多个用户评分数据,得到一个异质信息网络;通过度量社区Ci中的用户与目标用户i在局部结构上的差异,寻找与用户i有相似角色的用户,并计算这些用户与用户i的角色相似程度;利用与用户有相似角色的用户的评分信息,对用户从两个角度进行预测:对各个项的需求程度和评分值,筛选出需求程度和评分值都高的项,并将这些项推荐给用户。本发明的优点在于:结合用户的社交信息和评分数据,为缺乏历史行为数据而无法捕捉到实际需求的用户提供了一种需求的主动预测方法。
Description
技术领域
本发明涉及一种预测方法,特别是社区角色感知的用户需求主动预测方法及系统。
背景技术
随着信息技术和互联网的发展,能否准确、快速、主动的预测用户需求,已成为服务商实现商业收益最大化的关键。在对用户的需求预测这一方面,协同过滤是常用的推荐技术,它能有效地解决信息过载问题,帮助用户迅速找到有价值的信息,过滤无用信息。其基本思想是:依据用户的购买记录、评分记录、浏览记录以及标注等,推荐给用户所需要的信息或者预测用户对项目的兴趣偏好,以实现推荐结果的个性化。
传统的基于协同过滤推荐方法的挑战在于衡量用户与用户之间的相似性。比如,利用用户的共同历史信息来衡量用户之间的相似性,如申请号为201710217727.9的专利申请公开了一种基于用户偏好的协同过滤推荐方法,包括下述步骤:依据阈值p将用户分为偏好高评用户和偏好低评用户;利用NHSM相似性度量方法计算任意二位用户之间的相似度,获得用户间的相似矩阵;设目标用户Ua,其同偏好用户群体为s,不同偏好群体为d,计算目标用户Ua与其他用户Ub的相似度;计算用户间新的相似矩阵Newsim:预测目标用户在未评分项目上的评分。该发明相比现有技术具有以下优点:构建一种基于用户偏好的协同过滤推荐模型,减少了预测结果的偶然性。其实验结果表明,与其他推荐方法相比,该发明的推荐方法能够更加精确地度量用户间的相似度,提高推荐质量。
但是当用户的历史信息很少时,寻找相似用户则十分困难。即,基于协同过滤的推荐方法虽然取得了良好的推荐效果,但是对于有很少的历史评分数据或者没有历史评分数据的用户,需求预测效果并不理想。
为了提升推荐的效果,学者们提出了融合社交网络信息的预测方法。
如申请号为202010027217.7的专利申请公开了一种基于社交网络信息扩散感知的推荐方法,首先获取社交平台用户数据集,创建初始用户社交关系网络图;在此基础上创建社交关系网络概率图,通过概率函数计算每个用户转发消息的边概率值,通过蒙特卡罗抽样获取用户以高概率转发消息的依赖节点集,计算用户整体兴趣度,构建社交网络扩散模型;创建社交关系网络领域图,确保同一消息不会同时推荐给相关性高的用户;通过经典贪婪算法找到用户独立集合,构建启发式感知推荐算法,优化用户消息推荐列表;计算用户总体参与度,评价推荐质量。该发明的推荐方法能够提高用户与社交平台的参与度、参与用户的分布范围,优化推荐质量,解决网络资源利用有限的难题。该专利申请提出的推荐方法是利用社交信息来提高用户与社交平台的参与度和参与用户的分布范围,并没有提出如何解决用户历史数据缺乏的情况下用户需求的预测问题。
如申请号为201811174475.7的专利申请公开了一种融合社交信息的个性化推荐方法,该发明根据用户-项目评分矩阵,计算用户之间的评分相似度,筛选评分最近邻居集;然后根据评分最近邻居集,计算出目标用户对项目的预测评分;根据用户社交网络信息,计算用户之间的社交相似度,筛选社交最近邻居集;根据社交最近邻居集,计算出目标用户对项目的预测评分;对两者进行融合,预测目标用户对项目的评分值,并降序排列,把预测评分最高的K个项目推荐给目标用户,生成推荐列表。该专利申请利用社交网络上用户的微博内容、社交关系和社交活动来计算用户之间的社交相似度,利用社交网络(如微博)的发布内容计算用户微博内容相似度,这在一定程度上能提升推荐的精准度。但是,上述方法需要收集大量的社交信息,增加了信息需求量;不仅如此,当社交网络数据只反映用户与用户之间的链接关系时,即在只知道用户社交关系的社交网络中,这种方法将不再适用。而且,该专利在计算某用户和其他用户的相似度时,为了找到最近邻居集,需要计算整个社交网络和评分数据中所有用户和该用户的相似度,当数据较为庞大时,这种方法的时间开销和空间开销是巨大的。
综上,现有的相关公开文献存在的问题如下:
1、现有一些研究仅仅根据用户历史评分数据来衡量用户之间的相似度,但是这类方法无法对历史评分数据缺乏的用户进行需求预测。大量实验证明,利用用户的社交信息能有效提升需求预测的效果。
2、一些现有的研究虽然将社区的概念引入到需求预测中,却仅仅分析社区内部成员的共同特征等方式对用户的需求进行预测,这忽略了社区内部成员之间的差异性,没有将社区的信息充分利用;而且这些研究通常使用全局社区发现算法寻找社区,这类算法在寻找社区时需要利用网络的全局信息,算法本身的时间和空间开销很大,计算成本高,不适用于实时的“线上”服务。
发明内容
本发明所要解决的技术问题在于提供一种社区角色感知的用户需求主动预测方法及系统,基于社区内部角色相似的用户有着相似的需求的特点,采用社区发现和相对熵寻找与目标用户有相似角色的用户,通过这些角色相似用户的历史数据对目标用户的需求进行预测。
本发明通过以下技术手段实现解决上述技术问题:一种社区角色感知的用户需求主动预测方法,包括下述步骤:
S3:通过度量社区Ci中的用户与目标用户i在局部网络结构上的差异,寻找与用户i有相似角色的用户,并计算这些用户与用户i的角色相似程度;
S4:利用与用户i有相似角色的用户的评分信息,对用户i从两个角度进行预测:1)用户i对项的需求程度,2)用户i对项的评分值,因为具有相似角色的用户一般有着相似的需求;
S5:利用S4中得到的用户i对各个项的需求程度和评分值,筛选出需求程度和评分值都高的项,并将这些项推荐给用户i,完成对用户需求的主动预测过程。
进一步的,所述步骤S1中,对于每个用户,先寻找与用户在同一个社区的核心节点,然后以核心节点和该用户为起始节点进行局部社区发现。
进一步的,所述步骤S1具体包括如下步骤:
S101:选取用户集Us中的用户i;
S102:在社交网络中寻找与i紧密相连的核心节点p作为局部社区发现算法的起始节点,方法如下:
①、计算i及其邻居节点的h-index值,节点i的h-index记为h-indexi;
若节点i:有h个邻居节点;每个邻居节点的度都大于等于h,则:h-indexi=h;
②、选择与i紧密相连的核心节点p,若节点i的邻居节点中不存在h-index值大于h-indexi的节点,则i作为核心节点p,否则,从节点i的邻居节点中筛选h-index值大于h-indexi的节点,再从中寻找与节点i共同邻居最多的节点作为核心节点p;
S103:初始化社区Ci为只包含起始节点p和节点i两个节点的社区,若节点i就是核心节点p,则将社区Ci初始化为只包含节点i的社区;
S104:将社区Ci的邻居节点加入Nb中,Nb是社区Ci的邻居节点的集合,社区Ci的邻居节点是指不属于社区Ci且和社区Ci内部节点有连边的节点;
S105:对于Nb中的每个节点u,通过公式(1)计算Ci∪{u}的局部模块度M,然后从邻居节点中选择能使社区Ci的模块度M增加最多的邻居节点vbest,
其中,EC(Ci)是社区Ci内部节点之间边的数量,Eout(Ci)是社区Ci内部节点和社区Ci邻居节点之间的边的数量,模块度M是衡量社区质量的指标,模块度越大,社区质量越好;
S106:若Ci∪{vbest}的M值大于社区Ci的M值,则将节点vbest加入社区Ci,并更新社区Ci的邻居节点集合Nb;
S107:重复S105,S106过程,直至不存在节点能使得社区Ci的局部模块度M增加,得到社区Ci;
进一步的,其中步骤S2中,异质信息网络中包含代表用户和项两类实体的节点,下文将代表用户和项的节点分别称为用户节点和项节点,具体步骤包括:
S201:将评分数据中用户对项的评分映射到区间[0,n]中,n为评分最高分;
S203:遍历一个评分数据集,构建异质信息网络,在评分数据中,用户u对项v有评分,若用户节点u在S中,则:1)为用户节点u和项节点v之间添加一条边,该边的权重代表用户u对项v评分的分值;2)若当前S中没有项节点v,则为项v创建一个项节点,并将该节点加入S;
S204:对每个评分数据执行S203,得到包含“用户”和“项”两种类型节点、“用户-项”和“用户-用户”两种类型边的异质信息网络G,其中,“用户-用户”是源于社交网络中用户与用户的边,是无权重的;“用户-项”表示用户对项进行了评分,权重是用户对该项的评分分值。
进一步的,其中步骤S3中,计算社区Ci内部节点与节点i的角色相似程度,寻找节点i的角色相似节点,在社区Ci中,从节点的局部结构和用户共同历史评价信息的角度寻找与目标用户有着相似角色的用户,具体步骤如下:
S301:对于社区中的每个用户节点,通过公式(2)计算用户节点的邻居度分布集P(i),以节点i为例:
其中,D(j)表示节点j在社区Ci中的邻居数目。N(i)是由节点i和节点i的用户邻居节点组成的节点列表;
P′(i)=[pi(1),pi(2),pi(3),...,pi(|N(i)|),0,...,0] (3)
其中,|N(i)|是N(i)中的节点个数;
S303:通过公式(4)计算节点i和节点j的局部结构差异程度:
rij=DKL(P′(i)||P′(j))+DKL(P′(j)||P′(i)) (4)
公式(4)中,DKL(P′(i)||P′(j))是通过公式(5)计算的P′(i)和P′(j)的相对熵,范围在0~1之间:
公式(5)中,m′=min(D(i),D(j))+1;
S304:由S303的计算结果得到节点i的相关性集合LR:
LR={ria,rib,ric,...|a,b,c...∈Ci} (6)
S305:由公式(7)计算节点i和社区Ci中的节点j的局部结构相似度Fij:
S306:对于社区Ci中的每个节点j,根据节点i和节点j共同评价过的项的数目对Fij进行调整得到角色相似度Sij:
其中,Nitem(i)是用户节点i的项邻居节点集合,|x|是x中的元素个数。Sij值越大,i和j的角色越相似;
S307:按照用户的Sij值对社区Ci中的用户节点进行降序排序,取前一半用户作为用户i的角色相似用户,记为相似用户集U。
进一步的,步骤S4中,利用i的相似用户集U中用户节点与项节点的连边信息,对于中的项节点zx,从两个角度展开主动预测:1)用户i和该项有连边的可能性;2)用户i和该项连边的权重,从第一个角度分析用户i对该项的需求程度,从第二个角度分析用户i对该项的可能的评分。
进一步的,以项zx为例进行计算,步骤S4具体包括:
S401:通过公式(9)计算用户i对zx的需求率Dr(i,zx):
S402:通过公式(10)计算用户i和项节点zx之间可能的连边权重,即预测评分rating(i,zx):
进一步的,步骤S5中,对步骤S4中得到的结果进行筛选得到帕累托最优解对应的项,并将这些项推荐给用户i。
进一步的,定义:帕累托最优解是多目标优化中的概念,本项目以S4中得到的需求率Dr和预测评分rating为目标;对于项节点zx和zy,i对zx和zy的需求率的预测评分通过S4被计算出,若Dr(i,zx)>Dr(i,zy),rating(i,zx)≥rating(i,zy)或者Dr(i,zx)≥Dr(i,zy),rating(i,zx)>rating(i,zyy),那么zx支配zy,zy被zx支配;
步骤S5具体包括:
S501:根据项节点之间的支配关系进行筛选,将步骤S4中的所有非支配解抽取出来,得到一组帕累托最优解;
S503:假设要给用户i推荐K个项,当帕累托最优解数量大于等于K时,推荐值较大的K个帕累托最优解对应的项;当帕累托最优解数量小于K时,在支配解中按照值由大到小来选择不足的个数填补,并将这些支配解对应的项连同帕累托最优解对应的项一并推荐给用户i从而完成对用户i需求的主动预测,其中,K是给用户i推荐的项的个数,它的取值由个人需求来决定。
本发明还提供了一种社区角色感知的用户需求主动预测系统,包括下述模块:
角色相似程度计算模块:用来寻找社区Ci中与目标用户i有相似角色的用户,并计算这些用户与用户i的角色相似程度;
用户预测模块:用来利用与用户i有相似角色的用户的评分信息,对用户i从两个角度进行预测:1)用户i对项的需求程度,2)用户i对项的评分值,因为具有相似角色的用户一般有着相似的需求;
主动推荐模块:利用用户预测模块中得到的用户i对各个项的需求程度和评分值,筛选出需求程度和评分值都高的项,并将这些项推荐给用户i,完成对用户需求的主动预测过程。
本发明的优点在于:结合用户的社交信息和评分数据,为缺乏历史行为数据而无法捕捉到实际需求的用户提供了一种需求的主动预测方法。
本发明与只利用用户的历史评分数据的需求预测方法相比:
1、它可以预测与用户历史行为信息关联性不大的需求,而只根据用户的历史行为信息进行需求预测的方法的对这类需求的预测过程会很艰难,如当某个用户的历史行为数据中只有“乒乓球”关键词时,通常很难推断他是否对“龙井茶”也感兴趣,而结合社交信息的预测方法可以根据他经常活动的圈子内的其他用户的感兴趣的项目情况从而对该用户的潜在兴趣进行预测。
2、它可以对历史评分数据少的用户需求进行预测,即使某用户的历史评分数据为空,结合用户的社交信息和历史评分数据对用户的需求进行主动预测的方法仅仅利用该用户的社交信息也能对该用户的需求有一定的预测能力。
本发明与结合社交信息的需求方法相比:
1、它从一种新的角度,即从用户角色的角度预测用户的需求,通常在一个社区内,角色越相似的用户需求越相似,于是本发明通过衡量社交网络中的社区内部用户节点及其邻居的局部度分布的差异性结合用户历史评分数据来计算用户之间的角色相似度,这种利用用户的角色相似性对用户需求进行预测使用一种创新性的度量用户相似度的方法能有效提升需求预测的准确度。
2、它采用的社区发现算法是局部算法,社区通过局部社区发现算法得到,这种算法的实现由于只需要社交网络中用户的局部信息,所以能大大节省时间和空间开销节约计算成本,从而提升推荐效率使其能适用于“在线”服务的情境。
此外,相对于申请号为201811174475.7的专利来说,本发明的方法只需要利用社交网络中用户之间的链接关系即可,更具有普适性。且本发明的方法可以在大规模社交网络上进行局部社区发现,并精准地选择出需要计算相似度的用户集,因此在某些“在线”服务的情境下也同样适用。
附图说明
图1是本发明实施例提供的一种社区角色感知的用户需求主动预测方法的流程图。
图2是本发明实施例中步骤2中所述的社交网络和评分数据融合示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1所示,本发明实施例提供的一种社区角色感知的用户需求主动预测方法用来结合用户的社交信息和历史评分数据,对用户的需求进行主动预测。
输入:一个社交网络,多种评分数据,若干社交网络中的目标用户。
输出:目标用户的潜在需求。
本发明一种社区角色感知的用户需求主动预测方法包括下述步骤:
S1:采用局部社区发现算法从社交网络中挖掘目标用户集Us中的每个用户i所在的局部社区Ci,所有用户所在的社区的并集记为采用局部社区发现算法搜索社区,即从某一个节点出发,寻找该节点的局部社区,只需要局部的网络信息,因此社区发现的时间开销和空间开销小,速度快,可适用于在线社区搜索的情境;
S3:通过度量社区Ci中的用户与目标用户i在局部结构上的差异,寻找与用户i有相似角色的用户,并计算这些用户与用户i的角色相似程度;
S4:利用与用户i有相似角色的用户的评分信息,对用户i从两个角度进行预测:1)用户i对项的需求程度,2)用户i对项的评分值,因为具有相似角色的用户一般有着相似的需求;
S5:利用S4中得到的用户i对各个项的需求程度和评分值,筛选出需求程度和评分值都高的项,并将这些项推荐给用户i,完成对用户需求的主动预测过程。
其中,所述步骤S1中,一般情况下,相比于以边界节点为起始节点进行局部社区发现得到的社区,以核心节点为起始节点得到的社区更加准确。因此,对于每个用户,先寻找与用户在同一个社区的核心节点,然后以核心节点和该用户为起始节点进行局部社区发现。
具体步骤如下:
S101:选取用户集Us中的用户i;
S102:在社交网络中寻找与i紧密相连的核心节点p作为局部社区发现算法的起始节点,方法如下:
①、计算i及其邻居节点的h-index值,节点i的h-index记为h-indexi;
若节点i:有h个邻居节点;每个邻居节点的度都大于等于h,则:h-indexi=h;
②、选择与i紧密相连的核心节点p,若节点i的邻居节点中不存在h-index值大于h-indexi的节点,则i作为核心节点p,否则,从节点i的邻居节点中筛选h-index值大于h-indexi的节点,再从中寻找与节点i共同邻居最多的节点作为核心节点p,该步骤中,将论文影响因子h-index的概念引入到局部社区发现算法中,用来作为节点在社区内重要程度的衡量指标,从而寻找核心节点,来提升得到的局部社区的社区质量。高质量的社区能更准确的反映真实的社区组成;
S103:初始化社区Ci为只包含起始节点p和节点i两个节点的社区,若节点i就是核心节点p,则将社区Ci初始化为只包含节点i的社区;
S104:将社区Ci的邻居节点加入Nb中,Nb是社区Ci的邻居节点的集合,社区Ci的邻居节点是指不属于社区Ci且和社区Ci内部节点有连边的节点;
S105:对于Nb中的每个节点u,通过公式(1)计算Ci∪{u}的局部模块度M,即节点u加入社区Ci后的M值,然后从邻居节点中选择能使社区Ci的模块度M增加最多的邻居节点vbest,
其中,EC(Ci)是社区Ci内部节点之间边的数量,Eout(Ci)是社区Ci内部节点和社区Ci邻居节点之间的边的数量,模块度M是衡量社区质量的指标,模块度越大,社区质量越好;
S106:若Ci∪{vbest}的M值大于社区Ci的M值,则将节点vbest加入社区Ci,并更新社区Ci的邻居节点集合Nb;
S107:重复S105,S106过程,直至不存在节点能使得社区Ci的局部模块度M增加,得到社区Ci;
其中步骤S2中,
异质信息网络中包含代表用户和项两类实体的节点,为了区分它们,下文将代表用户和项的节点分别称为用户节点和项节点,具体步骤包括:
S201:将评分数据中用户对项的评分映射到区间[0,5]中;
S203:遍历一个评分数据集,构建异质信息网络,在评分数据中,用户u对项v有评分,若用户节点u在S中,则:1)为用户节点u和项节点v之间添加一条边,该边的权重代表用户u对项v评分的分值;2)若当前S中没有项节点v,则为项v创建一个项节点,并将该节点加入S;
S204:对每个评分数据执行S203,得到包含“用户”和“项”两种类型节点、“用户-项”和“用户-用户”两种类型边的异质信息网络G,其中,“用户-用户”是源于社交网络中用户与用户的边,是无权重的;“用户-项”表示用户对项进行了评分,权重是用户对该项的评分分值。
例:如图2是一个社交网络和评分数据融合形成异质信息网络的过程,社交网络中有A,B,C,D,E,F,G,H八个用户,评分数据中有社交网络中的部分用户对电影产品(z0,z1)和商品(z2,z3)的评分信息。构建异质信息网络:先遍历电影评分数据集,A用户对电影z0的评分为1,A用户在社交网络中,但由于此时社交网络中没有项节点“z0”,因此需要在网络中创建项节点“z0”,然后在用户节点A和项节点“z0”之间添加一条无向边,边的权值是A用户对电影z0的评分值1;F用户对电影z0的评分为1,B用户在社交网络中,此时社交网络中已有项节点“z0”,于是在用户节点F和项节点“z0”之间添加一条权值为1的无向边;再访问下一行评分数据,D用户对电影z1的评分为3,D在社交网络中,当前网络中无项节点“z1”,创建项节点“z1”并在用户节点D和项节点“z1”之间添加一条权值为3的无向边;继续访问下一行评分数据……当电影评分数据遍历完成时,遍历商品评分数据,此后步骤与上述“添边加点”的步骤相同,当商品评分数据也遍历完成时,则得到一个异质信息网络,至此,完成了社交网络和评分数据融合的过程。需要注意的是:当社交网络中不存在评分数据中的某用户时,我们会放弃该用户的评分数据,访问下一行评分数据,如:当评分数据中有I用户的评分数据时,由于社交网络中没有I用户节点,我们会跳过该节点,而不会在网络中创建用户节点I。
其中步骤S3中,计算社区Ci内部节点与节点i的角色相似程度,寻找节点i的角色相似节点,在社区Ci中,从节点的局部结构和用户共同历史评价信息的角度寻找与目标用户有着相似角色的用户,具体步骤如下:
S301:对于社区中的每个用户节点,通过公式(2)计算用户节点的邻居度分布集P(i)(以节点i为例):
其中,D(j)表示节点j在社区Ci中的邻居数目。N(i)是由节点i和节点i的用户邻居节点组成的节点列表;
P′(i)=[pi(1),pi(2),pi(3),...,pi(|N(i)|),0,...,0] (3)
其中,|N(i)|是N(i)中的节点个数;
S303:通过公式(4)计算节点i和节点j的局部结构差异程度:
rij=DKL(P′(i)||P′(j))+DKL(P′(j)||P′(i)) (4)
公式(4)中,DKL(P′(i)||P′(j))是通过公式(5)计算的P′(i)和P′(j)的相对熵,范围在0~1之间:
公式(5)中,m′=min(D(i),D(j))+1;
S304:由S303的计算结果得到节点i的相关性集合LR:
LR={ria,rib,ric,...|a,b,c...∈Ci} (6)
S305:由公式(7)计算节点i和社区Ci中的节点j的局部结构相似度Fij:
S306:对于社区Ci中的每个节点j,根据节点i和节点j共同评价过的项的数目对Fij进行调整得到角色相似度Sij:
其中,Nitem(i)是用户节点i的项邻居节点集合,|x|是x中的元素个数。Sij值越大,i和j的角色越相似;
S307:按照用户的Sij值对将社区Ci中的用户节点进行降序排序,取前一半用户作为用户i的角色相似用户,记为相似用户集U。
步骤S3中创新性地根据社区内部用户的角色差异来衡量用户之间的相似关系,从而对用户需求进行预测。通常角色越相似的用户需求越相似,利用用户的角色相似性结合协同过滤的思想则能进一步地提升需求预测的准确率。
其中,步骤S4中,利用i的相似用户集U中用户节点与项节点的连边信息,对于中的项节点zx,从两个角度展开主动预测:1)用户i和该项有连边的可能性;2)用户i和该项连边的权重,从第一个角度分析用户i对该项的需求程度,从第二个角度分析用户i对该项的可能的评分。
以项zx为例进行计算:
S401:通过公式(9)计算用户i对zx的需求率Dr(i,zx):
S402:通过公式(10)计算用户i和项节点zx之间可能的连边权重,即预测评分rating(i,zx)
其中步骤S5中,对步骤S4中得到的结果进行筛选得到帕累托最优解对应的项,并将这些项推荐给用户i。
名词解释:
帕累托最优解是多目标优化中的概念,本项目以S4中得到的需求率Dr和预测评分rating为目标。
支配关系与被支配关系:对于项节点zx和zy,i对zx和zy的需求率的预测评分通过S4被计算出,若Dr(i,zx)>Dr(i,zy),rating(i,zx)≥rating(i,zy)或者Dr(i,zx)≥Dr(i,zy),rating(i,zx)>rating(i,zy),那么zx支配zy,zy被zx支配。
帕累托最优解(非支配解):当一个项节点zm不能被其它任何项节点支配时,则zm是帕累托最优解,帕累托最优解可能存在很多个。
具体步骤如下:
S501:根据项节点之间的支配关系进行筛选,将步骤S4中的所有非支配解抽取出来,得到一组帕累托最优解;
S503:假设要给用户i推荐K个项,当帕累托最优解数量大于等于K时,推荐值较大的K个帕累托最优解对应的项;当帕累托最优解数量小于K时,在支配解中按照值由大到小来选择不足的个数填补,并将这些支配解对应的项连同帕累托最优解对应的项一并推荐给用户i从而完成对用户i需求的主动预测,其中,K是给用户i推荐的项的个数,它的取值由个人需求来决定。
步骤S4、S5中将用户对“项”的需求率和评分值两方面进行预测,并使用帕累托优化筛选出需求率和评分值都高的帕累托最优解,再推荐“帕累托最优解”供用户选择,多方面考虑从而提高需求预测的灵活度,在一定程度上也提升了需求预测的准确率。传统的推荐会通过单一的指标实现TOP-N推荐,但是当用户的需求并不由某一单一指标决定时,单指标的推荐则会显得十分机械,相比之下,多指标型的推荐预测方法就会更加人性化和个性化。
对应上述一种社区角色感知的用户需求主动预测方法,本发明还提供了一种社区角色感知的用户需求主动预测系统,包括下述模块:
角色相似程度计算模块:用来通过度量社区Ci中的用户与目标用户i在局部结构上的差异,寻找与用户i有相似角色的用户,并计算这些用户与用户i的角色相似程度;
用户预测模块:用来利用与用户i有相似角色的用户的评分信息,对用户i从两个角度进行预测:1)用户i对项的需求程度,2)用户i对项的评分值,因为具有相似角色的用户一般有着相似的需求;
主动推荐模块:利用用户预测模块中得到的用户i对各个项的需求程度和评分值,筛选出需求程度和评分值都高的项,并将这些项推荐给用户i,完成对用户需求的主动预测过程。
其中每个模块执行的具体的操作的流程同上述社区角色感知的用户需求主动预测方法的具体步骤的流程。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种社区角色感知的用户需求主动预测方法,其特征在于:包括下述步骤:
S3:通过度量社区Ci中的用户与目标用户i在局部结构上的差异,寻找与用户i有相似角色的用户,并计算这些用户与用户i的角色相似程度;
S4:利用与用户i有相似角色的用户的评分信息,对用户i从两个角度进行预测:1)用户i对项的需求程度,2)用户i对项的评分值,因为具有相似角色的用户有着相似的需求;
S5:利用S4中得到的用户i对各个项的需求程度和评分值,筛选出需求程度和评分值都高的项,并将这些项推荐给用户i,完成对用户需求的主动预测过程;
其中步骤S3中,计算社区Ci内部节点与节点i的角色相似程度,寻找节点i的角色相似节点,在社区Ci中,从节点的局部结构和用户共同历史评价信息的角度寻找与目标用户有着相似角色的用户,具体步骤如下:
S301:对于社区中的每个用户节点,通过公式(2)计算用户节点的邻居度分布集P(i),以节点i为例:
其中,D(j)表示节点j在社区Ci中的邻居数目,N(i)是由节点i和节点i的用户邻居节点组成的节点列表;
P′(i)=[pi(1),pi(2),pi(3),...,pi(|N(i)|),0,...,0] (3)
其中,|N(i)|是N(i)中的节点个数;
S303:通过公式(4)计算节点i和节点j的局部结构差异程度:
rij=DKL(P′(i)||P′(j))+DKL(P′(j)||P′(i)) (4)
公式(4)中,DKL(P′(i)||P′(j))是通过公式(5)计算的P′(i)和P′(j)的相对熵,范围在0~1之间:
公式(5)中,m′=min(D(i),D(j))+1;
S304:由S303的计算结果得到节点i的相关性集合LR:
LR={ria,rib,ric,...|a,b,c...∈Ci} (6)
S305:由公式(7)计算节点i和社区Ci中的节点j的局部结构相似度Fij:
S306:对于社区Ci中的每个节点j,根据节点i和节点j共同评价过的项的数目对Fij进行调整得到角色相似度Sij:
其中,Nitem(i)是用户节点i的项邻居节点集合,|x|是x中的元素个数,Sij值越大,i和j的角色越相似;
S307:按照用户的Sij值对将社区Ci中的用户节点进行降序排序,取前一半用户作为用户i的角色相似用户,记为相似用户集U。
2.根据权利要求1所述的一种社区角色感知的用户需求主动预测方法,其特征在于:所述步骤S1中,对于每个用户,先寻找与用户在同一个社区的核心节点,然后以核心节点和该用户为起始节点进行局部社区发现。
3.根据权利要求2所述的一种社区角色感知的用户需求主动预测方法,其特征在于:所述步骤S1具体包括如下步骤:
S101:选取用户集Us中的用户i;
S102:在社交网络中寻找与i紧密相连的核心节点p作为局部社区发现算法的起始节点,方法如下:
①、计算i及其邻居节点的h-index值,节点i的h-index记为h-indexi;
若节点i:有h个邻居节点;每个邻居节点的度都大于等于h,则:h-indexi=h;
②、选择与i紧密相连的核心节点p,若节点i的邻居节点中不存在h-index值大于h-indexi的节点,则i作为核心节点p,否则,从节点i的邻居节点中筛选h-index值大于h-indexi的节点,再从中寻找与节点i共同邻居最多的节点作为核心节点p;
S103:初始化社区Ci为只包含起始节点p和节点i两个节点的社区,若节点i就是核心节点p,则将社区Ci初始化为只包含节点i的社区;
S104:将社区Ci的邻居节点加入Nb中,Nb是社区Ci的邻居节点的集合,社区Ci的邻居节点是指不属于社区Ci且和社区Ci内部节点有连边的节点;
S105:对于Nb中的每个节点u,通过公式(1)计算Ci∪{u}的局部模块度M,即节点u加入社区Ci后的M值,然后从邻居节点中选择能使社区Ci的模块度M增加最多的邻居节点vbest,
其中,EC(Ci)是社区Ci内部节点之间边的数量,Eout(Ci)是社区Ci内部节点和社区Ci邻居节点之间的边的数量,模块度M是衡量社区质量的指标,模块度越大,社区质量越好;
S106:若Ci∪{vbest}的M值大于社区Ci的M值,则将节点vbest加入社区Ci,并更新社区Ci的邻居节点集合Nb;
S107:重复S105,S106过程,直至不存在节点能使得社区Ci的局部模块度M增加,得到社区Ci;
4.根据权利要求3所述的一种社区角色感知的用户需求主动预测方法,其特征在于:其中步骤S2中,异质信息网络中包含代表用户和项两类实体的节点,下文将代表用户和项的节点分别称为用户节点和项节点,具体步骤包括:
S201:将评分数据中用户对项的评分映射到区间[0,n]中,n为评分最高分;
S203:遍历一个评分数据集,构建异质信息网络,在评分数据中,用户u对项v有评分,若用户节点u在S中,则:1)为用户节点u和项节点v之间添加一条边,该边的权重代表用户u对项v评分的分值;2)若当前S中没有项节点v,则为项v创建一个项节点,并将该节点加入;
S204:对每个评分数据执行S203,得到包含“用户”和“项”两种类型节点、“用户-项”和“用户-用户”两种类型边的异质信息网络G,其中,“用户-用户”是源于社交网络中用户与用户的边,是无权重的;“用户-项”表示用户对项进行了评分,权重是用户对该项的评分分值。
7.根据权利要求6所述的一种社区角色感知的用户需求主动预测方法,其特征在于:步骤S5中,对步骤S4中得到的结果进行筛选得到帕累托最优解对应的项,并将这些项推荐给用户i。
8.根据权利要求7所述的一种社区角色感知的用户需求主动预测方法,其特征在于:定义:帕累托最优解是多目标优化中的概念,本项目以S4中得到的需求率Dr和预测评分rating为目标;支配关系与被支配关系:对于项节点zx和zy,i对zx和zy的需求率的预测评分通过S4被计算出,若Dr(i,zx)>Dr(i,zy),rating(i,zx)≥rating(i,zy)或者Dr(i,zx)≥Dr(i,zy),rating(i,zx)>rating(i,zy),那么zx支配zy,zy被zx支配;
步骤S5具体包括:
S501:根据项节点之间的支配关系进行筛选,将步骤S4中的所有非支配解抽取出来,得到一组帕累托最优解;
9.一种社区角色感知的用户需求主动预测系统,其特征在于:包括下述模块:
角色相似程度计算模块:用来通过度量社区Ci中的用户与目标用户i在局部结构上的差异,寻找与用户i有相似角色的用户,并计算这些用户与用户i的角色相似程度;
用户预测模块:用来利用与用户i有相似角色的用户的评分信息,对用户i从两个角度进行预测:1)用户i对项的需求程度,2)用户i对项的评分值,因为具有相似角色的用户有着相似的需求;
主动推荐模块:利用用户预测模块中得到的用户i对各个项的需求程度和评分值,筛选出需求程度和评分值都高的项,并将这些项推荐给用户i,完成对用户需求的主动预测过程;
其中角色相似程度计算模块中,计算社区Ci内部节点与节点i的角色相似程度,寻找节点i的角色相似节点,在社区Ci中,从节点的局部结构和用户共同历史评价信息的角度寻找与目标用户有着相似角色的用户,具体步骤如下:
S301:对于社区中的每个用户节点,通过公式(2)计算用户节点的邻居度分布集P(i),以节点i为例:
其中,D(j)表示节点j在社区Ci中的邻居数目,N(i)是由节点i和节点i的用户邻居节点组成的节点列表;
P′(i)=[pi(1),pi(2),pi(3),...,pi(|N(i)|),0,...,0] (3)
其中,|N(i)|是N(i)中的节点个数;
S303:通过公式(4)计算节点i和节点j的局部结构差异程度:
rij=DKL(P′(i)||P′(j))+DKL(P′(j)||P′(i)) (4)
公式(4)中,DKL(P′(i)||P′(j))是通过公式(5)计算的P′(i)和P′(j)的相对熵,范围在0~1之间:
公式(5)中,m′=min(D(i),D(j))+1;
S304:由S303的计算结果得到节点i的相关性集合LR:
LR={ria,rib,ric,...|a,b,c...∈Ci} (6)
S305:由公式(7)计算节点i和社区Ci中的节点j的局部结构相似度Fij:
S306:对于社区Ci中的每个节点j,根据节点i和节点j共同评价过的项的数目对Fij进行调整得到角色相似度Sij:
其中,Nitem(i)是用户节点i的项邻居节点集合,|x|是x中的元素个数,Sij值越大,i和j的角色越相似;
S307:按照用户的Sij值对将社区Ci中的用户节点进行降序排序,取前一半用户作为用户i的角色相似用户,记为相似用户集U。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110171341.5A CN112800345B (zh) | 2021-02-03 | 2021-02-03 | 一种社区角色感知的用户需求主动预测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110171341.5A CN112800345B (zh) | 2021-02-03 | 2021-02-03 | 一种社区角色感知的用户需求主动预测方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112800345A CN112800345A (zh) | 2021-05-14 |
CN112800345B true CN112800345B (zh) | 2022-09-30 |
Family
ID=75814793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110171341.5A Active CN112800345B (zh) | 2021-02-03 | 2021-02-03 | 一种社区角色感知的用户需求主动预测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112800345B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116541617B (zh) * | 2023-06-29 | 2023-09-19 | 安徽大学 | 参会用户及地点推荐方法及系统 |
CN117312681A (zh) * | 2023-08-23 | 2023-12-29 | 苏州大学 | 面向元宇宙的用户偏好产品推荐方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106599090A (zh) * | 2016-11-24 | 2017-04-26 | 上海交通大学 | 基于结构中心性的网络社区发现方法 |
CN106708953A (zh) * | 2016-11-28 | 2017-05-24 | 西安电子科技大学 | 基于离散粒子群优化的局部社区检测协同过滤推荐方法 |
CN107153713A (zh) * | 2017-05-27 | 2017-09-12 | 合肥工业大学 | 社交网络中基于节点间相似性的重叠社区检测方法及系统 |
CN107577727A (zh) * | 2017-08-22 | 2018-01-12 | 武汉大学 | 一种群体移动行为特性分析方法 |
CN111652751A (zh) * | 2020-06-04 | 2020-09-11 | 上海大学 | 一种基于社区熵的多目标优化动态网络社区发现方法 |
CN111709846A (zh) * | 2019-09-27 | 2020-09-25 | 长春工业大学 | 基于线图的局部社区发现算法 |
CN111861771A (zh) * | 2020-06-01 | 2020-10-30 | 上海大学 | 基于动态社交网络属性的多目标优化社区发现系统及方法 |
CN112069416A (zh) * | 2020-08-21 | 2020-12-11 | 河南科技大学 | 基于社区发现的跨社交网络用户身份识别方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7958120B2 (en) * | 2005-05-10 | 2011-06-07 | Netseer, Inc. | Method and apparatus for distributed community finding |
-
2021
- 2021-02-03 CN CN202110171341.5A patent/CN112800345B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106599090A (zh) * | 2016-11-24 | 2017-04-26 | 上海交通大学 | 基于结构中心性的网络社区发现方法 |
CN106708953A (zh) * | 2016-11-28 | 2017-05-24 | 西安电子科技大学 | 基于离散粒子群优化的局部社区检测协同过滤推荐方法 |
CN107153713A (zh) * | 2017-05-27 | 2017-09-12 | 合肥工业大学 | 社交网络中基于节点间相似性的重叠社区检测方法及系统 |
CN107577727A (zh) * | 2017-08-22 | 2018-01-12 | 武汉大学 | 一种群体移动行为特性分析方法 |
CN111709846A (zh) * | 2019-09-27 | 2020-09-25 | 长春工业大学 | 基于线图的局部社区发现算法 |
CN111861771A (zh) * | 2020-06-01 | 2020-10-30 | 上海大学 | 基于动态社交网络属性的多目标优化社区发现系统及方法 |
CN111652751A (zh) * | 2020-06-04 | 2020-09-11 | 上海大学 | 一种基于社区熵的多目标优化动态网络社区发现方法 |
CN112069416A (zh) * | 2020-08-21 | 2020-12-11 | 河南科技大学 | 基于社区发现的跨社交网络用户身份识别方法 |
Non-Patent Citations (1)
Title |
---|
"融合用户兴趣偏好与影响力的目标社区发现";刘海姣 等;《计算机研究与发展》;20210131;70-82页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112800345A (zh) | 2021-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Pham et al. | A general graph-based model for recommendation in event-based social networks | |
Symeonidis et al. | Product recommendation and rating prediction based on multi-modal social networks | |
CN112800345B (zh) | 一种社区角色感知的用户需求主动预测方法及系统 | |
CN103077220A (zh) | 一种基于用户群关联度的个性化推荐方法及系统 | |
CN109921921B (zh) | 一种时变网络中时效稳定社团的检测方法和装置 | |
CN107025311A (zh) | 一种基于k近邻的贝叶斯个性化推荐方法及装置 | |
Zhang et al. | Multi-criteria recommender system based on social relationships and criteria preferences | |
Mashal et al. | Analysis of recommendation algorithms for Internet of Things | |
Chang et al. | Personalized travel recommendation: a hybrid method with collaborative filtering and social network analysis | |
Liu et al. | Improving fraud detection via hierarchical attention-based graph neural network | |
CN108415928A (zh) | 一种基于加权混合k-最近邻算法的图书推荐方法与系统 | |
Özsoy et al. | Multi-objective optimization based location and social network aware recommendation | |
CN112837078A (zh) | 一种基于集群的用户异常行为检测方法 | |
CN103399919A (zh) | 基于社会关系网的信任增强服务推送方法 | |
Sharma et al. | A location based novel recommender framework of user interest through data categorization | |
Cui et al. | DMFA-SR: Deeper membership and friendship awareness for social recommendation | |
Zhang | Research on collaborative filtering recommendation algorithm based on social network | |
CN102385586A (zh) | 多方协同过滤方法和系统 | |
CN110719224B (zh) | 一种基于标签传播的拓扑势社区检测方法 | |
Zhao et al. | Exploiting homophily-based implicit social network to improve recommendation performance | |
Bisht et al. | Functional dependency-based group decision-making with incomplete information under social media influence: An application to automobile | |
Celdir et al. | Popularity bias in online dating platforms: Theory and empirical evidence | |
Jia et al. | Recommendation model based on mobile commerce in cloud computing | |
CN103051476A (zh) | 基于拓扑分析的网络社区发现方法 | |
Thi et al. | Link prediction in social networks based on local weighted paths |
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 |