一种基于粒子群算法的网络水军账号识别方法及系统的制作方法

文档序号:6520802阅读:235来源:国知局
一种基于粒子群算法的网络水军账号识别方法及系统的制作方法
【专利摘要】本发明涉及一种基于粒子群算法的网络水军账号识别方法,具体包括以下步骤:步骤1:收集β个用户的用户信息,从所述每个用户信息中提取λ个相关指标,得到β个指标向量;步骤2:对λ个指标根据需要分配权重,得到权重向量;步骤3:将β个指标向量按照其中每个指标大小进行排序,得到λ个序列;步骤4:选取每个用户为粒子,应用粒子群算法,将符合条件的粒子保存到水军用户列表;步骤5:选取水军用户列表中所有可疑水军用户,将符合条件的所有邻居加入水军用户列表。本发明在实时性方面,本发明提出的基于改进粒子群算法的网络水军账号识别方法更为适宜。
【专利说明】一种基于粒子群算法的网络水军账号识别方法及系统
【技术领域】
[0001]本发明涉及一种基于粒子群算法的网络水军账号识别方法及系统。
【背景技术】
[0002]网络上信息数量日益增长给网络监管带来很大的挑战,大量网络推手充斥于互联网环境中,从“贾君鹏”到“芙蓉姐姐”,再到“极品小月月”,这些颇具影响力的网络事件屡次发生,彰显了其背后的黑色力量——网络水军。网络水军利用网络环境制造公众话题,从而引导舆论导向,使得某些特定个人、单位的影响力飙升,从中谋取非法利益。网络水军的操作模式分为两种,一种是造势,一种是广告。其中,造势是针对特定主题发表特定意见,以造势为目的的水军贴字数多在20到30字之间,排列形式较为整齐,观点较为一致,内容重复性特别高;而以广告为目的的水军贴特征更为明显,其中会明显的包含广告商的产品、电话或者超链接等信息,而且广告水军贴的位置多在顶贴中出现,尤其是沙发贴位置最常出现。从影响来看,如果活跃论坛中存在大量造势水军贴,会给广大网民带来错误的舆论导向,尤其是当水贴内容具有煽动或蛊惑性质时,后果将十分恶劣;而广告水军贴鉴别较为直观容易,虽然大量广告水贴也会造成网络环境的杂乱无章,但是并不会对社会舆论造成很大程度的危害,因此,本专利中的水军账号识别方法主要针对造势水军账号的识别。
[0003]在语义分析和人工智能领域,已经对网络水军识别问题有过相关研究。语义分析领域比较典型的水军识别方法为机器学习方法:将论坛样本帖全集划分成多个子集,然后利用神经网络分别对子集训练得到多个分类器,最后通过这组分类器对论坛中的每个帖子进行分类,对于水军贴给予删帖或屏蔽处理。然而在这个过程中,训练集的选择有很大的不确定性,训练集中水军贴所占比例严重影响到分类器的判断准确度;而且水军贴在不同时间段内针对不同的话题对象,为了识别某个时间段内关于某个敏感话题的水军贴,需要针对这个特定话题再进行分类器的训练,可见这种方式工作量很大;另外,这种方式需要对每个将要发表的帖子进行审核分类,严重影响了论坛的用户体验。针对语义分析方式工作量大、影响用户体验的问题。

【发明内容】

