一种基于账号属性的异常消息检测方法及设备的制作方法

文档序号:7981470阅读:128来源:国知局
一种基于账号属性的异常消息检测方法及设备的制作方法
【专利摘要】本发明公开了一种异常消息检测方法,包括:将被检测消息的文本划分为多个文本段;获取每一文本段的一个或多个账号属性,并确定对应于所述每一文本段各账号属性的发表比例参数;根据所述发表比例参数确定所述每一文本段对应各账号属性的第一因子;根据所述每一文本段对应各账号属性的第一因子确定第二因子;根据所述第二因子确定所述被检测消息是否为异常消息。通过将消息的发表账号属性与无差别文本分割处理结合使用贝叶斯算法,从而实现了对微博批量垃圾消息的有效限制,同时提高了垃圾消息处理的灵活性。
【专利说明】一种基于账号属性的异常消息检测方法及设备
【技术领域】
[0001]本发明涉及计算机网络领域,特别涉及一种基于账号属性的异常消息检测方法及系统。
【背景技术】
[0002]网络即时通讯(IM, Instant Massager)工具发展到今天,已经被大多数的网络用户所接受,并成为网络用户必不可少的软件工具之一,不但在平时的休闲娱乐中使用,而且在用户的工作中也得到了广泛使用。在IM软件中,主要实现的是一对一的好友单独聊天以及一对N的群或者讨论组的消息聊天模式。随着互联网应用的不断发展,类似推特(twitter)的微博应用也在不断发展壮大。
[0003]微博是微型博客的简称,其信息传递效率高,门槛低。通过微博用户可以非常快速的进行信息的传播与传递,实现用户消息聊天模式从一对一、一对N到一对无穷的一种跨越。这种一对无穷的模式意味着一个人可以对无穷多个人进行消息的传播,同时一个人也可以收听万级以上的用户的消息。但与此同时,这种大用户量的应用必然也会被许多的广告发布者利用,通过微博向用户转发大量的广告或是垃圾消息,这不仅造成了网络资源的浪费,同时还会影响用户的产品使用体验。
[0004]现有技术中,微博运营商通过事先收集大量的垃圾消息和非垃圾消息,建立垃圾消息和非垃圾消息集,在接收到新的消息后,首先对被检测消息进行分词处理,然后再对这些词分别求其在正常消息和垃圾消息样本中出现的次数,统计其属于垃圾消息的概率,进而根据贝叶斯公式计算整条消息属于垃圾消息的概率。
[0005]然而,在实际应用当中,发明人发现以上方法有很大的缺点,无法覆盖到大部分的微博的垃圾消息,主要原因如下:
(I)、难以准确获取垃圾消息样本库:
垃圾消息样本库一般只能靠人工或者是其他一些行为检测算法发现,发现的时间往往有数小时的延迟,并且都存在误判的情况。这样对于样本的完整性和准确性都有很大的影响,直接导致每个词的垃圾消息概率与真实值有极大的偏差。
[0006](2)、现有的垃圾消息或广告针对分词做规避处理,导致无法正确分词:
传统的检测方法依赖于对被检测消息的分词处理,因此垃圾消息发送者在发送垃圾消息或广告前往往会针对以上情况对消息进行处理:在词句中间增加干扰符号,或利用孤僻的谐音字代替常用字。从而导致消息在分词之后变成了一个个孤立的字,无法与样本库中的词准确匹配。

【发明内容】

