(57)【特許請求の範囲】
【請求項１】
複数の物理ファイルを分類し、管理するファイル管理装置であって、
前記複数の物理ファイルを分類するための仮想フォルダを生成するプログラムを実行するプロセッサと、
前記複数の物理ファイルのメタデータを管理するためのメタデータ管理情報を格納する記憶装置と、を有し、
前記仮想フォルダは、前記複数の物理ファイル或いはそれらを格納する複数の物理フォルダが存在する場所とは無関係に、前記複数の物理ファイル及び物理フォルダのリンク情報を管理するための仮想的なフォルダであり、
前記プロセッサは、
前記メタデータ管理情報の前記複数のファイルのメタデータを構成する文字列から複数のキーワードを抽出し、当該抽出した各キーワードの出現頻度の情報を取得し、
前記出現頻度が所定値以上のキーワードを用いて規定数分の仮想上位フォルダを生成し、
前記仮想上位フォルダに対して用いたキーワードを含む別のキーワードを用いて、前記仮想上位フォルダに関連付けられる仮想下位フォルダを生成し、
前記生成した仮想上位フォルダと仮想下位フォルダとの関係、及び前記仮想上位フォルダ及び仮想下位フォルダの内容を表示する仮想分類表示を出力する、
ことを特徴とするファイル管理装置。
【請求項２】
請求項１において、
前記プロセッサは、前記抽出したキーワードの文字列長が所定値以上のものを用いて前記仮想上位フォルダを生成することを特徴とするファイル管理装置。
【請求項３】
請求項１において、
前記メタデータ管理情報は、前記複数の物理ファイルのそれぞれについて複数の属性情報を管理し、
前記プロセッサは、前記複数の属性情報毎に、前記複数のキーワードを抽出し、当該抽出した各キーワードの出現頻度の情報を取得することを特徴とするファイル管理装置。
【請求項４】
請求項３において、
前記プロセッサは、前記複数の属性情報毎に、前記仮想上位フォルダ及び仮想下位フォルダを作成し、ユーザの属性の選択入力に応答して、当該選択された属性に対応する前記仮想分類表示を出力することを特徴とするファイル管理装置。
【請求項５】
請求項１において、
前記プロセッサは、前記仮想下位フォルダを生成する際、前記仮想上位フォルダを生成する際に用いたキーワードを含み、当該キーワードよりも文字列長が長い複数のキーワードの中で、前記出現頻度の比が所定範囲内にある前記キーワードが複数存在した場合、前記文字列長が最長の前記キーワードをフォルダ名として用いて前記仮想下位フォルダを生成することを特徴とするファイル管理装置。
【請求項６】
請求項１において、
前記プロセッサは、前記仮想上位フォルダに対して用いたキーワードを含む別のキーワードが複数ある場合に、文字列長が所定値以上であって、かつ出現頻度が所定値以上のキーワードを用いて、前記仮想下位フォルダを生成することを特徴とするファイル管理装置。
【請求項７】
複数の物理ファイルを分類し、管理するファイル管理方法であって、
プロセッサが、記憶装置から、前記複数の物理ファイルのメタデータを管理するためのメタデータ管理情報を読み出すステップと、
前記プロセッサが、前記メタデータ管理情報の前記複数のファイルのメタデータを構成する文字列から複数のキーワードを抽出し、当該抽出した各キーワードの出現頻度の情報を取得するステップと、
前記プロセッサが、前記出現頻度が所定値以上のキーワードを用いて規定数分の仮想上位フォルダを生成するステップと、
前記プロセッサが、前記仮想上位フォルダに対して用いたキーワードを含む別のキーワードを用いて、前記仮想上位フォルダに関連付けられる仮想下位フォルダを生成ステップと、
前記プロセッサが、前記生成した仮想上位フォルダと仮想下位フォルダとの関係、及び前記仮想上位フォルダ及び仮想下位フォルダの内容を表示する仮想分類表示を出力するステップと、を有し、
前記仮想フォルダは、前記複数の物理ファイル或いはそれらを格納する複数の物理フォルダが存在する場所とは無関係に、前記複数の物理ファイル及び物理フォルダのリンク情報を管理するための仮想的なフォルダである、
ことを特徴とするファイル管理方法。
【請求項８】
請求項７において、
前記仮想上位フォルダを生成するステップにおいて、前記プロセッサは、前記抽出したキーワードの文字列長が所定値以上のものを用いて前記仮想上位フォルダを生成することを特徴とするファイル管理方法。
【請求項９】
請求項７において、
前記メタデータ管理情報は、前記複数の物理ファイルのそれぞれについて複数の属性情報を管理し、
前記抽出した各キーワードの出現頻度の情報を取得するステップにおいて、前記プロセッサは、前記複数の属性情報毎に、前記複数のキーワードを抽出し、当該抽出した各キーワードの出現頻度の情報を取得することを特徴とするファイル管理方法。
【請求項１０】
請求項９において、
前記仮想下位フォルダを生成ステップにおいて、前記プロセッサは、前記複数の属性情報毎に、前記仮想上位フォルダ及び仮想下位フォルダを作成し、
前記仮想分類表示を出力するステップにおいて、前記プロセッサは、ユーザの属性の選択入力に応答して、当該選択された属性に対応する前記仮想分類表示を出力することを特徴とするファイル管理方法。
【請求項１１】
請求項７において、
前記仮想会フォルダを生成するステップにおいて、前記プロセッサは、前記仮想下位フォルダを生成する際、前記仮想上位フォルダを生成する際に用いたキーワードを含み、当該キーワードよりも文字列長が長い複数のキーワードの中で、前記出現頻度の比が所定範囲内にある前記キーワードが複数存在した場合、前記文字列長が最長の前記キーワードをフォルダ名として用いて前記仮想下位フォルダを生成することを特徴とするファイル管理方法。
【請求項１２】
請求項７において、
前記仮想下位フォルダを生成するステップにおいて、前記プロセッサは、前記仮想上位フォルダに対して用いたキーワードを含む別のキーワードが複数ある場合に、文字列長が所定値以上であって、かつ出現頻度が所定値以上のキーワードを用いて、前記仮想下位フォルダを生成することを特徴とするファイル管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイル管理装置及びファイル管理方法に関し、例えば、コンピュータ上のファイルを仮想的に分類するための技術に関するものである。
【背景技術】
【０００２】
近年コンピュータの発達により、ネットワークにより結合された複数のコンピュータにおいて、複数のユーザがファイルを共有することが日常的に行われている。例えば、ファイルサーバ上のファイルを複数ユーザで共有する場合がある。ファイルを管理する際には、固定的な階層構造のフォルダ（物理フォルダ）を用いることが一般的である。ファイルを格納する際には、組織内の運用ルールによって決められたフォルダに格納する場合がある。運用ルールとは、例えばファイルの種類毎や所属する部門毎に、決められたフォルダに格納するというものである。さらに、ファイルが作成された年度毎にフォルダを作成したり、製品毎にフォルダを作成するなど様々なパターンが考えられる。このようなフォルダ管理方法は、複数人でファイルを共有する場合だけでなく、１人のユーザがファイルを管理する場合でも行われている。
【０００３】
ユーザの作業内容によっては、複数の物理フォルダに格納されたファイルをいくつかまとめて１つの用途で使用したいという場合がある。このような場合に、例えば各フォルダから必要なファイルを探し出し、１つのフォルダにコピーするという作業が必要になるためユーザの負担となる。また、このような作業を繰り返すと同一ファイルがファイルサーバ内に増え、ファイルサーバの容量を圧迫する。さらに、その中の一部のファイルにのみ変更を加えると類似したファイルがファイルサーバ内に散在することになり、最新のファイルがわからなくなるという問題も発生する。
【０００４】
そこで、文書（ファイル）のメタデータ（属性情報）を文書に対応付けて管理する方法が考えられている。例えば特許文献１では、仮想フォルダシステムが提案されている。仮想フォルダシステムとは、実際にファイルが存在する場所とは無関係に、条件に合致するファイルやフォルダを格納するフォルダ（仮想フォルダ）を提供するシステムである。例えば、ファイルにメタデータを設定しておき、仮想フォルダにはメタデータに対する検索条件を定義することで、検索条件に合致するファイルを仮想フォルダに格納することができる。仮想フォルダ参照時には、検索条件に基づいたファイルのみが表示される。例えば、営業文書を管理する場面では、まず「文書種別」（契約書・注文書・見積書など）を属性として定義しておく。属性とは、例えば「文書種別」や「取引先」などのメタデータの種類を表す語句である。全てのファイルについて文書種別を付与し、仮想フォルダに「文書種別が“契約書”であるもの」という検索条件を割り当てておけば、その仮想フォルダを参照すると契約書の一覧が取得できる。このように、仮想フォルダシステムでは、ファイルを意味的に分類するので、文書の効果的な活用が可能となる。また、物理的なフォルダ構造に関係なく、仮想的に様々なフォルダで管理できるため、ファイルの無駄なコピーによる容量圧迫や、最新版がわからなくなるという問題を解決できる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開2003-323326号公報
【非特許文献】
【０００６】
【非特許文献１】小山照夫, “日本語テキストからの複合語用語抽出”, 情報知識学会誌, vol.19, No.4, pp.306-315, 2010
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１の技術では、仮想フォルダの定義をユーザが行わなければならず、その作業がユーザの負担となってしまう。また、ファイルをどのような基準で分類するかをユーザが検討しなければならない。この作業を行うためには、ファイルサーバ内にどのようなファイルが存在するか知っておく必要があり、さらにどのような観点で分類すべきかをユーザが判断しなければならない。一般にファイルサーバ全体の内容を把握し、適切に分類を行う作業には困難が伴う。
【０００８】
本発明はこのような状況に鑑みてなされたものであり、ファイルサーバに格納されたファイルに対して、文書種別やファイル名などのメタデータを利用し、自動的に仮想分類を行うための技術を提供する。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明のファイル管理装置は、ファイルを仮想分類するための仮想フォルダを生成する装置である。当該装置は、ファイルのメタデータを構成する文字列からキーワードを抽出し、記憶領域に登録する。また、当該装置は、仮想フォルダを生成する際に用いるメタデータ群において、出現頻度が多いキーワードを基に、仮想フォルダに格納されるファイルの条件を自動的に決定する。
【００１０】
即ち、本発明によるファイル管理装置は、複数の物理ファイルを分類するための仮想フォルダを生成するプログラムを実行するプロセッサと、複数の物理ファイルのメタデータを管理するためのメタデータ管理情報を格納する記憶装置と、を有している。ここで、仮想フォルダは、複数の物理ファイル或いはそれらを格納する複数の物理フォルダが存在する場所とは無関係に、複数の物理ファイル及び物理フォルダのリンク情報を管理するための仮想的なフォルダである。
【００１１】
そして、プロセッサは、まず、メタデータ管理情報の複数のファイルのメタデータを構成する文字列から複数のキーワードを抽出し、当該抽出した各キーワードの出現頻度の情報を取得する。また、プロセッサは、出現頻度が所定値以上のキーワードを用いて規定数分の仮想上位フォルダを生成する。さらに、プロセッサは、仮想上位フォルダに対して用いたキーワードを含む別のキーワードを用いて、仮想上位フォルダに関連付けられる仮想下位フォルダを生成する。そして、プロセッサは、生成した仮想上位フォルダと仮想下位フォルダとの関係、及び仮想上位フォルダ及び仮想下位フォルダの内容を表示する仮想分類表示を出力する。
【発明の効果】
【００１２】
本発明によれば、ファイルサーバに格納されたファイル群を検索するための仮想フォルダを、自動的に作成することができる。これにより、ユーザはファイルサーバ内に格納されているファイルの内容に関する知識が乏しくても、少ない作業工数で仮想フォルダを構築することが可能となる。
【００１３】
なお、上述した以外の課題、構成及び効果は、以下の本発明を実施するための形態および添付図面によって明らかになるものである。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態に係るシステム（ファイル管理装置）の概略構成を示す図である。
【図２】メタデータファイルの一例を示す図である。
【図３】キーワードデータの一例を示す図である。
【図４】仮想フォルダデータの一例を示す図である。
【図５】仮想分類画面の一例を示す図である。
【図６】キーワード登録処理を説明するためのフローチャートである。
【図７】キーワード抽出処理を説明するためのフローチャートである。
【図８】キーワード抽出処理で使用するデータの一例を示す図である。
【図９】仮想フォルダ生成処理を説明するためのフローチャートである。
【図１０】子フォルダ生成処理を説明するためのフローチャートである。
【発明を実施するための形態】
【００１５】
以下、添付図面を参照して本発明の実施形態について説明する。ただし、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。また、各図において共通の構成については同一の参照番号が付されている。
【００１６】
なお、以後の説明では表（テーブル）形式によって本発明の情報を説明するが、これら情報は必ずしも表形式によるデータ構造で表現されていなくても良く、リスト、ＤＢ、キュー等のデータ構造やそれ以外で表現されていても良い。そのため、データ構造に依存しないことを示すために「テーブル」、「リスト」、「ＤＢ」、「キュー」等について単に「情報」と呼ぶことがある。
【００１７】
また、各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ＩＤ」という表現を用いることが可能であり、これらについてはお互いに置換が可能である。
【００１８】
以後の説明では「プログラム」を主語として説明を行うが、プログラムはプロセッサによって実行されることで定められた処理をメモリ及び通信ポート（通信制御装置）を用いながら行うため、プロセッサを主語とした説明としてもよい。また、プログラムを主語として開示された処理は管理サーバ等の計算機、情報処理装置が行う処理としてもよい。プログラムの一部または全ては専用ハードウェアで実現してもよく、また、モジュール化されていても良い。各種プログラムはプログラム配布サーバや記憶メディアによって各計算機にインストールされてもよい。
【００１９】
＜仮想分類装置の構成＞
図１は、本発明の実施形態による仮想分類装置（ファイル管理装置や文書処理装置ということもできる）の概略構成を示す機能ブロック図である。この仮想分類装置は、必要な演算処理及び制御処理等を行う中央処理装置（プロセッサ）100と、データの入出力を行うための入出力装置110と、中央処理装置100での処理に必要なプログラムを格納するプログラムメモリ120と、中央処理装置100での処理対象となるデータまたは処理後のデータを格納する記憶装置130と、を有している。
【００２０】
入出力装置110は、データを表示するための表示装置111やプリンタ（図示せず）等で構成される出力デバイスと、表示されたデータに対してメニューを選択するなどの操作を行うためのキーボード112、マウスなどのポインティングデバイス113と、を有している。
【００２１】
プログラムメモリ120は、メタデータからキーワードを抽出するキーワード登録プログラム121と、キーワードを基に仮想フォルダを生成する仮想フォルダ生成プログラム122と、仮想フォルダを画面表示し、各仮想フォルダに格納されたファイルの内容の表示を行う仮想分類プログラム123と、を格納している。なお、各処理プログラムは、プログラムコードとしてプログラムメモリ120に格納されており、中央処理装置100が各プログラムコードを実行することによって各処理が実現される。
【００２２】
記憶装置130は、各ファイルのメタデータファイル131と、メタデータを構成する文字列の中から抽出されたキーワードが格納されるキーワードデータ132と、キーワードを基に生成される仮想フォルダの定義情報が格納される仮想フォルダデータ133と、を格納している。なお、記憶装置130は、ネットワークを介して遠隔的に配置されていているストレージシステムであってもよい。
【００２３】
以上に述べた処理プログラム・データ・各プログラム等は、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＭＯ、フロッピー（登録商標）ディスク、ＵＳＢメモリ等の種々の記録媒体に格納して提供することもできる。
【００２４】
＜メタデータ＞
図２は、記憶装置130内のメタデータファイル131の一例を示す図である。本発明の実施形態では、メタデータファイル131に登録された各ファイル（ファイル001、002、003、・・・・）は、メタデータ202と共にメタデータファイル131内で管理されるものとする。従って、メタデータ202が未登録のファイルはここには登録されていないものとする。
【００２５】
メタデータファイル131は例えば表形式で管理され、１つのファイルが１行に対応している。メタデータファイル131は、ファイルを一意に示すID201と、ファイルに登録されたメタデータ202と、を構成項目として有している。
【００２６】
メタデータ202は、本システムで管理する属性毎に列を構成している。図２には、例えば、紙の営業文書をスキャナでスキャンして得られたファイルのメタデータが示されている。図２の例では、属性として、ファイルのファイルパス203、文書種別204、顧客名205等がある。なお、メタデータは図２で示したもの以外にも、様々なパターンが考えられる。例えば、ファイルのアクセス日、最終更新日など日付に関するメタデータや、ファイルの作成者、更新者などの人に関するメタデータなども考えられる。
【００２７】
＜キーワードデータ＞
図３は、記憶装置130内のキーワードデータ132の一例を示す図である。キーワードデータ132は、メタデータファイル131における文字列情報をもとに、特徴的な単語(キーワード)301と、その出現頻度302が記載されたデータである。出現頻度302は、記憶装置130におけるメタデータファイル131において、当該キーワードを含むファイルの件数を表している。図３の例では、メタデータファイル131に登録されているファイルには、「検収」というキーワードを含むファイルが292件存在することを表している。
なお、キーワードデータ132は、例えば、属性ごとに複数の登録情報ファイルを有している。
【００２８】
＜仮想フォルダデータ＞
図４は、記憶装置130内の仮想フォルダデータ133の一例を示す図である。仮想フォルダデータ133は属性単位で作成され、後述の仮想フォルダ生成プログラムによって生成される仮想フォルダの定義が記載されたデータである。ここで、仮想フォルダとは、実際にファイルやフォルダ（物理ファイル及び物理フォルダ）が存在する場所とは無関係に、条件に合致するファイルやフォルダを格納するフォルダをいう。また、仮想フォルダは、ファイルやフォルダの本体を格納しているのではなく、１つ又は複数のショートカットを格納することになる。そして、物理ファイル・フォルダが変更・新規作成・削除された場合、その結果が仮想フォルダに反映されて仮想フォルダの内容が変化する。なお、仮想フォルダは、単なるショートカットやエイリアスとは異なる概念である。より具体的には、ファイルのショートカットはフォルダではないので、複数のファイルをまとめることはできないし、フォルダのショートカットは、物理フォルダを別の場所から参照できるようにしているだけである。また、エイリアスは、ショートカットとほぼ同義だが、別名で別の場所から参照できるようにする技術である。ショートカット及びエイリアスはいずれも条件に合致するファイル（フォルダ）を格納するものではない。
【００２９】
図４は、属性が文書種別であり、親フォルダ401と子フォルダ402の２階層の仮想フォルダが記載された例を示している。親フォルダ401は、子フォルダ402の内容を包括するキーワードで定義される。子フォルダ402は、親フォルダ401の内容を、より詳細化したキーワードで定義され、親フォルダ401のキーワードを含む文字列で構成される。
【００３０】
なお、仮想フォルダデータ133は、仮想分類処理実行の指示が入力されてから自動的に生成するようにしても良いし、所定数のファイルが蓄積された時点で自動的に生成したり、所定時間間隔で溜まったファイルに対して自動的に生成するようにしても良い。また、仮想フォルダデータ133を生成する際に、ユーザがフォルダ生成に用いるキーワードを指定するようにしても良い。
【００３１】
＜仮想分類画面＞
図５は、仮想分類プログラム123が生成する仮想分類の表示画面（GUI）の一例を示す図である。図５に示されるように、GUIのウインドウでは、左側のペインに仮想フォルダによるツリー表示501が表示され、右側のペインに選択された仮想フォルダに格納されているファイルの検索結果502が表示される。
【００３２】
仮想分類プログラム123は、仮想フォルダをGUI画面に表示する際、記憶装置130における仮想フォルダデータ133を使用する。また、仮想分類プログラム123は、検索結果を表示する際、記憶装置130におけるメタデータファイル131を使用する。
【００３３】
GUIウインドウの左側のペインには、属性を選択するプルダウンメニュー503があり、選択された属性の仮想フォルダが、親フォルダ504と子フォルダ505からなる構造で表示される。この際プルダウンメニュー503では、仮想フォルダが定義されている属性だけが選択可能となっている。検索結果502は、選択された属性において、仮想フォルダを構成する文字列を含むメタデータを持つファイルが表示される。この際、該当するファイルのメタデータが表示される。
【００３４】
図５では、属性「文書種別」が選択され、また、親フォルダ「契約」の子フォルダ「委託契約書」が選択された状態が示されている。検索結果502には、属性「文書種別」において、「委託契約書」を含むファイルが表示されている。また、ファイル名506、文書種別507、取引先名508などの属性のメタデータが表示されている。さらに、親フォルダが選択されると、検索結果には、親フォルダの文字列を含むファイルが表示される。検索結果において、ユーザによってファイルが選択されると、オペレーティングシステムによって関連付けられたアプリケーションが起動し、当該ファイルが開かれる。
【００３５】
仮想分類処理によって、例えば図５に示すようなるユーザインターフェース（GUI）を表示し、ユーザはそれを用いることにより、物理的に異なるフォルダに格納されたファイルを、仮想フォルダ毎に参照することが可能となる。そして、ユーザは、ファイルの実体が保存された物理フォルダを考慮せずとも、意味的な分類によってファイルを参照できる。また、ユーザは、GUI上で属性を選択することも可能であり、属性毎に異なる仮想フォルダツリーが構成され、探したい観点でファイルの検索が可能となる。
【００３６】
＜文書処理装置における処理概要＞
上述の構成を有する文書処理装置において行われる処理について説明する。まず、中央処理装置100は、キーワード登録プログラム121を用いて、記憶装置130におけるメタデータファイル131を読み込み、メタデータファイル131の中から特徴的な単語(キーワード)を抽出し、記憶装置130にキーワードデータ132（図３参照）として格納する。
【００３７】
次に、仮想フォルダ生成プログラム122が実行される。仮想フォルダ生成プログラム122は、記憶装置130からキーワードデータ132を読みこみ、キーワードの特徴に基づいて仮想フォルダの定義情報を生成し、記憶装置130に仮想フォルダデータ133（図４参照）として格納する。
【００３８】
続いて、仮想分類プログラム123が実行される。仮想分類プログラム123は、記憶装置130からメタデータファイル131と仮想フォルダデータ133を読みこみ、仮想フォルダデータ133に記載された仮想フォルダの定義に基づいて仮想フォルダ（図５参照）を表示する。そして、仮想分類プログラム123は、ユーザからの入力を受け付け、仮想フォルダが選択されると、メタデータファイル131から仮想フォルダに格納されるファイルを検索し、該当するファイルを表示する。それぞれの処理について、以下詳細に説明する。
【００３９】
＜キーワード登録処理＞
図６は、キーワード登録プログラム121が実行するキーワード登録処理を説明するためのフローチャートである。キーワード登録処理では、図２に示すようなメタデータファイル131から、キーワードとその頻度を抽出し、図３に示すようなキーワードデータ132を出力する。ここでの動作主体はキーワード登録プログラム121である。
【００４０】
ステップ601では、キーワード登録プログラム121は、記憶装置130からメタデータファイル131を全て読み込む。ただし、仮想フォルダを生成しなくてもよい属性のメタデータファイルは読み込まなくてもよい。
【００４１】
ステップ602では、キーワード登録プログラム121は、読み込んだメタデータファイルの中から属性を１つ選択する。ステップ602で選択された属性に対して、以下のステップ603からステップ609までの処理が行われる。なお、キーワード登録プログラム121が属性を選択する際には、すべての属性を対象とする必要は無く、一部の属性だけを対象としてもよい。
【００４２】
ステップ603では、キーワード登録プログラム121は、ステップ601で読み込まれたメタデータファイルの中から、ステップ602で選択された属性のデータを１つ読み込む。例えば、属性「文書種別」の値が「検収通知書」であるデータを読み込んだ場合を考える。
【００４３】
ステップ604では、キーワード登録プログラム121は、ステップ603で読み込んだデータに含まれるキーワードを抽出する。ここで、キーワードとは、文字列中に含まれる、名詞的役割を持つひとまとまりの単語を指す。例えば、「検収通知書」という文字列中には、「検収」、「通知」、「書」、「検収通知」、「通知書」、「検収通知書」という６パターンのキーワードが含まれる。ここでは、文書のタイトルを対象としているが、顧客名や文書中のテキスト文書における文字列を抽出対象としても良い。ステップ604では、文字列中から、このようなキーワードを抽出する処理を行う。キーワードを抽出する手法には、様々な既存技術が適用可能である。代表的な技術には、例えばキーワード抽出の対象文字列に対して形態素解析を施し、抽出された単語の品詞の種類に応じて連結したものをキーワードとみなすものがある（例えば、非特許文献1）。基本的には、名詞が1つ以上連続した文字列をキーワードとみなす手法であり、一般的によく用いられている。抽出されたキーワードをさらに詳細に分析し、よりキーワードの抽出精度を高める技術も多数提案されている。本実施形態では、このようなキーワード抽出技術を用いる。キーワード抽出処理の詳細については、図７及び８を用いて後述する。
【００４４】
ステップ605では、キーワード登録プログラム121は、キーワード抽出処理（ステップ604）で抽出したキーワードを１つ選択する。
【００４５】
ステップ606では、キーワード登録プログラム121は、ステップ601で読み込んだデータにおける、ステップ602で選択した属性のデータにおいて、選択されたキーワードが出現する頻度をカウントする。より具体的には、対象のデータにおいて、選択されたキーワードが部分一致する回数をカウントする。
【００４６】
ステップ607では、キーワード登録プログラム121は、キーワードとその頻度のデータを記憶装置130のキーワードデータ132に格納する。
【００４７】
ステップ608からステップ610では、キーワード登録プログラム121は、ステップ602からステップ607までの処理をループさせる。
【００４８】
図３は、このようにして得られたキーワードデータ132の例を示している。図３では、属性が文書種別であるキーワードと頻度を示しているが、その他の属性についても同様のデータが生成される。
【００４９】
＜キーワード抽出処理の詳細＞
図７は、キーワード抽出処理（ステップ604）の詳細を説明するためのフローチャートであり、図８は、キーワード抽出処理の具体例を示す模式図である。
【００５０】
キーワード抽出処理では、まずステップ701において、キーワード登録プログラム121は、処理対象の文字列に対して形態素解析を行う。形態素解析とは、品詞などの情報付の辞書や、文法を、情報源として用い、自然言語で書かれた文を形態素の列に分割し、品詞を判別する処理である。図８Ａは、「検収通知書１」という文字列に対して形態素解析を施した結果を示している。「検収通知書１」は、「検収」、「通知」、「書」、「１」の４つの文字列に分割される。また、品詞の行には、それぞれの文字列が、名詞または未知語であることと、付属的な内容が記載されている。未知語とは、形態素解析の結果、品詞が不明と判定された文字列である。形態素解析は、内部で使用している辞書を元にして、入力文字列の品詞を判定しているため、辞書に登録されていない文字列は未知語として判定される。具体的には、製品名や個人名などの固有名詞が未知語となり得る。また、形態素解析は日本語の解析に利用されるため、英数字や記号などが辞書登録されていない場合がある。前述した例では、「１」が未知語と判定された場合を示した。ステップ702では、各文字列の品詞情報を利用して、名詞または未知語が1つ以上連続した文字列を抽出する。
【００５１】
ステップ702では、キーワード登録プログラム121は、未知語は実際には名詞であることが多いため、名詞とともに未知語もキーワードを構成する文字列の一部とみなしている。図８Ｂは、「検収通知書１」に対してステップ702の処理を適用した結果を示している。キーワードとして、１０パターンの文字列が登録されている。
【００５２】
ステップ703では、キーワード登録プログラム121は、抽出されたキーワードのフィルタリングを行う。仮想フォルダ生成プログラム122による仮想フォルダ生成処理では、抽出されたキーワードをもとに仮想フォルダの生成が行われるため、仮想フォルダとして不適であるキーワードが含まれると、不適当な仮想フォルダが生成してしまう可能性がある。そのため、仮想フォルダとして不適と考えられるキーワードをこの処理で除外する。例えば「検収通知書１」というキーワードから仮想フォルダを定義する場合、ユーザにとっての分類のわかりやすさの観点から、数字は除外した方が望ましいと考えられる。なお、フィルタリングを実現するには、予め除外すべき文字や特殊な名詞を辞書やＤＢに登録しておき、それを参照して除外すべき文字か否か判断する。除外すべき文字としては、米印、矢印等の記号や、数字（ただし、数字はキーワードとして必要な場合もあるため、常に除外対象とするのは不適である。従って、最終的にユーザに除外するか否かについて確認するようにしても良い）。図８Ｃは、図８Ｂにおけるキーワードから数字を含むキーワードを除外した例を示している。また、名詞の中で特殊なパターンも除外すべきである。例えば、代名詞、ナイ形容詞語幹、一部の名詞接尾辞などである。ナイ形容詞語幹とは、「申し訳」、「大人げ」などの「〜ない」の形をとる名詞である。また、除外すべき名詞接尾辞としては、例えば、「〜君」、「〜さん」などの人名に続く敬称や、「休みがち」の「がち」や、「勝ったも同然」の「同然」などの形容動詞語幹などがある。
【００５３】
＜仮想フォルダ生成処理＞
図９は、仮想フォルダ生成プログラム122が実行する仮想フォルダ生成処理を説明するためのフローチャートである。仮想フォルダ生成処理では、キーワード抽出処理によって得られたキーワードデータ132を用いて、仮想フォルダデータ133を生成する。ここでの動作主体は仮想フォルダ生成プログラム122である。
【００５４】
ステップ901では、仮想フォルダ生成プログラム122は、記憶装置130からキーワードデータ132を読みこみ、頻度の降順でソートする。頻度の降順でソートし、頻度が多い順に仮想フォルダの親フォルダ（以下、親フォルダと呼ぶことがある）を生成していき、親フォルダの数が規定値に達した時点で処理を終了する。これにより、頻度が少ないキーワードに対する処理が不要になる場合があり、その場合処理速度が向上する。
【００５５】
ステップ902では、仮想フォルダ生成プログラム122は、キーワードデータ132に格納されている属性を１つ選択する。
【００５６】
ステップ903では、仮想フォルダ生成プログラム122は、選択された属性のキーワードを１つ選択する。
【００５７】
ステップ904からステップ906までの処理で、親フォルダとして登録すべきキーワードを選定する。ステップ904では、仮想フォルダ生成プログラム122は、選択されたキーワードの文字列の長さが一定以上であるか否かを判定する。文字列の長さが極端に短いと、分類の粒度が粗すぎて使い勝手が悪い仮想フォルダができてしまうためである。文字列の長さが一定以上である場合、処理はステップ905に進み、一定以上でない場合、処理はステップ909に進む。
【００５８】
ステップ905では、仮想フォルダ生成プログラム122は、選択されたキーワードの頻度が一定以上であるか否かを判定する。頻度が一定値以上であるキーワードでのみ仮想フォルダを生成することにより、格納されるファイル数が少ない無駄な仮想フォルダの生成を抑えることなる。頻度が一定以上である場合、処理はステップ906に進み、一定以上でない場合、処理はステップ909に進む。
【００５９】
ステップ906では、仮想フォルダ生成プログラム122は、選択されたキーワードが、生成済の親フォルダを構成する文字列を含むか否かを判定する。含まない場合、処理はステップ907に進み、含む場合、処理はステップ909に進む。例えば、ステップ903で選択されたキーワードが「検収通知書」であり、既に生成済の親フォルダの中に「検収」が含まれていたとする。この場合、「検収通知書」は「検収」という文字列を含むためステップ909に進む。この処理を行うことにより、類似した親フォルダが生成されることを防ぐことができる。この例では、「検収」という親フォルダが生成され、「検収通知書」という親フォルダは生成されない。「検収通知書」という仮想フォルダは、ステップ908の処理によって、「検収」という親フォルダの下の階層の仮想フォルダ（以下、子フォルダと呼ぶことがある）として生成される可能性はある。
【００６０】
ステップ907では、仮想フォルダ生成プログラム122は、選択されたキーワードを記憶装置130における仮想フォルダデータ133に登録する。
【００６１】
ステップ908では、仮想フォルダ生成プログラム122は、子フォルダの生成を行う。子フォルダ生成処理の詳細については、図１０を用いて後述する。
【００６２】
ステップ909では、仮想フォルダ生成プログラム122は、すべてのキーワードについて処理を終えたか否かを判定する。終えていれば、処理はステップ911に進み、終えていなければ、処理はステップ910に進む。
【００６３】
ステップ910では、仮想フォルダ生成プログラム122は、親フォルダ数が規定値に達したか否かを判定する。規定値に達していれば、処理はステップ911に進み、達していなければ、処理はステップ903に戻る。
【００６４】
ステップ911では、仮想フォルダ生成プログラム122は、処理対象の属性すべてについて、処理を終えたか否かを判定する。終えていれば、仮想フォルダ生成処理は終了する。終えていなければ、処理はステップ902に戻る。
【００６５】
図４は、仮想フォルダ生成処理を行うことにより生成される仮想フォルダデータ133の例を示す図である。属性が文書種別であるメタデータにおける仮想フォルダを表しており、親フォルダと子フォルダの階層関係と文字列が格納されている。
【００６６】
＜子フォルダ生成処理の詳細＞
図１０は、子フォルダ生成処理（ステップ908）の詳細を説明するためのフローチャートである。子フォルダ生成処理では、親フォルダの文字列を含む子フォルダの生成処理を行う。
【００６７】
ステップ1001では、仮想フォルダ生成プログラム122は、キーワードデータ132から、図９のステップ907で生成された親フォルダの文字列を含むキーワードのリスト（Ｐとする）を作成し、頻度の降順でソートする。親フォルダが「検収」であった場合、Ｐは「検収書」「検収通知書」、「検収依頼書」などの「検収」を含む文字列と、その頻度からなり、かつ頻度でソートされたデータとなる。親フォルダ生成時と同様に、頻度の降順でソートし頻度が多い順に子フォルダを生成していき、子フォルダの数が規定値に達した時点で処理を終了する。これにより不要な処理を省くことができる。以下の処理で、Ｐにおけるキーワードをもとに子フォルダを生成する。
【００６８】
ステップ1002では、仮想フォルダ生成プログラム122は、Ｐ内の全てのキーワードを処理したか否かを判定する。全てのキーワードを処理していれば、子フォルダ生成処理は終了する。全てのキーワードを処理していなければ、処理はステップ1003に進む。
【００６９】
ステップ1003では、仮想フォルダ生成プログラム122は、リストＰからキーワード（Ａ（例えば、検収通知）とする）を１つ選択する。ステップ1004からステップ1006までの処理で、Ａを子フォルダとして登録するか否かが判定される。
【００７０】
ステップ1004では、仮想フォルダ生成プログラム122は、文字列（Ａ）の長さが一定以上であるか否かを判定する。一定以上であれば、処理はステップ1005に進み、一定以上でなければ、処理はステップ1002に戻る。この際の文字列の長さの閾値は、親フォルダにおける文字列の長さの閾値よりも大きい値をあらかじめ設定しておく。子フォルダは親フォルダの文字列を含むため、親フォルダよりも長い文字列である必要があるためである。
【００７１】
ステップ1005では、仮想フォルダ生成プログラム122は、選択されたキーワードＡの頻度が一定以上であるか否かを判定する。一定以上であればステップ1006に進み、一定以上でなければステップ1002に戻る。この際の頻度の閾値は、親フォルダにおけるキーワードの頻度よりも小さい値があらかじめ設定されている。子フォルダは親フォルダの文字列を含むため、親フォルダよりも頻度が小さくなるためである。
【００７２】
ステップ1006からステップ1010までの処理では、不要な子フォルダを生成しないための処理を行う。例えば、リストＰ内に「検収通知」、「検収通知書」など、一方の文字列がもう一方の文字列を包含し、互いの頻度がほぼ同等であるキーワードが含まれていた場合、子フォルダとして登録するのはその中の１つで十分である。このような場合、本実施形態では、文字列が最も長いキーワードを子フォルダとして登録する。その具体的な処理について以下の通りである。
【００７３】
ステップ1006では、仮想フォルダ生成プログラム122は、リストＰ内にＡを含むキーワードが含まれるか否かを判定する。含まれるならば処理はステップ1007に進み、含まれないならば処理はステップ1011に進む。例えば、Ａが「検収通知」であり、リストＰ内に「検収通知書」が存在していた場合は、Ｐ内にＡが含まれることになるため、処理はステップ1007に進む。
【００７４】
ステップ1007では、仮想フォルダ生成プログラム122は、ＰにおいてＡを含むキーワードのリスト（リストＱとする）を作成する。例えば、リストＱに「検収通知」、「検収通知書」及び「検収通知文書」が登録されている場合を考える。
【００７５】
ステップ1008では、仮想フォルダ生成プログラム122は、リストＱからＡとは異なるキーワードを１つ選択する。選択されたキーワードをＢとする。ここでは、Ｂとして「検収通知書」が選択されたとする。
【００７６】
ステップ1009では、仮想フォルダ生成プログラム122は、Ａ（検収通知）の頻度に対するＢ（検収通知書）の頻度が、あらかじめ定めた閾値以上であるか否かを判定する。閾値以上であれば、頻度が同等で、かつＡよりも長い文字列のキーワードが存在することになるため、Ａは子フォルダとして不適であると判断され、処理はステップ1010に進む。閾値以上でなければ、処理はステップ1011に進む。例えば、Ａ（検収通知）の頻度が100、Ｂ（検収通知書）の頻度が98、閾値が0.9であった場合、Ａと同等の頻度のキーワードが存在するため、Ａは子フォルダとして不適となる。頻度が同程度なら、文字列長が長いキーワードの方に合わせて子フォルダを生成する。長い文字列の方がより具体的で子フォルダの性質上適しているからである。
【００７７】
ステップ1010では、Ｑ内のすべてのキーワードを処理するまでループを繰り返す。リストＱ内の全てのキーワードの処理が終了してない場合は、処理はステップ1002に戻る。その際、キーワードＢがステップ1003の新たなキーワードＡとなって処理がなされていく。
【００７８】
ステップ1011では、仮想フォルダ生成プログラム122は、Ａを子フォルダとして記憶装置130における仮想フォルダデータ133に登録し、処理をステップ1012に移行させる。
【００７９】
ステップ1012では、仮想フォルダ生成プログラム122は、登録された子フォルダ数が規定値に達したか否かを判定し、達していれば子フォルダ生成処理を終了させ、図９のフローチャートにおけるステップ909に処理を移行させる。規定値に達していなければ、処理はステップ1002に戻る。
【００８０】
なお、図１０では、子フォルダを生成する処理についてのみ説明しているが、子フォルダに関連付けられる孫フォルダや曾孫フォルダ・・・を生成する場合にも同様の処理を実行すれば良い。つまり、孫フォルダを生成する場合には、子フォルダを図１０における親フォルダに相当するものとして処理することになる。
【００８１】
＜まとめ＞
以上説明したように、本実施の形態によれば、メタデータファイル上で管理されている複数の物理的なファイル（物理ファイル）のメタデータ（特に、各属性情報）を構成する文字列から形態素解析等を用いて複数のキーワードを抽出し、抽出した各キーワードの出現頻度の情報を取得する。そして、出現頻度が所定値以上のキーワードを用いて規定数分の親フォルダ（仮想上位フォルダ）を生成し、さらに、親フォルダ名のキーワードを含む別のキーワードを用いて、親フォルダに関連付けられる子フォルダ（仮想下位フォルダ：子フォルダだけでなく、孫や曾孫等のフォルダを含む概念）を生成する。また、生成した親フォルダと子フォルダとの関係、及び親フォルダ及び子フォルダの内容を表示する仮想分類表示（図５）を画面上にGUIとして表示する。このようにすることにより、ファイルを自動的に仮想分類することが容易になり、仮想フォルダを使用したファイル管理を効率的に実現できる。一般に、人間が仮想フォルダを生成する場合、出現頻度が多い文字列で仮想フォルダを定義する傾向があると考えられる。そのため本発明は、人間の思考に沿った処理を行っていると考えられ、人間の分類方針に近い分類が可能になる。また、親フォルダは様々な文字列を包括するように生成されるため、類似した親フォルダが生成されることが少なく、洗練された処理結果となる。さらに、親フォルダに含まれるファイルの中で、頻出するキーワードを元に子フォルダを生成するため、より細かい粒度でも効率良くファイルを検索することが可能である。
【００８２】
また、親フォルダを生成する場合には、文字列長が所定値以上のキーワードを用いている。これにより、過度に多数の親フォルダを生成してしまうことを防止することできるようになる。この文字列長については、ユーザが指定することができるようになっており、自動仮想分類処理後に、自分が想定していた数とは異なる数の仮想フォルダが生成されてしまった場合に、変更可能なようになっている。
【００８３】
また、メタデータの属性情報毎に複数のキーワードを抽出し、当該抽出した各キーワードの出現頻度の情報を取得する。そして、複数の属性情報毎に、親フォルダ（仮想上位フォルダ）及び子フォルダ（仮想下位フォルダ）を作成し、ユーザの属性の選択入力に応答して、当該選択された属性に対応する仮想分類表示（図５）を出力するようにしている。これにより、属性毎に仮想フォルダを生成して、ユーザによって統一感のある仮想分類表示を提示することができる。よって、この仮想分類表示は、ユーザによって非常に使い勝手が良いものとなる。
【００８４】
さらに、子フォルダ（仮想下位フォルダ）を生成する際、親フォルダ（仮想上位フォルダ）名に相当するキーワードを含み、当該キーワードよりも文字列長が長い複数のキーワードの中で、出現頻度の比が所定範囲内にあるキーワードが複数存在した場合、文字列長が最長のキーワードをフォルダ名として用いて子フォルダ（仮想下位フォルダ）を生成するようにする。これにより、フォルダの特徴をより具体的に示した子フォルダを生成することができ、ユーザはファイル分類の傾向を把握しやすくなる。
【００８５】
なお、本発明は、実施形態そのままに限定されるものではなく、実施段階では、その要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【００８６】
また、実施形態で示された各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現しても良い。また、上記各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現しても良い。各機能等を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、ＳＳＤ（Solid State Drive）等の記録或いは記憶装置、またはＩＣカード、ＳＤカード、ＤＶＤ等の記録或いは記憶媒体に格納することができる。
【００８７】
さらに、上述の実施形態において、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていても良い。
【符号の説明】
【００８８】
１００…中央処理装置（プロセッサ）
１１０…入出力装置
１１１…表示装置
１１２…キーボード
１１３…マウス
１２０…プログラムメモリ
１２１…キーワード登録プログラム
１２２…仮想フォルダ生成プログラム
１２３…仮想分類プログラム
１３０…記憶装置
１３１…メタデータファイル
１３２…キーワードデータ
１３３…仮想フォルダデータ
【図１】
0005512489.tif 000002
【図２】
0005512489.tif 000003
【図３】
0005512489.tif 000004
【図４】
0005512489.tif 000005
【図５】
0005512489.tif 000006
【図６】
0005512489.tif 000007
【図７】
0005512489.tif 000008
【図８】
0005512489.tif 000009
【図９】
0005512489.tif 000010
【図１０】
0005512489.tif 000011