基于内容的移动社交网络审计分析引擎

2014-04-29 23:21:39饶洁
电脑知识与技术 2014年10期

饶洁

摘要:随着移动互联网的飞速发展以及社会化网络的出现,微信等移动社交类应用在生活的各个层面为人们带来便利,但同时也带来了谣言、泄密等网络安全问题。传统的基于字符串匹配的关键词过滤审计引擎已经不能满足人们的需求。针对传统特征项权重算法在处理变异短文本方面的不足,提出了改进的TF-IDF算法,同时将社会网络计算的相关技术应用到审计引擎中,实现了基于内容的事件抽取和表达。实验结果表明,改进后的算法具有较高的准确率和召回率。

关键词:社会计算;内容审计;TF-IDF;事件分析

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2014)10-2423-05

Abstract: With the rapid development of Mobile Internet and Social Networking, convenience is brought by mobile social networking applications, such as WeChat, in all aspects. Thus rumors, leaks and other network security issues are brought as well as convenient. However, the traditional audit engine based on string matching and keyword filtering didnt meet people's needs any more. The improved TF-IDF algorithm is proposed based on its inadequate in dealing with abnormal short texts. The relevant social network computing technologies are applied in audit engine to realize the analysis of event situation based on content. Result shows that the improved algorithm has higher recall rate and accurate rate, compared with the traditional TF-IDF algorithm.

Key words: social computing; content audit;TF-IDF; event analysis

随着智能手机、手持游戏机、平板电脑以及许多工业级别PAD(Portable Digital Assistant,便携式数字助理)等的普及,微信、Facebook以及Twitter等SNS(Social Networking Services,社会性网络服务)应用在社会的各个层面为人们提供越来越多的便利。微信是腾讯公司于推出的一款通过移动网络快速发送语音短信、视频、图片和文字,支持多人群聊的社交信息平台。2013年10月23日,微信宣布其注册用户超过6亿。由此可见,以微信为代表的移动社交网络类应用正受到越来越多网民的喜爱。

移动社交网络类应用缩短了交友的距离,节省了社交成本,但是同时也带来了一系列服务和管理的问题。在移动互联网中,虚拟社会与现实有着强烈的联系,如何在海量的数据中挖掘用户的消费倾向性和意图、更好的服务大众以及提升商业智能是当下亟需解决的问题。同时,由于缺乏有效的监督和管理,网络中掺杂着许多不健康甚至恶意的内容,带来了不安定的因素。企业和政府人员通过互联网进行泄密获活动;不法分子发布“食盐抵御核辐射”、“服贸协议是黑箱作业”、“食物传染艾滋病”等网络谣言,这些非法信息、反动言论给社会秩序的安定有序甚至国家的发展带来不可忽视的威胁。因此,基于统计特征和内容特征解决网络内容所引起的安全问题已经迫在眉睫。

本文设计和实现了一种基于内容的移动社交网络审计分析引擎,针对微信等移动社交网络类应用的数据内容进行审计分析,并将其与社会网络计算结合起来,以实现对移动互联网信息内容传播的有效监控,防止内部机密或敏感数据非法泄露和传送,提供有关网络通信手段滥用的有力证据。

1 相关研究

传统的基于内容的网络审计分析系统主要针对日志、电子邮件、博客、短信和微博等进行审计。这些审计系统又分为两大类:电子邮件、日志和博客这类具有一定的结构和规范的普通文本,以及短信、即时消息、微博等语法格式不规范,形式比较随意的变异短文本。

针对电子邮件的审计系统通常通过捕获和还原网络数据包获取数据,同时基于预先定义好的规则,利用单模或者多模匹配算法分别对邮件头或者正文部分进行关键词过滤[1, 2]。在传统的互联网中,很多人喜欢使用博客分享自己的各种信息,博文以及评论的内容都可以作为审计的对象。通过建立人物关系模型,描述群体的结构关系,实现用户兴趣的快速发现,进行个性化推荐[3]。

与传统互联网相比,微信等移动互联网通讯消息的内容以网络流行语言为主,动作更加实时化,行为更加碎片化,同时往往还附带有地理位置信息。因此,直接采用普通文本的处理方式效果不佳,黄永光等将微博、短信、聊天记录这类表述不规范的文本称为变异短文本[4],不少国内外学者针对变异短文本的审计分析系统进行了相关研究,并取得了一定的进展。

