(57)【要約】【課題】ファイルを仮想分類する際に発生する仮想フォルダ作成作業を効率化する。【解決手段】本発明によるシステムは、検索に使用された文字列を記憶する機能と、メタデータに含まれるキーワードとその頻度を抽出する機能と、このキーワードと同じメタデータに出現する別のキーワードとその頻度を抽出する機能と、検索履歴に含まれる文字列とその頻度を抽出する機能と、抽出した各キーワードと頻度に基づいて仮想フォルダを生成する機能を有している。メタデータからキーワードを抽出する際には、キーワードと考えられる文字列を網羅的に抽出する。また、仮想フォルダを生成する際には、仮想上位フォルダと仮想下位フォルダの少なくとも２階層の階層構造を持つようにする。仮想下位フォルダを生成する際には、頻度が同等の仮想下位フォルダ候補が存在した場合は、より長い文字列の候補を採用する。【選択図】図１７
2014010758.tif 000002
【特許請求の範囲】
【請求項１】
複数の物理ファイルを分類し、管理するファイル管理装置であって、
前記複数の物理ファイルを分類するための仮想フォルダを生成するプログラムを実行するプロセッサと、
前記複数の物理ファイルのメタデータを管理するためのメタデータ管理情報と、検索履歴を管理するための検索ログ情報とを格納する記憶装置と、を有し、
前記仮想フォルダは、前記複数の物理ファイル或いはそれらを格納する複数の物理フォルダが存在する場所とは無関係に、前記複数の物理ファイル及び物理フォルダのリンク情報を管理するための非実体的なフォルダであり、
前記プロセッサは、
前記メタデータ管理情報の前記複数のファイルのメタデータを構成する各構成文字列から複数のメタデータキーワードを抽出し、当該抽出した各メタデータキーワードの出現頻度を示す第１の出現頻度情報を取得し、
前記検索ログ情報の前記複数の検索履歴を構成する各検索文字列から複数の検索キーワードを抽出し、当該抽出した各検索キーワードの出現頻度を示す第２の出現頻度情報を取得し、
前記第１及び第２の出現頻度情報で示される各キーワードの頻度を重み付け加算することにより、前記各キーワードのスコアである第１のスコアを算出し、
前記第１のスコアが所定値以上のキーワードを用いて規定数分の仮想上位フォルダを生成し、
前記作成した仮想上位フォルダを、表示画面上に表示する、
ことを特徴とするファイル管理装置。
【請求項２】
請求項１において、
前記プロセッサは、
前記仮想上位フォルダの生成に用いたキーワードを含む別のキーワードである包含キーワード、前記仮想上位フォルダの生成に用いたキーワードと同一メタデータ内に含まれる別のキーワードである併用キーワード、及び前記仮想上位フォルダの生成に用いたキーワードと同時に検索される別のキーワードである共起キーワードの少なくとも１つを用いて、前記仮想上位フォルダに関連付けられる仮想下位フォルダを生成し、
前記生成した仮想上位フォルダと仮想下位フォルダとの関係、及び前記仮想上位フォルダ及び仮想下位フォルダの内容を表示する仮想分類表示を前記表示画面上に行う、
ことを特徴とするファイル管理装置。
【請求項３】
請求項２において、
前記プロセッサは、
前記仮想上位フォルダの生成に用いたキーワードと前記共起キーワードの組み合わせが検索の際に用いられた出現頻度を示す第３の出現頻度情報を取得し、
前記包含キーワードについての前記第１及び第２の出現頻度情報、及び前記併用キーワード及び前記共起キーワードについての前記第２及び第３の出現頻度情報で示される、仮想下位フォルダ生成に用いる各キーワードの頻度を重み付け加算することにより、前記仮想下位フォルダ生成に用いる各キーワードのスコアである第２のスコアを算出し、
前記第２のスコアが所定値以上のキーワードを用いて、規定数分の前記仮想下位フォルダを生成する、
ことを特徴とするファイル管理装置。
【請求項４】
請求項３において、
前記プロセッサは、所定長さ以上の文字列を有するキーワードで前記仮想下位フォルダを生成することを特徴とするファイル管理装置。
【請求項５】
請求項３において、
前記プロセッサは、前記仮想下位フォルダの生成処理の対象となっている対象キーワードを含む、より長い文字列で構成される下位概念キーワードがあるとき、当該下位概念キーワードの前記第２のスコアが（前記対象キーワードの前記第２のスコア−所定値）以上である場合には、前記元キーワードを用いずに前記下位概念キーワードで前記仮想下位フォルダを生成することを特徴とするファイル管理装置。
【請求項６】
請求項１において、
前記プロセッサは、既存の仮想上位フォルダを構成する文字列を含む下位概念キーワードについて仮想上位フォルダを生成するか否か判断する場合、前記既存の仮想上位フォルダを構成する文字列の前記第１のスコアと前記下位概念キーワードの前記第１のスコアとを比較し、大きい方を用いて仮想上位フォルダを構成することを特徴とするファイル管理装置。
【請求項７】
請求項６において、
前記プロセッサは、前記既存の仮想上位フォルダを構成する文字列の前記第１のスコアと前記下位概念キーワードの前記第１のスコアとの比較の結果、前記下位概念キーワードの前記第１のスコアが前記既存の仮想上位フォルダを構成する文字列の前記第１のスコアよりも大きい場合、前記既存の仮想上位フォルダを削除し、前記下位概念キーワードで仮想上位フォルダを構成することを特徴とするファイル管理装置。
【請求項８】
複数の物理ファイルを仮想フォルダに分類し、管理するファイル管理方法であって、
前記仮想フォルダは、前記複数の物理ファイル或いはそれらを格納する複数の物理フォルダが存在する場所とは無関係に、前記複数の物理ファイル及び物理フォルダのリンク情報を管理するための非実体的なフォルダであり、
前記仮想フォルダを生成する処理を実行するプロセッサが、記憶装置から前記複数の物理ファイルのメタデータを管理するためのメタデータ管理情報を読み出して、当該メタデータ管理情報の前記複数のファイルのメタデータを構成する各構成文字列から複数のメタデータキーワードを抽出し、当該抽出した各メタデータキーワードの出現頻度を示す第１の出現頻度情報を取得するステップと、
前記プロセッサが、前記記憶装置から検索履歴を管理するための検索ログ情報を読み出して、当該検索ログ情報の前記複数の検索履歴を構成する各検索文字列から複数の検索キーワードを抽出し、当該抽出した各検索キーワードの出現頻度を示す第２の出現頻度情報を取得するステップと、
前記プロセッサが、前記第１及び第２の出現頻度情報で示される各キーワードの頻度を重み付け加算することにより、前記各キーワードのスコアである第１のスコアを算出するステップと、
前記プロセッサが、前記第１のスコアが所定値以上のキーワードを用いて規定数分の仮想上位フォルダを生成するステップと、
前記プロセッサが、前記作成した仮想上位フォルダを、表示画面上に表示するステップと、
を有することを特徴とするファイル管理方法。
【請求項９】
請求項８において、さらに、
前記プロセッサが、前記仮想上位フォルダの生成に用いたキーワードを含む別のキーワードである包含キーワード、前記仮想上位フォルダの生成に用いたキーワードと同一メタデータ内に含まれる別のキーワードである併用キーワード、及び前記仮想上位フォルダの生成に用いたキーワードと同時に検索される別のキーワードである共起キーワードの少なくとも１つを用いて、前記仮想上位フォルダに関連付けられる仮想下位フォルダを生成するステップと、
前記プロセッサが、前記生成した仮想上位フォルダと仮想下位フォルダとの関係、及び前記仮想上位フォルダ及び仮想下位フォルダの内容を表示する仮想分類表示を前記表示画面上に行うステップと、
を有することを特徴とするファイル管理方法。
【請求項１０】
複数の物理ファイルを仮想フォルダに分類し、管理するためのプログラムであって、
前記仮想フォルダは、前記複数の物理ファイル或いはそれらを格納する複数の物理フォルダが存在する場所とは無関係に、前記複数の物理ファイル及び物理フォルダのリンク情報を管理するための非実体的なフォルダであり、
前記仮想フォルダを生成する処理を実行するプロセッサに、
記憶装置から前記複数の物理ファイルのメタデータを管理するためのメタデータ管理情報を読み出して、当該メタデータ管理情報の前記複数のファイルのメタデータを構成する各構成文字列から複数のメタデータキーワードを抽出し、当該抽出した各メタデータキーワードの出現頻度を示す第１の出現頻度情報を取得する処理と、
前記記憶装置から検索履歴を管理するための検索ログ情報を読み出して、当該検索ログ情報の前記複数の検索履歴を構成する各検索文字列から複数の検索キーワードを抽出し、当該抽出した各検索キーワードの出現頻度を示す第２の出現頻度情報を取得する処理と、
前記第１及び第２の出現頻度情報で示される各キーワードの頻度を重み付け加算することにより、前記各キーワードのスコアである第１のスコアを算出する処理と、
前記第１のスコアが所定値以上のキーワードを用いて規定数分の仮想上位フォルダを生成する処理と、
前記作成した仮想上位フォルダを、表示画面上に表示する処理と、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイル管理装置、ファイル管理方法、及びプログラムに関し、例えば、コンピュータ上のファイルを仮想的に分類するための技術に関するものである。
【背景技術】
【０００２】
近年コンピュータの発達により、ネットワークにより結合された複数のコンピュータにおいて、複数のユーザがファイルを共有することが日常的に行われている。例えば、ファイルサーバ上のファイルを複数ユーザで共有する場合がある。ファイルを管理する際には、固定的な階層構造のフォルダ（物理フォルダ）を用いることが一般的である。ファイルを格納する際には、組織内の運用ルールによって決められたフォルダに格納する場合がある。運用ルールとは、例えばファイルの種類毎や所属する部門毎に、決められたフォルダに格納するというものである。さらに、ファイルが作成された年度毎にフォルダを作成したり、製品毎にフォルダを作成するなど様々なパターンが考えられる。このようなフォルダ管理方法は、複数人でファイルを共有する場合だけでなく、１人のユーザがファイルを管理する場合でも行われている。
【０００３】
ユーザの作業内容によっては、複数の物理フォルダに格納されたファイルをいくつかまとめて１つの用途で使用したいという場合がある。このような場合に、例えば各フォルダから必要なファイルを探し出し、１つのフォルダにコピーするという作業が必要になるためユーザの負担となる。また、このような作業を繰り返すと同一ファイルがファイルサーバ内に増え、ファイルサーバの容量を圧迫する。さらに、その中の一部のファイルにのみ変更を加えると類似したファイルがファイルサーバ内に散在することになり、最新のファイルがわからなくなるという問題も発生する。
【０００４】
そこで、文書（ファイル）のメタデータ（属性情報）を文書に対応付けて管理する方法が考えられている。例えば特許文献１では、仮想フォルダシステムが提案されている。仮想フォルダシステムとは、実際にファイルが存在する場所とは無関係に、条件に合致するファイルやフォルダを格納するフォルダ（仮想フォルダ）を提供するシステムである。例えば、ファイルにメタデータを設定しておき、仮想フォルダにはメタデータに対する検索条件を定義することで、検索条件に合致するファイルを仮想フォルダに格納することができる。仮想フォルダ参照時には、検索条件に基づいたファイルのみが表示される。例えば、営業文書を管理する場面では、まず「文書種別」（契約書・注文書・見積書など）を属性として定義しておく。属性とは、例えば「文書種別」や「取引先」などのメタデータの種類を表す語句である。全てのファイルについて文書種別を付与し、仮想フォルダに「文書種別が“契約書”であるもの」という検索条件を割り当てておけば、その仮想フォルダを参照すると契約書の一覧が取得できる。このように、仮想フォルダシステムでは、ファイルを意味的に分類するので、文書の効果的な活用が可能となる。また、物理的なフォルダ構造に関係なく、仮想的に様々なフォルダで管理できるため、ファイルの無駄なコピーによる容量圧迫や、最新版がわからなくなるという問題を解決できる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−３２３３２６号公報
【非特許文献】
【０００６】
【非特許文献１】小山照夫, “日本語テキストからの複合語用語抽出”, 情報知識学会誌, vol.19, No.4, pp.306-315, 2010
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１の技術によると、仮想フォルダの定義をユーザが行わなければならず、その作業がユーザの負担となってしまう。また、ファイルをどのような基準で分類するかをユーザが検討しなければならない。この作業を行うためには、ファイルサーバ内にどのようなファイルが存在するか知っておく必要があり、さらにどのような観点で分類すべきかをユーザが判断しなければならない。一般にファイルサーバ全体の内容を把握し、適切に分類を行う作業には困難が伴う。
【０００８】
本発明はこのような状況に鑑みてなされたものであり、ファイルサーバに格納されたファイルに対して、精度良く、かつユーザにとって使い易いように、自動的に仮想分類を行うための技術を提供する。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明のファイル管理装置は、ファイルを仮想分類するための仮想フォルダを生成する装置である。当該装置は、ファイルのメタデータを構成する文字列や検索ログにおける検索クエリなどからキーワードを抽出し、記憶装置に登録する。また、当該装置は仮想フォルダを生成する際に用いるメタデータ群及び検索クエリ群において、出現頻度が多いキーワードを基に、仮想フォルダに格納されるファイルの条件を自動的に決定する。
【００１０】
即ち、本発明によるファイル管理装置は、複数の物理ファイルを分類するための仮想フォルダを生成するプログラムを実行するプロセッサと、複数の物理ファイルのメタデータを管理するためのメタデータ管理情報を格納する記憶装置と、を有している。ここで、仮想フォルダは、複数の物理ファイル或いはそれらを格納する複数の物理フォルダが存在する場所とは無関係に、複数の物理ファイル及び物理フォルダのリンク情報を管理するための仮想的なフォルダである。
【００１１】
そして、プロセッサは、まず、メタデータ管理情報の複数のファイルのメタデータを構成する文字列から複数のキーワードを抽出し、当該抽出した各キーワードの出現頻度の情報を取得する。また、プロセッサは、検索ログデータに含まれる複数の検索クエリを構成する文字列から複数のキーワードを抽出し、当該抽出した各キーワードの出現頻度の情報を取得する。また、プロセッサは、出現頻度が所定値以上のキーワードを用いて規定数分の仮想上位フォルダを生成する。さらに、プロセッサは、仮想上位フォルダに対して用いたキーワードを含む別のキーワード、あるいは仮想上位フォルダに対して用いたキーワードと同時に検索したキーワード、あるいはメタデータを構成する文字列において、仮想上位フォルダに対して用いたキーワードと同時に使用されるキーワードを用いて、仮想上位フォルダに関連付けられる仮想下位フォルダを生成する。そして、プロセッサは、生成した仮想上位フォルダと仮想下位フォルダフォルダとの関係、及び仮想上位フォルダ及び仮想下位フォルダの内容を表示する仮想分類表示を出力する。
【発明の効果】
【００１２】
本発明によれば、ファイルサーバに格納されたファイル群を検索するための仮想フォルダを、精度よく、かつユーザにとって使い易いように、自動的に作成することができる。これにより、ユーザはファイルサーバ内に格納されているファイルの内容に関する知識が乏しくても、少ない作業工数で仮想フォルダを構築することが可能となる。頻出キーワード、検索キーワード、共起キーワードをもとに仮想フォルダを生成するため、よりユーザにとって利便性が高い仮想フォルダが生成される。
【００１３】
本発明に関連する更なる特徴（課題、構成、効果）は、本明細書の記述、添付図面から明らかになるものである。また、本発明の態様は、要素及び多様な要素の組み合わせ及び以降の詳細な記述と添付される特許請求の範囲の様態により達成され実現される。
【００１４】
本明細書の記述は典型的な例示に過ぎず、本発明の特許請求の範囲又は適用例を如何なる意味に於いても限定するものではないことを理解する必要がある。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態に係るシステム（ファイル管理装置）の概略構成を示す図である。
【図２】メタデータファイルの一例を示す図である。
【図３】検索ログデータの一例を示す図である。
【図４】仮想フォルダデータの一例を示す図である。
【図５】抽出キーワードデータの一例を示す図である。
【図６】検索キーワード管理データの一例を示す図である。
【図７】共起キーワードデータの一例を示す図である。
【図８】仮想上位フォルダデータの一例を示す図である。
【図９】仮想下位フォルダデータの一例を示す図である。
【図１０】キーワード登録処理を説明するためのフローチャートである。
【図１１】抽出キーワード登録処理を説明するためのフローチャートである。
【図１２】検索キーワード登録処理を説明するためのフローチャートである。
【図１３】共起キーワード登録処理を説明するためのフローチャートである。
【図１４】仮想フォルダ生成処理の全体を説明するためのフローチャートである。
【図１５】仮想フォルダ生成処理の一部を説明するためのフローチャートである。
【図１６】抽出キーワード登録処理で使用するデータの一例を示す図である。
【図１７】仮想分類画面の一例を示す図である。
【発明を実施するための形態】
【００１６】
以下、添付図面を参照して本発明の実施形態について説明する。ただし、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。また、各図において共通の構成については同一の参照番号が付されている。
【００１７】
なお、以後の説明では表（テーブル）形式によって本発明の情報を説明するが、これら情報は必ずしも表形式によるデータ構造で表現されていなくても良く、リスト、ＤＢ、キュー等のデータ構造やそれ以外で表現されていても良い。そのため、データ構造に依存しないことを示すために「テーブル」、「リスト」、「ＤＢ」、「キュー」等について単に「情報」と呼ぶことがある。
【００１８】
また、各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ＩＤ」という表現を用いることが可能であり、これらについてはお互いに置換が可能である。
【００１９】
以後の説明では「プログラム」を主語として説明を行うが、プログラムはプロセッサによって実行されることで定められた処理をメモリ及び通信ポート（通信制御装置）を用いながら行うため、プロセッサを主語とした説明としてもよい。また、プログラムを主語として開示された処理は管理サーバ等の計算機、情報処理装置が行う処理としてもよい。プログラムの一部または全ては専用ハードウェアで実現してもよく、また、モジュール化されていても良い。各種プログラムはプログラム配布サーバや記憶メディアによって各計算機にインストールされてもよい。
【００２０】
＜仮想分類装置の構成＞
図１は、本発明の実施形態による仮想分類装置（ファイル管理装置や文書処理装置ということもできる）の概略構成を示す機能ブロック図である。この仮想分類装置は、必要な演算処理及び制御処理等を行う中央処理装置（プロセッサ）１００と、データの入出力を行うための入出力装置１１０と、中央処理装置１００での処理に必要なプログラムを格納するプログラムメモリ１２０と、中央処理装置１００での処理後のデータを格納する記憶装置１３０と、中央処理装置１００での処理対象となるデータを格納するデータメモリ１４０と、を有している。
【００２１】
入出力装置１１０は、データを表示するための表示装置１１１やプリンタ（図示せず）等で構成される出力デバイスと、表示されたデータに対してメニューを選択するなどの操作を行うためのキーボード１１２、マウスなどのポインティングデバイス１１３と、を有している。
【００２２】
プログラムメモリ１２０は、メタデータの検索を行う検索プログラム１２１と、メタデータ及び検索ログからキーワードを抽出するキーワード登録プログラム１２２と、キーワードを基に仮想フォルダを生成する仮想フォルダ生成プログラム１２３と、仮想フォルダを画面表示し、各仮想フォルダに格納されたファイルの内容の表示を行う仮想分類プログラム１２４と、を格納している。なお、各処理プログラムは、プログラムコードとしてプログラムメモリ１２０に格納されており、中央処理装置１００が各プログラムコードを実行することによって各処理が実現される。
【００２３】
記憶装置１３０は、各ファイルのメタデータファイル１３１と、検索クエリのログが格納される検索ログデータ１３２と、キーワードを基に生成される仮想フォルダの定義情報が格納される仮想フォルダデータ１３３と、を格納している。なお、記憶装置１３０は、ネットワークを介して遠隔的に配置されていているストレージシステムであってもよい。
【００２４】
データメモリ１４０は、抽出キーワードデータ１４１と、検索キーワード管理データ１４２と、共起キーワードデータ１４３と、仮想上位フォルダデータ１４４と、仮想下位フォルダデータ１４５と、を格納している。これらのデータの詳細については後述する。
【００２５】
以上に述べた処理プログラム・データ・各プログラム等は、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＭＯ、フロッピー（登録商標）ディスク、ＵＳＢメモリ等の種々の記録媒体に格納して提供することもできる。
【００２６】
＜メタデータ＞
図２は、記憶装置１３０内のメタデータファイル１３１の一例を示す図である。本発明の実施形態では、メタデータファイル１３１に登録された各ファイル（ファイル００１、００２、００３、・・・・）は、メタデータ２０２と共にメタデータファイル１３１内で管理されるものとする。従って、メタデータ２０２が未登録のファイルはここには登録されていないものとする。
【００２７】
メタデータファイル１３１は例えば表形式で管理され、１つのファイルが１行に対応している。メタデータファイル１３１は、ファイルを一意に示すＩＤ２０１と、ファイルに登録されたメタデータ２０２と、を構成項目として有している。
【００２８】
メタデータ２０２は、本システムで管理する属性毎に列を構成している。図２には、例えば、紙の営業文書をスキャナでスキャンして得られたファイルのメタデータが示されている。図２の例では、属性として、ファイルのファイルパス２０３、文書種別２０４、顧客名２０５等がある。なお、メタデータは図２で示したもの以外にも、様々なパターンが考えられる。例えば、ファイルのアクセス日、最終更新日など日付に関するメタデータや、ファイルの作成者、更新者などの人に関するメタデータも考えられる。
【００２９】
＜検索ログデータ＞
図３は、記憶装置１３０内の検索ログデータ１３２の一例を示す図である。検索ログデータ１３２は、ユーザから入力された検索クエリとその日時３０３が記載されたデータである。検索クエリは、複数のデータを保持する。図３は、二種類のデータ（検索クエリＡ３０１、検索クエリＢ３０２）を保持している場合の例を示す。これはユーザが検索クエリＡ３０１と検索クエリＢ３０２でＡＮＤ検索を行ったログであることを示す。図３の例において、一行目のデータは、「契約書」と「文書管理システム」がＡＮＤ検索されたログであることを示す。検索クエリＢ３０２が空欄の場合は、検索クエリＡ３０１のみで検索を行ったログであることを示す。
【００３０】
なお、本実施形態では、検索ログデータ１３２が２つの検索クエリで構成される場合で説明するが、検索クエリの数は１つ或いは３つ以上であっても構わない。
【００３１】
また、検索ログデータ１３２は、例えば、属性ごとに複数の登録情報ファイルを有している。従って、例えば、文書種別と顧客名を使った検索の場合、それぞれ属性ごと（文書種別と顧客名）に別々に重複して登録されるようにしても良い。
【００３２】
＜仮想フォルダデータ＞
図４は、記憶装置１３０内の仮想フォルダデータ１３３の一例を示す図である。この仮想フォルダデータは最終的に生成された仮想フォルダの情報を示している。
【００３３】
仮想フォルダデータ１３３は属性単位で作成され、後述の仮想フォルダ生成プログラムによって生成される仮想フォルダの定義が記載されたデータである。ここで、仮想フォルダとは、実際にファイルやフォルダ（物理ファイル及び物理フォルダ）が存在する場所とは無関係に、条件に合致するファイルやフォルダを格納するフォルダをいう。また、仮想フォルダは、ファイルやフォルダの本体を格納しているのではなく、１つ又は複数のショートカットを格納することになる。そして、物理ファイル・フォルダが変更・新規作成・削除された場合、その結果が仮想フォルダに反映されて仮想フォルダの内容が変化する。なお、仮想フォルダは、単なるショートカットやエイリアスとは異なる概念である。より具体的には、ファイルのショートカットはフォルダではないので、複数のファイルをまとめることはできないし、フォルダのショートカットは、物理フォルダを別の場所から参照できるようにしているだけである。また、エイリアスは、ショートカットとほぼ同義だが、別名で別の場所から参照できるようにする技術である。ショートカット及びエイリアスはいずれも条件に合致するファイル（フォルダ）を格納するものではない。
【００３４】
図４は、属性が文書種別であり、仮想上位フォルダ４０１と仮想下位フォルダ４０２の２階層の仮想フォルダが記載された例を示している。
【００３５】
仮想上位フォルダ４０１は、仮想下位フォルダ４０２の内容を包括する単一のキーワードで定義される。仮想上位フォルダ４０１に付与された文字列は検索条件を表す。より具体的には、メタデータファイルにおける対象の属性において、仮想上位フォルダに付与された文字列を含むファイルが検索対象となる。例えば、図４の１つ目のデータでは、文書種別に「契約」という文字列を含むファイルが検索対象となる。
【００３６】
仮想下位フォルダ４０２は、仮想上位フォルダ４０１の内容を、より詳細化したキーワードで定義され、以下の３パターンがある。
【００３７】
１つは、仮想上位フォルダ４０１のキーワードを含む文字列で構成される場合である。例えば、仮想上位フォルダ４０１が「契約」、仮想下位フォルダ４０２が「契約書」となるような場合である。この場合、文書種別に「契約書」という文字列を含むファイルが検索対象となる。
【００３８】
２つ目は、仮想上位フォルダ４０１のキーワードが、検索ログデータ１３２における検索クエリＡ３０１である場合である。例えば、仮想上位フォルダ４０１が「契約」、仮想下位フォルダ４０２が「契約，  法務」となるような場合である。この場合、文書種別に「契約」と「法務」を共に含むファイルが検索対象となる。つまり、上位仮想フォルダの文言（例：契約）とペアで検索に用いられることが多い文言（例：法務）を共に含むファイルの場合である。
【００３９】
３つ目は、２つ目の場合と同様に、２つのキーワードで構成される。一方のキーワードは仮想上位フォルダ４０１のキーワードである。もう一方のキーワードは、メタデータファイル１３１におけるメタデータにおいて、仮想上位フォルダ４０１のキーワードと同時に出現する別のキーワードである場合である。例えば、メタデータが「基本契約書作成依頼（製品ＡＢＣ）」の場合に、仮想下位フォルダ４０２が「契約，  製品ＡＢＣ」となるような場合である。この場合、文書種別に「契約」と「製品ＡＢＣ」を共に含むファイルが検索対象となる。このパターンは、検索に関係なく、共に出現し易い文言のペアを含むファイルの場合である。
【００４０】
なお、仮想フォルダデータ１３３は、仮想分類処理実行の指示が入力されてから生成するようにしても良いし、所定数のファイルが蓄積された時点で自動的に生成したり、所定時間間隔で溜まったファイルに対して自動的に生成するようにしても良い。また、仮想フォルダデータ１３３を生成する際に、ユーザがフォルダ生成に用いるキーワードを指定するようにしても良い。
【００４１】
＜抽出キーワードデータ＞
図５は、データメモリ１４０内の抽出キーワードデータ１４１の一例を示す図である。抽出キーワードデータ１４１は、メタデータファイル１３１における文字列情報（例えば、ファイルパス２０３、文書種別２０４、顧客名２０５等）を基に、特徴的な単語（抽出キーワード）５０１と、その頻度５０２が記載されたデータである。頻度５０２は、記憶装置１３０におけるメタデータファイル１３１において、当該キーワードを含むファイルの件数を表している。図５の例では、メタデータファイル１３１に登録されているファイルには、「検収」というキーワードを含むファイルが２９２件存在することを表している。
【００４２】
抽出キーワードデータ１４１は、例えば、属性ごとに複数の登録情報ファイルを有している。なお、このような抽出キーワードデータ１４１は、非特許文献１に記載された方法によって生成することができるため、その生成方法についての説明は省略する。
【００４３】
＜検索キーワード管理データ＞
図６は、データメモリ１４０内の検索キーワード管理データ１４２の一例を示す図である。検索キーワード管理データ１４２は、記憶装置１３０における検索ログデータ１３２をもとに生成されるデータである。検索クエリＡ６０１及び検索クエリＢ６０２は、検索ログデータ１３２の検索クエリＡ３０１及び検索クエリＢ３０２の組み合わせを表す。組み合わせを表すため、検索クエリＡ３０１と検索クエリＢ３０２の文字列が入れ替わっていた場合も同一データとなる。この際、文字コードでソートされ、検索クエリＡ６０１と検索クエリＢ６０２の順番は統一される。例えば、検索クエリＡ３０１と検索クエリＢ３０２が、「契約，  書類」の場合と、「書類，  契約」の場合は、検索クエリＡ６０１と検索クエリＢ６０２は、「契約，  書類」のように統一される。出現頻度６０３は、検索ログデータ１３２において、検索クエリＡ３０１と検索クエリＢ３０２の組み合わせが出現した件数を表す。検索クエリＡ３０１とＢ３０２のいずれか一方が空欄の場合は、検索クエリＢ６０２は空欄となる。
【００４４】
なお、検索キーワード管理データ１４２は、例えば、属性ごとに複数の登録情報ファイルを有している。また、検索キーワード管理データ１４２は、所定期間内の検索ログから得られる上記情報を管理するようにしても良い。
【００４５】
＜共起キーワードデータ＞
図７は、データメモリ１４０内の共起キーワードデータ１４３の一例を示す図である。共起キーワードデータ１４３は、データメモリ１４０内の抽出キーワードデータ１４１から得られる抽出キーワード７０１と、記憶装置１３０内のメタデータファイル１３１において、抽出キーワード７０１の文字列と共に出現する別のキーワードである共起キーワード７０２と、抽出キーワード７０１と共起キーワード７０２の組み合わせの頻度７０３が記載されたデータである。頻度７０３は、メタデータファイル１３１において、当該キーワードの組み合わせを含むファイルの件数を表している。図７の例では、メタデータファイル１３１に登録されているファイルには、「納品書」というキーワードと、「検収」というキーワードを共に含むファイルが８０件存在することを表している。別の例を挙げると、図２における文書０１１や文書００８の文書種別２０４は、「納品書兼検収依頼書」や「契約書等審査票」となっている。このように独立した文言（キーワード）が「兼」や「等」、さらには「／」「＋」等の記号によって区切られている場合、この独立したキーワードは同一メタデータ内に一緒に出現する可能性が高く、共起キーワードとなる。
【００４６】
なお、共起キーワードデータ１４３は、例えば、属性ごとに複数の登録情報ファイルを有している。また、共起キーワードデータ１４３は、非特許文献１に記載された方法によって生成することができるため、その生成方法についての説明は省略する。
【００４７】
＜仮想上位フォルダデータ＞
図８は、データメモリ１４０内の仮想上位フォルダデータ１４４の一例を示す図である。仮想上位フォルダデータ１４４は、仮想上位フォルダの検索条件となる文字列の候補であり、検索キーワード管理データ１４２から抽出されたキーワード８０１と、抽出キーワードデータ１４１において、当該キーワードの頻度を表す抽出キーワード頻度８０２と、検索キーワード管理データ１４２において、当該キーワードの頻度を表す検索頻度８０３と、抽出キーワード頻度８０２及び検索頻度８０３に基づいて算出されるスコア８０４が記載されたデータである。スコア８０４は、当該キーワードの仮想上位フォルダとしての適合の度合いを表している。仮想フォルダ生成プログラム１２３は、スコア８０４に基づいて仮想上位フォルダを決定する。
【００４８】
なお、仮想上位フォルダデータ１４４は、例えば、属性ごとに複数の登録情報ファイルを有している。
【００４９】
＜仮想下位フォルダデータ＞
図９は、データメモリ１４０内の仮想下位フォルダデータ１４５の一例を示す図である。仮想下位フォルダデータ１４５は、仮想下位フォルダの検索条件の文字列の組み合わせとなる、キーワードＡ９０１及びキーワードＢ９０２と、抽出キーワードデータ１４１において、当該キーワードの件数を表す抽出キーワード頻度９０３と、検索キーワード管理データ１４２において、当該キーワードの組み合わせを含むデータの件数を表す検索頻度９０４と、共起キーワードデータ１４３において、当該キーワードの組み合わせを含むデータの件数を表す共起頻度９０５と、抽出キーワード頻度９０３及び検索頻度９０４及び共起頻度９０５に基づいて算出されるスコア９０６が記載されたデータである。
【００５０】
キーワードＡ９０１には、仮想上位フォルダに含まれるキーワード（例：契約）が記入されている。キーワードＢ９０２には、キーワードＡ９０１に対して共起キーワードとなるキーワードが記入されている。キーワードＢ９０２に「−」が記入される場合は、共起キーワードが存在しないときである。
【００５１】
スコア９０６は、当該キーワードの組み合わせの仮想下位フォルダとしての適合の度合いを表している。仮想フォルダ生成プログラム１２３は、スコア９０６に基づいて仮想下位フォルダを決定する。
【００５２】
なお、仮想下位フォルダデータ１４５は、例えば、属性ごとに複数の登録情報ファイルを有している。
【００５３】
＜仮想分類画面＞
図１７は、仮想分類プログラム１２４が生成する仮想分類の表示画面（ＧＵＩ）の一例を示す図である。図１７に示されるように、ＧＵＩのウインドウでは、左側のペインに、ファイルを検索するための検索機能１７０１と、仮想フォルダによるツリー表示１７０２が表示され、右側のペインに、検索機能、あるいは仮想フォルダを選択されることによって、該当するファイルの検索結果１７０３が表示される。
【００５４】
検索プログラム１２１は、検索結果を表示する際、記憶装置１３０におけるメタデータファイル１３１を使用する。
【００５５】
仮想分類プログラム１２４は、仮想フォルダをＧＵＩ画面に表示する際、記憶装置１３０における仮想フォルダデータ１３３を使用する。また、仮想分類プログラム１２４は、仮想フォルダが選択されると、検索プログラム１２１を実行する。すなわち、仮想フォルダに付与された文字列で検索プログラムを実行するのと同一の処理を行う。検索プログラムは、記憶装置１３０におけるメタデータファイル１３１から、検索クエリの文字列を含むファイルを検索結果１７０３に表示する。検索クエリが２つの場合には、２つの文字列を共に含むファイルが検索結果として表示される。本実施形態では、検索クエリが３つ以上の場合については、詳細な説明はしないが、検索クエリが２つの場合と同様に処理可能である。
【００５６】
更新ボタン１７０７が押下されると、キーワード登録プログラム１２２、仮想フォルダ生成プログラム１２３、仮想分類プログラム１２４が順に実行され、表示画面（ＧＵＩ）が更新される。
【００５７】
検索機能部分には、検索対象の属性を選択するためのプルダウン１７０４、検索クエリを入力するテキストボックス１７０５、検索処理を実行するための検索実行ボタン１７０６がある。仮想分類表示部分には、仮想上位フォルダ１７０８と仮想下位フォルダ１７０９が表示される。
【００５８】
仮想フォルダによるツリー表示１７０２は、記憶装置１３０における仮想フォルダデータが定義されている場合のみ表示される。定義されていない場合には表示されない。
【００５９】
検索プログラム１２１によって実行された検索クエリは、記憶装置１３０における検索ログデータに記憶される。
【００６０】
検索の方法には大きく２つある。属性をプロダウン１７０４によって選択し、キーワード１７０５を入力して該当文書を検索する方法と、属性をプルダウン１７０４によって選択し、表示される仮想分類１７０２から１つの仮想フォルダを選択して該当文書を検索する方法である。前者の方法は仮想フォルダとは無関係であり、その場合、仮想分類１７０２のツリー表示では、どのフォルダも開かれていない状態となっている。
【００６１】
図１７では、属性「文書種別」が選択され、また、仮想上位フォルダ「契約」の子フォルダ「契約，  製品ＡＢＣ」が選択された状態が示されている。検索結果１７０３には、属性「文書種別」において、「契約」と「製品ＡＢＣ」を共に含むファイルが表示されている。また、ファイル名１７１１、文書種別１７１２、取引先名１７１３などの属性のメタデータが表示されている。また、仮想上位フォルダ１７０８が選択されると、検索結果１７０３には、仮想上位フォルダの文字列を含むファイルが表示される。検索結果１７０３において、ユーザによってファイルが選択されると、オペレーティングシステムによって関連付けられたアプリケーションが起動し、当該ファイルが開かれる。
【００６２】
仮想分類処理によって、例えば図１７に示すようなるユーザインターフェース（ＧＵＩ）を表示し、ユーザはそれを用いることにより、物理的に異なるフォルダに格納されたファイルを、仮想フォルダ毎に参照することが可能となる。そして、ユーザは、ファイルの実体が保存された物理フォルダを考慮せずとも、意味的な分類によってファイルを参照できる。また、ユーザは、ＧＵＩ上で属性を選択することも可能であり、属性毎に異なる仮想フォルダツリーが構成され、探したい観点でファイルの検索が可能となる。
【００６３】
＜文書処理装置における処理概要＞
上述の構成を有する文書処理装置において行われる処理（図１７のＧＵＩ上での操作に対応する処理）の概要についてまず説明する。この際の動作主体は、特に断らない限りは中央処理装置１００であり、中央処理装置１００が各種プログラムを読み込み、実行する。
【００６４】
まず、仮想分類プログラム１２４が実行される。仮想分類プログラム１２４は、記憶装置１３０からメタデータファイル１３１と仮想フォルダデータ１３３を読み込み、仮想フォルダデータ１３３に記載された仮想フォルダの定義に基づいて仮想フォルダ（図１７参照）を表示する。
【００６５】
次に、仮想分類プログラム１２４は、ユーザからの入力を受け付け、検索処理または、仮想フォルダが選択されると、メタデータファイル１３１から該当するファイルを検索し、検索結果１７０３に表示する。この際、使用された検索クエリは、記憶装置１３０における検索ログデータ１３２として保存する。
【００６６】
更新ボタン１７０７が押下されると、キーワード登録プログラム１２２、仮想フォルダ生成プログラム１２３、仮想分類プログラム１２４が順に実行される。
【００６７】
キーワード登録プログラム１２２は、記憶装置１３０におけるメタデータファイル１３１と検索ログデータ１３２を読み込み、メタデータファイルから特徴的な単語（キーワード）を抽出し、抽出キーワードデータ１４１としてデータメモリ１４０に格納する。また、使用された検索クエリの統計情報を検索キーワード管理データ１４２としてデータメモリ１４０に格納する。また、メタデータファイル１３１において、抽出キーワードデータ１４１に登録されているキーワードと共に使用されている別のキーワードの統計情報を、共起キーワードデータ１４３としてデータメモリ１４０に格納する。
【００６８】
仮想フォルダ生成プログラム１２３は、データメモリ１４０から、抽出キーワードデータ１４１、検索キーワード管理データ１４２、共起キーワードデータ１４３を読み込み、これらのキーワードの特徴に基づいて仮想フォルダの定義情報を生成し、記憶装置１３０に仮想フォルダデータ１３３として格納する。この際、仮想上位フォルダの候補となるキーワードが格納されたデータを仮想上位フォルダデータ１４４としてデータメモリ１４０に格納する。また、仮想下位フォルダの候補となるキーワードが格納されたデータを仮想下位フォルダデータ１４５としてデータメモリ１４０に格納する。
【００６９】
仮想分類プログラム１２４は、記憶装置１３０からメタデータファイル１３１と仮想フォルダデータ１３３を読みこみ、仮想フォルダデータ１３３に記載された仮想フォルダの定義に基づいて仮想フォルダを表示する。そして、仮想分類プログラム１２４は、ユーザからの入力を受け付け、仮想フォルダが選択されると、メタデータファイル１３１から仮想フォルダに格納されるファイルを検索し、該当するファイルを表示する。それぞれの処理について、以下詳細に説明する。
【００７０】
＜キーワード登録処理＞
図１０は、キーワード登録プログラム１２２が実行するキーワード登録処理を説明するためのフローチャートである。ここでは、動作主体がキーワード登録プログラム１２２であるとして説明する。
【００７１】
ステップ１００１において、キーワード登録プログラム１２２は、仮想フォルダ生成対象の属性を１つ選択する。以降、属性として「文書種別」を選択した場合で説明する。なお、仮想フォルダを生成しなくてもよい属性は読み込む必要はない。
【００７２】
ステップ１００２において、キーワード登録プログラム１２２は、後述する抽出キーワード登録処理を行い、抽出キーワードデータ１４１を生成する。
【００７３】
ステップ１００３において、キーワード登録プログラム１２２は、後述する検索キーワード登録処理を行い、検索キーワード管理データ１４２を生成する。
【００７４】
ステップ１００４において、キーワード登録プログラム１２２は、後述する共起キーワード登録処理を行い、共起キーワードデータ１４３を生成する。
【００７５】
ステップ１００５において、キーワード登録プログラム１２２は、仮想フォルダ生成対象の属性すべてについて処理を行ったか否かを判定し、まだ処理していない属性があればステップ１００２に戻り、すべて処理済であれば処理を終了する。
【００７６】
＜抽出キーワード登録処理＞
図１１は、キーワード登録プログラムが実行する、抽出キーワード登録処理を説明するためのフローチャートである。ここでは、動作主体がキーワード登録プログラム１２２であるとして説明する。
【００７７】
ステップ１１０１において、キーワード登録プログラム１２２は、記憶装置１３０からメタデータファイル１３１（ステップ１００１で選択された属性のメタデータ）を全て読み込む。
【００７８】
ステップ１１０２において、キーワード登録プログラム１２２は、読み込んだメタデータファイルからファイルを１つ選択しメタデータを読み込む。例えば、属性「文書種別」の値が「検収通知書１」であるデータを読み込んだ場合を考える。
【００７９】
ステップ１１０３において、キーワード登録プログラム１２２は、ステップ１１０２で読み込んだデータに対して形態素解析を行う。形態素解析の詳細については非特許文献１に開示されている。図１６Ａは、「検収通知書１」に対して形態素解析を行った結果を表す。「検収通知書１」は、「検収」、「通知」、「書」、「１」の４つの文字列に分割される。また、品詞の行には、それぞれの文字列が、名詞または未知語であることと、付属的な内容が記載されている。未知語とは、形態素解析の結果、品詞が不明と判定された文字列である。形態素解析は、内部で使用している辞書を元にして、入力文字列の品詞を判定しているため、辞書に登録されていない文字列は未知語として判定される。具体的には、製品名や個人名などの固有名詞が未知語となり得る。また、形態素解析は日本語の解析に利用されるため、英数字や記号などが辞書登録されていない場合がある。前述した例では、「１」が未知語と判定された場合を示した。
【００８０】
ステップ１１０４において、キーワード登録プログラム１２２は、ステップ１１０３の形態素解析の結果をもとに、名詞または未知語が１つ以上連続した文字列を抽出し、この文字列を抽出キーワードとする。このような品詞パターンの文字列をキーワードとして抽出する手法は一般によく用いられている。抽出されたキーワードをさらに詳細に分析し、よりキーワードの抽出精度を高める技術も多数提案されている。
【００８１】
ステップ１１０５において、キーワード登録プログラム１２２は、予め定義されたルールに従って、抽出キーワードのフィルタリングを行う。仮想フォルダ生成プログラム１２３による仮想フォルダ生成処理では、抽出されたキーワードを基に仮想フォルダの生成が行われるため、仮想フォルダとして不適であるキーワードが含まれると、不適当な仮想フォルダが生成してしまう可能性がある。このため、仮想フォルダとして不適と考えられるキーワードをこの処理で除外する。例えば「検収通知書１」というキーワードから仮想フォルダを定義する場合、ユーザにとっての分類のわかりやすさの観点から、数字は除外した方が望ましいと考えられる。なお、フィルタリングを実現するには、予め除外すべき文字や特殊な名詞を辞書やＤＢに登録しておき、それを参照して除外すべき文字か否か判断する。除外すべき文字としては、米印、矢印等の記号や、数字である（ただし、数字はキーワードとして必要な場合もあるため、常に除外対象とするのは不適である。従って、最終的にユーザに除外するか否かについて確認するようにしても良い）。図１６Ｃは、図１６Ｂにおけるキーワードから数字を含むキーワードを除外した例を示している。また、名詞の中で特殊なパターンも除外すべきである。例えば、代名詞、ナイ形容詞語幹、一部の接尾辞などである。ナイ形容詞語幹とは、「申し訳」、「大人げ」などの「〜ない」の形をとる名詞である。また、除外すべき名詞接尾辞としては、例えば、「〜君」、「〜さん」などの人名に続く敬称や、「休みがち」の「がち」や、「勝ったも同然」の「同然」などの形容動詞語幹などがある。
【００８２】
ステップ１１０６において、キーワード登録プログラム１２２は、データメモリにおける抽出キーワードデータ１４１を更新する。すなわち、キーワード登録プログラム１２２は、ステップ１１０２からステップ１１０５の過程で取得した抽出キーワードを登録する。抽出キーワードデータ１４１に、すでに登録されている抽出キーワードがあった場合は、頻度を１加算する。抽出キーワードデータ１４１に、まだ登録されていない抽出キーワードであった場合は、その抽出キーワードを頻度１として登録する。
【００８３】
ステップ１１０７において、キーワード登録プログラム１２２は、全メタデータに対してステップ１１０２からステップ１１０６までの処理を行ったか否かを判定し、まだ行っていないメタデータがある場合にはステップ１１０２に戻り、すべてのメタデータが処理済の場合は処理を終了する。
【００８４】
＜検索キーワード登録処理＞
図１２は、キーワード登録プログラムが実行する、検索キーワード登録処理を説明するためのフローチャートである。ここでは、動作主体がキーワード登録プログラム１２２であるとして説明する。
【００８５】
ステップ１２０１において、キーワード登録プログラム１２２は、ステップ１００１で選択された属性について、記憶装置１３０から検索ログデータ１３２を読み込む。
【００８６】
ステップ１２０２において、キーワード登録プログラム１２２は、読み込んだ検索ログデータ１３２からデータを１つ選択する。例えば、検索クエリＡが「契約書」、検索クエリＢが「文書管理システム」、日時が「２００９／０１／２２  ２３：１２：０５」の場合が考えられる。
【００８７】
ステップ１２０３において、キーワード登録プログラム１２２は、読み込んだデータをもとに、データメモリ１４０内の検索キーワード管理データ１４２を更新する。具体的には、読み込んだデータにおける検索クエリＡと検索クエリＢの組み合わせが、検索キーワード管理データ１４２内に含まれていれば、検索キーワード管理データ１４２における該当データの頻度を１だけ加算する。含まれていなければ、読み込んだデータのエントリを追加し、頻度を１として登録する。
【００８８】
ステップ１２０４において、キーワード登録プログラム１２２は、検索ログデータ１３２内の全データを処理したか否かを判定する。全データを処理していなければステップ１２０２に戻り、全データを処理済であれば処理を終了する。
【００８９】
＜共起キーワード登録処理＞
図１３は、キーワード登録プログラムが実行する、共起キーワード登録処理を説明するためのフローチャートである。ここでは、動作主体がキーワード登録プログラム１２２であるとして説明する。
【００９０】
ステップ１３０１において、キーワード登録プログラム１２２は、ステップ１００１で選択された属性について、記憶装置１３０からメタデータファイル１３１をすべて読み込み、また、データメモリ１４０から抽出キーワードデータ１４１を読み込む。
【００９１】
ステップ１３０２において、キーワード登録プログラム１２２は、読み込んだ抽出キーワードデータの中から、抽出キーワードをひとつ読み込む。ここでは、例えば、抽出キーワードを「契約書」として説明する。
【００９２】
ステップ１３０３において、キーワード登録プログラム１２２は、メタデータファイル１３１からメタデータを１つ読み込む。例えば、メタデータを「契約書（検索システム）」として説明する。
【００９３】
ステップ１３０４において、キーワード登録プログラム１２２は、抽出キーワードが、メタデータ内に含まれているか否かを判定する。含まれていない場合はステップ１３０８に進む。含まれている場合はステップ１３０５に進む。抽出キーワード「契約書」、メタデータ「契約書（検索システム）」の場合は、メタデータ内に、「契約書」という文字列が含まれるためステップ１３０５に進む。
【００９４】
ステップ１３０５において、キーワード登録プログラム１２２は、メタデータを形態素解析する。上記の例の場合には、「契約」「書」「（」「検索」「システム」「）」のように分解され、それぞれについて品詞情報が付与される。
【００９５】
ステップ１３０６において、キーワード登録プログラム１２２は、形態素解析後の各単語を基に、ステップ１３０２で選択された抽出キーワードを含まず、かつ含まれず、かつ隣接していないキーワードを抽出する。キーワードの抽出方法は、前述した抽出キーワード登録処理におけるキーワード抽出方法と同様であり、名詞または未知語が連続した文字列をキーワードとみなす。上記の例の場合には、「契約書」を含まず、かつ「契約書」に含まれず、かつ「契約書」と隣接していないキーワードは、「検索」「システム」「検索システム」の３パターンが考えられる。他の例として、抽出キーワード「契約書」、メタデータ「基本契約書」の場合がある。この場合、形態素解析の結果、「基本契約書」は、「基本」「契約」「書」のように分解される。抽出キーワード「契約書」を含まないキーワードとして、「基本」「契約」「書」がある。この中で、「契約」と「書」は「契約書」に含まれるため不適である。また、「基本」は「契約書」と隣接したキーワードであるため不適である。さらに、他の例として、抽出キーワード「納品書」、メタデータ「納品書兼検収依頼書」の場合、「納品書兼検収依頼書」は、形態素解析の結果、「納品」「書」「兼」「検収」「依頼」「書」のように分解される。この中で、「納品書」と「検収依頼書」では、「検収依頼書」が「納品書」の文言を含まず、２つが「兼」で区切られているため、共起キーワードとして適していると判断される。
【００９６】
ステップ１３０７において、キーワード登録プログラム１２２は、データメモリ１４０における共起キーワードデータ１４３を更新する。具体的には、ステップ１３０２で選択した抽出キーワードと、ステップ１３０６で抽出したキーワードの組み合わせを登録する。上記例の場合には、３パターンのデータを登録する。１つは、「契約書」と「検索」、２つ目は、「契約書」と「システム」、３つ目は、「契約書」と「検索システム」である。これらのデータが、共起キーワードデータ１４３内に含まれていれば、共起キーワードデータ１４３における該当データの頻度を１だけ加算して登録する。含まれていなければ、そのデータのエントリを新たに追加し、頻度を１として登録する。
【００９７】
ステップ１３０８において、キーワード登録プログラム１２２は、全メタデータに対して処理を行ったか否かを判定する。全メタデータを処理していなければ、ステップ１３０３に戻り、全メタデータを処理済であればステップ１３０９に進む。
【００９８】
ステップ１３０９において、キーワード登録プログラム１２２は、全抽出キーワードを処理したか否かを判定する。全抽出キーワードを処理していなければ、ステップ１３０２に戻り、全抽出キーワードを処理済であれば処理を終了する。
【００９９】
＜仮想フォルダ生成処理＞
図１４は、仮想フォルダ生成プログラム１２３が実行する仮想フォルダ生成処理を説明するためのフローチャートである。仮想フォルダ生成処理では、データメモリ１４０における抽出キーワードデータ１４１、検索キーワード管理データ１４２、共起キーワードデータ１４３を基に、仮想上位フォルダデータ１４４と仮想下位フォルダデータ１４５を生成し、さらにそのデータを基に、記憶装置１３０における仮想フォルダデータ１３３を生成する。
【０１００】
ステップ１４０１において、仮想フォルダ生成プログラム１２３は、仮想上位フォルダデータ（図８参照）を生成し、スコアの降順にソートする。具体的には、仮想フォルダ生成プログラム１２３は、まずデータメモリ１４０における抽出キーワードデータ１４１と検索キーワード管理データ１４２を読み込み、それらのデータをマージする。マージする際には、抽出キーワードデータ１４１における抽出キーワード、または検索キーワード管理データ１４２における検索クエリＡ、または検索クエリＢ、の文字列を１つのエントリとして合算して登録する。例えば、抽出キーワード「契約書」が頻度１００であり、検索クエリＡと検索クエリＢの組み合わせが、「契約書」と「Ａ社」で頻度が８０であった場合は、図８における１行目のデータのように登録する。その際のスコア８０４については後述する。なお、検索クエリＡ、検索クエリＢのいずれか一方に該当する文字列があれば、合算の対象となる。例えば、検索クエリＡと検索クエリＢの組み合わせが、「契約書」及び「Ａ社」で頻度が１００の場合と、「契約書」及び「Ｂ社」で頻度が５０のデータがあった場合には、仮想上位フォルダデータ１４４における検索頻度８０３は１５０となる。スコア８０４は、抽出キーワード頻度８０２と検索頻度８０３を重み付き加算することにより求める。図８の例では、メタデータ頻度の重みを１、検索頻度の重みを５として、加算した結果を表している。重み付け加算を行う理由は、どのようなデータから取得したかによってユーザにとっての重要の度合いが異なるためである。図８の例では、検索頻度の重みを、メタデータ頻度の５倍の重みを与えている。これは、検索に使用された文字列はユーザによって意図的に指定された文字列であるため重要度が高いと考えられるためである。全データに関してスコアの算出まで終了したら、スコアの大きい順にソートする。なお、仮想上位フォルダデータの生成は、仮想フォルダ生成対象の全属性について行う。
【０１０１】
ステップ１４０２からステップ１４０９までの処理では、仮想上位フォルダデータ１４４に基づいて仮想フォルダの検索条件となるキーワードを決定し、仮想フォルダデータ１３３として生成する。
【０１０２】
ステップ１４０２において、仮想フォルダ生成プログラム１２３は、仮想フォルダ生成対象の属性を１つ選択する。
【０１０３】
ステップ１４０３において、仮想フォルダ生成プログラム１２３は、仮想上位フォルダデータ１４４からキーワードを１つ選択する。この際、未処理のキーワードの中から頻度が最も高いキーワードを選択する。
【０１０４】
ステップ１４０５において、仮想フォルダ生成プログラム１２３は、ステップ１４０４で採用されたキーワードを仮想上位フォルダにおけるキーワードとして仮想上位フォルダデータ１４４に登録する。この際、前述したように必要に応じて登録済みの仮想上位フォルダと、その仮想下位フォルダのデータを削除する。
【０１０５】
ステップ１４０６において、仮想フォルダ生成プログラム１２３は、ステップ１４０５で登録した仮想上位フォルダのキーワードを基にして仮想下位フォルダを生成、即ち仮想下位フォルダデータ１４５を登録する。仮想下位フォルダデータの生成については後述する。
【０１０６】
ステップ１４０７において、仮想フォルダ生成プログラム１２３は、仮想上位フォルダデータにおける全キーワードを処理したか否かを判定する。処理していないキーワードがあれば処理はステップ１４０８に進み、全キーワードが処理済であれば処理はステップ１４０９に進む。
【０１０７】
ステップ１４０８において、仮想フォルダ生成プログラム１２３は、仮想上位フォルダデータ１４４における仮想上位フォルダの数が規定値に達したか否かを判定する。既定値に達していなければ処理はステップ１４０３に進み、既定値に達していれば処理はステップ１４０９に進む。
【０１０８】
ステップ１４０９において、仮想フォルダ生成プログラム１２３は、仮想フォルダ生成対象の全属性を処理したか否かを判定する。全属性を処理していなければステップ１４０２に進み、全属性を処理済であれば処理を終了する。
【０１０９】
以上のような処理によって、図４に示されるような仮想フォルダデータ１３３が生成される。
【０１１０】
＜仮想下位フォルダ生成処理＞
図１５は、仮想フォルダ生成プログラム１２３が実行する仮想下位フォルダ生成処理を説明するためのフローチャートである。仮想下位フォルダ生成処理では、仮想上位フォルダに指定されたキーワードを基に仮想下位フォルダとなるキーワードを選定する。ここでは、動作主体が仮想フォルダ生成プログラム１２３であるとして説明する。
【０１１１】
ステップ１５０１において、仮想フォルダ生成プログラム１２３は、仮想上位フォルダのキーワードを基に仮想下位フォルダデータを生成し、スコアの降順にソートする。具体的には、まずデータメモリ１４０における抽出キーワードデータ１４１と、検索キーワード管理データ１４２と、共起キーワードデータ１４３を読み込み、仮想上位フォルダデータ１４４を生成する際と同様に、それらのデータをマージする。マージする際には、抽出キーワードデータ１４１、検索キーワード管理データ１４２、共起キーワードデータ１４３における、抽出キーワード、検索クエリＡ、検索クエリＢ、共起キーワード、の文字列を１つのエントリとして合算して登録する。この際の合算には２パターンある。１つ目のパターンは、仮想下位フォルダデータ１４５において、キーワードＢがＮｕｌｌ値となる場合であり、もう１つのパターンは、キーワードＢがＮｕｌｌ値とならないパターンである。それぞれのパターンについて説明する。まず、キーワードＢがＮｕｌｌ値となる場合について説明する。この場合は、抽出キーワードデータ１４１における抽出キーワード、あるいは検索キーワード管理データ１４２における検索クエリＢがＮｕｌｌ値であるデータの検索クエリＡ内に、仮想上位フォルダのキーワードを含むデータを合算する。例えば、図９における１つ目のデータが該当する。これは、仮想上位フォルダのキーワード「契約」を含む文字列「契約書」のデータを合算した結果を表している。この場合、抽出キーワード頻度９０３が１００で、検索頻度９０４が８０となった場合を表している。キーワードＢ９０２、及び共起頻度９０５は、使用していない。また、スコア９０６は仮想下位フォルダとしての、適合の度合いを示している。スコア９０６が高いほど仮想下位フォルダとしての適合の度合いが高いことを表す。スコア９０６の算出方法については後述する。次にキーワードＢがＮｕｌｌ値とならないパターンについて説明する。この場合は、検索キーワード管理データ１４２における検索クエリＡと検索クエリＢの組み合わせのどちらかが仮想上位フォルダのキーワードであるデータと、共起キーワードデータ１４３における抽出キーワードが仮想上位フォルダのキーワードであるデータを合算する。例えば、図９における２つ目のデータが該当する。スコア９０６は、抽出キーワード頻度９０３、検索頻度９０４、共起頻度９０５を重み付き加算することにより求める。図９の例では、メタデータ頻度の重みを２、検索頻度の重みを１０、共起頻度の重みを１として、加算した結果を表している。重み付け加算を行う理由は、仮想上位フォルダ生成の際と同様である。全データに関してスコア算出まで終了したら、スコアの大きい順にソートする。
【０１１２】
ステップ１５０２からステップ１５０８までの処理では、ステップ１５０１で生成した仮想下位フォルダデータ１４５に基づいて、仮想上位フォルダの仮想下位フォルダを決定し、仮想フォルダデータ１３３として記憶装置１３０に格納する処理である。以降、仮想下位フォルダデータ１４５においてスコアが上位のデータから順に処理が行われる。
【０１１３】
ステップ１５０２において、仮想フォルダ生成プログラム１２３は、仮想下位フォルダデータ１４５内のすべてのキーワードを処理したか否かを判定する。すべてのキーワードを処理済であれば処理を終了する。未処理のキーワードが含まれていればステップ１５０３に進む。
【０１１４】
ステップ１５０３において、仮想フォルダ生成プログラム１２３は、仮想下位フォルダデータ１４５（図９参照）から未処理のデータ（Ｐとする）を１つ選択する。
【０１１５】
ステップ１５０４において、仮想フォルダ生成プログラム１２３は、スコアが一定値以上であるか否かを判定する。条件を満たす場合はステップ１５０５に進み、満たさない場合は処理を終了する。
【０１１６】
ステップ１５０５において、仮想フォルダ生成プログラム１２３は、ＰにおけるキーワードＡ・Ｂの文字列の長さが共に一定以上であるか否かを判定する。この条件を満たす場合はステップ１５０５に進み、満たさない場合はステップ１５０２に戻る。
【０１１７】
ステップ１５０６において、仮想フォルダ生成プログラム１２３は、仮想下位フォルダデータ１４５内に、ＰのキーワードＡ・Ｂの文字列を共に含み、かつ、スコアが同程度以上のより長いキーワードが存在するか否かを判定する。ここで、「同程度以上」とは、当該スコア値をＳＣとすると、ＳＣよりも多少小さいスコア値も許容する意味であり、スコア値が（ＳＣ−α）以上であると表現可能である。例えば、ＰのキーワードＡ・Ｂが（契約，委託）でスコア９０６が６１２であり、仮想下位フォルダデータ１４５内に、キーワードＡ・Ｂが（契約，業務委託）でスコア９０６が６４５であった場合が該当する。この場合、ステップ１５０６の条件を満たすためステップ１５０２に戻る。すなわち、Ｐは仮想下位フォルダとして生成されないことになる。スコアがほぼ同程度であった場合、キーワードの文字列がより長い方が仮想下位フォルダの性質上適しているからである。ステップ１５０６の条件を満たさない場合はステップ１５０７に進む。ステップ１５０６の処理は、同じようなキーワードの仮想下位フォルダが何個も生成されないようにするための処理である。上記の例で、キーワードＡ・Ｂが（契約，  委託）と（契約，  業務委託）だとスコア値が６１２と６４５で同程度となっている。この場合、（契約，  委託）で仮想下位フォルダは生成されず、（契約，  業務委託）で仮想下位フォルダが生成される。後者の方が前者よりも具体的で分かり易いからである。そして、（契約，  委託）では仮想下位フォルダが生成されないため、キーワード（契約，  委託）を含む文書（業務委託を含む文書は除かれる）は、キーワード「契約」の仮想上位フォルダの直下に分類されることになる。
【０１１８】
ステップ１５０７において、仮想フォルダ生成プログラム１２３は、Ｐのキーワードを仮想下位フォルダとして、記憶装置１３０における仮想フォルダデータ１３３に格納する。
【０１１９】
ステップ１５０８において、仮想フォルダ生成プログラム１２３は、対象の仮想上位フォルダに対する仮想下位フォルダ数が規定値に達したか否かを判定する。条件を満たさない場合はステップ１５０２に戻り、条件を満たす場合は処理を終了する。
【０１２０】
＜まとめ＞
以上説明したように、本実施の形態によれば、メタデータファイル上で管理されている複数の物理的なファイル（物理ファイル）のメタデータ（特に、各属性情報）を構成する文字列から形態素解析等を用いて複数のキーワードを抽出し、また、ユーザが検索時に使用した検索クエリのログデータから検索クエリのキーワードを抽出し、また、メタデータから抽出したキーワードと共に出現することが多いキーワードを、メタデータから抽出し、それらのキーワードから、仮想フォルダとしての適合の度合いを示すスコアを算出する。そして、スコアが所定値以上のキーワードを用いて規定数分の仮想上位フォルダを生成し、さらに、仮想上位フォルダのキーワードを含む別のキーワードを用いて、その仮想上位フォルダと関連付けられる仮想下位フォルダを生成する。また、生成した仮想上位フォルダと仮想下位フォルダとの関係、及び仮想上位フォルダ及び仮想下位フォルダの内容を表示する仮想分類表示（図１７）を画面上にＧＵＩとして表示する。このようにすることにより、ファイルを自動的に仮想分類すことが容易になり、仮想フォルダを使用したファイル管理を効率的に実現できる。一般に、人間が仮想フォルダを生成する場合、出現頻度が多い文字列や、検索に頻繁に使用する文字列や、出現頻度が多い文字列と共に出現することが多い文字列で仮想フォルダを定義する傾向があると考えられる。そのため、本発明は、人間の思考に沿った処理を行っていると考えられ、人間の分類方針に近い分類が可能になる。また、仮想上位フォルダは様々な文字列を包括するように生成されるため、類似した仮想上位フォルダが生成されることが少なく、洗練された処理結果となる。さらに、仮想上位フォルダに含まれるファイルの中で、頻出するキーワードや検索に頻繁に使用されるキーワードを基に仮想下位フォルダを生成するため、より細かい粒度でも効率良くファイルを検索することが可能である。
【０１２１】
また、仮想上位フォルダを生成する場合には、文字列長が所定値以上のキーワードを用いている。これにより、過度に多数の仮想上位フォルダを生成してしまうことを防止することができるようになる。この文字列長については、ユーザが指定することができるようになっており、自動仮想分類処理後に、自分が想定していた数とは異なる数の仮想フォルダが生成されてしまった場合に、変更可能なようになっている。
【０１２２】
また、メタデータの属性情報毎に複数のキーワードを抽出し、当該抽出した各キーワードの仮想フォルダとしての適合の度合いを示すスコアの情報を算出する。そして、複数の属性情報毎に、仮想上位フォルダ及び仮想下位フォルダを作成し、ユーザの属性の選択入力に応答して、当該選択された属性に対応する仮想分類表示（図１７）を出力するようにしている。これにより、属性毎に仮想フォルダを生成して、ユーザによって統一感のある仮想分類表示を提示することができる。よって、この仮想分類表示は、ユーザによって非常に使い勝手が良いものとなる。
【０１２３】
さらに、仮想下位フォルダを生成する際、仮想上位フォルダ名に相当するキーワードを含み、当該キーワードよりも文字列長が長い複数のキーワードの中で、出現頻度の比が所定範囲内にあるキーワードが複数存在した場合、文字列長が最長のキーワードをフォルダ名として用いて仮想下位フォルダを生成するようにする。これにより、フォルダの特徴をより具体的に示した仮想下位フォルダを生成することができ、ユーザはファイル分類の傾向を把握しやすくなる。
【０１２４】
なお、本発明は、実施形態そのままに限定されるものではなく、実施段階では、その要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【０１２５】
また、実施形態で示された各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現しても良い。また、上記各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現しても良い。各機能等を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、ＳＳＤ（Solid State Drive）等の記録或いは記憶装置、またはＩＣカード、ＳＤカード、ＤＶＤ等の記録或いは記憶媒体に格納することができる。
【０１２６】
さらに、上述の実施形態において、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていても良い。
【符号の説明】
【０１２７】
１００・・・中央処理装置（プロセッサ）
１１０・・・入出力装置
１１１・・・表示装置
１１２・・・キーボード
１１３・・・ポインティングデバイス（マウス）
１２０・・・プログラムメモリ
１２１・・・検索プログラム
１２２・・・キーワード登録プログラム
１２３・・・仮想フォルダ生成プログラム
１２４・・・仮想分類プログラム
１３０・・・記憶装置
１３１・・・メタデータファイル
１３２・・・検索ログデータ
１３３・・・仮想フォルダデータ
１４０・・・データメモリ
１４１・・・抽出キーワードデータ
１４２・・・検索キーワード管理データ
１４３・・・共起キーワードデータ
１４４・・・仮想上位フォルダデータ
１４５・・・仮想下位フォルダデータ
【図１】
2014010758.tif 000003
【図２】
2014010758.tif 000004
【図３】
2014010758.tif 000005
【図４】
2014010758.tif 000006
【図５】
2014010758.tif 000007
【図６】
2014010758.tif 000008
【図７】
2014010758.tif 000009
【図８】
2014010758.tif 000010
【図９】
2014010758.tif 000011
【図１０】
2014010758.tif 000012
【図１１】
2014010758.tif 000013
【図１２】
2014010758.tif 000014
【図１３】
2014010758.tif 000015
【図１４】
2014010758.tif 000016
【図１５】
2014010758.tif 000017
【図１６】
2014010758.tif 000018
【図１７】
2014010758.tif 000019