当前位置:文档之家› 电子邮件智能分类系统的设计与实现

电子邮件智能分类系统的设计与实现

山东大学

硕士学位论文

电子邮件智能分类系统的设计与实现

姓名:徐海涛

申请学位级别:硕士

专业:计算机应用技术

指导教师:柴乔林

20040312

山东大学硕士学位论文

摘要

本文主要介绍了在Windows环境下电子邮件智能分类的设计模型和实现方法。该分类系统能够对一些典型垃圾邮件进行识别判断,而且也同时能够对其它邮件进行分类。山于如今电子邮件服务在网络中应用非常广泛,一个电子邮件信箱所接收到的邮件信息通常是五花八门。目前大部分的电子邮件收发软件,都提供简单的分类功能,不过需使用者自订分类规则。最近几年有许多邮件过滤的相关研究,但大部分的研究均针对英文来分类,无法直接使用在中文邮件分类上。所以本文介绍的Windows下的电子邮件智能分类系统,专门针对中文邮件的分类进行了研究,具有很高的研究价值。

开发该系统的主要目的是了解当前邮件智能分类的发展现状,学习中文邮件系统的处理的基本概念。通过学习和实践,发现中文邮件分类发展中遇到的问题,并结合自己的研究工作提出一些看法和见解。

本文首先介绍了关于文档分类的一些基本概念和原理,又简单介绍了一下其发展过程。然后,重点介绍了具体的中文邮件智能分类系统的设计和实现方法。最后,总结了当前中文邮件智能分类系统所面临的主要发展障碍,探讨了解决这些问题的一些方法和思路,指出了中文邮件智能分类系统今后的研究方向和发展趋势,为以后的研究工作做出了一定的方向性指导。

本论文的目的便是希望设计一个能够适用在中文邮件上的分类系统。在本论文中,我们考虑邮件中不同的特征应各自使用较为适合的分类器,并结合了分类器来预测邮件类别。我们将此邮件分类器应用在客户端,对邮件进行类别的标记。藉由此类别标记,邮件应用软件便能依据单一标记而直接的将邮件分派到各个目录,大量减轻了使用者进行纯人工分类或使用者制定复杂分类规则的负担。实验结果显示本论文中的系统使用在邮件分类上有可较好的正确率。

关键词:电子邮件,分类,中文分词,精确率,召回率

山东大学硕士学位论文

ABSTRACT

T11iSpapermadesomeintroductiOilforthemode]designandimplementationoftheEmailSIntelljgentClassificationunderthewindowsenvironment.ThiSClassificationsystemcanmaketherecognJZingandjudgementforsometypicaljunk—emailS,andinthemeanwhilemaketheclasslficationforsomeothermails.AsthepopularusageoftheemailserviceintheInternetnowadays,oneemailaccountcartreceiveIotsofdifferentemai1S.Currently,mostemai1receivingandsendingsoftwarescanjustolfersomesimpleclassificatjonfunctioneanditneedstheuserstosettheirownclassificationrules.RecentlythereiSsomeemaJ1“lteringrelatedresearch,andmostofthemareusedinEnglishandcannotbedirectlyusedontheChineseemailclassifications.TheEmailSIntelligentClassificationunderthewindowsenvironmentintroducedbythiSpapermadesomespecialresearchfortheChineseclassificationshavegreatresearchevaluation.

ThepurposeondevelopingthissystemiStounderstandthecurrentemailintelligentclassificationresearchand1earnsomefundamentalconceptsontheChineseemailprocessingsystem.Inthemeanwhile,findtheproblemmetintheemailclassificationdevelopmentandproposesome

thepractice.

Dewideasandunderstandingsafterthestudyand

Thepapermadesomeintroductiononthefundamentalconceptsandtheoriesforthedocumentclassificationthenmadesomesimpleintroductionofthedevelopingprocess.Afterthis,itfocusedonthedetaijedmodeldesignandimplementationontheEmailSIntel]igentclassJfication.Andfihally,madesomesummaryforthecurrentmainproblemsinthedevelopmentontheChineseEmailsIntelligentClassJficationSystemandproposedsomemethodsandideastosolvetheseproblems.ThiSpaperalSOpointedoutthetendencyandfutureresearchdirectionfortheChineseEmailSIntelligentclassificationandgavesomevaluableguideforthefutureresearchonthiSsubject.

ThepurposeofthispaperistodesignaclassificationsystemthatissuitablefortheChineseemailS.Inthepaperwethinkthedifferent

thesuitableclassifierrespectiveJypropertJesfortheemaiisshoulduse

.1l?

