JP5563016B2 - 情報検索装置、情報検索方法及びプログラム - Google Patents

情報検索装置、情報検索方法及びプログラム Download PDF

Info

Publication number
JP5563016B2
JP5563016B2 JP2012122594A JP2012122594A JP5563016B2 JP 5563016 B2 JP5563016 B2 JP 5563016B2 JP 2012122594 A JP2012122594 A JP 2012122594A JP 2012122594 A JP2012122594 A JP 2012122594A JP 5563016 B2 JP5563016 B2 JP 5563016B2
Authority
JP
Japan
Prior art keywords
content
linear transformation
feature
storage unit
transformation matrix
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012122594A
Other languages
English (en)
Other versions
JP2013246810A (ja
Inventor
育郎 佐藤
満 安倍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso IT Laboratory Inc
Original Assignee
Denso IT Laboratory Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso IT Laboratory Inc filed Critical Denso IT Laboratory Inc
Priority to JP2012122594A priority Critical patent/JP5563016B2/ja
Publication of JP2013246810A publication Critical patent/JP2013246810A/ja
Application granted granted Critical
Publication of JP5563016B2 publication Critical patent/JP5563016B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、コンテンツ記憶部に記憶されているコンテンツの中から、クエリ用コンテンツと類似のコンテンツを検索する、情報検索装置、情報検索方法及びプログラムに関するものである。
従来、画像検索や文章検索など、多くの情報検索の分野で、特徴ベクトルが用いられている。特徴ベクトルとは、画像や文章などのデジタルコンテンツから抽出された特徴量を、多次元のベクトルで表現したものであり、もとのデジタルコンテンツを識別するための指標として機能する。例えば、画像コンテンツAの特徴ベクトルと、画像コンテンツBの特徴ベクトルとの距離に基づき、それらの画像の被写体が同一であるか否かを識別することが可能である。同様に、データベース内のコンテンツの各々の特徴ベクトルとの距離に基づいて、データベースを検索し、クエリ用コンテンツと類似のコンテンツを抽出することが可能である。
他方、近年では、計算機が扱う情報が大規模化し、一度に大量かつ高次元の特徴ベクトルを扱うことも多くなっている。これに伴い、特徴ベクトル間の距離を算出する際の計算負荷が増大するという問題が生じている。例えば、L2ノルムの二乗を、特徴ベクトル間距離の指標として用いる場合、L2ノルムの二乗は次の式により求められる。
Figure 0005563016
したがって、特徴ベクトルの次元数がDであれば、D回の減算、D回の乗算、D−1回の加算が必要となる。多くの場合、特徴ベクトルは、浮動小数で表現されるため、仮にDが大きくなくても、高い計算負荷がかかるところ、特徴ベクトルが高次元となれば、さらに計算負荷が増大する。しかも、情報検索の場合、データベースに大量のデータがあれば、その分、距離計算も大量に行わなければならない。そのため、k−近傍探索などの高速アルゴリズムを用いても、かかる距離計算の負荷が、高速処理の妨げとなる。
また、特徴ベクトルを4バイトの単精度実数で表現する場合、D次元の特徴ベクトルは、4Dバイトのメモリを消費する。特徴ベクトルが高次元になるほど、このメモリ消費量は大きくなる。したがって、大量の特徴ベクトルを扱う場合、計算負荷の問題に加えて、扱う特徴ベクトルの数だけメモリを消費することになるという問題が生じる。メインメモリでは足りない場合、ハードディスクなどの二次領域に特徴ベクトルを格納しなければならないが、二次領域を用いると、計算機の処理速度が著しく低下するという問題もある。
そこで、近年では、特徴量をベクトルで表現せず、数十から数百個程度の0と1の列からなるバイナリビットコードで表現するという手法が提案されている。これらの手法による特徴ベクトルのバイナリビットコードへの変換は、特徴ベクトル空間における特徴ベクトル間の距離が、ビットコード変換後の空間におけるビットコード間のハミング距離と強く相関するように行われるため、ビットコード間の類似度を、ハミング距離に基づき判断することができる。ビットコード間のハミング距離は、2つのバイナリコードのXORを計算し、「1」となるビットの数を数えるだけで得られるので、きわめて高速な類似度計算が可能となる。また、上述のように、4Dバイト必要であったメモリを、d/8バイト(dはビットコードのビット数)にまで削減でき、これにより、数十から数百分の1にまでメモリを節約することができる。
かかるビットコード変換の代表的手法として、「random projection」、「very sparse random projection」、「Spectral Hashing」の3つを挙げることができる(非特許文献1から3を参照)。
Michel X. Goemans, avid P. Williamson, "Improved approximation algorithms for maximum cut and satisfiability problems using semidefinite programming", Journal of the ACM Volume 42 , Issue 6 (November 1995) Pages: 1115 − 1145 Ping Li, Trevor J. Hastie, Kenneth W. Church, "very sparse random projections", KDD ‘06 Proceedings of the 12th ACM SIGKDD international conference on Knowledge discovery and data mining (2006) Y. Weiss, A. Torralba, R. Fergus., "Spectral Hashing",Advances in Neural Information Processing Systems, 2008.
これらのビットコード化手法は、変換行列で射影された特徴ベクトルを、ハッシュ関数を用いてバイナリコード化することにより、特徴ビットコードを得る点で共通する。一般的に、ビットコード化アルゴリズムは、以下のように記述することができる。
Figure 0005563016
ここで、xは特徴ベクトル(D次元)、Wは変換行列(D行d列)、zは特徴ビットコード(dビット)、bはバイアス(d次元)、fは非線形関数、sgnは、値が負なら−1、正なら1を返す関数である。なお、特徴ビットコードは、z=1のとき「1」、z=−1のとき「0」として記述される。
しかしながら、これらの手法のうち、「random projection」及び「Spectral Hashing」においては、D次元のベクトルをdビットの特徴ビットコードに変換する場合、WTxの計算にはdD回の乗算と、d(D−1)回の加算が必要である。したがって、ビットコード間の類似度の計算を高速化することができても、その前段階の処理であるビットコード化にかなりの時間を要する。特に、次元数Dが大きいほどこの問題は顕著である。
また、上記のビットコード化手法のうち、「random projection」、「very sparse random projection」においては、Wの要素が、特徴ベクトルの分布状況が考慮されずに、ランダムに決定される。したがって、ビットコードが十分な識別性を発揮することができるようにするためには、ビットコード長を長くする必要がある。ビットコードが長くなれば、その分、メモリの消費量が増大し、また、ハミング距離の計算に要する時間も増大することとなる。特徴ビットコードによるコンテンツ検索手法を、リアルタイム画像検索やリアルタイム音声認識に適用するには、これらの問題を解決する必要がある。
本発明は、上記の問題に鑑みてなされたものであり、高速かつ高精度のコンテンツ検索を行うことができる、コンテンツ検索装置を提供することを目的とする。
本発明のコンテンツ検索装置は、コンテンツ記憶部に記憶されているコンテンツの中から、クエリ用コンテンツと類似のコンテンツを検索するコンテンツ検索装置であって、コンテンツの特徴ベクトルを生成する特徴ベクトル生成部と、前記特徴ベクトルを線形変換するための線形変換行列であって、線形変換して得られる特徴ベクトルの分散共分散行列を単位行列に比例させる線形変換行列を生成する線形変換行列生成部と、前記線形変換行列生成部にて生成された線形変換行列を記憶する線形変換行列記憶部と、コンテンツの特徴ベクトルを、前記線形変換行列を用いて線形変換し、線形変換して得られた特徴ベクトルをビットコード化関数を用いてビットコード化することにより、コンテンツの特徴ビットコードを生成する特徴ビットコード生成部と、前記特徴ビットコード生成部にて、前記各コンテンツの特徴ベクトルから生成した各コンテンツの特徴ビットコードを記憶した特徴ビットコード記憶部と、前記クエリ用コンテンツを入力する入力部と、前記特徴ベクトル生成部および前記特徴ビットコード生成部にて前記クエリ用コンテンツから生成された特徴ビットコードと、前記特徴ビットコード記憶部に記憶された各コンテンツの特徴ビットコードとのハミング距離に基づき、前記コンテンツ記憶部に記憶されているコンテンツの中から、前記クエリ用コンテンツに類似するコンテンツを検索する検索部と、前記検索部にて検索されたコンテンツまたは当該コンテンツに対応付けられたデータを出力する出力部とを備えた構成を有している。
このように、コンテンツ記憶部に記憶されるコンテンツの特徴ベクトルを線形変換して得られる特徴ベクトルの分散共分散行列を単位行列に比例させる線形変換行列を求める構成により、当該線形変換行列による線形変換後の特徴ベクトルをビットコード化する際の情報損失を少なくすることができ、得られるビットコードの長さも短くすることできる。したがって、クエリ用コンテンツの特徴ビットコードと、検索対象となるコンテンツ記憶部に記憶されるコンテンツの特徴ビットコードとのハミング距離に基づき、コンテンツ記憶部に記憶されるコンテンツから、クエリ用コンテンツに類似のコンテンツを抽出するコンテンツ検索装置において、ハミング距離の計算を高速に行うことができ、また、検索対象となるコンテンツ記憶部の特徴ベクトルの分布状況が反映された、高精度のコンテンツ検索を行うことができる。なお、コンテンツの特徴ビットコードの分散共分散行列が単位行列に比例する場合に特徴ビットコードの情報損失が少なくなるが、このような線形変換行列を求める計算処理の負荷は大きく、線形変換行列を高速に求めることは困難である。本発明では、ビットコードではなく、線形変換後の特徴ベクトルの分散共分散行列が単位行列に比例するようにすることで、線形変換行列を求める計算処理の負担を軽減しつつ、情報損失の少ないビットコード化を実現している。
また、本発明のコンテンツ検索装置において、前記コンテンツ記憶部には、相互に類似する2つのコンテンツからなるコンテンツのペアが1つ以上記憶され、前記線形変換行列生成部は、前記線形変換行列を用いて線形変換して得られる前記ペアの特徴ベクトル相互のユークリッド距離を、前記コンテンツ記憶部に含まれるすべてのペアについて求め、その合計を最小化させる前記線形変換行列を生成するものであってよい。
この構成により、類似すると判断されるべきペアのコンテンツの特徴ベクトルの線形変換後の特徴ベクトルのユークリッド距離を小さくでき、線形変換後の特徴ベクトルから生成される特徴ビットコード同士のハミング距離も小さくすることができる。したがって、類似すると判定されるべきコンテンツが類似すると判定される適切な特徴ビットコードが得られる。ここで、「相互に類似する2つのコンテンツ」とは、例えば、同じ被写体を撮影した画像など、本来、類似するコンテンツとして検索される関係にあるコンテンツである。なお、類似するコンテンツが適切に検索されるためには、類似するコンテンツ同士の特徴ビットコードのハミング距離が最小になるようにすべきであるが、このような線形変換行列を求める計算処理の負荷は大きく、線形変換行列を高速に求めることは困難である。本発明では、ビットコードではなく、線形変換後の特徴ベクトルのユークリッド距離を最小にする線形変換行列を求めることで、線形変換行列を求める計算処理の負担を軽減しつつ、情報損失の少ないビットコード化を実現している。
また、本発明のコンテンツ検索装置において、前記線形変換行列は、疎行列であってよい。
この構成によれば、クエリ用コンテンツの特徴ベクトルを線形変換する際の演算量を減少させることができ、クエリ用コンテンツの高速なビットコード化、ひいては、さらなる高速なコンテンツ検索が可能となる。
また、本発明のコンテンツ検索装置において、前記線形変換行列生成部は、前記線形変換行列の各要素の絶対値の総和を最小化させる前記線形変換行列を生成するものであってよい。
この構成によれば、生成される線形変換行列の要素の多くをゼロにすることができるので、クエリ用コンテンツの特徴ベクトルを線形変換する際の演算量を減少させることができ、クエリ用コンテンツの高速なビットコード化、ひいては、さらなる高速なコンテンツ検索が可能となる。
また、本発明のコンテンツ検索装置において、前記コンテンツ記憶部には、相互に類似する2つのコンテンツからなるコンテンツのペアが1つ以上記憶され、前記線形変換行列生成部は、前記コンテンツ記憶部に含まれるすべてのペアについて、各ペアを構成するコンテンツの特徴ベクトルの差分を要素とする行列ΔP、求めるべき線形変換行列W、および、0以上1以下の設定値λを用いて、
Figure 0005563016
で定義されるコスト関数f(w)を、各コンテンツのすべての前記特徴ベクトルを要素とする行列Qを用いた条件式
Figure 0005563016
の下で最小化するように、前記線形変換行列Wを生成するものであってよい。
この構成によれば、クエリ用コンテンツの特徴ベクトルを線形変換するための線形変換行列は、情報損失が少なく、また、類似コンテンツのペアから生成された、線形変換後の2つの特徴ベクトルのユークリッド距離の全ペア合計値が小さくなるように、かつ、クエリ用コンテンツの特徴ビットコードを生成する際の演算量が少なくなるように、生成されることになる。したがって、高速かつ高精度のコンテンツ検索が可能となる。
また、本発明のコンテンツ検索方法は、コンテンツ記憶部に記憶されているコンテンツの中から、クエリ用コンテンツと類似のコンテンツを検索するコンテンツ検索方法であって、前記コンテンツ記憶部に記憶された各コンテンツの特徴ベクトルを生成するステップと、前記特徴ベクトルを線形変換するための線形変換行列であって、線形変換して得られた特徴ベクトルの分散共分散行列を単位行列に比例させる線形変換行列を生成して線形変換行列記憶部に記憶するステップと、前記各コンテンツの特徴ベクトルを、前記線形変換行列記憶部から取得した前記線形変換行列を用いて線形変換し、線形変換して得られた特徴ベクトルをビットコード化関数を用いてビットコード化することにより、前記コンテンツ記憶部に記憶された各コンテンツの特徴ビットコードを生成して特徴ビットコード記憶部に記憶するステップと、前記クエリ用コンテンツを取得するステップと、前記クエリ用コンテンツの特徴ベクトルを生成するステップと、前記クエリ用コンテンツの特徴ベクトルを、前記線形変換行列記憶部から取得した前記線形変換行列を用いて線形変換し、線形変換して得られた特徴ベクトルをビットコード化関数を用いてビットコード化することにより、前記クエリ用コンテンツの特徴ビットコードを生成するステップと、前記特徴ビットコード記憶部から取得した前記各コンテンツの特徴ビットコードと、前記クエリ用コンテンツの特徴ビットコードとのハミング距離に基づき、前記コンテンツ記憶部に記憶されているコンテンツの中から、前記クエリ用コンテンツに類似するコンテンツを検索するステップと、前記検索部にて検索されたコンテンツまたは当該コンテンツに対応付けられたデータを出力するステップとを備える。
また、本発明のプログラムは、コンテンツ記憶部に記憶されているコンテンツの中から、クエリ用コンテンツと類似のコンテンツを検索するためのプログラムであって、コンピュータに、前記コンテンツ記憶部に記憶された各コンテンツの特徴ベクトルを生成するステップと、前記特徴ベクトルを線形変換するための線形変換行列であって、線形変換して得られた特徴ベクトルの分散共分散行列を単位行列に比例させる線形変換行列を生成して線形変換行列記憶部に記憶するステップと、前記各コンテンツの特徴ベクトルを、前記線形変換行列記憶部から取得した前記線形変換行列を用いて線形変換し、線形変換して得られた特徴ベクトルをビットコード化関数を用いてビットコード化することにより、前記コンテンツ記憶部に記憶された各コンテンツの特徴ビットコードを生成して特徴ビットコード記憶部に記憶するステップと、前記クエリ用コンテンツを取得するステップと、前記クエリ用コンテンツの特徴ベクトルを生成するステップと、前記クエリ用コンテンツの特徴ベクトルを、前記線形変換行列記憶部から取得した前記線形変換行列を用いて線形変換し、線形変換して得られた特徴ベクトルをビットコード化関数を用いてビットコード化することにより、前記クエリ用コンテンツの特徴ビットコードを生成するステップと、前記特徴ビットコード記憶部から取得した前記各コンテンツの特徴ビットコードと、前記クエリ用コンテンツの特徴ビットコードとのハミング距離に基づき、前記コンテンツ記憶部に記憶されているコンテンツの中から、前記クエリ用コンテンツに類似するコンテンツを検索するステップと、前記検索部にて検索されたコンテンツまたは当該コンテンツに対応付けられたデータを出力するステップとを実行させる。
また、本発明の特徴ビットコード生成装置は、コンテンツ記憶部に記憶されているコンテンツの中から、クエリ用コンテンツに類似するコンテンツを検索する検索装置に用いられ、前記コンテンツと前記クエリ用コンテンツとを特徴ビットコード間のハミング距離によって比較できるように、前記コンテンツと前記クエリ用コンテンツの特徴ビットコードを生成する特徴ビットコード生成装置であって、前記コンテンツ記憶部からコンテンツを読み出し、前記コンテンツの特徴ベクトルを生成する特徴ベクトル生成部と、前記特徴ベクトルを線形変換するための線形変換行列であって、線形変換して得られる特徴ベクトルの分散共分散行列を単位行列に比例させる線形変換行列を生成する線形変換行列生成部と、前記線形変換行列生成部にて生成された線形変換行列を記憶する線形変換行列記憶部と、コンテンツの特徴ベクトルを前記線形変換行列を用いて線形変換し、線形変換して得られた特徴ベクトルをビットコード化関数を用いてビットコード化することにより、コンテンツの特徴ビットコードを生成する特徴ビットコード生成部とを備えた構成を有している。
このように、コンテンツ記憶部に記憶されるコンテンツの特徴ベクトルを線形変換して得られる特徴ベクトルの分散共分散行列を単位行列に比例させる線形変換行列を求める構成により、当該線形変換行列による線形変換後の特徴ベクトルをビットコード化する際の情報損失を少なくすることができ、得られるビットコードの長さも短くすることできる。したがって、クエリ用コンテンツの特徴ビットコードと、検索対象となるコンテンツ記憶部に記憶されるコンテンツの特徴ビットコードとのハミング距離に基づき、コンテンツ記憶部に記憶されるコンテンツから、クエリ用コンテンツに類似のコンテンツを抽出するコンテンツ検索の際に、ハミング距離の計算を高速に行うことができ、また、検索対象となるコンテンツ記憶部の特徴ベクトルの分布状況が反映された、高精度のコンテンツ検索が可能となる。
本発明によれば、高速かつ高精度のコンテンツ検索を行うことができる。
本発明の実施の形態におけるコンテンツ検索装置の構成を示すブロック図 本発明の実施の形態におけるコンテンツ検索装置の動作を示すフロー図 本発明の実施の形態におけるコンテンツ検索装置の一適用例を説明する図 本発明の実施の形態における線形変換行列生成部の動作を示すフロー図 本発明の実施の形態における特徴ベクトルのマッチングペアの概念を説明する図 (a)コスト関数f(y)の構成要素ΔPを説明する図、(b)コスト関数f(y)の構成要素WTΔPを説明する図、(c)コスト関数f(y)の構成要素WTΔPΔPTWを説明する図 本発明の実施の形態における線形変換行列Wを算出する処理の流れを示すフロー図
以下、本発明の実施の形態のコンテンツ検索装置について、図面を参照しながら説明する。
図1は、本発明の実施の形態のコンテンツ検索装置の構成を示す図である。図1において、コンテンツ検索装置1は、コンテンツ記憶部111、入力部112、特徴ベクトル生成部113、特徴ベクトル記憶部114、線形変換行列生成部115、線形変換行列記憶部116、特徴ビットコード生成部117、特徴ビットコード記憶部118、検索部119、出力部120を備えている。なお、コンテンツ検索装置1は、一つの装置から構成されてもよいし、図1に示す構成要素をネットワークに接続されたサーバに分担させてもよい。例えば、スマートフォン等の携帯端末が入力部112及び出力部120を備え、コンテンツ記憶部111を含むその他の構成をサーバ側に持たせてもよい。携帯端末からクエリ用のコンテンツを入力し、サーバ側に送信することで、サーバはコンテンツ記憶部111から類似するコンテンツを検索し、検索結果を携帯端末に送信することができる。
本実施の形態のコンテンツ検索装置1は、コンテンツ記憶部111に記憶されたコンテンツの中からクエリ用コンテンツに類似するコンテンツを検索するに際して、コンテンツ及びクエリ用コンテンツの特徴ベクトルをビットコード化した特徴ビットコードを用いる。このための構成として、コンテンツ記憶部111のコンテンツの特徴ビットコードを記憶した特徴ビットコード記憶部118と、クエリ用コンテンツから特徴ビットコードを生成する特徴ビットコード生成部117とを有している。また、コンテンツの特徴ベクトルから生成される特徴ビットコードの情報損失を少なくするために、特徴ビットコードの生成に先立って特徴ベクトルを線形変換するための線形変換行列を記憶した線形変換行列記憶部116を有している。この線形変換行列は、コンテンツ記憶部111に記憶されたコンテンツに対する特徴ビットコードの情報損失を小さくするために、コンテンツの特徴ベクトルに基づいて計算される。以下、コンテンツ検索装置1の各構成について詳しく説明する。
コンテンツ記憶部111は、画像、文章などのコンテンツを、各コンテンツを識別するためのIDデータが対応付けて記憶されている。各コンテンツには、メタデータが付加されて記憶されていてもよい。本実施の形態において、コンテンツ記憶部111に記憶されたコンテンツが、検索対象のコンテンツである。コンテンツ記憶部111に記憶されたコンテンツの中から、クエリ用コンテンツに類似するコンテンツが検索される。
コンテンツ記憶部111に記憶されるコンテンツは、線形変換行列を生成する際には、特徴ベクトル生成部113に出力される。一方、コンテンツ検索が行われる際には、検索部119にて特定されたコンテンツのIDデータに対応するコンテンツまたはそのコンテンツに付加されているメタデータが出力部120に出力される。
なお、コンテンツ記憶部111には、相互に類似する2つのコンテンツからなるコンテンツのペアが1つ以上記憶されている。コンテンツ検索装置1が、例えば、クエリとして入力された画像コンテンツと類似の画像コンテンツを検索するものである場合、このペアをなすコンテンツは、例えば、同じ被写体を異なる角度から撮影した画像コンテンツであってよい。このようなペアをなす2つのコンテンツは、相互に、一方のコンテンツがクエリ用コンテンツとして入力されれば、当該ペアをなす他方のコンテンツが、検索結果として特定されるべき関係にある。
入力部112は、コンテンツ記憶部111に記憶されるコンテンツの検索を行う際のクエリとなるクエリ用コンテンツの入力を受け付け、当該クエリ用コンテンツを特徴ベクトル生成部113に入力する。例えば、検索対象として、コンテンツ記憶部111に記憶されるコンテンツが画像コンテンツである場合、入力部112は、クエリ用コンテンツとして、Webページ上の画像コンテンツを入力してもよいし、コンテンツ検索装置1が撮像装置を備える場合には、撮像装置で生成された画像コンテンツを入力してもよい。
特徴ベクトル生成部113は、コンテンツ記憶部111または入力部112から取得したコンテンツの特徴ベクトルを生成する。特徴ベクトルは、コンテンツから抽出された特徴量をベクトルで表現したものである。コンテンツからの特徴量の抽出及び特徴ベクトルの生成は、種々の手法によることができる。特徴ベクトル生成部113は、コンテンツ記憶部111に記憶される各コンテンツの特徴ベクトルを生成して、特徴ベクトル記憶部114に出力する。また、入力部112から取得したクエリ用コンテンツの特徴ベクトルを生成して、特徴ビットコード生成部117に出力する。
特徴ベクトル記憶部114は、特徴ベクトル生成部113にて生成された、コンテンツ記憶部111に記憶されるコンテンツの特徴ベクトルを、各コンテンツのIDデータと対応付けて記憶する。特徴ベクトル記憶部114に記憶される特徴ベクトルは、線形変換行列生成部115及び特徴ビットコード生成部117に出力される。
線形変換行列生成部115は、特徴ベクトル記憶部114からコンテンツ記憶部111に記憶されるコンテンツの特徴ベクトルを取得し、当該特徴ベクトルを用いてコンテンツの特徴ベクトルを線形変換するための線形変換行列を生成する。生成された線形変換行列は、線形変換行列記憶部116に出力される。
線形変換行列記憶部116は、線形変換行列生成部115にて生成された線形変換行列を記憶する。線形変換行列記憶部116に記憶される線形変換行列は、クエリ用コンテンツの特徴ビットコードまたはコンテンツ記憶部111に記憶されるコンテンツの特徴ビットコードを生成する際、特徴ビットコード生成部117に出力される。
特徴ビットコード生成部117は、線形変換行列記憶部116から取得した線形変換行列を用いて、特徴ベクトル記憶部114から取得した検索対象のコンテンツの特徴ベクトルを線形変換する。そして、線形変換して得られたコンテンツの特徴ベクトルを、ビットコード化関数を用いてビットコード化することにより、コンテンツ記憶部111に記憶される各コンテンツの特徴ビットコードを生成する。生成された特徴ビットコードは、特徴ビットコード記憶部118に記憶される。特徴ビットコード記憶部118は、各コンテンツの特徴ビットコードを、コンテンツ記憶部111にて用いられるIDデータと対応付けて記憶する。
特徴ビットコード生成部117は、また、線形変換行列記憶部116から取得した線形変換行列を用いて、特徴ベクトル生成部113から取得したクエリ用コンテンツの特徴ベクトルを線形変換する。そして、線形変換して得られたクエリ用コンテンツの特徴ベクトルを、ビットコード化関数を用いてビットコード化することにより、クエリ用コンテンツの特徴ビットコードを生成する。生成されたクエリ用コンテンツの特徴ビットコードは、検索部119に出力される。
検索部119は、特徴ビットコード記憶部118から取得した各コンテンツの特徴ビットコードと、特徴ビットコード生成部117から取得したクエリ用コンテンツの特徴ビットコードとのハミング距離に基づき、クエリ用コンテンツに類似するコンテンツを検索する。より具体的には、クエリ用コンテンツと検索対象のコンテンツの特徴ビットコード同士のハミング距離を算出し、クエリ用コンテンツの特徴ビットコードとのハミング距離が最短である特徴ビットコードに対応するコンテンツのIDデータを特定する。
検索部119は、特定されたIDデータを出力部120に渡す。出力部120は、検索部119から渡されたIDデータに基づき、コンテンツ記憶部111から対応するコンテンツまたは当該コンテンツのメタデータを出力させる。例えば、出力部120が図示しないディスプレイに接続されている場合、ディスプレイに抽出されたコンテンツまたはメタデータを表示させる命令を出力する。
上述したコンテンツ検索装置1の各機能は、CPUが、ROM等に書き込まれたプログラムに従って演算処理を実行することにより実現されてもよい。このようなプログラムも、本発明の範囲に含まれる。
次に、コンテンツ検索装置1の動作を、図2のフロー図を参照しながら説明する。
まず、特徴ベクトル生成部113が、コンテンツ記憶部111に記憶される各コンテンツの特徴ベクトルを生成し、特徴ベクトル記憶部114に記憶する(ステップS21)。次に、線形変換行列生成部115が、ステップS21で生成された、各コンテンツの特徴ベクトルを、特徴ベクトル記憶部114から取得して、線形変換行列を生成する(ステップS22)。すなわち、本実施の形態において、線形変換行列生成部115は、コンテンツの特徴ベクトルを線形変換するための線形変換行列を、コンテンツ検索の対象となるデータベースであるコンテンツ記憶部111に記憶される各コンテンツの特徴ベクトルを用いた学習に基づき生成する。上述のように、コンテンツ記憶部111には、相互に類似の2つのコンテンツのペアが1つ以上記憶されており、ペアを構成するコンテンツは、相互に、検索結果としてマッチすべきものであるから、ここで行われる学習は、教師あり学習である。なお、線形変換行列生成部115の動作については、後に詳述する。
続いて、特徴ビットコード生成部117が、特徴ベクトル記憶部114に記憶されている、各コンテンツの特徴ベクトルと、線形変換行列記憶部116に記憶されている線形変換行列とを取得して、コンテンツ記憶部111に記憶される各コンテンツの特徴ビットコードを生成する(ステップS23)。特徴ビットコードの生成は、以下の式(1)により、特徴ベクトルを特徴ビットコードに変換することにより行われる。
Figure 0005563016
ここで、Wは、ステップS22で生成された線形変換行列、xiは、ステップS21で生成され、特徴ベクトル記憶部114から取得した、各コンテンツの特徴ベクトルである。また、ave(x)は、特徴ベクトル記憶部114に記憶される、全ての特徴ベクトルの平均ベクトルである。ave(x)を減算した上で線形変換するのは、生成されるビットコードの偏りを防ぐためであり、この減算項は、既存のビットコード化手法におけるバイアスに相当する。
yは、特徴ベクトルxを線形変換行列Wにより線形変換して得られる、xとは別のベクトル空間をなす特徴ベクトルである。また、sgn(yi)は、yiの値が負なら−1、正なら1を返す関数であり、ベクトルをビットコード化する関数として機能する。得られるビットコードziの要素は、−1または1のいずれかとなるが、本実施の形態では、このうち、「−1」を「0」と置き換えたものを特徴ビットコードと呼ぶ。
なお、線形変換前の特徴ベクトルxiを、次元数dとして、
Figure 0005563016
と定義し、生成するビットコードziを、bビットとして、
Figure 0005563016
と定義する場合、ステップS22で生成する線形変換行列Wは、d行b列であり、
Figure 0005563016
と記述することができる。
以上のステップS23までの処理が、コンテンツ検索装置1にてコンテンツ検索を行うために必要となる準備の処理である。ここまでのステップで、コンテンツ記憶部111に記憶される各コンテンツの特徴ビットコードの生成と、クエリ用コンテンツの特徴ベクトルを特徴ビットコードに変換するための線形変換行列の生成が完了する。
ステップS23までの工程は、コンテンツ検索の準備として1回行えばよく、コンテンツ検索のたびに行う必要はない。例えば、コンテンツ記憶部111に新たなコンテンツが追加されたり、コンテンツ記憶部111のコンテンツが削除された場合など、コンテンツ記憶部111に記憶されたコンテンツに変更があった場合にも、そのまま同じ線形変換行列を用いてクエリ用コンテンツの特徴ビットコードを生成してもよいし、上述したステップS21〜S23を行って、最新のコンテンツに適した線形変換行列を求め、検索用コンテンツのビットコードを更新してもよい。なお、線形変換行列を更新することなくそのまま用いる場合、メモリ消費量を低減させるため、特徴ベクトル記憶部114に格納されている特徴ベクトルは、ステップS22にて線形変換行列を求めた時点で特徴ベクトル記憶部114から消去してもよい。
コンテンツ検索が行われる場合には、クエリ用コンテンツの入力に応じて、特徴ベクトル生成部113が、ステップS21と同様の手法により、クエリ用コンテンツの特徴ベクトルを生成する(ステップS24)。続いて、特徴ビットコード生成部117が、ステップS23と同様の手法により、クエリ用コンテンツの特徴ビットコードを生成する(ステップS25)。
そして、検索部119によるコンテンツ検索が行われる(ステップS26)。検索部119は、クエリ用コンテンツの特徴ビットコードとハミング距離が最も近い特徴ビットコードを持つコンテンツを、k−近似最近傍探索法に従い、特定する。k−近似最近傍探索法によれば、ある一定以下の確率で最近傍探索が失敗することを許す代わりに、検索用コンテンツの全ビットコードとの距離計算を行う必要がない。したがって、コンテンツ検索のための計算量及び所要時間を削減することができる。なお、上述のように、ハミング距離は、2つの特徴ビットコードのXORをとり、1となるビット数を数えることにより得られるが、本実施の形態では、算出値が0から1の範囲の値をとるように正規化されたハミング距離Dhamming(Zu,Zv)を、以下の式により算出する。
Figure 0005563016
特徴ビットコード記憶部118に記憶される各特徴ビットコードには、もとのコンテンツのIDデータが対応付けて記憶されている。したがって、ここでは、クエリ用コンテンツの特徴ビットコードに最もハミング距離が近い特徴ビットコードに対応するIDデータが特定される。
クエリ用コンテンツに最も近い特徴ビットコードに対応するIDデータが特定されると、出力部120が、コンテンツ記憶部111から、当該IDデータに対応するコンテンツまたはそのメタデータを抽出して、出力する(ステップS27)。
図3は、本実施の形態のコンテンツ検索装置1を利用したコンテンツ検索の一例を示す図である。図3に示すように、コンテンツ記憶部111には、画像コンテンツが、その被写体の名称をメタデータとして付与されて、IDデータと対応付けて記憶されている。また、特徴ビットコード記憶部118には、各画像コンテンツの特徴ビットコードが、IDデータと対応付けて記憶されている。
コンテンツ検索装置1の入力部112は、例えば、スマートフォンのカメラであり、カメラで生成された画像をクエリ用コンテンツとして入力する。すると、特徴ベクトル生成部113にて、クエリ用コンテンツの特徴ベクトルが生成され、次いで、特徴ビットコード生成部117にて、入力画像の特徴ビットコードが生成される。そして、検索部119にて、入力画像の特徴ビットコードに最も近い特徴ビットコードに対応するIDデータ0001が特定され、コンテンツ記憶部111にIDデータ0001と対応付けて記憶されるコンテンツのメタデータ「〇×タワー」が抽出され、出力部120が、コンテンツ検索装置1のディスプレイにおいて、メタデータ「〇×タワー」を入力画像に重畳表示されるように出力する。
次に、図4から図6を用いて、線形変換行列生成部115の動作について詳述する。
まず、線形変換行列生成部115は、コンテンツ記憶部111に記憶された各コンテンツの特徴ベクトルを記憶する特徴ベクト記憶部114から、全ての特徴ベクトルを取得して、各特徴ベクトルから、全特徴ベクトルの平均ベクトルを減算したものをまとめた行列Qを、以下のように定義する(ステップS41)。
Figure 0005563016
ところで、上述のように、コンテンツ記憶部111には、相互に類似する2つのコンテンツからなるペアが1つ以上記憶されている。図5の例では、コンテンツ記憶部111には、同一被写体(東京駅)を、異なる角度から撮影した、IDデータが0021である画像コンテンツと、IDデータが0102である画像コンテンツが、ともに「東京駅」とのメタデータを付加されて記憶されている。かかる類似コンテンツのペアは、一方をクエリとしたとき、他方が検索結果として抽出されるべき関係にあるという意味で、「マッチングペア」と呼ぶこともできる。なお、ここでは、被写体の名称(「東京駅」)のみをマッチングペアかどうかを判断するメタデータとして説明したが、時間帯(朝、昼、夜等)や撮影方向(東側から、西側から等)などのメタデータを用いてマッチングペアかどうかを判断してもよい。
そうすると、特徴ベクトル記憶部114には、マッチングペアに由来する特徴ベクトルxが含まれることになる。線形変換行列の生成処理において、このような特徴ベクトルxのペアも、同様に「マッチングペア」と呼ぶこととする。全部でN個の特徴ベクトルのうち、このようなマッチングペアを構成する2つの特徴ベクトルxは、以下のようにj番目のペアを構成することを示す番号を付して、
Figure 0005563016
と記述することができる。
ステップS41に引き続いて、線形変換行列生成部115は、各マッチングペアを構成する2つの特徴ベクトルから平均ベクトルを減算したものが、それぞれ、異なる行列の対応する列の要素となるように、行列P1、P2を以下のように定義する(ステップS42)。
Figure 0005563016
Figure 0005563016
次に、線形変換行列生成部115は、行列P1とP2との差分をΔPとして、以下のように定義する。
Figure 0005563016
図6(a)に示すように、ΔPには、列方向の要素として、それぞれのマッチングペアの差分が格納されることになる。
そして、線形変換行列生成部115は、以下の式(3)で定義されるコスト関数f(W)を、式(4)の制約条件のもとで最小化するような線形変換行列Wを求める(ステップS44)。
Figure 0005563016
Figure 0005563016
具体的な線形変換行列Wの算出手法は後に説明することとし、ここでは、コスト関数f(W)について説明する。
上述の式(4)WTQQTW=Iは、特徴ベクトルxを線形変換行列Wにより線形変換した後の特徴ベクトルである、yの分散共分散行列が単位行列となることを示す。情報理論によれば、ビットコードの分散共分散行列が単位行列Iに比例するとき、情報損失が最も少なくなることが知られている。ビットコード化の際の情報損失が少なくなれば、ビットコードの長さを従来例のように長くする必要はなくなる。これにより、メモリ消費量及びハミング距離の計算量を低減させることが可能となる。したがって、ビットコードの分散共分散行列が単位行列に比例するように、線形変換行列Wを学習により決定することが好ましい。もっとも、ビットコード化のためのsgn関数の計算は煩雑であるため、線形変換行列Wの学習にも通常、相当の時間を要する。そこで、本実施の形態では、この課題を緩和し、ビットコード化の1段階前のコンテンツの特徴量を示す、線形変換後の特徴ベクトルyの分散共分散行列を単位行列とすることを、線形変換行列Wを最小化する拘束条件として定義している。
また、式(3)の第1項λ・tr(WTΔPΔPTW)において、ΔPは、図6(a)のように表すことができるので、WTΔPは、図6(b)のように表すことができる。なお、図6において列方向に延びる矩形は、列方向にベクトルの各要素が列挙されることを示している。さらに、WTΔPΔPTWは、図6(c)のように表すことができる。そうすると、正方行列となるWTΔPΔPTWの対角要素の和であるtr(WTΔPΔPTW)は、
Figure 0005563016
と、表現することができる。
式(5)は、マッチングペアを構成する各特徴ベクトルxを線形変換した後の特徴ベクトルyについて、線形変換前にマッチングペアを構成する関係にあった2つの特徴ベクトルyの間のユークリッド距離を、全マッチングペアについて足し合わせたものと同値である。つまり、式(3)の右辺の第1項のtr(WTΔPΔPTW)は、線形変換後の特徴ベクトルyにおいて各マッチングペア間のユークリッド距離の合計を表している。したがって、ステップS44において、コスト関数f(y)の最小化することは、各マッチングペアにおける線形変換後の特徴ベクトルyのユークリッド距離の総和を最小化することになる。
本実施の形態においては、特徴ビットコード同士のハミング距離に基づいて類似コンテンツの検索を行うので、精度よくコンテンツ検索を行うためには、類似コンテンツ同士の特徴ビットコード間のハミング距離が小さいことが好ましい。本実施の形態では、コンテンツ記憶部111に記憶されるコンテンツのうち、2つの類似コンテンツからなるペアに対応する2つの特徴ベクトルのペアをマッチングペアとして対応付けている。したがって、このマッチングペアを構成する特徴ベクトルxから生成された特徴ビットコード同士のハミング距離が小さくなるように線形変換行列Wの学習を行うことも可能である。しかし、上述のように、sgn関数の計算が煩雑なため、このような線形変換行列Wの学習には時間を要する。そこで、本実施の形態においては、この課題も緩和し、ビットコード化の1段階前の状態である線形変換後の特徴ベクトルyについて、もとのマッチングペアにおけるユークリッド距離の総和を、コスト関数f(y)に含めている。
式(3)の第2項の|W|1は、L1正則化項である。L1正則化は、線形変換行列Wの各要素の絶対値の総和である。正則化項をコスト関数f(y)に含めた上でコスト関数f(y)を最小化しようとするとき、線形変換行列Wは疎行列となる。通常、ビットコード化の演算に要する時間の多くをWTxの積和演算が占めるところ、線形変換行列Wを疎行列化することでこの演算回数を低減し、高速なビットコード化を実現することができる。
なお、線形変換行列Wの一部の要素を予め0にしておき、線形変換行列Wの他の要素に対してのみ、学習を行うようにすることもできる。これにより、線形変換行列Wをどの程度疎にするかを予め決定することが可能となる。
ここで、コスト関数f(y)の第1項、第2項において、λは、0から1の間のスカラ値である重み係数である。第1項の係数はλ、第2項の係数は1−λであるから、λが大きいほど、コスト関数f(y)は、マッチングペアの線形変換後のユークリッド距離の総和の最小化に重きをおくコスト関数となる。一方、λが小さいほど、L1正則化に重きをおくコスト関数となり、生成される線形変換行列Wは、より疎になる。なお、λを1としたとき、コスト関数からL1正則化項は除去され、一般固有値化問題の解として、線形変換行列Wを決定することができる。一般化固有値問題は、二次計画法等の解法を用いなくても解くことができ、かつ、最適解を見つけることができるという特徴がある。コスト関数を一般化固有値問題に帰着することができるのは、マッチングペアの特徴ビットコードどうしのハミング距離ではなく、線形変換後の特徴ベクトルのユークリッド距離の問題として捉えたことによるものであり、従来は知られていなかったことである。
ステップS44においては、以上のように定義されるコスト関数f(y)を最小化するような線形変換行列Wを求めることで、線形変換後において、類似コンテンツとしてマッチすべきコンテンツから生成される特徴ベクトル間のユークリッド距離が小さく、情報損失が少なく、かつ、ビットコードへの変換に要する演算量が少なくなるような線形変換行列Wを得ることができる。
次に、ステップS44におけるコスト関数の最小化処理について、図7のフロー図を参照して説明する。
まず、次式の一般化固有値問題を解いて、初期化を行う(ステップS71)。
Figure 0005563016
ここで、Dは非対角要素が0で、対角要素に一般化固有値を持つ正方行列である。一般化固有値は、最小のものから昇順に並んでいるものとする。この一般化固有値問題を解は、λ=1と置いた時の最適解を与える。この最適解をWtとおく。
次に、最適化問題を近似する(ステップS72)。ここでは、コスト関数f(y)の拘束条件として定義したWTQQTW=Iを、Wtの近傍でテイラー展開し、一次近似する。
そして、二次計画法により、解の更新を行う(ステップS73)。具体的には、まず、Wtと同じサイズの行列を2つ(W+、W-)用意し、これらの行列の全要素を0に初期化する。その上で、Wtの正の要素を、W+の対応する要素にコピーし、Wtの負の要素の絶対値を、W-の対応する要素にコピーする。これにより、|Wt|=W++W-と書き換えることが可能となるため、コスト関数f(y)の第2項であるL1正則化項の絶対値記号を除去することができる。ステップS72の処理と、ステップS73において、Wtに関するコスト関数最小化問題を、W+、W-に関するコスト最小化問題に置き換えることとにより、二次のコスト関数と、一次の拘束条件からなる最適化問題を得る。
この最適化問題は、二次計画法として知られており、これを適用することで、Wtを更新することが可能となる。線形変換行列部115は、解が収束しない場合(ステップS74NO)は、ステップS72の最適化問題の近似と、ステップS73の解の更新を繰り返す。解が収束すれば(ステップS74YES)、コスト関数f(y)を最小化するような、目的の解Wを得ることができる。
以上のように、本実施の形態によれば、クエリ用コンテンツの特徴ベクトルを線形変換するための線形変換行列Wが、コンテンツ記憶部111に記憶されるコンテンツの特徴ベクトルxを用いた学習により、線形変換後の特徴ベクトルyの分散共分散行列が単位行列となるように生成される。また、線形変換行列Wは、線形変換後のベクトルyの関数であるf(y)を最小化するものとして求めることができ、このコスト関数f(y)の最小化は、各マッチングペアにおけるユークリッド距離の総和(全ペアの合計値)が小さくなるように、かつ、線形変換行列Wが疎行列となるように、線形変換行列Wが決定されることを意味する。このように生成された線形変換行列は、類似コンテンツとして検索されるべきコンテンツ同士の特徴ビットコードのハミング距離を小さくし、また、特徴ベクトルをビットコード化する際に要する演算量も減少させる。したがって、高速かつ精度のよい、特徴ビットコードを用いたコンテンツ検索が可能となる。
上記の実施の形態では、画像コンテンツをクエリ用コンテンツとして入力し、クエリ用コンテンツに類似する画像コンテンツを検索する場合について説明したが、コンテンツ検索装置は、文章や他のコンテンツを入力して、それと同一または類似のコンテンツを検索するものであってよい。また、クエリ用コンテンツと、コンテンツ記憶部に記憶されるコンテンツは同種のものでなくてもよく、例えば、音声データを入力し、特徴ビットコードに基づき、その音声データの意味内容に関連するコンテンツが検索されてもよい。
また、上記の実施の形態では、検索対象となるコンテンツの特徴ベクトルを用いて線形変換行列を生成したが、他のデータベースのコンテンツの特徴ベクトルを用いて線形変換行列を生成してもよい。さらに、上記の実施の形態では、コンテンツ検索装置が検索対象となるコンテンツの特徴ベクトルを記憶する特徴ベクトル記憶部を備える場合について説明したが、特徴ベクトル記憶部を備えなくてもよい。
また、上記の実施の形態では、線形変換後の特徴ベクトルyの分散共分散行列を単位行列とする条件を課したが、制約条件としてではなく、コスト関数f(y)の項として書き換えてもよく、また、yの分散共分散行列が単位行列に比例するという条件であってもよい。さらに、上記の実施形態では、特徴ベクトルから平均ベクトルave(x)を減算したうえで線形変換し、特徴ベクトルyを求めたが、ave(x)以外のバイアス値を用いてもよいし、xをそのまま線形変換してyを求めてもよい。この場合、行列Q、行列P1、P2の要素として、特徴ベクトルxから平均ベクトルave(x)を減算したものを用いる代わりに、他のバイアス値を減算したものを用いてもよいし、xをそのまま行列Q、P1、P2の要素としてもよい。
また、上記の実施の形態では、k−近似最近傍探索法により、クエリ用コンテンツの特徴ビットコードと、最もハミング距離が近いコンテンツを特定したが、他の方法により、最もハミング距離が近いコンテンツを特定してもよいし、全ての(検索用コンテンツの)特徴ビットコードについて、クエリ用コンテンツの特徴ビットコードとのハミング距離を算出して、最も距離が近いコンテンツを特定してもよい。
本発明は、高速かつ高精度のコンテンツ検索を行うことができるという効果を有し、特徴ビットコードを用いたコンテンツ検索を行うコンテンツ検索装置等として有用である。
1 コンテンツ検索装置
111 コンテンツ記憶部
112 入力部
113 特徴ベクトル生成部
114 特徴ベクトル記憶部
115 線形変換行列生成部
116 線形変換行列記憶部
117 特徴ビットコード生成部
118 特徴ビットコード記憶部
119 検索部
120 出力部

Claims (8)

  1. コンテンツ記憶部に記憶されているコンテンツの中から、クエリ用コンテンツと類似のコンテンツを検索するコンテンツ検索装置であって、
    コンテンツの特徴ベクトルを生成する特徴ベクトル生成部と、
    前記特徴ベクトルを線形変換するための線形変換行列であって、線形変換して得られる特徴ベクトルの分散共分散行列を単位行列に比例させる線形変換行列を生成する線形変換行列生成部と、
    前記線形変換行列生成部にて生成された線形変換行列を記憶する線形変換行列記憶部と、
    コンテンツの特徴ベクトルを、前記線形変換行列を用いて線形変換し、線形変換して得られた特徴ベクトルをビットコード化関数を用いてビットコード化することにより、コンテンツの特徴ビットコードを生成する特徴ビットコード生成部と、
    前記特徴ビットコード生成部にて、前記各コンテンツの特徴ベクトルから生成した各コンテンツの特徴ビットコードを記憶した特徴ビットコード記憶部と、
    前記クエリ用コンテンツを入力する入力部と、
    前記特徴ベクトル生成部および前記特徴ビットコード生成部にて前記クエリ用コンテンツから生成された特徴ビットコードと、前記特徴ビットコード記憶部に記憶された各コンテンツの特徴ビットコードとのハミング距離に基づき、前記コンテンツ記憶部に記憶されているコンテンツの中から、前記クエリ用コンテンツに類似するコンテンツを検索する検索部と、
    前記検索部にて検索されたコンテンツまたは当該コンテンツに対応付けられたデータを出力する出力部と、
    を備えたコンテンツ検索装置。
  2. 前記コンテンツ記憶部には、相互に類似する2つのコンテンツからなるコンテンツのペアが1つ以上記憶され、
    前記線形変換行列生成部は、前記線形変換行列を用いて線形変換して得られる前記ペアの特徴ベクトル相互のユークリッド距離を、前記コンテンツ記憶部に含まれるすべてのペアについて求め、その合計を最小化させる前記線形変換行列を生成することを特徴とする請求項1に記載のコンテンツ検索装置。
  3. 前記線形変換行列は、疎行列であることを特徴とする請求項1または請求項2に記載のコンテンツ検索装置。
  4. 前記線形変換行列生成部は、前記線形変換行列の各要素の絶対値の総和を最小化させる前記線形変換行列を生成することを特徴とする請求項1から3のいずれかに記載のコンテンツ検索装置。
  5. 前記コンテンツ記憶部には、相互に類似する2つのコンテンツからなるコンテンツのペアが1つ以上記憶され、
    前記線形変換行列生成部は、前記コンテンツ記憶部に含まれるすべてのペアについて、各ペアを構成するコンテンツの特徴ベクトルの差分を要素とする行列ΔP、求めるべき線形変換行列W、および、0以上1以下の設定値λを用いて、
    Figure 0005563016
    で定義されるコスト関数f(w)を、各コンテンツのすべての前記特徴ベクトルを要素とする行列Qを用いた条件式
    Figure 0005563016
    の下で最小化するように、前記線形変換行列Wを生成することを特徴とする請求項1から4のいずれかに記載のコンテンツ検索装置。
  6. コンテンツ記憶部に記憶されているコンテンツの中から、クエリ用コンテンツと類似のコンテンツを検索する、コンテンツ検索装置が実行するコンテンツ検索方法であって、
    前記コンテンツ記憶部に記憶された各コンテンツの特徴ベクトルを生成するステップと、
    前記特徴ベクトルを線形変換するための線形変換行列であって、線形変換して得られた特徴ベクトルの分散共分散行列を単位行列に比例させる線形変換行列を生成して線形変換行列記憶部に記憶するステップと、
    前記各コンテンツの特徴ベクトルを、前記線形変換行列記憶部から取得した前記線形変換行列を用いて線形変換し、線形変換して得られた特徴ベクトルをビットコード化関数を用いてビットコード化することにより、前記コンテンツ記憶部に記憶された各コンテンツの特徴ビットコードを生成して特徴ビットコード記憶部に記憶するステップと、
    前記クエリ用コンテンツを取得するステップと、
    前記クエリ用コンテンツの特徴ベクトルを生成するステップと、
    前記クエリ用コンテンツの特徴ベクトルを、前記線形変換行列記憶部から取得した前記線形変換行列を用いて線形変換し、線形変換して得られた特徴ベクトルをビットコード化関数を用いてビットコード化することにより、前記クエリ用コンテンツの特徴ビットコードを生成するステップと、
    前記特徴ビットコード記憶部から取得した前記各コンテンツの特徴ビットコードと、前記クエリ用コンテンツの特徴ビットコードとのハミング距離に基づき、前記コンテンツ記憶部に記憶されているコンテンツの中から、前記クエリ用コンテンツに類似するコンテンツを検索するステップと、
    前記コンテンツ記憶部に記憶されているコンテンツの中から前記クエリ用コンテンツに類似するコンテンツとして検索されたコンテンツまたは当該コンテンツに対応付けられたデータを出力するステップと、
    を備えたコンテンツ検索方法。
  7. コンテンツ記憶部に記憶されているコンテンツの中から、クエリ用コンテンツと類似のコンテンツを検索するためのプログラムであって、コンピュータに、
    前記コンテンツ記憶部に記憶された各コンテンツの特徴ベクトルを生成するステップと、
    前記特徴ベクトルを線形変換するための線形変換行列であって、線形変換して得られた特徴ベクトルの分散共分散行列を単位行列に比例させる線形変換行列を生成して線形変換行列記憶部に記憶するステップと、
    前記各コンテンツの特徴ベクトルを、前記線形変換行列記憶部から取得した前記線形変換行列を用いて線形変換し、線形変換して得られた特徴ベクトルをビットコード化関数を用いてビットコード化することにより、前記コンテンツ記憶部に記憶された各コンテンツの特徴ビットコードを生成して特徴ビットコード記憶部に記憶するステップと、
    前記クエリ用コンテンツを取得するステップと、
    前記クエリ用コンテンツの特徴ベクトルを生成するステップと、
    前記クエリ用コンテンツの特徴ベクトルを、前記線形変換行列記憶部から取得した前記線形変換行列を用いて線形変換し、線形変換して得られた特徴ベクトルをビットコード化関数を用いてビットコード化することにより、前記クエリ用コンテンツの特徴ビットコードを生成するステップと、
    前記特徴ビットコード記憶部から取得した前記各コンテンツの特徴ビットコードと、前記クエリ用コンテンツの特徴ビットコードとのハミング距離に基づき、前記コンテンツ記憶部に記憶されているコンテンツの中から、前記クエリ用コンテンツに類似するコンテンツを検索するステップと、
    前記コンテンツ記憶部に記憶されているコンテンツの中から前記クエリ用コンテンツに類似するコンテンツとして検索されたコンテンツまたは当該コンテンツに対応付けられたデータを出力するステップと、
    を実行させるプログラム。



  8. コンテンツ記憶部に記憶されているコンテンツの中から、クエリ用コンテンツに類似するコンテンツを検索する検索装置に用いられ、前記コンテンツと前記クエリ用コンテンツとを特徴ビットコード間のハミング距離によって比較できるように、前記コンテンツと前記クエリ用コンテンツの特徴ビットコードを生成する特徴ビットコード生成装置であって、
    前記コンテンツ記憶部からコンテンツを読み出し、前記コンテンツの特徴ベクトルを生成する特徴ベクトル生成部と、
    前記特徴ベクトルを線形変換するための線形変換行列であって、線形変換して得られる特徴ベクトルの分散共分散行列を単位行列に比例させる線形変換行列を生成する線形変換行列生成部と、
    前記線形変換行列生成部にて生成された線形変換行列を記憶する線形変換行列記憶部と、
    コンテンツの特徴ベクトルを前記線形変換行列を用いて線形変換し、線形変換して得られた特徴ベクトルをビットコード化関数を用いてビットコード化することにより、コンテンツの特徴ビットコードを生成する特徴ビットコード生成部と、
    を備えた特徴ビットコード生成装置。
JP2012122594A 2012-05-30 2012-05-30 情報検索装置、情報検索方法及びプログラム Active JP5563016B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012122594A JP5563016B2 (ja) 2012-05-30 2012-05-30 情報検索装置、情報検索方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012122594A JP5563016B2 (ja) 2012-05-30 2012-05-30 情報検索装置、情報検索方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2013246810A JP2013246810A (ja) 2013-12-09
JP5563016B2 true JP5563016B2 (ja) 2014-07-30

Family

ID=49846483

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012122594A Active JP5563016B2 (ja) 2012-05-30 2012-05-30 情報検索装置、情報検索方法及びプログラム

Country Status (1)

Country Link
JP (1) JP5563016B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6156126B2 (ja) * 2013-12-19 2017-07-05 富士通株式会社 検索方法、検索プログラムおよび検索装置
US10394777B2 (en) 2015-09-24 2019-08-27 Google Llc Fast orthogonal projection
CN107636639B (zh) * 2015-09-24 2021-01-08 谷歌有限责任公司 快速的正交投影
US20180068023A1 (en) * 2016-09-07 2018-03-08 Facebook, Inc. Similarity Search Using Polysemous Codes
US11163777B2 (en) * 2018-10-18 2021-11-02 Oracle International Corporation Smart content recommendations for content authors

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102460511B (zh) * 2009-06-10 2014-04-16 公立大学法人大阪府立大学 用于物体识别的图像数据库的制作方法以及制作装置
WO2011018823A1 (ja) * 2009-08-12 2011-02-17 株式会社 東芝 パターン認識装置、その方法、及びそのプログラム

Also Published As

Publication number Publication date
JP2013246810A (ja) 2013-12-09

Similar Documents

Publication Publication Date Title
WO2020143184A1 (zh) 知识融合方法、装置、计算机设备和存储介质
CN107766555B (zh) 基于软约束无监督型跨模态哈希的图像检索方法
US20160292591A1 (en) Streamlined analytic model training and scoring system
JP5563016B2 (ja) 情報検索装置、情報検索方法及びプログラム
JP2017220222A (ja) データグラフを比較する方法、プログラム、及び装置
Liu et al. Dense auto-encoder hashing for robust cross-modality retrieval
CN112241481A (zh) 基于图神经网络的跨模态新闻事件分类方法及系统
WO2014068990A1 (ja) 関連性判定装置、同上用持続的有形コンピュータ読み取り媒体、及び関連性判定方法
Yang et al. NSDH: A nonlinear supervised discrete hashing framework for large-scale cross-modal retrieval
EP4152212A1 (en) Data processing method and device
CN113190754A (zh) 一种基于异构信息网络表示学习的推荐方法
CN113159013B (zh) 基于机器学习的段落识别方法、装置、计算机设备和介质
CN113761219A (zh) 基于知识图谱的检索方法、装置、电子设备及存储介质
CN113627190A (zh) 可视化数据转换方法、装置、计算机设备及存储介质
Choi et al. Similarity learning to enable building searches in post‐event image data
Wang et al. File fragment type identification with convolutional neural networks
CN117635275B (zh) 基于大数据的智能电商运营商品管理平台及方法
Belharbi et al. Deep neural networks regularization for structured output prediction
Wang et al. TDR: Two-stage deep recommendation model based on mSDA and DNN
Zhang et al. Deep multimodal clustering with cross reconstruction
Karantaidis et al. Adaptive hypergraph learning with multi-stage optimizations for image and tag recommendation
JP6259671B2 (ja) 関連性判定装置、関連性判定プログラム、及び関連性判定方法
WO2020183267A1 (ja) 画像検索方法、画像検索システム
Feng et al. Discriminative bit selection hashing in RGB-D based object recognition for robot vision
JPWO2012077818A1 (ja) ハッシュ関数の変換行列を定める方法、該ハッシュ関数を利用するハッシュ型近似最近傍探索方法、その装置及びそのコンピュータプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140401

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140512

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140603

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140611

R150 Certificate of patent or registration of utility model

Ref document number: 5563016

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250