(57)【特許請求の範囲】
【請求項１】
コンピュータを、
学習対象から抽出された特徴ベクトルと前記学習対象に付与された識別情報とを組にした学習データに基づいて決定木を作成する決定木作成手段と、
前記決定木に前記学習データを流したとき、各葉に到達した前記識別情報の頻度を示す頻度分布情報を互いに近似するもの同士で複数に分類し、前記分類毎に代表の頻度分布情報を前記葉に関係付けて記憶手段に記憶する分類手段として機能させるための識別情報付与プログラム。
【請求項２】
前記分類手段は、各葉が複数の前記分類に対応するように第２の決定木を作成し、前記頻度分布情報を前記第２の決定木に流したとき、前記頻度分布情報が到達する前記第２の決定木の葉に基づいて、前記頻度分布情報の分類を行う請求項１に記載の識別情報付与プログラム。
【請求項３】
前記分類手段は、前記頻度分布情報を前記第２の決定木に流したとき、各葉に到達した前記頻度分布情報を前記葉に対応する前記第１の決定木の前記葉の前記代表の頻度分布情報とする請求項２に記載の識別情報付与プログラム。
【請求項４】
学習対象から抽出された特徴ベクトルと前記学習対象に付与された識別情報とを組にした学習データに基づいて決定木を作成する決定木作成手段と、
前記決定木に前記学習データを流したとき、各葉に到達した前記識別情報の頻度を示す頻度分布情報を互いに近似するもの同士で複数の分類し、前記分類毎に代表の頻度分布情報を前記葉に関係付けて記憶手段に記憶する分類手段とを備えた識別情報付与装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、識別情報付与プログラム及び識別情報付与装置に関する。
【背景技術】
【０００２】
近年、画像全体及び画像の部分領域に対して、その領域の内容を説明するクラスラベルを自動的に付与する技術の研究が行われている。この技術は、画像アノテーション技術と呼ばれ、画像特徴とその画像特徴を説明する言語的意味を持つラベルとを対応付ける技術である。画像アノテーション技術は、画像検索をはじめとする画像関連のアプリケーションへの応用が期待されている。
【０００３】
決定木は非常に高速にデータ群を複数のクラスに同時に分類することが可能であるため、近年、幅広くデータ分類、認識等で利用されている（例えば、特許文献１〜４参照）。特に決定木を複数用いることで、特定のクラスのみの識別能力を上昇させる過学習の問題を解決することができる。
【０００４】
特許文献１に開示された装置及び方法は、複数の決定木を用いて画像特徴を量子化し、そのヒストグラムから識別器の学習を行うものである。特許文献２に開示された装置及び方法は、決定木を通貨するデータに付随するラベルの頻度分布により決定木間の類似性を見出すものである。特許文献３に開示された方法は、複数の訓練文書のペアを検査し、このペアを２つの子ノードに分けるように木構造を学習するものである。特許文献４に開示された装置及び方法は、ノード間で似たノード同士をリンクで繋げ、検索の際にジャンプすることを許すようにしたものである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−２７１８９０号公報
【特許文献２】特開２０１０−４４６４９号公報
【特許文献３】特開２００６−１８８２９号公報
【特許文献４】特開２００１−１３４５９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、木型識別器において個々の決定木のサイズが大きくなった場合、葉の数が増加してしまい、葉に対するラベルの頻度分布をメモリにすべて保持することが困難となる。
【０００７】
本発明の課題は、決定木の各葉に到達した識別情報の頻度分布情報をすべて記憶する場合と比べて記憶情報量を少なくした識別情報付与プログラム及び識別情報付与装置を提供することにある。
【課題を解決するための手段】
【０００８】
［１］コンピュータを、学習対象から抽出された特徴ベクトルと前記学習対象に付与された識別情報とを組にした学習データに基づいて決定木を作成する決定木作成手段と、前記決定木に前記学習データを流したとき、各葉に到達した前記識別情報の頻度を示す頻度分布情報を互いに近似するもの同士で複数に分類し、前記分類毎に代表の頻度分布情報を前記葉に関係付けて記憶手段に記憶する分類手段として機能させるための識別情報付与プログラム。
［２］前記分類手段は、各葉が複数の前記分類に対応するように第２の決定木を作成し、前記頻度分布情報を前記第２の決定木に流したとき、前記頻度分布情報が到達する前記第２の決定木の葉に基づいて、前記頻度分布情報の分類を行う前記［１］に記載の識別情報付与プログラム。
［３］前記分類手段は、前記頻度分布情報を前記第２の決定木に流したとき、各葉に到達した前記頻度分布情報を前記葉に対応する前記第１の決定木の前記葉の前記代表の頻度分布情報とする前記［２］に記載の識別情報付与プログラム。
［４］学習対象から抽出された特徴ベクトルと前記学習対象に付与された識別情報とを組にした学習データに基づいて決定木を作成する決定木作成手段と、前記決定木に前記学習データを流したとき、各葉に到達した前記識別情報の頻度を示す頻度分布情報を互いに近似するもの同士で複数の分類し、前記分類毎に代表の頻度分布情報を前記葉に関係付けて記憶手段に記憶する分類手段とを備えた識別情報付与装置。
【発明の効果】
【０００９】
請求項１及び４に記載された発明によれば、決定木の各葉に到達した識別情報の頻度分布情報をすべて記憶する場合と比べて記憶情報量を少なくすることができる。
請求項２に記載された発明によれば、本構成を採用しない場合と比べて識別情報の分類がより高精度になる。
請求項３に記載された発明によれば、本構成を採用しない場合と比べて代表の頻度分布情報を速く取得することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、本発明の第１の実施の形態に係る識別情報付与装置の概略の構成例を示すブロック図である。
【図２】図２は、図１に示す識別情報付与装置の頻度分布作成部及び頻度分布量子化部を説明するための概念図である。
【図３】図３（ａ）、（ｂ）は、図１に示す識別情報付与装置の記憶部に記憶されるデータの一例を示す図である。
【図４】図４は、図１に示す識別情報付与装置の頻度分布量子化部の動作の一例を示すフローチャートである。
【図５】図５は、本発明の第２の実施の形態に係る識別情報付与装置の概略の構成例を示すブロック図である。
【図６】図６（ａ）、（ｂ）は、図５に示す識別情報付与装置の記憶部に記憶されるデータの一例を示す図である。
【図７】図７は、第２の実施の形態に係る頻度分布量子化部及び量子化頻度分布作成部の動作例を示すフローチャートである。
【図８】図８は、第２の実施の形態の変形例を示すフローチャートである。
【図９】図９は、本発明の第３の実施の形態に係る識別情報付与装置の概略の構成例を示すブロック図である。
【図１０】図１０は、図９に示す識別情報付与装置の頻度分布作成部及び頻度分布量子化部を説明するための概念図である。
【図１１】図１１は、第３の実施の形態の頻度分布量子化部の動作例を示すフローチャートである。
【図１２】図１２は、第３の実施の形態の識別対象の識別段階を示すフローチャートである。
【図１３】図１３は、第３の実施の形態の動作例の概略を示す模式図である。
【図１４Ａ】図１４Ａは、本発明の実施例を示す概念図である。
【図１４Ｂ】図１４Ｂは、本発明の実施例を示す概念図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態について図面を参照して説明する。なお、各図中、実質的に同一の機能を有する構成要素については、同一の符号を付してその重複した説明を省略する。
【００１２】
［第１の実施の形態］
図１は、本発明の第１の実施の形態に係る識別情報付与装置の概略の構成例を示すブロック図、図２は、図１に示す識別情報付与装置の頻度分布作成部及び頻度分布量子化部を説明するための概念図、図３（ａ）、（ｂ）は、図１に示す識別情報付与装置の記憶部に記憶されるデータの一例を示す図である。
【００１３】
図１に示すように、識別情報付与装置１は、学習データ作成部２、決定木作成部３、頻度分布作成部４、頻度分布量子化部５、識別対象データ作成部７、識別部８、識別結果出力部９及び記憶部１０を有する。本実施の形態は、決定木ベースの識別器において、学習時に必要となる識別器モデルのパラメータを少ないメモリ容量で保持することにより、マルチクラスの識別を実現するものである。
【００１４】
（学習データ作成部）
学習データ作成部２は、学習対象から特徴ベクトルｆを抽出し、特徴ベクトルｆと特徴ベクトルｆに付随するラベルＣとのペア（組）から構成される学習データを作成する。ラベルＣは、複数のラベルｃにより構成されていてもよい。学習データ作成部２は、学習データ作成手段の一例であり、作成した学習データを記憶部１０に格納する。
【００１５】
ここで、「学習データ」は、学習対象となるコンテンツから抽出された特徴ベクトルｆとそれに付随するラベルＣにより構成されるものである。
【００１６】
「コンテンツ」は、テキストデータや画像などである。「特徴ベクトル」は、コンテンツが例えばテキストデータの場合は、単語の出現頻度を正規化したものであり、コンテンツが画像の場合は、色やテクスチャなどの画像特徴を並べたものである。
【００１７】
「ラベル」は、識別情報の一例であり、抽出した特徴ベクトルを説明するものであり、通常単語などのテキスト情報により構成される。例えばコンテンツが画像の場合は、画像中に存在するオブジェクト名（犬、空など）や、その画像を説明するもの（風景画像、屋内画像など）などである。このようなラベルは、一般に複数存在してもよく、１つの特徴ベクトルに対して複数のラベルが与えられてもよい。
【００１８】
（決定木作成部）
決定木作成部３は、学習データ作成部２により作成された学習データ１０２のすべて又はその一部を使用して図２に示すように決定木３０なる識別器を作成する。決定木作成部３は、決定木作成手段の一例であり、作成した決定木３０を決定木データ１０３として記憶部１０に格納する。なお、決定木３０を構成するノード３１のうち最終のノード３１を葉あるいは葉ノード３２という。各ノード３１の分岐条件は評価関数を決めて、その評価関数の値が最大となるような分け方を採用する。決定木３０は、単体又は複数の木型識別器により構成される。決定木３０を複数作成する場合、決定木によりランダムに選択した学習データを使用することで、互いに類似していない決定木を作り出す手法がしばしば用いられている。
【００１９】
学習の際には、特徴ベクトルとラベルの関係が学習される。ＳＶＭやＡｄａｂｏｏｓｔなどの識別アルゴリズムが著名であるが、ここでは決定木ベースの識別器について考える。ＳＶＭなどの識別器は、１つの識別器で正事例と負事例を分離するが、識別対象が複数存在する場合には、その個数分の識別器が必要となる。
【００２０】
一方、決定木ベースの識別器は、１つの決定木で複数のラベルを識別することが可能であり、かつ高速な識別器であることが知られている。決定木は、全学習データまたはその部分集合を用いて学習される。学習データは特徴ベクトルとラベルのペア（ｆｉ，Ｃｉ）であり、Ｃｉは複数のラベルにより構成される（Ｃ１＝｛ｃ１｝，Ｃ２＝｛ｃ１，ｃ３｝，Ｃ３＝｛ｃ２，ｃ３，ｃ４｝，．．．）。ｃｊ（１≦ｊ≦Ｋ）は、各ラベルである。Ｋは、ラベルの総数である。決定木の中では二分木が最もよく利用されている。ここでは二分木を用いて本実施の形態を説明するが、他のモデル（四分木など）を用いてももちろんよい。
【００２１】
二分木の左右分岐条件は簡単な閾値条件、例えばある特徴次元を選択してその値が閾値以上か未満かで左右に分岐させる。特徴次元及びその閾値の選択方法は、左右のラベル分布になるべく偏りが見られるように、かつ左右に分けられる学習データ数がほぼ同じ数になるように選ばれる。また、決定木間はできるだけ差がないようにすることも必要である。例えばＧｉｎｉ  ＩｎｄｅｘやＳｈａｎｎｏｎ  Ｅｎｔｒｏｐｙを用いるものが一般的である。決定木３０は、その葉ノード３２に到達する学習データ数が一定値以下になったり、その階層が事前に設定した階層（＝Ｄ）に達すると、拡張を止める。この場合、終点である葉ノード３２は、最大で２（Ｄ−１）個作成される。一般的に、ラベルの個数が多いと、必要な階層数は増加する傾向にある。
【００２２】
（頻度分布作成部）
頻度分布作成部４は、図２に示すように、各葉ノード（図２ではｌｐ（ｐ＝１〜８）で示す。）３２のラベルの頻度分布ベクトル（図２ではＡｐ（ｐ＝１，２，・・・）で示す。）４０を作成する。頻度分布ベクトル４０を作成する際は、決定木３０を作成するのに使用した学習データ１０２の部分集合か全学習データを用いて作成する。各葉ノード３２に流れ込んだ学習データの各ラベルの個数を数えることにより、ラベルの頻度分布を作成することができる。ここで、ラベルの「頻度分布」とは、その葉ノード３２に到達するデータのラベルの度数もしくは度数に応じた値であり、確率分布、確率テーブルと呼んでもよい。なお、本実施の形態では度数分布を扱ったが、度数分布と関連がある他の分布でもよい。
【００２３】
（頻度分布量子化部）
頻度分布量子化部５は、頻度分布作成部４によって作成された各葉ノード３２の頻度分布ベクトル４０を図２に示すように正規化した頻度分布ベクトル（図２ではａｐ（ｐ＝１、２、・・・）で示す。）５０を作成し、正規化した頻度分布ベクトル５０を量子化する。ここで、「頻度分布ベクトルの量子化」とは、頻度分布ベクトルを近似した頻度分布ベクトル同士でグループ化することである。本実施の形態では、頻度分布量子化部５は、具体的には各頻度分布ベクトル５０を比較して、似た頻度分布ベクトル５０に対して同じ葉ノードＩＤを与え、葉ノード３２を特定する葉ノードＮｏ．、葉ノードＩＤ及び頻度分布ベクトル５０の対応関係を葉ノード情報１０４として記憶部１０に格納する。ここで、頻度分布ベクトル４０、５０は、頻度分布情報の一例である。
【００２４】
決定木ベースの識別器の場合、過学習を避けるために複数の決定木３０を使用することが多い。決定木３０の個数をＴとすると、木型識別器に必要とされるモデルパラメータのメモリ容量のオーダーは頻度分布ベクトルで最大Ｏ（Ｔ×Ｋ×２（Ｄ−１））であり、分岐条件でＯ（２×Ｔ×（２（Ｄ−１）−１））である。Ｋが増加すると性能を高めるためには階層数を増やす必要があり、そのため必要なメモリ容量が増加する。分岐条件を表現するために必要なメモリ容量は頻度分布ベクトルを表現するために必要なメモリ容量の約２／Ｋであるから、Ｋが大きい場合ほとんど無視できるメモリ容量であり、メモリ総容量を抑制するためには頻度分布ベクトルのメモリ容量を削減することが望まれる。本実施の形態の頻度分布量子化部５によれば、すべての頻度分布ベクトルを表現するのに必要なメモリ容量が削減できる。
【００２５】
（識別対象データ作成部）
識別対象データ作成部７は、識別対象となるデータから学習データで獲得したものと同一の特徴次元の特徴ベクトルを抽出する。識別対象は、学習対象の種類と同一の種類であり、学習対象がテキストデータなら識別対象はテキストデータであり、学習対象が画像なら識別対象は画像である。
【００２６】
（識別部）
識別部８は、作成された決定木３０を用いて識別対象を識別する。各決定木３０に識別対象から抽出した特徴ベクトルｆを流し、到達する葉ノード３２に対応する葉ノードＩＤを記憶部１０から取得し、その葉ノードＩＤに対する頻度分布ベクトル５０から各ラベルの事後確率を（Ｐ（ｃ｜ｆ））算出する。そして、識別部８は、例えば頻度（事後確率）が最も高いラベルを識別結果とする。
【００２７】
（識別結果出力部）
識別結果出力部９は、識別部８による識別結果を外部に出力するものであり、例えば液晶ディスプレイ等の表示部や、プリンタ等の印刷部を用いることができる。
【００２８】
（記憶部）
記憶部１０は、識別情報付与プログラム１０１等の各種のプログラムや、特徴ベクトルｆルとラベルＣとのペアからなる学習データ１０２、決定木データ１０３、葉ノード情報１０４等の各種のデータを記憶するものであり、例えばＲＯＭ、ＲＡＭ、ＨＤＤ等から構成されている。
【００２９】
葉ノード情報１０４は、具体的には、図３（ａ）に示すように、葉ノード３２を特定する葉ノードＮｏ．（同図ではｌ１〜ｌ８）と、葉ノードＮｏ．に付与された葉ノードＩＤ（同図では０、１、２、３）との関係を示す葉ノード情報１０４ａ、及び図３（ｂ）に示すように、葉ノードＩＤと葉ノードＩＤに対応する頻度分布ベクトル（同図ではａ０、ａ１、ａ２、ａ３）との関係を示す葉ノード情報１０４ｂを含む。
【００３０】
頻度分布作成部４及び頻度分布量子化部５は、ラベルの頻度分布ベクトル５０を、互いに近似するもの同士で複数に分類し、分類毎に代表の頻度分布情報を葉ノード３２に関連付けて記憶部１０に記憶する分類手段の一例である。本実施の形態では、代表の頻度分布情報は、頻度分布ベクトル５０である。
【００３１】
（第１の実施の形態の動作）
次に、第１の実施の形態の動作の一例を、学習データの作成から頻度分布ベクトルの量子化までの学習段階と識別対象にラベルを付与する識別段階とに分けて説明する。
【００３２】
（１）学習段階
まず、学習データ作成部２は、学習対象から特徴ベクトルｆを抽出し、特徴ベクトルｆと特徴ベクトルｆに付随するラベルＣとのペアから学習データ１０２を作成し、その学習データ１０２を記憶部１０に格納する。
【００３３】
次に、決定木作成部３は、学習データ作成部２により作成され、記憶部１０に格納されている学習データ１０２のすべて又はその一部を使用して図２に示すような決定木３０を作成し、その決定木データ１０３を記憶部１０に格納する。ここでは、決定木作成部３は、複数の決定木（決定木群ともいう。）３０を作成したものとする。
【００３４】
次に、頻度分布作成部４は、記憶部１０に格納されている学習データ（特徴ベクトルｆとラベルＣのペア）を記憶部１０に格納されている決定木データ１０３による決定木３０に流して、各葉ノード３２に到達したラベルの図２に示すような頻度分布ベクトル４０を作成する。
【００３５】
次の動作は、図４に従って説明する。図４は、図１に示す識別情報付与装置の頻度分布量子化部の動作の一例を示すフローチャートである。頻度分布量子化部５は、例えば最初に作成された決定木（特定の決定木）３０の頻度分布ベクトル４０を収集する（Ｓ１）。なお、決定木３０を１つのみ構築する場合、頻度分布量子化部５は、葉ノード３２の親ノードなど上位ノードでの頻度分布を集めてもよい。また、頻度分布量子化部５は、複数の決定木３０を作成する場合でも、特定の決定木３０の上位ノードの頻度分布を集めてもよい。
【００３６】
次に、頻度分布量子化部５は、集めた頻度分布ベクトル４０を正規化し（Ｓ２）、その正規化した頻度分布ベクトル５０を量子化する。
量子化の際に重要なのは、
１）お互いに頻度分布が似たものが同じグループに属すること
２）同じグループに属する頻度分布の上位の度数に相当するラベルが同じであること
である。特に２番目の項目は度数が上位であるものが識別結果に影響を及ぼすからである（特にＴ＝１の場合、最大の度数となるラベルが識別結果となる）。最も簡単な例として集めた頻度分布ベクトル群を汎用のクラスタリングアルゴリズムであるＫＭｅａｎｓ法を用いて量子化する方法が考えられる。
【００３７】
事前にＭ個のグループに分けるとすると、このクラスタリング処理によって葉ノードは０からＭ−１までのＭ種類のＩＤが付与される。
【００３８】
本実施の形態では、ＫＭｅａｎｓ法によって重心ベクトルを算出し、その距離が最も近いグループにその葉ノード３２の頻度分布ベクトルに対して葉ノードＩＤを与える（Ｓ３）。このようにすれば、すべての決定木３０の葉ノード３２に葉ノードＩＤが付与される。
【００３９】
次に、葉ノードＩＤが付与されたノード数（ＩＤの数）をカウントする（Ｓ４）。他の決定木３０についても上記ステップＳ１〜Ｓ４を実施する（Ｓ５）。頻度分布量子化部５は、決定木３０毎に葉ノード３２に葉ノードＩＤを付与し、葉ノードＮｏ．、葉ノードＩＤ、及び頻度分布ベクトル５０を互いに関連付けた葉ノード情報１０４として記憶部１０に格納する。
【００４０】
なお、ＫＭｅａｎｓ法を用いた場合、頻度分布ベクトル間の距離を計算して、代表ベクトル（重心ベクトル）を更新していくが、距離がそれら重心ベクトルから近いことが保証されるものの、上位の度数が同一のものが同じグループに属する保証はない。
【００４１】
（２）識別段階
識別対象データ作成部７は、学習データで作成した同じ特徴量の次元を用いて、識別対象から特徴ベクトルｆを抽出する。
【００４２】
次に、識別部８は、識別対象データ作成部７が作成した特徴ベクトルｆを記憶部１０に格納されている決定木データ１０３による決定木３０に流し込む。決定木３０ごとに最終的に到達する葉ノード３２が決定する。到達した葉ノード３２に与えられた葉ノードＩＤは、記憶部１０の図３（ａ）に示すような葉ノード情報１０４ａを検索することで取得することができる。識別部８は、葉ノードＩＤに対応する頻度分布ベクトル５０を記憶部１０の図３（ｂ）に示すような葉ノード情報１０４ｂを検索することで取得する。識別部８は、取得した頻度分布ベクトル５０から事後確率を算出し、頻度（事後確率）が最も高いラベルを識別対象の識別結果とする。
【００４３】
識別結果出力部９は、識別部８による識別結果を、例えば表示部に表示し、又は印刷部で印刷して出力する。
【００４４】
（第１の実施の形態の効果）
第１の実施の形態によれば、すべての決定木３０の各葉ノード３２について収集された頻度分布ベクトルは、近似した頻度分布ベクトル同士でグループ化し、グループに対応した葉ノードＩＤとして保存されるため、全ての頻度分布ベクトルを記憶する場合と比べて格段に記憶する情報量が減る。
【００４５】
［第２の実施の形態］
図５は、本発明の第２の実施の形態に係る識別情報付与装置の概略の構成例を示すブロック図、図６は、図５に示す識別情報付与装置の記憶部に記憶されるデータの一例を示す図である。
【００４６】
本実施の形態は、図１に示す第１の実施の形態の識別情報付与装置１に対して頻度分布量子化部５の機能が異なるとともに、量子化頻度分布作成部６を付加したものである。また、第１の実施の形態の頻度分布量子化部５は、全ての特定木の葉ノード３２に葉ノードＩＤを付与したが、本実施の形態の頻度分布量子化部５は、２つ目以降の決定木については、１つ目の決定木を用いて取得した葉ノード情報を利用するものである。以下、第１の実施の形態との相違点を中心に説明する。
【００４７】
頻度分布量子化部５は、頻度分布作成部４によって作成された各葉ノード３２の頻度分布ベクトル４０を正規化し、その正規化した頻度分布ベクトル５０を量子化する。本実施の形態では、量子化するとき、頻度分布ベクトル５０から代表ベクトルを作成し、代表ベクトル間の距離が一定の閾値以下ならば、一対の頻度分布ベクトルを近似したものと判断する。そして頻度分布量子化部５は、似た代表ベクトルに対しては同じ葉ノードＩＤを与え、葉ノードＮｏ．、葉ノードＩＤ、代表ベクトルを互いに関係付けた葉ノード情報１０４として記憶部１０に格納する。代表ベクトルの作成方法として、例えば頻度分布ベクトルから最大度数のラベル、上位Ｎ個の度数のラベル、又は閾値以上の度数を持つラベルを有する頻度分布ベクトルを収集してその平均値を代表ベクトルとしてもよい。一度も収集されない頻度分布ベクトルがある場合、それらのみで一つのカテゴリを作って、それらを平均化することにより代表ベクトルとすることができる。また、頻度分布ベクトルと代表ベクトル間の類似性の判断方法として、ベクトル間の距離計算に基づく以外に、代表（頻度分布）ベクトルの各要素に対応するラベルの度数をソートしてそれらの一致度を観測する等の方法がある。
【００４８】
量子化頻度分布作成部６は、同じ葉ノードＩＤが付与された葉ノード３２に対する代表ベクトルを平均化し、記憶部１０の記憶内容を更新する。代表ベクトルの平均化は、対応するラベルの頻度を平均化する。
【００４９】
記憶部１０は、識別情報付与プログラム１０１等の各種のプログラムや、特徴ベクトルｆとラベルＣとのペアからなる学習データ１０２、第１の決定木データ１０３ａ、第２の決定木データ１０３ｂ、葉ノード情報１０４等の各種のデータを記憶するものであり、例えばＲＯＭ、ＲＡＭ、ＨＤＤ等から構成されている。
【００５０】
葉ノード情報１０４は、具体的には、図６（ａ）に示すように、葉ノード３２を特定する葉ノードＮｏ．（同図ではｌ１〜ｌ８）と、葉ノードＮｏ．に付与された葉ノードＩＤ（同図では０、１、２、３）との関係を示す葉ノード情報１０４ａ、及び図６（ｂ）に示すように、葉ノードＩＤと葉ノードＩＤに対応する代表ベクトル（同図ではｃｖ０、ｃｖ１、ｃｖ２、ｃｖ３）との関係を示す葉ノード情報１０４ｃを含む。
【００５１】
頻度分布作成部４及び頻度分布量子化部５は、ラベルの頻度分布ベクトル５０を、互いに近似するもの同士で複数に分類し、分類毎に代表の頻度分布情報を葉ノード３２に関連付けて記憶部１０に記憶する分類手段の一例である。本実施の形態では、代表の頻度分布情報は、代表ベクトルである。
【００５２】
図７は、第２の実施の形態に係る頻度分布量子化部５及び量子化頻度分布作成部６の動作例を示すフローチャートである。
【００５３】
頻度分布量子化部５は、第１の実施の形態と同様に、特定の決定木３０の頻度分布ベクトル４０を集め（Ｓ１１）、集めた頻度分布ベクトル４０を正規化し（Ｓ１２）、各葉ノード３２に葉ノードＩＤを付与し（Ｓ１３）、各葉ノードＩＤが付与されたノード数をカウントする（Ｓ１４）。
【００５４】
次に、頻度分布量子化部５は、次の決定木３０の頻度分布ベクトル４０を収集する（Ｓ１５）。続いて、量子化頻度分布作成部６は、収集した頻度分布ベクトル４０から代表ベクトルを算出し、最初の決定木３０で求めた頻度分布ベクトルから代表ベクトルを算出し、代表ベクトル間の距離計算により最も近い頻度分布ベクトルを探し、その探した頻度分布ベクトルに付与された葉ノードＩＤを当該決定木３０の葉ノード３２に対する葉ノードＩＤとする（Ｓ１６）。
【００５５】
各葉ノードＩＤが付与されたノード数をカウントする（Ｓ１７）。各葉ノードＩＤに対して代表ベクトルを更新する（Ｓ１８）。次の決定木３０へ進み（Ｓ１９）、上記ステップＳ１１〜Ｓ１８を実施し、全ての決定木３０について葉ノードＩＤを付与する。
【００５６】
（変形例）
図８は、第２の実施の形態の変形例を示すフローチャートである。第２の実施の形態において、各葉ノード３２に葉ノードＩＤを与えた後（Ｓ１６）、距離の最小値が閾値より大きい場合、その頻度分布ベクトルを新たなグループの代表ベクトルとして葉ノードＩＤの個数を増やしてもよい（Ｓ１７ａ）
【００５７】
（第２の実施の形態の効果）
第２の実施の形態によれば、葉ノードＩＤに対応して保存する頻度分布情報として頻度分布ベクトルよりも情報量の少ない代表ベクトルとしているので、第１の実施の形態と比べて記憶する情報量が減る。
【００５８】
［第３の実施の形態］
図９は、本発明の第３の実施の形態に係る識別情報付与装置の概略の構成例を示すブロック図、図１０は、図９に示す識別情報付与装置の頻度分布作成部及び頻度分布量子化部を説明するための概念図である。
【００５９】
第１及び第２の実施の形態では、学習―識別用に一種類の決定木を用いたが、本実施の形態は、決定木を二種類用いるものである。本実施の形態の頻度分布量子化部５は、第１及び第２の実施の形態とは機能が異なる。以下、第１及び第２の実施の形態との相違点を中心に説明する。
【００６０】
本実施の形態の識別情報付与装置１は、第２の実施の形態と同様に、学習データ作成部２、決定木作成部３、頻度分布作成部４、頻度分布量子化部５、量子化頻度分布作成部６、識別対象データ作成部７、識別部８、識別結果出力部９及び記憶部１０を有して構成されている。
【００６１】
本実施の形態の決定木作成部３は、第１の実施の形態と同様に図１０に示す第１の決定木３０Ａを作成する。すなわち、分岐条件としては左右のノードに落ちるデータ群のラベルができるだけ偏りが出るように、また第１の決定木３０Ａ間はできるだけ差がないように第１の決定木３０Ａを作成する。
【００６２】
本実施の形態の頻度分布作成部４は、第１の実施の形態と同様に図１０に示す第１の決定木３０Ａに学習データを第１の決定木３０Ａに流したとき、各葉ノード３２に到達したラベルの頻度分布ベクトル４０を作成する。
【００６３】
本実施の形態の頻度分布量子化部５は、図１０に示すように、頻度分布ベクトルを得るために第１の決定木３０Ａを用い、第１の決定木３０Ａで収集した頻度分布ベクトルをクラスタリングするために第２の決定木３０Ｂを用いる。
【００６４】
記憶部１０は、識別情報付与プログラム１０１等の各種のプログラムや、特徴ベクトルｆとラベルＣとのペアからなる学習データ１０２、第１の決定木データ１０３ａ、第２の決定木データ１０３ｂ、葉ノード情報１０４等の各種のデータを記憶するものであり、例えばＲＯＭ、ＲＡＭ、ＨＤＤ等から構成されている。
【００６５】
葉ノード情報１０４は、第２の実施の形態と同様に、図６（ａ）に示すように、葉ノード３２を特定する葉ノードＮｏ．（同図ではｌ１〜ｌ８）と、葉ノードＮｏ．に付与された葉ノードＩＤ（同図では０、１、２、３）との関係を示す葉ノード情報１０４ａ、及び図６（ｂ）に示すように、葉ノードＩＤと葉ノードＩＤに対応する代表ベクトル（同図ではｃｖ０、ｃｖ１、ｃｖ２、ｃｖ３）との関係を示す葉ノード情報１０４ｃを含む。
【００６６】
上記第１の形態で採用した上述のＫＭｅａｎｓ法は、教師なしクラスタリングであったため、同一ＩＤを有する頻度分布が同じ傾向を保持する保証はない。また事前に分類数を指定する必要があった。本実施形態ではできるだけ似た傾向の頻度分布が同じグループに属するようなクラスタリング手法の導入を提案する。最も単純な例は各頻度分布の大きな度数を持つラベルを選択し、このラベルに応じてクラスタリングすることである。最大度数のみを用いれば、最大でＫ個のグループが作成でき、上位２個で最大Ｋ（Ｋ−１）/２個のグループを作ることができる。しかし、このような単純なグループ分けは、グループ内で頻度分布が似ている保証はなく、グループ（分類）数がたとえ上位２個のみを選択してもＫの２乗オーダーで増加する。
【００６７】
そこで、第３の実施の形態は、各頻度分布ベクトルを新たな特徴ベクトルとし、度数が高いラベルをその特徴ベクトルに対応するラベルとし、これらをデータとして教師ありクラスタリングする手法を提案する。
【００６８】
この場合、ラベルとして選ばれるものは、以下のものなどが考えられる。
１）最大度数のもの、２）上位Ｎ個の度数、３）閾値以上の度数を持つもの
その一例として再度これら頻度分布をクラスタリングするために第２の決定木を構築する手法を具体例として挙げる。上述のコンテンツの識別のために作成した特徴ベクトルの次元数は選択したその特徴数（画像でＲＧＢを使う場合３）であったのに対し、この特徴ベクトルの次元は識別対象の個数つまりＫである。
【００６９】
また、第１の決定木３０Ａは識別器として作動し、第２の決定木３０Ｂはクラスタリング装置として作動する。クラスタリング装置として作動する第２の決定木３０Ｂのデータは、第１の実施の形態と同様に特定の第１の決定木３０Ａから作成した頻度分布ベクトル及びそれに付随するラベルである。頻度分布ベクトル及びそれに付随するラベルのデータを使用して第２の決定木３０Ｂを作成する。
【００７０】
分岐条件としては左右のノードに落ちるデータ群のラベルができるだけ偏りが出るように、またそれらの個数間はできるだけ差がないようにするのは第１の決定木３０Ａの作成時と同様である。
【００７１】
第２の決定木３０Ｂの階層の深さ（Ｄ’）は識別対象数Ｋに比例して大きく取るものとする。このようにして作成された第２の決定木３０Ｂの葉ノード３２に対して葉ノードＩＤを順に与えておく。図１０の場合、第２の決定木３０Ｂの４つの葉ノード３２に対して葉ノードＩＤとしてそれぞれＩＤ＝０、ＩＤ＝１、ＩＤ＝２、ＩＤ＝３を与える。第２の決定木３０Ｂに頻度分布ベクトルａｐとラベルＬを流して葉ノード３２に流れ込んだ頻度分布ベクトルａｐを持つ第１の決定木３０Ａの葉ノード３２に対してその葉ノードＩＤを与える。図１０の場合、頻度分布ベクトルａ１を第２の決定木３０Ｂに流したとき、その頻度分布ベクトルａ１が最も左の葉ノード３２に到達したので、その葉ノード３２に与えられている葉ノードＩＤ＝０を第１の決定木３０Ａの頻度分布ベクトルａ１に対応する葉ノード３２に与えている。
【００７２】
まだ葉ノードＩＤが与えられていない他の第１の決定木３０Ａの葉ノード３２に対しては、該当する頻度分布ベクトルを第２の決定木３０Ｂに流し、その到達した葉ノード３２の葉ノードＩＤを与えることにより、すべての葉ノード３２に対して葉ノードＩＤを付与する。また、この第２の決定木３０Ｂは複数の（決定）木で構成することも可能である。
【００７３】
（頻度分布量子化部及び量子化頻度分布作成部の動作）
図１１は、第３の実施の形態の頻度分布量子化部５の動作例を示すフローチャートである。図１３は、第３の実施の形態の動作例の概略を示す模式図である。
【００７４】
決定木作成部３は、図１０及び図１３に示すように、第１の決定木３０Ａを作成する。
【００７５】
頻度分布作成部４は、第１の決定木３０Ａに学習データ１０２を流し、各葉ノード３２に到達したラベルの頻度分布ベクトル４０を作成する。
【００７６】
次に、頻度分布量子化部５について説明する。頻度分布量子化部５は、図１３に示すように、第１の決定木３０Ａの頻度分布ベクトル、及びそれに付随するラベルを取得する（Ｓ２１）。データ（頻度分布ベクトル、ラベル）から第２の決定木３０Ｂを作成する（Ｓ２２）。作成した第２の決定木３０Ｂの各葉ノード３２に葉ノードＩＤを付与する（Ｓ２３）。第１の決定木３０Ａの葉ノード３２で葉ノードＩＤが与えられていないものを選び、それを第２の決定木３０Ｂに流入する（Ｓ２４）。流れ込んだ第２の決定木３０Ｂの葉ノード３２の葉ノードＩＤを第１の決定木３０Ａの対応する葉ノード３２の葉ノードＩＤとする（Ｓ２５）。
【００７７】
量子化頻度分布作成部６は、頻度分布量子化部５で作成した頻度分布のグループの代表ベクトルを作成する。典型的には該当ＩＤを持つ頻度分布の平均値、つまり重心ベクトルを代表ベクトルとする。その場合、最初に作成した第１の決定木３０Ａから第２の決定木３０Ｂを作成し、逐次的に第２の決定木３０Ｂの作成に貢献していない第１の決定木３０Ａの葉ノード３２にラベルを付与することで、各第１の決定木３０Ａの各ＩＤの個数を数えることにより、容易に重心ベクトルを更新することができる。なお、第２の決定木３０Ｂにより作成した葉ノード３２の頻度分布をその葉ノードＩＤの代表ベクトルとすることもできる。このようにして決定木群の各葉ノードに対して葉ノードＩＤを与え、その葉ノードＩＤに対する代表ベクトルのみを保持するようにすれば、頻度分布を保持するために必要なメモリ容量は最終的にＯ（Ｋ×２（Ｄ’−１）＋２×（２（Ｄ’−１）−１））と代表ベクトル群及び第２の決定木３０Ｂを作成するのに必要な分岐条件パラメータの和となる。ここで２（Ｄ’−１）は葉ノードの分類数Ｍに近い値であり、Ｄ’はＤより大幅に小さいため、メモリ容量を小さくすることができる。
【００７８】
（識別対象データ作成部及び識別部の動作）
図１２は、識別対象の識別段階を示すフローチャートである。次に、識別対象データ作成部７及び識別部８について説明する。識別対象データ作成部７は、学習データで作成した同じ特徴量の次元を用いて、識別対象から特徴ベクトルを抽出する（Ｓ４１）。特徴ベクトルは同様に正規化しておく。
【００７９】
次に、識別部８は、識別対象データ作成部７が作成した特徴ベクトルを第１の決定木３０Ａに流し込む。第１の決定木３０Ａごとに最終的に到達する葉ノード３２が決定し、その葉ノード３２に与えられた葉ノードＩＤを基に記憶部１０を検索して葉ノードに対応する代表ベクトルを読み出す（Ｓ４２）。各第１の決定木３０Ａから選択された代表ベクトルは、最終的に統合的に加工され（例えば複数の決定木を用いる場合その平均ベクトル）、最終的な頻度分布を獲得する（Ｓ４３）。この頻度分布の最も高い度数を持つラベルを識別結果とする（Ｓ４４）。
【００８０】
なお、上記実施の形態では、葉ノードごとに抽出した代表ベクトルをすべて選択したが、すべて選択するのではなく、識別能力が高いもののみを使ってもよい。例えば代表ベクトルのエントロピーを計算し、それが一定値以下のもののみを使用するなどが考えられる。
【００８１】
（第３の実施の形態の効果）
第３の実施の形態によれば、頻度分布を第２の決定木を用いて量子化することで、頻度分布間の距離計算を行って量子化する場合と比べて、頻度分布を高速に量子化することができる。
【実施例１】
【００８２】
図１４Ａ及び図１４Ｂは、本発明の実施例を示す概念図である。
【００８３】
具体的な実施例として画像自動アノテーションについて説明する。画像自動アノテーションは画像全体に対して複数のアノテーションを付与する技術であり、アノテーションは対象画像に関係のあるテキスト情報を付与する。例えば「犬」、「猫」、「風景画」などである。
【００８４】
学習データ作成部２は、学習画像の全体もしくは部分領域から画像特徴量を抽出する。本実施例では、学習画像として、空を飛んでいる飛行機の画像Ｐ１、道路を走行している車の画像Ｐ２、・・・、草原にいる象の画像ＰＮが含まれている。特徴ベクトルは、例えば色特徴、テクスチャ特徴などを繋げたものとする。学習データのラベルは、画像全体に対して付与されたものを用いる場合、部分領域から抽出した特徴ベクトルに対してはこれらのラベル群すべてが付与される（例えたとえ間違っていても）。本実施例では、画像Ｐ１の学習データは、特徴ベクトルｆ１、ラベルＣ１＝｛飛行機、空｝からなり、画像Ｐ２の学習データは、特徴ベクトルｆ２、ラベルＣ２＝｛飛行機、空｝からなり、・・・、画像ＰＮの学習データは、特徴ベクトルｆＮ、ラベルＣＮ＝｛象、草｝からなる。
【００８５】
次に、決定木作成部３は、学習データから識別器となる第１の決定木３０Ａを作成する。識別対象数、学習データ数に応じた決定木３０Ａの数、階層数を事前に設定する。複数の決定木３０Ａを作成する際、決定木３０Ａ間の相異を明確にするために、学習データからランダムサンプリングを行い、各決定木ごとに異なる学習データを用いる。
【００８６】
次に、頻度分布作成部４は、全学習データを用いて、これらを作成した第１の決定木３０Ａに流入させる。特徴ベクトルに付与されているラベルの個数を数えることにより、各葉ノードに対するラベルの度数分布を作成することができる。実際には特定の決定木（例えば特定の１つの決定木）の葉ノードの頻度分布のみを構築する。さらに高頻度の度数であるラベルを頻度分布ベクトルに対するラベルとする。
【００８７】
次に、頻度分布量子化部５は、これらを教師データとして第２の決定木３０Ｂを作成する。作成した第２の決定木３０Ｂの葉ノードに対して順に葉ノードＩＤを与える。これら葉ノードＩＤの総数は第１の決定木で作成した葉ノードの個数よりもずっと少ない。第１の決定木３０Ａの葉ノードに対する頻度分布ベクトルを順に算出し、この第２の決定木３０Ｂに流入させる。たどり着いた葉ノードのＩＤが第１の決定木３０Ａの各葉ノードの葉ノードＩＤである。こうして各第１の決定木３０Ａのすべての葉ノードに対して葉ノードＩＤを与え、葉ノードＩＤに対する代表ベクトルを計算しておく。例えばその葉ノードＩＤを持つ葉ノードに対する頻度分布ベクトルの平均ベクトルがその代表ベクトルである。
【００８８】
以上のようにして図６に示したような、葉ノードＮｏ．、葉ノードＩＤ、代表ベクトルからなる代表ベクトルテーブルが完成する。
【００８９】
次に、識別時にはアノテーションを付与したい画像から学習時と同様な特徴ベクトルを抽出し、第１の決定木に流す。各第１の決定木において最終的にたどり着く葉ノードの代表ベクトルを参照し、それらの平均ベクトルを計算することで、最終的なラベルの頻度分布を獲得する。頻度分布で度数の高いものが識別結果となる。
【００９０】
［他の実施の形態］
なお、本発明は、上記実施の形態に限定されず、本発明の要旨を変更しない範囲で種々に変形が可能である。例えば、学習データ作成部２、決定木作成部３、頻度分布作成部４、頻度分布量子化部５、量子化頻度分布作成部６、識別対象データ作成部７及び識別部８の各機能は、コンピュータ読み取り可能な識別情報付与プログラム１０１に従ってＣＰＵが動作することにより実現してもよい。また、上記実施の形態の学習データ作成部２、決定木作成部３、頻度分布作成部４、頻度分布量子化部５、量子化頻度分布作成部６、識別対象データ作成部７及び識別部８の全て又は一部をＡＳＩＣ等のハードウエアによって実現してもよい。
【００９１】
また、上記実施の形態で用いたプログラムをＣＤ−ＲＯＭ等の記録媒体に記憶して提供することもできる。また、上記実施の形態で説明した上記ステップの入替え、削除、追加等は、本発明の要旨を変更しない範囲内で可能である。
【符号の説明】
【００９２】
１…識別情報付与装置、２…学習データ作成部、３…決定木作成部、４…頻度分布作成部、５…頻度分布量子化部、６…量子化頻度分布作成部、７…識別対象データ作成部、８…識別部、９…識別結果出力部、１０…記憶部、３０…決定木、３０Ａ…第１の決定木、３０Ｂ…第２の決定木、３１…ノード、３２…葉ノード、４０…頻度分布ベクトル、５０…頻度分布ベクトル（正規化）、１０１…識別情報付与プログラム、１０２…学習データ、１０３…決定木データ、１０３ａ…第１の決定木データ、１０３ｂ…第２の決定木データ、１０４、１０４ａ、１０４ｂ、１０４ｃ…葉ノード情報
【図１】
0005754310.tif 000002
【図２】
0005754310.tif 000003
【図３】
0005754310.tif 000004
【図４】
0005754310.tif 000005
【図５】
0005754310.tif 000006
【図６】
0005754310.tif 000007
【図７】
0005754310.tif 000008
【図８】
0005754310.tif 000009
【図９】
0005754310.tif 000010
【図１０】
0005754310.tif 000011
【図１１】
0005754310.tif 000012
【図１２】
0005754310.tif 000013
【図１３】
0005754310.tif 000014
【図１４Ａ】
0005754310.tif 000015
【図１４Ｂ】
0005754310.tif 000016