メール分類方法、メール分類プログラム
【課題】メールの分類精度を向上させる。
【解決手段】分類部300は、メールの分類ルールを設定したスパム語句リスト150及びブラックリスト160に基づいて受信メールをスパムメール又は正常メールに分類する。分類部300は、スパムメールに分類したメールを隔離用メールボックス130に格納する一方、正常メールに分類したメールをメールボックス120に格納する。ユーザは、隔離用メールボックス130を参照し、誤ってスパムメールに分類されたメールがあれば、隔離用メールボックス130からメールボックス120にメールを移動させる。ルール更新部330は、ユーザの移動操作に応じて、スパム語句リスト150及びブラックリスト160を更新する。
【解決手段】分類部300は、メールの分類ルールを設定したスパム語句リスト150及びブラックリスト160に基づいて受信メールをスパムメール又は正常メールに分類する。分類部300は、スパムメールに分類したメールを隔離用メールボックス130に格納する一方、正常メールに分類したメールをメールボックス120に格納する。ユーザは、隔離用メールボックス130を参照し、誤ってスパムメールに分類されたメールがあれば、隔離用メールボックス130からメールボックス120にメールを移動させる。ルール更新部330は、ユーザの移動操作に応じて、スパム語句リスト150及びブラックリスト160を更新する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メールの分類技術に関する。
【背景技術】
【0002】
メールの分類技術として、メールフィルタリングが知られている。メールフィルタリングは、ユーザが定義したルールに基づいて、例えば、メールをスパムメール(迷惑メール)とスパムメール以外の正常メールとに分類する技術である。しかし、ユーザが定義したメール分類ルールは、スパムメールの発生状況と必ずしも適合しないため、正常メールがスパムメールに分類されたり、スパムメールが正常メールに分類されたりすることがある。そこで、スパムメールに分類されたメールをユーザが参照することで、スパムメールであると誤って分類されたメールを正常メールに分類しなおす技術が知られている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009−37346号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、従来技術では、メールの分類を誤る原因となったメール分類ルールは、スパムメールの発生状況と乖離したままであり、メールフィルタリングは、同様の誤りを今後も発生させる。
【0005】
1側面では、本発明は、メールフィルタリングにおけるメールの分類精度を向上させる技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
本技術の一実施形態では、複数のユーザを含むグループに対して適用するメール分類ルールを記憶する記憶手段を備え、グループに含まれるいずれかのユーザ宛のメールであって、メール分類ルールに基づいて分類されたメールについての分類先の変更処理が実行されると、変更処理に応じて記憶手段に記憶したメール分類ルールを変更し、変更手段によってメール分類ルールが変更された後に、変更されたメール分類ルールに基づいて、グループに属するユーザ宛のメールの分類を行う。
【発明の効果】
【0007】
1態様では、本発明は、メールフィルタリングにおけるメールの分類精度を向上させることができる。
【図面の簡単な説明】
【0008】
【図1】実施形態に係るメールシステムの一例を示す全体構成図である。
【図2】語句辞書の説明図である。
【図3】スパム語句リストの説明図である。
【図4】ブラックリストの説明図である。
【図5】メール管理テーブルの説明図である。
【図6】ユーザ管理テーブルの説明図である。
【図7】誤分類情報の説明図である。
【図8】送信元情報の説明図である。
【図9】語句情報の説明図である。
【図10】閾値テーブルの説明図である。
【図11】メールサーバのハードウェア構成図である。
【図12】メール分類処理のフローチャートである。
【図13】受信メールの一例を示す説明図である。
【図14】再分類処理のフローチャートである。
【図15】統計処理のフローチャートである。
【図16】送信元情報統計処理サブルーチンのフローチャートである。
【図17】語句情報統計処理サブルーチンのフローチャートである。
【図18】メール管理テーブルの例の説明図である。
【図19】ルール更新処理のフローチャートである。
【図20】ルール更新処理のフローチャートである。
【図21】スパム語句リストの例の説明図である。
【図22】ブラックリストの例の説明図である。
【図23】グループ情報テーブルの説明図である。
【図24】業種毎の閾値テーブルの説明図である。
【発明を実施するための形態】
【0009】
以下、添付された図面を参照して本発明を実施するための実施形態について技術を詳細に説明する。
【0010】
図1に、本実施形態におけるメールシステムの一例を示す。
メールサーバ100は、インターネットなどのネットワーク400を介して、少なくとも1台のクライアント500に接続されている。なお、メールサーバ100は、1台又は複数台のコンピュータにより構築される。
【0011】
メールサーバ100を利用するユーザ(メール受信者)は、クライアント500を介して、メールサーバ100にあるメールを参照又は操作する。メールサーバ100が受信したメールは、メール分類ルールに基づいて分類される。本実施形態では、受信したメールをスパムメールとスパムメール以外の正常メールとに分類するためのメール分類ルール(スパム語句リスト、ブラックリスト)に基づいて、メールが分類される。メール分類ルールは、所定規則に則って区分けされた、ユーザのグループ毎(例えば企業別、業種別)に存在する。各グループには、グループを特定するグループ識別子の一例としてのグループ名が付される。グループ名は各グループのメール管理者などによって定義される。
【0012】
メールサーバ100には、ハードディスクドライブ又はSSD(Solid State Disk)などのストレージ110が備えられている。ストレージ110には、メールボックス120、隔離用メールボックス130、語句辞書140、スパム語句リスト150、ブラックリスト160、メール管理テーブル170、及びユーザ管理テーブル180が記憶される。さらに、ストレージ110には、誤分類情報190、送信元情報200、語句情報210及び閾値テーブル220が記憶される。なお、誤分類情報190、送信元情報200、語句情報210は、後述するようにテンポラリテーブルであるので、メモリ上に展開するようにしてもよい。なお、ストレージ110は、記憶手段の一例として挙げられる。
【0013】
メールボックス120は、メールサーバ100を利用するユーザ毎に存在する。各メールボックス120には、各ユーザの受信メールのうち、正常メール、並びに、ユーザによってスパムメールから正常メールに分類しなおされた誤分類メールが格納される。また、各ユーザのメールボックス120の名前は、例えば、各ユーザのメールアドレスに“-BOX”を加えた文字列とする。例えば、ユーザのメールアドレスが、“zzz@yyy.co.jp”であった場合、メールボックス120の名前は“zzz@yyy.co.jp-BOX”となる。
【0014】
隔離用メールボックス130は、メールサーバ100を利用するユーザ毎に存在する。各隔離用メールボックス130には、各ユーザの受信メールのうち、スパムメールが格納される。また、各ユーザの隔離用メールボックス130の名前は、例えば、各ユーザのメールアドレスに“-SBOX”を加えた文字列とする。例えば、ユーザのメールアドレスが、“zzz@yyy.co.jp”であった場合、隔離用メールボックス130の名前は“zzz@yyy.co.jp-SBOX”となる。
【0015】
語句辞書140には、図2に示すように、受信メールに含まれる語句を抽出するために使用する抽出対象の語句が列挙されている。なお、語句辞書140として、日本語変換などに使用される日本語辞書を利用してもよい。
【0016】
スパム語句リスト150は、グループ毎に存在する。具体的に、スパム語句リスト150には、図3に示すように、特定のグループに対して送信されたスパムメールを分類するためのスパム語句が列挙される。また、各グループのスパム語句リスト150の名前は、例えば、各グループの名前に“-SPLIST”を加えた文字列とする。例えば、グループの名前が、“B社”であった場合、スパム語句リスト150の名前は“B社-SPLIST”となる。なお、スパム語句リスト150は、メール分類ルールの少なくとも一例として挙げられる。
【0017】
ブラックリスト160は、グループ毎に存在する。具体的に、ブラックリスト160には、図4に示すように、特定のグループにおいて、スパムメールの送信元と認定されたスパムメール送信元メールサーバのIP(Internet Protocol)アドレスが列挙される。なお、送信元IPアドレスのかわりに、送信元メールサーバのドメイン名や送信元メールアドレスを列挙してもよい。また、各グループのブラックリスト160の名前は、例えば、各グループの名前に、“-BKLIST”を加えた文字列とする。例えば、グループの名前が、“B社”であった場合、ブラックリスト160の名前は“B社-BKLIST”となる。なお、ブラックリスト160は、メール分類ルールの少なくとも一例として挙げられる。
【0018】
メール管理テーブル170は、ユーザ毎に存在する。具体的に、メール管理テーブル170には、図5に示すように、受信メールのSubject及び本文の少なくとも一方に含まれる各語句に対して、メールの送信元IPアドレス、メッセージID、並びに、スパムメールか否かを示すスパム当否を関連付けたレコードが格納される。ここで、スパム当否には、受信メールが、正常メールであることを示す“<非スパム>”、スパムメールであることを示す“<スパム>”、又は、誤分類メールであることを示す“<誤分類>”が設定される。なお、各ユーザのメール管理テーブル170の名前は、例えば、各ユーザのメールアドレスに“-MV”を加えた文字列とする。例えば、ユーザのメールアドレスが“vvv@uuu.co.jp”であった場合、メールアドレスは“vvv@uuu.co.jp-MV”となる。
【0019】
ユーザ管理テーブル180には、図6に示すように、メールサーバ100を利用するユーザのメールアドレス、及びユーザが所属するグループ名を関連付けたレコードが格納される。
【0020】
誤分類情報190は、一時的に生成されるテンポラリテーブルである。誤分類情報190には、図7に示すように、特定のグループに属するすべてのユーザのメール受信数、正常メール数、スパム数、誤分類数、及び誤分類率が格納される。ここで、メール受信数は、グループに属するすべてのユーザの受信メールの総数を示している。正常メール数は、グループに属するすべてのユーザの受信メールのなかの正常メールの総数を示している。スパム数は、グループに属するすべてのユーザの受信メールのなかのスパムメールの総数を示している。誤分類数は、グループに属するすべてのユーザの受信メールの誤分類メールの総数を示している。誤分類率は、正常メール数と誤分類数を加算した値に対する、誤分類数の割合(誤分類率=誤分類数÷(正常メール数+誤分類数))を百分率で示している。
【0021】
送信元情報200は、一時的に生成されるテンポラリテーブルである。送信元情報200には、図8に示すように、送信元IPアドレス、非スパム数、スパム数、及び送信元スパム率を関連付けたレコードが格納される。ここで、非スパム数は、送信元IPアドレスから受信した正常メール及び誤分類メールの総数を示している。スパム数は、送信元IPアドレスから受信したスパムメールの総数を示している。送信元スパム率は、非スパム数とスパム数を加算した値に対する、スパム数の割合(送信元スパム率=スパム数÷(非スパム数+スパム数))を百分率で示している。
【0022】
語句情報210は、一時的に生成されるテンポラリテーブルである。語句情報210には、図9に示すように、語句、非スパム数、スパム数、及び語句スパム率を関連付けたレコードが格納される。ここで、非スパム数は、語句を含んだ正常メール及び誤分類メールの総数を示している。スパム数は、語句を含んだスパムメールの総数を示している。語句スパム率は、非スパム数とスパム数を加算した値に対する、スパム数の割合(送信元スパム率=スパム数÷(非スパム数+スパム数))を百分率で示している。
【0023】
閾値テーブル220には、各種の閾値がグループ毎に定義されている。具体的に、閾値テーブル220には、図10に示すように、グループのグループ名、スパム語句閾値、語句閾値、送信元閾値及び誤分類閾値を関連付けたレコードが格納される。ここで、スパム語句閾値は、スパム語句リスト150に登録されているスパム語句が、受信メールに所定個数含まれたときにスパムメールとみなす基準となる個数を示している。語句閾値は、受信メールに含まれる各語句をスパム語句リスト150に登録又は削除する基準となる値を百分率で示している。例えば、スパム語句リスト150に未登録の語句Aは、語句Aを含んだ受信メールのうちスパムメールに分類された割合が語句閾値以上になれば、スパム語句リスト150に登録される。また、スパム語句リスト150に登録されている語句Bは、語句Bを含んだ受信メールのうちスパムメールと判定された割合が語句閾値未満になれば、スパム語句リスト150から削除される。送信元閾値は、受信メールの送信元IPアドレスをブラックリスト160に登録又は削除する基準となる値を百分率で示している。誤分類閾値は、誤分類メールの割合が高くなった旨をユーザに通知する基準となる値を百分率で示している。各閾値は、例えば、各グループのメール管理者などにより事前に任意の値が定義される。なお、語句閾値及び送信元閾値は、所定値の一例として挙げられる。
【0024】
メールサーバ100には、図11に示すように、CPU(Central Processing Unit)111、メインメモリ112、通信インターフェース113、ストレージ110、入出力装置114、及び可搬記録媒体駆動装置115などのハードウェアが含まれている。各ハードウェアは、バス116を介して相互に接続されている。メインメモリ112は、CPU111がアクセスする主記憶装置であり、具体例としてRAM(Random Access Memory)が挙げられる。また、通信インターフェース113は、ネットワーク400を介してデータを送受信するための装置であり、具体例としてネットワークカードが挙げられる。さらに、入出力装置114は、メールサーバ100にデータを入力又はメールサーバ100からデータを出力するための装置であり、具体例として、キーボード、マウス、及びディスプレイが挙げられる。そして、可搬記録媒体駆動装置115は、CD−ROM、DVD−ROMなどのコンピュータ読取可能なデータが記録された可搬記録媒体117から、データを読取る装置であり、具体例として、CD−ROMドライブ、DVD−ROMドライブが挙げられる。
【0025】
可搬記録媒体117には、本実施形態を具現化するメール分類プログラムが記録されている。可搬記録媒体117に記録されたメール分類プログラムは、公知の手段により可搬記録媒体駆動装置115からストレージ110にインストールされる。CPU111は、インストールされたメール分類プログラムをメインメモリ112にロードし、実行することで、分類部300、再分類部310、統計部320及びルール更新部330を夫々具現化する。また、メール分類プログラムは、ネットワーク400から通信インターフェース113を介し、ストレージ110にインストールされることもある。
【0026】
分類部300は、スパム語句リスト150、ブラックリスト160及び閾値テーブル220に基づいて、メールサーバ100が受信したメールを分類する。なお、分類部300は、分類手段の一例として挙げられる。
【0027】
再分類部310は、隔離用メールボックス130からメールボックス120にメールが移動した際に、メール管理テーブル170を更新する。
【0028】
統計部320は、メール管理テーブル170を参照し、誤分類情報190、送信元情報200及び語句情報210を生成する。なお、統計部320は、算出手段の一例として挙げられる。
【0029】
ルール更新部330は、誤分類情報190、送信元情報200、語句情報210及び閾値テーブル220を参照し、スパム語句リスト150及びブラックリスト160を更新する。なお、ルール更新部330は、変更手段の一例として挙げられる。
【0030】
クライアント500には、ネットワーク400を介してメールサーバ100上のホームページなどを参照及び操作するためのブラウザや、メールを受信するためのメーラがインストールされている。ユーザは、ブラウザ(Webメールの場合)やメーラによって、メールボックス120及び隔離用メールボックス130を参照及び操作するためのメールサーバ100上のページにアクセスし、隔離用メールボックス130からメールボックス120にメールを移動することができる。
【0031】
図12は、分類部300が、メールサーバ100がメールを受信したことを契機として実行するメール分類処理のフローチャートを示す。
【0032】
ステップ1(図では「S1」と略記する。以下同様)では、分類部300は、受信メールのSubject及び本文の少なくとも一方に含まれている語句のうち、語句辞書140に列挙されている語句をすべて抽出する。例えば、図13で示すような受信メール600では、分類部300は、図2に示す語句辞書140を使用する場合、受信メールから“休日”及び“大人”を抽出する。
【0033】
ステップ2では、分類部300は、抽出した各語句について、受信メールのメッセージID及び送信元IPアドレスを関連付けて、メール管理テーブル170のレコードを生成する。ここで、分類部300は、生成したすべてのレコードのスパム当否を空白にする。また、分類部300は、受信メールの送信先メールアドレスからメール管理テーブル170の名前を特定することによって、送信先メールアドレスのユーザのメール管理テーブル170を特定する。例えば、分類部300は、送信先メールアドレスが、“zzz@yyy.co.jp”であった場合、送信先メールアドレスに“-MV”を加えることでメール管理テーブル170の名前である“zzz@yyy.co.jp-MV”を特定し、送信先メールアドレスのメール管理テーブル170を特定する。そして、特定したメール管理テーブル170に、生成したすべてのレコードを格納する。
【0034】
ステップ3では、分類部300が、受信メールの送信元IPアドレスが、ブラックリスト160に存在するか否か判定する。分類部300は、送信元IPアドレスが存在しなければ、処理をステップ4に進める一方(Yes)、送信元IPアドレスが存在すれば、処理をステップ7に進める(No)。
【0035】
ステップ4では、分類部300が、スパム語句リスト150に列挙されているスパム語句と一致する語句が、抽出した語句に何個あるか数える。そして、分類部300は、閾値テーブル220を参照し、スパム語句と一致した語句の個数がスパム語句閾値未満であるか否か判定する。分類部300は、スパム語句と一致した語句の個数が、スパム語句閾値未満であれば、処理をステップ5に進める一方(Yes)、スパム語句と一致した語句の個数がスパム語句閾値未満でなければ、処理をステップ7に進める(No)。
【0036】
ステップ5では、分類部300が、ステップ2で生成したすべてのレコードのスパム当否に<非スパム>を設定する。
ステップ6では、分類部300が、受信メールの送信先メールアドレスにより特定されるメールボックス120に、受信メールを格納する。
【0037】
ステップ7では、分類部300が、ステップ2で生成したすべてのレコードのスパム当否に<スパム>を設定する。
ステップ8では、分類部300が、受信メールの送信先メールアドレスにより特定される隔離用メールボックス130に、受信メールを格納する。
【0038】
かかるメール分類処理によれば、分類部300は、メールサーバ100がメールを受信すると、語句辞書140を参照し、受信メールに基づきメール管理テーブル170のレコードを生成し、格納する。また、分類部300は、ブラックリスト160、スパム語句リスト150、閾値テーブル220を参照し、受信メールがスパムメールに該当するか否か判定し、生成したレコードのスパム当否に判定結果を設定する。さらに、分類部300は、受信メールがスパムメールに該当しない場合は、受信メールをメールボックス120に格納する一方、受信メールがスパムメールに該当する場合は、受信メールを隔離用メールボックス130に格納する。
【0039】
図14は、再分類部310が、クライアント500のブラウザまたはメール送受信用ソフトウェアを介して、隔離用メールボックス130に格納されている受信メールがメールボックス120に移動されたことを契機として実行する再分類処理のフローチャートを示す。
【0040】
ステップ11では、再分類部310は、移動された受信メールの送信先メールアドレスからメール管理テーブル170の名前を特定することによって、送信先メールアドレスのユーザのメール管理テーブル170を特定する。また、再分類部310は、特定したメール管理テーブル170を参照し、移動された受信メールのメッセージIDが含まれるレコードをすべて特定する。さらに、再分類部310は、特定したすべてのレコードのスパム当否に、<誤分類>を設定する。
ステップ12では、再分類部310は、移動された受信メールの送信先メールアドレスを統計部320に通知する。
【0041】
かかる再分類処理によれば、再分類部310は、移動された受信メールの送信先メールアドレスにより特定されるメール管理テーブル170を参照し、移動された受信メールのレコードのスパム当否に、<誤分類>を設定する。また、再分類部310は、移動された受信メールの送信先メールアドレスを統計部320に通知する。
【0042】
図15は、統計部320が、再分類部310から、送信先メールアドレスが通知されたことを契機として実行する統計処理のフローチャートを示す。
【0043】
ステップ21では、統計部320が、各項目に数字の0を設定した、誤分類情報190を生成する。また、統計部320は、レコードが格納されていない、送信元情報200及び語句情報210を夫々生成する。また、統計部320が、ユーザ管理テーブル180を参照し、通知された送信先メールアドレスから、受信メールのユーザが所属するグループ名を特定する。
【0044】
ステップ22では、統計部320が、ユーザ管理テーブル180を参照し、ステップ21で特定したグループ名を含むレコードを順次選択する。そして、統計部320は、選択レコードのメールアドレスからメール管理テーブル170の名前を特定することでメールアドレスのユーザのメール管理テーブル170を特定する。
【0045】
ステップ23では、統計部320が、ステップ22で選択したメール管理テーブル170を参照し、誤分類情報190を更新する。具体的には、統計部320が、ステップ22で選択したメール管理テーブル170のメッセージIDの数(同一のメッセージIDはまとめて1つと数える。以下同様)を、誤分類情報190のメール受信数に加算する。また、統計部320は、ステップ22で選択したメール管理テーブル170のスパム当否に<非スパム>が設定されているレコードをすべて特定し、特定した各レコードに含まれているメッセージIDの数を、誤分類情報190の正常メール数に加算する。次に、統計部320は、ステップ22で選択したメール管理テーブル170のスパム当否に<スパム>が設定されているレコードをすべて特定し、特定した各レコードに含まれているメッセージIDの数を、誤分類情報190のスパム数に加算する。さらに、統計部320は、ステップ22で選択したメール管理テーブル170のスパム当否に<誤分類>が設定されているレコードをすべて特定し、特定した各レコードに含まれているメッセージIDの数を、誤分類情報190の誤分類数に加算する。
【0046】
ステップ24では、統計部320が、送信元情報統計処理サブルーチンを実行する。
ステップ25では、統計部320が、語句情報統計処理サブルーチンを実行する。
ステップ26では、統計部320が、ステップ21で特定したグループに属するユーザのすべてのメール管理テーブル170について処理を実行したか否か判定する。統計部320は、すべてのメール管理テーブル170について処理を実行していれば、処理をステップ27に進める一方(Yes)、すべてのメール管理テーブル170について処理を実行していなければ、処理をステップ22に進める(No)。
【0047】
ステップ27では、統計部320が、誤分類情報190の正常メール数及び誤分類数に基づいて誤分類率を計算し、誤分類情報190の誤分類率に誤分類率を設定する。また、統計部320は、送信元情報200に格納されている各レコードのスパム数及び非スパム数から送信元スパム率を計算し、送信元情報200の各レコードの送信元スパム率に送信元スパム率を設定する。さらに、統計部320は、語句情報210に格納されている各レコードのスパム数及び非スパム数から語句スパム率を計算し、語句情報210の各レコードの語句スパム率に語句スパム率を設定する。
ステップ28では、統計部320が、移動された受信メールの送信先メールアドレスを、ルール更新部330に通知する。
【0048】
図16は、送信元情報統計処理サブルーチンのフローチャートを示す。
ステップ31では、統計部320が、図15のステップ22で選択したメール管理テーブル170を参照し、レコードを順次選択する。
ステップ32では、統計部320が、選択レコードに含まれる送信元IPアドレスは、送信元情報200に存在するか否か判定する。統計部320は、送信元IPアドレスが送信元情報200に存在すれば、処理をステップ33に進める一方(Yes)、送信元IPアドレスが送信元情報200に存在しなければ、処理をステップ36に進める(No)。
【0049】
ステップ33では、統計部320は、選択レコードのスパム当否が<スパム>であるか否か判定する。統計部320は、スパム当否が<スパム>であれば、処理をステップ34に進める一方(Yes)、スパム当否が<スパム>でなければ、処理をステップ37に進める(No)。
ステップ34では、統計部320は、選択レコードに含まれる送信元IPアドレスによって、送信元情報200のレコードを特定する。さらに、統計部320は、特定したレコードのスパム数に1を加算する。
【0050】
ステップ35では、統計部320が、図15のステップ22で選択したメール管理テーブル170のすべてのレコードについて処理を実行したか否か判定する。統計部320は、すべてのレコードについて処理を実行していれば、処理を終了する一方(Yes)、すべてのレコードについて処理を実行していなければ、処理をステップ31に進める(No)。
ステップ36では、統計部320は、送信元IPアドレスに選択レコードの送信元IPアドレス、並びに、スパム数及び非スパム数に0を設定した送信元情報200のレコードを生成し、送信元情報200にレコードを格納する。
【0051】
ステップ37では、統計部320は、選択レコードに含まれる送信元IPアドレスによって、送信元情報200のレコードを特定する。さらに、統計部320は、特定したレコードの非スパム数に1を加算する。
【0052】
図17は、語句情報統計処理サブルーチンのフローチャートを示す。
ステップ41では、統計部320が、図15のステップ22で選択したメール管理テーブル170を参照し、レコードを順次選択する。
ステップ42では、統計部320が、選択レコードに含まれる語句は、語句情報210に存在するか否か判定する。統計部320は、選択レコードの語句が語句情報210に存在すれば、処理をステップ43に進める一方(Yes)、選択レコードの語句が語句情報210に存在しなければ、処理をステップ46に進める(No)。
【0053】
ステップ43では、統計部320は、選択レコードのスパム当否が<スパム>であるか否か判定する。統計部320は、スパム当否が<スパム>であれば、処理をステップ44に進める一方(Yes)、スパム当否が<スパム>でなければ、処理をステップ47に進める(No)。
【0054】
ステップ44では、統計部320は、選択レコードに含まれる語句によって、語句情報210のレコードを特定する。さらに、統計部320は、特定したレコードのスパム数に1を加算する。
ステップ45では、統計部320が、図15のステップ22で選択したメール管理テーブル170のすべてのレコードについて処理を実行したか否か判定する。統計部320は、すべてのレコードについて処理を実行していれば、処理を終了する一方(Yes)、すべてのレコードについて処理を実行していなければ、処理をステップ41に進める(No)。
【0055】
ステップ46では、統計部320は、選択レコードの語句、並びに、スパム数及び非スパム数に0を設定した語句情報210のレコードを生成し、語句情報210にレコードを格納する。
ステップ47では、統計部320は、選択レコードに含まれる語句によって、語句情報210のレコードを特定する。さらに、統計部320は、特定したレコードの非スパム数に1を加算する。
【0056】
かかる統計処理によれば、統計部320は、通知された送信先メールアドレスによってグループを特定し、特定したグループに属するすべてのユーザのメール管理テーブル170に基づいて、誤分類情報190、送信元情報200、及び語句情報210を生成する。
例えば、グループ“B社”に属するユーザのメール管理テーブル170が図5、図18で示すような内容である場合、統計部320は、図7〜図9で夫々示すような誤分類情報190、送信元情報200及び語句情報210を生成する。
【0057】
図19及び図20は、ルール更新部330が、統計部320から、送信先メールアドレスが通知されたことを契機として実行するルール更新処理のフローチャートを示す。
ステップ51では、ルール更新部330が、ユーザ管理テーブル180を参照し、通知された送信先メールアドレスにより特定されるレコードのグループ名を取り出す。また、ルール更新部330は、閾値テーブル220を参照し、取り出したグループ名によりレコードを特定する。そして、ルール更新部330は、誤分類情報190の誤分類率が、特定したレコードの誤分類率閾値以上であるか否か判定する。ルール更新部330は、誤分類率が誤分類閾値以上であれば、処理をステップ52に進める一方(Yes)、誤分類率が誤分類閾値以上でなければ、処理をステップ53に進める(No)。
【0058】
ステップ52では、ルール更新部330が、通知された送信先メールアドレスに、誤分類率が誤分類閾値を超えた旨のメールを送信する。
ステップ53では、ルール更新部330が、送信元情報200を参照し、レコードを順次選択する。
ステップ54では、ルール更新部330が、ブラックリスト160を参照し、送信元情報200の選択レコードに含まれる送信元IPアドレスが、ブラックリスト160に存在するか否か判定する。ルール更新部330は、送信元IPアドレスがブラックリスト160に存在すれば、処理をステップ55に進める一方(Yes)、送信元IPアドレスがブラックリスト160に存在しなければ、処理をステップ57に進める(No)。
【0059】
ステップ55では、ルール更新部330が、ステップ51で特定した閾値テーブル220のレコードに含まれる送信元閾値を取り出す。また、ルール更新部330は、送信元情報200の選択レコードの送信元スパム率が送信元閾値未満であるか否かを判定する。ルール更新部330は、送信元スパム率が送信元閾値未満であれば、処理をステップ56に進める一方(Yes)、送信元スパム率が送信元閾値未満でなければ、処理をステップ59に進める(No)。
【0060】
ステップ56では、ルール更新部330が、送信元情報200の選択レコードの送信元IPアドレスと同一の送信元IPアドレスを、ブラックリスト160から削除する。
【0061】
ステップ57では、ルール更新部330が、ステップ51で特定した閾値テーブル220のレコードに含まれる送信元閾値を取り出す。また、ルール更新部330は、送信元情報200の選択レコードの送信元スパム率が送信元閾値以上であるか否か判定する。ルール更新部330は、送信元スパム率が送信元閾値以上であれば、処理をステップ58に進める一方(Yes)、送信元スパム率が送信元閾値以上でなければ、処理をステップ59に進める(No)。
ステップ58では、ルール更新部330が、選択レコードの送信元IPアドレスを、ブラックリスト160に登録する。
【0062】
ステップ59では、ルール更新部330が、送信元情報200のすべてのレコードについて処理を実行したか否か判定する。ルール更新部330は、すべてのレコードについて処理を実行していれば、処理をステップ60に進める一方(Yes)、すべてのレコードについて処理を実行していなければ、処理をステップ53に進める(No)。
ステップ60では、ルール更新部330が、語句情報210を参照し、レコードを順次選択する。
【0063】
ステップ61では、ルール更新部330が、スパム語句リスト150を参照し、語句情報210の選択レコードに含まれる語句が、スパム語句リスト150に存在するか否か判定する。ルール更新部330は、選択レコードの語句がスパム語句リスト150に存在すれば、処理をステップ62に進める一方(Yes)、選択レコードの語句がスパム語句リスト150に存在しなければ、処理をステップ66に進める(No)。
【0064】
ステップ62では、ルール更新部330が、ステップ51で特定した閾値テーブル220のレコードに含まれる語句閾値を取り出す。また、ルール更新部330は、語句情報210の選択レコードの語句スパム率が語句閾値未満であるか否か判定する。ルール更新部330は、語句スパム率が語句閾値未満であれば、処理をステップ63に進める一方(Yes)、語句スパム率が語句閾値未満でなければ、処理をステップ64に進める(No)。
ステップ63では、ルール更新部330が、語句情報210の選択レコードの語句と同一の語句を、スパム語句リスト150から削除する。
【0065】
ステップ64では、ルール更新部330が、語句情報210のすべてのレコードについて処理を実行したか否か判定する。ルール更新部330は、すべてのレコードについて処理を実行していれば、処理をステップ65に進める一方(Yes)、すべてのレコードについて処理を実行していなければ、処理をステップ60に進める(No)。
ステップ65では、ルール更新部330が、誤分類情報190、送信元情報200、語句情報210を削除する。
【0066】
ステップ66では、ルール更新部330が、ステップ51で特定した閾値テーブル220のレコードに含まれる語句閾値を取り出す。また、ルール更新部330は、語句情報210の選択レコードの語句スパム率が語句閾値以上であるか否か判定する。ルール更新部330は、語句スパム率が語句閾値以上であれば、処理をステップ67に進める一方(Yes)、語句スパム率が語句閾値以上でなければ、処理をステップ64に進める(No)。
ステップ67では、ルール更新部330が、語句情報210の選択レコードの語句を、スパム語句リスト150に登録する。
【0067】
かかるルール更新処理によれば、ルール更新部330は、誤分類情報190の誤分類率が閾値テーブル220の誤分類閾値以上であるか否か判定し、誤分類閾値以上であれば、通知された送信先メールアドレスのユーザに誤分類閾値以上になった旨のメールを送信する。また、ルール更新部330は、送信元情報200を参照し、送信元スパム率が送信元閾値以上であるレコードに含まれる送信元IPアドレスのうち、ブラックリスト160に登録されていない送信元IPアドレスをブラックリスト160に登録する。また、ルール更新部330は、送信元スパム率が送信元閾値未満であるレコードに含まれる送信元IPアドレスのうち、ブラックリスト160に登録されている送信元IPアドレスをブラックリスト160から削除する。ルール更新部330は、語句スパム率が語句閾値以上であるレコードに含まれる語句のうち、スパム語句リスト150に登録されていない語句をスパム語句リスト150に登録する。ルール更新部330は、語句スパム率が送信元閾値未満であるレコードに含まれる語句のうち、スパム語句リスト150に登録されている語句をスパム語句リスト150から削除する。
【0068】
例えば、図7〜図9で夫々示す誤分類情報190、送信元情報200及び語句情報210である場合、ルール更新部300は、閾値テーブル220の“B社”の各閾値に基づいて、図3、図4で夫々示すスパム語句リスト150、ブラックリスト160を更新する。更新後のスパム語句リスト150、ブラックリスト160は、夫々図21、図22で示す
とおりとなる。
【0069】
従って、メールサーバ100がメールを受信すると、受信メールの送信先のユーザのメール管理テーブル170が更新される。また、隔離用メールボックス130のスパムメールがメールボックス120に移動されたとき、メール管理テーブル170が更新され、スパムメールが誤分類メールとなる。さらに、更新されたメール管理テーブル170により特定されるユーザと同一のグループに属する全ユーザのメール管理テーブル170に基づき、グループのスパム語句リスト150、ブラックリスト160が更新される。分類部300は、更新されたスパム語句リスト150及びブラックリスト160に基づき、グループの各ユーザの受信メールを正常メール又はスパムメールに分類する。このため、スパム語句リスト150及びブラックリスト160を、各ユーザが必要とするメール分類ルールに近づけ、分類部300によるメールの分類精度を向上させることができる。
【0070】
また、メール管理者などが、スパムメール及び誤分類メールの発生状況に応じて、語句閾値、送信元閾値を変更することで、スパム語句リスト150、ブラックリスト160の更新頻度を調整し、より確実に各ユーザが必要とするメール分類ルールに近づけることができる。例えば、語句閾値が高すぎる場合、スパム語句リスト150の更新頻度が低くなるため、スパムメールに分類してほしい受信メールが、正常メールに分類される可能性が高くなる。このため、メール管理者は、語句閾値をより低い値に変更する。語句閾値が低すぎる場合、スパム語句リスト150の更新頻度が高くなるため、正常メールに分類してほしい受信メールがスパムメールに分類される可能性が高くなる。このため、メール管理者は、語句閾値をより高い値に変更する。
【0071】
ユーザをグループに区分けする所定規則には、例えば、ユーザが所属する企業、企業の業種、及びユーザが使用するメールフィルタリング製品を提供するベンダが考えられる。
【0072】
所定規則が企業の場合、図6に示すように、ユーザ管理テーブル180のグループ名にユーザ(従業員など)が所属する企業の名前が設定される。また、閾値テーブルには、図10に示すように各企業の閾値値が定義される。特定の企業に属するユーザに対するメールに基づいて、特定の企業向けのスパム語句リスト150及びブラックリスト160が更新されることで、特定の企業は、特定の企業が必要とするメール分類ルールに近づけた設定でスパムメールに対処することができる。
【0073】
所定規則が業種の場合、図23に示すように、グループ名及びグループの業種を関連付けたレコードが格納されたグループ情報テーブル610が、前述した実施形態のストレージ110に追加される。さらに、閾値テーブル220には、図24に示すように、各業種の閾値が定義される。統計部320は、ユーザ管理テーブル180及びグループ情報テーブル610を参照し、特定業種の企業に属するすべてのユーザのメール管理テーブル170に基づいて、特定業種の誤分類情報190、送信元情報200、語句情報210を生成する。ルール更新部330は、閾値テーブル220、生成された特定業種の誤分類情報190、送信元情報200、及び語句情報210に基づき、特定業種のスパム語句リスト150及びブラックリスト160を更新する。
【0074】
ここで、特定業種向けのスパム語句リスト150の具体例として、ブライダル業向けのスパム語句リスト150を挙げる。例えば、「愛」という語句は、スパムメールである可能性が高いメールに含まれることがあるが、ブライダル業の企業では通常業務のメールで含まれるため、ブライダル業向けのスパム語句リスト150から「愛」という語句は除外される。特定業種の企業は、特定業種向けのスパム語句リスト150及びブラックリスト160を使用することで、特定業種の企業が必要とするルールに近づけた設定でスパムメールに対処することができる。
【0075】
所定規則がベンダの場合、特定のメールフィルタリング製品を使用するユーザに対するメールに基づいて、特定のベンダから提供されるデフォルトのスパム語句リスト150及びブラックリスト160が更新される。そして、スパム語句リスト150及びブラックリスト160は、世の中のスパムメールの発生状況により適した設定となる。
【0076】
メール管理テーブル170のレコードを生成する元となる受信メールを、所定期間(例えば1日)の間にメールサーバ100が受信したメールに限定し、統計部320が所定期間に受信したメールを元に統計処理を実行してもよい。例えば所定期間を1日にした場合、1日の間に受信したメールからメール管理テーブル170が生成される。そして、ブラックリスト160には、1日の間にスパムメールに分類された受信メールの送信元IPアドレスのうち、送信元閾値以上の割合の送信元IPアドレスが登録される。さらに、スパム語句リスト150には、1日の間にスパムメールに分類された受信メールに含まれていた語句のうち、語句閾値以上の割合の語句が登録される。
【0077】
同一の送信元IPアドレスから、一定時間(例えば1秒)の間に所定数(例えば1万通)以上の大量のメールが送信されてきた場合、送信元IPアドレスをブラックリスト160に登録する処理を分類部300に追加してもよい。
【0078】
分類部300が受信メールを分類するために参照する範囲を、添付ファイルまで拡大してもよい。ここで、分類部300の参照対象となる添付ファイルは、メールサーバ100が解読可能な添付ファイルのみである。この場合、分類部300は、受信メールのSubject及び本文に含まれる語句に加えて、添付ファイルに含まれる語句から、メール管理テーブル170のレコードを生成する。
【0079】
スパム語句リスト150又はブラックリスト160が更新された後、メールボックス120に格納された正常メール及び誤分類メール、並びに、隔離用メールボックス130に格納されたスパムメールを、更新されたスパム語句リスト150又はブラックリスト160に基づいて、再分類してもよい。
【0080】
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)複数のユーザを含むグループに対して適用するメール分類ルールを記憶する記憶手段と、前記グループに含まれるいずれかのユーザ宛のメールであって、前記メール分類ルールに基づいて分類されたメールについての分類先の変更処理が実行されると、該変更処理に応じて前記記憶手段に記憶した前記分類ルールを変更する変更手段と、変更手段によって前記分類ルールが変更された後に、変更された分類ルールに基づいて、前記グループに属するユーザ宛のメールの分類を行う分類手段と、を備えたことを特徴とするメール分類方法。
【0081】
(付記2)前記分類ルールに基づいて分類されたすべてのメールのうち、分類先のメールの割合を算出する算出手段を更に備え、前記変更手段は、前記割合が、前記分類ルールの変更基準を定義した所定値以上のときに、前記分類ルールを変更することを特徴とする付記1に記載のメール分類方法。
【0082】
(付記3)前記所定値は、任意に設定可能であることを特徴とする付記2に記載のメール分類方法。
(付記4)前記算出手段は、所定期間に分類されたすべてのメールから前記割合を算出することを特徴とする付記2又は付記3に記載のメール分類方法。
(付記5)前記分類ルールは、所定規則に則って区分けされた、ユーザのグループ毎に存在することを特徴とする付記1〜4のいずれか1つに記載のメール分類方法。
【0083】
(付記6)複数のユーザを含むグループに対して適用するメール分類ルールを記憶するストレージを有するコンピュータに、前記グループに含まれるいずれかのユーザ宛のメールであって、前記メール分類ルールに基づいて分類されたメールについての分類先の変更処理が実行されると、該変更処理に応じて前記ストレージに記憶した前記分類ルールを変更するステップと、変更手段によって前記分類ルールが変更された後に、変更された分類ルールに基づいて、前記グループに属するユーザ宛のメールの分類を行うステップと、
を実現させることを特徴とするメール分類プログラム。
【0084】
(付記7)複数のユーザを含むグループに対して適用するメール分類ルールを記憶するストレージを有するコンピュータに、前記グループに含まれるいずれかのユーザ宛のメールであって、前記メール分類ルールに基づいて分類されたメールについての分類先の変更処理が実行されると、該変更処理に応じて前記ストレージに記憶した前記分類ルールを変更するステップと、変更手段によって前記分類ルールが変更された後に、変更された分類ルールに基づいて、前記グループに属するユーザ宛のメールの分類を行うステップと、
を実現させるためのメール分類プログラムを記録したコンピュータ読取可能な記録媒体。
【符号の説明】
【0085】
100 サーバ
110 ストレージ
150 スパム語句リスト
160 ブラックリスト
220 閾値テーブル
310 再分類部
320 統計部
330 ルール更新部
【技術分野】
【0001】
本発明は、メールの分類技術に関する。
【背景技術】
【0002】
メールの分類技術として、メールフィルタリングが知られている。メールフィルタリングは、ユーザが定義したルールに基づいて、例えば、メールをスパムメール(迷惑メール)とスパムメール以外の正常メールとに分類する技術である。しかし、ユーザが定義したメール分類ルールは、スパムメールの発生状況と必ずしも適合しないため、正常メールがスパムメールに分類されたり、スパムメールが正常メールに分類されたりすることがある。そこで、スパムメールに分類されたメールをユーザが参照することで、スパムメールであると誤って分類されたメールを正常メールに分類しなおす技術が知られている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009−37346号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、従来技術では、メールの分類を誤る原因となったメール分類ルールは、スパムメールの発生状況と乖離したままであり、メールフィルタリングは、同様の誤りを今後も発生させる。
【0005】
1側面では、本発明は、メールフィルタリングにおけるメールの分類精度を向上させる技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
本技術の一実施形態では、複数のユーザを含むグループに対して適用するメール分類ルールを記憶する記憶手段を備え、グループに含まれるいずれかのユーザ宛のメールであって、メール分類ルールに基づいて分類されたメールについての分類先の変更処理が実行されると、変更処理に応じて記憶手段に記憶したメール分類ルールを変更し、変更手段によってメール分類ルールが変更された後に、変更されたメール分類ルールに基づいて、グループに属するユーザ宛のメールの分類を行う。
【発明の効果】
【0007】
1態様では、本発明は、メールフィルタリングにおけるメールの分類精度を向上させることができる。
【図面の簡単な説明】
【0008】
【図1】実施形態に係るメールシステムの一例を示す全体構成図である。
【図2】語句辞書の説明図である。
【図3】スパム語句リストの説明図である。
【図4】ブラックリストの説明図である。
【図5】メール管理テーブルの説明図である。
【図6】ユーザ管理テーブルの説明図である。
【図7】誤分類情報の説明図である。
【図8】送信元情報の説明図である。
【図9】語句情報の説明図である。
【図10】閾値テーブルの説明図である。
【図11】メールサーバのハードウェア構成図である。
【図12】メール分類処理のフローチャートである。
【図13】受信メールの一例を示す説明図である。
【図14】再分類処理のフローチャートである。
【図15】統計処理のフローチャートである。
【図16】送信元情報統計処理サブルーチンのフローチャートである。
【図17】語句情報統計処理サブルーチンのフローチャートである。
【図18】メール管理テーブルの例の説明図である。
【図19】ルール更新処理のフローチャートである。
【図20】ルール更新処理のフローチャートである。
【図21】スパム語句リストの例の説明図である。
【図22】ブラックリストの例の説明図である。
【図23】グループ情報テーブルの説明図である。
【図24】業種毎の閾値テーブルの説明図である。
【発明を実施するための形態】
【0009】
以下、添付された図面を参照して本発明を実施するための実施形態について技術を詳細に説明する。
【0010】
図1に、本実施形態におけるメールシステムの一例を示す。
メールサーバ100は、インターネットなどのネットワーク400を介して、少なくとも1台のクライアント500に接続されている。なお、メールサーバ100は、1台又は複数台のコンピュータにより構築される。
【0011】
メールサーバ100を利用するユーザ(メール受信者)は、クライアント500を介して、メールサーバ100にあるメールを参照又は操作する。メールサーバ100が受信したメールは、メール分類ルールに基づいて分類される。本実施形態では、受信したメールをスパムメールとスパムメール以外の正常メールとに分類するためのメール分類ルール(スパム語句リスト、ブラックリスト)に基づいて、メールが分類される。メール分類ルールは、所定規則に則って区分けされた、ユーザのグループ毎(例えば企業別、業種別)に存在する。各グループには、グループを特定するグループ識別子の一例としてのグループ名が付される。グループ名は各グループのメール管理者などによって定義される。
【0012】
メールサーバ100には、ハードディスクドライブ又はSSD(Solid State Disk)などのストレージ110が備えられている。ストレージ110には、メールボックス120、隔離用メールボックス130、語句辞書140、スパム語句リスト150、ブラックリスト160、メール管理テーブル170、及びユーザ管理テーブル180が記憶される。さらに、ストレージ110には、誤分類情報190、送信元情報200、語句情報210及び閾値テーブル220が記憶される。なお、誤分類情報190、送信元情報200、語句情報210は、後述するようにテンポラリテーブルであるので、メモリ上に展開するようにしてもよい。なお、ストレージ110は、記憶手段の一例として挙げられる。
【0013】
メールボックス120は、メールサーバ100を利用するユーザ毎に存在する。各メールボックス120には、各ユーザの受信メールのうち、正常メール、並びに、ユーザによってスパムメールから正常メールに分類しなおされた誤分類メールが格納される。また、各ユーザのメールボックス120の名前は、例えば、各ユーザのメールアドレスに“-BOX”を加えた文字列とする。例えば、ユーザのメールアドレスが、“zzz@yyy.co.jp”であった場合、メールボックス120の名前は“zzz@yyy.co.jp-BOX”となる。
【0014】
隔離用メールボックス130は、メールサーバ100を利用するユーザ毎に存在する。各隔離用メールボックス130には、各ユーザの受信メールのうち、スパムメールが格納される。また、各ユーザの隔離用メールボックス130の名前は、例えば、各ユーザのメールアドレスに“-SBOX”を加えた文字列とする。例えば、ユーザのメールアドレスが、“zzz@yyy.co.jp”であった場合、隔離用メールボックス130の名前は“zzz@yyy.co.jp-SBOX”となる。
【0015】
語句辞書140には、図2に示すように、受信メールに含まれる語句を抽出するために使用する抽出対象の語句が列挙されている。なお、語句辞書140として、日本語変換などに使用される日本語辞書を利用してもよい。
【0016】
スパム語句リスト150は、グループ毎に存在する。具体的に、スパム語句リスト150には、図3に示すように、特定のグループに対して送信されたスパムメールを分類するためのスパム語句が列挙される。また、各グループのスパム語句リスト150の名前は、例えば、各グループの名前に“-SPLIST”を加えた文字列とする。例えば、グループの名前が、“B社”であった場合、スパム語句リスト150の名前は“B社-SPLIST”となる。なお、スパム語句リスト150は、メール分類ルールの少なくとも一例として挙げられる。
【0017】
ブラックリスト160は、グループ毎に存在する。具体的に、ブラックリスト160には、図4に示すように、特定のグループにおいて、スパムメールの送信元と認定されたスパムメール送信元メールサーバのIP(Internet Protocol)アドレスが列挙される。なお、送信元IPアドレスのかわりに、送信元メールサーバのドメイン名や送信元メールアドレスを列挙してもよい。また、各グループのブラックリスト160の名前は、例えば、各グループの名前に、“-BKLIST”を加えた文字列とする。例えば、グループの名前が、“B社”であった場合、ブラックリスト160の名前は“B社-BKLIST”となる。なお、ブラックリスト160は、メール分類ルールの少なくとも一例として挙げられる。
【0018】
メール管理テーブル170は、ユーザ毎に存在する。具体的に、メール管理テーブル170には、図5に示すように、受信メールのSubject及び本文の少なくとも一方に含まれる各語句に対して、メールの送信元IPアドレス、メッセージID、並びに、スパムメールか否かを示すスパム当否を関連付けたレコードが格納される。ここで、スパム当否には、受信メールが、正常メールであることを示す“<非スパム>”、スパムメールであることを示す“<スパム>”、又は、誤分類メールであることを示す“<誤分類>”が設定される。なお、各ユーザのメール管理テーブル170の名前は、例えば、各ユーザのメールアドレスに“-MV”を加えた文字列とする。例えば、ユーザのメールアドレスが“vvv@uuu.co.jp”であった場合、メールアドレスは“vvv@uuu.co.jp-MV”となる。
【0019】
ユーザ管理テーブル180には、図6に示すように、メールサーバ100を利用するユーザのメールアドレス、及びユーザが所属するグループ名を関連付けたレコードが格納される。
【0020】
誤分類情報190は、一時的に生成されるテンポラリテーブルである。誤分類情報190には、図7に示すように、特定のグループに属するすべてのユーザのメール受信数、正常メール数、スパム数、誤分類数、及び誤分類率が格納される。ここで、メール受信数は、グループに属するすべてのユーザの受信メールの総数を示している。正常メール数は、グループに属するすべてのユーザの受信メールのなかの正常メールの総数を示している。スパム数は、グループに属するすべてのユーザの受信メールのなかのスパムメールの総数を示している。誤分類数は、グループに属するすべてのユーザの受信メールの誤分類メールの総数を示している。誤分類率は、正常メール数と誤分類数を加算した値に対する、誤分類数の割合(誤分類率=誤分類数÷(正常メール数+誤分類数))を百分率で示している。
【0021】
送信元情報200は、一時的に生成されるテンポラリテーブルである。送信元情報200には、図8に示すように、送信元IPアドレス、非スパム数、スパム数、及び送信元スパム率を関連付けたレコードが格納される。ここで、非スパム数は、送信元IPアドレスから受信した正常メール及び誤分類メールの総数を示している。スパム数は、送信元IPアドレスから受信したスパムメールの総数を示している。送信元スパム率は、非スパム数とスパム数を加算した値に対する、スパム数の割合(送信元スパム率=スパム数÷(非スパム数+スパム数))を百分率で示している。
【0022】
語句情報210は、一時的に生成されるテンポラリテーブルである。語句情報210には、図9に示すように、語句、非スパム数、スパム数、及び語句スパム率を関連付けたレコードが格納される。ここで、非スパム数は、語句を含んだ正常メール及び誤分類メールの総数を示している。スパム数は、語句を含んだスパムメールの総数を示している。語句スパム率は、非スパム数とスパム数を加算した値に対する、スパム数の割合(送信元スパム率=スパム数÷(非スパム数+スパム数))を百分率で示している。
【0023】
閾値テーブル220には、各種の閾値がグループ毎に定義されている。具体的に、閾値テーブル220には、図10に示すように、グループのグループ名、スパム語句閾値、語句閾値、送信元閾値及び誤分類閾値を関連付けたレコードが格納される。ここで、スパム語句閾値は、スパム語句リスト150に登録されているスパム語句が、受信メールに所定個数含まれたときにスパムメールとみなす基準となる個数を示している。語句閾値は、受信メールに含まれる各語句をスパム語句リスト150に登録又は削除する基準となる値を百分率で示している。例えば、スパム語句リスト150に未登録の語句Aは、語句Aを含んだ受信メールのうちスパムメールに分類された割合が語句閾値以上になれば、スパム語句リスト150に登録される。また、スパム語句リスト150に登録されている語句Bは、語句Bを含んだ受信メールのうちスパムメールと判定された割合が語句閾値未満になれば、スパム語句リスト150から削除される。送信元閾値は、受信メールの送信元IPアドレスをブラックリスト160に登録又は削除する基準となる値を百分率で示している。誤分類閾値は、誤分類メールの割合が高くなった旨をユーザに通知する基準となる値を百分率で示している。各閾値は、例えば、各グループのメール管理者などにより事前に任意の値が定義される。なお、語句閾値及び送信元閾値は、所定値の一例として挙げられる。
【0024】
メールサーバ100には、図11に示すように、CPU(Central Processing Unit)111、メインメモリ112、通信インターフェース113、ストレージ110、入出力装置114、及び可搬記録媒体駆動装置115などのハードウェアが含まれている。各ハードウェアは、バス116を介して相互に接続されている。メインメモリ112は、CPU111がアクセスする主記憶装置であり、具体例としてRAM(Random Access Memory)が挙げられる。また、通信インターフェース113は、ネットワーク400を介してデータを送受信するための装置であり、具体例としてネットワークカードが挙げられる。さらに、入出力装置114は、メールサーバ100にデータを入力又はメールサーバ100からデータを出力するための装置であり、具体例として、キーボード、マウス、及びディスプレイが挙げられる。そして、可搬記録媒体駆動装置115は、CD−ROM、DVD−ROMなどのコンピュータ読取可能なデータが記録された可搬記録媒体117から、データを読取る装置であり、具体例として、CD−ROMドライブ、DVD−ROMドライブが挙げられる。
【0025】
可搬記録媒体117には、本実施形態を具現化するメール分類プログラムが記録されている。可搬記録媒体117に記録されたメール分類プログラムは、公知の手段により可搬記録媒体駆動装置115からストレージ110にインストールされる。CPU111は、インストールされたメール分類プログラムをメインメモリ112にロードし、実行することで、分類部300、再分類部310、統計部320及びルール更新部330を夫々具現化する。また、メール分類プログラムは、ネットワーク400から通信インターフェース113を介し、ストレージ110にインストールされることもある。
【0026】
分類部300は、スパム語句リスト150、ブラックリスト160及び閾値テーブル220に基づいて、メールサーバ100が受信したメールを分類する。なお、分類部300は、分類手段の一例として挙げられる。
【0027】
再分類部310は、隔離用メールボックス130からメールボックス120にメールが移動した際に、メール管理テーブル170を更新する。
【0028】
統計部320は、メール管理テーブル170を参照し、誤分類情報190、送信元情報200及び語句情報210を生成する。なお、統計部320は、算出手段の一例として挙げられる。
【0029】
ルール更新部330は、誤分類情報190、送信元情報200、語句情報210及び閾値テーブル220を参照し、スパム語句リスト150及びブラックリスト160を更新する。なお、ルール更新部330は、変更手段の一例として挙げられる。
【0030】
クライアント500には、ネットワーク400を介してメールサーバ100上のホームページなどを参照及び操作するためのブラウザや、メールを受信するためのメーラがインストールされている。ユーザは、ブラウザ(Webメールの場合)やメーラによって、メールボックス120及び隔離用メールボックス130を参照及び操作するためのメールサーバ100上のページにアクセスし、隔離用メールボックス130からメールボックス120にメールを移動することができる。
【0031】
図12は、分類部300が、メールサーバ100がメールを受信したことを契機として実行するメール分類処理のフローチャートを示す。
【0032】
ステップ1(図では「S1」と略記する。以下同様)では、分類部300は、受信メールのSubject及び本文の少なくとも一方に含まれている語句のうち、語句辞書140に列挙されている語句をすべて抽出する。例えば、図13で示すような受信メール600では、分類部300は、図2に示す語句辞書140を使用する場合、受信メールから“休日”及び“大人”を抽出する。
【0033】
ステップ2では、分類部300は、抽出した各語句について、受信メールのメッセージID及び送信元IPアドレスを関連付けて、メール管理テーブル170のレコードを生成する。ここで、分類部300は、生成したすべてのレコードのスパム当否を空白にする。また、分類部300は、受信メールの送信先メールアドレスからメール管理テーブル170の名前を特定することによって、送信先メールアドレスのユーザのメール管理テーブル170を特定する。例えば、分類部300は、送信先メールアドレスが、“zzz@yyy.co.jp”であった場合、送信先メールアドレスに“-MV”を加えることでメール管理テーブル170の名前である“zzz@yyy.co.jp-MV”を特定し、送信先メールアドレスのメール管理テーブル170を特定する。そして、特定したメール管理テーブル170に、生成したすべてのレコードを格納する。
【0034】
ステップ3では、分類部300が、受信メールの送信元IPアドレスが、ブラックリスト160に存在するか否か判定する。分類部300は、送信元IPアドレスが存在しなければ、処理をステップ4に進める一方(Yes)、送信元IPアドレスが存在すれば、処理をステップ7に進める(No)。
【0035】
ステップ4では、分類部300が、スパム語句リスト150に列挙されているスパム語句と一致する語句が、抽出した語句に何個あるか数える。そして、分類部300は、閾値テーブル220を参照し、スパム語句と一致した語句の個数がスパム語句閾値未満であるか否か判定する。分類部300は、スパム語句と一致した語句の個数が、スパム語句閾値未満であれば、処理をステップ5に進める一方(Yes)、スパム語句と一致した語句の個数がスパム語句閾値未満でなければ、処理をステップ7に進める(No)。
【0036】
ステップ5では、分類部300が、ステップ2で生成したすべてのレコードのスパム当否に<非スパム>を設定する。
ステップ6では、分類部300が、受信メールの送信先メールアドレスにより特定されるメールボックス120に、受信メールを格納する。
【0037】
ステップ7では、分類部300が、ステップ2で生成したすべてのレコードのスパム当否に<スパム>を設定する。
ステップ8では、分類部300が、受信メールの送信先メールアドレスにより特定される隔離用メールボックス130に、受信メールを格納する。
【0038】
かかるメール分類処理によれば、分類部300は、メールサーバ100がメールを受信すると、語句辞書140を参照し、受信メールに基づきメール管理テーブル170のレコードを生成し、格納する。また、分類部300は、ブラックリスト160、スパム語句リスト150、閾値テーブル220を参照し、受信メールがスパムメールに該当するか否か判定し、生成したレコードのスパム当否に判定結果を設定する。さらに、分類部300は、受信メールがスパムメールに該当しない場合は、受信メールをメールボックス120に格納する一方、受信メールがスパムメールに該当する場合は、受信メールを隔離用メールボックス130に格納する。
【0039】
図14は、再分類部310が、クライアント500のブラウザまたはメール送受信用ソフトウェアを介して、隔離用メールボックス130に格納されている受信メールがメールボックス120に移動されたことを契機として実行する再分類処理のフローチャートを示す。
【0040】
ステップ11では、再分類部310は、移動された受信メールの送信先メールアドレスからメール管理テーブル170の名前を特定することによって、送信先メールアドレスのユーザのメール管理テーブル170を特定する。また、再分類部310は、特定したメール管理テーブル170を参照し、移動された受信メールのメッセージIDが含まれるレコードをすべて特定する。さらに、再分類部310は、特定したすべてのレコードのスパム当否に、<誤分類>を設定する。
ステップ12では、再分類部310は、移動された受信メールの送信先メールアドレスを統計部320に通知する。
【0041】
かかる再分類処理によれば、再分類部310は、移動された受信メールの送信先メールアドレスにより特定されるメール管理テーブル170を参照し、移動された受信メールのレコードのスパム当否に、<誤分類>を設定する。また、再分類部310は、移動された受信メールの送信先メールアドレスを統計部320に通知する。
【0042】
図15は、統計部320が、再分類部310から、送信先メールアドレスが通知されたことを契機として実行する統計処理のフローチャートを示す。
【0043】
ステップ21では、統計部320が、各項目に数字の0を設定した、誤分類情報190を生成する。また、統計部320は、レコードが格納されていない、送信元情報200及び語句情報210を夫々生成する。また、統計部320が、ユーザ管理テーブル180を参照し、通知された送信先メールアドレスから、受信メールのユーザが所属するグループ名を特定する。
【0044】
ステップ22では、統計部320が、ユーザ管理テーブル180を参照し、ステップ21で特定したグループ名を含むレコードを順次選択する。そして、統計部320は、選択レコードのメールアドレスからメール管理テーブル170の名前を特定することでメールアドレスのユーザのメール管理テーブル170を特定する。
【0045】
ステップ23では、統計部320が、ステップ22で選択したメール管理テーブル170を参照し、誤分類情報190を更新する。具体的には、統計部320が、ステップ22で選択したメール管理テーブル170のメッセージIDの数(同一のメッセージIDはまとめて1つと数える。以下同様)を、誤分類情報190のメール受信数に加算する。また、統計部320は、ステップ22で選択したメール管理テーブル170のスパム当否に<非スパム>が設定されているレコードをすべて特定し、特定した各レコードに含まれているメッセージIDの数を、誤分類情報190の正常メール数に加算する。次に、統計部320は、ステップ22で選択したメール管理テーブル170のスパム当否に<スパム>が設定されているレコードをすべて特定し、特定した各レコードに含まれているメッセージIDの数を、誤分類情報190のスパム数に加算する。さらに、統計部320は、ステップ22で選択したメール管理テーブル170のスパム当否に<誤分類>が設定されているレコードをすべて特定し、特定した各レコードに含まれているメッセージIDの数を、誤分類情報190の誤分類数に加算する。
【0046】
ステップ24では、統計部320が、送信元情報統計処理サブルーチンを実行する。
ステップ25では、統計部320が、語句情報統計処理サブルーチンを実行する。
ステップ26では、統計部320が、ステップ21で特定したグループに属するユーザのすべてのメール管理テーブル170について処理を実行したか否か判定する。統計部320は、すべてのメール管理テーブル170について処理を実行していれば、処理をステップ27に進める一方(Yes)、すべてのメール管理テーブル170について処理を実行していなければ、処理をステップ22に進める(No)。
【0047】
ステップ27では、統計部320が、誤分類情報190の正常メール数及び誤分類数に基づいて誤分類率を計算し、誤分類情報190の誤分類率に誤分類率を設定する。また、統計部320は、送信元情報200に格納されている各レコードのスパム数及び非スパム数から送信元スパム率を計算し、送信元情報200の各レコードの送信元スパム率に送信元スパム率を設定する。さらに、統計部320は、語句情報210に格納されている各レコードのスパム数及び非スパム数から語句スパム率を計算し、語句情報210の各レコードの語句スパム率に語句スパム率を設定する。
ステップ28では、統計部320が、移動された受信メールの送信先メールアドレスを、ルール更新部330に通知する。
【0048】
図16は、送信元情報統計処理サブルーチンのフローチャートを示す。
ステップ31では、統計部320が、図15のステップ22で選択したメール管理テーブル170を参照し、レコードを順次選択する。
ステップ32では、統計部320が、選択レコードに含まれる送信元IPアドレスは、送信元情報200に存在するか否か判定する。統計部320は、送信元IPアドレスが送信元情報200に存在すれば、処理をステップ33に進める一方(Yes)、送信元IPアドレスが送信元情報200に存在しなければ、処理をステップ36に進める(No)。
【0049】
ステップ33では、統計部320は、選択レコードのスパム当否が<スパム>であるか否か判定する。統計部320は、スパム当否が<スパム>であれば、処理をステップ34に進める一方(Yes)、スパム当否が<スパム>でなければ、処理をステップ37に進める(No)。
ステップ34では、統計部320は、選択レコードに含まれる送信元IPアドレスによって、送信元情報200のレコードを特定する。さらに、統計部320は、特定したレコードのスパム数に1を加算する。
【0050】
ステップ35では、統計部320が、図15のステップ22で選択したメール管理テーブル170のすべてのレコードについて処理を実行したか否か判定する。統計部320は、すべてのレコードについて処理を実行していれば、処理を終了する一方(Yes)、すべてのレコードについて処理を実行していなければ、処理をステップ31に進める(No)。
ステップ36では、統計部320は、送信元IPアドレスに選択レコードの送信元IPアドレス、並びに、スパム数及び非スパム数に0を設定した送信元情報200のレコードを生成し、送信元情報200にレコードを格納する。
【0051】
ステップ37では、統計部320は、選択レコードに含まれる送信元IPアドレスによって、送信元情報200のレコードを特定する。さらに、統計部320は、特定したレコードの非スパム数に1を加算する。
【0052】
図17は、語句情報統計処理サブルーチンのフローチャートを示す。
ステップ41では、統計部320が、図15のステップ22で選択したメール管理テーブル170を参照し、レコードを順次選択する。
ステップ42では、統計部320が、選択レコードに含まれる語句は、語句情報210に存在するか否か判定する。統計部320は、選択レコードの語句が語句情報210に存在すれば、処理をステップ43に進める一方(Yes)、選択レコードの語句が語句情報210に存在しなければ、処理をステップ46に進める(No)。
【0053】
ステップ43では、統計部320は、選択レコードのスパム当否が<スパム>であるか否か判定する。統計部320は、スパム当否が<スパム>であれば、処理をステップ44に進める一方(Yes)、スパム当否が<スパム>でなければ、処理をステップ47に進める(No)。
【0054】
ステップ44では、統計部320は、選択レコードに含まれる語句によって、語句情報210のレコードを特定する。さらに、統計部320は、特定したレコードのスパム数に1を加算する。
ステップ45では、統計部320が、図15のステップ22で選択したメール管理テーブル170のすべてのレコードについて処理を実行したか否か判定する。統計部320は、すべてのレコードについて処理を実行していれば、処理を終了する一方(Yes)、すべてのレコードについて処理を実行していなければ、処理をステップ41に進める(No)。
【0055】
ステップ46では、統計部320は、選択レコードの語句、並びに、スパム数及び非スパム数に0を設定した語句情報210のレコードを生成し、語句情報210にレコードを格納する。
ステップ47では、統計部320は、選択レコードに含まれる語句によって、語句情報210のレコードを特定する。さらに、統計部320は、特定したレコードの非スパム数に1を加算する。
【0056】
かかる統計処理によれば、統計部320は、通知された送信先メールアドレスによってグループを特定し、特定したグループに属するすべてのユーザのメール管理テーブル170に基づいて、誤分類情報190、送信元情報200、及び語句情報210を生成する。
例えば、グループ“B社”に属するユーザのメール管理テーブル170が図5、図18で示すような内容である場合、統計部320は、図7〜図9で夫々示すような誤分類情報190、送信元情報200及び語句情報210を生成する。
【0057】
図19及び図20は、ルール更新部330が、統計部320から、送信先メールアドレスが通知されたことを契機として実行するルール更新処理のフローチャートを示す。
ステップ51では、ルール更新部330が、ユーザ管理テーブル180を参照し、通知された送信先メールアドレスにより特定されるレコードのグループ名を取り出す。また、ルール更新部330は、閾値テーブル220を参照し、取り出したグループ名によりレコードを特定する。そして、ルール更新部330は、誤分類情報190の誤分類率が、特定したレコードの誤分類率閾値以上であるか否か判定する。ルール更新部330は、誤分類率が誤分類閾値以上であれば、処理をステップ52に進める一方(Yes)、誤分類率が誤分類閾値以上でなければ、処理をステップ53に進める(No)。
【0058】
ステップ52では、ルール更新部330が、通知された送信先メールアドレスに、誤分類率が誤分類閾値を超えた旨のメールを送信する。
ステップ53では、ルール更新部330が、送信元情報200を参照し、レコードを順次選択する。
ステップ54では、ルール更新部330が、ブラックリスト160を参照し、送信元情報200の選択レコードに含まれる送信元IPアドレスが、ブラックリスト160に存在するか否か判定する。ルール更新部330は、送信元IPアドレスがブラックリスト160に存在すれば、処理をステップ55に進める一方(Yes)、送信元IPアドレスがブラックリスト160に存在しなければ、処理をステップ57に進める(No)。
【0059】
ステップ55では、ルール更新部330が、ステップ51で特定した閾値テーブル220のレコードに含まれる送信元閾値を取り出す。また、ルール更新部330は、送信元情報200の選択レコードの送信元スパム率が送信元閾値未満であるか否かを判定する。ルール更新部330は、送信元スパム率が送信元閾値未満であれば、処理をステップ56に進める一方(Yes)、送信元スパム率が送信元閾値未満でなければ、処理をステップ59に進める(No)。
【0060】
ステップ56では、ルール更新部330が、送信元情報200の選択レコードの送信元IPアドレスと同一の送信元IPアドレスを、ブラックリスト160から削除する。
【0061】
ステップ57では、ルール更新部330が、ステップ51で特定した閾値テーブル220のレコードに含まれる送信元閾値を取り出す。また、ルール更新部330は、送信元情報200の選択レコードの送信元スパム率が送信元閾値以上であるか否か判定する。ルール更新部330は、送信元スパム率が送信元閾値以上であれば、処理をステップ58に進める一方(Yes)、送信元スパム率が送信元閾値以上でなければ、処理をステップ59に進める(No)。
ステップ58では、ルール更新部330が、選択レコードの送信元IPアドレスを、ブラックリスト160に登録する。
【0062】
ステップ59では、ルール更新部330が、送信元情報200のすべてのレコードについて処理を実行したか否か判定する。ルール更新部330は、すべてのレコードについて処理を実行していれば、処理をステップ60に進める一方(Yes)、すべてのレコードについて処理を実行していなければ、処理をステップ53に進める(No)。
ステップ60では、ルール更新部330が、語句情報210を参照し、レコードを順次選択する。
【0063】
ステップ61では、ルール更新部330が、スパム語句リスト150を参照し、語句情報210の選択レコードに含まれる語句が、スパム語句リスト150に存在するか否か判定する。ルール更新部330は、選択レコードの語句がスパム語句リスト150に存在すれば、処理をステップ62に進める一方(Yes)、選択レコードの語句がスパム語句リスト150に存在しなければ、処理をステップ66に進める(No)。
【0064】
ステップ62では、ルール更新部330が、ステップ51で特定した閾値テーブル220のレコードに含まれる語句閾値を取り出す。また、ルール更新部330は、語句情報210の選択レコードの語句スパム率が語句閾値未満であるか否か判定する。ルール更新部330は、語句スパム率が語句閾値未満であれば、処理をステップ63に進める一方(Yes)、語句スパム率が語句閾値未満でなければ、処理をステップ64に進める(No)。
ステップ63では、ルール更新部330が、語句情報210の選択レコードの語句と同一の語句を、スパム語句リスト150から削除する。
【0065】
ステップ64では、ルール更新部330が、語句情報210のすべてのレコードについて処理を実行したか否か判定する。ルール更新部330は、すべてのレコードについて処理を実行していれば、処理をステップ65に進める一方(Yes)、すべてのレコードについて処理を実行していなければ、処理をステップ60に進める(No)。
ステップ65では、ルール更新部330が、誤分類情報190、送信元情報200、語句情報210を削除する。
【0066】
ステップ66では、ルール更新部330が、ステップ51で特定した閾値テーブル220のレコードに含まれる語句閾値を取り出す。また、ルール更新部330は、語句情報210の選択レコードの語句スパム率が語句閾値以上であるか否か判定する。ルール更新部330は、語句スパム率が語句閾値以上であれば、処理をステップ67に進める一方(Yes)、語句スパム率が語句閾値以上でなければ、処理をステップ64に進める(No)。
ステップ67では、ルール更新部330が、語句情報210の選択レコードの語句を、スパム語句リスト150に登録する。
【0067】
かかるルール更新処理によれば、ルール更新部330は、誤分類情報190の誤分類率が閾値テーブル220の誤分類閾値以上であるか否か判定し、誤分類閾値以上であれば、通知された送信先メールアドレスのユーザに誤分類閾値以上になった旨のメールを送信する。また、ルール更新部330は、送信元情報200を参照し、送信元スパム率が送信元閾値以上であるレコードに含まれる送信元IPアドレスのうち、ブラックリスト160に登録されていない送信元IPアドレスをブラックリスト160に登録する。また、ルール更新部330は、送信元スパム率が送信元閾値未満であるレコードに含まれる送信元IPアドレスのうち、ブラックリスト160に登録されている送信元IPアドレスをブラックリスト160から削除する。ルール更新部330は、語句スパム率が語句閾値以上であるレコードに含まれる語句のうち、スパム語句リスト150に登録されていない語句をスパム語句リスト150に登録する。ルール更新部330は、語句スパム率が送信元閾値未満であるレコードに含まれる語句のうち、スパム語句リスト150に登録されている語句をスパム語句リスト150から削除する。
【0068】
例えば、図7〜図9で夫々示す誤分類情報190、送信元情報200及び語句情報210である場合、ルール更新部300は、閾値テーブル220の“B社”の各閾値に基づいて、図3、図4で夫々示すスパム語句リスト150、ブラックリスト160を更新する。更新後のスパム語句リスト150、ブラックリスト160は、夫々図21、図22で示す
とおりとなる。
【0069】
従って、メールサーバ100がメールを受信すると、受信メールの送信先のユーザのメール管理テーブル170が更新される。また、隔離用メールボックス130のスパムメールがメールボックス120に移動されたとき、メール管理テーブル170が更新され、スパムメールが誤分類メールとなる。さらに、更新されたメール管理テーブル170により特定されるユーザと同一のグループに属する全ユーザのメール管理テーブル170に基づき、グループのスパム語句リスト150、ブラックリスト160が更新される。分類部300は、更新されたスパム語句リスト150及びブラックリスト160に基づき、グループの各ユーザの受信メールを正常メール又はスパムメールに分類する。このため、スパム語句リスト150及びブラックリスト160を、各ユーザが必要とするメール分類ルールに近づけ、分類部300によるメールの分類精度を向上させることができる。
【0070】
また、メール管理者などが、スパムメール及び誤分類メールの発生状況に応じて、語句閾値、送信元閾値を変更することで、スパム語句リスト150、ブラックリスト160の更新頻度を調整し、より確実に各ユーザが必要とするメール分類ルールに近づけることができる。例えば、語句閾値が高すぎる場合、スパム語句リスト150の更新頻度が低くなるため、スパムメールに分類してほしい受信メールが、正常メールに分類される可能性が高くなる。このため、メール管理者は、語句閾値をより低い値に変更する。語句閾値が低すぎる場合、スパム語句リスト150の更新頻度が高くなるため、正常メールに分類してほしい受信メールがスパムメールに分類される可能性が高くなる。このため、メール管理者は、語句閾値をより高い値に変更する。
【0071】
ユーザをグループに区分けする所定規則には、例えば、ユーザが所属する企業、企業の業種、及びユーザが使用するメールフィルタリング製品を提供するベンダが考えられる。
【0072】
所定規則が企業の場合、図6に示すように、ユーザ管理テーブル180のグループ名にユーザ(従業員など)が所属する企業の名前が設定される。また、閾値テーブルには、図10に示すように各企業の閾値値が定義される。特定の企業に属するユーザに対するメールに基づいて、特定の企業向けのスパム語句リスト150及びブラックリスト160が更新されることで、特定の企業は、特定の企業が必要とするメール分類ルールに近づけた設定でスパムメールに対処することができる。
【0073】
所定規則が業種の場合、図23に示すように、グループ名及びグループの業種を関連付けたレコードが格納されたグループ情報テーブル610が、前述した実施形態のストレージ110に追加される。さらに、閾値テーブル220には、図24に示すように、各業種の閾値が定義される。統計部320は、ユーザ管理テーブル180及びグループ情報テーブル610を参照し、特定業種の企業に属するすべてのユーザのメール管理テーブル170に基づいて、特定業種の誤分類情報190、送信元情報200、語句情報210を生成する。ルール更新部330は、閾値テーブル220、生成された特定業種の誤分類情報190、送信元情報200、及び語句情報210に基づき、特定業種のスパム語句リスト150及びブラックリスト160を更新する。
【0074】
ここで、特定業種向けのスパム語句リスト150の具体例として、ブライダル業向けのスパム語句リスト150を挙げる。例えば、「愛」という語句は、スパムメールである可能性が高いメールに含まれることがあるが、ブライダル業の企業では通常業務のメールで含まれるため、ブライダル業向けのスパム語句リスト150から「愛」という語句は除外される。特定業種の企業は、特定業種向けのスパム語句リスト150及びブラックリスト160を使用することで、特定業種の企業が必要とするルールに近づけた設定でスパムメールに対処することができる。
【0075】
所定規則がベンダの場合、特定のメールフィルタリング製品を使用するユーザに対するメールに基づいて、特定のベンダから提供されるデフォルトのスパム語句リスト150及びブラックリスト160が更新される。そして、スパム語句リスト150及びブラックリスト160は、世の中のスパムメールの発生状況により適した設定となる。
【0076】
メール管理テーブル170のレコードを生成する元となる受信メールを、所定期間(例えば1日)の間にメールサーバ100が受信したメールに限定し、統計部320が所定期間に受信したメールを元に統計処理を実行してもよい。例えば所定期間を1日にした場合、1日の間に受信したメールからメール管理テーブル170が生成される。そして、ブラックリスト160には、1日の間にスパムメールに分類された受信メールの送信元IPアドレスのうち、送信元閾値以上の割合の送信元IPアドレスが登録される。さらに、スパム語句リスト150には、1日の間にスパムメールに分類された受信メールに含まれていた語句のうち、語句閾値以上の割合の語句が登録される。
【0077】
同一の送信元IPアドレスから、一定時間(例えば1秒)の間に所定数(例えば1万通)以上の大量のメールが送信されてきた場合、送信元IPアドレスをブラックリスト160に登録する処理を分類部300に追加してもよい。
【0078】
分類部300が受信メールを分類するために参照する範囲を、添付ファイルまで拡大してもよい。ここで、分類部300の参照対象となる添付ファイルは、メールサーバ100が解読可能な添付ファイルのみである。この場合、分類部300は、受信メールのSubject及び本文に含まれる語句に加えて、添付ファイルに含まれる語句から、メール管理テーブル170のレコードを生成する。
【0079】
スパム語句リスト150又はブラックリスト160が更新された後、メールボックス120に格納された正常メール及び誤分類メール、並びに、隔離用メールボックス130に格納されたスパムメールを、更新されたスパム語句リスト150又はブラックリスト160に基づいて、再分類してもよい。
【0080】
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)複数のユーザを含むグループに対して適用するメール分類ルールを記憶する記憶手段と、前記グループに含まれるいずれかのユーザ宛のメールであって、前記メール分類ルールに基づいて分類されたメールについての分類先の変更処理が実行されると、該変更処理に応じて前記記憶手段に記憶した前記分類ルールを変更する変更手段と、変更手段によって前記分類ルールが変更された後に、変更された分類ルールに基づいて、前記グループに属するユーザ宛のメールの分類を行う分類手段と、を備えたことを特徴とするメール分類方法。
【0081】
(付記2)前記分類ルールに基づいて分類されたすべてのメールのうち、分類先のメールの割合を算出する算出手段を更に備え、前記変更手段は、前記割合が、前記分類ルールの変更基準を定義した所定値以上のときに、前記分類ルールを変更することを特徴とする付記1に記載のメール分類方法。
【0082】
(付記3)前記所定値は、任意に設定可能であることを特徴とする付記2に記載のメール分類方法。
(付記4)前記算出手段は、所定期間に分類されたすべてのメールから前記割合を算出することを特徴とする付記2又は付記3に記載のメール分類方法。
(付記5)前記分類ルールは、所定規則に則って区分けされた、ユーザのグループ毎に存在することを特徴とする付記1〜4のいずれか1つに記載のメール分類方法。
【0083】
(付記6)複数のユーザを含むグループに対して適用するメール分類ルールを記憶するストレージを有するコンピュータに、前記グループに含まれるいずれかのユーザ宛のメールであって、前記メール分類ルールに基づいて分類されたメールについての分類先の変更処理が実行されると、該変更処理に応じて前記ストレージに記憶した前記分類ルールを変更するステップと、変更手段によって前記分類ルールが変更された後に、変更された分類ルールに基づいて、前記グループに属するユーザ宛のメールの分類を行うステップと、
を実現させることを特徴とするメール分類プログラム。
【0084】
(付記7)複数のユーザを含むグループに対して適用するメール分類ルールを記憶するストレージを有するコンピュータに、前記グループに含まれるいずれかのユーザ宛のメールであって、前記メール分類ルールに基づいて分類されたメールについての分類先の変更処理が実行されると、該変更処理に応じて前記ストレージに記憶した前記分類ルールを変更するステップと、変更手段によって前記分類ルールが変更された後に、変更された分類ルールに基づいて、前記グループに属するユーザ宛のメールの分類を行うステップと、
を実現させるためのメール分類プログラムを記録したコンピュータ読取可能な記録媒体。
【符号の説明】
【0085】
100 サーバ
110 ストレージ
150 スパム語句リスト
160 ブラックリスト
220 閾値テーブル
310 再分類部
320 統計部
330 ルール更新部
【特許請求の範囲】
【請求項1】
複数のユーザを含むグループに対して適用するメール分類ルールを記憶する記憶手段と、
前記グループに含まれるいずれかのユーザ宛のメールであって、前記メール分類ルールに基づいて分類されたメールについての分類先の変更処理が実行されると、該変更処理に応じて前記記憶手段に記憶した前記分類ルールを変更する変更手段と、
変更手段によって前記分類ルールが変更された後に、変更された分類ルールに基づいて、前記グループに属するユーザ宛のメールの分類を行う分類手段と、
を備えたことを特徴とするメール分類方法。
【請求項2】
前記分類ルールに基づいて分類されたすべてのメールのうち、分類先のメールの割合を算出する算出手段を更に備え、
前記変更手段は、前記割合が、前記分類ルールの変更基準を定義した所定値以上のときに、前記分類ルールを変更することを特徴とする請求項1に記載のメール分類方法。
【請求項3】
前記算出手段は、所定期間に分類されたすべてのメールから前記割合を算出することを特徴とする請求項2に記載のメール分類方法。
【請求項4】
前記分類ルールは、所定規則に則って区分けされた、ユーザのグループ毎に存在することを特徴とする請求項1〜3のいずれか1つに記載のメール分類方法。
【請求項5】
複数のユーザを含むグループに対して適用するメール分類ルールを記憶するストレージを有するコンピュータに、
前記グループに含まれるいずれかのユーザ宛のメールであって、前記メール分類ルールに基づいて分類されたメールについての分類先の変更処理が実行されると、該変更処理に応じて前記ストレージに記憶した前記分類ルールを変更するステップと、
変更手段によって前記分類ルールが変更された後に、変更された分類ルールに基づいて、前記グループに属するユーザ宛のメールの分類を行うステップと、
を実現させることを特徴とするメール分類プログラム。
【請求項1】
複数のユーザを含むグループに対して適用するメール分類ルールを記憶する記憶手段と、
前記グループに含まれるいずれかのユーザ宛のメールであって、前記メール分類ルールに基づいて分類されたメールについての分類先の変更処理が実行されると、該変更処理に応じて前記記憶手段に記憶した前記分類ルールを変更する変更手段と、
変更手段によって前記分類ルールが変更された後に、変更された分類ルールに基づいて、前記グループに属するユーザ宛のメールの分類を行う分類手段と、
を備えたことを特徴とするメール分類方法。
【請求項2】
前記分類ルールに基づいて分類されたすべてのメールのうち、分類先のメールの割合を算出する算出手段を更に備え、
前記変更手段は、前記割合が、前記分類ルールの変更基準を定義した所定値以上のときに、前記分類ルールを変更することを特徴とする請求項1に記載のメール分類方法。
【請求項3】
前記算出手段は、所定期間に分類されたすべてのメールから前記割合を算出することを特徴とする請求項2に記載のメール分類方法。
【請求項4】
前記分類ルールは、所定規則に則って区分けされた、ユーザのグループ毎に存在することを特徴とする請求項1〜3のいずれか1つに記載のメール分類方法。
【請求項5】
複数のユーザを含むグループに対して適用するメール分類ルールを記憶するストレージを有するコンピュータに、
前記グループに含まれるいずれかのユーザ宛のメールであって、前記メール分類ルールに基づいて分類されたメールについての分類先の変更処理が実行されると、該変更処理に応じて前記ストレージに記憶した前記分類ルールを変更するステップと、
変更手段によって前記分類ルールが変更された後に、変更された分類ルールに基づいて、前記グループに属するユーザ宛のメールの分類を行うステップと、
を実現させることを特徴とするメール分類プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【公開番号】特開2012−198744(P2012−198744A)
【公開日】平成24年10月18日(2012.10.18)
【国際特許分類】
【出願番号】特願2011−62066(P2011−62066)
【出願日】平成23年3月22日(2011.3.22)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成24年10月18日(2012.10.18)
【国際特許分類】
【出願日】平成23年3月22日(2011.3.22)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]