[0007]本发明提供一种异常消息检测方法和设备,直接根据发表账号的属性特征,确定发送正常消息账号和垃圾消息账号的属性异常概率;同时将消息文本进行划分,通过计算划分文本段的历史发表的总账号数与当前账号属性的账号数的因子,结合属性异常概率进行贝叶斯计算。
[0008]为达到上述目的,本发明一方面提供了一种异常消息检测方法,包括:
将被检测消息的文本划分为多个文本段;
获取每一文本段的一个或多个账号属性,并确定对应于所述每一文本段各账号属性的发表比例参数;
根据所述发表比例参数确定所述每一文本段对应各账号属性的第一因子;
根据所述每一文本段对应各账号属性的第一因子确定第二因子;
根据所述第二因子确定所述被检测消息是否为异常消息。
[0009]优选地,所述发表比例参数,具体为总共发表过所述文本段的用户数与在所述账号属性下发表过所述文本段的用户数的比值。
[0010]优选地,根据所述发表比例参数确定所述每一文本段对应各账号属性的第一因子,具体包括:获取各所述账号属性对应的异常概率,将各所述账号属性对应的发表比例参数与所述异常概率的乘积作为所述文本段对应各账号属性的第一因子。
[0011]优选地,根据所述每一文本段对应各账号属性的第一因子计算第二因子,具体包括:根据所述每一文本段对应各所述账号属性的第一因子,通过贝叶斯公式计算所述被检测消息在各所述账号属性下的 第二因子。
[0012]优选地,根据所述第二因子确定所述被检测消息是否为异常消息,具体包括:判断所述被检测消息在一个或多个所述账号属性下的第二因子是否超过阈值,若是,则确定所述被检测消息为异常消息;或,判断所述被检测消息各所述账号属性的第二因子之乘积是否超过阈值,若是,则确定所述被检测消息为异常消息。
[0013]优选地,根据所述每一文本段对应各账号属性的第一因子计算第二因子,还包括:计算所述文本段所有账号属性对应的第一因子的总乘积;根据所述文本段所有账号属性对应的第一因子的总乘积,通过贝叶斯公式计算所述被检测消息的第二因子。
[0014]优选地,根据所述被检测消息的第二因子确定所述被检测消息是否为异常消息,具体包括:判断所述被检测消息的第二因子是否超过阈值,若是,则确定所述被检测消息为异常消息。
[0015]优选地,所述用于计算的贝叶斯公式,具体为:P(A I t1; t2, t3......tn) = (P1*
P2*......PN) / [P1* P2*......Pn+(1-P1)*(1-P2)*……(1-PN)],其中,P(A | t2,t3......tn)
为所述第二因子,Pn为所述第一因子或所述第一因子的总乘积。
[0016]另一方面,本发明还提供了一种基于账号属性的异常消息检测设备,包括:划分模块,用于将被检测消息的文本划分为多个文本段;获取模块,用于获取每一文本段的一个或多个账号属性;确定模块,分别与所述划分模块及所述获取模块相连,用于确定对应于所述每一文本段各账号属性的发表比例参数,根据所述发表比例参数确定所述每一文本段对应各账号属性的第一因子;根据所述每一文本段对应各账号属性的第一因子确定第二因子;根据所述第二因子确定所述被检测消息是否为异常消息。
[0017]优选地,所述确定模块,具体用于确定总共发表过所述文本段的用户数与在所述账号属性下发表过所述文本段的用户数的比值。
[0018]优选地,所述获取模块,还用于获取各所述账号属性对应的异常概率。
[0019]优选地,还包括计算模块,其中所述计算模块,用于计算各所述账号属性对应的发表比例参数与所述异常概率的乘积,和/或;计算所述每一文本段所有账号属性对应的发表比例参数与所述异常概率的总乘积。
[0020]优选地,所述计算模块,还用于根据所述每一文本段对应各所述账号属性的第一因子,通过贝叶斯公式计算所述被检测消息在各所述账号属性下的第二因子;或,根据所述文本段所有账号属性对应的第一因子的总乘积,通过贝叶斯公式计算所述被检测消息的第
二因子。
[0021]优选地,还包括存储模块,其中所述存储模块与所述划分模块相连,用于接收并缓存所述被检测消息。
[0022]与现有技术相比,本发明具有以下优点:
通过应用本发明的技术方案,将消息的发表账号属性与无差别文本分割处理结合使用贝叶斯算法,无需再收集正常样本与垃圾消息样本,同时也尽可能地保留了异常消息的原始特征,从而实现了对微博批量垃圾消息的有效限制,由于该异常消息的处理过程不需要人工参与或系统协助提供样本,因此完全实现了自学习智能化识别处理,提高了垃圾消息处理的灵活性。
【专利附图】