山东大学硕士学位论文andwealsocombinedtheclassifierstopredictthetypeoftheemails.Weinsta]】edthisemailclassifierontheclientcomputerandmadetheclasseslabelfortheemailsontheclient.TheemaiiapplicationsoftwarecandirectiFputtheemailstothecorrespondingfolderaccordingtothesinglelabel,andthiswillgreatlYdecreasethemanualclassifieationsbytheusersortheburdenfortheuserstomakesomecomplicatedclassifyingrules.Theexperiments’resultsshowedthatthesystemproposedbythispapercangetgoodaccuracyontheChineseemailsclassification.

Keywords:E-reall,classifier,Chinesewordsegmentation,precisionfecall

.III.

原创性声明

本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独

立进行研究所取得的成果。除文中已经注明引用的内容外,本论文不

包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研

究作出重要贡献的个人和集体,均已在文中以明确方式标明。本声明

的法律责任由本人承担。

论文作者签名:I坌迦盗日期:o盘Z:三:弘

关于学位论文使用授权的声明

本人完全了解山东大学有关保留、使用学位论文的规定,同意学

校保留或向国家有关部门或机构送交论文的复印件和电子版,允许论

文被查阅和借阅;本人授权山东大学可以将本学位论文的全部或部分

内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段

保存论文和汇编本学位论文。

f保密论文在解密后应遵守此规定)

论文作者签名:l敞导师签名:鞯日期:2堡墼协

山东大学硕士学位论文1绪论

1.1问题的提出及其研究意义

Internet从70年代诞生至今,其规模一直以爆炸式的速度发展。在Internet向我们提供海量的信息和服务的同时,“信息过载”等问题也随之产生了。信息过载是现代社会中产生的新问题,其根源是用户所能接触到的和需要处理的信息超过了他们所能处理的最大限度。通常表现为用户被太多的信息包围,没有足够的时间去整理过滤出有用的信息,然后来理解和运用他们。解决这个问题的一个有效方法就是采用计算机程序来帮助完成信息的搜集分类和检索等工作,这样大大减轻了人的工作负担,而且及时快速的帮助人们找到迫切需要解决的问题和迫切需要的信息。电子邮件作为Internet上另一项重要的传统服务[1],同样也面临着信息过载的问题。

网络时代的人们饱尝垃圾邮件带来的烦恼,几乎每个人的信箱都充斥着大量来历不明的邮件,垃圾邮件像瘟疫一样蔓延、污染网络环境,影响网络的正常通信。根据调查[2]意大利在2002年就有700亿封电子邮件,而2001年才有BOO亿封。对一些业务繁忙的企业或个人来说,每天也许会收到上百封电子邮件,需要拿出大量的时间阅读和处理这些信件。因而需要用计算机程序来完成一些邮件的预处理工作,需要能够自动将邮件分类保存,按照重要程度标出优先级,自动对垃圾邮件进行过滤的处理软件。

目前大部分的电子邮件的收发软件,都提供能够减轻使用者邮件分类的的功能,不过需使用者自订邮件分类规则,如MicrosoftOutlook,仅提供使用者制定对特定几个字段内容,进行以关键词为基础的过滤规则。此方法的缺点为只考虑规则中数个关键词是否出现,并不全盘考虑文章中所有词汇在整个文档中应占的权重。并且,由人工分析并订定出能够涵盖并代表整个类别的一组规则是非常困难的。最近几年有许多邮件过滤的相关研究[3][4],但大部分的研究均针对英文文档来分类,并无法直接使用在中文邮件分类上。借由过去的文档自动分类相关研究及中文处理技术的方法,我们希望建构一个应用机器学习(machine

learning)技术来过滤邮件并能处理中文信息的邮件分类器。

山东大学硕士学位论文1.2国内外研究状况

