特許第6555810号(P6555810)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本放送協会の特許一覧

特許6555810類似度算出装置、類似検索装置、および類似度算出プログラム
<>
  • 特許6555810-類似度算出装置、類似検索装置、および類似度算出プログラム 図000012
  • 特許6555810-類似度算出装置、類似検索装置、および類似度算出プログラム 図000013
  • 特許6555810-類似度算出装置、類似検索装置、および類似度算出プログラム 図000014
  • 特許6555810-類似度算出装置、類似検索装置、および類似度算出プログラム 図000015
  • 特許6555810-類似度算出装置、類似検索装置、および類似度算出プログラム 図000016
  • 特許6555810-類似度算出装置、類似検索装置、および類似度算出プログラム 図000017
  • 特許6555810-類似度算出装置、類似検索装置、および類似度算出プログラム 図000018
  • 特許6555810-類似度算出装置、類似検索装置、および類似度算出プログラム 図000019
  • 特許6555810-類似度算出装置、類似検索装置、および類似度算出プログラム 図000020
  • 特許6555810-類似度算出装置、類似検索装置、および類似度算出プログラム 図000021
  • 特許6555810-類似度算出装置、類似検索装置、および類似度算出プログラム 図000022
  • 特許6555810-類似度算出装置、類似検索装置、および類似度算出プログラム 図000023
  • 特許6555810-類似度算出装置、類似検索装置、および類似度算出プログラム 図000024
  • 特許6555810-類似度算出装置、類似検索装置、および類似度算出プログラム 図000025
  • 特許6555810-類似度算出装置、類似検索装置、および類似度算出プログラム 図000026
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6555810
(24)【登録日】2019年7月19日
(45)【発行日】2019年8月7日
(54)【発明の名称】類似度算出装置、類似検索装置、および類似度算出プログラム
(51)【国際特許分類】
   G06F 16/383 20190101AFI20190729BHJP
【FI】
   G06F16/383
