(57)【要約】【課題】その都度分類を行う推論モデルを生成すること無く、ユーザの求めるレベルの分類結果を得ることが可能な情報処理装置を提供する。【解決手段】情報処理装置は、分類を木構造によりモデル化し且つ同一の親節を持つ節をグループ化した節グループを定義した節グループ情報を用いて分類対象を分類する情報処理装置であって、節グループ情報を用いて木構造の親節の側から節グループを順次辿って分類対象を分類するときに特定の節グループに対して分類を行うか否かを定める深度情報を設定する設定手段と、節グループ情報を用いて木構造の親節の側から節グループを順次辿ることによって分類対象を分類し、分類結果を提供する処理手段と、を有し、処理手段は、深度情報の設定に応じて、分類対象を分類するために親節の側から節グループを順次辿る深度を異ならせる。【選択図】図４
2020123053.tif 000002
【特許請求の範囲】
【請求項１】
分類を木構造によりモデル化し且つ同一の親節を持つ節をグループ化した節グループを定義した節グループ情報を用いて分類対象を分類する情報処理装置であって、
前記節グループ情報を用いて前記木構造の親節の側から節グループを順次辿って前記分類対象を分類するときに特定の節グループに対して分類を行うか否かを定める深度情報を設定する設定手段と、
前記節グループ情報を用いて前記木構造の親節の側から節グループを順次辿ることによって前記分類対象を分類し、分類結果を提供する処理手段と、を有し、
前記処理手段は、前記深度情報の設定に応じて、前記分類対象を分類するために親節の側から節グループを順次辿る深度を異ならせる、ことを特徴とする情報処理装置。
【請求項２】
前記処理手段は、前記節グループ情報の前記節グループと該節グループに関する諸元とを関連付けた管理テーブルを参照することにより、前記節グループ情報を用いて前記分類対象を分類する、ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記処理手段は、予め定められた条件を満たすか否かを前記諸元に基づいて判定することにより、前記分類対象を分類するために親節の側から節グループを順次辿る深度を制御する、ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記管理テーブルの前記諸元は、前記分類対象を分類する処理に要する処理時間の情報を含み、
前記処理手段は、前記処理時間の情報に基づいてルート節からの処理時間の累積が予め定められた処理時間を超えるかを判定することにより、前記分類対象を分類するために親節の側から節グループを順次辿る深度を制御する、ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記管理テーブルの前記諸元は、前記節グループ情報の前記節グループのサイズの情報を含み、
前記処理手段は、前記サイズの情報に基づいてルート節からの前記サイズの累積が予め定められたサイズを超えるかを判定することにより、優先順の高い節グループを順次辿るように制御する、ことを特徴とする請求項３に記載の情報処理装置。
【請求項６】
前記管理テーブルの前記諸元は、前記節グループ情報の前記節グループを処理するために要する情報処理装置の能力の情報を含み、
前記処理手段は、前記能力の情報に基づいて情報処理装置の能力に応じた節グループを順次辿るように制御する、ことを特徴とする請求項３に記載の情報処理装置。
【請求項７】
前記管理テーブルの前記諸元は、前記節グループの利用数を示す情報を含み、
前記処理手段は、前記利用数を示す情報に基づき、所定の利用率を下回る節グループのデータを圧縮する、ことを特徴とする請求項２から６のいずれか１項に記載の情報処理装置。
【請求項８】
前記管理テーブルの前記諸元は、前記節グループの利用数を示す情報を含み、
前記処理手段は、前記利用数を示す情報に基づき、所定の利用率を下回る節グループのデータを、前記節グループ情報が保存されるストレージより低速なストレージに保存する、ことを特徴とする請求項２から６のいずれか１項に記載の情報処理装置。
【請求項９】
前記節グループ情報は、互いに依存関係のない１以上の分類を前記木構造によってモデル化し且つ同一の親節を持つ節をグループ化した節グループを定義した情報を含む、ことを特徴とする請求項１から８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記設定手段は、節グループに対して分類を行うか否かを定める深度情報を、親節の側または子節の側へユーザ操作に応じて変更可能である、ことを特徴とする請求項１から９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記分類結果を提示する表示手段を更に有する、ことを特徴とする請求項１から１０のいずれか１項に記載の情報処理装置。
【請求項１２】
前記設定手段は、ユーザごとに前記深度情報を設定する、ことを特徴とする請求項１から１１のいずれか１項に記載の情報処理装置。
【請求項１３】
分類を木構造によりモデル化し且つ同一の親節を持つ節をグループ化した節グループを定義した節グループ情報を用いて分類対象を分類する情報処理方法であって、
設定手段が、前記節グループ情報を用いて前記木構造の親節の側から節グループを順次辿って前記分類対象を分類するときに特定の節グループに対して分類を行うか否かを定める深度情報を設定する設定工程と、
処理手段が、前記節グループ情報を用いて前記木構造の親節の側から節グループを順次辿ることによって前記分類対象を分類し、分類結果を提供する処理工程と、を有し、
前記処理工程では、前記深度情報の設定に応じて、前記分類対象を分類するために親節の側から節グループを順次辿る深度を異ならせる、ことを特徴とする情報処理方法。
【請求項１４】
コンピュータを、請求項１から１２のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および情報処理方法ならびにプログラムに関する。
【背景技術】
【０００２】
近年、計算機の処理能力の向上や記憶容量の増大により、大量に蓄積されたデータを学習して分類し新たな処理対象のデータがどの分類に属するかを識別するための機械学習アルゴリズムの利用が盛んになっている。
【０００３】
このような機械学習アルゴリズムの１つである決定木（decision tree）アルゴリズムを用いてデータを木構造のモデルで分類する技術が知られている。特許文献１では、決定木を生成する際に、データを分岐する際の分類精度の低さを示す不純度に加え、学習データから特徴量を計算する際の計算コストを考慮することで、処理時間を短縮し得る決定木の生成技術を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−２８５１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、画像解析などにおいて分類対象を木構造のモデルで分類する場合、ユーザによって興味のある概念の大小が異なるため、求める分類の深度が異なる場合がある。このため、ユーザごとに適した分類を実現するためには、ユーザのそれぞれに対して決定木などの推論モデルを構築する必要がある。また、ユーザによって求める分類の深度が時間とともに変化するとその都度分類を行う推論モデルを再構築する必要も生じる場合がある。しかしながら、大量のデータを用いて推論モデルを都度構築するためには時間と計算コストがかかるという課題がある。
【０００６】
本発明は、上記課題に鑑みてなされ、その目的は、その都度分類を行う推論モデルを生成すること無く、ユーザの求めるレベルの分類結果を得ることが可能な技術を提供することである。
【課題を解決するための手段】
【０００７】
この課題を解決するため、例えば本発明の情報処理装置は以下の構成を備える。すなわち、分類を木構造によりモデル化し且つ同一の親節を持つ節をグループ化した節グループを定義した節グループ情報を用いて分類対象を分類する情報処理装置であって、前記節グループ情報を用いて前記木構造の親節の側から節グループを順次辿って前記分類対象を分類するときに特定の節グループに対して分類を行うか否かを定める深度情報を設定する設定手段と、前記節グループ情報を用いて前記木構造の親節の側から節グループを順次辿ることによって前記分類対象を分類し、分類結果を提供する処理手段と、を有し、前記処理手段は、前記深度情報の設定に応じて、前記分類対象を分類するために親節の側から節グループを順次辿る深度を異ならせる、ことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、その都度分類を行う推論モデルを生成すること無く、ユーザの求めるレベルの分類結果を得ることが可能になる。
【図面の簡単な説明】
【０００９】
【図１】実施形態１に係る情報処理装置の機能構成例を示すブロック図
【図２】実施形態１に係る、木構造に体系化した推論モデルの例を説明する図
【図３】実施形態１に係る、管理テーブルのデータ構造の一例を示す図
【図４】実施形態１に係る、分類結果を表示する処理の動作を示すフローチャート
【図５】実施形態１に係る、分類結果を外部に出力する処理の動作を示すフローチャート
【図６】実施形態２に係る、木構造を用いた分類を表示する画面の一例を示す図
【図７】実施形態２に係る、分類の深度を変更する設定画面の一例を示す図
【図８】実施形態２に係る、木構造を用いた分類の例を説明する図
【図９】実施形態２に係る、分類結果を表示する処理の動作を示すフローチャート
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【００１１】
（実施形態１）
以下では情報処理装置の一例として、推論モデルを用いた分類が可能なパーソナルコンピュータ（ＰＣ）を用いる例を説明する。しかし、本実施形態は、ＰＣに限らず、推論モデルを用いた分類が可能な他の機器にも適用可能である。これらの機器には、例えば、デジタルカメラ、スマートフォンを含む携帯電話機、ゲーム機、タブレット端末、時計型や眼鏡型の情報端末、医療機器、監視システムや車載用システムの機器などが含まれてよい。
【００１２】
（ＰＣの構成）
図１は、本実施形態の情報処理装置の一例としてのパーソナルコンピュータ（ＰＣ）１００の機能構成例を示すブロック図である。なお、図１に示す機能ブロックの１つ以上は、ＡＳＩＣやプログラマブルロジックアレイ（ＰＬＡ）などのハードウェアによって実現されてもよいし、ＣＰＵやＧＰＵなどのプログラマブルプロセッサがソフトウェアを実行することによって実現されてもよい。また、ソフトウェアとハードウェアの組み合わせによって実現されてもよい。
【００１３】
ＰＣ１００はディスプレイ１０１、ＶＲＡＭ１０２、ＢＭＵ１０３、キーボード１０４、ＰＤ１０５、プロセッサ１０６、ＲＯＭ１０７、ＲＡＭ１０８、ＨＤＤ１０９、メディアドライブ１１０、ネットワークＩ／Ｆ１１１、バス１１２を有する。
【００１４】
ディスプレイ１０１は、例えば液晶や有機ＥＬの表示パネルを含み、プロセッサ１０６の指示に応じて、例えばＰＣ１００を操作するためのアイコン、メッセージ、メニューその他のユーザインタフェース情報を表示する。ＶＲＡＭ１０２は、ディスプレイ１０１に表示するための画像が一時的に格納する。ＶＲＡＭ１０２に格納された画像データは、所定の規定に従ってディスプレイ１０１に転送され、これによりディスプレイ１０１に画像が表示される。ＢＭＵ１０３は、例えば、メモリ間（例えば、ＶＲＡＭ１０２と他のメモリとの間）のデータ転送や、メモリと各Ｉ／Ｏデバイス（例えば、ネットワークＩ／Ｆ１１１）との間のデータ転送を制御する。
【００１５】
キーボード１０４は、文字等を入力するための各種キーを含み、ユーザ操作によって入力されたデータをプロセッサ１０６に送信する。ＰＤ（ポインティングデバイス）１０５は、例えば、ディスプレイ１０１に表示されたアイコン、メニューその他のコンテンツを指示またはオブジェクトのドラッグドロップのために使用される。
【００１６】
プロセッサ１０６は、ＲＯＭ１０７、ＨＤＤ１０９又はメディアドライブ１１０から読み出した、ＯＳや後述するプログラム等の制御プログラムをＲＡＭ１０８に展開し実行することにより、ＰＣ１００全体の動作を制御する。また、プロセッサ１０６は、後述する分類処理を実行する。
【００１７】
ＲＯＭ１０７は、各種制御プログラムやデータを保存する。ＲＡＭ１０８は、プロセッサ１０６のワーク領域、エラー処理時のデータの退避領域、制御プログラムのロード領域等を有する。ＨＤＤ１０９は、ＰＣ１００内で実行される各制御プログラムや一時的に保存したデータ等のデータを格納する。また、後述する節グループ情報や管理テーブルのデータを格納する。
【００１８】
ネットワークＩ／Ｆ１１１は、他の情報処理装置やプリンタ等とネットワークを介して通信を行う。バス１１２は、アドレスバス、データバス及びコントロールバスを含む。なお、プロセッサ１０６に対する制御プログラムの提供は、ＲＯＭ１０７、ＨＤＤ１０９、メディアドライブ１１０から行うこともできるし、ネットワークＩ／Ｆ１１１を介してネットワーク経由で他の情報処理装置等から行うこともできる。
【００１９】
（木構造を用いた分類の例）
図２（ａ）〜（ｃ）は、推論モデルを木構造でモデル化した節グループ情報の例を模式的に示している。節グループ情報は、互いに依存関係のない１以上の分類を持つことでき、それぞれの分類に対して、木構造における同一の親を持つ節をグループ化している。この節グループ情報は、例えば、不図示のデジタルカメラ等で撮影された画像の被写体が何であるかを分類し、分類結果をユーザに提示する際に用いることができる。対象に対する分類をどの程度のレベルまで分類してユーザに提示すべきかについては、ユーザごとに要求するレベルが異なる場合がある。このため、後述するように、深度情報（後述する深度リスト）を用いて、分類対象を分類するときの深度をユーザごとに制御する。以下、節グループ情報について具体的に説明する。
【００２０】
図２（ａ）は、一部の動物に対する節グループ情報の例を示している。節グループ２０１は、「ネコ目(もく)」を含む同一の節を親とする不図示の他の節との節グループを構成する。なお、説明の便宜上、「ネコ目(もく)」のルートとなるルート節を含む上位概念は図示していない。節グループ２０２は、「ネコ目(もく)」の節を親とする節グループであり、「ネコ亜目」および「アシカ亜目」の節を含んでいる。節グループ２０３〜２０９は、節グループ２０２と同じように同一の節を親とする節グループを示している。
【００２１】
本実施形態では、このような推論モデルを、図３を参照して後述するデータ構成を用いて管理する。図２（ｂ）は、図２（ａ）に示した１以上の節グループにおいて利用することが可能（図２（ａ）に示した木構造と依存関係がある）であり、かつ、図２（ａ）とは異なる観点で分類する木構造となるように体系化した構成を示している。
【００２２】
２１０は、独立したルート節を示している。２１１は、２１０を同一の親とする節の節グループを示している。例えば、節グループ２１１は、「動物の表情」なる節を分類する節グループであり、いぬの種類を示す節グループ２０７、または、ねこの種類を示す節グループ２０９の分類と併用することができる。このように体系化した各節グループも、節グループごとに親とする節で分類をされていることを条件とした推論モデルとして生成し、図３を参照して後述するデータ構成を用いて推論モデルを管理する。
【００２３】
更に、図２（ｃ）は、図２（ａ）および図２（ｂ）とは異なる観点で分類する木構造となるように体系化した構成を示している。２１２は、図２（ａ）に示した木構造とは独立したルート節を示している。また、２１３は、２１２を親とする節の節グループを示す。例えば、２１３は、「印象」を分類する節グループであり、図２（ａ）および図２（ｂ）の分類と依存関係がなく、独立して利用することができる。このように体系化した各節グループも、節グループごとに親とする節で分類をされていることを条件とした推論モデルとして生成し、図３を参照して後述するデータ構成を用いて推論モデルを管理する。
【００２４】
図３（ａ）および（ｂ）は、本実施形態のＰＣ１００が保持するデータ構成の一例を示している。図３（ａ）は、図２（ａ）〜（ｃ）に示した推論モデルの管理テーブルの一例（管理テーブル３００）を示し、図３（ｂ）は、推論モデルの管理レコードの管理番号を使用して設定される深度リストを示している。例えば、図３（ｂ）に示す深度リストの例では、管理番号が「１０９」である管理レコードが設定されている。なお、この例では説明の便宜上、「ネコ目(もく)」は同一の節を親とする不図示の他の節との節グループであるが、ルート節として扱っている。また、説明の便宜上、図２で説明した全ての節グループと対応する推論モデルの管理は記載されていない。
【００２５】
図３において、列３０１は推論モデルの節の管理番号を示し、列３０２は推論モデルの親節の管理番号を示している。図３に示す管理番号「１０１」（すなわち行３１２のレコード）および「１０２」（すなわち行３１３のレコード）はルート節であることを示している。これらの節は親の節がないため、列３０２（親節の管理番号リスト）には管理番号が設定されていない。また、先端の節（リーフ節ともいう）についても、リーフ節の管理番号を親節の管理番号とする他のレコードは存在しない。
【００２６】
列３０３は、親節の分類結果を示している。この親節の分類結果が一致する推論モデルを用いることでさらに詳細な分類を行うことができる。ルート節の場合には親の節が存在しないため親節の分類結果は設定されない。このような管理テーブルを使用することにより、図２（ａ）に示した木構造を管理することができる。
【００２７】
列３０４は、関連節管理番号リストを示している。列３０５〜列３１０は、推論モデルの諸元を示している。すなわち、本実施形態では、節グループ情報の節グループと、節グループに関する諸元（例えば列３０５（推論モデルのサイズ）や列３０７（優先順位））とを関連付けて管理する。これにより、分類結果を提供したり、図５を参照して後述する処理により推論モデルを管理するＰＣ以外に推論モデルを提供したりする際に、環境や実行するデバイスに合わせて分類の深度を異ならせることができる。すなわち分類の実行時に最適な推論モデルを選択することができるようになる。なお、諸元は推論モデルの選択において単体あるいは組み合わせて用いてよい。
【００２８】
例えば、列３０６（参考処理時間）の値を参照することで、一定時間内に処理を求められる環境において、それまでに要した処理時間に基づき、求められる時間内で実行可能な処理を判断し、最適な推論モデルの実行を行うことができる。あるいは、利用数を表す列３０８の値を使用して利用率を求め、所定の利用率を下回る推論モデル（例えば節グループ）のデータを圧縮してもよい。また、所定の利用率を下回る推論モデルのデータを、節グループ情報が保存されるストレージより低速なストレージに保存しても良い。
【００２９】
なお、諸元を備えなくても必要なモデルを用いてユーザに適した分類を行うことができるため、必ずしも諸元は必須ではない。また、図３（ａ）に示す諸元の項目は一例であり、項目および項目数に限定されるものではない。
【００３０】
列３１１は、対応する管理番号の推論モデルのバイナリデータを示す。なお、説明の便宜上、列３１１のデータを推論モデルのバイナリで表す例を示しているが、推論モデルのファイルへのポインタなどであっても良い。
【００３１】
行３１２と行３１３は、ともに、図２に示した節グループ２０１に対応するレコードを示している。行３１２と行３１３とでは、対応する節グループは同一である一方、処理に必要な能力が異なる。例えば、列３１０では、行３１２の管理レコードでは処理にＧＰＵを必要とするが、行３１３の管理レコードでは処理にＣＰＵのみを用いて処理することができることを示している。このように本実施形態では、同一の分類に対して異なる処理を適用可能な複数の推論モデルを諸元とともに管理することができる。このようにすることで、後述する図５に示す処理により、推論モデルを管理するＰＣ１００以外の機器に推論モデルを提供する際に、提供先の機器はその能力に合わせて推論モデルを選択することができる。
【００３２】
更に、行３１４、３１５、３１６、３１７、３１８、３１９、３２０は、それぞれ、図２に示した節グループ２０３、２０４、２０５、２０６、２０７、２０８、２０９に対応する管理レコードを示している。行３２１は、図２に示した節グループ２１１の管理レコードを示している。行３２１の管理レコードでは、関連節管理番号リストを示す列３０４の項目に、管理番号「１０７」および管理番号「１０９」がリストとして設定されている。これは、図２に示した、いぬの種類を示す節グループ２０７、または、ねこの種類を示す節グループ２０９の分類と併用することができることを示す。
【００３３】
行３２２は、図２に示した節グループ２１３に対応する管理レコードを示している。この行３２２では、親節の管理番号を示す列３０２も、関連節管理番号リストを示す列３０４も設定されていない。このため、図２に示した「印象」を分類する節グループ２１３は、他の節と依存関係がなく、独立して利用可能であることを示す。このようなデータ構造を用いることにより、節グループごとに推論モデルを管理することができ、個々の推論モデルの更新や、異なる分類の複数の推論モデルの追加や変更を容易に行うことができる。すなわち、判定率の低い推論モデルを適宜更新（例えば学習によりモデルを更新）することで推論の精度向上が容易になり、また、よく利用される推論モデルを効率化して更新することで推論の効率を向上させ易くなる。
【００３４】
図３（ｂ）に示す深度情報のリスト３２３は、指定された管理番号より深い分類まで処理を行わないことを示すリストを示している。このような深度情報により、節グループ情報を用いて木構造の親節の側から節グループを順次辿って分類対象を分類するときに特定の節グループに対して分類を行うか否かを定める。すなわち、深度情報の設定に応じて特定の節グループより深い深度に分類が行われないようにすることで、分類のために親節の側から節グループを順次辿る深度を異ならせる。
【００３５】
図３（ｂ）に示す例では、項目３２４は、処理を行わない最初の管理番号である管理番号「１０９」を示している。すなわち、管理番号「１０９」のねこの種類（節グループ２０９）について分類を行わないが、設定のされていない管理番号である「１０７」のいぬの種類（節グループ２０７）は分類を行うことを表す。このように処理を行わない管理番号を指定することにより、分類する深度を管理することができるようになる。なお、説明の便宜上、処理を行わない管理番号のリストでは、ユーザ単位の指定を加味していない例を示した。しかし、ユーザ単位で処理を行わない推論モデルの管理番号のリストを有するように構成することで、ユーザ毎にユーザの興味に合わせた深度を管理することができる。また、図３（ｂ）では、「処理を行わない」推論モデルの管理番号を示すリストの例について説明したが、深度リストとして「処理を行う」推論モデルの管理番号のリストを持つようにしても分類する深度を管理することができる。
【００３６】
（木構造に対する分類処理）
次に、図４（ａ）および（ｂ）を参照して、本実施形態のＰＣ１００における分類処理の動作について説明する。図４（ａ）および（ｂ）に示す処理は、ＰＣ１００のプロセッサ１０６がＲＯＭ１０７またはＨＤＤ１０９に格納されたプログラムをＲＡＭ１０８に展開、実行することにより実現される。なお、図４（ｂ）に示す処理は、図４（ａ）に示す処理によって呼び出され、各ルート節からの一連の木構造に対する処理を実行する。また、図４（ｂ）に示す処理は、木構造の親子関係を順次処理するために再起呼び出しによって繰り返し処理が行われる。
【００３７】
ステップＳ４０１にて、ＰＣ１００のプロセッサ１０６は、分類経路結果と分類結果を示すデータを初期化する。続いて、ステップＳ４０２にて、プロセッサ１０６は、ルート節の推論モデルを取得する。例えば、プロセッサ１０６は、図３に示した例では、列３０２（親節の管理番号リスト）および列３０４（関連節管理番号リスト）のどちらも設定されていない行３１２、行３１３および行３２２のレコードで管理される推論モデルを処理対象として取得する。なお、行３１２と３１３は図２に示した節グループ２０１に対応し、行３２２は図２に示した節グループ２１３に対応する。
【００３８】
ステップＳ４０３にて、プロセッサ１０６は、ステップＳ４０２で取得したルート節の推論モデルに対して、図４（ｂ）に示す分類処理を実行する（ステップＳ４０５を呼び出す）。なお、図４に示す動作では明示していないが、ステップＳ４０２において取得したルート節が複数ある場合には、その数に応じて図４（ｂ）の分類処理を複数回実行する。このとき、図４（ｂ）に示すステップＳ４０５以降の処理は、逐次的に実行されてもよいし並列して実行されてもよい。また、ステップＳ４０５の呼び出しの順序を、例えば、図３に示したデータ構成における列３０７（優先順位）の値を用いて、優先順位が所定の順位以上であるものを処理対象とするように制御しても良い。さらに、同一の分類を対象とした異なる方式の複数の推論モデルが存在する場合について、上述の列３０７（優先順位）の値を用いて処理を制御しても良い。例えば、図３に示したデータ構成では、行３１２と行３１３のレコードは、同一の分類を対象とした異なる方式の推論モデルである。このため、列３０７の優先順位がより高く設定されている行３１２のレコードで示される推論モデルを、行３１３のレコードで示される推論モデルよりも優先して使用する（或いは行３１３のレコードを使用しないようにする）ことができる。このように、複数のルート節を処理することで、方式の異なる推論モデルや、動物の種類と印象（すなわち行３１２と行３２２）のような異なった分類を行うことができる。
【００３９】
ステップＳ４０４にて、プロセッサ１０６は、ステップＳ４０３で取得した分類経路結果と分類結果を表示する。例えば、プロセッサ１０６は、ディスプレイ１０１に、分類経路結果として「ネコ目、ネコ亜目、イヌ科、イヌ属、ゴールデン・レトリーバー」、分類結果として「ゴールデン・レトリーバー」を表示する。なお、Ｓ４０４の説明では、説明の便宜上、分析結果等をディスプレイ１０１に表示する場合を例に説明した。しかし、分類結果等を例えば撮影の被写体に合わせた動態予測などＰＣ１００の更なる処理に利用する場合、ディスプレイ１０１に表示を行うこと無く処理結果をＰＣ１００の処理に利用してもよい。
【００４０】
ステップＳ４０５にて、プロセッサ１０６は、ステップＳ４０３において指定された推論モデルを受け取る。なお、ステップＳ４０５では、後述のステップＳ４１１およびステップＳ４１３からも呼び出される。この場合には、ステップＳ４１１およびステップＳ４１３で指定された推論モデルを受け取る。ステップＳ４０６にて、プロセッサ１０６は、指定された推論モデルを用いて分類を実行するかを判定する。プロセッサ１０６は、指定された推論モデルを用いて分類を実行すると判定した場合、ステップＳ４０７に処理を進める。一方、プロセッサ１０６は、指定された推論モデルで分類を実行しないと判定した場合には、ステップＳ４１４に処理を進める。例えば、図３に示したデータ構成では、ユーザの興味に合わせた深度として、処理を行わない推論モデルの管理番号のリスト３２３に、処理を行わない推論モデルの管理番号として１０９が設定されている。このため、指定された推論モデルの管理番号が１０９であれば、指定された推論モデルで分類を実行しないと判定して、ステップＳ４１４に処理を進める。なお、プロセッサ１０６は、処理を行わない推論モデルの管理番号のリストの代わりに、処理を行う推論モデルの管理番号のリストを用いて深度調整を行う場合、指定された推論モデルがリストにないと判定した場合にステップＳ４１４に処理を進める。このようにすることで、ユーザの興味に合わせた深度での分類を実行することができる。
【００４１】
また、プロセッサ１０６は、例えば、図３に示したデータ構成における列３０６（参考処理時間）を参照してもよい。例えば、プロセッサ１０６は、ステップＳ４０１からの処理経過時間と指定された推論モデルの参考処理時間とに基づき、予め定められた処理時間を超えると判定した場合に、ステップＳ４１４に処理を進めるようにしてもよい。すなわち、一定時間内に処理を求められる分類処理を行う場合に、親節の側から節グループを順次辿る深度を適切に制御することができる。
【００４２】
ステップＳ４０７にて、プロセッサ１０６は、対象を、指定された推論モデルで分類する。処理対象は、例えば、予め処理対象に指定された撮影画像である。例えば、プロセッサ１０６は、決定木アルゴリズムを用いて対象を分類し、図２（ａ）に示した、いずれかの節グループに属する項目に対象を分類する。なお、本ステップでは、決定木アルゴリズムではなく、例えば、深層学習（ディープラーニングともいわれる）や他の機械学習アルゴリズムを用いて対象を認識し、認識結果が節グループに属する項目のいずれかに対応するように分類してもよい。更にステップＳ４０８にて、ＰＣ１００のプロセッサ１０６は、ステップＳ４０７で分類した結果を分類経路結果に追加する。このとき、プロセッサ１０６は、分類経路結果に深度を登録しても良い。
【００４３】
ステップＳ４０９にて、プロセッサ１０６は、ステップＳ４０７で分類した結果を親の分類結果に持つ推論モデルがあるかを判定する。ステップＳ４０７で分類した分類結果を親の分類結果に持つ推論モデルがあると判定した場合、ステップＳ４１１に処理を進め、分類結果を親の分類結果に持つ推論モデルがないと判定した場合には、ステップＳ４１０に処理を進める。例えば、図３に示したデータ構成では、ステップＳ４０７で分類した結果を、列３０３（親節の分類結果）に持つレコードを取得して判定を行う。
【００４４】
ステップＳ４１０にて、プロセッサ１０６は、ステップＳ４０７で分類した結果を分類結果に追加する。その後、プロセッサ１０６は、呼び出し元へ処理を返す（すなわちＳ４０４へ処理を進める）。
【００４５】
ステップＳ４１１にて、プロセッサ１０６は、ステップＳ４０９で判定した推論モデル（ステップＳ４０７で分類した結果を親の分類結果に持つ推論モデル）を指定して、ステップＳ４０５を呼び出して処理をおこなう。すなわち、プロセッサ１０６は、異なる推論モデルを指定して図４（ｂ）の処理を再帰的に実行する。なお、図４（ｂ）では明示していないが、プロセッサ１０６は、取得した推論モデルが複数ある場合は推論モデルの数だけ処理を行う。このとき、順次ステップＳ４０５を呼び出して処理を行っても良いし、並列でステップＳ４０５を呼び出して処理を行っても良い。また、ステップＳ４０５の呼び出しの順序を、例えば、図３に示したデータ構成における列３０７（優先順位）の値を用いて制御しても良い。さらに、同一の分類に対して異なる方式の複数の推論モデルが存在する場合、例えば、図３に示したデータ構成における列３０７（優先順位）の値などを用いて処理対象を制御しても良い。
【００４６】
ステップＳ４１２にて、プロセッサ１０６は、指定された推論モデルの管理番号を列３０４（関連節管理番号リスト）にもつ推論モデルがあるかを判定する。プロセッサ１０６は、指定された推論モデルの管理番号が列３０４（関連節管理番号リスト）に記述されている場合、ステップＳ４１３に処理を進める。一方、指定された推論モデルの管理番号が関連節管理番号リストに記述されていない場合、呼び出し元へ処理を返す。例えば、図３に示したデータ構成では、列３０４（関連節管理番号リスト）に指定された推論モデルの管理番号を持つレコードを取得して本ステップの判定を行う。
【００４７】
ステップＳ４１３にて、プロセッサ１０６は、ステップＳ４１２で取得した推論モデルを指定して、ステップＳ４０５を呼び出して処理を行い（すなわち図４（ｂ）の処理を再帰的に実行し）、その後、呼び出し元へ処理を返す。なお、図４（ｂ）には明示していないが、取得した推論モデルが複数ある場合は推論モデルの数だけ処理を行う。このとき、順次ステップＳ４０５を呼び出して処理を行っても良いし、並列してステップＳ４０５を呼び出して処理を行っても良い。また、ステップＳ４０５の呼び出しの順序を、例えば、図３に示したデータ構成における列３０７（優先順位）の値を使って制御しても良い。さらに、同一の分類に対して異なる方式の複数の推論モデルが存在する場合、例えば、図３に示したデータ構成における列３０７（優先順位）の値などを用いて処理対象を制御しても良い。例えば、図３に示したデータ構成では、列３０４（関連節管理番号リスト）に１０７と１０９が設定されているレコード（行３２１）がある。このため、指定された推論モデルの管理番号が「１０７」または「１０９」であれば、行３２１のレコードの推論モデルを指定してステップＳ４０５を呼び出して、処理を行う。このようにすることで、ねこの種類あるいは、いぬの種類と動物の表情の組み合わせについての分類を行うことができる。
【００４８】
ステップＳ４１４にて、プロセッサ１０６は、Ｓ４０６で分類を実行しないと判定されたため、親の分類結果を利用可能な形式に加工して、処理対象の推論モデルの分類結果に追加する。プロセッサ１０６は、例えば、ユーザの興味に合わせた深度で推論を終える場合に、「イヌ科、イヌ属」で処理を終えても利用可能な形式に加工するために、分類結果を「イヌ」とする。
【００４９】
このように図４の処理により、ユーザごとに分類を行う推論モデルを作成する必要がなく、ユーザによって求める分類の深度が時間とともに変化しても、その都度分類を行う推論モデルを再作成する必要がなくなり、ユーザの求める分類を行うことができる。プロセッサ１０６は、その後呼び出し元へ処理を返す。
【００５０】
次に、図５（ａ）および（ｂ）を参照して、本実施形態のＰＣ１００における分類処理の動作について説明する。なお、本分類処理は、分類結果を表示する代わりに、分類を行う他の情報処理装置のために分類結果を出力する。図５（ａ）および（ｂ）に示す処理は、ＰＣ１００のプロセッサ１０６がＲＯＭ１０７またはＨＤＤ１０９に格納されたプログラムをＲＡＭ１０８に展開、実行することにより実現される。なお、図５（ｂ）に示す処理は、図５（ａ）に示す処理から呼び出され、また、木構造の親子関係を順次処理するために再起呼び出しによって繰り返し処理が行われる。
【００５１】
ステップＳ５０１にて、ＰＣ１００のプロセッサ１０６は、推論モデルリストの初期化を行う。ステップＳ５０２にて、プロセッサ１０６は、ルート節の推論モデルを取得する。例えば、プロセッサ１０６は、図３に示した例では、列３０２（親節の管理番号）および列３０４（関連節管理番号リスト）のどちらも設定されていない行３１２、行３１３および行３２２のレコードで管理されている推論モデルを処理対象として取得する。なお、行３１２と３１３は図２に示した節グループ２０１に対応し、行３２２は図２に示した節グループ２１３に対応する。
【００５２】
ステップＳ５０３にて、プロセッサ１０６は、ステップＳ５０２で取得したルート節の推論モデルを指定して、図５（ｂ）に示す分類処理を実行する（ステップＳ５０５を呼び出す）。なお、図には明示していないが、ステップＳ５０２にて取得したルート節が複数ある場合にはその数に応じて図５（ｂ）の分類処理を複数回実行する。このとき、このとき、図４（ｂ）に示すステップＳ４０５以降の処理は、逐次的に実行されてもよいし並列して実行されてもよい。更に、ステップＳ５０４にて、プロセッサ１０６は、分類を行う他の情報処理装置の能力に合わせてステップＳ５０３で生成した推論モデルリストを、分類を行う他の情報処理装置に渡す。プロセッサ１０６は、その後、本分類処理を終了する。
【００５３】
ステップＳ５０５にて、プロセッサ１０６は、ステップＳ５０３で指定された推論モデルを受け取る。なお、ステップＳ５０５では、後述のステップＳ５１１およびステップＳ５１３からも呼び出される。この場合には、ステップＳ５１１およびステップＳ５１３で指定された推論モデルを受け取る。ステップＳ５０６にて、プロセッサ１０６は、指定された推論モデルを用いて分類を実行するかを判定する。プロセッサ１０６は、指定された推論モデルを用いて分類を実行すると判定した場合、ステップＳ５０７に処理を進める。一方、プロセッサ１０６は、指定された推論モデルで分類を実行しないと判定した場合は、呼び出し元へ処理を返す。
【００５４】
例えば、本実施形態のデータ構成では、ユーザの興味に合わせた深度を設定するために、処理を行わない推論モデルの管理番号のリスト３２３に、処理を行わない推論モデルの管理番号（図３（ｂ）の例では管理番号「１０９」）が設定されている。このため、プロセッサ１０６は、Ｓ４０３で指定された推論モデルの管理番号が、処理を行わない推論モデルの管理番号のリスト３２３に指定された「１０９」と一致する場合、呼び出し元へ処理を返す。なお、プロセッサ１０６は、処理を行わない推論モデルの管理番号のリストの代わりに、処理を行う推論モデルの管理番号のリストを用いて深度調整を行ってもよい。この場合には、Ｓ４０３で指定された推論モデルが、当該リストにない場合に呼び出し元へ処理を返す。このようにすることで、ユーザの興味に合わせた深度での分類を実行することができる。なお、深度情報のリスト３２３はユーザごとに保持してもよいし、分類を行う他の情報処理装置ごとに保持してもよい。
【００５５】
ステップＳ５０７にて、プロセッサ１０６は、指定された推論モデルの諸元を取得する。そして、ステップＳ５０８にて、プロセッサ１０６は、取得した推論モデルの諸元が分類を行う他の情報処理装置の条件を満たすかを判定する。取得した推論モデルの諸元が条件を満たすと判定した場合は、ステップＳ５０９に処理を進め、一方、取得した推論モデルの諸元が条件を満たさないと判定した場合は、呼び出し元へ処理を返す。例えば、図３に示したデータ構成の例では、プロセッサ１０６は、列３０６（参考処理時間）を参照して、ルート節からの参考処理時間の累積が予定する処理時間を超えるかを判定する。プロセッサ１０６は、参考処理時間の累積が予定する処理時間を超えると判定した場合には分類を行う他の情報処理装置の条件を満たさないと判定して、呼び出し元へ処理を返す。すなわち、分類の深度を現状より深くしない。
【００５６】
また、図３に示したデータ構成の例では、プロセッサ１０６は、列３０５（推論モデルのサイズ）と列３０７（優先順位）を参照する。そして、推論モデルのリストにおいて推論モデルのサイズのルート節からの累積が予め定められたサイズを超える場合、分類処理の処理対象を列３０７（優先順位）の値の高い推論モデルに限定するように、処理対象の推論モデルを取捨選択しても良い。あるいは、プロセッサ１０６は、図３に示したデータ構成の例では、列３１０（処理に必要な能力）に記述された条件を用いて、処理対象の推論モデルを取捨選択しても良い。すなわち、プロセッサ１０６は、列３１０の処理に必要な能力に基づいて情報処理装置の能力に応じた節グループを順次辿るように制御する。このようにすることで、一定時間内に処理を求められる分類処理に対する実行可否の判断や、情報処理装置の能力に適合した分類処理の実施を実現することができる。なお、諸元の項目については、図３に示した項目に限定されない。
【００５７】
ステップＳ５０９にて、プロセッサ１０６は、Ｓ５０３で指定された推論モデルを推論モデルのリストに追加する。ステップＳ５１０にて、プロセッサ１０６は、Ｓ５０３で指定された推論モデル（すなわち処理対象の推論モデル）を親節とする推論モデル（すなわち子に当たる節）があるか判定する。例えば、図３に示したデータ構成の例では、列３０２（親節の管理番号リスト）に指定された推論モデルの管理番号を持つレコードを取得して判定を行う。プロセッサ１０６は、Ｓ５０３で指定された推論モデルを親節とする推論モデルがある場合、ステップＳ５１１に処理を進める。一方、指定された推論モデルを親節とする推論モデルがない場合、ステップＳ５１２に処理を進める。
【００５８】
ステップＳ５１１にて、プロセッサ１０６は、ステップＳ５１０で取得した推論モデル（すなわち子に当たる節）を指定してステップＳ５０５を呼び出して図５（ｂ）の分類処理を再帰的に実行する。なお、図には明示していないが、取得した推論モデルが複数ある場合は推論モデルの数だけ処理を行う。このとき、ステップＳ５０５を逐次的に呼び出して処理を行っても良いし、ステップＳ５０５を並列して呼び出して処理を行っても良い。
【００５９】
ステップＳ５１２にて、プロセッサ１０６は、指定された推論モデルの管理番号が列３０４（関連節管理番号リスト）に存在するかを判定する。プロセッサ１０６は、指定された推論モデルの管理番号が列３０４（関連節管理番号リスト）に存在する場合、ステップＳ５１３に処理を進める。一方、指定された推論モデルの管理番号が列３０４（関連節管理番号リスト）に存在しない場合、呼び出し元へ処理を返す。ステップＳ５１３にて、プロセッサ１０６は、ステップＳ５１２で取得した推論モデルを指定してステップＳ５０５を呼び出す。そして、処理を実行するとその後、呼び出し元へ処理を返す。なお、図には明示していないが、取得した推論モデルが複数ある場合は推論モデルの数だけ処理を行う。このとき、ステップＳ５０５を逐次的に呼び出して処理を行っても良いし、並列してステップＳ５０５を呼び出して処理を行っても良い。このようにすることで、ユーザに合わせて分類を行う他の情報処理装置の諸条件に合わせた推論モデルの管理データを生成し、分類を行う他の情報処理装置に渡すことができる。
【００６０】
なお、上述の説明では、説明の便宜上、他の情報処理装置に推論モデルリストを渡す場合を例に説明した。しかし、例えば生成した推論モデルの管理データと、分類を行う他の情報処理装置に既に渡されていた推論モデルの管理データとを比較して、差分のみを更新するようにしてもよい。
【００６１】
以上説明したように本実施形態では、推論モデルを木構造でモデル化した節グループ情報を用いて分類対象を分類する処理を実行する。このとき、節グループ情報を用いて木構造の親節の側から節グループを順次辿って分類対象を分類するときに特定の節グループに対して分類を行うか否かを定める深度情報を設定し、分類を実行する節グループの深度を制御するようにした。このようにすることで、ユーザや情報処理装置に応じた深度で分類結果を提供することができる。また、ユーザによって求める分類の深度が時間とともに変化してもその都度分類を行う推論モデルを再作成する必要がなく、ユーザの求める分類を行うことが可能になる。
【００６２】
（実施形態２）
次に、節グループの深度を追加または変更することが可能な実施形態について説明する。なお、本実施形態に係るＰＣ１００は、実施形態１と同様の構成を用いることができる。このため、実施形態１と実質的に同一の構成および処理については、同一の参照符号を用いて重複する説明は省略する。なお、本実施形態では、以下の説明では、深度リストとしてその要素に節グループを格納するリストを例に説明する。しかし、深度リストはこの例に限らず、実施形態１と同様に、管理テーブルに定義されるレコードの管理番号を格納するようにしてもよい。
【００６３】
図６（ａ）および（ｂ）を参照して、ＰＣ１００のディスプレイ１０１に表示される画面６００の一例について説明する。画面６００では、分類を切り替えるためのタブ６０１および６０２を押下することにより、設定する分類の観点を切り替え可能に構成される。図６（ａ）は、タブ６０１で選択される分類の観点での設定画面を示している。一方、図６（ｂ）は、タブ６０２で選択される分類の観点での設定画面を示している。なお、分類の観点は、図６（ａ）および（ｂ）のようなタブ形式ではなく、プルダウンやメニューによる切替でも良い。また、分類の観点の個数は１以上でよく、分類の観点の種類も「人為分類」、「自然分類」ほか、特定分野の分類方法でもよく、本実施形態に限定されない。
【００６４】
項目６０３では、説明の便宜上一部省略をしているが「ねこ目(もく)」の選択状態を示している。例えば、項目６０３を表示する選択状態では、例えば「レッサーパンダ」「イヌ」「タヌキ」「キツネ」「クマ」「イタチ」「チーター」「ネコ」「アシカ」「セイウチ」「アザラシ」が分類結果として表示される。項目６０４では、イヌの種類を分類結果に追加あるいは削除する場合の表示例を示している。更に、項目６０５は、ネコの種類を分類結果に追加あるいは削除する場合の領域を示している。
【００６５】
例えば、項目６０３の選択状態で項目６０５を追加すれば、分類結果として「ネコ」であった分類に「スコティッシュフォールド」「アメリカンショートヘア」などの詳細が分類結果として表示される。なお、分類の表示では、分類の末端に相当するリーフの項目をすべて列記しても良いし、代表となる名称に限定して表示しても良い。また、節と節が一対一に対応する場合に省略可能な場合は省略して表示するようにしても良い。このようにすることで、ユーザが「ネコ」だけに興味を持っていたものの時間と共に「イヌ」にも興味を持った場合など、ユーザの興味の変化に合わせてユーザ自身により分類の深度を設定することができる。
【００６６】
図６（ｂ）に示す項目６０６は、異なる観点での分類が選択された場合（すなわちタブ６０２が選択された場合）において、節グループの分類を追加または削除する場合の表示状態を示している。例えば、項目６０３が表示された状態で、項目６０６を追加する場合、項目６０３が表示される状態の分類である「イヌ」の他に「ガンドック・グループ」「トイ・グループ」などが分類結果として表示される。このようにすることで、現在設定されている分類の観点に、分類の深度を追加する設定を行うことができる。
【００６７】
更に、図７を参照して、本実施形態に係る深度調整のための画面構成について説明する。図７（ａ）は、ディスプレイ１０１に表示される、分類結果の表示とその結果の深度とを調整するための設定画面７００を示している。また、図７（ｂ）は、図７（ａ）に示す設定画面７００において表示される設定後の画面を示している。
【００６８】
７０１は、「分類１」に対応するタブ６０１が選択された場合に表示される分類結果を示し、７０２は、「分類２」に対応するタブ６０２で選択された場合に表示される分類結果を示している。また、詳解ボタン７０３は、表示される分類結果の深度を、より詳細の方向に変更するためのボタンを表す。また、略解ボタン７０４は、表示される分類結果の深度を、略の方向に変更するためのボタンを示している。７０５は、予め設定された分類結果７０１の状態を、詳解ボタン７０３を用いて、より詳細の方向に調整した結果を示している。７０６は、予め設定された分類結果７０２の分類結果を、略解ボタン７０４を用いて、より略の方向に調整した結果を示している。このように、節グループに対して分類を行うか否かを定める深度情報を、親節の側（略の側）または子節の側（詳細の側）へユーザ操作に応じて変更可能にした。このような構成により、表示される分類結果に対して分類の深度を調整することができ、また、次回以降の分類において、調整された設定値を用いて深度で表示することができる。なお、説明の便宜上、二つの観点での分類結果を示しているが１以上であってよく、本実施形態に限定されるものではない。
【００６９】
次に、図８（ａ）および（ｂ）を参照して、分類の追加・変更の前後に関するデータ構成について説明する。図８（ａ）は、分類の追加・変更の前後に関する各節グループ情報を示しており、図８（ｂ）は、図６または図７で上述した設定によって設定された深度リストを示している。この深度リストは、便宜上、図８（ａ）に示す節グループの参照符号をその節グループ番号として使用している。
【００７０】
図８（ａ）に示す節グループ８０１〜８０９は、図３で上述した節グループと同様の節グループを示している。また、節グループ８１０〜８１４は、図６（ｂ）で示した分類の表示となるように構成される節グループを示している。図８（ｂ）に示す深度リスト８１５は、ネコの詳細の節グループ番号８０９を有していないため、プロセッサ１０６は、「ネコ」の種類が分類結果とならないように制御する。一方、深度リスト８１５は、観点の異なる「イヌ」のグループ分類を示す節グループ番号８１１を有しているため、プロセッサ１０６は、観点の異なる「イヌ」のグループ分類が分類結果となるように制御する。なお、図６または図７で上述した設定画面で設定される深度のほか、例えば撮影の被写体に合わせた動態予測などの機器の能力に応じた固定の深度を設定した深度リストを用いてもよい。また、実施形態１と同様、深度リスト８１５を、ユーザ単位で深度リストを持つことで分類の深度をユーザごとに管理することができる。
【００７１】
次に、図９を参照して、本実施形態のＰＣ１００における分類処理の動作を説明する。なお、本実施形態の分類処理も、ＰＣ１００のプロセッサ１０６がＲＯＭ１０７またはＨＤＤ１０９に格納されたプログラムをＲＡＭ１０８に展開、実行することにより実現される。
【００７２】
ステップＳ９０１にて、プロセッサ１０６は、上述の推論モデルを用いて、対象（例えば撮影された画像内の被写体）の分類を行う。このとき、プロセッサ１０６は、図８（ａ）で示した、いずれかの節グループに属する項目に対象を分類する。本ステップにおいて対象を分類する際には、例えば決定木アルゴリズムを用いて対象を分類してよい。しかし、このステップでは、分類する手段は木構造になるように体系化した分類に沿って対象を分類することは必須ではない。例えば、深層学習や他の機械学習アルゴリズムを用いて対象を認識し、認識結果が節グループに属する項目のいずれかに対応するように分類してもよい。
【００７３】
ステップＳ９０２にて、プロセッサ１０６は、ステップＳ９０１により得られた分類結果が図８（ａ）に示した各節グループの節グループの番号を特定する。このとき、図には明示していないが、分類結果が複数の節グループに含まれてもよい。分類結果が複数の節グループに属す場合には、プロセッサ１０６は、以下に述べる処理をそれぞれの節グループで実行する。例えば、図８（ａ）に示す例では、「ゴールデン・レトリーバー」は節グループ８０７、８１２の節グループに属している。このため、プロセッサ１０６は、これらの節グループで以下の処理をそれぞれ行う。
【００７４】
ステップＳ９０３にて、プロセッサ１０６は、ステップＳ９０２で特定した節グループ番号が、図８（ｂ）に示した深度リスト８１５に含まれるかを判定する。プロセッサ１０６は、特定された節グループ番号が深度リスト８１５に含まれていない場合、深度リスト８１５に含まれている節グループ番号になるまで親の節を遡る。
【００７５】
ステップＳ９０４にて、プロセッサ１０６は、ステップＳ９０３で遡った節グループに含まれる該当する項目を分類結果として取得する。図８（ａ）および（ｂ）に示した例では、「ゴールデン・レトリーバー」は８０７、８１２の節グループに属しているが、深度リスト８１５には８１２の節グループ番号は含まれていない。このような状況では、プロセッサ１０６は、節グループ８０７に対して処理を行う場合には、図８（ｂ）の深度リスト８１５に節グループ８０７が設定されているため、そのまま「ゴールデン・レトリーバー」の分類を取得することができる。一方、節グループ８１２に対して処理を行う場合、図８（ｂ）の深度リストに節グループ８１２は設定されていないので、親をたどりながら深度リストに含まれている節グループ８１１に遡り、該当する項目の「ガンドック・グループ」が取得できる。
【００７６】
ステップＳ９０５にて、プロセッサ１０６は、ステップＳ９０４で取得した分類結果（例えば「ガンドック・グループ」）を、ディスプレイ１０１に図７（ａ）に示すように表示する。プロセッサ１０６は、分類結果を表示させた後に、本処理を終了する。
【００７７】
なお、分類結果を、例えば撮影の被写体に合わせた動態予測など機器の能力に利用する場合には、ディスプレイ１０１に表示すること無く、機器の能力に利用してもよい。また、本実施形態では、深度リスト８１５に格納する情報を節グループの番号とする例を示したが、分類の深度ごとにキーワードリストを格納し文字列で比較するようにしても良い。
【００７８】
以上説明したように、ユーザの求める分類の深度を設定、変更可能にしたため、分類に用いる推論モデルなどに依存することなくユーザの求める分類の深度に合わせて対象を分類することができる。また、推論モデルを、ユーザごとあるいは時間とともに変化するユーザの求める分類の深度に合わせて個別に作る必要が無くなるというメリットがある。
【００７９】
なお、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００８０】
プログラムを供給するための記録媒体としては、例えば、ハードディスク、磁気テープ等の磁気記録媒体、光／光磁気記憶媒体、不揮発性の半導体メモリでもよい。また、プログラムの供給方法としては、コンピュータネットワーク上のサーバに本発明を形成するコンピュータプログラムを記憶し、接続のあったクライアントコンピュータがコンピュータプログラムをダウンロードして実行するような方法が含まれてよい。
【００８１】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００８２】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【００８３】
１０１…ディスプレイ、１０６…プロセッサ、１０９…ＨＤＤ、３００…管理テーブル、３２３…深度情報のリスト
【図１】
2020123053.tif 000003
【図２】
2020123053.tif 000004
【図３】
2020123053.tif 000005
【図４】
2020123053.tif 000006
【図５】
2020123053.tif 000007
【図６】
2020123053.tif 000008
【図７】
2020123053.tif 000009
【図８】
2020123053.tif 000010
【図９】
2020123053.tif 000011