文件名称:
要求综合运用 STL,实现一个简单的垃圾邮件过滤程序
开发工具:
文件大小: 2kb
下载次数: 0
上传时间: 2009-09-07
详细说明: Homework5 1、问题描述 电子邮件便利了人们之间的沟通,但亦衍生出许多的问题,例 如: 成为病毒散布的有效媒介。 垃圾邮件厂商(Spammer)滥发广告信件,不但浪费了网络带 宽,同时也占据了使用者收件箱的空间,浪费了使用者宝贵 的时间。 骇客伪造寄信者发送欺诈信件,例如:伪造由银行客服人员 发出的信件,谎称使用者密码过期,需要上网变更密码,然 后引诱使用者到恶意网站打入银行账户及密码,有人称这种 手法为网络钓鱼(phishing)。 由于垃圾邮件的问题日益严重,因此有许多软件致力于过滤这 些垃圾电子邮件(当然也包括了病毒邮件以及欺诈邮件) 。但是如何判断一封邮件是否为垃圾邮件。目前有一种作法是定义所谓的“垃圾信指数” 。首先,先观察被邮件管理者或者使用者归类为垃圾的邮件,找出被视为“垃圾邮件”出现最多次的关键字(key word),将这些关键字加入“垃圾邮件辨识资料库” 。而后在收到每一封新邮件时,如果信件中出现这些关键字,这封信的“垃圾信指数”会加分。一般而言,垃圾信过滤软件会预先设定垃圾邮件指数的分类门 槛。如果一封信的垃圾邮件指数超过这个门槛,就会被设定为垃圾邮件。 (1)垃圾邮件辨识资料库范例如下: 9 出现一次“viagra”这个单词,垃圾指数会加4 分 9 出现一次“drug”这个单词,垃圾指数会加 3分 9 出现一次“drugs” 这个单词,垃圾指数会加 3 分 9 出现一次“price” 这个单词,垃圾指数会加 2 分 9 出现一次“discount” 这个单词,垃圾指数会加 2分 9 出现一次“free” 这个单词,垃圾指数会加3分 (2)垃圾指数阈值:阈值在程序执行时输入。 (3)测试资料: 如收到一封 email信件(sample.eml)如下: From: To: Subject:New viagra generation Dear Customers,do you need viagra?Long effects!No prescription Needed! Besides,we can offer you special discount!! You can have a free trial pill if you can go to our website and register your information before 7/8 2008 Best Regards.VIAGRA Sales Team. 信件的头部(From,To,Subject)及正文部分都要进行字符串比 对。假设垃圾信指数阈值设定为 5 分。上面这封信件共出现 3 次 viagra、一次 discount 以及一次 free,垃圾信指数则为 4*3+1*2+1*3=17 分,超过 5分,因此会被判定为垃圾信。 (4)关键字文件格式为:关键字 分数(以Tab 键隔开,参见 wordlist.txt) 如: discount 2 great 3 sell 5 viagra 1 单词大小写视为不同。 本次作业要求综合运用 STL,实现一个简单的垃圾邮件过滤程序。 2、要求 (1)输入:您的执行程序必须能够读入三个参数。 第一个参数为垃圾邮件关键字文件名称 第二个参数为输入的电子邮件文件名称 第三个参数为垃圾信指数阈值 如: SpamFilter wordlist.txt sample.eml 10 (2) 将email文件的内容拆成 tokens,英文大小写共52 个字母以外的字符均视为token 的分隔。 提示:解析器伪代码 char tBuff[200]; bool inToken = false; int buffIndex; for each character ch in email file { If not inToken and isEnglishChar(ch) buffIndex = 0; tBuffer[buffIndex] = ch; inToken = true; else if inToken and isEnglishChar(ch) tBuff[++bufferIndex] = ch; else if inToken and not isEnglishChar(ch) tBuff[++buffIndex] = ‘\0’; inToken = false; //成功取出一个string token else if not inToken and not isEnglishChar(ch) //skip the character ch } (3) 在屏幕上输出以下内容: 是否为垃圾信 垃圾指数阈值 该封信的得分 ...展开收缩
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.