用于防止垃圾邮件的反馈循环的制作方法

文档序号:7604919阅读:420来源:国知局
专利名称:用于防止垃圾邮件的反馈循环的制作方法
技术领域
本发明涉及用于识别合法(例如好邮件)和不受欢迎的信息(例如垃圾邮件)的系统与方法,尤其涉及为防止垃圾邮件而对电子邮件通信进行分类。
背景技术
诸如因特网等全球通信网络的出现提供了与大量潜在顾客建立联系的商业契机。电子消息通信,尤其是电子邮件(“e-mail”),作为向网络用户散布不需要的广告与促销(也称“垃圾邮件”)的手段,正变得越来越普遍。
Radicati集团有限公司——一家咨询与市场研究公司,估算到如在2002年8月,每天有20亿垃圾电子邮件消息被发送——此数字预期每两年增至三倍。个人与企业(例如公司、政府机构)感觉日益不便,并时常不胜垃圾邮件之烦。同样地,垃圾电子邮件如今或即将成为对于可信计算的一种主要威胁。
一种用于阻碍垃圾电子邮件的关键技术是使用过滤系统和/或方法。一种已经证实的过滤技术是基于机器学习方法——机器学习过滤器向传入消息分配该消息为垃圾邮件的概率。在此方法中,通常从两类示例消息(例如垃圾和非垃圾消息)中提取特征,并应用学习过滤器在两类间进行概率区分。因为许多消息特征涉及内容(例如在消息主题和/或正文内的单词和短语),此类过滤器通常被称作“基于内容的过滤器”。
某些垃圾邮件/兜售信息过滤器是自适应的,这是重要的,因为多语言用户及使用小语种语言的用户需要能自适应于其特殊需求的过滤器。此外,不是所有用户都能在什么是和不是垃圾邮件/兜售信息上取得一致。因此,通过使用可隐式地训练的(例如,经由观察用户行为)过滤器,可动态地度身定制各个过滤器以满足用户的特定消息识别需求。
过滤自适应的一种方法是请求用户将消息标记为垃圾邮件和非垃圾邮件。不幸的是,由于与此类训练相关联的复杂性,此类手动密集型训练技术对许多用户来说是不受欢迎的,更不必说正确地实现此类训练所需的时间量。此外,个人用户常常使此类手动训练技术变得有缺陷。例如,免费邮件发送列表的订阅常被用户遗忘,因此被误标为垃圾邮件。结果,合法邮件被无限期地阻断进入用户的邮箱。另一种自适应过滤器训练方法是使用隐式训练提示。例如,如果用户回复或转发消息,该方法假设该消息是非垃圾邮件。然而,仅使用此类消息提示将统计偏差引入到训练过程中,导致较低相应准确率的过滤器。
又一种方法是将所有用户的电子邮件用于训练,其中初始标签是由现有过滤器分配的,且用户有时用显式提示(例如“用户纠正”方法)——例如,选择诸如“作为垃圾邮件删除”和“非垃圾邮件”等选项——和/或隐式提示覆盖那些分配。尽管此类方法优于前文所讨论的技术,与以下描述和要求保护的本发明相比,它仍是不完善的。
发明概述为了提供对本发明的某些方面的基本理解,以下给出本发明的简化概述。此概述不是本发明的详尽综述。它不试图标识本发明的关键和决定性元素或描绘本发明的范畴。其唯一的目的是以简化形式提出本发明的一些概念,作为对稍后提供的更详细描述的前言。
本发明提供一种便于就防止垃圾邮件而言对项目进行分类的反馈循环系统和方法。本发明利用了应用于垃圾邮件过滤器的机器学习方法,尤其是随机地对传入的电子邮件消息进行采样,从而获得合法和垃圾/兜售信息邮件来生成训练数据集。预先选定的个人担当垃圾邮件战士(fighter),并参与对样本的各副本(可选择性地稍作修改)进行归类。
一般而言,对选中供轮询用的消息在各个方面进行修改,使其表现为轮询消息。本发明的一个独特的方面是,对选中供轮询用的传入消息进行复制,从而某些用户(例如,垃圾邮件战士)会两次接收到同一消息(例如,在消息内容方面)一次是轮询消息的形式,第二次是其原始形式。本发明的另一个独特的方面是,所有消息都被考虑用于轮询——包括那些已由现有过滤器标记为垃圾邮件的消息。被标记为垃圾邮件的消息被考虑用于轮询,并且如果被选中,不作为垃圾邮件根据现有过滤器的规范来对待(例如,移到垃圾邮件文件夹、删除……)。
和常规垃圾邮件过滤器不同,可通过根据本发明的反馈技术来训练垃圾邮件过滤器,使其学会区分好邮件和垃圾邮件,创建了更准确的垃圾邮件过滤器,从而减少有偏差的和不准确的过滤。反馈至少部分地通过轮询任何合适数量的用户以获取对其传入电子邮件的反馈来达成。被标识为垃圾邮件战士的用户被赋予对一传入消息的选择是合法邮件还是垃圾邮件进行表决的任务。对传入电子邮件的肯定和否定分类都被期望减轻将供用户使用的好邮件(例如,非垃圾邮件)错误地作为垃圾邮件过滤掉。相应的分类和任何其它与每次邮件事务相关联的信息被移到数据库中,以便于训练垃圾邮件过滤器。数据库和相关组件能够编译和存储选中消息(或选中的邮件事务)的属性,包括用户属性、用户表决信息和历史、诸如分配给每个选中消息的唯一标识号等消息属性、消息分类、以及消息内容摘要、或涉及以上任一个的统计数据,来为机器学习系统生成训练数据集。机器学习系统(例如,神经网络、支持矢量机(SVM)、贝叶斯信任网络)便于创建被训练以识别合法邮件和垃圾邮件、并能区别这两者的改进的垃圾邮件过滤器。一旦根据本发明训练了新的垃圾邮件过滤器,则可将其分发到邮件服务器和客户机电子邮件软件程序。此外,可以相对于特定用户来训练新的垃圾邮件过滤器,以改进个性化过滤器的性能。当构建了新的训练数据集时,垃圾邮件过滤器可以经由机器学习经受进一步的训练,来优化其性能和准确度。还可以利用消息分类方式的用户反馈,来生成垃圾邮件过滤器和家长控制的列表、测试垃圾邮件过滤器的性能、和/或识别垃圾邮件发源处。
本发明的另一个方面提供了一种通过交叉确认技术和/或已知结果测试消息来检测不可信用户的方法。交叉确认涉及对排除了某些用户的轮询结果的过滤器进行训练。即,使用来自用户子集的轮询结果来训练过滤器。平均来说,即使有一些错误,此的用子集户仍工作得很好,足以检测出那些通常与他们不一致的用户。将来自被排除的用户的轮询结果与经训练的过滤器的结果进行比较。此比较实质上确定了来自训练子集的用户对属于被排除用户的消息如何表决。如果被排除的用户的表决和过滤器间的一致性很低,那么来自该用户的轮询结果可被舍弃或被标记以供手动检查。此技术可如所需地重复,每次排除来自不同用户的数据。
诸如过滤器和用户表决极不一致的消息等个别消息的错误也可被检测出来。这些消息可被标记以供自动移除和/或手动检查。作为交叉确认的替换,可以在全部或者基本全部用户上训练过滤器。与过滤器不一致的用户表决和/或消息可被舍弃。交叉确认的另一替换涉及其中要求用户对结果已知的消息进行表决的已知结果测试消息。用户对消息的准确分类(例如,用户表决和过滤器行动匹配)验证该用户的可信性,并且确定是否要从训练中移除该用户的分类,以及是否要从将来的轮询中移除该用户。
本发明的又一个方面提供创建已知垃圾邮件目标(例如,蜜罐(honeypot))来将传入邮件标识为垃圾邮件,和/或跟踪特定商业电子邮件地址的处理。已知垃圾邮件目标,或称蜜罐,是可以确定合法邮件组并将所有其它邮件视为垃圾邮件的电子邮件地址。例如,可以用不太可能被人们发现的限制形式在某网站上透露电子邮件地址。因此,任何发送到此地址的电子邮件可被视为垃圾邮件。或者,可仅将该电子邮件地址透露给期望从其收到合法电子邮件的商家。因此,从该商家收到的邮件是合法的,但收到的所有其它邮件可被安全地视为垃圾邮件。可将源于蜜罐和/或其它来源(例如,用户)的垃圾邮件数据集成到反馈循环系统中,但是因为使用蜜罐的垃圾邮件分类的大量增长,应减少此类数据的权重以减少获得有偏差的轮询结果,这将在下文更详细地描述。
本发明的另一个方面提供对反馈循环系统或过滤器认为不确定的消息的隔离。此类消息被保留任何适当的时间段,而不是被舍弃或分类。可以预先设定此时间段,或者可以保留该消息直至收到类似于该消息(例如,来自同一IP地址或具有相似的内容)的预定数量的轮询结果。
为了达成前述和有关目的,本文中连同以下描述和附图描述了本发明的某些说明性方面。但是,这些方面仅示出可使用本发明的原理的各种方法中的一些方法,并且本发明旨在包括所有此类方面及其等效方面。当结合附图考虑时,本发明的其它优点与新颖特征将从以下对本发明的具体描述中变得显而易见。
附图简述

