(57)【要約】【課題】  スパムの検出を実施する高度で頑強なシステムおよび方法を提供すること。【解決手段】  スパム送信者にとって回避し、複製することが難しい非スパム内の特徴を見つける機能を強化し促進するコンポーネントを設ける。特徴の例には、対をなす発生の特徴を検査すること、キャラクタおよび／または数字のシーケンス、ストリング、およびサブストリングを分析すること、１つまたは複数のキャラクタシーケンス、ストリング、および／またはサブストリングの様々なエントロピーレベルを検出すること、ならびにメッセージサイズおよび／または特徴サイズを分析することが含まれている。【選択図】  図１
2005018745.tif 000002
【特許請求の範囲】
【請求項１】
メッセージの発生情報の少なくとも一部分に関係する特徴を識別するコンポーネントと、
スパムの検出を実施するための機械学習フィルタをトレーニングすることに関連して使用するための有用な対に前記特徴を組み合わせるコンポーネントと
を備えることを特徴とするスパム検出システム。
【請求項２】
各対は、
ＭＡＩＬ  ＦＲＯＭコマンド中のドメイン名およびホスト名のうちの少なくとも一方と、
ＨＥＬＯコマンド中のドメイン名およびホスト名のうちの少なくとも一方と、
Ｒｅｃｅｉｖｅｄ  ｆｒｏｍヘッダ中のＩＰアドレスおよびサブネットのうちの少なくとも一方と、
表示名中のドメイン名およびホスト名のうちの少なくとも一方と、
Ｍｅｓｓａｇｅ  Ｆｒｏｍ行中のドメイン名およびホスト名のうちの少なくとも一方と、
最後のＲｅｃｅｉｖｅｄ  ｆｒｏｍヘッダ中の少なくとも１つの時間帯と
のうちの少なくとも１つを含むことを特徴とする請求項１に記載のシステム。
【請求項３】
前記ドメイン名は、前記ホスト名から導き出されることを特徴とする請求項２に記載のシステム。
【請求項４】
前記サブネットは、第１のビット数を共通に共用する１つまたは複数のＩＰアドレスを含むことを特徴とする請求項２に記載のシステム。
【請求項５】
有用な対は、Ｍｅｓｓａｇｅ  Ｆｒｏｍからのドメイン名およびホスト名のうちのいずれか一方と、ＨＥＬＯコマンドからのドメイン名およびホスト名のうちのいずれか一方であることを特徴とする請求項１に記載のシステム。
【請求項６】
有用な対は、表示名のドメイン名およびホスト名と、Ｍｅｓｓａｇｅ  Ｆｒｏｍのドメイン名およびホスト名であることを特徴とする請求項１に記載のシステム。
【請求項７】
有用な対は、Ｍｅｓｓａｇｅ  Ｆｒｏｍ中のドメイン名およびホスト名のうちのいずれか一方と、Ｒｅｃｅｉｖｅｄ  ｆｒｏｍのＩＰアドレスおよびサブネットのうちのいずれか一方であることを特徴とする請求項１に記載のシステム。
【請求項８】
有用な対は、送信者の主張時間帯とＭｅｓｓａｇｅ  Ｆｒｏｍのドメイン名であることを特徴とする請求項１に記載のシステム。
【請求項９】
有用な対は、送信者のメーリングソフトウェアのタイプと、ＳＭＴＰコマンドおよびメッセージヘッダのうちの１つから導き出されるドメイン名、ホスト名、およびユーザ名のうちのいずれか１つであることを特徴とする請求項１に記載のシステム。
【請求項１０】
発生情報は、ＳＭＴＰコマンドを含み、前記ＳＭＴＰコマンドは、ＨＥＬＯコマンド、ＭＡＩＬ  ＦＲＯＭコマンド、およびＤＡＴＡコマンドを含むことを特徴とする請求項１に記載のシステム。
【請求項１１】
前記ＤＡＴＡコマンドは、Ｍｅｓｓａｇｅ  Ｆｒｏｍ行、送信者の主張時間帯、および送信者のメーリングソフトウェアを含むことを特徴とする請求項１０に記載のシステム。
【請求項１２】
１つまたは複数の発見的方法をメールメッセージに一貫して適用して一貫した特徴対形成を得るコンポーネントをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項１３】
スパムを指し示す、単語全体には制限されない特定のキャラクタシーケンスを求めて探索することによってメッセージの一部分を分析するコンポーネントと、
任意長の前記キャラクタシーケンスに関係する特徴を生成するコンポーネントと
を含むことを特徴とするスパム検出システム。
【請求項１４】
前記コンポーネントは、キャラクタの各ランについての特徴を最大のキャラクタラン長まで生成することを特徴とする請求項１３に記載のシステム。
【請求項１５】
前記コンポーネントは、ある長さｎまでのほぼすべてのキャラクタシーケンスについての特徴を生成することを特徴とする請求項１３に記載のシステム。
【請求項１６】
前記キャラクタシーケンスは、文字、数字、句読点、シンボル、および外国語のキャラクタのうちの少なくとも１つを含むことを特徴とする請求項１３に記載のシステム。
【請求項１７】
前記特定のキャラクタシーケンスは、メッセージの件名およびメッセージ本体のうちの少なくとも一方の先頭および末尾のうちのいずれか一方においてランダム文字、シンボル、および句読点のうちの少なくとも１つをチャフとして含むことを特徴とする請求項１３に記載のシステム。
【請求項１８】
ランダムキャラクタシーケンスは、スパムに類似のメッセージを指し示すキャラクタＮグラムを含むことを特徴とする請求項１７に記載のシステム。
【請求項１９】
前記キャラクタＮグラムは、Ｆｒｏｍアドレス、件名、テキスト本体、ｈｔｍｌ本体、および添付情報のうちの少なくとも１つに配置されることを特徴とする請求項１８に記載のシステム。
【請求項２０】
前記キャラクタＮグラムは、位置依存性があることを特徴とする請求項１８に記載のシステム。
【請求項２１】
外国語テキスト、ユニコードキャラクタタイプ、および英語に共通しない他のキャラクタタイプのうちの少なくとも１つを含むメッセージと共に使用することを特徴とする請求項１３に記載のシステム。
【請求項２２】
前記外国語テキストは、実質上スペースで区切られない単語を含むことを特徴とする請求項２１に記載のシステム。
【請求項２３】
Ｎグラムは、スペースで一般に区切られないキャラクタについてのみ使用されるにすぎないことを特徴とする請求項２２に記載のシステム。
【請求項２４】
句読点によって不明瞭にされたキャラクタシーケンスをパターンマッチ技法を使用して抽出するコンポーネントをさらに備えることを特徴とする請求項１３に記載のシステム。
【請求項２５】
メッセージがスパムであることを指し示すランダムキャラクタストリングのインスタンスを求めて探索することによって前記メッセージの一部分を分析するコンポーネントを備えることを特徴とするスパム検出システム。
【請求項２６】
ランダムキャラクタストリングの前記インスタンスに対応する特徴を生成して各ストリングについてのエントロピー測定値の決定を実施するコンポーネントをさらに備えることを特徴とする請求項２５に記載のシステム。
【請求項２７】
前記システムは、エントロピーに相関した値を測定することを特徴とする請求項２５に記載のシステム。
【請求項２８】
エントロピーに相関した高い値は、スパムを指し示すことを特徴とする請求項２７に記載のシステム。
【請求項２９】
エントロピーに相関した前記値は、実際のエントロピー−ｌｏｇ２Ｐ（ａｂｃ．．．ｚ）であることを特徴とする請求項２８に記載のシステム。
【請求項３０】
キャラクタストリングの平均エントロピーが使用されることを特徴とする請求項２７に記載のシステム。
【請求項３１】
ランダムキャラクタの前記ストリングは、チャフであることを特徴とする請求項２５に記載のシステム。
【請求項３２】
相対エントロピーは、件名およびメッセージ本体のうちの少なくとも一方の先頭および末尾のうちのいずれか一方の前記エントロピー測定値を前記件名およびメッセージ本体のうちの少なくとも一方の中央の前記エントロピー測定値と比較することを特徴とする請求項２７に記載のシステム。
【請求項３３】
機械学習スパムフィルタをトレーニングすることに関連してメッセージヘッダのほぼすべての特徴を分析するコンポーネントを備えることを特徴とするスパム検出システム。
【請求項３４】
前記メッセージヘッダの前記特徴は、Ｘ−Ｐｒｉｏｒｉｔｙ、メールソフトウェア、および配信停止用のヘッダ行を含む少なくとも１つのメッセージヘッダタイプの有無のうちの少なくとも一方を含むことを特徴とする請求項３３に記載のシステム。
【請求項３５】
前記メッセージヘッダの前記特徴は、少なくとも１つのメッセージヘッダタイプに関連する内容をさらに含むことを特徴とする請求項３４に記載のシステム。
【請求項３６】
イメージおよび関連するイメージ情報を求めてメッセージの少なくとも一部分を分析するコンポーネントと、
前記イメージおよび関連するイメージ情報のうちのいずれか１つに関係する特徴を生成するコンポーネントと
をさらに備えることを特徴とする請求項３３に記載のシステム。
【請求項３７】
前記イメージ情報は、イメージサイズ、イメージ量、イメージ位置、イメージ寸法、およびイメージタイプを含むことを特徴とする請求項３６に記載のシステム。
【請求項３８】
前記イメージ情報は、前記イメージがハイパーリンクの内部にあるような第１のＵＲＬおよび第２のＵＲＬの存在を含むことを特徴とする請求項３６に記載のシステム。
【請求項３９】
前記メッセージは、＜Ａ  ＨＲＥＦ＝“ｔｈｅ  ｆｉｒｓｔ  ＵＲＬ“＞＜ＩＭＧ  ＳＲＣ＝”ｔｈｅ  ｓｅｃｏｎｄ  ＵＲＬ“＞＜／Ａの形式をもつタグパターンを含むことを特徴とする請求項３８に記載のシステム。
【請求項４０】
前記特徴は、機械学習フィルタをトレーニングすることに関連して使用されることを特徴とする請求項３６に記載のシステム。
【請求項４１】
メッセージをＨＴＭＬ属性、およびＨＴＭＬ属性の位置についてこれらがタグパターン中に現れる時に分析するコンポーネントをさらに含むことを特徴とする請求項３３に記載のシステム。
【請求項４２】
少なくとも１つのメッセージを受信するステップと、
メッセージの少なくとも一部分を解析して１つまたは複数の特徴を生成するステップと、
少なくとも２つの特徴を組み合わせて対にするステップであって、各特徴対は少なくとも１つの追加の特徴を作成し、各対の前記特徴は、互いに一致するステップと、
前記特徴対を使用して機械学習スパムフィルタをトレーニングするステップと
を含むことを特徴とするスパム検出に使用するための特徴の生成を実施する方法。
【請求項４３】
解析される前記メッセージの前記少なくとも一部分は、前記メッセージの発生情報に対応することを特徴とする請求項４２に記載の方法。
【請求項４４】
各対は、
ＭＡＩＬ  ＦＲＯＭコマンド中のドメイン名およびホスト名のうちの少なくとも一方と、
ＨＥＬＯコマンド中のドメイン名およびホスト名のうちの少なくとも一方と、
Ｒｅｃｅｉｖｅｄ  ｆｒｏｍヘッダ中のＩＰアドレスおよびサブネットのうちの少なくとも一方と、
表示名中のドメイン名およびホスト名のうちの少なくとも一方と、
Ｍｅｓｓａｇｅ  Ｆｒｏｍ行中のドメイン名およびホスト名のうちの少なくとも一方と、
最後のＲｅｃｅｉｖｅｄ  ｆｒｏｍヘッダ中の少なくとも１つの時間帯と
のうちの少なくとも１つを含むことを特徴とする請求項４２に記載の方法。
【請求項４５】
前記ドメイン名は、前記ホスト名から導き出されることを特徴とする請求項４４に記載の方法。
【請求項４６】
前記特徴対は、表示名のドメイン名およびホスト名と、Ｍｅｓｓａｇｅ  Ｆｒｏｍのドメイン名およびホスト名であることを特徴とする請求項４２に記載の方法。
【請求項４７】
有用な対は、Ｍｅｓｓａｇｅ  Ｆｒｏｍからのドメイン名およびホスト名のうちのいずれか一方と、ＨＥＬＯコマンドからのドメイン名およびホスト名のうちのいずれか一方であることを特徴とする請求項４２に記載の方法。
【請求項４８】
前記特徴対は、Ｍｅｓｓａｇｅ  Ｆｒｏｍ中のドメイン名およびホスト名のうちのいずれか一方と、Ｒｅｃｅｉｖｅｄ  ｆｒｏｍのＩＰアドレスおよびサブネットのうちのいずれか一方であることを特徴とする請求項４２に記載の方法。
【請求項４９】
前記特徴対は、送信者の主張時間帯とＭｅｓｓａｇｅ  Ｆｒｏｍのドメイン名であることを特徴とする請求項４２に記載の方法。
【請求項５０】
前記特徴対は、送信者のメーリングソフトウェアのタイプと、ＳＭＴＰコマンドおよびメッセージヘッダのうちの１つから導き出されるドメイン名、ホスト名、および表示名のうちのいずれか１つであることを特徴とする請求項４２に記載の方法。
【請求項５１】
前記機械学習フィルタをトレーニングするために１つまたは複数の最も有用な特徴対を選択するステップをさらに含むことを特徴とする請求項４２に記載の方法。
【請求項５２】
新しいメッセージを受信するステップと、
前記メッセージ中の発生情報に基づいた特徴対を生成するステップと、
前記特徴対を前記機械学習フィルタ中に通過させるステップと、
少なくとも１つの特徴対は前記メッセージがスパムである可能性が高いことを示すかどうかについての判定を得るステップと
を実施することによってスパムを検出するために前記機械学習フィルタをトレーニングした後、前記機械学習フィルタを使用するステップをさらに含むことを特徴とする請求項４２に記載の方法。
【請求項５３】
１つまたは複数のメッセージを受信するステップと、
前記メッセージの少なくとも一部分をウォークスルーして任意のラン長のキャラクタのランごとの特徴を作成するステップと、
前記作成済みの特徴の少なくとも一部分を使用して機械学習フィルタをトレーニングするステップと
を含むことを特徴とするスパム検出に使用するための特徴の生成を実施する方法。
【請求項５４】
少なくとも一つのキャラクタのランの位置に関係する特徴を生成するステップをさらに含むことを特徴とする請求項５３に記載の方法。
【請求項５５】
前記位置は、メッセージ本体の先頭、メッセージ本体の末尾、メッセージ本体の中央、件名の先頭、件名の末尾、および件名の中央のうちのいずれか１つを含むことを特徴とする請求項５４に記載の方法。
【請求項５６】
前記特徴は、長さｎまでのキャラクタのランについて作成されることを特徴とする請求項５３に記載の方法。
【請求項５７】
前記特徴は、キャラクタのランの副次的長さについて作成されることを特徴とする請求項５３に記載の方法。
【請求項５８】
前記キャラクタのランは、キャラクタＮグラムを含むことを特徴とする請求項５３に記載の方法。
【請求項５９】
１つまたは複数のキャラクタのランのエントロピーを計算するステップと、スパムフィルタをトレーニングすることに関連して前記計算済みのエントロピーを特徴として使用するステップとをさらに含むことを特徴とする請求項５３に記載の方法。
【請求項６０】
前記エントロピーは、高いエントロピー、平均エントロピー、および相対エントロピーのうちの少なくとも１つであることを特徴とする請求項５９に記載の方法。
【請求項６１】
前記平均エントロピーは、特定のキャラクタのランのキャラクタごとの前記エントロピーであることを特徴とする請求項６０に記載の方法。
【請求項６２】
前記相対エントロピーは、前記メッセージの第２の位置における特定のキャラクタのランの前記エントロピーに対して前記メッセージの第１の位置における特定のキャラクタのランの前記エントロピーを比較したものであることを特徴とする請求項６０に記載の方法。
【請求項６３】
前記第１および第２の位置は、件名の先頭、件名の中央、および件名の末尾を含み、所与の任意のキャラクタのランについて前記相対エントロピーを決定する場合に前記第１の位置は前記第２の位置と同じではないことを特徴とする請求項６２に記載の方法。
【請求項６４】
前記第１および第２の位置は、メッセージの先頭、メッセージの中央、およびメッセージの末尾を含み、所与の任意のキャラクタのランについて前記相対エントロピーを決定する場合に前記第１の位置は前記第２の位置と同じではないことを特徴とする請求項６２に記載の方法。
【請求項６５】
新しいメッセージを受信するステップと、
前記メッセージ中のキャラクタのランおよびキャラクタのランのエントロピー決定のうちの少なくとも１つに基づいた特徴を生成するステップと、
前記特徴を前記機械学習フィルタ中に通過させるステップと、
前記特徴は前記メッセージがスパムである可能性が高いことを示すかどうかについての判定を得るステップと
を実施することによってスパムを検出するために前記機械学習フィルタをトレーニングした後、前記機械学習フィルタを使用するステップをさらに含むことを特徴とする請求項５３に記載の方法。
【請求項６６】
１つまたは複数のメッセージを受信するステップと、
メッセージヘッダのほぼすべての特徴を分析するステップと、
前記分析済みの特徴を使用して機械学習フィルタをトレーニングするステップと
を含むことを特徴とするスパム検出に使用するための特徴の生成を実施する方法。
【請求項６７】
前記メッセージ中のイメージ情報に基づくほぼすべての特徴を分析するステップをさらに含むことを特徴とする請求項６６に記載の方法。
【請求項６８】
請求項４２に記載の方法を含むことを特徴とするコンピュータ読取り可能媒体。
【請求項６９】
請求項５３に記載の方法を含むことを特徴とするコンピュータ読取り可能媒体。
【請求項７０】
メッセージの発生情報の少なくとも一部分に関係する特徴を識別するコンポーネントと、
スパムの検出を実施するための機械学習フィルタをトレーニングすることに関連して使用するための有用な対へと前記特徴を組み合わせるコンポーネントと
を含むコンピュータ実行可能コンポーネントをその上に記憶していることを特徴とするコンピュータ読取り可能媒体。
【請求項７１】
スパムを指し示す、単語全体に制限されない特定のキャラクタシーケンスを求めて探索することによってメッセージの一部分を分析するコンポーネントと、
任意長の前記キャラクタシーケンスに関係する特徴を生成するコンポーネントと
をさらに含むことを特徴とする請求項７０に記載のコンピュータ読取り可能媒体。
【請求項７２】
メッセージがスパムであることを指し示すランダムキャラクタストリングのインスタンスを求めて探索することによって前記メッセージの一部分を分析するコンポーネントをさらに含むことを特徴とする請求項７０に記載のコンピュータ読取り可能媒体。
【請求項７３】
少なくとも１つのメッセージを受信する手段と、
メッセージの少なくとも一部分を解析して１つまたは複数の特徴を生成する手段と、
少なくとも２つの特徴を組み合わせて対にする手段であって、各特徴対が少なくとも１つの追加の特徴を作成し、各対の前記特徴が互いに一致する手段と、
前記特徴対を使用して機械学習スパムフィルタをトレーニングする手段と
を備えることを特徴とするスパム検出に使用するための特徴の生成を実施するシステム。
【請求項７４】
１つまたは複数のメッセージを受信する手段と、
前記メッセージの少なくとも一部分をウォークスルーして任意のラン長（ｒｕｎ  ｌｅｎｇｔｈ）のキャラクタの各ラン（ｒｕｎ）について特徴を作成する手段と、
前記作成済みの特徴の少なくとも一部分を使用して機械学習フィルタをトレーニングする手段と
を含むことを特徴とするスパム検出に使用するための特徴の生成を実施するシステム。
【請求項７５】
１つまたは複数のキャラクタのランのエントロピーを計算するステップと、スパムフィルタをトレーニングすることに関連して前記計算済みのエントロピーを特徴として使用するステップとをさらに含むことを特徴とする請求項７４に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スパムメッセージを識別するためのシステムおよび方法に関し、より詳細には、スパム送信者が回避することが難しい特徴と、スパム送信者が複製することが難しい非スパム中の特徴とを見つけるシステムおよび方法に関する。
【背景技術】
【０００２】
インターネットなど地球規模の通信ネットワークの出現により、膨大な数の潜在顧客に到達する商業機会が提供された。電子メッセージング、特に電子メール「Ｅメール」が、（「スパム」を意味することもある）望ましくない広告および宣伝をネットワークユーザに広めるための手段としてますます普及しつつある。
【０００３】
Ｒａｄｉｃａｔｉ  Ｇｒｏｕｐ，Ｉｎｃ．というコンサルティングとマーケットリサーチの会社では、２００２年８月時点で２０億通のジャンク電子メールメッセージが毎日送付されている（この数は２年ごとに３倍に増えると予測されている）と見積もっている。個人および団体（たとえば、企業、政府機関）は、ますます迷惑を受けるようになっており、しばしばジャンクメッセージによって苦しめられている。したがって、スパムは、現在、あるいはすぐにも信頼すべきコンピューティングに対する主要な脅威になるはずである。
【０００４】
スパムを阻止するために利用される一般の技法は、フィルタリングのシステム／方法の使用を必要とする。１つの実証済みのフィルタリング技法は、機械学習手法に基づいている。機械学習フィルタは、着信メッセージにそのメッセージがスパムである確率を割り当てる。この手法では、一般に２つのクラスのメッセージ例（例えば、スパムメッセージおよび非スパムメッセージ）から特徴を抽出し、学習フィルタを適用して２つのクラスが確率的に区別される。多くのメッセージの特徴は内容（例えば、メッセージの主題および／または本文における単語および句の全体）に関係しているので、かかるタイプのフィルタは、一般に「内容ベースのフィルタ」と呼ばれる。これらのタイプの機械学習フィルタでは、通常、スパムメッセージを検出しこれらを善良なメッセージと区別するための厳密なマッチング技法が使用されている。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
あいにく、スパム送信者はしばしば、彼らのスパムメッセージを修正して良質なメールに見えるようにし、またはメッセージ全体にわたって様々な異常な文字を含めて文字認識システムを回避および／または混乱させることによって、従来技術の機械学習および／または内容ベースフィルタをだますことができる。したがって、かかる従来技術のフィルタでは、スパムに対して提供される保護が限られている。
【課題を解決するための手段】
【０００６】
以下は、本発明の一部の態様を基本的に理解するために本発明の簡略化した概要を提示したものである。この概要は、本発明の広範な全体像ではない。本発明の重要／不可欠な要素を特定し、または本発明の範囲を示すことは意図されていない。その唯一の目的は、後で提示するより詳細な説明への前触れとして簡略化した形式で本発明の一部の概念を提示することにある。
【０００７】
機械学習技法に基づいているか、それとも他の技法に基づいているかにかかわらず、スパムフィルタは、メッセージの内容を調べてメッセージがスパムであるか否かを判定しなければならない。あいにくスパム送信者は、しばしば、彼らのメッセージの多くの様相を偽装することが可能である。彼らは、スパムらしい単語のスペルを間違え、同義語を使用し、または単語を含むイメージを使用することができる。スパムフィルタは、ＯＣＲ（光学式文字認識）ソフトウェアを使用してイメージの形の単語を見つけることができるが、特にスパム送信者がＯＣＲシステムにとっては難しいイメージを意図的に使用する場合には、それは一般にあまりにも高くつきすぎる。彼らのメッセージを偽装する能力を低下させるために、スパム送信者が偽造することが難しい特徴を生成することができる。
【０００８】
特徴とは、電子メールまたはメッセージを追跡するコンポーネントが検出する事実（ｆａｃｔ）のことである。メッセージ追跡コンポーネントは、メッセージ中の各単語に特徴を作成することができる。メッセージ追跡コンポーネントはまた、句読点を使用するたびに特徴を作成することが可能であり、これは、使用される句読点の種類に依存したものとすることができる。特徴は、機械学習フィルタでも、また手で構築される規則の一部など他の多くの方法でも使用することができる。
【０００９】
本発明では、スパム送信者が偽造するのが難しい、従来技術のスパムフィルタが一般に使用している特徴を超える追加の特徴を含めることによってスパムを検出し防止することを実施するシステムおよび方法を提供している。かかる１つの特徴は、メッセージ中の１対の特徴を調べることに関与している。スパム中のある種の特徴は、別々に考える場合には簡単に偽造され、すなわちほとんど価値がないが、一緒になると、すなわち一緒に考える場合にはずっと価値のある物になる。対として使用することができる特徴の例には、メッセージの元の情報から導き出され、またはそれに関係する特徴が含まれる。特に、ＳＭＴＰ（Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ簡易メール転送プロトコル）中のドメイン名およびホスト名、ＨＥＬＯコマンド中のドメイン名およびホスト名、Ｒｅｃｅｉｖｅｄ  ｆｒｏｍヘッダ中のＩＰアドレスまたはサブネット、表示名中の任意のドメイン名またはホスト名、Ｍｅｓｓａｇｅ  Ｆｒｏｍフィールド中の任意のドメイン名またはホスト名、およびヘッダから最後に受信された中での任意のタイムゾーンは、何らかの方法またはその組合せですべてマッチしていなければならない。したがって、前述の任意の対は、機械学習フィルタまたは他の任意の規則ベースのフィルタをトレーニングするのに有用とすることができる
第２の特徴は、一連のキャラクタを検査することに関与している。メッセージにおける従来技術の最大の特徴は、メッセージ中の単語に関係しており、最も一般にはスペースで区切られた単語に関係している。しかし、（スペース付きまたはスペースなしの）ある種のキャラクタシーケンスが、メッセージの一部の中で生ずるという事実は、スパムであることを示す可能性がある。したがって、本発明は、句読点やスペースを含めて、各キャラクタシーケンスまたはほぼすべての可能なキャラクタシーケンスについて作成される特徴を使用するシステムおよび方法を提供している。スパム送信者の中には、件名またはメッセージの末尾または先頭に、たいていのスパムフィルタリングシステムで見出される厳密なマッチング技術を妨害することが可能なチャフ（ｃｈａｆｆ）を含める者もいる。このチャフは、良質なメールではまれにしか生じない「ｘｚ」や「ｑｐ」などのキャラクタＮグラム（ｎ−ｇｒａｍ）を含み得る。したがって、チャフおよび／またはキャラクタＮグラムの存在または発生が、そのメッセージが不良（例えば、スパム）であることを示す強力な指標となり得る。キャラクタＮグラムはまた、位置に依存している可能性がある。したがって、この位置依存性を含む特徴もまた、主題の本発明に従って作成し使用することができる。
【００１０】
チャフを検出するために、まれなキャラクタシーケンスを使用することに対する代替方法は、機械学習システム中で使用することができるさらに第３のタイプの特徴に関与する。この第３の特徴は、例えばキャラクタＮグラム言語モデルを使用してキャラクタの高いエントロピーを検出することに関与している。このモデルでは、ある種のキャラクタシーケンスが他のキャラクタシーケンスに比べてより起こりやすいように、生起確率を各キャラクタに対して割り当てることができる。例えば、（「ｔｈｅ」、「ｈｅａｒ」、「ｓｈｅ」「ｔｈｅａｔｅｒ」などで見出されるような）キャラクタシーケンス「ｈｅ」は、所与の任意のキャラクタのランまたはストリングにおいてシーケンス「ｘｚ」よりも起こりやすそうである。したがって、キャラクタシーケンス「ｘｚ」に対するエントロピーは、シーケンス「ｈｅ」の場合よりも高くなるはずである。
【００１１】
高いエントロピーに加えて、件名またはメッセージの末尾または先頭などでキャラクタの平均エントロピーを検出することもできる。さらに、キャラクタの相対エントロピーに関係する特徴を役立たせることもできる。例えば、件名の先頭における平均エントロピーが件名の中央における平均エントロピーよりも０．５高い場合についての特徴を指定することができる。他の特徴の例は、メッセージの中央に比べて１．０大きいメッセージ本体の末尾における平均エントロピーに対応させることも可能である。さらに、高いエントロピー、平均エントロピー、および／または相対エントロピーのこれら検出されたイベントのそれぞれを別々の特徴として使用することもできる。
【００１２】
第４のタイプの有用な特徴は、一般的なヘッダに関与するものである。従来技術の機械学習アルゴリズムは、件名およびメッセージ本体における一般の特徴、またはメッセージヘッダ中に見出される他の一般のフィールドに基づいた特徴のみ使用している。従来のフィルタと違って、本発明では、ヘッダ行タイプの有無を含めてほぼすべてのヘッダを利用する。さらに重要なことには、本機械学習システムでは、すべての有用なヘッダの特徴を自動的に識別することが可能であり、一部のケースでは、同様に一部のヘッダ行を除外することさえ可能である。
【００１３】
本発明の他の態様では、機械学習技法にとって有用となり得る電子メールの（Ｅメール）通信の追加の特徴は、特徴の拡張されたサイズならびにイメージの特徴を含む。非常に小さなスパムも、非常に大きいので、本明細書中に前述した少なくとも１つの他の特徴と組み合わせた特徴の多くの異なるサイズによって、スパムの識別が容易になることがある。例えば、特徴をメッセージサイズに対応するように作成することができる。すなわち、１００バイト、２００バイトより大きな、またｂバイト（ここでｂは１以上）までのメッセージサイズでは、特徴を各サイズごとにまたはサイズの範囲ごとに生成することができる。スパム送信者はしばしば、メッセージのソースを混乱および／または偽装するために長い表示名を使用するので、これを件名および表示名サイズに適用することもできる。同様に、ユーザの中には彼らのメッセージを決して開けないが代わりに件名だけに頼る者もいるので、スパムの件名には、メッセージの重要な一部分または本体全部が含まれる傾向もある。
【００１４】
前述の特徴のどれかを機械学習システムで使用し、ジャンクメールフィルタおよび／またはスパムフィルタをトレーニングし改善することが可能であり、したがってスパム送信者が彼らのメッセージを変更してこれらのフィルタを回避することはさらに難しくなる。さらに、スパム送信者がスパムをメッセージングシステム中に通す機会はさらに少なくなる。
【００１５】
前述および関連する目標を達成するために、本発明のある種の例示の態様を以下の説明および添付図面に関連して本明細書中に説明している。しかし、これらの態様は、本発明の原理を使用することができ、本発明がかかる態様およびそれらの等価物をすべて含むことを意図している様々な方法のうちの少ししか示してはいない。本発明の他の利点および新しい特徴は、図面と併せ考慮する場合に本発明の以下の詳細な説明から明らかになろう。
【発明を実施するための最良の形態】
【００１６】
次に、本発明を図面を参照して説明する。図面中、同じ参照番号を使用して全体を通して同様な要素について言及している。以下の説明では、説明の目的で、本発明の完全な理解が得られるようにするために数多くの特定の詳細を示している。しかし、これらの特定の詳細なしに本発明を実施することができることは明らかであろう。他の例では、本発明の説明を実施するために周知の構造およびデバイスをブロック図中に示している。
【００１７】
本出願で使用しているように用語「コンポーネント」および「システム」は、コンピュータに関係するエンティティを、すなわちハードウェア、ハードウェアおよびソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアを意味することが意図されている。例えば、コンポーネントは、それだけには限定されないが、プロセッサ上で実行されるプロセス、プロセッサ、オブジェクト、実行形式ファイル、実行スレッド、プログラム、および／またはコンピュータであり得る。例としては、サーバ上で実行されるアプリケーションもそのサーバも共にコンポーネントであり得る。１つまたは複数のコンポーネントは、プロセスおよび／または実行スレッド内に存在することができ、またコンポーネントは、１台のコンピュータ上に集中および／または複数台のコンピュータ間に分散することもできる。
【００１８】
主題の本発明では、様々な推論スキームおよび／または機械学習スパムフィルタリングのためのトレーニングデータの生成に関する技法を組み込むことができる。本明細書中で使用するときに、用語「推論（ｉｎｆｅｒｅｎｃｅ）」は一般に、イベントおよび／またはデータを介して捕捉される１組の観察から、システム、環境、および／またはユーザの状態を推理または推論するプロセスを意味する。推論を使用して、特定のコンテキストまたは動作を識別し、あるいは推論によって例えば状態間の確率分布を生成することができる。推論は、確率的とすることができ、これはすなわちデータおよびイベントの考察に基づいて関心のある状態についての確率分布の計算となる。推論はまた、１組のイベントおよび／またはデータから高位のイベントを構成するために使用する技法を意味することもあり得る。イベントが時間的に近接した関係にあってもそうでなくても、またイベントとデータが１つまたはいくつかのイベントおよびデータソースに由来してもしなくても、かかる推論の結果、１組の観察されたイベントおよび／または記憶されたイベントデータから新しいイベントまたは動作の構築がもたらされる。
【００１９】
メッセージという用語は、本明細書全体にわたって広範に使用されているが、かかる用語は、電子メールそれ自体だけには限定されず、適切な任意の通信アーキテクチャ上に分散することができる任意形式の電子メッセージングを適宜含むようにすることができる。たとえば、ユーザがメッセージを交換するときに通常のチャットメッセージ中に望ましくないテキストを電子的に散りばめ、または先頭メッセージ、終了メッセージ、もしくは以上のすべてとして望ましくないテキストを挿入し、あるいはその両方を行うことができるので、２人以上の人の間で会議を実施する会議アプリケーション（例えば双方向のチャットプログラムおよびインスタントメッセージプログラム）では、本明細書に開示のフィルタリングの利点を利用することもできる。この特定のアプリケーションでは、フィルタをトレーニングして、特定のメッセージ内容（テキストおよびイメージ）に自動的にフィルタをかけて望ましくない内容（例えば、コマーシャル、宣伝、または広告）を捕捉してジャンクとしてタグを付けることができる。別の例を挙げると、セルラ電話のＳＭＳメッセージにもフィルタをかけることができる。
【００２０】
次に図１を参照すると、本発明の一態様による、対をなす特徴の使用を実施してスパム検出を促進するシステム１００の全般的なブロック図が示されている。特徴の中には、それらがすでに個々に使用されている場合でさえも、対として特に役に立つ物がある。一般に、マッチすべきメールの起点となる情報がある。例えば、あるＩＰアドレスを偽造することは実用的ではない。したがって、スパムフィルタをトレーニングして他のいくつかの特徴がＩＰアドレスの特徴と矛盾がないことを検査することができる。マッチを一般的な意味で使用することができる。例えば、同じサーバを使用して２つのドメイン（例えば、ホットメールおよびＭＳＮ）からメールを送信する。ＨＥＬＯコマンドおよび「ｆｒｏｍ」コマンドは、同じドメインを提供する必要はないが、一般にある種の妥当な対の形でのみ生ずるはずである。
【００２１】
図１に示すように、１人または複数人の送信者１１０からのメッセージは、そのそれぞれの送信者からシステム１００に含まれる、ＳＭＴＰサーバなどのメールサーバ１３０に向けて配信される。メッセージの配信は、例えばいくつかのＳＭＴＰコマンド１２０を介して実現することができる。他のメール配信プロトコルも可能であり、同様にして本発明に適用することができる。
【００２２】
したがって、一連のＳＭＴＰコマンドを発行し問題を解決してはじめて、メッセージ１４０を配信の受信者が受け入れることができる。特に、対をなす特徴を確立するために使用することができる発生情報１５０をこのＳＭＴＰコマンド１２０中で見つけることができる。発生情報１５０から特徴を導き出すために、情報１５０をメッセージ解析コンポーネント１６０で評価し解析することができる。メッセージ１４０の発生情報１５０の少なくとも一部分を解析した後に、この解析済みの部分または特徴を特徴対形成コンポーネント１７０に伝えることができる。この特徴対形成コンポーネント１７０は、結果としての特徴対が追加の特徴として役に立つように任意の特徴の可能な組合せを分析することができる。動作可能にシステム１００に結合されるフィルタトレーニングコンポーネント１８０は、例えばスパムフィルタをトレーニングする際に、特徴対を使用することができる。
【００２３】
フィルタを十分にトレーニングした後に、機械学習システムに関連してそのフィルタを使用し、別のグループのメールメッセージに適用してグループからスパムのようなメッセージにフィルタをかけることができる。このフィルタを定期的に更新しまたは新しいフィルタを必要に応じて作成し、あるいはその両方を行ってスパムメールから正当なメールを効果的に識別することができる。
【００２４】
図２〜図４は、本発明の一態様による、ＳＭＴＰコマンド内で見出される発生情報から解析でき、（例えば図の間の矢印で示すような）いくつかの有用な対へと組み合わせることができる様々な特徴を示すものである。例えば、図２において、第１のＳＭＴＰコマンドは、送信マシンが例えばＨＥＬＯｘ．ｙ．ｚ．などその名前を言うＨＥＬＯコマンド２００とすることが可能である。ｘ．ｙ．ｚがｍａｉｌ１．ｄｄｄ．ｃｏｍの形式の場合には、「ｍａｉｌ１．ｄｄｄ．ｃｏｍ」をホスト名２１０と称し、「ｄｄｄ．ｃｏｍ」をドメイン名２２０と称することが可能である。したがって、ホスト名２１０から一部を取り除いてドメイン名２２０にすることができる。
【００２５】
送信者のＩＰアドレスを検出することもできる。すなわち、ＳＭＴＰプロトコルは一般に、ＴＣＰ／ＩＰプロトコルに優先して使用され、したがってこの通信用に使用されるＩＰアドレスは、受信者に知られている。ＩＰアドレス２３０は、しばしばサブネット２４０と呼ばれるグループ内で売られ使用される。サブネット２４０は、様々な方法で定義することができるが、実際にはサブネットの一例は、最初の２４ビットを共用するすべてのＩＰアドレスを含むように定義することができる。したがって、ＨＥＬＯコマンド２００がＨＥＬＯ  ｄｄｄ．ｃｏｍのことを言う場合、ｄｄｄ．ｃｏｍから送信する複数のマシンがあることもある。しかし、送信マシンのほとんどは同じサブネット２４０上にあることになる。
【００２６】
一般に、一部の特徴対は、他の対に比べてあまり意味のあるものではない。例えば、ＨＥＬＯホスト名２１０とＨＥＬＯドメイン名２２０の対形成は、一方が他方から導き出されるのであまり有用ではない。しかし、サブネット２４０とＨＥＬＯドメイン名２２０の対形成は、これらの特徴の少なくとも一部分が通常の環境下でマッチすべきなので非常に有用である。
【００２７】
ＨＥＬＯコマンド２００の後、ｘ．ｙ．ｚおよびこのメッセージが由来するＩＰアドレスを含む行、および主張時間帯を含む時間をメッセージの受取人がＲｅｃｅｉｖｅｄ  ｆｒｏｍ行に追加することができる。スパムフィルタは、ヘッダをスキャンしてＨＥＬＯコマンド２００が何を言ったかを調べることができる。送信者の主張時間帯（１つの特徴）は、メッセージのタイムスタンプ（別の特徴）とマッチすべきである。さらに、主張時間帯はまた、ＨＥＬＯコマンド２００中の送信者の主張マシン名またはＩＰアドレスとマッチすべきである。このミスマッチは、スパムを指し示す可能性がある。
【００２８】
一般に、ＨＥＬＯコマンド２００（例えば、ＨＥＬＯｘ．ｙ．ｚ）からのＩＰアドレスは、そのＲｅｃｅｉｖｅｄ  ｆｒｏｍ行中の主張マシン名またはＩＰアドレスと同じであるべき、またはマッチすべきであるが、スパム送信者は、彼らのＩＰアドレスについて正しいホスト名またはドメイン名を使用しないことによってメールを偽造することができる。したがって、ここでのミスマッチは、スパムを指し示す可能性がある。ＩＰアドレス２３０が（ドメイン名２２０と）ミスマッチを起こすのに比べてＩＰアドレス２３０のサブネット２４０がドメイン名２２０とミスマッチをさらに起こしにくいことを理解されたい。
【００２９】
ドメインの中にＨＥＬＯコマンド２００で適切なマシン名を正しく提供するようにそのマシンが構成されていない物があるケースでは、フィルタは、（後続のメッセージ中で）もう一度その対を調べる場合、その対を適切なマッチとして受け入れることができるような特定の対が何かを学習することができる。したがって、フィルタをトレーニングして、フィルタのトレーニングとフィルタの使用の間で何らかの一貫性が保持される限り、個人的な好み、ならびに発生情報中のささいなエラーまたはミスマッチに対応できるようにすることができる。さらに、例えば、リスト中にない発生情報中で検出される情報がスパムである可能性が高くなるように、妥当なホスト名および妥当なＩＰアドレスを入れた可能な対のリストを作成することができる。
【００３０】
後のコマンドは、本発明の一態様による、図３に示すようなＭＡＩＬ  ＦＲＯＭコマンド３００である。Ｅｎｖｅｌｏｐ  Ｆｒｏｍとしても知られているように、ＭＡＩＬ  ＦＲＯＭコマンドは、ＭＡＩＬ  ＦＲＯＭａ＠ｂ．ｃ．ｄの形式にすることができる。ｂ．ｃ．ｄはｘ．ｙ．ｚと同じにしてもよいし、そうしなくてもよいことを理解すべきだが、例に従って理解されたい。特に、ホスト名３１０の一部は、一般にマッチすべきである。例えば、ｃ．ｄは、フィルタによって妥当なマッチを構成するようにｙ．ｚと同じまたはｙ．ｚに対応すべきである。さらにホスト名３１０の一部をはぎ取ってドメイン名３２０にし、ＨＥＬＯ  ＩＰアドレス２３０（図２）などをもつ追加の特徴対を提供することができる。
【００３１】
ＤＡＴＡコマンド４００中など、メッセージ中の後の方で、Ｆｒｏｍ：ｅ＠ｆ．ｇ．ｈの形式の行を追加することができる。この場合にも、ホスト名４１０ｆ．ｇ．ｈは、ｘ．ｙ．ｚおよびｂ．ｃ．ｄと同じにすることができる。代わりに、少なくともドメイン名４２０ｇ．ｈは、ｙ．ｚおよびｃ．ｄとマッチすべきであるが、必ずしもそうとは限らない。このＦｒｏｍ行のことを、Ｍｅｓｓａｇｅ  ｆｒｏｍと呼ぶこともある。時には、この行は、Ｆｒｏｍ：“ｉ”＜ｅ＠ｆ．ｇ．ｈ＞の形式になる。この“ｉ”は、表示名４３０と呼ばれる。多くの電子メールクライアントは、実際にはｅ＠ｆ．ｇ．ｈではなくて表示名“ｉ”だけを表示する。しかし、“ｉ”は、“ｊ＠ｋ．ｌ．ｍ”形式とすることが可能であり、それによって、メッセージ送信者の正体についてユーザの判断を誤らせる。かかる表示名は非定型なので、これだけ単独で、スパムを指し示すはずである。しかし、“ｉ”が、“ｊ＠ｋ．ｌ．ｍ”の形式で存在する場合には、ｋ．ｌ．ｍは他のホスト名とマッチすべきであり、あるいは、最低でもドメイン名がマッチ（例えば、ｌ．ｍがｇ．ｈに対応）すべきである。
【００３２】
一部のケースでは、特定の３つ組（例えばｘ．ｙ．ｚ）がホスト名かドメイン名であるかを見分けることが面倒または困難となり得る。時には、それがいずれとなり得るかを推測することが必要になる。例えば、ＨＥＬＯコマンドがｘ．ｙ．ｚの形式のアドレスを与え、ＭＡＩＬ  ＦＲＯＭコマンドがｙ．ｚの形式のアドレスを有する場合には、ｘ．ｙ．ｚがホスト名で、ｙ．ｚがドメイン名であることを、ある確かさで確認することができる。ＨＥＬＯコマンドがｘ．ｙ．ｚの形式のアドレスを与え、ＭＡＩＬ  ＦＲＯＭコマンドがｂ．ｃ．ｄの形式のアドレスを与える場合には、ｘ．ｙ．ｚとｂ．ｃ．ｄは共にホスト名およびドメイン名であり、ｙ．ｚおよびｃ．ｄはドメイン名であると言う推測がなされる必要があるはずである。推測のすべての対は、まさしく最上の推測としてではなくて特徴として使用することができる。代わりに、最上の推測を使用することもできる。これらの推測をするための様々な簡単な推論を導き出すことができる。一般に機械学習システムを扱う場合には、この推測が所与の種類のメールについて矛盾がない（それ故、同じ特徴対が一貫して生ずる）限り、推測が常に正しいことは重要ではない。
【００３３】
さらに、ＳＭＴＰのＭＡＩＬ  ＦＲＯＭコマンド中のドメイン名およびホスト名、ＨＥＬＯコマンド中のドメイン名およびホスト名、Ｒｅｃｅｉｖｅｄ  ｆｒｏｍヘッダ中のＩＰアドレスまたはサブネット、表示名中のドメイン名またはホスト名、Ｍｅｓｓａｇｅ  Ｆｒｏｍ中の任意のドメイン名またはホスト名、最後のＲｅｃｉｖｅｄ  ｆｒｏｍヘッダ中の任意の時間帯、および送信者が使用するあるタイプのメーリングソフトウェアに関係する特徴は、すべて何らかの方法でマッチすべきである。これらの特徴のうちの任意の対は、ＩＰアドレスとそのサブネットを例外として、事実上すべてのリスト化された属性をスパム送信者が偽造することができるので、有用となる可能性が高い。したがって、ＩＰアドレスまたはサブネットを含む対は、他の特徴のどれかと組み合わせる場合に、特に強力で有用となる。
【００３４】
図５は、メールメッセージのＭｅｓｓａｇｅ  Ｆｒｏｍ行およびＲｅｃｅｉｖｅｄ  ｆｒｏｍヘッダ（一括して５００）から導き出すことができる特徴の可能な対を示している。図に示すように、ドメイン名「ｄｏｍａｉｎ．ｃｏｍ」５１０は、対にしてＩＰアドレス５２０，送信者の主張時間帯５３０、および／またはＩＰアドレス５２０のサブネット５４０とマッチさせることができる。その代わりまたは追加して、送信者の主張時間帯５３０を対にして送信者の主張ＩＰアドレス５２０とマッチさせることができる。本明細書中に例示していない他の特徴ならびに図に示していない他の特徴対も可能である。
【００３５】
図６および図７は、高度のスパム検出を実施する追加の特徴生成システムを示している。ここで図６を参照すると、キャラクタのランおよびこれらキャラクタシーケンスのエントロピーに少なくとも一部基づいた特徴に関係するときの、特徴を作成するためのシステムの一例６００のブロック図が示されている。
【００３６】
メッセージ中のほとんどの特徴はメッセージ中で見出される単語に関係している。しかし、メッセージ中またはメッセージの一部における、ある種のキャラクタシーケンスの存在もまた、役立てることができる。例えば、時に、スパム送信者は、「ｒｉｃｈ」または「ＲＩＣＨ」の代わりに「Ｒ．Ｉ．Ｃ．Ｈ．」などのキャラクタシーケンスを使用することがある。パターンマッチ技法を使用して、「Ｒ．Ｉ．Ｃ．Ｈ．」と書かれた単語から簡単に抽出して基礎単語「ＲＩＣＨ」を明らかにすることができる。
【００３７】
さらに、スパム送信者は、時に件名またはメッセージの末尾または先頭にチャフとしてランダム文字を追加することがある。これは、従来技術のフィルタで一般に使用される厳密なマッチ技法を混乱させる。これらのランダムキャラクタシーケンスは、良質なメールではたとえあったとしてもまれにしか生じない「ｘｚ」または「ｑｐ」のようなキャラクタＮグラムを含む可能性が高いので、メッセージ中にこれらが起こることは、そのメッセージが悪質（例えば、スパム）であることを示す強力な指標となり得る。スパム送信者はまた、ピリオドやハイフンなどの句読点ならびにシンボルを任意に加えてスパムの特徴として知られている単語および／またはフレーズを変形することによって従来のスパムフィルタを回避することもできる。
【００３８】
このタイプの意図的な操作を軽減するために、システム６００は、可能な各キャラクタシーケンスについて特徴を生成して意図的なキャラクタの置換、挿入、およびスペルの間違いを識別し検出する。システム６００は、テキストをキャラクタごとにウォークスルーすることによって、また長さｎ（例えば、ｎは１以上の整数）のランごとに特徴を生成することによって、これをある程度達成し、これによって単語、句読点、スペース、および他の内容を効果的に拾い上げることになる。
【００３９】
例えば、送信者６１０は、図に示すようにメッセージ６２０を送信する。このメッセージ６２０は、メッセージサーバ６３０へと配信され、ここでこのメッセージをキャラクタ順序付けコンポーネント６４０によって処理して１つまたは複数の特徴をもたらすことができる。このキャラクタ順序付けコンポーネント６４０は、スパムを指し示す特定のキャラクタシーケンス、ストリングおよび／またはサブストリングを求めて探索することによってメッセージの少なくとも一部分を分析することができる。このシーケンス、ストリングおよび／またはサブストリングは、必ずしも全体またはスペースで区切られた単語である必要はない。
【００４０】
例えば、メッセージ６２０が以下のテキストを含んでいると想定する。 
「Ｇｅｔ  Ｒｉｃｈ  〜−ｑｕｉｃｋ−〜  ｂｙ  Ｃａｌｌｉｎｇ  ｎｏｗ！！！！！」
長さ６のランは、これらの例示キャラクタシーケンス６５０を作成するはずである。 
「Ｇｅｔ  Ｒｉｃ」
「ｅｔ  Ｒｉｃｈ」
「ｔ  Ｒｉｃｈ  」
「Ｒｉｃｈ  〜−」
長さ７のランは、これらの例示キャラクタシーケンス６５０を作成するはずである。 
「Ｒｉｃｈ  〜−ｑ」
「ｉｃｈ  〜−ｑｕ」
「ｎｏｗ！！！！」
【００４１】
キャラクタシーケンス６５０が識別され作成されるときに、特徴生成コンポーネント６６０は、各キャラクタシーケンスごとに対応する特徴６７０を生成する。次いでフィルタトレーニングコンポーネント６８０がかかる特徴６７０を使用して例えばスパムフィルタをトレーニングする。
【００４２】
例えば同じメッセージに対して１のような少ない数からある長さｎまでの複数のラン長を利用して、個々の長さ（ストリング）ならびに副次的長さ（サブストリング）の両者を追跡することができる。
【００４３】
キャラクタＮグラムに関して、どこでＮグラムが発生するかに応じて同じ特徴または異なる特徴を使用することができる。Ｎグラムは、Ｆｒｏｍアドレス、件名、テキスト本体、ｈｔｍｌ本体および／または添付情報中に配置することができる。さらに、Ｎグラムの特徴は、メッセージ中の位置に従って生成し使用することができる。例えば、（例えばＮグラムを含む）チャフが件名の先頭または末尾で生ずる傾向があるので、件名の先頭または末尾にある珍しいキャラクタシーケンスは、中央にある珍しいキャラクタシーケンスに比べてスパムを指し示すことが多い。したがって、件名の先頭または末尾など所望の位置だけでチャフおよび／またはＮグラムを検出するようにシステム６００をプログラムすることができる。同様に、Ｎグラムの特徴が、メッセージの先頭または末尾についての位置依存性をもつようにすることもできる。
【００４４】
このシステム６００は、外国語、特に韓国や日本の言語（ひらがなおよびカタカナ）などスペースで単語を区切らない言語で使用する場合にも有用である。前述のように、異なるキャラクタ長のほぼすべてのシーケンスを簡単に検出することができる。代わりに、スペースが非常に少ない場合、英語ではまれにしか使用されない多くのキャラクタ（すなわち、高バイトキャラクタ）が検出される場合、ある種のユニコードキャラクタタイプが検出される場合などそのテキストが外国語ではないかと疑われる場合にのみ、システム６００を呼び出すこともできる。したがって、キャラクタＮグラムは、大文字、小文字、句読点またはスペースの特徴をもたないと判定されるキャラクタについて使用されるにすぎないことになる。例えば、メッセージがスキャンされ、非常に少ないスペース、および／または高バイトキャラクタの長いストリングが検出される場合に、このＮグラム順序付けを呼び出すことができる。完全なＮグラムがあらゆる電子メールについて実施するには高くつき時間もかかり得ることから、このキャラクタＮグラムの限定適用は、前述のように（例えば、すべてのメッセージについての）完全なキャラクタＮグラムの使用よりも有利にすることができる。
【００４５】
珍しいキャラクタシーケンスを使用することは、チャフを検出する一方法であるが、それには多く存在し得る珍しい各キャラクタシーケンスのリストを作成する必要がある。チャフを検出する別の方法は、本発明の他の態様による、キャラクタシーケンスの高いエントロピーを検出するものである。キャラクタシーケンスの高いエントロピーを検出することは、スパムを識別するためのより費用効率の高い効率的な方法となり得る。
【００４６】
やはり、図６を参照すると、システム６００は、チャフを検出する代替技法および／または追加技法を提供するエントロピー検出コンポーネント６９０を含んでいる。このエントロピー検出コンポーネントでは、例えば、メッセージがスパムであることを示すランダムキャラクタのストリングの探索によってメッセージの少なくとも一部分を分析することができる。
【００４７】
キャラクタシーケンスのエントロピーとは、本質的にシーケンスの非類似性、またはランダム性のことである。一般にキャラクタシーケンス「ａｂｃ．．．ｚ」の確率ＰをＰ（ａｂｃ．．．ｚ）で定義する場合には、シーケンスのエントロピーは、
−ｌｏｇ２Ｐ（ａｂｃ．．．ｚ）
のように表される。 
【００４８】
【数１】
2005018745.tif 000003
【００４９】
のように記述される平均エントロピー、すなわちキャラクタ（ａ，ｂ，ｃ，．．．ｚ）のエントロピーを同様にして利用してチャフを認識し識別することもできる。エントロピーの測定の単位は「ビット」である。
【００５０】
キャラクタシーケンスの確率を得るための多くの方法がある。例えば、良質および悪質な電子メールの完全なコーパス（ｃｏｒｐｕｓ）および／または非電子メールデータベースを使用することにより、知られている良質な電子メールメッセージ上でキャラクタＮグラム言語モデルをトレーニングすることができる。他の発見的方法を使用して高いエントロピーまたは平均のエントロピーを検出することも可能である。例えば、普通の文字対、または３つ組文字のリスト（例えば、それぞれ妥当なキャラクタシーケンス、または２文字および３文字）を作成することができる。続けて、所与の任意のキャラクタシーケンス中の、かかるリストに従って生起しない対または３つ組のパーセンテージを、キャラクタシーケンスのエントロピー決定に含めることができる。
【００５１】
実際には、高度で頑強なスパム検出システムを提供する際に、相対的エントロピーを非常に役立てることもできる。より詳細には、平均エントロピーを件名の先頭または末尾で、件名の中央に比べて高くまたは相対的に高いように検出することができる。実際に、例えば、件名の先頭における平均エントロピーを件名の中央におけるよりも０．５ビット高くすることができる。
【００５２】
代わりにまたは追加して、メッセージの末尾または先頭における平均エントロピーをメッセージ全体の平均エントロピーに比べて高くすることが可能であり、またはメッセージの中央の平均エントロピーに比べて高くすることが可能である。例えば、メッセージの末尾における平均エントロピーは、メッセージの中央に比べて少なくとも１ビット高い可能性もある（例えば、単位数をパーセンテージまたは係数に変換することができる）。これらの検出イベントのそれぞれを別の特徴とすることができる。したがって、多くの特徴が可能となる。
【００５３】
ランダムなキャラクタシーケンスに加えて、大きな割合のスパムには、テキストの代わりにイメージが含まれている。イメージは、単なる１および０、または他の数字のシーケンスにすぎない。このため、スパム送信者は、イメージの数字シーケンス中に最小限の量のスタティック（ｓｔａｔｉｃ）を入力して従来技術によるスパムフィルタリングシステムをうまく通り抜けることができる。したがって、イメージのエントロピーも、キャラクタシーケンスのエントロピーと同様にして決定することができる。さらに、２つ以上のメッセージ中にあると検出されたイメージを互いに比較することができる。それらがほぼ同様なものであることが見出された場合には、同じまたはほぼ同じイメージを含むすべてのメールを阻止することができる。
【００５４】
最終的には、キャラクタシーケンスおよびイメージシーケンスに対するエントロピーイベントに関係する特徴６７０をフィルタトレーニングコンポーネント６８０が使用して機械学習フィルタをトレーニングすることが可能である。
【００５５】
次に図７を参照すると、本発明の一態様による、スパム検出を実施する例示の特徴生成システム７００のブロック図が示されている。このシステム７００は、メッセージサーバ７１０を含んでおり、そのために送信者７２０は、メッセージ７３０を送信し、このメッセージは、その受信者に到達する前にメッセージサーバ７１０へと配信される。このメッセージサーバ７１０では、メッセージヘッダ分析コンポーネント７４０、イメージ処理コンポーネント７５０、および／またはメッセージおよび特徴のサイジングコンポーネント７６０がこのメッセージを解析して無数の特徴をもたらすことができる。
【００５６】
このメッセージヘッダ分析コンポーネント７４０は、機械学習フィルタをトレーニングすることに関連してメッセージヘッダのほぼすべての特徴を分析する。特に、機械学習を使用してすべての有用なヘッダの特徴を自動的に識別することができる。一手法は、例えば「Ｘ−Ｐｒｉｏｒｉｔｙ」などのヘッダ行タイプ、ならびに例えば、「Ｘ−Ｐｒｉｏｒｉｔｙ：３」など特定のヘッダタイプの存在または不在に少なくとも一部基づいて特徴を作成するものである。さらに、配信停止（ｕｎｓｕｂｓｃｒｉｂｉｎｇ）用のヘッダ行は、より簡単にスパムを識別するために有用である。
【００５７】
一部のヘッダ行は、特にユーザの好みに従って同様に除外することができる。さらに、送信者が使用するメーリングソフトウェアのタイプなどヘッダ行の内容は、スパムを検出する際に有用になり得る。すべてのヘッダ行をそれらの存在、不在、および／または内容について検査し分析することにより、件名およびメッセージ本体中の特徴を使用することに制限されている従来の機械学習システムアルゴリズムよりも優れた改善が示される。一部の機械学習アルゴリズムは、電子メールヘッダに基づく特定の特徴を使用するが、以前の手法では、ヘッダ行中のすべてまたは事実上すべての可能な特徴が使用されてはいなかった。
【００５８】
テキストでなくイメージを分析することはフィルタにとってより難しく時間がかかるので、スパム送信者がテキストでなくてイメージを使用するのを好むことから、イメージ処理コンポーネント７５０を使用してメッセージ中に含まれるイメージに基づいて様々な特徴を解析し取り出すことができる。例えば、イメージ数、（例えば、メッセージ中に埋め込まれ、または外部にリンクされる）イメージの位置、および／またはイメージのタイプ（例えば、ＪＰＧおよび／またはＧＩＦ）をそのメッセージから確認し、特徴として使用することができる。さらに、サイズ（例えば、バイト数）ならびにイメージのＸ−Ｙ寸法を、特にメッセージに埋め込まれたイメージに関して最低限の処理で決定することができる。
【００５９】
個人的なデジタル写真を含む正当なメールを阻止するのを回避するために、特別な（一般に肯定的な）特徴を作成することができ、この場合、イメージサイズは普通サイズおよび／またはデジタルカメラで生成された寸法とマッチする。特徴はまた、バイトによるイメージサイズならびにイメージの全面積にも関係し得る。最終的には、ほとんどのスパム送信者が彼らのスパム中に外部リンクを含めるので、メッセージ中のイメージが（例えば、メッセージ外部の）どこか他にリンクしているかどうかに関係する特徴によって、スパムを指し示すことができる。
【００６０】
代わりに、メッセージはクリック可能なイメージを含むことも可能であり、それによって、イメージ自体を外部にリンクしたイメージとしてではなくクリック可能なハイパーリンクとして使用する。この例では、メッセージ中のＨＴＭＬテキストは、＜Ａ  ＨＲＥＦ＝“ｆｉｒｓｔ  ＵＲＬ”＞＜ＩＭＧ  ＳＲＣ＝“ｓｅｃｏｎｄ  ＵＲＬ”＞＜／Ａ＞などのタグパターンを含んでいる。第１のＵＲＬと第２のＵＲＬが異なるＵＲＬであることを理解されたい。したがって、タグパターンの少なくとも一部分に関係する特徴をスパムフィルタをトレーニングする際に使用することができる。一般に、ほとんどのスパム送信者がテキストでなくてイメージを使用してスパムフィルタを回避しようとするので、ＨＴＭＬ属性およびタグパターン内のそれらのそれぞれの位置によって、スパムを指し示すことが可能である。したがって、かかる情報を特徴として抽出してフィルタをトレーニングする目的のために使用することができる。
【００６１】
非常に小さなスパムが非常に大きいので、メッセージサイジングコンポーネント７６０によってサイズを粒状化（ｇｒａｎｕｌａｒｉｚｅ）して１つまたは複数のバケット中に入れ、多くの異なるサイズの特徴を利用することができる。一手法は、メッセージサイズ＞１００バイト、＞２００バイト、＞４００バイト、および＞ｂバイトまで（ここでｂは１以上の整数）のメッセージサイズについての特徴を含む。この粒状化は、サイズ５００バイトのメッセージが、サイズ＞１００、＞２００、＞４００に対する特徴に関連づけられることになるような重複バケットに基づくようにすることが可能である。代わりに、この粒状化を非重複バケットに基づくようにすることも可能である。すなわち、各バケットは、１つのサイズの特徴が各メッセージに関連づけられるようにメッセージの特定のサイズに関係する。例えば、メッセージサイズ＜１００バイト；１００＝サイズ＜２００バイト；２００＝サイズ＜４００バイト、以下ｂバイトまでのメッセージサイズについてのバケットが存在する。
【００６２】
第２の手法では、スパムおよび／またはスパムに類似のメッセージは、例えばチャフが存在することに起因してより長い件名および表示名をもつ傾向があるので、このメッセージサイジングコンポーネントをより小さなサイズ尺度で件名および表示名に適用することもできる。
【００６３】
もう一度、メッセージを解析し情報ビットを識別するとき、特徴生成コンポーネント７７０は、この情報から特徴を生成し、次いでそれらまたはそれらの選択された部分を伝えてフィルタトレーニングコンポーネント７８０に関連して使用することができる。
【００６４】
主題の本発明による様々な方法を一連の動作を用いて次に説明する。一部の動作は本発明に従って本明細書中に示され説明される動作と異なる順序でまたは他の動作と同時にあるいはその両方で行われ得るので、本発明は、動作の順序によっては限定されないことを理解し認識されたい。例えば、状態図の形など一連の相互に関係する状態またはイベントとして方法を代替的に表すことができることが当業者には理解し認識されよう。さらに、本発明による方法を実装するためには必ずしもすべての例示した動作が必要ではないこともある。
【００６５】
次に図８を参照すると、高度のスパム検出に関連して特徴の生成を実施する例示の方法８００のフローチャートが示されている。方法８００は、８１０でメッセージを受信することから開始することができる。８２０で、どれか適切な電子メール解析コンポーネントによってこのメッセージの少なくとも一部分を解析することができ、それによって、このメッセージの発生情報に対応する特徴が生成される。８３０でこの特徴は対に組み合わせることができる。８４０で、最も有用な特徴対を選択することができ、８５０で、機械学習アルゴリズムを使用してかかる特徴対を用いてフィルタをトレーニングすることができる。方法８００を所望の頻度で反復してフィルタを十分にトレーニングすることができる。
【００６６】
メッセージの発生情報から導き出される多くの特徴があるが、これらの特徴のいくつかは、スパムを正当なメールから区別する上で他の特徴よりも有用である。特に、ＩＰアドレスや関係したサブネットなどの特徴は、スパム送信者にとって修正しまたは偽装することが非常に困難である。したがって、正当なユーザにとって、これらの特徴は、送信者の主張するマシン名および／または送信者の主張する時間帯などの他の特徴とマッチすべきである。したがって、これらの特徴対を検査する場合、各特徴対の間のマッチにより、そのメッセージが正当である（例えば、スパムでない）という強い可能性が示される。逆に、対がマッチしない場合には、そのメッセージがスパムであるという強い可能性が存在する。
【００６７】
次に図９を参照すると、本発明の一態様による、図８のトレーニング済みのフィルタを使用する例示の方法９００のフローチャートが示されている。とりわけ、方法９００は、９１０におけるメッセージを受信するステップと、９２０におけるこのメッセージを解析して１つまたは複数の発生の特徴を生成するステップと、９３０における次いでこの特徴を対形成して最も有用な特徴対を取得するステップとを含む。９４０で、特徴対を機械学習フィルタに通してこの特定のメッセージがよりスパムに類似しているかどうかを判断する。９５０で、メッセージのスパム性について機械学習システムから判定を得ることができる。例えば、この判定は、そのメッセージがスパムである可能性に対応する確率の形式にすることができる。
【００６８】
図１０に示す特徴など、スパム検出を促進する追加の特徴を作成することができる。図１０には、例示の方法１０００のフローチャートが示されており、この方法は、１０１０で１つまたは複数のメッセージを受信し、このメッセージおよび／または件名のテキストのウォークスルーをして１０２０で長さｎまでのキャラクタの各ランについての特徴を作成し、また１０３０でキャラクタシーケンスの各副次的長さについての特徴を作成するものである。
【００６９】
さらに、１０４０で、Ｎグラムの位置（例えば、件名および／またはメッセージ本体の先頭、末尾、中央）に基づいてキャラクタＮグラムについての特徴を作成することもできる。１０５０で、キャラクタシーケンスが件名および／またはメッセージ本体の中央に比べて末尾および／または先頭で生ずるときのキャラクタシーケンスの相対的エントロピーに関係する特徴を生成することもできる。１０５０で、キャラクタシーケンスの高いエントロピーおよびキャラクタごとのエントロピー（例えば、平均エントロピー）を同様に特徴として決定し使用することができる。最後に、１０６０でこれらの特徴を使用して機械学習フィルタをトレーニングすることができる。この方法１０００をこのフィルタが所望のメッセージ数、エントロピーイベント、および／またはキャラクタシーケンスを用いて実質的にトレーニングされるまで反復することができる。
【００７０】
図１１は、図１０に従ってトレーニングされるフィルタを使用してスパムの検出を実施する例示の方法１１００のフローチャートである。この方法１１００は、１１１０における、メッセージを受信するステップと、１１２０における、（例えば、複数の長さの）妥当なキャラクタシーケンスのリストにマッチし、またはマッチしないかあるいはその両方のキャラクタシーケンスを求めてメッセージの少なくとも一部分をスキャンするステップと、１１３０における、妥当なキャラクタシーケンスのリスト上に見出されないこれらのキャラクタシーケンスを含めて、メッセージおよび／または件名のキャラクタシーケンスの少なくとも一部分のエントロピーを検出するステップとを含む。１１４０で、検出されたイベントを特徴として使用し、機械学習フィルタに通す。１１５０で、機械学習システムからこのメッセージがよりスパムに類似しているか否かについての判定を得る。
【００７１】
次に、図１２および図１３を参照すると、主題の本発明の他の態様による、機械学習アルゴリズムで使用するための高度な特徴の生成を実施する例示の方法１２００および１３００のフローチャートがそれぞれ示されている。最初に、方法１２００は、１２１０で１つまたは複数のメッセージを受信するものであり、それによって、１２２０でヘッダ行を解析し分析することによって特徴を作成することができる。さらに、１２３０で、メッセージおよび／または特徴サイズ（例えば、メッセージサイズ、表示名長、件名長）に関係する特徴を任意選択で作成することができる。１２４０で、とりわけ、サイズ、位置（メッセージの内部または外部リンク）および／または量に関してメッセージ中の任意のイメージを分析してさらなる特徴を生成することができる。１２５０で機械学習システムを使用して、作成される事実上すべての特徴をフィルタのトレーニングに使用することができる。
【００７２】
図１２のトレーニング済みのフィルタを図１３の例示の方法１３００に記述されるように新しいメッセージに適用することができる。１３１０で、１つまたは複数のメッセージを受信する。１３２０で、ヘッダの特徴をこのメッセージから解析する。メッセージ、特徴サイズ、および／またはイメージ特性に対応する特徴を同様にそれぞれ１３２０および１３３０でこのメッセージから解析することができる。１３４０で、これらの特徴を機械学習フィルタに通し、それによって検査することができる。１３５０で、そこから解析される特徴に少なくとも一部基づいてメッセージの量またはスパム性の確率を示す判定が得られる。
【００７３】
本発明の様々な態様についての追加のコンテキストを提供するために、図１４および以下の説明では、本発明の多様な態様を実装することができる適切な動作環境１４１０の簡潔な全般的な説明を提供することを意図している。本発明は、１つまたは複数のコンピュータまたは他の装置で実行されるプログラムモジュールなどコンピュータ実行可能な命令の一般的なコンテキストで説明されるが、他のプログラムモジュールおよび／またはハードウェアおよびソフトウェアの組合せに関連して本発明を実装することもできることが、当業者には理解されよう。
【００７４】
しかし、一般にプログラムモジュールは、特定のタスクを実施し、または特定のデータ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含んでいる。この動作環境１４１０は、適切な動作環境の一例にすぎず、本発明の使用範囲または機能に関してどのような限定を示唆するものでもない。本発明での使用に適したものとすることができる他の周知のコンピュータシステム、環境、および／または構成には、それだけには限定されないが、パーソナルコンピュータ、ハンドヘルド装置またはラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースのシステム、プログラム可能な大衆消費電子製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、前述のシステムまたは装置を含む分散計算機環境などが含まれる。
【００７５】
図１４を参照すると、本発明の多様な態様を実装するための環境の一例１４１０が、コンピュータ１４１２を含んでいる。このコンピュータ１４１２は、処理装置１４１４，システムメモリ１４１６、およびシステムバス１４１８を含む。このシステムバス１４１８は、それだけには限定されないが、システムメモリ１４１６を処理装置１４１４に結合するのを含めてシステムコンポーネントを結合する。処理装置１４１４は、様々な使用可能なプロセッサのうちのいずれにすることも可能である。２重マイクロプロセッサおよび他のマルチプロセッサアーキテクチャを処理装置１４１４として使用することもできる。
【００７６】
システムバス１４１８は、メモリバスもしくはメモリ制御装置、周辺バスもしくは外部バス、および／または、それだけには限定されないが、１１ビットバス、ＩＳＡ（Ｉｎｄｕｓｔｒｉａｌ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）、ＭＳＡ（Ｍｉｃｒｏ−Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）、ＥＩＳＡ（Ｅｘｔｅｎｄｅｄ  ＩＳＡ）、ＩＤＥ（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｄｒｉｖｅ  Ｅｌｅｃｔｒｏｎｉｃｓ）、ＶＬＢ（ＶＥＳＡ  Ｌｏｃａｌ  Ｂｕｓ）、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）、ＵＳＢ（ユニバーサルシリアルバス）、ＡＧＰ（Ａｄｖａｎｃｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ）、ＰＣＭＣＩＡ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ  Ｍｅｍｏｒｙ  Ｃａｒｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ａｓｓｏｃｉａｔｉｏｎ  ｂｕｓ）、およびＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）を含めて様々な任意の使用可能なバスアーキテクチャを使用したローカルバスを含むいくつかのタイプのバス構造のうちのどれにすることも可能である。
【００７７】
システムメモリ１４１６は、揮発性メモリ１４２０および不揮発性メモリ１４２２を含んでいる。起動時など、コンピュータ１４１２内部の要素間で情報を転送する基本ルーチンを含むＢＩＯＳ（基本入出力システム）は、不揮発性メモリ１４２２に記憶される。例として、限定するものではないが、不揮発性メモリ１４２２には、ＲＯＭ（読出し専用メモリ）、ＰＲＯＭ（プログラム可能ＲＯＭ）、ＥＰＲＯＭ（電気的プログラム可能ＲＯＭ）、ＥＥＰＲＯＭ（電気的消去可能ＲＯＭ）、またはフラッシュメモリが含まれ得る。揮発性メモリ１４２０は、外部キャッシュメモリとしての機能を果たすＲＡＭ（ランダムアクセスメモリ）を含んでいる。例として、限定するものではないが、ＲＡＭは、ＳＲＡＭ（シンクロナスＲＡＭ）、ＤＲＡＭ（ダイナミックＲＡＭ）、ＳＤＲＡＭ（シンクロナスＤＲＡＭ）、ＤＤＲ  ＳＤＲＡＭ（ダブルデータレートＳＤＲＡＭ）、ＥＳＤＲＡＭ（エンハンスドＳＤＲＡＭ）、ＳＬＤＲＡＭ（シンクリンクＤＲＡＭ）、およびＤＲ（Ｄ）ＲＡＭ（ダイレクトラムバス（Ｄ）ＲＡＭ）などの多くの形態で使用可能である。
【００７８】
コンピュータ１４１２はまた、着脱可能／着脱不能の揮発性／不揮発性のコンピュータ記憶媒体を含んでいる。図１４は、例えばディスク記憶装置１４２４を示している。ディスク記憶装置１４２４は、それだけには限定されないが、磁気ディスクドライブ、フロッピー（登録商標）ディスクドライブ、テープドライブ、Ｊａｚドライブ、Ｚｉｐドライブ、Ｌｓ−１００ドライブ、フラッシュメモリカード、またはメモリスティックのような装置を含んでいる。さらに、ディスク記憶装置１４２４は、それだけには限定されないが、ＣＤ−ＲＯＭ（コンパクトディスクＲＯＭ）装置、ＣＤ−Ｒ（ＣＤ記録可能）ドライブ、ＣＤ−ＲＷ（ＣＤ再書込み可能）ドライブ、ＤＶＤ−ＲＯＭ（デジタル多用途ディスクＲＯＭ）ドライブなどの光ディスクドライブを含めて、別々のまたは他の記憶媒体と組み合わせた記憶媒体を含むことができる。ディスク記憶装置１４２４をシステムバス１４１８に接続するのを容易にするために、インターフェース１４２６など着脱可能または着脱不能のインターフェースが一般に使用される。
【００７９】
図１４が、ユーザと適切な動作環境１４１０中で説明される基本的なコンピュータリソースとの間の橋渡し役をするソフトウェアについて説明していることを理解されたい。かかるソフトウェアは、オペレーティングシステム１４２８を含んでいる。ディスク記憶装置１４２４に記憶することができるオペレーティングシステム１４２８は、コンピュータシステム１４１２のリソースを制御し割り付ける役割を果たす。システムアプリケーション１４３０は、システムメモリ１４１６またはディスク記憶装置１４２４に記憶されるプログラムモジュール１４３２およびプログラムデータ１４３４を介してオペレーティングシステム１４２８によるリソースの管理を利用している。本発明を様々なオペレーティングシステムまたはオペレーティングシステムの組合せを用いて実装することができることを理解されたい。
【００８０】
ユーザは、入力装置１４３６を介してコマンドまたは情報をコンピュータ１４１２に入力する。入力装置１４３６には、それだけに限定はされないが、マウス、トラックボール、スタイラス、タッチパッドなどのポインティング装置、キーボード、マイクロフォン、ジョイスティック、ゲームパッド、衛星パラボラアンテナ、スキャナ、ＴＶチューナカード、デジタルカメラ、デジタルビデオカメラ、ウェブカメラ、などが含まれる。これらおよび他の入力装置は、インターフェースポート１４３８を経由してシステムバス１４１８を介して処理装置１４１４に接続される。インターフェースポート１４３８には、例えば、シリアルポート、パラレルポート、ゲームポート、およびＵＳＢ（ユニバーサルシリアルバス）が含まれる。出力装置１４４０は、入力装置１４３６と同じタイプのポートをいくつか使用している。したがって、例えば、ＵＳＢポートを使用してコンピュータ１４１２に入力を提供し、また情報をコンピュータ１４１２から出力装置１４４０に出力することができる。出力アダプタ１４４２は、特別なアダプタを必要とする他の出力装置１４４０の中にはモニタ、スピーカ、プリンタのようないくつかの出力装置１４４０が存在することを示すために提供されている。出力アダプタ１４４２には、例として、限定するものではないが、出力装置１４４０とシステムバス１４１８との接続の手段を提供するビデオカードおよびサウンドカードが含まれる。リモートコンピュータ１４４４など、他の装置および／または装置システムは、入力機能も出力機能も提供することに留意されたい。
【００８１】
コンピュータ１４１２は、リモートコンピュータ１４４４など１つまたは複数のコンピュータへの論理接続を使用してネットワーク環境中で動作することができる。リモートコンピュータ１４４４は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ワークステーション、マイクロプロセッサベースのアプライアンス、ピア装置または他の共通ネットワークノードなどとすることが可能であり、一般にコンピュータ１４１２に関連して説明される要素の多くまたはすべてを含んでいる。簡潔に示すために、リモートコンピュータ１４４４と一緒には、メモリ記憶装置１４４６だけしか示していない。リモートコンピュータ１４４４は、ネットワークインターフェース１４４８を介してコンピュータ１４１２に論理的に接続され、次いで、通信接続１４５０を介して物理的に接続される。ネットワークインターフェース１４４８は、ＬＡＮ（ローカルエリアネットワーク）やＷＡＮ（ワイドエリアネットワーク）などの通信ネットワークを含んでいる。ＬＡＮ技術には、ＦＤＤＩ（Ｆｉｂｅｒ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｄａｔａ  Ｉｎｔｅｒｆａｃｅ光ファイバ分散データインターフェース）、ＣＤＤＩ（Ｃｏｐｐｅｒ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｄａｔａ  Ｉｎｔｅｒｆａｃｅ銅配線分散データインターフェース）、イーサネット（登録商標）／ＩＥＥＥ１１０２．３、トークンリング／ＩＥＥＥ１１０２．５などが含まれる。ＷＡＮ技術には、それだけには限定されないが、ポイントツーポイントリンク、ＩＳＤＮ（デジタル総合サービス網）およびその変形のような回路交換ネットワーク、パケット交換ネットワーク、およびＤＳＬ（デジタル加入者回線）が含まれる。
【００８２】
通信接続１４５０は、ネットワークインターフェース１４４８をバス１４１８に接続するために用いられるハードウェア／ソフトウェアのことを意味する。通信接続１４５０は、図で明瞭に示すためにコンピュータ１４１２の内部に示しているが、通信接続はコンピュータ１４１２の外部にあることも可能である。ネットワ−クインターフェース１４４８に接続するために必要なハードウェア／ソフトウェアには、例示の目的だけであるが、通常の電話グレードのモデム、ケーブルモデム、およびＤＳＬモデムを含めてモデム、ＩＳＤＮアダプタ、およびイーサネット（登録商標）カードなどの内部技術および外部技術が含まれる。
【００８３】
以上で説明したものには、本発明の例が含まれている。本発明を説明する目的のためにコンポーネントまたは方法の考えられるあらゆる組合せについて説明することはもちろんできないが、本発明のさらなる多くの組合せおよび置換が可能であることが当業者には理解されよう。したがって、本発明は、添付特許請求の範囲の趣旨および範囲内に含まれる、かかる変更形態、修正形態、および変形形態をすべて包含するものとする。さらに、用語「ｉｎｃｌｕｄｅｓ」が詳細なる説明または特許請求の範囲中で使用される範囲では、かかる用語は、特許請求の範囲中の移行語として使用される場合に「ｃｏｍｐｒｉｓｉｎｇ」と解釈されるので、用語「ｃｏｍｐｒｉｓｉｎｇ」と同様な意味を含むものとする。
【図面の簡単な説明】
【００８４】
【図１】本発明の一態様による、スパムの防止を実施するシステムの全般的なブロック図である。
【図２】本発明の一態様に従ってＨＥＬＯコマンドからの特徴を分解して示した概略図である。
【図３】本発明の一態様に従ってＭＡＩＬ  ＦＲＯＭコマンドからの特徴を分解して示した概略図である。
【図４】本発明の一態様に従ってＤＡＴＡコマンドからの特徴を分解して示した概略図である。
【図５】本発明の一態様に従ってＭｅｓｓａｇｅ  Ｆｒｏｍ行およびＲｅｃｅｉｖｅｄ行からの互いに対となし得る特徴を分解して示した概略図である。
【図６】本発明の一態様による、キャラクタのランおよび／またはキャラクタシーケンスおよび／またはかかるキャラクタシーケンスのエントロピーに関係する特徴の生成を実施するシステムの全般的なブロック図である。
【図７】本発明の一態様による、メッセージヘッダ内容および／またはサイズに関係する特徴および／またはメッセージ中に存在するイメージに関係する特徴の生成を実施するシステムの全般的なブロック図である。
【図８】本発明の一態様による、フィルタをトレーニングする対をなす特徴を含めて特徴の生成を実施する方法の一例のフローチャートである。
【図９】図８のトレーニング済みのフィルタの使用を実施してスパムメッセージおよび／またはスパムのようなメッセージを識別する方法の一例のフローチャートである。
【図１０】本発明の一態様による、フィルタをトレーニングするために使用することができるキャラクタのランおよび／またはキャラクタのかかるランのエントロピーに基づいて特徴の作成を実施する方法の一例のフローチャートである。
【図１１】図１０のトレーニング済みのフィルタの使用を実施してスパムメッセージおよび／またはスパムのようなメッセージを識別する方法の一例のフローチャートである。
【図１２】本発明の一態様による、フィルタをトレーニングするために使用することができる特徴の作成を実施する方法の一例のフローチャートである。
【図１３】図１２のトレーニング済みのフィルタの使用を実施してスパムメッセージおよび／またはスパムのようなメッセージを識別する方法の一例のフローチャートである。
【図１４】本発明による通信環境の一例の概略ブロック図である。
【図１】
2005018745.tif 000004
【図２】
2005018745.tif 000005
【図３】
2005018745.tif 000006
【図４】
2005018745.tif 000007
【図５】
2005018745.tif 000008
【図６】
2005018745.tif 000009
【図７】
2005018745.tif 000010
【図８】
2005018745.tif 000011
【図９】
2005018745.tif 000012
【図１０】
2005018745.tif 000013
【図１１】
2005018745.tif 000014
【図１２】
2005018745.tif 000015
【図１３】
2005018745.tif 000016
【図１４】
2005018745.tif 000017
【外国語明細書】
2005018745000001.pdf