[0004]本发明所要解决的技术问题是,针对现有技术的不足,提供一种在保证网络水军用户鉴别准确度的前提下,很大程度地改善了论坛用户发帖的用户体验的基于粒子群算法的网络水军账号识别方法。
[0005]本发明解决上述技术问题的技术方案如下:一种基于粒子群算法的网络水军账号识别方法,具体包括以下步骤:
[0006]步骤1:收集0个用户的用户信息,从所述每个用户信息中提取\个相关指标,得到P个指标向量,每个指标向量中包括、个指标,所述P和X为大于I的自然数;
[0007]步骤2:对每个指标向量中的\个指标根据需要分配权重,得到各个指标的权重
向量;[0008]步骤3:将0个指标向量按照同一维度中各个指标的大小进行排序,得到\个序列,其中相邻的指标向量互为邻居;
[0009]步骤4:选取每个用户为粒子,选取用户指标向量为粒子位置信息,选取权重向量与用户指标向量的点积作为位置优劣衡量指标,应用粒子群算法,将其中用户的权重向量与用户指标向量的点积小于设定值的粒子保存到水军用户列表;
[0010]步骤5:选取水军用户列表中所有可疑水军用户,分别从各个维度上搜索所述可疑水军用户的邻居,将符合条件的所有邻居加入水军用户列表。
[0011]本发明的有益效果是:本发明提出的网络水军账号识别方法借鉴了粒子群算法的思想,不需要逐个评价每一个论坛用户或者逐个评价每一个用户发帖,就可以快速筛选出论坛中的水军账号;只需要周期性地对论坛用户进行筛选分类不需要对每个帖子进行实时处理,所以在实时性方面,本专利提出的基于改进粒子群算法的网络水军账号识别方法更为适宜。
[0012]在上述技术方案的基础上,本发明还可以做如下改进。
[0013]进一步,所述步骤4中的粒子群算法具体包括以下步骤:
[0014]步骤4.1:选取每个用户为粒子,选取用户指标向量为粒子位置向量,选取权重向量与用户指标向量的点积作为位置优劣衡量指标;
[0015]步骤4.2:计算得到每个粒子的速度向量,依次将当前位置向量的每个维度和速度向量的每个维度相加,得到维度值;
[0016]步骤4.3:按照步骤3得到的序列,将每个粒子移动到一个最近的位置;
[0017]步骤4.4:迭代执行步骤4.3,直到粒子移动的次数是否达到预定次数或者三个粒子收敛到同一位置;
[0018]步骤4.5:将迭代过程中所有符合预设条件的粒子保存到水军用户列表。
[0019]进一步,所述步骤5包括以下步骤:
[0020]步骤5.1:选取水军用户列表中的一个可疑水军用户,根据步骤3得到的序列查找此可疑水军用户在各个维度上的邻居;
[0021]步骤5.2:判断所有邻居的权重向量与用户指标向量的点积是否小于设定值,如果是,将所有点积小于设定值的邻居保存到水军用户列表,并进行下一步;否则,跳转至步骤 5.4 ;
[0022]步骤5.3:将水军用户列表中的邻居作为一个可疑水军用户,跳转至步骤5.1 ;
[0023]步骤5.4:判断是否存在未查找邻居的可疑水军用户,如果有,跳转至步骤5.1 ;否贝IJ,结束。
[0024]进一步,位置更新公式为:
[0025]Xi (t+1) =Xi (t) +Vi (t+1)(I)
[0026]速度更新公式为:
[0027]Vi (t+1) = co X Vi (t) +C1 X rand () x (Pi (t) -Xi (t) +C2 x rand ()x (gi (t)-Xi(t))(2)
[0028]其中,第i个粒子位置表不为向量Xi ;第i个粒子的位置变化率为向量Vi ; w为惯性权重;Pi和gi分别为该粒子的历史最优位置以及全局历史最优位置;cl和c2为学习因子,代表了将每个粒子拉向Pi和gi位置的随机加速项的权重;v_和Xmax分别代表速度限制和位置限制。
[0029]进一步,所述公式(2)中Cl和c2优选的分别设定为1.4和0.6 ;
[0030]惯性权重o优选为[0,I]之间的随机数。
[0031]粒子群算法是一种基于种群的搜索过程,其中每个个体称作粒子,定义为在M维搜索空间中待优化问题的潜在解,保存有其历史最优位置、当前速度以及所有粒子的最优位置的记忆。每演化一代,粒子的信息被组合起来调整速度关于每一维上的分量,继而被用来计算新的粒子位置。粒子在多维搜索空间中不断改变它们的状态,直到到达平衡状态,或者超过了计算限制为止。
[0032]设搜索空间为a维,第i个粒子位置表示为向量Xi=UiI, xj,......,xp);第i个粒
子的历史最优位置为PiMPil’P#,……,Pia);,其中Pj为所有Pi (i=l,2……,b)中的历史最优位置;第i个粒子的位置变化率为向量Vi= (Vil,v.2,……,Vib)。每演化一代,每个粒子的位置都依据当前群体信息发生变化,位置更新公式为:
[0033]Xi (t+1)=Xi(t)+Vi(t+1)
[0034]速度更新公式为:
[0035]Vi (t+1) = co X Vi (t) +C1 X rand () x (Pi (t)-Xi (t)+C2 x rand ()
X (gi (t)-Xi(t))
[0036]其中co为惯性权重;Pi和gi分别为该粒子的历史最优位置以及全局历史最优位置;cl和c2为学习因子,代表了将每个粒子拉向Pi和gi位置的随机加速项的权重;vmax和Xfflax分别代表速度限制和位置限制。`
[0037]本发明选取用户特征描述量作为粒子位置信息,选取评价指标的权值向量与用户特征描述向量的点积作为位置优劣衡量指标。例如,当系统选择ID为01的粒子作为初始粒子时,这个粒子对应的当前位置为[0.20.50.30.10.10.5],而衡量这个位置优劣的指标是评价指标的权值向量与用户特征值向量的点积,即[0.20.50.30.10.10.5] ? [5,4,3,3,2,I]=4.9。需要注意的是,水军用户应该拥有更低的浏览习惯度量指标、更低的社交范围度量指标、更低的归一化在线时长、更低的登录规律指标、更低的回帖频率度量指标以及更低的用户名长度度量指标,因此,在判断优劣时,点积更低的,更符合水军用户的特征,也就是在粒子群算法中位置更优。经统计得到,水军用户的位置优劣衡量指标有95%的概率小于1.2,因此本专利中,将位置优劣衡量指标小于1.2的粒子视作可疑水军用户。
[0038]本发明所要解决的技术问题是,针对现有技术的不足,提供一种在保证网络水军用户鉴别准确度的前提下,很大程度地改善了论坛用户发帖的用户体验的基于粒子群算法的网络水军账号识别方法。
[0039]本发明解决上述技术问题的技术方案如下:一种基于粒子群算法的网络水军账号识别系统,包括:指标提取模块、权重分配模块、排序模块、粒子群算法模块和邻居搜索模块;
[0040]所述指标提取模块用于收集P个用户的用户信息,从所述每个用户信息中提取入个相关指标,得到P个指标向量,每个指标向量中包括、个指标,所述P和X为大于I的自然数;
[0041]所述权重分配模块用于对每个指标向量中的\个指标根据需要分配权重,得到各个指标的权重向量;[0042]所述排序模块用于将P个指标向量按照同一维度中各个指标的大小进行排序,得到、个序列,其中相邻的指标向量互为邻居;
[0043]所述粒子群算法模块用于选取每个用户为粒子,选取用户指标向量为粒子位置信息,选取权重向量与用户指标向量的点积作为位置优劣衡量指标,应用粒子群算法,将其中用户的权重向量与用户指标向量的点积小于设定值的粒子保存到水军用户列表;
[0044]所述邻居搜索模块用于选取水军用户列表中所有可疑水军用户,分别从各个维度上搜索所述可疑水军用户的邻居,将符合条件的所有邻居加入水军用户列表。 [0045]本发明的有益效果是:本发明提出的网络水军账号识别方法借鉴了粒子群算法的思想,不需要逐个评价每一个论坛用户或者逐个评价每一个用户发帖,就可以快速筛选出论坛中的水军账号;只需要周期性地对论坛用户进行筛选分类不需要对每个帖子进行实时处理,所以在实时性方面,本专利提出的基于改进粒子群算法的网络水军账号识别方法更为适宜。
[0046]在上述技术方案的基础上,本发明还可以做如下改进。
[0047]进一步,所述n和m为大于I的自然数。
[0048]进一步,所述粒子群算法模块包括粒子选取模块、维度值计算模块、粒子移动模块、迭代模块和列表保存模块;
[0049]所述粒子选取模块用于选取每个用户为粒子,选取用户指标向量为粒子位置向量,选取权重向量与用户指标向量的点积作为位置优劣衡量指标;
[0050]所述维度值计算模块用于计算得到每个粒子的速度向量,依次将当前位置向量的每个维度和速度向量的每个维度相加,得到维度值;
[0051]所述粒子移动模块按照排序模块得到的序列,将每个粒子移动到一个最近的位置;
[0052]所述迭代模块用于迭代执行粒子移动模块的移动,直到粒子移动的次数是否达到预定次数或者三个粒子收敛到同一位置;
[0053]所述列表保存模块用于将迭代过程中所有符合预设条件的粒子保存到水军用户列表。
[0054]进一步,所述邻居搜索模块包括邻居查找模块和邻居添加模块;
[0055]所述邻居查找模块用于选取水军用户列表中的所有可疑水军用户,根据排序模块得到的序列查找此可疑水军用户在各个维度上的邻居;
[0056]所述邻居添加模块用于将所有权重向量与用户指标向量的点积小于设定值的邻居保存到水军用户列表。
[0057]进一步,位置更新公式为:
[0058]Xi (t+1) =Xi (t) +Vi (t+1)(I)
[0059]速度更新公式为:
[0060]Vi (t+1) = co X Vi (t) +C1 X rand () x (Pi (t)-Xi (t)+C2 x rand ()x (gi (t)-Xi(t))(2)
[0061]其中,第i个粒子位置表不为向量Xi ;第i个粒子的位置变化率为向量Vi ; co为惯性权重;Pi和gi分别为该粒子的历史最优位置以及全局历史最优位置;cl和c2为学习因子,代表了将每个粒子拉向Pi和gi位置的随机加速项的权重;v_和Xmax分别代表速度限制和位置限制。
[0062]进一步,所述公式(2)中Cl和c2优选的分别设定为1.4和0.6 ;
[0063]惯性权重o优选为[0,I]之间的随机数。
【专利附图】

【附图说明】
[0064]图1为本发明具体实施例1所述的一种基于粒子群算法的网络水军账号识别方法流程图;
[0065]图2为本发明具体实施例1所述的方法中粒子群算法的流程图;
[0066]图3为本发明具体实施例2所述的一种基于粒子群算法的网络水军账号识别系统框图;
[0067]图4为本发明具体实施例3所述的系统对论坛中注册用户进行水军账号识别的流程图;
[0068]图5为本发明具体实施例3应用粒子群算法寻找水军用户的流程图。
[0069]附图中,各标号所代表的部件列表如下:
[0070]1、指标提取模块,2、权重分配模块,3、排序模块,4、粒子群算法模块,5、邻居搜索模块,41、粒子选取模块,42、维度值计算模块,43、粒子移动模块,44、迭代模块,45、列表保存模块,51、邻居查找模块,52、邻居添加模块。
【具体实施方式】
[0071]以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
[0072]如图1所示,为本发明具体实施例1所述的一种基于粒子群算法的网络水军账号识别方法,具体包括以下步骤:
[0073]步骤1:收集0个用户的用户信息,从所述每个用户信息中提取\个相关指标,得到P个指标向量,每个指标向量中包括、个指标,所述P和X为大于I的自然数;
[0074]步骤2:对每个指标向量中的\个指标根据需要分配权重,得到各个指标的权重
向量;
[0075]步骤3:将0个指标向量按照同一维度中各个指标的大小进行排序,得到 ' 个序列,其中相邻的指标向量互为邻居;
[0076]步骤4:选取每个用户为粒子,选取用户指标向量为粒子位置信息,选取权重向量与用户指标向量的点积作为位置优劣衡量指标,应用粒子群算法,将其中用户的权重向量与用户指标向量的点积小于设定值的粒子保存到水军用户列表;
[0077]步骤5:选取水军用户列表中的一个可疑水军用户,根据步骤3得到的序列查找此可疑水军用户在各个维度上的邻居;
[0078]步骤6:判断所有邻居的权重向量与用户指标向量的点积是否小于设定值,如果是,将所有点积小于设定值的邻居保存到水军用户列表,并进行下一步;否则,跳转至步骤8 ;
[0079]步骤1:将水军用户列表中的邻居作为一个可疑水军用户,跳转至步骤5 ;
[0080]步骤8:判断是否存在未查找邻居的可疑水军用户,如果有,跳转至步骤5 ;否则,结束。
[0081]所述X和@为大于I的自然数。
[0082]如图2所示,所述步骤4中的粒子群算法具体包括以下步骤:
[0083]步骤4.1:选取每个用户为粒子,选取用户指标向量为粒子位置向量,选取权重向量与用户指标向量的点积作为位置优劣衡量指标;
[0084]步骤4.2:计算得到每个粒子的速度向量,依次将当前位置向量的每个维度和速度向量的每个维度相加,得到维度值;
[0085]步骤4.3:按照步骤3得到的序列,将每个粒子移动到一个最近的位置;
[0086]步骤4.4:迭代执行步骤4.3,直到粒子移动的次数是否达到预定次数或者三个粒子收敛到同一位置;
[0087]步骤4.5:将迭代过程中所有符合预设条件的粒子保存到水军用户列表。
[0088]位置更新公式为:
[0089]Xi (t+1) =Xi (t) +Vi (t+1)(I)
[0090]速度更新公式为:
[0091]Vi (t+1) = co X Vi (t) +C1 X rand () x (Pi (t) -Xi (t) +C2 x rand ()x (gi (t)-Xi(t))(2)
[0092]其中,第i个粒子位 置表不为向量Xi ;第i个粒子的位置变化率为向量Vi ; w为惯性权重;Pi和gi分别为该粒子的历史最优位置以及全局历史最优位置;cl和c2为学习因子,代表了将每个粒子拉向Pi和gi位置的随机加速项的权重;v_和Xmax分别代表速度限制和位置限制。
[0093]所述公式(2)中Cl和c2优选的分别设定为1.4和0.6 ;
[0094]惯性权重《优选为[0,I]之间的随机数。
[0095]如图3所示,为本发明具体实施例2所述的一种基于粒子群算法的网络水军账号识别系统,包括:指标提取模块1、权重分配模块2、排序模块3、粒子群算法模块4和邻居搜索模块5 ;
[0096]所述指标提取模块I用于收集P个用户的用户信息,从所述每个用户信息中提取入个相关指标,得到P个指标向量,每个指标向量中包括、个指标,所述P和X为大于I的自然数;
[0097]所述权重分配模块2用于对每个指标向量中的\个指标根据需要分配权重,得到各个指标的权重向量;
[0098]所述排序模块3用于将0个指标向量按照同一维度中各个指标的大小进行排序,得到、个序列,其中相邻的指标向量互为邻居;
[0099]所述粒子群算法模块4用于选取每个用户为粒子,选取用户指标向量为粒子位置信息,选取权重向量与用户指标向量的点积作为位置优劣衡量指标,应用粒子群算法,将其中用户的权重向量与用户指标向量的点积小于设定值的粒子保存到水军用户列表;
[0100]所述邻居搜索模块5用于选取水军用户列表中所有可疑水军用户,分别从各个维度上搜索所述可疑水军用户的邻居,将符合条件的所有邻居加入水军用户列表。
[0101]所述X和P为大于I的自然数。
[0102]所述粒子群算法模块4包括粒子选取模块41、维度值计算模块42、粒子移动模块43、迭代模块44和列表保存模块45 ;
[0103]所述粒子选取模块41用于选取每个用户为粒子,选取用户指标向量为粒子位置向量,选取权重向量与用户指标向量的点积作为位置优劣衡量指标;
[0104]所述维度值计算模块42用于计算得到每个粒子的速度向量,依次将当前位置向量的每个维度和速度向量的每个维度相加,得到维度值;
[0105]所述粒子移动模块43按照排序模块得到的序列,将每个粒子移动到一个最近的位置;
[0106]所述迭代模块44用于迭代执行粒子移动模块的移动,直到粒子移动的次数是否达到预定次数或者三个粒子收敛到同一位置;
[0107]所述列表保存模块45用于将迭代过程中所有符合预设条件的粒子保存到水军用户列表。
[0108]所述邻居搜索模块5包括邻居查找模块51和邻居添加模块52 ;
[0109]所述邻居查找模块51用于选取水军用户列表中的所有可疑水军用户,根据排序模块得到的序列查找此可疑水军用户在各个维度上的邻居;
[0110]所述邻居添加模块52用于将所有权重向量与用户指标向量的点积小于设定值的邻居保存到水军用户列表。
[0111]位置更新公 式为:
[0112]Xi (t+1) =Xi (t) +Vi (t+1)(I)
[0113]速度更新公式为:
[0114]Vi (t+1) = co x Vi (t) +C1 x rand () x (Pi (t)-Xi (t)+C2 x rand ()x (gi (t)-Xi(t))(2)
[0115]其中,第i个粒子位置表不为向量Xi ;第i个粒子的位置变化率为向量Vi ; co为惯性权重;Pi和gi分别为该粒子的历史最优位置以及全局历史最优位置;cl和c2为学习因子,代表了将每个粒子拉向Pi和gi位置的随机加速项的权重;v_和Xmax分别代表速度限制和位置限制。
[0116]所述公式(2)中Cl和c2优选的分别设定为1.4和0.6 ;
[0117]惯性权重gj优选为[0,I]之间的随机数。
[0118]以下是本发明的具体实施例3:
[0119]社会学相关统计研究表明,社交论坛中的网络水军一般存在以下几个特点:1用户账号短;2在线时长短;3与其他用户的联系程度低;4发帖时间集中且有规律;5与其他用户几乎不交互。本专利对每个用户从以上几个方面进行衡量,用量化的方式表示用户在各个方面的符合程度,并将量化后的结果组成一个向量来表征这个用户的特征,进而通过粒子群算法在众多用户向量中找到符合特定标准的向量作为网络水军账号的识别结果。系统对论坛中注册用户进行水军账号识别的流程如图4所示。
[0120]水军账号特征向量表示框架
[0121]在网络论坛中,一个用户包含有很多方面的信息,比如用户名、密码、注册时间、登录次数、最近登录时间、浏览历史记录、发帖记录、回帖记录、朋友圈、浏览历史记录、收藏帖子记录、登录IP记录等等。而正常网民和水军在一些信息维度上是有明显差异的,比如,正常网民的用户名一般是有特定含义的,所以用户名长度一般在4-12个英文字符之间,而水军为了操作简单,经常会使用一个或两个英文字符的用户名;正常网民在论坛中的登录时间是没有规律的,而水军在线的时间一般是在特定时间段,而且在关于某个话题造势期间,水军会频繁登录论坛进行发帖,当造势任务结束后,则很少登录论坛;正常网民在论坛中的大部分时间是浏览帖子,而水军登录论坛只是为了发布水贴,所以他们大部分时间用于发帖,几乎不会浏览其他帖子;正常网民在论坛中会与其他网民就某个问题进行发回帖交互,而网络水军只负责对特定主题发布特定内容的帖子,回帖解释并不在他们工作范围之内,所以此类水贴很少对回复贴进行处理;正常网民在论坛所构建的环境中会有相应的朋友圈,构成一个小型的社交网络,而网络水军只以发帖为目的,几乎不会存在社交圈。本专利利用正常用户和水军在上述维度的区别,提出了一种基于特征向量的用户账号表示框架,将每个用户在上述维度进行量化表示,进而结合粒子群算法对各个用户是否水军做出判断。
[0122]用户名长度评价指标
[0123]根据相关社会学研究表明,一般社交论坛中正常网民的用户民都是有特定含义的,其字符数量一般在4-12个不等,而多数水军为了简单起见,所使用的用户名是没有意义且简短的,一般在1-3个字符长度之间。因此,利用这一点,可以将用户名长短作为衡量一个账号是否水军账号的标准之一。如公式(I)所示,本专利将用户名长度统一以12为标准进行归一化,即,某个账号的归一化用户名长度为其真实用户名长度除以12。
[0124]归一化用户名长度U=用户长度u/12(I)
[0125]比如用户名abc ,其归一化用户名长度为0.25 ;用户名aven,其归一化用户名长度为0.33。显然的,归一化用户名长度越小,代表其用户名长度越短,此账号是水军账号的可能性也就越高。
[0126]论坛在线时间评价指标
[0127]从论坛在线规律来讲,如表1所示,正常用户登录论坛的时间是随机的,没有很强的规律性,每次在线时长长短不一,而且从注册到最近一次登录之间的各次登陆,从时间上来说应该是随机分布的。而水军的工作是登录论坛发布水贴,所以他们登录论坛的时间多数是有规律性的;从在线时长上来说,水军一般完成了发帖任务后不会在论坛逗留,所以他们每次的在线时长都比较短;从登录频率来讲,水军一般会为了一次宣传任务注册一个账号,持续一段时间用此账号发水帖,之后这个账号便被遗弃不用。
[0128]
【权利要求】
1.一种基于粒子群算法的网络水军账号识别方法,其特征在于,具体包括以下步骤: 步骤1:收集0个用户的用户信息,从所述每个用户信息中提取\个相关指标,得到&个指标向量,每个指标向量中包括\个指标,所述0和X为大于I的自然数; 步骤2:对每个指标向量中的\个指标根据需要分配权重,得到各个指标的权重向量; 步骤3:将P个指标向量按照同一维度中各个指标的大小进行排序,得到\个序列,其中相邻的指标向量互为邻居; 步骤4:选取每个用户为粒子,选取用户指标向量为粒子位置信息,选取权重向量与用户指标向量的点积作为位置优劣衡量指标,应用粒子群算法,将其中用户的权重向量与用户指标向量的点积小于设定值的粒子保存到水军用户列表; 步骤5:选取水军用户列表中所有可疑水军用户,分别从各个维度上搜索所述可疑水军用户的邻居,将符合条件的所有邻居加入水军用户列表。
2.根据权利要求1所述的一种基于粒子群算法的网络水军账号识别方法,其特征在于,所述步骤4中的粒子群算法具体包括以下步骤: 步骤4.1:选取每个用户为粒子,选取用户指标向量为粒子位置向量,选取权重向量与用户指标向量的点积作为位置优劣衡量指标; 步骤4.2:计算得到每个粒子的速度向量,依次将当前位置向量的每个维度和速度向量的每个维度相加,得到维度值; 步骤4.3:按照步骤3得到的序列,将每个粒子移动到一个最近的位置; 步骤4.4:迭代执行步骤4.3,直到粒子移动的次数是否达到预定次数或者三个粒子收敛到同一位置; 步骤4.5:将迭代过程中所有符合预设条件的粒子保存到水军用户列表。
3.根据权利要求1或2所述的一种基于粒子群算法的网络水军账号识别方法,其特征在于,所述步骤5包括以下步骤: 步骤5.1:选取水军用户列表中的一个可疑水军用户,根据步骤3得到的序列查找此可疑水军用户在各个维度上的邻居; 步骤5.2:判断所有邻居的权重向量与用户指标向量的点积是否小于设定值,如果是,将所有点积小于设定值的邻居保存到水军用户列表,并进行下一步;否则,跳转至步骤5.4 ; 步骤5.3:将水军用户列表中的邻居作为一个可疑水军用户,跳转至步骤5.1 ; 步骤5.4:判断是否存在未查找邻居的可疑水军用户,如果有,跳转至步骤5.1 ;否则,结束。
4.根据权利要求2所述的一种基于粒子群算法的网络水军账号识别方法,其特征在于,位置更新公式为: Xi (t+l)=xi(t)+vi (t+1)(I) 速度更新公式为:
Vi (t+1) = co X ViCt)+C1 X rand() x (Pi (t)-Xi (t) +C2 x rand() x (gj (t)-Xi (t)) (2) 其中,第i个粒子位置表示为向量Xi ;第i个粒子的位置变化率为向量Vi ; ?为惯性权重;Pi和gi分别为该粒子的历史最优位置以及全局历史最优位置;cl和c2为学习因子,代表了将每个粒子拉向Pi和gi位置的随机加速项的权重;V_和Xmax分别代表速度限制和位置限制。
5.根据权利要求4所述的一种基于粒子群算法的网络水军账号识别方法,其特征在于,所述公式(2)中Cl和c2优选的分别设定为1.4和0.6 ;惯性权重《优选为[0,I]之间的随机数。
6.一种基于粒子群算法的网络水军账号识别系统,其特征在于,包括:指标提取模块、权重分配模块、排序模块、粒子群算法模块和邻居搜索模块; 所述指标提取模块用于收集P个用户的用户信息,从所述每个用户信息中提取、个相关指标,得到P个指标向量,每个指标向量中包括、个指标,所述n和m为大于I的自然数; 所述权重分配模块用于对每个指标向量中的X个指标根据需要分配权重,得到各个指标的权重向量; 所述排序模块用于将P个指标向量按照同一维度中各个指标的大小进行排序,得到A个序列,其中相邻的指标向量互为邻居; 所述粒子群算法模块用于选取每个用户为粒子,选取用户指标向量为粒子位置信息,选取权重向量与用户指标向量的点积作为位置优劣衡量指标,应用粒子群算法,将其中用户的权重向量与用户指标向量的点积小于设定值的粒子保存到水军用户列表; 所述邻居搜索模块用于选取水军用户列表中所有可疑水军用户,分别从各个维度上搜索所述可疑水军用户的邻居,将符合条件的所有邻居加入水军用户列表。
7.根据权利要求6所述的一种基于粒子群算法的网络水军账号识别系统,其特征在于,所述粒子群算法模块包括粒子选取模块、维度值计算模块、粒子移动模块、迭代模块和列表保存模块; 所述粒子选取模块用于选取每个用户为粒子,选取用户指标向量为粒子位置向量,选取权重向量与用户指标向量的点积作为位置优劣衡量指标; 所述维度值计算模块用于计算得到每个粒子的速度向量,依次将当前位置向量的每个维度和速度向量的每个维度相加,得到维度值; 所述粒子移动模块按照排序模块得到的序列,将每个粒子移动到一个最近的位置;所述迭代模块用于迭代执行粒子移动模块的移动,直到粒子移动的次数是否达到预定次数或者三个粒子收敛到同一位置; 所述列表保存模块用于将迭代过程中所有符合预设条件的粒子保存到水军用户列表。
8.根据权利要求6或7所述的一种基于粒子群算法的网络水军账号识别系统,其特征在于,所述邻居搜索模块包括邻居查找模块和邻居添加模块; 所述邻居查找模块用于选取水军用户列表中的所有可疑水军用户,根据排序模块得到的序列查找此可疑水军用户在各个维度上的邻居; 所述邻居添加模块用于将所有权重向量与用户指标向量的点积小于设定值的邻居保存到水军用户列表。
9.根据权利要求8所述的一种基于粒子群算法的网络水军账号识别系统,其特征在于, 位置更新公式为:Xi (t+1) =Xi (t)+Vi (t+1)(I) 速度更新公式为:
Vi (t+1) = co X ViCt)+C1 X rand() x (Pi (t)-Xi (t) +C2 x rand() x (gj (t)-Xi (t)) (2) 其中,第i个粒子位置表示为向量Xi ;第i个粒子的位置变化率为向量Vi ; ?为惯性权重;Pi和gi分别为该粒子的历史最优位置以及全局历史最优位置;cl和c2为学习因子,代表了将每个粒子拉向Pi和gi位置的随机加速项的权重和分别代表速度限制和位置限制。
10.根据权利要求9所述的一种基于粒子群算法的网络水军账号识别系统,其特征在于, 所述公式(2)中Cl和c2优选的分别设定为1.4和0.6 ; 惯性权重《优选 为[0,I]之间的随机数。
【文档编号】G06F17/30GK103617235SQ201310611396
【公开日】2014年3月5日 申请日期:2013年11月26日 优先权日:2013年11月26日
【发明者】黄超, 牛温佳, 管洋洋, 李倩, 刘萍, 郭莉 申请人:中国科学院信息工程研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1