(57)【要約】【課題】スパムに関連した、スペルを改造した語を含むメッセージを、高い確率でフィルタし削除することが可能なメールフィルタシステムを提供する。【解決手段】メールフィルタシステム４６は、スペルチェック用シソーラス４８への接続を提供するオブジェクトコネクタ７２と、ｅ−メールメッセージを読み、ｅ−メールメッセージ中の各トークンについてシソーラス４８中に定義されているか否かを、オブジェクトコネクタ７２によって提供された接続を介して判断するトークンルックアップモジュール６０と、トークンルックアップの結果に従って、ｅ−メールメッセージがスパムであるか否か分類する処理モジュール６２及び６４とを含む。【選択図】        図２
2005149124.tif 000002
【特許請求の範囲】
【請求項１】
スペルチェックに用いるための予め定められた辞書への接続を提供するための接続手段と、
電子メッセージを読むための読出手段と、
前記読出手段の読出した電子メッセージ中の各トークンについて、そのトークンが前記辞書中に見出しを有するか否かを、前記接続手段によって提供された接続を介して判定するための手段と、
電子メッセージ中のトークンについて、前記判定するための手段によって得られた結果に従い、前記電子メッセージを処理するための処理手段とを含む、電子メッセージフィルタシステム。
【請求項２】
前記処理手段が、
前記電子メッセージ中の全トークンに対する、前記電子メッセージ中のトークンであって辞書中に見出しのないものの率を取得するための手段と、
前記辞書中に見出しのないトークンの率が予め定められた条件を満たすか否かを判定するための判定手段と、
判定手段の判定に従って前記電子メッセージを分類するための手段とを含む、請求項１に記載のシステム。
【請求項３】
前記判定手段は、前記辞書中に見出しのないトークンの率が予め定められたしきい値を超えるか否かを判定するための手段を含む、請求項２に記載のシステム。
【請求項４】
前記分類するための手段が、
前記トークンの率が前記予め定められたしきい値を超えた電子メッセージを不要なメッセージとして分類するための第１の分類手段と、
前記トークンの率が前記予め定められたしきい値を超えないメッセージを通常のメッセージとして分類するための第２の分類手段とを含む、請求項３に記載のシステム。
【請求項５】
前記第１の分類手段が、前記トークンの率が前記予め定められたしきい値を超えた電子メッセージに予め定められたテキストを挿入するための手段を含む、請求項４に記載のシステム。
【請求項６】
前記電子メッセージは件名部分と本文部分とを含み、
前記挿入するための手段は、前記トークンの率が予め定められたしきい値を超えた電子メッセージの件名部分に予め定められたテキストを挿入するための手段を含む、請求項５に記載のシステム。
【請求項７】
前記第１の分類手段が、前記電子メッセージを予め定められた第１の宛先に送信するための手段を含み、
前記第２の分類手段が、前記電子メッセージを前記第１の宛先と異なる、予め定められた第２の宛先に送信するための手段を含む、請求項４に記載のシステム。
【請求項８】
前記判定するための手段が、前記電子メッセージの各語について、その語が前記辞書中に見出しを有するか否かを、前記接続手段によって提供された接続を介して判定するための手段を含む、請求項１に記載のシステム。
【請求項９】
前記電子メッセージの各文字について、その文字が前記辞書中に見出しのない語に属するか否かを判定するための手段をさらに含み、
前記処理手段が、
前記電子メッセージ中の全語に対する、前記電子メッセージ中の語であって前記辞書中に見出しのないものの率を取得するための手段と、
前記電子メッセージ中の語であって前記辞書中に見出しのないものに含まれる文字の率を取得するための手段と、
前記語の率及び前記文字の率が予め定められた条件を満たすか否かを判定するための判定手段と、
前記判定手段の判定に従って、前記電子メッセージを分類するための手段とを含む、請求項８に記載のシステム。
【請求項１０】
前記判定手段が、前記語の率が前記予め定められたしきい値を超え
、かつ前記文字の率が予め定められたしきい値を超えるかを判定するための手段を含む、請求項９に記載のシステム。
【請求項１１】
前記分類するための手段が、
前記語の率及び前記文字の率がそれぞれのしきい値を超えた電子メッセージを不要なメッセージとして分類するための第１の分類手段と、
前記語の率または前記文字の率のいずれかが対応するしきい値を超えない電子メッセージを通常のメッセージとして分類するための第２の分類手段とを含む、請求項１０に記載のシステム。
【請求項１２】
前記第１の分類手段が、前記語の率及び前記文字の率がそれぞれのしきい値を超えた電子メッセージに予め定められたテキストを挿入するための手段を含む、請求項１１に記載のシステム。
【請求項１３】
前記電子メッセージは件名部分と本文部分を含み、
前記挿入するための手段は、前記語の率及び前記文字の率がそれぞれのしきい値を超えた電子メッセージの件名部分に予め定められたテキストを挿入するための手段を含む、請求項１２に記載のシステム。
【請求項１４】
前記判定するための手段が、前記電子メッセージの各語について、その語が前記辞書中に見出しを有するか否かを、前記接続手段によって提供された接続を介して判定するための手段を含み、
前記システムはさらに、前記電子メッセージ中の各文字について、その文字が前記辞書中に見出しのない語に属するか否かを判定するための手段を含み、
前記処理手段が、
前記電子メッセージ中の語であって前記辞書中に見出しのないものに含まれる文字の率を取得するための手段と、
前記文字の率が予め定められた条件を満たすか否かを判定するための判定手段と、
前記判定手段の判定に従って、前記電子メッセージを分類するための手段とを含む、請求項１に記載のシステム。
【請求項１５】
前記判定手段が、前記文字の率が予め定められたしきい値を超えるか否かを判定するための手段を含む、請求項１４に記載のシステム。
【請求項１６】
前記分類するための手段が、
前記文字の率がしきい値を超えた電子メッセージを不要なメッセージとして分類するための第１の分類手段と、
前記文字の率がしきい値を超えない電子メッセージを通常のメッセージとして分類するための第２の分類手段とを含む、請求項１５に記載のシステム。
【請求項１７】
コンピュータ上で実行されると、コンピュータに、請求項１から請求項１６のいずれかに記載された機能の全てを行なわせる、コンピュータで実行可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はメールフィルタシステムに関し、特に、明示的なトレーニングの必要性無しに、好ましくない（スパム）電子メール（ｅ−メール）及びメッセージをフィルタして削除する、メールフィルタシステムに関する。
【背景技術】
【０００２】
インターネット上でのｅ−メールは非常に便利な通信ツールである。ｅ−メールを送るのにはほとんど費用がかからない。さらに、一瞬で地球の裏側の友人と連絡をとることもできる。
【０００３】
残念ながら、ｅ−メールはまた、不適切な商業目的のｅ−メールを配信するにも非常に便利な方法である。このような、不適切な商業目的のｅ−メールを「スパム」と呼ぶ。今日、天文学的数字のスパムがネットワーク上で送信されている。スパムメールを送信する人（スパマ）にとっては、スパムメールを送るのにほとんど費用がかからないため、今後もネットワーク上ではますます多くのスパムメールの送信が行なわれるものと思われる。
【０００４】
スパムは莫大な経済的損失を引起こす。世界中でのスパムによる経済的損失は、２００３年の２０５億ドルから２００７年には１９８０億ドルを超えるものと予想されている。こうした損失は、帯域とＣＰＵ時間とが失われること、ネットワークと、目標とされるコンピュータとのセキュリティが低下すること、及びスパムの受信者の時間と名誉とが失われることにより引起こされる。
【０００５】
スパムを阻止するかフィルタして削除するために多くの努力がなされてきた。最も進んだスパムフィルタとして、ベイズ学習及びハッシュブラックリストに基づく二つのスパムフィルタがある。
【０００６】
前者のアプローチによれば、メッセージは、このメッセージが含むトークン（語）に関し、学習済みのスパム関連確率から確率を推定し、スパムへの分類が行なわれる。このような分類は、以下のベイズ規則に従って推定される。
【０００７】
【数１】
2005149124.tif 000003
例えば、“ｍｏｎｅｙ”という語についてスパムの確率(すなわちＰ（ａ）)が０．６であり、“ｃｏｎｆｉｄｅｎｔｉａｌ”という語について（すなわちＰ（ｂ））が０．８であれば、“ｍｏｎｅｙ”及び“ｃｏｎｆｉｄｅｎｔｉａｌ”の両方の語を含むメッセージの確率（すなわちＰ（ａ，ｂ））は、式（１）により、０．８６となる。
【０００８】
ハッシュブラックリストは、「ハッシング」と呼ばれる処理により、着信するｅメールの全テキストを一つの数（シグナチャ）に変換してしまうことにより動作する。これらの数（ハッシュ値）は高速な比較を行なうためには十分に単純であるが、ある程度は役に立つ一意性を持つ。その後これらを既知のスパムのハッシュ値リストと比較し、「スパムハッシュ」に合致したメッセージを破棄する。
【０００９】
スパムフィルタシステムの別の例が特許文献１に開示されている。特許文献１に開示されたスパムフィルタシステムは、それぞれ重み付けされた語のリストを含む。受信したｅメールの各々について、そのｅ−メール中の語の重みをリストで確認し、その合計を計算する。もし合計が予め定められたしきい値を超えれば、そのｅ−メールはスパムであると判定され、破棄フォルダに入れられる。語の重みは「トレーニング」によって計算される。トレーニングにおいては、ユーザは受信したｅ−メールを手動で分類する。もしある語がこのリストに入っていなければ、新たな語には予め定められた初期値が割当てられる。
【００１０】
【特許文献１】特開２００３−０６７３０４、図１−３
【発明の開示】
【発明が解決しようとする課題】
【００１１】
スパムフィルタ用ソフトウェア（スパムフィルタ）と、スパム発生ソフト（スパムソフト）のますます高度化するスパム発生技術との間には、絶え間なく進化しあうという関係（軍備拡大競争）がある。そのため、技術的に克服すべき課題が生ずる。スパムメールを阻止するかまたはフィルタして削除するための上述の３つの方法には、以下のような問題がある。
【００１２】
ベイズフィルタの使用する技術には、通常、機械がメッセージの意味を把握することはできないという、人工知能に共通した問題がある。ベイズフィルタを用いるものでは、メッセージの意味を把握するのではなく、語の組合わせの出現に関する統計に基づいて、これをスパムと考える。従って、現在利用可能なスパムフィルタを用いると、正しいものを誤りとし、誤りを正しいとする結果が得られることも多い。
【００１３】
ベイズフィルタについて考えると、このフィルタが初めて認知するトークンは、フィルタの判定に関して中立の効果を持つはずであり、そのためフィルタは再び学習（トレーニング）状態となるはずである。もしこのようなトークンが、明らかにスパムであるメッセージに当然含まれる部分であったとしても、フィルタはそのスパムをスパムに分類することはできない。もし、さらに多数の同じスパムメッセージを受け取りながら、それらが別々の新たなトークンを含む場合には、事態はさらに悪化する。
【００１４】
一方、スパムの確率が高いと分かっているトークンと一致してしまうことを避けるために、スパマにとって自明な解決策は、スパムメッセージ中の最も重要なスパム関連のトークンを改造することである。例えば、“ｃｏｎｆｉｄｅｎｔｉａｌ”という語がスパムの一部である確率を０．８と仮定すれば、これを含むメッセージはいずれも、スパムに分類されるであろう。しかし、“ｃｏｎｆｉｄｅｎｔｉａｌ”という語をわざと（かつランダムに）“ｃｏｎｆ１ｄｅｎｔｉａｌ”（“ｉ”の代わりに“１”を使う）、“ｃｏｎｆｉｄｅｎｔｉａ１”（“ｌ”の代わりに“１”）、“ｃ０ｎｆｉｄｅｎｔｉａｌ”（“ｏ”の代わりに“０”）、“ｃｏｎｆｉｄｅｎ＿ｔｉａｌ）（空白を挿入）等のようにミススペルすると、当然、このような組合わせの量は膨大なものになり、重要なトークンである”ｃｏｎｆｉｄｅｎｔｉａｌ“が、ベイズフィルタにとっては全く新しい、未知のトークンと置きかえられてしまう。
【００１５】
先行特許文献１に開示されたシステムも同様である。もしスパムソフトが重みの大きい語を改造すれば、その結果できた新たな語はおそらくリストには存在しない。その結果、この語に対しては、それほど大きくない初期重みが割当てられることになる。改造されたトークンが新たに現れるたびに、ユーザはｅ−メールを手動で分類することによってシステムをトレーニングしなければならない。
【００１６】
スパマにとって効率的にこうした改造を実現するのは、技術的に深刻な問題ではない。実際、スパマも同じベイズフィルタを実行させ、同じ、典型的なスパムメッセージの集合を用いてこれらのフィルタをトレーニングしているかも知れない。従って、スパマは、彼らがメッセージに含ませようとしている語が、どの程度スパムに関連しているかを示す確率のおよその値を良く承知している。この結果、スパムと非常に強い関連性を持つ語は、ランダムに改造された後、膨大な数のネットワーク上の潜在的なスパム受信者に一斉送信されることになるだろう。
【００１７】
加えて、改造されたトークンはハッシュブラックリストフィルタも回避できる。なぜなら、新たなトークンは、以前にスパムであると認知されていた内容に対しても、新たなハッシュ値（シグナチャ）を生じさせることになるからである。ランダムに発生させた意味のないトークンをスパムメッセージにさらに追加するということは、メッセージのシグナチャのみを用いてスパムメッセージを適切に分類しようとするスパムフィルタの能力の劣化をさらに大きくさせる程度の意味しかない。
【００１８】
従って、この発明の目的の一つは、改造されたスパムに関連した語を含むメッセージを、高い確率でフィルタし削除することが可能なメールフィルタシステムを提供することである。
【００１９】
この発明の別の目的は、何ら明示的なトレーニングなしで、改造されたスパムに関連した語を含むメッセージを、高い確率でフィルタし削除することが可能なメールフィルタシステムを提供することである。
【課題を解決するための手段】
【００２０】
この発明に従った電子メッセージフィルタシステムは、スペルチェックに用いるための予め定められた辞書への接続を提供するための接続手段と、電子メッセージを読むための読出手段と、読出手段が読出した電子メッセージ中の各トークンについて、そのトークンが辞書中に見出しを有するか否かを、接続手段によって提供された接続を介して判定するための手段と、電子メッセージ中のトークンについて、判定手段によって得られた結果に従い、電子メッセージを処理するための処理手段とを含む。
【００２１】
好ましくは、処理手段は、電子メッセージ中の全トークンに対する、電子メッセージ中のトークンであって辞書中に見出しのないものの率を取得するための手段と、辞書中に見出しのないトークンの率が予め定められた条件を満たすか否かを判定するための判定手段と、判定手段の判定に従って電子メッセージを分類するための手段とを含む。
【００２２】
判定手段は、辞書中に見出しのないトークンの率が予め定められたしきい値を超えるか否かを判定するための手段を含んでもよい。
【００２３】
分類するための手段は、トークンの率が予め定められたしきい値を超えた電子メッセージを不要なメッセージとして分類するための第１の分類手段と、トークンの率が予め定められたしきい値を超えないメッセージを通常のメッセージとして分類するための第２の分類手段とを含んでもよい。
【００２４】
好ましくは、第１の分類手段は、トークンの率が予め定められたしきい値を超えた電子メッセージに予め定められたテキストを挿入するための手段を含む。
【００２５】
電子メッセージは件名部分と本文部分を含んでもよく、挿入する手段は、トークンの率が予め定められたしきい値を超えた電子メッセージの件名部分に、予め定められたテキストを挿入するための手段を含んでもよい。
【００２６】
好ましくは、第１の分類手段は、電子メッセージを予め定められた第１の宛先に送信するための手段を含み、第２の分類手段は、電子メッセージを第１の宛先と異なる、予め定められた第２の宛先に送信するための手段を含む。
【００２７】
好ましくは、判定するための手段は、電子メッセージの各語について、その語が辞書中に見出しを有するか否かを、接続手段によって提供された接続を介して判定するための手段を含む。
【００２８】
システムはさらに、電子メッセージの各文字について、その文字が辞書中に見出しのない語に属するか否かを判定するための手段を含み、処理手段は、電子メッセージ中の全語に対する、電子メッセージ中の語であって辞書中に見出しのないものの率を取得するための手段と、電子メッセージ中の語であって辞書中に見出しのないものに含まれる文字の率を取得するための手段と、語の率及び文字の率が予め定められた条件を満たすか否かを判定するための手段と、判定手段の判定に従って、電子メッセージを分類するための手段とを含む。
【００２９】
好ましくは、判定手段は、語の率が予め定められたしきい値を超え、かつ文字の率が予め定められたしきい値を超えるか否かを判定するための手段を含む。
【００３０】
分類するための手段が、語の率及び文字の率がそれぞれのしきい値を超えた電子メッセージを不要なメッセージとして分類するための第１の分類手段と、語の率または文字の率のいずれかが、対応するしきい値を超えない電子メッセージを通常のメッセージとして分類するための第２の分類手段とを含んでもよい。
【００３１】
好ましくは、第１の分類手段は、語の率及び文字の率がそれぞれのしきい値を超えた電子メッセージに、予め定められたテキストを挿入するための手段を含む。
【００３２】
電子メッセージは件名部分と本文部分を含んでもよく、挿入するための手段は、語の率及び文字の率がそれぞれのしきい値を超えた電子メッセージの件名部分に、予め定められたテキストを挿入するための手段を含んでもよい。
【００３３】
好ましくは、判定するための手段は、電子メッセージの各語について、その語が辞書中に見出しを有するか否かを、接続手段によって提供された接続を介して判定するための手段を含み、システムはさらに、電子メッセージ中の各文字について、その文字が辞書中に見出しのない語に属するか否かを判定するための手段を含み、処理手段は、電子メッセージ中の語であって辞書中に見出しのないものに含まれる文字の率を取得するための手段と、文字の率が予め定められた条件を満たすか否かを判定するための判定手段と、判定手段の判定に従って、電子メッセージを分類するための手段とを含む。
【００３４】
判定手段は、文字の率が予め定められたしきい値を超えるか否かを判定するための手段を含んでもよい。
【００３５】
分類手段は、文字の率がしきい値を超えた電子メッセージを不要なメッセージとして分類するための第１の分類手段と、文字の率がしきい値を超えない電子メッセージを通常のメッセージとして分類するための第２の分類手段とを含んでもよい。
【００３６】
この発明の第２の局面は、コンピュータ上で実行されると、コンピュータに、上述の電子メッセージフィルタシステムのいずれかに記載された機能の全てを行なわせる、コンピュータで実行可能なプログラムに関する。
【発明を実施するための最良の形態】
【００３７】
‐概観‐
この発明のメールフィルタシステムは、最新のベイズ及びハッシュブラックリストスパムフィルタを克服しようとする、進んだスパムｅ−メールメッセージに対処するためのアプローチに基づくものである。このアプローチは、スパム確率がより高くなるような、改造されたトークン（語）は、スペルチェックソフトウェアエージェントを用いて検出できる、という考えに基づいている。
【００３８】
スパムメッセージの場合、スペルチェック用のシソーラスでは見つからないトークンや文字の量が通常のｅ−メールメッセージに比べ格段に多い。操作しやすいユーザインターフェイスを備えた、コンピュータが多数あるオフィス環境に当然備えられている辞書（シソーラス）を、ここで提案するように用いることにより、本実施の形態に係るスパムフィルタ用スペルチェックソフトウェア（Ｓｐａｍ  Ｆｉｌｔｅｒｉｎｇ  Ｓｐｅｌｌ−Ｃｈｅｃｋｉｎｇ  Ｓｏｆｔｗｅａｒ：ＳＦＳＣＡ）が、ごく一般的なソフトウェアの接続可能性を利用すること、サードパーティによる付加的なスペルチェック用辞書データベースが不要であること、さらにカスタマイズが容易であること等の利益が得られることは明確である。この実施の形態に従ったＳＦＳＣＡはスパムフィルタ用の独立したソフトウェアとして使用することも、ベイズ又はハッシュブラックリストフィルタのプラグインとして用いてそれらの機能をさらに高めることもできる。
【００３９】
経験によれば、スパムに関連したトークンに改造を加えることが、最新のスパムフィルタを回避する最も効果的な方法と思われるので、このような改造されたトークンを見つけ、着信するメールメッセージ中にそのような語が存在する率を計算する方法について考察した。
【００４０】
改造されたトークンはランダムで、特に重要なこととして、同じメッセージでさえ到着するたびに異なるので、それらを発見する基準として用いることができるような、それらの共通の特徴は何かが問題となる。この実施の形態のシステムは、改造されたトークンがランダムであったとしても、これらはいずれもスペルチェックルーチンによって正しい語としては認知されない、という共通の特徴を持つという事実に基づく。この実施の形態のシステムは、オフィス製品で広く利用可能なスペルチェック用辞書のシソーラス(単語)辞書を使用する。
【００４１】
このアプローチは以下のような利点を持つ。
【００４２】
ｉ）ほとんどのデスクトップコンピュータは、広く採用されているオフィス用ソフトウェア環境のいずれかを実行している。
【００４３】
ｉｉ）オフィス用ソフトウェア環境のシソーラスは高度にカスタマイズすることができ、特定の用語を自由に追加でき、特別なスペルチェック用の設定を個別に調整することができる。
【００４４】
ｉｉｉ）ユーザは通常、自分が発信するメッセージのスペルチェックをするので、誤りを正しいものとしてしまうおそれはさらに小さくなる。
【００４５】
ｉｖ）シソーラスは、通常、コンポーネントオブジェクト技術で実現されており、したがって、別のアプリケーション（例えば本実施の形態に係るＳＦＳＣＡ）によるシソーラスの起動は一般的な形でサポートされているはずである。
‐実施の形態に係るシステムの構造‐
図１を参照して、この実施の形態のＳＦＳＣＡ４６は、インボックス４４を備えたｅ−メールエージェント４２と、オペレーティングシステムのオブジェクト接続機能５０を介してアクセス可能な、スペルチェック用に用いられるシソーラス４８とによって規定される環境で動作する、ソフトウェアエージェントとして実現されている。インボックス４４はｅ−メールエージェント４２がｅ−メールサーバ４０から取出す、着信メールを格納する。
【００４６】
図２はＳＦＳＣＡ４６の詳細なブロック図である。図２を参照して、ＳＦＳＣＡ４６はシソーラス４８への接続を提供するオブジェクトコネクタ７２と、オブジェクトコネクタ７２及びオブジェクト接続機能５０を介して、インボックス４４に格納された未読のｅ−メールメッセージ中の全トークンをシソーラス４８内で探し、そのトークンがシソーラスにリストされているか否かを判定するトークンルックアップモジュール６０と、トークンルックアップモジュール６０の出力に基づいて、シソーラス４８にリストされていない語の率を計算する計算モジュール６２とを含む。計算モジュール６２はさらに、メッセージ中の、シソーラス４８内にリストされた語中の文字に対する、メッセージ中の、シソーラスに定義されていない語中の文字の率も計算する。
【００４７】
ＳＦＳＣＡはさらに、計算モジュール６２に接続され、計算モジュール６２によって計算された率を記憶するためのワークメモリ７０と、ワークメモリ７０に記憶された率に基づき、ｅ−メールがスパムか否かを判定する判定モジュール６４と、予め定められた、未定義語のしきい値率（ＴＨ1）及び文字のしきい値率（ＴＨ2）を記憶するための２個のメモリ６６及び６８とを含む。メモリ６６及び６８に記憶されるしきい値率は手動で修正することができる。
【００４８】
さらに、判定モジュール６４はスパムであると判定されたｅ−メールメッセージのヘッダーに特定のキーワード（例えば、“ｓｐａｍ”）をマークとして挿入する機能を有し、これによりｅ−メールエージェント４２はメッセージのフィルタリングを簡単に行なうことができる。モジュール６２、６４及びメモリ６６、６８、７０は、トークンルックアップモジュール６０によるトークンルックアップの結果に従って各ｅ−メールを処理する。すなわち、モジュール６２及び６４は各ｅ−メールをスパム（好ましくないｅ−メールメッセージ）または通常のメッセージに分類する。
【００４９】
この実施の形態の判定モジュール６４は、未定義語の率がメモリ６６に記憶されているしきい値を超え、かつ、未定義語中の文字の率がメモリ６８に記憶されているしきい値を超えた場合、そのｅ−メールはスパムであると判定する。
【００５０】
しきい値はユーザの環境に従って決定することができる。この実施の形態では、未定義語の率が２０％を超え、かつ、未定義語中の文字の率が２０％を超えた場合、ｅ−メールメッセージはスパムであると判定する。もし未定義語の率が２０％を超えないか、または、未定義語中の文字の率が２０％を超えない場合は、ｅ−メールはスパムではないと判定される。
‐動作‐
この実施の形態に従ったＳＦＳＣＡ４６は、以下のように動作する。ｅ−メールエージェント４２はｅ−メールサーバ４０からメッセージを取出し、それらをインボックス４４に格納する。予めスケジュールされたタイミングで、又は手動によるトリガ信号に応答して、ＳＦＳＣＡ４６はインボックス４４中の未読のｅ−メールを読む。
【００５１】
図２を参照して、未読のｅ−メールメッセージの各々について、トークンルックアップモジュール６０は各語についてシソーラス４８を検索し、その語がシソーラス４８中に定義されているか否かを確認する。トークンルックアップモジュール６０は未定義語の数を計算モジュール６２に出力する。計算モジュール６２はｅ−メールメッセージ中の語及び文字の数を計数し、トークンルックアップモジュール６０の出力に応答して、未定義語中の文字の数と、未定義語の率及び未定義語中の文字の率とを計算する。
【００５２】
判定モジュール６４は計算された率をワークメモリ７０から読出す。判定モジュール６４は、計算された未定義語の率をメモリ６６に記憶されたしきい値と比較する。もし計算された率がしきい値を超えていれば、計算された未定義語中の文字の率をメモリ６８に記憶されたしきい値と比較する。もし計算された率がしきい値を超えていれば、判定モジュール６４はそのｅ−メールメッセージがスパムであると判定し、そのｅ−メールメッセージの件名に“ｓｐａｍ”というマークを付し、件名にマークが付されたｅ−メールメッセージをインボックス４４に格納する。そしてトークンルックアップモジュール６０はインボックス中の別の未読メッセージを読出す。計算された率のいずれも、対応するしきい値を超えていない場合には、判定モジュールは単にインボックス中の別の未読メッセージを読出す。
【００５３】
上述の動作を、インボックス４４中に未読のｅ−メールメッセージがなくなるまで繰返す。
【００５４】
図３はｅ−メールメッセージの例を示す。この実施の形態のＳＦＳＣＡ４６によれば、未定義語の率は３％であり、未定義語中の文字の率は５％である。従って、このｅ−メールメッセージはスパムではないと判定される。差出人は、ここで考察したメッセージのスペルチェックをしていなかったようであるが、それでも、未定義語の率及び未定義語中の文字の率が比較的小さいことに注目されたい。
【００５５】
図４は別のｅ−メールメッセージの例を示す。この実施の形態のＳＦＳＣＡ４６によれば、未定義語の率は４６％、未定義語中の文字の率は４５％であると計算される。従って、このｅ−メールメッセージはスパムであると判定される。
【００５６】
上述の通り、この実施の形態のＳＦＳＣＡ４６はｅ−メールがスパムであるか否かを、通常のオフィス環境で容易に利用できる辞書を用いて判定できる。サードパーティのスペルチェック用の辞書データベースをさらに用いることは必要ではない。もっとも、この実施の形態はこのような付加的な辞書の使用を除外するものではない。この実施の形態は、それ自身で（スペルチェック辞書の支援により）スパムｅ−メールメッセージを判定することができ、従って、これを独立したソフトウェアとして用いることができる。従来のベイズリストフィルタ又はハッシュブラックリストフィルタ又はその双方と組合わせれば、この実施の形態のＳＦＳＣＡ４６はそれらのスパムチェック機能をさらに向上させることができる。
【００５７】
ここで強調すべきは、この実施の形態では、明示的な「トレーニング」段階が必要ないことである。もしユーザが頻繁に使用する単語がスペルチェック用辞書に定義されていないと分かれば、ＳＦＳＣＡ４６のスパムフィルタ能力を向上させることになるとは意識せずに、ユーザはその語をスペルチェック用辞書に追加するであろう。
【００５８】
上述の実施の形態において、未定義語の率及び未定義語中の文字の率をともに計算した。しかし、この発明はそのような実施の形態に限定されない。例えば、未定義語の率のみ、または未定義語中の文字の率のみを用いてもよい。
‐コンピュータによる実現例‐
上述のＳＦＳＣＡ４６は通常のコンピュータハードウェア上で実行されるソフトウェアとして実現できる。図５はこのような通常のコンピュータシステム１２０の外観図であり、図６はシステム１２０を機能ブロック図で示す。
【００５９】
図５を参照して、コンピュータシステム１２０は、ＦＤ（フレキシブルディスク）ドライブ１５２及びＣＤ−ＲＯＭ(コンパクトディスク読出専用メモリ）ドライブ１５０を有するコンピュータ１４０と、キーボード１４６と、マウス１４８と、モニタ１４２とを含む。
【００６０】
図６のブロック図を参照して、コンピュータ１４０はさらに、ＣＰＵ（中央処理装置）１５６と、ＣＰＵ１５６、ＣＤ−ＲＯＭドライブ１５０及びＦＤドライブ１５２に接続されたバス１６６と、ブートアッププログラム等のプログラムを記憶する読出専用メモリ（ＲＯＭ）１５８と、ＣＰＵ１６０に接続され、実行されるアプリケーションプログラム命令、システムプログラム、データ等を記憶するランダムアクセスメモリ（ＲＡＭ）１６０と、ハードディスクドライブ１５４とを含む。
【００６１】
コンピュータ１４０はさらに、コンピュータ１４０にローカルエリアネットワーク（ＬＡＮ）１８４への接続を提供するためのネットワークアダプタボード１７４を含む。図示しないメールサーバがＬＡＮ１７６を介してコンピュータシステム１２０に接続される。
【００６２】
図１及び図２に示されたシソーラス４８はハードディスクドライブ１５４に格納され、プログラムが実行される際に、シソーラス４８はハードディスクドライブ１５４から読出されてＲＡＭ１６０に記憶される。
【００６３】
図７はコンピュータ１２０にこの実施の形態に従ったメールのフィルタリングを実行させるためのプログラムの制御構造を示す。このプログラムはＣＤ−ＲＯＭ１８０またはＦＤ１８２に記憶されてＣＤ−ＲＯＭドライブ１５０またはＦＤドライブ１５２に挿入され、さらにハードディスクドライブ１５４に転送される。または、プログラムはＬＡＮ１７６を介してコンピュータ１４０に送信され、ハードディスクドライブ１５４に記憶されても良い。プログラムは、実行時にはＲＡＭ１６４にロードされる。プログラムはＣＤ−ＲＯＭ１８０、ＦＤ１８２またはＬＡＮ１７６を介してＲＡＭ１６４に直接ロードされてもよい。
【００６４】
以下で説明するプログラムは、コンピュータ１４０をＳＦＳＣＡ４６として動作させる複数の命令を含む。このメールフィルタ機能を実行するのに必要とされる基本的機能の幾つかはコンピュータ１４０で実行されているオペレーティングシステム（ＯＳ）、サードパーティのプログラムまたはコンピュータ１４０にインストールされるツールボックス等のモジュールで提供されるので、プログラムはこの実施の形態に係るＳＦＳＣＡ４６の機能を実現するのに必要な基本的機能を必ずしも全て含んでいなくても良い。プログラムが含む必要があるのは、命令のうち、所望の結果が得られるように、制御された態様で適切な機能または「ツール」を呼出すことによってメールフィルタ処理を行なう部分のみである。コンピュータシステム１２０がどのように動作するかは周知であり、従ってここでは詳細は述べない。
【００６５】
図７を参照して、この実施の形態のＳＦＳＣＡ４６を実現するプログラムは、開始後、ますステップ２００で、必要とされるリソースを初期化する。例えば、プログラムはこのステップで、ＲＡＭ１６０に常駐するシソーラス４８に接続する。次に、ステップ２０２で、システムはインボックス４４内の次の未読ｅ−メールを読出そうとする。ステップ２０４で、未読のｅ−メールがないか判定される。未読のｅ−メールメッセージがなければ、プログラムはステップ２４０でクリーンナップ処理を行ない、終了する。さもなければ、ステップ２０６で変数ＣＮＴ＿Ｃ及びＣＮＴ＿Ｗがゼロに設定される。変数ＣＮＴ＿Ｃは未定義語中の文字の数を計数するためのものである。ＣＮＴ＿Ｗ未定義語の数を計数するためのものである。
【００６６】
ステップ２０８で、ｅ−メールメッセージ中の語の総数が確認される。同様にステップ２１０で、文字の総数が確認される。
【００６７】
ｅ−メールメッセージ中のすべての語について、ステップ２２０でその語がシソーラス４８にあるか否かが判定される。もしなければ、ＣＮＴ＿Ｗに１が加算される。同様にｅ−メールメッセージ中の全ての文字について、ステップ２２２でその文字がシソーラス４８中の語のものか否か判定される。もしなければ、ＣＮＴ＿Ｃに１が加算される。
【００６８】
ステップ２２４で、未定義語の率（ＲＡＴＩＯ＿Ｗ）と未定義語中の文字の率（ＲＡＴＩＯ＿Ｃ）が、ステップ２０８及び２１０で計算された語数及び文字数ならびに変数ＣＮＴ＿Ｃ及びＣＮＴ＿Ｗを用いて計算される。
【００６９】
ステップ２２６で、計算されたＲＡＴＩＯ＿Ｗがしきい値ＴＨ1を超えるか否かが判定される。もしＲＡＴＩＯ＿Ｗ＞ＴＨ1であれば、制御はステップ２２８に進み、さもなければステップ２０２に戻る。
【００７０】
ステップ２２８で、計算されたＲＡＴＩＯ＿Ｃがしきい値ＴＨ2を超えるか否かが判定される。もしＲＡＴＩＯ＿Ｃ＞ＴＨ2であれば、制御はステップ２３０に進み、さもなければステップ２０２に戻る。
【００７１】
ステップ２３０で、ｅ−メールの件名に“ＳＰＡＭ”のマークが付され、制御はステップ２０２に戻る。
【００７２】
このように構成されたプログラムは、コンピュータシステム１２０上で実行されると、コンピュータシステム１２０に図１及び図２で示されたＳＦＳＣＡ４６のすべての機能を実行させる。
【００７３】
この実施の形態の判定モジュール６４はｅ−メールメッセージがもし不適当なメッセージであると判定されるとそのヘッダー部分に特定のキーワードを付す。この発明はこのような実現例に限定されない。例えば、ＳＦＳＣＡは不要のｅ−メールメッセージを廃棄フォルダ等の所定の宛先に送り、他のメールをｅ−メールエージェントの通常のインボックスに送ってもよい。
【００７４】
図２に示された計算モジュール６２は、シソーラス４８中にないトークンの率を計算し、判定モジュール６４はもしその率がしきい値を超えればそのｅ−メールがスパムであると判定する。しかし、この発明はこのような実現例に限定されない。計算モジュールは、シソーラス４８中にあるトークンの率を計算し、判定モジュールはもしその率がしきい値より低ければそのｅ−メールがスパムであると判定してもよい。これらは互いに等価である。同様に、ｅ−メールがスパムであるか否かを判定するにあたって、どのような合理的な基準を採用してもよい。
【００７５】
この実施の形態では、未定義語の率及び未定義語中の文字の率がそれぞれのしきい値を超えれば、ｅ−メールはスパムであると分類される。この発明はこの実施の形態に限定されない。未定義語の率または未定義語中の文字の率のいずれかが対応するしきい値を超えれば、ｅ−メールがスパムであると分類してもよい。
【００７６】
さらに、メッセージは必ずしもｅ−メールメッセージには限定されない。インスタントメッセンジャの  メッセージであってもよいし、他のどのような形式の電子メッセージであってもよい。
【００７７】
上述の実施の形態は単なる例示であって制限的なものと解してはならない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内でのすべての変更を含む。
【図面の簡単な説明】
【００７８】
【図１】この発明の一実施の形態に係るＳＦＳＣＡ４６を含むｅ−メールシステムの全体構成を示す図である。
【図２】この発明の一実施の形態に係るＳＦＳＣＡ４６の詳細なブロック図である。
【図３】スパムでないｅ−メールの例を示す図である。
【図４】スパムｅ−メールの例を示す図である。
【図５】この発明の実施の形態に係るＳＦＳＣＡ４６を実現するコンピュータシステムの外観図である。
【図６】コンピュータシステムの機能ブロック図である。
【図７】この発明の一実施の形態に係るＳＦＳＣＡ４６を実現するプログラムの構造を示すフローチャートである。
【符号の説明】
【００７９】
４０  ｅ−メールサーバ、４２  ｅ−メールエージェント、４４  インボックス、４６  ＳＦＳＣＡ（スパムフィルタ用スペルチェックソフトウェアエージェント）、４８  シソーラス、６０  トークンルックアップモジュール、６２  計算モジュール、６４  判定モジュール、６６及び６８  しきい値メモリ、７０  ワークメモリ
【図１】
2005149124.tif 000004
【図２】
2005149124.tif 000005
【図３】
2005149124.tif 000006
【図４】
2005149124.tif 000007
【図５】
2005149124.tif 000008
【図６】
2005149124.tif 000009
【図７】
2005149124.tif 000010
【外国語明細書】
2005149124000001.pdf
2005149124000002.pdf
2005149124000003.pdf
2005149124000004.pdf