(计算机应用技术专业论文)基于内容的网络监视和信息分类系统.pdf_第1页
(计算机应用技术专业论文)基于内容的网络监视和信息分类系统.pdf_第2页
(计算机应用技术专业论文)基于内容的网络监视和信息分类系统.pdf_第3页
(计算机应用技术专业论文)基于内容的网络监视和信息分类系统.pdf_第4页
(计算机应用技术专业论文)基于内容的网络监视和信息分类系统.pdf_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于内容的网络监视和信息分类系统 摘要 随着i n t e r n e t 的飞速发展,电子信息的数量不断增加。如何监视这些信息内 容,以及如何在这些内容中迅速准确地发现某一特征的信息,对于方便互联网用 户的使用和互联网本身的健康发展都具有重要意义。 传统的网络监视手段受到网络接口速度和计算机处理能力等方面的限制, 无法与不断增长的网络速度相适应。分布式的网络监视方法可以在很大程度上解 决这一问题,充分利用网络的计算资源,可以有效地对应用层协议的内容进行跟 踪监视。本文依据分布式网络监视思想,结合实际的应用情况,提出了一套在氽 业、学校和政府机关的网络环境巾可以得到有效应用的网络监视解决方案,并对 实现的方法进行了详细的描述。在这个网络监视系统的实现中,论文还探讨了利 用l i n u x 下i p _ q u e u e 机制来获取网络信息内容的方法,并对这一方法的利弊加以 分析。 文本分类是近年来发展较快的一个研究领域。本文在研究网络监视方法的 基础上,设计出。套易于扩展的信息内容处理机制,可以将文本分类技术的研究 成果迅速有效地应用到网络信息监视中。论文中提出了一套简洁严谨的文本分类 器接口定义,在实现中采用动态链接机制对文本分类器进行管理和调用。这一方 法不仅有利于系统的扩展,也为进一步研究文本分类算法奠定了基础。 在分类系统的实现中采用了将多关键宇匹配分类器与归纳学习分类器级联 的方法。系统中使用了决策树方法实现多关键字匹配分类器,使用k 最近邻居法 实现归纳学习分类器。 关键字:网络监视文本分类协议分析k 最近邻算法i p _ q u e u e c o n t e n t - b a s e dn eo r kln f o r m a t i o n m o n i t o r i n g a n d c a t e g o r i z i n gs y s t e m a b s t r a c t w i t ht h er a p i dg r o w i n go ft h ei n t e m e t ,t h ea m o u n to fe l e c t r o n i ci n f o r m a t i o ni n c r e a s e s c o n t i n u a l l y f o rc o n v e n i e n c eo f t h ei m e m e t u s e r sa n dt h es o u n dd e v e l o p m e n to f t h ei n t e r a c ti t s e l f , i t s i m p o r t a n tt os t u d yh o wt om o n i t o rt h ec o n t e n to ft h ei n f o r m a t i o na n db o wt of i n dt i l e i n f o r m a t i o nw i t hs p e c i f i cc h a r a c t e r i s t i c s t r a d i t i o n a ln e t w o r km o n i t o r i n gm e t h o d sh a v es o m el i m i t a t i o n s ,s u c ha st h ea b i l i t yo fn i c a n dt h ec o m p u t e ri t s e l f , a n ds oc a n n o tm e e tt h eg r o w i n gn e t w o r ks p e e d d i s t r i b u t e dn e t w o r k m o n i t o r i n g ,w h i c hc a nm a k ef u l lu s eo ft h el - c s o u r c e si nn e t w o r ka n dm o n i t o rt h ec o n t e n to f a p p l i c a t i o nl a y e rp r o t o c o l ,c a ns o l v et h i sp r o b l e m i n t h i sp a p e r , w ed e s i g na n di m p l e m e n ts u c ha d i s t r i b u t e dn e t w o r k m o n i t o r i n gs y s t e m i tc a nb eu s e di nl o c a ln e t w o r k so fc o m p a n y , c o l l e g ea n d g o v e r n m e n to f f 2 c e w ea l s od i s c u s st h eu s eo fi p _ q u e u ei nn e t w o r km o n i t o r i n g ,a n da n a l y s et h e a d v a n t a g ea n dd i s a d v a n t a g eo fi p _ q u e u e t e x tc a t e g o r i z a t i o nt e c h n o l o g yi so n eo ft h em o s ts u c c e s s f u lf i e l d si nc o m p u t e rs c i e n c e t h i ss y s t e ma l s od e s i g n saf l e x i b l em e c h a n i s mf o ri n f o r m a t i o nh a n d l i n g i tm a k ee a s yf o rt h e n e w l y a c h i e v e m e n t so f t e x tc a t e g o r i z a t i o nt e c h n o l o g yt ob eu s e di nan e t w o r k m o n i t o r i n gs y s t e m t h i sp a p e rd e f i n e sat e r s e ,s t r i c tt e x tc l a s s i f i e ri n t e r f a c e t om a n a g ea n dm a k ec a l l st ot h ec l a s s i f i e r , t h ed y n a m i cl i n km e c h a n i s mi su s e d t h i sm e c h a n i s mi sb e n e f i c i a lt ot h es c a l a b i l i t yo f t h es y s t e m i ta l s ol a yas o l i df o u n d a t i o nf o rf u r t h e rt e x tc a t e g o r i z a t i o na l g o r i t h ms t u d y t oi m p l e m e n tt h ec a t e g o r i z a t i o ns y s t e m ,w eu s eal i n k e d - m e c h a n i s mt oo r g a n i z ec l a s s i f i e r s w eu s ed e c i s i o n - - t r e e a l g o r i t h m t o i m p l e m e n tt h e f i r s t - - l e v e l c l a s s i f i e r m u l t i p l ek e y w o r d s m a t c h i n gc l a s s i f i e r a n dw el l s ek - n e a r e s tn e i g h b o ra l g o r i t h mt oi m p l e m e n tt h es e c o n d - l e v e l c l a s s i f i e r k e y w o r d s :n e t w o r km o n i t o r i n g ,t e x tc a t e g o r i z a t i o n ,p r o t o c o la n a l y s e ,k - n e a r e s tn e i g h b o r a l g o r i t h m ,i p _ q u e u e , 第一章引言 第一章引言 1 1 对邮件进行监视的必要性 电子邮件作为在互联网e 出现最早的服务之一,至今仍然是人们在网上交流信息的重 要方式。但是,近年来一直困扰业界的垃圾邮件问题一直难以得到根本解决。u u n e t 每年 要花一百多万美元用于处理垃圾邮件,而这些垃圾邮件给不计其数的用户所带来的损火更是 可观。更糟的是,很多恶意信件带有反动、色情信息甚至病毒。对这些邮件进行监视,有利 于配合法律手段,进行取证。 另一方面,利用电子邮件进行泄密成为一种新的信息犯罪手段,而且造成的损失比垃 圾邮件更为巨大。美国联邦调查局和中国国家信息安全评测认证中心的训查结果均显示,政 府和企业冈信息被窃取所造成的损火超过病毒破坏和黑客攻击所造成的损失,超过8 0 以 上的安全威胁来自泄密和内部人员犯罪,而非病毒和外来黑客引起。冈此,在政府和企业所 使用的局域网中,更加有必要对进出的电子邮件进行监视。 1 2 基于内容分类的意义 分类是过滤和高效检索的基础,而且本身也是一种有力的检索手段。面对互联网中每 时每刻迅速增长的信息量,人工分类不足以完全应付。对十一个企业或政府机关的网管人员 来说,仅仅是从每天的邮件日志中查找可能存在的泄密内容,就是一项繁杂到几乎不可能完 成的任务。 目前,大多数邮件服务供应商还只提供根据地址和简单关键字匹配的邮件过滤功能, 垃圾邮件的发送者很容易通过修改发信地址、隐藏关键字等手段避开过滤器”1 。因此,基r 内容的分类方法是传统邮件过滤手段有益的补充。 1 3 当前研究现状 1 3 1 网络监视的研究现状 网络监视是指网络管理者通过一定途径获取所管理网络情况的过程”j 。其目的在于为 下一步的分析提供足够的材料,以帮助网络管理者做出判断。网络监视系统获取网络信息的 途径大致有三种: 1通过网络管理模块 这是出现晟早的一种网络监视方法。大多数网络设备,尤其是交换机、路由器这 样的设备都内置有基本的网络监视功能。管理者可以通过向设各中的s n m p 、r m o n 、 r m o n 2 或者n e t f l o w 等模块查询而得到关j :网络性能的一些统计信息。但是,这种 方法不能提供有关网络数据包的详细信息,也就无法进行更深入的分析。 2 通过网络诊断设备 网络诊断设备能够从网络中收集原始数据包。它通常是作为一个硬件出现的,可 第一章引言 以连接到不同的网络中,如f d d i 、v , 3 5 v 2 4 和s d h 。由于用硬件实现,网络诊断设 备一般会拥有较高的性能,但价格也更昂贵。 3 通过嗅探软件 这类软件中比较著名的有:n e t x r a y 、s n i f f e r 利t c p d u m p 。由丁二成本很低,而且软 件是免费的,所以经常被用来当作网络诊断硬件的替代品,而且被大多数入侵检测系 统所采用。由于采用软件处理数据,性能上会打一定折扣,但对于大多数应用来说, 仅仅对网络中的菜一部分数据感兴趣,因此这一方法得到了相当“泛的应用。 网络监视是网络中的一项基本技术。自从网络出现以来这一领域的研究一直在进行。 “由于i p 网络是无状态的( 路由所需要做的操作仅仅是转发) ,这增强了它的可扩展性,但 也提高了监视它的难度”。随着网络嗅探软件功能的不断完善和协议分析技术的逐渐成熟, 在i o m i o o m 的网络中对传输层协议进行分析已经不是难事。现在,网络监视的主要研究 方向在丁应用层协议的内容监视,以及在千兆网络环境下的实时监视问题。 1 3 2 基于内容文本分类的研究现状 分类是信息检索领域的关键技术。基丁内容的文档分类是指:根据文档的内容,将大 量的文档归到一个或多个类别的过程。文本的类别利数量可以是预先设定好的,也口j 以是 不确定的。需要预先定义类别的文本分类被称为有指导( s u p e r v i s e d ) 的分类,也叫自动 归类:类别未经事先定义的文本分类被称为无指导( u n s u p e r v i s e d ) 的分类,也叫自动 聚类。 对于自动归类,其关键问题是如何构造个分类函数或分类模型也称为分类器一 一并利用此分类模型将朱知文档映射到给定的类别空间。在大多数情况下,分类器需要先通 过训1 练文本集学习分类知识,在实际分类时,再根据学习到的分类知识为待分类的文本确定 一个或多个类别。 自动聚类则不需要训练文木,划分出的类型也是不确定的。在本文中,考虑的是如何 分辨电子邮件中是否舍有可能引起泄密的敏感信息。以及如何分辨和控制垃圾自件的问题。 由于类别已经被事先定义好,所以本文将着重介绍文本的自动归类。 上世纪5 0 年代末,h e l u h n 在文本分类这一领域中进行了开创性的研究,并提山了 词频统计的思想。1 9 6 0 年,m a r o n 发表了关于文本分类的第一篇论文。在这以后,这一技 术受到了越来越多的关注,众多学者在这一领域进行了卓有成效的研究工作,如k s p a r k 、 g s a l t o n ,以及r m n e e d h a m 、m e l e s k 、k s j o n e s 等。到目前为止,文本分类技术已经从 最初的可行性基础研究经历了实验性研究而进入到了实用化阶段,并在邮件分类、信息过滤、 搜索引擎等方面取得了非常广泛的应用。较为成功的系统例如:m i t 为白宫开发的邮件分 类系统、卡内基集团为路透社开发的c o n s t r u e 系统。 由于中英文之间存在较大差异( 对于分类技术而言,最重要的差异在于中文的词与词 之间没有明显的标记) ,所以无法照搬国外的研究成果。对于中文文档,必须先经过分词处 理,才能进行分类。自从八十年代初,第一个汉语自动分词系统面世以来,自动分词技术得 到了广泛的重视,陆续有务种分词系统出现。经过不断的研究与积累,分测系统在运行速度、 准确度等方面都已经初步具有了实用价值,有些系统的分词精度已达到9 5 以上”1 。由于中 文分侧技术的不断成熟,中文的文档分类技术也在逐渐走向实用化的道路。 第一章引言 1 4 我们要解决的问题 在前人的研究基础之上,我们着重对电子邮件的监视和分类这两个相关的问题进行了 研究。本文要深入探讨的问题是: 1 开发监视应用层协议内容的系统,捉山系统的体系结构并对它进行分析。 本文试图提出一个易于扩艘的体系结构。它可以用来进行对任何应用层协议的内 容进行监视,也可以方便的嵌入任何分类算法。在实现过程中,我们选择了相对简明 的电子邮件协议( s m t p 和p o p 3 ) 进行监视。 2 研究文本分类算法在邮件监视系统中的应用方法,并在系统中进行测试和分析。 本文定义了分类算法的公其接口。利用动态链接技术,可以方便的刘任何文本分 类算法进行测试和研究。 第一章网络腩视技术 第二章网络监视技术 2 1 传统网络监视方法遇到的困难 在第一章中,提到了传统的网络监视主要依靠二种方式:从网络管理模块中获取信息、 通过网络诊断设备和通过网络嗅探软件获取。随着网络传输速度的不断提高和对网络监视的 需求不断深入,传统的网络监视方法遇到了困难,其主要矛盾在于:计算速度无法满足在高 速网络中对传输数据进行处理的要求。 2 1 1 网络接口处的瓶颈 传统的网络监视软件是运行在一台普通的计算机上的,通过网卡( n i c ) 是获取网络 数据的唯一途径。在1 0 0 m 1 0 m 以a 网中,普通的网卡不会有什么问题。一般来说,1 0 0 m 的以太网卡能够以略大于9 0 m b p s 的速率接收数据,而不会出现丢包的现象。千兆以太网卡 能够以6 0 0 , , - 7 0 0 m 的速率接收数据而不丢包。但在更高速的网络环境中,就会发生丢包的现 象。如果这种清况发生,那么尤论上层的软件如何改进也- j 事无补。 2 1 2 计算机总线处的瓶颈 假设网卡的性能足够强大,瓶颈还是有可能存在于讣算机内部的总线上。网仁收集到 的数据必须通过总线传送到内存中。在主干网络上,数据传输率有可能达到1 0 g ,这远远超 山了现在普通计算机总线的能力。 2 1 3 数据处理上的困难 假设前两个问题都可以通过硬件的技术革新米解决,数据处理的效率也是个严重的问 题。在传统的低速网络中,由丁数据传输的速率较慢,应用程序实际上在大部分时问都处于 等待状态。但随着网络速度的提升,情况将发生变化。大多数的软件嗅探器无法t 作在数据 速率高于7 0 m b p s 的网络环境中。这一方面可以通过提高c p u 的计算能力来解决,但从软 件的角度讲,也需要有更高效的算法来处理这些数据。 2 1 4 数据存储方面的困难 对于一些以存储分析模式t 作的网络监视软件来说,数据处理的速度并不重要。 但在高速的网络环境中,还会遇到这样一个问题:普通磁盘的写入速度跟不上网络数据的传 输速度。而且,由于数据量极大,磁盘会很快被写满。冈此,在对高速网络进行监视时,数 据的存储策略是值得特别重视的问题。 4 第:章网络监视技术 2 2 分布式网络监视的提出 出于传统的网络监视方法不能适应当今网络的发展情况,人们提山了各种解决方案, 试图解决这一问题。这些解决方案大多采用了分布式的思想,也就是将单一设备无法单独承 担的处理任务分担到多台设备上。如图所示的就是一种典型的分布式网络监视解决方案嘲: 接入网络 图2 一1 分布式网络监视体系结构示意图 图中所示的网络监视系统的体系结构是针对传统监视方法所遇到的困难提出的。其中 包括: 1 接入网络的嗅探器。负责监听流经被监视网络的数据。 2 流量负载分配。负责将流入的数据分流到一个个网络流量处理器。 5 第二章网络监视技术 3 网络流量处理器集群。每个处理器负责处理一个经过分流的数据流。 4 数据收集器。负责从各个网络流量处理器收集需要记录的数据。 5 分析上具。若干不同功能的分析工具,用来深入处理和分析记录下来的数据。 町以看出,在每一个模块中,它要负担的刊算和数据传输任务都是一台普通的计算机 足以完成的。传统的网络监视技术完全可以在单独的模块中继续得到应用。而且,系统将无 法或没必要实时完成的分析工作独立出来,更加强了系统的灵活性。 这幅图描述的仅仅是分布式网络监视系统的一个典型例子,它充分说明了分布式的思 想在网络监视一 i 的应用及其优势。在实际的系统实现中,往往需要根据实际的网络情况,研 究最佳的觯决方案。 第二幸文本分类技术 第三章文本分类技术 般的文本分类过程如图3 1 所示”,图中未标注出预处理部分。 3 1 文本的预处理 图3 一l 文术分类的一般过程 在对文本进行分类之前,一般要对文本先进行预处理。预处理要做的一部分工作和文 档的来源有关系。如对于h t m l 文档,需要事先去掉h t m l 语言的标记;对于邮件,需要 先提取山邮件的正文,并对它进行适当的解码。预处理需要做的另一部分工作是数据清洗, 也就是要去掉不合适的噪声文档或文档内的垃圾数据。这一部分对于垃圾邮件的分类尤其必 要,一个典型的例子就是:针对f o r t a t l 的贝叶斯过滤器,垃圾邮件的发送者故意在邮件内 嵌入用极小字体书写的大段正常文档,导致f o x m a i l 做出错误的分类。 对r 中文的分类,预处理的t 作还包括中文的分词、词性标注和短语识别等。由于中 西语言文字的差异,中文的词与词之间没有明显的分隔标记,这使对中文的文本处理需要面 对这一技术上的困难。 3 2 文本的表示 针对不阿的文本分类方法需要将文本表示为各种易于被计算机识别的形式。最常用 的形式是向量空间模型( v e c t o rs p a c e m o d e l ) ”。在向量空问模型中,文本被表示为向量, 每一个单词是这个文本的一个维度,埘文本在这个维度上的权重是根据如下规则决定的唧: 1 在一篇文档中,个词出现的越多,这个词与这篇文档的主题越相关。 2 在一个文档集合的所有文档中,一个词出现的越多,这个词用来区分文档的作 用越低。 第三章文本分类技术 基于这i h 条规则,有多种将词频转化为向量权重的方法 3 2 1 方法一:t p i d f t f * i d f 是文本表示中最著名也是最常用的一种方法。它由s a l t o n 在1 9 8 8 年提出”】。 设厶为单词i 在文档k 中出现的频率,n 是文档集合中包含义档的个数,q 是单训i 在整个文档集合中出现的次数,那么按如下公式计算文档k 在单词i 上的权重: 铲f 。* l o g ( n 32 2 方法二:t f c 在t f * i d f 方法中,忽略了不同文档之间的长度差异。冈此,t f c 方法叫在这一点上 对t f * i d f 作了一些改进: 口m = 3 2 3 方法三:l t c 铲一 3 2 4 方法四:信息熵【1 3 1 这种方法基于信息论的思想,是最为复杂但却更有效的一种表示方法: 札s ( f k + 1 0 小南拍。删 其鸭南善 鲁。s ( 鲁 表示单词;的平均熵值,如果一个单词分布在所有 8 、 一怫 ,l 唱 $ 氏 第二章文本分娄技术 文档中,这一数值为1 ;如果仅往一篇文档中出现过,这一数值为0 。 3 3 降维 在任何一种语言中,语义单元都是成千上万的,这会使文本向量的维数非常之大,比 如一个有大约5 千个网页的英文网页集通常具有5 万个以上的单词。这一方面给会给计算带 来困难,另一方面刘训练数据的数量要求大大提高。原凼在于,一个文本中对分类有用的单 词只占- - d , 部分。而大部分单词与我们要判别的类无关,属丁二“噪音单词”。结果两个文本 之间的夹角在很大程度上是由这些噪音单词的词频差异,而非有用单词的词频差异决定。这 些噪音完全可能淹没有用信息,从而导致以t f i d f 为坐标系测度的分类方法精度极低。因 此,将文本向量的维数降低是文本表示过程中必不町少的一部分。 在数据挖掘中,降维的技术通常有两种,一种是特征选择,另一种是特征抽取”。特 征抽取通常采用一个特定的映射函数对原始空间进行线性或非线性的变换压缩,变换后空间 的维度会远小于原始空间的维度。特征抽取有一个很大的缺点自k 就是所抽取出来的特征是多 个原始的综合,缺乏明确的含义,而且在这些新特征上得到的聚类结果也很难被理解。凼此, 在下面我们将简单介绍在文本分类应用上最为常用的几种特征选择方法,其中包括两种有监 督的特征选择方法i g 和c h i 和两种兀监督的特征选择算法d f 和t s 。 所有的特征选择算法进行特征选择的过程都是一样的,都是根据一定的规则给每一个 不同的特征计算出一个表征重要性的值,然后根据重要性值刘所有的单词进行排序,最后使 用预先设定好的阈值来选择出所有其值超过这个阈值的特征。 3 3 1 d o c u m e n tf r e q u e n c y ( d f ) d o c u m e n tf r e q u e n c y 是最为简单的一种方法,它的值指的是在整个数据集中有多少个 文本包含这个单词。在传统的信息检索( i n f o r m a t i o n r e t r i e v m ) 领域,低频词通常被认为含 有更高的信息量对正确索取相关的信息有更大的帮助。但是在文本分类的问题上,y a n g 和p e d e r s e n 却发现高频词比低频词来的更加有效。d f 方法不需要类信息,所以通常应用于 文本聚类。 33 2i n f o r m a t i o ng a i n ( i g ) i n f o r m a t i o ng a i n 是信息论中用于计算信息熵的方法,当它用于文本特征选择的时候, 衡量的是某个词的出现与否对判断这个文本是否属j :某个类所提供的信息量【i “。下面就是 用丁- 计算每一个单词i g 值的公式: g ( o = 。p ( c i ) l o g p ( g ) + p ( t ) :l “c i t ) l o n gi f ) + p ( f ) j 己p ( c f f ) i o 铲( c fi t ) 其中m 等丁类的个数,c 代表一个类,t 代表一个单词。 信息增益的不足之处在于它没有考虑单词未发生的情况,即在式中的 p ( i ) ! ,p ( c 。ii ) l o g p ( c 。li ) 部分。虽然某个单词不出现也可能对判断文本类别有贡献,但 实验证明,这种贡献往往远小于考虑单词不出现情况所带来的干扰。特别是在类分布和特征 值分布是高度不平衡的情况下,绝大多数类都是负类,绝大多数特征值都是“不山现”的, 即口f i 、 p ( f ) ,此时信息增益大的特征主要是信息增益公式中后一部分( 代表单词不出 第= 章文水分类技术 现情况) 人,而1 卜前一部分( 代表单诃出现情况) 大,信息增益的效果就会大大降低了。 3 3 3 2 2 s t a t i s t i c ( c h i ) z s t a t i s t i c 衡量的是一个单词与一个类之间的相关稃度,它也被一些的实验结集证明 是用于文本分类问题上的优秀的特征选择方法之一m 1 。每一个单词对某一个类c h i 值的计 算方法为: zz ( 和) :坐垡塑型墼l 出生掣 p o jx p 【 x p 【c j “p ( c ) 其最终的c h i 值是所有类c h i 值的加权平均为: z 2 ( f ) = p ( q ) z 2 ( f ,c ,) f = i 其中n 代表所有单词的总数。 3 3 4t b r ms t r e n g t h ( t s ) t e r ms t r e n g t h 最早是在文本检索中用来删除没有意义的词”“,后来被应用于文本分类 1 8 o 这个方法有一个最基本的假设,那就是它认为一个词在相关的文本中出现得越多在不 相关的文本中出现得越少就越为重要。 t s 的定义如下面的公式所示,它计算的是一个条件概率,即一个词在一对相关文本中 的某一个文本中出现的条件f 在另一个文本中出现的概率。 t s ( t ) = p ( te d ,i t 吐) ,d i ,d ,d n s i m ( d f ,d ,) 卢 其中是一个相似阂值,用来判断两个文本是否是相关的文本。 3 4 分类方法 文本分类的方法大多来自模式识别与机器学习,目前存在多种基丁向量空间模型的分 类算法。从预定义主题类别的数目来看,文档分类方法可以分为二值和多值两种类型。从每 个文档能够赋予的类别来看,文档分类方法町以分为不可兼类和可兼类两种类型。从算法机 制上来看文档分类方法大致可分为基1 :统计学习和基于知识t 程两种类型。统计学习方法 由于其坚实的理论基础、简单的实现机制和良好的实用效果,而为目前的大多数文档分类系 统所采用。这类方法的典型例子包括:支持向量机算法,神经网络方法,k 近邻方法和朴素 贝叶斯方法以及决策树方法等等。 3 。4 。1 简单向量距离分类法 该方法的分类思路十分简单,为每类文本集生成一个代表该类的中心向量,然后在新 文本来到时,确定新文本向量,计算该向量与每类中心向量问的距离( 相似度) ,最后判定 文本属丁与文本距离最近的类,具体步骤如下: 1 计算每类文本集的代表向量 0 第三章文本分类技术 2 3 新文小到来后,将文本表示为特征向量 计算新文木特征向量和每类中心向量问的相似度,公式为 s i m ( d ,d ,) = 其巾,吐为新文本的特征向量,d j 为第j 类的中心向量,为特征向量的维数 为向量的第维。 4 比较每类中心向量与新文术的相似度,将文本分到相似度最大的那个类别中。 3 4 2 朴素贝叶斯分类 贝叶斯的文本分类方法基_ r 贝叶斯推理 ”,它基于这样的假定:待考察的量遵循某概 率分布,且可根据这些概率及已观察到的数据进行推理,以作出最优的决策。与其他分类方 法相比,贝叶斯方法町以直观地给山各个假设的置信度。 该算法的基本思路是计算文本属于类别的概率,文本属于类别的几率等于文本中每个 词属于类别的几率的综合表达式,具体算法步骤如下: 1 计算特征词属丁每个类别的几率向量,( w 1 ,w 2 ,w 3 一w n ) a 其中 w k = p ( l c ,) = l + 要( 吸,d :) i v + 夏f 叫夏i o ! 厩n ( w d 。 2 在新文本到达时,根据特征训分词,然后按下面的公式计算该文本d 属于类 ,。二、p ( c ) 兀:p ( i c ) 州4 叫脾一f 川一汐卜瓦崭萧茹 其中,p ( c ji o ) = 主器,p ( c ,i 自为相似含义,i c l 为类的总数 ( ,d 。) 为在d 。中的词频,月为特征词总数。 3 比较新文本属丁所有类的几率,将文本分到几率最大的那个类别中。 3 4 3k n n ( k 最近邻居) 算法f 2 0 1 该算法的基本思路是:在给定新文本后,考虑在训练文本集中与该新文木距离最近( 最 相似) 的k 篇文本,根据这k 篇文本所属的类别判定新文本所属的类别,具体的算法步骤 如下: 1 根据特征项集合重新描述训练文本向量 女嘭 m 一吆 了h飘厂 旷 笫三章义奉分类技术 在新文木到达后,根据特征词分词新文本,确定新文本的向量表示 在训练文本集中选出与新文本最相似的k 个文本,计算公式为 m s i m ( d 。,d ,) 其中,k 值的确定目前没有很好的方法,一般采用先定一个初始值,然后根据实验 测试的结果调整k 值,一般初始值定为几百到几千之问。 4 新文本的k 个邻居中,依次计算每类的权重,计算公式如下: p ( 王,c ,) = s i m ( $ ,d 。) y ( d 。,c ,) d k n n 其中,王为新文本的特征向量,& m 何,t ) 为相似度计算公式,与上一步骤的计 算公式相同,而y ( 吐,q ) 为类别属性函数,即,如果d ,属于类q ,那么函 数值为1 ,否则为0 5 比较类的权重,将文本分到权重最大的那个类别中。 3 4 4 基于神经网络的方法 般来说,人工神经网络町以定义为:由具有适应性的简单单元组成的,并广泛互联 的网络,它的组织能够模拟生物神经系统对真实世界物体所作山的交互反应】。一个神经 网络由若干神经元组成,每个神经元如图3 - 2 所示: 其中 ( 即 权值) ,。为阂值,f ( x ) 为该神经元的作用函数。输出u = f 1 巧巧一瞑l ;作用函数f i x ) lj = 1 一般采用s 型函数,( x ) 2 再之了,其值域为o ,1 。 神经刚络的知识体现在网络连接的权值上,是一个分布式矩阵结构;神经网络的学习 体现在这些权值的逐步计算上( 包括反复迭代或累加计算) 。 一吩 赫 第= 章文小分类技术 3 4 5 支持向量机的分类方法 支持向量机( s v m ) 算法f 2 2 【2 3 的原理基于统计学习理论,已经在包括文本分类的诸多 领域得到了应用,并取得了较好效果。下面对其基本方法做一个简要的介绍。 用s v m 算法进行分类,只能处理两种预定义类别的情况。也就是说,要处理多个预 定义类别的情况,需要将问题拆分为若干元的问题来求解。 s v m 算法的分类函数町以表示为: s = w 7 庐( d ) + 6 = 岛咒足( d ,4 ) + 6 如果计算得出的s 值大丁二一个固定的值s 0 ,则向嚣d 的分类表示为y = l ,否则向量d 的分类表示为y = 一1 。在公式中, 吐) 二是训练样本集合,而 咒) :,是样本集合中各个向量 所对应的分类。k ( a ,d i ) 一般是一个d 项的多项式,如世( d ,d j ) = ( d 7 d i + 1 ) “。 s v m 分类器的训练目的是要找到一个适当的w ,使得训练样本到两种类别的距离最大 化。训练的方法分为样本线性可分和线性不可分两种情况。限于篇幅,这里不冉做更详细的 介绍。 第四章系统的整体设计 第四章系统的整体设计 第一章中讨论过的分布式网络监视方法是整个系统设计的基本思路。系统利用动态链 接机制,将文本分类器作为“插件”融合为离线分析工具的一部分,大大降低了模块之间的 耦合度,使系统易于维护和扩展。在网络数据的获取方面,系统采用了n e t f i l t e r 中的i p _ q u e u e 机制来实现i p 包的嗅探。 大多数基j i 网络监视的应用程序使用了j i b p c a p 作为获取数据包的方式。与l i p p c a p 相 比,i p _ q u e u e 有其k 处和短处: 1 i p _ q u e u e 机制只能获得通过本机的流量。而l i b p c a p 通过将网卡设置为混杂模式, 能够获得所处以太网的所有网络数据。 2 i p _ q u e u e 机制町以视情况将某个口包接受、丢弃或者转发。而l i b p c a p 只能得 到份i p 包的拷贝,无法对其进行任何主动的操作。 4 1 系统所处的网络环境 本系统所考虑的网络应用环境是现阶段在企业、政府机关中应用最广泛的互联网接入 方式。也就是:多台主机通过以太网联接,形成一个内部的局域网,并通过一台网关计算机 接入i n t e m e t 。这样的网络结构相对简单,但很实用,参见图4 1 。 图4i :系统运行的碍络环境 本系统被设计为在网关上运行,这样可以充分发挥i p _ q u e u e 机制的优势,剥进山内部 网络的信息进行全面的监视。并且经过改进,系统可以及时地对有害信息进行过滤。分布式 的设计可以将大部分计算t 作分担到内网中的若十网管计算机上进行,从而提高了系统的整 体效率。 4 2 开发环境 本系统的网络监视部分在r e d h a t l m u x 7 2 下进行开发,也可以在更高版本上的l i n u x 上运行。分类器作为l i n u x 下的动态链接库接入系统。 系统主要使用c 语言编写,分类器使用了c c + + 的混合编程。 第四章系统的整体设计 4 3 系统的实现目标 1 实现一个可以监视各种麻用层协议内容的网络监视平台,并针对电子邮件协议 ( s m t p 和p o p 3 协议) 进行具体的功能实现。 2 对记录下来的文本信息进行分类,利用动态链接机制,可以方便地在系统中添 加、删除分类器,并可以单独地对分类器进行改进。 4 4 系统的组成和各部分功能 本系统借鉴了分布式网络监视思想,针对系统所处的酬络环境,对我们自己提出的解 决方案进行了实用性的实验。 4 2 系统体系结构示意图 如图所示的是本系统的结构。它由六个部分组成,下面将分别介绍这些部分的功能和 它们在系统中扮演的角色。 第四章系统的整体设计 4 4 1 信息采集 信息采集模块运行在l i n u x 的内核中,通过向n e t f i l t e r 注册的方式获取途经网关的数 据包。并将需要系统处理的数据转出内核态,交给运行在用户态的信息分拣模块处理。这一 模块是系统中所有关联动作的开始。在实现中,这一部分以一个可动态加载的内核模块 ( l k m ) 出现。 在具体的实现中,由 。考虑到运行在内核态下的代码效率对系统的整体性能有较大的 影响,所以采用了使用端口号来判断协议的方法。这样做使代码趋丁简明,但对于更改了端 口的服务器,就无法对协议进行监视了。这是系统需要改进的一个方面。 4 4 2 信息分拣 信息分拣模块作为用户态下的一个进稃运行。该进程循环向信息采集模块索要数据。 如果暂时没有町处理的数据,该进程进入阻塞状态,直到有新的数据到来为止。当进程收到 数据的时候( 数据为一个i p 包) ,它的任务是识别这个i p 包属1 :哪一个t c p 连接,以决定 将这个i p 包传递给哪一个信息提取模块的实例。 这个模块的主要t 作是维护一张连接特征连接处理程序句柄的表。连接特征町以 定义为一个四维的向量: 源地址,源端口号,目的地址,日的端1 5 1 号,。连接处理程序句 柄指明了如何l j 这个连接相关联的信息提取模块通信。 4 4 3 信息提取 每一个信息提取模块的实例都作为一个用户态下的进程运行。它由负责信息分拣的进 程负责创建,是其子进程。每当信息分拣模块发现一个新的连接时,就会创建一个信息提取 模块的实例,并将新的连接交由这个实例处理。当连接被关闭时,这个实例退出,信息提取 模块清除相应的表项。 信息提取模块的主要工作是从一个连接中找出协议的通信内容,并将它记录下来。对 于电子邮件协议来说这项工作就具体为记录下用户发送或接收的邮件内容。每当记录下一 封完整的信件时,信息提取模块调用数据库模块,将信件和相关信息( 如本次连接的双方地 址等) 存入数据库,以等待分类。 4 4 4 数据库模块 数据库模块负责保存信息提取模块传递来的信件内容和与信件关联的信息。它还望接 受米自信息分类模块和用户界面的查询和保存分类信息的操作。 在整个系统中,前面所介绍的信息采集、信息分拣和信息提取模块的 二作都是必须实 时完成的,而下面将要介绍的信息分类和用户界面模块的t 作都町以离线进行。数据库模块 在这两类模块之问起到了桥梁的作用。这一模块的引入大大降低了系统的耦台程度,从而增 强了系统的灵活性和可扩展能力。 第四章系统的撼体吐计 4 4 5 信息分类模块 信息分类模块负责管理和调度系统中的分类器。它作为一个用户态下的进程运行,每 隔一段时间向数据库模块提出查询,如果发现数据库中有尚未分类的信件,就训用分类器进 行分类,然后将分类结果写入数据库。 分类器作为动态链接库挂接到信息分类模块上,后者根据配置文件中指定的策略决定 以什么样的顺序调用哪些分类器。 第五章模块设计与实现 第五章模块设计与实现 5 1 数据收集模块的设计与实现 数据收集模块是整个系统中最底层的部分,它作为一个可加载的模块运行在l i n u x 的 内核中。下面先简单介绍一下这个模块所利用的n e t f i l t e r 架构和i p q u e u e 技术,再对这个模 块的设计与实现加以描述。 5 1 1 介绍n e t i u t e r n e t f i l t e r 是l i n u x 24 内核实现数据包过滤数据包处理m a t 等的功能框架”1 。它取代了 较早l i n u x 内核中的i p c h a i n s 框架,使内核的网络部分代码更简洁,且町扩展性更强。该 框架包括以下三个部分: 1 为每种网络协议( i p v 4 、i p v 6 等) 定义一套钩子函数( i p v 4 定义了5 个钩子函数) , 这些钩子函数在数据报流过协议栈的几个关键点被调用。在这几个点中,协议栈 将把数据报及钩子函数标号作为参数调用n e t f i l t e r 框架。 2 内核的任何模块可以对每种协议的一个或多个钩子进行注册,实现挂接,这样当 某个数据包被传递给n e t f i l t e r 框架时,内核能检测是否有任何模块对该协议和钩 子函数进行了注册。若注册了,则调用该模块的注册时使用的同调函数,这样这 些模块就有机会检查( 町能还会修改) 该数据包、丢弃该数据包及指示n e t f i l t e r 将该 数据包传入用户空问的队列。 3 那些排队的数据包是被传递给用户空间的异步地进行处理。一个用户进程能检查 数据包修改数据包,甚至可以重新将该数据包通过离开内核的同一个钩子函数 中注入到内核中。 图5 一l 描述了n e t f i l t e r 框架处理数据包的机制”j 。 从图中可以看到口v 4 一共有5 个钩子函数,分别为 n f 1 n 里j r e r o u t i n g n f 2 n f _ i p _ l o c a l _ i n n f 3 n f _ i p f o r w a r d - 1 8 一 第五章模块设计与实现 n f 4 n f - i p _ p o s t _ r o u t i n g n f 5 n f _ _ i p _ l o c a l o u t 来自网络上或本机的数据报从图的左边进入系统,通过i p 校验以后,经过第一个钩子 函数n f _ i p _ p r e _ r o u t i n g 进行处理;然后就进入路由处理,决定该数据包是需要转发还 是发给本机的:若该数据包是发被本机的,则该数据经过钩子函数n f _ i p _ l o c a l _ i n 处理 以后然后传递给上层协议;若该数据包应该被转发则它被n f i p f o r w a r d 处理:经过转 发的数据报经过最后一个钩子函数n fi pp o s t _ r o u t i n g 处理以后,再传输到网络上。 本地产生的数据经过钩子函数n f _ i p _ l o c a l _ _ o u t 处理可以后,进行路由选择处理,然后 经过n f - _ p o s t _ r o u t l n g 处理以后发送到网络上。 内核模块可以通过注册在n e t f i l t e r 架构上挂接一个或多个这样的钩子函数,数据报经 过时,这些钩子函数将被调用,从而模块可以修改这些数据报,并向n e t f i l t e r 返回如下值: 1 n t a c c e p t 继续正常传输数据报 2n fd r o p 丢弃该数据报,不再传输 3 n f

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论