关于文档的自动分类问题,国外研究进行的比较早,而且也有很多了成熟的技术和成果[5][6][7][8]。但是绝大部分研究基于以英语文信息,因此主要索引的单位为英文词汇,然而,此种索引技术并无法直接应用在中文信息处理上。中文文档与英文文档最大的不同在于,英文文档中英文单词之间被空白或其它符号所分丌,而中文文档旱,中文词可由一个或两个以上的相邻中文字(chjtiesecharacter)组成,中文词之间大多并无明显的边界(wordboundary)。国内在借鉴国外成果的基础上针对中文的文档分类也进行了大量的研究,也有很多不错的方法和实际应用,如常见的分类器(classifier)有TFIDF分类器(TFIDFclassi±’ier)[9]、kNN分类器(KNNclassifier)[103、决策树分类器(deciSiontreeclassifier)[11][12]、naiveBayes分类器(naiveBayesclassifier)[13],支持向量机(suPPortVectorMaohines)[14]。

1.3系统的功能和特色

本文提出的邮件智能分类系统,不仅可以对英文邮件进行分类,同时也可以对中文邮件进行分类。对中文邮件的分类过程中,可以根据系统的配置和分类精度的需要选择是否配备中文词库。系统根据其功能的实现不同,划分为了六个功能模块1.邮件接收与发送程序、2.邮件特征提取程序、3.决策树分类器、4.NaiveBayes分类器、5.类别标记程序、6.中文词提取程序六部分组成。邮件接收与发送程序提供了经由SgTP协议与邮件服务器连接的能力。接收邮件后,系统会将邮件送至邮件特征提取程序中,邮件特征提取程序会从邮件资料区块取出分类器所需的特征,然后再送至决策树分类器来预测类别,若预测类别的结果有极高的可信度则直接将邮件送往类别标记程序,若预测类别的结果可信度不高,则将可能的发生的类别信息送往naiveBayes分类器,naiveBayes分类器预测出结果后,将邮件送往类别标已程序。类别标记程序为邮件加上类别符号,中文词提取程序则使用来提取出邮件中的中文词,产生系统所需的中文词库。

具体来说,邮件智能分类系统的主要功能有:

(1)丁F常接收和发送邮件;

(2)对邮件进行『E确的分类;

(3)清除和拒绝垃圾邮件:

(4)更新训练资料。

该系统的重点是研究邮件分类算法的设计与实现.该系统工作在客户端。考虑到很多企业和个人在邮件处理程序上采用了Outlook2000这个软件,因此将邮件分类程序作成了Out]ook2000的一个插件,这样既利用了Outlook2000在邮件管理的上的强大功能,又实现了邮件分类的增值功能。该版本代码部分主要是用VisualBasic[15]实现的。邮件训练和词库的数据库采用了目前比较流行的MicrosoftSQLServer2000[16][17]作为其后台数据库服务器,它将作为一个可升级的、可靠的并且易于使用的产品为企业用户所青睐。它能够缩放,以适用从便携式计算到企业级应用等各种规模,它们可以使用完全相同的代码,提供了I(10%的代码兼容性。SQLServer2000能够与windows2000server最佳无缝集成。本课题数据库部分的开发采用了MFCODBC技术。ODBC提供了一种统一访问数据库的接口,但是直接使用ODBCAPI创建应用程序需要编制大量的代码。而MFCODBC将ODBCAPI函数进行了封装,大大简化了数据库开发的编程工作。对于相对简单的数据库应用程序,使用MFCODBC是一个合适的选择。

本系统的主要特点有:

(1)可以对邮件进行智能分类

(2)分类速度快。

(3)分类精度较高。

(4)可以选择加挂词库和无词库2种方式。

-3-

2相关的主要研究

2.1相关的协议和技术规范

目前互连网上,Email的使用是越来越广泛了。在所有的TCP连接线路中,大概有一半的线路是用来收发Email的。电子邮件类软件作为Internet上的应用软件,其设计开发必须符合Internet上成熟的技术规范(如RFC文档系列规范)和相关协议(如ShITP、POP、IblAP以及MIME等)。只有在遵循了上述规范和协议的基础上进行编程才能真正实现邮件类软件产品和服务的开放性和标准化。目前大多数EMAIL系统都是使用SMTP协议来作为发送协议,使用POP3扔议来作为接受协议。下面我重点介绍一下SMTP协议和POP3协议,简单介绍IMAP以及MIME协议。

2.1.1SMTP协议

SMTP(SimpleMessageTransferProtoc01)简单邮件传输协议[18]是TCP/IP协议族[19][20]中的一员,主要对如何将电子邮件从发送方地址传送到接收方地址,也即是对传输的规则做了规定。

SMTP协议通讯模型

SMTP协议的通信模型并不复杂,主要工作集中在发送SMTP和接收SMTP上:首先针对用户发出的邮件请求,由发送SMTP建立一条连接到接收SMTP的双工通讯链路,这里的接收SMTP是相对于发送SMTP而言的,实际上它既可以是最终的接收者也可以是中间传送者。发送SMTP负责向接收SMTP发送SMTP命令,而接收SMT9则负责接收并反馈应答。可大致用下面的通讯模型示意图来表示:

SMTP通讯模型示意图

图1SMTP通讯模型示意圈

SM一1P|办议的命令和应答

从前面的通讯模型可以看出SMTP协议在发送SMTP和接收SMTP之间的会话是靠发送SMTP的SMTP命令和接收SMTP反馈的应答柬完成的。在通讯链路建立后,发送SMTP发送MAIL命令指令邮件发送者,若接收SMTP此时可以接收邮件则作出OK的应答,然后发送SMTP继续发出RCPT命令以确认邮件是否收到,如果接收到就作出0K的应答,否则就发出拒绝接收应答,但这并不会对整个邮件操作造成影响。双方如此反复多次,直至邮件处理完毕。SMTP协议共包含10个SMTP命令,列表如下:

一~一

…_一———一

^一——一————————_-———一———————————’_——————————————————^…—————一:SM。”命令

:命令说明J:HEI,1.0<domain><CRLF>:识别发送方到接收SMTP的一个HELLO命令!<reverse~path>为发送者地址。此命令告诉接i:

;’收方一个新邮件发送的开始,并对所有的状态和{撇儿FROM:<reverse—Dath><。

l‘:缓冲区进行初始化。此命令开始一个邮件传输处lCRL,F>j

:;理,最终完成将邮件数据传送到一个或多个邮箱i

l!RCP'I’TO:<forward-path><CRLFI

lj<forward—path>标识各个邮件接收者的地址l>!}.———,..—.—?—;——.—.+—.—-—.——!——一—一:;

l{}iDATA<CRLF>接收SMTP将把其后的行为看作邮件数据去处理,i

l以<CRLF>,<CRLF>标识数据的结尾。

REST<CRLF>

:退出/复位当前的邮件传输NOOP<CRLF>j要求接收SMTP仅做oK应答。(用于测试)QUIT<CRLF>{要求接收SMTP返回一个oK应答并关闭传输。

VR}、Y<string><CRLF>

验证指定的邮箱是否存在,由于安全因素,服务

器多禁止此命令。

Lx州<string><CRLF>!验证给定的邮箱列表是否存在,扩充邮箱列表,1

一一—.—.——。.—————..———..——————————.————,————L————————————————————?———————————————————————————”——————————+———一-S.

山东大学硕士学位论文

一景景罢喜=景=詈!!鼻鼻!=!!黑兽喜!景==!等=烹詈鼻!鼻喜!罢呈=鼻詈呈喜景===鼻尝喜詈=竺!!!!!!景鼻=!謇也常禁止使用。

——,一…~一———一一…一…一-_。●_一一一~。_

ELP<CRLF>碴询服务器支持什么命令

洼:<CRLF>为回车、换行,ASCII码分别为13、i0(十进制)。

SMTP协议的每一个命令都会返回一个应答码,应答码的每一个数字都是有特定含义的,如第一位数字为2时表示命令成功;为5表失败;3表没有完成。一些较复杂的邮件程序利用该特点,首先检查应答码的首数字,并根据其值来决定下一步的动作。下面将¥MTP的应答码列表如下:

…—。一——…‘———。。。’’。。。。__‘—。一

应答码浇明50l502参数格式错误

………一一一一一…’一一

命令不可实现

503:错误的命令序列5(14;命令参数不可实现i——一—————二————.———.........———..—..—.........——.———————————。————————————————————————————————————一一2j1系统状态或系统帮助响应{214220221帮助信息

<domain>服务就绪

<domain>服务关闭

421。<domain>服务未就绪,关闭传输信道

一一,_————————————

250要求的邮件操作完成;——一~————二——————————.。...———.————————?———-—??————————————————————————————————————————————————’—。。。■251用户非本地,将转发向<forward—path>

450要求的邮件操作未完成,邮箱不可用

550

要求的邮件操作未完成,邮箱不可用……一————一一一一一451

放弃要求的操作;处理过程中出错551;用户非本地,:…一一一请尝试<forward—path>

452.系统存储不足,要求的操作未执行

552-过量的存储分配,要求的操作未执行

553;邮箱名不可用,要求的操作未执行..6.

山东大学硕士学位论文354丌始邮件输入,以”.”结束

554操作失败

2.1.2POP3协议

POP3(PostOffioeProtoco])邮局协议是该协议的第3的版本[21]。POP3是Internet上的大多数人用来接收邮件的机制,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。它是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。

对于在网络上的tE较小的结点,支持消息传输系统(MTS)是不实际的。例如,一台工作站可能不具有充足的资源允许s婀P服务器和相当的本地邮件传送系统保持驻留,并持续运行。同样的,将一台个人计算机长时间连接在IP类型网络上的费用也是可观的。

虽然如此,在这样的小结点上允许管理邮件是十分有用的,并且这些结点经常支持一个用户代理来管理邮件。为解决这一问题,能够支持MTS的结点就为这些不能支持的结点提供了邮件存储功能。邮局协议一版本3就是使这样的工作站可以用一种比较实用的方法来访问存储于服务器上的储存邮件。通常,这意味着工作站可以从服务器上取得邮件,而服务器为它暂时保存邮件。

在下文中,客户主机指的是利用POP3服务的主机,而服务器主机指的是提供POP3服务的主机。

初始时,服务器通过侦听TCP端口110开始POP3服务。当客户主机需要使用服务酬,它将与服务器主机建立TCP连接。当连接建立后,POP3发送确认消息。客户和POP3服务器相互(分别)交换命令和响应,这一过程一直要持续到连接终止。

POP3命令由一个命令和一些参数组成。所有命令以一个CRLF对结束。命令和参数由可打印的ASCII字符组成,它们之间由空格间隔。命令一般是三到四个字母,每个参数却可达40个字符长。

POP3响应由一个状态码和一个可能跟有附加信息的命令组成。所有响应也是由CnF对结束。现在有两种状态码,“确定”(“+OK”)和“失败”(“一ERR”)。

对于特定命令的响应是出许多字符组成的。在这些情况中,下面一一表述:在发送第一行响应和一个CRLF之后,任何的附加信息行发送,他们也由CRLF列

山东大学硕士学位论文结束。当所有信息发送结束时,发送最后一行,包括一个结束字符(十进制码46,也就是“.”)和一个CRLF对。如果信息中的任何一行以结束字符开始,此行就是通过在那一行预先装入结束而进行字符填充的。因此,多行响应由五个CRLF.CRLF结束。当检测多行响应时,客户检测以确认此行是否以结束字符丌始。如果是的,而且其后的字符不是CRLF,此行的第一个字符(结束字符)将被抛弃;如果其后紧跟CRLF,从POP服务器来的响应终止,包括.CRLF的行也不被认为是多行响应的一部分了。

在生命周期中,POP3会话有几个不同的状态。一旦TCP连接被打开,而且POP3服务器发送了确认信息,此过程就进入了“确认”状态。在此状态中,客户必须向POP3服务器确认自己是其的客户。一旦确认成功,服务器就获取与客户邮件相关的资源,此时这~过程进入了“操作”状态。在此状态中,客户提出服务,当客户发出QUIT命令时,此过程进入了“更新”状态。在此状态中,POP3服务器释放在”操作”状态中取得的资源,并发送消息,终止连接。

POP3服务器可以搠有一个自动退出登录的记时器。此记时器必须至少可以记录10分钟。这样从客户发送的消息才可能刷新此记时器。当记时器失效时,POP3会话并不进入“更新”状态,而是关闭TCP连接,而且不删除任何消息,不向客户发送任何响应。

“确认””状态:这时TCP连接由POP3客户打开,POP3服务器发送一个单行的确认。这个消息可以是由CRLF结束的任何字符。例如,它可以是:S:+OKPOP3serverready

注意:这个消息是一个POP3应答。POP3服务器应该给出一个“确定”响应作为确认。

此时POP3会话就进入了“确认”状态。此时,客户必须向服务器证明它的身份。在文档中介绍两种可能的处理机制,一种是USER和PASS命令,另一种是在后面要介绍的APOP命令。

用USER和PASS命令进行确认过程,客户必须首先发送USER命令,如果POP3服务器以“确认”状态码响应,客户就可以发送PASS命令以完成确认,或者发送QUIT命令终止POP3会话。如果POP3服务器返回”失败”状态码,客户可以再发送确认命令,或者发送QUIT命令。

当客户发送了PASS命令后,服务器根据USER和PASS命令的附加信息决定是否允许访问相应的存储邮件。

一旦服务器通过这些数据决定允许客户访问储存邮件,服务器会在邮件上加上排它锁,以防止在进入”更新”状态前对邮件的改变。如果成功获得了排它锁,

臌务器返回一个“确认”状态码。会话进入“操作状态”,同时没有任何邮件被标汜为删除。如果邮件因为某种原因不能打开(例如,排它锁不能获得,客户不能访问相应的邮件或者邮件不能进行语法分析),服务器将返回”失败”状态码。征返回“失败”状态码后,服务器会关闭连接。如果服务器没有关闭连接,客户可以重新发送确认命令,重新开始,或者发送QUIT命令。

在服务器打开邮件后,它为每个消息指定一个消息号,并以八进制表示每个消息的长度。第一个消息被指定为l,第二个消息被指定为2,以此类推,第N个消息被指定为N。在POP3命令和响应中,所以的消息号和长度以十进制表示。

“操作”状态:一旦客户向服务器成功地确认了自己的身份,服务器将会锁住并打开相应的邮件,这时POP3会话进入“操作”状态。现在客户可以重复下面的POP3命令,对于每个命令服务器都会返回应答。最后,客户发送QUIT命令,会话进入“更新”状态。

“更新”状态:当客户在“操作”状态下发送QUIT命令后,会话进入“更新”状态。(注意:如果客户在”确认”状态下发送QUIT后,会话并不进入”更新”状态。)

如果会话因为QUIT命令以外的原因中断,会话并不进入“更新”状态,也不从服务器中删除任何信件。

2.1.3IMAP协议

IMAP(InternetMessageAccessProtoc01)网络消息访问协议[22],主要提供的是通过Internet获取信息的一种协议。IMAP4是IMAP协议的第4个版本,正如POP3是POP协议的第3个版本一样。

IMAP和POP3的区别:由于很多用户都对POP3非常熟悉,我们就从POP3说起。POP3提供了快捷的邮件下载服务,用户可以利用POP3把邮箱里的信下载到Pc上进行离线阅读。一旦邮件进入Pc的本地硬盘,就可以选择把邮件从服务器上删除,然后脱离与Interne%的连接并选择在任何时候阅读已经下载的邮件。IMAP同样提供了方便的邮件下载服务,让用户能进行离线阅读,但IMAP能完成的却远远不只这些。

首先,IMAP提供的摘要浏览功能可以让你在阅读完所有的邮件到达时间、主题、发件人、大小等信息后才作出是否下载的决定。也就是说,你不必等所有的邮件都下载完毕后才知道究竟邮件里都有些什么。如果你根据摘要信息就可以决定某些邮件对你毫无_辟j|处,你就可以直接在服务器上把这些邮件删除掉,而不必浪费你宝贵的上网时间。如果你的IMAP客户端软件完整支持IMAP4revl的话(如

-9-

Netscape4.5),则你还可以享受选择性下载刚件的服务。举例来说,假如一封邮件里含有不同大小的5个附件,而其中只有2个附件是你需要的,你就可以只F载那两个附件,节省了下载其余:{个的时间。

和WebMail的比较:也有很多用户喜欢通过Web来联机收发邮件,其中~个很重要的原因是这些用户希望把他的邮件都留在服务器上,并且通过WebMail服务建立多个文件夹,然后分类归档地管理自己的邮件。这样,WebMail的用户就可以不分时间地点,只要有一个浏览器就可以马上从服务器上获得自己的邮件,不管是刚收到的还是已经存放了很久,也不必担心客户端的Pc重新安装了操作系统或换了一台电脑以后邮件全部丢失了的问题。IMAP同样满足了WebMail用户的需要。TMAP与POP3不同的地方关键是在支持离线阅读的同时也鼓励用户把邮件存储和组织在服务器上。和WebMail一样,通过IMAP,允许用户在服务器.卜建立任意层次结构的文件夹,并且可以灵活地在文件夹之间移动邮件,随心所欲地组织你的邮箱(这些显然是通过POP3做不到的)。只要你的邮件存储在服务器上,任何时候通过一个IMAP的客户端软件都可以立即联机获得你的邮件,这一点与ffebMail保持一致。但是,IMAP具有以下优点:凡是WebMail的用户都必需无奈地阅读页面上的广告,都必需花费宝贵的时间和带宽来下载页面上的图片、修饰字符等等;IMAP则忠实地只为你的Email服务,不让你的资源有丝毫的浪费。此外,I鼢P协议还允许你方便地利用你的邮箱作为信息存储工具,一般的IMAP4客户软件都支持邮件在本地文件夹间和服务器文件夹间的随意拖动,让你得心应手地把本地硬盘上的文件存放到服务器上,然后在你需要的时候同样方便地取回来。

2.1.4MIME协议

MIME(MultipurposeInternetMailExtensiOnProtoc01)多用途的网际邮件扩充协议,它不是~种邮件传输协议。MIME规定了通过SMTP协议传输非文本电子邮件附件的标准。。它定义传输的内容:消息的格式、附件等。许多文档都定义了MIME协议,包含:RFC822、RFC2045、RFC2046和RFC2047。现在绝大多数邮件系统都支持MIME协议。

2.2文档自动分类

文档分类(documentclassification)是将一群文档依据文档特征将它们分别归类到一个或多个事先定义好的类别。文档分类一直是信息提取(information

retrieval)领域上的~项很重要的研究。且随着现今电子信息,如网页、电子邮件,数量呈等比级数般的增长,文档自动分类技术的研究越显得有其必要性与实用性。传统以人工来进行过滤分类文档将越来越不可行。文档分类已经成为处理和组织大规模文档数掘的关键技术。现有文档分类技术基本上是基于词信息124],这使得文档分类需要借助于词典和使用专门的词提取技术。在文档分类方法中,文档的表示方法(documentrepresentation)因系统使用不同的分类器而有所不同[25]。常见的分类器有TFIDF分类器、KNN分类器、决策树分类器、naiveBayes分类器,SVM等。

2.2.1TFIDF分类器

TFIDF(TermFrequency.InvertDocumentFrequency)其实应算是文档词汇加权(termweighting)[26]的一种方法,因为以TFIDF取权重为基础的相似方法,大量的被使用在各种文档分类器上。所以我们通过一个属于基于质心的分类器(centroidbasedclassifier)[27]的例子,来说明TFIDF的计算方式,基于质心的分类器使用单一质心向量来描述一个类别,举例来说,第i个类9Jff]质心1.h量d为类别内所有文档向量{厅ld∈Ci)的总和,即

ci-三yd(式2一1)

"篇,

其中d为文档向量,d=(d“’,d。,…,d“…’),d“’表示第J个词汇wj在文档d中的权重(weight),Idl为文档向量的长度,n为Ci中的文档数。文档向量内每一维度的权重则是以TFIDF来给定。TFIDF计算方法如(式2—2)所示:d。’=I"F(wj,d)?IDF(wj)

其中TF“j,d)为关键词wj在文档d中出现的次数,

