(57)【要約】【課題】組織内を流通する電子ファイルを確実に把握し、組織内のシステム利用者が所持している電子ファイルを追跡する。【解決手段】ネットワークに接続されるインタフェースと、前記インタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、電子ファイルに格納されるデータに基づいて、前記電子ファイルに識別子を付与する情報識別装置において、前記電子ファイルに格納されるデータから、テキストデータを抽出し、前記抽出されたテキストデータに含まれる単語を抽出し、前記抽出された単語が、前記テキストデータに出現する頻度を算出し、算出された出現頻度と前記単語とを対応付けて索引情報として保持し、前記保持された索引情報を参照し、前記電子ファイルを一意に特定可能な少なくとも一つの単語から構成される識別子を抽出し、前記抽出された識別子を前記電子ファイルに付与する。【選択図】図１
2009277183.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続されるインタフェースと、前記インタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、電子ファイルに格納されるデータに基づいて前記電子ファイルに識別子を付与する情報識別装置において、
前記電子ファイルに含まれるテキストデータ中に単語が出現する頻度を算出し、
前記算出された出現頻度に基づいて、前記電子ファイルを一意に特定可能な識別子を定め、
前記定められた識別子を前記電子ファイルに付与することを特徴とする情報識別装置。
【請求項２】
前記電子ファイルに含まれるデータから、テキストデータを抽出し、
前記抽出されたテキストデータに含まれる単語を抽出し、
前記抽出された単語が、前記テキストデータに出現する頻度を算出し、
前記電子ファイルに含まれる単語を、前記索引情報に保持されている単語の出現頻度の昇順に並び替え、
前記並び替えられた順に前記単語を選択し、
前記選択された少なくとも一つの単語から単語集合を生成し、
前記生成された単語集合が、他の電子ファイルに付与された識別子と一致するか否かによって、前記電子ファイルを一意に特定可能であるか否かを判定し、
前記生成された単語集合が前記電子ファイルを一意に特定可能である場合、前記単語集合を識別子と定めることを特徴とする請求項１に記載の情報識別装置。
【請求項３】
前記生成された単語集合が前記電子ファイルを一意に特定可能であるか否かを判定する場合に、
前記生成された単語集合を含む前記電子ファイルの数を算出し、
前記算出された電子ファイルの数が１であるか否かを判定し、
前記算出された電子ファイルの数が１である場合、前記構成された単語集合を、前記電子ファイルを一意に特定可能な識別子とし、
前記識別子に含まれる単語の部分集合と、他の電子ファイルに付与されている識別子とが一致するか否かを判定し、
前記抽出された識別子に含まれる単語の部分集合と、前記他の電子ファイルに付与されている識別子とが一致する場合、前記他の電子ファイルに付与されている識別子に、前記他の電子ファイルのテキストデータに含まれる単語を追加することによって、前記他の電子ファイルに付与されている識別子を更新することを特徴とする請求項２に記載の情報識別装置。
【請求項４】
前記電子ファイルを一意に特定可能な少なくとも一つの単語から構成される識別子を二つ以上抽出することを特徴とする請求項２に記載の情報識別装置。
【請求項５】
前記定められた識別子を検索キーとして、複数の電子ファイルから、前記識別子と一致する電子ファイルの識別子を検索し、
前記検索された識別子と、前記検索キーとして用いられた識別子とを対応させて出力することを特徴とする請求項１に記載の情報識別装置。
【請求項６】
電子ファイルに格納されるデータに基づいて、前記電子ファイルに第１の識別子を付与する情報識別装置と、管理サーバと、を備える情報識別システムにおいて、
前記情報識別装置は、
ネットワークに接続されるインタフェースと、前記インタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、
前記電子ファイルに含まれるテキストデータ中に単語が出現する頻度を算出し、
前記算出された出現頻度に基づいて、前記電子ファイルを一意に特定可能な少なくとも一つの単語から構成される第１の識別子を定め、
前記定められた第１の識別子を前記電子ファイルに付与し、
前記管理サーバは、前記電子ファイルに付与された第１の識別子を保持することを特徴とする情報識別システム。
【請求項７】
前記情報識別システムは、さらに、メールサーバを備え、
前記情報識別装置は、
送信が要求される電子メールに含まれる電子ファイルから単語を抽出し、
前記抽出された単語を管理サーバに送信し、
前記管理サーバは、
前記受信した単語と前記保持されている第１の識別子とを比較し、
前記比較結果を前記メールサーバに送信し、
前記メールサーバは、前記抽出された単語と前記保持されている第１の識別子とが一致する場合、前記電子メールの送信を停止することを特徴とする請求項６に記載の情報識別システム。
【請求項８】
前記メールサーバは、前記電子メールの送信を停止する場合に、前記電子メールの送信の要求元に前記電子メールの送信の停止を通知することを特徴とする請求項７に記載の情報識別システム。
【請求項９】
前記電子ファイルには、前記情報識別システム内で一意に特定可能な第２の識別子が付与されることを特徴とする請求項６に記載の情報識別システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報識別装置に関し、特に、テキスト情報を含む電子データを追跡する情報識別装置に関する。
【背景技術】
【０００２】
現在、電子データが格納される媒体の紛失及び電子メールの誤送信等、組織内部から電子データが漏えいする事故が問題となっている。情報漏えいを防止又は抑止するための情報セキュリティ技術として、アクセス制御及び暗号化等を用いた情報セキュリティが実用化されているが、組織内部の正当な電子データ利用者を不正又は過失の主体として考慮していないため、組織内部からの情報漏えい対策として不十分である。例えば、機密情報が格納された電子データにアクセス制御がかかっている場合に、アクセス権限を正当に保有した利用者が、当該電子データを電子メールで誤って外部に送信される事故が起こる可能性がある。
【０００３】
このため、近年では、組織内で生成及び通信される電子ファイルを監視することによって、組織内でいつ、誰が、どの電子ファイルを扱っているかを把握し、さらに、機密情報が格納された電子ファイルが組織外に送信される場合に、送信を遮断する情報漏えい対策が新たに提案されている。
【０００４】
このような情報漏えい対策の一つに、Ｄａｔａ  Ｌｅａｋａｇｅ  Ｐｒｅｖｅｎｔｉｏｎ（ＤＬＰ）がある。ＤＬＰは、パーソナルコンピュータ等の情報機器が生成及び通信する電子ファイルを監視し、組織外部に送信される電子ファイルが、予め登録されている機密情報と一致する場合に、遮断及び警告等によって送信を制御するものである。
【０００５】
ＤＬＰを実現するために、機密情報と一致する電子ファイルを検出する技術が、特許文献１に開示されている。特許文献１に開示された技術は、機密情報が格納された電子ファイルが有するテキストから単語を抽出し、抽出された単語の出現頻度及び分布に基づいて、電子ファイルを識別する単語の集合を決定し、決定された単語の集合を電子ファイルのｆｉｎｇｅｒｐｒｉｎｔとする。ｆｉｎｇｅｒｐｒｉｎｔは、機密情報が格納された電子ファイル（機密情報格納電子ファイル）毎に算出され、機密情報と対応付けて登録される。組織外部に送信される電子ファイル（送信電子ファイル）からも同様にｆｉｎｇｅｒｐｒｉｎｔを算出し、算出されたｆｉｎｇｅｒｐｒｉｎｔに基づいて、送信電子ファイルが機密情報格納電子ファイルと一致するか否かを判定する。
【０００６】
電子ファイルが一致するか否かを判定する処理に用いられる技術として、類似文書検索技術がある。類似文書検索技術は、例えば、ベクトル空間法及びＴＦ−ＩＤＦ（Ｔｅｒｍ  Ｆｒｅｑｕｅｎｃｙ  ａｎｄ  Ｉｎｖｅｒｓｅ  Ｄｏｃｕｍｅｎｔ  Ｆｒｅｑｕｅｎｃｙ）法が知られている。ベクトル空間法とは、検索キーとなる文書が有する単語集合から質問ベクトルを構成し、検索対象文書から文書ベクトルを構成する。そして、質問ベクトルに近い文書ベクトルを有する文書を検索結果として提示する。検索キーは、検索者が明示的に与える単語集合であり、既知の文書から抽出された単語集合である。
【０００７】
ＴＦ−ＩＤＦ法は、ベクトルを構成する単語ｔの重要さを決定する方法である。一般的なＴＦ−ＩＤＦ法では、検索キーとなる文書における単語ｔの出現頻度（ＴＦ）と、単語ｔを有する検索対象文書の出現頻度の逆数（ＩＦＦ）とを用いて、ＴＦとＩＤＦとの積を算出することによって、単語ｔの重要さを求める。特許文献２には、ＴＦ−ＩＤＦ法及びＴＦ−ＩＤＦの改良手法の一つが類似文書検索装置として開示されている。
【特許文献１】国際公開第２００６／１２２０８６号パンフレット
【特許文献２】特許第３５７３６８８号
【発明の開示】
【発明が解決しようとする課題】
【０００８】
前述した特許文献１では、送信電子ファイル及び機密情報格納電子ファイルから、それぞれ独立に特徴的な単語集合を決定し、ｆｉｎｇｅｒｐｒｉｎｔを算出するため、ＴＦ−ＩＤＦ法におけるＴＦに相当する量にのみ基づいてｆｉｎｇｅｒｐｒｉｎｔを決定している。従って、いずれの機密情報格納電子ファイルにも出現する単語集合がｆｉｎｇｅｒｐｒｉｎｔの算出に用いられる可能性がある。よって、一つのｆｉｎｇｅｒｐｒｉｎｔが複数の機密情報格納電子ファイルに一致する状況が起こる。このため、組織内の電子ファイルの利用状況を監視するために特許文献１を用いても、正確に電子ファイルを追跡することができない課題がある。同様に、電子ファイルの送信を制御する場合にも、本来は一致してない電子ファイルの送信が誤って遮断される問題が生じる。
【０００９】
特許文献２の類似文書検索技術は、ＴＦ及びＩＤＦがそれぞれ大きい単語が比較のために用いられる。特許文献２を電子ファイルの追跡に用いる場合、電子ファイルを一意に定める単語集合、すなわち、ＩＤＦが１である単語を用いるとよいが、ＴＦが大きく、ＩＤＦが２以上の単語が比較に用いられる可能性がある。よって、特許文献１と同様の課題がある。これは、ＴＦを全ての文書に共通の定数とする場合でも同様である。特許文献２におけるＩＤＦは、それぞれの単語について値を算出しているため、異なる電子ファイルであっても、格納されるテキストが類似した電子ファイルが検索対象に存在する場合、ＴＦを定数にした場合でも、ＩＤＦが２以上の単語が比較のために選択される可能性がある。
【００１０】
本発明は、組織内を流通する電子ファイルを確実に把握し、組織内のシステム利用者が所持している電子ファイルを追跡することを目的とする。
【００１１】
また、電子メールサーバにおいて、送信メールに添付される電子ファイルの識別子を、登録された機密情報格納電子ファイルと比較することによって、電子メールによる機密情報の漏えいを防止することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の代表的な一例を示せば以下の通りである。すなわち、ネットワークに接続されるインタフェースと、前記インタフェースに接続されるプロセッサと、前記プロセッサに接続されるメモリと、を備え、電子ファイルに格納されるデータに基づいて、前記電子ファイルに識別子を付与する情報識別装置において、前記電子ファイルに格納されるデータから、テキストデータを抽出し、前記抽出されたテキストデータに含まれる単語を抽出し、前記抽出された単語が、前記テキストデータに出現する頻度を算出し、算出された出現頻度と前記単語とを対応付けて索引情報として保持し、前記保持された索引情報を参照し、前記電子ファイルを一意に特定可能な少なくとも一つの単語から構成される識別子を抽出し、前記抽出された識別子を前記電子ファイルに付与する。
【発明の効果】
【００１３】
本発明の一実施形態によれば、電子ファイルに含まれるテキストデータを用いて、電子ファイルを一意に定める識別子を付与することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態について、図面を参照して説明する。
【００１５】
本実施の形態では、多数のクライアントＰＣがネットワークに接続されたシステムにおいて、システムの利用者が所持している電子ファイルを追跡する例を説明する。複数の電子ファイルの同一性は、電子ファイルのテキストデータに含まれるトークン（単語）によって識別される。ここでは、電子ファイルの識別に用いるトークンの集合を、コンテンツ識別子と呼ぶ。一つのコンテンツ識別子は、少なくとも一つのトークンから構成される。
【００１６】
＜実施形態１＞
図１を参照し、本発明の第１の実施形態のシステムの構成を説明する。
【００１７】
図１は、本発明の第１の実施の形態のシステムの構成を示すブロック図である。図１に示すシステムは、文書利用証跡管理サーバ１０１、コンテンツ識別子付与サーバ１０２、クライアントＰＣ１０３Ａ、及びクライアントＰＣ１０３Ｂを備える。
【００１８】
なお、以下の説明でクライアントＰＣ１０３Ａ及びクライアントＰＣ１０３Ｂを総称してクライアントＰＣ１０３と説明する場合もある。また、証跡取得部１１４Ａ及び証跡取得部１１４Ｂを総称して証跡取得部１１４と説明する場合もある。なお、クライアントＰＣ１０３Ａ及びクライアントＰＣ１０３Ｂは、同じハードウェアで構成される。
【００１９】
文書利用証跡管理サーバ１０１、コンテンツ識別子付与サーバ１０２、クライアントＰＣ１０３Ａ、及びクライアントＰＣ１０３Ｂは、それぞれ通信ネットワーク１０４に接続される。
【００２０】
文書利用証跡管理サーバ１０１、コンテンツ識別子付与サーバ１０２、及びクライアントＰＣ１０３は、例えば、パーソナルコンピュータ、サーバ装置、又はワークステーション等の任意の計算機によって実現することができる。
【００２１】
通信ネットワーク１０４は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）及びインターネット上に構成されたＶＰＮ（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）等、特定の組織の利用者を対象として運用される任意のネットワークによって実現することができる。
【００２２】
文書利用証跡管理サーバ１０１は、文書利用証跡テーブル１０５及び証跡解析部１０７を含む。
【００２３】
文書利用証跡テーブル１０５は、後述するストレージ２０２に格納され、電子ファイルが利用された証跡（履歴）を管理する。文書利用証跡テーブル１０５については、図４を用いて後述する。
【００２４】
証跡解析部１０７は、コンテンツ識別子テーブル１０６に格納されているデータを解析し、特定の電子ファイルを所持していた利用者を判別し、文書利用証跡管理サーバ１０１の出力装置２０５から結果を出力する。
【００２５】
証跡解析部１０７は、後述するＣＰＵ２０１がメモリ２０３に読み出したプログラム（図示省略）を実行することによって実現される。
【００２６】
コンテンツ識別子付与サーバ１０２は、テキスト抽出部１０８、形態素解析部１０９、索引情報取得部１１０、コンテンツ識別子抽出部１１１、索引情報テーブル１１２、ＤＦ格納テーブル１１３、及びコンテンツ識別子テーブル１０６を含む。
【００２７】
テキスト抽出部１０８は、後述する通信インタフェース２０６を介して受信した電子ファイルから、テキストデータを抽出する。受信した電子ファイルが図データ、音声データ、及びテキストデータを含む場合、受信した電子ファイルから図データ及び音声データが取り除かれ、テキストデータのみが抽出される。
【００２８】
形態素解析部１０９は、テキスト抽出部１０８が抽出したテキストデータに対して形態素解析を行い、テキストデータ中に出現するトークン（単語）を抽出する。形態素解析については、図８を用いて後述する。
【００２９】
索引情報取得部１１０は、形態素解析部１０９によって抽出されたトークンが、テキストデータ中に出現する回数（出現頻度）を算出し、算出された結果を索引情報テーブル１１２に格納する。
【００３０】
コンテンツ識別子抽出部１１１は、索引情報テーブル１１２及びＤＦ格納テーブル１１３を参照し、電子ファイルの識別に用いられるトークンの集合をコンテンツ識別子として決定する。そして、通信インタフェース２０６を介して、決定したコンテンツ識別子を送信する。
【００３１】
テキスト抽出部１０８、形態素解析部１０９、索引情報取得部１１０、及びコンテンツ識別子抽出部１１１は、後述するＣＰＵ２０１が、メモリ２０３に読み出されたプログラム（図示省略）を実行することによって実現される。
【００３２】
索引情報テーブル１１２は、後述するストレージ２０２に格納され、トークンがテキストデータに出現する回数を管理する。なお、索引情報テーブル１１２については、図３Ａを用いて後述する。
【００３３】
ＤＦ格納テーブル１１３は、後述するストレージ２０２に格納され、各トークンが出現する電子ファイルの数を管理する。なお、ＤＦ格納テーブル１１３については、図３Ｂを用いて後述する。
【００３４】
コンテンツ識別子テーブル１０６は、後述するストレージ２０２に格納され、電子ファイルを識別するコンテンツ識別子の情報を管理する。なお、コンテンツ識別子テーブル１０６については、図４を用いて後述する。
【００３５】
クライアントＰＣ１０３は、電子ファイルの利用者が使用する計算機であり、証跡取得部１１４を含む。
【００３６】
証跡取得部１１４は、クライアントＰＣ１０３がストレージ２０２に電子ファイルを格納した場合、クライアントＰＣ１０３の利用者ＩＤ、電子ファイルＩＤ、及び格納日時等を利用証跡データとして取得し、格納された電子ファイルと取得した利用証跡データとを通信インタフェース２０６を介して文書利用証跡管理サーバ１０１に送信する。文書利用証跡管理サーバ１０１は、クライアントＰＣ１０３の証跡取得部１１４から受信した利用証跡データを文書利用証跡テーブル１０５に格納する。
【００３７】
証跡取得部１１４は、後述するＣＰＵ２０１が、メモリ２０３に読み出されたプログラム（図示省略）を実行することによって実現される。
【００３８】
図１に示す例では、クライアントＰＣ１０３は、システムに２台備わっているが、３台以上備わってもよい。
【００３９】
また、文書利用証跡管理サーバ１０１、コンテンツ識別子付与サーバ１０２、及びクライアントＰＣ１０３は、それぞれ別の装置として記載したが、一つのハードウェアに実装されてもよい。
【００４０】
次に、図２を参照して、コンテンツ識別子付与サーバ１０２のハードウェア構成を説明する。
【００４１】
図２は、本発明の第１の実施の形態のコンテンツ識別子付与サーバ１０２のハードウェアの構成を示すブロック図である。
【００４２】
コンテンツ識別子付与サーバ１０２は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１、ストレージ２０２、メモリ２０３、入力装置２０４、出力装置２０５、及び通信インタフェース２０６を備える。ＣＰＵ２０１、ストレージ２０２、メモリ２０３、入力装置２０４、出力装置２０５、及び通信インタフェース２０６はそれぞれバス２０７に接続される。
【００４３】
ＣＰＵ２０１は、メモリ２０３に格納されているプログラムを実行し、ハードウェア全体を制御するプロセッサである。
【００４４】
メモリ２０３は、ＣＰＵ２０１によって実行されるプログラムを格納する。メモリ２０３は、例えば、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）のような半導体メモリで構成することができる。また、ストレージ２０２に格納されたプログラム及びデータが必要に応じて読み出され、メモリ２０３に格納される。
【００４５】
ストレージ２０２は、プログラム及びデータ等を格納し、例えば、ＣＤ−Ｒ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）、ＤＶＤ−ＲＡＭ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ−Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、シリコンディスク等の記憶メディア及び当該記憶メディアの駆動装置、及び、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等によって構成することができる。
【００４６】
入力装置２０４は、ユーザによる情報の入力を受け付ける装置であり、例えば、キーボード、マウス、スキャナ、及びマイクによって構成することができる。
【００４７】
出力装置２０５は、ユーザへの情報を表示する装置であり、例えば、ディスプレイ装置、スピーカ、及びプリンタ等によって構成することができる。
【００４８】
通信インタフェース２０６は、通信ネットワーク１０４に接続するインタフェースであり、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）ボード等によって構成することができる。
【００４９】
なお、文書利用証跡管理サーバ１０１及びクライアントＰＣ１０３も、図２に示すハードウェアの構成と同じ構成を備える。
【００５０】
図３Ａは、本発明の第１の実施の形態の索引情報テーブル１１２の説明図である。
【００５１】
索引情報テーブル１１２は、電子ファイルＩＤ３０１、Ｘ社３０２、製品Ａ３０３、情報漏えい３０４、プロジェクト３０５、及び導入３０６を含む。なお、索引情報テーブル１１２の１行分のデータを一つのレコードとする。
【００５２】
電子ファイルＩＤ３０１は、電子ファイルに付与された識別子である。なお、電子ファイルに付与される識別子は、図１に示すシステム内で一意に特定可能な識別子が付与される。
【００５３】
フィールドには、図３Ａに示すように、Ｘ社３０２、製品Ａ３０３、情報漏えい３０４、プロジェクト３０５、及び導入３０６のトークンが格納されている。索引情報テーブル１１２に新たに電子ファイルを登録する場合には、フィールドを追加し、他のトークンの情報を格納することができる。
【００５４】
索引情報テーブル１１２の各電子ファイルに対応するフィールドの値は、各電子ファイルに含まれるトークンを示す。具体的には、値が「１」の場合、電子ファイルにトークンが１個以上含まれることを示す。また、値が「０」の場合、電子ファイルにトークンが含まれていないことを表している。
【００５５】
図３Ｂは、本発明の第１の実施の形態のＤＦ格納テーブル１１３の説明図である。
【００５６】
ＤＦ格納テーブル１１３は、トークン番号３０７及びＤＦ３０８を含む。
【００５７】
トークン番号３０７は、各トークンに付与された管理番号である。例えば、図３Ａに示す索引情報テーブル１１２に格納されているトークンの順に、０、１、２…と付与することができる。ＤＦ３０８は、各トークンが出現する電子ファイルの数（ＤＦ：Ｄｏｃｕｍｅｎｔ  Ｆｒｅｑｕｅｎｃｙ）である。例えば、図３Ａに示す索引情報テーブル１１２の各電子ファイルについて、Ｘ社３０２のフィールドの値を全て合計した値が、トークン「Ｘ社」が出現する電子ファイルの数である。
【００５８】
図３Ｂに示す例では、トークン「Ｘ社」の管理番号は「０」であり、トークン「Ｘ社」が出現する電子ファイルの個数が「２」である。
【００５９】
図３Ｃは、本発明の第１の実施の形態の電子ファイル３０９の例を示す説明図である。
【００６０】
図３Ｃに示す電子ファイル３０９は、例えば、クライアントＰＣ１０３のストレージ２０２に格納される電子ファイル３０９である。クライアントＰＣ１０３のストレージ２０２に電子ファイル３０９が格納されると、証跡取得部１１４は、格納された電子ファイル３０９及び利用証跡データを文書利用証跡管理サーバ１０１に送信する。
【００６１】
図４は、本発明の第１の実施の文書利用証跡テーブル１０５の説明図である。
【００６２】
文書利用証跡テーブル１０５は、利用者４０１、クライアント４０２、電子ファイルＩＤ４０３、及び作成日時４０４を含む。なお、文書利用証跡テーブル１０５の１行分のデータを一つのレコードとする。各レコードは、クライアントＰＣ１０３から受信した電子ファイルの利用証跡データである。
【００６３】
利用者４０１は、クライアントＰＣ１０３の利用者を識別する識別子である。クライアント４０２は、クライアントＰＣ１０３を識別する識別子である。
【００６４】
電子ファイルＩＤ４０３は、電子ファイルに付与される識別子である。電子ファイルＩＤ４０３は、例えば、図４に示すように、電子ファイルを格納したクライアント４０２と、各クライアントに割り振られた電子ファイルの通し番号とを連結した識別子とすることができる。
【００６５】
作成日時４０４は、電子ファイルが作成された日時である。作成日時６０２は、例えば、入力装置２０４を介して複製された電子ファイル（複製ファイル）が格納された日時、及び、通信インタフェース２０６を介して複製ファイルを受信した日時等、利用者が作業中のクライアントＰＣ１０３で電子ファイルを保存した日時である。図４に示す例では、年月日を表す８桁の整数値が格納され、時刻は省略される。
【００６６】
図４に示す文書利用証跡テーブル１０５は、テーブル形式であるが、例えば、ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）等の任意のデータ形式であってもよい。
【００６７】
また、利用証跡データとして、図４に示すデータ以外のデータ（例えば、ＩＰアドレス等）が文書利用証跡テーブル１０５に格納されてもよい。
【００６８】
図５は、本発明の第１の実施の形態のコンテンツ識別子テーブル１０６の説明図である。
【００６９】
コンテンツ識別子テーブル１０６は、電子ファイルＩＤ５０１及びコンテンツ識別子５０２を含む。
【００７０】
電子ファイルＩＤ５０１は、電子ファイルに付与される識別子であり、図４に示す文書利用証跡テーブル１０５に格納されている電子ファイルＩＤ４０３に対応する。
【００７１】
コンテンツ識別子５０２は、テキストデータから電子ファイルを一意に識別するトークンである。
【００７２】  図５に示す例では、トークンの集合｛Ｘ社、製品Ａ、（公序良俗違反につき、不掲載）｝は、電子ファイル「Ａ００１」を識別するコンテンツ識別子である。また、トークンの集合｛Ｙ社、（公序良俗違反につき、不掲載）｝は、電子ファイル「Ｂ００１」を識別するコンテンツ識別子である。また、トークンの集合｛Ｘ社、製品Ａ、（公序良俗違反につき、不掲載）｝は、電子ファイル「Ｂ００２」を識別するコンテンツ識別子である。【００７３】
なお、電子ファイル「Ｂ００２」は、電子ファイル「Ａ００１」と同じコンテンツ識別子である。この場合、電子ファイル「Ａ００１」と電子ファイル「Ｂ００２」とは異なる電子ファイルであるが、コンテンツ（テキストデータの内容）が同じであることを示す。
【００７４】
図６は、本発明の第１の実施の形態の証跡解析部１０７の出力データ６００の説明図である。
【００７５】
図６に示す出力データ６００は、利用者６０１及び作成日時６０２を含む。
【００７６】
利用者６０１は、クライアントＰＣ１０３の利用者を識別する識別子であり、図４に示す文書利用証跡テーブル１０５に格納されている利用者３０１に対応する。作成日時６０２は、電子ファイルが作成された日時であり、図４に示す文書利用証跡テーブル１０５に格納されている作成日時３０４に対応する。
【００７７】
証跡解析部１０７は、文書利用証跡管理サーバ１０１の管理者が一つの電子ファイルを指定した場合に、指定された電子ファイルに付与されているコンテンツ識別子を検索キーとしてコンテンツ識別子付与サーバ１０２に問い合わせる。検索キーとして指定されたコンテンツ識別子と一致するコンテンツ識別子が存在する場合、それぞれの電子ファイルを所有している利用者及び各電子ファイルが利用された日時の一覧を出力する。なお、出力データ６００を出力する処理については、図７を用いて後述する。
【００７８】
図６に示す例は、『電子ファイル「Ａ００１」及び電子ファイル「Ａ００１」の複製ファイル（Ｂ００１）を所有しているクライアントＰＣ１０３の利用者（Ｕ００２）」を解析した結果であり、利用者「Ｕ００１」及び利用者「Ｕ００２」が電子ファイル「Ａ００１」又は電子ファイル「Ａ００１」と同一の内容の電子ファイルを所有していることを示す。
【００７９】
図７は、本発明の第１の実施の形態の処理シーケンスの説明図である。
【００８０】
図７に示す処理は、各装置に備わるＣＰＵ２０１が、メモリ２０３に格納されているプログラムを実行することによって実行される。
【００８１】
まず、クライアントＰＣ１０３は、テキストデータを作成し、作成されたテキストデータを電子ファイルとしてストレージ２０２に格納する（Ｓ７０１）。
【００８２】
次に、クライアントＰＣ１０３の証跡取得部１１４は、ステップＳ７０１で格納された電子ファイルの利用証跡データを取得する（Ｓ７０２）。
【００８３】
ステップＳ７０２では、図３Ｃに示す電子ファイル３０９及び文書利用証跡テーブル１０５に格納される利用証跡データの値が取得される。文書利用証跡テーブル１０５に格納される値は、利用者４０１として、電子ファイルが格納される時にクライアントＰＣ１０３を利用していた利用者を識別する識別子（例えば、ログオン名）が取得される。
【００８４】
また、クライアント４０２として、クライアントＰＣ１０３を識別する識別子（例えば、ホスト名）が取得される。また、電子ファイルＩＤ４０３として、電子ファイルに付与される識別子（例えば、クライアントＰＣ１０３を識別する識別子と、証跡取得部１１４が管理する電子ファイルの通し番番号とを連結した識別子）が取得される。また、作成日時４０４として、クライアントＰＣ１０３に電子ファイルが作成（格納）された日時が取得される。
【００８５】
なお、ステップＳ７０２では、作成日時４０４に対応する利用証跡データを取得しなくてもよい。この場合、後述するように、文書利用証跡管理サーバ１０１が利用証跡データを受信した後に作成日時４０４の値が文書利用証跡テーブル１０５に格納される。
【００８６】
次に、クライアントＰＣ１０３の証跡取得部１１４は、ステップＳ７０１で格納された電子ファイルと、ステップＳ７０２で取得した利用証跡データとを文書利用証跡管理サーバ１０１に送信する（Ｓ７０３）。
【００８７】
次に、文書利用証跡管理サーバ１０１は、ステップＳ７０３で受信した利用証跡データを文書利用証跡テーブル１０５に格納する（Ｓ７０４）。
【００８８】
ステップＳ７０４では、まず、受信した利用証跡データに含まれる電子ファイルの識別子と、文書利用証跡テーブル１０５に格納されている電子ファイルＩＤ４０３とを比較する。同じ電子ファイルＩＤ４０３が存在する場合には、該当するレコードに利用証跡データを上書きする。一方、同じ電子ファイルＩＤ４０３が存在しない場合には、新規のレコードとして、利用証跡データを文書利用証跡テーブル１０５に追加する。なお、作成日時４０４のデータが受信した利用証跡データに含まれていない場合、文書利用証跡管理サーバ１０１が利用証跡データを受信した日時を作成日時４０４に格納する。
【００８９】
次に、文書利用証跡管理サーバ１０１は、ステップＳ７０３で受信した電子ファイルをコンテンツ識別子付与サーバ１０２に送信する（Ｓ７０５）。
【００９０】
次に、コンテンツ識別子付与サーバ１０２は、ステップＳ７０５で受信した電子ファイルのコンテンツ識別子を生成する（Ｓ７０６）。前述したように、コンテンツ識別子は、電子ファイルを一意に特定可能なトークンの集合である。なお、ステップＳ７０６の処理については、図８を用いて後述する。
【００９１】
次に、コンテンツ識別子付与サーバ１０２は、ステップＳ７０５で受信した利用証跡データに含まれる電子ファイルの識別子と、ステップＳ７０６で生成されたコンテンツ識別子とを、コンテンツ識別子テーブル１０６に格納する（Ｓ７０７）。
【００９２】
ステップＳ７０７では、受信した電子ファイルの識別子がコンテンツ識別子テーブル１０６に存在する場合、該当するコンテンツ識別子テーブル１０６のコンテンツ識別子５０２を削除し、ステップ７０６で生成されたコンテンツ識別子を追加する。一方、格納される電子ファイルの識別子がコンテンツ識別子テーブル１０６に存在しない場合、新規のレコードとして、受信した電子ファイルの識別子及びステップ７０６で生成されたコンテンツ識別子を、コンテンツ識別子テーブル１０６に追加する。
【００９３】
次に、コンテンツ識別子付与サーバ１０２は、コンテンツ識別子テーブル１０６を参照し、ステップＳ７０７で格納されたコンテンツ識別子の一部と衝突する（一致する）他のコンテンツ識別子を更新する（Ｓ７０８）。なお、ステップＳ７０８の処理については、図９を用いて後述する。
【００９４】
以上説明したステップＳ７０１からＳ７０８までの動作は、Ｓ７０１が実行された後に、一連の動作として連続して実行される。すなわち、クライアントＰＣ１０３が電子ファイルをストレージ２０２に格納する度に、文書利用証跡管理サーバ１０１の文書利用証跡テーブル１０５及びコンテンツ識別子付与サーバ１０２のコンテンツ識別子テーブル１０６が更新される。
【００９５】
次に、ステップＳ７０９からＳ７１２の処理について説明する。ステップＳ７０９からＳ７１２は、文書利用証跡管理サーバ１０１の管理者によって、任意のタイミングで実行される。
【００９６】
まず、管理者が、利用状況を把握したい電子ファイルの識別子を、入力装置２０４を介して証跡解析部１０７に入力すると、文書利用証跡管理サーバ１０１は、入力された電子ファイルの識別子をコンテンツ識別子付与サーバ１０２に送信し、入力された電子ファイルの識別子と一致する他の電子ファイルの識別子が存在するか否かをコンテンツ識別子付与サーバ１０２に問い合わせる（Ｓ７０９）。
【００９７】
次に、コンテンツ識別子付与サーバ１０２は、コンテンツ識別子テーブル１０６を参照し、ステップＳ７０９で受信した電子ファイルのコンテンツ識別子と同一のコンテンツ識別子が付与されている他の電子ファイルを抽出する（Ｓ７１０）。
【００９８】
ステップＳ７１０では、まず、コンテンツ識別子テーブル１０６の電子ファイルＩＤ５０１を参照し、ステップＳ７０９で受信した電子ファイルの識別子に対応するコンテンツ識別子５０２を特定する。次に、コンテンツ識別子付与サーバ１０２は、コンテンツ識別子５０２を参照し、特定されたコンテンツ識別子５０２が全て一致する他の電子ファイルＩＤ５０１を抽出する。
【００９９】
次に、コンテンツ識別子付与サーバ１０２は、ステップＳ７１０で抽出された電子ファイルＩＤ５０１を、文書利用証跡管理サーバ１０１に送信する（Ｓ７１１）。
【０１００】
次に、文書利用証跡管理サーバ１０１の証跡解析部１０７は、文書利用証跡テーブル１０５を参照し、ステップＳ７０９で入力された電子ファイルの識別子とステップＳ７１０で抽出された電子ファイルＩＤ５０１とが一致するレコードをそれぞれ特定し、特定されたレコードから利用者４０１及び作成日時４０４を取得する。取得した利用者４０１及び作成日時４０４に基づいて作成される一覧を、図６に示す出力データ６００の形式で出力する（Ｓ７１２）。
【０１０１】
このように、図７のステップＳ７０６及びＳ７０８の処理を実行することによって、後述するように、ＤＦが「１」となるトークン集合をコンテンツの識別子として付与することができる。また、付与されたトークン集合を用いてコンテンツを識別することによって、図７のステップＳ７０９からＳ７１２の処理に示すように、異なるクライアントＰＣ１０３に存在する同一内容のファイルを追跡することが容易になる。
【０１０２】
図８は、本発明の第１の実施の形態のコンテンツ識別子を生成する処理を示すフローチャートである。
【０１０３】
まず、テキスト抽出部１０８は、電子ファイルに格納されたデータから、テキストデータを抽出する（Ｓ８０１）。テキストデータの抽出処理は、従来技術を用いて実現することができる。例えば、電子ファイルを作成するアプリケーションのエクスポート機能又は電子ファイルを作成するアプリケーションのＳＤＫ（Ｓｏｆｔｗａｒｅ  Ｄｅｖｅｌｏｐｍｅｎｔ  Ｋｉｔ）が提供するするインタフェースを用いて実現することができる。
【０１０４】
次に、形態素解析部１０９は、ステップＳ８０１で抽出されたテキストデータの形態素解析処理を行う（Ｓ８０２）。形態素解析とは、テキストデータに含まれる文章を、文字列の最小単位である素（形態素）に分解し、分解された形態素の品詞をそれぞれ判別する処理である。日本語の場合、形態素解析によって判別される品詞は、例えば、「名詞」、「動詞」、及び「助詞」等であってもよい。また、「動詞−自立語」及び「助詞−接続助詞」等の詳細な品詞に判別されてもよい。
【０１０５】
なお、ステップＳ８０２では、形態素解析処理を実行しているが、テキストデータの部分集合をランダムにトークンとして抽出してもよい。
【０１０６】
なお、形態素解析は、従来技術を用いて実現することができる。例えば、隠れマルコフモデル（ＨＭＭ：Ｈｉｄｄｅｎ  Ｍａｒｋｏｖ  Ｍｏｄｅｌ）、及び、松本裕治他によるNAIST Technical Report、NAIST-IS-TR97007、February 1997に開示されているツール等を用いて実現することができる。
【０１０７】
次に、索引情報取得部１１０は、ステップＳ８０２判別された形態素のうち、少なくとも一部の形態素を「トークン」に指定し、指定された各トークンの出現頻度をカウントする。そして、カウントした結果を索引情報テーブル１１２に格納する（Ｓ８０３）。
【０１０８】
ステップＳ８０３では、索引情報取得部１１０は、まず、索引情報テーブル１１２に新たなフィールドを追加し、追加されたフィールドに指定されたトークンを格納する。なお、新たに追加されるフィールドには、前述した形態素解析によって判別されたトークンのうち、索引情報テーブル１１２に格納されていないトークンが格納される。索引情報テーブル１１２の各レコードにおいて、追加された新たなフィールドの値は「０」である。
【０１０９】
次に、索引情報取得部１１０は、電子ファイルの識別子に対応するレコードを索引情報テーブル１１２に新たに追加する。次に、索引情報取得部１１０は、電子ファイルから抽出されたトークンを対象として、索引情報テーブル１１２に登録されているトークンの出現頻度をカウントし、新たに追加されたレコードの各フィールドに値を格納する。次に、索引情報取得部１１０は、各フィールドの索引情報テーブル１１２の値を合計し、合計した値をＤＦ格納テーブル１１３のＤＦ３０８に格納する。
【０１１０】
なお、トークンに指定される形態素は特に限定されないが、本実施の形態では、品詞が「名詞」である形態素がトークンとして指定される。
【０１１１】
また、ステップＳ８０３の処理は、従来技術を用いて実現することができる。例えば、高野明彦他による「汎用連想計算エンジンの開発と大規模文書分析への応用」、情報処理振興事業協会、独創的情報技術育成事業、2001年度成果報告論文に開示されているツール等を用いて実現することができる。
【０１１２】
次に、コンテンツ識別子抽出部１１１は、ＤＦ格納テーブル１１３を参照し、トークンをＤＦ３０８の昇順にトークンを並べ替える。並べ替えられた各トークンのトークン番号３０７を、順にサイズＭ’の配列ＴＯＫＥＮ［  ］に格納する（Ｓ８０４）。ここで、サイズＭ’は、トークンの集合（トークン集合）を構成する要素の数、すなわち、索引情報テーブル１１２に格納されているトークンの数である。配列ＴＯＫＥＮ［  ］に格納される値は、索引情報テーブル１１２のトークン番号３０７の値である。なお、ＤＦ３０８の昇順にトークンを並べ替えることによって、ＤＦが「１」となるトークンの組み合わせを早く抽出することができるため、処理効率を高めることができる。
【０１１３】
次に、コンテンツ識別子抽出部１１１は、処理中のトークン集合の数を示すカウンタ変数ｊを「０」に初期化し、コンテンツ識別子を構成するトークンの数を示す変数ｓを「０」に初期化し、処理途中のＤＦを記憶する変数ｍｉｎｄｆを符号無し整数型の定数ＵＭＡＸＩＮＴに初期化する（Ｓ８０５）。定数ＵＭＡＸＩＮＴは、変数ｍｉｎｄｆが取り得る最大値を表し、図８に示すシーケンス処理を実行するＣＰＵ２０１の仕様によって値が予め定められている。例えば、Ｃ言語等の一般的な計算機の言語を用いて図８に示すシーケンス処理を実装する場合、定数ＵＭＡＸＩＮＴは、システム定数として与えられる。
【０１１４】
次に、コンテンツ識別子抽出部１１１は、配列ＴＯＫＥＮ［  ］の全ての要素について処理が終了したか否か（ｊ＜Ｍ’であるか否か）を判定し、かつ、ＤＦが１であるトークン集合が存在するか否か（ｍｉｎｄｆ＞１であるか否か）を判定する（Ｓ８０６）。
【０１１５】
カウンタ変数ｊがサイズＭ’より小さい、かつ、変数ｍｉｎｄｆが「１」より小さい場合、処理はステップＳ８０７に進む。一方、カウンタ変数ｊがサイズＭ’以上又は変数ｍｉｎｄｆが「１」以下である場合、処理はステップＳ８１９に進む。
【０１１６】
ステップＳ８０６からステップＳ８１８までの処理では、配列ＴＯＫＥＮ［ｊ］に対応するトークンと他のトークンとの組み合わせについて、ＤＦをカウントする。
【０１１７】
次に、コンテンツ識別子抽出部１１１は、トークン集合のＤＦを格納する変数ｄｆを「０」に初期化し（Ｓ８０７）、索引情報テーブル１１２のレコードを参照するカウンタ変数ｉを「０」に初期化する（Ｓ８０８）。
【０１１８】
次に、コンテンツ識別子抽出部１１１は、カウンタ変数ｉが索引情報テーブル１１２に格納されているレコード数Ｎより小さいか否かを判定する（Ｓ８０９）。カウンタ変数ｉがレコード数Ｎより小さい場合、処理はステップＳ８１０に進む。一方、カウンタ変数ｉがレコード数Ｎ以上である場合、処理はステップＳ８１６に進む。
【０１１９】
次に、コンテンツ識別子抽出部１１１は、コンテンツ識別子の候補となるトークン集合の要素を一つずつ参照するカウンタ変数ｋを「０」に初期化する（Ｓ８１０）。
【０１２０】
次に、コンテンツ識別子抽出部１１１は、処理中の索引情報テーブル１１２のレコードを参照し、カウンタ変数ｋがカウンタ変数ｊ以下であるか否かを判定し、かつ、配列Ｆ［ｉ］［ＴＯＫＥＮ［ｋ］］が「０」より大きいか否かを判定する（Ｓ８１１）。すなわち、ステップＳ８１１では、コンテンツ識別子の候補となるトークンの出現頻度が全て計算されたか否かが判定され、かつ、コンテンツ識別子の候補となるトークンが、索引情報テーブル１１２のｉ番目のレコードに存在するか否かが判定される。ここで、Ｆ［Ｘ］［Ｙ］は、索引情報テーブル１１２のＸ行目Ｙ列のフィールドに格納されている値を示す。
【０１２１】
カウンタ変数ｋがカウンタ変数ｊ以下であり、かつ、配列Ｆ［ｉ］［ＴＯＫＥＮ［ｋ］］が「０」より大きい場合、処理はステップＳ８１２に進む。一方、カウンタ変数ｋがカウンタ変数ｊより大きい、又は、配列Ｆ［ｉ］［ＴＯＫＥＮ［ｋ］］が「０」以下である場合、処理はステップＳ８１３に進む。
【０１２２】
次に、コンテンツ識別子抽出部１１１は、カウンタ変数ｋを１増やす（ｋ＝ｋ＋１）（Ｓ８１２）。そして、処理は、ステップＳ８１１に戻る。
【０１２３】
ステップＳ８１３では、コンテンツ識別子抽出部１１１は、カウンタ変数ｋがカウンタ変数ｊに等しいか否かを判定する。すなわち、ステップＳ８１３では、コンテンツ識別子の候補となる全てのトークンが、索引情報テーブル１１２のｉ番目のレコードに存在しているか否かが判定される。
【０１２４】
カウンタ変数ｋがカウンタ変数ｊに等しい場合、処理はステップＳ８１４に進む。一方、カウンタ変数ｋがカウンタ変数ｊに等しくない場合、処理はステップＳ８１５に進む。
【０１２５】
次に、コンテンツ識別子抽出部１１１は、索引情報テーブル１１２のｉ番目のレコードにおいて、Ｆ［ｉ］［ＴＯＫＥＮ［０］］、Ｆ［ｉ］［ＴＯＫＥＮ［１］］、…、Ｆ［ｉ］［ＴＯＫＥＮ［ｊ］］がそれぞれ０より大きいため、トークン集合のＤＦを示す変数ｄｆを１増やす（ｄｆ＝ｄｆ＋１）（Ｓ８１４）。
【０１２６】
次に、コンテンツ識別子抽出部１１１は、処理中の索引情報テーブル１１２のレコードを示すカウンタ変数ｉを１増やす（ｉ＝ｉ＋１）（Ｓ８１５）。そして、処理はステップＳ８０９に戻る。
【０１２７】
ステップＳ８１６では、コンテンツ識別子抽出部１１１は、変数ｄｆが変数ｍｉｎｄｆより小さいか否かを判定する（Ｓ８１６）。すなわち、処理中のトークン集合について、全てのレコードを参照して計算された変数ｄｆが、処理が既に終わっているトークン集合について計算された変数ｄｆの最小値より小さいか否かが判定される。
【０１２８】
変数ｄｆが変数ｍｉｎｄｆより小さい場合、処理はステップＳ８１７に進む。一方、変数ｄｆが変数ｍｉｎｄｆ以上である場合、処理はステップＳ８１８に進む。
【０１２９】
次に、コンテンツ識別子抽出部１１１は、変数ｄｆの値を変数ｍｉｎｄｆに格納し、かつ、カウンタ変数ｊの値を変数ｓに格納する（Ｓ８１７）。
【０１３０】
次に、コンテンツ識別子抽出部１１１は、カウンタ変数ｊを１増やす（ｊ＝ｊ＋１）（Ｓ８１８）。そして、処理はステップＳ８０６に戻る。
【０１３１】
ステップＳ８１９では、コンテンツ識別子抽出部１１１は、ＴＯＫＥＮ［０］、ＴＯＫＥＮ［１］、…、ＴＯＫＥＮ［ｓ］を、コンテンツ識別子として出力する（Ｓ８１９）。なお、ステップＳ８１９の処理を実行する時の変数ｓの値は、（１）変数ｄｆ＝１となったときのカウンタ変数ｊの値、又は、（２）変数ｄｆが「１」より大きい最小値に最初に到達したときのカウンタ変数ｊの値のいずれかである。変数ｓが（２）の値を記憶する処理は、テキストデータが全く同じ電子ファイル、例えば、複製ファイルが存在する場合に必要な処理である。変数ｓに（２）の値が格納されると、テキストデータが全く同じ電子ファイルが存在する場合でも、全てのトークンをコンテンツ識別子として出力する必要がない。具体的には、変数ｍｉｎｄｆ＝同じ電子ファイルの個数、となったときのカウンタ変数ｊが変数ｓに格納される。
【０１３２】
以上、図７のステップＳ７０６で実行される処理について説明したが、ステップＳ７０６でコンテンツ識別子を新たに生成すると、コンテンツ識別子テーブル１０６に既に格納されているコンテンツ識別子５０２のＤＦが２以上となる場合がある。
【０１３３】  図５に示す例を用いて説明すると、電子ファイル「Ａ００２」の新たなコンテンツ識別子５０２として、トークン集合｛Ｘ社、製品Ａ、（公序良俗違反につき、不掲載）、競合Ｙ社｝が追加される場合、トークン集合の一部｛Ｘ社、製品Ａ、（公序良俗違反につき、不掲載）｝が、電子ファイル「Ａ００１」のコンテンツ識別子５０２と一致する。よって、後でコンテンツ識別子｛Ｘ社、製品Ａ、（公序良俗違反につき、不掲載）｝を用いて電子ファイルを識別する場合、電子ファイル「Ａ００１」及び電子ファイル「Ａ００２」が検出される。【０１３４】
本実施の形態では、この状態を回避するため、図７のステップＳ７０８で、コンテンツ識別子テーブル１０６に既に格納されているコンテンツ識別子を参照し、新たに追加する電子ファイルのコンテンツ識別子と、コンテンツ識別子テーブル１０６に既に格納されているコンテンツ識別子とが重複する場合に、コンテンツ識別子を更新する。
【０１３５】
図９は、本発明の第１の実施の形態のコンテンツ識別子を更新する処理を示すフローチャートである。
【０１３６】  まず、コンテンツ識別子付与サーバ１０２は、コンテンツ識別子テーブル１０６を参照し、図７のステップＳ７０７で新たに追加されたコンテンツ識別子５０２の一部と一致する他のコンテンツ識別子５０２（重複コンテンツ識別子）及び重複コンテンツ識別子の電子ファイルＩＤ５０１を抽出する（Ｓ１１０１）。前述した例では、新たにコンテンツ識別子｛Ｘ社、製品Ａ、（公序良俗違反につき、不掲載）、競合Ｙ社｝が追加された場合、コンテンツ識別子｛Ｘ社、製品Ａ、（公序良俗違反につき、不掲載）｝及び電子ファイルＩＤ「Ａ００１」が抽出される。【０１３７】
次に、コンテンツ識別子付与サーバ１０２は、ステップＳ１１０１で抽出されたコンテンツ識別子を順に参照するカウンタ変数ｕを「０」に初期化する（Ｓ１１０２）。
【０１３８】
次に、コンテンツ識別子付与サーバ１０２は、カウンタ変数ｕが変数Ｃより小さいか否かを判定する。ここで、変数Ｃは、ステップＳ１１０１で抽出されたコンテンツ識別子の数を示す。
【０１３９】
カウンタ変数ｕが変数Ｃより小さい場合、処理はステップＳ１００４に進む。一方、カウンタ変数ｕが変数Ｃ以上である場合、処理は終了する。
【０１４０】
次に、コンテンツ識別子付与サーバ１０２は、ｕ番目の重複コンテンツ識別子と対応する電子ファイルに含まれるトークンと、各トークンのＤＦ３０８とを用いて、配列ＴＯＫＥＮ［  ］にトークンを格納する（Ｓ１１０４）。ステップＳ１１０４は、図８のステップＳ８０４と同じ処理である。
【０１４１】  前述した例では、まず、電子ファイル「Ａ００１」に含まれるコンテンツ識別子（「Ｘ社」、「製品Ａ」、及び「（公序良俗違反につき、不掲載）」）のトークン番号３０７が、配列ＴＯＫＥＮ［  ］に格納される。すなわち、ＴＯＫＥＮ［０］には「Ｘ社」のトークン番号０、ＴＯＫＥＮ［１］には「製品Ａ」のトークン番号１、ＴＯＫＥＮ［２］には「（公序良俗違反につき、不掲載）」のトークン番号４が格納される。次に、電子ファイル「Ａ００１」に含まれる他のトークンをＤＦ３０８の昇順に並べ替え、並べ替えられた各トークンのトークン番号３０７がＴＯＫＥＮ［３］以降の配列に順に格納される。【０１４２】
次に、コンテンツ識別子付与サーバ１０２は、コンテンツ識別子に新たに追加されるトークンを探すために、配列ＴＯＫＥＮ［  ］を順に参照するカウンタ変数ｊを初期化し、処理途中のトークン集合のＤＦを格納する変数ｍｉｎｄｆをＵＭＡＸＩＮＴに初期化する（Ｓ１１０５）。
【０１４３】  なお、以降の処理で、既にコンテンツ識別子として決定されているトークン集合に追加する形でＴＯＫＥＮ［  ］を参照するため、カウンタ変数ｊの初期値には、ｕ番目の重複コンテンツ識別子に含まれるトークンの数が格納される。前述した例では、コンテンツ識別子｛Ｘ社、製品Ａ、（公序良俗違反につき、不掲載）｝には三つのトークンが含まれているため、カウンタ変数ｊに「３」が格納され、以降の処理ではＴＯＫＥＮ［３］に対する処理から開始する状態にカウンタ変数ｊが初期化される。【０１４４】  次に、コンテンツ識別子付与サーバ１０２は、ステップＳ１１０４で配列ＴＯＫＥＮ［  ］に新たなトークンを追加する形でコンテンツ識別子を更新する（Ｓ１１０６）。なお、ステップＳ１１０６の処理は、図８のステップＳ８０６からステップＳ８１８の処理と同じである。前述した例では、トークン集合｛Ｘ社、製品Ａ、（公序良俗違反につき、不掲載）｝に対して、ＴＯＫＥＮ［３］、ＴＯＫＥＮ［４］、…と順にトークンを追加し、ＤＦ＝１になった時点で取得したトークン集合を新たなコンテンツ識別子とする。【０１４５】
次に、コンテンツ識別子付与サーバ１０２は、カウンタ変数ｕを１増やす（ｕ＝ｕ＋１）（Ｓ１１０７）。そして、処理はステップ１１０３に戻る。
【０１４６】
以上、本発明の第１の実施の形態の説明である。
【０１４７】
なお、本実施の形態では、図７のステップＳ７０６の処理で、一つの電子ファイルに、一つのコンテンツ識別子、すなわち、１組のトークン集合を付与しているが、図８のステップＳ８０４において、ランダムにトークンを選択してからステップＳ８０５からステップＳ８１８までの処理を繰り返すことによって、一つの電子ファイルに２個以上のコンテンツ識別子を付与してもよい。
【０１４８】
このように、コンテンツ識別子を冗長に付与することによって、他のコンテンツ識別子と一致する可能性が低くなるため、図７のステップＳ７０８において、重複コンテンツ識別子を更新する処理量を減らすことが可能になる。また、コンテンツ識別子を冗長に付与するため、電子ファイルの耐性を向上させることができる。
【０１４９】
本発明の第１の実施の形態では、電子ファイルに格納されるテキスト情報を用いて、電子ファイルを一意に定める識別子を付与することができる。
【０１５０】
また、組織内を流通する電子ファイルを確実に把握し、組織内のシステム利用者が所持している電子ファイルを追跡することが可能になる。
【０１５１】
また、本実施の形態は、情報漏えい防止を目的とした、Ｄａｔａ  Ｌｅａｋａｇｅ  Ｐｒｅｖｅｎｔｉｏｎ（ＤＬＰ）及びセキュリティ監視等の情報セキュリティ製品に応用することが可能である。
【０１５２】
＜実施形態２＞
本発明の第２の実施の形態では、電子メールの送信時に、予め登録されている機密情報と比較し、電子メールの送信を制御することによって、機密情報の漏えいを防止する。
【０１５３】
なお、説明の簡略化するために、以下に説明する第２の実施の形態は、前述した第１の実施の形態と同じ構成には同じ符号を付与し、説明を省略する。
【０１５４】
まず、図１０を参照し、第２の実施の形態のシステムの構成を説明する。
【０１５５】
図１０は、本発明の第２の実施の形態のシステムの構成を示すブロック図である。
【０１５６】
図１０に示すように、第２の実施の形態のシステムは、コンテンツ識別子付与サーバ９０８、クライアントＰＣ９０１、メールサーバ９０２、及び機密文書管理サーバ９０３を備える。コンテンツ識別子付与サーバ９０８、クライアントＰＣ９０１、メールサーバ９０２、及び機密文書管理サーバ９０３は、それぞれ通信ネットワーク１０４に接続される。なお、メールサーバ９０２は、外部ネットワーク９０７に接続される。
【０１５７】
外部ネットワーク９０７は、例えば、拠点間を結ぶＷＡＮ、地域ＩＰ網、及びインターネット等である。
【０１５８】
コンテンツ識別子付与サーバ９０８、クライアントＰＣ９０１、メールサーバ９０２、及び機密文書管理サーバ９０３は、図２に示すハードウェアの構成と同じ構成を備える。
【０１５９】
クライアントＰＣ９０１は、メール送信部９０５を含む。メール送信部９０５は、電子ファイル等を電子メールに添付することによって送信する。なお、プログラム（図示省略）をメモリ２０３に読み出して実行することによって、メール送信部９０５が実現される。
【０１６０】
メールサーバ９０２は、送信制御部９０６を含む。送信制御部９０６は、クライアントＰＣ９０１から送信される電子メールを制御する。なお、プログラム（図示省略）をメモリ２０３に読み出して実行することによって、送信制御部９０６が実現される。
【０１６１】
機密文書管理サーバ９０３は、機密情報判定部９０４及びコンテンツ識別子テーブル１０６を含む。
【０１６２】
機密情報判定部９０４は、クライアントＰＣ９０１から送信されるメールに含まれるデータが機密情報であるか否かを判定する。なお、プログラム（図示省略）をメモリ２０３に読み出して実行することによって、機密情報判定部９０４が実現される。
【０１６３】
コンテンツ識別子テーブル１０６は、図１のコンテンツ識別子テーブル１０６と同じであるため、説明を省略する。
【０１６４】
コンテンツ識別子付与サーバ９０８は、第１の実施の形態のコンテンツ識別子付与サーバ１０２と比較して、コンテンツ識別子テーブル１０６が省略される点が異なる。その他の構成は、図１に示すコンテンツ識別子付与サーバ１０２と同じ構成である。
【０１６５】
図１１は、本発明の第２の実施の形態の処理シーケンスの説明図である。
【０１６６】
図１１に示す処理は、各装置に備わるＣＰＵ２０１が、メモリ２０３に格納されているプログラムを実行することによって実行される。
【０１６７】
まず、ステップＳ１００１からステップＳ１００５までの処理によって、事前に、機密文書管理サーバ９０３に機密情報が登録される。機密情報の登録処理は、システムの利用者が手作業で起動する、又は、機密文書が含まれた電子ファイルを格納する文書管理サーバ及びクライアントＰＣ９０１から起動することによって実行される。
【０１６８】
まず、機密文書管理サーバ９０３は、機密文書が格納されている電子ファイルを受信する（Ｓ１００１）。
【０１６９】
次に、機密文書管理サーバ９０３は、ステップＳ１００１で受信した電子ファイルにコンテンツ識別子を付与するため、受信した電子ファイルをコンテンツ識別子付与サーバ９０８に送信する（Ｓ１００２）。
【０１７０】
次に、コンテンツ識別子付与サーバ９０８は、ステップＳ１００２で受信した電子ファイルからコンテンツ識別子を生成する（Ｓ１００３）。ステップＳ１００３の処理は、前述した図７のステップＳ７０６と同じであり、すなわち、図８のステップＳ８０１からＳ８１８までの処理と同じである。
【０１７１】
次に、コンテンツ識別子付与サーバ９０８は、ステップＳ１００３で生成されたコンテンツ識別子を、機密文書管理サーバ９０３に送信する（Ｓ１００４）。
【０１７２】
次に、機密文書管理サーバ９０３は、ステップＳ１００４で受信したコンテンツ識別子を、コンテンツ識別子テーブル１０６に格納する（Ｓ１００５）。本実施の形態では、コンテンツ識別子テーブル１０６の電子ファイルＩＤ５０１に格納される値は、機密文書管理サーバ９０３が電子ファイルに割り当てる通し番号である。
【０１７３】
次に、ステップＳ１００６からＳ１０１３の処理によって、電子メール送信時の機密情報の判定処理を説明する。
【０１７４】
まず、クライアントＰＣ９０１は、電子メールをメールサーバ９０２に送信する（Ｓ１００６）。電子メールの送信は、例えば、ＳＭＴＰ（Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｃｏｌ）等の従来技術を用いることによって実現することができる。
【０１７５】
次に、メールサーバ９０２の送信制御部９０６は、ステップＳ１００６で受信した電子メールの送信の可否を判定するため、受信した電子メールをコンテンツ識別子付与サーバ９０８に転送する（Ｓ１００７）。
【０１７６】
次に、コンテンツ識別子付与サーバ９０８は、ステップＳ１００７で受信した電子メールからトークンを抽出する（Ｓ１００８）。ステップＳ１００８の処理は、図８のステップＳ８０１からＳ８０３と同じである。なお、本実施の形態では、ステップＳ８０３の処理結果は、索引情報テーブル１１２には格納されずに、ステップＳ１００９以降の処理で用いられる。また、電子メールからトークンを抽出する場所は、メールヘッダの件名、メール本文、及び添付ファイル等である。トークンを抽出する場所は、予めコンテンツ識別子付与サーバ９０８の管理者によって設定される。
【０１７７】
また、ステップＳ１００８で抽出されるトークンは、前述した形態素解析によって抽出されるトークンのうち、「名詞」のトークンのみであってもよい。また、形態素解析によって抽出されるトークンのうち、ランダムに選択されたトークンであってもよい。また、形態素解析によって抽出されるトークンのうち、ＤＦが所定の値より大きいトークンのみであってもよい。
【０１７８】
次に、コンテンツ識別子付与サーバ９０８は、ステップＳ１００８で抽出されたトークンを、機密文書管理サーバ９０３に送信する（Ｓ１００９）。
【０１７９】
次に、機密文書管理サーバ９０３は、ステップＳ１００９で受信したトークンと、コンテンツ識別子テーブル１０６とを比較し、ステップＳ１００８でトークンが抽出された電子メールが機密情報を含むか否かを判定する（Ｓ１０１０）。具体的には、コンテンツ識別子テーブル１０６に格納されたコンテンツ識別子５０２を一つずつ取り出し、取り出されたコンテンツ識別子５０２に含まれるトークン集合が、ステップＳ１００９で受信したトークンに含まれている場合には、「機密情報である」と判定する。いずれのコンテンツ識別子５０２も含まれていない場合には、「機密情報でない」と判定する。
【０１８０】
次に、機密文書管理サーバ９０３は、コンテンツ識別子付与サーバ９０８にステップＳ１０１０の判定結果を送信する。コンテンツ識別子付与サーバ９０８は、受信した判定結果をメールサーバ９０２の送信制御部９０６に送信する（Ｓ１０１１）。
【０１８１】
次に、メールサーバ９０２の送信制御部９０６は、ステップＳ１０１１で受信した判定結果が「機密情報でない」の場合には、ステップＳ１００６で受信した電子メールを、電子メールが指定する宛先に送信する（Ｓ１０１２）。一方、判定結果が「機密情報である」の場合には、メールサーバ９０２の送信制御部９０６は、電子メールは送信を中止し、クライアントＰＣ９０１に機密情報の判定結果を通知する（Ｓ１０１３）。
【０１８２】
本発明の第２の実施の形態のシステムは、図１１のステップＳ１００３の処理によって、ＤＦが「１」となるコンテンツ識別子を予め機密文書から抽出し、ステップＳ１０１０の機密情報の判定に用いることができる。また、コンテンツ識別子を用いることによって、機密情報が含まれる電子ファイルの名前が変更された場合でも、電子ファイルの内容から同一性を判断することが可能となる。また、ＤＦが「１」のコンテンツ識別子を用いることによって、登録された機密情報の個数が大きい場合でも、一致する機密情報のみを判定することができるため、従来技術と比較して、クライアントＰＣに通知する誤判定を削減すること可能となる。
【０１８３】
本発明の第２の実施の形態では、電子メールサーバにおいて、送信メールに付与された電子ファイルの識別子を、登録された機密情報格納電子ファイルと比較することによって、電子メールにおける機密情報の漏えいを防止することが可能となる。
【図面の簡単な説明】
【０１８４】
【図１】本発明の第１の実施の形態のシステムの構成を示すブロック図である。
【図２】本発明の第１の実施の形態のコンテンツ識別子付与サーバのハードウェアの構成を示すブロック図である。
【図３Ａ】本発明の第１の実施の形態の索引情報テーブルの説明図である。
【図３Ｂ】本発明の第１の実施の形態のＤＦ格納テーブルの説明図である。
【図３Ｃ】本発明の第１の実施の形態の電子ファイルの例を示す説明図である。
【図４】本発明の第１の実施の文書利用証跡テーブルの説明図である。
【図５】本発明の第１の実施の形態のコンテンツ識別子テーブルの説明図である。
【図６】本発明の第１の実施の形態の証跡解析部の出力データの説明図である。
【図７】本発明の第１の実施の形態の処理シーケンスの説明図である。
【図８】本発明の第１の実施の形態のコンテンツ識別子を生成する処理を示すフローチャートである。
【図９】本発明の第１の実施の形態のコンテンツ識別子を更新する処理を示すフローチャートである。
【図１０】本発明の第２の実施の形態のシステムの構成を示すブロック図である。
【図１１】本発明の第２の実施の形態の処理シーケンスの説明図である。
【符号の説明】
【０１８５】
１０１  文書利用証跡管理サーバ
１０２  コンテンツ識別子付与サーバ
１０３  クライアントＰＣ
１０４  通信ネットワーク
１０５  文書利用証跡テーブル
１０６  コンテンツ識別子テーブル
１０７  証跡解析部
１０８  テキスト抽出部
１０９  形態素解析部
１１０  索引情報取得部
１１１  コンテンツ識別子抽出部
１１２  索引情報テーブル
１１３  ＤＦ格納テーブル
９０１  クライアントＰＣ
９０２  メールサーバ
９０３  機密文書管理サーバ
９０４  機密情報判定部
９０５  メール送信部
９０６  送信制御部
９０７  外部ネットワーク
【図１】
2009277183.tif 000003
【図２】
2009277183.tif 000004
【図３Ａ】
2009277183.tif 000005
【図３Ｂ】
2009277183.tif 000006
【図３Ｃ】
2009277183.tif 000007
【図４】
2009277183.tif 000008
【図５】
2009277183.tif 000009
【図６】
2009277183.tif 000010
【図７】
2009277183.tif 000011
【図８】
2009277183.tif 000012
【図９】
2009277183.tif 000013
【図１０】
2009277183.tif 000014
【図１１】
2009277183.tif 000015