(57)【要約】【課題】  メタデータを推論するために予め用意されているデータの性質に関わらず、適切なメタデータを精度よく決定可能にする技術を提供する。【解決手段】  情報処理装置は、対象データに予め付与されている付与済みメタデータの値を取得し、互いに対応づけられた複数種類の推論用メタデータの値からそれぞれ構成される複数のセットを取得し、付与済みメタデータと同じ種類の推論用メタデータに対応する、他の種類の推論用メタデータの値の分布状況を分析し、分布状況に基づいて、対象データに新たに付与するメタデータを推論するために用いる推論手法を決定し、決定した推論手法を用いて、付与済みメタデータの値と複数の推論用メタデータの値のセットとに基づいて、対象データに新たに付与するメタデータの値を推論し、推論したメタデータの値を対象データに付与する。【選択図】  図３
2010282431.tif 000002
【特許請求の範囲】
【請求項１】
対象データにメタデータを付与する情報処理装置であって、
前記対象データに予め付与されている付与済みメタデータの値を取得する第１取得手段と、
前記対象データに対して新たに付与するメタデータの値を推論するための、互いに対応づけられた複数種類の推論用メタデータの値からそれぞれ構成される複数のセットを取得する第２取得手段と、
前記付与済みメタデータと同じ種類の前記推論用メタデータに対応する、他の種類の前記推論用メタデータの値の分布状況を分析する分析手段と、
前記分布状況に基づいて、前記対象データに新たに付与するメタデータを推論するために用いる推論手法を決定する決定手段と、
前記決定した推論手法を用いて、前記付与済みメタデータの値と前記複数の推論用メタデータの値のセットとに基づいて、前記対象データに新たに付与するメタデータの値を推論する推論手段と、
前記推論したメタデータの値を前記対象データに付与する付与手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
付与済みメタデータの種類と、当該付与済みメタデータの値からその値を推論可能なメタデータの種類と、の対応関係を示す対応情報を記憶する記憶手段と、
前記対応情報を参照して、前記対象データの付与済みメタデータの種類に対応するメタデータの種類を、該対象データに新たに付与するメタデータの種類として特定する特定手段と、
をさらに備え、
前記分析手段は、前記特定手段により特定された種類の前記推論用メタデータについて、その値の分布状況を分析し、
前記推論手段は、前記特定手段により特定された種類の前記推論用メタデータの値を、前記新たに付与するメタデータの値として推論する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記分析手段は、
前記同じ種類の前記推論用メタデータを、前記付与済みメタデータの値からのベクトル間距離が小さいものから順にｋ個選択し、
前記選択したｋ個の推論用メタデータの前記ベクトル間距離の最大値Ｌが閾値以上であるか否かを、該ｋ個の推論用メタデータに対応する前記他の種類の前記推論用メタデータの値の前記分布状況として分析する
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記分析手段は、
前記同じ種類の前記推論用メタデータを、前記付与済みメタデータの値からのベクトル間距離が小さいものから順にｋ個選択し、
前記ｋ個の同じ種類の推論用メタデータに対応する前記他の種類の前記推論用メタデータの値が、一定以上の割合で同一の値をとるか否かを前記分布状況として分析する
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項５】
複数のメタデータ間の階層性を示す階層情報を保持する保持手段をさらに備え、
前記分析手段は、前記階層情報を参照して、前記他の種類の前記推論用メタデータに階層性があるか否かを前記分布状況として分析する
ことを特徴とする請求項１から４のいずれか１項に記載の情報処理装置。
【請求項６】
メタデータの階層性を判定する情報処理装置であって、
階層性を判定する対象の対象メタデータの値を取得する第１取得手段と、
前記対象メタデータの階層性を推論するための、互いに対応づけられた複数種類の特徴メタデータの値からそれぞれ構成される複数のセットを取得する第２取得手段と、
前記対象メタデータと同じ種類の前記特徴メタデータに対応する、他の種類の前記特徴メタデータの値の分布状況を分析する分析手段と、
前記分布状況に基づいて、前記対象メタデータの階層性を判定する判定手段と、
を備え、
前記分析手段は、他の種類の前記特徴メタデータの値の分布をクラスタによりクラスタリングし、
前記判定手段は、前記クラスタの包含関係により前記階層性を判定する
ことを特徴とする情報処理装置。
【請求項７】
対象データにメタデータを付与する情報処理装置の制御方法であって、
前記対象データに予め付与されている付与済みメタデータの値を取得する第１取得工程と、
前記対象データに対して新たに付与するメタデータの値を推論するための、互いに対応づけられた複数種類の推論用メタデータの値からそれぞれ構成される複数のセットを取得する第２取得工程と、
前記付与済みメタデータと同じ種類の前記推論用メタデータに対応する、他の種類の前記推論用メタデータの値の分布状況を分析する分析工程と、
前記分布状況に基づいて、前記対象データに新たに付与するメタデータを推論するために用いる推論手法を決定する決定工程と、
前記決定した推論手法を用いて、前記付与済みメタデータの値と前記複数の推論用メタデータの値のセットとに基づいて、前記対象データに新たに付与するメタデータの値を推論する推論工程と、
前記推論したメタデータの値を前記対象データに付与する付与工程と、
を備えることを特徴とする情報処理装置の制御方法。
【請求項８】
コンピュータを請求項１から６のいずれか１項に記載の情報処理装置が備える各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置及びその制御方法、プログラムに関し、特に、対象データにメタデータを付与するための技術に関する。
【背景技術】
【０００２】
デジタルカメラやデジタルビデオカメラの普及に伴い、利用者の管理する静止画像や動画像の量は飛躍的に増加した。このような画像データを管理するにあたり、撮影時のイベントの名称や撮影場所の名称などの画像を説明する情報、いわゆるメタデータが利用されている。例えば、ユーザから入力された探したい画像データのイベントの名称などに基づいて、目的の画像データを探し出すこと等が行われている。
【０００３】
従来、こうしたメタデータを付与するために、外部ソースから得られた情報を用いて、画像に関連する情報を推論する構成が知られている（特許文献１）。この構成では、撮影時の状況を表すメタデータである撮影日時や撮影位置を用いて、外部リソースから利用可能な情報を特定する。外部リソースが、全国天気サービスなどのように組織的に管理された情報である場合、精度よくメタデータが定まることになる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−１４９５１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、予め撮影場所の名称などが付与された画像データを集めて外部リソースとして利用する場合、必ずしも精度よくメタデータが定まるとは限らない。例えば、撮影場所の名称などには階層性が存在する。そのため、同じ撮影場所においても異なるメタデータの値を持つ可能性がある。また、推論対象データに対する事例データの分布状況に関わらず一般的なメタデータ推論手法を一律に用いるだけでは、最適なメタデータを精度よく決定することができない。したがって、撮影時の状況を表すメタデータが類似しているものを特定するだけでは不十分である。
【０００６】
そこで本発明は、メタデータを推論するために予め用意されているデータの性質に関わらず、適切なメタデータを精度よく決定可能にする技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明によれば、対象データにメタデータを付与する情報処理装置であって、
前記対象データに予め付与されている付与済みメタデータの値を取得する第１取得手段と、
前記対象データに対して新たに付与するメタデータの値を推論するための、互いに対応づけられた複数種類の推論用メタデータの値からそれぞれ構成される複数のセットを取得する第２取得手段と、
前記付与済みメタデータと同じ種類の前記推論用メタデータに対応する、他の種類の前記推論用メタデータの値の分布状況を分析する分析手段と、
前記分布状況に基づいて、前記対象データに新たに付与するメタデータを推論するために用いる推論手法を決定する決定手段と、
前記決定した推論手法を用いて、前記付与済みメタデータの値と前記複数の推論用メタデータの値のセットとに基づいて、前記対象データに新たに付与するメタデータの値を推論する推論手段と、
前記推論したメタデータの値を前記対象データに付与する付与手段と、
を備えることを特徴とする情報処理装置が提供される。
【発明の効果】
【０００８】
本発明によれば、メタデータを推論するために予め用意されているデータの性質に関わらず、適切なメタデータを精度よく決定可能にする技術を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】コンピュータ装置のハードウェア構成例を示す図。
【図２】画像データの構成例を示す図。
【図３】メタデータ付与装置を構成するモジュール例を示す図。
【図４】事例データと推論対象データの分布状況の一例を示す概念図。
【図５】階層構造を示す情報を保持するテーブル例を示す図。
【図６】メタデータ付与装置の処理例の流れを示すフローチャート。
【図７】推論ルールテーブルの一例を示す図。
【図８】推論処理の一例の流れを示すフローチャート。
【図９】処理選択テーブルの一例を示す図。
【図１０】状況分析処理の一例の流れを示すフローチャート。
【図１１】単純推論処理の一例の流れを示すフローチャート。
【図１２】重複推論処理の一例の流れを示すフローチャート。
【図１３】階層推論処理の一例の流れを示すフローチャート。
【図１４】追加特徴メタデータを加えた推論ルールテーブルの一例を示す図。
【図１５】階層構造構築装置を構成するモジュール例を示す図。
【図１６】階層構造構築装置の処理の一例の流れを示すフローチャート。
【図１７】事例データをクラスタリングした結果の一例を示した概念図。
【図１８】クラスタテーブルの一例を示す図。
【図１９】階層構造テーブルの一例を示す図。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して本発明に係る実施の形態を詳細に説明する。
【００１１】
＜＜実施形態１＞＞
（ハードウェア構成）
本実施形態のサーバ装置やクライアント装置を構成するコンピュータ装置のハードウェア構成について、図１のブロック図を参照して説明する。サーバ装置やクライアント装置はそれぞれ単一のコンピュータ装置で実現してもよいし、必要に応じた複数のコンピュータ装置に各機能を分散して実現するようにしてもよい。複数のコンピュータ装置で構成される場合は、互いに通信可能なようにLocal Area Network（ＬＡＮ）などのネットワークで接続されている。コンピュータ装置は、パーソナルコンピュータ（ＰＣ）やワークステーション（ＷＳ）等の情報処理装置によって実現することができる。
【００１２】
図１において、１０１はコンピュータ装置１００全体を制御するCentral Processing Unit（ＣＰＵ）である。１０２は変更を必要としないプログラムやパラメータを格納するRead Only Memory（ＲＯＭ）である。１０３は外部装置などから供給されるプログラムやデータを一時記憶するRandom Access Memory（ＲＡＭ）である。
【００１３】
１０４はデータを記憶する外部記憶装置である。例えば、コンピュータ装置１００に固定して設置されたハードディスクやメモリカードが含まれる。あるいは、外部記憶装置１０４には、例えば、コンピュータ装置１００から着脱可能なフレキシブルディスク（ＦＤ）やCompact Disk（ＣＤ）等の光ディスク、磁気や光カード、ＩＣカード、メモリカードなどの記録媒体が含まれてもよい。
【００１４】
１０５はユーザの操作を受け、データを入力するポインティングデバイスやキーボードなどの入力デバイス１０９とのインターフェイスである。１０６はコンピュータ装置１００の保持するデータや供給されたデータを表示するためのモニタ１１０とのインターフェイスである。１０７はインターネットなどのネットワーク回線１１１や、デジタルカメラ１１２やデジタルビデオカメラ１１３などの撮影機器などに接続するための通信インターフェイスである。１０８は１０１〜１０７の各ユニットを通信可能に接続するシステムバスである。後述する各動作は、ＲＯＭ１０２等のコンピュータ読み取り可能な記憶媒体に格納されたプログラムをＣＰＵ１０１が実行することにより実行される。
【００１５】
（画像データの構成）
本実施形態における画像データの構成について図２を用いて説明する。図２において、画像データ２００は、デジタルカメラによって生成される静止画像、あるいは、デジタルビデオカメラによって生成される動画像である。画像データ２００には、メタデータ２０１と画像本体データ２０７が含まれる。
【００１６】
メタデータ２０１は、画像データ２００を説明するためのデータである。本実施形態においては、メタデータ２０１は、撮影日時２０２、撮影位置２０３、撮影者情報２０４、地名２０５、イベント名２０６によって構成され、それぞれメタデータ名と値を有している。
【００１７】
撮影日時２０２は、デジタルカメラによって撮影された日時あるいはデジタルビデオカメラの撮影開始日時を示し、撮影機器によって付与されることが考えられる。撮影位置２０３は、ＧＰＳ（Ｇｌｏｂａｌ Ｐｏｓｉｔｉｏｎｉｎｇ Ｓｙｓｔｅｍ）などにより、撮影した位置情報が付与される。撮影者情報２０４は、撮影を行った人物に関する情報であり、撮影機器の所有者の名前などを撮影機器の設定から付与してもよい。
【００１８】
地名２０５、イベント名２０６は、撮影時の場所の名称と行事の名称である。これは人手によって付与されたり、あるいは本実施形態のメタデータ付与装置によって付与されることになる。なお、これらメタデータは全て付与されているとは限らず、撮影日時２０２と撮影位置２０３しか付与されていないことなどもありえる。
【００１９】
なお、メタデータ２０１はＥｘｉｆ形式やＸＭＬ形式あるいはＸＭＰ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍｅｔａｄａｔａ  Ｐｌａｔｆｏｒｍ）形式などによって記述される。また、図２においては、地名２０５やイベント名２０６は一つの値しか付与されていないが、複数の値が付与されていてもかまわない。あるいは、階層的に値が付与されていてもかまわない。例えば、「東京⇒東京タワー」といったように付与されていてもかまわない。なお、ここで記号⇒は階層関係を表している。
【００２０】
画像本体データ２０７は画像データ２００の本体で、静止画像や動画像のピクセルデータである。なお、メタデータ２０１は画像データ２００に埋め込まずに、画像本体データ２０７と関連付けて別々に保管してもよい。
【００２１】
（メタデータ付与装置の構成）
本実施形態におけるメタデータ付与装置の構成について図３を用いて説明する。図３はメタデータ付与装置の機能構成を例示するブロック図である。事例管理部３０１は、メタデータが予め付与された画像データを管理する。あるいは、画像本体データ２０７は保持せず、メタデータ２０１のみを管理するようにしてもよい。また、メタデータの情報に相当する情報を管理してもよい。例えば、ユーザが登録したある緯度経度の点の地名を管理してもよい。事例管理部３０１で管理する複数種類のメタデータを以下、事例データと呼ぶ。事例データは、後述するように、メタデータの付与対象に付与するメタデータ値を決定するために用いられる。なお、メタデータに複数の値や階層的な値を持っていた場合、それらを分けて別個の事例データ（メタデータ）として管理してもよい。本実施形態では、事例データを事例管理部３０１から読み出して取得する（第２取得）。
【００２２】
本実施形態では、事例管理部３０１で管理している事例データを含む画像データは外部記憶装置１０４に記憶されている。ただし、ネットワーク上のコンピュータ装置、あるいはデジタルカメラやデジタルビデオカメラなどに記憶され、通信インターフェイス１０７を通じて取得してもよい。また、画像データの保存場所はこれらに限定されない。
【００２３】
付与対象取得部３０２は、メタデータを付与する対象となる画像データ（以下、推論対象データと呼ぶ）を取得する。推論対象データには、取り得るメタデータのうち一部が事前に付与されている。後述するように、推論対象データに予め付与されているメタデータと事例データとを用いて推論が行われ、推論対象データに付与するメタデータ（以下、推論対象メタデータと呼ぶ）が決定される。
【００２４】
推論対象データ（画像データ）の取得は、入力デバイス１０９より指定された画像データを外部記憶装置１０４より取得する。あるいは、ネットワーク上のコンピュータ装置、あるいはデジタルカメラなどの撮影機器などより、通信インターフェイス１０７を通じて取得してもよい。または、撮影機器が通信インターフェイス１０７に接続されたことを感知し、自動的に取得してもかまわない。または、本実施形態のメタデータ付与装置をサーバ装置として構成した場合、クライアント装置より通信インターフェイス１０７を通して取得してもよい。また、付与対象取得部３０２は、画像本体データ２０７は取得せずに、画像データに対応するメタデータ２０１のみを推論対象データとして取得してもよい（第１取得）。
【００２５】
推論により取得し、推論対象データに付与するメタデータ（推論対象メタデータ）は、取得した画像データに既に付与されているメタデータと、予め設定されている事例データとに基づいて推論により判定して取得される。ただし、入力デバイス１０９より指定されてもよいし、外部記憶装置１０４に記録された所定の設定ファイルなどから読み出してもよい。もしくは、予め保持しておいてもよい。または、本メタデータ付与装置をサーバ装置として構成した場合、クライアント装置からの要求によって指定されてもよい。なお、画像データ及びメタデータの取得手法はここに例示したものに限定されない。
【００２６】
ここで、本実施形態で利用する推論手法の基本的な考え方と、本明細書で使用する用語について概説し、その後、図３の説明に戻る。本実施形態では、事例管理部３０１で管理されている事例データを用いて、付与対象取得部３０２が取得した推論対象データに対して付与すべき推論対象メタデータを推論する。ここでは識別手法としてｋ−最近傍識別器を主に用いる。そこで、ｋ−最近傍識別器について説明する。
【００２７】
ｋ−最近傍識別器とは、特徴ベクトルとラベルを組として持つ訓練データから、ラベルを持たないテストデータのラベルを決定するための手法の一種である。具体的には、与えられた訓練データから、テストデータの特徴ベクトルと類似した特徴ベクトルを持つものｋ個選び出し、選び出された訓練データが持つラベルのうち最も多数のラベルをテストデータのラベルとする。特徴ベクトルの類似性は、例えば、ベクトル間のユークリッド距離を用いて判定することができる。
【００２８】
なお、本実施形態における識別手法はｋ−最近傍識別器に限定されるものではない。例えば、ＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）などの識別手法を用いてもよい。また、予め学習が必要な識別手法の場合は、事例管理部３０１の画像データ（事例データ）を用いて予め学習しておくことになる。
【００２９】
こうした、識別手法をメタデータの推論に適用するには、ｋ−最近傍識別器での訓練データ、テストデータ、ラベル、特徴ベクトルを本実施形態で使用するデータに対応づける必要がある。訓練データは事例データの集合（以下、推論用事例データセットと呼ぶ）に、テストデータは推論対象データ、ラベルは推論対象メタデータに対応させることができる。特徴ベクトルは、推論対象メタデータの特性に合わせて、構成する必要がある。例えば、「地名」を推論する場合、撮影位置を特徴ベクトルとすれば推論できると考えられる。このように特徴ベクトルとして使用するメタデータを、以下、特徴メタデータと呼ぶ。
【００３０】
図３の説明に戻る。状況分析部３０３は、推論対象データに付与すべき推論対象メタデータを導き出すにあたって、どのような「状況」であるかを分析する。本実施形態では状況として、「階層」「未登録」「混在」「確定」の４つが存在する。以下、順にそれぞれ説明する。
【００３１】
メタデータには階層性を有するものがある。「地名」がその一つである。例えば、「日本」の下に「東京」という地名が存在する。このような階層性がある場合、ｋ−最近傍識別器を単純に適用しただけでは、解決できない。なぜなら、同じ場所においても異なる値のメタデータが存在している可能性があるためである。例えば、海外からの来訪者が観光したときに撮影した画像データに地名として「日本」を付与する場合がある。一方で、日本人が東京を観光したときに撮影した画像データに地名として「東京」を付与する場合がある。このように、同じ撮影位置においても、いずれの階層で捉えるかによって付与する地名のメタデータは異なる場合があり得る。こうした場合は、階層性を考慮した推論を行う必要がある。
【００３２】
次に、「未登録」「混在」「確定」を説明するにあたり、推論対象メタデータが「地名」であり、特徴メタデータが「撮影位置」である場合を例に、図４を用いて説明する。図４はデータの撮影位置の緯度経度を縦軸と横軸にとって、事例データ及び推論対象データをプロットしてその分布状況を可視化した例を示す図である。
【００３３】
図４中の大文字のアルファベットＡとＢは、事例データであり、地名がＡとＢであることを示している。ここで、アルファベット（Ａ，Ｂ）はラベルに対応し、撮影位置（横軸、縦軸の座標）が特徴ベクトルとしての特徴メタデータに対応する。図４中の小文字のアルファベットα，β，γは付与対象取得部３０２で取得された画像データ（推論対象データ）であり、α，β，γの図４における位置は撮影位置に対応している。推論対象データαの周辺４個を見てみると、近くにＡのみが存在していることがわかる。この状況では、ｋ−最近傍識別器によってＡに確定的に値が決まる。そのため、この状況を「確定」と判定する。
【００３４】
一方、推論対象データβの周辺４個を見てみると、近くにＡとＢが混在している。この状況をＡとＢが混在しているため「混在」と判定する。また、推論対象データγの周辺４個を見てみると、遠くに事例が存在している事がわかる。この場合、推論対象データγに付与すべき値をまだ事例データとして獲得していないと考えられる。このような状況を「未登録」と判定する。なお、これら分布状況の詳細な判定手法は、フローチャート（図１０）を用いて後述する。
【００３５】
選択的推論部３０４は、状況分析部３０３より得た「状況」に基づいて、単純推論部３０５、重複推論部３０６、階層推論部３０７のいずれかを選択して推論処理を行わせる。そして、これらの推論部３０５〜３０７のいずれかから推論結果（「推論不可能」の結果も含む）を取得する。例えば、状況が「混在」のみである場合は、重複推論部３０６を選択するといったことを行う。詳細な処理の内容は、フローチャート（図８）を用いて後述する。
【００３６】
単純推論部３０５は、推論対象データ（テストデータ）の特徴メタデータ（特徴ベクトル）と、事例データ（訓練データ）の特徴メタデータに対して、ｋ−最近傍識別器を単純に適用して結果を得る。詳細な処理内容は、フローチャート（図１１）を用いて後述する。
【００３７】
単純推論部３０５は、「混在」の状況においては必ずしも適切なメタデータを選択できるとは限らない。「混在」が起こる状況として、地名を導き出す場合を例に説明する。例えば、公園や展示会場などにおいてイベントが行われる際に、特設会場が設けられることが多い。具体的には、モーターショーが行われていた会場において、別の日にはヨットの展示会が行われるなどといったことがある。こうした場合、地名に会場内のブースの名称を用いる場合、日によって同じ撮影位置においても、撮影場所の名称としてユーザが付与する地名も異なってくる。この場合、撮影位置のみで識別するのではなく、撮影日時なども考慮して識別すべきである。重複推論部３０６は、こうした「混在」の状況において、新たに考慮すべきメタデータを判断し、推論を行う。
【００３８】
重複推論部３０６は、推論対象メタデータを導き出すにあたり、新たに考慮すべきメタデータを発見し、特徴メタデータにこの新たに考慮すべきメタデータを追加して推論を行う。例えば、地名が推論対象メタデータであった場合、先に述べた展示会場の例においては、新たに考慮すべきメタデータとして撮影時刻を発見する。そして、撮影位置と撮影時刻を特徴メタデータとして、地名を推論することになる。詳細な処理内容は、フローチャート（図１２）を用いて後述する。
【００３９】
階層推論部３０７は、推論対象メタデータの階層性を考慮した推論を行う。本実施形態では、メタデータ付与装置は推論対象メタデータごとに階層構造を保持しておき、推論対象メタデータを上位から決定していく。図５は、メタデータ付与装置が保持するメタデータの階層構造を示すテーブルの一例を示す図である。図５では、親メタデータと子メタデータの組によって、値間の階層構造を示している。そして、最上位フラグがＯＮの場合、親メタデータはさらなる親メタデータを持たないことを示している。これを用いて、最上位のメタデータを決定し、その子のメタデータをさらに決定していく。詳細な処理内容は、フローチャート（図１３）を用いて後述する。
【００４０】
付与対象書出し部３０８は、選択的推論部３０４によって導かれたメタデータを、推論対象データとした画像データのメタデータに埋め込み出力する。出力先は、例えば、外部記憶装置１０４や、通信インターフェイスによって接続された撮影機器あるいはクライアント装置などである。なお、付与対象取得部３０２にて、メタデータのみを取得している場合は、該メタデータに関連付けられた画像データのメタデータを書き換えてもよい。なお、画像データおよびメタデータの出力手法はこれらに限定されるものではない。
【００４１】
（メタデータ付与処理）
次に、本実施形態におけるメタデータ付与装置の処理についてフローチャート（図６）を用いて説明する。Ｓ６０１では、付与対象取得部３０２により、画像データ（メタデータが付与されている）を取得する。この画像データを推論対象データとする。
【００４２】
Ｓ６０２では、付与対象取得部３０２によって、画像データに付与されているメタデータの種類に基づいて推論可能なメタデータの種類を特定し、推論により導き出すメタデータ（推論対象メタデータ）のリストとしてまとめる。推論対象メタデータ（の種類）の特定は、推論対象メタデータを推論するために必須の特徴メタデータ（以下、必須特徴メタデータと呼ぶ）を推論対象メタデータに対応付けて予め保持しておき、この対応関係に基づいて行ってもよい。
【００４３】
具体的には、図７に示すような推論ルールテーブルによって保持しておく。図７は、推論対象メタデータ７０１と、当該推論対象メタデータを推論するために必要な推論対象データの特徴メタデータ（必須特徴メタデータ７０２）との対応関係を示す推論ルールテーブルの一例の図である。例えば、イベント名を推論するためには、推論対象データに撮影日時と撮影位置が予め付与されている必要がある。
【００４４】
したがって、図７の推論ルールテーブルを用いると、例えば推論対象データに「撮影位置」のみが付与されている場合は、「地名」が推論可能なため、Ｓ６０２では「地名」がリストにまとめられる。なお、上記手法によって推論可能なメタデータとして挙がっても、既に画像データに値が付与されているメタデータはリストから取り除いてもよい。
【００４５】
Ｓ６０３では、Ｓ６０２で作成したリストに未処理の推論対象メタデータが存在するかを調べて判定する。後述のＳ６０４、Ｓ６０５の処理が行なわれた推論対象メタデータは初期のリストから削除されるので、リストが空である場合には未処理の推論対象メタデータがないと判定される。あるいは、リストに処理済フラグを設け、処理済みフラグがＯＦＦである推論対象メタデータが残っているかで判定してもよい。未処理の推論対象メタデータがある場合（Ｓ６０３でＹＥＳ）には、Ｓ６０４に移る。未処理の推論対象メタデータがない場合（Ｓ６０３でＮＯ）には、Ｓ６０６に移る。
【００４６】
Ｓ６０４では、未処理の推論対象メタデータ（の種類）をリストから一つ選択し、推論に使用する推論対象データの特徴メタデータと推論用事例データセットの初期化を行う。例えば、推論に使用する特徴メタデータを、推論ルールテーブル（図７）で推論対象メタデータに対応付けられた必須特徴メタデータとする。そして、推論用事例データセットとして事例管理部３０１のうち、特徴メタデータと推論対象メタデータを持つ事例データとする。
【００４７】
Ｓ６０５では、推論対象メタデータを推論により導く推論処理を行う。具体的な処理の内容は、フローチャート（図８）を用いて後述する。そして、Ｓ６０３に戻る。このようにして、推論対象メタデータの各々についてＳ６０４、Ｓ６０５の処理を実行する。全ての推論対象メタデータについて処理を終了した場合（Ｓ６０３でＮＯ）はＳ６０６へ進む。
【００４８】
Ｓ６０６では、付与対象書出し部３０８によって、Ｓ６０５で推論によって得られたメタデータを画像データに付与する。ただし、推論対象メタデータに対して、推論不可能と結果が得られたメタデータは画像データに付与しない。なお、フローチャート（図６）は、付与対象取得部３０２が一つの画像データを取得して処理を行う場合を示しているが、複数の画像データを取得して処理を行ってもよい。複数の画像データを取得した場合はＳ６０２〜Ｓ６０６を各画像データに対して適用する。
【００４９】
（推論処理）
Ｓ６０４の推論処理を、フローチャート（図８）を用いて説明する。図８は推論処理の詳細な手順を示すフローチャートである。推論対象メタデータの値を決定するにあたって、推論対象メタデータがもつ特徴や、識別に使う事例データセット（推論用事例データセット）によって、どのような推論をすべきかは変わってくる。そこで、推論対象メタデータを導き出す状況、すなわち、推論対象データの特徴メタデータと、事例データに含まれる特徴メタデータとの関係がいかなるものかを判定する。本実施形態では、「階層」「未登録」「混在」「確定」の４つの状態を想定している。Ｓ８０１では、こうした状況をリストアップし、状況リストを作成する。詳細な処理内容はフローチャート（図１０）を用いて後述する。
【００５０】
Ｓ８０２〜Ｓ８０５では、Ｓ８０１で得た状況に対応する推論処理を処理選択テーブルから選び実行する。処理選択テーブルとは、図９に示すようなテーブルである。処理選択テーブルは、「ＩＤ」９０１、「優先度」９０２、「状況」９０３、「処理」９０４、「無効化フラグ」９０５を１組とする処理選択ルールによって構成される。このテーブルを用いて、状況ごとに適切な処理選択ルールを選択し、「処理」９０４に関連付けられた推論処理を実行する。具体的な選択手法はＳ８０２〜Ｓ８０５に沿って説明する。また、「処理」９０４の具体的な内容は別途後述する。
【００５１】
Ｓ８０２では、状況９０３がＳ８０１で得た状況と一致しかつ、無効化フラグ９０５がＯＦＦである処理選択ルールをリストアップする。リストアップは、例えば、ＩＤ９０１をＲＡＭ１０３等の記憶装置に保持して行うことができる。例えば、処理選択テーブルが図９に示す状態であり、Ｓ８０１で得た状況リストが「階層」と「未登録」であった場合、ＩＤ１，２がリストアップされることになる。
【００５２】
Ｓ８０３では、Ｓ８０２で得たリストから優先度が最も高い処理選択ルールを選び出す。このとき選び出した処理選択ルールの無効化フラグをＯＮにする。なお、本実施形態では、優先度９０２の値が大きいほど優先度が高いことを意味する。例えば、リストにＩＤ１，２がリストアップされていた場合、この中で最も優先度が高い優先度５のＩＤ１が選ばれることになる。そして、ＩＤ１の無効化フラグがＯＮにされる。
【００５３】
Ｓ８０４では、Ｓ８０３で選び出された処理選択ルールに関連付けられている推論処理を実行して結果を取得する。例えば、Ｓ８０３でＩＤ１が選び出されていた場合、推論不可能という結果を得る。仮にＳ８０３でＩＤ２が選び出されていた場合、階層推論処理を実行し結果を得る。推論処理の詳細は後述する。
【００５４】
Ｓ８０５では、Ｓ８０３で選択された処理選択ルールの無効化フラグをＯＦＦにする。そして、推論処理を終了し、図６のＳ６０３に戻る。なお、Ｓ８０２〜Ｓ８０５の処理は、選択的推論部３０４により実行される。
【００５５】
（状況リスト作成処理）
次に、フローチャート（図１０）を用いて、図８のＳ８０１で実行する状況リスト作成処理について説明する。まず、Ｓ１００１では、空の状況リストを用意する。例えば、各状況に対応する値を格納するための可変長配列を用意する。
【００５６】
Ｓ１００２では、推論対象メタデータに階層性があるかを判定する。例えば、前述の推論ルールテーブル（図７）に階層性の有無を示す情報（階層情報）も保持しておき、それを参照して判定することができる。そして、階層性があると判定された場合（Ｓ１００２でＹＥＳ）、Ｓ１００３に移る。階層性がないと判断された場合（Ｓ１００２でＮＯ）、Ｓ１００４に移る。
【００５７】
Ｓ１００３では、状況リストに「階層」を追加する。そして、Ｓ１００４へ進む。Ｓ１００４では、推論用事例データセットの特徴ベクトルから、推論対象データの特徴ベクトルの近傍にあるものから順に予め定められた個数（ｋ個）を事例データとして集める。そして、集めた事例データのうち、推論対象データの特徴ベクトルから最も遠い事例データまでの距離をＬ（距離の最大値Ｌ）とする。なお、特徴メタデータ間の距離は、特徴ベクトルとしての特徴メタデータ間のユークリッド距離とすることができる。例えば、特徴メタデータに「撮影位置」を用いる場合、両データの撮影位置の緯度経度を用いて距離を計算することになる。
【００５８】
Ｓ１００５では、Ｓ１００４で求めたＬが予め定められた閾値以上かを判定する。Ｌが閾値以上であることは、推論対象データに付与すべき推論対象メタデータの値が、推論用事例データセットに存在しないことに対応する。そして、Ｌが閾値以上の場合（Ｓ１００５でＹＥＳ）、Ｓ１００６に移る。Ｌが閾値より小さい場合（Ｓ１００５でＮＯ）、Ｓ１００７に移る。
【００５９】
Ｓ１００６では、状況リストに「未登録」を追加する。そして、状況リスト作成処理を終了して図８のＳ８０２へ進む。一方、Ｓ１００７では、Ｓ１００４で求めたｋ個の事例データの推論対象メタデータの値がほぼ同じであるかを判定する。例えば、ある一つの値が全体の９割以上を占めているか否か（占めている場合は「ほぼ同じ」）などによって判定する。これによって、推論対象データに付与すべき推論対象メタデータの値を確定できるかを判定している。そして、ｋ個の事例データの推論対象メタデータの値がほぼ同じと判定された場合（Ｓ１００７でＹＥＳ）、Ｓ１００８に移る。そうでない場合（Ｓ１００７でＮＯ）、Ｓ１００９に移る。
【００６０】
Ｓ１００８では、状況リストに「確定」を追加する。そして、状況リスト作成処理を終了して図８のＳ８０２へ進む。一方、Ｓ１００９では、状況リストに「混在」を追加する。そして、状況リスト作成処理を終了して図８のＳ８０２へ進む。
【００６１】
以上の、Ｓ１００１〜Ｓ１００９の処理は、状況分析部３０３により実行される。なお、Ｓ１００４〜Ｓ１００８は、上記手法に限られるものではない。例えば、識別器として、識別結果を返すのみではなく、識別すべき結果が訓練データに存在しないことを返すことや。確信度ともに識別結果を返すことを想定する。このとき、この識別器による結果をＳ１００５やＳ１００７の判定処理に利用してもよい。
【００６２】
このように、Ｌが閾値以上か否かを分布状況として分析し、異なる値を状況リストにセットして、使用する推論手法を決定することによって、推論が現実的に困難な場合に精度の低い推論を行うことを効果的に防止することができる。また、本実施形態では、同じ種類の推論用メタデータを、付与済みメタデータの値からのベクトル間距離が小さいものから順にｋ個選択し、これに対応する他の種類の推論用メタデータの値が、一定以上の割合で同一値をとるか否かを分析する。そして、後述するように、この分析結果に基づいて推論手法を決定する。このため、メタデータ値を確定的に推論できる場合とそうでない場合とで最適な推論手法を選択し、適切なメタデータ値を精度よく推論することができる。
【００６３】
（単純推論処理）
次に、単純推論部３０５、重複推論部３０６、階層推論部３０７の処理について、フローチャート（図１１、図１２、図１３）を用いて説明する。まず、本実施形態における、単純推論部３０５の処理について、フローチャート（図１１）を用いて説明する。この処理は、処理選択テーブル図９のＩＤ４の処理である単純推論処理に相当する。
【００６４】
Ｓ１１０１では、推論用事例データセットに事例データが存在するかを判定する。例えば、推論用事例データセットに閾値以上の個数の事例データが存在するか否かを判定する。存在すると判定された場合（Ｓ１１０１でＹＥＳ）、Ｓ１１０３に移る。存在しないと判定された場合（Ｓ１１０１でＮＯ）、Ｓ１１０２に移る。
【００６５】
Ｓ１１０２では、推論結果を「推論不可能」として単純推論処理を終了する。一方、Ｓ１１０３では、推論対象データと事例データの特徴メタデータを用いて距離を計算し、推論対象データの特徴メタデータから近いものから順にｋ個の事例データをリストアップする。次に、Ｓ１１０４では、Ｓ１１０３でリストアップした事例データにおいて、最も多い推論対象メタデータの値を推論結果とする。そして、単純推論処理を終了する。
【００６６】
（重複推論処理）
次に、本実施形態における重複推論部３０６の処理についてフローチャート（図１２）を用いて説明する。この処理は、処理選択テーブル図９のＩＤ３の処理である重複推論処理に相当する。
【００６７】
まず、Ｓ１２０１では追加特徴メタデータリストを作成する。追加特徴メタデータとは、より適切な推論を行うために、最低限必要な必須特徴メタデータに加えて補助的に使用される特徴メタデータであり、追加特徴メタデータリストとは追加特徴メタデータをリストアップしたものである。本実施形態では、前述の推論ルールテーブルに、推論対象メタデータに対応付けて候補となる追加特徴メタデータを保持しておき、この推論ルールテーブルを参照して追加特徴メタデータリストを作成する。図１４は推論対象メタデータに追加特徴メタデータが対応づけられている推論ルールテーブルの一例を示す図である。例えば、図１４のように推論ルールテーブルが構成されている場合において、推論対象メタデータ（１４０１）が「地名」である場合、追加特徴メタデータ（１４０２）のリストには「撮影日時」「撮影者情報」がリストアップされる。あるいは、組合せも考慮して「撮影日時」「撮影者情報」「撮影日時，撮影者情報」をリストアップする。最後の「撮影日時，撮影者情報」は両方を追加特徴メタデータとすることを示している。なお、追加特徴メタデータリストの作成はこれに限られず、例えば、推論対象データに元々付与されており、かつ特徴メタデータとして利用していないメタデータを全て列挙して行ってもよい。
【００６８】
Ｓ１２０２では、Ｓ１２０１で得た追加特徴メタデータリストに未処理の追加特徴メタデータが存在するか否かを判定する。初期のリストから、以降のステップの処理が行われたものを削除するので、リストが空である場合には未処理の追加特徴メタデータがないと判定される。あるいは、リストに処理済フラグを設け、処理済フラグがＯＦＦである追加特徴メタデータの有無により判定してもよい。未処理の追加特徴メタデータが存在する場合（Ｓ１２０２でＹＥＳ）には、Ｓ１２０３に移る。存在しない場合（Ｓ１２０２でＮＯ）には、Ｓ１２０７に移る。
【００６９】
Ｓ１２０３では、追加特徴メタデータリストの未処理の追加特徴メタデータを一つ選び、推論に使用する特徴メタデータに加える。そして、推論用事例データセットを更新された特徴メタデータを持つもののみに絞り込む。
【００７０】
Ｓ１２０４では、状況分析処理により状況リストを作成する。この処理は前述のフローチャート（図１０）の処理（状況リスト作成処理）と同様である。なお、撮影者情報が特徴メタデータに加えられた場合は、Ｓ１００４で推論対象メタデータと事例データの距離は、両データの撮影者間の人間関係が「本人」「家族」「友人」「知人」と離れるに従って距離を大きくなるよう値をとることが考えられる。
【００７１】
Ｓ１２０５では、状況リストに「確定」が含まれているかを判定する。これによって、Ｓ１２０３で追加した追加特徴メタデータを考慮したことにより、推論が確定されたか否かを判定できる。状況リストに確定が含まれている場合（Ｓ１２０５でＹＥＳ）、Ｓ１２０７に移る。含まれない場合（Ｓ１２０５でＮＯ）、Ｓ１２０６に移る。
【００７２】
Ｓ１２０６では、特徴メタデータと推論用事例データセットをもとにもどす。例えば、処理開始時に予め特徴メタデータと推論用事例データセットの情報を保持しておき、これで上書きする。そしてＳ１２０２へ戻る。
【００７３】
Ｓ１２０７では、追加特徴メタデータを加えた特徴メタデータを用いて、単純推論処理により結果を得る。単純推論処理の処理内容は前述のフローチャート（図１１）のとおりである。
【００７４】
Ｓ１２０８では、特徴メタデータと推論用事例データセットをもとにもどす。例えば、処理開始時に予め特徴メタデータと推論用事例データセットの情報を保持しておき、これで上書きする。そして、重複推論処理を終了する。
【００７５】
（階層推論処理）
次に、本実施形態における階層推論部３０７の処理についてフローチャート（図１３）を用いて説明する。この処理は、処理選択テーブル図９のＩＤ２の処理である階層推論処理に相当する。
【００７６】
Ｓ１３０１では、推論を行うために使用する特徴メタデータの中で、最上位の階層を有するものをリストアップする。本実施形態では、階層構造はテーブル形式で予め保持しておくため（図５）、このテーブルを参照して最上位フラグがＯＮの親メタデータをリストアップする。
【００７７】
Ｓ１３０２では、Ｓ１３０１あるいはＳ１３０５で作成したリストが空かを判定する。リストが空であることは処理が終了したことを意味する。空である場合（Ｓ１３０２でＹＥＳ）、Ｓ１３０６に移る。空でない場合（Ｓ１３０２でＮＯ）、Ｓ１３０３に移る。
【００７８】
Ｓ１３０３では、Ｓ１３０１あるいはＳ１３０５で作成したリストに含まれる階層に属する事例データのみに推論用事例データセットを絞り込む。例えば、推論対象メタデータが「地名」であるとき、最上位階層のメタデータのリストに「日本」「アメリカ」とある場合を考える。このとき、現在の推論用事例データセットからさらに「地名」に「日本」もしくは「アメリカ」とある事例データのみに絞り込まれたものが、新たな推論用事例データセットとなる。
【００７９】
Ｓ１３０４では、Ｓ１３０３で得た推論用事例データセットを用いて、推論処理を行う。この推論処理は前述のフローチャート（図８）の処理に相当する。この推論処理を行うときは、処理選択テーブル（図９）のＩＤ２の無効化フラグはＯＮとなっている。そのため、階層推論処理は選ばれない。加えて、「階層」の「混在」などの状況が、Ｓ１３０３で得た推論用事例データセットに含まれていたとしても、フローチャート（図８）によって適切な推論処理が選ばれ（Ｓ８０３）、結果を得ることができる（Ｓ８０４）。
【００８０】
Ｓ１３０５では、Ｓ１３０４で得た結果を保持する。そして、次の階層をリストアップする。その後、Ｓ１３０２に戻る。具体的には、図５からこの結果と同じ値を親メタデータに持つ、子メタデータをリストアップする。例えば、結果が「日本」であった場合、子メタデータとして「東京」「京都」がリストアップされることになる。
【００８１】
Ｓ１３０６では、Ｓ１３０５で保持していた結果を本階層推論処理の結果とする。ただし、何も保持していない場合「推論不可能」を結果とする。そして、階層推論処理を終了する。
【００８２】
上記のように本実施形態では、対象データに付与済みのメタデータと同じ種類の推論用メタデータに対応する、他の種類の推論用メタデータの値の分布状況に基づいて、新たに付与するメタデータを推論するための推論手法を決定し、推論する。このため、分布状況に応じて最適な推論手法を用いて新たに付与するメタデータを決定するため、メタデータを推論するために予め用意されているデータの性質に関わらず、適切なメタデータを精度よく決定することが可能である。
【００８３】
また、本実施形態では、付与済みメタデータの種類と、当該付与済みメタデータの値からその値を推論可能なメタデータの種類と、の対応関係を示す対応情報（推論ルールテーブル）を予め記憶しておく。そして、この対応情報を参照して、対象データの付与済みメタデータの種類に対応するメタデータの種類を、対象データに新たに付与するメタデータの種類として特定する。このため、メタデータを推論するために予め用意されているデータから、推論に必要なデータを簡単な処理により特定することができる。
【００８４】
なお、本実施形態では、メタデータの推論の際の状況として４つの場合を想定した。そして、各状況に応じてメタデータの推論手法を選択するメタデータ付与装置について述べた。しかし、本実施形態に係る構成が対象とする状況はこれらにのみ限定されるわけではない。例えば、メタデータが複数の値を持つべき状況である「多値」などが存在する。具体的には、地名には別称が存在し、エベレストをチョモランマと表現することがある。こうした場合、上記推論処理によって解決はできないため、複数の値を付与できる推論手法が必要である。例えば、処理選択テーブルに優先度「３．５」で状況が「混在」の場合に次の処理に関連付けておく。該処理は、あらかじめ複数の同じ値を対応付けたテーブルを保持しておき、同じ値とみなすべきメタデータを一つの値に置換した推論用事例データセットを用意する。そして、フローチャート（図８）の推論処理を呼び出し、結果を得たら前に置換した内容をテーブルに従って複数のメタデータ値に置換することが考えられる。そのため、状況の特定手法およびその選択手法は想定する状況に合わせて構成されるため、これらも本実施形態に述べるものに限定されるわけではない。また、ここで述べる各状況に合わせた推論手法もこれらに限定されるわけではない。
【００８５】
＜＜実施形態２＞＞
実施形態１では、階層推論処理の際に利用する階層構造が与えられている場合について説明した。本実施形態では、階層構造を事例データの分布状況から自動的に構築する構成（階層構造構築装置）について説明する。本実施形態の構成によれば、４つの状況「階層」「未登録」「混在」「確定」が、事例データの分布状況のみに基づいて分かるようになる。
【００８６】
本実施形態では、階層性を判定する対象の対象メタデータと同じ種類の特徴メタデータに対応する、他の種類の特徴メタデータの値の分布状況を、他の種類の特徴メタデータの値の分布をクラスタによりクラスタリングして分析する。そして、このクラスタの包含関係により対象メタデータの階層性を判定する。このため、簡易な処理でメタデータの階層性を自動的に判定することができる。
【００８７】
前述のように、メタデータの階層性は「地名」などのメタデータに現れる。例えば、モーターショーなどでは「展示会場」の下に「乗用車ゾーン」や「二輪車ソーン」が存在する。こうした階層性がある場合、地名に「展示会場」あるいは「乗用車ゾーン」を持った事例データを、撮影位置に基づいてプロットする。すると、「展示会場」が「乗用車ゾーン」を包含するよう事例データが分布する事が多い。本実施形態では、こうした性質を利用して、事例データから階層構造を獲得する。
【００８８】
（階層構造構築装置の構成）
図１５は本実施形態における階層構造構築装置の構成を示す図である。図１５において、事例管理部３０１は、実施形態１で説明した図３の事例管理部３０１と同じである。
【００８９】
階層メタデータ決定部１５０１では、事例データから階層構造を構築する対象となるメタデータ（以降、階層メタデータと呼ぶ）と、その構造を発見するために用いるメタデータ（以降、特徴メタデータと呼ぶ）を決定する。階層メタデータと特徴メタデータは、入力デバイス１０９より指定されてもよいし、外部記憶装置１０４に記録された所定の設定ファイルなどから読み出してもよい。ただし、階層メタデータと特徴メタデータの決定手法はこれらに限定されるものではない。
【００９０】
次に、事例データ分割部１５０２では、事例管理部３０１で管理されている事例データにおいて、階層メタデータの値が同じでも異なる意味のものを別々に扱うための処理を行う。これは、次の目的で行う。例えば、モーターショーの例において、乗用車ゾーンや二輪車ゾーンの下に、さらに各社出展会社のブースがある場合を想定する。このとき、ある２つの事例データの地名がともに「Ａ社ブース」であったとしても、片方が「乗用車ゾーン」、もう一方が「二輪車ゾーン」のＡ社ブースであることもありえる。そこで、階層メタデータの値が同じでも異なる意味のものを別々に扱うための処理を行う。これによって、同じ意味を持つ事例データ集合が得られる。詳細な処理内容は、フローチャート（図１６）を用いて後述する。
【００９１】
包含関係決定部１５０３では、事例データ分割部１５０２で得た事例データ集合同士の包含関係を得る。階層構造構築部１５０４では、包含関係決定部１５０３で得た包含関係から、階層構造を構築する。これらの機能要素の詳細な処理内容についても、フローチャート（図１６）を用いて後述する。
【００９２】
（階層構造構築処理）
本実施形態における階層構造構築装置の処理についてフローチャート（図１６）を用いて説明する。まず、Ｓ１６０１では、階層メタデータ決定部１５０１によって、階層構造の構築対象となる階層メタデータと、階層構造を決定するために使用する特徴メタデータを決める。
【００９３】
Ｓ１６０２では、階層メタデータの値のリストを作成する。具体的には、事例管理部３０１で管理されている事例データの階層メタデータの値を全て列挙し、そこから重複をなくしたものをリストとして得る。
【００９４】
Ｓ１６０３では、Ｓ１６０２で得たリストに未処理の値が存在するかを調べる。初期のリストから、以降のＳ１６０４〜Ｓ１６０６の処理が行なわれた値を削除するので、リストが空である場合には未処理がないと判定される。あるいは、リストに処理済フラグを設け、処理済みフラグがＯＦＦ（未処理を意味する）である値が残っているかで判定してもよい。未処理の値がある場合（Ｓ１６０３でＹＥＳ）には、Ｓ１６０４に移る。未処理の値がない場合（Ｓ１６０３でＮＯ）には、Ｓ１６０７に移る。
【００９５】
Ｓ１６０４では、Ｓ１６０２で得たリストから値を一つ選択する。そして、事例管理部３０１の事例データ（階層メタデータ）から、この選択した値を持つ事例データを特定する。
【００９６】
Ｓ１６０５では、Ｓ１６０４で特定した事例データ集合に対してクラスタリングを適用する。クラスタリングは次の目的で行う。事例データは同じメタデータ値であっても、異なる種類の事例データであることがある。例えば、モーターショーの例において、乗用車ゾーンや二輪車ゾーンの下に、さらに各社出展会社のブースがある場合を想定する。このとき、ある２つの事例データの地名がともに「Ａ社ブース」であったとしても、片方が「乗用車ゾーン」、もう一方が「二輪車ゾーン」のＡ社ブースであることもありえる。この場合、それぞれのＡ社ブースは異なるものを指す。こうした、上位階層が異なる事例データを分離するためにクラスタリングを行う。クラスタリングは特徴メタデータに基づく類似度を用いて、階層的クラスタリングを用いて結果を得ることができる。あるいは、事例データのｋ近傍の事例データを連結し得られる連結成分を一つのクラスタとしてもよい。本実施形態に係るクラスタリング手法は、これらに限定されるものではない。また、クラスタリングの結果は必ずしも事例データを分割する必要はなく、全てが一つのクラスタとなることがあってもよい。
【００９７】
Ｓ１６０６では、Ｓ１６０５で得たクラスタリングの結果を保持する。具体的には、「メタデータ値」と「クラスタＩＤ」を対応付けて保持する。さらに、「クラスタＩＤ」と「事例データＩＤ」を対応付けて保持する。メタデータ値とはＳ１６０４で選択した値である。「クラスタＩＤ」はＳ１６０５で得たクラスタを識別するために付与した識別子である。事例データＩＤは事例管理部３０１で管理されている事例データに対応付けるための識別子である。クラスタとクラスタＩＤとの対応関係を示すテーブルをクラスタテーブルと呼ぶ。事例データと事例データＩＤとの対応関係を示すテーブルをクラスタ構成テーブルと呼ぶ。これらテーブルは、以降の処理に用いられるとともに、後述する階層推論処理においても用いられる。なお、Ｓ１６０２〜Ｓ１６０６の処理は、事例データ分割部１５０２によって実行される。
【００９８】
Ｓ１６０３〜Ｓ１６０６をリストが空になるまで繰り返した場合の処理例について説明する。例えば、与えられた特徴メタデータのもとで事例データが図１７のように分布したとする。図１７の大文字アルファベットは事例データを表しており、階層メタデータの値としてこれらのアルファベットをとりうるとする。図１７中の破線の矩形１７０１〜１７０５はＳ１６０５で得られたクラスタを概念的に示している。図１７より、同じ事例データＢであっても、１７０２と１７０５の別々のクラスタが得られていることがわかる。これらクラスタとメタデータ値を対応付けて、クラスタテーブルは図１８のように求まる。
【００９９】
Ｓ１６０７では、包含関係決定部１５０３によって、Ｓ１６０５で得たクラスタ同士の包含関係を決定する。具体的には、クラスタを囲う領域（図１７の例では矩形領域）の包含関係から求めることができる。例えば、クラスタＡがＢを包含する関係を「Ａ⊃Ｂ」のように表現する。このとき、ある特徴メタデータのもとで事例データが図１７に示すよう分布している場合、クラスタを囲う矩形領域は１７０１〜１７０５のように求まる。そして、これらの包含関係として「１７０１⊃１７０２」「１７０１⊃１７０３」「１７０２⊃１７０３」「１７０４⊃１７０５」が求まることになる。なお、包含関係の決定の際に、クラスタＡがＢをある程度覆っていれば包含していると判定してもよい。具体的には、Ｂの矩形領域の面積をＲ（Ｂ）とし、ＡとＢの重なる領域をＲ（Ａ∧Ｂ）とするとＲ（Ａ∧Ｂ）／Ｒ（Ｂ）が一定値（例えば、０．９５）を超えた場合包含していると判定してよい。ただし、包含関係の決定手法はこれに限られるものではない。
【０１００】
Ｓ１６０８では、階層構造構築部１５０４によって、Ｓ１６０７で得た包含関係から階層構造を構築（決定）する。具体的には、前述の図５に示すような階層構造を保持するテーブル（以下、階層構造テーブルと呼ぶ）を作成する。ただし、本実施形態ではメタデータ値ではなくクラスタＩＤを用いるため、項目は「最上位フラグ」「親クラスタＩＤ」「子クラスタＩＤ」となる。まず、Ｓ１６０７で得た包含関係より「親クラスタＩＤ」「子クラスタＩＤ」を埋める。ただし、包含関係は階層構造上の親子関係ではなく先祖子孫関係を表している。そこで、これを親子関係のみに絞り込む。例えば、図１７より得た包含関係からは「１７０１⊃１７０２」「１７０２⊃１７０３」「１７０４⊃１７０５」が得られ、これをテーブルに保持する。次に、子クラスタとして現れない親クラスタを持つ「最上位フラグ」をＯＮにする。それ以外は全てＯＦＦとする。上記処理によって得られる階層構造テーブルは図１９のようになる。なお、Ｓ１６０７で包含関係が得られなかった場合は、階層構造テーブルは作成しない。
【０１０１】
実施形態１のメタデータ付与装置とあわせて使う場合、メタデータ付与装置の処理が行われる前に予め階層構造を構築しておく。例えば、フローチャート（図６）のＳ６０４の直後に、階層メタデータを推論対象メタデータとして上記処理を行って階層構造を構築してもよい。あるいは、Ｓ６０１の前に、予め推論ルールテーブルに記述されている全ての推論対象メタデータの階層構造を上記処理によって構築しておいてもよい。ただし、階層構造の構築のタイミングはこれらに限定されない。
【０１０２】
（階層推論処理）
次に、実施形態１で述べた階層推論処理において、本実施形態で構築した階層構造を用いた場合について述べる。この処理内容は、図１３のフローチャートに示すものとほぼ同じになる。ただ、階層を特定するために、メタデータ値ではなくクラスタＩＤを用いる点が異なる。以下、図１３を参照して本実施形態における階層推論処理を説明する。
【０１０３】
Ｓ１３０１では、最上位の階層をリストアップする。例えば、階層構造テーブルがあらかじめ図１９のように得られている場合、最上位フラグがＯＮのクラスタＩＤをリストアップする。
【０１０４】
Ｓ１３０２では、Ｓ１３０１あるいはＳ１３０５で作成したリストが空かを判定する。空である場合（Ｓ１３０２でＹＥＳ）、Ｓ１３０６に移る。空でない場合（Ｓ１３０２でＮＯ）、Ｓ１３０３に移る。
【０１０５】
Ｓ１３０３では、Ｓ１３０１あるいはＳ１３０５で作成したリストに含まれる階層に属する事例データのみに推論用事例データセットを絞り込む。さらに、推論対象メタデータはクラスタＩＤに置き換えたものを新たな推論用事例データセットとする。例えば、リストに「１７０１」「１７０４」とある場合を想定する。このとき、現在の推論用事例データセットからさらにクラスタ「１７０１」もしくは「１７０２」に属す事例データのみに絞り込む。具体的には、クラスタ構成テーブルを参照して、「１７０１」もしくは「１７０２」にあるクラスタＩＤに対応付けられた事例データのみを残す。そして、推論対象メタデータをクラスタＩＤに置き換えて、新たな推論用事例データセットを得る。
【０１０６】
Ｓ１３０４では、Ｓ１３０３で得た推論用事例データセットを用いて、推論処理を行う。この推論処理は前述の図８のフローチャートを参照して説明した処理に相当する。推論処理の後、Ｓ１３０５へ進む。
【０１０７】
Ｓ１３０５では、Ｓ１３０４で得た結果を保持する。そして、次の階層をリストアップする。その後、Ｓ１３０２に戻る。具体的には、階層構造テーブル図１９からこの結果のクラスタＩＤを親クラスタＩＤに持つ、子ＩＤをリストアップする。例えば、結果が「１７０１」であった場合、「１７０２」がリストアップされることになる。なお、次の階層が見つからない場合は、リストは空になる。
【０１０８】
一方、Ｓ１３０６では、処理の結果を構成する。具体的にはＳ１３０５で保持した結果は、クラスタＩＤであるためこれを対応するメタデータ値に置き換える。具体的には、保持している結果が「１７０１⇒１７０２⇒１７０３」であった場合、クラスタテーブル（図１８）を参照して「Ａ⇒Ｂ⇒Ｃ」を得る。なお、Ｓ１３０５で何も保持していない場合「推論不可能」を結果とする。なお、Ｓ１３０１〜Ｓ１３０６の処理は、実施形態１における階層推論部３０７によって行われることになる。
【０１０９】
＜＜実施形態３＞＞
実施形態１では、付与対象取得部３０２で得られた画像データ及び画像データに関連付けられたメタデータを推論対象データとしていた。本実施形態では、これら画像データのグループや画像に関連付けられたメタデータのグループを推論対象メタデータとする。
【０１１０】
グループの作成に際しては、付与対象取得部３０２において、例えば、外部記憶装置１０４でフォルダ管理された画像データあるいはメタデータのみを取得した場合、フォルダごとにグループ化することができる。そして、このグループのメタデータとして、グループの構成要素のメタデータの平均値や最頻値などの代表値を取ることができる。ただし、グループの作成手法およびメタデータの値の取り方はこれに限定されるものではない。
【０１１１】
また、グループに対するメタデータが推論によって得られた場合、付与対象書出し部３０８では、グループの構成要素の全てにこのメタデータを反映させるよう書き込む。
【０１１２】
上記構成によれば、予めメタデータが付与された画像データ集合を用いる場合において、状況に合わせた推論手法を決定することができ、それによりメタデータを精度よく求められるようになる。
【図１】
2010282431.tif 000003
【図２】
2010282431.tif 000004
【図３】
2010282431.tif 000005
【図４】
2010282431.tif 000006
【図５】
2010282431.tif 000007
【図６】
2010282431.tif 000008
【図７】
2010282431.tif 000009
【図８】
2010282431.tif 000010
【図９】
2010282431.tif 000011
【図１０】
2010282431.tif 000012
【図１１】
2010282431.tif 000013
【図１２】
2010282431.tif 000014
【図１３】
2010282431.tif 000015
【図１４】
2010282431.tif 000016
【図１５】
2010282431.tif 000017
【図１６】
2010282431.tif 000018
【図１７】
2010282431.tif 000019
【図１８】
2010282431.tif 000020
【図１９】
2010282431.tif 000021