Theus Hossmann等[5]人针对Facebook的Stumbl(一种日常会议记录类应用)、Twitter和Gowalla(可以在朋友间分享地点、活动、旅行线路等信息的地理位置服务类应用),对机会网络数据进行收集和分析,研究其社会关系,移动关系和通信关系,以及他们之间的相互影响。其成果有助于SNS应用设计者进一步了解机会网络中的社区结构,推出更符合用户社交习惯的应用。

M. Oussalah等人[6]提出了针对twitter的数据采集、查询和位置服务的软件框架。该框架将通过twitter的API采集数据,并存储在MySQL数据库中,使用Lucene分词框架和WordNet词义网络对自然语言进行分词和处理,然后使用PostGIS平台对采集到的数据进行语义分析和空间分析。与传统的方法相比,该框架综合利用相关技术,同时考虑了语义数据和空间数据这两方面的因素,实验表明,该方法具有较好的容错能力。

Cui等[7]综合利用用户配置文件和复杂网络的知识,使用相似度匹配的原则来寻找Facebook邮件通信网络中的关键节点。算法使用Jaro–Winkler距离来计算用户配置文件中字符串的相似度,使用模糊Jaccard算法来计算图中节点的相似度,最后通过引入平滑因子r,将这两种因素结合起来计算综合相似度。实验使用真实网络以及Facebook的数据证明该算法的可行性和效率。Yang等人[8]提出了一个基于微博数据流的观点挖掘模型,利用相关微博API从腾讯、新浪等网站实时抓取微博数据,针对文本内容构建情感词典,进行情感倾向性分析,最后对原型系统进行了实现,能够实现实时的热点事件发现和情感分析,并且可以对结果进行可视化查询。

基于变异短文本的内容审计分析系统主要围绕文本处理、话题检测、情感分析这几个方面展开,通过引入信息抽取、文本聚类、知识挖掘、语义分析等算法分析用户行为以及社交网络结构,有利于促进电子商务、信息监控、商业智能以及企业管理等。尽管相关的研究已经取得了一定的进展,但仍存在如数据稀疏性问题、不规范文法问题、大规模文本处理问题等。

2 审计分析引擎总体设计与实现

本文设计和实现一种基于内容的移动社交网络审计分析引擎,其典型的应用场景如图1所示。

用户通过手机、pad或者其他移动设备连接基站或者无线路由器,经过Internet、运营商网关,登录到应用服务器以使用特定的服务。用户也可以通过PC端登录网页版客户端,但是需要手机客户端的认证。采用旁路监听的方式抓取网络数据流量包,存储在分布式Cassandra数据库中,具体的数据包获取方式不在本文的研究范围内,这里不做详细介绍。

内容审计引擎的总体模型主要分为四个子模块,系统框架结构从下到上依次为:数据预处理模块、多模态信息处理模块、事件分析模块以及用户搜索模块。各个模块相互独立,协同工作,如图2所示。

1) 数据预处理模块

数据采集模块获得的数据就是审计引擎的数据来源,但是在实际的工作中仍需要根据需要从数据源中抽取数据,而不是直接使用采集到的数据,这样做的好处是能够缩小待处理数据的范围,使审计具有更强的目的性并且提高效率。然后对数据进行清洗、集成、去停用词和分词等处理,最后根据分词的结果建立索引,提高查询效率。

2) 多模态数据处理模块

微信等移动社交网络应用的通讯消息中,除了占主导地位的文本信息外,越来越多的图像、多媒体、位置等信息也需要受到审计系统的关注。因此多模态数据处理模块负责识别和处理图像、文本和位置等多模态的信息。使用经典的SIFT[9](Scale-invariant feature transform,尺度不变特征转换)算法提取图片的关键特征,位置数据使用haversine公式计算球面上两点之间的距离。其中,重点是文本数据处理中特征项权重算法的实现,将在下一节详细介绍。

3) 事件分析模块

该模块首先通过人工输入或者机器学习的方式获取目标事件的特征项及权重,然后通过计算余弦相似度从数据集中匹配与目标事件相关的数据消息集,相似度大于阈值的可以认为描述的是同一事件。同时,统计并显示某段时间内事件发生的频率和发展态势,为进一步的舆情分析垫定基础。

