Abstract:
Computer implemented methods, apparati, and computer readable media for suppressing spam entering a computing device. A method embodiment comprises the steps of routing an electronic message leaving the computing device to a machine learning based spam filter defining the message to be clean; and training the filter, with the message being an input to the filter.

Description:
TECHNICAL FIELD 
   This invention pertains to the field of reducing the amount of spam to which a computing device is subjected, by using a machine learning based spam filter. 
   BACKGROUND ART 
   Machine learning based spam filters require training data in order to be successful. A common problem with this class of filters is that it is difficult to gather training data that is representative of the environment of the user of the computing device, especially without manual user feedback. 
   Current machine learning based spam filters are trained by a third party, by the user, or by both a third party and the user. The third party may be a software publisher. For example, the spam filter may be Norton Spam Alert, which is trained by its software publisher, SYMANTEC® Corporation of Cupertino, Calif. Machine learning based spam filters trained by third parties tend to have a lot of false positives, because the training corpus for the filter normally does not contain many clean electronic messages that are actually experienced by an individual user or enterprise. However, because such a third party corpus contains a good representation of the overall spam experienced by the users and enterprises, the false negative rate is usually low. On the other hand, spam filters trained exclusively by an individual user or enterprise typically result in a low false positive rate (because of the relatively large volume of clean messages available to the user or enterprise precisely representing what is typical for that user or enterprise) but a medium false negative rate, because the user or enterprise uses a relatively small sample of spam training messages compared with a third party. 
   Filters are available that are initially trained by a third party and then retrained manually over time by the user or enterprise. While this technique is feasible for an individual user, it presents problems for enterprises, because the enterprise must process a very large volume of messages (all the messages of all the individual computing devices within the enterprise). 
   The present invention improves the training of machine learning based spam filters, so that such filters can enjoy a low false positive rate and a low false negative rate, and can be used effectively by both individual users and enterprises. 
   DISCLOSURE OF INVENTION 
   The invention described herein comprises computer implemented methods, apparati, and computer readable media for suppressing spam entering a computing device ( 1 ). A method embodiment of the present invention comprises the steps of routing ( 21 ) an electronic message leaving the computing device ( 1 ) to a machine learning based spam filter ( 4 ); defining ( 22 ) the message ( 2 ) to be clean; and training ( 23 ) the filter ( 4 ), with the message ( 2 ) being an input to the filter ( 4 ). 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     These and other more detailed and specific objects and features of the present invention are more fully disclosed in the following specification, reference being had to the accompanying drawings, in which: 
       FIG. 1  is a block diagram illustrating components utilized in the present invention. 
       FIG. 2  is a flow diagram illustrating a method embodiment of the present invention. 
       FIG. 3  is a block diagram illustrating one embodiment of the present invention. 
       FIG. 4  is a block diagram illustrating a second embodiment of the present invention. 
       FIG. 5  is a block diagram illustrating a third embodiment of the present invention. 
   

   DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
   As used throughout this specification including claims, “spam” is any electronic message that is unwanted by the recipient; and a “clean” electronic message is one that is not spam. 
   With reference to  FIG. 1 , the recipient is computing device  1 . Device  1  is broadly defined herein as any type of computer or any type of device containing a computer. Thus, device  1  may be an individual user&#39;s computer such as a personal computer (PC), laptop computer, handheld computer, etc.; an enterprise computer such as a workstation, a gateway computer, or a proxy computer; a two-way pager; or a messaging telephone. 
   Computing device  1  sends and receives electronic messages  2  to and from a network  3 . The network  3  may be any type of wired or wireless network, such as the Internet, the public switched telephone network (PSTN), a local area network (LAN), or a wide area network (WAN). Electronic message  2  is any message that is in electronic or digital form. Thus, for example, electronic message  2  can be e-mail, an instant message, a chat room message, a newsgroup message such as an Internet newsgroup message, a wireless message such as Morse code modulated onto an electromagnetic carrier, an SMS (Simple Messaging Service) message, an MMS (Multimedia Messaging Service) message, an EMS (Enhanced Messaging Service) message, or a two-way text or graphics pager message. 
   Associated with computing device  1  is a message routing module  9  that sends incoming and outgoing messages  2  to machine learning based spam filter  4 . “Incoming” means entering computing device  1  from network  3 , and “outgoing” means leaving computing device  1  to network  3 . The module  9  may be a stand-alone software program, a plug-in module, a proxy module, or a gateway module. In the case where message  2  is e-mail, the module  9  may be a plug-in module associated with e-mail client software resident on computing device  1 . An example of a suitable proxy module  9  is Email Scanner included in Norton Internet Security published by SYMANTEC® Corporation of Cupertino, Calif. All modules referred to in this patent application can be implemented in hardware, firmware, or software, or any combination thereof. When implemented in software, said modules can reside on any computer readable medium, such as a hard disk, floppy disk, CD, DVD, etc. 
   A machine learning based filter such as filter  4  illustrated in  FIG. 1  is a filter that is refined during a training mode, and that operates on live messages  2  during a recall mode. Each type of filter  4  of the present invention has an input where messages  2  are presented and a binary output: the message  2  is deemed by filter  4  to contain spam or deemed to be clean. When filter  4  is not the sole decision maker, the binary outputs are “clean” and “suspected spam”. Throughout this specification including claims, when an output is referred to as “suspected spam”, it is meant to cover the output “spam” when filter  4  is the sole decision maker. 
   Each type of filter  4  has a training means  7  associated therewith. The training means  7  may be a module that, inter alia, instructs filter  4  to reach a certain binary output whenever a certain message  2  is presented at the input of the filter  4 . 
   Examples of machine learning based filters suitable for use as filters  4  in the present invention include a neural network, a Bayesian classifier, and a support vector machine. During the recall mode, a neural network type of spam filter  4  assigns a number between 0 and 1 to the incoming message  2 . If the assigned number is greater than a certain preselected threshold, such as 0.75, the message  2  is deemed by filter  4  to be suspected spam; otherwise, the message  2  is deemed to be clean. A Bayesian classifier type of spam filter  4  assigns, for each word within the incoming message  2 , a probability that the word is suspected spam and a probability that the word is clean. Then, the Bayesian classifier calculates a composite value for all the words in the message  2 . This composite is checked against preselected values to yield the decision of the Bayesian classifier. A support vector machine uses a nonlinear kernel function to transform distances between sample points before making comparisons. 
     FIG. 2  illustrates a method embodiment of the present invention. In step  21 , an outgoing message  2  leaving computing device  1  is routed by module  9  to the input of machine learning based spam filter  4 . When the outgoing message  2  is a reply to an original message, only the reply should be routed to filter  4 . Similarly, when the outgoing message  2  is a forwarded message, only the forwarding comments, and not the original message, should be routed to filter  4 . This assures that filter  4  is trained only on content added by computing device  1 . 
   At step  22 , a module  8  associated with computing device  1  defines the outgoing message  2  of step  21  to be clean. Step  22  is based on the theory that most messages  2  sent by the user of computing device  1  are messages  2  that are worded similarly to, and have the same subject matter as, messages  2  that the user wants to receive. And, as stated above, a wanted message  2  is, by definition, clean, not spam. This theory is problematic when the user of computing device  1  is a spammer, but the present invention is designed to protect the victims of spammers, not spammers themselves. 
   At step  23 , filter  4  is made (e.g., by mode selection module  10  associated with device  1  issuing a command to training means  7 ) to enter training mode, with the message  2  from steps  21  and  22  taken into account during said training. Steps  22  and  23  may be combined. With respect to step  23 , filter  4  may or may not have been previously trained, either by a third party, by the user of device  1 , or by a combination of a third party and the user of device  1 . As used herein, “third party” means an entity other than the user of device  1 , and other than an entity that sends or receives messages  2  to device  1 . 
   At step  24 , filter  4  is instructed to process a new incoming message  2  in recall mode. This instruction to filter  4  may be made by module  10  upon the occurrence of an incoming message  2  arriving at device  1 . 
   At step  25 , filter  4  makes its decision: either message  2  is clean, or it contains suspected spam. This decision is based upon the input that was presented to filter  4  in step  22 , as well as upon any previous training that filter  4  has received. 
   At step  26 , post-decision processing is performed, based upon the decision made in step  25 . For example, at step  26  deletion module  11  associated with device  1  can delete a message  2  that has been deemed to contain suspected spam, or verification module  12  associated with device  1  can subject the message  2  to a verification process, e.g., processing by one or more spam filters other than filter  4 . 
     FIG. 3  illustrates an embodiment of the present invention in which there are a plurality N of computer users  5  organized into some sort of enterprise, e.g., a corporation, a university, a set of affiliated users  5  connected to each other by a local area network, etc. N can be any positive integer. In this embodiment, computing device  1  may be a proxy or gateway computer having, inter alia, the responsibility to screen messages  2  entering and leaving the enterprise. 
     FIG. 4  further illustrates that there may be a plurality J of machine learning based spam filters  4  coupled to computing device  1 . J can be any positive integer. As used through this specification including claims, “coupled” encompasses any type of coupling or connection, whether direct or indirect. Normally, the filters  4  are different types of machine learning based spam filters  4 , but two or more of these filters  4  could be the same type. 
     FIG. 5  illustrates that there can be a plurality K of non machine learning based spam filters  6  coupled to device  1 . K can be any positive integer. Such a filter  6  may be a fuzzy hash filter, a collaborative filter, an RBL filter, a white list/black list filter, etc. Filter  6  is any type of filter that is not refined during a training mode. While a filter  6  is not dynamic as in the case of a filter  4 , a filter  6  may be faster than a filter  4  and therefore may have some utility, whether used alone or in combination with a filter  4 . The enterprise may use a plurality J filters  4  and/or a plurality K filters  6  in order to improve the false positive and/or false negative rate, at some expense in the speed of processing. When J filters  4  are used, at least one, and possibly all, of them is trained in step  23 . 
   In the embodiment illustrated in  FIG. 5 , messages  2  are first routed to filter(s)  6  and then to filter(s)  4 , because non machine learning based spam filters  6  are usually faster than machine learning based spam filters  4 . Thus, filters  4  may be used to verify preliminary decisions (suspected spam versus clean) made by filter(s)  6 . The routing order may be contained in a routing order module  13  associated with device  1 . 
   The above description is included to illustrate the operation of the preferred embodiments and is not meant to limit the scope of the invention. The scope of the invention is to be limited only by the following claims. From the above discussion, many variations will be apparent to one skilled in the art that would yet be encompassed by the spirit and scope of the present invention.