图1A是根据本发明的一个方面的反馈循环训练系统的框图。
图1B是根据本发明的一个方面的示例性反馈循环训练过程的流程图。
图2是根据本发明的一个方面,便于用户分类邮件以创建垃圾邮件过滤器的示例性方法的流程图。
图3是根据本发明的一个方面,便于对参与图2的方法的用户进行交叉确认的示例性方法的流程图。
图4是根据本发明的一个方面,便于判定用户是否不可信的示例性方法的流程图。
图5是根据本发明的一个方面,便于捕捉垃圾邮件并确定垃圾邮件始发者的示例性方法的流程图。
图6是根据本发明的一个方面的基于客户机的反馈循环体系结构的框图。
图7是根据本发明的一个方面,具有生成训练数据的一个或多个用户的基于服务器的反馈循环系统的框图。
图8是根据本发明的一个方面,跨组织的基于服务器的反馈循环系统的框图,其中该系统包括自带数据库的内部服务器,来拉出存储在外部用户数据库上的训练数据。
图9示出了用于实现本发明的各个方面的示例性环境。
图10是根据本发明的示例性通信环境的示意性框图。
发明的详细描述现在参考附图描述本发明,图中相同的参考标号始终用于指相同的元素。在以下描述中,出于解释的目的,阐述了大量具体细节,以提供对本发明的彻底理解。然而,显然可以不用这些具体细节来实施本发明。在其它例子中,为了便于描述本发明,以框图形式示出公知的结构和设备。
如在本发明中所用的,术语“组件”和“系统”指的是计算机相关的实体,它们或者是硬件、硬件和软件的组合、软件、或者执行中的软件。例如,组件可以是,但不限于,运行于处理器上的进程、处理器、对象、可执行码、执行线程、程序和/或计算机。作为说明,在服务器上运行的应用程序及该服务器都可以是组件。一个或多个组件可驻留在进程和/或执行线程内,且组件可位于一台计算机上和/或分布在两台或多台计算机之间。
本发明可结合与为机器学习的垃圾邮件过滤生成训练数据有关的各种推论方案和/或技术。如本文中所用的,术语“推论”一般指从一组经由事件和/或数据捕捉的观察中推理或推断系统、环境和/或用户的状态的过程。例如,推论可用于识别具体上下文或动作,或可生成状态的概率分布。推论可以是概率性的——即,基于对数据和事件的考虑计算感兴趣的状态的概率分布。推论也可指用于从一组事件和/或数据组成高级事件的技术。此类推论导致从一组所观察的事件和/或所存储的事件数据中构造新事件或行动,无论各事件是否在时间上紧密相关,也无论各事件和数据是来自一个还是数个事件和数据源。
应当理解,尽管贯穿此说明书大量使用术语消息,此类术语不限于电子邮件本身,而是可恰当地适用于包括可分布在任何适当的通信体系结构上的任何形式的电子消息通信。例如,便于两人或多人之间的会议的会议应用程序(例如,交互式聊天程序,以及即时消息通信程序)也可利用本文所揭示的过滤的益处,因为讨厌的文本可在用户交换消息时被电子地散布到正常的聊天消息中,和/或作为开始消息、结束消息或以上所有消息被插入。在此特定应用中,为了捕捉非期望的内容(例如商业广告、促销、或广告)并将其标记为垃圾邮件,可将过滤器训练成自动过滤特定消息内容(文本和图像)。
在本发明中,术语“接收者”指传入消息或项目的收件人。术语“用户”指被动地或主动地选择参与如本文中所描述的反馈循环系统和过程的接收者。
现参考图1,示出根据本发明的一个方面的反馈训练系统10的通用框图。消息接收组件12接收传入的消息(记为IM)并将其传送到预期的接收者14。如许多消息接收组件(例如,垃圾邮件过滤器)的惯例,该消息接收组件可包括至少一个过滤器16。消息接收组件12结合过滤器16来处理消息(IM)并向预期的接收者14提供过滤后的消息子集(IM’)。
作为本发明的反馈方面的一部分,轮询组件18接收所有传入的消息(IM)并识别各自的预期接收者14。例如,该轮询组件选择预期接收者14的一个子集(被称为垃圾邮件战士20)来将传入消息的一个子集(记为IM”)分类为垃圾邮件或非垃圾邮件。分类相关的信息(记为表决信息)被提交给消息存储/表决存储22,其中表决信息和各个IM”的副本被储存以供诸如反馈组件24等于稍后使用。具体地,反馈组件24使用了机器学习技术(例如,神经网络、SVM、贝叶斯网络或者任何适用于本发明的机器学习系统),该机器学习技术利用表决信息,以相对于例如识别垃圾邮件来对过滤器16进行训练和/或改进(和/或构建新的过滤器)。当通过新训练的过滤器16处理了新的传入消息流,更少的垃圾邮件和更多的合法消息(记为IM’)被传送到预期接收者14。因此,系统10通过利用垃圾邮件战士20生成的反馈,促进了垃圾邮件的识别和改进的垃圾邮件过滤器的训练。本发明的此类反馈方面提供了用于改进垃圾邮件检测系统的丰富和高度动态的方案。以下讨论关于本发明的更详细方面的各种细节。
现参考图1B,根据本发明示出了有关对抗垃圾邮件和垃圾邮件防止的反馈循环训练流程图100。在训练过程的准备阶段和/或训练过程之前,选择用户作为垃圾邮件战士(例如,从包含所有电子邮件用户的主集中)——根据本发明,选择可基于随机采样、或者信任级别、或者任何适当的选择方案/标准。例如,选中的用户子集可包括所有用户、一组随机选择的用户、决定做垃圾邮件战士的用户、或者未决定退出的用户、和/或其任意组合、和/或部分地基于其人口位置和相关信息。
或者,可将所选择的电子邮件用户主集限于付费用户,这可以让垃圾邮件发件人需付出更高代价才能破坏本发明。因此,被选中参与对抗垃圾邮件的用户子集可仅包含付费用户。随即可创建包括选中的用户(例如,垃圾邮件战士)的名字和属性的列表或顾客表。
当收到了传入的消息流102时,在104对照所有垃圾邮件战士的列表检查每个消息的接收者。如果接收者在该列表上,那么该消息被考虑用于轮询。接下来,确定是否要选择消息用于轮询。与常规垃圾邮件过滤器不同,本发明至少在所有传入邮件被考虑用于轮询之前不删除任何消息(例如,垃圾邮件)。即,在邮件经受任何标记(例如,垃圾邮件、非垃圾邮件)之前先分类该邮件——这样做便于获取可用于用户轮询的无偏差的消息样本。
可使用用于消息选择的组件(未示出)来按某一随机概率选择消息,以减少数据偏差。另一种方法涉及使用人口信息和其它用户/接收者属性和性质。因此,可至少部分地基于用户/接收者来选择消息。存在用于选择消息的其它替换算法。但是,对于每个用户或每个用户每个时间段选择的消息数量,或从任何给定用户选择消息的概率可能有限制。如果没有此类限制,垃圾邮件发件人可以创建账号、向其发送数以百万计的垃圾邮件消息、以及将所有此类消息分类为好的消息这将允许垃圾邮件发件人用错误地标记的消息来毁坏训练数据库。
著名的被称为黑洞列表的某些形式的垃圾邮件过滤可能不能被跳过。黑洞列表防止服务器从互联网协议(IP)地址列表接收任何邮件。因此,消息的选择可以从并非来自黑洞列表的邮件组中选择。
本发明的一个独特方面是由当前就位的过滤器标记为垃圾邮件的被选中用于轮询的消息不被删除或移到垃圾邮件文件夹。相反,它们被放置在接收所有其它消息供轮询考虑的普通收件箱或邮箱中。但是,如果消息有两个副本,并且过滤器认为该消息是垃圾邮件,那么将一个副本传送到垃圾邮件文件夹,或根据设定的参数进行处理(例如,删除、特别标记、或移到垃圾邮件文件夹)。
当一消息被选中,它被转发给用户并以某种特殊方式标记以指示其为轮询消息。具体地,选中的消息可由消息修改组件106修改。消息修改的例子包括,但不限于,将轮询消息定位到单独的文件夹、改变“自(from)”地址或主题行、和/或使用向用户将该消息标识为轮询消息的特殊图标或特殊颜色。也可将选中的消息封装在另一消息内,该另一消息向用户提供如何表决和/或分类被封装消息的指令。例如,这些指令可包括至少两个按钮或链接一个将消息表决为垃圾邮件,另一个将消息表决为非垃圾邮件。
在向用户发送轮询消息的副本之前,可通过修改消息的内容来实现表决按钮。当对于客户机电子邮件软件(与电子邮件服务器相对)使用本发明时,可修改用户界面以包括表决按钮。
此外,轮询消息可包含指令和表决按钮,以及所附的选中消息。轮询消息还可包含诸如主题行、自地址、发送日期和/或接收日期、以及文本或文本的至少前几行等选中消息的摘要。另一种方法涉及随表决指令和对其预先考虑的表决按钮一起发送消息。在实施中,当用户打开和/或下载轮询消息的副本时,包括但不限于“垃圾邮件”和“非垃圾邮件”按钮的按钮(或链接)会在用户界面上弹出,或者可以结合到轮询消息中。因此,每个轮询消息都包含一组指令和适当的表决按钮是可能的。其它修改可以是必需的,可能包括移除HTML背景指令(它们将使指令的文本或按钮难以看见)。
取决于期望信息的类型,还可提供诸如“索取的商业电子邮件”按钮等另一按钮。消息还可包括退出将来的轮询的按钮/链接。指令被本地化为用户偏好的语言,并且可被嵌入到轮询消息中。
此外,选中用于轮询的消息可由消息修改组件106或由某些其它合适的病毒扫描组件(未示出)扫描病毒。如果找到病毒,可以剥离该病毒或舍弃该消息。应当理解,病毒剥离可以发生在系统100的任何点,包括当消息被选中时以及正当用户下载消息之前。
修改消息之后,消息传送组件108向用户传送轮询消息以供表决。向用户反馈(例如,轮询消息、用户表决、以及任何与其相关联的用户属性)分配唯一标识符(ID)110(例如,元数据)。ID 110和/或与其对应的信息被提交给编译和存储用户分类/表决的消息存储/表决存储112(例如,中央数据库)。
在数据库级,可保存可用于轮询的选中的消息以供稍后轮询或使用。此外,数据库可以在定时基础上执行频率分析,来确定未对特定用户过采样,以及在如用户所指定的限制内从该用户收集了一定数量的数据。具体地,反馈系统100监视用户邮件的百分比限制和采样周期,以减轻采样和数据的偏差。当从包括低使用率和高使用率用户的所有可用用户中选择用户时,这尤显重要。例如,与高使用率用户相比,低使用率用户通常接收和发送数量少得多的邮件。因此,系统100监视消息选择过程,以确保选中的消息大约是用户接收到的每T个消息中的1个,并且不多于用户每Z小时收到1个消息。因此,例如,该系统可对每10个要被采样的传入消息中的1个进行轮询(例如,考虑用于轮询),但不多于每2小时1个。该频率(或百分比)限制减轻了与高使用率用户相比、对低使用率用户采样不成比例数量的消息,而且还减轻了过度骚扰某个用户。
中央数据库112时常扫描那些已被系统100采样用于轮询、但还未被分类的消息。数据库拉出这些消息,并相对于相应用户的人口属性将它们本地化,并创建轮询消息来请求用户表决和分类这些消息。但是,垃圾邮件过滤器可以不在收到每个新传入分类之后就立即被修改或训练。相反,离线训练允许训练者在被调度的、进行中的、或每日的基础上不断地查看接收到数据库112中的数据。即,训练者从预定的开始点或在过去设定的时间量开始,并查看从该点起向前的数据来训练过滤器。例如,预定的时间段可以是从午夜到早上6点。
可以通过用机器学习技术114(例如,神经网络、支持矢量机(SVM))分析数据库112中维护的消息分类,在进行中的基础上训练新的垃圾邮件过滤器。机器学习技术需要好邮件和垃圾邮件的例子以从中进行学习,从而它们能够学会区分这两者。甚至基于匹配已知的垃圾邮件示例的技术也可从具有好邮件的示例中获益,从而它们能确定它们没有意外地捕获好的邮件。
因此,具有肯定和否定的垃圾邮件示例两者,而非仅具有投诉,是很重要的。存在一些同时发送出大量垃圾邮件和诸如免费邮件发送列表等合法邮件的域。如果仅基于投诉构建系统,则来自这些域的所有邮件会被过滤掉,导致大量的错误。因此,知道该域还发送出大量好邮件是重要的。此外,用户常常犯诸如忘记他们在某免费邮件发送列表上签约等错误。例如,诸如New York Times等大型合法供应者有规律地发送出合法邮件。一些用户忘记他们曾签约并进行投诉,从而将这些消息分类为垃圾邮件。如果没有大多数用户意识到此邮件为合法的数据,来自此站点的邮件将被阻断。
新过滤器116可由分发组件118在进行中的基础上通过参与的因特网服务供应商(ISP)分发到电子邮件或消息服务器、个别电子邮件客户机、更新服务器、和/或个别公司的中央数据库。此外,反馈系统100在进行中的基础上运行,从而被考虑并用于轮询的消息样本可以遵循系统100收到的电子邮件的实际分布。结果,用于训练新垃圾邮件过滤器的训练数据集相对于自适应的垃圾邮件发件人而言保持最新。当构建了新的过滤器时,可以基于多久之前获得轮询数据来将其舍弃或降低权重(例如,进行折扣)。
当在诸如网关服务器、电子邮件服务器和/或消息服务器等服务器处接收邮件时,可以实现系统100。例如,当邮件进入电子邮件服务器时,该服务器查找预期接收者的属性来确定接收者是否决定加入系统100。如果其属性表明如此,则这些接收者的邮件潜在地可用于轮询。还存在仅有客户机的体系结构。例如,客户机电子邮件软件可以为单个用户作出轮询决策,并将电子邮件传送到中央数据库,或使用该轮询信息来改进个性化过滤器的性能。除了本文中所描述的体系结构以外,存在此系统100的其它替换体系结构,并且构想此类体系结构都落入本发明的范畴之内。
现参考图2,根据本发明的一个方面,示出了基本反馈循环过程200的流程图。尽管出于解释简单的目的,将该方法表示和描述为一系列动作,然而应当理解,本发明不受各动作的次序的限制,因为根据本发明,某些动作可按不同顺序发生,和/或与本文示出及描述的其它动作同时发生。例如,本领域技术人员将理解,方法能被替换地表示成诸如状态图中的一系列相互关联的状态或事件。并且,并非所有示出的行为都是实现根据本发明的方法所必须的。
过程200在202处邮件进入诸如服务器等组件并由其接收开始。当邮件到达服务器时,该服务器识别预期接收者的属性,以确定预期接收者之前是否已决定参加作为垃圾邮件战士用于轮询(在204)。因此,过程200利用可指示接收者是否决定参加该反馈系统的用户属性字段,或者查阅决定参加的用户的列表。如果在206确定该用户是反馈系统的参与者并被选中用于轮询,该反馈系统通过确定选中哪些消息用于轮询(在208)来采取行动。否则,过程200返回到202,直至确定了传入消息的至少一个预期接收者是用户(例如,垃圾邮件战士)。
在实施中,所有消息被考虑用于轮询,包括那些由当前使用的过滤器(例如,个性化过滤器、Brightmail过滤器)指定为(或将是)垃圾邮件的消息。因此,在消息被考虑用于轮询之前,没有消息被删除、舍弃、或发送到垃圾邮件文件夹。
服务器收到的每个消息或邮件项目具有一组对应于邮件事务的属性。服务器编译这些属性并将其随轮询消息一起发送到中央数据库。属性的示例包括接收者列表(例如,如在“To(至)”、“cc(抄送)”、“bcc(暗送)”字段中所列出的)、当前使用的过滤器的定论(例如,过滤器是否将消息标识为垃圾邮件)、其它可任选垃圾邮件过滤器(例如,Brightmail过滤器)的定论、以及用户信息(例如,用户名、密码、真名、轮询消息的频率、使用率数据、……)。轮询消息和/或其内容,以及对应的用户/接收者的每一个都被分配一唯一标识符。该标识符也可被发送到数据库,并随后如所需地更新。
在214,修改被选中用于轮询的消息(例如,原始消息1-M,其中M是大于或等于1的整数),以向用户指示消息1-M是轮询消息P1-PM,并随即将其传送给用户以供轮询(在216)。例如,轮询消息可包括附件形式的要表决的原始消息,以及关于如何对消息进行表决的一组指令。例如,该组指令包括诸如“好邮件”按钮和“垃圾邮件”按钮等至少两个按钮。当用户点击按钮之一(在218)以将消息分类为好邮件或垃圾邮件时,用户被指引到对应于用户所提交的分类的唯一标识符的统一资源定位器(URL)。此信息被记录,且中央数据库中该原始消息1-M的相关联记录被更新。
在216或过程200期间的任何其它适当的时间,原始消息被可任选地传送给用户。因此,用户收到该消息两次——一次是其原始形式,第二次是修改后的轮询形式。
在稍后的某个时间,至少部分基于用户反馈在220创建并训练了新的垃圾邮件过滤器。一旦创建并训练了新的垃圾邮件过滤器,可以立即在电子邮件服务器上使用该过滤器,和/或可将其分发到客户机服务器、客户机电子邮件软件等等(在222)。训练和分发新的或更新后的垃圾邮件过滤器是进行中的活动。因此,当收到新的传入消息流时,过程200在204继续。当构建了新的过滤器,基于多久以前获得较旧数据,将其舍弃或降低权重。
反馈系统100和过程200依赖于其参与用户的反馈。不幸的是,某些用户不可信任,或者实在懒惰到无法提供一致和准确的分类。中央数据库112(图1A)维护用户分类历史。因此,反馈系统100能够跟踪矛盾的数量、用户改变他/她的主意的次数、用户对已知的好邮件和已知的垃圾邮件的响应、以及用户回复轮询消息的次数或者频率。
当这些数量中的任何一个超过预定阈值,或仅仅对于系统的每个用户,反馈系统100可调用一个或数个确认技术来访问某个或某些特定用户的可信性。根据本发明的另一个方面,一种方法是如图3中所示的交叉确认方法300。
交叉确认技术在302开始,中央数据库接收诸如轮询结果和相应用户信息等传入数据。接下来,在304,必须确定是否期望交叉确认来测试适当数量的用户。如果期望如此,那么在306,使用传入数据的某个部分来训练新的垃圾邮件过滤器。即,来自正受测试的用户的数据被排除在训练之外。例如,用受轮询用户数据的大约90%来训练过滤器(记为90%过滤器),从而排除了对应于由受测试用户提交的数据的数据的10%(记为10%受测试用户)。
在308,对照其余10%受测试用户数据运行90%过滤器,以确定90%的用户对受测试用户的消息如何表决。如果90%过滤器和10%受测试用户数据之间的不一致量超过预定的阈值(在310),那么在312可以手动检查该用户的分类。作为替换或除此之外,可向可疑或不可信用户发送测试消息,和/或将这些特定用户从将来的轮询中排除,和/或舍弃他们以往的数据。但是,如果没有超过阈值,那么该过程返回到306。在实施中,交叉确认技术300可用于任何合适的测试用户组,在必要时排除不同的用户,来判定和维护表决/分类数据的可信性。
访问用户忠诚度和可靠性的第二种方法包括在给定时段中收集到的所有数据上训练过滤器,然后在训练数据上测试,并使用该过滤器。此技术被称为边训练边测试(test-on-training)。如果训练中包括了某个消息,该过滤器应当已获知其分级,例如,经训练学到的过滤器应当以和用户同样的方法来分类该消息。但是,当用户将其标记为非垃圾邮件时过滤器可能继续犯将其标记为垃圾邮件的错误,反之亦然。为使过滤器与其训练数据不一致,该消息必须与其它消息非常不一致。否则,训练过的过滤器将几乎肯定能找到某种方法来将其正确分类。因此,可以将该消息当作具有不可靠标签而舍弃。此技术或者交叉确认都可使用交叉确认能较不可靠地产生分类中较多错误;相反,边训练边测试更可靠地找到较少的错误。
边训练边测试和交叉确认技术300都可应用于个别消息,其中个别用户对消息的分类或分级被总协定排除(例如,遵循大多数人的分级)。替换地,两种技术都可用于识别潜在不可靠用户。
除了交叉确认和/或边训练边测试技术之外,或作为其替代,可使用“已知结果”技术来验证用户的可信性(跟着314到图4)。尽管单独地示范了图3和4的技术,应当理解,能够同时利用这两种技术。即,来自已知为好消息和已知为垃圾邮件消息的信息可与交叉确认或边训练边测试的结果组合,以确定要舍弃哪些用户。
现参考图4,根据本发明的一个方面示出了确认用户表决的忠诚度的过程400的流程图。过程400引自如图3中所示的314。在402,向可疑用户(或所有用户)发送已知结果测试消息。例如,可将测试消息注入传入邮件,并随即手动将其分类,从而数据库接收到“已知”结果。否则,过程400可等待,直至第三方发送已知结果消息。用户被允许对同样的测试消息进行表决。在404,将表决的结果与已知结果相比较。在406,如果用户的表决不一致,那么可以在一适当时间段内手动检查他们当前和/或将来和/或过去的分类(在408),直至其表示出一致性和可靠性。或者,可以折扣或移除他们当前或未来或过去的分类。最后,可将这些用户从将来的轮询中移除。但是,如果他们的表决结果的确与测试消息结果一致,那么在410可将这些用户视为可信的。过程在412返回到图3,以确定期望对下一组可疑用户用哪种类型的确认技术。
访问用户可靠性的第四种方法(未示出)是主动学习。在主动学习技术中,并非随机选取消息。相反,反馈系统可估计消息对系统的有用程度。例如,如果过滤器返回垃圾邮件的概率,则可优先选择当前过滤器最不确定地分类的的消息用于轮询,即,其垃圾邮件概率最接近50%的那些消息。选择消息的另一种方法是确定消息的普通程度。消息越普通,那么它对于轮询就越有用。独特的消息有用程度较低,因为它们普通程度较低。可通过利用现有过滤器的置信度级别、利用消息特征的普通程度、以及利用现有过滤器的设置或内容的置信度级别(例如,元置信度),来使用主动学习。还有诸如机器学习领域的技术人员公知的受托人查询(query-by-committee)等其它主动学习技术,可使用这些技术中任何一种。
现参考图5,根据本发明的一个方面示出了将除用户反馈外的蜜罐反馈结合到垃圾邮件过滤器训练中的过程500的流程图。蜜罐是已知谁应向其发送电子邮件的电子邮件地址。例如,可将某新创建的电子邮件地址保密,并仅透露给选定的若干个体(在502)。也可公开地、但以人们看不见的限制性方式将其公开(例如,将其作为邮件链接,用白色字体放在白色背景上)。蜜罐在垃圾邮件发件人的字典攻击中尤其有用。在字典攻击中,垃圾邮件发件人试图向非常大量的地址发送电子邮件,可能是字典中的所有地址,或者从地址中的单词对制造出的地址,或用于找到有效的地址的类似技术。发送到蜜罐的任何电子邮件(在504)或者并非来自若干选定个体的任何电子邮件(在506)被视为垃圾邮件(在508)。还可将电子邮件地址与可疑商家签约。因此,从该商家收到的任何电子邮件被视为好邮件(在510),但所有其它邮件被视为垃圾邮件。可据此训练垃圾邮件过滤器(在512)。此外,判定该可疑商家向第三方出售或透露了用户的信息(例如,至少电子邮件地址)。可对其它可疑的商家重复此过程,并生成列表来警告用户他们的信息可能被分发给垃圾邮件发件人。这些仅是获取发送到蜜罐的、能被安全地视为垃圾邮件的电子邮件的技术中的几种。在实施中,还有其它替换方法来获取发送到蜜罐的、可被安全地视为垃圾邮件的电子邮件。
因为蜜罐是垃圾邮件的很好来源,但却是合法邮件很糟的来源,所以可将来自蜜罐的数据和来自反馈循环系统(图1)的数据相组合来训练新的垃圾邮件过滤器。可对来自不同来源或不同分类的邮件进行不同的加权。例如,如果有10个蜜罐和10个有10%的邮件被轮询的用户,则可期望来自蜜罐的垃圾邮件10倍于来自轮询的垃圾邮件。因此,为了弥补此差异,可对来自轮询的合法邮件进行10倍或11倍于垃圾邮件的加权。或者,可选择性地降低蜜罐数据的权重。例如,大约50%的用户邮件是好邮件,大约50%是垃圾邮件。等量的垃圾邮件被传到蜜罐中。因此,看似蜜罐有100%的垃圾邮件,并且全部都被采样,而非仅仅10%。为了在组合的系统中用正确的垃圾邮件和好邮件之比来训练,将蜜罐数据降低95%的权重,并将用户垃圾邮件降低50%的权重,以导致1∶1的总比率。
垃圾邮件报告的其他来源包括未座位参与者包括在反馈循环系统中的用户。例如,对于所有的邮件,可以有对所有用户可用的“报告垃圾邮件”按钮,来报告通过了过滤器的垃圾邮件。此数据可与来自反馈循环系统的数据相结合。再次,可降低此垃圾邮件来源的权重,或进行不同的加权,因为在各个方面它可能是有偏差或者不可信的。还应当进行重新加权,以反映仅未被过滤掉的邮件可由“报告为垃圾邮件”按钮来报告的事实。
除了垃圾邮件过滤器以外,反馈循环系统可创建和使用隔离过滤器。隔离过滤器利用了肯定和否定邮件特征两者。例如,来自受欢迎的在线商家的邮件几乎总是好的。垃圾邮件发件人通过在其垃圾邮件中模仿好的商家的邮件的某个方面,来恶意利用该系统。另一个例子是垃圾邮件发送者通过经由IP地址发送少量好邮件,来故意欺骗反馈系统。反馈循环学会将此邮件分类为好邮件,而此时,垃圾邮件发件人开始从同一IP地址发送垃圾邮件。
因此,隔离过滤器在历史记录数据的基础上注意到,与该系统习惯相比,收到大量增长的某个特定的肯定特征。这使得系统怀疑该消息,并因此在选择送达该邮件或将该邮件标记为垃圾邮件之前将其隔离,直至获得了足够的轮询结果。隔离过滤器还可在从新IP地址收到邮件时使用,对该新IP地址,未知或不确定该邮件是垃圾邮件还是非垃圾邮件,并且在一小段时间内仍为未知。可以用若干种方法执行隔离,包括暂时将邮件标记为垃圾邮件并将其移到垃圾邮件文件夹、或不将其送达给用户、或将其存储到不被看到的某个地方。可以对接近垃圾邮件过滤器阈值的消息进行隔离可假设来自轮询的附加信息会有助于作出正确的决策。还可在收到许多相似消息时进行隔离可发送一些消息供反馈循环进行轮询,并且重新训练的过滤器可用于正确地分类消息。
除了构建过滤器之外,还可以利用如本文中所描述的反馈循环系统对其进行评估。即,可按需调整垃圾邮件过滤器的参数。例如,在昨晚的午夜充分训练某过滤器。午夜之后,取进入数据库的数据来确定垃圾邮件过滤器与用户分类相比较之下的误差率。此外,反馈循环可用于判定垃圾邮件过滤器的假肯定和捕获率。例如,可取用户的表决,并使邮件穿过一潜在的过滤器,以确定假肯定和捕获率。此信息随即可用于调整和优化该过滤器。通过构建若干个每一个都使用不同设置或算法的过滤器,可以手动或自动试验不同的参数设置或不同的算法,从而获得最低的假肯定和捕获率。因此,可以比较各个结果以选择最好或者最优的过滤器参数。
可利用反馈循环来构建和填充那些总是被表决为垃圾邮件或总是被表决为好邮件、或至少90%被表决为好邮件等的IP地址或域或URL的列表。这些列表可用于以其它方法进行垃圾邮件过滤。例如,至少90%被表决为垃圾邮件的IP地址列表可用于构建不接受从其发送的电子邮件的地址黑洞列表。反馈循环还可用于终止垃圾邮件发件人的账号。例如,如果ISP的一特定用户看似正在发送垃圾邮件,则该ISP可被自动通知。类似地,如果特定域看似要为大量垃圾邮件负责,则该域的电子邮件供应商可被自动通知。
有若干种可用于实现该反馈循环系统的体系结构。如图7中所描述的,一种示例性体系结构是基于服务器的,当邮件到达电子邮件服务器时选择过程发生。如图6中所描述的,一种替换的体系结构是基于客户机的。在基于客户机的反馈循环中,轮询信息可用于改善个性化过滤器的性能,或者,在此处所示的示例性实现中,可将该信息作为用于共享过滤器(例如,公司范围或全球的)的训练数据发送到共享存储库。应当理解,以下所述的体系结构只是示例性的,并且可包括此处未描绘的附加组件和特征。
现在回到图6,示出了基于客户机的体系结构中的反馈循环技术的示例性通用框图。提供了网络600以便于电子邮件往来于一个或多个客户机602、604、和606(也记为客户机1、客户机2、……客户机N,其中N是大于或等于1的整数)之间的通信。该网络可以是诸如因特网等全球通信网络(GCN),或WAN(广域网)、LAN(局域网)、或任何其它网络配置。在此特定实现中,SMTP(简单邮件传输协议)网关服务器608与网络600接口,以向LAN 610提供SMTP服务。操作上安置在LAN 610上的电子邮件服务器612与网关608接口,以控制和处理客户机602、604、和606的传入和传出的电子邮件。此类客户机602、604和606也安置在LAN610上,以至少访问其上提供的邮件服务。
客户机1602包括控制客户机进程的中央处理单元(CPU)614。CPU 614可由多个处理器组成。CPU 614执行关于提供在上文描述的一个或多个数据收集/反馈功能的任一个的指令。这些指令包括,但不限于,已编码指令,它们至少执行上述的基本反馈循环方法、能与其结合使用的至少任何或所有方法,这些方法用于解决客户机和消息的选择、轮询消息修改、数据保留、客户机可靠性和分类确认、重新加权来自包括反馈循环等多个来源的数据、垃圾邮件过滤器优化和调整、隔离过滤器、垃圾邮件列表的创建、以及对其各自ISP和电子邮件供应商的垃圾邮件发件人的自动通知。提供用户界面616以便于与CPU 614和客户机操作系统通信,从而客户机1能够交互以访问电子邮件和对轮询消息进行表决。
可由消息选择器620选择从服务器612检索的客户机消息的采样用于轮询。如果预期接收者(客户机)之前已同意参与,则选中并修改消息用于轮询。消息修改器622将消息修改为轮询消息。例如,根据上文提供的消息修改的描述,可将消息修改成包括表决指令和表决按钮和/或链接。表决按钮和/或链接是通过修改客户机电子邮件软件的用户界面616来实现的。此外,在打开或下载消息供客户机602查看之前,消息修改器622可移除消息(轮询和非轮询消息)中的任何病毒。
在一个实现中,对抗垃圾邮件的客户机602的用户仅看到每个消息一次,其中某些消息被特别地标记为轮询消息,并包括表决按钮等。在本实现中,垃圾邮件抵抗客户机602的用户可看到某些消息两次,其中一次是正常消息,另一次是轮询消息。这可用若干种方法来实现。例如,可向服务器612返回轮询消息并将其存储在轮询消息存储中。或者,客户机602可在电子邮件服务器612中存储额外消息。或者,客户机602可向用户显示每个消息两次,一次是正常消息,一次是修改后的形式。
轮询结果626可被发送到CPU 614,随后被发送到数据库630,取决于客户机反馈体系结构的特定安排,可将数据库630配置成存储来自一个客户机或一个以上客户机的数据。中央数据库630存储轮询消息、轮询结果以及各个客户机用户的信息。可使用相关组件来分析此类信息,诸如确定轮询频率、客户机用户的可信性(例如,用户确认632)、和其它客户机统计量。尤其是当客户机表决的可靠性受怀疑时,可使用确认技术。怀疑可能出自对不一致的次数、改变主意的次数、以及对某个或某些特定用户轮询消息的次数的分析;或者,可对每个用户使用确认技术。存储在中央数据库中的任何适当数量的数据可用于机器学习技术634,以便于训练新的和/或改进的垃圾邮件过滤器。
客户机604和606包括和上文所述相似的组件,以获取和训练对特定客户机个性化的过滤器。除了所描述的以外,轮询消息冲洗器(scrubber)628可在CPU 614和中央数据库630之间接口,从而可因为诸如数据聚集、数据压缩等各种原因移除轮询消息的某些方面。轮询消息冲洗器628可以冲掉轮询消息的无关部分以及与其相关联的任何非期望的用户信息。
现参考图7,根据本发明的反馈循环技术,示出了便于多用户登录并获取轮询数据的示例性基于服务器的反馈循环系统700。提供了网络702以便于电子邮件往来于一个或多个用户704(也记为用户17041、用户27042、……、和用户N704N,其中N是大于或等于1的整数)之间的通信。网络702可以是诸如因特网等全球通信网络(GCN),或WAN(广域网)、LAN(局域网)、或任何其它网络配置。在此特定实现中,SMTP(简单邮件传输协议)网关服务器710与网络702接口,以向LAN 712提供SMTP服务。操作上安置在LAN 712上的电子邮件服务器714与网关710接口,以控制和处理用户704的传入和传出的电子邮件。
系统700提供多重登录的能力,从而为登录到系统700的每个不同用户发生用户和消息选择716、消息修改718、以及消息轮询(720、722、724)。因此,提供了用户界面726,它呈现了登录屏幕作为计算机操作系统引导过程的一部分,或按照所要求的在用户704能访问他或她的传入消息之前预定一相关联的用户概况。因此,当第一用户7041(用户1)选择访问消息时,该第一用户7041通过输入通常为用户名和密码形式的访问信息,经由登录屏幕728登录到系统中。CPU 730处理该访问信息以允许该用户经由消息通信应用程序(例如,邮件客户端)仅访问第一用户收件箱位置732。
当在消息服务器714上收到传入邮件时,它们被随机地选择用于轮询,这意味着这些消息中的至少一个被标记用于轮询。查看被标记消息的预期接收者,以确定这些接收者中的任何一个是否也是指定的对抗垃圾邮件的用户。可以在消息服务器714或系统700的任何其它适当组件上维护指示此类信息的接收者属性。一旦确定了预期接收者中哪些也是垃圾邮件战士,可将他们各自邮件的副本以及关于该邮件事务的任何其它信息发送到中央数据库734用于存储。消息修改器718以上文描述的任意数量的方法修改被标记为用于轮询的消息。被选中用于轮询的消息也可以对用户704是专用的。例如,用户704可指示只有某些类型的消息可用于轮询。因为这会导致有偏差的数据采样,因此这类数据可相对于其它客户机数据来重新加权,以减轻构造不成比例的训练数据集。
还可在此时或在用户704下载和/或打开轮询消息之前的任何其它时间执行轮询消息的病毒扫描。一旦以适当的方式修改了消息,即将其传送到记为收件箱1732、收件箱2736、和收件箱N738的各个用户的收件箱,在那里可将其打开用于轮询。为便于轮询过程,每个轮询消息包括两个或多个表决按钮或链接,当用户选中这些按钮或链接,即生成涉及该轮询消息和轮询结果的信息。可修改每个轮询消息的文本,以将表决按钮或链接结合到其中。
包括由分类产生的任何信息(例如,轮询消息或与其相关联的ID、用户属性)的消息轮询结果(记为消息轮询1720、消息轮询2722和消息轮询N724)经由LAN 712上的网络接口740发送到中央数据库734。中央数据库734可存储来自各个用户的轮询和用户信息(720、722、724),以应用于机器学习技术来构建或优化新的和/或改进的垃圾邮件过滤器742。但是,出于隐私和/或安全的原因,在信息被发送到中央数据库714之前,可从该信息中移除或剥离机密信息。还可将用户704经由轮询生成的信息聚集到统计数据中。从而,使用了较小的带宽来发送该信息。
然后可在诸如当新过滤器可用时等进行中的基础上,通过特定请求或自动地将新训练的垃圾邮件过滤器742分发到其它服务器(未示出)以及与LAN 712接口的客户机电子邮件软件(未示出)。例如,可自动向其推出最新的垃圾邮件过滤器,和/或经由网站使其可用于下载。当生成了新的训练数据集来构建更新的垃圾邮件过滤器时,可依据数据的使用时间舍弃或折扣较旧的数据集(例如,之前获取和/或用于训练过滤器的信息)。
现在考虑替换的情形,其中致力于对抗垃圾邮件的组织使由许多不同的使用过滤器的组织共享的过滤器可用。在本发明的一个方面,过滤器供应商也是非常大型的电子邮件服务(例如,付费和/或免费电子邮件账号)供应商。该过滤器供应商选择也使用来自某些使用过滤器的组织的某些数据,而不是排他地依赖于来自其自己的组织的电子邮件,以更好地捕捉好邮件和垃圾邮件的范围。如上文中所描述的反馈循环系统也可以用服务器或客户机体系结构的形式用于这样的跨组织的情形中。将聚集来自其自己的用户和来自不同的使用过滤器的组织的数据的过滤器供应商称为“内部”组织,而将驻留在参与的使用过滤器的组织之一的组件称为“外部”。一般而言,跨组织系统包括诸如但不限于Hotmail等位于过滤器供应商的邮件数据库服务器(内部),和诸如那些可驻留在一个或多个单独公司内的消息服务器等一个或多个消息服务器(外部)。在此情形中,内部邮件数据库服务器还存储来自其自己的顾客的实质的电子邮件反馈。根据本发明的此方面,可基于存储在内部数据库的信息(例如,Hotmail或MSN服务器上的免费电子邮件/消息通信)以及存储在与各个外部服务器相关联的一个或多个外部数据库中的信息,生成训练数据集。例如,可经由诸如因特网等网络将外部数据库上维护的信息发送到内部服务器,用于机器学习技术。最终,来自外部数据库的数据可用于训练新的垃圾邮件过滤器和/或改进位于外部(例如,在各个公司内)或与内部邮件服务器相关联的现有垃圾邮件过滤器。
来自一个或多个外部数据库的数据应当包括轮询消息,轮询结果(分类),用户信息/属性,以及每个用户、每组用户或平均每个公司的表决统计数据中的至少一项。表决统计数据便于确定由各个公司生成的信息的可靠性,以及减轻外部数据的偏差。因此,可对来自一个或多个外部数据库(公司)的数据重新加权,或者进行不同于一个或多个其它外部数据库的加权。此外,可使用与上文中所描述的相类似的确认技术来测试外部实体的可靠性和可信性。
例如,为公司安全、隐私和机密起见,可将从每个公司通过因特网发送到电子邮件服务器的信息或数据从其原始形式进行冲洗、缩写和/或浓缩。原始形式可在各个外部数据库上维护,和/或根据每个公司的偏好来处理。因此,电子邮件服务器或任何其它内部邮件服务器仅接收生成训练数据所必须的有关信息,诸如垃圾邮件分类、发送者域、发送者名称、分类为垃圾邮件的消息的内容等。
现参考图8,示出了示例性跨组织反馈系统800,其中内部数据库服务器和外部邮件服务器可经由网络通信和交换数据库信息,以便生成在机器学习技术中用来构建改进的垃圾邮件过滤器的训练数据集。系统800包括至少一个外部消息服务器802(例如,与至少一家公司相关联)和内部数据库服务器804。由于跨组织系统的特性,外部服务器802和内部电子邮件服务器804分别维护其自己的数据库。即,电子邮件服务器804与也可用于训练新垃圾过滤器808的内部数据库806相关联。类似地,外部服务器802与可用于训练至少一个新垃圾邮件过滤器812以及相对于电子邮件服务器804位于内部的垃圾邮件过滤器808的外部数据库810相关联。因此,存储在外部数据库810上的信息可用于训练位于电子邮件服务器上的垃圾邮件过滤器808。
提供了GCN 814以便于信息往来于内部电子邮件服务器804和一个或多个外部消息服务器802的通信。跨组织系统的外部服务器组件以与基于服务器的反馈循环系统(例如,上述图7)相似的方式运行。例如,消息服务器802、外部数据库810和过滤器812可位于LAN 815上。此外,提供了用户界面816,它呈现登录屏幕818作为计算机操作系统的引导过程的一部分,或按照要求,在用户704可访问他或她的传入消息之前预定相关联的用户概况。
在此基于服务器的系统中,为了利用可用的邮件服务,一个或多个用户(记为用户1820、用户2822、用户N824)可同时登录到系统中。在实施中,当第一用户820(用户1)选择访问消息时,该第一用户820通过输入通常为用户名和密码形式的访问信息,经由登录屏幕818登录到系统中。CPU 826处理该访问信息以允许该用户经由消息通信应用程序(例如,邮件客户端)仅访问第一用户收件箱位置828。
当在消息服务器802上收到传入邮件时,消息被随机地或特别地定为轮询的目标。在可选择消息用于轮询之前,将此类定为目标的消息的预期接收者与垃圾邮件战士用户列表进行比较,以确定这些接收者中的任何一个是否也是指定的对抗垃圾邮件的用户。可以在消息服务器802、数据库810、或系统800的任何其它恰当组件上维护指示此类信息的接收者属性。一旦确定预期接收者中的哪些也是垃圾邮件战士,即选择消息用于轮询,并向数据库810发送轮询消息的副本以及涉及邮件事务的任何其它信息。
消息修改器830可以上文描述的任意数量的方法修改被选中用于轮询的消息。在实施中,可向每个轮询消息、每个垃圾邮件战士、和/或每个轮询结果分配唯一标识符(ID)并将其存储在数据库810中。如前所述,被选中用于轮询的消息可以是随机选择的,或者可以是对于相应用户(820、822、和824)是专用的。例如,用户1820可指示仅某些类型的消息可用于轮询(例如,从公司外部发送的消息)。对从此类特定消息生成的数据重新加权和/或折扣,以减轻获得有偏差的数据采样。
还可在此时或在用户704下载和/或打开轮询消息之前的任何其它时间执行轮询消息的病毒扫描。一旦以适当的方式修改了消息,即将其传送到记为收件箱1828、收件箱2832、和收件箱N834的各个用户的收件箱,在那里可将其打开用于轮询。为便于轮询过程,每个轮询消息包括两个或多个表决按钮或链接,当用户选中这些按钮或链接,即生成涉及该轮询消息和轮询结果的信息。可修改每个轮询消息的文本,以将表决按钮或链接结合到其中。
包括由分类产生的任何信息(例如,轮询消息或与其相关联的ID、用户属性)的消息轮询结果(记为消息轮询1720、消息轮询2722、和消息轮询N724)经由LAN815上的网络接口842发送到中央数据库810。中央数据库810可存储来自各个用户的轮询和用户信息,以供稍后在用于构建或优化新的和/或改进的垃圾邮件过滤器812、808的机器学习技术中使用。
例如,出于隐私的原因,每个公司可能想要在通过GCN 814向其自己的数据库810和/或电子邮件数据库806发送轮询消息和/或用户信息之前剥离关键信息。一种方法是只向数据库(806和/或810)提供对垃圾邮件消息的反馈,从而排除了对合法邮件的反馈。另一种方法是仅提供诸如发送者和发送者IP地址等合法邮件上的信息的部分子集。另一种方法是,对于选中的消息,诸如那些由用户标记为好而由过滤器标记为坏,或相反的消息,在将其发送到过滤器之前,明确地要求用户许可。这些方法中的任何一种或其组合便于维护参与的客户机的机密信息的隐私,同时不断地提供数据来训练垃圾邮件过滤器(808和/或812)。
诸如上文中所描述的方案等用户确认方案也可应用于每个公司以及公司内部的每个用户。例如,用户可个别地经受交叉确认技术,其中可疑用户的分类从过滤器训练中排除。过滤器使用来自其余用户的数据进行训练。经训练的过滤器随后遍历来自被排除的用户的消息,以确定其如何分类这些消息。如果不一致量超过一阈值,那么该可疑用户被视为不可信。来自不可信用户的未来消息分类可在被数据库和/或过滤器接受之前进行手动检查。否则,可从将来的轮询中移除这些用户。
现参考图9,用于实现本发明各个方面的示例性环境910包括计算机912。计算机912包括处理单元914、系统存储器916和系统总线918。系统总线918将包括但不限于系统存储器916的系统组件耦合到处理单元914。处理单元914可以是各种可用的处理器中的任何一种。双微处理器及其它多处理器体系结构也可用作处理单元914。
系统总线918可以是若干种总线结构中的任何一种,包括存储器总线或存储器控制器、外围总线或外部总线、和/或使用各种可用的总线体系结构中的任一种的局部总线,这些体系结构包括,但不限于,11位总线、工业标准体系结构(ISA)、微通道体系结构(MCA)、扩展的ISA(EISA)、智能驱动器电子设备(IDE)、VESA局部总线(VLB)、外围部件互联(PCI)、通用串行总线(USB)、高级图形端口(AGP)、个人计算机存储卡国际协会总线(PCMCIA)、及小型计算机系统接口(SCSI)。
系统存储器916包括易失性存储器920和非易失性存储器922。包含诸如在启动时帮助在计算机912内部各元件间传递信息的基本例程的基本输入/输出系统(BIOS)储存在非易失性存储器922中。作为示例而非限制,非易失性存储器922可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除ROM(EEPROM)或闪存。易失性存储器920包括担当外部高速缓存存储器的随机存取存储器(RAM)。作为示例而非限制,RAM可有多种形式,诸如同步RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)、及直接存储器总线RAM(DRRAM)。
计算机912还包括可移动/不可移动、易失性/非易失性计算机存储介质。例如,图9示出磁盘存储924。磁盘存储924包括但不限于,如磁盘驱动器、软盘驱动器、磁带驱动器、Jaz驱动器、Zip驱动器、LS-100驱动器、闪存卡或记忆棒之类的设备。此外,磁盘存储924可单独包括存储介质或与其他存储介质组合,其他存储介质包括,但不限于,诸如光盘ROM设备(CD-ROM)、CD可记录驱动器(CD-R驱动器)、CD可重写驱动器(CD-RW驱动器)或数字多功能盘ROM驱动器(DVD-ROM)等光盘驱动器。为便于磁盘存储设备924连接到系统总线918,通常使用诸如接口926等可移动或不可移动接口。
应当理解,图9描述了在用户与在合适的操作环境910中描述的基本计算机资源间担当中介的软件。此类软件包括操作系统928。可储存在磁盘存储924上的操作系统928用于控制及分配计算机系统912的资源。系统应用程序930利用了操作系统928通过存储在系统存储器916中或磁盘存储924上的程序模块932及程序数据934对资源的管理。应当理解,本发明可以用各种操作系统或其组合来实现。
用户通过输入设备936输入命令或信息到计算机912内。输入设备936包括,但不限于,诸如鼠标、跟踪球、触针、触摸垫等定位设备、键盘、话筒、操纵杆、游戏垫、圆盘式卫星天线、扫描仪、电视调谐卡、数码相机、数码摄像机、网络摄像头等等。这些及其他设备经由接口端口938,通过系统总线918连到处理单元914。接口端口938包括例如串行端口、并行端口、游戏端口及通用串行总线(USB)。输出设备940使用一些和输入设备936相同类型的端口。因而,例如USB端口可用于提供到计算机912的输入,及从计算机912输出信息到输出设备940。提供输出适配器942,以示意在其他输出设备940中有诸如监视器、扬声器及打印机等一些需要专用适配器的输出设备940。作为示例而非限制,输出适配器942包括,提供输出设备940与系统总线918之间一种连接手段的显卡与声卡。应当注意,诸如远程计算机944等其他设备和/或设备系统同时提供输入与输出能力。
计算机912可使用到诸如远程计算机944等一个或多个远程计算机的逻辑连接在联网环境中操作。远程计算机944可以是个人计算机、服务器、路由器、网络PC、工作站、基于微处理器的电器、对等设备或其他普通网络节点等等,且通常包括相对于计算机912所描述的许多或全部元件。为简单起见,仅随远程计算机944示出记忆存储设备946。远程计算机944通过网络接口948逻辑地连接到计算机912,然后经由通信连接950物理连接。网络接口948包含诸如局域网(LAN)和广域网(WAN)等通信网络。LAN技术包括光纤分布式数据接口(FDDI)、铜缆分布式数据接口(CDDI)、以太网/IEEE 1102.3、令牌环/IEEE 1102.5等等。WAN技术包括,但不限于,点对点链路、如综合业务数字网及其变体的电路交换网络、分组交换网络及数字用户线(DSL)。
通信连接950指用于将网络接口948连到总线918的硬件/软件。尽管为说明清楚,将通信连接950示于计算机912内部,但它也可位于计算机912外部。仅为示例性目的,连接到网络接口948所必需的硬件/软件包括内部和外部技术,诸如包括常规电话级调制解调器、电缆调制解调器及DSL调制解调器在内的调制解调器、ISDN适配器及以太网卡。
图10是可与本发明交互的示例性计算环境1000的示意性框图。系统1000包括一个或多个客户机1010。客户机1010可以是硬件和/或软件(例如,线程、进程、计算设备)。系统1000还包括一个或多个服务器1030。服务器1030也可以是硬件和/或软件(例如,线程、进程、计算设备)。例如,服务器1030可容纳线程,以通过使用本发明来执行转换。客户机1010和服务器1030间一种可能的通信可以是适于在两个或多个计算机进程间发送的数据包的形式。系统1000包括可用来便于客户1010和服务器1030间的通信的通信框架1050。客户机1010操作上连接到可用于存储对客户机1010本地的信息的一个或多个客户机数据存储1060。类似地,服务器1030操作上连到可用于存储对服务器1030本地的信息的一个或多个服务器数据存储1040。
上面的描述包括本发明的示例。当然,不可能为描述本发明而描述各组件或方法的每个可想到的组合,但本领域的普通技术人员会意识到,本发明的许多其他组合与变换是可能的。因此,本发明旨在包括落入所附权利要求书的精神与范畴内的所有此类改变、修改与变体。此外,在具体实施方式
或权利要求书中使用术语“包括”的意义上,此类术语意图如术语“包含”那样具有包容性,如同“包含”在用作权利要求书中的过渡词时所解释的。
权利要求
1.一种便于就防止垃圾邮件而言来对项目进行分类的系统,其特征在于,包括接收一组所述项目的组件;识别所述项目的预期接收者、并将所述项目的一个子集标记为要受轮询的组件,所述项目的子集对应于已知为对抗垃圾邮件的用户的接收者子集;以及接收涉及所述垃圾邮件战士对所轮询项目的分类的信息、并将所述信息用于训练垃圾邮件过滤器和填充垃圾邮件列表的反馈组件。
2.如权利要求1所述的系统,其特征在于,所述项目包括电子邮件(email)和消息中至少一种。
3.如权利要求1所述的系统,其特征在于,所述接收一组所述项目的组件是电子邮件服务器、消息服务器、以及客户机电子邮件软件中的任何一个。
4.如权利要求1所述的系统,其特征在于,所述要受轮询的项目的子集包括所收到的所有项目。
5.如权利要求1所述的系统,其特征在于,所述接收者子集包括所有接收者。
6.如权利要求1所述的系统,其特征在于,所述接收者子集是随机选择的。
7.如权利要求1所述的系统,其特征在于,所述接收者子集包括所述系统的付费用户。
8.如权利要求1所述的系统,其特征在于,通常会被过滤掉的消息的至少一个子集被考虑用于轮询。
9.如权利要求1所述的系统,其特征在于,被标记用于轮询的项目的子集限于至少的以下之一每个用户的选中项目的数量;每个用户在每个时间段的选中项目的数量;以及标记对应于已知用户的项目的概率。
10.如权利要求1所述的系统,其特征在于,所标记的项目的每一个都被分配一唯一ID,所述唯一ID对应于所标记项目和所标记项目的内容中的任何一个。
11.如权利要求1所述的系统,其特征在于,还包括修改被标记用于轮询的项目以将其标识为轮询项目的组件。
12.如权利要求11所述的系统,其特征在于,所述经修改的项目包扩以下的至少一个经修改的“自”地址;经修改的主题行;轮询图标;以及用于标识为轮询项目的轮询颜色。
13.如权利要求11所述的系统,其特征在于,所述经修改的项目包括所标记的项目作为附件。
14.如权利要求11所述的系统,其特征在于,所述经修改的项目包括所标记项目的摘要,所述摘要包括主题、日期、消息文本、以及所述文本的前几行中至少一项。
15.如权利要求11所述的系统,其特征在于,所述经修改的项目包括表决指令和对应于项目的至少两个相应类别的至少两个表决按钮和链接中的任意一个,以便于由用户对项目进行分类。
16.如权利要求15所述的系统,其特征在于,所述表决按钮对应于相应的链接,从而当用户选中所述表决按钮中的任意一个时,涉及选中的表决按钮、相应的用户、和分配给所述项目的唯一ID的信息被发送到一数据库用于存储。
17.如权利要求15所述的系统,其特征在于,所述至少两个表决按钮包括第一表决按钮,所述第一表决按钮指示“合法邮件”;以及第二表决按钮,所述第二表决按钮指示“垃圾邮件”。
18.如权利要求15所述的系统,其特征在于,所述表决按钮是通过修改所述项目的文本来实现的。
19.如权利要求15所述的系统,其特征在于,所述表决按钮是通过修改客户机电子邮件软件的用户界面来实现的。
20.如权利要求1所述的系统,其特征在于,还包括存储信息和数据的中央数据库,所述信息和数据涉及用户属性、与所标记的项目相关联的项目内容和属性、用户分类和表决统计数据、每个用户的轮询及每个用户每个时间段的轮询的频率分析数据、垃圾邮件列表、合法邮件列表、以及黑洞列表。
21.如权利要求1所述的系统,其特征在于,由现有过滤器标记为垃圾邮件的被标记用于轮询的项目被传送到所述用户的收件箱并被考虑用于轮询。
22.如权利要求1所述的系统,其特征在于,被标记用于轮询的项目被扫描病毒,从而以下之一发生剥离检测到的病毒并轮询所述项目;以及舍弃受感染的项目。
23.如权利要求1所述的系统,其特征在于,所述系统在一个以上对抗垃圾邮件的公司中分布,从而来自每个公司的反馈被发送到操作上与每个公司接口的中央数据库,其中,出于隐私的原因,所述反馈的某些部分被移除。
24.如权利要求23所述的系统,其特征在于,所述公司反馈包含以下中的一项仅垃圾邮件项目,从而排除了合法项目;以及垃圾邮件项目及合法项目的发送者名称、域名和IP地址。
25.如权利要求1所述的系统,其特征在于,还包括测试用户可靠性和可信性的用户分类确认组件。
26.如权利要求25所述的系统,其特征在于,所述用户分类确认组件是交叉确认技术和已知结果测试消息技术中至少一种。
27.如权利要求25所述的系统,其特征在于,所述用户分类确认组件可被应用于一个或多个受怀疑的用户。
28.如权利要求1所述的系统,其特征在于,所述反馈组件接收涉及用户反馈、蜜罐反馈、以可任选的收到项目的用户接收者反馈的信息。
29.一种使用如权利要求1所述的系统的服务器。
30.一种使用如权利要求1所述的系统的电子邮件体系结构。
31.一种其上存储了如利要求1所述的组件的计算机可读介质。
32.一种便于就防止垃圾邮件而言来对消息进行分类的方法,其特征在于,包括接收一组所述的消息;识别所述消息的预期接收者;将所述消息的一个子集标记为要受轮询,所述消息子集对应于已知为对抗垃圾邮件的用户的接收者子集;接收涉及所述用户对轮询消息的分类的信息;以及将所述信息用于训练垃圾邮件过滤器和填充垃圾邮件列表。
33.如权利要求32所述的方法,其特征在于,通常会被过滤掉的消息的至少一个子集被电子邮件服务器接收并进入一反馈循环系统。
34.如权利要求32所述的方法,其特征在于,所有的传入消息都由客户机电子邮件软件处理,从而被选中用于轮询的消息对于个别用户的偏好是专用的。
35.如权利要求32所述的方法,其特征在于,收到的所有消息被考虑用于轮询,以减轻数据的偏差。
36.如权利要求32所述的方法,其特征在于,所述要受轮询的消息子集包括所有消息。
37.如权利要求32所述的方法,其特征在于,所述接收者子集包括所有接收者。
38.如权利要求32所述的方法,其特征在于,所述已知为对抗垃圾邮件的用户的接收者子集是通过每个接收者执行以下至少一项来确定的决定参与提供对消息的反馈以便于训练新的垃圾邮件过滤器;通过不决定退出而被动地决定参与提供对消息的反馈;为由参与的消息服务器提供的电子邮件和消息服务付费;以及向参与的消息服务器开设电子邮件账号。
39.如权利要求32所述的方法,其特征在于,被选中参与消息轮询的用户子集是随机选择的。
40.如权利要求32所述的方法,其特征在于,被选中参与消息轮询的用户子集是从所有付费用户中选出的,从而使某些垃圾邮件发送者需要付出更高代价才能破坏所述的垃圾邮件过滤器训练。
41.如权利要求32所述的方法,其特征在于,所述被标记用于轮询的消息子集是随机选择的。
42.如权利要求32所述的方法,其特征在于,所述被标记用于轮询的消息子集受一个或多个轮询限制所限。
43.如权利要求32所述的方法,其特征在于,所述一个或多个轮询限制包括每个用户的限制和每个用户每个时间段的限制,以减轻数据偏差。
44.如权利要求32所述的方法,其特征在于,还包括修改所标记的消息,以将其标记并标识为轮询消息。
45.如权利要求44所述的方法,其特征在于,修改所标记的消息包括执行以下至少一项将所标记的消息移到用于轮询消息的单独的文件夹;修改所标记的消息的“自”地址;修改所标记的消息的主题行;在所标记的消息上使用轮询图标以将其标识为轮询消息;以及使用独特的颜色来将所标记的消息标识为轮询消息。
46.如权利要求32所述的方法,其特征在于,所述轮询消息包括原始收到的消息的附件和向用户指示如何表决的一组指令。
47.如权利要求46所述的方法,其特征在于,还包括至少两个表决按钮,以便于将消息分类为垃圾邮件和非垃圾邮件。
48.如权利要求47所述的方法,其特征在于,所述表决按钮是链接,当用户选中所述链接时,即创建用于训练垃圾邮件过滤器和填充垃圾邮件列表的反馈,所述反馈包含涉及选中的分类、用户、消息、分配给消息和消息内容中之一的唯一ID的信息。
49.如权利要求47所述的方法,其特征在于,还包括第三表决按钮,以供决定退出将来的轮询。
50.如权利要求47所述的方法,其特征在于,所述表决按钮通过在将所述轮询消息发送到各自的用户之前修改所述消息的文本,被结合到所述轮询消息中。
51.如权利要求47所述的方法,其特征在于,所述表决按钮是通过修改客户机电子邮件软件的用户界面来实现的。
52.如权利要求47所述的方法,其特征在于,所述表决按钮被结合到所述轮询消息中。
53.如权利要求32所述的方法,其特征在于,还包括在所标记的消息被下载用于轮询之前对其扫描病毒。
54.如权利要求53所述的方法,其特征在于,还包括从任何受感染消息中移除病毒。
55.如权利要求53所述的方法,其特征在于,受病毒感染的所标记的消息被舍弃。
56.如权利要求46所述的方法,其特征在于,还包括消息摘要,所述摘要包含主题行、消息发送者、消息发送日期、消息收到日期、以及来自该消息的前几行文本中的至少一项。
57.如权利要求32所述的方法,其特征在于,还包括将每个所标记的消息制作一个和原始收到时一样的副本,从而使各个用户能接收到所述消息的原始形式的第一副本和所述消息的轮询形式的第二副本。
58.如权利要求32所述的方法,其特征在于,所标记的消息被个别地分配对应于所标记消息和所标记消息的内容中至少一项的唯一ID。
59.如权利要求58所述的方法,其特征在于,所标记的消息及其相关联的ID被存储在与训练垃圾邮件过滤器和填充垃圾邮件列表有关的数据库中。
60.如权利要求32所述的方法,其特征在于,反馈组件接收涉及用户对所述轮询消息的分类的信息,所述反馈组件包括中央数据库。
61.如权利要求60所述的方法,其特征在于,所述数据库提供与经由机器学习技术来训练垃圾邮件过滤器和填充垃圾邮件列表有关的信息。
62.如权利要求32所述的方法,其特征在于,所述垃圾邮件过滤器是使用被分类为垃圾邮件和非垃圾邮件的消息来训练的,以减轻轮询数据的偏差和轮询消息的错误分类。
63.如权利要求32所述的方法,其特征在于,还包括将所述经训练的垃圾邮件过滤器分发到一个或多个服务器,所述分发是自动发生和/或通过电子邮件消息和网站上用于下载的通告中的至少一个的请求发生的。
64.如权利要求60所述的方法,其特征在于,识别用户和标记用于轮询的消息在一个或多个邮件服务器和一个或多个客户机电子邮件软件之间分布,从而由所述邮件服务器和客户机电子邮件软件生成的数据被返回到中央数据库,用于与训练垃圾邮件过滤器和填充垃圾邮件列表有关的存储。
65.如权利要求64所述的方法,其特征在于,出于隐私的原因,从由所述邮件服务器和客户机电子邮件软件发送到所述中央数据库的任何数据中移除关键信息,从而所述数据的仅一部分被发送到所述中央数据库以便于训练所述垃圾邮件过滤器。
66.如权利要求65所述的方法,其特征在于,所述发送到中央数据库的数据部分包含以下至少一项涉及垃圾邮件消息的信息;嵌入在合法消息中的域名;以及嵌入在合法消息中的IP地址。
67.如权利要求64所述的方法,其特征在于,由所述电子邮件服务器生成的数据和由所述客户机电子邮件软件生成的数据被聚集到分别对应于轮询结果和轮询消息的统计数据中,从而减轻了将所述消息发送到所述中央数据库所需的带宽。
68.如权利要求32所述的方法,其特征在于,训练所述垃圾邮件过滤器和填充所述垃圾邮件列表是由机器学习技术使用基于用户分类反馈和可任选的由一个或多个附加来源生成的数据来执行的,所述一个或多个来源包含蜜罐、接收者非用户分类反馈、以及主动学习技术。
69.如权利要求68所述的方法,其特征在于,由所述一个或多个来源生成的数据相对于由该来源生成的数据的类型并相对于所述用户分类数据来成比例地重新加权,以便于获得数据的无偏差采样。
70.如权利要求68所述的方法,其特征在于,蜜罐对应于以限制性方式透露的电子邮件地址,使得已知谁向其发送合法消息,从而便于垃圾邮件发送者的即时识别、用户订户信息分发给垃圾邮件发送者的可疑商家的验证、以及和无需等待用户分类的垃圾邮件消息即时分类。
71.如权利要求70所述的方法,其特征在于,由所述蜜罐生成的信息选择性地至少部分取决于相对于其它来源的数量使用的蜜罐数量来减少权重,所述其它来源包括用户分类反馈。
72.如权利要求70所述的方法,其特征在于,由所述蜜罐生成的数据被实时地集成到中央数据库中,涉及用户分类和轮询消息的信息也存储在所述中央数据库中以供稍后用于训练垃圾邮件过滤器和填充垃圾邮件列表。
73.如权利要求67所述的方法,其特征在于,所述消息是使用主动学习技术,即,基于其估算值选择消息来学习新的或已更新的过滤器的技术来选择的。
74.如权利要求32所述的方法,其特征在于,还包括监视传入消息各自的一个或多个肯定特征;确定收到的肯定特征的频率;至少部分地基于历史数据来判定收到的一个或多个肯定特征是否超过一阈值频率;以及隔离对应于超过所述阈值频率的一个或多个肯定特征的可疑消息,直至有其它分类数据可用于判定可疑消息是否为垃圾邮件。
75.如权利要求74所述的方法,其特征在于,所使用的特征是关于发送者的信息,包括发送者IP地址和域中的至少一个。
76.如权利要求74所述的方法,其特征在于,隔离可疑消息是通过以下动作中的至少一个来执行的临时将所述的可疑消息标记为垃圾邮件并将其移到垃圾邮件文件夹;延迟将所述可疑消息送达给用户,直至其它分类数据可用;以及将所述可疑消息存储在对用户不可见的文件夹中。
77.如权利要求32所述的方法,其特征在于,还包括确定所述垃圾邮件过滤器的假肯定和捕获率,以便于优化所述垃圾邮件过滤器,其中,确定假肯定和捕获率包括使用训练数据集来训练所述垃圾邮件过滤器,所述训练数据集包括第一组轮询结果;利用用户反馈来分类第二组轮询消息,以产生第二组轮询结果;使所述第二组轮询消息穿过所述经训练的垃圾邮件过滤器;将所述第二组轮询结果与所述经训练的垃圾邮件过滤器结果进行比较,以确定所述过滤器的假肯定和捕获率,从而根据最优过滤器性能来评估和调整过滤器参数。
78.如权利要求77所述的方法,其特征在于,构建一个以上垃圾邮件过滤器,其每一个都具有不同的参数,且每一个都用同一训练数据集来训练,从而将每个垃圾邮件过滤器的假肯定和捕获率与至少一个其它垃圾邮件过滤器进行比较,以为垃圾邮件过滤确定最优参数。
79.如权利要求32所述的方法,其特征在于,还包括使用额外的传入消息组来构建改进的垃圾邮件过滤器,所述额外消息组的子集要受轮询以产生与训练所述改进的垃圾邮件过滤器有关的新信息,其中,先前获得的信息至少部分地基于多久以前获得它来对其重新加权。
80.如权利要求32所述的方法,其特征在于,还包括使用所述信息来构建合法发送者列表。
81.如权利要求80所述的方法,其特征在于,所述合法发送者列表包括根据被分类为好邮件的消息的百分比,实质上被分类为好邮件的来源的IP地址、域名和URL中的任何一个。
82.如权利要求32所述的方法,其特征在于,所述垃圾邮件列表用于生成不接受从其发送的任何邮件的地址的黑洞列表。
83.如权利要求32所述的方法,其特征在于,还包括使用所述信息以便于终结垃圾邮件发送者的账号。
84.如权利要求83所述的方法,其特征在于,还包括识别正在使用ISP的垃圾邮件发送者并自动向该ISP通知该垃圾邮件发送。
85.如权利要求83所述的方法,其特征在于,还包括识别要为发送垃圾邮件负责的域,并自动地向该域的电子邮件供应商和该域的ISP中的至少一个通知该垃圾邮件发送。
86.如权利要求32所述的方法,其特征在于,还包括将所述垃圾邮件过滤器和所述垃圾邮件列表中至少一个分发给邮件服务器、电子邮件服务器、以及客户机电子邮件软件中的任意一个,其中,所述分发包括以下的至少一项在网站上张贴通知,以通知所述垃圾邮件过滤器和垃圾邮件列表可用于下载;自动向邮件服务器、电子邮件服务器和客户机电子邮件软件推出所述垃圾邮件过滤器和所述垃圾邮件列表;以及手动向邮件服务器、电子邮件服务器和客户机电子邮件软件推出所述垃圾邮件过滤器和所述垃圾邮件列表。
87.一种便于验证用户分类的可靠性和可信性的交叉确认方法,其特征在于,包括从用于训练垃圾邮件过滤器的数据中排除一个或多个受怀疑用户的分类;使用所有其它可用的用户分类来训练所述垃圾邮件过滤器;以及使所述受怀疑用户的轮询消息穿过所述经训练的垃圾邮件过滤器,以确定与所述受怀疑用户的分类相比较,它会如何分类所述消息。
88.如权利要求87所述的方法,其特征在于,还包括执行以下的至少一项对由被确定为不可信的用户提供的现有和将来的分类进行折扣,直至该用户被确定为可信;舍弃由被确定为不可信的用户提供的现有分类;以及将所述不可信用户从将来的轮询中移除。
89.一种便于验证用户分类中的可靠性和可信性,以经由反馈循环系统来训练垃圾邮件过滤器的方法,其特征在于,包括将对抗垃圾邮件的用户的一个子集标识为可疑用户;向所述可疑用户提供具有已知结果的一个或多个消息用于轮询;以及确定所述受怀疑用户对所述一个或多个测试消息的分类是否与所述已知分类相匹配,以确定所述用户分类的可靠性。
90.如权利要求89所述的方法,其特征在于,被标识为可疑用户的所述对抗垃圾邮件的用户的子集包括所有用户。
91.如权利要求89所述的方法,其特征在于,所述消息是测试消息,它已知为垃圾邮件和好邮件中至少一种,并由所述反馈循环系统注入到传入邮件流中并传送到所述可疑用户。
92.如权利要求89所述的方法,其特征在于,所述受怀疑用户收到的用于轮询的消息是由系统管理员手动分类的,以用正确的分类来训练所述垃圾邮件分类器,来识别不可信用户。
93.如权利要求89所述的方法,其特征在于,还包括以下动作中的至少一项对由被确定为不可信的用户提供的现有和将来的分类进行折扣,直至该用户被确定为可信;舍弃由被确定为不可信的用户提供的现有分类;以及将所述的不可信用户从将来的轮询中移除。
94.一种其上存储了以下计算机可执行组件的计算机可读介质接收一组消息的组件;识别所述消息的预期接收者,并将所述消息的一个子集标记为要受轮询的组件,所述消息子集对应于已知为对抗垃圾邮件的用户的接收者子集;修改所标记的消息以向用户将其标识为轮询消息的消息修改组件;以及接收涉及用户对所述轮询消息的分类、并将所述信息用于训练垃圾邮件过滤器和填充垃圾邮件列表的反馈组件。
95.一种便于就防止垃圾邮件而言来对消息进行分类的系统,其特征在于,包括用于接收一组消息的装置;用于识别所述消息的预期接收者的装置;用于将所述消息的一个子集标记为要受轮询的装置,所述消息子集对应于已知为对抗垃圾邮件的用户的接收者子集;用于接收涉及用户对所述轮询消息的分类的信息的装置;以及用于将所述信息用于训练垃圾邮件过滤器和填充垃圾邮件列表的装置。
全文摘要
本发明提供了便于就在服务器和/或基于客户机的体系结构中防止垃圾邮件而对项目进行分类的反馈循环系统和方法。本发明利用机器学习方法,将其应用于垃圾邮件过滤器,尤其是随机地对传入的电子邮件消息进行采样,从而获得合法和垃圾/兜售信息邮件两者的例子来生成训练数据集。被标识为垃圾邮件战士的用户被要求对其传入电子邮件消息的选择分别是合法邮件还是垃圾邮件进行表决。数据库存储每个邮件和表决事务的属性,诸如用户信息、消息属性和内容摘要以及每个消息的轮询结果等,以生成用于机器学习系统的训练数据。该机器学习系统便于创建改进的垃圾邮件过滤器,它被训练成能识别合法邮件和垃圾邮件两者,并能区分这两者。
文档编号H04L12/58GK1809821SQ200480003769
公开日2006年7月26日 申请日期2004年2月25日 优先权日2003年3月3日
发明者R·L·朗特瓦特, D·E·黑克尔曼, J·D·梅尔, N·D·豪威尔, M·C·鲁珀斯伯格, D·A·斯劳森, J·T·古德曼 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1