基于两阶段memetic的社交网络影响最大化方法

文档序号:10513018阅读:216来源:国知局
基于两阶段memetic的社交网络影响最大化方法
【专利摘要】本发明公开了一种基于两阶段memetic的社交网络影响最大化方法,实现步骤包括:(1)网络聚类;(2)候选节点选择;(3)利用在候选节点中找出能使社交网络中的影响达到最大化的重要节点集合。步骤(3)包括:1)确定目标函数;2)构造初始解种群,采用基于相似度的度中心性方法对解种群中的个体进行初始化;3)依次对解种群中个体进行选择、交叉变异操作得到子代个体;4)利用子代个体更新解种群;5)局部搜索更新解种群;6)判断是否终止:如果迭代次数满足预定次数,则执行7),否则转步骤3)。本发明能有效地找出在大规模社交网络中使影响范围达到最大的初始重要节点集合,有效地解决了社交网络影响最大化问题。
【专利说明】
基于两阶段memet i c的社交网络影响最大化方法
技术领域
[0001] 本发明属于复杂网络领域,涉及社交网络影响最大化方法,具体是一种基于两阶 段memetic的社交网络影响最大化方法,可用于发现社交网络中的重要节点集合。
【背景技术】
[0002] 随着Web2.0技术的迅速发展,在线社交网络迅速普及,如Facebook和Twitter等在 线社交网络平台得到越来越多的关注。随着这些在线社交网络平台用户规模的增长,它们 已经成为很多新生公司所选择的产品推广和信息传播平台。在这些平台上,用户允许建立 自己的社交圈子并与他们的朋友互相分享信息。这使得影响力的传播变得更加容易。
[0003] 口碑营销是在线社交网络营销的一种很有效的策略,它的目的是以有限的一小部 分用户作为基础通过级联传播效应在网络中产生最大化的影响力。具体来说,一个公司试 图在社交网络上推广产品,它们有一小部分已经接受了产品的初始用户,这些用户会向他 们的朋友推荐,他们的朋友会向他们朋友的朋友推荐,这样产生的级联效应使产品得到了 最大的推广。影响最大化问题就是挖掘社交网络中具有最大影响力的初始成员集合,就是 上面这个例子中的初始用户集合。
[0004] Kempe和Kleinberg等人在"Maximizing the spread of influence through a social network"(〈〈In Proceedings of the ninth ACM SIGKDD international conference on Knowledge discovery and data mining》,2003,pages 137-146)中将影 响最大化问题形式化,总结出独立级联模型(Independent Cascade Model),线性阈值模型 (Linear ThreshoId Mode 1)和它们的泛化模型。并将该问题建模为离散优化问题,提出了 爬山策略的贪婪算法解决该问题。
[0005] 独立级联模型。在社交网络G= (V,E)中,用户v对其邻居u的影响概率为p(u,v)。每 个用户的状态只有两种:激活状态和非激活状态。非激活节点可以被其激活状态的邻居节 点激活,变为激活状态;反之,不可以。独立级联模型的过程如下:在t = 0时刻,含有k个初始 激活节点的用户Vo。在t时刻,Vh的每一个激活节点v只有一次机会以激活概率激活它的非 激活状态的邻居节点u。如果成功,这个被激活的邻居节点u在t+Ι时刻处于激活状态;但不 管成功与否,激活节点v不能再试图激活节点u。这个过程一直进行,直到没有新的节点可以 被激活为止。
[0006] 线性阈值模型。在社交网络G=(V,E)中,用户v对其邻居u的影响力权重为w(v,u) 且v的所有邻居的影响力权重之和不超过1。用户随机选定自己的介于〇,1之间的阈值,只有 当节点V的邻居节点对V的影响力权重超过它设定的阈值时,V才会被激活。线性阈值模型的 过程如下:初始时刻激活状态的节点集合为Vo,对于处于未激活状态的节点,如果它的激活 状态的邻居对它的影响力权重之和超过了它的阈值,则该节点在下一时刻处于激活状态。 这个过程一直进行,直到没有新的节点可以被激活为止。
[0007] 在Kempe等人提出的贪婪算法和传播模型的基础上,学者们提出了很多对于贪婪 算法的改进算法,提升了贪婪算法的效率。如Leskovec等人在(《In Proceedings of the 13th ACM SIGKDD international conference on Knowledge discovery and data mining》,2007,pages 420-429)中提出一种改进算法,在速率上比贪婪算法快700倍。他们 在选择新的有影响力节点的时候,提出了一种1 azy-f orward方法,这种方法利用传播函数 的submodu 1 ari ty特性,可以减少函数估计的数目,从而提高算法的效率。但实验证明该算 法仍不适用于大规模社交网络。之后,有学者利用社交网络的社区特性,提出了基于社区的 影响最大化算法框架。如Chen等人在"CIM:Community_based influence maximization in social networks"(《ACM Transactions on Intelligent Systems and Technology》, 2014)中提出了基于社区的算法。他们先将社交网络进行社区划分,并从中找出重要社区。 然后在每个重要社区中找到一定数目的候选节点组成候选节点集合。最后在候选节点集合 中找到最具影响力的节点集合。