4) 用户搜索模块

用户能够通过用户搜索模块自定义搜索策略,根据自己的需要对内容和事件进行搜索,结果使用可视化界面显示。例如搜索出的消息原文使用链接的形式显示,并且搜索关键词在原文中高亮显示;使用以时间为横坐标,事件频数为纵坐标的条形图来描述事件的发展态势。

3 改进的TF-IDF算法

文本消息数据经过预处理后转化为词和词频的组合形式,通常情况下使用TF-IDF算法将词和词频转化为关键词和权重的向量表示,提取特征项,然而,在处理微信等移动互联网通讯消息的过程中,TF-IDF算法存在以下不足:

l移动互联网SNS数据内容分散,语法不规范,形式随意,同时包含大量网络新兴流行词汇。如果使用传统文本的处理方式处理,势必会造成特征向量维数过高,处理效率低下等问题。

l逆文档频率因子能够弱化一些在文档集合中普遍出现的特征项的重要程度。但是由于移动互联网消息集合是不断增长的,即文档总数N是不断变化的;同时,网络话题具有实时性和汇聚性,一段时间内的文本特征项的重要度具有相似性,因此不能直接使用IDF的计算公式。也就是说在同类中大量出现而在其他类中较少出现的这样一类具有代表性的特征词,其权重在TF-IDF算法中不但没有得到加强,反而减弱[10]。

基于以上不足,该文提出了改进的TF-IDF算法,算法增加了文本预处理阶段(数据预处理阶段完成),并且改进了逆文档因子的计算公式。具体的流程如图3所示。

1)文本预处理。该阶段的目的是去除信息量极少的内容并对消息进行集成。设定阈值θ,去掉长度小于θ的内容,如:“切”、“啊”、“在不”等,因为一条有用的信息是无法用极少量的文字表达清楚的,而移动社交网络中大多是这样的信息,影响处理效率而无实际意义。同时,由于采集到的数据信息具有碎片化的特点,单条信息的信息量太小,不适合特征量提取。该文将某个通讯时间段内,相同发送者和接收者的消息合成一个文档,作为统一的特征提取单位,方便后续处理。

2) 分词和去停用词。使用ICTCLAS(Institute of Computing Technology, Chinese Lexical Analysis System,汉语词法分析系统)的API进行分词,结果使用空间向量模型表示。分词结果是词D=(d1,d2,...,dn)和词频T=(t1,t2,...,tn)。另外,需要根据自定义的停用词表去掉语气词、特殊符号等无实际意义的停用词。

3) 计算权值。特征项的权值代表了特征项对文本的重要程度,其中,对于权值的计算使用改进的TF-IDF算法,具体流程如图4所示。

初始化的过程包括取Nt个同时段消息集、取Nt个不相关消息集以及各项参数的初始化。在介绍改进的算法之前先介绍传统的TF-IDF特征项权重算法,其计算公式如下:

其中,[Nt]表示同时段内文档集合中的文档总数,Nt表示不相关文档集合的文档总数。[N(d1,t)]表示同时段内文档集合中出现特征项的文档数,[N(d1,t')]表示不相关文档集合中出现特征项的文档数。在极端条件下,该特征项在两个文档集合中均未出现,就会导致被除数[N(d1,t)]+[N(d1,t')]的值为零,因此这里使用[N(d1,t)]+[N(d1,t')]+1代替原来的分母。

由于同时段内的文档的话题重复度较高,具有同类文档的特征,特征词d1频繁出现的可能性更高。乘以[N(d1,t)Nt]是为了消除同段时间内文档总数量的不同取值对计算结果的影响。其中,Nt和Nt为常量,因此,当d1在同时段内文档集合中出现次数增多,而在不相关文档集合中出现次数不变时,WIDF的值将会增加,弥补了算法的不足。

接下来为了消除文本本身的长度对特征项权值的影响,需要对权值进行归一化处理:

[Wi=WTF?W'IDFi=1nWTF?W'IDF2]

4)特征降维。使用特征向量直接表示文档可能会使特征向量空间维数非常高,因此需要对向量空间进行降维,即去掉权值极小的特征值。设定阈值i,将特征向量的权重从大到小排列,取前i个对应的特性项作为该文本的特征项。

因此,使用向量空间模型表示学习语料,结果可以表示为特征项D=(d1,d2,...,di)以及权重W=(w1,w2,...,wi)。然后使用余弦相似度计算实际文本数据与学习语料之间的距离,确定是否与学习语料属于同种文本。

4 实验测试

本文的实验数据来源于真实的网络流量数据包,考虑到用户的隐私问题,仅使用模拟的通讯内容。具体的实验过程中,创建了微信公众开发平台的账号,模拟与该账号之间的通讯,数据采集模块定向采集与该公共账号相关的通讯消息。采集到的通讯消息共有33,239条,其中文本消息18,322条,图片消息4,622,语音消息3,102条,视频消息4,099条,位置消息3,094条,以上消息均为有效消息,可以直接进行内容审计。

这里我们以热门事件“啤酒和炸鸡”为例进行事件分析,审计分析引擎首先需要导入事件的学习语料。实验中以“炸鸡和啤酒”事件为例,分别选择10篇相关新闻报道和10篇无关新闻报道作为学习语料进行学习。接下来将学习到的事件与数据集进行相似度匹配,并显示结果,如图5所示。

使用广泛用于信息检索和统计学分类领域的两个度量值召回率和准确率来评价实验结果,计算公式如下:

假设文档集总数为N,其中有N1篇相关文档和N2篇不相关文档,即N=N1+N2。事件分析模块匹配到的数据集个数为N,其中有N1个是相关的,N2个是不相关的,即N=N1+N2。因而召回率可以表示为N1/ N1,而准确率可以表示为N1/ N。这两个指标分别用来表示查全率和查准率,该文中分别使用改进的TF-IDF算法和原算法对事件进行特征权重的计算,其召回率和准确率如图6所示。

从实验结果中我们可以看到,“炸鸡和啤酒”事件的相关通讯消息从2013年10月到2014年2月之间呈不断增长的趋势,11月到1月之间数量比较均衡,到2月份有突发的趋势。随着事件相关消息的增多,审计分析引擎的召回率和准确率总体上是增长的趋势,但是由于实验环境的限制导致数据集较小,实验结果可能存在一定的误差。

5 总结与展望

本文针对移动互联网SNS应用的内容安全问题,对国内外安全审计分析引擎以及社交网络的现状及关键技术进行了深入研究。并且以微信为例,设计和实现了基于内容的移动社交网络审计分析引擎的原型系统,根据不同的搜索策略,分别针对内容和事件这两个方面的数据进行分析和搜索,并将结果可视化表达,挖掘事件的发展态势。同时,针对微信中常见的多模态数据,包括文本、图片、位置等分别进行整理和分析。进一步的工作将在海量数据的基础上进行事件态势分析,统计词频的变化特征以实现突发事件的检测。同时,基于已有的事件数据对事件进行建模,从而对事件的发展趋势进行分析和预测,达到提前预警的效果。

参考文献:

[1] 朱随江, 王泽东, 刘宇, 等. 基于模板的WebMail 审计系统的设计与实现[J]. 计算机应用与软件, 2011,28(9):67-69.

[2] 吴刚, 王旭仁, 张信杰. 高速邮件监控审计研究[J]. 计算机工程与设计, 2010(6):1195-1197.

[3] 许迎迎. 社会网络中关联用户的挖掘与分析[D]. 中国海洋大学, 2011.

[4] 张剑峰, 夏云庆, 姚建民. 微博文本处理研究综述[J]. 中文信息学报, 2012,26(4): 21-27.

[5] Theus Hossmann, Nomikos George, Spyropoulos Thrasyvoulos, et al. Collection and analysis of multi-dimensional network data for opportunistic networking research[J]. Computer Communications, 2012, 35(13): 1613-1625.

[6] M. Oussalah, Bhat F., Challis K., et al. A software architecture for Twitter collection, search and geolocation services[J]. Knowledge-Based Systems, 2013(37):105-120.

[7] Yi Cui, Pei Jian, Tang Guanting, et al. Finding email correspondents in online social networks[J]. World Wide Web, 2013,16(2):195-218.

[8] 阳锋, 冯时, 王琳,等. MICA: 一个面向微博数据流的观点挖掘原型系统[J]. 计算机研究与发展, 2011,48(z2):405-409.

[9] David G Lowe. Distinctive image features from scale-invariant keypoints[J]. International journal of computer vision, 2004,60(2):91-110.