(57)【要約】【課題】類似コンテンツの検索を高精度かつ高速に行うことができるコンテンツ検索装置及びコンテンツ検索方法を提供することを目的とする。【解決手段】コンテンツ検索装置１は、クエリ情報と検索対象コンテンツとを取得する取得部１１と、クエリ情報と検索対象コンテンツとから特徴種別ごとの特徴量を要素に含む特徴ベクトルを抽出する特徴ベクトル抽出部１２と、それぞれの特徴ベクトルを特定の特徴種別ごとに分解する特徴ベクトル分解部１３と、分解されたそれぞれの特徴ベクトル間で近似最近傍探索を適用して特定の特徴種別ごとに特徴種別類似コンテンツを検索する特徴種別検索部１４と、クエリ情報と特徴種別類似コンテンツとの特徴ベクトル間で距離に基づく類似度計算を適用して類似コンテンツを検索する類似コンテンツ検索部１５と、類似コンテンツを出力する出力部１６と、を備える。【選択図】図１
2012078930.tif 000002
【特許請求の範囲】
【請求項１】
クエリ情報と類似する類似コンテンツを複数の検索対象コンテンツから検索するコンテンツ検索装置であって、
クエリ情報と複数の検索対象コンテンツとを取得する取得手段と、
前記取得手段によって取得されたクエリ情報から当該クエリ情報の特徴種別ごとの特徴量を要素に含む特徴ベクトルを抽出し、前記取得手段によって取得された検索対象コンテンツから当該検索対象コンテンツの特徴種別ごとの特徴量を要素に含む特徴ベクトルを抽出する特徴ベクトル抽出手段と、
前記特徴ベクトル抽出手段によって抽出されたクエリ情報の特徴ベクトルと検索対象コンテンツの特徴ベクトルとを、特定の特徴種別ごとに分解する特徴ベクトル分解手段と、
前記特徴ベクトル分解手段によって特定の特徴種別ごとに分解されたクエリ情報の特徴ベクトルと検索対象コンテンツの特徴ベクトルとの間で近似最近傍探索を適用して、特定の特徴種別ごとにクエリ情報と類似する検索対象コンテンツを特徴種別類似コンテンツとして検索する特徴種別検索手段と、
前記取得手段によって取得されたクエリ情報の特徴ベクトルと、前記特徴種別検索手段によって検索された特徴種別類似コンテンツの特徴ベクトルとの間で距離に基づく類似度計算を適用して、クエリ情報と類似する特徴種別類似コンテンツを類似コンテンツとして検索する類似コンテンツ検索手段と、
前記類似コンテンツ検索手段によって検索された類似コンテンツを出力する出力手段と、
を備えることを特徴とするコンテンツ検索装置。
【請求項２】
前記近似最近傍探索は、Locality Sensitive Hashingである、
ことを特徴とする請求項１に記載のコンテンツ検索装置。
【請求項３】
クエリ情報と類似する類似コンテンツを複数の検索対象コンテンツから検索するコンテンツ検索装置により実行されるコンテンツ検索方法であって、
前記コンテンツ検索装置が、クエリ情報と複数の検索対象コンテンツとを取得する取得ステップと、
前記コンテンツ検索装置が、前記取得ステップにおいて取得されたクエリ情報から当該クエリ情報の特徴種別ごとの特徴量を要素に含む特徴ベクトルを抽出し、前記取得ステップにおいて取得された検索対象コンテンツから当該検索対象コンテンツの特徴種別ごとの特徴量を要素に含む特徴ベクトルを抽出する特徴ベクトル抽出ステップと、
前記コンテンツ検索装置が、前記特徴ベクトル抽出ステップにおいて抽出されたクエリ情報の特徴ベクトルと検索対象コンテンツの特徴ベクトルとを、特定の特徴種別ごとに分解する特徴ベクトル分解ステップと、
前記コンテンツ検索装置が、前記特徴ベクトル分解ステップにおいて特定の特徴種別ごとに分解されたクエリ情報の特徴ベクトルと検索対象コンテンツの特徴ベクトルとの間で近似最近傍探索を適用して、特定の特徴種別ごとにクエリ情報と類似する検索対象コンテンツを特徴種別類似コンテンツとして検索する特徴種別検索ステップと、
前記コンテンツ検索装置が、前記取得ステップにおいて取得されたクエリ情報の特徴ベクトルと、前記特徴種別検索ステップにおいて検索された特徴種別類似コンテンツの特徴ベクトルとの間で距離に基づく類似度計算を適用して、クエリ情報と類似する特徴種別類似コンテンツを類似コンテンツとして検索する類似コンテンツ検索ステップと、
前記コンテンツ検索装置が、前記類似コンテンツ検索ステップにおいて検索された類似コンテンツを出力する出力ステップと、
を含むことを特徴とするコンテンツ検索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、類似するコンテンツを検索するコンテンツ検索装置及びコンテンツ検索方法に関する。
【背景技術】
【０００２】
従来、クエリ情報と類似する類似コンテンツを複数の検索対象コンテンツから検索する検索方法として、クエリ情報と検索対象コンテンツとを複数の特徴量を要素に持つ特徴ベクトルとして表現し、特徴ベクトル間の類似度を計算することで類似コンテンツを検索する方法が知られている。しかしながら、クエリ情報と全検索対象コンテンツとのペアにおける類似度を厳密に計算する場合、全組み合わせを計算する必要があり、検索対象コンテンツの数が多ければ計算量が膨大となる。特に、２次元を超える高次元ベクトル空間における高速なアルゴリズムは知られていない。
【０００３】
そこで近年、厳密に計算する検索方法ではなく、検索における計算量を削減する近似的な検索方法が研究されている。近似的な検索方法の一例として、特徴ベクトルを絞り込むことによって検索における計算量を削減することができる近似最近傍探索が挙げられる。非特許文献１には、近似最近傍探索の一つであるLocality Sensitive Hashingが開示されている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Aristides Gionis, Piotr Indyk, and Rajeev Motwani. Similarity Search in High Dimensions via Hashing. Proceedings of the 25th International Conference on Very Large Data Bases, p.518-529. 1999.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、例えばジャンル、タイトル、監督、出演俳優、説明文、及び再生時間等の特徴種別から構成される動画等のように、複数の特徴種別を有するコンテンツに対して近似的な検索方法を適用する場合、検索する際に複数の特徴種別が一体として絞り込まれる。そのため、検索における計算対象から一部の特徴種別が漏れて、当該一部の特徴種別の類似度が検索結果において反映されないおそれがある。例えば、アクション、ホラー、スポーツ等の少数の特徴しか含まない「ジャンル」のような特徴種別がクエリ情報と検索対象コンテンツとに含まれる場合を想定する。その場合、クエリ情報に含まれる当該特徴種別と、ある検索対象コンテンツに含まれる当該特徴種別との類似度が高い場合でも、当該検索対象コンテンツが類似コンテンツに含まれないおそれがある。
【０００６】
そこで、上述の課題を解決するために、本発明は、類似コンテンツの検索を高精度かつ高速に行うことができるコンテンツ検索装置及びコンテンツ検索方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述の課題を解決するために、本発明のコンテンツ検索装置は、クエリ情報と類似する類似コンテンツを複数の検索対象コンテンツから検索するコンテンツ検索装置であって、クエリ情報と複数の検索対象コンテンツとを取得する取得手段と、取得手段によって取得されたクエリ情報から当該クエリ情報の特徴種別ごとの特徴量を要素に含む特徴ベクトルを抽出し、取得手段によって取得された検索対象コンテンツから当該検索対象コンテンツの特徴種別ごとの特徴量を要素に含む特徴ベクトルを抽出する特徴ベクトル抽出手段と、特徴ベクトル抽出手段によって抽出されたクエリ情報の特徴ベクトルと検索対象コンテンツの特徴ベクトルとを、特定の特徴種別ごとに分解する特徴ベクトル分解手段と、特徴ベクトル分解手段によって特定の特徴種別ごとに分解されたクエリ情報の特徴ベクトルと検索対象コンテンツの特徴ベクトルとの間で近似最近傍探索を適用して、特定の特徴種別ごとにクエリ情報と類似する検索対象コンテンツを特徴種別類似コンテンツとして検索する特徴種別検索手段と、取得手段によって取得されたクエリ情報の特徴ベクトルと、特徴種別検索手段によって検索された特徴種別類似コンテンツの特徴ベクトルとの間で距離に基づく類似度計算を適用して、クエリ情報と類似する特徴種別類似コンテンツを類似コンテンツとして検索する類似コンテンツ検索手段と、類似コンテンツ検索手段によって検索された類似コンテンツを出力する出力手段と、を備えている。
【０００８】
また、本発明のコンテンツ検索方法は、クエリ情報と類似する類似コンテンツを複数の検索対象コンテンツから検索するコンテンツ検索装置により実行されるコンテンツ検索方法であって、コンテンツ検索装置が、クエリ情報と複数の検索対象コンテンツとを取得する取得ステップと、コンテンツ検索装置が、取得ステップにおいて取得されたクエリ情報から当該クエリ情報の特徴種別ごとの特徴量を要素に含む特徴ベクトルを抽出し、取得ステップにおいて取得された検索対象コンテンツから当該検索対象コンテンツの特徴種別ごとの特徴量を要素に含む特徴ベクトルを抽出する特徴ベクトル抽出ステップと、コンテンツ検索装置が、特徴ベクトル抽出ステップにおいて抽出されたクエリ情報の特徴ベクトルと検索対象コンテンツの特徴ベクトルとを、特定の特徴種別ごとに分解する特徴ベクトル分解ステップと、コンテンツ検索装置が、特徴ベクトル分解ステップにおいて特定の特徴種別ごとに分解されたクエリ情報の特徴ベクトルと検索対象コンテンツの特徴ベクトルとの間で近似最近傍探索を適用して、特定の特徴種別ごとにクエリ情報と類似する検索対象コンテンツを特徴種別類似コンテンツとして検索する特徴種別検索ステップと、コンテンツ検索装置が、取得ステップにおいて取得されたクエリ情報の特徴ベクトルと、特徴種別検索ステップにおいて検索された特徴種別類似コンテンツの特徴ベクトルとの間で距離に基づく類似度計算を適用して、クエリ情報と類似する特徴種別類似コンテンツを類似コンテンツとして検索する類似コンテンツ検索ステップと、コンテンツ検索装置が、類似コンテンツ検索ステップにおいて検索された類似コンテンツを出力する出力ステップと、を含んでいる。
【０００９】
この発明によれば、クエリ情報と類似する類似コンテンツを複数の検索対象コンテンツから検索するコンテンツ検索装置であって、取得したクエリ情報の特徴種別ごとの特徴量を要素に含む特徴ベクトルと、取得した検索対象コンテンツの特徴種別ごとの特徴量を要素に含む特徴ベクトルとを抽出し、抽出したそれぞれの特徴ベクトルを特定の特徴種別ごとに分解する。そして、特定の特徴種別ごとに分解したクエリ情報の特徴ベクトルと検索対象コンテンツの特徴ベクトルとの間で近似最近傍探索を適用して、特定の特徴種別ごとにクエリ情報と類似する検索対象コンテンツを特徴種別類似コンテンツとして検索する。このように、特徴ベクトルを特定の特徴種別ごとに分解して検索を行うことで、当該特定の特徴種別が検索における計算対象から漏れることなく、検索結果に確実に反映され、高精度な検索を行うことができる。また、検索方法として近似最近傍探索を適用することで、検索対象コンテンツの数が多い場合でも高速な検索を行うことができる。
【００１０】
続いて、本発明のコンテンツ検索装置は、取得したクエリ情報の特徴ベクトルと、検索した特徴種別類似コンテンツの特徴ベクトルとの間で距離に基づく類似度計算を適用して、クエリ情報と類似する特徴種別類似コンテンツを類似コンテンツとして検索し、出力する。このように、近似最近傍探索を適用して特定の特徴種別ごとに検索された特徴種別類似コンテンツに対して、さらに距離に基づいて類似度計算を行うことで、さらに検索精度を向上することができる。また、検索対象コンテンツの数が多い場合でも、特徴種別類似コンテンツが検索された段階でコンテンツの数が絞り込まれているため、特徴種別類似コンテンツに対して距離に基づく類似度計算を適用しても、高速に検索を行うことができる。
【００１１】
また、本発明のコンテンツ検索装置において、近似最近傍探索は、Locality Sensitive Hashingであることが好ましい。
【００１２】
この発明によれば、類似検索においてLocality Sensitive Hashingを適用することで、特徴ベクトルが高次元ベクトルであっても高速に検索することができる。また、特定の特徴種別ごとに分解した特徴ベクトルに対してLocality Sensitive Hashingにおけるハッシュ化を行うため、当該特定の特徴種別が検索における計算対象から漏れることなく、検索結果に確実に反映され、高精度な検索を行うことができる。
【発明の効果】
【００１３】
本発明によれば、類似コンテンツの検索を高精度かつ高速に行うことができる。
【図面の簡単な説明】
【００１４】
【図１】本実施形態のコンテンツ検索装置を含むシステム構成を示す構成図である。
【図２】本実施形態のコンテンツ検索装置のハードウェア構成図である。
【図３】本実施形態の検索対象コンテンツ及び特徴辞書を示す図である。
【図４】本実施形態の検索対象コンテンツの特徴ベクトルを示す図である。
【図５】本実施形態の特徴種別ごとに分解された検索対象コンテンツの特徴ベクトルを示す図である。
【図６】本実施形態における特徴種別類似コンテンツを検索する手順を示す図である（その１）。
【図７】本実施形態における特徴種別類似コンテンツを検索する手順を示す図である（その２）。
【図８】本実施形態における特徴種別類似コンテンツを検索する手順を示す図である（その３）。
【図９】本実施形態における特徴種別類似コンテンツを検索する手順を示す図である（その４）。
【図１０】本実施形態における特徴種別類似コンテンツを検索する手順を示す図である（その５）。
【図１１】本実施形態における類似コンテンツを検索する手順を示す図である。
【図１２】本実施形態のコンテンツ検索装置の処理を示すフローチャート図である。
【発明を実施するための形態】
【００１５】
以降、添付図面を参照しながら本発明の実施形態を説明する。可能な場合には、同一の部分には同一の符号を付して、重複する説明を省略する。
【００１６】
図１は、本実施形態のコンテンツ検索装置１を含むシステム構成を示す構成図である。図１に示される通り、コンテンツ検索装置１は、携帯端末２から公衆通信網３を介して接続される。携帯端末２は、例えば、携帯電話、及びＰＤＡ（Personal Digital Assistant）等である。また、図１に示されるコンテンツ検索装置１の機能ブロックの通り、このコンテンツ検索装置１は、機能構成として、取得部１１（取得手段）、特徴ベクトル抽出部１２（特徴ベクトル抽出手段）、特徴ベクトル分解部１３（特徴ベクトル分解手段）、特徴種別検索部１４（特徴種別検索手段）、類似コンテンツ検索部１５（類似コンテンツ検索手段）及び出力部１６（出力手段）を含んで構成されている。
【００１７】
このコンテンツ検索装置１は、ＣＰＵ等のハードウェアから構成されているものである。図２は、コンテンツ検索装置１のハードウェア構成図である。図１に示されるコンテンツ検索装置１は、物理的には、図２に示すように、ＣＰＵ４１、主記憶装置であるＲＡＭ４２及びＲＯＭ４３、入力デバイスであるテンキー等の入力装置４４、ディスプレイ等の出力装置４５、データ送受信デバイスである通信モジュール４６、及びハードディスク等の補助記憶装置４７等を含むコンピュータシステムとして構成されている。図１に示す各機能ブロックの機能は、図２に示すＣＰＵ４１、ＲＡＭ４２等のハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、ＣＰＵ４１の制御のもとで入力装置４４、出力装置４５、通信モジュール４６を動作させるとともに、ＲＡＭ４２や補助記憶装置４７におけるデータの読み出し及び書き込みを行うことで実現される。
【００１８】
以下、図１に示すコンテンツ検索装置１の機能ブロックに基づいて、コンテンツ検索装置１の各機能ブロックを説明する。
【００１９】
コンテンツ検索装置１は、クエリ情報と類似する類似コンテンツを複数の検索対象コンテンツから検索する装置である。クエリ情報とは、検索する際のクエリとなる情報である。また、検索対象コンテンツとは、検索する際の検索対象となるコンテンツである。例えば、コンテンツ検索装置１が動画検索システムであり、コンテンツ検索装置１が、ユーザが携帯端末２で閲覧中の動画ファイルと内容が類似した（動画ファイルに紐付く、キーワードを含むタグの内容同士が類似した）動画ファイルをコンテンツ検索装置１内に格納された複数の動画ファイルから検索して携帯端末２に提供する場合、クエリ情報は閲覧中の動画ファイルであり、検索対象コンテンツは格納された動画ファイルである。
【００２０】
コンテンツ検索装置１の実施形態は動画検索システムに限るものではない。例えば、コンテンツ検索装置１はＷＥＢサイト検索システムであってもよい。その場合、コンテンツ検索装置１が、携帯端末２からクエリ情報であるキーワードテキストを取得し、コンテンツ検索装置１が予めＷＷＷ（World Wide Web）より収集した検索対象コンテンツである複数のＷＥＢサイトから、キーワードテキストそのもの、あるいはキーワードテキストと類似するテキストをその内容に含むＷＥＢサイトを検索し、携帯端末２に提供する。
【００２１】
取得部１１は、クエリ情報と複数の検索対象コンテンツとを取得する。クエリ情報と検索対象コンテンツとの取得元は限定されない。例えば、取得部１１は、通信モジュール４６を介して携帯端末２からクエリ情報を取得し、予め補助記憶装置４７に格納された検索対象コンテンツを取得してもよい。取得部１１は、取得したクエリ情報と複数の検索対象コンテンツとを補助記憶装置４７に格納してもよいし、ＲＡＭ４２のような一時的な記憶領域に格納してもよい。
【００２２】
特徴ベクトル抽出部１２は、取得部１１によって取得されたクエリ情報から当該クエリ情報の特徴種別ごとの特徴量を要素に含む特徴ベクトルを抽出する。また、特徴ベクトル抽出部１２は、取得部１１によって取得された検索対象コンテンツから当該検索対象コンテンツの特徴種別ごとの特徴量を要素に含む特徴ベクトルを抽出する。特徴種別とは、情報やコンテンツ等の特徴の種別である。図３（ａ）は、検索対象コンテンツの例を示す図である。図３（ａ）に示す検索対象コンテンツでは、３つの検索対象コンテンツが含まれており、表の各行が１つの検索対象コンテンツを表し、それぞれのコンテンツＩＤは上から順にＣ１、Ｃ２及びＣ３である。図３（ａ）に示す検索対象コンテンツは、エンターテイメント業界におけるコンテンツであり、表の内容がコンテンツの特徴であり、表の見出し行に含まれる“カテゴリ”、“出演者”及び“説明文”がそれぞれ特徴種別である。
【００２３】
続いて、特徴ベクトル抽出部１２が、図３（ｂ）に示す特徴辞書を利用して、図３（ａ）に示す検索対象コンテンツから当該検索対象コンテンツの特徴種別ごとの特徴量を要素に含む特徴ベクトルを抽出する手順を説明する。特徴辞書では、抽出する特徴ベクトルの要素である特徴量を算出する際に必要となる主特徴を定義する。主特徴にマッチングする内容が、特徴ベクトルの抽出対象である情報またはコンテンツ等に含まれる頻度等に基づいて特徴量が算出される。図３（ｂ）に示す特徴辞書において、“主特徴ＩＤ”は主特徴のＩＤを示し、“特徴種別”は主特徴の特徴種別を示し、“主特徴名”は主特徴である単語名を示す。本実施形態においては、検索対象コンテンツ内の“主特徴名”の単語の出現回数を特徴量とする。
【００２４】
まず、特徴ベクトル抽出部１２が、図３（ａ）においてコンテンツＩＤがＣ１の検索対象コンテンツ（以降“検索対象コンテンツＣ１”と表記する。他の検索対象コンテンツも同様に表記する）から正規化前特徴ベクトルを抽出する手順を説明する。特徴辞書において、主特徴ＩＤがＦ１の主特徴（以降“主特徴Ｆ１”と表記する。他の主特徴も同様に表記する）は、特徴種別が“カテゴリ”、主特徴名が“音楽”である。検索対象コンテンツＣ１の特徴種別が“カテゴリ”である内容には、“音楽”という単語は含まれていないので、特徴ベクトル抽出部１２は、検索対象コンテンツＣ１の主特徴Ｆ１の特徴量を０とする。次に、主特徴Ｆ２において、検索対象コンテンツＣ１の特徴種別が“カテゴリ”である内容には、“アイドル”という単語が１つ含まれているので、特徴ベクトル抽出部１２は、検索対象コンテンツＣ１の主特徴Ｆ２の特徴量を１とする。特徴ベクトル抽出部１２は、残りの各主特徴の特徴量を同様に算出し、検索対象コンテンツＣ１の主特徴Ｆ３の特徴量を１、主特徴Ｆ４の特徴量を０、主特徴Ｆ５の特徴量を０、主特徴Ｆ６の特徴量を１とする。このようにして、特徴ベクトル抽出部１２は、検索対象コンテンツＣ１と主特徴Ｆ１〜Ｆ６より、正規化前特徴ベクトル（０，１，１，０，０，１）を抽出する。
【００２５】
同様にして、特徴ベクトル抽出部１２は、検索対象コンテンツＣ２と主特徴Ｆ１〜Ｆ６より、正規化前特徴ベクトル（１，０，０，０，１，０）を抽出し、検索対象コンテンツＣ３と主特徴Ｆ１〜Ｆ６より、正規化前特徴ベクトル（１，０，０，１，１，０）を抽出する。このように、特徴ベクトル抽出部１２が、図３（ａ）に示す検索対象コンテンツと図３（ｂ）に示す特徴辞書とを利用して抽出した検索対象コンテンツＣ１〜Ｃ３のそれぞれの正規化前特徴ベクトルを図４（ａ）に示す。
【００２６】
続いて、特徴ベクトル抽出部１２は、各検索対象コンテンツＣ１〜Ｃ３の正規化前特徴ベクトルを正規化する。正規化前特徴ベクトルの正規化は、特徴ベクトルに含まれる各主特徴の特徴量を、各主特徴の特徴量の２乗の和の平方根で割ることで行う。例えば、検索対象コンテンツＣ１の正規化前特徴ベクトルの正規化において、主特徴Ｆ１〜Ｆ６の特徴量の２乗の和の平方根は（０２＋１２＋１２＋０２＋０２＋１２）１／２＝１．７３であり（小数点以下３位は切り捨て。以下同様）、１／１．７３＝０．５７であるため、特徴ベクトル抽出部１２により正規化された正規化前特徴ベクトルである特徴ベクトルは（０，０．５７，０．５７，０，０，０．５７）となる。特徴ベクトル抽出部１２は、同様の計算により、検索対象コンテンツＣ１及びＣ２の正規化された特徴ベクトルをそれぞれ（０．７０，０，０，０，０．７０，０）及び（０．５７，０，０，０．５７，０．５７，０）と抽出する。
【００２７】
図４（ｂ）は、特徴ベクトル抽出部１２によって抽出された検索対象コンテンツＣ１〜Ｃ３の正規化された特徴ベクトルを示す。なお、図４（ａ）及び（ｂ）に示す通り、各特徴ベクトルは、検索対象コンテンツの特徴種別である“カテゴリ”、“説明文”及び“出演者”の特徴量を要素に含んでいる。
【００２８】
図３及び図４を利用して、検索対象コンテンツから当該検索対象コンテンツの特徴種別ごとの特徴量を要素に含む特徴ベクトルを抽出する手順を説明したが、クエリ情報から当該クエリ情報の特徴種別ごとの特徴量を要素に含む特徴ベクトルを抽出する手順も同様のため、説明を省略する。なお、特徴ベクトル抽出部１２は、正規化を省略し、正規化前特徴ベクトルを特徴ベクトルとして抽出してもよい。
【００２９】
特徴ベクトル分解部１３は、特徴ベクトル抽出部１２によって抽出されたクエリ情報の特徴ベクトルと検索対象コンテンツの特徴ベクトルとを、特定の特徴種別ごとに分解する。
【００３０】
特徴ベクトル分解部１３が、図４（ｂ）に示す検索対象コンテンツＣ１〜Ｃ３の特徴ベクトルを、特徴種別“カテゴリ”、“説明文”及び“出演者”ごとに分解したものを図５に示す。図５（ａ）は、検索対象コンテンツＣ１〜Ｃ３の特徴ベクトルを、特徴種別“カテゴリ”に分解したもの、図５（ｂ）は、特徴種別“説明文”に分解したもの、図５（ｃ）は、特徴種別“出演者”に分解したものを示す。
【００３１】
特徴種別検索部１４は、特徴ベクトル分解部１３によって特定の特徴種別ごとに分解されたクエリ情報の特徴ベクトルと検索対象コンテンツの特徴ベクトルとの間で近似最近傍探索を適用して、特定の特徴種別ごとにクエリ情報と類似する検索対象コンテンツを特徴種別類似コンテンツとして検索する。近似最近傍探索は、非特許文献１で開示されているLocality Sensitive Hashingであってもよい。
【００３２】
特徴種別検索部１４は、図５（ａ）に示す、特徴種別“カテゴリ”に分解された検索対象コンテンツＣ１〜Ｃ３の特徴ベクトルと、同様にして特徴種別“カテゴリ”に分解されたクエリ情報の特徴ベクトルとの間で近似最近傍探索を適用して、特徴種別“カテゴリ”における特徴種別類似コンテンツを抽出する。同様に、特徴種別検索部１４は、特徴種別“説明文”及び特徴種別“出演者”における特徴種別類似コンテンツを抽出する。
【００３３】
以降、図６〜図９を用いて、特徴種別検索部１４によるLocality Sensitive Hashingを適用した類似検索の具体例を説明する。なお、以降の説明で用いる特徴ベクトルは、説明の便宜上、図５に示す特徴量を含む特徴ベクトルを用いず、簡略化した値を特徴量として含む特徴ベクトルを用いる。
【００３４】
本実施形態では、特徴種別検索部１４は、Locality Sensitive Hashingにより、クエリ情報ｉ５と類似する類似コンテンツをｎ個の検索対象コンテンツｉ１〜ｉｎ（クエリ情報ｉ５を含む）から検索する。図６（ａ）はｍ個の特徴量である要素から構成される特徴ベクトルにより表現されるｎ個の検索対象コンテンツｉ１〜ｉｎを示す。例えば、検索対象コンテンツｉ１は、Ｖ１〜Ｖｍ列によって示される（１，０，０，１，１，１）の特徴ベクトルにより表現される。
【００３５】
まず、特徴種別検索部１４は、図６（ｂ）に示すように、ｍ個の特徴量である要素から構成される特徴ベクトルにより表現されるｋ個のダミーコンテンツｄ１〜ｄｋを作成する。ダミーコンテンツの特徴ベクトルの要素である特徴量はランダムに生成する。なお、検索対象コンテンツｉ１〜ｉｎとダミーコンテンツｄ１〜ｄｋとの特徴ベクトルの要素である特徴量は、本実施形態に示すような２ビット値に限定されず、任意の値をとってもよい。
【００３６】
次に、特徴種別検索部１４は、検索対象コンテンツｉ１〜ｉｎとダミーコンテンツｄ１〜ｄｋとの特徴ベクトルの類似度に基づき、図６（ｃ）に示すハッシュ表を作成する。具体的には、特徴種別検索部１４は、検索対象コンテンツｉ１とダミーコンテンツｄ１との特徴ベクトルの類似度を、例えば、両特徴ベクトルの内積の値が、所定の値未満の場合は類似していないとして０を、所定の値以上の場合は類似しているとして１を、ハッシュ表のｉ１行ｈ１列に出力する。同様に、特徴種別検索部１４は、検索対象コンテンツｉ２とダミーコンテンツｄ１との特徴ベクトルの類似度をハッシュ表のｉ２行ｈ１列に出力し、最終的に検索対象コンテンツｉｎとダミーコンテンツｄ１との特徴ベクトルの類似度をハッシュ表のｉｎ行ｈ１列に出力する。
【００３７】
同様に、特徴種別検索部１４は、検索対象コンテンツｉ１〜ｉｎとダミーコンテンツｄ２との特徴ベクトルの類似度をハッシュ表のｉ１〜ｉｎ行ｈ２列に出力する。同様にして、特徴種別検索部１４は、最終的に、検索対象コンテンツｉ１〜ｉｎとダミーコンテンツｄｋとの特徴ベクトルの類似度をハッシュ表のｉ１〜ｉｎ行ｈｋ列に出力する。以上により、図６（ｃ）に示すハッシュ表が完成する。以降、図６（ｃ）に示すハッシュ表の各行であるｉ１〜ｉｎを、それぞれハッシュ化検索対象コンテンツと呼ぶ。
【００３８】
次に、特徴種別検索部１４は、ハッシュ表の各行を辞書順にソートする。例えば、特徴種別検索部１４は、図７（ａ）に示すハッシュ表の各行を辞書順にソートすることで、図７（ｂ）に示すソート済みのハッシュ表を生成する。図７（ｂ）に示すソート済みのハッシュ表では、ベクトル（０，０，０）を示すハッシュ化検索対象コンテンツｉ２がハッシュ表の先頭に移動し、ベクトル（１，１，１）を示すハッシュ化検索対象コンテンツｉ３がハッシュ表の末尾に移動している。このソート済みの状態が、隣り合う行のハッシュ化検索対象コンテンツに対応する検索対象コンテンツが似ている、あるいは似ている可能性が高い状態となる。
【００３９】
次に、特徴種別検索部１４は、ソート済みのハッシュ表の各行に対応する検索対象コンテンツｉ１〜ｉｎのうち、クエリ情報ｉ５と類似しているコンテンツを抽出する。具体的には、特徴種別検索部１４は、ソート済みのハッシュ表の検索対象コンテンツｉ５の近くの行に位置するコンテンツを抽出する。例えば、図８（ｂ）に示すソート済みのハッシュ表のうち、図８（ａ）に示すクエリ情報ｉ５と類似しているコンテンツとして、図８（ｂ）の検索対象コンテンツｉ５の近くの行に位置する検索対象コンテンツｉ７、ｉ３、ｉ６及びｉ９を抽出する。
【００４０】
次に、特徴種別検索部１４は、以下の動作をｊ回繰り返す。すなわち、図６（ｃ）に示すハッシュ表の列をシャッフルし、当該シャッフル済みのハッシュ表の各行を辞書順にソートし、当該ソート済みのハッシュ表の各行に対応する検索対象コンテンツｉ１〜ｉｎのうち、クエリ情報ｉ５と類似しているコンテンツを抽出する。図９はこの動作の各繰り返し内容の例を示している。図９（ａ）は、図６（ｃ）に示すハッシュ表と同じハッシュ表を示す。図９（ｂ）は、図９（ａ）に示すハッシュ表の列をシャッフルした後のシャッフル済みのハッシュ表を示す。図９（ａ）に示すハッシュ表の１列目が図９（ｂ）に示すハッシュ表の３列目に移動し、２列目が１列目に移動し、３列目が２列目に移動している。図９（ｃ）は、図９（ｂ）に示すシャッフル済みのハッシュ表の各行を辞書順にソートしたソート済みのハッシュ表を示している。
【００４１】
図１０（ａ）は、特徴種別検索部１４が上記動作をｊ回繰り返した際の、各回で抽出した、クエリ情報ｉ５と類似しているコンテンツを示している。特徴種別検索部１４は、ｊ回の繰り返し動作の中における抽出したコンテンツの抽出頻度順に、コンテンツを並べ替える。図１０（ｂ）は、特徴種別検索部１４が、図１０（ａ）のコンテンツを抽出頻度順に並べ替えたものである。例えば、検索対象コンテンツｉ３は図１０（ａ）の中で最多の３回抽出されているので、特徴種別検索部１４は、検索対象コンテンツｉ３を図１０（ｂ）の抽出頻度順のコンテンツの先頭に配置する。次に、特徴種別検索部１４は、図１０（ｂ）の抽出頻度順のコンテンツのうち、先頭から所定の数のコンテンツを、特徴種別類似コンテンツとして抽出する。
【００４２】
このように、特徴種別検索部１４は、ｊ回の繰り返し動作の中で抽出された抽出頻度の高いコンテンツを特徴種別類似コンテンツとして抽出することで、高精度な検索を行うことができる。
【００４３】
類似コンテンツ検索部１５は、取得部１１によって取得されたクエリ情報の特徴ベクトルと、特徴種別検索部１４によって検索された特徴種別類似コンテンツの特徴ベクトルとの間で距離に基づく類似度計算を適用して、クエリ情報と類似する特徴種別類似コンテンツを類似コンテンツとして検索する。距離に基づく類似度計算は、コサイン類似度に基づく計算であってもよい。類似コンテンツ検索部１５は、コサイン類似度に基づく計算を適用することで、高精度な検索を行うことができる。
【００４４】
図１１（ａ）は、特徴種別検索部１４によって検索された、特定の特徴種別である“カテゴリ”、“説明文”及び“出演者”ごとの特徴種別類似コンテンツを示している。類似コンテンツ検索部１５は、図１１（ａ）における各特徴種別類似コンテンツの抽出頻度順に、図１１（ｂ）に示すように特徴種別類似コンテンツを並べ替える。例えば、特徴種別類似コンテンツｉ６及びｉ９は図１１（ａ）の中で最多の３回抽出されているので、類似コンテンツ検索部１５は、特徴種別類似コンテンツｉ６及びｉ９を図１１（ｂ）の抽出頻度順の特徴種別類似コンテンツの先頭に配置する。類似コンテンツ検索部１５は、抽出頻度順の特徴種別類似コンテンツのうち、先頭から所定の数の特徴種別類似コンテンツを抽出する。例えば、類似コンテンツ検索部１５は、図１１（ｂ）の特徴種別類似コンテンツのうち、上位９個分の特徴種別コンテンツを抽出する。抽出後の特徴種別コンテンツを図１１（ｃ）に示す。
【００４５】
次に、類似コンテンツ検索部１５は、取得部１１によって取得されたクエリ情報ｉ５の特徴ベクトルと、図１１（ｃ）に示す特徴種別類似コンテンツの特徴ベクトルとの間でコサイン類似度に基づく検索を適用して、類似コンテンツを検索する。一般的に、クエリ情報の特徴ベクトルをｘｑ、特徴種別類似コンテンツをｘｃとした際、両特徴ベクトルのコサイン類似度は、ｘｑとｘｃとの内積を、ｘｑの長さとｘｃの長さとの積で割った値となる。式で表すと（ｘｑ・ｘｃ）／（｜ｘｑ｜｜ｘｃ｜）である。類似コンテンツ検索部１５は、コサイン類似度が高い順に特徴種別類似コンテンツを並べ、これらのうち先頭から所定の数の特徴種別類似コンテンツを類似コンテンツとして検索する。類似コンテンツ検索部１５が検索した類似コンテンツを図１１（ｄ）に示す。
【００４６】
出力部１６は、類似コンテンツ検索部１５によって検索された類似コンテンツを出力する。出力先は限定されない。例えば、出力部１６は、通信モジュール４６を介して携帯端末２に類似コンテンツを出力してもよい。また、例えば、出力部１６は、出力装置４５に類似コンテンツを出力してもよい。また、例えば、出力部１６は、補助記憶装置４７に類似コンテンツを出力（格納）してもよい。
【００４７】
次に、このように構成されたコンテンツ検索装置１の処理について説明する。図１２は、コンテンツ検索装置１の処理を示すフローチャートである。まず、取得部１１が、クエリ情報と複数の検索対象コンテンツとを取得する（Ｓ３１、取得ステップ）。次に、特徴ベクトル抽出部１２が、クエリ情報から当該クエリ情報の特徴種別ごとの特徴量を要素に含む特徴ベクトルを抽出し、検索対象コンテンツから当該検索対象コンテンツの特徴種別ごとの特徴量を要素に含む特徴ベクトルを抽出する（Ｓ３２、特徴ベクトル抽出ステップ）。
【００４８】
次に、特徴ベクトル分解部１３が、クエリ情報の特徴ベクトルと検索対象コンテンツの特徴ベクトルとを、特定の特徴種別ごとに分解する（Ｓ３３、特徴ベクトル分解ステップ）。次に、特徴種別検索部１４が、特定の特徴種別ごとに分解されたクエリ情報の特徴ベクトルと検索対象コンテンツの特徴ベクトルとの間で近似最近傍探索を適用して、特定の特徴種別ごとにクエリ情報と類似する検索対象コンテンツを特徴種別類似コンテンツとして検索する（Ｓ３４、特徴種別検索ステップ）。次に、類似コンテンツ検索部１５が、クエリ情報の特徴ベクトルと、特徴種別類似コンテンツの特徴ベクトルとの間で距離に基づく類似度計算を適用して、クエリ情報と類似する特徴種別類似コンテンツを類似コンテンツとして検索する（Ｓ３５、類似コンテンツ検索ステップ）。次に、出力部１６が、類似コンテンツを出力する（Ｓ３６、出力ステップ）。
【００４９】
上記の実施形態では、クエリ情報と検索対象コンテンツとの取得、分解及び検索などを同時に行うように説明したが、これに限るものではない。より具体的には、取得部１１、特徴ベクトル抽出部１２、特徴ベクトル分解部１３及び特徴種別検索部１４は、クエリ情報と検索対象コンテンツとの処理を同時に行わなくてもよい。例えば、取得部１１は、クエリ情報と複数の検索対象コンテンツとをそれぞれ別々のタイミングで取得してもよい。また、例えば、特徴ベクトル抽出部１２は、クエリ情報と複数の検索対象コンテンツとの特徴ベクトルをそれぞれ別々のタイミングで抽出してもよい。また、例えば、特徴ベクトル分解部１３は、クエリ情報と複数の検索対象コンテンツとの特徴ベクトルを、それぞれ別々のタイミングで特定の特徴種別ごとに分解してもよい。また、例えば、特徴種別検索部１４は、検索対象コンテンツに対して、検索における計算においてクエリ情報がない状態でも計算できる部分を予め計算しておいてよい。
【００５０】
また、上記の実施形態では、コンテンツ検索装置１と携帯端末２とが接続されたシステムとして説明したが、これに限るものではない。例えば、携帯端末２の代わりにＰＣや外部システムが接続されていてもよい。また、例えば、他のシステムと接続されずに、コンテンツ検索装置１が単体で動作してもよい。
【００５１】
次に、このように構成されたコンテンツ検索装置１の作用効果について説明する。クエリ情報と類似する類似コンテンツを複数の検索対象コンテンツから検索するコンテンツ検索装置１において、特徴ベクトル抽出部１２により、取得したクエリ情報の特徴種別ごとの特徴量を要素に含む特徴ベクトルと、取得した検索対象コンテンツの特徴種別ごとの特徴量を要素に含む特徴ベクトルとを抽出し、特徴ベクトル分解部１３により、抽出したそれぞれの特徴ベクトルを特定の特徴種別ごとに分解する。そして、特徴種別検索部１４により、特定の特徴種別ごとに分解したクエリ情報の特徴ベクトルと検索対象コンテンツの特徴ベクトルとの間で近似最近傍探索を適用して、特定の特徴種別ごとにクエリ情報と類似する検索対象コンテンツを特徴種別類似コンテンツとして検索する。このように、特徴ベクトルを特定の特徴種別ごとに分解して検索を行うことで、当該特定の特徴種別が検索における計算対象から漏れることなく、検索結果に確実に反映され、高精度な検索を行うことができる。また、検索方法として近似最近傍探索を適用することで、検索対象コンテンツの数が多い場合でも高速な検索を行うことができる。
【００５２】
続いて、類似コンテンツ検索部１５により、取得したクエリ情報の特徴ベクトルと、検索した特徴種別類似コンテンツの特徴ベクトルとの間で距離に基づく類似度計算を適用して、クエリ情報と類似する特徴種別類似コンテンツを類似コンテンツとして検索し、出力部１６により、類似コンテンツを出力する。このように、近似最近傍探索を適用して特定の特徴種別ごとに検索された特徴種別類似コンテンツに対して、さらに距離に基づいて類似度計算を行うことで、さらに検索精度を向上することができる。また、当初の検索対象コンテンツの数が多い場合でも、特徴種別類似コンテンツが検索された段階でコンテンツの数が絞り込まれているため、例えば、厳密に全コンテンツのペアにおける類似度を計算する距離に基づく類似度計算を適用しても、高速に検索を行うことができる。
【００５３】
また、類似検索においてLocality Sensitive Hashingを適用することで、特徴ベクトルが高次元ベクトルであっても高速に検索することができる。また、特定の特徴種別ごとに分解した特徴ベクトルに対してLocality Sensitive Hashingにおけるハッシュ化を行うため、当該特定の特徴種別が検索における計算対象から漏れることなく、検索結果に確実に反映され、高精度な検索を行うことができる。
【符号の説明】
【００５４】
１…コンテンツ検索装置、２…携帯端末、１１…取得部、１２…特徴ベクトル抽出部、１３…特徴ベクトル分解部、１４…特徴種別検索部、１５…類似コンテンツ検索部、１６…出力部。
【図１】
2012078930.tif 000003
【図２】
2012078930.tif 000004
【図３】
2012078930.tif 000005
【図４】
2012078930.tif 000006
【図５】
2012078930.tif 000007
【図６】
2012078930.tif 000008
【図７】
2012078930.tif 000009
【図８】
2012078930.tif 000010
【図９】
2012078930.tif 000011
【図１０】
2012078930.tif 000012
【図１１】
2012078930.tif 000013
【図１２】
2012078930.tif 000014