(57)【特許請求の範囲】
【請求項１】
特徴抽出手段、及び写像計算手段を含むベクトル量子化器生成装置におけるベクトル量子化器生成方法であって、
前記特徴抽出手段が、コンテンツの種別毎に、前記種別のコンテンツの各々について、前記コンテンツから前記種別に応じた高次元数値ベクトルを特徴量として抽出するステップと、
前記写像計算手段が、前記特徴抽出手段によって前記コンテンツの種別毎に抽出された前記コンテンツの各々についての前記高次元数値ベクトルと、種別が異なるコンテンツ間の組み合わせの各々に対して予め付与された関係指示子と基づいて、
前記コンテンツの種別毎に求められる、前記高次元数値ベクトルに対して前記コンテンツの種別に応じた写像を行うことにより得られる低次元数値ベクトルと前記高次元数値ベクトルを量子化することにより得られる低次元バイナリベクトルとの相関を表す第１の相関、及び前記関係指示子が付与された、前記種別が異なるコンテンツ間の組み合わせの各々について求められる、前記高次元数値ベクトルに対して前記コンテンツの種別に応じた写像を行うことにより得られる前記低次元数値ベクトル間の相関を表す第２の相関とに基づいて、前記コンテンツの種別毎に前記写像を計算し、前記コンテンツの種別毎に、前記計算した前記写像を用いた、前記高次元数値ベクトルを、低次元バイナリベクトルに変換するためのベクトル量子化器を生成するステップと、
を含むベクトル量子化器生成方法。
【請求項２】
前記写像計算手段は、前記第１の相関と前記第２の相関との線形結合により求められる値が大きくなるように、前記コンテンツの種別毎に前記写像を計算する
請求項１に記載のベクトル量子化器生成方法。
【請求項３】
特徴抽出手段、及びベクトル量子化手段を含むベクトル量子化装置におけるベクトル量子化方法であって、
前記特徴抽出手段が、コンテンツから前記コンテンツの種別に応じた高次元数値ベクトルを特徴量として抽出するステップと、
前記ベクトル量子化手段が、前記特徴抽出手段によって抽出された前記コンテンツの前記高次元数値ベクトルと、請求項１又は請求項２に記載のベクトル量子化器生成方法によって生成された前記コンテンツの種別に応じた前記ベクトル量子化器とに基づいて、前記コンテンツの前記高次元数値ベクトルを、前記低次元バイナリベクトルに変換するステップと、
を含むベクトル量子化方法。
【請求項４】
コンテンツの種別毎に、前記種別のコンテンツの各々について、前記コンテンツから前記種別に応じた高次元数値ベクトルを特徴量として抽出する特徴抽出手段と、
前記特徴抽出手段によって前記コンテンツの種別毎に抽出された前記コンテンツの各々についての前記高次元数値ベクトルと、種別が異なるコンテンツ間の組み合わせの各々に対して予め付与された関係指示子と基づいて、
前記コンテンツの種別毎に求められる、前記高次元数値ベクトルに対して前記コンテンツの種別に応じた写像を行うことにより得られる低次元数値ベクトルと前記高次元数値ベクトルを量子化することにより得られる低次元バイナリベクトルとの相関を表す第１の相関、及び前記関係指示子が付与された、前記種別が異なるコンテンツ間の組み合わせの各々について求められる、前記高次元数値ベクトルに対して前記コンテンツの種別に応じた写像を行うことにより得られる前記低次元数値ベクトル間の相関を表す第２の相関とに基づいて、前記コンテンツの種別毎に前記写像を計算し、前記コンテンツの種別毎に、前記計算した前記写像を用いた、前記高次元数値ベクトルを、低次元バイナリベクトルに変換するためのベクトル量子化器を生成する写像計算手段と、
を含むベクトル量子化器生成装置。
【請求項５】
コンテンツから前記コンテンツの種別に応じた高次元数値ベクトルを特徴量として抽出する特徴抽出手段と、
前記特徴抽出手段によって抽出された前記コンテンツの前記高次元数値ベクトルと、請求項４に記載のベクトル量子化器生成装置によって生成された前記コンテンツの種別に応じた前記ベクトル量子化器とに基づいて、前記コンテンツの前記高次元数値ベクトルを、前記低次元バイナリベクトルに変換するベクトル量子化手段と、
を含むベクトル量子化装置。
【請求項６】
請求項１又は請求項２に記載のベクトル量子化器生成方法、又は請求項３に記載のベクトル量子化方法の各ステップをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ベクトル量子化器生成方法、ベクトル量子化方法、装置、及びプログラムに係り、特に、高次元数値ベクトルを、低次元バイナリベクトルに変換するベクトル量子化器生成方法、ベクトル量子化方法、装置、及びプログラムに関する。
【背景技術】
【０００２】
通信環境やコンピュータ、分散処理基盤技術の高度・高品質化により、ネットワークに流通するコンテンツ（画像・映像・音声・文書等）の数は膨大なものとなっている。例えば、ある検索エンジンがインデクシングしているウェブページの数は数兆にのぼるといわれている。また、あるサイトでは、日々３．５億の画像がアップロードされていると報告されており、また、あるサイトでは、１分当たり６４時間分の映像が新規に公開されているとの報告もある。
【０００３】
このような膨大な量のコンテンツは、利用者にとっては豊富な情報源となる一方で、閲覧したいコンテンツに素早くアクセスすることがますます困難になっているという課題ももたらしている。このような流れの中、閲覧・視聴したいコンテンツを効率的に探し出すためのメディア解析技術への要望がますます高まってきている。
【０００４】
コンテンツの解析においては、類似したコンテンツの発見が重要な役割を果たす。例えば、コンテンツを分類する場合は、同じようなコンテンツは同じカテゴリに分類する。あるいは検索の場合、あるコンテンツをクエリとして与えたとき、このコンテンツに類似したコンテンツを検索することが基本的な要件となる。そのほか、コンテンツ推薦においても利用者がこれまでに閲覧した／閲覧しているコンテンツと類似したコンテンツを発見してこれを推薦したり、コンテンツ要約の場合においても、類似したコンテンツを提示することは冗長であるため、これを発見して省くような処理が必要となる。
【０００５】
ここで、類似コンテンツを発見する典型的な手続きについて説明する。まず、コンテンツをある特徴量によって表現する。次に、特徴量同士の近さを測ることで類似度を計算し、この類似度に基づいて類似コンテンツを発見する。単純な例を挙げれば、コンテンツが画像や映像であれば、画像（映像フレーム）の色ヒストグラムを特徴量としてその類似度を測ることができる。コンテンツが文書であれば、単語の出現頻度をヒストグラム化したもの（Ｂａｇ−ｏｆ−Ｗｏｒｄｓヒストグラムなどと呼ぶ）を特徴量として類似度を測ることができる。いうまでもなく、仮にコンテンツの数が１０００あれば、１０００のコンテンツそれぞれに対して類似度を計算し、結果類似度の高いコンテンツを類似コンテンツとして拾い上げる必要がある。
【０００６】
しかしながら、前述のように、膨大な量のコンテンツを対象にした場合、下記２つの重要な課題がある。第１の課題は、計算時間とメモリを大量に消費することである。第２の課題は、同一種別の類似コンテンツのみしか対象とできないことである。
【０００７】
通常、コンテンツの特徴量（ベクトル）の次元は高次元になることが多く、その類似度の計算には膨大な時間を要する。一般に、文書のＢａｇ−ｏｆ−Ｗｏｒｄｓヒストグラムの次元は、単語の種類（語彙）と同次元になる。画像の色ヒストグラムのような単純な特徴量であっても、一般に数百〜数千次元の実数値ベクトルとなるし、最近用いられるスパース表現やフィッシャーカーネルに基づく特徴表現では、数十万〜数百万次元のベクトルとなることもあり得る。さらに、全てのコンテンツの組に対してその類似度を計算する必要があるため、どのような類似度計算手段を用いようとも、特徴量の次元がＤ、コンテンツがＮ個あったとするとＯ（ＤＮ）の計算量を要する。また、即時検索を実行するためには、特徴量あるいはその類似度をメモリに蓄積しておくことが好ましいが、これを行うためにはＯ（Ｎ２）のメモリが必要となる。このように、億を超えるオーダのコンテンツを扱う必要がある昨今においては、非現実的な時間とメモリを要するのである。
【０００８】
さらに、昨今のコンテンツは、単一種別のみで流通することは稀である。例えば、通常ウェブページには文書や画像が混在しているし、映像や音声が付加されていることも少なくない。これらのコンテンツは、メディアの種別こそ異なるものの、あるコンテキストに即しながら相互に関連した内容を持つことが多い。然るに、例えば文書に類似した文書だけでなく、関連する画像や映像、音声に至るまで、メディアの隔たり無く類似したコンテンツを発見できることが好ましい。
【０００９】
しかしながら、これは上記通常のやり方では不可能である。コンテンツの類似度を測るためには、コンテンツを表現する特徴量が同一である必要があるが、メディアの種別が異なる以上、同一の特徴量で記述することが不可能であるためである。検索エンジンなどにおいては、キーワード検索によって画像や映像などを検索することができるが、これは「同一ウェブページに共起している単語と画像なら類似している」といったごく単純な仮定に基づくものであって、文書の内容と画像の内容を評価しているわけではない。
【００１０】
このような問題を解決するために、従来からいくつかの発明がなされ、開示されている。
【００１１】
例えば、特許文献１に開示されている技術では、コンテンツの特徴量と、異なる２つのコンテンツを関連付けるべきか否かを示す関連情報（正解データ）に基づいてベクトル量子化器を求め、このベクトル量子化器を基に、特徴量を低ビットなバイナリベクトルに変換する。
【００１２】
また、非特許文献１に開示されている技術では、近接する任意の２つのコンテンツ（特徴量）において、元の特徴量の類似度と衝突確率が等しくなるようなベクトル量子化器を求め、これにより特徴量をバイナリベクトルに変換することで、効率的に類似コンテンツを発見することができる。
【００１３】
また、非特許文献２に開示されている技術は、非特許文献１と同様、特徴量をバイナリベクトルに変換する方法について開示している。非特許文献１とは異なり、非特許文献２の技術では、特徴量の分布を捉え、その分布に対して最適なバイナリベクトルを生成する。具体的には、特徴量空間における多様体構造を捉え、その多様体構造を最適に保存するバイナリ空間への非線形な埋め込みを求めることで、元の高次元な特徴量を、低ビットなバイナリベクトルに変換する。そのバイナリベクトルの類似性を評価することで、高速な類似コンテンツ発見を実現することができる。
【００１４】
また、非特許文献３に開示されている技術は、２つの異なる種類のメディアに対する特徴量（例えば画像と文書）の分布、および、異種メディア間の相関関係が、それぞれ最適に保存されるようなバイナリベクトルを生成する。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開２０１３−６８８８４号公報
【非特許文献】
【００１６】
【非特許文献１】M. Datar, N. Immorlica, P. Indyk, V.S. Mirrokni，“Locality-Sensitive Hashing Scheme based on p-Stable Distributions”，In Proceedings of the Twentieth Annual Symposium on Computational Geometry，2004，p.253-262.
【非特許文献２】入江  豪、Ｚｈｅｎｇｕｏ  Ｌｉ、Ｓｈｉｈ−Ｆｕ  Ｃｈａｎｇ、「構造を保存するハッシング」、画像の認識・理解シンポジウム、２０１３．
【非特許文献３】入江  豪、新井  啓之、谷口  行信、「幾何構造を保存するクロスモーダルハッシング」、画像の認識・理解シンポジウム、２０１４．
【発明の概要】
【発明が解決しようとする課題】
【００１７】
特許文献１及び非特許文献１、２に開示されている技術では、元のコンテンツをコンパクトなバイナリベクトルに変換することで、非常に高精度かつ高速な類似コンテンツの発見を可能にしていた。しかしながら、いずれの技術も異なるメディアの類似コンテンツを相互に発見することのできるものではない。
【００１８】
また、非特許文献３に開示されている技術では、異種コンテンツ間の特徴量の相関を最適に保存するようなバイナリベクトルへと変換することで、例えば画像と類似する文書を探すことを実現している。しかしながら、バイナリベクトルで類似コンテンツを発見する際には、元の特徴量同時の相関を保存するのみでは不十分である。なぜならば、バイナリベクトルは元の特徴量よりも遥かに情報量が小さく、結果として元の特徴量をバイナリベクトルに変換することにより大きな情報損失が生じるが、この技術はその損失に対しては何ら補償するものではなく、結果として十分な精度を得ることができなかった。
【００１９】
然るに、現在に至るまで、いずれの技術によっても、高精度でありながら、高速かつ省メモリであり、かつ異なるメディアの類似コンテンツデータを相互に発見することはできないという問題がある。
【００２０】
本発明は、上記の事情を鑑みてなされたもので、写像及び量子化による情報の損失と異なる種別のコンテンツ間の関係とを考慮して、ベクトル量子化を行うことができるベクトル量子化器生成方法、ベクトル量子化方法、装置、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００２１】
上記の目的を達成するために本発明に係るベクトル量子化器生成方法は、特徴抽出手段、及び写像計算手段を含むベクトル量子化器生成装置におけるベクトル量子化器生成方法であって、前記特徴抽出手段が、コンテンツの種別毎に、前記種別のコンテンツの各々について、前記コンテンツから前記種別に応じた高次元数値ベクトルを特徴量として抽出するステップと、前記写像計算手段が、前記特徴抽出手段によって前記コンテンツの種別毎に抽出された前記コンテンツの各々についての前記高次元数値ベクトルと、種別が異なるコンテンツ間の組み合わせの各々に対して予め付与された関係指示子と基づいて、前記コンテンツの種別毎に求められる、前記高次元数値ベクトルに対して前記コンテンツの種別に応じた写像を行うことにより得られる低次元数値ベクトルと前記高次元数値ベクトルを量子化することにより得られる低次元バイナリベクトルとの相関を表す第１の相関、及び前記関係指示子が付与された、前記種別が異なるコンテンツ間の組み合わせの各々について求められる、前記高次元数値ベクトルに対して前記コンテンツの種別に応じた写像を行うことにより得られる前記低次元数値ベクトル間の相関を表す第２の相関とに基づいて、前記コンテンツの種別毎に前記写像を計算し、前記コンテンツの種別毎に、前記計算した前記写像を用いた、前記高次元数値ベクトルを、低次元バイナリベクトルに変換するためのベクトル量子化器を生成するステップと、を含んで構成されている。
【００２２】
本発明に係るベクトル量子化器生成装置は、コンテンツの種別毎に、前記種別のコンテンツの各々について、前記コンテンツから前記種別に応じた高次元数値ベクトルを特徴量として抽出する特徴抽出手段と、前記特徴抽出手段によって前記コンテンツの種別毎に抽出された前記コンテンツの各々についての前記高次元数値ベクトルと、種別が異なるコンテンツ間の組み合わせの各々に対して予め付与された関係指示子と基づいて、前記コンテンツの種別毎に求められる、前記高次元数値ベクトルに対して前記コンテンツの種別に応じた写像を行うことにより得られる低次元数値ベクトルと前記高次元数値ベクトルを量子化することにより得られる低次元バイナリベクトルとの相関を表す第１の相関、及び前記関係指示子が付与された、前記種別が異なるコンテンツ間の組み合わせの各々について求められる、前記高次元数値ベクトルに対して前記コンテンツの種別に応じた写像を行うことにより得られる前記低次元数値ベクトル間の相関を表す第２の相関とに基づいて、前記コンテンツの種別毎に前記写像を計算し、前記コンテンツの種別毎に、前記計算した前記写像を用いた、前記高次元数値ベクトルを、低次元バイナリベクトルに変換するためのベクトル量子化器を生成する写像計算手段と、を含んで構成されている。
【００２３】
上記ベクトル量子化器生成方法及び上記ベクトル量子化器生成装置における、前記写像計算手段は、前記第１の相関と前記第２の相関との線形結合により求められる値が大きくなるように、前記コンテンツの種別毎に前記写像を計算するようにすることができる。
【００２４】
本発明に係るベクトル量子化方法は、特徴抽出手段、及びベクトル量子化手段を含むベクトル量子化装置におけるベクトル量子化方法であって、前記特徴抽出手段が、コンテンツから前記コンテンツの種別に応じた高次元数値ベクトルを特徴量として抽出するステップと、前記ベクトル量子化手段が、前記特徴抽出手段によって抽出された前記コンテンツの前記高次元数値ベクトルと、上記のベクトル量子化器生成方法によって生成された前記コンテンツの種別に応じた前記ベクトル量子化器とに基づいて、前記コンテンツの前記高次元数値ベクトルを、前記低次元バイナリベクトルに変換するステップと、を含んで構成されている。
【００２５】
本発明に係るベクトル量子化装置は、コンテンツから前記コンテンツの種別に応じた高次元数値ベクトルを特徴量として抽出する特徴抽出手段と、前記特徴抽出手段によって抽出された前記コンテンツの前記高次元数値ベクトルと、上記のベクトル量子化器生成方法によって生成された前記コンテンツの種別に応じた前記ベクトル量子化器とに基づいて、前記コンテンツの前記高次元数値ベクトルを、前記低次元バイナリベクトルに変換するベクトル量子化手段と、を含んで構成されている。
【００２６】
本発明のプログラムは、本発明のベクトル量子化器生成方法、又は本発明のベクトル量子化方法の各ステップをコンピュータに実行させるためのプログラムである。
【発明の効果】
【００２７】
以上説明したように、本発明のベクトル量子化器生成方法、装置、及びプログラムによれば、高次元数値ベクトルに対して写像を行うことにより得られる低次元数値ベクトルと高次元数値ベクトルを量子化することにより得られる低次元バイナリベクトルとの相関を表す第１の相関、及び関係指示子が付与された、種別が異なるコンテンツ間の組み合わせの各々について求められる、高次元数値ベクトルに対して写像を行うことにより得られる低次元数値ベクトル間の相関を表す第２の相関とに基づいて、コンテンツの種別毎に写像を計算し、計算した写像を用いた、高次元数値ベクトルを低次元バイナリベクトルに変換するためのベクトル量子化器を生成することにより、写像及び量子化による情報の損失と異なる種別のコンテンツ間の関係とを考慮して、ベクトル量子化を行うことができるベクトル量子化器を生成することができる、という効果が得られる。
【００２８】
また、本発明のベクトル量子化方法、装置、及びプログラムによれば、コンテンツの高次元数値ベクトルと、生成されたコンテンツの種別に応じたベクトル量子化器とに基づいて、コンテンツの高次元数値ベクトルを、低次元バイナリベクトルに変換することにより、写像及び量子化による情報の損失と異なる種別のコンテンツ間の関係とを考慮して、ベクトル量子化を行うことができる、という効果が得られる。
【図面の簡単な説明】
【００２９】
【図１】本発明の第１の実施の形態に係る情報処理装置の構成を示す概略図である。
【図２】特徴空間におけるベクトル量子化を説明するための説明図である。
【図３】画像特徴量空間における特徴量と文書特徴量空間における特徴量との関係指示子を説明するための説明図である。
【図４】本発明の第１の実施の形態に係る情報処理装置における写像計算処理ルーチンの内容を示すフローチャートである。
【図５】本発明の第１の実施の形態に係る情報処理装置におけるベクトル量子化処理ルーチンの内容を示すフローチャートである。
【図６】本発明の第２の実施の形態に係る情報処理システムの構成を示す概略図である。
【図７】低次元バイナリベクトルによって対応付けられたコンテンツの一例を示す図である。
【発明を実施するための形態】
【００３０】
＜概要＞
本発明の実施の形態は、大量のコンテンツデータの中から、類似コンテンツデータを発見するためのものである。
【００３１】
具体的には、本発明の実施の形態では、画像同士、文書同士などといった、同一の種別（以下、単に種別と称する。）のコンテンツのみならず、画像から文書、画像から音声などのように、関連する異なる種別のコンテンツ同士を、高速かつ省メモリでありながらも高精度に発見することができるよう、情報損失を最小限に抑えるように、コンテンツの特徴量をバイナリベクトルへとベクトル量子化する。また、本発明の実施の形態では、コンテンツの特徴量をバイナリベクトルへとベクトル量子化するためのベクトル量子化器の生成及びベクトル量子化を行う情報処理装置に、本発明を適用した場合を例に説明する。
【００３２】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００３３】
＜第１の実施の形態＞
＜システム構成＞
本発明の第１の実施の形態に係る情報処理装置１は、ベクトル量子化器を生成し、生成されたベクトル量子化器を用いてベクトル量子化を行う。この情報処理装置１は、ＣＰＵと、ＲＡＭと、後述する写像計算処理ルーチン及びベクトル量子化処理ルーチンを実行するためのプログラムを記憶したＲＯＭとを備えたコンピュータで構成され、機能的には次に示すように構成されている。図１に示すように、情報処理装置１は、入力部２と、演算部３と、出力部４とを備えている。
【００３４】
また、図１に示すコンテンツデータベース５には、複数のコンテンツが格納されている。コンテンツデータベース５には、少なくともコンテンツ自体、あるいは、当該コンテンツの所在を一意に示すアドレスが格納されている。コンテンツは、例えば、文書であれば文書ファイル、画像であれば画像ファイル、音であれば音ファイル、映像であれば映像ファイルなどであり、好ましくは、コンテンツデータベース５には、更に、各コンテンツのメディアの種別とそれ自体を一意に識別可能な識別子が格納されているものとする。
【００３５】
さらに、コンテンツデータベース５には、複数種別のメディアが含まれているものとし（例えば、画像と文書等）、種別が異なるコンテンツ間の組み合わせの各々に対して、相互の関係を示す関係指示子が予め付与されている。関係指示子は、異なる種別のコンテンツ間の内容の関係性を表すものであり、最も単純には関係がある２つのコンテンツの識別子を記述したものでよい。内容の関連性を決定する手段は問わず、人手によって与えるもの、機械的に与えられるもの、あるいはその双方によるもの、いずれでもよい。
【００３６】
例えば、関係指示子を人手により与える場合には、例えば、“画像３”の識別子を持つ３番目の画像と、“文書８”の識別子を持つ８番目の文書の内容が、人手で見て相互に関連している場合には、関係指示子として｛“画像３”、“文書８”｝のペアを指し示す情報をコンテンツデータベース５に格納しておけばよい。
【００３７】
また、関係指示子が機械的に与えられる場合の例としては、空間的、あるいは、時刻的な共起を使う方法がある。例えば、空間的な共起としてはＷｅｂページから画像を収集するような場合があげられる。最も単純には、同一Ｗｅｂページ内に存在する画像と文書は関連していると見做し、人手の場合と同様に関係指示子を与えてもよい。あるいは、Ｗｅｂページ上の周辺にある画像と文書同士は関連していると見做し、関係指示子を与えてもよい。
【００３８】
あるいは、同一の場所に存在するコンテンツは関連していると見做してもよい。例えば、博物館における展示物とその解説パネルなどがそれにあたる。あるいは、画像に写りこんでいる文字を認識し、この文字と画像が関連していると見做してもよい。
【００３９】
また、例えば映像中、時刻的に近接する画像フレームと音声は時刻的に共起していると見做して関連しているとしてもよい。このように、関係指示子が機械的に与えられる場合、人手をかけることなく関係指示子が得られるというメリットがある。
【００４０】
ここで、関係指示子は、必ずしもコンテンツデータベース５に格納されている全てのコンテンツに対して与えられている必要はなく、コンテンツデータベース５に格納されている一部のコンテンツに対して与えられていてもよい。
【００４１】
コンテンツデータベース５には、その他、メタデータとして、例えばコンテンツの内容を表現するもの（コンテンツのタイトル、概要文、キーワード）、コンテンツのフォーマットに関するもの（コンテンツのデータ量、サムネイル等のサイズ）などを含んでいてもよい。
【００４２】
また、コンテンツデータベース５は、情報処理装置１の内部にあっても外部にあっても構わず、通信手段は任意の公知のものを用いることができるが、本実施の形態においては、外部にあるものとして、通信手段は、インターネット、ＴＣＰ／ＩＰにより通信するよう接続されているものとする。コンテンツデータベース５は、いわゆるＲＤＢＭＳ（Relational Database Management System）などで構成されているものとしてもよい。
【００４３】
情報処理装置１は、外部と通信手段を介して接続され、入力部２、出力部４を介して相互に情報通信する。例えば、コンテンツデータベース５と接続され、これに登録されたコンテンツに基づいてベクトル量子化器を生成する写像計算処理を実行する。また、外部から入力されたコンテンツを入力し、生成したベクトル量子化器を用いてコンテンツを低次元バイナリベクトルに変換するベクトル量子化処理を行う。
【００４４】
情報処理装置１の各部、及びコンテンツデータベース５は、演算処理装置、記憶装置等を備えたコンピュータやサーバ等により構成して、各部の処理がプログラムによって実行されるものとしてもよい。このプログラムは情報処理装置１が備える記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。もちろん、その他いかなる構成要素についても、単一のコンピュータやサーバによって実現しなければならないものではなく、ネットワークによって接続された複数のコンピュータに分散して実現してもよい。
【００４５】
次に、図１に示す情報処理装置１の各部について説明する。
【００４６】
入力部２は、コンテンツデータベース５から、複数のコンテンツと、複数のコンテンツ各々についての種別と、種別が異なるコンテンツ間の組み合わせの各々に対して予め付与された関係指示子とを取得する。また、入力部２は、ベクトル量子化対象のコンテンツと、当該コンテンツの種別との入力を受け付ける。
【００４７】
演算部３は、特徴抽出部３０と、写像計算部３２と、ベクトル量子化器記憶部３４と、ベクトル量子化部３６とを備えている。
【００４８】
特徴抽出部３０は、入力部２によって取得したコンテンツの種別毎に、当該種別の複数のコンテンツの各々について、コンテンツから種別に応じた高次元数値ベクトルを特徴量として抽出する。
また、特徴抽出部３０は、入力部２によって受け付けたベクトル量子化対象としてのコンテンツから種別に応じた高次元数値ベクトルを特徴量として抽出する。
【００４９】
特徴抽出部３０における特徴量を抽出する処理は、コンテンツの種別に依存する。例えば、コンテンツが文書であるか、画像であるか、音であるか、映像であるかによって、抽出するまたは抽出できる特徴量は変化する。ここで、各種別に対してどのような特徴量を抽出するかは、本実施の形態の要件として重要ではなく、一般に知られた公知の特徴抽出処理を用いてよい。具体的には、あるコンテンツから抽出された次元を持つ数値ベクトルであれば、あらゆる特徴量に対して有効である。したがって、ここでは、本実施形態に適する、各種コンテンツに対する特徴抽出処理の一例を説明する。
【００５０】
コンテンツが文書である場合には、文書中に出現する単語の出現頻度を用いることができる。例えば、公知の形態素解析を用いて、名詞、形容詞等に相当する単語ごとに、その出現頻度を計数すればよい。この場合、各文書の特徴量は、単語種別と同じだけの次元を持つ高次元数値ベクトルとして表現される。
【００５１】
あるいは、下記の参考文献１や参考文献２に記載の単語ベクトルを用いてもよい。
【００５２】
［参考文献１］T. Mikolov, I. Sutskever, K. Chen, G. Corrado, J. Dean, “Distributed Representations of Words and Phrases and their Compositionality ", Proceedings of Advances in Neural Information Processing Systems, 2014.
［参考文献２］J. Pennington, R. Socher, C. D. Manning, “Glove: Global Vectors for Word Representation ", Proceedings of Conference on Empirical Methods in Natural Language Processing, 2014.
【００５３】
コンテンツが画像である場合には、例えば、明るさ特徴、色特徴、テクスチャ特徴、コンセプト特徴、景観特徴などを抽出する。明るさ特徴は、ＨＳＶ色空間におけるＶ値を数え上げることで、ヒストグラムとして抽出することができる。この場合、各画像の特徴量は、Ｖ値の量子化数（例えば、１６ビット量子化であれば２５６諧調）と同数の次元を持つ高次元数値ベクトルとして表現される。
【００５４】
色特徴は、Ｌ＊ａ＊ｂ＊色空間における各軸（Ｌ＊、ａ＊、ｂ＊）の値を数え上げることで、ヒストグラムとして抽出することができる。各軸のヒストグラムのビンの数は、例えば、Ｌ＊に対して４、ａ＊に対して１４、ｂ＊に対して１４などとすればよく、この場合、３軸の合計ビン数は、４×１４×１４＝７８４、すなわち７８４次元のベクトルとなる。
【００５５】
テクスチャ特徴としては、濃淡ヒストグラムの統計量（コントラスト）やパワースペクトルなどを求めればよい。あるいは、局所特徴量を用いると、色や動きなどと同様、ヒストグラムの形式で抽出することができるようになるため好適である。局所特徴としては、例えば下記の参考文献３に記載されるＳＩＦＴ（Scale Invariant Feature Transform）や、下記の参考文献４に記載されるＳＵＲＦ（Speeded Up Robust Features）などを用いることができる。
【００５６】
［参考文献３］D.G. Lowe, “Distinctive Image Features from Scale-Invariant Keypoints ", International Journal of Computer Vision, pp.91-110, 2004
［参考文献４］H. Bay, T. Tuytelaars, and L.V. Gool, “SURF: Speeded Up Robust Features", Lecture Notes in Computer Science, vol. 3951, pp.404-417, 2006
【００５７】
これらによって抽出される局所特徴は、例えば１２８次元の実数値ベクトルとなる。このベクトルを、予め学習して生成しておいた符号長を参照して、符号に変換し、その符号の数を数え上げることでヒストグラムを生成することができる。この場合、ヒストグラムのビンの数は、符号長の符号数と一致する。又は、参考文献５に記載のスパース表現や、参考文献６に記載のフィッシャーカーネルに基づく特徴表現などを利用してもよい。
【００５８】
［参考文献５］Jinjun Wang, Jianchao Yang, Kai Yu, Fengjun Lv, Thomas Huang, and Yihong Gong, “Locality-constrained Linear Coding for Image Classification”, IEEE Conference on Computer Vision and Pattern Recognition, pp. 3360-3367, 2010.
［参考文献６］Herve Jegou, Florent Perronnin, Matthijs Douze, Jorge Sanchez, Patrick Perez, Cordelia Schmid, “Aggregating Local Image Descriptors into Compact Codes”, IEEE Trans. Pattern Recognition and Machine Intelligence, Vol. 34, No. 9, pp. 1704-1716, 2012.
【００５９】
なお、結果として生成される特徴量は、いずれの場合にも、符号長の符号数に依存した長さを持つ実数値ベクトルになる。
【００６０】
コンセプト特徴とは、画像中に含まれる物体や、画像が捉えているイベントのことである。任意のものを用いてよいが、例を挙げれば、「海」、「山」、「ボール」などのようなものである。もし、ある画像に「海」が映っていた場合、その画像は「海」コンセプトに帰属する画像であるという。その画像が、各コンセプトに帰属するか否かは、コンセプト識別器を用いて判断することができる。通常、コンセプト識別器はコンセプト毎に一つ用意され、画像の特徴量を入力として、その画像があるコンセプトに帰属しているか否かを帰属レベルとして出力する。コンセプト識別器は、予め学習して獲得しておくものであり、決められた画像特徴、例えば先に述べた局所特徴と、予め人手によって、その画像がどのコンセプトに帰属しているかを表した正解ラベルとの関係を学習することによって獲得する。学習器としては、例えばサポートベクターマシンなどを用いればよい。コンセプト特徴は、各コンセプトへの帰属レベルをまとめてベクトルとして表現することで得ることができる。また、畳み込みニューラルネットワーク（Convolutional Neural Network）を用いても構わない。この場合、生成される特徴量はコンセプトの数と同数の次元を持つベクトルとなる。
【００６１】
景観特徴は、画像の風景や場面を表現した特徴量である。例えば参考文献７に記載のＧＩＳＴ記述子を用いることができる。ＧＩＳＴ記述子は画像を領域分割し、各領域に対して一定のオリエンテーションを持つフィルタを掛けたときの係数によって表現されるが、この場合、生成される特徴量は、フィルタの種類（分割する領域の数とオリエンテーションの数）に依存した長さのベクトルとなる。
【００６２】
［参考文献７］A. Oliva and A. Torralba, “Building the gist of a scene: the role of global image features in recognition”, Progress in Brain Research, 155, pp.23-36, 2006
【００６３】
コンテンツが音である場合には、音高特徴、音圧特徴、スペクトル特徴、リズム特徴、発話特徴、音楽特徴、音イベント特徴などを抽出する。音高特徴は、例えばピッチを取るものとすればよい。
【００６４】
音圧特徴としては、音声波形データの振幅値を用いるものとしてもよいし、短時間パワースペクトルを求め、任意の帯域の平均パワーを計算して用いるものとしてもよい。いずれにしても、音圧を計算するバンドの数に依存した長さのベクトルとなる。
【００６５】
スペクトル特徴としては、例えばメル尺度ケプストラム係数（ＭＦＣＣ：Mel-Frequency Cepstral Coefficients）を用いることができる。
【００６６】
リズム特徴としては、例えばテンポを抽出すればよい。テンポを抽出するには、例えば下記の参考文献８に記載される方法などを用いることができる。
【００６７】
［参考文献８］E.D. Scheirer, “Tempo and Beat Analysis of Acoustic Musical Signals ”, Journal of Acoustic Society America, Vol. 103, Issue 1, pp.588-601, 1998
【００６８】
発話特徴、音楽特徴は、それぞれ、発話の有無、音楽の有無を表す。発話・音楽の存在する区間を発見するには、例えば下記の参考文献９に記載される方法などを用いればよい。
【００６９】
［参考文献９］K. Minami, A. Akutsu, H. Hamada, and Y. Tonomura, “Video Handling with Music and Speech Detection”, IEEE Multimedia, vol. 5, no. 3, pp.17-25, 1998
【００７０】
音イベント特徴としては、例えば、笑い声や大声などの感情的な音声、あるいは、銃声や爆発音などの環境音の生起などを用いるものとすればよい。このような音イベントを検出するには、例えば下記の参考文献１０に記載される方法などを用いればよい。
【００７１】
［参考文献１０］国際公開第２００８／０３２７８７号
【００７２】
コンテンツが映像である場合、映像は、一般に画像と音のストリームであるから、上記説明した画像特徴と音特徴を用いることができる。映像中のどの画像、音情報を分析するかについては、例えば、予め映像をいくつかの区間に分割し、その区間ごとに１つの画像、音から特徴抽出を実施する。
【００７３】
映像を区間に分割するには、予め決定しておいた一定の間隔で分割するものとしてもよいし、例えば下記の参考文献１１に記載される方法などを用いて、映像が不連続に切れる点であるカット点によって分割するものとしてもよい。
【００７４】
［参考文献１１］Y. Tonomura, A. Akutsu, Y. Taniguchi, and G. Suzuki, “Structured Video Computing”, IEEE Multimedia, pp.34-43, 1994
【００７５】
映像を区間に分割する場合には、望ましくは、上記の後者の方法を採用する。映像区間分割処理の結果として、区間の開始点（開始時刻）と終了点（終了時刻）が得られるが、この時刻毎に別々の特徴量として扱えばよい。
【００７６】
上記説明した特徴量の中から、一つあるいは複数を利用してもよいし、その他の公知の特徴量を用いるものとしてもよい。上記のいずれの方法によっても、次元を持つ高次元数値ベクトルを得ることができる。
【００７７】
写像計算部３２は、特徴抽出部３０によってコンテンツの種別毎に抽出された、コンテンツの各々についての高次元数値ベクトルと、入力部２により取得された関係指示子と基づいて、高次元数値ベクトルを低次元バイナリベクトルに変換するためのベクトル量子化器を生成する。なお、低次元バイナリベクトルの次元数は、高次元数値ベクトルの次元数よりも小さい。
【００７８】
具体的には、写像計算部３２は、コンテンツの種別毎に求められる、高次元数値ベクトルに対してコンテンツの種別に応じた写像を行うことにより得られる低次元数値ベクトルと高次元数値ベクトルを量子化することにより得られる低次元バイナリベクトルとの相関を表す第１の相関、及び関係指示子が付与された、種別が異なるコンテンツ間の組み合わせの各々について求められる、高次元数値ベクトルに対してコンテンツの種別に応じた写像を行うことにより得られる低次元数値ベクトル間の相関を表す第２の相関とに基づいて、コンテンツの種別毎に写像を計算し、コンテンツの種別毎に、計算した当該写像を用いたベクトル量子化器を生成する。
【００７９】
写像計算について、以下、詳細に説明する。特徴抽出部３０によって得られた特徴量は高次元数値ベクトルである。種別ｍのコンテンツｉから抽出された高次元数値ベクトルをｘｍ，ｉ∈ＲＤｍと表す。種別ｍのコンテンツの高次元数値ベクトル次元はＤｍである。
【００８０】
このとき、写像計算部３２は、種別ｍに対して、ｈｍ，ｋ：ＲＤｍ→｛−１，１｝（ｋ＝１，２，…，Ｂ）となるベクトル量子化器の集合を求める。｛−１，１｝と｛０，１｝は情報量という観点で本質的に差異がないことに注意すれば、各ベクトル量子化器ｈによって、高次元数値ベクトルｘｍ，ｉ∈ＲＤｍは０または１を取るバイナリ値に量子化されるから、種別ｍの高次元数値ベクトルｘｍ，ｉは、Ｂ個のベクトル量子化器集合Ｈｍ＝｛ｈｍ，１，ｈｍ，２，・・・，ｈｍ，Ｂ｝によってＢ個のバイナリ値、すなわち、Ｂビットの低次元バイナリベクトルに変換されることになる。以降、誤解のない場合、ベクトル量子化器集合も単にベクトル量子化器と呼称する。
【００８１】
本発明の実施の形態の目的は、ベクトル量子化器により得られる低次元バイナリベクトルによって、異なる種別のコンテンツ同士であっても類似度の計測を可能にしたうえ、さらに時間のかかる類似度計算を省略することである。したがって、ここで生成するベクトル量子化器と、それにより生成される低次元バイナリベクトルは、次の２つの性質（Ａ）（Ｂ）を持つ。
【００８２】
（Ａ）ベクトル量子化した後の低次元バイナリベクトルが、元の特徴量（高次元数値ベクトル）に対して情報損失が小さいこと。
【００８３】
（Ｂ）異なる種別の特徴量（高次元数値ベクトル）のうち、関係指示子が関連性を示すペアについては、低次元バイナリベクトルの距離が近くなること。
【００８４】
ベクトル量子化器は実質的に関数の形態をとる。この関数の形態は任意のものを取って構わないが、本実施の形態の一例では、以下の（１）式で示す線形写像に基づくベクトル量子化器を適用する。
【００８５】
【数１】
0006461773.tif 000002
【００８６】
ここで、ｓｉｇｎ（ｘ）は符号関数であり、ｘ≧０のとき１、ｘ＜０のとき−１をとる関数である。また、ｗｍ，ｋ∈ＲＤｋ、ｂｍ，ｋ∈Ｒのパラメータである。このベクトル量子化器において、未知のパラメータはｗｍ，ｋとｂｍ，ｋとの二つだけである。
【００８７】
ここで、仮にｘｍ，ｉ（ｉ＝１，２，・・・，Ｎｍ）が平均０に正規化されているとき、ｂｍ，ｋ＝０としても一般性を失わない。ｘｍ，ｉを０に正規化するには、ｘｍ，ｉの平均を、各ｘｍ，ｉから減算すればよいのであり、これはｘｍ，ｉ∈ＲＤｋにおいて常に可能であることから、ｂｍ，ｋ＝０と決定できる。したがって、以降、ｘｍ，ｉの平均は０に正規化されているとし、上記（１）式を以下の（２）式のように定義しなおして説明する。
【００８８】
【数２】
0006461773.tif 000003
【００８９】
このベクトル量子化器の定義によれば、関数φｍ，ｋ内にあるパラメータｗｍ，ｋを定めることで、ベクトル量子化器を一意に定めることができる。したがって、写像計算部３２による処理の目的は、この写像ｗｍ，ｋ（ｋ＝１，２，…，Ｂ）を求めることである。
【００９０】
ここで、上記（２）式のように規定されるベクトル量子化器の意味は、幾何的には図２を用いて説明できる。図２には、特徴量空間ＲＤｍ上に、種別ｍの各コンテンツ（ｉ＝１，２，・・・，Ｎｍ）から抽出された高次元数値ベクトルｘｍ，ｉ（ｉ＝１，２，・・・，Ｎｍ）が分布している。上記図２では、便宜上２次元のように図示しているが、実際にはＤｍ次元の空間である。ここでベクトル量子化器を構成するφｍ，ｋ（ｘ）は、この特徴量空間上の原点を通る直線（実際はＤｍ−１次元の超平面）を表す。ｈｍ，ｋ（ｘ）は、本質的には符号関数であるから、その値は、高次元数値ベクトルの点がこの直線φｍ，ｋ（ｘ）のどちら側にあるかによって、１または０をとる。すなわち、上記（２）式によって定義されるベクトル量子化器４１は、特徴量空間を直線によって１と０の２つの領域に分割する関数である。ここで、ｗｍ，ｋはこの直線の傾きに対応し、ｗｍ，ｋが変化すれば、分割する角度が変化することになる。前述した２つの性質、すなわち、
【００９１】
（Ａ）ベクトル量子化した後の低次元バイナリベクトルが、元の特徴量（高次元数値ベクトル）に対して情報損失が小さいこと。
【００９２】
（Ｂ）異なる種別の特徴量（高次元数値ベクトル）のうち、関係指示子が関連性を示すペアについては、低次元バイナリベクトルの距離が近くなること。
【００９３】
に合うベクトル量子化器となるように、ｗｍ，ｋを求めるには、以下の（Ａ’）及び（Ｂ’）の性質を満たすようにすればよい。
【００９４】
（Ａ’）各種別において、ｈｍ，ｋ（ｘ）＝１（またはｈｍ，ｋ（ｘ）＝０）にベクトル量子化されたコンテンツ（高次元数値ベクトル）群については、φｍ，ｋ（ｘ）＝１（またはφｍ，ｋ（ｘ）＝−１）に近くなるように直線を決定する（すなわち、ｗｍ，ｋを決める）。
【００９５】
（Ｂ’）なおかつ、異なる種別において、関係指示子が示す関連するコンテンツ同士が、低次元バイナリベクトルの空間において近い値を持つようにする。
【００９６】
まず、上記（Ａ’）の性質を満たすためには、ｈｍ，ｋ（ｘ）＝１であればφｍ，ｋ（ｘ）＝１に近く、またｈｍ，ｋ（ｘ）＝０であればφｍ，ｋ（ｘ）＝−１に近くなればよい。これは言いかえれば、ｈｍ，ｋ（ｘ）の値とφｍ，ｋ（ｘ）の値が近くなるようにｗｍ，ｋを求めればよいことになる。
【００９７】
続いて、上記（Ｂ’）の性質を満たすための方法を説明する。例えば、コンテンツの種別が画像と文書である場合について、図３を用いて説明する。図３の例では、画像特徴量を丸、文書特徴量を三角で表している。仮に、それぞれの画像と文書の特徴量空間において、上記（Ａ’）の性質を満たすような直線５１、５２がそれぞれ得られているとし、さらに、関係指示子によって破線５３〜５６で示す関係が得られているとする。このとき、直線５１、５２によって分離されている画像および文書特徴量のうち、関係指示子によって示される関係のある画像／文書特徴量同士が、互いに同じ低次元バイナリベクトルを持つようにベクトル量子化器のパラメータｗｍ，ｋを求めればよいことになる。例えば、図３の例では白丸と白三角（△）、黒丸と黒三角（▲）がそれぞれ同じ低次元バイナリベクトルを持てばよい。
【００９８】
以上示した２つの考えに基づき、本実施形態の一例では、前述の（Ａ’）と（Ｂ’）の２つの性質を満たすパラメータｗｍ，ｋを求める。
【００９９】
説明の簡単のため、コンテンツの種別は２つ、例えば画像と文書とし、ｍ＝１のとき画像、ｍ＝２のとき文書を表すものとする。もちろん、いかに説明する実施形態の一例は、その他の種別、あるいは、種別が３以上の場合に対しても同様に適用できるものである。
【０１００】
以下では、便宜上、画像特徴量ｘ１，ｉ（ｉ＝１，２，・・・，Ｎ１）および文書特徴量ｘ２，ｉ（ｉ＝１，２，・・・，Ｎ２）を並べた行列Ｘ１＝｛ｘ１，１，・・・，ｘ１，Ｎ１｝、Ｘ２＝｛ｘ２，１，・・・，ｘ２，Ｎ２｝を定義する。さらに、画像特徴量のためのベクトル量子化器のパラメータｗ１，ｋ（ｋ＝  １，２，…，Ｂ）および文書特徴量のためのベクトル量子化器のパラメータｗ２，ｋ（ｋ＝  １，２，…，Ｂ）を並べた行列Ｗ１＝｛ｗ１，１，・・・，ｗ１，Ｂ｝、Ｗ２＝｛ｗ２，１，・・・，ｗ２，Ｂ｝を定義する。
【０１０１】
まず上記（Ａ’）の性質を満たすようにするには、以下の（３）式が小さくなるようにをＷｍ求めればよい。
【０１０２】
【数３】
0006461773.tif 000004
【０１０３】
ここで、ｑｍ，ｉは、ｘｍ，ｉをベクトル量子化した際の低次元バイナリベクトルである。この式の意味は、符号関数を取ってベクトル量子化する前の低次元数値ベクトル（φｍ，ｋ（ｘ）に相当）と、符号関数を取ってベクトル量子化された後の低次元バイナリベクトル（ｈｍ，ｋ（ｘ））との距離を表している。従って、これを小さくすることで、先に述べた（Ａ’）の性質を満たすようなベクトル量子化器を得ることができる。上記（３）式は、
【０１０４】
【数４】
0006461773.tif 000005
【０１０５】
という条件の下、以下の（５）式のように展開できる。
【０１０６】
【数５】
0006461773.tif 000006
【０１０７】
ここで、Ｑｍは低次元バイナリベクトルｑｍ，ｉ（ｉ＝１，２，・・・，Ｎｍ）を並べた行列Ｘである。従って、上記（３）式を小さくすることは、以下の（６）式を大きくすることに他ならない。
【０１０８】
【数６】
0006461773.tif 000007
【０１０９】
上記（６）式は、高次元数値ベクトルに対してコンテンツの種別に応じた写像を行うことにより得られ、かつ符号関数によりベクトル量子化される前の低次元数値ベクトル（φｍ，ｋ（ｘ）に相当）と、高次元数値ベクトルが符号関数によりベクトル量子化された後の低次元バイナリベクトル（ｈｍ，ｋ（ｘ））との第１の相関を表している。上記第１の相関は、コンテンツの種別毎に求められる。
【０１１０】
続いて、上記（Ｂ’）の性質を満たすようにするには、以下の（７）式が小さくなるようにＷｍおよびＷｌを求めればよい。
【０１１１】
【数７】
0006461773.tif 000008
【０１１２】
ここで、Ｒｍｌは種別ｍと種別ｌとの関係指示子により指示される関係を示す行列である。例えば、ＲｍｌをＮｍ×Ｎｌの行列とし、関係指示子により関係があるとされている要素のみ１、それ以外の要素を０とすればよい。
【０１１３】
上記（７）式では、関係指示子によって関係があるとされた高次元数値ベクトルのペアを、変換先で同一の値にするよう要請するものである。上記式は、Ｒｍｌのｉｊ要素が１であった場合、種別ｍのｉ番目の高次元数値ベクトルｘｍ，ｉと種別ｌのｊ番目の高次元数値ベクトルｘｌ，ｊのペアについて、それぞれ上記（２）式によって与えられるベクトル量子化器により低次元に写像された値の距離を表している。したがって、これを小さくするようにＷｍおよびＷｌを求めることで、異なる種別においても、関係指示子が示す関連するコンテンツ同士については、低次元バイナリベクトルの空間において近い値を持つようにすることができる。上記（７）式は、
【０１１４】
【数８】
0006461773.tif 000009
【０１１５】
という条件の下、以下の（９）式のように展開できる。
【０１１６】
【数９】
0006461773.tif 000010
【０１１７】
従って、上記（７）式を小さくすることは、以下の（１０）式を大きくすることに他ならない。
【０１１８】
【数１０】
0006461773.tif 000011
【０１１９】
上記（１０）式は、関係指示子が付与された、２つの種別のコンテンツ間の組み合わせの各々についての、それぞれ上記（２）式によって与えられるベクトル量子化器によって、高次元数値ベクトルに対してコンテンツの種別に応じた写像を行うことにより得られる低次元数値ベクトル間の相関を表す第２の相関を表している。上記第２の相関は、コンテンツの種別の組み合わせ毎に求められる。
【０１２０】
以上のように定義された上記（６）式および上記（１０）式をまとめると、下記の問題が得られる。
【０１２１】
【数１１】
0006461773.tif 000012
【０１２２】
ここで、λｍ，λｌはそれぞれ所与の定数であり、例えば双方１などとすればよい。上記（１１）式の目的関数は、上記（６）式および上記（１０）式の２つの相関の線形結合であると言い換えることができる。従って、写像計算部３２は、上記（１１）式に示すように、上記（６）式の第１の相関と上記（１０）式の第２の相関との線形結合により求められる値が大きくなるように、コンテンツの種別ｍ毎に写像Ｗｍを計算する。
【０１２３】
なお、本実施の形態の一例では、上記（１１）式の線形結合の場合を例にあげたが、広く一般の多項演算（例えば、積、商、対数和、指数和）、あるいは統計量（例えば、平均、中央値、最頻値、最小値、最大値）などを用いてもよい。
【０１２４】
この問題は非凸最適化問題であり、そのままでは解くことができない。しかしながら、未知変数行列であるＷｍ，Ｗｌ，Ｑｍ，Ｑｌのうち、任意の３つを固定した元では凸であるので、公知の交互最適化、並びに公知の線形計画法によってこれらを求めることができる。
【０１２５】
このようにして求めたＷｍおよびＷｌは、ベクトル量子化（符号関数）による情報損失を小さくしつつ、かつ、関係指示子によって関係があるとされる異種メディアを可能な限り同じ低次元バイナリベクトルに変換するものである。したがって、目的としていた２つの性質（Ａ）、（Ｂ）を最適に満たすようなＷｍおよびＷｌを得ることができる。
【０１２６】
新たな低次元バイナリベクトルを生成する際には、上記（２）式を計算すればよいだけである。この計算に必要となるメモリ量は、ｗｍ，ｋとｘｍ，ｉそれぞれを格納するに必要なメモリ量のみであり、仮に、特徴量が浮動小数点表示であり、次元Ｄが１００の場合８００Ｂ程度、仮に次元Ｄが１０００００程度になったとしても高々８００ＫＢと、現存する一般的なコンピュータにおいても極めて容易に蓄積できるメモリ量に抑えることができる。したがって、この方法によって、高速かつ省メモリな低次元バイナリベクトルへの量子化が可能である。
【０１２７】
ベクトル量子化器記憶部３４には、写像計算部３２によって生成されたベクトル量子化器が格納される。すなわち、具体的には、全てのコンテンツの種別ｍにおける｛Ｗｍ｝が、ベクトル量子化器記憶部３４に記憶される。
【０１２８】
ベクトル量子化部３６は、特徴抽出部３０によって抽出されたベクトル量子化対象のコンテンツの高次元数値ベクトルと、ベクトル量子化器記憶部３４も格納されたコンテンツの種別に応じたベクトル量子化器とに基づいて、コンテンツの高次元数値ベクトルを低次元バイナリベクトルに変換する。
【０１２９】
前述の写像計算処理が済んでいれば、ベクトル量子化器記憶部３４には、コンテンツの種別毎にＢ組のベクトル量子化器が格納されている。これを用いれば、上記（２）式にしたがって、特徴量で表現された任意のコンテンツを、Ｂビット以下の低次元バイナリベクトルで表現することができる。
【０１３０】
出力部４は、ベクトル量子化部３６によって生成された低次元バイナリベクトルを、結果として出力する。
【０１３１】
＜情報処理装置の作用＞
次に、本実施の形態に係る情報処理装置１の作用について説明する。情報処理装置１は、ベクトル量子化器を生成する写像計算処理と、特徴量である高次元数値ベクトルを低次元バイナリベクトルに変換するベクトル量子化処理を実行する。以下、これら２つの処理について説明する。
【０１３２】
＜写像計算処理ルーチン＞
まず、情報処理装置１が、コンテンツデータベース５に格納された複数のコンテンツを取得すると、情報処理装置１によって、図４に示す写像計算処理ルーチンが実行される。写像計算処理ルーチンは、実際にコンテンツをベクトル量子化する前に、少なくとも１度実行される処理である。
【０１３３】
まず、ステップＳ１００において、入力部２は、コンテンツデータベース５に格納されている複数のコンテンツと、複数のコンテンツ各々の種別と、種別が異なるコンテンツ間の組み合わせの各々に対して予め付与された関係指示子とを受け付ける。
【０１３４】
ステップＳ１０２において、特徴抽出部３０は、コンテンツの種別毎に、上記ステップＳ１００で取得された当該種別の複数のコンテンツの各々について、種別に応じた高次元数値ベクトルを特徴量として抽出する。
【０１３５】
ステップＳ１０４において、写像計算部３２は、上記ステップＳ１０２でコンテンツの種別毎に抽出された、コンテンツの各々についての高次元数値ベクトルと、上記ステップＳ１００で受け付けた関係指示子と基づいて、上記（１１）式に従って、コンテンツの種別毎に、高次元数値ベクトルを低次元バイナリベクトルに変換するためのベクトル量子化器を生成する。
【０１３６】
ステップＳ１０６において、写像計算部３２は、上記ステップＳ１０４でコンテンツの種別毎に生成されたベクトル量子化器を、ベクトル量子化器記憶部３４へ格納して、写像計算処理ルーチンを終了する。
【０１３７】
以上の処理により、コンテンツデータベース５に格納された複数のコンテンツと関係指示子とから、種別毎に応じたベクトル量子化器を生成することができる。
【０１３８】
＜ベクトル量子化処理ルーチン＞
次に、ベクトル量子化対象としてのコンテンツが情報処理装置１に入力されると、情報処理装置１によって、図５に示すベクトル量子化処理ルーチンが実行される。ベクトル量子化処理ルーチンは、ベクトル量子化器記憶部３４に格納されたベクトル量子化器を用いてコンテンツデータの特徴量をベクトル量子化する処理である。
【０１３９】
まず、ステップＳ２００において、入力部２は、ベクトル量子化対象としてのコンテンツと、当該コンテンツの種別との入力を受け付ける。
【０１４０】
ステップＳ２０２において、特徴抽出部３０は、上記ステップＳ２００で受け付けたコンテンツから種別に応じた高次元数値ベクトルを特徴量として抽出する。
【０１４１】
ステップＳ２０４において、ベクトル量子化部３６は、上記ステップＳ２０２で抽出されたコンテンツの高次元数値ベクトルと、ベクトル量子化器記憶部３４も格納されたコンテンツの種別に応じたベクトル量子化器とに基づいて、コンテンツの高次元数値ベクトルを低次元バイナリベクトルに変換する。
【０１４２】
ステップＳ２０６において、出力部４は、ベクトル量子化部３６によって生成された低次元バイナリベクトルを、結果として出力して、ベクトル量子化処理ルーチンを終了する。
【０１４３】
以上の処理により、入力されたコンテンツに対して、コンテンツの種別によらず低次元バイナリベクトルを求めることができる。
【０１４４】
以上説明したように、本発明の実施の形態に係る情報処理装置によれば、コンテンツの種別毎に抽出されたコンテンツの各々についての高次元数値ベクトルと、関係指示子とに基づいて、高次元数値ベクトルに対して写像を行うことにより得られる低次元数値ベクトルと高次元数値ベクトルを量子化することにより得られる低次元バイナリベクトルとの相関を表す第１の相関、及び関係指示子が付与された、種別が異なるコンテンツ間の組み合わせの各々について求められる、高次元数値ベクトルに対して写像を行うことにより得られる低次元数値ベクトル間の相関を表す第２の相関とに基づいて、コンテンツの種別毎に写像を計算し、計算した写像を用いた、高次元数値ベクトルを低次元バイナリベクトルに変換するためのベクトル量子化器を生成することにより、写像及び量子化による情報の損失と異なる種別のコンテンツ間の関係とを考慮して、ベクトル量子化を行うことができるベクトル量子化器を生成することができる。
【０１４５】
また、本発明の実施の形態に係る情報処理装置によれば、コンテンツの高次元数値ベクトルと、生成されたコンテンツの種別に応じたベクトル量子化器とに基づいて、コンテンツの高次元数値ベクトルを、低次元バイナリベクトルに変換することにより、写像及び量子化による情報の損失と異なる種別のコンテンツ間の関係とを考慮して、ベクトル量子化を行うことができる。
【０１４６】
本発明の実施の形態において、第１の相関は、コンテンツを表す低次元数値ベクトルの持つ情報量が、低次元バイナリベクトルに量子化された後にどの程度保持されているかを表し、また、第２の相関は、異なる種別のコンテンツ同士が互いにどの程度関連しているかを表している。然るに、これら第１、第２の相関の線形結合の値が大きくなるように求めたベクトル量子化器は、精度劣化の主要因となる情報損失を最小限に抑えつつ、関連する異なる種別のコンテンツを発見することができるものとなる。
【０１４７】
また、画像から文書、画像から音声などのように、関連する異なる種別のコンテンツを、高速かつ省メモリでありながらも高精度に発見することができるよう、情報損失を最小限に抑えるように、コンテンツの特徴量である高次元数値ベクトルを低次元バイナリベクトルへとベクトル量子化することができる。
【０１４８】
また、これにより、相互に異なる種別でありながら、関連するコンテンツ同士を、高速かつ省メモリでありながらも高精度に発見することが可能となる。
【０１４９】
また、本発明の実施の形態に係る情報処理装置は、画像から文書、画像から音声などのように、関連する異なる種別のコンテンツ同士を、高速かつ省メモリでありながらも高精度に発見するためのベクトル量子化器の生成及びバイナリベクトルの生成を行うことが不可欠な用途に適用することができる。
【０１５０】
＜第２の実施の形態＞
＜システム構成＞
次に、図６を参照して、本発明の第２の実施の形態について説明する。なお、第１の実施の形態と同様の構成となる部分については、同一符号を付して説明を省略する。
【０１５１】
上記第１の実施の形態において、写像計算部とベクトル量子化部とは分離可能であり、例えば、上記図１に示した情報処理装置１以外にも、サーバ―クライアント装置構成を取ることもできる。
【０１５２】
第２の実施の形態では、サーバ装置とクライアント装置とで情報処理システムを構成する点が、第１の実施の形態と異なっている。第２の実施の形態では、類似コンテンツの検索を実施する情報処理システムに、本発明を適用させた場合を例に説明する。
【０１５３】
本発明の第２の実施の形態に係る情報処理システム２００は、図６に示すように、サーバ装置７と、クライアント装置１３とを備えている。
【０１５４】
図６に示すサーバ装置７は、ＣＰＵと、ＲＡＭと、各処理ルーチンを実行するためのプログラムを記憶したＲＯＭとを備えたコンピュータで構成され、機能的には次に示すように構成されている。サーバ装置７は、図６に示すように、入力部８、演算部９、出力部１０を備えている。また、演算部９は、特徴抽出部９０、写像計算部９２、ベクトル量子化器記憶部９４、及びベクトル量子化部９６を備えている。また、コンテンツデータベース１１には、複数のコンテンツが格納されている。さらに、コンテンツデータベース５には、異なる種別のメディアが含まれ、各コンテンツに対して相互の関係を示す関係指示子が対応づけられている。
【０１５５】
また、図６に示すクライアント装置１３は、ＣＰＵと、ＲＡＭと、各処理ルーチンを実行するためのプログラムを記憶したＲＯＭとを備えたコンピュータで構成され、機能的には次に示すように構成されている。クライアント装置１３は、図６に示すように、入力部１４、演算部１５、出力部１６を備えている。また、演算部１５は、特徴抽出部１５０、ベクトル量子化器記憶部１５４、及びベクトル量子化部１５６を備える。
【０１５６】
ここで、サーバ装置７とクライアント装置１３において、共通する構成要素（入力部、特徴抽出部、ベクトル量子化器記憶部、ベクトル量子化部）はそれぞれ同一の機能を有するように構成し、また、上記図１に記載した各構成要素と同一名称のものは、上記図１の場合と同一の機能を有するものとしてよい。さらに、ベクトル量子化記憶部の内容は、それぞれ何らかの通信手段で適宜同期されているものとする。
【０１５７】
図６に示す装置構成における処理動作は下記の通りである。まずサーバ装置７は、上記説明した処理と同様の処理を行って、適宜、ベクトル量子化器を生成してベクトル量子化器記憶部９４に格納し、クライアント装置１３のベクトル量子化器記憶部１５４と同期させる。さらに、コンテンツデータベース１１中のコンテンツに対して、上記説明した処理と同様の処理を行って、低次元バイナリベクトルを生成し、低次元バイナリベクトルとコンテンツとを対応付けて、コンテンツデータベース１１に格納しておく。
【０１５８】
一方、クライアント装置１３は、入力部１４によって、利用者からの検索要求、すなわち、新規コンテンツの入力を受け付けたら、当該コンテンツに対して低次元バイナリベクトルを生成し、出力部１６からサーバ装置７の入力部８へと当該低次元バイナリベクトルを出力する。
【０１５９】
クライアント装置１３から低次元バイナリベクトルを受けた場合、サーバ装置７は、当該低次元バイナリベクトルを用いて、コンテンツデータベース１１に対して検索を行い、低次元バイナリベクトルに基づいて類似コンテンツを発見し、その結果をクライアント装置１３へと出力する。
【０１６０】
最後に、クライアント装置１３は、サーバ装置７より受け取った検索結果を利用者に出力する。
【０１６１】
このように構成することで、サーバ装置７で写像計算処理を実施し、クライアント装置１３ではベクトル量子化処理のみを実施するように構成することができる。
【０１６２】
なお、第２の実施の形態に係る情報処理システム２００の他の構成及び作用については、第１の実施の形態と同様であるため、説明を省略する。
【０１６３】
この構成を取るメリットを説明する。一般に、クライアント装置（ＰＣ、携帯端末等）は、サーバ装置と比較して演算能力に乏しいため、写像計算処理のように演算量が比較的多い処理には適さない場合がある。この構成にすれば、写像計算処理は演算能力の高いサーバ装置で適宜実施し、クライアント装置では演算量の少ないベクトル量子化処理だけを実施することができる。
【０１６４】
さらに、通常、ネットワークを介した通信によってデータ容量の多い情報を伝送する場合、伝送時間が掛かるという問題があるが、当該構成によって、伝送するのは情報量の小さい低次元バイナリベクトルのみでよくなり、検索に対する即応性を高めることができる。
【０１６５】
以上説明したように、前述したベクトル量子化器と低次元バイナリベクトルとを用いることにより、画像同士、文書同士などといった、同一の種別のコンテンツのみならず、画像から文書、画像から音声などのように、関連する異なる種別のコンテンツ同士を、高速かつ省メモリでありながらも高精度に発見することが可能になる。
【０１６６】
また、この構成により、省メモリであることから、例えば、メモリ量の小さいモバイル端末（スマートフォンやタブレット）での利用も可能となる。また、高速であることから、実時間性の要求される利用に対しても対応可能である。これらの効果を活用した具体的な利用シーンとして、街中を歩いているときに気になる場所や商品をモバイル端末で写真撮影し、類似した場所・商品を検索することが可能になる。
【０１６７】
[実施例]
次に、第１の実施の形態で説明した処理により生成したベクトル量子化器によって、類似コンテンツを高速かつ省メモリに検索する実施例の一例について説明する。例えば、コンテンツデータベース５に、Ｎ１個の画像特徴量Ｘ１＝｛ｘ１，１，・・・，ｘ１，Ｎ１｝とＮ２個の文書特徴量Ｘ２＝｛ｘ２，１，・・・，ｘ２，Ｎ２｝とが格納されているとし、これらの特徴量は全て上記（２）式に基づいて低次元バイナリベクトルＱ１＝｛ｑ１，１，・・・，ｑ１，Ｎ１｝およびＱ２＝｛ｑ２，１，・・・，ｑ２，Ｎ２｝に変換されているものとする。このとき、目的はＸ１、Ｘ２いずれにも含まれない特徴量ｘ１，ａあるいはｘ２，ａに対して類似するコンテンツをＸ１およびＸ２の中から発見することである。
【０１６８】
まず、上記（２）式に基づいて、特徴量である高次元数値ベクトルｘ１，ａあるいはｘ２，ａを低次元バイナリベクトルｑ１，ａあるいはｑ２，ａに変換しておく。最も単純には、図７に示すハッシュテーブルを用いる方法がある。まず、コンテンツデータベース５に登録されている低次元バイナリベクトルＹ１およびＹ２によって、図７に示すようなルックアップテーブルを構成する。このテーブルでは、ある低次元バイナリベクトルと、その低次元バイナリベクトルに変換された特徴量（コンテンツデータ識別子）を対応づけて格納しており、低次元バイナリベクトルが与えられた際に、それと同一の低次元バイナリベクトルを取るコンテンツを即時発見することができる。ここで、本発明の実施の形態により生成される低次元バイナリベクトルにおいては、コンテンツの種別に寄らず、関連するもの、類似するものを同一の低次元バイナリベクトルに変換できることが特徴である。すなわち、例えば、低次元バイナリベクトル「００００」を指定した場合、それに対応づけられた画像と文書（画像１、文書３・・・）を、コンテンツの種別に寄らずに直ちに発見できるのである。同様に、このテーブルを利用すれば、低次元バイナリベクトルｑ１，ａあるいはｑ２，ａに対応したコンテンツを即座に発見することが可能となる。
【０１６９】
この方法によれば、コンテンツデータベース５に登録された画像、文書の数Ｎ１、Ｎ２に寄らず、ほぼ一定の時間で高速に、かつ、元の特徴量（高次元数値ベクトル）をメモリに保持する必要がないため、省メモリに類似コンテンツを発見できるという利点がある。
【０１７０】
また、別の方法として、ハミング距離による距離計算を利用することができる。すなわち、低次元バイナリベクトルｑ１，ａあるいはｑ２，ａと、Ｑ１およびＱ２に含まれるＮ１＋Ｎ２個の低次元バイナリベクトルとの距離を計算し、距離の小さいものを類似コンテンツとして得るものである。低次元バイナリベクトルはバイナリであるため、距離計算は例えばハミング距離で計算することができるが、ハミング距離はＸＯＲ（排他的論理和）とｐｏｐｃｎｔ演算（すなわち、バイナリ列のうち、１となっているビットの数を数える演算）のみで計算できること、および、低次元バイナリベクトルは通常少数のバイナリ値で表現できることから、元の高次元数値ベクトルで距離計算する場合に比べ、遥かに高速に演算できる。
【０１７１】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。本実施形態の主要な特徴を満たす範囲内において、任意の用途と構成を取ることができることは言うまでもない。
【０１７２】
例えば、上記第１の実施の形態における、写像計算部３２と、ベクトル量子化部３６とを別々の装置として構成してもよい。その場合には、写像計算部３２を含んでベクトル量子化器生成装置を構成し、ベクトル量子化部３６を含んでベクトル量子化装置を構成する。
【０１７３】
また、本実施の形態の情報処理装置及び情報処理システムは、ベクトル量子化器記憶部３４を備えている場合について説明したが、例えばベクトル量子化器記憶部３４が情報処理装置及び情報処理システムの外部装置に設けられ、情報処理装置及び情報処理システムは、外部装置と通信手段を用いて通信することにより、ベクトル量子化器記憶部３４を参照するようにしてもよい。
【０１７４】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
例えば、前述した実施形態における写像計算部、ベクトル量子化部をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、ＰＬＤ（Programmable Logic Device）やＦＰＧＡ（Field Programmable Gate Array）等のハードウェアを用いて実現されるものであってもよい。
【０１７５】
また、上述の情報処理装置及び情報処理システムは、内部にコンピュータシステムを有しているが、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
【０１７６】
以上、図面を参照して本発明の実施の形態を説明してきたが、上記実施の形態は本発明の例示に過ぎず、本発明が上記実施の形態に限定されるものではないことは明らかである。したがって、本発明の技術思想及び範囲を逸脱しない範囲で構成要素の追加、省略、置換、その他の変更を行ってもよい。
【符号の説明】
【０１７７】
１     情報処理装置
２，８，１４  入力部
３，９，１５  演算部
４，１０，１６       出力部
５，１１      コンテンツデータベース
７     サーバ装置
１３   クライアント装置
３０，９０，１５０   特徴抽出部
３２，９２    写像計算部
３４，９４，１５４   ベクトル量子化器記憶部
３６，９６，１５６   ベクトル量子化部
４１   ベクトル量子化器
２００ 情報処理システム
【図１】
0006461773.tif 000013
【図２】
0006461773.tif 000014
【図３】
0006461773.tif 000015
【図４】
0006461773.tif 000016
【図５】
0006461773.tif 000017
【図６】
0006461773.tif 000018
【図７】
0006461773.tif 000019