肼㈨卜蛔I器l

DF(wj)为文档中有出现关键词wj的文档篇数。由DF方程式得知,当关键词在文档d中出现次数越频繁,TF值则会越高代表此关键词对文档d来说越重要,当关键词在越少的文档出现,IDF值则会越高,代表此关键词对文档d来说越具有代表性。相反来浇,当关键词在文档d出现次数越少,TF值则会越低,代表此关键词对文档d来说越不重要,当关键词在越多的文档出现,IDF

?t1-

山东大学硕士学位论文值则会越低,代表此关键词对文档d来说越不具有代表性。

壤后,指定在所有类别里与文档d相似程度最高的类别给文档d。如(式2-3)所示,类别向量与文档向量的相似程度的比较是由一相似度函数(similarityfunction),Sim(),来决定。

‰¨f’一”gI㈨iQax8im(。j~)(式2—3)

其中C表示所有类别的集合,cj为第j个类别,代表类别cj的权重向量,d代表文档d的文档向量。

在向量空间模式中,最常被使用来设计相似度函数的工具为余弦系数(COSifiecoefficient),余弦系数公式如下式所示:

余弦系数

其中X、Y为两文档向量,X=(x,,x。,…,X。),Y=(Y;,Y∥“,Y。),t则为x与Y的维度。