【請求項の数】5
【全頁数】16
(21)【出願番号】特願2015-141580(P2015-141580)
(22)【出願日】2015年7月15日
(65)【公開番号】特開2017-27106(P2017-27106A)
(43)【公開日】2017年2月2日
【審査請求日】2018年5月28日
【権利譲渡・実施許諾】特許権者において、実施許諾の用意がある。
(73)【特許権者】
【識別番号】000004352
【氏名又は名称】日本放送協会
(74)【代理人】
【識別番号】100141139
【弁理士】
【氏名又は名称】及川 周
(74)【代理人】
【識別番号】100171446
【弁理士】
【氏名又は名称】高田 尚幸
(74)【代理人】
【識別番号】100114937
【弁理士】
【氏名又は名称】松本 裕幸
(74)【代理人】
【識別番号】100171930
【弁理士】
【氏名又は名称】木下 郁一郎
(74)【代理人】
【識別番号】100064908
【弁理士】
【氏名又は名称】志賀 正武
(74)【代理人】
【識別番号】100108578
【弁理士】
【氏名又は名称】高橋 詔男
(72)【発明者】
【氏名】松井 淳
【審査官】 早川 学
(56)【参考文献】
【文献】 特開2006−127077(JP,A)
【文献】 中国特許出願公開第103823848(CN,A)
【文献】 特開2000−155762(JP,A)
【文献】 柳本豪一,単語の分散表現を利用した文書類似度,2015年度 人工知能学会全国大会(第29回)論文集[CD−ROM],一般社団法人人工知能学会,2015年 5月30日,pp.1,2(4K1−1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00−16/958
(57)【特許請求の範囲】
【請求項1】
第1のオブジェクトに含まれる複数の単語の意味空間における分布から、前記意味空間における確率分布であって、前記第1のオブジェクトを表す確率分布を推定する確率分布推定部と、
第2のオブジェクトに含まれる複数の単語各々の前記意味空間における座標各々での、前記確率分布の値を用いて、前記第1のオブジェクトと前記第2のオブジェクトとの類似度を算出する類似度算出部と
を備える類似度算出装置。
【請求項2】
クエリに含まれる複数の単語の意味空間における分布から、前記意味空間における確率分布であって、前記クエリを表す確率分布を推定する確率分布推定部と、
検索対象のオブジェクトに含まれる複数のオブジェクトについて、当該オブジェクトに含まれる複数の単語各々の前記意味空間における座標各々での、前記確率分布の値を用いて、前記クエリと前記当該オブジェクトとの類似度を算出し、算出した前記類似度に基づき、前記検索対象のオブジェクトの中から、前記クエリに類似するオブジェクトを探索する探索実行部と
を備える類似検索装置。
【請求項3】
前記意味空間は、単語同士の意味が近いほど、前記単語同士の距離が近くなる空間であり、
前記クエリを表す確率分布は、前記クエリに含まれる複数の単語の分布密度が高い位置ほど、高い確率となる分布である、
請求項2に記載の類似検索装置。
【請求項4】
前記確率分布は、複数の正規分布からなる第1の混合正規分布であり、
前記探索実行部は、前記検索対象のオブジェクトに含まれる全てのオブジェクトについて、当該オブジェクトに含まれる複数の単語各々の前記意味空間における座標各々での、前記複数の正規分布のうちの一部の正規分布からなる第2の混合正規分布の値を用いて、前記クエリと前記当該オブジェクトとの類似度を算出し、算出した前記類似度に基づき、前記複数のオブジェクトを決定する
請求項2または請求項3に記載の類似検索装置。
【請求項5】
コンピュータを、
第1のオブジェクトに含まれる複数の単語の意味空間における分布から、前記意味空間における確率分布であって、前記第1のオブジェクトを表す確率分布を推定する確率分布推定部、
第2のオブジェクトに含まれる複数の単語各々の前記意味空間における座標各々での、前記確率分布の値を用いて、前記第1のオブジェクトと前記第2のオブジェクトとの類似度を算出する類似度算出部
として機能させるための類似度算出プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、類似度算出装置、類似検索装置、および類似度算出プログラムに関する。
【背景技術】
【0002】
従来、動画や文書など様々な内容を取り上げたオブジェクトの集合(オブジェクト集合)のなかから、与えられたキーワードリスト(クエリ)が指し示す内容と合致あるいは類似するオブジェクトを抽出する類似検索という技術がある。例えば、非特許文献1には、検索対象のオブジェクトデータが固定である条件において、当該オブジェクトデータについて配置したpivotと呼ばれる目印(参照オブジェクト)を利用して、与えられたクエリが指し示す内容と合致あるいは類似する可能性が低いオブジェクトをまとめて削除することによって、クエリ・オブジェクト間の参照ならびに評価の回数を削減し、その結果、当該類似検索全体の処理時間を高速化する手法が開示されている。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】倉沢央、深川大路、高須淳宏、安達淳、「類似検索の高速化を目的としたPivot選択手法の実験評価」、第9回情報科学技術フォーラム講演論文集、D−008、pp.109−110、2010年
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、非特許文献1に記載された類似検索などにおいては、Pivotなど、検索対象であるオブジェクトデータについての事前情報を利用して、クエリ・オブジェクト間の参照ならびに評価の組み合わせの総数を削減する。このため、当該事前情報を生成する前処理を、システム起動時、オブジェクト更新時などに行う必要があり、類似検索全体のの演算量が多くなってしまうことがあるという問題がある。特に、放送予定番組を検索対象とした番組推薦のように、検索対象のオブジェクトデータ(放送予定番組)が日々刻々と変化する状況においては、この前処理の頻度が高くなる。
【0005】
本発明は、このような事情に鑑みてなされたもので、類似検索全体の演算量の増加を抑えることができる類似度算出装置、類似検索装置、および類似度算出プログラムを提供する。
【課題を解決するための手段】
【0006】
この発明は上述した課題を解決するためになされたもので、本発明の一態様は、第1のオブジェクトに含まれる複数の単語の意味空間における分布から、前記意味空間における確率分布であって、前記第1のオブジェクトを表す確率分布を推定する確率分布推定部と、第2のオブジェクトに含まれる複数の単語各々の前記意味空間における座標各々での、前記確率分布の値を用いて、前記第1のオブジェクトと前記第2のオブジェクトとの類似度を算出する類似度算出部とを備える類似度算出装置である。
【0007】
また、本発明の他の態様は、クエリに含まれる複数の単語の意味空間における分布から、前記意味空間における確率分布であって、前記クエリを表す確率分布を推定する確率分布推定部と、検索対象のオブジェクトに含まれる複数のオブジェクトについて、当該オブジェクトに含まれる複数の単語各々の前記意味空間における座標各々での、前記確率分布の値を用いて、前記クエリと前記当該オブジェクトとの類似度を算出し、算出した前記類似度に基づき、前記検索対象のオブジェクトの中から、前記クエリに類似するオブジェクトを探索する探索実行部とを備える類似検索装置である。
【0008】
また、本発明の他の態様は、上述の類似検索装置であって、前記意味空間は、単語同士の意味が近いほど、前記単語同士の距離が近くなる空間であり、前記クエリを表す確率分布は、前記クエリに含まれる複数の単語の分布密度が高い位置ほど、高い確率となる分布である。
【0009】
また、本発明の他の態様は、上述のいずれかの類似検索装置であって、前記確率分布は、複数の正規分布からなる第1の混合正規分布であり、前記探索実行部は、前記検索対象のオブジェクトに含まれる全てのオブジェクトについて、当該オブジェクトに含まれる複数の単語各々の前記意味空間における座標各々での、前記複数の正規分布のうちの一部の正規分布からなる第2の混合正規分布の値を用いて、前記クエリと前記当該オブジェクトとの類似度を算出し、算出した前記類似度に基づき、前記複数のオブジェクトを決定する。
【0010】
また、本発明の他の態様は、コンピュータを、第1のオブジェクトに含まれる複数の単語の意味空間における分布から、前記意味空間における確率分布であって、前記第1のオブジェクトを表す確率分布を推定する確率分布推定部、第2のオブジェクトに含まれる複数の単語各々の前記意味空間における座標各々での、前記確率分布の値を用いて、前記第1のオブジェクトと前記第2のオブジェクトとの類似度を算出する類似度算出部として機能させるための類似度算出プログラムである。
【発明の効果】
【0011】
この発明によれば、類似検索全体の演算量の増加を抑えることができる。
【図面の簡単な説明】
【0012】
図1】この発明の一実施形態による類似検索装置100の構成を示す概略ブロック図である。
図2】同実施形態による類似検索装置100の動作を説明するフローチャートである。
図3】同実施形態によるクエリデータ単語リストの一例を示す図である。
図4】同実施形態によるクエリデータベクトルリストの一例を示す図である。
図5】同実施形態による確率分布パラメータリストの一例を示す図である。
図6】同実施形態による確率分布推定部50が推定した混合正規分布の一例の模式図である。
図7】同実施形態によるオブジェクトデータの一例を示す図である。
図8】同実施形態によるオブジェクトデータ単語リストの一例を示す図である。
図9】同実施形態によるオブジェクトデータベクトルリストOrの一例を示す図である。
図10】同実施形態によるオブジェクトデータベクトルリストOrの一例の模式図である。
図11】同実施形態による一次探索実行部60による処理を説明する模式図である。
図12】同実施形態による累積類似度(近似値)の一例を示す図である。
図13】同実施形態によるオブジェクトデータベクトルリストCuの一例を示す図である。
図14】同実施形態による二次探索実行部70による処理を説明する模式図である。
図15】同実施形態による累積類似度(真値)の一例を示す図である。
【発明を実施するための形態】
【0013】
以下、図面を参照して、本発明の実施の形態について説明する。この発明の一実施形態による類似検索装置100は、複数の検索対象のオブジェクトの中から、クエリに類似するものを検索する類似検索装置である。検索対象のオブジェクトは、例えば、放送予定の番組リスト中の各番組の番組概要である。また、クエリは、例えば、視聴者が過去に視聴した番組の字幕データである。
【0014】
図1は、類似検索装置100の構成を示す概略ブロック図である。類似検索装置100は、オブジェクトデータ記録・比較部10、オブジェクトデータ解析部20、クエリデータ記録・比較部30、単語ベクトル生成部40、確率分布推定部50、探索実行部80を含む。探索実行部80は、一次探索実行部60、二次探索実行部70を含む。
【0015】
オブジェクトデータ記録・比較部10は、入力されたオブジェクトデータが新規の内容であるか否かの判定、ならびに、オブジェクトデータとオブジェクトデータベクトルリストOrの記録を行う。オブジェクトデータは、複数の検索対象のオブジェクトを表すデータである。オブジェクトが、例えば、放送予定の番組リスト中の番組概要であれば、オブジェクトデータは、それらの番組概要の文字列データである。オブジェクトデータベクトルリストOrは、オブジェクトデータ、すなわち検索対象のオブジェクトに含まれている単語各々の意味空間における座標(ベクトル)のリストである。意味空間は、意味の近い単語同士ほど距離が近くなるようにプロットされる空間である。オブジェクトデータ解析部20は、オブジェクトデータ記録・比較部10が新規であると判定したオブジェクトデータから、オブジェクトデータ単語リストの生成を行う。オブジェクトデータ単語リストは、オブジェクトデータに含まれる単語のうち、名詞のみなど、所定の規則により抽出された単語のリストである。
【0016】
クエリデータ記録・比較部30は、入力されたクエリデータ単語リストが新規の内容であるか否かの判定、ならびに、確率分布パラメータリストの記録を行う。クエリデータ単語リストは、クエリに含まれる単語のリストである。確率分布パラメータリストは、意味空間における確率分布であって、クエリを表す確率分布を示すパラメータのリストである。後述するように、本実施形態では、クエリを表す確率分布を、混合正規分布をモデルとして推定する。このため、本実施形態では、確率分布パラメータリストは、混合正規分布示すパラメータのリストである。
【0017】
単語ベクトル生成部40は、クエリデータ記録・比較部30が新規であると判定したクエリデータ単語リストに対応するクエリデータベクトルリストを算出する。また、単語ベクトル生成部40は、オブジェクトデータ解析部20が生成したオブジェクトデータ単語リストに対応するオブジェクトデータベクトルリストOrを算出する。確率分布推定部50は、単語ベクトル生成部40が算出したクエリデータベクトルリストに対して確率分布パラメータリストを計算する。
【0018】
一次探索実行部60は、クエリデータ記録・比較部30が記録している確率分布パラメータリストを用いて、オブジェクトデータ記録・比較部10が記録しているオブジェクトデータベクトルリストOrのなかから、別途定義する累積類似度(近似値)が閾値以上のオブジェクトを選定する枝刈り処理を行う。一次探索実行部60は、選定したオブジェクトに対応するベクトルを抽出し、オブジェクトデータベクトルリストCuとして出力する。すなわち、オブジェクトデータベクトルリストCuは、枝刈りされたオブジェクデータベクトルリストである。
【0019】
二次探索実行部70は、クエリデータ記録・比較部30が記録している確率分布パラメータリストを用いて、一次探索実行部60が出力したオブジェクトデータベクトルリストCuのなかから、別途定義する累積類似度(真値)の上位k個のオブジェクトを選定する。二次探索実行部70は、選定したオブジェクトに対応する内容をオブジェクトデータ記録・比較部10から読み出し、別途示すリスト形式にまとめた上で検索結果として出力する。
【0020】
図2は、類似検索装置100の動作を説明するフローチャートである。まず、クエリデータ記録・比較部30は、新規の内容のクエリデータ単語リスト{w_q}が入力されたか否かを判定する(S1)。クエリデータ単語リスト{w_q}は、式(1)で表される。なお、式(1)において、nは、クエリデータ単語リストに含まれる単語の数である。
【0021】
【数1】
【0022】
ステップS1において、新規のクエリデータ単語リストが入力されたと判定したときは(S1−Yes)、クエリデータ記録・比較部30は、そのクエリデータ単語リストを、単語ベクトル生成部40に入力する。単語ベクトル生成部40は、入力されたクエリデータ単語リスト{w_q}を受け取り、クエリデータ単語リスト{w_q}のそれぞれの単語のベクトル表現(意味空間における座標)を求め、求めたベクトル表現のリストを、クエリデータベクトルリスト{x_q}とする(S2)。クエリデータベクトルリスト{x_q}は、式(2)で表される。なお、式(2)においても、nは、クエリデータ単語リストに含まれる単語の数である。
【0023】
【数2】
【0024】
単語ベクトル生成部40による単語のベクトル表現の求め方は、任意の単語間の意味的な類似度を、cos角などのベクトル間の距離尺度として定量的に算出可能な形式で与える手法であれば何でもよい。言い換えると、単語のベクトル表現は、単語同士の意味が近いほど、単語同士の距離が近くなる空間における単語の座標である。この求め方として、たとえば、深層学習を用いた単語の分散表現(Tomas Mikolov, Ilya Sutskever, Kai Chen, Greg Corrado, and Jeffrey Dean, “Distributed Representations of Words and Phrases and their Compositionality,” In Proceedings of the 27th Annual Conference on Neural Information Processing Systems (NIPS2013), 2013年)による方法を用いることができる。この深層学習を用いた単語の分散表現による方法は、word2vecとも呼ばれ、別途与える大量の学習データを用いて各単語間の意味的な類似関係(類似度)を推定し、推定した当該単語間類似度と矛盾しないかたちであらかじめ定めた次元数のベクトル空間に各単語を配置することで、ベクトル表現を求める方法である。
【0025】
次に、確率分布推定部50が、単語ベクトル生成部40が求めたクエリデータベクトルリスト{x_q}の個々のベクトルの同ベクトル空間上での出現確率に関する確率分布P(x)を推定することで、確率分布パラメータリストを算出する(S3)。なお、確率分布P(x)は、クエリに含まれる複数の単語の分布密度が高い位置ほど、高い確率となる分布であるとも言える。クエリデータ記録・比較部30は、ステップS3で確率分布推定部50が算出した確率分布パラメータリストを記録し(S4)、ステップS6に処理を進める。
【0026】
ステップS3において、確率分布P(x)を推定する際に、どのような分布のモデルを用いても良いが、複数の分布を混合した分布をモデルとして用いた方が望ましい。本実施形態では、混合正規分布をモデルとして用いる。このため、この推定によって得られた確率分布(第1の混合正規分布)は、式(3)で定義される確率分布Pmix(x)で表現される。なお、式(3)において、N(μ,Σ)は、平均ベクトルμ、分散・共分散行列Σの多次元正規分布である。πは、k番目のコンポーネントである正規分布の混合比である。
【0027】
【数3】
【0028】
クエリデータベクトルリストに記された個々のベクトルは、確率分布P(x)から抽出されたサンプルであると仮定する。また、式(3)に示した混合正規分布Pmix(x)は、当該サンプル集合(すなわちクエリデータベクトルリストに記載された個々のベクトル)の分布の様子を最もよく説明する多次元正規分布の形式で定式化したものである。以降の手順では、当該サンプル集合(クエリデータベクトルリスト)をもとに推定した混合正規分布Pmix(x)を、当該サンプル集合を生成した確率分布P(x)と同一とみなす。
【0029】
なお、サンプル集合、すなわちクエリデータベクトルリスト{x_q(i)}から混合正規分布Pmix(x)の各パラメータ{(π,μ,Σ),(π,μ,Σ),…,(π,μ,Σ)}、すなわち確率分布パラメータリストを推定する手法には、例えば、Trevor Hastieほか 著、杉山 将ほか訳、共立出版、2014年発刊の「統計的学習の基礎−データマイニング・推論・予測−」の第8.5節 EMアルゴリズム(pp.312−318)に記載されている最尤法に基づいて確率モデルのパラメータを推定する手法を用いることができるが、その他の手法であってもよい。
【0030】
一方、ステップS1において、新規のクエリデータ単語リストは入力されていないと判定したときは(S1−No)、クエリデータ記録・比較部30は、あらかじめ記録していた確率分布パラメータリストを取り出し(S5)、ステップS6に処理を進める。なお、クエリデータ記録・比較部30が取り出す、あらかじめ記録していた確率分布パラメータリストは、直近で入力されたクエリデータ単語リストに対応する確率分布パラメータリストである。
【0031】
ステップS6では、オブジェクトデータ記録・比較部10が、新規の内容のオブジェクトデータが入力されたか否かを判定する。ステップS6において、新規のオブジェクトデータが入力されたと判定したときは(S6−Yes)、オブジェクトデータ記録・比較部10は、オブジェクトデータ解析部20に、そのオブジェクトデータを入力する。オブジェクトデータ解析部20は、入力されたオブジェクトデータに記された個々のオブジェクトの内容についての文字列を解析し、名詞などのキーワードを抽出し、オブジェクトデータ単語リスト{y_o(j)}、{w_o(i)}とする。ここで、{y_o(j)}、{w_o(i)}は、式(4)、式(5)のように表される。
【0032】
【数4】
【0033】
ここで、jは、個々のオブジェクトを示すインデックスであり、Jは、オブジェクトの個数である。iは抽出した単語(キーワード)を示すインデックスであり、mは抽出されたキーワードの異なり総数である。例えば、{y_o(1)}は、1番目のオブジェクトから抽出されたキーワードのベクトル表現の集合である。キーワードA、B、Cを示すベクトル表現がそれぞれベクトルa、b、cであり、1番目のオブジェクトから抽出されたキーワードが、キーワードAが2つ、キーワードBが0、キーワードCが1つのとき、{y_o(1)}={a,a,c}である。
【0034】
次に、単語ベクトル生成部40は、オブジェクトデータ解析部20が生成したオブジェクトデータ単語リストの個々の単語のベクトル表現を求めることで、オブジェクトデータベクトルリストOr{z_o(j)}、{x_o(i)}を算出する(S7)。なお、オブジェクトデータ単語リストの個々の単語のベクトル表現の求め方は、クエリデータ単語リスト{w_q}のそれぞれの単語のベクトル表現の求め方と同様である。ここで、{z_o(j)},{x_o(i)}は、式(6)、式(7)のように表される。
【0035】
【数5】
【0036】
次に、オブジェクトデータ記録・比較部10は、ステップS7で算出したオブジェクトデータベクトルリストOrと、オブジェクトデータとを記録し(S8)、ステップS10に処理を進める。
一方、ステップS6において、新規の内容のオブジェクトデータが入力されていないと判定したときは(S6−No)、オブジェクトデータ記録・比較部10は、あらかじめ記録していたオブジェクトデータベクトルリストOrを取り出し(S9)、ステップS10に処理を進める。なお、オブジェクトデータ記録・比較部10が取り出す、あらかじめ記録していたオブジェクトデータベクトルリストOrは、直近で入力されたオブジェクトデータに対応するオブジェクトデータベクトルリストOrである。
【0037】
ステップS10では、一次探索実行部60が、オブジェクトデータベクトルリストOrと確率分布パラメータリストの一部で定義される混合正規分布(近似確率分布、第2の混合正規分布)とを用いて計算した累積類似度(近似値)が閾値以上のオブジェクトに対応するベクトルを、オブジェクトデータベクトルリストOrから抽出し、オブジェクトデータベクトルリストCuとする。このときの一次探索実行部60による累積類似度(近似値)の算出方法を説明する。
【0038】
まず、一次探索実行部60は、確率分布パラメータリストに記載された各コンポーネント(正規分布)の混合比πに従って、L個(L<K)のインデックス{k(l)}を抽出する。Lは、例えば、あらかじめ設定された値であってもよいし、混合比πの合計が所定の値以上となる値であってもよい。インデックス{k(l)}は、式(8)で表される。
【0039】
【数6】
【0040】
なお、インデックス{k(l)}を抽出するための具体的なアルゴリズムは何でも良いが、例えば、プログラミング言語Python用の数値演算ライブラリnumpyに実装されている抽出関数random.choice()を用いてもよい。ここで、インデックス{k(l)}を抽出する際に、混合比πが大きいほどkが含まれる確率が高くなるようにしているが、これに限らず、混合比πの上位L個を抽出して、インデックス{k(l)}としてもよい。
【0041】
次に、一次探索実行部60は、抽出したインデックス{k(l)}が示すL個のコンポーネントのみを用いて構成される近似確率分布Pmix(x)を用いて、オブジェクトデータベクトルリストOrに記載された各オブジェクトjの累積類似度(近似値)s(j)を、式(9)を用いて算出する。なお、近似確率分布Pmix(x)は、式(10)で表される。なお、Ω(j)は、オブジェクトデータ単語リストに含まれるオブジェクトjに対応するキーワードのインデックスである。式(9)に示すように、オブジェクトjの累積類似度(近似値)は、オブジェクトjに含まれるキーワードが、クエリに出現する確率を累積した値であり、クエリに出現する確率を算出する際に、近似確率分布Pmix(x)を用いたものである。
【0042】
【数7】
【0043】
【数8】
【0044】
次に、一次探索実行部60は、算出した累積類似度(近似値)s(j)が、所定の閾値θ以上のオブジェクトについてのデータのみを、オブジェクトデータベクトルリストOrから抽出し、オブジェクトデータベクトルリストCu{z_o(j)}、{x_o(i)}とする。ここで、{z_o(j)},{x_o(i)}は、式(6)、式(7)のように表される。
【0045】
【数9】
【0046】
図2の説明に戻って、ステップS11では、二次探索実行部70は、オブジェクトデータベクトルリストCuと確率分布パラメータリストで定義される混合正規分布を用いて計算した累積類似度(真値)の上位k個のオブジェクトを検索結果とする。二次探索実行部70による検索結果の求め方を説明する。二次探索実行部70による累積類似度(真値)の算出方法は、算出対象が、オブジェクトデータベクトルリストCuに対応するオブジェクトに限定されていることと、確率分布パラメータリストで定義される混合正規分布をそのまま用いることが、一次探索実行部60による累積類似度(近似値)の算出方法と異なる。
【0047】
まず、二次探索実行部70は、式(13)に示すように、確率分布パラメータリストが示す混合正規分布を用いて、オブジェクトデータベクトルリストCuに記載された各々のオブジェクトについての累積類似度(真値)s(j)を算出する。式(13)に示すように、オブジェクトjの累積類似度(真値)は、オブジェクトjに含まれるキーワードが、クエリに出現する確率を累積した値であり、クエリに出現する確率を算出する際に、確率分布Pmix(x)を用いたものである。
【0048】
【数10】
【0049】
次に、二次探索実行部70は、算出した累積類似度(真値)のリスト{s(j)}を降順に並べ替える。オブジェクトの並べ替えの具体的なアルゴリズムは何でも良いが、たとえば、プログラム言語Pythonのリストオブジェクトlistについて定義された組み込み関数list.sorted()が利用可能である。
【0050】
次に、二次探索実行部70は、並べ替えた累積類似度(真値)のリスト{s(j)}の上位k個に対応するオブジェクトを検索結果とする。すなわち、二次探索実行部70は、累積類似度(真値)が大きい方からk個に対応するオブジェクトを検索結果とする。二次探索実行部70は、オブジェクトデータ記録・比較部10が記録しているオブジェクトデータのうち、検索結果のオブジェクトに対応する部分を抽出して、検索結果として出力する。
【0051】
図3は、クエリデータ単語リストの一例を示す図である。図3に、アジア、アフリカ、インド、・・・と示しているように、クエリデータ単語リストは、クエリに含まれる単語のリストである。
図4は、クエリデータベクトルリストの一例を示す図である。図4に、アジア:0.650,0.387,・・・,0.049、アフリカ:0.921,0.461,・・・,0.866・・・と示しているように、クエリデータベクトルリストは、クエリデータ単語リスト中の単語各々のベクトル表現のリストである。
【0052】
図5は、確率分布パラメータリストの一例を示す図である。図5に、pi=0.547,mu=[0.883,・・・,0.482],sigma=[[0.546,・・・,0.679],・・・,[0.126,・・・,0.314]]・・・と示しているように、確率分布パラメータリストは、混合正規分布を表すパラメータである。なお、図5中のpiは、πであり、muは、μであり、sigmaは、Σであり、図5は、6つの正規分布からなる混合正規分布を表すパラメータのリストである。
【0053】
図6は、確率分布推定部50が推定した混合正規分布の一例の模式図である。図6において、四角は、図4に例示したクエリデータベクトルリストの各々のベクトル表現が示す座標に対応する。また、実線は、混合正規分布が示す確率の等高線であり、混合正規分布のコンポーネントである6つの正規分布それぞれによる山が現れている。
【0054】
図7は、オブジェクトデータの一例を示す図である。図7に示す例は、Obj.A、Obj.B、Obj.C、Obj.Dの4つのオブジェクトを含む。各オブジェクトは、番組ガイド用の番組の概要であり、番組の放送時間、タイトル、紹介文からなる。
図8は、オブジェクトデータ単語リストの一例を示す図である。図8に、#Obj.A:アフリカ,ハシビロコウ,台湾,ハチクマ、#Obj.B:韓国ドラマ,通販,手袋,天使・・・と示しているように、オブジェクトデータ単語リストは、オブジェクトデータから抽出されたキーワードのリストである。
【0055】
図9は、オブジェクトデータベクトルリストOrの一例を示す図である。図9に示す例は、図8に例示したオブジェクトデータに対応するオブジェクトデータベクトルリストOrの例である。図9に、Obj.A、Obj.B、Obj.C、Obj.Dの4つのオブジェクトに含まれるキーワードである「きのこ」、「アフリカ」、・・・それぞれのベクトル表現「0.435,0.043,・・・,0.318」、「0.062,0.258,・・・0.805」・・・と示しているように、オブジェクトデータベクトルリストOrは、オブジェクトデータから抽出されたキーワードのベクトル表現のリストである。
【0056】
図10は、オブジェクトデータベクトルリストOrの一例の模式図である。図10は、図9に例示したオブジェクトデータベクトルリストOrに対応する模式図である。図10において、四角は、図4に例示したクエリデータベクトルリストの各々のベクトル表現が示す座標に対応する。また、三角は、オブジェクトデータベクトルリストOrの各々のベクトル表現が示す座標に対応する。
【0057】
図11は、一次探索実行部60による処理を説明する模式図である。図11は、確率分布パラメータリストの一部で定義される混合正規分布(近似確率分布)として、確率分布パラメータリストが示す混合正規分布のうち、実線の等高線で示したk=4,5,6のコンポーネントからなる混合正規分布を用いる場合の例である。破線の等高線で示したk=1,2,3のコンポーネントは用いられない。一次探索実行部60は、オブジェクトデータベクトルリストOrに含まれるオブジェクトであるObj.A、Obj.B、Obj.C、Obj.Dのそれぞれについて累積類似度(近似値)を算出する。
【0058】
図12は、累積類似度(近似値)の一例を示す図である。図12に示す例は、図10に例示したオブジェクトデータベクトルリストOrに対応する累積類似度(近似値)の例であり、Obj.A、Obj.B、Obj.C、Obj.Dの4つのオブジェクトそれぞれの累積類似度(近似値)である。例えば、一行目の#Obj.A:score*=0.607は、Obj.Aの累積類似度(近似値)である。
【0059】
図13は、オブジェクトデータベクトルリストCuの一例を示す図である。図13に示す例は、図10に例示したオブジェクトデータベクトルリストOrおよび図12に例示した累積類似度(近似値)に対応するオブジェクトデータベクトルリストCuの例である。図13のオブジェクトデータベクトルリストCuは、Obj.A、Obj.B、Obj.C、Obj.Dの4つのオブジェクトのうち、累積類似度(近似値)の上位3個であるObj.A、Obj.C、Obj.Dが、一次探索実行部60により抽出された場合の例である。したがって、オブジェクトデータベクトルリストCuには、Obj.Bにのみ含まれていたキーワードである韓国ドラマ、通販、手袋、天使のベクトル表現は含まれていない。
【0060】
図14は、二次探索実行部70による処理を説明する模式図である。図14では、オブジェクトデータベクトルリストCuとして、Obj.A、Obj.C、Obj.Dから抽出されたキーワードのベクトル表現と、確率分布パラメータリストが示す混合正規分布とを、二次探索実行部70が用いて、累積類似度(真値)を算出している。破線で示したObj.Bに関しては、累積類似度(真値)が算出されないことを示している。
図15は、累積類似度(真値)の一例を示す図である。図15に示す例は、図13に例示したオブジェクトデータベクトルリストCuに対応する累積類似度(真値)の例であり、Obj.A、Obj.C、Obj.Dの3つのオブジェクトそれぞれの累積類似度(真値)である。例えば、一行目の#Obj.A:score=0.607は、Obj.Aの累積類似度(真値)である。二行目の#Obj.B:score=N/Aは、オブジェクトデータベクトルリストCuに、Obj.Bが含まれていないことを示す。
【0061】
なお、本実施形態では、クエリについて、確率分布を求めて、クエリとオブジェクトとの類似度を算出しているが、クエリではなく、各オブジェクトについて、確率分布を求めて、クエリとオブジェクトとの類似度を算出してもよい。なお、単語リストに含まれる単語の数が多いほど、確率分の推定精度が高くなるので、単語リストに含まれる単語の数が多い方について、確率分布を求めて類似度を算出した方が望ましい。また、別の観点からは、確率分布の推定には多くの演算量を必要とするので、変更される頻度の低い方について、確率分布を求めて類似度を算出した方が望ましい。
【0062】
このように、2つのオブジェクト(クエリと、検索対象のオブジェクト)のうち、一方のオブジェクトを確率分布で表すことにより、検索対象のオブジェクト全体の事前情報を利用することなく、類似度を算出することができる。したがって、オブジェクトデータの一部もしくは全体が頻繁に変更されるような場合でも、類似検索全体の演算量が増加するのを抑えることができる。
【0063】
また、確率分布を推定する際に、複数の分布を混合した分布をモデルとして用いている。このため、複数の分布のうちの一部の分布を混合した分布を用いた累積類似度(近似値)を算出することができる。そして、この累積類似度(近似値)を用いて、オブジェクトデータの枝刈り処理を行うことで、類似検索の全体の演算量を抑えることができる。
【0064】
また、図1における類似検索装置100を構成する各部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、類似検索装置100を実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
【0065】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【0066】
また、上述した図1における類似検索装置100の各機能ブロックは個別にチップ化してもよいし、一部、または全部を集積してチップ化してもよい。また、集積回路化の手法はLSIに限らず、専用回路、または汎用プロセッサで実現しても良い。ハイブリッド、モノリシックのいずれでも良い。一部は、ハードウェアにより、一部はソフトウェアにより機能を実現させても良い。
また、半導体技術の進歩により、LSIに代替する集積回路化等の技術が出現した場合、当該技術による集積回路を用いることも可能である。
【0067】
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【符号の説明】
【0068】
10…オブジェクトデータ記録・比較部、20…オブジェクトデータ解析部、30…クエリデータ記録・比較部、単語ベクトル生成部、50…確率分布推定部、60…一次探索実行部、70…二次探索実行部、80…探索実行部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15