【文献】
柴田 秀哉、加藤 守、群 光則、William S. Yerazunis,多クラス分類による電子メール誤送信検出手法,第3回データ工学と情報マネジメントに関するフォーラム 論文集 [online],電子情報通信学会データ工学専門委員会,2011年 2月27日
(58)【調査した分野】(Int.Cl.,DB名)
前記分野類似度算出手段により算出された類似度と、予め設定された閾値とを比較することで、前記送信指示された電子メールの送信の可否を判定する送信可否判定手段をさらに備え、
前記送信制御手段は、前記送信可否判定手段による判定の結果に従い、当該電子メールの送信を制御することを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
前記送信可否判定手段により送信不可と判定された場合、当該電子メールの送信を保留し、当該電子メールの送信元に対して警告メールを送信する警告手段をさらに備えることを特徴とする請求項5または6に記載の情報処理装置。
【発明を実施するための形態】
【0013】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【0014】
図1は、本発明の実施形態における電子メール誤送信警告システムの構成を示す図である。尚、
図1のネットワーク103上に接続される各種機器の数や構成は一例であり、用途や目的に応じて様々な構成例があることはいうまでもない。
【0015】
図中、101は電子メールサーバである。この電子メールサーバは電子メールの解析・送信・保留機能を有している。102はクライアント端末である。このクライアント端末は電子メールの作成・送信機能及び電子メールサーバ101との通信機能を有している。103は組織のLAN(Local Area Network)である。104はインターネットである。
【0016】
図2は、
図1で示した電子メールサーバ101及びクライアント端末102として機能するための情報処理装置のハードウェア構成を示す図である。
【0017】
図2において、201はCPUで、システムバス204に接続される各デバイスやコントローラを統括的に制御する。また、ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な各種プログラム等が記憶されている。
【0018】
202はRAMで、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM203あるいは外部メモリ211からRAM202にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
【0019】
また、205は入力コントローラで、入力装置209等からの入力を制御する。206はビデオコントローラで、液晶ディスプレイ等のディスプレイ装置210への表示を制御する。なお、ディスプレイ装置は、液晶ディスプレイに限られず、CRTディスプレイなどであっても良い。これらは必要に応じてクライアントが使用するものである。
【0020】
207はメモリコントローラで、ブートプログラム,各種のアプリケーション,フォントデータ,ユーザファイル,編集ファイル,各種データ等を記憶するハードディスク(HD)や、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
【0021】
208は通信I/Fコントローラで、ネットワーク(例えば、
図1に示したLAN400)を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
【0022】
なお、CPU201は、例えばRAM202内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ装置210上での表示を可能としている。また、CPU201は、ディスプレイ装置210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【0023】
ハードウエア上で動作する各種プログラムは、外部メモリ211に記録されており、必要に応じてRAM202にロードされることによりCPU201によって実行されるものである。
【0024】
なお、全ての装置がこれらの構成を備えているわけではなく、必要なものを夫々備えていればよい。
【0025】
図3は、
図1で示した電子メールサーバ101及びクライアント端末102の機能を示すブロック図である。
【0026】
図中、301はクライアント通信部で、クライアント端末102と各種情報のやりとりを制御する。302は電子メール送信部で、電子メールの送信を制御する。303は送信可否判断部で、電子メール送信時の送信可否の判断を行う。304はクラスタ更新部で、電子メールのクラスタリングを行う。
【0027】
305はサーバ通信部で、電子メールサーバ101と各種情報のやりとりを制御する。306は電子メール作成部で、電子メールの作成機能を提供する。
【0028】
次に
図4を用いて、電子メールサーバ101で行われる電子メール送信処理(CPU201について説明する。本処理は電子メールサーバ101のCPU201が電子メール送信部302の制御に従って行うものである。なお、電子メールサーバ101の外部メモリ211には、過去に送信したメールに関する情報等、様々なデータ格納領域が確保されている。
【0029】
ステップS401では、電子メールサーバ101のCPU201は、クライアント端末102より送信指示された電子メールを取得する(ステップS401)。ステップS402では、電子メールサーバ101のCPU201は、当該電子メールの送信可否を判断する(ステップS402)。
【0030】
ここで、ステップS402における電子メールの送信可否判断処理について、
図5を用いて説明する。
【0031】
本処理は電子メールサーバ101のCPU201が送信可否判断部303の制御に従って行うものである。
【0032】
ステップS501では、電子メールサーバ101のCPU201は、ステップS401で取得した送信メールが、以前に送信が許可された電子メールと同一のスレッドに属する電子メールであるか否かの判定であるスレッド判定を行う。さらに、当該電子メールと送信先が変わっていないかどうかを判断する。
【0033】
以前に送信が許可された電子メールと同一のスレッドの電子メールか否かの判断は、該送信メールのReferencesヘッダに記載のメッセージIDが、
図9に示す送信済み電子メールテーブルに含まれるか否かにより判断可能である。
【0034】
条件を満たす場合(ステップS501のYes)、該電子メールは送信可として決定し、本フローチャートの処理を終了する(ステップS513)。条件を満たさない場合(ステップS502のNo)、処理をステップS502へ進める。
【0035】
過去に送信が許可された電子メールと同一のスレッドに属し、送信先も変更されていない電子メールについては、当該過去に送信された電子メールと内容的にも類似していると考えられる。そのため、過去のメールについて送信が許可されたことをもって今回送信対象の電子メールの送信を許可しても、特段の問題は生じないと考えられる。また、このように、全てのメールについて内容に基づく送信制御を行わないようにすることで、送信制御処理の処理負荷を軽減させることが可能となる。
【0036】
ステップS502では、電子メールサーバ101のCPU201は、ステップS401で取得した電子メールについて、分野組成の算出を行う(分野組成算出手段)。分野組成とは、電子メールが属する分野と、その分野に属する度合いとの組で表される値である。
【0037】
分野組成の算出は該電子メールの本文と類似する文書を、分野分類済み文書集合から公知の類似文書検索技術を用いて検索することで行う。すなわち、該電子メールの本文に類似する文書を分野分類済み文書集合から検索し、該当する文書の分野との類似度を用いて分野組成を決定する。
【0038】
分野組成の算出については、例えば、単純ベイズ分類器などの既存の方法を用いることで実現することが可能である。単純ベイズ分類器では、電子メールを構成する単語が、ある分野に属する文書集合において出現する頻度から、その電子メールが当該文書集合に属する確率を求めることができる。この確率に基づき、分野に属する度合いを数値化し、分野組成として取得する。
【0039】
分野分類済み文書集合には、Wikipediaのような広範に分野が定義されている文書集合を用いてもよいし、本システムの利用者が利用実態に即した文書集合を用意してもよい。
【0040】
ここで、電子メールの分野組成を算出する際に利用するのは、電子メールの本文であるが、その中の送信者の氏名や住所、電話番号などが記載されたいわゆる署名部分を除外した部分をもとに算出する。
【0041】
署名部分を除外する理由は、電子メールの内容に関係なく、一律に付される文字列であるためである。また、より適切に電子メールの内容を反映した分野組成を算出するためでもある。署名部分を表わす署名部分識別情報(文字列)は、予め電子メールサーバ101の記憶領域に記憶しておき、当該記憶された文字列と同一の文字列を署名部分として判断し、当該署名部分を除外した電子メール本文について分野組成の算出を行う。
【0042】
また、返信メールについては、元となった電子メールに記載された内容である引用部分も除外対象とする。引用部分を表わす引用部分識別情報は、予め電子メールサーバ101の記憶領域に引用部分であることを識別するための記号(例えば「>」)として登録しておき、当該記号が行頭に付された行を引用部分として判断する。引用部分については、送信者が自ら作成した文面ではなく、送信先から受信した電子メールに記載されていた内容であるため、送信者が作成した電子メールの内容を分野組成として表すためには、除外することが望ましいといえる。
【0043】
このように電子メールから署名部分や引用部分を除外した上で分野組成を算出することで、送信者が自らの意思で作成した部分についてその内容を示す分野組成を算出することが可能となり、適切な送信制御処理が実現できるようになる。
【0044】
ステップS503では、電子メールサーバ101のCPU201は、該電子メールから全ての送信先を取得し、それぞれの送信先について後述するステップS512までの処理を行う。
【0045】
ステップS504では、電子メールサーバ101のCPU201は、分野による送信可否判定を行うか否かを判断する。
【0046】
具体的な判断方法としては、電子メールサーバに予め記憶された設定情報を用いても良いし、分野設定テーブルに該当するエントリが存在するか否かによって判断してもよい。分野による送信可否判定を行う場合(ステップS504:YES)は、処理をステップS505に進める。分野による送信可否判定を行わない場合(ステップS504:NO)は、処理をステップS507に移行する。
【0047】
ステップS505では
図8に示す分野設定テーブルから該電子メールの送信者と合致するエントリを取得する。
【0048】
そして、ステップS506では、電子メールサーバ101のCPU201は、該電子メールに含まれる分野の度合が該エントリの許可閾値を超えているか否かを判断する。許可閾値を超えている場合(ステップS506のYes)はステップS507へ処理を進める。超えていない場合(ステップS506のNo:許可閾値以下の場合)は、送信不可と判断して処理を終了する(ステップS514)。
【0049】
例えば、送信者がsnd1@example.co.jp、受信者がrcv2@bbbb.com、分野組成が(A:50、B:30、C:20)の場合、
図8の805の条件である必須分野:C、許可閾値40以上を満たしていないため、ステップS506ではNoと判断される。
【0050】
このような、分野による送信可否判定によれば、特定の分野に対する固定値を用いて判断するため、過去の送信メールの内容に関わらず、特定の分野に所定の度合いで属する電子メールについて送信制御を行うことが可能となる。
【0051】
これに対して、後述する分野組成の類似度による送信可否判定においては、判断基準となる分野組成がクラスタの更新により変化していくため、過去の送信メールの内容に応じた送信制御処理が可能となる。
【0052】
ステップS507では電子メールサーバ101のCPU201は、
図7に示す送受信者間分野組成テーブルから該電子メールの送信者と合致するエントリを全て取得する。
【0053】
そして、該エントリ全てに対してステップS509からステップS510の処理を実行する(ステップS508)。
【0054】
ステップS509では該電子メールの分野組成と該エントリの分野組成の類似度を計算する(分野組成類似度算出手段)。類似度の計算は、例えば余弦類似度などを用いることで可能である。今、分野組成X[A:50、B:30、C:20]、分野組成Y[B:40、C:60、D:10]について考察する。この場合、2つの分野組成X、Yに出現する分野は{A,B,C,D}の4種類となる。そこで、この4種類の分野のうち、存在しなかった分野の度合は「0」と見なし、分野組成X,Yを以下のようにX’、Y’と再定義する。
X’=[A:50、B:30、C:20、D:0]
Y’=[A:0、B:40、C:60、D:10]
そして、分野組成X’,Y’はそれぞれ同一の4次元座標(分野数が4であるので)のベクトルを表わしているものとし、余弦類似度を求める。余弦類似度は0乃至1の範囲の実数の値を取るが、1に近いほど類似度が高いことを示すことになる。なお、実施形態では、余弦類似度を用いる例で説明を続けるが、これは一例であって、上記の目的を達成できる計算方法であれば異なる計算方法を用いても構わない。
【0055】
ステップS510では、ステップS509で計算した類似度と管理者が事前に定めた閾値と比較し、計算した類似度がその閾値よりも大きいか否かを判断する。大きい場合(ステップS510のYes)は、ステップS512に処理を進め、大きくない場合(ステップS510のNo)はステップS511に処理を進め、次のエントリに対して処理を行う。
【0056】
全てのエントリの閾値に対して、ステップS509で計算した類似度が閾値を超えない場合、該電子メールは送信不可と判断し、処理を終了する(ステップS514)。該電子メールの全ての送信先に対して、類似度が閾値を超えるエントリが1つ以上存在する場合は、該電子メールは送信可であると判断し処理を終了する(ステップS513)。
【0057】
以上が送信可否判断部203における送信可否判断処理の説明である。
【0058】
図4の説明に戻る。ステップS402で該電子メールが送信可能と判断された場合(ステップS403のYes)は、ステップS410へ処理を進め、送信不可と判断された場合(ステップS403のNo)はステップS404へ処理を進める。
【0059】
ステップS404に処理が進むと、電子メールサーバ101のCPU201は、該電子メールを保留し、
図10で示す保留メールテーブルに該電子メールに係る情報を追加する。この際、保留になった理由を示す情報も合わせて格納する。
【0060】
ステップS405では、電子メールサーバ101のCPU201は、該電子メールの送信者(送信元の端末)に対して、当該電子メールが保留された旨を通知する。通知にあたっては、例えば
図11に示すような警告メールを用いて通知する。
【0061】
ステップS406では、クライアント端末102のCPU201は、ステップS405で電子メールサーバ101から送信された保留された旨の通知を受信する。
【0062】
ステップS407では、クライアント端末102のCPU201は、保留された電子メールを送信するか削除するかの指示を、例えば
図12に示すような保留メール管理画面を介して受け付け、当該受け付けた指示を電子メールサーバ101へ送信する。
【0063】
ステップS408では、電子メールサーバ101はクライアント端末102からの指示を受信する。そして、ステップS409にて、クライアント端末から受信した指示の内容を判断する。指示の内容が「送信」を示す内容であった場合(ステップS409:送信)は、処理をステップS410に移行する。また、指示の内容が「削除」を示す内容であった場合(ステップS409:削除)は、処理をステップS413に移行する。
【0064】
ステップS410では電子メールサーバ101は、該電子メールを送信先に対して送信する。ステップS411では、電子メールサーバ101は、該電子メールの情報を
図9に示す送信済み電子メールテーブルへ追加する。ステップS412では、電子メールサーバ101は、電子メールのクラスタを更新し、処理を終了する。
【0065】
ここで、ステップS412におけるクラスタ更新処理について、
図6を用いて説明する。本処理は電子メールサーバ101のCPU201がクラスタ更新部304の制御に従って行うものである。
【0066】
電子メールサーバ101のCPU201は、全ての送信者について、本フローチャートに示す処理を実行する(ステップS601)。尚、送信者とは例えば組織内から電子メールを送信した電子メールアドレスのことをいう。
【0067】
ステップS602では、電子メールサーバ101は、該送信者が送信した電子メール情報を
図9に示す送信済み電子メールテーブルから取得する。尚、ここでは該送信者が過去に送信した全ての電子メール情報を取得してもよいし、人事情報などと連携して、一定期間内に送信した電子メール情報のみを取得するなど、条件に応じて取得する電子メール情報を制限してもよい。
【0068】
ここで、人事情報と連携して異動日時以降の電子メール情報のみを取得する一例について、
図14および
図15を用いて説明する。
【0069】
ステップS1401では、電子メールサーバ101のCPU201は、
図15に示すような人事情報テーブルから該送信者の人事情報を取得する。人事情報の格納にはLDAP(Lightweight Directory Access Protocol)やActive Directoryなどのディレクトリサービスが用いられる。
【0070】
ステップS1402では、電子メールサーバ101は、該送信者が送信した電子メール情報を
図9に示す送信済み電子メールテーブルから取得する。
【0071】
ステップS1403では、電子メールサーバ101は、ステップS1402で取得した人事情報に異動日時が設定されているか否かを判断する。
【0072】
該人事情報に異動日時が設定されていない場合(ステップS1403のNo)は、過去に異動を行っていないと判断し、全ての電子メール情報を取得し(ステップS1407)、処理を終了する。
【0073】
一方、人事情報に異動日時が設定されている場合(ステップS1403のYes)は、該送信者が送信した電子メールすべてに対して、ステップS1405からステップS1406の処理を実行する(ステップS1404)。
【0074】
ステップS1405では、該人事情報の異動日時より該電子メールの送信日時のほうが新しい場合(異動後に送信された電子メールである場合)(ステップS1405のYes)は、処理をステップS1406に移行する。ステップS1406では、該電子メールを利用する電子メールとして記録する。また、異動前に送信された電子メールである場合(ステップS1405:NO)は、次の電子メールに処理対象を移行する。
【0075】
以上が人事情報と連携して取得する電子メール情報を制限する処理の一例である。
【0076】
人事異動などにより、送信者の業務内容が変わった場合には、送信メールの内容も変化することが考えられる。そのため、異動前の送信メールとの分野組成の類似度により送信制御をしたのでは、適切な制御とならない場合がある。
【0077】
そこで上述したように人事情報と連携させ、異動後に送信したメールとの類似度により送信制御をすることで、適切な送信制御が可能となる。
【0078】
図6の説明に戻る。ステップS603では、電子メールサーバ101は、該電子メール情報群に含まれる全ての送信先について、それぞれステップS604〜S606の処理を実行する。
【0079】
ステップS604では、電子メールサーバ101のCPU201は、該送信先が含まれる電子メール群に対してクラスタリングを行う。
【0080】
ステップS604におけるクラスタリングとは、分野組成の近い電子メール群をひとまとめにする処理のことで、ひとまとめにした一群をクラスタと呼ぶ。
図13の1301や1302がそれぞれクラスタである。例えば、ある一定の類似度よりも分野組成の近い電子メールは同じクラスタに属するなどという定義で、クラスタの割り当てを行っていく。このクラスタリング処理は、公知の技術を用いることで可能な処理である。
【0081】
ステップS605では、電子メールサーバ101のCPU201は、クラスタの代表ベクトルを算出する。代表ベクトルの算出方法としては、例えばクラスタに所属する全ての電子メールの平均ベクトルを計算しこれを代表ベクトルとする方法などがある。
【0082】
ステップS606では、電子メールサーバ101のCPU201は、
図7に示す送受信者間分野組成テーブルの該当するエントリを更新する。
【0083】
なお、電子メールの分布によって、電子メール群を複数のクラスタに分けてもよい。この場合、例えば、
図13に示すようにステップS605における代表ベクトルの算出で各クラスタの代表ベクトルを算出し、それぞれを送受信者間分野組成テーブルに登録することになる。
【0084】
以上が電子メールサーバ101の電子メール送信部202が行う電子メール送信処理についての説明である。
【0085】
図7に示すように、送受信者間分野組成テーブルは、送信者701、受信者702、分野組成703等の情報から構成される。
【0086】
分野組成703は分野とその重みの集合からなるベクトルであり、前述の通り、複数の分野組成の集合であっても構わない。
【0087】
図8に示すように、分野設定テーブルは送信者801、受信者802、必須分野803、許可閾値804等の情報から構成される。受信者802には実際の受信者アドレスのほかにアスタリスク(*)を指定することもでき、この場合、該送信者から送信される電子メールは全て分野による送信可否判定を行うことになる。なお、図示の場合、必須分野は1つのみで示しているが、複数分野の記述を許容しても良い。複数の必須分野を記述する場合には、分野を適当なデリミタで区切り、許可閾値もその数分の値をデリミタで区切れば良いであろう。
【0088】
図9に示すように、送信済みメールテーブルはMessage−id901、送信者902、受信者903、送信日時904、関連Message−id905、分野組成906等の情報から構成される。
【0089】
関連Message−id905は電子メール間のスレッド関係を示すもので、例えば908で示す行の電子メールは、907で示す行のメールのスレッドに含まれることを意味している。
【0090】
図10に示すように、保留メールテーブルはMessage−id1001、送信者1002、受信者1003、送信日時1004、分野組成1005、保留理由1006等の情報から構成される。
【0091】
図15は人事情報テーブルの一例であり、氏名1501、電子メールアドレス1502、所属1503、異動日時1504等の情報から構成される。
【0092】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【0093】
また、本発明におけるプログラムは、
図4〜
図6、
図14の処理方法をコンピュータが実行可能なプログラムである。なお、本発明におけるプログラムは
図4〜
図6、
図14に示す処理方法ごとのプログラムであってもよい。
【0094】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
【0095】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
【0096】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク等を用いることが出来る。
【0097】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0098】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0099】
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0100】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。