- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于最大熵方法的垃圾邮件过滤插件的设计与实现
摘要:结合邮件的半结构化特征,将最大熵模型引入垃圾邮件过滤中,构造出基于最
大熵模型的垃圾邮件过滤系统框架。在此基础上,将其与 Outlook 提供的 PIA 相结合,利
用.NET 技术开发出基于最大熵模型的垃圾邮件过滤插件,在客户端实现了基于 内容 的垃
圾邮件过滤,较好地解决了垃圾邮件的 问题 。
关键词:最大熵模型;邮件过滤;.NET ;Outlook 插件
电子 邮件以其方便、快捷、低成本等优点逐渐成为人们日常生活中主要的通信手
段之一。但大量垃圾邮件的出现,给全球用户带来了巨大损失。据调查,我国用户平均每
人每周收到的垃圾邮件数量占收到的总邮件数量的 61.63%[1]。垃圾邮件的泛滥已带来严
重后果,因此有效地区分正常邮件和垃圾邮件成为一项紧迫的任务。近年来,有关垃圾邮
件过滤技术的 研究 逐渐兴起。常见的过滤 方法 有黑、白名单技术和规则过滤等,但由于
邮件发送者在不断变化,规则难以维护,准确率不高,使这些方法都具有一定的局限性。
将垃圾邮件过滤与机器 学习 、文本分类和信息过滤技术相结合,对邮件正文内容进行 分
析 ,已成为目前 研究的热点[2]。
最大熵模型是一种广泛 应用 于统计 自然 语言处理领域的技术。结合邮件的半结构化
特性,本文将最大熵模型应用到垃圾邮件过滤中,构造出基于最大熵模型的垃圾邮件过滤
系统框架,并将其与 Outlook 相结合,基于.NET 平台开发出了 Outlook 垃圾邮件过滤插件
,在客户端利用最大熵模型实现了基于内容的垃圾邮件过滤。
1 基于最大熵模型的垃圾邮件过滤
1 .1 最大熵模型
2 .1 互操作程序集
.NET 框架中提供的 COM Interop 技术,使开发人员可以在.NET 代码中直接访问 COM
组件。其基本原理[4]是,针对用户要访问的 COM 组件,.NET 框架自动生成一个互操作程
序集(Interop Assembly ,IA)。IA 是一个完全的托管程序集,其命名空间、类、方法等
都与 COM 组件相对应。这样,在.NET 程序中可以直接引用 IA ,由IA 完成对真正 COM 组
件的访问。图 2 说明了 IA 的作用。
微软公司为 Outlook 2003 提供了一个“正式的”互操作程序集,即主互操作程序集(
Primary Interop Assembly ,PIA),驻留在名称为 Micrsoft.Office.Interop.Outlook.dll 的全
局程序集缓存中。在 Outlook 的安装过程中,选择“.NET 可编程性支持” ,或者下载客户端
PIA 安装包来完成 PIA 的安装[5]。
2 .2Outlook 2003 对象模型
Outlook 通过对象和对象集合的层次系统(称为对象模型)为开发语言提供功能,开
发人员利用可用的对象和功能与 Outlook 进行交互,创建自己的解决方案。下面对其中几
个重要的对象进行介绍[6]。
2 .2 .1Application 对象
Application 是层次结构中所有其他对象的根,提供对其他所有 Outlook 对象的访问。
要从外部应用程序中访问 Outlook 对象模型,必须先获得 Application 对象的实例。
2 .2 .2Namespace 对象
Namespace 对象是 Outlook 数据源的抽象根。如果要访问 Outlook 数据,则必须创建
Namespace 对象的实例。目前,所支持的唯一数据源是邮件应用程序编程接口 MAPI ,用
于访问 Outlook 文件夹组中的所有 Outlook 数据。
2 .2 .3MAPIFolder 对象
Outlook 数据存储区内有一组支持默认功能的文件夹,使用 Namespace 的
GetDefaultFolder()方法返回某个默认文件夹,即 MAPIFolder 对象。
2 .2 .4Items 对象
Items 代表 Outlook 项目集合,如邮件项目 MailItem、任务项目 TaskItem 等。可以使
用 Application 对象的 CreatEitem()创建新的项目或使用 Items 对象的索引器获得并修改现
有的项目。
2 .2 .5Explorers 和 Inspectors 对象
Outlook 对象模型还定义了用来对用户界面进行操作的类型。Explorers 对象包含一组
Explorer 对象,代表所有的
文档评论(0)