一种基于机器学习的社交网络垃圾用户过滤方法
【专利摘要】本发明涉及一种基于机器学习的社交网络垃圾用户过滤方法,包括以下步骤:1、针对一社交网络,定义需要从社交网络的社交用户中提取的特征向量,构建一垃圾消息过滤规则集;2、从社交网络中取一定数量的社交用户作为训练样本,然后对各训练样本发布的社交消息进行特征提取,得到各训练样本的特征向量中除平均垃圾关键字得分之外的所有元素;3、根据垃圾消息过滤规则集,计算各训练样本的平均垃圾关键字得分,得到各训练样本完整的特征向量;4、将各训练样本的特征向量,输入支持向量机进行训练,得到垃圾用户过滤模型;5、利用垃圾用户过滤模型对待测用户进行检测,判断待测用户是否为垃圾用户。该方法有利于准确提取、过滤社交网络中的垃圾用户。
【专利说明】-种基于机器学习的社交网络垃圾用户过滤方法
【技术领域】
[0001] 本发明涉及网络垃圾过滤【技术领域】,特别是一种基于机器学习的社交网络垃圾用 户过滤方法。
【背景技术】
[0002] 在线社交网络平台如Facebook、Twitter、新浪微博等都是Web2. 0最受欢迎的应 用程序。数以百万的用户活跃在社交网络中(好友互动,阅读新闻等),并且用户的规模正在 逐年增加。社交网站在用户规模扩大的同时,也吸引了大量的垃圾消息(Spam)和垃圾用户 (Spammer), Spammer在社交平台上散布广告、色情、暴力、恐怖等活动,给正常用户的社交带 来严重的影响。
[0003] 有研究表明:发布在Twitter上的20万条URL中有8%是钓鱼或者色情链接,而由 于社交网络中大量用户的存在,每条URL被点击的概率为0. 13%,这个比例远远高于垃圾邮 件中URL被点击的概率,因此,在社交网站中,用户更容易受到钓鱼网站的攻击。
[0004] 传统的基于内容的垃圾邮件过滤是指通过对邮件内容进行分析来判定邮件是否 属于垃圾邮件。由于垃圾邮件和正常邮件的内容风格迥异,因此可以利用机器学习算法对 垃圾邮件和正常邮件的内容进行训练,利用训练好的模型进行预测。但是,在社交网络(例 如新浪微博、Twitter等)中,由于用户发布的消息受到字数(例如140)的限制,垃圾消息和 正常消息在内容上并没有太大区别,因此,传统的基于内容的过滤算法不再适用于社交网 络Spam过滤。
【发明内容】
[0005] 本发明的目的在于提供一种基于机器学习的社交网络垃圾用户过滤方法,该方法 有利于准确提取、过滤社交网络中的垃圾用户。
[0006] 本发明采用的技术方案是:一种基于机器学习的社交网络垃圾用户过滤方法,包 括以下步骤: 步骤S1 :针对一社交网络,定义需要从所述社交网络的社交用户中提取的特征向量, 构建一垃圾消息过滤规则集;所述垃圾消息过滤规则集中定义有多个垃圾关键字,各垃圾 关键字对应有一分值,从而可根据社交消息中出现垃圾关键字的个数、频次,计算社交消息 的垃圾关键字得分; 步骤S2 :从所述社交网络中取一定数量的社交用户作为训练样本,所述社交用户包括 正常用户和垃圾用户,然后通过信息增益算法对各训练样本发布的社交消息进行特征提 取,得到各训练样本的特征向量中除平均垃圾关键字得分之外的所有元素; 步骤S3 :根据垃圾消息过滤规则集,计算各训练样本发布的所有社交消息的垃圾关键 字得分,进而求得各训练样本的平均垃圾关键字得分,得到各训练样本完整的特征向量; 步骤S4 :将步骤S3得到的各训练样本的特征向量,输入支持向量机进行训练,得到垃 圾用户过滤模型; 步骤S5 :利用所述垃圾用户过滤模型对待测用户进行检测,判断待测用户是否为垃圾 用户。
[0007] 进一步的,步骤S1中,所述社交用户的特征向量V2为: V2=[关注数,粉丝数,消息数,双向关注数,收藏数,注册天数,关注数/粉丝数,日发消 息数,平均被转发次数,平均被评论次数,平均被赞次数,平均URL链接数,平均图片数,平 均话题数,平均@的用户数,平均垃圾关键字得分,原创消息比例,垃圾消息比例]。
[0008] 进一步的,步骤S1中,所述垃圾消息过滤规则集的建立方法如下: 步骤S101 :从所述社交网络中获取一定数量的垃圾消息; 步骤S102 :对每条垃圾消息进行中文分词,每条垃圾消息得到一个词语列表{keyi, key2,…,keyi,?},1?^1表示所述垃圾消息的第i个分词; 步骤S103 :对每个词语列表采用信息增益算法计算信息增益值,每个词语列表得到一 个键值对集合{keyrlGGcey), key2:IG(key2),…,key^IGOceyi), -hlGOceyi)表示 第i个分词的信息增益值; 步骤S104 :将不同的键值对集合进行合并,其中对不同键值对集合中均有出现的分词 的信息增益值进行累加,作为合并后的键值对集合对应于该分词的信息增益值; 步骤S105 :对于合并后的键值对集合,根据信息增益值从大到小对分词进行排序,取 出前η个分词作为垃圾消息过滤规则集的垃圾关键字,分词的信息增益值作为垃圾关键字 的分值,从而建立所述垃圾消息过滤规则集。
[0009] 本发明的有益效果是将机器学习算法和社交元素相结合,提出了一种基于机器学 习的社交网络垃圾用户过滤方法,该方法适用于社交网络Spammer过滤,能够准确提取、过 滤社交网络中的垃圾用户,具有很强的实用性和广阔的应用前景。
【专利附图】
【附图说明】
[0010] 图1是本发明实施例的实现流程图。
[0011] 图2是本发明实施例中建立垃圾消息过滤规则集的流程图。
[0012]
【具体实施方式】 下面结合附图及具体实施例对本发明作进一步的详细说明。
[0013] 本发明将机器学习算法和社交元素相结合,通过社交元素自身特征而不是内容来 提取社交网络垃圾消息。在社交网络中,垃圾用户(Spammer)通常会关注大量用户,大量发 布消息,希望借此达到宣传的目的,但是由于这些用户很少受到正常用户的关注,因此他们 具有较少的粉丝数。通过提取这些社交元素特征,运用于过滤社交网络Spammer。
[0014] 本发明基于机器学习的社交网络垃圾用户过滤方法,如图1所示,包括以下步骤: 步骤S1 :针对一社交网络(如微博、Twitter等),定义需要从所述社交网络的社交用户 中提取的特征向量,构建一垃圾消息过滤规则集;所述垃圾消息过滤规则集中定义有多个 垃圾关键字,各垃圾关键字对应有一分值,从而可根据社交消息中出现垃圾关键字的个数、 频次,计算社交消息的垃圾关键字得分。
[0015] 所述社交用户的特征向量V2为: V2=[关注数,粉丝数,消息数,双向关注数,收藏数,注册天数,关注数/粉丝数,日发消 息数,平均被转发次数,平均被评论次数,平均被赞次数,平均URL链接数,平均图片数,平 均话题数,平均@的用户数,平均垃圾关键字得分,原创消息比例,垃圾消息比例]。其中,关 注数,粉丝数,消息数,双向关注数,收藏数,注册天数,关注数/粉丝数,日发消息数可以通 过社交用户的个人信息得到,其他的特征根据社交用户发布的社交消息来计算,类似于垃 圾消息过滤,计算每条消息转发评论以及垃圾关键字得分,然后求平均值。
[0016] 图2是本发明实施例中建立垃圾消息过滤规则集的流程图。如图2所示,所述垃 圾消息过滤规则集的建立方法如下: 步骤S101 :从所述社交网络中获取一定数量(如10万条)的垃圾消息。
[0017] 步骤S102 :对每条垃圾消息进行中文分词,每条垃圾消息得到一个词语列表 {keyp key2,…,keyi,?},1?^表示所述垃圾消息的第i个分词。
【权利要求】
1. 一种基于机器学习的社交网络垃圾用户过滤方法,其特征在于,包括以下步骤: 步骤S1 :针对一社交网络,定义需要从所述社交网络的社交用户中提取的特征向量, 构建一垃圾消息过滤规则集;所述垃圾消息过滤规则集中定义有多个垃圾关键字,各垃圾 关键字对应有一分值,从而可根据社交消息中出现垃圾关键字的个数、频次,计算社交消息 的垃圾关键字得分; 步骤S2 :从所述社交网络中取一定数量的社交用户作为训练样本,所述社交用户包括 正常用户和垃圾用户,然后通过信息增益算法对各训练样本发布的社交消息进行特征提 取,得到各训练样本的特征向量中除平均垃圾关键字得分之外的所有元素; 步骤S3 :根据垃圾消息过滤规则集,计算各训练样本发布的所有社交消息的垃圾关键 字得分,进而求得各训练样本的平均垃圾关键字得分,得到各训练样本完整的特征向量; 步骤S4 :将步骤S3得到的各训练样本的特征向量,输入支持向量机进行训练,得到垃 圾用户过滤模型; 步骤S5 :利用所述垃圾用户过滤模型对待测用户进行检测,判断待测用户是否为垃圾 用户。
2. 根据权利要求1所述的一种基于机器学习的社交网络垃圾用户过滤方法,其特征在 于,步骤S1中,所述社交用户的特征向量V2为: V2=[关注数,粉丝数,消息数,双向关注数,收藏数,注册天数,关注数/粉丝数,日发消 息数,平均被转发次数,平均被评论次数,平均被赞次数,平均URL链接数,平均图片数,平 均话题数,平均@的用户数,平均垃圾关键字得分,原创消息比例,垃圾消息比例]。
3. 根据权利要求1所述的一种基于机器学习的社交网络垃圾用户过滤方法,其特征在 于,步骤S1中,所述垃圾消息过滤规则集的建立方法如下: 步骤S101 :从所述社交网络中获取一定数量的垃圾消息; 步骤S102 :对每条垃圾消息进行中文分词,每条垃圾消息得到一个词语列表{keyi, key2,…,keyi,?},1?^1表示所述垃圾消息的第i个分词; 步骤S103 :对每个词语列表采用信息增益算法计算信息增益值,每个词语列表得到一 个键值对集合{keyrlGGcey), key2:IG(key2),…,key^IGOceyi), -hlGOceyi)表示 第i个分词的信息增益值; 步骤S104 :将不同的键值对集合进行合并,其中对不同键值对集合中均有出现的分词 的信息增益值进行累加,作为合并后的键值对集合对应于该分词的信息增益值; 步骤S105 :对于合并后的键值对集合,根据信息增益值从大到小对分词进行排序,取 出前η个分词作为垃圾消息过滤规则集的垃圾关键字,分词的信息增益值作为垃圾关键字 的分值,从而建立所述垃圾消息过滤规则集。
【文档编号】G06F17/30GK104090961SQ201410332643
【公开日】2014年10月8日 申请日期:2014年7月14日 优先权日:2014年7月14日
【发明者】郑相涵, 陈国龙, 曾志鹏 申请人:福州大学