【附图说明】
[0023]图1为本发明提出的一种异常消息检测方法流程图;
图2为本发明在具体应用场景下提出的一种异常消息检测方法流程图;
图3为现有技术中一种异常消息的具体示例图;
图4为本发明在具体应用场景下提出的另一种异常消息检测方法流程图;
图5为本发明提出的一种异常消息检测设备结构图。
【具体实施方式】
[0024]如【背景技术】所述,由于对垃圾消息样本库的即时更新维护和针对人为设置的分词干扰在现有技术中并没有明确的实现方案,因此现有的异常消息检测技术无法覆盖到大部分的微博的垃圾消息,从而不能实现针对异常消息的即时有效的检测。
[0025]为了解决上述问题,本发明提供了一种异常消息检测方法,其中不再需要预先建立及维护正常样本或垃圾消息样本库,而是直接根据发表账号的属性特征,确定发送正常消息账号和垃圾消息账号的属性异常概率;同时亦不再对新进入的消息进行特定的分词,而是直接将消息文本进行划分,通过计算划分文本段的历史发表的总账号数与当前账号属性的账号数的比值,结合属性异常概率进行贝叶斯计算。
[0026]如图1所述,为本发明所提出的一种异常消息检测方法的流程示意图,具体包括以下步骤:
步骤SlOl、将被检测消息的文本划分为多个文本段;
与现有技术所不同的是,在该步骤中,对于被检测消息文本的划分并不涉及特定的划分规则,也无需参考任何样本库,所划分出来的各文本段之间均是无差别的;同时,基于长短不一的消息文本所划分的文本段的具体数量也可根据实际情况灵活调节,以能够达到最佳统计效果为准,这样的改变并不影响本发明的保护范围。
[0027]步骤S102、获取每一文本段的一个或多个账号属性,并确定对应于所述每一文本段各账号属性的发表比例参数;
由于多个文本段均是从同一个被检测消息文本所划分出来的,其彼此之间共享同一个发表账号,因此各文本段账号属性的获取方式可以存在很多种形式,这对本发明的保护范围并没有影响。
[0028]步骤S103、根据所述发表比例参数确定所述每一文本段对应各账号属性的第一因子;
由于当前文本段的每一个账号属性都对应着一个第一因子,因此在该文本段下同时存在着多个第一因子,其分别对应该文本段的各个账号属性;这样做的好处是在后续的判断过程中本领域技术人员可以分别根据各个不同的账号属性进行整体性的分析或针对性的处理。
[0029]步骤S104、根据所述每一文本段对应各账号属性的第一因子确定第二因子;
需要具体指出的是,在需要同时根据多个账号属性进行统计计算的情况下,该第二因
子及其相应的获取流程具体包括以下两种方法:
方法一、针对每一个文本段的各个账号属性的第一因子确定第二因子:
在该情况下,本步骤中将步骤S103中各个第一因子作为计算输入值,对应输出多个数值结果作为被检测消息对应于各账号属性的第二因子(为使叙述更为清楚明确,以下“第二因子”均以“恶意概率”指代)。
[0030]方法二、基于每一个文本段的所有账号属性下第一因子的总乘积确定第二因子: 在该情况下,针对当前文本段各个账号属性所作的初步统计计算结果(即所有的第一
因子)将被汇总并相乘,即每一个文本段下只存在唯一一个与之相对应的总乘积,根据概率学原理,该乘积结果是一个从整体上无差别地反映当前文本段是否属于垃圾消息的概率值,或是输出一个反映被检测消息整体恶意概率的数值结果。因此,该方法可适用于需要同时处理大量消息的场合,为快速处理消息进行准备。
[0031]步骤S105、根据所述第二因子确定所述被检测消息是否为异常消息。
[0032]与现有技术相比,本发明具有以下优点:
通过应用本发明的技术方案,将消息的发表账号属性与无差别文本分割处理结合使用贝叶斯算法,无需再收集正常样本与垃圾消息样本,同时也尽可能地保留了异常消息的原始特征,从而实现了对微博批量垃圾消息的有效限制,由于该异常消息的处理过程不需要人工参与或系统协助提供样本,因此完全实现了自学习智能化识别处理,提高了垃圾消息处理的灵活性。
[0033]为了进一步阐述本发明的技术思想,现结合具体的应用场景,对本发明的技术方案进行说明。
[0034]本发明提出了一种异常消息检测方法,通过引入账号属性,结合无差别文本分割处理,可以在无需事先导入样本的前提下,实现对垃圾消息的有效限制。
[0035]如图2所示,为本发明具体实施例提供的一种异常消息检测方法流程图,具体包括以下步骤:
步骤S201,接收并缓存被检测消息。
[0036]具体地,系统发现如图3所示的一条消息,将其缓存至内存中,准备下一步的处理。[0037]步骤S202,将被检测消息文本划分为多个文本段。
[0038]在本实施例中,以每3-4个字节一段对消息文本进行分段。因为在GBK模式下,每个中文占两个字节,而一个英文占一个字节。如果是纯英文的,则一次可以切分4个字节,4个英文字母;有一个中文一个英文的,则切分3个字节,一个英文字母一个中文;全是中文的则切分4个字节,2个中文。具体操作示例如下:
将图3中的消息文本进行分段,分成“了放”、“知从”、“AB(此处代表四个字节字符串)”、“最火”、“AB”、“爆的”、“蔵AB”、“人游”、“AB戏”、“男女”、“老少”、“都上”、“AB”、“瘾来”、“挑AB”、“战吧”、“地 AB”、“址”、“AB.CDE.COM”、“了放”、“知从”、“ο ( H _ η )ο”、“了放”、“知从”、“ΑΒ 24”。
[0039]需要指出的是,在以上述方法切分完毕后,还将根据最后一个文字是中文还是英文,依次右移2个或I个字节。这样做的目的是能够对文本逐项分割,从而可涉及到所有可能的组合,这样即使有很多的文字变换或分割干扰,都不会影响到文本段的无差别性。
[0040]步骤S203,获取被检测消息的账号属性。
[0041]由于所划分的文本段均来自于同一个账号所发表的消息,因此本步骤中在获取了被检测消息的账号属性后,即相当于获取对应各文本段的各账号属性。其中,所获取的账号属性包括但不限于:新注册、注册地址、发表时间等。
[0042]同时,本领域技术人员可以理解,具体实现时,该获取账号属性的步骤与步骤S202没有严格的先后次序,二者可交换步骤或并列穿插执行。
[0043]步骤S204,统计对应于每一文本段各账号属性的发表比例参数η。
[0044]本步骤中,首先将分出的文本段存入哈希表中,对这个文本段的历史发表的用户总量和各账号属性下的用户总量做统计。例如:若当前的账号属性为新注册,则某一条字节段需要记录的量包括:总共发表过该字节段的用户数m,和总共发表过该字节段的新用户数n。然后,通过每个哈希表中的文本段的属性统计,根据η= n/m得到这个文本段在该“新注册”账号属性下的发表比例参数。例如,历史上发表过“ 了放”这个文本段的帐号有100个,其中属于“新注册”这个账号属性的帐号有90个,那么“ 了放”这个文本段对应“新注册”这个账号属性的发表比例参数就是90%。
[0045]相应地,针对该文本段其他账号属性的发表比例参数的获取工作亦如上所述,其中有关哈希表的数据存储读取及查找统计可参考现有的技术,在此 申请人:不再赘述。
[0046]步骤S205,获取各所述账号属性对应的异常概率ξ。
[0047]由于被检测消息的发表账号拥有着多种账号属性,因此可根据以往的分析经验为每种账号属性赋予其对应的异常概率;例如,经过对以往垃圾账号的分析了解发现,目前发送垃圾消息的帐号基本都是广告者自己新注册的,那么该“新注册”账号属性对应的异常概率可设为90% ;广告发送者一般选择凌晨的时段发送垃圾消息,那么“发表时间在00:00-4:00之间”账号属性对应的异常概率可设为90% ;另一方面,为了能够对垃圾消息的多种特征进行分析研究,可预先设置一个账号属性的异常概率,根据其他账号属性及最终结果进行调整,比如将“发送地点为A城市”该账号属性对应的异常概率预设为50%,若最终结果表明该消息为垃圾消息,则表明广告发布者主要集中在该城市,此时可将“发送地点为A城市”对应的异常概率适当地上调。
[0048]此外,还可预先根据以往处理结果获取垃圾消息的几个比较鲜明的账号属性(例如:新注册、发表时间在凌晨),直接将其对应的异常概述设为1,这样便可实现对大量消息进行快速处理。
[0049]步骤S206,计算每一文本段各账号属性对应的第一因子P”
[0050]基于步骤S205中各账号属性对应的发表比例参数η,以及步骤S205中各账号属性对应的异常概率ξ,本步骤中以此二者相乘,将各账号属性下的相应乘积作为各账号属性对应的第一因子Pi。例如,“新注册”该账号属性对应的发表比例参数Π= 0.9,其账号属性对应的异常概率为ξ= I (即100%),则“新注册”该账号属性对应的第一因子Pi = Il^l =90%。具体地,当前文本段各账号属性第一因子Pi的形式可如表1所示:
【权利要求】
1.一种异常消息检测方法,其特征在于, 将被检测消息的文本划分为多个文本段; 获取每一文本段的一个或多个账号属性,并确定对应于所述每一文本段各账号属性的发表比例参数; 根据所述发表比例参数确定所述每一文本段对应各账号属性的第一因子; 根据所述每一文本段对应各账号属性的第一因子确定第二因子; 根据所述第二因子确定所述被检测消息是否为异常消息。
2.如权利要求1所述的方法,其特征在于,所述发表比例参数,具体为: 总共发表过所述文本段的用户数与在所述账号属性下发表过所述文本段的用户数的比值。
3.如权利要求2所述的方法,其特征在于,根据所述发表比例参数确定所述每一文本段对应各账号属性的第一因子,具体包括: 获取各所述账号属性对应的异常概率,将各所述账号属性对应的发表比例参数与所述异常概率的乘积作为所述文本段对应各账号属性的第一因子。
4.如权利要求3所述的方法,其特征在于,根据所述每一文本段对应各账号属性的第一因子计算第二因子,具体包括: 根据所述每一文本段对应各所述账号属性的第一因子,通过贝叶斯公式计算所述被检测消息在各所述账号属性下的·第二因子。
5.如权利要求4所述的方法,其特征在于,根据所述第二因子确定所述被检测消息是否为异常消息,具体包括: 判断所述被检测消息在一个或多个所述账号属性下的第二因子是否超过阈值,若是,则确定所述被检测消息为异常消息; 或,判断所述被检测消息各所述账号属性的第二因子之乘积是否超过阈值,若是,则确定所述被检测消息为异常消息。
6.如权利要求3所述的方法,其特征在于,根据所述每一文本段对应各账号属性的第一因子计算第二因子,还包括: 计算所述文本段所有账号属性对应的第一因子的总乘积; 根据所述文本段所有账号属性对应的第一因子的总乘积,通过贝叶斯公式计算所述被检测消息的第二因子。
7.如权利要求6所述的方法,其特征在于,根据所述被检测消息的第二因子确定所述被检测消息是否为异常消息,具体包括: 判断所述被检测消息的第二因子是否超过阈值,若是,则确定所述被检测消息为异常消息。
8.如权利要求4或6所述的方法,其特征在于,所述用于计算的贝叶斯公式,具体为:P(A I tl,t2,t3......tn) = (PI* P2*......PN) / [PI* P2*......PN+(1-P1)*(1-P2)*......(1-PN)], 其中,P(A I tl,t2,t3……tn)为所述第二因子,PN为所述第一因子或所述第一因子的总乘积。
9.一种基于账号属性的异常消息检测设备,其特征在于,包括:划分模块,用于将被检测消息的文本划分为多个文本段; 获取模块,用于获取每一文本段的一个或多个账号属性; 确定模块,分别与所述划分模块及所述获取模块相连,用于确定对应于所述每一文本段各账号属性的发表比例参数,根据所述发表比例参数确定所述每一文本段对应各账号属性的第一因子;根据所述每一文本段对应各账号属性的第一因子确定第二因子;根据所述第二因子确定所述被检测消息是否为异常消息。
10.如权利要求9所述的设备,其特征在于, 所述确定模块,具体用于确定总共发表过所述文本段的用户数与在所述账号属性下发表过所述文本段的用户数的因子。
11.如权利要求10所述的设备,其特征在于, 所述获取模块,还用于获取各所述账号属性对应的异常概率。
12.如权利要求11所述的设备,其特征在于,还包括计算模块,其中: 所述计算模块,用于计算各所述账号属性对应的发表比例参数与所述异常概率的乘积,和/或; 计算所述每一文本段所有账号属性对应的发表比例参数与所述异常概率的总乘积。
13.如权利要求12所述的设备,其特征在于, 所述计算模块,还用于根据所述每一文本段对应各所述账号属性的第一因子,通过贝叶斯公式计算所述被检测消息在各所述账号属性下的第二因子; 或,根据所述文本段所有账号属性对应的第一因子的总乘积,通过贝叶斯公式计算所述被检测消息的第二因子。
14.如权利要求13所述的设备,其特征在于,还包括存储模块,其中: 所述存储模块与 所述划分模块相连,用于接收并缓存所述被检测消息。
【文档编号】H04L12/58GK103580939SQ201210266045
【公开日】2014年2月12日 申请日期:2012年7月30日 优先权日:2012年7月30日
【发明者】钟清华, 王金华 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1