JP2018032182A - 情報処理装置、情報処理方法およびプログラム - Google Patents
情報処理装置、情報処理方法およびプログラム Download PDFInfo
- Publication number
- JP2018032182A JP2018032182A JP2016163282A JP2016163282A JP2018032182A JP 2018032182 A JP2018032182 A JP 2018032182A JP 2016163282 A JP2016163282 A JP 2016163282A JP 2016163282 A JP2016163282 A JP 2016163282A JP 2018032182 A JP2018032182 A JP 2018032182A
- Authority
- JP
- Japan
- Prior art keywords
- folder
- file
- configuration rule
- analysis
- information processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】ファイルの移動に関するユーザの煩雑な操作を低減する。【解決手段】情報処理装置100は、フォルダの構成ルールを解析する解析手段と、対象ファイルに関する情報を取得する取得手段と、解析手段により解析された構成ルールに則って、取得手段により取得された対象ファイルに関する情報をもとに、当該対象ファイルの移動先としての移動先フォルダを生成する生成手段と、を備える。【選択図】 図1
Description
本発明は、情報処理装置、情報処理方法およびプログラムに関する。
一般に、ユーザは、コンピュータ上の複数のファイルを、それぞれフォルダに分類して管理している。しかしながら、ファイルの振り分け操作は煩雑であり、ユーザの負荷が大きい。
そこで、特許文献1には、移動対象ファイルのメタデータ(撮像日時など)を用いてフォルダを自動的に生成し、生成したフォルダに移動対象ファイルを移動する点が開示されている。また、特許文献2には、既存のフォルダのうち、フォルダ名が移動対象ファイルのタイトル名と一部または全部が一致するフォルダに、移動対象ファイルを自動的に振り分ける点が開示されている。
そこで、特許文献1には、移動対象ファイルのメタデータ(撮像日時など)を用いてフォルダを自動的に生成し、生成したフォルダに移動対象ファイルを移動する点が開示されている。また、特許文献2には、既存のフォルダのうち、フォルダ名が移動対象ファイルのタイトル名と一部または全部が一致するフォルダに、移動対象ファイルを自動的に振り分ける点が開示されている。
特許文献1に記載の技術では、移動対象ファイルの移動先となるフォルダのフォルダ名を、移動対象ファイルのメタデータのみを用いて決定している。そのため、生成されたフォルダは、ユーザの命名規則に則ったフォルダ名でない場合がある。生成されたフォルダがユーザの命名規則に則ったフォルダ名でなかった場合、ユーザは、フォルダ名を変更する操作を行わなければならない。
また、特許文献2に記載の技術では、フォルダ名が移動対象ファイルのタイトル名と一部または全部が一致するフォルダが検出できない場合、当該移動対象ファイルは、未分類であることを示すフォルダに振り分けられてしまう。そのため、ユーザは、未分類となった移動対象ファイルを振り分けるためのフォルダを自ら生成し、移動対象ファイルを移動し直す操作を行わなければならない。
そこで、本発明は、ファイルの移動に関するユーザの煩雑な操作を低減することを目的としている。
また、特許文献2に記載の技術では、フォルダ名が移動対象ファイルのタイトル名と一部または全部が一致するフォルダが検出できない場合、当該移動対象ファイルは、未分類であることを示すフォルダに振り分けられてしまう。そのため、ユーザは、未分類となった移動対象ファイルを振り分けるためのフォルダを自ら生成し、移動対象ファイルを移動し直す操作を行わなければならない。
そこで、本発明は、ファイルの移動に関するユーザの煩雑な操作を低減することを目的としている。
上記課題を解決するために、本発明に係る情報処理装置の一態様は、フォルダの構成ルールを解析する解析手段と、対象ファイルに関する情報を取得する取得手段と、前記解析手段により解析された構成ルールに則って、前記取得手段により取得された前記対象ファイルに関する情報をもとに、当該対象ファイルの移動先としての移動先フォルダを生成する生成手段と、を備える。
本発明によれば、ファイルの移動に関するユーザの煩雑な操作を低減することができる。
以下、添付図面を参照して、本発明を実施するための形態について詳細に説明する。
なお、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。
図1は、情報処理装置100の構成例を示すブロック図である。情報処理装置100は、記憶媒体上の既存のフォルダの構成ルールに則って、移動対象ファイルの移動先となる移動先フォルダを決定し、移動対象ファイルを移動する装置である。
より具体的には、情報処理装置100は、所定のフォルダを解析の起点となる起点フォルダとして、当該起点フォルダ以下の階層のフォルダ群の構成ルールを解析する。そして、情報処理装置100は、解析した構成ルールに則って、移動対象ファイルに関する情報をもとに移動対象ファイルの移動先フォルダを決定する。そして、情報処理装置100は、決定した移動先フォルダが存在しない場合には当該移動先フォルダを生成し、移動対象ファイルを移動先フォルダへ移動する。なお、本明細書において、ファイルの移動とは、ファイルの移動およびコピーを指すものとする。
なお、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。
図1は、情報処理装置100の構成例を示すブロック図である。情報処理装置100は、記憶媒体上の既存のフォルダの構成ルールに則って、移動対象ファイルの移動先となる移動先フォルダを決定し、移動対象ファイルを移動する装置である。
より具体的には、情報処理装置100は、所定のフォルダを解析の起点となる起点フォルダとして、当該起点フォルダ以下の階層のフォルダ群の構成ルールを解析する。そして、情報処理装置100は、解析した構成ルールに則って、移動対象ファイルに関する情報をもとに移動対象ファイルの移動先フォルダを決定する。そして、情報処理装置100は、決定した移動先フォルダが存在しない場合には当該移動先フォルダを生成し、移動対象ファイルを移動先フォルダへ移動する。なお、本明細書において、ファイルの移動とは、ファイルの移動およびコピーを指すものとする。
図1に示すように、情報処理装置100は、構成ルール解析部110と、メタデータ抽出部120と、移動先決定部130と、フォルダ生成部140と、ファイル移動部150と、を備える。
構成ルール解析部110は、ユーザによって移動対象ファイルの移動先として指定された所定のフォルダを起点フォルダとし、その起点フォルダ以下の階層のフォルダ群(解析対象フォルダ)の構成ルールを解析する。その際、構成ルール解析部110は、起点フォルダから解析対象フォルダ内の最下層のフォルダまでの階層構造を示すフォルダパスを検索する。そして、構成ルール解析部110は、フォルダパスごとに構成ルールを解析し、その解析結果をもとに最終的な解析対象フォルダの構成ルールを特定する。
構成ルール解析部110は、ユーザによって移動対象ファイルの移動先として指定された所定のフォルダを起点フォルダとし、その起点フォルダ以下の階層のフォルダ群(解析対象フォルダ)の構成ルールを解析する。その際、構成ルール解析部110は、起点フォルダから解析対象フォルダ内の最下層のフォルダまでの階層構造を示すフォルダパスを検索する。そして、構成ルール解析部110は、フォルダパスごとに構成ルールを解析し、その解析結果をもとに最終的な解析対象フォルダの構成ルールを特定する。
メタデータ抽出部120は、移動対象ファイルから特定のメタデータを抽出する。ファイルのメタデータは、例えば、ファイルの生成日時、種類、作成者、ファイル名など、ファイルに関する情報を含むことができる。また、ファイルが画像である場合、メタデータは、撮像日時、撮像場所(GPS情報含む)、撮像者、絞り値、露出時間、カメラの製造元、カメラのモデルなどを示す情報を含んでもよい。メタデータ抽出部120は、これらのメタデータのうち、特定のメタデータとして、フォルダの構成ルールに利用され得るメタデータを抽出する。本実施形態では、特定のメタデータが、ファイルの生成日時に関する情報である場合について説明する。
移動先決定部130は、構成ルール解析部110により解析された構成ルールと、メタデータ抽出部120により抽出された移動対象ファイルのメタデータとに基づいて、移動対象ファイルの分類に適した移動先フォルダを決定する。フォルダ生成部140は、移動先決定部130により決定された移動先フォルダが存在していない場合、移動先フォルダを生成する。ファイル移動部150は、移動先決定部130により決定された移動先フォルダに、移動対象ファイルを移動する。
図2は、情報処理装置100のハードウェア構成を示す図である。
情報処理装置100は、例えばパーソナルコンピュータ(PC)により構成され、CPU11と、ROM12と、RAM13と、外部メモリ14と、入力部15と、表示部16と、通信I/F17と、システムバス18とを備える。
CPU11は、情報処理装置100における動作を統括的に制御するものであり、システムバス18を介して、各構成部(12〜17)を制御する。ROM12は、CPU11が処理を実行するために必要なプログラムを記憶する不揮発性メモリである。なお、上記プログラムは、外部メモリ14や着脱可能な記憶媒体(不図示)に記憶されていてもよい。RAM13は、CPU11の主メモリ、ワークエリアとして機能する。すなわち、CPU11は、処理の実行に際してROM12から必要なプログラムをRAM13にロードし、ロードしたプログラムを実行することで各種の機能動作を実現する。
情報処理装置100は、例えばパーソナルコンピュータ(PC)により構成され、CPU11と、ROM12と、RAM13と、外部メモリ14と、入力部15と、表示部16と、通信I/F17と、システムバス18とを備える。
CPU11は、情報処理装置100における動作を統括的に制御するものであり、システムバス18を介して、各構成部(12〜17)を制御する。ROM12は、CPU11が処理を実行するために必要なプログラムを記憶する不揮発性メモリである。なお、上記プログラムは、外部メモリ14や着脱可能な記憶媒体(不図示)に記憶されていてもよい。RAM13は、CPU11の主メモリ、ワークエリアとして機能する。すなわち、CPU11は、処理の実行に際してROM12から必要なプログラムをRAM13にロードし、ロードしたプログラムを実行することで各種の機能動作を実現する。
外部メモリ14は、ファイルや、ファイルのメタデータを記憶する。また、外部メモリ14は、CPU11がプログラムを用いた処理を行う際に必要な各種データや各種情報を記憶してもよい。さらに、外部メモリ14には、CPU11がプログラムを用いた処理を行うことにより得られる各種データや各種情報が記憶されてもよい。
入力部15は、キーボードやマウス等のポインティングデバイスによって構成される。ユーザは、この入力部15を操作して、移動対象ファイルや移動対象ファイルの移動先である所定のフォルダ等を指定することができる。表示部16は、液晶ディスプレイ(LCD)等のモニタにより構成され、ファイルの表示や、移動対象ファイルや移動対象ファイルの移動先を指定するためのユーザインターフェース部の表示等を行うことができる。
入力部15は、キーボードやマウス等のポインティングデバイスによって構成される。ユーザは、この入力部15を操作して、移動対象ファイルや移動対象ファイルの移動先である所定のフォルダ等を指定することができる。表示部16は、液晶ディスプレイ(LCD)等のモニタにより構成され、ファイルの表示や、移動対象ファイルや移動対象ファイルの移動先を指定するためのユーザインターフェース部の表示等を行うことができる。
通信I/F17は、外部装置と通信するためのインタフェースである。通信I/F17は、例えばLANインタフェースである。システムバス18は、CPU11、ROM12、RAM13、外部メモリ14、入力部15、表示部16および通信I/F17を通信可能に接続する。
図1に示す情報処理装置100の各部の機能は、CPU11がプログラムを実行することで実現することができる。ただし、図1に示す情報処理装置100の各部のうち少なくとも一部が専用のハードウェアとして動作するようにしてもよい。この場合、専用のハードウェアは、CPU11の制御に基づいて動作する。
図1に示す情報処理装置100の各部の機能は、CPU11がプログラムを実行することで実現することができる。ただし、図1に示す情報処理装置100の各部のうち少なくとも一部が専用のハードウェアとして動作するようにしてもよい。この場合、専用のハードウェアは、CPU11の制御に基づいて動作する。
以下、情報処理装置100において実行される処理の手順について、図3を参照しながら説明する。図3に示す処理は、例えばユーザにより移動対象ファイルおよび移動対象ファイルの移動先である所定のフォルダが指定されたタイミングで開始される。ただし、図3の処理の開始タイミングは、上記のタイミングに限らない。情報処理装置100は、CPU11が必要なプログラムを読み出して実行することにより、図3に示す処理を実現することができる。
ただし、図1に示す情報処理装置100の各要素のうち少なくとも一部が専用のハードウェアとして動作することで図3の処理が実現されるようにしてもよい。この場合、専用のハードウェアは、CPU11の制御に基づいて動作する。なお、以降、アルファベットSはフローチャートにおけるステップを意味するものとする。
ただし、図1に示す情報処理装置100の各要素のうち少なくとも一部が専用のハードウェアとして動作することで図3の処理が実現されるようにしてもよい。この場合、専用のハードウェアは、CPU11の制御に基づいて動作する。なお、以降、アルファベットSはフローチャートにおけるステップを意味するものとする。
先ずS1において、情報処理装置100は、ユーザによって指定された移動対象ファイルを取得する。なお、移動対象ファイルは、1つであってもよいし複数であってもよい。次にS2において、情報処理装置100は、ユーザによって指定された移動対象ファイルの移動先のフォルダに関する情報を取得する。なお、移動対象ファイルの移動先は、1つであってもよいし複数であってもよい。
S3では、構成ルール解析部110は、S2において取得した移動対象ファイルの移動先のフォルダに関する情報をもとに、解析対象フォルダの構成ルールを解析する構成ルール解析処理を実行する。ここで、解析対象フォルダは、構成ルールを解析する対象となるフォルダ群であり、S2において情報が取得されたフォルダ(ユーザによって指定された所定のフォルダ)を起点フォルダとした場合の、起点フォルダ以下の階層のフォルダ群である。この構成ルール解析処理の詳細については後述する。
S3では、構成ルール解析部110は、S2において取得した移動対象ファイルの移動先のフォルダに関する情報をもとに、解析対象フォルダの構成ルールを解析する構成ルール解析処理を実行する。ここで、解析対象フォルダは、構成ルールを解析する対象となるフォルダ群であり、S2において情報が取得されたフォルダ(ユーザによって指定された所定のフォルダ)を起点フォルダとした場合の、起点フォルダ以下の階層のフォルダ群である。この構成ルール解析処理の詳細については後述する。
S4では、情報処理装置100は、解析対象フォルダの構成ルールが存在するか、つまり、S3における構成ルール解析処理の結果、解析対象フォルダの構成ルールを解析できたか否かを判定する。そして、情報処理装置100は、構成ルールが存在すると判定した場合、S5に移行し、構成ルールが存在しないと判定した場合、S9に移行する。
S5では、メタデータ抽出部120は、S1において取得された移動対象ファイルから、移動対象ファイルのメタデータを抽出する。ここでは、メタデータ抽出部120は、移動対象ファイルの生成日時を示す情報を抽出する。
S5では、メタデータ抽出部120は、S1において取得された移動対象ファイルから、移動対象ファイルのメタデータを抽出する。ここでは、メタデータ抽出部120は、移動対象ファイルの生成日時を示す情報を抽出する。
S6では、移動先決定部130は、S3において解析された解析対象フォルダの構成ルールと、S5において抽出された移動対象ファイルのメタデータとに基づいて、移動対象ファイルの移動先フォルダを決定する。このS6における処理により、移動対象ファイルの移動先フォルダは、ユーザが指定したフォルダから変更される場合がある。
次にS7において、フォルダ生成部140は、S6において決定された移動先フォルダが存在するか否かを判定する。そして、フォルダ生成部140は、移動先フォルダが存在しないと判定すると、S8に移行して移動先フォルダを生成してからS9に移行する。一方、フォルダ生成部140は、S7において移動先フォルダが存在すると判定すると、そのままS9に移行する。
次にS7において、フォルダ生成部140は、S6において決定された移動先フォルダが存在するか否かを判定する。そして、フォルダ生成部140は、移動先フォルダが存在しないと判定すると、S8に移行して移動先フォルダを生成してからS9に移行する。一方、フォルダ生成部140は、S7において移動先フォルダが存在すると判定すると、そのままS9に移行する。
S9では、ファイル移動部150は、移動対象ファイルを移動先フォルダへ移動する。つまり、ファイル移動部150は、解析対象フォルダの構成ルールに則ってS6において移動先フォルダが決定されている場合、S6において決定された移動先フォルダへ移動対象ファイルを移動する。一方、解析対象フォルダの構成ルールが存在しないか解析できなかった場合には、ファイル移動部150は、S2において取得された移動先フォルダ(ユーザによって指定された移動先フォルダ)へ移動対象ファイルを移動する。
次に、図3のS3において実行される構成ルール解析処理について、図4を参照しながら説明する。
まずS31において、構成ルール解析部110は、図3のS2において取得されたフォルダに関する情報をもとに、ユーザによって指定された所定のフォルダを起点フォルダとして、起点フォルダから最下層のフォルダまでを検索する。次にS32において、構成ルール解析部110は、S31の検索結果をもとに、起点フォルダ以下の階層のフォルダ群を、構成ルールを解析する対象となる解析対象フォルダとして特定する。
まずS31において、構成ルール解析部110は、図3のS2において取得されたフォルダに関する情報をもとに、ユーザによって指定された所定のフォルダを起点フォルダとして、起点フォルダから最下層のフォルダまでを検索する。次にS32において、構成ルール解析部110は、S31の検索結果をもとに、起点フォルダ以下の階層のフォルダ群を、構成ルールを解析する対象となる解析対象フォルダとして特定する。
例えば、図5に示すようなフォルダ構成を持つ7個のフォルダ201〜207が存在する場合に、ユーザによって移動先のフォルダとしてフォルダ202が指定された場合を考える。この場合の解析対象フォルダは、ユーザによって指定されたフォルダ202と、フォルダ202の子孫フォルダにあたるフォルダ203およびフォルダ204の合計3個のフォルダとなる。
同様に、ユーザによってフォルダ201が指定された場合は、指定されたフォルダ201と、フォルダ201の子孫フォルダであるフォルダ202〜207の合計7個が、解析対象フォルダとなる。また、ユーザによってフォルダ203が指定された場合、指定されたフォルダ203は子孫フォルダを持たないフォルダであるため、解析対象フォルダはフォルダ203のみとなる。
同様に、ユーザによってフォルダ201が指定された場合は、指定されたフォルダ201と、フォルダ201の子孫フォルダであるフォルダ202〜207の合計7個が、解析対象フォルダとなる。また、ユーザによってフォルダ203が指定された場合、指定されたフォルダ203は子孫フォルダを持たないフォルダであるため、解析対象フォルダはフォルダ203のみとなる。
図4に戻って、S33では、構成ルール解析部110は、S32において特定された解析対象フォルダのフォルダパスを整理する。つまり、構成ルール解析部110は、解析対象フォルダの起点フォルダから解析対象フォルダ内の最下層のフォルダまでの階層構造を示すフォルダパスを検索する。
例えば、図5に示すフォルダ構成を持つフォルダのうち、ユーザがフォルダ202を移動先フォルダとして指定した場合を考える。この場合、図6に示すように、フォルダパス301としては、フォルダ202とフォルダ203とによって構成されるパスと、フォルダ202とフォルダ204とによって構成されるパスの2つが存在することになる。この図6に示すように、フォルダパス301は、インデックスを付与して管理される。なお、フォルダパスは、複数検索される場合に限定されるものではなく、1つのみの場合もあり得る。
次にS34において、構成ルール解析部110は、解析対象フォルダを構成するパスの数を取得する。次にS35では、構成ルール解析部110は、パスカウンタを0にセットする。このパスカウンタは、後述するパスごとに構成ルールを解析する処理における指標として用いられる。
例えば、図5に示すフォルダ構成を持つフォルダのうち、ユーザがフォルダ202を移動先フォルダとして指定した場合を考える。この場合、図6に示すように、フォルダパス301としては、フォルダ202とフォルダ203とによって構成されるパスと、フォルダ202とフォルダ204とによって構成されるパスの2つが存在することになる。この図6に示すように、フォルダパス301は、インデックスを付与して管理される。なお、フォルダパスは、複数検索される場合に限定されるものではなく、1つのみの場合もあり得る。
次にS34において、構成ルール解析部110は、解析対象フォルダを構成するパスの数を取得する。次にS35では、構成ルール解析部110は、パスカウンタを0にセットする。このパスカウンタは、後述するパスごとに構成ルールを解析する処理における指標として用いられる。
S36では、構成ルール解析部110は、パスカウンタの値に合致するインデックスを有するパスを、構成ルールの解析対象となるパスとして取得し、S37においてパスカウンタに1を加算する。次にS38では、構成ルール解析部110は、S36において取得されたパスの構成ルールを解析する。このS38において実行されるパスの構成ルール解析処理の詳細については後述する。
S39では、構成ルール解析部110は、S38の解析結果をパスごとに保管する。次にS40では、構成ルール解析部110は、パスカウンタがS34において取得されたパスの数よりも小さいか否かを判定する。そして、パスカウンタが上記のパス数よりも小さい場合はS36に戻り、パスカウンタが上記のパス数以上である場合はS41に移行する。つまり、構成ルール解析部110は、S34において取得されたパスの数だけS36〜S39の処理を繰り返し、パスごとに構成ルールを解析する。
S39では、構成ルール解析部110は、S38の解析結果をパスごとに保管する。次にS40では、構成ルール解析部110は、パスカウンタがS34において取得されたパスの数よりも小さいか否かを判定する。そして、パスカウンタが上記のパス数よりも小さい場合はS36に戻り、パスカウンタが上記のパス数以上である場合はS41に移行する。つまり、構成ルール解析部110は、S34において取得されたパスの数だけS36〜S39の処理を繰り返し、パスごとに構成ルールを解析する。
S41では、構成ルール解析部110は、解析対象フォルダ内の全パス数に対するフォルダパスの構成ルールを検出できたパス数(検出パス数)の割合である検出率(%)を、下記(1)式をもとに算出する。
検出率(%)=検出パス数/全パス数×100 ………(1)
S42では、構成ルール解析部110は、S41において算出された検出率が、予め設定されたフォルダパスの構成ルール検出率の基準値(%)以上であるか否かを判定する。そして、構成ルール解析部110は、検出率が基準値以上である場合にはS43に移行し、検出率が基準値よりも小さい場合にはS46に移行する。
検出率(%)=検出パス数/全パス数×100 ………(1)
S42では、構成ルール解析部110は、S41において算出された検出率が、予め設定されたフォルダパスの構成ルール検出率の基準値(%)以上であるか否かを判定する。そして、構成ルール解析部110は、検出率が基準値以上である場合にはS43に移行し、検出率が基準値よりも小さい場合にはS46に移行する。
S43では、構成ルール解析部110は、パスごとに構成ルールを解析した結果、複数のパス間で構成ルールがどの程度一致しているかを示す一致率(%)を算出する。本実施形態では、構成ルール解析部110は、上記検出パス数と、同一構成ルールを有するパスの最大数(パス最大数)とを用い、下記(2)式をもとに一致率を算出する。
一致率(%)=パス最大数/検出パス数 ………(2)
ここで、「同一構成ルールを有するパスの最大数」について説明する。例えば、解析対象フォルダのパスが10個存在する場合を考える。構成ルールの解析の結果、構成ルールを検出したパスは9個であり、検出した9個のパスには3種類の異なる構成ルールA、BおよびCが存在していたものとする。ここで、それぞれの内訳は、構成ルールAを持つパスが7個、構成ルールBを持つパスが1個、構成ルールCを持つパスが1個であるとする。この場合、「同一構成ルールを有するパスの最大数」は、構成ルールAを持つパスの数である7となる。
一致率(%)=パス最大数/検出パス数 ………(2)
ここで、「同一構成ルールを有するパスの最大数」について説明する。例えば、解析対象フォルダのパスが10個存在する場合を考える。構成ルールの解析の結果、構成ルールを検出したパスは9個であり、検出した9個のパスには3種類の異なる構成ルールA、BおよびCが存在していたものとする。ここで、それぞれの内訳は、構成ルールAを持つパスが7個、構成ルールBを持つパスが1個、構成ルールCを持つパスが1個であるとする。この場合、「同一構成ルールを有するパスの最大数」は、構成ルールAを持つパスの数である7となる。
S44では、構成ルール解析部110は、S43において算出されたフォルダパスの構成ルールの一致率が、予め設定されたフォルダパスの構成ルール一致率の基準値(%)以上であるか否かを判定する。そして、構成ルール解析部110は、一致率が基準値以上である場合にはS45に移行し、一致率が基準値よりも小さい場合にはS46に移行する。
S45では、構成ルール解析部110は、解析対象フォルダの構成ルールを決定する。ここでは、構成ルール解析部110は、各パスの構成ルールのうち、パス最大数に対応する構成ルールを、最終的な解析対象フォルダの構成ルールとして決定する。上記の構成ルールAを持つパスが7個、構成ルールBを持つパスが1個、構成ルールCを持つパスが1個である例では、構成ルールAが最終的な解析対象フォルダの構成ルールとして決定される。
つまり、構成ルール解析部110は、フォルダパスが複数検索された場合、パスごとの複数の構成ルールのうち同一の構成ルールの割合を示す一致率が最も高く、かつ基準値以上である構成ルールを、最終的な解析対象フォルダの構成ルールとして特定する。S46では、構成ルール解析部110は、解析対象フォルダの構成ルールは該当なしと判断する。
S45では、構成ルール解析部110は、解析対象フォルダの構成ルールを決定する。ここでは、構成ルール解析部110は、各パスの構成ルールのうち、パス最大数に対応する構成ルールを、最終的な解析対象フォルダの構成ルールとして決定する。上記の構成ルールAを持つパスが7個、構成ルールBを持つパスが1個、構成ルールCを持つパスが1個である例では、構成ルールAが最終的な解析対象フォルダの構成ルールとして決定される。
つまり、構成ルール解析部110は、フォルダパスが複数検索された場合、パスごとの複数の構成ルールのうち同一の構成ルールの割合を示す一致率が最も高く、かつ基準値以上である構成ルールを、最終的な解析対象フォルダの構成ルールとして特定する。S46では、構成ルール解析部110は、解析対象フォルダの構成ルールは該当なしと判断する。
次に、図4のS38において実行されるパスの構成ルール解析処理について、図7を参照しながら説明する。
まずS381において、構成ルール解析部110は、一時退避用スタックを生成する。ここで、一時退避用スタックは、パス上に存在するフォルダを解析するにあたり、フォルダ情報を一時的に退避させておくためのスタックである。なお、フォルダ情報は、フォルダ名とフォルダ階層とを含む情報である。
S382では、構成ルール解析部110は、フォルダパス中の最上層のフォルダを解析中フォルダとして設定する。例えば、図6に示すインデックス0のパスを解析する場合、フォルダ202が最上層のフォルダにあたるため、このS382では、フォルダ202が解析中フォルダとして設定される。次にS383では、構成ルール解析部110は、解析中フォルダ内にファイルが存在するか否かを判定する。そして、構成ルール解析部110は、解析中フォルダ内にファイルが存在しない場合はS384へ移行し、ファイルが存在する場合はS385へ移行する。
まずS381において、構成ルール解析部110は、一時退避用スタックを生成する。ここで、一時退避用スタックは、パス上に存在するフォルダを解析するにあたり、フォルダ情報を一時的に退避させておくためのスタックである。なお、フォルダ情報は、フォルダ名とフォルダ階層とを含む情報である。
S382では、構成ルール解析部110は、フォルダパス中の最上層のフォルダを解析中フォルダとして設定する。例えば、図6に示すインデックス0のパスを解析する場合、フォルダ202が最上層のフォルダにあたるため、このS382では、フォルダ202が解析中フォルダとして設定される。次にS383では、構成ルール解析部110は、解析中フォルダ内にファイルが存在するか否かを判定する。そして、構成ルール解析部110は、解析中フォルダ内にファイルが存在しない場合はS384へ移行し、ファイルが存在する場合はS385へ移行する。
S384では、構成ルール解析部110は、解析中フォルダのフォルダ情報を一時退避スタックにプッシュしてS393に移行する。
S385では、構成ルール解析部110は、解析中フォルダ内に存在するファイルの数を取得する。S386では、構成ルール解析部110は、解析中フォルダの名前を解析中フォルダ名として取得し、S387では、構成ルール解析部110は、解析中フォルダの階層を解析中フォルダ階層として取得する。ここで、フォルダ階層とは、パスの最上層のフォルダを0とし、階層が下がるほど1、2、…と大きくなる値であり、例えば図6に示すインデックス0のパスの場合、フォルダ202のフォルダ階層は0、フォルダ203のフォルダ階層は1となる。
S388では、構成ルール解析部110は、解析中フォルダがユーザによりファイルの分類に利用されているかを判定する利用判定処理を実行する。この利用判定処理は、解析中フォルダのフォルダ名が、解析中フォルダに属するファイルと関連があるか否かを判定する処理であり、その詳細については後述する。
S385では、構成ルール解析部110は、解析中フォルダ内に存在するファイルの数を取得する。S386では、構成ルール解析部110は、解析中フォルダの名前を解析中フォルダ名として取得し、S387では、構成ルール解析部110は、解析中フォルダの階層を解析中フォルダ階層として取得する。ここで、フォルダ階層とは、パスの最上層のフォルダを0とし、階層が下がるほど1、2、…と大きくなる値であり、例えば図6に示すインデックス0のパスの場合、フォルダ202のフォルダ階層は0、フォルダ203のフォルダ階層は1となる。
S388では、構成ルール解析部110は、解析中フォルダがユーザによりファイルの分類に利用されているかを判定する利用判定処理を実行する。この利用判定処理は、解析中フォルダのフォルダ名が、解析中フォルダに属するファイルと関連があるか否かを判定する処理であり、その詳細については後述する。
S389では、構成ルール解析部110は、一時退避用スタックが空であるか否かを判定する。そして、構成ルール解析部110は、一時退避用スタックが空でない場合はS390へ、空である場合はS393へ移行する。
S390では、構成ルール解析部110は、一時退避用スタックからフォルダ情報をポップし、S391において、ポップしたフォルダ情報に含まれるフォルダ名を解析中フォルダ名として設定する。また、S392では、構成ルール解析部110は、ポップしたフォルダ情報に含まれるフォルダ階層を解析中フォルダ階層として設定し、S388に戻る。つまり、構成ルール解析部110は、一時退避用スタックに一時退避したフォルダ情報がなくなるまで解析中フォルダ名と解析中フォルダ階層とを変更して、S388における利用判定処理を繰り返す。
S390では、構成ルール解析部110は、一時退避用スタックからフォルダ情報をポップし、S391において、ポップしたフォルダ情報に含まれるフォルダ名を解析中フォルダ名として設定する。また、S392では、構成ルール解析部110は、ポップしたフォルダ情報に含まれるフォルダ階層を解析中フォルダ階層として設定し、S388に戻る。つまり、構成ルール解析部110は、一時退避用スタックに一時退避したフォルダ情報がなくなるまで解析中フォルダ名と解析中フォルダ階層とを変更して、S388における利用判定処理を繰り返す。
S393では、構成ルール解析部110は、パスの構成ルール解析が終了したか否かを判定する。つまり、構成ルール解析部110は、パスの終端(最下層のフォルダ)まで構成ルールの解析を行ったか否かを判定する。そして、構成ルール解析部110は、未解析のフォルダが存在し、構成ルール解析が終了していないと判定するとS394に移行し、解析済フォルダの次の階層のフォルダを解析中フォルダとして設定し、S383に戻る。一方、構成ルール解析部110は、S393において構成ルール解析が終了していると判定すると、図7の処理を終了する。
このように、構成ルール解析部110は、パスごとの構成ルールを解析する際、フォルダパス中の最上層のフォルダから階層順に解析を進めてパスの終端まで処理を続ける。
このように、構成ルール解析部110は、パスごとの構成ルールを解析する際、フォルダパス中の最上層のフォルダから階層順に解析を進めてパスの終端まで処理を続ける。
次に、図7のS388において実行される利用判定処理について、図8を参照しながら説明する。この利用判定処理は、解析中フォルダがファイルの分類に利用されているか否かを判定し、分類に利用されている場合、解析中フォルダのフォルダ名の命名ルールを解析する処理である。
まずS801において、構成ルール解析部110は、解析中フォルダ名が数字であるか否かを判定する。そして、構成ルール解析部110は、解析中フォルダ名が数字であると判定した場合にはS802に移行する。一方、構成ルール解析部110は、解析中フォルダ名が数字ではないと判定した場合には、解析中フォルダはファイルの分類に利用されておらず、解析中フォルダの構成ルールなし(命名ルールなし)と判断して、そのまま処理を終了する。
まずS801において、構成ルール解析部110は、解析中フォルダ名が数字であるか否かを判定する。そして、構成ルール解析部110は、解析中フォルダ名が数字であると判定した場合にはS802に移行する。一方、構成ルール解析部110は、解析中フォルダ名が数字ではないと判定した場合には、解析中フォルダはファイルの分類に利用されておらず、解析中フォルダの構成ルールなし(命名ルールなし)と判断して、そのまま処理を終了する。
S802では、構成ルール解析部110は、解析中フォルダのフォルダ名との関連性の判定の対象となる対象ファイルのファイル情報を格納するためのファイル列を生成(準備)する。ここで、上記対象ファイルは、解析中フォルダに属するファイルであり、図7のS383においてファイルありと判定されたフォルダ内のすべてのファイルとすることができる。また、上記ファイル情報は、例えばファイルが持つメタデータとすることができる。ファイル列に格納された各ファイル情報にはインデックスが付与され、インデックスを用いて該当するファイル情報を取得できるように構成されている。
S803では、構成ルール解析部110は、S802において準備されたファイル列へ、対象ファイルのファイル情報を追加する。次にS804では、構成ルール解析部110は、ファイルカウンタを0に設定する。
S803では、構成ルール解析部110は、S802において準備されたファイル列へ、対象ファイルのファイル情報を追加する。次にS804では、構成ルール解析部110は、ファイルカウンタを0に設定する。
S805では、構成ルール解析部110は、空の合致要素列を生成(準備)する。ここで、合致要素列は、上記ファイル列に含まれるファイル情報(メタデータ)のうち、解析中フォルダ名と合致する要素(合致要素)を格納するための列である。以下、合致要素について説明する。
例えば、図9(a)に示すように、解析中フォルダ211内に4つのファイル212〜215が存在している場合を考える。ここで、解析中フォルダ211は、フォルダ名として「2013」を持つフォルダであり、解析中フォルダ211内に存在する4つのファイル212〜215の生成日時は、図9(a)に示すとおりである。
例えば、図9(a)に示すように、解析中フォルダ211内に4つのファイル212〜215が存在している場合を考える。ここで、解析中フォルダ211は、フォルダ名として「2013」を持つフォルダであり、解析中フォルダ211内に存在する4つのファイル212〜215の生成日時は、図9(a)に示すとおりである。
この場合、図9(a)に示すフォルダ構成における合致要素は、図9(b)に示す5つとなる。合致要素311は、対象フォルダである解析中フォルダ211と、対象ファイルであるファイル212とに関し、メタデータ「生成日時」に含まれる要素(内部要素)のうち、「年」が対象フォルダのフォルダ名に合致していることを表している。合致要素312、313および314は、解析中フォルダ211とそれぞれファイル213、214および215とに関する結果であり、内容は合致要素311と同様である。合致要素315は、解析中フォルダ211とファイル215とに関し、メタデータ項目「生成日時」の内部要素のうち、「時分」が対象フォルダのフォルダ名に合致していることを表している。
上記のように、年、月、日、時、分、秒といった複数の内部要素により構成される生成日時のようなメタデータにおいて、内部要素の一部が合致要素となる場合、メタデータ項目名と合致した内部要素とを対応付けて合致要素列に格納するものとする。例えば、メタデータ項目名と合致した内部要素とは、ハイフン(−)でつないで表現することができる。この場合、図9(b)の合致要素311は、「生成日時−年」として合致要素列に格納されることになる。この合致要素列への格納処理は、以下に説明する図8のS806〜S811により実現される。
S806では、構成ルール解析部110は、S803において生成されたファイル列から、ファイルカウンタと同じインデックスを持つファイル情報を取得する。次にS807において、構成ルール解析部110は、S806において取得されたファイル情報をもとに、対象ファイルの生成日時を取得する。続いてS808において、構成ルール解析部110は、ファイルカウンタに1を加算する。
次にS809において、構成ルール解析部110は、解析中フォルダ名とS807において取得されたファイル生成日時の内部要素(年、月、日など)の少なくとも一部とが合致するか否かを判定する。そして、構成ルール解析部110は、解析中フォルダ名とファイル生成日時の内部要素の少なくとも一部とが合致すると判定した場合S810へ、合致しないと判定した場合はS811へ移行する。
次にS809において、構成ルール解析部110は、解析中フォルダ名とS807において取得されたファイル生成日時の内部要素(年、月、日など)の少なくとも一部とが合致するか否かを判定する。そして、構成ルール解析部110は、解析中フォルダ名とファイル生成日時の内部要素の少なくとも一部とが合致すると判定した場合S810へ、合致しないと判定した場合はS811へ移行する。
S810では、構成ルール解析部110は、S809において合致すると判定された要素(合致要素)を合致要素列へ追加する。なお、合致要素は、比較対象として用いた要素の数によっては複数存在する場合がある。合致要素が複数存在する場合は、合致要素すべてを合致要素列に追加する。
次にS811において、構成ルール解析部110は、ファイルカウンタの値がファイル列に格納されたファイル数、つまり、図7のS385において取得されたファイル数よりも小さいか否かを判定する。そして、構成ルール解析部110は、ファイルカウンタがファイル数よりも小さいと判定した場合はS806へ戻り、ファイルカウンタがファイル数以上であると判定した場合はS812へ移行する。つまり、構成ルール解析部110は、解析中フォルダのフォルダ名との関連性の判定の対象となる対象ファイルの数と同じ回数だけS806からS810までの処理を繰り返すこととなる。
次にS811において、構成ルール解析部110は、ファイルカウンタの値がファイル列に格納されたファイル数、つまり、図7のS385において取得されたファイル数よりも小さいか否かを判定する。そして、構成ルール解析部110は、ファイルカウンタがファイル数よりも小さいと判定した場合はS806へ戻り、ファイルカウンタがファイル数以上であると判定した場合はS812へ移行する。つまり、構成ルール解析部110は、解析中フォルダのフォルダ名との関連性の判定の対象となる対象ファイルの数と同じ回数だけS806からS810までの処理を繰り返すこととなる。
S812では、構成ルール解析部110は、解析中フォルダ名が対象ファイルの生成日時とどの程度合致しているかを示す合致率(%)を、合致要素列で最多登場する要素の数(最多要素数)を用いて下記(3)式をもとに算出する。
合致率(%)=最多要素数/全ファイル数 ………(3)
ここで、「合致要素列で最多登場する要素の数」について説明する。例えば、合致要素列に「生成日時−年」、「生成日時−年」、「生成日時−年」「生成日時−年」、「生成日時−時分」という5つの合致要素が存在していたとする。この場合、「合致要素列で最多登場する要素の数」は、「生成日時−年」の登場数である4になる。また、上記(3)の「全ファイル数」とは、対象ファイルの総数であり、図7のS385において取得されたファイル数である。
合致率(%)=最多要素数/全ファイル数 ………(3)
ここで、「合致要素列で最多登場する要素の数」について説明する。例えば、合致要素列に「生成日時−年」、「生成日時−年」、「生成日時−年」「生成日時−年」、「生成日時−時分」という5つの合致要素が存在していたとする。この場合、「合致要素列で最多登場する要素の数」は、「生成日時−年」の登場数である4になる。また、上記(3)の「全ファイル数」とは、対象ファイルの総数であり、図7のS385において取得されたファイル数である。
S813では、構成ルール解析部110は、S812において算出された合致率が、予め設定されたフォルダ名合致率の基準値(%)以上であるか否かを判定する。そして、構成ルール解析部110は、合致率が基準値以上である場合、解析中フォルダはファイルの分類に利用されていると判断してS814に移行する。一方、構成ルール解析部110は、合致率が基準値よりも小さい場合、解析中フォルダはファイルの分類に利用されておらず、解析中フォルダの構成ルールなし(命名ルールなし)と判断して処理を終了する。
S814では、構成ルール解析部110は、解析中フォルダのフォルダ名の命名ルールを解析し、これを解析中フォルダの構成ルールとして保管する。具体的には、構成ルール解析部110は、合致要素列で最多登場する合致要素が、解析中フォルダの命名ルールに対応するとして、解析中フォルダ階層と合致要素列で最多登場する合致要素とを対応付けて、解析中フォルダの構成ルールとして保管する。例えば、解析中フォルダ階層が0で、最多登場する合致要素が「生成日時−年」であった場合、解析中フォルダの構成ルールは、「フォルダ階層0=生成日時−年」と表現して保管される。
このように、構成ルール解析部110は、解析中フォルダに属するファイルのメタデータに含まれる要素のうち、解析中フォルダのフォルダ名と合致する要素を集計することで、解析中フォルダのフォルダ名の命名ルールを解析する。そして、構成ルール解析部110は、フォルダパス中の最上層のフォルダから階層順に解析中フォルダとして設定し、上記の利用判定処理により解析中フォルダのフォルダ名の命名ルールをそれぞれ解析することで、フォルダパスの構成ルールを解析する。
なお、図4のS42、S44および図8のS813の各判定で用いる基準値は、予め設定された固定値であってもよいし、ユーザが任意に変更可能であってもよい。
なお、図4のS42、S44および図8のS813の各判定で用いる基準値は、予め設定された固定値であってもよいし、ユーザが任意に変更可能であってもよい。
以下、移動対象ファイルの移動動作例について説明する。ここでは、図10(a)に示すように、ユーザが4つのファイル401を移動対象ファイルとして選択し、フォルダ221を移動先フォルダとして選択した場合について説明する。
この場合、構成ルール解析部110は、移動先フォルダ221を起点とした解析対象フォルダの構成ルールを解析する。すると、解析の結果、「フォルダ階層0=ルールなし、フォルダ階層1=生成日時−年、フォルダ階層2=生成日時−月」という構成ルールが存在し、ファイルの生成日時のうち「年」と「月」とがファイルの分類に利用されていることが明らかになる。
この場合、構成ルール解析部110は、移動先フォルダ221を起点とした解析対象フォルダの構成ルールを解析する。すると、解析の結果、「フォルダ階層0=ルールなし、フォルダ階層1=生成日時−年、フォルダ階層2=生成日時−月」という構成ルールが存在し、ファイルの生成日時のうち「年」と「月」とがファイルの分類に利用されていることが明らかになる。
次に、メタデータ抽出部120は、移動対象ファイル401から構成ルールに関連するメタデータを抽出する。このとき、メタデータ抽出部120は、ファイルの生成日時を抽出する。
そして、移動先決定部130は、上記の構成ルール解析部110とメタデータ抽出部120との処理結果から、移動対象ファイル401の移動先フォルダを決定する。図10(a)に示す例では、ファイルの生成日時のうち「年」と「月」とがファイルの分類に利用されているため、移動先決定部130は、移動対象ファイル401の生成年と生成月とに基づいて移動先フォルダを決定する。
ここで、図10(a)に示すように、4つの移動対象ファイル401のうち、すべてのファイルの生成年が2013年であり、1つのファイルの生成月が5月、残りの3つのファイルの生成月が12月であるものとする。この場合、1つのファイルは「Photo/2013/05」というパスが移動先フォルダとして決定され、残りの3つのファイルは「Photo/2013/12」というパスが移動先フォルダとして決定される。
そして、移動先決定部130は、上記の構成ルール解析部110とメタデータ抽出部120との処理結果から、移動対象ファイル401の移動先フォルダを決定する。図10(a)に示す例では、ファイルの生成日時のうち「年」と「月」とがファイルの分類に利用されているため、移動先決定部130は、移動対象ファイル401の生成年と生成月とに基づいて移動先フォルダを決定する。
ここで、図10(a)に示すように、4つの移動対象ファイル401のうち、すべてのファイルの生成年が2013年であり、1つのファイルの生成月が5月、残りの3つのファイルの生成月が12月であるものとする。この場合、1つのファイルは「Photo/2013/05」というパスが移動先フォルダとして決定され、残りの3つのファイルは「Photo/2013/12」というパスが移動先フォルダとして決定される。
移動先フォルダが決定すると、フォルダ生成部140は、決定された移動先フォルダが存在するか否かを確認する。そして、フォルダ生成部140は、移動先フォルダ「Photo/2013/12」が存在しないことを確認し、図10(b)に示すように、「Photo/2013/12」のフォルダ222を生成する。
そして、ファイル移動部150は、移動対象ファイル401を、それぞれについて決定された移動先フォルダに移動する。移動した後の状態を表した図が図10(c)である。このように、4つの移動対象ファイル401のうち、1つのファイルが「Photo/2013/05」のフォルダ223に移動され、残りの3つのファイルが新たに生成された「Photo/2013/12」のフォルダ222に移動される。
そして、ファイル移動部150は、移動対象ファイル401を、それぞれについて決定された移動先フォルダに移動する。移動した後の状態を表した図が図10(c)である。このように、4つの移動対象ファイル401のうち、1つのファイルが「Photo/2013/05」のフォルダ223に移動され、残りの3つのファイルが新たに生成された「Photo/2013/12」のフォルダ222に移動される。
以上のように、本実施形態における情報処理装置100は、ユーザが既に分類を行っているフォルダ構成ルールに合わせて、移動対象ファイルの格納に適したフォルダを新規に作成し、そこに移動対象ファイルを移動することができる。
一般に、ユーザは、コンピュータ上の複数のファイルを、それぞれフォルダに分類して管理している。しかしながら、例えば新たな分類を追加したい場合、ユーザは、自身が決定した命名ルールに則ったフォルダ名で新たにフォルダを生成したうえで、生成したフォルダにファイルを移動する必要がある。また、複数の移動対象ファイルを複数のフォルダに分類したい場合、ユーザは、ファイルの移動操作を複数回繰り返さなければならない。このように、ファイルの振り分け操作は煩雑であり、ユーザの負荷が大きい。
一般に、ユーザは、コンピュータ上の複数のファイルを、それぞれフォルダに分類して管理している。しかしながら、例えば新たな分類を追加したい場合、ユーザは、自身が決定した命名ルールに則ったフォルダ名で新たにフォルダを生成したうえで、生成したフォルダにファイルを移動する必要がある。また、複数の移動対象ファイルを複数のフォルダに分類したい場合、ユーザは、ファイルの移動操作を複数回繰り返さなければならない。このように、ファイルの振り分け操作は煩雑であり、ユーザの負荷が大きい。
これに対して、本実施形態における情報処理装置100は、既存のフォルダの構成ルールを解析し、解析された構成ルールに則って、移動対象ファイルに関する情報をもとに、移動対象ファイルの移動先フォルダを決定する。このとき、情報処理装置100は、決定された移動先フォルダが存在しない場合、当該移動先フォルダを生成する。そして、情報処理装置100は、移動対象ファイルを、解析された構成ルールに則って決定された移動先フォルダに移動する。
したがって、ユーザが独自のフォルダ構造でファイルを管理している場合でも、既存のフォルダの構成ルールに合わせた適切な位置にファイルを移動することができる。そのため、情報処理装置100によってファイルが移動された後に、ユーザが手動でファイルを再整理する必要がない。また、情報処理装置100は、移動対象ファイルの移動先となるフォルダが存在しない場合、移動先フォルダを自動で生成するので、ユーザのフォルダ生成の手間が省ける。このように、ファイル移動に関するユーザの煩雑な操作を低減し、ユーザの負荷を軽減することができるので、ユーザの作業効率を向上させることができる。
さらに、情報処理装置100は、複数の移動対象ファイルを一度の操作で複数のフォルダに分類し移動することができる。つまり、ユーザは、複数の移動対象ファイルを一度に指定するだけでよく、ファイルの移動操作を複数回繰り返す必要がない。このように、ユーザの負荷を大幅に軽減することができる。
さらに、情報処理装置100は、複数の移動対象ファイルを一度の操作で複数のフォルダに分類し移動することができる。つまり、ユーザは、複数の移動対象ファイルを一度に指定するだけでよく、ファイルの移動操作を複数回繰り返す必要がない。このように、ユーザの負荷を大幅に軽減することができる。
また、情報処理装置100は、フォルダの構成ルールの解析に際し、ユーザによって指定された所定のフォルダを解析の起点となる起点フォルダとし、その起点フォルダ以下の階層のフォルダ群を解析対象フォルダとして構成ルールを解析する。つまり、ユーザがファイル管理を行っているフォルダ群の第1階層のフォルダを指定するだけで、情報処理装置100は、ユーザがファイル管理を行っているフォルダ群の構成ルールを解析し、移動対象フォルダを適切に移動することができる。
また、情報処理装置100は、解析対象フォルダの最上層のフォルダである起点フォルダから、解析対象フォルダ内の最下層のフォルダまでの階層構造を示すフォルダパスを検索し、フォルダパスごとに構成ルールを解析する。そして、情報処理装置100は、フォルダパスが複数検索された場合、フォルダパスごとの複数の構成ルールのうち同一の構成ルールの割合を示す一致率が最も高く、かつ基準値以上である構成ルールを解析対象フォルダの構成ルールとして特定する。
このように、複数検索されたフォルダパスの構成ルールの傾向を解析するので、適切に解析対象フォルダの構成ルールを解析することができる。その結果、移動対象ファイルを誤ったフォルダに移動してしまうことを抑制することができ、ユーザの負荷増大を抑制することができる。
このように、複数検索されたフォルダパスの構成ルールの傾向を解析するので、適切に解析対象フォルダの構成ルールを解析することができる。その結果、移動対象ファイルを誤ったフォルダに移動してしまうことを抑制することができ、ユーザの負荷増大を抑制することができる。
さらに、情報処理装置100は、フォルダパスの構成ルールの解析に際し、フォルダパス中の最上層のフォルダから階層順に解析中フォルダを設定し、解析中フォルダのフォルダ名の命名ルールをそれぞれ解析する。
複数のファイルをフォルダごとに分類して管理する場合、そのフォルダ名はファイルに関する情報と関連のある名称であることが一般的である。フォルダパス中の各フォルダの命名ルールを階層順に解析することで、フォルダパスの構成ルールを適切に解析することができる。
複数のファイルをフォルダごとに分類して管理する場合、そのフォルダ名はファイルに関する情報と関連のある名称であることが一般的である。フォルダパス中の各フォルダの命名ルールを階層順に解析することで、フォルダパスの構成ルールを適切に解析することができる。
また、情報処理装置100は、解析中フォルダに属するファイルのメタデータに含まれる要素のうち、解析中フォルダのフォルダ名と合致する要素(合致要素)を集計することで、解析中フォルダのフォルダ名の命名ルールを解析する。
具体的には、情報処理装置100は、解析中フォルダに属する全ファイルのうち同一の合致要素を有するファイルの割合を示す合致率を算出し、合致率が最も高くかつ基準値以上となる合致要素を、解析中フォルダ名の命名ルールとして特定する。このように、解析中フォルダのフォルダ名とファイルのメタデータとの直接的な関連性を解析することで、適切に解析中フォルダの命名ルールを解析することができる。
具体的には、情報処理装置100は、解析中フォルダに属する全ファイルのうち同一の合致要素を有するファイルの割合を示す合致率を算出し、合致率が最も高くかつ基準値以上となる合致要素を、解析中フォルダ名の命名ルールとして特定する。このように、解析中フォルダのフォルダ名とファイルのメタデータとの直接的な関連性を解析することで、適切に解析中フォルダの命名ルールを解析することができる。
ここで、解析中フォルダの命名ルールの解析に用いるメタデータは、ファイルの生成日時とすることができる。複数のファイルをフォルダごとに分類して管理する場合、ファイルの生成日時(年、月、日)に応じてフォルダに階層構造を設けてファイルを管理することが多い。したがって、解析中フォルダのフォルダ名が、解析中フォルダに属するファイルの生成日時(年、月、日)と合致しているか否かを判定することで、適切に解析中フォルダのフォルダ名の命名ルールを解析することができる。
以上のように、情報処理装置100は、ファイルの移動に関するユーザによる煩雑な操作を低減することができ、操作感を向上させることができる。
なお、本実施形態では、ファイルのメタデータとして、ファイルの生成日時を例にとって説明したが、生成日時以外のメタデータを用いてフォルダ構成ルールを解析することもできる。例えば、ファイルのメタデータとしてファイル名を用いてフォルダ構成ルールを解析してもよい。
なお、本実施形態では、ファイルのメタデータとして、ファイルの生成日時を例にとって説明したが、生成日時以外のメタデータを用いてフォルダ構成ルールを解析することもできる。例えば、ファイルのメタデータとしてファイル名を用いてフォルダ構成ルールを解析してもよい。
次に、本発明の第二の実施形態について説明する。
上述した第一の実施形態では、利用判定処理に用いるメタデータを、ファイルの生成日時とする場合について説明した。第二の実施形態では、上記メタデータとして、ファイルの生成日時とGPS情報とを用いる場合について説明する。
本実施形態における情報処理装置100の全体構成は、図1に示す構成と同様である。また、本実施形態における情報処理装置100は、上述した第一の実施形態と同様に、図3、図4および図7に示す処理を実行する。ただし、図7のS388において実行する利用判定処理が第一の実施形態とは異なる。したがって、以下、処理の異なる部分を中心に説明する。
上述した第一の実施形態では、利用判定処理に用いるメタデータを、ファイルの生成日時とする場合について説明した。第二の実施形態では、上記メタデータとして、ファイルの生成日時とGPS情報とを用いる場合について説明する。
本実施形態における情報処理装置100の全体構成は、図1に示す構成と同様である。また、本実施形態における情報処理装置100は、上述した第一の実施形態と同様に、図3、図4および図7に示す処理を実行する。ただし、図7のS388において実行する利用判定処理が第一の実施形態とは異なる。したがって、以下、処理の異なる部分を中心に説明する。
図11および図12は、図7のS388において実行される利用判定処理の手順を示すフローチャートである。
図11のS821では、構成ルール解析部110は、図8のS802と同様にファイル列を生成(準備)する。そして、S822では、構成ルール解析部110は、図8のS803と同様に、ファイル列へ対象ファイルのファイル情報を追加する。次にS823では、構成ルール解析部110は、対象ファイルの数を取得する。
S824では、構成ルール解析部110は、解析中フォルダ名が複数の単語により構成されている可能性があることを考慮して、単語分割を行う。なお、解析中フォルダ名が1つの単語により構成されている場合、解析中フォルダ名がそのまま単語分割結果となる。次にS825において、構成ルール解析部110は、解析中フォルダ名を構成している単語を格納するための単語列を生成(準備)する。なお、この単語列に格納される各単語にはインデックスが付与され、インデックスを用いて該当する単語を取得できるように構成されている。
図11のS821では、構成ルール解析部110は、図8のS802と同様にファイル列を生成(準備)する。そして、S822では、構成ルール解析部110は、図8のS803と同様に、ファイル列へ対象ファイルのファイル情報を追加する。次にS823では、構成ルール解析部110は、対象ファイルの数を取得する。
S824では、構成ルール解析部110は、解析中フォルダ名が複数の単語により構成されている可能性があることを考慮して、単語分割を行う。なお、解析中フォルダ名が1つの単語により構成されている場合、解析中フォルダ名がそのまま単語分割結果となる。次にS825において、構成ルール解析部110は、解析中フォルダ名を構成している単語を格納するための単語列を生成(準備)する。なお、この単語列に格納される各単語にはインデックスが付与され、インデックスを用いて該当する単語を取得できるように構成されている。
S826では、構成ルール解析部110は、S825において準備された単語列に、S824において分割された単語をすべて追加する。そして、S827では、構成ルール解析部110は、S824の単語分割によって得られた単語の数を取得する。次にS828において、構成ルール解析部110は、上記単語分割によって分割された単語ごとに処理を区別するための単語カウンタの値を0にセットする。
S829では、構成ルール解析部110は、空の合致要素列を生成(準備)する。ここで、合致要素列は、上記ファイル列に含まれるファイル情報(メタデータ)のうち、解析中フォルダ名を構成する単語と合致する項目(合致要素)を格納するための列である。S830では、構成ルール解析部110は、単語カウンタの値がS827により取得された単語数よりも小さいか否かを判定する。そして、構成ルール解析部110は、単語カウンタの値が単語数よりも小さいと判定した場合は図12のS831へ移行し、単語カウンタの値が単語数以上であると判定した場合は処理を終了する。つまり、構成ルール解析部110は、解析中フォルダ名を構成している単語の個数分だけ、図12に示す判定処理を繰り返す。
S829では、構成ルール解析部110は、空の合致要素列を生成(準備)する。ここで、合致要素列は、上記ファイル列に含まれるファイル情報(メタデータ)のうち、解析中フォルダ名を構成する単語と合致する項目(合致要素)を格納するための列である。S830では、構成ルール解析部110は、単語カウンタの値がS827により取得された単語数よりも小さいか否かを判定する。そして、構成ルール解析部110は、単語カウンタの値が単語数よりも小さいと判定した場合は図12のS831へ移行し、単語カウンタの値が単語数以上であると判定した場合は処理を終了する。つまり、構成ルール解析部110は、解析中フォルダ名を構成している単語の個数分だけ、図12に示す判定処理を繰り返す。
図12のS831では、構成ルール解析部110は、単語列から単語カウンタのインデックスを持つ単語を取得し、S832において、単語カウンタの値に1を加算する。次にS833では、構成ルール解析部110は、合致要素列をクリアする。これは、複数の単語ごとの判定処理結果が混ざらないようにするためである。続いてS834において、構成ルール解析部110は、ファイルカウンタの値を0にセットする。
次にS835では、構成ルール解析部110は、S831において取得された単語が数字であるか否かを判定する。そして、構成ルール解析部110は、単語が数字であると判定した場合はS836へ、単語が数字ではないと判定した場合はS842へ移行する。
次にS835では、構成ルール解析部110は、S831において取得された単語が数字であるか否かを判定する。そして、構成ルール解析部110は、単語が数字であると判定した場合はS836へ、単語が数字ではないと判定した場合はS842へ移行する。
S836では、構成ルール解析部110は、ファイルカウンタの値がS823において取得されたファイル数よりも小さいか否かを判定する。そして、構成ルール解析部110は、ファイルカウンタの値がファイル数よりも小さいと判定した場合はS837へ、ファイルカウンタの値がファイル数よりも大きいと判定した場合はS850へ移行する。
S837では、構成ルール解析部110は、ファイル列からファイルカウンタの値と同じインデックスを持つファイルを取得し、S838において、ファイルカウンタの値に1を加算する。次にS839では、構成ルール解析部110は、S837において取得されたファイルから、当該ファイルの生成日時を取得する。
S837では、構成ルール解析部110は、ファイル列からファイルカウンタの値と同じインデックスを持つファイルを取得し、S838において、ファイルカウンタの値に1を加算する。次にS839では、構成ルール解析部110は、S837において取得されたファイルから、当該ファイルの生成日時を取得する。
そして、S840では、構成ルール解析部110は、S831において取得された単語が、S839において取得されたファイルの生成日時の内部要素(年、月、日)の少なくとも一部と合致するか否かを判定する。判定の結果、合致する要素がある場合はS841へ移行し、合致した要素を合致要素列に追加してからS836へ戻る。一方、合致する要素がない場合はそのままS836へ戻る。つまり、構成ルール解析部100は、S831において取得された単語に対して、対象ファイルの数と同じ回数だけ、ファイル生成日時と合致するか否かの判定処理を繰り返す。
S842では、構成ルール解析部110は、S831において取得された単語が地名であるか否かを判定する。なお、本実施形態では、S831において取得された単語が数字以外の文字列である場合、その単語が地名であると判定する。そして、構成ルール解析部110は、単語が地名であると判定した場合はS843へ、単語が地名ではないと判定した場合はS850へ移行する。
S843では、構成ルール解析部110は、ファイルカウンタの値がS823において取得されたファイル数よりも小さいか否かを判定する。そして、構成ルール解析部110は、ファイルカウンタの値がファイル数よりも小さいと判定した場合はS844へ、ファイルカウンタの値がファイル数よりも大きいと判定した場合はS850へ移行する。
S843では、構成ルール解析部110は、ファイルカウンタの値がS823において取得されたファイル数よりも小さいか否かを判定する。そして、構成ルール解析部110は、ファイルカウンタの値がファイル数よりも小さいと判定した場合はS844へ、ファイルカウンタの値がファイル数よりも大きいと判定した場合はS850へ移行する。
S844では、構成ルール解析部110は、ファイル列からファイルカウンタの値と同じインデックスを持つファイルを取得し、S845において、ファイルカウンタの値に1を加算する。次にS846では、構成ルール解析部110は、S837において取得されたファイルから、当該ファイルがメタデータとして持つGPS情報を取得する。S847では、S846において取得されたGPS情報を地名に変換する。GPS情報から地名へ変換する際は、別途地名辞書を参照し、GPS情報に対応する地名を取得する。
そして、S848では、構成ルール解析部110は、S831において取得された単語が、S847において変換された地名と合致するか否かを判定する。判定の結果、地名が合致する場合はS849へ移行し、合致した地名を合致要素列に追加してからS843へ戻る。一方、地名が合致しない場合はそのままS843へ戻る。つまり、構成ルール解析部100は、S831において取得された単語に対して、対象ファイルの数だけ、ファイルのGPS情報を変換して得られた地名と合致するか否かの判定処理を繰り返す。
そして、S848では、構成ルール解析部110は、S831において取得された単語が、S847において変換された地名と合致するか否かを判定する。判定の結果、地名が合致する場合はS849へ移行し、合致した地名を合致要素列に追加してからS843へ戻る。一方、地名が合致しない場合はそのままS843へ戻る。つまり、構成ルール解析部100は、S831において取得された単語に対して、対象ファイルの数だけ、ファイルのGPS情報を変換して得られた地名と合致するか否かの判定処理を繰り返す。
1つの単語に対して対象ファイル分だけS835〜S849の判定処理を行った後、S850において、構成ルール解析部110は、単語合致率(%)を算出する。単語合致率は、解析中フォルダ名を構成する単語が、対象ファイルのメタデータとどの程度合致しているかを示す値であり、合致要素列で最多登場する要素の数(最多要素数)を用いて、上記(3)式と同様に、下記(4)式をもとに算出する。
単語合致率(%)=最多要素数/全ファイル数 ………(4)
単語合致率(%)=最多要素数/全ファイル数 ………(4)
S851では、構成ルール解析部110は、S850において算出された単語合致率が、予め設定された単語合致率の基準値(%)以上であるか否かを判定する。そして、構成ルール解析部110は、単語合致率が基準値以上である場合にはS853に移行し、単語合致率が基準値よりも小さい場合にはS854に移行する。
S853では、構成ルール解析部110は、解析中フォルダ名に含まれる単語が分類に利用されていると判定し、解析中フォルダ階層と単語カウンタの値と合致要素とを、解析中フォルダに含まれる単語の構成ルールとして保管してから、処理を終了する。S854では、構成ルール解析部110は、解析中フォルダ名に含まれる単語が分類に利用されていないと判定し、フォルダ構成ルールとして、解析フォルダ階層と単語カウンタの値と合致要素なし(構成ルールなし)という情報を保管してから処理を終了する。
S853では、構成ルール解析部110は、解析中フォルダ名に含まれる単語が分類に利用されていると判定し、解析中フォルダ階層と単語カウンタの値と合致要素とを、解析中フォルダに含まれる単語の構成ルールとして保管してから、処理を終了する。S854では、構成ルール解析部110は、解析中フォルダ名に含まれる単語が分類に利用されていないと判定し、フォルダ構成ルールとして、解析フォルダ階層と単語カウンタの値と合致要素なし(構成ルールなし)という情報を保管してから処理を終了する。
このように、構成ルール解析部110は、解析中フォルダに属するファイルのメタデータに含まれる要素のうち、解析中フォルダのフォルダ名を分割して得られた単語と合致する要素を集計することで、解析中フォルダのフォルダ名の命名ルールを解析する。このとき、構成ルール解析部110は、ファイルのメタデータに含まれる要素に、当該メタデータを変換して得られる要素を含める。そして、構成ルール解析部110は、フォルダパス中の最上層のフォルダから階層順に解析中フォルダとして設定し、上記の利用判定処理により解析中フォルダのフォルダ名の命名ルールをそれぞれ解析することで、フォルダパスの構成ルールを解析する。
なお、図12のS851の判定で用いる基準値は、予め設定された固定値であってもよいし、ユーザが任意に変更可能であってもよい。
なお、図12のS851の判定で用いる基準値は、予め設定された固定値であってもよいし、ユーザが任意に変更可能であってもよい。
以下、移動対象ファイルの移動動作例について説明する。ここでは、図13(a)に示すように、ユーザが4つのファイル411を移動対象ファイルとして選択し、フォルダ231を移動先フォルダとして選択した場合について説明する。
この場合、構成ルール解析部110は、フォルダ231を起点とした解析対象フォルダの構成ルールを解析する。このとき、構成ルール解析部110は、解析対象フォルダのフォルダパスを検索する。検索の結果、図14(a)に示すような2つのパスからなるフォルダパス302が得られる。
この場合、構成ルール解析部110は、フォルダ231を起点とした解析対象フォルダの構成ルールを解析する。このとき、構成ルール解析部110は、解析対象フォルダのフォルダパスを検索する。検索の結果、図14(a)に示すような2つのパスからなるフォルダパス302が得られる。
次に、構成ルール解析部110は、パスごとに構成ルールの解析を行う。以下、図14(a)のインデックス0のフォルダパスについて説明する。まず、構成ルール解析部110は、フォルダパスの先頭のフォルダである「Photo」というフォルダを解析中フォルダに設定する。そして、構成ルール解析部110は、この解析中フォルダのフォルダ名に対して単語分割を行う。これにより、構成ルール解析部110は、解析中フォルダを構成する単語数は1つであり、その単語は「Photo」であるという結果を得る。
そこで、構成ルール解析部110は、単語「Photo」が分類に利用されているかを判定する。ところが、単語「Photo」は数字でも地名でもないため、構成ルール解析部110は、単語「Photo」はファイルの分類に利用されていないと判定する。以上によりフォルダ「Photo」に関する判定処理は終了する。
そこで、構成ルール解析部110は、単語「Photo」が分類に利用されているかを判定する。ところが、単語「Photo」は数字でも地名でもないため、構成ルール解析部110は、単語「Photo」はファイルの分類に利用されていないと判定する。以上によりフォルダ「Photo」に関する判定処理は終了する。
続いて、構成ルール解析部110は、インデックス0のフォルダパス上の次のフォルダである「2012富士山」というフォルダを解析中フォルダに設定する。この解析中フォルダのフォルダ名「2012富士山」は、「2012」と「富士山」という2つの単語に分割できる。そのため、構成ルール解析部110は、図14(b)に示すように、「2012」と「富士山」の2つの単語が格納された単語列320を生成する。そして、構成ルール解析部110は、これら2つの単語について、それぞれファイルの分類に利用されているか否かの判定を行う。
単語列中のインデックス0の単語「2012」は数字であるため、構成ルール解析部110は、単語「2012」が、解析中フォルダ内のファイルの生成日時の内部要素の少なくとも1つと合致するか否かを判定する。また、インデックス1の単語「富士山」は文字列であるため、構成ルール解析部110は、単語「富士山」が、解析中フォルダ内のファイルのGPS情報を変換して得られた地名と合致するか否かを判定する。
このとき、すべての対象ファイル(フォルダ「2012富士山」内の全ファイル)の生成年が2012年であり、これら対象ファイルのGPS情報を変換した地名が富士山であるものとする。その場合、単語「2012」および単語「富士山」について算出された単語合致率は100%となる。そのため、構成ルール解析部110は、解析中フォルダのフォルダ名「2012富士山」のうち、単語カウンタ値0の単語「2012」は「生成日時−年」、単語カウンタ値の単語「富士山」は「地名」と関連があるというルールがあることを特定する。
このとき、すべての対象ファイル(フォルダ「2012富士山」内の全ファイル)の生成年が2012年であり、これら対象ファイルのGPS情報を変換した地名が富士山であるものとする。その場合、単語「2012」および単語「富士山」について算出された単語合致率は100%となる。そのため、構成ルール解析部110は、解析中フォルダのフォルダ名「2012富士山」のうち、単語カウンタ値0の単語「2012」は「生成日時−年」、単語カウンタ値の単語「富士山」は「地名」と関連があるというルールがあることを特定する。
結果として、構成ルール解析部110は、インデックス0のフォルダパス「Photo−2012富士山」について、図14(c)に示す構成ルール330を得る。
図14(c)のルール331は、フォルダ階層0の単語カウンタ値0の単語、つまり、フォルダ「Photo」の単語「Photo」が、分類に用いられていないことを表している。また、ルール332は、フォルダ階層1の単語カウンタ値0の単語、つまり、フォルダ「2012富士山」の単語「2012」が、分類に用いられており、それはファイルの生成日時のうち年にあたることを表している。さらに、ルール333は、フォルダ階層1の単語カウンタ値1の単語、つまり、フォルダ「2012富士山」の単語「富士山」が、分類に用いられており、それはファイルが持つGPS情報を変換した地名であることを表している。
図14(c)のルール331は、フォルダ階層0の単語カウンタ値0の単語、つまり、フォルダ「Photo」の単語「Photo」が、分類に用いられていないことを表している。また、ルール332は、フォルダ階層1の単語カウンタ値0の単語、つまり、フォルダ「2012富士山」の単語「2012」が、分類に用いられており、それはファイルの生成日時のうち年にあたることを表している。さらに、ルール333は、フォルダ階層1の単語カウンタ値1の単語、つまり、フォルダ「2012富士山」の単語「富士山」が、分類に用いられており、それはファイルが持つGPS情報を変換した地名であることを表している。
また、図14(a)のインデックス1のフォルダパス「Photo−2013八ヶ岳」に対して行った解析結果も、上記のインデックス0に対して行った解析結果と同様であるものとする。
その場合、パスごとの解析結果をまとめて、図4に示すフローに基づきフォルダパスの構成ルールの検出率およびフォルダパスの構成ルールの一致率を算出すると、いずれも100%となる。したがって、構成ルール解析部110は、解析対象フォルダの構成ルールとして、「フォルダ階層0=ルールなし、フォルダ階層1=(生成日時−年)+(地名)」という構成ルールが存在すると判断する。
すると、次にメタデータ抽出部120は、移動対象ファイル411から構成ルールに関連するメタデータを抽出する。このとき、メタデータ抽出部120は、ファイルの生成日時とGPS情報とを抽出する。
その場合、パスごとの解析結果をまとめて、図4に示すフローに基づきフォルダパスの構成ルールの検出率およびフォルダパスの構成ルールの一致率を算出すると、いずれも100%となる。したがって、構成ルール解析部110は、解析対象フォルダの構成ルールとして、「フォルダ階層0=ルールなし、フォルダ階層1=(生成日時−年)+(地名)」という構成ルールが存在すると判断する。
すると、次にメタデータ抽出部120は、移動対象ファイル411から構成ルールに関連するメタデータを抽出する。このとき、メタデータ抽出部120は、ファイルの生成日時とGPS情報とを抽出する。
そして、移動先決定部130は、上記の構成ルール解析部110とメタデータ抽出部120との処理結果から、移動対象ファイル411の移動先フォルダを決定する。図13(a)に示す例では、ファイルの生成日時のうちの「年」と、GPS情報を変換して得られた地名とがファイルの分類に利用されているため、移動先決定部130は、移動対象ファイル411の生成年とGPS情報とに基づいて移動先フォルダを決定する。
ここで、4つの移動対象ファイル411の生成年がそれぞれ2013年であり、GPS情報がそれぞれ高尾山に対応しているものとする。この場合、これら4つの移動対象ファイルについて、「Photo/2013高尾山」というパスが移動先フォルダとして決定される。
ここで、4つの移動対象ファイル411の生成年がそれぞれ2013年であり、GPS情報がそれぞれ高尾山に対応しているものとする。この場合、これら4つの移動対象ファイルについて、「Photo/2013高尾山」というパスが移動先フォルダとして決定される。
移動先フォルダが決定すると、フォルダ生成部140は、決定された移動先フォルダが存在するか否かを確認する。そして、フォルダ生成部140は、移動先フォルダ「Photo/2013高尾山」が存在しないことを確認し、図13(b)に示すように、「Photo/2013高尾山」のフォルダ232を生成する。
そして、ファイル移動部150は、移動対象ファイル411を移動先フォルダに移動する。移動した後の状態を表した図が図13(c)である。このように、4つの移動対象ファイル411は、「Photo/2013高尾山」のフォルダ232に移動される。
そして、ファイル移動部150は、移動対象ファイル411を移動先フォルダに移動する。移動した後の状態を表した図が図13(c)である。このように、4つの移動対象ファイル411は、「Photo/2013高尾山」のフォルダ232に移動される。
以上のように、本実施形態における情報処理装置100は、解析中フォルダの構成ルール(解析中フォルダ名の命名ルール)の解析に際し、解析中フォルダのフォルダ名を単語ごとに分割する。そして、情報処理装置100は、解析中フォルダに属するファイルのメタデータに含まれる要素のうち、解析中フォルダ名を分割して得られた単語と合致する要素(合致要素)を集計することで、解析中フォルダのフォルダ名の命名ルールを解析する。
具体的には、情報処理装置100は、解析中フォルダに属する全ファイルのうち同一の合致要素を有するファイルの割合を示す単語合致率を算出する。そして、情報処理装置100は、単語合致率が最も高くかつ基準値以上となる合致要素を、解析中フォルダ名を構成する単語の命名ルールとして特定する。
具体的には、情報処理装置100は、解析中フォルダに属する全ファイルのうち同一の合致要素を有するファイルの割合を示す単語合致率を算出する。そして、情報処理装置100は、単語合致率が最も高くかつ基準値以上となる合致要素を、解析中フォルダ名を構成する単語の命名ルールとして特定する。
したがって、ファイルを管理しているフォルダのフォルダ名がファイルのメタデータに含まれる複数の要素から決定されている場合であっても、確実に解析中フォルダの命名ルールを解析することができる。その結果、上述した第一の実施形態と同様に、既存のフォルダの構成ルールを適切に解析し、解析した構成ルールに則った適切な位置に移動対象ファイルを移動することができ、ファイルの移動に関するユーザによる煩雑な操作を低減することができる。
ここで、メタデータに含まれる要素は、メタデータを変換して得られる要素を含んでいてもよい。この場合、解析中フォルダのフォルダ名とファイルのメタデータとの間接的な関連性を解析することで、適切に解析中フォルダの命名ルールを解析することができる。したがって、ファイルを管理しているフォルダのフォルダ名がファイルのメタデータにそのまま合致していなくても、当該メタデータと関連のある情報と合致している場合、適切に解析中フォルダの命名ルールを解析することができる。
また、解析中フォルダの命名ルールの解析に用いるメタデータは、ファイルのGPS情報とすることができる。複数のファイルをフォルダごとに分類して管理する場合、ファイルの生成場所や撮像場所に応じてフォルダに階層構造を設けてファイルを管理することも多い。したがって、解析中フォルダのフォルダ名が、解析中フォルダに属するファイルのGPS情報を変換して得られた地名情報と合致しているか否かを判定することで、適切に解析中フォルダのフォルダ名の命名ルールを解析することができる。
なお、本実施形態では、メタデータとしてファイルのGPS情報を用い、GPS情報から変換された地名情報を用いてフォルダ構成ルールを解析する場合を例にとって説明したが、GPS情報以外のメタデータを変換した情報を用いてもよい。例えば、ファイルの生成日時を四季(春夏秋冬)に変換してフォルダ構成ルールの解析に利用してもよい。
なお、本実施形態では、メタデータとしてファイルのGPS情報を用い、GPS情報から変換された地名情報を用いてフォルダ構成ルールを解析する場合を例にとって説明したが、GPS情報以外のメタデータを変換した情報を用いてもよい。例えば、ファイルの生成日時を四季(春夏秋冬)に変換してフォルダ構成ルールの解析に利用してもよい。
(変形例)
上記各実施形態においては、メタデータ抽出部120は、移動対象ファイルからメタデータを抽出する場合について説明したが、移動対象ファイルとは別に、メタデータに対応する移動対象ファイルに関する情報を取得するようにしてもよい。この場合、移動対象ファイルに関する情報は、ユーザが入力部15を介して指定することができるようにしてもよい。
上記各実施形態においては、メタデータ抽出部120は、移動対象ファイルからメタデータを抽出する場合について説明したが、移動対象ファイルとは別に、メタデータに対応する移動対象ファイルに関する情報を取得するようにしてもよい。この場合、移動対象ファイルに関する情報は、ユーザが入力部15を介して指定することができるようにしてもよい。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
100…情報処理装置、110…構成ルール解析部、120…メタデータ抽出部、130…移動先決定部、140…フォルダ生成部、150…ファイル移動部
Claims (12)
- フォルダの構成ルールを解析する解析手段と、
対象ファイルに関する情報を取得する取得手段と、
前記解析手段により解析された構成ルールに則って、前記取得手段により取得された前記対象ファイルに関する情報をもとに、当該対象ファイルの移動先としての移動先フォルダを生成する生成手段と、を備えることを特徴とする情報処理装置。 - 前記解析手段は、
所定のフォルダを前記解析の起点となる起点フォルダとし、前記起点フォルダ以下の階層のフォルダ群を解析対象フォルダとして、前記解析対象フォルダの構成ルールを解析することを特徴とする請求項1に記載の情報処理装置。 - 前記解析手段は、
前記起点フォルダから前記解析対象フォルダ内の最下層のフォルダまでの階層構造を示すフォルダパスを検索し、前記フォルダパスごとに構成ルールを解析することを特徴とする請求項2に記載の情報処理装置。 - 前記解析手段は、
前記フォルダパスが複数検索された場合、前記フォルダパスごとの複数の構成ルールのうち同一の構成ルールの割合を示す一致率が最も高く、かつ基準値以上である構成ルールを前記解析対象フォルダの構成ルールとして特定することを特徴とする請求項3に記載の情報処理装置。 - 前記解析手段は、
前記フォルダパス中の最上層のフォルダから階層順に解析中フォルダとして設定し、
前記解析中フォルダのフォルダ名の命名ルールをそれぞれ解析することで、前記フォルダパスの構成ルールを解析することを特徴とする請求項3または4に記載の情報処理装置。 - 前記解析手段は、
前記解析中フォルダに属するファイルのメタデータに含まれる要素のうち、前記解析中フォルダのフォルダ名と合致する要素を集計することで、前記解析中フォルダのフォルダ名の命名ルールを解析することを特徴とする請求項5に記載の情報処理装置。 - 前記解析手段は、
前記解析中フォルダのフォルダ名を単語ごとに分割する分割手段を有し、
前記解析中フォルダに属するファイルのメタデータに含まれる要素のうち、前記分割手段により分割された単語と合致する要素を集計することで、前記解析中フォルダのフォルダ名の命名ルールを解析することを特徴とする請求項5に記載の情報処理装置。 - 前記メタデータに含まれる要素は、前記メタデータを変換して得られる要素を含むことを特徴とする請求項6または7に記載の情報処理装置。
- 前記メタデータは、ファイルの生成日時に関する情報を含むことを特徴とする請求項6から8のいずれか1項に記載の情報処理装置。
- 前記メタデータは、ファイルのGPS情報を含むことを特徴とする請求項6から9のいずれか1項に記載の情報処理装置。
- フォルダの構成ルールを解析するステップと、
対象ファイルに関する情報を取得するステップと、
前記構成ルールに則って、前記対象ファイルに関する情報をもとに、当該対象ファイルの移動先としての移動先フォルダを生成するステップと、を含むことを特徴とする情報処理方法。 - コンピュータを、請求項1から10のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016163282A JP2018032182A (ja) | 2016-08-24 | 2016-08-24 | 情報処理装置、情報処理方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016163282A JP2018032182A (ja) | 2016-08-24 | 2016-08-24 | 情報処理装置、情報処理方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018032182A true JP2018032182A (ja) | 2018-03-01 |
Family
ID=61304683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016163282A Pending JP2018032182A (ja) | 2016-08-24 | 2016-08-24 | 情報処理装置、情報処理方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018032182A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020160485A (ja) * | 2019-03-25 | 2020-10-01 | カシオ計算機株式会社 | ファイル管理装置及びプログラム |
CN113641843A (zh) * | 2021-07-15 | 2021-11-12 | 城乡院(广州)有限公司 | 一种成果图的自动分类方法、装置、设备及存储介质 |
-
2016
- 2016-08-24 JP JP2016163282A patent/JP2018032182A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020160485A (ja) * | 2019-03-25 | 2020-10-01 | カシオ計算機株式会社 | ファイル管理装置及びプログラム |
JP7318255B2 (ja) | 2019-03-25 | 2023-08-01 | カシオ計算機株式会社 | ファイル管理装置及びプログラム |
CN113641843A (zh) * | 2021-07-15 | 2021-11-12 | 城乡院(广州)有限公司 | 一种成果图的自动分类方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zaharia et al. | Accelerating the machine learning lifecycle with MLflow. | |
US9400808B2 (en) | Color description analysis device, color description analysis method, and color description analysis program | |
JP7044893B2 (ja) | 業務分析方法 | |
JP6008693B2 (ja) | 情報処理装置及びその制御方法、プログラム | |
US12008028B2 (en) | Mining locations and other context information from construction documents | |
JP2013257738A (ja) | コンピューティングシステム、コンピューティングシステムの実行制御方法及び実行制御プログラム | |
JP2009163497A (ja) | 事務フロー生成装置およびその方法 | |
JP5194581B2 (ja) | 文書処理装置および文書処理プログラム | |
JP2018032182A (ja) | 情報処理装置、情報処理方法およびプログラム | |
JPWO2017203672A1 (ja) | アイテム推奨方法、アイテム推奨プログラムおよびアイテム推奨装置 | |
US20180329873A1 (en) | Automated data extraction system based on historical or related data | |
JP2013131051A (ja) | 情報処理装置、情報処理方法、プログラム | |
Lv et al. | APISynth: A new graph-based API recommender system | |
JP5998835B2 (ja) | 情報処理装置及びプログラム | |
JP5826148B2 (ja) | 図面管理サーバ及びこれを用いた図面管理システム | |
JP5589009B2 (ja) | 推薦クエリ抽出装置及び方法及びプログラム | |
JP2011076544A (ja) | 作業手順策定支援システム、作業手順策定支援方法、および作業手順策定支援プログラム | |
CN109271490A (zh) | 动态字段的分类方法和系统 | |
JP4813906B2 (ja) | 画面パターン分類装置、画面パターン分類方法及び画面パターン分類プログラム | |
US20130185401A1 (en) | Configuration management device, configuration management method, and configuration management program | |
JP6431246B2 (ja) | サービス提供システム、サービス提供方法、及びサービス提供プログラム | |
Zheng | A User's Guide to CARSKit | |
JP6686519B2 (ja) | 構成選定装置、構成選定システム、方法およびプログラム | |
JP6455087B2 (ja) | 帳票情報処理プログラム、帳票情報処理装置、および帳票情報処理方法 | |
US11960541B2 (en) | Name data matching apparatus, and name data matching method and program |