• 博客(0)
  • 资源 (1)

空空如也

要求综合运用 STL,实现一个简单的垃圾邮件过滤程序

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:<[email protected]> To:<[email protected]> 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) 在屏幕上输出以下内容:  是否为垃圾信  垃圾指数阈值  该封信的得分

2009-09-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除