由余弦系数方程式(式2-3)我们可得知,当两文档向量的维度之间的比例均相同,即两向量互相平行,向量间夹角为0,两向量的余弦值为1,代表着两文档有极高的相似度。反之,当两文档向量的每一维度比例越不楣同,余弦值为将越低,代表着两文档并不相似。另外,Jaccard系数(Jaccardcoefficient)与Dice系数(Dicecoefficient)也是两个常被用来钡0量两向量间相似性程度的工具。]accard系数与Dice系数的方程式如下所示:

Jaccard系数式

Jaccard(X.Y):!薹:=!鲨(2吲

味J卜墨tF.2券t面.2t?-他_’其中x、Y为两文档向量,X=(x。x:,…,x。),Y=(y-,y:,…,y.),t则为x与Y的维度。

Dice系数

Dice(X,Y)2夏2面∑',xiyicz训

其中x、Y为两文档向量,X=(x;,X矿”,x。),Y=(y,,Yb…,y。),t则为X与Y的维度。-12-

2.2.2基于kNN法的文档分类

kNN分类器属于基于个例的分类器(instancebasedclassjfier)。kNN分类器在学习阶段只是简单的将每笔训练数据(trainingdata)作适当的表示后便储存起来,就完成了训练工作。当有一笔测试数据(testdata)需要分类时,再将测试数据与所有训练数据逐一比对,找出k笔最近的调练数据,再依据这k个训练数据所属的类别,与这k个训练数据和测试数据间的距离来评估此测试数据最后应归属的类别。基于个例的分类器可以算是没有训练时间,等到有新的测试数据时才开始作处理,因此这种学习又称为懒惰学习(1azylearning)或延迟学习(delaylearning)。

在kNN文档分类方法中,所有文档均用向量空间模型表示。因此,一个文档就是文档向量空间中的一个向量,这个向量也称为文档向量。文档向量中各个维对应于用于表征文档的各个词(词组),这也就是文档属性。对于某一具体文档,其向量中各个维的值为该向量维对应的词在文档库中的权值[28]。

对于文档库D,假设对应的文档属性集为V,V={Wil,(i=l’tq)。现有一文档d,用向量模型表示为:

d=(wl,Wb…,W。)

上面的W.(i=l’n)为属性wi对应的权值。权值的计算一般采用TFIDF估算方法。kNN方法进行文档分类的过程如下:对于某一给定的测试文档d,在训练文档集中,通过相似度找到与之最相似的k个训练文档。在此基础上,给每一个文档类打分,分值为k个训练文档中属于该类的文档与测试文档之间的相似度之和。也就是说,如果在这k个文档中,有多个文档同属于一个类,则该类的分值为这些文档与测试文档之闻的相似度之和。对这k个文档所属类的分值统计完毕后,即按分值进行排序。还应当选定一个闽值,只有分值超过阈值的类才予以考虑。测试文档属于超过闽值的所有类。形式化表示为:

Score(云,Ci)=∑Sim(d一,a—y)y(d—j,ci)一bi(式2-7)

式中y(巧,c。)=l巧∈c

Y(巧,C,)=o巧《C

-13.

11.为阀值:

SCOFe(c,,C.)为测试文档d属于C,类的分值。

对于某一特定类来说,b,是一个有待优化选择的值。一般,b。可以通过一个验证文档集来进行凋整。验证文档集是训练文档集的一部分。根掘式(2-7)的结果,呵以确定测试文档的类别。很显然,对于每一个测试文档,必须求解它和训练文档库中所有文档的相似度。因此,kNN方法的时间复杂度为

0(|Dn,)。(注:|DIn,与分别为训练文档总数和测试文档总数)

kNN分类器的优点为在训练资料文档量很少的时候,效果不错。但其最主要的缺点为当训练数据量很多或者特征向量(featurevector)的维度(dimension)很高时,若没事前做适当的处理,例如,分割(partition)文档集、缩小文档集项目等,分类时将会需要许多的大量的计算,因此速度与基于质心的分类器比较起来相对慢一些。

2.2.3决策树分类器

决策树(decisiontree)被广泛的应用在分类问题上。而常见的决策树分类器有

ID3[29]及c4.5[30]等。决策树分类器的主要优点为其结果可转成容易为人所解读的IF-THEN法则(IF—THENRule),分类速度快。

决策树模型建立的基本策略为一开始以~个根节点(rootnode)代表所有资料。若节点(node)内的所有的训练数据均属于同~类别,则此节点便成为叶节点(1eafnode),否则,就测量并选择一个属性,此属性最能将训练数据分割成单一类别自成一群。每一内部节点代表一个属性,这~个属性为此节点上的测试属性(testattribute);节点的每个分支(branch)代表_;910试属性所有可能的数值,而节点内的训练数据依据此数值被切割至子节点内。算法依据相同的方法,递归的将每群数据分割,推导出整个决策树,当节点里的所有训练数据大部分为相同类别时,便停止分割。

2.2.4NaiveBayes分类器

NaiveBayes分类器被广泛的使用在文档分类上。并且根据过去文献[31][32]显示,NaiveBayes在文档分类的应用上有相当不错的表现。NaiveBayes分类器做了一个简化的假设,对于结果来说每个参数之间出现的机率是互相独立的。此简化的假设使NaiveBayes分类器有简单快速的特性。不过大部分情况

一14-

山东大学硕士学位论文F参数出现的机率是并不是互相独立的,对预测的结果来说,此一简化的假设也耗损了一些精确度。如(式2-8)所示,

P(dIc-)2nP(d.ICk)

/=I

NaJveBayes分别计算在一给定文档下,文档归属于每一类别的机率,并将文档的类别指定给机率最高的类别。公式d表示文档向量,d=(d,,d。…,d。),In为文档向量的维度,N为类别数目,Ck表示第k个类别。

2.2.5SVM分类器

支持向量机(SupportVectorMachines)是一种分类器,最早由Vapnik在1979年提出,当时没有得到重视,随后Vapnik等人花了很长时间完善统计模式识别的基本数学理论,随着结构风险最小准则的提出,SVM的理论基础基本完备,终于引起注意。直到最近,它才成为一个研究上的热点,并开始得到非常广泛的应用。和传统的分类器,例如神经网络相比,它从理论上解决了神经网络难以控制自身推广能力的问题,找到了计算实际识别中分类器错误率上界(但是只是上界)的方法。

支持向量机(SVM)是一种建立在统计学习理论基础上的机器学习方法[33][34]。通过该学习算法,SVM可以自动寻找那些对分类有较好区分能力的支持向量,由此构造出的分类器可以最大化类与类的间隔,因而有较好的推广性能和较高的分类准确率。

支持向量机SVM是一个预先定义了参数的函数集合,训练一个SVM就是由一个训练样本集来得到此集合中各个函数的参数,n个样本的训练集可以训练出n个自由的参数谢。为了得到a,必须求解二次最优问题。因为涉及到一个n×n的矩阵,尽管形式比较简单,但是在训练样本的数量总体上较大的情况下,必须采用适当的算法来解决这一问题。目前比较常用的有复杂数据结构法、分解法和sMO法等。其中SMO法速度更快~些[35]。一般情况下,用sVM方法进行分类的过程可以描述为:

(1)通过求解一个约束条件下的二次最优问题,得到使

Margin=2/1(^)1最大的∞=(y耐+Yd,)和分类闽值b,

其中df为由撕不为0(ai+)而确定的支持向量(预先训练阶段)。

.1S-

相关主题
文本预览
相关文档 最新文档