(57)【要約】【課題】ファイルの移動に関するユーザの煩雑な操作を低減する。【解決手段】情報処理装置１００は、フォルダの構成ルールを解析する解析手段と、対象ファイルに関する情報を取得する取得手段と、解析手段により解析された構成ルールに則って、取得手段により取得された対象ファイルに関する情報をもとに、当該対象ファイルの移動先としての移動先フォルダを生成する生成手段と、を備える。【選択図】      図１
2018032182.tif 000002
【特許請求の範囲】
【請求項１】
フォルダの構成ルールを解析する解析手段と、
対象ファイルに関する情報を取得する取得手段と、
前記解析手段により解析された構成ルールに則って、前記取得手段により取得された前記対象ファイルに関する情報をもとに、当該対象ファイルの移動先としての移動先フォルダを生成する生成手段と、を備えることを特徴とする情報処理装置。
【請求項２】
前記解析手段は、
所定のフォルダを前記解析の起点となる起点フォルダとし、前記起点フォルダ以下の階層のフォルダ群を解析対象フォルダとして、前記解析対象フォルダの構成ルールを解析することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記解析手段は、
前記起点フォルダから前記解析対象フォルダ内の最下層のフォルダまでの階層構造を示すフォルダパスを検索し、前記フォルダパスごとに構成ルールを解析することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記解析手段は、
前記フォルダパスが複数検索された場合、前記フォルダパスごとの複数の構成ルールのうち同一の構成ルールの割合を示す一致率が最も高く、かつ基準値以上である構成ルールを前記解析対象フォルダの構成ルールとして特定することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記解析手段は、
前記フォルダパス中の最上層のフォルダから階層順に解析中フォルダとして設定し、
前記解析中フォルダのフォルダ名の命名ルールをそれぞれ解析することで、前記フォルダパスの構成ルールを解析することを特徴とする請求項３または４に記載の情報処理装置。
【請求項６】
前記解析手段は、
前記解析中フォルダに属するファイルのメタデータに含まれる要素のうち、前記解析中フォルダのフォルダ名と合致する要素を集計することで、前記解析中フォルダのフォルダ名の命名ルールを解析することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記解析手段は、
前記解析中フォルダのフォルダ名を単語ごとに分割する分割手段を有し、
前記解析中フォルダに属するファイルのメタデータに含まれる要素のうち、前記分割手段により分割された単語と合致する要素を集計することで、前記解析中フォルダのフォルダ名の命名ルールを解析することを特徴とする請求項５に記載の情報処理装置。
【請求項８】
前記メタデータに含まれる要素は、前記メタデータを変換して得られる要素を含むことを特徴とする請求項６または７に記載の情報処理装置。
【請求項９】
前記メタデータは、ファイルの生成日時に関する情報を含むことを特徴とする請求項６から８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記メタデータは、ファイルのＧＰＳ情報を含むことを特徴とする請求項６から９のいずれか１項に記載の情報処理装置。
【請求項１１】
フォルダの構成ルールを解析するステップと、
対象ファイルに関する情報を取得するステップと、
前記構成ルールに則って、前記対象ファイルに関する情報をもとに、当該対象ファイルの移動先としての移動先フォルダを生成するステップと、を含むことを特徴とする情報処理方法。
【請求項１２】
コンピュータを、請求項１から１０のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
一般に、ユーザは、コンピュータ上の複数のファイルを、それぞれフォルダに分類して管理している。しかしながら、ファイルの振り分け操作は煩雑であり、ユーザの負荷が大きい。
そこで、特許文献１には、移動対象ファイルのメタデータ（撮像日時など）を用いてフォルダを自動的に生成し、生成したフォルダに移動対象ファイルを移動する点が開示されている。また、特許文献２には、既存のフォルダのうち、フォルダ名が移動対象ファイルのタイトル名と一部または全部が一致するフォルダに、移動対象ファイルを自動的に振り分ける点が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−２７１６１７号公報
【特許文献２】特開２０１２−１５６２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の技術では、移動対象ファイルの移動先となるフォルダのフォルダ名を、移動対象ファイルのメタデータのみを用いて決定している。そのため、生成されたフォルダは、ユーザの命名規則に則ったフォルダ名でない場合がある。生成されたフォルダがユーザの命名規則に則ったフォルダ名でなかった場合、ユーザは、フォルダ名を変更する操作を行わなければならない。
また、特許文献２に記載の技術では、フォルダ名が移動対象ファイルのタイトル名と一部または全部が一致するフォルダが検出できない場合、当該移動対象ファイルは、未分類であることを示すフォルダに振り分けられてしまう。そのため、ユーザは、未分類となった移動対象ファイルを振り分けるためのフォルダを自ら生成し、移動対象ファイルを移動し直す操作を行わなければならない。
そこで、本発明は、ファイルの移動に関するユーザの煩雑な操作を低減することを目的としている。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明に係る情報処理装置の一態様は、フォルダの構成ルールを解析する解析手段と、対象ファイルに関する情報を取得する取得手段と、前記解析手段により解析された構成ルールに則って、前記取得手段により取得された前記対象ファイルに関する情報をもとに、当該対象ファイルの移動先としての移動先フォルダを生成する生成手段と、を備える。
【発明の効果】
【０００６】
本発明によれば、ファイルの移動に関するユーザの煩雑な操作を低減することができる。
【図面の簡単な説明】
【０００７】
【図１】情報処理装置の構成例を示すブロック図である。
【図２】情報処理装置のハードウェア構成の一例を示す図である。
【図３】情報処理装置が実行するファイル移動処理を示すフローチャートである。
【図４】構成ルール解析処理の手順を示すフローチャートである。
【図５】フォルダ構成の一例である。
【図６】解析対象フォルダのフォルダパスの一例である。
【図７】フォルダパスの構成ルール解析処理の手順を示すフローチャートである。
【図８】利用判定処理の手順を示すフローチャートである。
【図９】合致要素列について説明する図である。
【図１０】第一の実施形態におけるファイル移動例である。
【図１１】第二の実施形態の利用判定処理の手順を示すフローチャートである。
【図１２】第二の実施形態の利用判定処理の手順を示すフローチャートである。
【図１３】第二の実施形態におけるファイル移動例である。
【図１４】第二の実施形態における構成ルール解析結果の一例である。
【発明を実施するための形態】
【０００８】
以下、添付図面を参照して、本発明を実施するための形態について詳細に説明する。
なお、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。
図１は、情報処理装置１００の構成例を示すブロック図である。情報処理装置１００は、記憶媒体上の既存のフォルダの構成ルールに則って、移動対象ファイルの移動先となる移動先フォルダを決定し、移動対象ファイルを移動する装置である。
より具体的には、情報処理装置１００は、所定のフォルダを解析の起点となる起点フォルダとして、当該起点フォルダ以下の階層のフォルダ群の構成ルールを解析する。そして、情報処理装置１００は、解析した構成ルールに則って、移動対象ファイルに関する情報をもとに移動対象ファイルの移動先フォルダを決定する。そして、情報処理装置１００は、決定した移動先フォルダが存在しない場合には当該移動先フォルダを生成し、移動対象ファイルを移動先フォルダへ移動する。なお、本明細書において、ファイルの移動とは、ファイルの移動およびコピーを指すものとする。
【０００９】
図１に示すように、情報処理装置１００は、構成ルール解析部１１０と、メタデータ抽出部１２０と、移動先決定部１３０と、フォルダ生成部１４０と、ファイル移動部１５０と、を備える。
構成ルール解析部１１０は、ユーザによって移動対象ファイルの移動先として指定された所定のフォルダを起点フォルダとし、その起点フォルダ以下の階層のフォルダ群（解析対象フォルダ）の構成ルールを解析する。その際、構成ルール解析部１１０は、起点フォルダから解析対象フォルダ内の最下層のフォルダまでの階層構造を示すフォルダパスを検索する。そして、構成ルール解析部１１０は、フォルダパスごとに構成ルールを解析し、その解析結果をもとに最終的な解析対象フォルダの構成ルールを特定する。
【００１０】
メタデータ抽出部１２０は、移動対象ファイルから特定のメタデータを抽出する。ファイルのメタデータは、例えば、ファイルの生成日時、種類、作成者、ファイル名など、ファイルに関する情報を含むことができる。また、ファイルが画像である場合、メタデータは、撮像日時、撮像場所（ＧＰＳ情報含む）、撮像者、絞り値、露出時間、カメラの製造元、カメラのモデルなどを示す情報を含んでもよい。メタデータ抽出部１２０は、これらのメタデータのうち、特定のメタデータとして、フォルダの構成ルールに利用され得るメタデータを抽出する。本実施形態では、特定のメタデータが、ファイルの生成日時に関する情報である場合について説明する。
【００１１】
移動先決定部１３０は、構成ルール解析部１１０により解析された構成ルールと、メタデータ抽出部１２０により抽出された移動対象ファイルのメタデータとに基づいて、移動対象ファイルの分類に適した移動先フォルダを決定する。フォルダ生成部１４０は、移動先決定部１３０により決定された移動先フォルダが存在していない場合、移動先フォルダを生成する。ファイル移動部１５０は、移動先決定部１３０により決定された移動先フォルダに、移動対象ファイルを移動する。
【００１２】
図２は、情報処理装置１００のハードウェア構成を示す図である。
情報処理装置１００は、例えばパーソナルコンピュータ（ＰＣ）により構成され、ＣＰＵ１１と、ＲＯＭ１２と、ＲＡＭ１３と、外部メモリ１４と、入力部１５と、表示部１６と、通信Ｉ／Ｆ１７と、システムバス１８とを備える。
ＣＰＵ１１は、情報処理装置１００における動作を統括的に制御するものであり、システムバス１８を介して、各構成部（１２〜１７）を制御する。ＲＯＭ１２は、ＣＰＵ１１が処理を実行するために必要なプログラムを記憶する不揮発性メモリである。なお、上記プログラムは、外部メモリ１４や着脱可能な記憶媒体（不図示）に記憶されていてもよい。ＲＡＭ１３は、ＣＰＵ１１の主メモリ、ワークエリアとして機能する。すなわち、ＣＰＵ１１は、処理の実行に際してＲＯＭ１２から必要なプログラムをＲＡＭ１３にロードし、ロードしたプログラムを実行することで各種の機能動作を実現する。
【００１３】
外部メモリ１４は、ファイルや、ファイルのメタデータを記憶する。また、外部メモリ１４は、ＣＰＵ１１がプログラムを用いた処理を行う際に必要な各種データや各種情報を記憶してもよい。さらに、外部メモリ１４には、ＣＰＵ１１がプログラムを用いた処理を行うことにより得られる各種データや各種情報が記憶されてもよい。
入力部１５は、キーボードやマウス等のポインティングデバイスによって構成される。ユーザは、この入力部１５を操作して、移動対象ファイルや移動対象ファイルの移動先である所定のフォルダ等を指定することができる。表示部１６は、液晶ディスプレイ（ＬＣＤ）等のモニタにより構成され、ファイルの表示や、移動対象ファイルや移動対象ファイルの移動先を指定するためのユーザインターフェース部の表示等を行うことができる。
【００１４】
通信Ｉ／Ｆ１７は、外部装置と通信するためのインタフェースである。通信Ｉ／Ｆ１７は、例えばＬＡＮインタフェースである。システムバス１８は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、外部メモリ１４、入力部１５、表示部１６および通信Ｉ／Ｆ１７を通信可能に接続する。
図１に示す情報処理装置１００の各部の機能は、ＣＰＵ１１がプログラムを実行することで実現することができる。ただし、図１に示す情報処理装置１００の各部のうち少なくとも一部が専用のハードウェアとして動作するようにしてもよい。この場合、専用のハードウェアは、ＣＰＵ１１の制御に基づいて動作する。
【００１５】
以下、情報処理装置１００において実行される処理の手順について、図３を参照しながら説明する。図３に示す処理は、例えばユーザにより移動対象ファイルおよび移動対象ファイルの移動先である所定のフォルダが指定されたタイミングで開始される。ただし、図３の処理の開始タイミングは、上記のタイミングに限らない。情報処理装置１００は、ＣＰＵ１１が必要なプログラムを読み出して実行することにより、図３に示す処理を実現することができる。
ただし、図１に示す情報処理装置１００の各要素のうち少なくとも一部が専用のハードウェアとして動作することで図３の処理が実現されるようにしてもよい。この場合、専用のハードウェアは、ＣＰＵ１１の制御に基づいて動作する。なお、以降、アルファベットＳはフローチャートにおけるステップを意味するものとする。
【００１６】
先ずＳ１において、情報処理装置１００は、ユーザによって指定された移動対象ファイルを取得する。なお、移動対象ファイルは、１つであってもよいし複数であってもよい。次にＳ２において、情報処理装置１００は、ユーザによって指定された移動対象ファイルの移動先のフォルダに関する情報を取得する。なお、移動対象ファイルの移動先は、１つであってもよいし複数であってもよい。
Ｓ３では、構成ルール解析部１１０は、Ｓ２において取得した移動対象ファイルの移動先のフォルダに関する情報をもとに、解析対象フォルダの構成ルールを解析する構成ルール解析処理を実行する。ここで、解析対象フォルダは、構成ルールを解析する対象となるフォルダ群であり、Ｓ２において情報が取得されたフォルダ（ユーザによって指定された所定のフォルダ）を起点フォルダとした場合の、起点フォルダ以下の階層のフォルダ群である。この構成ルール解析処理の詳細については後述する。
【００１７】
Ｓ４では、情報処理装置１００は、解析対象フォルダの構成ルールが存在するか、つまり、Ｓ３における構成ルール解析処理の結果、解析対象フォルダの構成ルールを解析できたか否かを判定する。そして、情報処理装置１００は、構成ルールが存在すると判定した場合、Ｓ５に移行し、構成ルールが存在しないと判定した場合、Ｓ９に移行する。
Ｓ５では、メタデータ抽出部１２０は、Ｓ１において取得された移動対象ファイルから、移動対象ファイルのメタデータを抽出する。ここでは、メタデータ抽出部１２０は、移動対象ファイルの生成日時を示す情報を抽出する。
【００１８】
Ｓ６では、移動先決定部１３０は、Ｓ３において解析された解析対象フォルダの構成ルールと、Ｓ５において抽出された移動対象ファイルのメタデータとに基づいて、移動対象ファイルの移動先フォルダを決定する。このＳ６における処理により、移動対象ファイルの移動先フォルダは、ユーザが指定したフォルダから変更される場合がある。
次にＳ７において、フォルダ生成部１４０は、Ｓ６において決定された移動先フォルダが存在するか否かを判定する。そして、フォルダ生成部１４０は、移動先フォルダが存在しないと判定すると、Ｓ８に移行して移動先フォルダを生成してからＳ９に移行する。一方、フォルダ生成部１４０は、Ｓ７において移動先フォルダが存在すると判定すると、そのままＳ９に移行する。
【００１９】
Ｓ９では、ファイル移動部１５０は、移動対象ファイルを移動先フォルダへ移動する。つまり、ファイル移動部１５０は、解析対象フォルダの構成ルールに則ってＳ６において移動先フォルダが決定されている場合、Ｓ６において決定された移動先フォルダへ移動対象ファイルを移動する。一方、解析対象フォルダの構成ルールが存在しないか解析できなかった場合には、ファイル移動部１５０は、Ｓ２において取得された移動先フォルダ（ユーザによって指定された移動先フォルダ）へ移動対象ファイルを移動する。
【００２０】
次に、図３のＳ３において実行される構成ルール解析処理について、図４を参照しながら説明する。
まずＳ３１において、構成ルール解析部１１０は、図３のＳ２において取得されたフォルダに関する情報をもとに、ユーザによって指定された所定のフォルダを起点フォルダとして、起点フォルダから最下層のフォルダまでを検索する。次にＳ３２において、構成ルール解析部１１０は、Ｓ３１の検索結果をもとに、起点フォルダ以下の階層のフォルダ群を、構成ルールを解析する対象となる解析対象フォルダとして特定する。
【００２１】
例えば、図５に示すようなフォルダ構成を持つ７個のフォルダ２０１〜２０７が存在する場合に、ユーザによって移動先のフォルダとしてフォルダ２０２が指定された場合を考える。この場合の解析対象フォルダは、ユーザによって指定されたフォルダ２０２と、フォルダ２０２の子孫フォルダにあたるフォルダ２０３およびフォルダ２０４の合計３個のフォルダとなる。
同様に、ユーザによってフォルダ２０１が指定された場合は、指定されたフォルダ２０１と、フォルダ２０１の子孫フォルダであるフォルダ２０２〜２０７の合計７個が、解析対象フォルダとなる。また、ユーザによってフォルダ２０３が指定された場合、指定されたフォルダ２０３は子孫フォルダを持たないフォルダであるため、解析対象フォルダはフォルダ２０３のみとなる。
【００２２】
図４に戻って、Ｓ３３では、構成ルール解析部１１０は、Ｓ３２において特定された解析対象フォルダのフォルダパスを整理する。つまり、構成ルール解析部１１０は、解析対象フォルダの起点フォルダから解析対象フォルダ内の最下層のフォルダまでの階層構造を示すフォルダパスを検索する。
例えば、図５に示すフォルダ構成を持つフォルダのうち、ユーザがフォルダ２０２を移動先フォルダとして指定した場合を考える。この場合、図６に示すように、フォルダパス３０１としては、フォルダ２０２とフォルダ２０３とによって構成されるパスと、フォルダ２０２とフォルダ２０４とによって構成されるパスの２つが存在することになる。この図６に示すように、フォルダパス３０１は、インデックスを付与して管理される。なお、フォルダパスは、複数検索される場合に限定されるものではなく、１つのみの場合もあり得る。
次にＳ３４において、構成ルール解析部１１０は、解析対象フォルダを構成するパスの数を取得する。次にＳ３５では、構成ルール解析部１１０は、パスカウンタを０にセットする。このパスカウンタは、後述するパスごとに構成ルールを解析する処理における指標として用いられる。
【００２３】
Ｓ３６では、構成ルール解析部１１０は、パスカウンタの値に合致するインデックスを有するパスを、構成ルールの解析対象となるパスとして取得し、Ｓ３７においてパスカウンタに１を加算する。次にＳ３８では、構成ルール解析部１１０は、Ｓ３６において取得されたパスの構成ルールを解析する。このＳ３８において実行されるパスの構成ルール解析処理の詳細については後述する。
Ｓ３９では、構成ルール解析部１１０は、Ｓ３８の解析結果をパスごとに保管する。次にＳ４０では、構成ルール解析部１１０は、パスカウンタがＳ３４において取得されたパスの数よりも小さいか否かを判定する。そして、パスカウンタが上記のパス数よりも小さい場合はＳ３６に戻り、パスカウンタが上記のパス数以上である場合はＳ４１に移行する。つまり、構成ルール解析部１１０は、Ｓ３４において取得されたパスの数だけＳ３６〜Ｓ３９の処理を繰り返し、パスごとに構成ルールを解析する。
【００２４】
Ｓ４１では、構成ルール解析部１１０は、解析対象フォルダ内の全パス数に対するフォルダパスの構成ルールを検出できたパス数（検出パス数）の割合である検出率（％）を、下記（１）式をもとに算出する。
検出率（％）＝検出パス数／全パス数×１００  ………（１）
Ｓ４２では、構成ルール解析部１１０は、Ｓ４１において算出された検出率が、予め設定されたフォルダパスの構成ルール検出率の基準値（％）以上であるか否かを判定する。そして、構成ルール解析部１１０は、検出率が基準値以上である場合にはＳ４３に移行し、検出率が基準値よりも小さい場合にはＳ４６に移行する。
【００２５】
Ｓ４３では、構成ルール解析部１１０は、パスごとに構成ルールを解析した結果、複数のパス間で構成ルールがどの程度一致しているかを示す一致率（％）を算出する。本実施形態では、構成ルール解析部１１０は、上記検出パス数と、同一構成ルールを有するパスの最大数（パス最大数）とを用い、下記（２）式をもとに一致率を算出する。
一致率（％）＝パス最大数／検出パス数  ………（２）
ここで、「同一構成ルールを有するパスの最大数」について説明する。例えば、解析対象フォルダのパスが１０個存在する場合を考える。構成ルールの解析の結果、構成ルールを検出したパスは９個であり、検出した９個のパスには３種類の異なる構成ルールＡ、ＢおよびＣが存在していたものとする。ここで、それぞれの内訳は、構成ルールＡを持つパスが７個、構成ルールＢを持つパスが１個、構成ルールＣを持つパスが１個であるとする。この場合、「同一構成ルールを有するパスの最大数」は、構成ルールＡを持つパスの数である７となる。
【００２６】
Ｓ４４では、構成ルール解析部１１０は、Ｓ４３において算出されたフォルダパスの構成ルールの一致率が、予め設定されたフォルダパスの構成ルール一致率の基準値（％）以上であるか否かを判定する。そして、構成ルール解析部１１０は、一致率が基準値以上である場合にはＳ４５に移行し、一致率が基準値よりも小さい場合にはＳ４６に移行する。
Ｓ４５では、構成ルール解析部１１０は、解析対象フォルダの構成ルールを決定する。ここでは、構成ルール解析部１１０は、各パスの構成ルールのうち、パス最大数に対応する構成ルールを、最終的な解析対象フォルダの構成ルールとして決定する。上記の構成ルールＡを持つパスが７個、構成ルールＢを持つパスが１個、構成ルールＣを持つパスが１個である例では、構成ルールＡが最終的な解析対象フォルダの構成ルールとして決定される。
つまり、構成ルール解析部１１０は、フォルダパスが複数検索された場合、パスごとの複数の構成ルールのうち同一の構成ルールの割合を示す一致率が最も高く、かつ基準値以上である構成ルールを、最終的な解析対象フォルダの構成ルールとして特定する。Ｓ４６では、構成ルール解析部１１０は、解析対象フォルダの構成ルールは該当なしと判断する。
【００２７】
次に、図４のＳ３８において実行されるパスの構成ルール解析処理について、図７を参照しながら説明する。
まずＳ３８１において、構成ルール解析部１１０は、一時退避用スタックを生成する。ここで、一時退避用スタックは、パス上に存在するフォルダを解析するにあたり、フォルダ情報を一時的に退避させておくためのスタックである。なお、フォルダ情報は、フォルダ名とフォルダ階層とを含む情報である。
Ｓ３８２では、構成ルール解析部１１０は、フォルダパス中の最上層のフォルダを解析中フォルダとして設定する。例えば、図６に示すインデックス０のパスを解析する場合、フォルダ２０２が最上層のフォルダにあたるため、このＳ３８２では、フォルダ２０２が解析中フォルダとして設定される。次にＳ３８３では、構成ルール解析部１１０は、解析中フォルダ内にファイルが存在するか否かを判定する。そして、構成ルール解析部１１０は、解析中フォルダ内にファイルが存在しない場合はＳ３８４へ移行し、ファイルが存在する場合はＳ３８５へ移行する。
【００２８】
Ｓ３８４では、構成ルール解析部１１０は、解析中フォルダのフォルダ情報を一時退避スタックにプッシュしてＳ３９３に移行する。
Ｓ３８５では、構成ルール解析部１１０は、解析中フォルダ内に存在するファイルの数を取得する。Ｓ３８６では、構成ルール解析部１１０は、解析中フォルダの名前を解析中フォルダ名として取得し、Ｓ３８７では、構成ルール解析部１１０は、解析中フォルダの階層を解析中フォルダ階層として取得する。ここで、フォルダ階層とは、パスの最上層のフォルダを０とし、階層が下がるほど１、２、…と大きくなる値であり、例えば図６に示すインデックス０のパスの場合、フォルダ２０２のフォルダ階層は０、フォルダ２０３のフォルダ階層は１となる。
Ｓ３８８では、構成ルール解析部１１０は、解析中フォルダがユーザによりファイルの分類に利用されているかを判定する利用判定処理を実行する。この利用判定処理は、解析中フォルダのフォルダ名が、解析中フォルダに属するファイルと関連があるか否かを判定する処理であり、その詳細については後述する。
【００２９】
Ｓ３８９では、構成ルール解析部１１０は、一時退避用スタックが空であるか否かを判定する。そして、構成ルール解析部１１０は、一時退避用スタックが空でない場合はＳ３９０へ、空である場合はＳ３９３へ移行する。
Ｓ３９０では、構成ルール解析部１１０は、一時退避用スタックからフォルダ情報をポップし、Ｓ３９１において、ポップしたフォルダ情報に含まれるフォルダ名を解析中フォルダ名として設定する。また、Ｓ３９２では、構成ルール解析部１１０は、ポップしたフォルダ情報に含まれるフォルダ階層を解析中フォルダ階層として設定し、Ｓ３８８に戻る。つまり、構成ルール解析部１１０は、一時退避用スタックに一時退避したフォルダ情報がなくなるまで解析中フォルダ名と解析中フォルダ階層とを変更して、Ｓ３８８における利用判定処理を繰り返す。
【００３０】
Ｓ３９３では、構成ルール解析部１１０は、パスの構成ルール解析が終了したか否かを判定する。つまり、構成ルール解析部１１０は、パスの終端（最下層のフォルダ）まで構成ルールの解析を行ったか否かを判定する。そして、構成ルール解析部１１０は、未解析のフォルダが存在し、構成ルール解析が終了していないと判定するとＳ３９４に移行し、解析済フォルダの次の階層のフォルダを解析中フォルダとして設定し、Ｓ３８３に戻る。一方、構成ルール解析部１１０は、Ｓ３９３において構成ルール解析が終了していると判定すると、図７の処理を終了する。
このように、構成ルール解析部１１０は、パスごとの構成ルールを解析する際、フォルダパス中の最上層のフォルダから階層順に解析を進めてパスの終端まで処理を続ける。
【００３１】
次に、図７のＳ３８８において実行される利用判定処理について、図８を参照しながら説明する。この利用判定処理は、解析中フォルダがファイルの分類に利用されているか否かを判定し、分類に利用されている場合、解析中フォルダのフォルダ名の命名ルールを解析する処理である。
まずＳ８０１において、構成ルール解析部１１０は、解析中フォルダ名が数字であるか否かを判定する。そして、構成ルール解析部１１０は、解析中フォルダ名が数字であると判定した場合にはＳ８０２に移行する。一方、構成ルール解析部１１０は、解析中フォルダ名が数字ではないと判定した場合には、解析中フォルダはファイルの分類に利用されておらず、解析中フォルダの構成ルールなし（命名ルールなし）と判断して、そのまま処理を終了する。
【００３２】
Ｓ８０２では、構成ルール解析部１１０は、解析中フォルダのフォルダ名との関連性の判定の対象となる対象ファイルのファイル情報を格納するためのファイル列を生成（準備）する。ここで、上記対象ファイルは、解析中フォルダに属するファイルであり、図７のＳ３８３においてファイルありと判定されたフォルダ内のすべてのファイルとすることができる。また、上記ファイル情報は、例えばファイルが持つメタデータとすることができる。ファイル列に格納された各ファイル情報にはインデックスが付与され、インデックスを用いて該当するファイル情報を取得できるように構成されている。
Ｓ８０３では、構成ルール解析部１１０は、Ｓ８０２において準備されたファイル列へ、対象ファイルのファイル情報を追加する。次にＳ８０４では、構成ルール解析部１１０は、ファイルカウンタを０に設定する。
【００３３】
Ｓ８０５では、構成ルール解析部１１０は、空の合致要素列を生成（準備）する。ここで、合致要素列は、上記ファイル列に含まれるファイル情報（メタデータ）のうち、解析中フォルダ名と合致する要素（合致要素）を格納するための列である。以下、合致要素について説明する。
例えば、図９（ａ）に示すように、解析中フォルダ２１１内に４つのファイル２１２〜２１５が存在している場合を考える。ここで、解析中フォルダ２１１は、フォルダ名として「２０１３」を持つフォルダであり、解析中フォルダ２１１内に存在する４つのファイル２１２〜２１５の生成日時は、図９（ａ）に示すとおりである。
【００３４】
この場合、図９（ａ）に示すフォルダ構成における合致要素は、図９（ｂ）に示す５つとなる。合致要素３１１は、対象フォルダである解析中フォルダ２１１と、対象ファイルであるファイル２１２とに関し、メタデータ「生成日時」に含まれる要素（内部要素）のうち、「年」が対象フォルダのフォルダ名に合致していることを表している。合致要素３１２、３１３および３１４は、解析中フォルダ２１１とそれぞれファイル２１３、２１４および２１５とに関する結果であり、内容は合致要素３１１と同様である。合致要素３１５は、解析中フォルダ２１１とファイル２１５とに関し、メタデータ項目「生成日時」の内部要素のうち、「時分」が対象フォルダのフォルダ名に合致していることを表している。
【００３５】
上記のように、年、月、日、時、分、秒といった複数の内部要素により構成される生成日時のようなメタデータにおいて、内部要素の一部が合致要素となる場合、メタデータ項目名と合致した内部要素とを対応付けて合致要素列に格納するものとする。例えば、メタデータ項目名と合致した内部要素とは、ハイフン（−）でつないで表現することができる。この場合、図９（ｂ）の合致要素３１１は、「生成日時−年」として合致要素列に格納されることになる。この合致要素列への格納処理は、以下に説明する図８のＳ８０６〜Ｓ８１１により実現される。
【００３６】
Ｓ８０６では、構成ルール解析部１１０は、Ｓ８０３において生成されたファイル列から、ファイルカウンタと同じインデックスを持つファイル情報を取得する。次にＳ８０７において、構成ルール解析部１１０は、Ｓ８０６において取得されたファイル情報をもとに、対象ファイルの生成日時を取得する。続いてＳ８０８において、構成ルール解析部１１０は、ファイルカウンタに１を加算する。
次にＳ８０９において、構成ルール解析部１１０は、解析中フォルダ名とＳ８０７において取得されたファイル生成日時の内部要素（年、月、日など）の少なくとも一部とが合致するか否かを判定する。そして、構成ルール解析部１１０は、解析中フォルダ名とファイル生成日時の内部要素の少なくとも一部とが合致すると判定した場合Ｓ８１０へ、合致しないと判定した場合はＳ８１１へ移行する。
【００３７】
Ｓ８１０では、構成ルール解析部１１０は、Ｓ８０９において合致すると判定された要素（合致要素）を合致要素列へ追加する。なお、合致要素は、比較対象として用いた要素の数によっては複数存在する場合がある。合致要素が複数存在する場合は、合致要素すべてを合致要素列に追加する。
次にＳ８１１において、構成ルール解析部１１０は、ファイルカウンタの値がファイル列に格納されたファイル数、つまり、図７のＳ３８５において取得されたファイル数よりも小さいか否かを判定する。そして、構成ルール解析部１１０は、ファイルカウンタがファイル数よりも小さいと判定した場合はＳ８０６へ戻り、ファイルカウンタがファイル数以上であると判定した場合はＳ８１２へ移行する。つまり、構成ルール解析部１１０は、解析中フォルダのフォルダ名との関連性の判定の対象となる対象ファイルの数と同じ回数だけＳ８０６からＳ８１０までの処理を繰り返すこととなる。
【００３８】
Ｓ８１２では、構成ルール解析部１１０は、解析中フォルダ名が対象ファイルの生成日時とどの程度合致しているかを示す合致率（％）を、合致要素列で最多登場する要素の数（最多要素数）を用いて下記（３）式をもとに算出する。
合致率（％）＝最多要素数／全ファイル数  ………（３）
ここで、「合致要素列で最多登場する要素の数」について説明する。例えば、合致要素列に「生成日時−年」、「生成日時−年」、「生成日時−年」「生成日時−年」、「生成日時−時分」という５つの合致要素が存在していたとする。この場合、「合致要素列で最多登場する要素の数」は、「生成日時−年」の登場数である４になる。また、上記（３）の「全ファイル数」とは、対象ファイルの総数であり、図７のＳ３８５において取得されたファイル数である。
【００３９】
Ｓ８１３では、構成ルール解析部１１０は、Ｓ８１２において算出された合致率が、予め設定されたフォルダ名合致率の基準値（％）以上であるか否かを判定する。そして、構成ルール解析部１１０は、合致率が基準値以上である場合、解析中フォルダはファイルの分類に利用されていると判断してＳ８１４に移行する。一方、構成ルール解析部１１０は、合致率が基準値よりも小さい場合、解析中フォルダはファイルの分類に利用されておらず、解析中フォルダの構成ルールなし（命名ルールなし）と判断して処理を終了する。
【００４０】
Ｓ８１４では、構成ルール解析部１１０は、解析中フォルダのフォルダ名の命名ルールを解析し、これを解析中フォルダの構成ルールとして保管する。具体的には、構成ルール解析部１１０は、合致要素列で最多登場する合致要素が、解析中フォルダの命名ルールに対応するとして、解析中フォルダ階層と合致要素列で最多登場する合致要素とを対応付けて、解析中フォルダの構成ルールとして保管する。例えば、解析中フォルダ階層が０で、最多登場する合致要素が「生成日時−年」であった場合、解析中フォルダの構成ルールは、「フォルダ階層０＝生成日時−年」と表現して保管される。
【００４１】
このように、構成ルール解析部１１０は、解析中フォルダに属するファイルのメタデータに含まれる要素のうち、解析中フォルダのフォルダ名と合致する要素を集計することで、解析中フォルダのフォルダ名の命名ルールを解析する。そして、構成ルール解析部１１０は、フォルダパス中の最上層のフォルダから階層順に解析中フォルダとして設定し、上記の利用判定処理により解析中フォルダのフォルダ名の命名ルールをそれぞれ解析することで、フォルダパスの構成ルールを解析する。
なお、図４のＳ４２、Ｓ４４および図８のＳ８１３の各判定で用いる基準値は、予め設定された固定値であってもよいし、ユーザが任意に変更可能であってもよい。
【００４２】
以下、移動対象ファイルの移動動作例について説明する。ここでは、図１０（ａ）に示すように、ユーザが４つのファイル４０１を移動対象ファイルとして選択し、フォルダ２２１を移動先フォルダとして選択した場合について説明する。
この場合、構成ルール解析部１１０は、移動先フォルダ２２１を起点とした解析対象フォルダの構成ルールを解析する。すると、解析の結果、「フォルダ階層０＝ルールなし、フォルダ階層１＝生成日時−年、フォルダ階層２＝生成日時−月」という構成ルールが存在し、ファイルの生成日時のうち「年」と「月」とがファイルの分類に利用されていることが明らかになる。
【００４３】
次に、メタデータ抽出部１２０は、移動対象ファイル４０１から構成ルールに関連するメタデータを抽出する。このとき、メタデータ抽出部１２０は、ファイルの生成日時を抽出する。
そして、移動先決定部１３０は、上記の構成ルール解析部１１０とメタデータ抽出部１２０との処理結果から、移動対象ファイル４０１の移動先フォルダを決定する。図１０（ａ）に示す例では、ファイルの生成日時のうち「年」と「月」とがファイルの分類に利用されているため、移動先決定部１３０は、移動対象ファイル４０１の生成年と生成月とに基づいて移動先フォルダを決定する。
ここで、図１０（ａ）に示すように、４つの移動対象ファイル４０１のうち、すべてのファイルの生成年が２０１３年であり、１つのファイルの生成月が５月、残りの３つのファイルの生成月が１２月であるものとする。この場合、１つのファイルは「Ｐｈｏｔｏ／２０１３／０５」というパスが移動先フォルダとして決定され、残りの３つのファイルは「Ｐｈｏｔｏ／２０１３／１２」というパスが移動先フォルダとして決定される。
【００４４】
移動先フォルダが決定すると、フォルダ生成部１４０は、決定された移動先フォルダが存在するか否かを確認する。そして、フォルダ生成部１４０は、移動先フォルダ「Ｐｈｏｔｏ／２０１３／１２」が存在しないことを確認し、図１０（ｂ）に示すように、「Ｐｈｏｔｏ／２０１３／１２」のフォルダ２２２を生成する。
そして、ファイル移動部１５０は、移動対象ファイル４０１を、それぞれについて決定された移動先フォルダに移動する。移動した後の状態を表した図が図１０（ｃ）である。このように、４つの移動対象ファイル４０１のうち、１つのファイルが「Ｐｈｏｔｏ／２０１３／０５」のフォルダ２２３に移動され、残りの３つのファイルが新たに生成された「Ｐｈｏｔｏ／２０１３／１２」のフォルダ２２２に移動される。
【００４５】
以上のように、本実施形態における情報処理装置１００は、ユーザが既に分類を行っているフォルダ構成ルールに合わせて、移動対象ファイルの格納に適したフォルダを新規に作成し、そこに移動対象ファイルを移動することができる。
一般に、ユーザは、コンピュータ上の複数のファイルを、それぞれフォルダに分類して管理している。しかしながら、例えば新たな分類を追加したい場合、ユーザは、自身が決定した命名ルールに則ったフォルダ名で新たにフォルダを生成したうえで、生成したフォルダにファイルを移動する必要がある。また、複数の移動対象ファイルを複数のフォルダに分類したい場合、ユーザは、ファイルの移動操作を複数回繰り返さなければならない。このように、ファイルの振り分け操作は煩雑であり、ユーザの負荷が大きい。
【００４６】
これに対して、本実施形態における情報処理装置１００は、既存のフォルダの構成ルールを解析し、解析された構成ルールに則って、移動対象ファイルに関する情報をもとに、移動対象ファイルの移動先フォルダを決定する。このとき、情報処理装置１００は、決定された移動先フォルダが存在しない場合、当該移動先フォルダを生成する。そして、情報処理装置１００は、移動対象ファイルを、解析された構成ルールに則って決定された移動先フォルダに移動する。
【００４７】
したがって、ユーザが独自のフォルダ構造でファイルを管理している場合でも、既存のフォルダの構成ルールに合わせた適切な位置にファイルを移動することができる。そのため、情報処理装置１００によってファイルが移動された後に、ユーザが手動でファイルを再整理する必要がない。また、情報処理装置１００は、移動対象ファイルの移動先となるフォルダが存在しない場合、移動先フォルダを自動で生成するので、ユーザのフォルダ生成の手間が省ける。このように、ファイル移動に関するユーザの煩雑な操作を低減し、ユーザの負荷を軽減することができるので、ユーザの作業効率を向上させることができる。
さらに、情報処理装置１００は、複数の移動対象ファイルを一度の操作で複数のフォルダに分類し移動することができる。つまり、ユーザは、複数の移動対象ファイルを一度に指定するだけでよく、ファイルの移動操作を複数回繰り返す必要がない。このように、ユーザの負荷を大幅に軽減することができる。
【００４８】
また、情報処理装置１００は、フォルダの構成ルールの解析に際し、ユーザによって指定された所定のフォルダを解析の起点となる起点フォルダとし、その起点フォルダ以下の階層のフォルダ群を解析対象フォルダとして構成ルールを解析する。つまり、ユーザがファイル管理を行っているフォルダ群の第１階層のフォルダを指定するだけで、情報処理装置１００は、ユーザがファイル管理を行っているフォルダ群の構成ルールを解析し、移動対象フォルダを適切に移動することができる。
【００４９】
また、情報処理装置１００は、解析対象フォルダの最上層のフォルダである起点フォルダから、解析対象フォルダ内の最下層のフォルダまでの階層構造を示すフォルダパスを検索し、フォルダパスごとに構成ルールを解析する。そして、情報処理装置１００は、フォルダパスが複数検索された場合、フォルダパスごとの複数の構成ルールのうち同一の構成ルールの割合を示す一致率が最も高く、かつ基準値以上である構成ルールを解析対象フォルダの構成ルールとして特定する。
このように、複数検索されたフォルダパスの構成ルールの傾向を解析するので、適切に解析対象フォルダの構成ルールを解析することができる。その結果、移動対象ファイルを誤ったフォルダに移動してしまうことを抑制することができ、ユーザの負荷増大を抑制することができる。
【００５０】
さらに、情報処理装置１００は、フォルダパスの構成ルールの解析に際し、フォルダパス中の最上層のフォルダから階層順に解析中フォルダを設定し、解析中フォルダのフォルダ名の命名ルールをそれぞれ解析する。
複数のファイルをフォルダごとに分類して管理する場合、そのフォルダ名はファイルに関する情報と関連のある名称であることが一般的である。フォルダパス中の各フォルダの命名ルールを階層順に解析することで、フォルダパスの構成ルールを適切に解析することができる。
【００５１】
また、情報処理装置１００は、解析中フォルダに属するファイルのメタデータに含まれる要素のうち、解析中フォルダのフォルダ名と合致する要素（合致要素）を集計することで、解析中フォルダのフォルダ名の命名ルールを解析する。
具体的には、情報処理装置１００は、解析中フォルダに属する全ファイルのうち同一の合致要素を有するファイルの割合を示す合致率を算出し、合致率が最も高くかつ基準値以上となる合致要素を、解析中フォルダ名の命名ルールとして特定する。このように、解析中フォルダのフォルダ名とファイルのメタデータとの直接的な関連性を解析することで、適切に解析中フォルダの命名ルールを解析することができる。
【００５２】
ここで、解析中フォルダの命名ルールの解析に用いるメタデータは、ファイルの生成日時とすることができる。複数のファイルをフォルダごとに分類して管理する場合、ファイルの生成日時（年、月、日）に応じてフォルダに階層構造を設けてファイルを管理することが多い。したがって、解析中フォルダのフォルダ名が、解析中フォルダに属するファイルの生成日時（年、月、日）と合致しているか否かを判定することで、適切に解析中フォルダのフォルダ名の命名ルールを解析することができる。
【００５３】
以上のように、情報処理装置１００は、ファイルの移動に関するユーザによる煩雑な操作を低減することができ、操作感を向上させることができる。
なお、本実施形態では、ファイルのメタデータとして、ファイルの生成日時を例にとって説明したが、生成日時以外のメタデータを用いてフォルダ構成ルールを解析することもできる。例えば、ファイルのメタデータとしてファイル名を用いてフォルダ構成ルールを解析してもよい。
【００５４】
次に、本発明の第二の実施形態について説明する。
上述した第一の実施形態では、利用判定処理に用いるメタデータを、ファイルの生成日時とする場合について説明した。第二の実施形態では、上記メタデータとして、ファイルの生成日時とＧＰＳ情報とを用いる場合について説明する。
本実施形態における情報処理装置１００の全体構成は、図１に示す構成と同様である。また、本実施形態における情報処理装置１００は、上述した第一の実施形態と同様に、図３、図４および図７に示す処理を実行する。ただし、図７のＳ３８８において実行する利用判定処理が第一の実施形態とは異なる。したがって、以下、処理の異なる部分を中心に説明する。
【００５５】
図１１および図１２は、図７のＳ３８８において実行される利用判定処理の手順を示すフローチャートである。
図１１のＳ８２１では、構成ルール解析部１１０は、図８のＳ８０２と同様にファイル列を生成（準備）する。そして、Ｓ８２２では、構成ルール解析部１１０は、図８のＳ８０３と同様に、ファイル列へ対象ファイルのファイル情報を追加する。次にＳ８２３では、構成ルール解析部１１０は、対象ファイルの数を取得する。
Ｓ８２４では、構成ルール解析部１１０は、解析中フォルダ名が複数の単語により構成されている可能性があることを考慮して、単語分割を行う。なお、解析中フォルダ名が１つの単語により構成されている場合、解析中フォルダ名がそのまま単語分割結果となる。次にＳ８２５において、構成ルール解析部１１０は、解析中フォルダ名を構成している単語を格納するための単語列を生成（準備）する。なお、この単語列に格納される各単語にはインデックスが付与され、インデックスを用いて該当する単語を取得できるように構成されている。
【００５６】
Ｓ８２６では、構成ルール解析部１１０は、Ｓ８２５において準備された単語列に、Ｓ８２４において分割された単語をすべて追加する。そして、Ｓ８２７では、構成ルール解析部１１０は、Ｓ８２４の単語分割によって得られた単語の数を取得する。次にＳ８２８において、構成ルール解析部１１０は、上記単語分割によって分割された単語ごとに処理を区別するための単語カウンタの値を０にセットする。
Ｓ８２９では、構成ルール解析部１１０は、空の合致要素列を生成（準備）する。ここで、合致要素列は、上記ファイル列に含まれるファイル情報（メタデータ）のうち、解析中フォルダ名を構成する単語と合致する項目（合致要素）を格納するための列である。Ｓ８３０では、構成ルール解析部１１０は、単語カウンタの値がＳ８２７により取得された単語数よりも小さいか否かを判定する。そして、構成ルール解析部１１０は、単語カウンタの値が単語数よりも小さいと判定した場合は図１２のＳ８３１へ移行し、単語カウンタの値が単語数以上であると判定した場合は処理を終了する。つまり、構成ルール解析部１１０は、解析中フォルダ名を構成している単語の個数分だけ、図１２に示す判定処理を繰り返す。
【００５７】
図１２のＳ８３１では、構成ルール解析部１１０は、単語列から単語カウンタのインデックスを持つ単語を取得し、Ｓ８３２において、単語カウンタの値に１を加算する。次にＳ８３３では、構成ルール解析部１１０は、合致要素列をクリアする。これは、複数の単語ごとの判定処理結果が混ざらないようにするためである。続いてＳ８３４において、構成ルール解析部１１０は、ファイルカウンタの値を０にセットする。
次にＳ８３５では、構成ルール解析部１１０は、Ｓ８３１において取得された単語が数字であるか否かを判定する。そして、構成ルール解析部１１０は、単語が数字であると判定した場合はＳ８３６へ、単語が数字ではないと判定した場合はＳ８４２へ移行する。
【００５８】
Ｓ８３６では、構成ルール解析部１１０は、ファイルカウンタの値がＳ８２３において取得されたファイル数よりも小さいか否かを判定する。そして、構成ルール解析部１１０は、ファイルカウンタの値がファイル数よりも小さいと判定した場合はＳ８３７へ、ファイルカウンタの値がファイル数よりも大きいと判定した場合はＳ８５０へ移行する。
Ｓ８３７では、構成ルール解析部１１０は、ファイル列からファイルカウンタの値と同じインデックスを持つファイルを取得し、Ｓ８３８において、ファイルカウンタの値に１を加算する。次にＳ８３９では、構成ルール解析部１１０は、Ｓ８３７において取得されたファイルから、当該ファイルの生成日時を取得する。
【００５９】
そして、Ｓ８４０では、構成ルール解析部１１０は、Ｓ８３１において取得された単語が、Ｓ８３９において取得されたファイルの生成日時の内部要素（年、月、日）の少なくとも一部と合致するか否かを判定する。判定の結果、合致する要素がある場合はＳ８４１へ移行し、合致した要素を合致要素列に追加してからＳ８３６へ戻る。一方、合致する要素がない場合はそのままＳ８３６へ戻る。つまり、構成ルール解析部１００は、Ｓ８３１において取得された単語に対して、対象ファイルの数と同じ回数だけ、ファイル生成日時と合致するか否かの判定処理を繰り返す。
【００６０】
Ｓ８４２では、構成ルール解析部１１０は、Ｓ８３１において取得された単語が地名であるか否かを判定する。なお、本実施形態では、Ｓ８３１において取得された単語が数字以外の文字列である場合、その単語が地名であると判定する。そして、構成ルール解析部１１０は、単語が地名であると判定した場合はＳ８４３へ、単語が地名ではないと判定した場合はＳ８５０へ移行する。
Ｓ８４３では、構成ルール解析部１１０は、ファイルカウンタの値がＳ８２３において取得されたファイル数よりも小さいか否かを判定する。そして、構成ルール解析部１１０は、ファイルカウンタの値がファイル数よりも小さいと判定した場合はＳ８４４へ、ファイルカウンタの値がファイル数よりも大きいと判定した場合はＳ８５０へ移行する。
【００６１】
Ｓ８４４では、構成ルール解析部１１０は、ファイル列からファイルカウンタの値と同じインデックスを持つファイルを取得し、Ｓ８４５において、ファイルカウンタの値に１を加算する。次にＳ８４６では、構成ルール解析部１１０は、Ｓ８３７において取得されたファイルから、当該ファイルがメタデータとして持つＧＰＳ情報を取得する。Ｓ８４７では、Ｓ８４６において取得されたＧＰＳ情報を地名に変換する。ＧＰＳ情報から地名へ変換する際は、別途地名辞書を参照し、ＧＰＳ情報に対応する地名を取得する。
そして、Ｓ８４８では、構成ルール解析部１１０は、Ｓ８３１において取得された単語が、Ｓ８４７において変換された地名と合致するか否かを判定する。判定の結果、地名が合致する場合はＳ８４９へ移行し、合致した地名を合致要素列に追加してからＳ８４３へ戻る。一方、地名が合致しない場合はそのままＳ８４３へ戻る。つまり、構成ルール解析部１００は、Ｓ８３１において取得された単語に対して、対象ファイルの数だけ、ファイルのＧＰＳ情報を変換して得られた地名と合致するか否かの判定処理を繰り返す。
【００６２】
１つの単語に対して対象ファイル分だけＳ８３５〜Ｓ８４９の判定処理を行った後、Ｓ８５０において、構成ルール解析部１１０は、単語合致率（％）を算出する。単語合致率は、解析中フォルダ名を構成する単語が、対象ファイルのメタデータとどの程度合致しているかを示す値であり、合致要素列で最多登場する要素の数（最多要素数）を用いて、上記（３）式と同様に、下記（４）式をもとに算出する。
単語合致率（％）＝最多要素数／全ファイル数  ………（４）
【００６３】
Ｓ８５１では、構成ルール解析部１１０は、Ｓ８５０において算出された単語合致率が、予め設定された単語合致率の基準値（％）以上であるか否かを判定する。そして、構成ルール解析部１１０は、単語合致率が基準値以上である場合にはＳ８５３に移行し、単語合致率が基準値よりも小さい場合にはＳ８５４に移行する。
Ｓ８５３では、構成ルール解析部１１０は、解析中フォルダ名に含まれる単語が分類に利用されていると判定し、解析中フォルダ階層と単語カウンタの値と合致要素とを、解析中フォルダに含まれる単語の構成ルールとして保管してから、処理を終了する。Ｓ８５４では、構成ルール解析部１１０は、解析中フォルダ名に含まれる単語が分類に利用されていないと判定し、フォルダ構成ルールとして、解析フォルダ階層と単語カウンタの値と合致要素なし（構成ルールなし）という情報を保管してから処理を終了する。
【００６４】
このように、構成ルール解析部１１０は、解析中フォルダに属するファイルのメタデータに含まれる要素のうち、解析中フォルダのフォルダ名を分割して得られた単語と合致する要素を集計することで、解析中フォルダのフォルダ名の命名ルールを解析する。このとき、構成ルール解析部１１０は、ファイルのメタデータに含まれる要素に、当該メタデータを変換して得られる要素を含める。そして、構成ルール解析部１１０は、フォルダパス中の最上層のフォルダから階層順に解析中フォルダとして設定し、上記の利用判定処理により解析中フォルダのフォルダ名の命名ルールをそれぞれ解析することで、フォルダパスの構成ルールを解析する。
なお、図１２のＳ８５１の判定で用いる基準値は、予め設定された固定値であってもよいし、ユーザが任意に変更可能であってもよい。
【００６５】
以下、移動対象ファイルの移動動作例について説明する。ここでは、図１３（ａ）に示すように、ユーザが４つのファイル４１１を移動対象ファイルとして選択し、フォルダ２３１を移動先フォルダとして選択した場合について説明する。
この場合、構成ルール解析部１１０は、フォルダ２３１を起点とした解析対象フォルダの構成ルールを解析する。このとき、構成ルール解析部１１０は、解析対象フォルダのフォルダパスを検索する。検索の結果、図１４（ａ）に示すような２つのパスからなるフォルダパス３０２が得られる。
【００６６】
次に、構成ルール解析部１１０は、パスごとに構成ルールの解析を行う。以下、図１４（ａ）のインデックス０のフォルダパスについて説明する。まず、構成ルール解析部１１０は、フォルダパスの先頭のフォルダである「Ｐｈｏｔｏ」というフォルダを解析中フォルダに設定する。そして、構成ルール解析部１１０は、この解析中フォルダのフォルダ名に対して単語分割を行う。これにより、構成ルール解析部１１０は、解析中フォルダを構成する単語数は１つであり、その単語は「Ｐｈｏｔｏ」であるという結果を得る。
そこで、構成ルール解析部１１０は、単語「Ｐｈｏｔｏ」が分類に利用されているかを判定する。ところが、単語「Ｐｈｏｔｏ」は数字でも地名でもないため、構成ルール解析部１１０は、単語「Ｐｈｏｔｏ」はファイルの分類に利用されていないと判定する。以上によりフォルダ「Ｐｈｏｔｏ」に関する判定処理は終了する。
【００６７】
続いて、構成ルール解析部１１０は、インデックス０のフォルダパス上の次のフォルダである「２０１２富士山」というフォルダを解析中フォルダに設定する。この解析中フォルダのフォルダ名「２０１２富士山」は、「２０１２」と「富士山」という２つの単語に分割できる。そのため、構成ルール解析部１１０は、図１４（ｂ）に示すように、「２０１２」と「富士山」の２つの単語が格納された単語列３２０を生成する。そして、構成ルール解析部１１０は、これら２つの単語について、それぞれファイルの分類に利用されているか否かの判定を行う。
【００６８】
単語列中のインデックス０の単語「２０１２」は数字であるため、構成ルール解析部１１０は、単語「２０１２」が、解析中フォルダ内のファイルの生成日時の内部要素の少なくとも１つと合致するか否かを判定する。また、インデックス１の単語「富士山」は文字列であるため、構成ルール解析部１１０は、単語「富士山」が、解析中フォルダ内のファイルのＧＰＳ情報を変換して得られた地名と合致するか否かを判定する。
このとき、すべての対象ファイル（フォルダ「２０１２富士山」内の全ファイル）の生成年が２０１２年であり、これら対象ファイルのＧＰＳ情報を変換した地名が富士山であるものとする。その場合、単語「２０１２」および単語「富士山」について算出された単語合致率は１００％となる。そのため、構成ルール解析部１１０は、解析中フォルダのフォルダ名「２０１２富士山」のうち、単語カウンタ値０の単語「２０１２」は「生成日時−年」、単語カウンタ値の単語「富士山」は「地名」と関連があるというルールがあることを特定する。
【００６９】
結果として、構成ルール解析部１１０は、インデックス０のフォルダパス「Ｐｈｏｔｏ−２０１２富士山」について、図１４（ｃ）に示す構成ルール３３０を得る。
図１４（ｃ）のルール３３１は、フォルダ階層０の単語カウンタ値０の単語、つまり、フォルダ「Ｐｈｏｔｏ」の単語「Ｐｈｏｔｏ」が、分類に用いられていないことを表している。また、ルール３３２は、フォルダ階層１の単語カウンタ値０の単語、つまり、フォルダ「２０１２富士山」の単語「２０１２」が、分類に用いられており、それはファイルの生成日時のうち年にあたることを表している。さらに、ルール３３３は、フォルダ階層１の単語カウンタ値１の単語、つまり、フォルダ「２０１２富士山」の単語「富士山」が、分類に用いられており、それはファイルが持つＧＰＳ情報を変換した地名であることを表している。
【００７０】
また、図１４（ａ）のインデックス１のフォルダパス「Ｐｈｏｔｏ−２０１３八ヶ岳」に対して行った解析結果も、上記のインデックス０に対して行った解析結果と同様であるものとする。
その場合、パスごとの解析結果をまとめて、図４に示すフローに基づきフォルダパスの構成ルールの検出率およびフォルダパスの構成ルールの一致率を算出すると、いずれも１００％となる。したがって、構成ルール解析部１１０は、解析対象フォルダの構成ルールとして、「フォルダ階層０＝ルールなし、フォルダ階層１＝（生成日時−年）＋（地名）」という構成ルールが存在すると判断する。
すると、次にメタデータ抽出部１２０は、移動対象ファイル４１１から構成ルールに関連するメタデータを抽出する。このとき、メタデータ抽出部１２０は、ファイルの生成日時とＧＰＳ情報とを抽出する。
【００７１】
そして、移動先決定部１３０は、上記の構成ルール解析部１１０とメタデータ抽出部１２０との処理結果から、移動対象ファイル４１１の移動先フォルダを決定する。図１３（ａ）に示す例では、ファイルの生成日時のうちの「年」と、ＧＰＳ情報を変換して得られた地名とがファイルの分類に利用されているため、移動先決定部１３０は、移動対象ファイル４１１の生成年とＧＰＳ情報とに基づいて移動先フォルダを決定する。
ここで、４つの移動対象ファイル４１１の生成年がそれぞれ２０１３年であり、ＧＰＳ情報がそれぞれ高尾山に対応しているものとする。この場合、これら４つの移動対象ファイルについて、「Ｐｈｏｔｏ／２０１３高尾山」というパスが移動先フォルダとして決定される。
【００７２】
移動先フォルダが決定すると、フォルダ生成部１４０は、決定された移動先フォルダが存在するか否かを確認する。そして、フォルダ生成部１４０は、移動先フォルダ「Ｐｈｏｔｏ／２０１３高尾山」が存在しないことを確認し、図１３（ｂ）に示すように、「Ｐｈｏｔｏ／２０１３高尾山」のフォルダ２３２を生成する。
そして、ファイル移動部１５０は、移動対象ファイル４１１を移動先フォルダに移動する。移動した後の状態を表した図が図１３（ｃ）である。このように、４つの移動対象ファイル４１１は、「Ｐｈｏｔｏ／２０１３高尾山」のフォルダ２３２に移動される。
【００７３】
以上のように、本実施形態における情報処理装置１００は、解析中フォルダの構成ルール（解析中フォルダ名の命名ルール）の解析に際し、解析中フォルダのフォルダ名を単語ごとに分割する。そして、情報処理装置１００は、解析中フォルダに属するファイルのメタデータに含まれる要素のうち、解析中フォルダ名を分割して得られた単語と合致する要素（合致要素）を集計することで、解析中フォルダのフォルダ名の命名ルールを解析する。
具体的には、情報処理装置１００は、解析中フォルダに属する全ファイルのうち同一の合致要素を有するファイルの割合を示す単語合致率を算出する。そして、情報処理装置１００は、単語合致率が最も高くかつ基準値以上となる合致要素を、解析中フォルダ名を構成する単語の命名ルールとして特定する。
【００７４】
したがって、ファイルを管理しているフォルダのフォルダ名がファイルのメタデータに含まれる複数の要素から決定されている場合であっても、確実に解析中フォルダの命名ルールを解析することができる。その結果、上述した第一の実施形態と同様に、既存のフォルダの構成ルールを適切に解析し、解析した構成ルールに則った適切な位置に移動対象ファイルを移動することができ、ファイルの移動に関するユーザによる煩雑な操作を低減することができる。
【００７５】
ここで、メタデータに含まれる要素は、メタデータを変換して得られる要素を含んでいてもよい。この場合、解析中フォルダのフォルダ名とファイルのメタデータとの間接的な関連性を解析することで、適切に解析中フォルダの命名ルールを解析することができる。したがって、ファイルを管理しているフォルダのフォルダ名がファイルのメタデータにそのまま合致していなくても、当該メタデータと関連のある情報と合致している場合、適切に解析中フォルダの命名ルールを解析することができる。
【００７６】
また、解析中フォルダの命名ルールの解析に用いるメタデータは、ファイルのＧＰＳ情報とすることができる。複数のファイルをフォルダごとに分類して管理する場合、ファイルの生成場所や撮像場所に応じてフォルダに階層構造を設けてファイルを管理することも多い。したがって、解析中フォルダのフォルダ名が、解析中フォルダに属するファイルのＧＰＳ情報を変換して得られた地名情報と合致しているか否かを判定することで、適切に解析中フォルダのフォルダ名の命名ルールを解析することができる。
なお、本実施形態では、メタデータとしてファイルのＧＰＳ情報を用い、ＧＰＳ情報から変換された地名情報を用いてフォルダ構成ルールを解析する場合を例にとって説明したが、ＧＰＳ情報以外のメタデータを変換した情報を用いてもよい。例えば、ファイルの生成日時を四季（春夏秋冬）に変換してフォルダ構成ルールの解析に利用してもよい。
【００７７】
（変形例）
上記各実施形態においては、メタデータ抽出部１２０は、移動対象ファイルからメタデータを抽出する場合について説明したが、移動対象ファイルとは別に、メタデータに対応する移動対象ファイルに関する情報を取得するようにしてもよい。この場合、移動対象ファイルに関する情報は、ユーザが入力部１５を介して指定することができるようにしてもよい。
【００７８】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７９】
１００…情報処理装置、１１０…構成ルール解析部、１２０…メタデータ抽出部、１３０…移動先決定部、１４０…フォルダ生成部、１５０…ファイル移動部
【図１】
2018032182.tif 000003
【図２】
2018032182.tif 000004
【図３】
2018032182.tif 000005
【図４】
2018032182.tif 000006
【図５】
2018032182.tif 000007
【図６】
2018032182.tif 000008
【図７】
2018032182.tif 000009
【図８】
2018032182.tif 000010
【図９】
2018032182.tif 000011
【図１０】
2018032182.tif 000012
【図１１】
2018032182.tif 000013
【図１２】
2018032182.tif 000014
【図１３】
2018032182.tif 000015
【図１４】
2018032182.tif 000016