本发明涉及社交网络异常检测领域,特别涉及一种在线社交网络异常传播检测方法及系统。
背景技术:
1、随着网络技术的快速发展,越来越多的人借助网络进行社交,因此网络中的记录着个人信息及人与人间的关系信息,这种记录个人信息及人与人间关系信息的网络叫做在线社交网络,如微博社交网络。在线社交网络具有便捷性好、灵活性高、实时性强的特点。在线社交网络在加强了人与人之间的沟通,然而随着在线社交网络用户的增多,不以社交为目的的用户也随之出现,这些用户往往利用在线网络快速传播扩散虚假信息、垃圾信息或有害信息,从而引导舆论走向或牟取利益。这些异常信息的传播降低了在线社交网络中其他用户的社交体验,甚至威胁到了其他用户的财产安全。因此对于社交网络中的异常信息传播检测是非常重要的。
2、目前基于交互的在线社交网络异常用户检测方法是社交网络异常检测的常用方法,基于交互的在线社交网络异常用户检测方法在用户使用某些功能之前,通过设置预设问题或者产生验证码验证用户身份,从而检测并限制异常用户发表言论或进行异常操作,且这种方法成本低。然而这种方法只能检测到使用自动程序的恶意用户,对于人为散布传播不良信息无法有效识别。
技术实现思路
1、本发明目的是为了解决现有社交网络异常传播检测方法还存在无法有效识别人为散布传播的不良信息的问题,而提出了一种在线社交网络异常传播检测方法及系统。
2、一种在线社交网络异常传播检测方法具体过程为:
3、步骤一、获取在线社交网络中用户的影响力值;
4、步骤二、基于用户影响力值初始化用户的异常等级,同时初始化用户的被识别次数ni=0;
5、步骤三、获取在线社交网络中的消息m;
6、步骤四、判断消息m中是否存在异常词汇,若存在异常词汇,则获取发布消息m的用户i,并利用用户i的影响力值yi和用户i的异常等级获取用户i的异常等级分数,然后执行步骤五;若消息m中不存在异常词汇则执行步骤十;
7、步骤五、令用户i的被识别次数ni=ni+1,判断ni是否大于用户i的被识别次数阈值ti;若ni>ti,则将用户i的异常等级分数更新为si,k+1,然后执行步骤六;否则,直接执行步骤八;
8、步骤六、判断用户i的当前异常等级分数是否大于异常等级分数阈值ts,若用户i的当前异常等级分数大于ts,则标记用户i为异常用户,然后执行步骤十;否则,执行步骤七;
9、步骤七、获取预设时间段内在线社交网络中与消息m相同的消息数量n'm,若n'm小于等于消息数量阈值,则执行步骤十;若n'm大于消息数量阈值,则将用户i的异常等级分数更新为si,k+2;
10、然后判断si,k+2是否大于异常等级分数阈值ts,若si,k+2>ts,则标记用户i为异常用户,然后执行步骤十;否则直接执行步骤十;
11、步骤八、判断用户i的当前异常等级分数是否大于异常等级分数阈值ts,若用户i的当前异常等级分数大于ts,则标记用户i为异常用户,然后执行步骤十;否则,执行步骤九;
12、步骤九、获取预设时间段内在线社交网络中与消息m相同的消息数量n'm,若n'm小于等于消息数量阈值,则执行步骤十;若n'm大于消息数量阈值,则将用户i的异常等级分数更新为si,k+1;
13、然后判断si,k+1是否大于异常等级分数阈值ts,若si,k+1>ts,则标记用户i为异常用户,然后执行步骤十;否则直接执行步骤十;
14、步骤十、令m=m+1并返回步骤三。
15、进一步地,所述步骤一中的获取在线社交网络中用户的影响力值,具体为:
16、
17、其中,yi是用户i的影响力值,nfans是用户i的粉丝数量nfans,nf是预设时间段δt内用户i发布消息数量,np是用户i发布nf条消息获得的评论总数量,nd是用户i发布nf条消息点赞总数量,α是预设的评论权重,β是预设的点赞权重,nfans是预设的粉丝数量权重。
18、进一步地,所述步骤二中的基于用户影响力值初始化用户的异常等级,同时初始化用户的被识别次数,具体为:
19、首先,利用用户影响力值yi初始化用户i的异常等级,具体为:
20、设定k个依次递增的异常等级阈值{t1,t2,....,tk},从而获得k+1个异常等级,利用yi与tk比较,获得用户i的异常等级;
21、若tk≤yi<tk+1则用户i的异常等级为k;
22、其中,k=1时异常等级最低,k=k时异常等级最高;
23、然后,初始化用户i的被识别次数ni=0。
24、进一步地,所述步骤四中的判断消息m中是否存在异常词汇,若存在异常词汇,则获取发布消息m的用户i,并利用用户i的影响力值yi和用户i的异常等级获取用户i的异常等级分数,然后执行步骤五;若消息m中不存在异常词汇则执行步骤八,具体为:
25、步骤四一、判断消息m中是否存在异常词汇,具体为:
26、步骤四一一、对消息m进行预处理,获得消息m中的词汇向量:
27、首先,采用snownlp工具将消息m划分为最小单元结构;
28、所述最小单元结构包括:1个字符、2个字符、3个字符、4个字符;
29、然后,去除划分为最小单元结构后的消息m中的无含义的词汇;
30、所述无含义的词汇包括:连词、介词、语气助词;
31、最后,采用one-hot编码对去除无含义词汇后的最小单元结构编码,并将不同长度的编码后的最小单元结构补0为相同长度,从而获得消息m中的词汇向量;
32、步骤四一二、将消息m中的词汇向量输入到训练好的异常词汇检测模型中,判断每个词汇向量是否为异常词汇;
33、步骤四二、基于步骤四一的判断结果获取消息m中异常词汇的数量nm,若nm=0则执行步骤八,若nm≠0则执行步骤四三;
34、步骤四三、获取发送消息m的用户i,并利用用户i的影响力值yi和用户i的异常等级获取用户i的异常等级分数,然后执行步骤五。
35、进一步地,所述步骤四一二中的训练好的异常词汇检测模型,通过如下方式获得:
36、s1、获取在线社交网络中的历史消息数据,并对历史消息数据进行预处理,获得历史消息词汇向量:
37、首先,采用snownlp工具将历史消息划分为最小单元结构;
38、然后,去除划分为最小单元结构后的历史消息中的无含义的词汇;
39、最后,采用one-hot编码对去除无含义词汇后的历史消息的最小单元结构编码,并将不同长度的编码后的历史消息最小单元结构补0为相同长度,从而获得历史消息词汇向量;
40、s2、为每个历史消息词汇向量设定标签,将标签和历史消息词汇向量组成训练集;
41、历史消息词汇向量的标签为0或1;0表示当前词汇不是异常词汇、1表示当前词汇是异常词汇;
42、所述异常词汇包括:攻击性词汇、销售性词汇、破坏团结性词汇、暴力性词汇;
43、s3、利用训练集训练异常词汇检测模型,获得训练好的异常词汇检测模型;
44、所述异常词汇检测模型包括:输入层、卷积层、池化层、全连接层、softmax层;
45、所述异常词汇检测模型的损失函数为交叉熵损失函数。
46、进一步地,所述步骤四三中的利用用户i的影响力值yi和用户i的异常等级获取用户i的异常等级分数,具体为:
47、
48、其中,ωk∈[0,1],ωk是异常等级k的权重,nm是消息m中词汇总数,nm是消息m中异常词汇的数量。
49、进一步地
50、用户i的被识别次数阈值ti,具体为:
51、
52、其中,r是常数,是向上取整符号。
53、一种在线社交网络异常传播检测系统,包括:影响力值获取模块、异常等级和被识别次数初始化模块、消息获取模块、异常用户判断模块;
54、所述影响力值获取模块用于获取社交网络中的用户影响力,具体为:
55、
56、其中,yi是用户i的影响力值,nfans是用户i的粉丝数量nfans,nf是预设时间段δt内用户i发布消息数量,np是用户i发布nf条消息获得的评论总数量,nd是用户i发布nf条消息点赞总数量,α是预设的评论权重,β是预设的点赞权重,nfans是预设的粉丝数量权重;
57、所述异常等级和被识别次数初始化模块用于初始化用户被识别次数,同时利用用户影响力初始化用户异常等级,具体为:
58、a201、利用用户影响力值初始化用户i的异常等级,具体为:
59、设定k个依次递增的异常等级阈值{t1,t2,....,tk},从而获得k+1个异常等级,利用yi与tk比较,获得用户i的异常等级;
60、若tk≤yi<tk+1则用户i的异常等级为k;
61、其中,k=1时异常等级最低,k=k时异常等级最高;
62、a202、初始化用户i的被识别次数ni=0;
63、所述消息获取模块用于获取社交网络中的消息m;
64、所述异常用户判断模块利用用户被识别次数、用户异常等级、消息m检测异常用户。
65、进一步地,所述异常用户判断模块利用用户被识别次数、用户异常等级、消息m检测异常用户,具体为:
66、a301、判断消息m中是否存在异常词汇;
67、a302、基于a301判断结果获取消息m中异常词汇的数量nm,若nm=0则执行a309,若nm≠0则执行a303;
68、a303、获取发送消息m的用户i,利用用户i的影响力值yi获取用户i的异常等级分数,然后执行a304;
69、用户i的影响力值yi获取用户i的异常等级分数,具体为:
70、
71、其中,ωk∈[0,1],ωk是异常等级k的权重,nm是消息m中词汇总数,nm是消息m中异常词汇的数量;
72、a304、令ni=ni+1,判断ni是否大于用户i的被识别次数阈值ti;若ni>ti,则令用户i的异常等级分数更新为si,k+1,然后执行a305;否则,直接执行a307;
73、用户i的被识别次数阈值ti,具体为:
74、
75、其中,r是常数,是向上取整符号;
76、a305、判断当前用户异常等级分数是否大于异常等级分数阈值ts,若当前异常等级分数大于ts,则将用户i为异常用户,然后执行a309;否则,执行a306;
77、a306、获取预设时间段内在线社交网络中与消息m相同的消息数量n'm,若n'm小于等于消息数量阈值,则执行a309;若n'm大于消息数量阈值,则将用户i的异常等级分数更新为si,k+2;
78、然后判断si,k+2是否大于异常等级分数阈值ts,若si,k+2>ts,则标记用户i为异常用户,然后执行a309;否则直接执行a309;
79、a307、判断用户i的当前异常等级分数是否大于异常等级分数阈值ts,若用户i的当前异常等级分数大于ts,则标记用户i为异常用户,然后执行a309;否则,执行步骤a308;
80、a308、获取预设时间段内在线社交网络中与消息m相同的消息数量n'm,若n'm小于等于消息数量阈值,则执行a309;若n'm大于消息数量阈值,则将用户i的异常等级分数更新为si,k+1;
81、然后判断si,k+1是否大于异常等级分数阈值ts,若si,k+1>ts,则标记用户i为异常用户,然后执行a309;否则直接执行a309;
82、a309、令m=m+1并返回消息获取模块。
83、进一步地,所述a301中的判断消息m中是否存在异常词汇,具体为:
84、a301、判断消息m中是否存在异常词汇,具体为:
85、a301-1、对消息m进行预处理,获得消息m中的词汇向量,具体为:
86、首先,采用snownlp工具将消息m划分为最小单元结构;
87、所述最小单元结构包括:1个字符、2个字符、3个字符、4个字符;
88、然后,去除划分为最小单元结构后的消息m中的无含义的词汇;
89、所述无含义的词汇包括:连词、介词、语气助词;
90、最后,采用one-hot编码对去除无含义词汇后的最小单元结构编码,并将不同长度的编码后的最小单元结构补0为相同长度,从而获得消息m中的词汇向量;
91、a301-2、将消息m中的词汇向量输入到训练好的异常词汇检测模型中,判断每个词汇向量是否为异常词汇;
92、所述训练好的异常词汇检测模型,通过以下方式获得:
93、b1、获取在线社交网络中的历史消息数据,并对历史消息数据进行预处理,获得历史消息词汇向量:
94、首先,采用snownlp工具将历史消息划分为最小单元结构;
95、然后,去除划分为最小单元结构后的历史消息中的无含义的词汇;
96、最后,采用one-hot编码对去除无含义词汇后的历史消息的最小单元结构编码,并将不同长度的编码后的历史消息最小单元结构补0为相同长度,从而获得历史消息词汇向量;
97、b2、为每个历史消息词汇向量设定标签,将标签和历史消息词汇向量组成训练集;
98、历史消息词汇向量的标签为0或1;0表示当前词汇不是异常词汇、1表示当前词汇是异常词汇;
99、所述异常词汇包括:攻击性词汇、销售性词汇、破坏团结性词汇、暴力性词汇;
100、b3、利用训练集训练异常词汇检测模型,获得训练好的异常词汇检测模型;
101、所述异常词汇检测模型包括:输入层、卷积层、池化层、全连接层、softmax层;
102、所述异常词汇检测模型的损失函数为交叉熵损失函数。
103、本发明的有益效果为:
104、本发明首先评估在线社交网络中用户的影响力,然后根据影响力将用户划分为不同异常等级,根据影响力和异常等级为不同用户设定不同的异常等级分数,使影响力大的用户异常等级分数大,后续更容易达到异常等级分数阈值,从而了削弱了影响力大的用户传播异常消息的影响力。本发明识别在线社交网络中的消息是否有异常词汇及异常词汇数量,若当前消息有异常词汇则识别发送异常消息的用户,并基于用户被识别的次数判断是否需要更新异常等级分数,同时判断预设时间段内相同消息数量,从而判断是否再次更新异常等级分数。本发明能够有效识别人为主动散布的异常消息,从而锁定异常用户,从而避免在线社交网络中异常消息的大范围传播。
1.一种在线社交网络异常传播检测方法,其特征在于所述方法具体过程为:
2.根据权利要求1所述的一种在线社交网络异常传播检测方法,其特征在于:所述步骤一中的获取在线社交网络中用户的影响力值,具体为:
3.根据权利要求2所述的一种在线社交网络异常传播检测方法,其特征在于:所述步骤二中的基于用户影响力值初始化用户的异常等级,同时初始化用户的被识别次数,具体为:
4.根据权利要求3所述的一种在线社交网络异常传播检测方法,其特征在于:所述步骤四中的判断消息m中是否存在异常词汇,若存在异常词汇,则获取发布消息m的用户i,并利用用户i的影响力值yi和用户i的异常等级获取用户i的异常等级分数,然后执行步骤五;若消息m中不存在异常词汇则执行步骤八,具体为:
5.根据权利要求4所述的一种在线社交网络异常传播检测方法,其特征在于:所述步骤四一二中的训练好的异常词汇检测模型,通过如下方式获得:
6.根据权利要求5所述的一种在线社交网络异常传播检测方法,其特征在于:所述步骤四三中的利用用户i的影响力值yi和用户i的异常等级获取用户i的异常等级分数,具体为:
7.根据权利要求6所述的一种在线社交网络异常传播检测方法,其特征在于:步骤五中的
8.一种在线社交网络异常传播检测系统,其特征在于:所述系统包括:影响力值获取模块、异常等级和被识别次数初始化模块、消息获取模块、异常用户判断模块;
9.根据权利要求8所述的一种在线社交网络异常传播检测系统,其特征在于:所述异常用户判断模块利用用户被识别次数、用户异常等级、消息m检测异常用户,具体为:
10.根据权利要求9所述的一种在线社交网络异常传播检测系统,其特征在于:所述a301中的判断消息m中是否存在异常词汇,具体为: