JP5288959B2 - データ分類装置及びコンピュータプログラム - Google Patents

データ分類装置及びコンピュータプログラム Download PDF

Info

Publication number
JP5288959B2
JP5288959B2 JP2008237376A JP2008237376A JP5288959B2 JP 5288959 B2 JP5288959 B2 JP 5288959B2 JP 2008237376 A JP2008237376 A JP 2008237376A JP 2008237376 A JP2008237376 A JP 2008237376A JP 5288959 B2 JP5288959 B2 JP 5288959B2
Authority
JP
Japan
Prior art keywords
data
classification
unit
condition
learning
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008237376A
Other languages
English (en)
Other versions
JP2010072779A (ja
Inventor
守 加藤
光則 郡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2008237376A priority Critical patent/JP5288959B2/ja
Publication of JP2010072779A publication Critical patent/JP2010072779A/ja
Application granted granted Critical
Publication of JP5288959B2 publication Critical patent/JP5288959B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

この発明は、データを分類するデータ分類装置に関する。
文書分類を自動化するため、機械学習により分類条件を学習するデータ分類装置が用いられている。
機械学習において、データ分類装置は、複数の分類カテゴリにあらかじめ分類された学習サンプルを用いて、各分類カテゴリの特徴を学習し、学習結果に基づいて、分類対象文書の分類を行う。
学習のために使用する学習サンプルを、あらかじめ分類する方法としては、人手により分類する方法や、クラスタリングにより分類する方法がある。
特開2002−7433号公報 特開2004−287776号公報 特開2002−202984号公報 特開2002−288088号公報 特開2006−209649号公報 「CRM114−the Controllable Regex Mutilator」http://crm114.sorceforge.net/ F.Sebastiani「Machine Learning in Automated Text Categorisation」ACM Computing Surveys、34巻1号、1〜47ページ、2002年3月。
クラスタリングにより分類する方法は、一般に精度が低いので、データ分類装置が、クラスタリングにより分類された学習サンプルを用いて学習すると、分類精度が低くなる。
また、分類精度を高くするには、大量の学習サンプルを用意する必要があるが、人手による分類する方法で、正しく分類された学習サンプルを大量に集めるには手間がかかる。
この発明は、例えば、上記のような課題を解決するためになされたものであり、手間をかけずに、正しく分類された学習サンプルを用いて分類条件を学習し、分類の精度を高めることを目的とする。
この発明にかかるデータ分類装置は、
データを処理する処理装置と、学習データ入力部と、抽出条件判定部と、分類条件学習部とを有し、
上記学習データ入力部は、上記処理装置を用いて、学習データを入力し、
上記抽出条件判定部は、上記処理装置を用いて、上記学習データが所定の分類カテゴリに属する場合に満たされる所属条件を、所定の抽出条件とし、上記学習データ入力部が入力した学習データが上記所定の抽出条件に合致するか否かを判定し、
上記分類条件学習部は、上記処理装置を用いて、上記学習データ入力部が入力した学習データが上記所定の抽出条件に合致すると上記抽出条件判定部が判定した場合に、上記学習データを、上記所定の分類カテゴリに属するデータのサンプルとして、上記所定の分類カテゴリに属するデータと、上記所定の分類カテゴリに属さないデータとを分類する分類条件を学習することを特徴とする。
この発明にかかるデータ分類装置によれば、所属条件に合致する学習データをサンプルとして、分類条件学習部が分類条件を学習するので、学習サンプルを人手により準備する必要がなく、大量の学習サンプルを用いて分類条件を学習することができ、分類の精度を高めることができる。
実施の形態1.
実施の形態1について、図1〜図5を用いて説明する。
図1は、この実施の形態におけるデータ分類装置100の外観の一例を示す図である。
データ分類装置100は、システムユニット910、CRT(Cathode・Ray・Tube)やLCD(液晶)の表示画面を有する表示装置901、キーボード902(Key・Board:K/B)、マウス903、FDD904(Flexible・Disk・Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
システムユニット910は、コンピュータであり、ファクシミリ機932、電話器931とケーブルで接続され、また、ローカルエリアネットワーク942(LAN)、ゲートウェイ941を介してインターネット940に接続されている。
図2は、この実施の形態におけるデータ分類装置100のハードウェア資源の一例を示す図である。
データ分類装置100は、プログラムを実行するCPU911(Central・Processing・Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、通信装置915、表示装置901、キーボード902、マウス903、FDD904、CDD905、プリンタ装置906、スキャナ装置907、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信装置915、キーボード902、スキャナ装置907、FDD904などは、入力部、入力装置の一例である。
また、通信装置915、表示装置901、プリンタ装置906などは、出力部、出力装置の一例である。
通信装置915は、ファクシミリ機932、電話器931、LAN942等に接続されている。通信装置915は、LAN942に限らず、インターネット940、ISDN等のWAN(ワイドエリアネットワーク)などに接続されていても構わない。インターネット940或いはISDN等のWANに接続されている場合、ゲートウェイ941は不用となる。
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
上記プログラム群923には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明する情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disk)等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
また、以下に述べる実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順や方法をコンピュータに実行させるものである。
図3は、この実施の形態におけるデータ分類装置100の機能ブロックの構成の一例を示すブロック構成図である。
データ分類装置100は、分類の対象となるデータ(以下「対象データ」と呼ぶ。)を入力し、入力した対象データが、あらかじめ定められた複数の分類カテゴリのうち、どの分類カテゴリに属するかを判定する。
データ分類装置100は、学習データ入力部111、学習データ記憶部112、抽出条件記憶部121、抽出条件判定部122、抽出データ記憶部123、分類条件学習部131、分類条件記憶部132、対象データ入力部141、対象データ記憶部142、対象データ分類部151、分類結果記憶部152、分類結果出力部161を有する。
学習データ入力部111は、CPU911を用いて、学習データを入力する。学習データとは、分類条件を学習するためのサンプルとして、対象データのなかから抜き出したデータである。なお、学習データ入力部111は、対象データすべてを学習データとして入力してもよい。
学習データ入力部111は、CPU911を用いて、入力した学習データを出力する。
学習データ記憶部112は、CPU911を用いて、学習データ入力部111が出力した学習データを入力する。学習データ記憶部112は、磁気ディスク装置920を用いて、入力した学習データを記憶する。
抽出条件記憶部121は、磁気ディスク装置920を用いて、あらかじめ定められた抽出条件を表わすデータ(以下「抽出条件データ」と呼ぶ。)を、あらかじめ記憶している。抽出条件とは、学習データのなかから、複数の分類カテゴリのうちいずれかの分類カテゴリに属すること、もしくは、属しないことが明らかな学習データ(以下「抽出データ」と呼ぶ。)を抽出するための条件である。
例えば、分類カテゴリの一つとして、機密を要するデータが分類される「要機密」カテゴリがある場合、学習データに「社外秘」という文字列が含まれていれば、その学習データは「要機密」カテゴリに属すると考えられる。その場合、抽出条件記憶部121は、学習データが「社外秘」という文字列を含むことを抽出条件として、当該抽出条件を表わす抽出条件データを記憶する。
なお、実際には、学習データが「社外秘」という文字列を含むからといって、必ずしも「要機密」カテゴリに属するとは限らない。そこで、学習データのうちの「社外秘」という文字列が現れる位置に関する条件や、その他の条件などを組み合わせて、抽出される学習データを絞り込み、必ず「要機密」カテゴリに属する学習データだけが抽出される条件を、抽出条件とする。
図4は、この実施の形態における抽出条件記憶部121が記憶するデータの一例を示す図である。
例えば、抽出条件記憶部121は、磁気ディスク装置920を用いて、抽出条件テーブル510と、属否判定テーブル520とを記憶している。
抽出条件テーブル510は、抽出条件識別データ511、抽出条件データ512からなるテーブルである。抽出条件識別データ511は、抽出条件を識別するため抽出条件に付された識別データである。抽出条件データ512は、抽出条件識別データ511により識別される抽出条件を表わすデータである。この例において、対象データはテキスト形式のデータ(もしくはテキスト形式に変換可能なデータ)であり、抽出条件データ512は、正規表現形式により抽出条件を表わしている。しかし、これは一例であり、例えば、対象データがデータベースのレコードである場合、抽出条件データ512は、SQL文形式により抽出条件を表わすものであってもよい。あるいは、抽出条件データ512は、他の異なる形式により抽出条件を表わすものであってもよい。
属否判定テーブル520は、属否判定識別データ521、抽出条件識別データ522、分類カテゴリ識別データ523、属否データ524からなるテーブルである。属否判定識別データ521は、属否判定データを識別するため属否判定データに付された識別データである。属否判定データとは、対象データがいずれかの抽出条件に合致する場合に、その対象データがどの分類カテゴリに属する、あるいは、属しないかを表わすデータである。抽出条件識別データ522は、その属否判定データが適用される抽出条件を参照するためのデータである。すなわち、その属否判定データは、抽出条件識別データ522により識別される抽出条件に適用される。分類カテゴリ識別データ523は、対象データが、抽出条件識別データ522により参照される抽出条件に合致する場合に、属する、あるいは、属しないことが明らかな分類カテゴリを参照するためのデータである。属否データ524は、「真」または「偽」の2値をとる論理値を表わすデータである。属否データ524が「真」である場合、対象データが、抽出条件識別データ522により参照される抽出条件に合致すれば、その対象データは、分類カテゴリ識別データ523により参照される分類カテゴリに属することを表わし、属否データ524が「偽」である場合、対象データが、抽出条件識別データ522により参照される抽出条件に合致すれば、その対象データは、分類カテゴリ識別データ523により参照される分類カテゴリに属しないことを表わす。
図3に戻り、データ分類装置100の機能ブロックの説明を続ける。
抽出条件判定部122は、CPU911を用いて、学習データ記憶部112が記憶した学習データを入力する。
抽出条件判定部122は、CPU911を用いて、抽出条件記憶部121が記憶した抽出条件テーブル510から、すべての抽出条件データ512を入力する。抽出条件判定部122は、CPU911を用いて、入力した抽出条件テーブル510の抽出条件データ512が表わす抽出条件一つ一つについて、入力した学習データが抽出条件に合致するか否かを判定する。
学習データが抽出条件に合致すると判定した場合、抽出条件判定部122は、CPU911を用いて、抽出条件記憶部121が記憶した抽出条件テーブル510から、合致すると判定した抽出条件を識別する抽出条件識別データ511を入力する。抽出条件判定部122は、CPU911を用いて、抽出条件記憶部121が記憶した属否判定テーブル520から、抽出条件識別データ522が、入力した抽出条件識別データ511と一致する属否判定データの分類カテゴリ識別データ523と属否データ524とを入力する。
抽出条件判定部122は、CPU911を用いて、入力した抽出条件データ512が表わす抽出条件のなかに、入力した学習データが合致する抽出条件があった場合、入力した学習データを抽出データとして出力する。抽出条件判定部122は、CPU911を用いて、抽出データとともに、入力した分類カテゴリ識別データ523と属否データ524との組を出力する。学習データが合致する抽出条件が複数ある場合、抽出条件判定部122は、CPU911を用いて、分類カテゴリ識別データ523と属否データ524との組を複数出力する。
抽出データ記憶部123は、CPU911を用いて、抽出条件判定部122が出力した抽出データと、分類カテゴリ識別データ523と属否データ524との組とを入力する。抽出データ記憶部123は、磁気ディスク装置920を用いて、入力した抽出データと、分類カテゴリ識別データ523と属否データ524との組とを記憶する。
分類条件記憶部132は、磁気ディスク装置920を用いて、分類条件を表わすデータ(以下「分類条件データ」と呼ぶ。)を記憶している。分類条件とは、複数の分類カテゴリのそれぞれについて、対象データがその分類カテゴリに属するか否かを判定するための条件である。分類条件記憶部132が記憶した分類条件データは、分類条件学習部131が分類条件を学習することにより更新され、分類の精度が次第に高くなる。
分類条件学習部131は、CPU911を用いて、抽出データ記憶部123が記憶した抽出データと、分類カテゴリ識別データ523と属否データ524との組とを入力する。分類条件学習部131は、CPU911を用いて、入力した抽出データを学習サンプルとして、分類条件を学習する。
例えば、分類条件学習部131は、CPU911を用いて、分類条件記憶部132が記憶した分類条件データを入力する。分類条件学習部131は、CPU911を用いて、入力した分類条件データが表わす分類条件に基づいて、入力した抽出データが、入力した分類カテゴリ識別データ523により参照される分類カテゴリに属するか否かを判定する。分類条件学習部131は、CPU911を用いて、判定した結果と、入力した属否データ524が表わす属否とを比較して、判定結果が正しいか否かを判定する。分類条件学習部131は、CPU911を用いて、判定した結果に基づいて、分類条件を修正する。分類条件学習部131は、CPU911を用いて、修正した分類条件を表わす分類条件データを出力する。分類条件記憶部132は、CPU911を用いて、分類条件学習部131が出力した分類条件データを入力する。分類条件記憶部132は、磁気ディスク装置920を用いて、入力した分類条件データを記憶する。
以上のようにして学習した分類条件を用いて、データ分類装置100は、対象データを分類する。
対象データ入力部141は、CPU911を用いて、対象データを入力する。対象データ入力部141は、CPU911を用いて、入力した対象データを出力する。
対象データ記憶部142は、CPU911を用いて、対象データ入力部141が出力した対象データを入力する。対象データ記憶部142は、磁気ディスク装置920を用いて、入力した対象データを記憶する。
対象データ分類部151は、CPU911を用いて、対象データ記憶部142が記憶した対象データを入力する。対象データ分類部151は、CPU911を用いて、分類条件記憶部132が記憶した分類条件を入力する。対象データ分類部151は、CPU911を用いて、入力した分類条件に基づいて、複数の分類カテゴリのぞれぞれについて、入力した対象データがその分類カテゴリに属するか否かを判定する。対象データ分類部151は、CPU911を用いて、判定した結果を表わすデータ(以下「分類結果データ」と呼ぶ。)を出力する。
なお、分類カテゴリは、排他的なもの(対象データが、ある分類カテゴリに属する場合、他の分類カテゴリには属さない)であってもよいし、独立的なもの(対象データが、ある分類カテゴリに属し、かつ、別の分類カテゴリに属する場合がある)であってもよい。また、分類カテゴリは、選択的なもの(対象データが、必ずいずれかの分類カテゴリに属する)であってもよいし、分類不能を許容するもの(対象データが、いずれの分類カテゴリにも属さない場合がある)であってもよい。
また、分類カテゴリは、これらを組み合わせたものであってもよい。例えば、3つの分類カテゴリがある場合において、分類カテゴリ1と分類カテゴリ2とは、排他的かつ選択的であり(すなわち、対象データは、必ず分類カテゴリ1と分類カテゴリ2とのいずれかに属し、かつ、両方に属することはない)、分類カテゴリ3は、分類カテゴリ1及び2から独立的であるという組み合わせであってもよい。
分類カテゴリが排他的なものである場合、例えば、対象データ分類部151は、CPU911を用いて、対象データが各分類カテゴリに属する可能性を表わす評価値(以下「属否評価値」と呼ぶ。)を算出し、算出した属否評価値が最も高い分類カテゴリにその対象データが属すると判定し、他の分類カテゴリには属さないと判定する。
また、分類カテゴリが選択的なものである場合、例えば、対象データ分類部151は、CPU911を用いて、対象データが各分類カテゴリに属する可能性を表わす属否評価値を算出し、算出した属否評価値が所定の閾値より高い場合は、その分類カテゴリにその対象データが属すると判定し、所定の閾値より属否評価値が高い分類カテゴリがない場合は、算出した属否評価値が最も高い分類カテゴリにその対象データが属すると判定する。
分類結果記憶部152は、CPU911を用いて、対象データ分類部151が出力した分類結果データを入力する。分類結果記憶部152は、磁気ディスク装置920を用いて、入力した分類結果データを記憶する。
分類結果出力部161は、CPU911を用いて、分類結果記憶部152が記憶した分類結果データを入力する。分類結果出力部161は、CPU911を用いて、入力した分類結果データを出力する。
図5は、この実施の形態におけるデータ分類装置100が分類条件を学習する分類条件学習処理の流れの一例を示すフローチャート図である。
分類条件学習処理は、学習データ入力工程S611、抽出条件判定工程S612、分類条件学習工程S613を有する。
学習データ入力工程S611において、学習データ入力部111は、CPU911を用いて、学習データを入力する。
抽出条件判定工程S612において、抽出条件判定部122は、CPU911を用いて、学習データ入力工程S611で学習データ入力部111が入力した学習データが、抽出条件記憶部121が記憶した抽出条件データが表わす抽出条件に合致するか否かを判定する。
学習データが合致する抽出条件があると抽出条件判定部122が判定した場合、データ分類装置100は、分類条件学習工程S613へ進む。
学習データが合致する抽出条件がないと抽出条件判定部122が判定した場合、データ分類装置100は、分類条件学習処理を終了する。
分類条件学習工程S613において、分類条件学習部131は、CPU911を用いて、学習データ入力工程S611で学習データ入力部111が入力した学習データを学習サンプルとして、分類条件を学習する。
このように、抽出条件判定部122が抽出条件に合致すると判定した学習データを学習サンプルとして、分類条件学習部131が分類条件を学習することにより、学習サンプルを人手によって作成する必要がなく、大量の学習サンプルを用いて分類条件を学習することができ、分類の精度を高めることができる。
また、分類カテゴリに属すること、もしくは、属さないことが確実な学習データだけが合致する条件を抽出条件とするので、クラスタリングなどによる分類により学習サンプルを作成する場合と異なり、正しく分類された学習サンプルだけを用いて分類条件を学習することができ、分類の精度を高めることができる。
この実施の形態におけるデータ分類装置100は、データを処理する処理装置(CPU911)と、学習データ入力部111と、抽出条件判定部122と、分類条件学習部131とを有する。
上記学習データ入力部111は、上記処理装置(CPU911)を用いて、学習データを入力する。
上記抽出条件判定部122は、上記処理装置(CPU911)を用いて、上記学習データが所定の分類カテゴリに属する場合に満たされる所属条件を、所定の抽出条件とし、上記学習データ入力部111が入力した学習データが上記所定の抽出条件に合致するか否かを判定する。
上記分類条件学習部131は、上記処理装置(CPU911)を用いて、上記学習データ入力部111が入力した学習データが上記所定の抽出条件に合致すると上記抽出条件判定部122が判定した場合に、上記学習データを、上記所定の分類カテゴリに属するデータのサンプルとして、上記所定の分類カテゴリに属するデータと、上記所定の分類カテゴリに属さないデータとを分類する分類条件を学習する。
この実施の形態におけるデータ分類装置100によれば、所属条件に合致する学習データをサンプルとして、分類条件学習部131が分類条件を学習するので、学習サンプルを人手により準備する必要がなく、大量の学習サンプルを用いて分類条件を学習することができ、分類の精度を高めることができる。
この実施の形態におけるデータ分類装置100において、上記抽出条件判定部122は、上記処理装置(CPU911)を用いて、上記学習データが所定の分類カテゴリに属さない場合に満たされる非所属条件を、上記所定の抽出条件とし、上記学習データ入力部111が入力した学習データが上記非所属条件に合致するか否かを判定する。
上記分類条件学習部131は、上記処理装置(CPU911)を用いて、上記学習データ入力部111が入力した学習データが上記非所属条件に合致すると上記抽出条件判定部122が判定した場合に、上記学習データを、上記所定の分類カテゴリに属さないデータのサンプルとして、上記所定の分類カテゴリに属するデータと、上記所定の分類カテゴリに属さないデータとを分類する分類条件を学習する。
この実施の形態におけるデータ分類装置100によれば、非所属条件に合致する学習データをサンプルとして、分類条件学習部131が分類条件を学習するので、学習サンプルを人手により準備する必要がなく、大量の学習サンプルを用いて分類条件を学習することができ、分類の精度を高めることができる。
また、分類カテゴリに属するデータのサンプルだけでなく、分類カテゴリに属さないデータのサンプルを用いて分類条件を学習することにより、分類の精度を更に高めることができる。
この実施の形態におけるデータ分類装置100は、更に、対象データ入力部141と、対象データ分類部151とを有する。
上記対象データ入力部141は、上記処理装置(CPU911)を用いて、対象データを入力する。
上記対象データ分類部151は、上記処理装置(CPU911)を用いて、上記分類条件学習部131が学習した分類条件に基づいて、上記対象データ入力部141が入力した対象データを分類する。
この実施の形態におけるデータ分類装置100によれば、分類条件学習部131が学習した分類条件を用いて、対象データ分類部151が対象データを分類するので、高い精度で分類をすることができる。
この実施の形態におけるデータ分類装置100は、データを処理する処理装置(CPU911)を有するコンピュータがコンピュータプログラムを実行することにより、実現することが可能である。
上記コンピュータを、この実施の形態におけるデータ分類装置100として機能させるコンピュータプログラムによれば、所属条件に合致する学習データをサンプルとして、分類条件学習部131が分類条件を学習するので、学習サンプルを人手により準備する必要がなく、大量の学習サンプルを用いて分類条件を学習することができ、分類の精度を高めることができるデータ分類装置100を実現することができる。
この実施の形態におけるデータ分類装置100がデータを分類するデータ分類方法は、以下の工程を有する。
上記処理装置(CPU911)が、学習データを入力する。
上記処理装置(CPU911)が、上記学習データが所定の分類カテゴリに属する場合に満たされる所属条件を、所定の抽出条件とし、入力した学習データが上記所定の抽出条件に合致するか否かを判定する。
上記処理装置(CPU911)が、入力した学習データが上記所定の抽出条件に合致すると判定した場合に、上記学習データを、上記所定の分類カテゴリに属するデータのサンプルとして、上記所定の分類カテゴリに属するデータと、上記所定の分類カテゴリに属さないデータとを分類する分類条件を学習する。
この実施の形態におけるデータ分類方法によれば、所属条件に合致する学習データをサンプルとして、分類条件を学習するので、学習サンプルを人手により準備する必要がなく、大量の学習サンプルを用いて分類条件を学習することができ、分類の精度を高めることができる。
実施の形態2.
実施の形態2について、図6〜図7を用いて説明する。
なお、実施の形態1で説明したデータ分類装置100と共通する部分については、同一の符号を付し、説明を省略する。
この実施の形態におけるデータ分類装置100は、機密情報を含むデータを分類する分類カテゴリ(以下「機密カテゴリ」と呼ぶ。)と、機密情報を含まないデータを分類する分類カテゴリ(以下「非機密カテゴリ」と呼ぶ。)との2つの分類カテゴリのいずれかに、対象データを分類する。
図6は、この実施の形態における抽出条件記憶部121が記憶するデータの一例を示す図である。
例えば、抽出条件記憶部121は、磁気ディスク装置920を用いて、抽出条件テーブル510を記憶している。
抽出条件テーブル510は、抽出条件識別データ511、抽出条件データ512からなる。
この例において、データ分類装置100は、顧客名簿などの個人情報を機密情報とし、対象データが個人情報を含む場合、機密カテゴリに分類し、個人情報を含まない場合、非機密カテゴリに分類する。
抽出条件記憶部121が記憶した抽出条件データ512が表わす抽出条件は、抽出条件識別データ511の最初の文字によって、3種類に分類される。
「P」から始まる抽出条件識別データ511を付された抽出条件(以下「パターン抽出条件」と呼ぶ。)を表わす抽出条件データ512は、学習データ内の文字列にマッチするパターンを表わす正規表現である。パターン抽出条件は、学習データがその抽出条件に合致しても、それだけでは、その学習データが個人情報を含むのか個人情報を含まないのか判別できない。
「C」から始まる抽出条件識別データ511を付された抽出条件(以下「機密抽出条件」と呼ぶ。)を表わす抽出条件データ512は、パターン抽出条件の組み合わせにより、個人情報を含むことが確実な学習データを判別する抽出条件である。
「N」から始まる抽出条件識別データ511を付された抽出条件(以下「非機密抽出条件」と呼ぶ。)を表わす抽出条件データ512は、パターン抽出条件の組み合わせにより、個人情報を含まないことが確実な学習データを判別する抽出条件である。
この例では、分類カテゴリが2つしかなく、排他的かつ選択的であり、上記のように、抽出条件に付された抽出条件識別データ511の最初の文字により、その抽出条件が所属条件であるのか非所属条件であるのかを区別できるので、抽出条件記憶部121は、実施の形態1で説明した抽出条件記憶部121と異なり、属否判定テーブル520を記憶していない。
抽出条件「P01」は、人名に関する条件であり、頻出する姓のいずれかにマッチするパターンを表わす。学習データが抽出条件「P01」に合致するということは、その学習データが人名を含むことを意味し、個人情報を含む可能性を示唆する。
抽出条件「P02」は、住所に関する条件であり、東京都特別区もしくは政令指定都市の住所にマッチするパターンを表わす。学習データが抽出条件「P02」に合致するということは、その学習データが住所を含むことを意味し、個人情報を含む可能性を示唆する。
抽出条件「P03」も、住所に関する条件であり、その他の市町村の住所にマッチするパターンを表わす。学習データが抽出条件「P03」に合致するということは、その学習データが住所を含むことを意味し、個人情報を含む可能性を示唆する。
抽出条件「P04」は、電話番号に関する条件であり、電話番号を含む数字列にマッチするパターンである。学習データが抽出条件「P04」に合致するということは、その学習データが電話番号を含む可能性があることを意味し、個人情報を含む可能性を示唆する。
抽出条件「P05」は、メールアドレスに関する条件であり、メールアドレスにマッチするパターンである。学習データが抽出条件「P05」に合致するということは、その学習データがメールアドレスを含むことを意味し、個人情報を含む可能性を示唆する。
抽出条件「P06」は、クレジットカード番号に関する条件であり、クレジットカード番号を含む数字列にマッチするパターンである。学習データが抽出条件「P06」に合致するということは、その学習データがクレジットカード番号を含む可能性があることを意味し、個人情報を含む可能性を示唆する。
しかし、パターン抽出条件は、それぞれ単独では、その学習データが個人情報を含むと言い切れるものではない。
抽出条件「C01」は、学習データのなかに、抽出条件「P01」に合致する部分が10箇所以上あり、かつ、抽出条件「P02」または「P03」に合致する部分が20箇所以上あり、かつ、抽出条件「P04」または「P05」または「P06」に合致する部分が20箇所以上あることを条件とする抽出条件である。抽出条件「C01」は、例えば顧客名簿のように、学習データが多く(20件以上)の個人情報を含む場合を想定している。学習データが抽出条件「C01」に合致するということは、その学習データが人名と、住所と、電話番号またはメールアドレスまたはクレジットカード番号とを含むことを意味し、その学習データが個人情報を含むことを示唆する。
抽出条件「C02」は、学習データのなかに、抽出条件「P01」に合致する部分が10箇所以上あり、かつ、抽出条件「P04」に合致する部分が20箇所以上あり、かつ、抽出条件「P05」に合致する部分が20箇所以上あり、かつ、抽出条件「P06」に合致する部分が20箇所以上あることを条件とする抽出条件である。学習データが抽出条件「C01」に合致するということは、その学習データが人名と、電話番号と、メールアドレスと、クレジットカード番号とを含むことを意味し、その学習データが個人情報を含むことを示唆する。
このように、単独では個人情報を含むと言い切れないパターン抽出条件を組み合わせて絞り込むことにより、個人情報を確実に含む学習データを抽出できる機密抽出条件を構成することができる。
抽出条件「N01」は、学習データのなかに、抽出条件「P01」に合致する部分も、抽出条件「P02」に合致する部分も、抽出条件「P03」に合致する部分も、抽出条件「P04」に合致する部分も、抽出条件「P05」に合致する部分も、抽出条件「P06」に合致する部分もないことを条件とする抽出条件である。学習データが抽出条件「N01」に合致するということは、その学習データが頻出する人名も、住所も、電話番号も、メールアドレスも、クレジットカード番号も含まないことを意味し、その学習データが個人情報を含まないことを示唆する。
このように、単独では個人情報を含まないと言い切れないパターン抽出条件を組み合わせて絞り込むことにより、個人情報を確実に含まない学習データを抽出できる非機密抽出条件を構成することができる。
図7は、この実施の形態における抽出条件判定部122が抽出条件を判定する抽出条件判定工程S612の流れの一例を示すフローチャート図である。
抽出条件判定工程S612は、パターン抽出条件入力工程S621、パターン抽出条件判定工程S622、繰り返し判定工程S623、機密抽出条件入力工程S624、機密抽出条件判定工程S625、繰り返し判定工程S626、非機密抽出条件入力工程S627、非機密抽出条件判定工程S628、繰り返し判定工程S629、機密抽出データ出力工程S630、非機密抽出データ出力工程S631を有する。
パターン抽出条件入力工程S621において、抽出条件判定部122は、CPU911を用いて、抽出条件記憶部121が記憶した抽出条件テーブル510から、パターン抽出条件を表わす抽出条件データ512を一つずつ順に入力する。
パターン抽出条件判定工程S622において、抽出条件判定部122は、CPU911を用いて、パターン抽出条件入力工程S621で入力した抽出条件データ512が表わすパターン抽出条件について、学習データのなかに、そのパターン抽出条件に合致する部分がいくつあるかを判定する。抽出条件判定部122は、磁気ディスク装置920を用いて、判定した結果であるパターン抽出条件に合致する部分の数を表わすデータ(以下「合致パターン数データ」と呼ぶ。)を記憶する。
繰り返し判定工程S623において、抽出条件判定部122は、CPU911を用いて、抽出条件記憶部121が記憶した抽出条件テーブル510のなかに、パターン抽出条件入力工程S621でまだ入力していないパターン抽出条件を表わす抽出条件データ512があるか否かを判定する。
まだ入力していないパターン抽出条件を表わす抽出条件データ512があると抽出条件判定部122が判定した場合、データ分類装置100は、パターン抽出条件入力工程S621に戻る。
パターン抽出条件を表わす抽出条件データ512をすべて入力したと抽出条件判定部122が判定した場合、データ分類装置100は、機密抽出条件入力工程S624へ進む。
機密抽出条件入力工程S624において、抽出条件判定部122は、CPU911を用いて、抽出条件記憶部121が記憶した抽出条件テーブル510から、機密抽出条件を表わす抽出条件データ512を一つずつ順に入力する。
機密抽出条件判定工程S625において、抽出条件判定部122は、CPU911を用いて、機密抽出条件入力工程S624で入力した抽出条件データ512が表わす機密抽出条件について、繰り返し判定工程S623で記憶した合致パターン数データに基づいて、学習データがその機密抽出条件に合致するかを判定する。
学習データがその機密抽出条件に合致すると抽出条件判定部122が判定した場合、データ分類装置100は、機密抽出データ出力工程S630へ進む。
学習データがその機密抽出条件に合致しないと抽出条件判定部122が判定した場合、データ分類装置100は、繰り返し判定工程S626へ進む。
繰り返し判定工程S626において、抽出条件判定部122は、CPU911を用いて、抽出条件記憶部121が記憶した抽出条件テーブル510のなかに、機密抽出条件入力工程S624でまだ入力していない機密抽出条件を表わす抽出条件データ512があるか否かを判定する。
まだ入力していない機密抽出条件を表わす抽出条件データ512があると抽出条件判定部122が判定した場合、データ分類装置100は、機密抽出条件入力工程S624に戻る。
機密抽出条件を表わす抽出条件データ512をすべて入力したと抽出条件判定部122が判定した場合、データ分類装置100は、非機密抽出条件入力工程S627へ進む。
非機密抽出条件入力工程S627において、抽出条件判定部122は、CPU911を用いて、抽出条件記憶部121が記憶した抽出条件テーブル510から、非機密条件を表わす抽出条件データ512を一つずつ順に入力する。
非機密抽出条件判定工程S628において、抽出条件判定部122は、CPU911を用いて、入力した抽出条件データ512が表わす非機密条件について、記憶した合致パターン数データに基づいて、学習データがその非機密抽出条件に合致するかを判定する。
学習データがその非機密抽出条件に合致すると抽出条件判定部122が判定した場合、データ分類装置100は、非機密抽出データ出力工程S631へ進む。
学習データがその非機密抽出条件に合致しないと抽出条件判定部122が判定した場合、データ分類装置100は、繰り返し判定工程S629へ進む。
繰り返し判定工程S629において、抽出条件判定部122は、CPU911を用いて、抽出条件記憶部121が記憶した抽出条件テーブル510のなかに、非機密抽出条件入力工程S627でまだ入力していない非機密抽出条件を表わす抽出条件データ512があるか否かを判定する。
まだ入力していない非機密抽出条件を表わす抽出条件データ512があると抽出条件判定部122が判定した場合、データ分類装置100は、非機密抽出条件入力工程S627に戻る。
非機密抽出条件を表わす抽出条件データ512をすべて入力したと抽出条件判定部122が判定した場合、データ分類装置100は、抽出条件判定工程S612を終了する。
機密抽出データ出力工程S630において、抽出条件判定部122は、CPU911を用いて、学習データを、機密カテゴリに属する抽出データとして出力する。データ分類装置100は、抽出条件判定工程S612を終了する。
非機密抽出データ出力工程S631において、抽出条件判定部122は、CPU911を用いて、学習データを、非機密カテゴリに属する抽出データとして出力する。データ分類装置100は、抽出条件判定工程S612を終了する。
このように、分類カテゴリとして、対象データが機密情報を含む場合に分類される機密カテゴリと、対象データが機密情報を含まない場合に分類される非機密カテゴリとを設けることにより、機密情報を含む対象データと、機密情報を含まない対象データとを、容易に分類することができる。
また、抽出条件として、学習データが機密情報を確実に含む場合に満たされる機密抽出条件と、学習データが機密情報を確実に含まない場合に満たされる非機密条件とを設けることにより、学習データのなかから学習サンプルを抽出し、分類条件学習部131が、機密情報を含むデータと、機密情報を含まないデータとを分類する分類条件を学習するので、分類の精度を高めることができる。
この実施の形態におけるデータ分類装置100において、上記抽出条件判定部122は、上記処理装置(CPU911)を用いて、上記学習データが機密情報を含む場合に満たされる機密条件(機密抽出条件)を、上記所定の抽出条件とし、上記学習データ入力部111が入力した学習データが上記機密条件に合致するか否かを判定する。
上記分類条件学習部131は、上記処理装置(CPU911)を用いて、上記学習データ入力部111が入力した学習データが上記機密条件に合致すると上記抽出条件判定部122が判定した場合に、上記学習データを、機密情報を含むデータのサンプルとして、機密情報を含むデータと、機密情報を含まないデータとを分類する分類条件を学習する。
この実施の形態におけるデータ分類装置100によれば、機密条件に合致する学習データをサンプルとして、分類条件学習部131が分類条件を学習するので、学習サンプルを人手により準備する必要がなく、大量の学習サンプルを用いて分類条件を学習することができ、機密情報を含むデータと機密情報を含まないデータとを分類する分類の精度を高めることができる。
この実施の形態におけるデータ分類装置100において、上記抽出条件判定部122は、上記処理装置(CPU911)を用いて、上記学習データが機密情報を含まない場合に満たされる非機密条件(非機密抽出条件)を、上記所定の抽出条件とし、上記学習データ入力部111が入力した学習データが上記非機密条件に合致するか否かを判定する。
上記分類条件学習部131は、上記処理装置(CPU911)を用いて、上記学習データ入力部111が入力した学習データが上記非機密条件に合致すると上記抽出条件判定部122が判定した場合に、上記学習データを、機密情報を含まないデータのサンプルとして、機密情報を含むデータと、機密情報を含まないデータとを分類する分類条件を学習する。
この実施の形態におけるデータ分類装置100によれば、非機密条件に合致する学習データをサンプルとして、分類条件学習部131が分類条件を学習するので、学習サンプルを人手により準備する必要がなく、大量の学習サンプルを用いて分類条件を学習することができ、機密情報を含むデータと機密情報を含まないデータとを分類する分類の精度を高めることができる。
また、機密カテゴリに属するデータのサンプルだけでなく、非機密カテゴリに属するデータのサンプルを用いて分類条件を学習することにより、分類の精度を更に高めることができる。
実施の形態3.
実施の形態3について、図8を用いて説明する。
なお、実施の形態1または実施の形態2で説明したデータ分類装置100と共通する部分については、同一の符号を付し、説明を省略する。
この実施の形態におけるデータ分類装置100は、分類条件学習部131による分類条件の学習がまだ進んでいない初期の段階から、本格運用を可能とするものである。
図8は、この実施の形態におけるデータ分類装置100の機能ブロックの構成の一例を示すブロック構成図である。
データ分類装置100は、実施の形態1で説明した機能ブロックに加えて、更に、検出条件記憶部171、検出条件判定部172、分類併合部173を有する。
検出条件記憶部171は、磁気ディスク装置920を用いて、あらかじめ定められた検出条件を表わすデータ(以下「検出条件データ」と呼ぶ。)を、あらかじめ記憶している。検出条件とは、対象データのなかから、複数の分類カテゴリのうちいずれかの分類カテゴリに属する対象データを抽出するための条件である。
検出条件には、抽出条件ほどの確実さは要求されず、むしろ、なるべく多くの対象データを分類できる条件を設定するほうがよい。
検出条件記憶部171が記憶する検出条件データには、その検出条件による分類の確実さを表わすデータ(以下「検出精度データ」と呼ぶ。)を付す構成としてもよい。
検出条件判定部172は、CPU911を用いて、対象データ記憶部142が記憶した対象データを入力する。
検出条件判定部172は、CPU911を用いて、抽出条件記憶部121が記憶した抽出条件データと、検出条件記憶部171が記憶した検出条件データとを入力する。なお、検出条件判定部172は、抽出条件記憶部121が記憶した抽出条件データを入力せず、検出条件記憶部171が記憶した検出条件データだけを入力してもよい。逆に、検出条件判定部172は、検出条件記憶部171が記憶した検出条件データを入力せず、抽出条件記憶部121が記憶した抽出条件データだけを入力してもよい。その場合、検出条件記憶部171は、なくてもよい。
検出条件判定部172は、CPU911を用いて、入力した抽出条件データ及び検出条件データに基づいて、入力した対象データが、複数の分類カテゴリのそれぞれに属するか否かを判定する。
検出条件判定部172は、CPU911を用いて、判定した結果を表わすデータ(以下「検出結果データ」と呼ぶ。)を出力する。
分類併合部173は、CPU911を用いて、対象データ分類部151が出力した分類結果データと、検出条件判定部172が出力した検出結果データとを入力する。
分類併合部173は、CPU911を用いて、入力した分類結果データと検出結果データとに基づいて、対象データ分類部151による分類と、検出条件判定部172による分類とを併合し、対象データが、複数の分類カテゴリのそれぞれに属するか否かを判定する。
分類併合部173は、CPU911を用いて、判定した結果を表わすデータ(以下「併合結果データ」と呼ぶ。)を出力する。
分類結果記憶部152は、CPU911を用いて、分類併合部173が出力した併合結果データを入力する。分類結果記憶部152は、磁気ディスク装置920を用いて、入力した併合結果データを、分類結果データとして記憶する。
分類条件学習部131による学習が進んでいない初期の段階では、対象データ分類部151による分類は、間違っている可能性が高い。そのため、分類条件学習部131がある程度の数の学習サンプルを用いて分類条件を学習するまでは、対象データ分類部151による分類結果を信用することができない。
この実施の形態におけるデータ分類装置100は、対象データ分類部151による分類と、検出条件判定部172による分類とを併用し、分類併合部173が両者を併合するので、分類条件学習部131による学習が進んでいない初期の段階であっても、分類併合部173による分類結果を信用し、データ分類装置100を本格運用することができる。
分類併合部173が、対象データ分類部151による分類と検出条件判定部172による分類とを併合する方式には、いくつかの方式が考えられる。
一つは、安全性を重視する方式である。例えば、機密カテゴリと非機密カテゴリとに分類する場合のように、機密情報を含まない対象データが機密カテゴリに分類されても特に問題は生じないが、機密情報を含む対象データが非機密カテゴリに分類されると問題が生じる場合に、この方式を採用する。
分類併合部173は、CPU911を用いて、入力した分類結果データに基づいて、対象データ分類部151が対象データを機密カテゴリに分類した場合、対象データを機密カテゴリに分類する。
対象データ分類部151が対象データを非機密カテゴリに分類した場合、分類併合部173は、CPU911を用いて、入力した検出結果データに基づいて、検出条件判定部172が対象データを機密カテゴリに分類した場合、対象データを機密カテゴリに分類する。対象データ分類部151も検出条件判定部172も、対象データを非機密カテゴリに分類した場合、分類併合部173は、CPU911を用いて、対象データを非機密カテゴリに分類する。
これにより、対象データ分類部151と検出条件判定部172とのいずれかが対象データを機密カテゴリに分類した場合、分類併合部173は、対象データを機密カテゴリに分類するので、機密情報を含む対象データが誤って非機密カテゴリに分類されるのを防ぐことができる。
対象データ分類部151による分類と検出条件判定部172による分類とを併合する他の方式には、分類の信頼性に基づく重み付けをする方式がある。
対象データ分類部151は、CPU911を用いて、対象データが各分類カテゴリに属する可能性を表わす属否評価値を算出し、算出した属否評価値を表わすデータ(以下「属否評価値データ」と呼ぶ。)を出力する。
検出条件判定部172は、CPU911を用いて、属否の判定に使用した検出条件を表わす検出条件データに付された検出精度データを出力する。
分類併合部173は、CPU911を用いて、対象データ分類部151が出力した属否評価値データと、検出条件判定部172が出力した検出精度データとを入力する。
分類併合部173は、CPU911を用いて、入力した属否評価値データと検出精度データとに基づいて、対象データ分類部151による分類と、検出条件判定部172による分類とのうち、どちらの信頼性が高いかを判定する。
対象データ分類部151による分類の信頼性のほうが高いと判定した場合、分類併合部173は、CPU911を用いて、対象データ分類部151による分類にしたがって、対象データが、複数の分類カテゴリのそれぞれに属するか否かを判定する。
検出条件判定部172による分類の信頼性のほうが高いと判定した場合、分類併合部173は、CPU911を用いて、検出条件判定部172による分類にしたがって、対象データが、複数の分類カテゴリのそれぞれに属するか否かを判定する。
これにより、妥当性の高い分類をすることができる。
対象データ分類部151による分類と検出条件判定部172による分類とを併合する更に別の方式には、学習の進み具合に基づく重み付けをする方式がある。
例えば、分類併合部173は、CPU911を用いて、抽出条件判定部122が出力した抽出データの数を数える。数えた抽出データの数が所定の数より少ない場合、分類併合部173は、検出条件判定部172による分類のほうを信用し、CPU911を用いて、検出条件判定部172による分類にしたがって、対象データが、複数の分類カテゴリのそれぞれに属するか否かを判定する。
逆に、数えた抽出データの数が所定の数以上である場合、分類併合部173は、対象データ分類部151による分類のほうを信用し、CPU911を用いて、対象データ分類部151による分類にしたがって、対象データが、複数の分類カテゴリのそれぞれに属するか否かを判定する。
なお、抽出条件判定部122が出力した抽出データの数は、分類条件学習部131による分類条件の学習の進み具合を表わす指標の一例であり、分類併合部173は、他の指標に基づいて、分類条件学習部131による分類条件の学習の進み具合を把握する構成であってもよい。例えば、分類条件学習部131が、学習の進み具合を判定し、分類併合部173は、分類条件学習部131が判定した学習の進み具合に基づいて、対象データ分類部151による分類と、検出条件判定部172による分類とのどちらを信頼するかを判定してもよい。
また、分類併合部173は、学習の進み具合と、属否評価値データや検出精度データとを総合した重み付けをすることにより、対象データ分類部151による分類と検出条件判定部172による分類とを併合する構成としてもよい。
この実施の形態におけるデータ分類装置100は、更に、検出条件判定部172と、分類併合部173とを有する。
上記検出条件判定部172は、上記処理装置(CPU911)を用いて、上記対象データ入力部141が入力した対象データが所定の検出条件を満たすか否かを判定する。
上記対象データ分類部151は、上記処理装置(CPU911)を用いて、上記分類条件学習部131が学習した分類条件に基づいて、上記対象データ入力部141が入力した対象データを、所定の分類カテゴリに属するデータと、上記所定の分類カテゴリに属さないデータとに分類する。
上記分類併合部173は、上記処理装置(CPU911)を用いて、上記対象データ入力部141が入力した対象データが上記所定の検出条件を満たすと上記検出条件判定部172が判定した場合、および、上記対象データ入力部141が入力した対象データを所定の分類カテゴリに属するデータに上記対象データ分類部151が分類した場合に、上記対象データ入力部141が入力した対象データが上記所定の分類カテゴリに属すると判定する。
この実施の形態におけるデータ分類装置100によれば、対象データ分類部151が分類条件に基づいて分類した分類結果と、検出条件判定部172が検出条件に基づいて分類した分類結果とを、分類併合部173が併合して、対象データの属否を判定するので、分類条件学習部131による学習が進んでいない初期の段階であっても、データ分類装置100が分類した分類結果を信頼することができ、データ分類装置100を本格運用することができる。
この実施の形態におけるデータ分類装置100において、上記検出条件判定部172は、上記処理装置(CPU911)を用いて、上記抽出条件判定部122が判定する所定の抽出条件を、上記所定の検出条件とし、上記対象データ入力部141が入力した対象データが所定の検出条件を満たすか否かを判定する。
この実施の形態におけるデータ分類装置100によれば、抽出条件判定部122が判定に使用する抽出条件を、検出条件判定部172が検出条件として使用するので、別途検出条件を設定する手間を省くことができる。
また、検出条件を表わす検出条件データを記憶する必要がないので、記憶装置の記憶容量を節約することができる。
実施の形態4.
実施の形態4について、図9〜図10を用いて説明する。
この実施の形態では、実施の形態1〜実施の形態3で説明したデータ分類装置100を利用して電子メールを分類し、機密情報を含む電子メールが誤って外部に送信されるのを防ぐメールサーバ装置について説明する。
図9は、この実施の形態におけるネットワークシステム800の構成の一例を示すシステム構成図である。
ネットワークシステム800は、1以上の端末装置810、メールサーバ装置820を有する。
端末装置810、メールサーバ装置820は、LAN942を介して互いに接続している。また、メールサーバ装置820は、インターネット940にも接続している。
メールサーバ装置820は、電子メールを中継する。すなわち、メールサーバ装置820は、各端末装置810が送信した電子メールを受信し、受信した電子メールの宛先がLAN942に接続した他の端末装置810であれば、LAN942を介して、その端末装置810に対してその電子メールを送信する。メールサーバ装置820は、受信した電子メールの宛先がインターネット940に接続した他のネットワークシステムの端末装置である場合、インターネット940を介して、その電子メールを送信する。また、メールサーバ装置820は、インターネット940に接続した他のネットワークシステムの端末装置が、LAN942に接続した端末装置810に対して送信した電子メールを受信し、LAN942を介して、その端末装置810に対してその電子メールを送信する。
メールサーバ装置820は、電子メールの中継にあたり、受信した電子メールを、機密情報を含む電子メールと、機密情報を含まない電子メールとに分類する。メールサーバ装置820は、受信した電子メールを、機密情報を含む電子メールに分類した場合、その電子メールの宛先が、機密情報を渡してもよい相手であるか判定し、機密情報を渡してはいけない相手であると判定した場合、電子メールを中継せずに、破棄する。あるいは、メールサーバ装置820は、管理者の端末装置810に対して、機密情報を含む電子メールが送信されようとしていることを通知し、その電子メールを中継してもよいか、管理者の判断を仰ぐ。あるいは、メールサーバ装置820は、送信者の端末装置810に対して、送信しようとしている電子メールが機密情報を含むことを通知し、その電子メールを本当に送信してもよいか、送信者に確認する。
メールサーバ装置820のハードウェア資源は、実施の形態1で説明したデータ分類装置100と同様である。
メールサーバ装置820は、メール受信部821、データ分類装置100、中継可否判定部822、確認メール生成部823、メール送信部824を有する。
メール受信部821は、通信装置915を用いて、LAN942に接続した端末装置810あるいはインターネット940に接続した他のネットワークシステムの端末装置が送信した電子メールを受信する。メール受信部821は、CPU911を用いて、受信した電子メールを出力する。
データ分類装置100は、CPU911を用いて、メール受信部821が出力した電子メールを入力する。データ分類装置100は、CPU911を用いて、入力した電子メールを対象データとして、機密情報を含む電子メールと、機密情報を含まない電子メールとに分類する。なお、データ分類装置100は、機密情報を含む電子メールを、機密情報の種類に応じた機密レベルによって、更に、細かく分類する構成であってもよい。データ分類装置100は、CPU911を用いて、分類した結果を表わす分類結果データを出力する。
また、データ分類装置100は、CPU911を用いて、入力した電子メールを学習データとして、電子メールを、機密情報を含む電子メールと、機密情報を含まない電子メールとに分類する分類条件を学習する。
中継可否判定部822は、CPU911を用いて、メール受信部821が出力した電子メールと、データ分類装置100が出力した分類結果データとを入力する。中継可否判定部822は、CPU911を用いて、入力した分類結果データに基づいて、入力した電子メールが機密情報を含むか否かを判定する。電子メールが機密情報を含むと判定した場合、中継可否判定部822は、CPU911を用いて、入力した電子メールに基づいて、その電子メールの送信先を取得し、取得した送信先が機密情報を渡してもよい相手であるかを判定する。送信先が機密情報を渡してはいけない相手であると判定した場合、中継可否判定部822は、CPU911を用いて、入力した電子メールを出力せずに破棄する。送信先が機密情報を渡してもよい相手であるか不明であると判定した場合、そのことを確認メール生成部823に通知する。送信先が機密情報を渡してもよい相手であると判定した場合、および、電子メールが機密情報を含まないと判定した場合、中継可否判定部822は、CPU911を用いて、入力した電子メールを出力する。
確認メール生成部823は、送信先が機密情報を渡してもよい相手であるか不明であると中継可否判定部822が判定した場合、CPU911を用いて、管理者あるいは送信者に対して、その電子メールを送信してもよいかを確認する電子メール(以下「確認メール」と呼ぶ。)を生成する。確認メール生成部823は、CPU911を用いて、生成した確認メールを出力する。
メール送信部824は、CPU911を用いて、中継可否判定部822が出力した電子メール、あるいは、確認メール生成部823が出力した確認メールを入力する。メール送信部824は、通信装置915を用いて、入力した電子メールあるいは確認メールを送信する。
図10は、この実施の形態におけるメールサーバ装置820が電子メールを中継するメール中継処理の流れの一例を示すフローチャート図である。
メール中継処理は、電子メール受信工程S641、分類条件学習処理S642、データ分類処理S643、中継可否判定工程S644、確認メール送信工程S645、応答メール受信工程S646、確認結果判定工程647、電子メール送信工程S648を有する。
電子メール受信工程S641において、メール受信部821は、通信装置915を用いて、電子メールを受信する。
分類条件学習処理S642において、データ分類装置100は、CPU911を用いて、電子メール受信工程S641でメール受信部821が受信した電子メールを学習データとして、分類条件を学習する。
データ分類処理S643において、データ分類装置100は、CPU911を用いて、電子メール受信工程S641でメール受信部821が受信した電子メールを対象データとして、機密情報を含む電子メールと、機密情報を含まない電子メールとに分類する。
中継可否判定工程S644において、中継可否判定部822は、CPU911を用いて、データ分類処理S643でデータ分類装置100が分類した分類結果と、電子メール受信工程S641でメール受信部821が受信した電子メールとに基づいて、その電子メールを中継してもよいか否かを判定する。
その電子メールを中継してもよいと中継可否判定部822が判定した場合、メールサーバ装置820は、電子メール送信工程S648へ進む。
その電子メールを中継してはいけないと中継可否判定部822が判定した場合、メールサーバ装置820は、メール中継処理を終了する。
その電子メールを中継してもよいか否か不明であると中継可否判定部822が判定した場合、メールサーバ装置820は、確認メール送信工程S645へ進む。
確認メール送信工程S645において、確認メール生成部823は、CPU911を用いて、確認メールを生成する。メール送信部824は、通信装置915を用いて、確認メール生成部823が生成した確認メールを送信する。
応答メール受信工程S646において、メール受信部821は、通信装置915を用いて、確認メール送信工程S645で確認メール生成部823が生成した確認メールに対する応答である電子メール(以下「応答メール」と呼ぶ。)を受信する。
確認結果判定工程647において、中継可否判定部822は、CPU911を用いて、応答メール受信工程S646でメール受信部821が受信した応答メールに基づいて、電子メール受信工程S641でメール受信部821が受信した電子メールを中継してもよいか否かを判定する。
その電子メールを中継してもよいと中継可否判定部822が判定した場合、メールサーバ装置820は、電子メール送信工程S648へ進む。
その電子メールを中継してはいけないと中継可否判定部822が判定した場合、メールサーバ装置820は、メール中継処理を終了する。
電子メール送信工程S648において、メール送信部824は、通信装置915を用いて、電子メール受信工程S641でメール受信部821が受信した電子メールを送信する。
次に、データ分類装置100が分類条件を学習するときに用いる抽出条件について説明する。
この実施の形態におけるデータ分類装置100は、対象データが電子メールに限られているので、抽出条件記憶部121が記憶する抽出条件データが表わす抽出条件には、例えば、以下のようなものを使用することができる。
(1)電子メールの送信者のメールアドレスに関する条件
電子メールの送信者のメールアドレスは、例えば、電子メールのヘッダに含まれる「From:」行から取得することができる。また、電子メールの送信者の所属ドメインは、電子メールの送信者のメールアドレスの「@」より後ろの部分から取得することができる。
電子メールの送信者の所属ドメインが、その組織のドメイン(以下「内部ドメイン」と呼ぶ。)である場合、その電子メールは、機密情報を含む可能性がある。
逆に、電子メールの送信者の所属ドメインが、関連ドメイン(内部ドメインと、その組織と資本関係や契約関係などの関係がある他の組織のドメインとのうちいずれかであるドメインをいう。以下同じ。)でない場合、その電子メールは、機密情報を含まない。
したがって、電子メールの送信者のメールアドレスに関する条件を、抽出条件として使用することができる。
(2)電子メールの受信者のメールアドレスに関する条件
電子メールの受信者のメールアドレスは、例えば、電子メールのヘッダに含まれる「To:」行や「Cc:」行や「Bcc:」行から取得することができる。また、電子メールの受信者の所属ドメインは、電子メールの受信者のメールアドレスの「@」より後ろの部分から取得することができる。
電子メールの受信者の所属ドメインが、内部ドメインである場合、その電子メールは、機密情報を含む可能性がある。
電子メールの受信者のメールアドレスが、既知の外部のメーリングリストのメールアドレスである場合、その電子メールが誤って送信されたものであるなどの場合を除き、機密情報を含まない。以下、既知の外部のメーリングリストのメールアドレスなど、送信された電子メールが公開されることがあらかじめわかっているメールアドレスを、公開メールアドレスと呼ぶ。
したがって、電子メールの受信者のメールアドレスに関する条件を、抽出条件として使用することができる。
(3)電子メールの送信者の表示名に関する条件
電子メールの送信者の表示名は、例えば、電子メールのヘッダに含まれる「From:」行から取得することができる。
電子メールの送信者の表示名に機密情報関連用語が含まれる場合、その電子メールは、機密情報を含む可能性が高い。
したがって、電子メールの送信者の表示名に関する条件を、抽出条件として使用することができる。
ここで、機密情報関連用語とは、機密情報とともに用いられることが多い単語のことである。機密情報関連用語には、例えば、「社外秘」「極秘」「人事秘」「Confidential」「Secret」「取り扱い注意」など機密等級レベルを表わす単語、「月報」「週報」「日報」「開発計画書」「事業計画書」「受注計画書」「経営計画書」「議事録」「決算報告」「顧客名簿」「取引先名簿」など機密情報を含む文書の文書名として用いられることが多い単語、「営業1課」「開発2課」「営1」「開2」など組織の内部で用いられる内部組織名やその略称、組織の内部におけるプロジェクト名、組織の取引先の名称、組織内における文書管理番号、個人情報関連用語などがある。個人情報関連用語とは、個人情報に含まれることが多い単語のことである。個人情報関連用語には、例えば、氏名、住所、電話番号、メールアドレス、クレジットカード番号などがある。
(4)電子メールの受信者の表示名に関する条件
電子メールの受信者の表示名は、例えば、電子メールのヘッダに含まれる「To:」行や「Cc:」行や「Bcc:」行から取得することができる。
電子メールの受信者の表示名に機密情報関連用語が含まれる場合、その電子メールは、機密情報を含む可能性が高い。
したがって、電子メールの受信者の表示名に関する条件を、抽出条件として使用することができる。
(5)電子メールの件名に関する条件
電子メールの件名は、例えば、電子メールのヘッダに含まれる「Subject:」行から取得することができる。
電子メールの件名に機密情報関連用語が含まれる場合、その電子メールは、機密情報を含む可能性が高い。
したがって、電子メールの件名に関する条件を、抽出条件として使用することができる。
(6)電子メールの本文に関する条件
電子メールの本文に機密情報関連用語が含まれる場合、その電子メールは、機密情報を含む可能性が高い。
また、電子メールの本文には、ホームページなどのURL(Uniform Resource Locator)が記載される場合があるが、メールマガジンやダイレクトメールなどには、その組織の外部にあるドメインを参照するURL(以下「外部参照URL」と呼ぶ。)が大量に記載される場合がある。そこで、外部参照URLの数が所定の数以上であれば、その電子メールは、機密情報を含まない可能性が高い。
したがって、電子メールの本文に関する条件を、抽出条件として使用することができる。
(7)電子メールの添付ファイルのファイル名に関する条件
電子メールの添付ファイルのファイル名は、例えば、MIME(Multipurpose Internet Mail Extension)ヘッダから取得することができる。
電子メールの添付ファイルのファイル名に機密情報関連用語が含まれる場合、その添付ファイルは、機密情報を含む可能性が高い。
したがって、電子メールの添付ファイルのファイル名に関する条件を、抽出条件として使用することができる。
(8)電子メールの添付ファイルに含まれるテキストに関する条件
電子メールの添付ファイルに含まれるテキストは、例えば、添付ファイルのファイルタイプに適合するアプリケーションにより添付ファイルをデコードすることにより取得することができる。
電子メールの添付ファイルに含まれるテキストに機密情報関連用語が含まれる場合、その添付ファイルは、機密情報を含む可能性が高い。
したがって、電子メールの添付ファイルに含まれるテキストに関する条件を、抽出条件として使用することができる。
(9)電子メールの送信日時に関する条件
電子メールの送信日時は、例えば、電子メールのヘッダに含まれる「Date:」行から取得することができる。
電子メールの送信日時は、それだけでは、その電子メールが機密情報を含むか否かを判定できないが、機密情報を機密として管理する期限が定められている場合などにおいて、機密管理期間中であるか否かを判定することにより、その電子メールが機密情報を含むか否かを判定できる。
したがって、電子メールの送信日時に関する条件を、抽出条件として使用することができる。
上述した抽出条件は、いずれも、機密情報を含む可能性がある、もしくは、その可能性が高いことを示すのみであるから、単独では、機密情報を確実に含む電子メールだけを抽出できるとは限らない。しかし、複数の抽出条件を論理積(AND)で組み合わせて、抽出される電子メールを絞り込むことにより、機密情報を確実に含む電子メールだけを抽出できる機密抽出条件、及び、機密情報を確実に含まない電子メールだけを抽出できる非機密抽出条件を構成することができる。
このようにして構成された抽出条件を表わす抽出条件データを、抽出条件記憶部121は、磁気ディスク装置920を用いて記憶する。
抽出条件判定部122は、CPU911を用いて、抽出条件記憶部121が記憶した抽出条件データが表わす抽出条件に基づいて、機密情報を確実に含む電子メール、及び、機密情報を確実に含まない電子メールを抽出する。
分類条件学習部131は、CPU911を用いて、抽出条件判定部122が抽出した電子メールを、機密情報を含むデータのサンプル、もしくは、機密情報を含まないデータのサンプルとして、機密情報を含むデータと、機密情報を含まないデータとを分類する分類条件を学習する。
分類条件記憶部132は、磁気ディスク装置920を用いて、分類条件学習部131が学習した分類条件を表わす分類条件データを記憶する。
対象データ分類部151は、CPU911を用いて、分類条件記憶部132が記憶した分類条件データが表わす分類条件に基づいて、電子メールを、機密情報を含む電子メールと、機密情報を含まない電子メールとに分類する。
このように、抽出条件判定部122が抽出する電子メールは、分類条件学習部131が分類条件を学習するサンプルとして用いられるので、誤抽出を避けるため、機密抽出条件及び非機密条件として、なるべく厳格な条件を採用することが好ましい。
その結果、抽出される電子メールの数は、データ分類装置100が入力する電子メールの数と比較して非常に少ないものとなる。しかし、メールサーバ装置820が、日常的に大量の電子メールを中継するものであれば、データ分類装置100は、大量の電子メールを入力する。したがって、抽出条件判定部122は、分類条件学習部131が十分な学習をするために必要な数の電子メールを抽出することができる。
この実施の形態におけるデータ分類装置100において、上記学習データ入力部111は、上記処理装置(CPU911)を用いて、電子メールを、上記学習データとして入力する。
上記抽出条件判定部122は、上記処理装置(CPU911)を用いて、電子メールの送信者のメールアドレスと、電子メールの受信者のメールアドレスと、電子メールの送信者の表示名と、電子メールの受信者の表示名と、電子メールの件名と、電子メールの本文と、電子メールの添付ファイルのファイル名と、電子メールの添付ファイルに含まれるテキストと、電子メールの送信日時とのうち少なくともいずれかに関する条件を、上記所定の抽出条件とし、上記学習データ入力部111が入力した電子メールが上記所定の抽出条件に合致するか否かを判定する。
この実施の形態におけるデータ分類装置100によれば、抽出条件判定部122が、電子メールに固有の性質に着目した抽出条件に基づいて、電子メールが抽出条件に合致するか否かを判定するので、分類条件学習部131に対して、的確な学習サンプルを提供することができる。
また、ネットワーク上を大量に流れている電子メールのなかから、学習サンプルを抽出するので、誤抽出により分類条件学習部131が間違った分類条件を学習するのを防ぐため、抽出条件を厳格なものに設定しても、分類条件学習部131が分類条件を学習するのに十分な量の学習サンプルを得ることができる。
この実施の形態におけるデータ分類装置100において、上記抽出条件判定部122は、上記処理装置(CPU911)を用いて、電子メールの送信者のメールアドレスが表わす送信者の所属ドメインが所定の内部ドメインであることと、電子メールの受信者のメールアドレスが表わす受信者の所属ドメインが所定の内部ドメインであることと、電子メールの送信者の表示名が機密情報を含むことを表わすキーワード(機密情報関連用語)を含むことと、電子メールの受信者の表示名が機密情報を含むことを表わすキーワード(機密情報関連用語)を含むことと、電子メールの件名が機密情報を含むことを表わすキーワード(機密情報関連用語)を含むことと、電子メールの本文が機密情報を含むことを表わすキーワード(機密情報関連用語)を含むことと、電子メールの添付ファイルのファイル名が機密情報を含むことを表わすキーワード(機密情報関連用語)を含むことと、電子メールの添付ファイルに含まれるテキストが機密情報を含むことを表わすキーワード(機密情報関連用語)を含むこととのうち、少なくともいずれかの条件を満たすことを、上記所定の抽出条件(機密抽出条件)とし、上記学習データ入力部111が入力した電子メールが上記所定の抽出条件に合致するか否かを判定し、
上記分類条件学習部131は、上記処理装置(CPU911)を用いて、上記学習データ入力部111が入力した電子メールが上記所定の抽出条件(機密抽出条件)に合致すると上記抽出条件判定部122が判定した場合に、上記電子メールを、機密情報を含むデータのサンプルとして、機密情報を含むデータと、機密情報を含まないデータとを分類する分類条件を学習する。
この実施の形態におけるデータ分類装置100によれば、電子メールが所定の抽出条件に合致するか否かを抽出条件判定部122が判定することにより、機密情報を含む電子メールを抽出し、抽出した電子メールを機密情報を含むデータのサンプルとして、分類条件学習部131が、分類条件を学習するので、学習サンプルを人手により準備する必要がなく、大量の学習サンプルを用いて分類条件を学習することができ、機密情報を含むデータと機密情報を含まないデータとを分類する分類の精度を高めることができる。
この実施の形態におけるデータ分類装置100によれば、上記抽出条件判定部122は、上記処理装置(CPU911)を用いて、電子メールの送信者のメールアドレスが表わす送信者の所属ドメインが所定の関連ドメインでないことと、電子メールの受信者のメールアドレスが所定の公開メールアドレスであることと、電子メールの受信者のメールアドレスが表わす受信者の所属ドメインが所定の関連ドメインでないことと、電子メールの件名が機密情報を含まないことを表わすキーワードを含むことと、電子メールの本文が外部参照URLを所定の数以上含むこととのうち、少なくともいずれかの条件を満たすことを、上記所定の抽出条件(非機密抽出条件)とし、上記学習データ入力部111が入力した電子メールが上記所定の抽出条件に合致するか否かを判定する。
上記分類条件学習部131は、上記処理装置(CPU911)を用いて、上記学習データ入力部111が入力した電子メールが上記所定の抽出条件(非機密抽出条件)に合致すると上記抽出条件判定部122が判定した場合に、上記電子メールを、機密情報を含まないデータのサンプルとして、機密情報を含むデータと、機密情報を含まないデータとを分類する分類条件を学習する。
この実施の形態におけるデータ分類装置100によれば、電子メールが所定の抽出条件に合致するか否かを抽出条件判定部122が判定することにより、機密情報を含まない電子メールを抽出し、抽出した電子メールを機密情報を含まないデータのサンプルとして、分類条件学習部131が、分類条件を学習するので、学習サンプルを人手により準備する必要がなく、大量の学習サンプルを用いて分類条件を学習することができ、機密情報を含むデータと機密情報を含まないデータとを分類する分類の精度を高めることができる。
なお、この例では、分類条件学習部131が電子メールをサンプルとして学習した分類条件に基づいて、対象データ分類部151が電子メールを分類するが、対象データ分類部151が分類する対象データは、電子メールに限らなくてもよい。すなわち、対象データ入力部141が、CPU911を用いて、電子メール以外のデータも含む対象データを入力し、分類条件学習部131が、CPU911を用いて、分類条件学習部131が電子メールをサンプルとして学習した分類条件に基づいて、対象データ入力部141が入力した電子メール以外のデータも含む対象データを分類する構成としてもよい。
実施の形態5.
実施の形態5について、図11〜図17を用いて説明する。
この実施の形態では、実施の形態4と同様、機密情報を含む電子メールが誤って外部に送信されるのを防ぐメールサーバ装置について説明する。
図11は、この実施の形態におけるネットワークシステム800の構成の一例を示すシステム構成図である。
説明の便宜上、ネットワークシステム800は、3つのドメイン(対象組織ドメイン801と、対象外ドメイン802、契約組織ドメイン803)から構成されるものとする。
対象組織ドメイン801は、メールサーバ装置820によるメールのフィルタリングが導入され、フィルタリングの対象となる組織のドメインである。例えば、企業や、官庁、役所等の公的機関、その他団体、あるいはその内部組織(事業所、支所など)などが当てはまる。
契約組織ドメイン803は、対象組織ドメイン801との契約等によりなんらかの取引関係がある組織のドメインである。例えば、取引先、顧客や、関係会社などが当てはまる。
対象外ドメイン802は、対象組織ドメイン801でなく、契約組織ドメイン803にも含まれないドメインである。
対象組織ドメイン801は、例えば、メールサーバ装置820、ユーザの端末装置810にて構成されている。
対象外ドメイン802及び契約組織ドメイン803は、例えば、メールサーバ装置830、ユーザの端末装置810にて構成されている。
各ドメイン801〜803は、インターネット940などのネットワークを通じて接続されている。各端末装置810は、メールサーバ装置820,830およびネットワークを通じて、電子メールを送受信する。なお、端末装置の数や、メールサーバ装置の構成は、任意の数、任意の構成であってもよい。
ネットワークシステム800で送受信される電子メールは、例えば、IETF(Internet Engineering Task Force)のRFC(Request For Comments)2822にて定義されるフォーマットに従って構成され、RFC2821にて定義されるSMTP(Simple Mail Transfer Protocol)などのプロトコルにより配送される。以下の説明において、対象組織ドメイン801のドメイン名をdomain1.co.jp、対象外ドメイン802のドメイン名をdomain2.co.jp、契約組織ドメイン803のドメイン名をdomain3.co.jpとする。また、対象組織ドメイン801の端末装置810のユーザのメールアドレスをuserA@domain1.co.jp、userB@domain1.co.jp、対象外ドメイン802の端末装置810のユーザのメールアドレスをuserC@domain2.co.jp、契約組織ドメイン803の端末装置810のユーザのメールアドレスをuserD@domain3.co.jpとする。
図12は、この実施の形態におけるメールサーバ装置820の構成の一例を示すブロック構成図である。
メールサーバ装置820は、メールフィルタ部200(データ分類装置)を有する。
メールフィルタ部200は、メールサーバ装置820を通過する電子メールをフィルタリングして、そのまま送出する電子メール、保留して送信者に送出可否を確認する電子メール、破棄する電子メール等に、そのメールの内容や属性に応じて、分類する。
メールフィルタ部200は、メール入力部211、入力メール記憶部212、振り分け部221、学習用メール記憶部222、分類用メール記憶部223、メール分類部(抽出条件記憶部231、抽出部232、学習部241、学習結果記憶部242、分類部251)、およびフィルタ処理部261を備える。
メール入力部211は、CPU911を用いて、メールサーバ装置820を通過しようとする電子メールを入力する。入力メール記憶部212は、入力した電子メールを入力メールとして記憶する。振り分け部221(学習データ入力部、対象データ入力部)は、入力した入力メールを、学習用メール(学習データ)と分類用メール(対象データ)とに振り分ける。学習用メール記憶部222は、学習用メールを記憶する。学習用メールは、メール分類部が、機械学習による分類のための学習サンプルデータとして用いる。分類用メール記憶部223は、分類用メールを記憶する。分類用メールは、メール分類部が、複数のカテゴリ(分類カテゴリ)に分類する。メール分類部が分類したカテゴリに応じて、フィルタ処理部261が、送出、保留、破棄などのフィルタ処理を行う。メールサーバ装置820は、フィルタ処理部261の指示に基いて、送出可能な入力メールを配送先に向けて送出する。
メール分類部は、抽出部232(抽出条件判定部)、学習部241(分類条件学習部)、学習結果記憶部242(分類条件記憶部)、分類部251(対象データ分類部)、および、複数のカテゴリ(分類カテゴリ)に対する抽出条件を記憶する抽出条件記憶部231から構成される。
抽出条件記憶部231は、例えば、2つのカテゴリに対して、カテゴリ1抽出条件およびカテゴリ2抽出条件をあらかじめ用意して、記憶している。なお、カテゴリの数は2に限定されるものではなく3以上としてもよい。抽出条件は、システムの管理者等により設定される。
振り分け部221は、例えば、システム管理者の設定により学習モードまたは分類モードに設定される。学習モードにおいて、振り分け部221は、入力メールを学習用メールとして出力する。分類モードにおいて、振り分け部221は、入力メールを分類用メールとして出力する。これにより、システム立上げ直後のように学習が充分行われていないような場合には、学習のみを行って学習データを蓄積し、ある程度学習が進んだところで分類を行わせるような運用にすることができる。これにより、学習データの不足による誤分類の影響を除外することができる。
あるいは、分類モードの代わりに学習&分類モードを設けてもよい。学習&分類モードにおいて、振り分け部221は、入力メールを学習用メールと分類用メールの両方に出力する。これにより、常に学習を行って学習データをアップデートしながら分類を行うことができるので、分類対象のデータ内容が時間と共に変化するような場合でも、学習データを常に最新の状態に保ち分類精度を向上させることができる。
抽出部232は、入力した学習用メールから、抽出条件に合致する学習用メールを抽出する。好ましくは、抽出条件として、該当カテゴリに属することを示す特徴的な複数のキーワードを用意し、文字列照合部(図示せず)が、それらのキーワードが入力メールに含まれているかどうかを判定し、含まれている場合に、抽出部232は、入力メールを該当カテゴリに属するメールとして抽出する。あるいは、抽出部232は、入力メールに含まれる抽出条件に指定のキーワード数が指定の閾値を越える場合にその入力メールを該当カテゴリに属するメールとして抽出する構成としてもよい。
さらに好ましくは、抽出条件として、正規表現の検索式を用いる文字列照合を行う。正規表現を用いることにより、単純なキーワードに加え、より複雑なパターンを検出することが可能となり、抽出条件の柔軟性を向上させることができる。例えば、「社外秘」というキーワードを照合したい場合に、「社 *外 *秘」などと記述することにより、間にスペースが入っていても漏れなく検出できるなど、表記ゆれに対応することが可能となる。また、クレジットカード番号を照合したい場合に、16桁の数字を「[^0−9][0−9]{16}[^0−9]」などと記述することにより、キーワードとしては表現できない組み合わせパターンに対応することが可能となる。
抽出部232は、また、電子メールの属性を抽出し、照合を行う構成であってもよい。電子メールの属性としては、RFC2822にて定義されるヘッダフィールドやRFC2821にて定義されるエンベロープなどを用いる。ヘッダフィールドの例としては、From(送信者アドレス)、To(受信者アドレス)、Cc(同報受信者アドレス)や、Subject(件名)、Date(送信日時)、Received(受信日時)などがある。
抽出部232は、また、メールの添付ファイルのファイル名や添付ファイル内のテキストを抽出して照合を行う構成であってもよい。RFC2045〜2049で定義されているMIME形式などによってエンコードされている添付ファイルの場合、MIMEヘッダから添付ファイル名を抽出することが可能であり、またボディをデコードして添付ファイルを抽出し、その添付ファイルからテキストを抽出することが可能である。
学習部241は、抽出部232がカテゴリ毎に抽出した電子メールを、それぞれのカテゴリの学習サンプルデータとして入力し、学習結果データ(分類条件データ)を生成する。分類部251は、学習結果データを用いて、分類用メールをカテゴリごとに分類し、分類されたカテゴリを出力する。例えば、分類部251は、分類用メールを、カテゴリ1またはカテゴリ2のいずれかに分類する。なお、分類部251は、抽出条件のカテゴリに合わせて3以上のカテゴリに分類する構成であってもよい。3以上のカテゴリがある場合、分類部251は、1つの電子メールを複数のカテゴリに分類する場合があってもよい。また、抽出部232が抽出する抽出条件のカテゴリの数と、学習部241が学習し、分類部251が分類するカテゴリの数とは、必ずしも一致しなくてよい。例えば、分類部251が、特定のカテゴリに属するかそうでないかの2分割を行うような場合、抽出部232は、特定のカテゴリに属する学習サンプル(正例)と属さない学習サンプル(負例)とを抽出する。すなわち、1つの分類カテゴリに対して、2種類のサンプルを抽出する。なお、抽出部232は、正例のみを抽出し、学習部241は、正例のみを学習する構成であってもよい。
学習部241および分類部251は、一般に知られている任意の機械学習を用いた文書分類方式を用いる。例えば、非特許文献1には、Hidden Markov Model、Orthogonal Sparse Bigrams、WINNOW、Correllation、KNN/Hyperspace、Bit Entropyなどの機械学習による分類方式を用いて、文書の分類が可能なソフトウェアが開示されている。学習部241および分類部251は、これらの文書分類方式を用いる構成としてもよい。これらの方式の他にも、例えば、非特許文献2にあるように、Support Vector Machine、Neural Networkなどの分類方式や、Classifier Committeesと呼ばれる、複数の分類方式の組み合わせによる方式が知られている。学習部241および分類部251は、これらの方式や他の方式を用いる構成としてもよい。
次に、メールフィルタ部200の動作について、説明する。
図13は、この実施の形態におけるメールサーバ装置820が学習する学習処理の流れの一例を示すフローチャート図である。
まず、メール入力工程S651において、メールサーバ装置820は、ユーザまたはネットワークから電子メールを受信する。メールフィルタ部200では、メール入力部211が、電子メールを入力する。
振り分けモードが学習モードまたは学習&分類モードの場合、学習用メール振り分け工程S652において、振り分け部221は、入力メールを学習用メールとして出力する。
学習工程S653において、メール分類部は、学習用メールに基づいて学習する。
図14は、この実施の形態におけるメールサーバ装置820がフィルタリングをするフィルタ処理の流れの一例を示すフローチャート図である。
メール入力工程S661において、メールサーバ装置820は、ユーザまたはネットワークから電子メールを受信する。メールフィルタ部200では、メール入力部211が、電子メールを入力する。
振り分けモードが分類モードまたは学習&分類モードの場合、分類用メール振り分け工程S662において、振り分け部221は、入力メールを分類用メールとして出力する。
分類工程S663において、メール分類部は、分類用メールを分類する。
処理決定工程S664において、フィルタ処理部261は、メール分類部の分類結果に応じて、電子メールの処理(送出、保留、破棄、など)を決定する。フィルタ処理部261は、処理内容を送信者宛にメール通知し、送信者に最終判断を仰ぐこととしてもよい。
対処工程S665において、メールサーバ装置820は、処理(送出、保留、破棄、など)を実行する。メールサーバ装置820は、「送出」と決定されたメールを送信先に向けて送出する。メールサーバ装置820は、「保留」と決定されたメールを、メールサーバ装置820に蓄積し、送信者からの指示を待って、送出または破棄する。メールサーバ装置820は、「破棄」と決定されたメールを、受信者側に送出することなく破棄する。
次に、メール分類部の学習動作について、より詳細に説明する。
図15は、この実施の形態におけるメール分類部が学習をする学習工程S653の流れの一例を示すフローチャート図である。
まず、抽出工程S671において、抽出部232は、抽出条件に基いて、学習用メールから抽出を実行する。抽出結果がカテゴリ1に合致した場合、カテゴリ1学習工程S672aへ進む。抽出結果がカテゴリ2に合致した場合、カテゴリ2学習工程S672bへ進む。抽出結果がいずれのカテゴリにも合致しない場合、学習工程S653を終了する。
カテゴリ1学習工程S672aにおいて、学習部241は、学習用メールをカテゴリ1の学習サンプルとして学習を実行する。その後、学習結果更新工程S673へ進む。
カテゴリ2学習工程S672bにおいて、学習部241は、学習用メールをカテゴリ2の学習サンプルとして学習を実行する。その後、学習結果更新工程S673へ進む。
学習結果更新工程S673において、学習結果記憶部242は、学習結果データを更新する。
なお、カテゴリが3以上の場合も同様である。また、カテゴリが3以上の場合であって、1つの学習用メールが複数のカテゴリに合致するような抽出条件を作成した場合、学習部241は、学習用メールを、合致した複数のカテゴリの学習サンプルとして学習する。
以上述べたように、この実施の形態におけるメールサーバ装置820の文書分類方式によれば、メールサーバ装置820を流れる電子メールを入力し、予め設定された抽出条件により各分類カテゴリの学習サンプルを抽出して学習を行うことにより、人手による学習サンプル作成の手間がかからず、分類精度を高めることができる。
次に、電子メール中の機密情報を検出してフィルタリングを行う場合の抽出条件の設定例を、説明する。
図16は、この実施の形態における抽出条件記憶部231が記憶するデータの一例を示す図である。
抽出条件記憶部231は、抽出条件テーブル510を記憶する。抽出条件テーブル510は、抽出条件識別データ511と、抽出条件データ512との組を1以上有する。
カテゴリ1を機密情報(機密カテゴリ)、カテゴリ2を非機密情報(非機密カテゴリ)とした場合、機密情報の抽出条件は、例えば、「C01」〜「C07」に示すように設定する。
抽出条件「C01」は、対象組織の内部メールを抽出する場合の例である。内部メールとは、対象組織ドメイン801の内部でやり取りされるメールである。内部メールは、対象組織外に出されるメールよりも機密情報を含む可能性が高い。ただし、内部メールというだけでは機密情報でないメール(例えば飲み会の案内など)を含む可能性もある。より好適な例としては、「C01」と他のルール(例えば「C03」「C04」「C05」など)と組み合わせることにより、より正確に機密情報を含むメールを抽出できる。
この例において、抽出部232が正規表現を用いた文字列照合を行うので、抽出条件データ512は、正規表現を用いて記述されている。ただし、この例に示した正規表現は一例であって、RFC2822の規則に従い1ヘッダフィールドの終端を示す改行までの照合を厳密に行う正規表現を作成するほうが好ましい。それによって、より正確な抽出ができる。また、抽出条件「C01」では、宛先に「To」を用いているが、「Cc」を加えた正規表現としてもよい。また、「To」「From」の代わりに、SMTPエンベロープに記載の受信者アドレス(RCPT TO)および送信者アドレス(MAIL FROM)を照合する構成としてもよい。
抽出条件「C02」は、対象組織と契約組織とのやり取りメールを抽出する場合の例である。ここで契約組織というのは、対象組織との取引契約、機密保持契約などによって機密情報が流れることがあらかじめ分かっている対象組織外のドメインを代表している。このように既知の契約組織ドメイン803とのやり取りのメールを抽出することによって、機密情報を含むメールを抽出できる。なお、抽出条件「C02」と他のルールとの組み合わせがさらに好適であることや、「Cc」「RCPT TO」「MAIL FROM」への拡張については、抽出条件「C01」と同様である。
抽出条件「C03」は、件名に機密情報関連用語が記されているメールを抽出する場合の例である。件名を含むヘッダフィールドおよびメール本文は、適切にデコードすることによって文字列照合が容易に可能となる。なお、変数「${機密情報関連用語}」には、1以上の機密情報関連用語を「|」で結合した文字列が格納されているものとする。
抽出条件「C04」は、本文または添付ファイル内のテキストに機密情報関連用語が記されているメールを抽出する場合の例である。抽出部232は、文字列照合に先立って、添付ファイル内のテキストを、あらかじめ添付ファイルから取り出して、電子メールの本文の後に連結しておく。これにより、抽出部232は、電子メールの本文と同様に、添付ファイル内のテキストを文字列照合することができる。
抽出条件「C05」は、添付ファイル名に機密情報関連用語が記されているメールを抽出する場合の例である。添付ファイル名は、RFC1806に従ってContent−Dispositionヘッダフィールドのfilenameプロパティをデコードすることで文字列照合が可能である。
以上示したようなメールは機密情報を含む可能性が高い。更に、前述のように抽出条件「C01」「C02」との組み合わせにより、さらにその可能性が高くなり正確な抽出が可能となる。
抽出条件「C06」は、送信日付の範囲が指定の範囲であるメールを抽出する場合の例である。この例では、ヘッダフィールドの「Date」(送信日時)を例としてあげているが、Receivedフィールドを用いることにより受信日時を対象とすることもできる。
抽出条件「C07」は、メールアドレスの表示名(RFC2822のdisplay−name)に機密情報関連用語が記されている場合の例である。表示名には、組織名や人名などの情報が含まれているため機密情報検出の手がかりとなる。
次に、非機密情報の抽出条件の例を説明する。
抽出条件「N01」は、対象組織内、既知の契約組織以外からの発信されたメールを抽出する場合の例である。そのような電子メールは、機密情報を含まない可能性が高い。
抽出条件「N02」は、既知の対象外ドメイン802からのメールを抽出する場合の例である。例えば、メールマガジンの送信元などの既知のドメインを設定しておくことにより、明らかな公開情報を抽出できる。
抽出条件「N03」は、対象組織内から対象外組織へのメールを抽出する場合の例である。例えば、社外団体活動などの公開情報を抽出できる。
抽出条件「N04」は、公開メーリングリストからのメールを抽出する場合の例である。メーリングリストでは、件名にメーリングリスト名が書かれる場合が多く、既知の公開メーリングリスト名を照合することにより、公開情報を抽出できる。
抽出条件「N05」は、本文または添付ファイル内のテキストに外部参照URLが含まれている場合の例である。URLに含まれる既知の対象外組織アドレスやURL出現回数を合わせて判定することにより、メールマガジンやダイレクトメールなどの外部参照URLが多く記載されることの多い公開情報を抽出できる。
次に、機密情報関連用語の例を説明する。
図17は、この実施の形態における機密情報関連用語の一例を示す図である。
抽出部232は、あらかじめ、例えば、ここに示した機密情報関連用語を「|」により結合した文字列を、変数「${機密情報関連用語}」に格納しておく。
機密情報に関しては、普遍的な定義は存在せず、それぞれの組織にて個別に定義されるものである。しかしながら、通常、組織には組織内規則などの形で機密情報管理に関するポリシーが定められているので、以下で述べる枠組みにしたがって抽出条件に設定するための機密情報関連用語を用意することが可能である。
機密情報関連用語「K01」は、機密等級ラベルとして用いられる用語を集めたものである。例えば、「社外秘」「極秘」「人事秘」「Confidential」「Secret」「取り扱い注意」など、その組織においてあらかじめ定められた用語を、機密情報関連用語とする。このような用語は、端的に機密情報を含む内容であることを示しており、このような用語を含む文書を抽出することで、正確な機密情報の学習用メールを提供できる。正規表現では、それぞれの用語を「|」で結合してOR的に表現することができる。また、「取り扱い注意」などの用語は、「取扱注意」「取注」のように表記にゆれがあるが、正規表現を用いて表記することにより、表記ゆれを吸収して漏れのない抽出が可能となる。
機密情報関連用語「K02」は、機密文書種類として用いられる用語を集めたものである。例えば、「月報」「週報」「日報」「開発計画書」「事業計画書」「受注計画書」「経営計画書」「議事録」「決算報告」「顧客名簿」「取引先名簿」など、その組織内における規則により機密文書として扱われることが定められている文書の種類を表す用語を、機密情報関連用語とする。
機密情報関連用語「K03」は、内部組織名およびその略称を集めたものである。例えば、「○○営業1課」「××開発2課」やその略称である「○営1」「×開2」など、その組織の内部組織名やその略称を、機密情報関連用語とする。内部組織名自体は機密情報ではないが、内部組織名の略称のように内部的にのみ用いられることが組織内規則で定められている場合には、内部文書であることを示す用語となる。
そのほか、「△△プロジェクト」などのプロジェクト名(「K04」)、「□□株式会社」「◎◎省」などの取引先名(「K05」)、「DOC10001」などの文書管理番号(「K06」)など、内部で用いられる用語も同様に、内部文書であることを示すので、機密情報関連用語として用いることができる。
なお、機密情報関連用語はこれらに限られるものではない。
また、個人情報であることを示す用語も、機密情報関連用語として用いることができる。個人情報を検出するための機密情報関連用語としては、例えば、「佐藤」「鈴木」「高橋」などの人名を列挙したもの(「K07」)がある。頻出人名を列挙することにより、文書中の人名を検出できる。
そのほか、「〜〜県〜〜市〜〜町〜〜」などの住所(「K08」)、「(03)1111−2222」などの電話番号(「K09」)、「user1@domain1.co.jp」などのメールアドレス(「K10」)、「123 5678 9012 3456」などのクレジットカード番号(「K11」)も、個人情報であることを示す用語として、機密情報関連用語に用いることができる。なお、機密情報関連用語「K08」〜「K11」は、人名「K07」と組み合わせることにより、より正確に、個人情報が含まれる文書を抽出することができる。抽出部232は、「K07」と「K08」〜「K11」の組み合わせのヒット数により、個人情報が含まれる文書であるか判断する構成としてもよい。
以上説明したデータ分類装置100が文書(対象データ)を分類する文書分類方法は、入力された文書を、複数の分類カテゴリに分類する文書分類方法であって、以下のステップを有する。
(1)複数のサンプル文書(学習データ)を入力する。
(2)あらかじめ複数の分類カテゴリごとに設定された複数の抽出条件により、複数のサンプル文書から各分類カテゴリに対応付けられる文書を抽出する。
(3)分類カテゴリごとに抽出されたサンプル文書を用いて少なくとも1つのアルゴリズムによる機械学習を行うことにより、学習結果データ(分類条件データ)を生成または更新する。
(4)1つ以上の分類対象文書(対象データ)を入力する。
(5)前記アルゴリズムに対応する前記学習結果データ(分類条件データ)を用いる少なくとも1つのアルゴリズムにより、入力された分類対象文書を複数の分類カテゴリに分類する。
(6)分類対象文書の分類結果を出力する。
以上説明したデータ分類装置100が文書(対象データ)を分類する文書分類方法においては、前記文書(対象データ)が、電子メールである。
前記抽出条件は、
(1)送信者メールアドレスまたは受信者メールアドレスの特定ドメインまたは特定アドレスを検出するもの。
(2)メールアドレスの表示名の特定キーワードまたはパターンを検出するもの。
(3)件名の特定キーワードまたはパターンを検出するもの。
(4)本文中の特定キーワードまたはパターンを検出するもの。
(5)添付ファイル中の特定キーワードまたはパターンを検出するもの。
(6)添付ファイル名の特定キーワードまたはパターンを検出するもの。
(7)送信日時が特定範囲に含まれることを検出するもの。
のうちの1つ以上を含む。
以上説明したデータ分類装置100が文書(対象データ)を分類する文書分類方法においては、前記分類カテゴリが、機密情報と非機密情報を含む。
機密情報に対応付けられた前記検出条件は、
(1)送信者または受信者メールアドレスが対象組織ドメイン801または契約組織ドメイン803である。
(2)メールアドレスの表示名または件名または本文または添付ファイルまたは添付ファイル名に機密キーワードまたはパターンを含む。
のうち少なくとも1つを含む。
非機密情報に対応付けられた前記検出条件は、
(1)送信者メールアドレスが対象組織ドメイン801でも契約組織ドメイン803でもない。
(2)送信者メールアドレスがメールマガシン送信元を含む既知の対象外ドメイン802である。
(3)送信者メールアドレスが対象組織ドメイン801であって、受信者メールアドレスが対象外ドメイン802である。
(4)件名にメーリングリスト名を含む特定のキーワードまたはパターンを含む。
(5)本文または添付ファイル内に外部参照URLが指定の数以上含まれている。
のうち少なくとも1つを含む。
以上説明したデータ分類装置100が文書(対象データ)を分類する文書分類方法においては、前記分類カテゴリが、機密情報と非機密情報を含む。
機密情報に対応付けられた前記検出条件の特定キーワードは、
(1)機密等級ラベルを示すキーワードまたはパターン。
(2)機密文書種類を示すキーワードまたはパターン。
(3)内部組織名またはその略称を示すキーワードまたはパターン。
(4)内部プロジェクト名を示すキーワードまたはパターン。
(5)取引先名を示すキーワードまたはパターン。
(6)文書管理番号を示すキーワードまたはパターン。
(7)個人情報を示すキーワードまたはパターン。
のうち少なくとも1つを含む。
非機密情報に対応付けられた前記検出条件は、
(1)機密情報に対応付けられた検出条件を全く含まない。
(2)文書ファイル名または文書内に機密ではないことを示すキーワードまたはパターンを含む。
のうち少なくとも1つを含む。
以上説明したデータ分類装置100が文書(対象データ)を分類する文書分類方法において、前記抽出条件は正規表現式で記述される。
前記抽出するステップにおいて、正規表現フィルタが抽出を行う。
以上述べたように、抽出条件としてメールヘッダのメールアドレスと、件名、本文、添付ファイルの機密情報関連用語を用いて抽出を行うことにより、高い精度で機密情報を含む電子メールと機密情報を含まない電子メールとを抽出することができる。これにより、機械学習の学習サンプルとしての精度を高めることができ、したがって、高精度な分類が可能となる。また、抽出条件により自動的に学習用メールを抽出することで、人手により学習サンプルを作成する手間なしに、ネットワーク上を大量に流れる電子メールから充分な量の学習サンプルを生成することが可能となる。
なお、この実施の形態における抽出条件は、メールの分類自体を行うものではなく、機械学習による分類を行うための学習サンプルを抽出するためのルールであるから、再現率が低いことは問題にならない。したがって、適合率を高めることで、学習サンプルとしての質を高めることができる。例えば、抽出条件「C01」を単体で用いるのではなく、「C01」と「C03」とのANDを取って抽出するというように絞込みを行ったほうがより正確な学習サンプルを抽出できる。このように絞り込んでも、この実施の形態のように常に大量のメールが流れているような状態においては、時間と共に充分な量の学習サンプルを抽出することが可能である。
実施の形態6.
実施の形態6について、図18を用いて説明する。
この実施の形態では、実施の形態1〜実施の形態3で説明したデータ分類装置100を利用して、機密情報の管理が適切になされているかどうかを監査する監査装置について説明する。
図18は、この実施の形態における文書管理システム850の構成の一例を示すシステム構成図である。
文書管理システム850は、文書サーバ装置860、端末装置810、監査装置870を有する。
文書サーバ装置860、端末装置810、監査装置870は、LAN942を介して互いに接続している。
文書サーバ装置860は、磁気ディスク装置920などの記憶装置を用いて、文書ファイルを記憶する。
端末装置810は、CPU911などの処理装置を用いて、文書サーバ装置860が記憶した文書ファイルを取得し、取得した文書ファイルを表示するなどして出力する。また、端末装置810は、CPU911を用いて、文書ファイルを入力し、文書サーバ装置860に記憶させる。
文書サーバ装置860が記憶する文書ファイルは、例えば、フォルダを分けるなどして、機密情報を含む文書ファイルと、機密情報を含まない文書ファイルとに分けて管理される。例えば、端末装置810は、入力した文書ファイルが機密情報を含むか否かを利用者に入力させ、利用者が入力した情報に基づいて、文書サーバ装置860がその文書ファイルを記憶するフォルダを決定する。あるいは、利用者が、文書ファイルを記憶するフォルダを指定する構成としてもよい。
監査装置870は、文書ファイルの管理が適切になされているか否かを監査する。監査装置870は、文書サーバ装置860が記憶した文書ファイルを入力し、入力した文書ファイルを、機密情報を含む文書ファイルと、機密情報を含まない文書ファイルとに分類する。監査装置870は、分類した結果に基づいて、その文書ファイルが記憶されるべきフォルダに記憶されているか否かを判定する。監査装置870は、適切なフォルダに記憶されていない文書ファイルを発見した場合、その旨を表示するなどして、管理者に通知する。
監査装置870のハードウェア資源は、実施の形態1で説明したデータ分類装置100と同様である。
監査装置870は、文書入力部871、データ分類装置100、監査結果表示部872を有する。
文書入力部871は、CPU911を用いて、文書サーバ装置860が記憶した文書ファイルを入力する。
データ分類装置100は、CPU911を用いて、文書入力部871が入力した文書ファイルを、機密情報を含む文書ファイルと、機密情報を含まない文書ファイルとに分類する。また、データ分類装置100は、文書入力部871が入力した文書ファイルを学習データとして、機密情報を含む文書ファイルと、機密情報を含まない文書ファイルとを分類する分類条件を学習する。
監査結果表示部872は、CPU911を用いて、データ分類装置100が分類した分類結果に基づいて、文書管理が適切か否かを判定し、判定した結果を表示する。
データ分類装置100は、文書ファイルが、機密情報を含む文書ファイルとして管理されているか、機密情報を含まない文書ファイルとして管理されているかにかかわらず、独自の抽出条件に基づいて、機密情報を含むデータのサンプルとなる文書ファイルと、機密情報を含まないデータのサンプルとなる文書ファイルとを抽出する。文書ファイルの管理が適切にされていない場合があるからである。なお、文書ファイルが、機密情報を含む文書ファイルとして管理されているか否かを、唯一の抽出条件とするのではなく、他の抽出条件と組み合わせることにより、抽出される文書ファイルを絞り込むための加重的条件として利用するのであれば、抽出条件の一部として利用してもよい。
次に、データ分類装置100が分類条件を学習するとこに用いる抽出条件について説明する。
この実施の形態におけるデータ分類装置100は、対象データが文書ファイルに限られているので、抽出条件記憶部121が記憶する抽出条件データが表わす抽出条件には、例えば、以下のようなものを使用することができる。
(1)文書ファイルのファイル名に関する条件
文書ファイルのファイル名が、機密情報関連用語を含む場合、その文書ファイルは、機密情報を含む可能性が高い。
したがって、文書ファイルのファイル名に関する条件を、抽出条件として使用することができる。
なお、機密情報関連用語には、例えば、機密等級ラベルを表わすキーワード、機密文書種類を表わすキーワード、内部組織名(またはその略称)を表わすキーワード、取引先名を表わすキーワード、文書管理番号を表わすキーワード、人名、住所、電話番号、メールアドレス、クレジットカード番号など個人情報を表わすキーワードなどがある。
(2)文書ファイルに含まれるテキストに関する条件
文書ファイルに含まれるテキストが機密情報関連用語を含む場合、その文書ファイルは、機密情報を含む可能性が高い。
したがって、文書ファイルに含まれるテキストに関する条件は、抽出条件として使用することができる。
(3)文書ファイルの更新日時に関する条件
文書ファイルの更新日時は、電子メールの送信日時と同様、機密情報を機密として管理する期限が定められている場合などにおいて、機密管理期間中であるか否かを判定することにより、その文書ファイルが機密情報を含むか否かを判定できる。
したがって、文書ファイルの更新日時に関する条件を、抽出条件として使用することができる。
(4)文書ファイルの所有者に関する条件
文書ファイルの所有者(作成者など)が、機密情報を扱う担当者である場合、その文書ファイルが機密情報を含む可能性がある。
したがって、文書ファイルの所有者に関する条件を、抽出条件として使用することができる。
(5)文書ファイルの更新者に関する条件
文書ファイルの更新者が、機密情報を扱う担当者である場合、その文書ファイルが機密情報を含む可能性がある。
したがって、文書ファイルの更新者に関する条件を、抽出条件として使用することができる。
(6)文書ファイルのアクセス権限に関する条件
文書ファイルのアクセス権限が制限されている場合、その文書ファイルが機密情報を含む可能性が高い。
したがって、文書ファイルのアクセス権限に関する条件を、抽出条件として使用することができる。
(7)文書ファイルのファイルタイプが、例えば、特定のCAD(Computer Aided Design)システムで作成したCADデータである場合、その文書ファイルが機密情報を含む可能性が高い。
したがって、文書ファイルのファイルタイプに関する条件を、抽出条件として使用することができる。
(8)文書ファイルに含まれるヘッダに関する条件
文書ファイルのヘッダに機密情報関連用語が含まれている場合、その文書ファイルが機密情報を含む可能性が高い。
したがって、文書ファイルに含まれるヘッダに関する条件を、抽出条件として使用することができる。
(9)文書ファイルに含まれるフッタに関する条件
文書ファイルのフッタに機密情報関連用語が含まれている場合、その文書ファイルが機密情報を含む可能性が高い。
したがって、文書ファイルに含まれるフッタに関する条件を、抽出条件として使用することができる。
上述した抽出条件のうちから選択した複数の抽出条件を論理積で組み合わせて、抽出される文書ファイルを絞り込むことにより、機密情報を確実に含む文書ファイルだけを抽出できる機密抽出条件、及び、機密情報を確実に含まない文書ファイルだけを抽出できる非機密抽出条件を構成することができる。
この実施の形態におけるデータ分類装置100において、上記学習データ入力部111は、上記処理装置(CPU911)を用いて、ファイル記憶装置(文書サーバ装置860)が記憶したデータファイル(文書ファイル)を、上記学習データとして入力する。
上記抽出条件判定部122は、上記処理装置(CPU911)を用いて、データファイルのファイル名と、データファイルに含まれるテキストと、データファイルの更新日時と、データファイルの所有者と、データファイルの更新者と、データファイルのアクセス権限と、データファイルのファイルタイプと、データファイルに含まれるヘッダと、データファイルに含まれるフッタとのうち、少なくともいずれかに関する条件を、上記所定の抽出条件とし、上記学習データ入力部111が入力したデータファイルが上記所定の抽出条件に合致するか否かを判定する。
この実施の形態におけるデータ分類装置100によれば、抽出条件判定部122が、データファイルに固有の性質に着目した抽出条件に基づいて、データファイルが抽出条件に合致するか否かを判定するので、分類条件学習部131に対して、的確な学習サンプルを提供することができる。
この実施の形態におけるデータ分類装置100において、上記抽出条件判定部122は、上記処理装置(CPU911)を用いて、データファイル(文書ファイル)のファイル名と、データファイルのテキストと、データファイルに含まれるヘッダと、データファイルに含まれるフッタとのうち、少なくともいずれかが、機密等級ラベルを表わすキーワードと、機密文書種類を表わすキーワードと、内部組織名を表わすキーワードと、取引先名を表わすキーワードと、文書管理番号を表わすキーワードと、個人情報を表わすキーワードとのうち、少なくともいずれかを含むことを上記所定の抽出条件とし、上記学習データ入力部111が入力したデータファイルが上記所定の抽出条件に合致するか否かを判定する。
上記分類条件学習部131は、上記処理装置(CPU911)を用いて、上記学習データ入力部111が入力したデータファイルが上記所定の抽出条件に合致すると上記抽出条件判定部122が判定した場合に、上記データファイルを、機密情報を含むデータのサンプルとして、機密情報を含むデータと、機密情報を含まないデータとを分類する分類条件を学習する。
この実施の形態におけるデータ分類装置100によれば、データファイルが所定の抽出条件に合致するか否かを抽出条件判定部122が判定することにより、機密情報を含むデータファイルを抽出し、抽出したデータファイルを機密情報を含むデータのサンプルとして、分類条件学習部131が、分類条件を学習するので、学習サンプルを人手により準備する必要がなく、大量の学習サンプルを用いて分類条件を学習することができ、機密情報を含むデータと機密情報を含まないデータとを分類する分類の精度を高めることができる。
なお、この例では、分類条件学習部131が文書ファイルをサンプルとして学習した分類条件に基づいて、対象データ分類部151が文書ファイルを分類するが、対象データ分類部151が分類する対象データは、文書ファイルに限らなくてもよい。すなわち、対象データ入力部141が、CPU911を用いて、文書ファイル以外のデータも含む対象データを入力し、分類条件学習部131が、CPU911を用いて、分類条件学習部131が文書ファイルをサンプルとして学習した分類条件に基づいて、対象データ入力部141が入力した文書ファイル以外のデータも含む対象データを分類する構成としてもよい。
実施の形態7.
実施の形態7について、図19〜図20を用いて説明する。
この実施の形態では、実施の形態6と同様、文書ファイルの管理が適切にされているかを監査する監査装置について説明する。
図19は、この実施の形態における機密文書監査システムの構成の一例を示すシステム構成図である。
機密文書監査システム(文書管理システム)は、組織において、文書ファイルが適正に管理されているかどうかを確認するものである。機密文書監査システムは、例えば、組織内規則により、機密文書は、共有ファイルサーバ装置(文書サーバ装置)の機密文書フォルダや、機密文書用の文書管理システムにて保管しなければならないと決められている場合において、各ユーザが使用している端末内のディスクに機密文書が不正に置かれていないかどうかを検査し、結果の確認、是正などを行う。
ファイルサーバ装置880は、組織において文書ファイルなどのファイルを保管管理するためのファイルサーバである。ファイルサーバ装置880は、例えば、共有ファイルサーバ装置、NFSサーバ装置、SAMBAサーバ装置などにより実現してもよいし、文書管理を専用に行う文書管理データベースシステムにより実現してもよい。ファイルサーバ装置880は、フォルダ等の管理構造を備え、ファイルが、例えば「技術情報フォルダ」「営業情報フォルダ」「人事情報フォルダ」などのように、用途毎にフォルダ分けされて、管理されている。このフォルダ構成は任意の構成でよく、例えば、組織の内部構造にあわせたツリー上のフォルダ構成であってもよい。各フォルダは少なくとも機密フォルダ881と非機密フォルダ882とを有し、機密文書ファイルと非機密文書ファイルをそれぞれ管理する。機密フォルダ881は、更に、機密レベルにより複数のフォルダに分けてあってもよい。
監査装置300は、学習データ作成部310、監査実行部320を有する。
学習データ作成部310は、PC(パーソナルコンピュータ)などの計算機により構成される。学習データ作成部310は、学習用ファイル取得部311、機密サンプル記憶部312、機密用抽出条件記憶部313、機密抽出部314、非機密サンプル記憶部315、非機密用抽出条件記憶部316、非機密抽出部317、ファイル学習部318、学習結果データ記憶部319を有する。学習データ作成部310は、ファイルサーバ装置880のファイルを学習サンプルとして取得し、文書分類のための学習結果データを作成する。
監査実行部320は、PCなどの計算機により構成される。監査実行部320は、分類用ファイル取得部321、ファイル分類部322、分類結果表示部323を備える。監査実行部320は、監査対象記憶装置890上のファイルの分類を行って結果を表示し、機密文書ファイルが適正に管理されているかどうかを確認できるようにする。
学習データ作成部310と、監査実行部320とは、別の計算機により構成され、学習データ作成部310が作成した1つの学習結果データを用いる監査実行部320を、複数の計算機が実装する構成としてもよいし、学習データ作成部310と、監査実行部320とを、単一の計算機により実装する構成としてもよい。
学習用ファイル取得部311は、ファイルサーバ装置880が記憶したファイルのなかから、ユーザが指定したフォルダ(およびそのサブフォルダ)により管理される全てのファイルを取得し、学習用ファイルとして出力する。ユーザは、分類カテゴリ(機密フォルダ881、非機密フォルダ882)ごとに少なくとも1つのフォルダを指定する。例えば、ユーザは、技術情報フォルダの機密フォルダ881と非機密フォルダ882とを指定する。学習用ファイル取得部311は、機密フォルダ881のファイルを機密サンプルとして出力し、非機密フォルダ882のファイルを非機密サンプルとして出力する。機密サンプル記憶部312は、学習用ファイル取得部311が出力した機密サンプルを記憶する。非機密サンプル記憶部315は、学習用ファイル取得部311が出力した非機密サンプルを記憶する。
このように、学習データ作成部310は、フォルダ等によってカテゴリ分けがされている文書ファイルを自動的に取得して学習用ファイルとする。ファイルサーバ装置880の機密フォルダ881と非機密フォルダ882へのファイルの分類は、通常、人手により行われる。すなわち、文書ファイルの作成者がその文書を機密であると考えれば機密フォルダに置き、そうでないと考えれば非機密フォルダに置く。しかしながら、実際の運用において、これを厳密に実行することは難しい。作成者が機密等級の判断を誤る、あるいは作業の面倒さやモラル的な理由により正しく運用されていないという可能性もあり、フォルダ分けされた文書ファイルをそのまま信用して学習を行うと、間違ってフォルダ分けされた文書により学習を行って分類精度が低下する。
機密用抽出条件記憶部313は、技術情報に関する機密用検出条件を記憶している。非機密用抽出条件記憶部316は、技術情報に関する非機密用検出条件を記憶している。機密抽出部314は、機密サンプル記憶部312が記憶した機密サンプルを入力し、機密用抽出条件記憶部313が記憶した機密用抽出条件にしたがって抽出を行う。非機密抽出部317は、非機密サンプル記憶部315が記憶した非機密サンプルを入力し、非機密用抽出条件記憶部316が記憶した非機密抽出条件にしたがって抽出を行う。ファイル学習部318は、抽出されたサンプルを学習して学習結果データ記憶部319が記憶した学習結果データを更新する。
監査対象記憶装置890は、例えば、PCなどの計算機上にある記憶装置であり、ハードディスク、光磁気ディスクやフラッシュメモリなどにより構成される。監査対象記憶装置890は、機密文書ファイルおよび非機密文書ファイルを記憶している。監査対象記憶装置890は、機密文書ファイル、非機密文書ファイルのいずれか一方のみを記憶していてもよい。
分類用ファイル取得部321は、ユーザが指定した監査対象記憶装置890から全てのフォルダの全てのファイルを分類用ファイルとして取得する。取得した分類用ファイルは、ファイル分類部322が分類する。ファイル分類部322は、学習結果データ記憶部319が記憶した学習結果データを用いて分類を行い、分類結果を出力する。学習結果データは、学習データ作成部310が作成したものであり、学習データ作成部310と監査実行部320とが別の計算機上に構成された場合、例えば、ネットワークやリムーバブルメディアなどを通じてコピーされた学習結果データを用いてもよい。分類結果表示部323は、少なくとも、分類したファイル名(フルパスを含む)と分類結果とを表示する。その他、ファイルの属性(更新日時、作成者など)を表示してもよいし、ファイル分類部322が分類時にスコアを出力する分類方式あれば、そのスコアを表示してもよい。
次に、この実施の形態における抽出条件の例を説明する。
図20は、この実施の形態における機密用抽出条件記憶部313が記憶する機密用抽出条件および非機密用抽出条件記憶部316が記憶する非機密用抽出条件の一例を示す図である。
機密用抽出条件は、例えば、抽出条件「C11」〜「C18」、およびこれらの組み合わせにより設定される。
抽出条件「C11」は、ファイル名に機密情報関連用語が記されている場合である。
抽出条件「C12」は、ファイル内のテキストに機密情報関連用語が記されている場合である。
抽出条件「C13」は、ファイルの作成/更新日付が指定の範囲内に入っている場合に抽出を行う。機密文書は、時間と共に機密度が変化するという特性を持っている。ある時点では機密文書であっても、論文発表や特許出願、広報発表等を行った日から機密ではなくなるという場合がある。また、作成から何年間は機密として保持するという組織内規則が設けられる場合もある。そのような場合でも、日付範囲により正しく抽出が可能となる。
抽出条件「C14」は、ファイルの所有者が特定のユーザである場合である。内部的に機密情報を扱うことが分かっているユーザが所有あるいは更新するファイルは機密情報を含む可能性がある。
抽出条件「C15」は、ファイルのアクセス権が特定のユーザ/グループに設定されている場合で、これも上述と同様である。また、機密度の高いファイルはファイルサーバにおいても限られた権限を持つユーザにしかアクセスが許可されないことが多いため、ファイルやそのファイルが属するフォルダのアクセス権の違いにより機密度の判定が可能である。
抽出条件「C16」は、ファイルタイプが特定のタイプの場合であり、例えば特定のCADシステムにて作成した設計データが機密情報として扱われる場合には、その特定のCADシステムに関連付けられたファイルタイプをファイルの拡張子等を用いて検出することにより機密情報の検出が可能である。
抽出条件「C17」は、ファイル内の文書のヘッダ/フッタ領域に機密情報関連用語が記されている場合である。ファイルのヘッダやフッタには、その文書の特徴を要約した内容がつけられる性質があるため、ここに機密等級ラベル(「K01」)をはじめとする機密情報関連用語が含まれる場合には、本文に含まれる場合よりも機密情報である可能性が高い。
抽出条件「C18」は、ファイル内の文書の書式が特定の書式である場合である。例えば文書中に表が含まれており、その中に個人情報(「K07」〜「K11」)が含まれる場合には、その文書は個人情報リストを含んでいる可能性が高い。ここで述べたファイルの内部構造の抽出は、ファイルをHTMLやXMLなどの形式に変換することで抽出可能となる。例えば、ISO/IEC26300として規格化されているOpenDocument Format(ODF)を用いた文書ファイルであれば、XMLヘッダを解析することにより文書内の特定の構造を抽出することができる。
非機密用抽出条件は、例えば、抽出条件「N12」「N13」で示されるようにファイル名やファイル内のテキストに機密でないことを示す用語が記されている場合を条件とする。例えば、「公開可」のように組織内規則で定められるラベルが付されている場合などである。
また、抽出条件「N11」にて示されるように、機密用抽出条件を含まないという形で表してもよい。ただし、非機密用抽出条件は、機密用抽出条件のNOTでなくてよい。非機密用抽出条件は、正確に抽出された学習サンプルを提供するための条件であるから、例えば、以下のように抽出条件を設定する。機密用抽出条件「C11」を「K01 OR K02」とした場合(「C11−1」とする)と、機密用抽出条件「C12」を「K01 OR K02 OR K03 OR K04 OR K05 OR K06」とした場合(「C12−1」とする)とを比較すると、「C11−1」では、抽出されるファイル数は少ないが、ファイル名に機密等級ラベルや機密文書種類が付いていた場合には非常に高い確率で機密文書であると言える。一方「C12−1」は、ファイル内容にこれらの用語を含む文書ファイルが抽出されるため、抽出される範囲が広くなるが、誤抽出されるファイルも増える。逆に言えば、非機密用抽出条件を「NOT C12−1」とすれば、非機密サンプルとして抽出されるファイルは減るが、誤って機密ファイルが抽出される確率は低くなる。したがって、機密用抽出条件には、「C11−1」を設定すればより正確に機密サンプルを抽出でき、非機密用抽出条件には、「NOT C12−1」を設定すればより正確に非機密サンプルを抽出できる。
以上説明したデータ分類装置100が文書(対象データ)を分類する文書分類方法においては、前記サンプル文書が、PCあるいはファイルサーバあるいは文書管理システムに保管された文書ファイルである。
前記抽出条件は、
(1)文書ファイル名に含まれる特定キーワードまたはパターンを検出するもの。
(2)文書内に含まれる特定キーワードまたはパターンを検出するもの。
(3)文書の更新日付が特定範囲に含まれることを検出するもの。
(4)文書ファイルの所有者または更新者が特定ユーザであることを検出するもの。
(5)文書ファイルのアクセス権が特定ユーザまたは特定グループに設定されていることを検出するもの。
(6)文書ファイルのファイルタイプが特定のタイプであることを検出するもの。
(7)文書内のヘッダ/フッタに含まれる特定キーワードまたはパターンを検出するもの。
(8)文書内の書式に表形式を含む特定の形式を検出し、該形式内に特定キーワードまたはパターンを検出するもの。
のうち少なくとも1つを含む。
以上述べたように、この実施の形態においては、ファイルサーバ装置880の機密フォルダ881と非機密フォルダ882へのファイルの振り分けが人手により行われ、間違いが多くあるような状況においても、それらのフォルダを指定することで、人手をかけずに自動的に正確な学習サンプルを抽出することができる。それにより、機械学習による分類の精度を向上させることができる。
実施の形態8.
実施の形態8について、図21を用いて説明する。
なお、実施の形態5と共通する部分については、同一の符号を付し、ここでは説明を省略する。
図21は、この実施の形態におけるメールフィルタ部200の構成の一例を示すブロック構成図である。
メールフィルタ部200は、実施の形態5で説明した機能ブロックに加えて、更に、分類用検出条件記憶部252、検出部253、結果併合部254を有する。
なお、同様の置き換えを、実施の形態7で説明した監査装置300に適用してもよい。また、分類カテゴリは、カテゴリ1およびカテゴリ2の2カテゴリの場合を例に説明するが、カテゴリ数は3以上であってもよい。
抽出部232は、カテゴリ1学習用文書およびカテゴリ2学習用文書を入力し、カテゴリ1検出条件、カテゴリ2検出条件を用いて、学習用文書の抽出を行う。学習部241は、学習を行って、学習結果データを更新する。
分類部251は、分類用文書を入力すると、学習結果データを用いて分類を行って結果を出力する。
分類用検出条件記憶部252は、分類用文書から各カテゴリに該当する文書を抽出するための分類用カテゴリ1検出条件、分類用カテゴリ2検出条件を記憶している。検出部253は、分類用検出条件により、分類用文書から各カテゴリに該当する文書を抽出し、カテゴリ1文書として抽出したか否か、カテゴリ2文書として抽出したか否かを示す抽出結果を出力する。結果併合部254は、検出部253の抽出結果を、分類部251の結果と併合し、最終的な分類結果として出力する。
結果併合部254は、例えば、以下のようにして、最終的な分類結果を出力する。
結果併合部254は、分類部251の分類結果、検出部253の抽出結果のうち、いずれか1つでも優先されるカテゴリに合致する結果があればそのカテゴリを分類結果とする。例えば、カテゴリ1を機密情報、カテゴリ2を非機密情報としたとき、情報漏洩防止のために機密情報である可能性があるものはできるだけ多く機密情報と分類したいという要求があるので、カテゴリ1(機密情報)を優先カテゴリとする。結果併合部254は、いずれか一つの分類結果または抽出結果がカテゴリ1(機密情報)である場合に最終的な分類結果を機密情報とする。これにより、漏れの少ない機密情報検出ができる。
検出部253は、分類用カテゴリ1検出条件および分類用カテゴリ2検出条件による抽出結果が、両方のカテゴリにて抽出する場合もあり得る。その場合には、上記のようにカテゴリ1を優先するようにしてもよいし、それぞれの抽出時に、文字列照合にて合致した用語の数(ヒット数)の多いほうの抽出結果を優先するようにしてもよい。
以上述べたように、分類時にも検出条件を用いた分類を行うことで、学習が充分に行われていない状態でも検出条件による分類が可能となり、可用性が向上する。
分類用カテゴリ1検出条件および分類用カテゴリ2検出条件は、カテゴリ1抽出条件、カテゴリ2抽出条件と同一のものを使用する構成としてもよい。これにより、検出条件作成の手間を減らすことができる。
また、カテゴリ1とカテゴリ2が二者択一の分類カテゴリである場合には、分類用検出条件記憶部252は、いずれか一方の検出条件、例えば、分類用カテゴリ2検出条件を記憶しない構成としてもよい。検出部253は、分類用カテゴリ1検出条件にて抽出されなかった分類用文書を、カテゴリ2として分類する。
以上説明したデータ分類装置100が文書(対象データ)を分類する文書分類方法において、前記分類するステップは、更に、
前記複数の分類カテゴリの少なくとも1つに対して設定された分類用検出条件を用いて入力された分類対象文書を複数の分類カテゴリに分類する。
分類用検出条件による分類結果と前記機械学習による分類結果を併合して分類対象文書の分類結果とする。
以上説明したデータ分類装置100が文書(対象データ)を分類する文書分類方法において、前記分類用検出条件が、前記抽出条件と同一である。
以上説明したデータ分類装置100が文書(対象データ)を分類する文書分類方法において、前記分類結果の併合は、
前記分類用検出条件による分類結果と前記機械学習による分類結果のうち少なくとも1つの結果がある特定の分類カテゴリに分類された場合に、その分類カテゴリを分類結果とする。
実施の形態1におけるデータ分類装置100の外観の一例を示す図。 実施の形態1におけるデータ分類装置100のハードウェア資源の一例を示す図。 実施の形態1におけるデータ分類装置100の機能ブロックの構成の一例を示すブロック構成図。 実施の形態1における抽出条件記憶部121が記憶するデータの一例を示す図。 実施の形態1におけるデータ分類装置100が分類条件を学習する分類条件学習処理の流れの一例を示すフローチャート図。 実施の形態2における抽出条件記憶部121が記憶するデータの一例を示す図。 実施の形態2における抽出条件判定部122が抽出条件を判定する抽出条件判定工程S612の流れの一例を示すフローチャート図。 実施の形態3におけるデータ分類装置100の機能ブロックの構成の一例を示すブロック構成図。 実施の形態4におけるネットワークシステム800の構成の一例を示すシステム構成図。 実施の形態4におけるメールサーバ装置820が電子メールを中継するメール中継処理の流れの一例を示すフローチャート図。 実施の形態5におけるネットワークシステム800の構成の一例を示すシステム構成図。 実施の形態5におけるメールサーバ装置820の構成の一例を示すブロック構成図。 実施の形態5におけるメールサーバ装置820が学習する学習処理の流れの一例を示すフローチャート図。 実施の形態5におけるメールサーバ装置820がフィルタリングをするフィルタ処理の流れの一例を示すフローチャート図。 実施の形態5におけるメール分類部が学習をする学習工程S653の流れの一例を示すフローチャート図。 実施の形態5における抽出条件記憶部231が記憶するデータの一例を示す図。 実施の形態5における機密情報関連用語の一例を示す図。 実施の形態6における文書管理システム850の構成の一例を示すシステム構成図。 実施の形態7における機密文書監査システムの構成の一例を示すシステム構成図。 実施の形態7における機密用抽出条件記憶部313が記憶する機密用抽出条件および非機密用抽出条件記憶部316が記憶する非機密用抽出条件の一例を示す図。 実施の形態8におけるメールフィルタ部200の構成の一例を示すブロック構成図。
符号の説明
100 データ分類装置、111 学習データ入力部、112 学習データ記憶部、121 抽出条件記憶部、122 抽出条件判定部、123 抽出データ記憶部、131 分類条件学習部、132 分類条件記憶部、141 対象データ入力部、142 対象データ記憶部、151 対象データ分類部、152 分類結果記憶部、161 分類結果出力部、171 検出条件記憶部、172 検出条件判定部、173 分類併合部、200 メールフィルタ部、211 メール入力部、212 入力メール記憶部、221 振り分け部、222 学習用メール記憶部、223 分類用メール記憶部、231 抽出条件記憶部、232 抽出部、241 学習部、242 学習結果記憶部、251 分類部、252 分類用検出条件記憶部、253 検出部、254 結果併合部、261 フィルタ処理部、300 監査装置、310 学習データ作成部、311 学習用ファイル取得部、312 機密サンプル記憶部、313 機密用抽出条件記憶部、314 機密抽出部、315 非機密サンプル記憶部、316 非機密用抽出条件記憶部、317 非機密抽出部、318 ファイル学習部、319 学習結果データ記憶部、320 監査実行部、321 分類用ファイル取得部、322 ファイル分類部、323 分類結果表示部、510 抽出条件テーブル、511 抽出条件識別データ、512 抽出条件データ、520 属否判定テーブル、521 属否判定識別データ、522 抽出条件識別データ、523 分類カテゴリ識別データ、524 属否データ、800 ネットワークシステム、801 対象組織ドメイン、802 対象外ドメイン、803 契約組織ドメイン、810 端末装置、820,830 メールサーバ装置、821 メール受信部、822 中継可否判定部、823 確認メール生成部、824 メール送信部、850 文書管理システム、860 文書サーバ装置、870 監査装置、871 文書入力部、872 監査結果表示部、880 ファイルサーバ装置、881 機密フォルダ、882 非機密フォルダ、890 監査対象記憶装置、901 表示装置、902 キーボード、903 マウス、904 FDD、905 CDD、906 プリンタ装置、907 スキャナ装置、910 システムユニット、911 CPU、912 バス、913 ROM、914 RAM、915 通信装置、920 磁気ディスク装置、921 OS、922 ウィンドウシステム、923 プログラム群、924 ファイル群、931 電話器、932 ファクシミリ機、940 インターネット、941 ゲートウェイ、942 LAN。

Claims (10)

  1. データを処理する処理装置と、学習データ入力部と、抽出条件判定部と、分類条件学習部と、抽出条件記憶部と、対象データ入力部と、対象データ分類部と、検出条件判定部と、分類併合部とを有し、
    上記抽出条件記憶部は、所定の分類カテゴリである機密情報に属する場合に満たされる所属条件として、機密情報に関する複数の文字列を含んだ正規表現で記載されて機密情報に関する文字列を指定する機密条件を記憶し、
    上記学習データ入力部は、上記処理装置を用いて、学習データを入力し、
    上記抽出条件判定部は、上記処理装置を用いて、上記学習データ入力部が入力した学習データが、上記抽出条件記憶部に記憶される上記機密条件によって指定される上記文字列を含んでいるか否かを判定し、
    上記分類条件学習部は、上記処理装置を用いて、上記学習データ入力部が入力した学習データが上記機密条件によって指定される上記文字列を含んでいると上記抽出条件判定部が判定した場合に、上記学習データを、機密情報に属するデータのサンプルとして、機密情報に属するデータと、機密情報に属さないデータとを分類する分類条件を学習し、
    上記対象データ入力部は、上記処理装置を用いて、対象データを入力し、
    上記検出条件判定部は、上記処理装置を用いて、上記対象データ入力部が入力した対象データが機密情報に関する所定の検出条件を満たすか否かを判定し、
    上記対象データ分類部は、上記処理装置を用いて、上記分類条件学習部が学習した分類条件に基づいて、上記対象データ入力部が入力した対象データを、機密情報に属するデータと、機密情報に属さないデータとに分類し、
    上記分類併合部は、上記処理装置を用いて、上記対象データ入力部が入力した対象データが上記所定の検出条件を満たすと上記検出条件判定部が判定した場合と、上記対象データ入力部が入力した対象データを機密情報に属するデータに上記対象データ分類部が分類した場合と、の少なくともいずれかの場合に、上記対象データ入力部が入力した対象データが機密情報に属すると判定し、
    上記分類併合部は、上記処理装置を用いて、上記対象データ入力部が入力した対象データが上記所定の検出条件を満たさないと上記検出条件判定部が判定した場合であって、且つ、上記対象データ入力部が入力した対象データを機密情報に属さないデータに上記対象データ分類部が分類した場合に、上記対象データ入力部が入力した対象データが機密情報に属さないと判定する
    ことを特徴とするデータ分類装置。
  2. 上記分類併合部は、機密情報に属するデータのサンプル数が所定の数より少ない場合、上記対象データ分類部の分類結果に関わらず、上記検出条件判定部の判定結果に基づいて、上記対象データが機密情報に属するか否かを判定する
    ことを特徴とする請求項記載のデータ分類装置。
  3. 上記検出条件判定部は、上記処理装置を用いて、上記抽出条件判定部が判定する所定の抽出条件を、上記所定の検出条件とし、上記対象データ入力部が入力した対象データが所定の検出条件を満たすか否かを判定することを特徴とする請求項または請求項に記載のデータ分類装置。
  4. 上記学習データ入力部は、上記処理装置を用いて、電子メールを、上記学習データとして入力し、
    上記抽出条件判定部は、上記処理装置を用いて、上記学習データ入力部が入力した上記電子メールの送信者のメールアドレスと、上記電子メールの受信者のメールアドレスと、上記電子メールの送信者の表示名と、上記電子メールの受信者の表示名と、上記電子メールの件名と、上記電子メールの本文と、上記電子メールの添付ファイルのファイル名と、上記電子メールの添付ファイルに含まれるテキストと、上記電子メールの送信日時とのうち少なくともいずれかに、上記機密条件によって指定される上記文字列が含まれるか否かを判定する
    ことを特徴とする請求項1乃至請求項のいずれかに記載のデータ分類装置。
  5. 上記抽出条件記憶部は、所定の内部ドメインを指定する条件を上記機密条件として記憶し、
    上記抽出条件判定部は、上記処理装置を用いて、上記電子メールの送信者のメールアドレスが表わす送信者の所属ドメインが上記所定の内部ドメインである場合に、上記学習データが上記機密条件によって指定される上記文字列を含んでいる、と判定する
    ことを特徴とする請求項に記載のデータ分類装置。
  6. 上記抽出条件記憶部は、所定の分類カテゴリである機密情報に属さない場合に満たされる非所属条件として、機密情報に関する文字列を指定する非機密条件を記憶し、
    上記抽出条件判定部は、上記処理装置を用いて、上記学習データ入力部が入力した学習データが、上記抽出条件記憶部に記憶される上記非機密条件によって指定される上記文字列を含んでいるか否かを判定し、
    上記分類条件学習部は、上記処理装置を用いて、上記学習データ入力部が入力した学習データが上記非機密条件によって指定される上記文字列を含んでいないと上記抽出条件判定部が判定した場合に、上記学習データを、機密情報に属さないデータのサンプルとして、機密情報に属するデータと、機密情報に属さないデータとを分類する分類条件を学習することを特徴とする請求項1に記載のデータ分類装置。
  7. 上記学習データ入力部は、上記処理装置を用いて、電子メールを、上記学習データとして入力し、
    上記抽出条件記憶部は、所定の関連ドメインを指定する条件を上記非機密条件として記憶し、
    上記抽出条件判定部は、上記処理装置を用いて、上記電子メールの送信者のメールアドレスが表わす送信者の所属ドメインが上記所定の関連ドメインでない場合と、上記電子メールの受信者のメールアドレスが表わす受信者の所属ドメインが上記所定の関連ドメインでない場合と、のうち少なくともいずれかの場合に、上記学習データが上記非機密条件によって指定される上記文字列を含んでいないと判定する
    ことを特徴とする請求項に記載のデータ分類装置。
  8. 上記学習データ入力部は、上記処理装置を用いて、ファイル記憶装置が記憶したデータファイルを、上記学習データとして入力し、
    上記抽出条件判定部は、上記処理装置を用いて、上記学習データ入力部が入力した上記データファイルのファイル名と、上記データファイルに含まれるテキストと、上記データファイルの更新日時と、上記データファイルの所有者と、上記データファイルの更新者と、上記データファイルのアクセス権限と、上記データファイルのファイルタイプと、上記データファイルに含まれるヘッダと、上記データファイルに含まれるフッタとのうち、少なくともいずれかに、上記機密条件によって指定される上記文字列が含まれるか否かを判定する
    ことを特徴とする請求項1乃至請求項のいずれかに記載のデータ分類装置。
  9. 上記抽出条件記憶部は、機密等級ラベルを表わすキーワードと、機密文書種類を表わすキーワードと、内部組織名を表わすキーワードと、取引先名を表わすキーワードと、文書管理番号を表わすキーワードと、個人情報を表わすキーワードとのうち、少なくともいずれかを指定する条件を上記機密条件として記憶し、
    上記抽出条件判定部は、上記処理装置を用いて、上記データファイルのファイル名と、上記データファイルのテキストと、上記データファイルに含まれるヘッダと、上記データファイルに含まれるフッタとのうち、少なくともいずれかが、上記機密条件によって指定されるいずれかのキーワードである場合に、上記学習データが上記機密条件によって指定される上記文字列を含んでいる、と判定する
    ことを特徴とする請求項に記載のデータ分類装置。
  10. データを処理する処理装置を有するコンピュータが実行するコンピュータプログラムにおいて、
    上記コンピュータを、請求項1乃至請求項のいずれかに記載のデータ分類装置として機能させることを特徴とするコンピュータプログラム。
JP2008237376A 2008-09-17 2008-09-17 データ分類装置及びコンピュータプログラム Active JP5288959B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008237376A JP5288959B2 (ja) 2008-09-17 2008-09-17 データ分類装置及びコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008237376A JP5288959B2 (ja) 2008-09-17 2008-09-17 データ分類装置及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2010072779A JP2010072779A (ja) 2010-04-02
JP5288959B2 true JP5288959B2 (ja) 2013-09-11

Family

ID=42204521

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008237376A Active JP5288959B2 (ja) 2008-09-17 2008-09-17 データ分類装置及びコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP5288959B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5460887B2 (ja) * 2011-01-13 2014-04-02 三菱電機株式会社 分類ルール生成装置及び分類ルール生成プログラム
US8626714B1 (en) * 2011-09-07 2014-01-07 Symantec Corporation Automated separation of corporate and private data for backup and archiving
JP5931015B2 (ja) * 2013-07-12 2016-06-08 ヤフー株式会社 情報処理装置、システム、サーバ装置、端末及び情報処理方法
CN104573013A (zh) * 2015-01-09 2015-04-29 上海大学 结合类别权重的集成学习分类方法
CN104573012A (zh) * 2015-01-09 2015-04-29 上海大学 可收缩步长的多类别集成学习分类方法
CN106096657B (zh) * 2016-06-13 2019-04-30 第四范式(北京)技术有限公司 基于机器学习来预测数据审核目标的方法及系统
JP6943113B2 (ja) * 2017-09-26 2021-09-29 富士フイルムビジネスイノベーション株式会社 情報処理装置及び情報処理プログラム
KR101887629B1 (ko) * 2018-02-14 2018-08-10 대신네트웍스 주식회사 자연어기반 정보공개분류시스템
US11222282B2 (en) 2018-09-21 2022-01-11 International Business Machines Corporation Sourcing a new machine-learning project by reusing artifacts from reference machine learning projects
KR102193330B1 (ko) * 2018-12-26 2020-12-22 주식회사 코튼캔디 파일 시스템 기반의 고속 탐색, 완전 삭제, 심볼릭 링크를 이용한 개인 정보 보호 시스템 및 그 방법
KR102249635B1 (ko) * 2020-11-06 2021-05-10 주식회사 웨이센 Ai 예측 모델을 이용한 2개의 예측 결과의 학습 데이터 추가 방법
JP7269283B2 (ja) * 2021-06-28 2023-05-08 Nttテクノクロス株式会社 誤送信防止装置、誤送信防止方法、及びプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3264253B2 (ja) * 1998-08-21 2002-03-11 日本電気株式会社 ドキュメント自動分類システム及び方法
JP4747591B2 (ja) * 2005-01-31 2011-08-17 日本電気株式会社 機密文書検索システム、機密文書検索方法、および機密文書検索プログラム
JP2010061176A (ja) * 2006-11-22 2010-03-18 Nec Corp テキストマイニング装置、テキストマイニング方法、および、テキストマイニングプログラム

Also Published As

Publication number Publication date
JP2010072779A (ja) 2010-04-02

Similar Documents

Publication Publication Date Title
JP5288959B2 (ja) データ分類装置及びコンピュータプログラム
US10027613B2 (en) Method and system of automating data capture from electronic correspondence
CN108259415B (zh) 一种邮件检测的方法及装置
US7222157B1 (en) Identification and filtration of digital communications
KR100918599B1 (ko) 잠재적 수신자를 식별하는 방법 및 장치
US8131742B2 (en) Method and system for processing fraud notifications
Liu et al. Who is. com? Learning to parse WHOIS records
US20050060643A1 (en) Document similarity detection and classification system
US9602453B2 (en) Smart attachment to electronic messages
JP4817952B2 (ja) メール誤送信防止システム、メール誤送信防止方法、およびメール誤送信防止プログラム
US20080133672A1 (en) Email safety determination
US8145716B2 (en) Method and apparatus for assigning cost metrics to electronic messages
US20060195542A1 (en) Method and system for determining the probability of origin of an email
Sethi et al. Spam email detection using machine learning and neural networks
JP5584608B2 (ja) 電子メールの誤送信の判定方法、判定プログラム、通信装置
JP4920471B2 (ja) メールデータ分類装置、メールデータ分類プログラム及びメールデータ分類方法
JP4998302B2 (ja) メール誤配信防止システム、メール誤配信防止方法、及びメール誤配信防止用プログラム
JP5220202B2 (ja) データ処理装置及びデータ処理方法及びプログラム
JP5178077B2 (ja) 議論状況把握支援装置および方法
Iqbal Messaging forensic framework for cybercrime investigation
JP5220200B2 (ja) データ処理装置及びデータ処理方法及びプログラム
JP4885780B2 (ja) 異経路警告装置、異経路警告プログラム及び異経路警告方法
WO2010073449A1 (ja) 受信メール内容自動分類方法及び安否確認方法
Mahesh Email classification tool to detect phishing using hybrid features
JP5199449B2 (ja) メールデータ分類装置、メールデータ分類プログラム及びメールデータ分類方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110601

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121120

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20121207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130109

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130312

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130430

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130514

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130604

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130604

R150 Certificate of patent or registration of utility model

Ref document number: 5288959

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250