説明

電子メール分類装置および電子メール分類方法

【課題】非スパムメールをスパムメールとして誤判別することを軽減する。
【解決手段】単語ごとに、スパムの傾向を有するか非スパムの傾向を有するか、およびこの傾向の大きさを指標化して単語傾向情報のデータベースを構築する。電子メールに含まれる単語のうち、データベースに登録されている単語に対してはデータベースからその単語傾向情報を検出し、データベースに登録されていない単語に対しては、非スパムの傾向を有する単語として単語傾向情報を付与する。検出された単語傾向情報および付与された単語傾向情報を用いて、判別対象の電子メールがスパムメールであるか否かを判別する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子メールの分類技術、具体的には電子メールに含まれる単語を用いて電子メールを分類する技術に関する。
【背景技術】
【0002】
電子メールの利用者数の増加に伴い、利用者が望まない宣伝広告や嫌がらせなどの電子メール、いわゆるスパムメールの受信数が膨大になりつつある。これらのスパムメールを自動的に判別して削除したり、特定のフォルダに入れたりするなど、スパムメールを排除するための技術が開発されている。
【0003】
その一例として、特許文献1において、スパムメールとなるサンプルメールを保持しておき、新たに受信した電子メールの内容と、サンプルメールの内容とを比較することによって、電子メールの内容に基づいた判別を行う方法が開示されている。
【0004】
スパムメールか非スパムメールかを判別する目的は、受け手のユーザの手を煩ずにスパムメールを排除することにある。スパムメールとして判別したメールを削除するシステムにおいては、ユーザは削除された電子メールに気づくことがほとんどない。スパムメールとして判別されたメールを専用フォルダに格納するシステムにおいては、ユーザは通常そのフォルダ内の電子メールを確認しないので、専用フォルダに格納された電子メールの中に非スパムメールが混在したとしても、気づくことが少ない。そのため、スパムメールか非スパムメールかを判別するシステムにおいて、非スパムメールをスパムメールとして誤判別してしまうことを極力避けることが要望される。
【特許文献1】特開2003−348161号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
本発明は上記事情に鑑みてなされたものであり、その主たる目的は、非スパムメールをスパムメールとして誤判別してしまうことを軽減することができる技術を提供することにある。
【課題を解決するための手段】
【0006】
本発明のある態様は、電子メール分類装置である。この装置は、単語がスパムの傾向を有するか非スパムの傾向を有するか、およびこの傾向の大きさを単語傾向情報として、単語ごとに対応づけて保持する単語傾向情報保持部と、判別対象の電子メールを取得するメール取得部と、取得した電子メールに含まれる単語を抽出する単語抽出部と、抽出された単語のうち、単語傾向情報保持部に登録されている単語については、単語傾向情報保持部からその単語傾向情報を検出する一方、単語傾向情報保持部に登録されていない未登録単語については、非スパムの傾向を有する単語として単語傾向情報を付与する単語傾向情報取得部と、電子メールから抽出された単語の単語傾向情報から、電子メールがスパムメールであるか否かを判別する判別部とを備える。
【0007】
また、単語傾向情報取得部は、未登録単語の数が、抽出された単語の数に対して占める割合が所定の閾値以上であることを条件として未登録単語に単語傾向情報を付与し、判別部は、この割合が閾値より小さい場合には、検出された単語傾向情報のみから、判別を行うようにしてもよい。
【0008】
また、単語傾向情報取得部は、非スパム傾向の大きさがとりうる値の範囲内における中間値近傍の値を未登録単語の非スパム傾向の大きさとして付与するようにしてもよい。この際、単語傾向情報取得部は、中間値以下の値を未登録の単語の非スパム傾向の大きさとして付与するようにしてもよい。
【0009】
さらに、判別部は、単語傾向情報取得部により得られた単語傾向情報に基づいて、スパムの傾向が大きい単語から順に複数の単語を選出して第1の単語群を得るとともに、非スパムの傾向が大きい単語から順に複数の単語を選出して第2の単語群を得る単語群選出部を備え、第1の単語群と第2の単語群に含まれる各単語の単語傾向情報から、判別対象の電子メールの傾向およびこの傾向の大きさを算出することにより判別を行うようにしてもよい。
【0010】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、プログラムを記憶した記憶媒体、コンピュータプログラムなどの間で変換したものも、本発明の態様としては有効である。
【発明の効果】
【0011】
本発明は、電子メールがスパムメールなのか否かの判別において有利である。
【発明を実施するための最良の形態】
【0012】
本発明の実施の形態の詳細を説明する前に、まず、電子メールがスパムメールか否かの判別手法として広く知られている、ベイジアンフィルタ(baysian filter)に基づいたPaul Graham方式(以下Paul方式という)と比較しながら、本発明者が提案する技術の概要を説明する。
【0013】
たとえば、100通の電子メールのうち、70通がスパムメールであり、残りの30通が非スパムメールであったとする。ここで、ある単語Aがスパムメール70通のうちの60通、非スパムメール30通のうちの3通から検出されたとする。この場合、単語Aは、スパムメールに現れやすい単語であるから、単語Aが含まれている電子メールはスパムメールの傾向を有すると言える。ベイジアンフィルタは、このような観点から、単語ごとに、この単語を含むことによって電子メールがスパムメールの傾向を有するか非スパムメールの傾向を有するか、およびこの傾向の大きさを、単語の傾向および傾向の大きさを示す単語傾向情報としてデータベースを構築する。そして、このデータベースを参照して、新たに受信した電子メールの各々の単語から、傾向の大きい単語を特徴語として複数選出して、これらの特徴語の単語傾向情報を用いて電子メールがスパムメールか非スパムメールかの判別を行う。
【0014】
ここで、スパムメールのサンプル100通と、非スパムメールのサンプル100通をあらかじめ用意されているとする。単語Aがこのスパムメール群では98回、非スパムメール群では2回現れたとする。この場合、単語Aは、スパムの傾向を有すると言える。また、たとえばスパムメール群では60回、非スパムメール群では2回現れた単語Bについては、スパムの傾向を有し、その傾向の大きさは、単語Aの傾向より小さいと言える。一方、単語Cがスパムメール群では1回、非スパムメール群では25回現れたとする。この場合、単語Cが非スパムの傾向を有すると言える。また、たとえばスパムメール群では1回、非スパムメール群では15回現れた単語Dについては、非スパムの傾向を有し、その傾向の大きさは、単語Cの傾向より小さいと言える。
【0015】
Paul方式では、このような傾向、およびその傾向の大きさを単語スパム確率により表し、この単語スパム確率を下記の式(1)にしたがって算出する。
【0016】
p=(m/M)/(a×n/N+m/M) (1)
但し、p:単語スパム確率
m:単語がスパムメール群において登場した回数
M:スパムメールの総数
n:単語が非スパムメール群において登場した回数
N:非スパムメールの総数
a:1より大きい係数
上記200通のメールに含まれる各単語に対して単語スパム確率を算出してデータベース化する。このデータベースは、判別対象となる電子メールがスパムメールであるか否かの判別に用いられる。具体的には、まず、判別対象の電子メールに含まれる各々の単語のスパム確率をデータベースから検出する。ここで、たとえば図1に示すような検出結果が得られたとする。
【0017】
図1に示すように、単語スパム確率は0から1までの範囲内の値を有しうる。単語スパム確率が0.5より大きい単語は、スパムの傾向を有する。また、単語のスパム確率が0.5より大きいほどすなわち1に近いほど、その単語のスパムの傾向が大きい。一方、単語スパム確率が0.5より小さい単語は、非スパムの傾向を有し、単語のスパム確率が0.5より小さいほどすなわち0に近いほど、その単語の非スパムの傾向が大きい。0.5という単語スパム確率を有する単語は、この単語を含む電子メールがスパムメールである可能性と、非スパムメールである可能性がほぼ同じである。
【0018】
図1のような検出結果に基づいて、判別に使用する単語が選出される。Paul方式では、選出する単語の数が15個までとされており、その選出方法は、「単語スパム確率が0.5との差が大きい順から選択する」である。たとえば、判別に使用する単語の数が10とされた場合には、図2に示すような10個の単語が選出される。図2において、単語は、その単語スパム確率が0.5との差が大きい順に並べられている。
【0019】
選出した単語の単語スパム確率を用いて、下記の式(2)にしたがって、「電子メールがスパムメールである可能性の大きさ」(以下「メールスパム確率」という)が算出される。
【0020】
【数1】

【0021】
図2のような単語が選出された場合には、メールスパム確率の値は式(2)にしたがって算出され、約0.955となる。
【0022】
算出されたメールスパム確率が所定の閾値Tたとえば0.9と比較され、0.9より大きければ、判別対象の電子メールはスパムメールとして判別される。ここで、図1に示すような単語が抽出された電子メールに対して算出されたメールスパム確率が0.955であるので、この電子メールがスパムメールとして判別される。
【0023】
そして、判別の結果を用いて、式(1)による再計算をすることによりデータベースを更新する。
【0024】
また、電子メールに対する判別の結果は、必ずしも正しいとは限らないので、この判別の結果をユーザに修正させ、修正の結果をデータベースにフィードバックしたり、判別する際に用いるパラメータを調整することによって、判別の精度向上を図ることが行われる。たとえば、判別の結果をユーザに示し、ユーザに正否の判定をさせ、判定の結果を用いて式(1)による再計算を行い、データベースを更新する。また、たとえば、判別した所定数の電子メールのうち、非スパムメールをスパムメールとして誤判別した回数が所定の回数を超えたときに、閾値Tを下げたり、式(1)にある係数aを大きくしたりするなどの調整が行われる。
【0025】
ところで、データベースは、すべての単語を網羅することができない。データベースに登録されていない未登録単語が多数含まれた電子メールを判別する際に、未登録単語の単語スパム確率をデータベースから取得できない。データベースから単語スパム確率を取得することができる単語のみを用いて判別を行うと、非スパムメールをスパムメールとして判別してしまうことが多くなる。特に、急速に普及した携帯メールのような短い文書の電子メールの場合、それに含まれる単語の数が元々比較的に少ない。その中に未登録単語が占める割合が多いと、データベースにその単語スパム確率が登録されている単語であって、スパム傾向を有する単語が少量含まれただけで、そのメールがスパムメールとして判別される可能性が高い。
【0026】
そこで、本発明者は、非スパムメールをスパムメールとして誤判別してしまうことを軽減することができる下記の技術を提案する。
【0027】
この技術は、判別対象の電子メールに含まれた各単語のうちの、データベースにその単語傾向情報が登録されている単語に対して、データベースから単語傾向情報を検出する。一方、未登録単語に対しては、非スパム傾向を有する単語として単語傾向情報を付与する。そして、検出された単語傾向情報および付与された単語傾向情報を用いて、判別対象の電子メールがスパムメールか否かの判別を行う。
【0028】
判別の具体的な手法の一例として、Paul方式を用いるとする。検出された単語傾向情報および付与された単語傾向情報に基づいて、傾向の大きい単語を選出する。すなわち、単語スパム確率が0.5との差が大きい順から複数個選出して、これらの単語の単語スパム確率を用いて上記式(2)にしたがってメールスパム確率を算出する。そして、算出したメールスパム確率を閾値Tと比較することによって判別する。
【0029】
この技術によれば、データベースに未登録の単語を、非スパムの傾向を有する単語として単語傾向情報を付与しているので、未登録の単語の単語スパム確率が0.5以下の値を有することになる。そのため、判別対象の電子メールに含まれる単語の数が少ないときや、データベースに登録された単語の量が少ないときなど、未登録の単語も、判別に用いる単語として選出される可能性が出てくるので、非スパムメールをスパムメールとして誤判別してしまうことを軽減することができる。
【0030】
また、判別対象の電子メールに含まれる単語のうち、未登録単語が占める割合が大きい場合において、これらの単語を使用しないと、非スパムメールをスパムメールとして誤判別してしまう危険性が、未登録単語が占める割合が小さい場合より高い。そのため、未登録単語に対して単語傾向情報を付与する際に、未登録単語の割合が所定の閾値たとえば50%以上であることを条件とすることが好ましい。この場合、データベースから検出された単語スパム確率を用いて判別を行えばよい。こうすることによって、非スパムメールをスパムメールとして誤判別してしまうことを軽減しつつ、スパムメールの検出率が過度に下がるのを防ぐことができる。
【0031】
また、非スパムの傾向の大きさとして未登録単語に付与する値が小さすぎる(すなわち0.5に近すぎる)と、未登録単語が選出される可能性が少ないため、非スパムメールをスパムメールに誤判別することを軽減する効果が小さくなる。一方、非スパムの傾向の大きさとして未登録単語に付与する値が大きすぎる(すなわち0.5から離れすぎる)と、未登録単語が多量に選出されることを招き、スパムメールの検出率が低下する。
【0032】
そこで、本発明者は、非スパムの傾向の大きさがとりうる範囲内における中間値の近傍の値を、非スパム傾向の大きさとして未登録単語に付与することを提案する。たとえば非スパム傾向の大きさがとりうる範囲がAからBまでである場合において、中間値「(A+B)/2」近傍の値を、「(3A+B)/4」から「(A+3B)/4」までの範囲内の値とすることができる。さらに、非スパムの傾向の大きさがとりうる範囲内における中間値の近傍の値のうち、中間値以下の値を非スパム傾向の大きさとして未登録単語に付与することがより好ましい。なお、単語傾向情報として単語スパム確率を用いる場合において、非スパムの傾向の大きさがとりうる範囲は0.5から0までとなり、中間値は0.25となる。そして、中間値近傍の値は、0.38から0.13の範囲に含まれる値とすることができる。さらに、中間値近傍の値であって、中間値以下の値としては、0.25から0.38の範囲に含まれる値とすることができる。
【0033】
さらに、判別する際に用いられる単語の選出をする際に、Paul方式の「単語スパム確率が0.5との差が大きい順から選択する」方法の代わりに、「スパム傾向が大きい単語から順に複数選出とともに、非スパム傾向が大きい傾向から順に複数選出する」ようにすることが好ましい。その際、スパム傾向の単語と非スパムの単語を同数選出することがより好ましい。
【0034】
Paul方式により単語を選出する際に、「0.5」との差が大きい単語スパム確率を有する単語を選出するようにしている。たとえば、電子メールから図3に示すような単語が抽出されたとする。図示の例において、たとえば判別に選出する単語の数が2である場合には、単語スパム確率が0.5との差が最も大きい2つの単語「お金」、「出会い」が選出される。この2つの単語とも、その単語スパム確率が0.5より大きく、すなわち電子メールがスパムメール傾向にあることを示す単語である。この場合、電子メールに含まれた、電子メールが非スパムメールである傾向に示す単語「修正」、「ドライブ」などが判別に全く使用されず、電子メールの非スパムメールとしての傾向、すなわち非スパム性が無視される。
【0035】
同じように、電子メールに含まれた、電子メールがスパムメールの傾向を有する単語が使用されず、電子メールのスパムメールとしての傾向、すなわちスパム性が無視される場合もある。
【0036】
このようなことから、Paul方式で得られるメールスパム確率は、0近傍と1近傍の両極端の値に集中しやすい。これの一因は、単語の選出方法により、電子メールが元々あるスパムメール性または非スパムメール性を無視したことにある。
【0037】
電子メールの非スパム性に対する無視を軽減するために、Paul方式では、単語スパム確率を算出する際に、式(1)右辺の分母にある係数aとして1より大きい値を使用し、単語が非スパムメールとして登場した回数を加重している。この係数aの値によって、求められた単語スパム確率が変わる。単語スパム確率の値もまたメールスパム確率の値を影響するので、調整を行う際には、係数aと閾値Tについて、互いの影響を見ながら調整する必要があり、調整自体が煩雑である。また、メールスパム確率が、0と1近傍に集中してしまうため、閾値Tの調整に望める効果が薄い。
【0038】
次に、図3の例を用いて、判別のために選出する単語の数を5とした場合について考える。「リスト」、「懸賞」、「くじ」の3つの単語の単語スパム確率がそれぞれ0.8であり、0.5との差が0.3となる。一方、「原稿」、「修正」、「ドライブ」の3つの単語の単語スパム確率と0.5との差も0.3である。「お金」、「出会い」の2つの単語以外に、残りの3つの単語として、単語スパム確率が高いほうの3つの単語(「リスト」、「懸賞」、「くじ」)を選出するか、単語スパム確率が低いほうの3つの単語(「原稿」、「修正」、「ドライブ」)を選出するかによって、後に求められるメールスパム確率の値が変わる。
【0039】
単語スパム確率が高いほうの3つの単語を選出すると、メールスパム確率が0.9999となり、単語スパム確率が低いほうの3つの単語を選出すると、メールスパム確率が0.7277となる。
【0040】
すなわち、Paul方式では、単語を選出する際に、単語スパム確率と0.5との差が同じ場合において、単語スパム確率が0.5より大きい単語と0.5より小さい単語のいずれを優先するかによって、判別の結果が大きく変わってしまう。
【0041】
また、仮に優先順位をあらかじめ定めておくようにした場合においても、浮動小数点演算の際の演算誤差によって、判別の結果に大きな差が生じてしまうことがある。たとえば、単語スパム確率に対して小数点第3位までとる場合、0.281と0.716の2つの単語スパム確率は、0.5との差がそれぞれ0.219と0.216であるため、差の大きい「0.281」という単語スパム確率を有する単語が選出される。一方、単語スパム確率に対して小数点第2位までとる場合には、この2つの単語スパム確率がそれぞれ0.28と0.72になり、0.5との差は同じく0.22となる。0.5より大きい単語スパム確率を有する単語が優先的に選出されるので、「0.72」、実質的には「0.716」という単語スパム確率を有する単語が選出される。これでは判別の結果が大きく変わる。
【0042】
それに対して、本発明者が提案した単語の選出方法、すなわち「スパム傾向が大きい単語から順に複数選出とともに、非スパム傾向が大きい傾向から順に複数選出する」方法である。具体的には、スパムの傾向を有する単語から、その傾向が大きい単語から順に複数の単語を選出して第1の単語群を得るとともに、非スパムの傾向を有する単語からその傾向が大きい単語から順に複数の単語を選出して第2の単語群を得る。ここも単語傾向情報として単語スパム確率を用いて説明する。
【0043】
単語の選出にあたって、たとえば単純に単語スパム確率が大きい順(すなわちスパムの傾向が大きい順)から複数の単語を選出して第1の単語群を得、単語スパム確率が小さい順(すなわち非スパムの傾向が大きい順)から複数の単語を選出して第2の単語群を得るようにすることができる。また、第1の単語群として、0.5以上の単語スパム確率を有する単語から、単語スパム確率が大きい単語から順に複数の単語を選出し、第2の単語群として、0.5以下の単語スパム確率を有する単語から、単語スパム確率が小さい単語から順に複数の単語を選出するようにしてもよい。このように得られた2つの単語群の単語を判別に用いることによって、電子メールのスパム性および非スパム性が無視されることを防ぐことができる。
【0044】
また、この2つの単語群のそれぞれの単語数が等しくなるように選出をすれば、単語スパム確率を算出する際に、Paul方式による上記式(1)から、係数aという人為的に調整を加えるパラメータを排除することができる。
【0045】
ここで、図3に示す例を用いて、第1の単語群と第2の単語群のそれぞれの単語数を2にして、本発明者の提案した技術による下記の式(3)にしたがって、メールスパム確率を計算する。なお、この式は、2つの単語群に含まれる単語のそれぞれのスパム確率を用いてメールスパム確率を算出するための式であり、使用される単語が異なる点以外、Paul方式がメールスパム確率を計算する際に用いる上記式(2)と同じである。
【0046】
【数2】

【0047】
この場合において、0.5以上の単語スパム確率を有する単語から「お金」、「出会い」が選出され、中間確率が0.5以下の単語スパム確率を有する単語から「原稿」、「修正」が選出される。これらの単語の単語スパム確率から算出したメールスパム確率が0.91である。
【0048】
すなわち、電子メールのスパム性および非スパム性を無視しない処理方法を採用した結果、算出したメールスパム確率が0近傍と1近傍に集中することが無くなる。これによって、閾値Tの値を変更することによって、より精緻な調整が可能である。
【0049】
また、2つの単語群の数を5にした場合においても、0.5より大きい単語と0.5より小さい単語のいずれを優先するかの問題がないため、安定した判別結果を得ることができる。もちろん、浮動小数点演算の際の誤差に起因する判別結果の不安定を回避することもできる。
【0050】
さらに、係数aによる加重の必要がないので、単語スパム確率が下記の式(4)にしたがって計算することができる。
【0051】
p=(m/M)/(n/N+m/M) (4)
但し、p:単語スパム確率
m:単語がスパムメール群において登場した回数
M:スパムメールの総数
n:単語が非スパムメール群において登場した回数
N:非スパムメールの総数
これによって、本発明者が提案したこの技術によれば、精度向上などのために調整を行う際に、閾値Tのみを調整すればよいので、簡単である。
【0052】
以下、本発明の実施の形態について、以上の原理を具現化してシステムを説明する。
【0053】
図4は、本発明にかかる実施の形態による電子メールシステムの構成を示す。この電子メールシステムは、メールサーバ10、端末100を有し、メールサーバ10と端末100は、ネットワーク50により接続される。
【0054】
端末100は、ユーザが使用するパーソナルコンピュータや携帯端末などの情報機器であり、電子メールの送受信や閲覧のための機能を備えている。本実施例において、端末100は、受信した電子メールがスパムメールであるか否かを判別する機能も備える。
【0055】
図5は、端末100の構成を示す。分かりやすくするために、ここでは、電子メールの処理に関わる要素のみを示し、情報機器が一般に備える要素については省略する。また、図4に示す構成は、電子メールを処理するプログラムをコンピュータ上で実行することにより実現される。この処理プログラムは、CD−ROMなどの記憶媒体に記憶され、もしくはインターネット等のネットワークを介して配布され、コンピュータにインストールされる。
【0056】
端末100は、メール取得部104と、単語抽出部108と、データベース120と、単語スパム確率取得部110と、単語群選出部130と、判別部140と、判別済みメール処理部150と、データベース更新部160とを備える。また、図示していないが、端末100は、ユーザが種々の入力をするための入力部や、メールを表示するためのモニタなどのユーザインタフェースも備える。
【0057】
メール取得部104は、メールサーバ10から電子メールを取得する。単語抽出部108は、メール取得部104により取得した電子メールに含まれる単語を抽出する。なお、ここでいう単語とは、単語の集合、バイトストリームであってもよく、必ずしも文を構成する最小単語としての「単語」に限定する必要はない。
【0058】
単語スパム確率取得部110は、単語抽出部108により抽出した各単語のスパム確率を取得する。
【0059】
図6は、単語スパム確率取得部110の構成を示すブロック図である。単語スパム確率取得部110は、単語スパム確率検出部112と、未登録単語割合算出部114と、単語スパム確率付与部116を備える。
【0060】
単語スパム確率検出部112は、単語抽出部108により抽出された単語のうち、データベース120にその単語スパム確率が登録されている単語の単語スパム確率を、データベース120から検出する。
【0061】
未登録単語割合算出部114は、単語抽出部108により抽出された単語のうち、後述するデータベース120に、その単語スパム確率が登録されていない未登録単語の数の割合を算出する。
【0062】
単語スパム確率付与部116は、未登録単語に対して単語スパム確率を付与する。また、この付与は、未登録単語の割合が閾値50%以上であることを条件とする。本実施例において、単語スパム確率付与部116は、非スパムの傾向の大きさがとりうる値の範囲0〜0.5において、中間値0.25の近傍であって、0.25により示される非スパムの傾向より小さい傾向を示す0.3という単語スパム確率を未登録単語に付与する。
【0063】
単語スパム確率取得部110は、単語スパム確率付与部116により付与が行われた場合において、単語スパム確率検出部112と、単語スパム確率付与部116により得られた単語スパム確率を単語群選出部130に出力する。一方、付与が行われなかった場合においては、単語スパム確率取得部110は、単語スパム確率検出部112により得られた単語スパム確率のみを出力する。
【0064】
ここで、例として、未登録単語の割合が50%以上であり、未登録単語に対してスパム確率として0.3が付与されたとする。
【0065】
図7は、データベース120を示す。データベース120は、単語ごとの単語スパム確率p、および履歴情報を含む。履歴情報は、スパムメールの総数M、非スパムメールの総数N、それぞれの単語がスパムメールに出た回数mと非スパムメールに出た回数nを含む。
【0066】
初期状態におけるこのデータベース120は、たとえばサンプルメールを用いて作成され、電子メールを処理するプログラムに付属されたものとすることができる。また、初期状態において、データベース120の中身が空であって、電子メールを受信しはじめてから内容が充実されたものであってもよい。この場合において、電子メールがスパムメールであるか否かの判定をユーザに委ね、ユーザの判定結果に応じて、単語の登録、履歴情報の更新、単語スパム確率の計算などによってデータベースを更新する。単語スパム確率の計算は、上述した式(4)を用いればよい。そして、一定の数の電子メール数を受信したことに伴って、データベースが充実してから端末100による自動判別を開始するようにしてもよい。以下の説明において、データベース120は既に内容があり、端末100による自動判別が開始されたとする。
【0067】
単語群選出部130は、単語スパム確率取得部110から出力された各々の単語の単語スパム確率pに基づいて、単語スパム確率が高い単語から順に複数たとえば10個の単語を選出して第1の単語群を得る。また、単語群選出部130は、単語スパム確率が低い単語から順に、同じく10個の単語を選出して第2の単語群を得る。
【0068】
図8は、単語群選出部130により選出した単語群の例を示す。図示のように、第2の単語群において、8個の未登録単語が含まれている。
【0069】
判別部140は、単語群選出部130により得た2つの単語群に含まれる各単語の単語スパム確率を用いて、上述した式(3)にしたがってメールスパム確率を算出する。そして、算出したメールスパム確率が、予め設定された閾値T以上か、閾値Tより小さいかによって、電子メールがスパムメールであるか否かを判別する。
【0070】
判別部140は、判別の結果を判別済みメール処理部150とデータベース更新部160に出力する。
【0071】
判別済みメール処理部150は、判別部140による判別結果が、メール取得部104により取得した電子メールがスパムメールであることを示す場合において、その電子メールを、スパムメールを格納するためのフォルダたとえば「スパムメールフォルダ」に格納する。一方、判別結果が、電子メールがスパムメールではない、すなわち非スパムメールであることを示す場合においては、その電子メールを、新しく受信したメールを格納するためのフォルダたとえば「受信箱」に格納する。
【0072】
データベース更新部160は、判別部140による判別結果に基づいて、データベース120の履歴情報を更新するとともに、上記式(4)にしたがって、単語抽出部108により抽出した各単語の単語スパム確率を再計算して、データベース120の対応する単語の単語スパム確率を更新する。また、これらの単語のうち、データベース120に登録されていない単語がある場合には、これらの新しい単語を登録する。
【0073】
図9は、電子メール受信時における端末100の処理過程を示すフローチャートである。
【0074】
まず、メール取得部104はメールサーバ10から電子メールを取得する(S10)。単語抽出部108はこの電子メールから単語を抽出する(S14)。単語スパム確率取得部110は、まず、抽出された単語のうち、未登録単語の数が占める割合を算出する(S18)。そして、単語スパム確率取得部110は、この割合が50%より小さい場合において、抽出された単語のうち、データベース120に登録されている単語に対してデータベース120からそれらの単語スパム確率を検出して単語群選出部130に出力する(S20:Yes、S24)。ステップS18において算出した割合が50%以上である場合(S20:No)において、単語スパム確率取得部110は、抽出された単語のうち、データベース120に登録されている単語に対してはデータベース120からその単語スパム確率を検出する(S30:No、S34)一方、未登録単語に対しては、0.3の単語スパム確率を付与して、検出した単語スパム確率と付与した単語スパム確率を単語群選出部130に出力する(S30:Yes、S38)。
【0075】
単語群選出部130は、単語スパム確率取得部110から出力された単語スパム確率に基づいて、0.5以上の単語スパム確率を有する単語から、単語スパム確率が高い単語から順に10個の単語を第1の単語群として選出するとともに、0.5以下の単語スパム確率を有する単語から、単語スパム確率が低い単語から順に10個の単語を第2の単語群として選出する(S40)。判別部140は、第1の単語群と第2の単語群の単語の単語スパム確率を用いてメールスパム確率を算出し、このメールスパム確率と閾値Tを比較することによって、受信した電子メールがスパムメールであるか否かを判別する(S44)。判別済みメール処理部150は、判別部140による判別結果に応じて、電子メールをスパムメールを格納するためのフォルダまたは非スパムメールを格納するためのフォルダに格納する。データベース更新部160は、判別結果に基づいて、ステップS14において抽出された各単語の単語スパム確率を再計算するとともに、データベース120に含まれる単語スパム確率と履歴情報を更新する(S48)。受信したメールの格納、データベース120の更新をもって、この電子メールに対する処理は終了する。
【0076】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、本発明の主旨から逸脱しない限り、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0077】
たとえば、本実施例は電子メールシステムであるが、本発明の判別技術は、電子メールに限らず、任意の通信アーキテクチャを介して送受信することができる任意の形態の電子メッセージにも適用することができる。たとえば、2名以上の人々の間で会議または会話を実施する会議アプリケーション(たとえば対話型チャットソフトウェアや、インスタントメールソフトウェアなど)においても、本発明で開示する判別技術を適用することができる。
【0078】
さらに、本発明の判別技術は、電子メッセージの分類に限らず、単語の傾向情報をベースとしたいかなる分類方法にも広く応用可能である。さらに、データの分類方法に際しては、単語に限らず、さまざまな属性ごとの傾向情報をベースとした分類方法も考えられる。たとえば、文書データを分類する場合、属性としてその文書データ中における単語の出現頻度や作者、作成日時などが利用できる。また、画像データを分類する場合、属性として色の頻度や明度の頻度などが利用できる。
【0079】
また、本実施例において、未登録単語が占める割合が50%以上であることを条件として、未登録単語に単語スパム確率を付与するが、この割合の値は、50%以外の値であってもよく、ユーザにより指定できるようにしてもよい。さらに、未登録単語が占める割合に関係なく、未登録語があればそれに対して単語スパム確率を付与するようにしてもよい。
【0080】
また、未登録単語に付与する単語スパム確率の値も、本実施例に用いられた値に限られることがなく、非スパムの傾向を示す単語スパム確率であれば、他の値であってもよく、ユーザにより指定できるようにしてもよい。
【0081】
また、本実施例において、判別済みメール処理部150は、判別部140による判別結果に応じて、スパムメールとして判別された電子メールを「スパムメールフォルダ」に格納するようにしているが、たとえば判別の結果をユーザに表示し、ユーザに最終判定を行わせるようにしてもよい。その際、スパムメールと非スパムメールの両方の判別結果についてもユーザに最終判定を行わせるようにしてもよいし、いずれか一方のみの判別結果をユーザに最終判定を行わせるようにしてもよい。そして、ユーザによる最終判定の結果を用いてデータベースの更新を行う。
【0082】
また、判別の結果とユーザに最終判定の結果のログを記録し、たとえば、スパムメールとして判別した電子メールは、ユーザにより非スパムメールとして最終判定されることが多発した場合において、判別に用いる閾値Tを小さくするなどの調整を行うようにしてもよい。
【0083】
さらに、ユーザによる最終判定を行うか行わないかを、ユーザにより選択できるようにしてもよい。
【0084】
また、図4に示す電子メールシステムにおいて、端末100により、電子メールがスパムメールか非スパムメールかの判別を行うようにしているが、この判別は、メールサーバ10によって行われるようにしてもよい。特にユーザに最終判定を行わせるシステムにおいては、判別に用いるデータベースは、ユーザごとに設けることが好ましい。
【図面の簡単な説明】
【0085】
【図1】電子メールから抽出された単語の例を示す図である。
【図2】図1に示す複数の単語から選出された判別用の単語の例を示す図である。
【図3】Paul Graham方式を説明するための単語の例を示す図である。
【図4】本発明にかかる実施の形態による電子メールシステムの構成を示すブロック図である。
【図5】図4に示す電子メールシステムにおける端末の構成を示すブロック図である。
【図6】図5に示す端末における単語スパム確率取得部の構成を示すブロック図である。
【図7】図5に示す端末に含まれたデータベースの構造を示す図である。
【図8】図5に示す端末の単語群選出部により選出された2つの単語群の例を示す図である。
【図9】電子メール受信時における端末の処理過程を示すフローチャートである。
【符号の説明】
【0086】
10 メールサーバ、 50 ネットワーク、 100 端末、 104 メール取得部、 108 単語抽出部、 110 単語スパム確率取得部、 112 単語スパム確率検出部、 114 未登録単語割合算出部、 116 単語スパム確率付与部、 120 データベース、 130 単語群選出部、 140 判別部、 150 判別済みメール処理部、 160 データベース更新部。

【特許請求の範囲】
【請求項1】
単語がスパムの傾向を有するか非スパムの傾向を有するか、およびこの傾向の大きさを単語傾向情報として、単語ごとに対応づけて保持する単語傾向情報保持部と、
判別対象の電子メールを取得するメール取得部と、
該判別対象の電子メールに含まれる単語を抽出する単語抽出部と、
抽出された単語のうち、前記単語傾向情報保持部に登録されている単語については、単語傾向情報保持部からその単語傾向情報を検出する一方、前記単語傾向情報保持部に登録されていない未登録単語については、非スパムの傾向を有する単語として単語傾向情報を付与する単語傾向情報取得部と、
電子メールから抽出された単語の単語傾向情報から、電子メールがスパムメールであるか否かを判別する判別部とを備えることを特徴とする電子メール分類装置。
【請求項2】
前記単語傾向情報取得部は、前記未登録単語の数が、抽出された単語の数に対して占める割合が所定の閾値以上であることを条件として未登録単語に単語傾向情報を付与し、
前記判別部は、前記割合が前記閾値より小さい場合には、検出された単語傾向情報のみから、前記判別を行うことを特徴とする請求項1に記載の電子メール分類装置。
【請求項3】
前記単語傾向情報取得部は、非スパム傾向の大きさがとりうる値の範囲内における中間値近傍の値を前記未登録単語の非スパム傾向の大きさとして付与することを特徴とする請求項1または2に記載の電子メール分類装置。
【請求項4】
前記単語傾向情報取得部は、前記中間値以下の値を前記未登録単語の非スパム傾向の大きさとして付与することを特徴とする請求項3に記載の電子メール分類装置。
【請求項5】
前記判別部は、前記単語傾向情報取得部により得られた単語傾向情報に基づいて、スパムの傾向が大きい単語から順に複数の単語を選出して第1の単語群を得るとともに、非スパムの傾向が大きい単語から順に複数の単語を選出して第2の単語群を得る単語群選出部を備え、
第1の単語群と第2の単語群に含まれる各単語の単語傾向情報から、判別対象の電子メールの前記傾向およびこの傾向の大きさを算出することにより、該判別対象の電子メールがスパムメールであるか否かを判別することを特徴とする請求項1から4のいずれか1項に記載の電子メール分類装置。
【請求項6】
単語がスパムの傾向を有するか非スパムの傾向を有するか、およびこの傾向の大きさを単語傾向情報として、単語ごとに対応づけて保持し、
判別対象の電子メールを取得し、
該判別対象の電子メールに含まれる単語を抽出し、
抽出された単語のうち、単語傾向情報が保持されている単語について、その単語傾向情報を検出し、
抽出された単語のうち、単語傾向情報が登録されていない単語について、非スパムの傾向を有する単語として単語傾向情報を付与し、
電子メールから抽出された単語の単語傾向情報から、電子メールがスパムメールであるか否かを判別することを特徴とする電子メール分類方法。
【請求項7】
単語がスパムの傾向を有するか非スパムの傾向を有するか、およびこの傾向の大きさを単語傾向情報として、単語ごとに対応づけて保持する手順と、
判別対象の電子メールを取得する手順と、
該判別対象の電子メールに含まれる単語を抽出する手順と、
抽出された単語のうち、単語傾向情報が保持されている単語について、その単語傾向情報を検出する手順と、
抽出された単語のうち、単語傾向情報が登録されていない単語について、非スパムの傾向を有する単語として単語傾向情報を付与する手順と、
電子メールから抽出された単語の単語傾向情報から、電子メールがスパムメールであるか否かを判別する手順とをコンピュータに実行せしめることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2007−122148(P2007−122148A)
【公開日】平成19年5月17日(2007.5.17)
【国際特許分類】
【出願番号】特願2005−309806(P2005−309806)
【出願日】平成17年10月25日(2005.10.25)
【出願人】(390024350)株式会社ジャストシステム (123)