【发明内容】

[0008] 本发明的目的在于针对上述已有技术的不足,提出一种基于两阶段memetic的社 交网络影响最大化方法,在保证节点集合影响力的情况下,提高算法在大规模社交网络上 的效率。
[0009] 本发明的技术方案是:将影响最大化问题看做单目标优化问题,把节点集合的影 响力作为目标函数,利用memetic算法优化目标函数,并引入邻域局部搜索策略,搜索更有 影响力的节点集合,其实现步骤包括如下:
[0010] (1)输入目标网络:G=(V,E),其中G代表输入的社交网络,V代表网络的节点集合, E代表网络的边集合;
[0011] (2)网络聚类:采用BGLL算法对输入的目标网络G进行聚类,得到网络G的社区划 分;
[0012] (3)候选节点选择:从步骤(2)得到的网络划分的社区中按照所划分的社区的大小 选择前η个较大的社区作为重要社区,这里η视不同网络的大小而定;在每个重要社区中按
个度较大的节点作为候选节点,这些候选节点构成 了候选节点集合Candidate;
[0013] (4)利用memetic算法在步骤(3)中得到的候选节点集合Candidate中生成在网络 中使影响达到最大化的初始重要节点集合S:
[0014] (4a)设初始重要节点数目为k,则S为包含k个节点的节点集合。根据独立级联传播 模型构建二级邻居传播期望值函攸沉S),并将其作为待优化的目标函数:
[0016] 其中,(^表示节点s的一级邻居集合,p表示传播概率,<4 = l+EceCsP(s,c), X = Eses IcecsnS EdeCcnS\{s} P(s, c)p(c, d);
[0017] (4b)种群初始化:
[0018] (4bl)令种群大小为pop,每个个体Xi(l < i < pop)表示一个具有k个节点的集合, 表示为X_i = |χ〖,χ(,...,χ3,个体的每个基因 x! (l.sj sk)表示从Candidate中所选定的节 点的编号。根据基于相似度的度中心性方法选择k个节点,并将其赋给前pop/2个个体 XI......Χρορ/2 ;
[0019] (4b2)对XI到χ_/2的每个个体,对个体的每一个基因 je[l,k]生成一个随机值re
[0,1],如果r>0.5,就将该j位的基因替换为从Candidate中随机选择的与该个体中节点编 号不重复的节点编号;否则,不改变;
[0020] (4b3)利用随机方法分别对剩余pop/2个个体进行初始化,即分别从Candidate中 随机选择k个不重复的节点集合赋给X(2f2+i^ljx_的每个个体;
[0021] (4b4)利用步骤(4a)中的目标函数3(S)汁算每个个体的适应度值,并将具有最大 适应度值的个体作为最优个体;
[0022] (4c)通过进化操作优化目标函数:
[0023] (4c 1)设种群进化最大迭代次数为maxgen,交叉概率为pc和变异概率为pm,并令当 前迭代次数gen = 0;
[0024] (4c2)选择父代个体:利用二进制锦标赛选择算法对父代个体进行选择,每次从种 群中随机选择两个个体,并对两个个体的适应度值进行比较,选择适应度值大的个体作为 父代个体,重复上述操作,直到选出 P〇P/2个父代个体;
[0025] (4c3)交叉:随机选择两个父代个体,生成一个介于[0,1]的随机数,如果该数小于 交叉概率,则对两个父代个体进行单点交叉;否则,不进行交叉。在两个父代个体中随机选 择一个交叉位置,交换两个个体在该位置以及之后的个体。为了保证生成的子代个体的有 效性,如果一个父代个体中待交换的节点不相似于另一个父代个体中的节点以及它们的相 似节点,则进行交换;否则,不交换。重复N/2次,生成N个子代个体。
[0026] (4c3)变异:对交叉后生成的每个子代个体,对其每个节点,生成一个介于[0,1]随 机数,如果该数小于变异概率,则进行变异,在Candidate中选择一个与该个体不相似的个 体代替该位置上的节点;如果该数大于变异概率,且该位置上的节点与该个体中影响力大 的点相似,我们同样进行变异,在Candidate中选择一个与该个体中影响力大的节点以及这 些节点的邻居不相似的节点代替该位置上的节点。
[0027] (4c4)局部搜索:对以上步骤得到的个体中选择具有最大适应度值的个体进行局 部搜索,产生新的最优个体。
[0028] (4c5)更新种群:从父代种群和子代种群中选择前N个具有最大适应度值的个体作 为新一代种群,进行下一次迭代;并更新最优个体。
[0029] (5)终止条件:如果迭代次数达到预设的最大迭代次数,则终止,并输出最优个体 所包含的节点集合;否则,转到(4c)继续执行。
[0030] 本发明与现有技术相比具有如下优点:
[0031]第一,本发明对节点集合的影响力进行函数估计,并将其作为目标函数,克服了计 算节点集合影响力的耗时问题。
[0032]第二,本发明利用memetic算法对目标函数进行优化,提出了针对社交网络影响最 大化这个特定问题的初始化方法和局部搜索策略,提高了搜索优化解的概率并加速了算法 的收敛。
[0033]第三,由于本发明采用了基于社区的框架,缩小了候选解的搜索范围,使该算法适 用于大规模社交网络。
【附图说明】
[0034]图1为本发明的实现流程图;
[0035]图2为本发明与现有方法在Dolphin社交网络的影响力比较图;
[0036]图3为本发明与现有方法在NetGRQC社交网络的影响力比较图;
[0037]图4为本发明与现有方法在NetHEPT社交网络的影响力比较图;
[0038]图5为本发明与现有方法在三个社交网络上挖掘有影响力节点的时间比较图。
【具体实施方式】
[0039]参照图1本发明的实现步骤如下:
[0040] 步骤1,输入目标网络:G=(V,E)
[0041] 其中G代表输入的社交网络,V代表网络的节点集合,E代表网络的边集合。
[0042] 步骤2,网络聚类。
[0043] 利用Blondel等人在"Fast unfolding of communities in large networks" (《Journal of Statistical Mechanics:Theory and Experiment》,2008)中提出的BGLL算 法对输入的社交网络进行社区划分,实现步骤如下:
[0044] (21)将网络中的每一个节点看作一个社区,然后将每个节点从它们原来所在的社 区移动到能使模块度增益最大的邻居节点所在的社区内。这个过程一直进行,直到移动任 何一个点都不能使模块度增益增大为止。
[0045] (22)将上一步骤得到的每个社区看做一个节点,这样得到一个新网络。
[0046] (23)重复以上两个步骤知道模块度增益不变。
[0047]步骤3,候选节点选择。
[0048]从步骤2得到的网络划分的社区中按照所划分的社区的大小选择前η个较大的社 区作为重要社区,这里η视不同网络的大小而定;在每个重要社区中按度中心性选择前
1个度较大的节点作为候选节点,这些候选节点构成了候选节点集合 Candidate;
[0049 ]步骤4,利用meme t i c算法生成最有影响力节点集合。
[0050] (4a)构建目标函数。
[0051]设初始重要节点数目为k,则S为包含k个节点的节点集合。根据独立级联传播模型 构建二级邻居传播期望值函数5(S):
[0053]其中,(^表示节点s的一级邻居集合,p表示传播概率,4 = 1+ScecsP〇,c), X = SSEsSCecsnsEdect.ns、、i s}P(s,c)p(c,d),目标函数值越大,说明该节点集合的影响力越 大。
[0054] (4b)种群初始化。
[0055] 令种群大小为pop,每个个体xi(l < i < pop)表示一个具有k个节点的集合,表示为 x:i = ,个体的每个基因(1 S j S k)表示从Candidate中所选定的节点的编 号。
[0056] (4bl)根据基于相似度的度中心性方法选择k个节点,并将其赋给前pop/2个个体 XI......Χρ〇ρ/2。其中相似度的定义如下:
[0058] 其中,NB(v) = {v | v U N(v)} N(v) = {3.U .E V, iw G L·}
[0059] (4bll)令Xi: = 0;
[0060] (4bl2)令TempCandidate = Candidate;
[0061 ] (4bl3)从TempCandiate中选择具有最大度的节点Vi放入Xi中;
[0062] (4bl4)从Vi的邻居中找到与Vi的相似度大于sim的邻居节点集合;
[0063] (4bl5)更新TempCandidate为从其中中去掉Vi的邻居节点集合的结合;
[0064] (4bl6)如果个体^中已有k个节点,则结束;否则,跳到步骤(4bl3)继续执行。
[0065] (4b2)对xi到Χ_/2的每个个体,对个体的每一个基因 je[l,k]生成一个随机值re
[0,1],如果r>0.5,就将该j位的基因替换为从Candidate中随机选择的与该个体中节点编 号不重复的节点编号;否则,不改变。
[0066] (4b3)利用随机方法分别对剩余pop/2个个体进行初始化,即分别从Candidate中 随机选择k个不重复的节点集合赋
[0067] (4b4)利用步骤(4a)中的目标函数8(S)计算每个个体的适应度值,并将具有最大 适应度值的个体作为最优个体。
[0068] (4c)选择父代个体。
[0069] 利用二进制锦标赛选择算法对父代个体进行选择,每次从种群中随机选择两个个 体,并对两个个体的适应度值进行比较,选择适应度值大的个体作为父代个体,重复上述操 作,直到选出P〇p/2个父代个体。
[0070] (4d)交叉。
[0071]随机选择两个父代个体,生成一个介于[0,1]的随机数,如果该数小于交叉概率, 则对两个父代个体进行单点交叉;否则,不进行交叉。在两个父代个体中随机选择一个交叉 位置,交换两个个体在该位置以及之后的个体。为了保证生成的子代个体的有效性,如果一 个父代个体中待交换的节点不相似于另一个父代个体中的节点以及它们的相似节点,则进 行交换;否则,不交换。重复N/2次,生成N个子代个体。
[0072] (4d)变异。
[0073] 对交叉后生成的每个子代个体,对其每个节点,生成一个介于[0,1]随机数,如果 该数小于变异概率,则进行变异,在Candidate中选择一个与该个体不相似的个体代替该位 置上的节点;如果该数大于变异概率,且该位置上的节点与该个体中影响力大的点相似,我 们同样进行变异,在Candidate中选择一个与该个体中影响力大的节点以及这些节点的邻 居不相似的节点代替该位置上的节点。
[0074] (4d)局部搜索。
[0075] (4dl)从输入的子代个体中选择具有最大适应度值的个体作为当前最优个体;
[0076] (4d2)从当前最优个体的邻居个体中找到具有最大适应度值的最优邻居个体;
[0077] (4d3)如果最优邻居个体的适应度值大于当前最优个体的适应度值,则更新当前 最优个体为此最优邻居个体;否则,搜索结束,返回当前最优个体。
[0078] (4e)从父代种群和子代种群中选择前N个具有最大适应度值的个体作为新一代种 群,进行下一次迭代;并更新最优个体。
[0079] (4f)判断是否终止。
[0080]如果当前迭代次数gen达到预设的最大迭代次数maxgen,则终止,并输出最优个体 所包含的节点集合;否则,转到(4c)继续执行。
[0081 ]本发明的效果可以通过以下仿真进一步说明:
[0082] 1.仿真条件
[0083]本实例在Intel(R)Core(i5)CPU 1.70GHZ Windows 7系统下,Matlab 2008a运行 平台上,完成本发明与现有CELF,Degree,PageRank和Random方法的仿真实验。
[0084] 2.仿真实验内容
[0085] 1、选取现实世界网络作为实验对象。参数设置如下,种群大小为200,种群迭代次 数为50,交叉概率为0.8,变异概率为0.2,步骤3中α值为4,β值为10。以下CMA-頂表示本发明 的基于两阶段memetic的社交网络影响最大化方法,CELF表示现有的对贪婪算法的改进算 法,Degree表示现有的最大度方法,PageRank表示现有的网页排序算法和Random表示现有 的随机化方法。
[0086] 现实世界网络仿真:本仿真中使用Dolphin社交网络,NetGRQC网络和NetHEPT网络 作为实验对象。Dolphin网络包含62个节点,159条边;NerGRQC网络包含5242个节点,14496 条边;NetHEPT网络包含15233个节点和58891条边。
[0087] 图2表不本发明CMA-IM方法与现有的CELF,Degree,PageRank和Random方法在 Dolphin网络上所选出的有影响力节点集合的影响力比较图。从图1可以看出,本发明得到 的结果与CELF的结果近似,并且高于Degree,PageRank和Random方法。
[0088] 图3表不本发明CMA-IM方法与现有的CELF,Degree,PageRank和Random方法在 NetGRQC网络上所选出的有影响力节点集合的影响力比较图。从图2可以看出,本发明得到 的结果与CELF的结果近似,并且高于Degree,PageRank和Random方法。
[0089] 图4表不本发明CMA-IM方法与现有的CELF,Degree,PageRank和Random方法在 NetHEPT网络上所选出的有影响力节点集合的影响力比较图。从图3可以看出,本发明得到 的结果与CELF的结果近似,并且高于Degree,PageRank和Random方法。
[0090] 图5表不本发明CMA-IM方法与现有的CELF,Degree,PageRank和Random方法在 Dolphin网络,NetGRQC网络和NetHEPT网络上选取10,30和30个有影响力节点集合的时间比 较图。从图4可以看出,本发明所用的时间比CELF少两个数量级,虽然时间比Degree, PageRank和Random方法长,但节点集合的影响力高于这些方法的结果。
[0091] 总之,本发明采用基于社区结构的影响最大化框架,第一阶段先将网络进行社区 划分,选出重要社区,并从重要社区中选取一定数目的节点构成候选节点集合,从而缩小了 候选解的搜索范围。本发明采用节点集合二阶邻居内的影响力作为目标函数,在第二阶段 采用memetic算法进行优化,并引入基于这个特定问题的初始化方法和局部搜索策略,能够 自动选择最具影响力的节点集合并加速了算法的收敛,并较现有的方法得到较高的影响力 节点集合。
【主权项】
1. 一种基于两阶段memetic的社交网络影响最大化方法,其特征在于所述方法包括下 列步骤: (1) 输入目标网络:G=(V,E),其中G代表输入的社交网络,V代表网络的节点集合,E代 表网络的边集合; (2) 网络聚类:采用BGLL算法对输入的目标网络G进行聚类,得到网络G的社区划分; (3) 候选节点选择:从步骤(2)得到的网络划分的社区中按照所划分的社区的大小选择 前η个较大的社区作为重要社区,这里η视不同网络的大小而定;在每个重要社区中按度中 心性选择前个度较大的节点作为候选节点,这些候选节点构成了候 选节点集合Candidate;(4) 利用文化基因算法在步骤(3)中得到的候选节点集合Candidate中生成在网络中使 影响达到最大化的初始重要节点集合S: (4a)设初始重要节点数目为k,则S为包含k个节点的节点集合;根据独立级联传播模型 构建二级邻居传播期望值函数S(S),并将其作为待优化的目标函数:其中,Cs表示节点s的一级邻居集合,p表示传播概率,=1 + SC€cs P(s,c),(4b)种群初始化: (4bl)令种群大小为pop,每个个体xi(l < i《pop)表示一个具有k个节点的集合,表示为 X.i = jx^xf,…,xf),个体的每个基因 X丨(1 S k)表示从Candidate中所选定的节点的编 号;根据基于相似度的度中心性方法选择k个节点,并将其赋给前pop/2个个体XI......x_/2; (4b2)对XI到χΡ〇Ρ/2的每个个体,对个体的每一个基因 je[l,k]生成一个随机值re[〇, 1 ],如果r > 0.5,就将该j位的基因替换为从Candidate中随机选择的与该个体中节点编号 不重复的节点编号;否则,不改变; (4b3)利用随机方法分别对剩余pop/2个个体进行初始化,即分别从Candidate中随机 选择k个不重复的节点集合赋给X(^+1)到的每个个体; (4b4)利用步骤(4a)中的目标函数β⑶计算每个个体的适应度值,并将具有最大适应 度值的个体作为最优个体; (4c)通过进化操作优化目标函数: (4c 1)设种群进化最大迭代次数为maxgen,交叉概率为pc和变异概率为pm,并令当前迭 代次数gen = 0; (4c2)选择父代个体:利用二进制锦标赛选择算法对父代个体进行选择,每次从种群中 随机选择两个个体,并对两个个体的适应度值进行比较,选择适应度值大的个体作为父代 个体,重复上述操作,直到选出pop/2个父代个体; (4c3)交叉:随机选择两个父代个体,生成一个介于[0,1]的随机数,如果该数小于交叉 概率,则对两个父代个体进行单点交叉;否则,不进行交叉;在两个父代个体中随机选择一 个交叉位置,交换两个个体在该位置以及之后的个体;如果一个父代个体中待交换的节点 不相似于另一个父代个体中的节点以及它们的相似节点,则进行交换;否则,不交换;重复 N/2次,生成N个子代个体; (4c3)变异:对交叉后生成的每个子代个体,对其每个节点,生成一个介于[0,1]随机 数,如果该数小于变异概率,则进行变异,在Candidate中选择一个与该个体不相似的个体 代替该位置上的节点;如果该数大于变异概率,且该位置上的节点与该个体中影响力大的 点相似,我们同样进行变异,在Candidate中选择一个与该个体中影响力大的节点以及这些 节点的邻居不相似的节点代替该位置上的节点; (4c4)局部搜索:对以上步骤得到的个体中选择具有最大适应度值的个体进行局部搜 索,产生新的最优个体; (4c5)更新:从父代种群和子代种群中选择前N个具有最大适应度值的个体作为新一代 种群,进行下一次迭代;并更新最优个体; (5)终止条件:如果迭代次数达到预设的最大迭代次数,则终止,并输出最优个体所包 含的节点集合;否则,转到(4c)继续执行。2. 根据权利要求1所述的基于两阶段memetic的社交网络影响最大化方法,其中步骤 (2)所述的BGLL聚类算法的步骤如下: (21) 将网络中的每一个节点看作一个社区,然后将每个节点从它们原来所在的社区移 动到能使模块度增益最大的邻居节点所在的社区内;这个过程一直进行,直到移动任何一 个点都不能使模块度增益增大为止; (22) 将上一步骤得到的每个社区看做一个节点,这样得到一个新网络; (23) 重复以上两个步骤知道模块度增益不变。3. 根据权利要求1所述的基于两阶段memetic的社交网络影响最大化方法,其中步骤 (4b 1)所述的基于相似度的度中心性初始化方法的步骤如下: (4bll)令Xj =. 0;. (4bl2)令 TempCandidate = Candidate; (4bl3)从TempCandiate中选择具有最大度的节点Vi放入Xi中; (4bl4)从Vi的邻居中找到与Vi的相似度大于sim的邻居节点集合; (4bl5)更新TempCandidate为从其中中去掉Vi的邻居节点集合的结合; (4bl6)如果个体^中已有k个节点,则结束;否则,跳到步骤(4bl3)继续执行。4. 根据权利要求1所述的基于两阶段memetic的社交网络影响最大化方法,其中步骤 (4b 1)所述的基于相似度的度中心性初始化方法中相似度的定义如下:其中,_NB(.v) = {v|v U N(v)},N(v) = (Ξ V, uv (Ξ E}·。5. 根据权利要求1所述的基于两阶段memet i c的社交网络影响最大化方法, 其中步骤(4c4)所述的局部搜索策略的步骤如下: (4c41)从输入的子代个体中选择具有最大适应度值的个体作为当前最优个体; (4c42)从当前最优个体的邻居个体中找到具有最大适应度值的最优邻居个体; (4c43)如果最优邻居个体的适应度值大于当前最优个体的适应度值,则更新当前最优 个体为此最优邻居个体;否则,搜索结束,返回当前最优个体。
【文档编号】G06N3/12GK105869053SQ201610167955
【公开日】2016年8月17日
【申请日】2016年3月23日
【发明人】公茂果, 宋超, 马晶晶, 段超, 马文萍, 王善峰, 马里佳, 沈波
【申请人】西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1