(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-05
(45)【発行日】2024-11-13
(54)【発明の名称】検索装置、検索方法、及びプログラム
(51)【国際特許分類】
G06F 16/90 20190101AFI20241106BHJP
G06F 16/535 20190101ALI20241106BHJP
G06F 16/58 20190101ALI20241106BHJP
【FI】
G06F16/90 100
G06F16/535
G06F16/58
(21)【出願番号】P 2023508410
(86)(22)【出願日】2021-03-26
(86)【国際出願番号】 JP2021013097
(87)【国際公開番号】W WO2022201541
(87)【国際公開日】2022-09-29
【審査請求日】2023-08-17
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】110002044
【氏名又は名称】弁理士法人ブライタス
(72)【発明者】
【氏名】トウ テイテイ
【審査官】早川 学
(56)【参考文献】
【文献】特開2007-299159(JP,A)
【文献】特開2011-107887(JP,A)
【文献】特開平10-260990(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06F 40/00-40/58
(57)【特許請求の範囲】
【請求項1】
一つ以上の属性情報を有する検索条件を用いて、画像と一つ以上の属性情報とが関連付けられた検索対象情報を有するデータセットを参照し、前記検索条件の前記属性情報と一致する前記属性情報を有する検索対象情報を抽出する、検索対象抽出手段と、
抽出した前記検索対象情報の数があらかじめ設定された検索結果範囲にない場合、属性情報が階層的に分類されたナレッジベースを参照し、抽出した前記検索対象情報に含まれる属性情報ごとに、あらかじめ決められたスコア関数を用いてスコアを算出する、スコア算出手段と、
算出した前記スコアに基づいて属性情報を選択し、選択した前記属性情報を用いて利用者に提示する質問を表す質問情報を生成する、質問生成手段と、
前記質問情報に対する前記利用者の回答が表す属性情報を前記検索条件に反映させ、新たな検索条件を生成する、検索条件生成手段と、
を有する検索装置。
【請求項2】
請求項1に記載の検索装置であって、
前記スコア算出手段は、抽出した前記検索対象情報の数が前記検索結果範囲より小さい場合、前記ナレッジベースを参照し、上位ノード又は同位ノードの属性情報ごとに検索結果を拡大するための拡大スコア関数を用いてスコアを算出する、
検索装置。
【請求項3】
請求項
1に記載の検索装置であって、
前記スコア算出手段は、抽出した前記検索対象情報の数が前記検索結果範囲より大きい場合、前記ナレッジベースを参照し、下位ノードの属性情報ごとに検索結果を縮小するための縮小スコア関数を用いてスコアを算出する、
検索装置。
【請求項4】
請求項1から3のいずれか一つに記載の検索装置であって、
前記検索対象情報は、前記検索対象情報を識別する識別情報と、前記属性情報と、前記検索対象情報に関連する人物画像とが関連付けられた情報である、
検索装置。
【請求項5】
コンピュータが、
一つ以上の属性情報を有する検索条件を用いて、画像と一つ以上の属性情報とが関連付けられた検索対象情報を有するデータセットを参照し、前記検索条件の前記属性情報と一致する前記属性情報を有する検索対象情報を抽出し、
抽出した前記検索対象情報の数があらかじめ設定された検索結果範囲にない場合、属性情報が階層的に分類されたナレッジベースを参照し、抽出した前記検索対象情報に含まれる属性情報ごとに、あらかじめ決められたスコア関数を用いてスコアを算出し、
算出した前記スコアに基づいて属性情報を選択し、選択した前記属性情報を用いて利用者に提示する質問を表す質問情報を生成し、
前記質問情報に対する前記利用者の回答が表す属性情報を前記検索条件に反映させ、新たな検索条件を生成する、
検索方法。
【請求項6】
請求項5に記載の検索方法であって、
前記スコアの算出において、抽出した前記検索対象情報の数が前記検索結果範囲より小さい場合、前記ナレッジベースを参照し、上位ノード又は同位ノードの属性情報ごとに検索結果を拡大するための拡大スコア関数を用いてスコアを算出する、
検索方法。
【請求項7】
請求項
5に記載の検索方法であって、
前記スコアの算出において、抽出した前記検索対象情報の数が前記検索結果範囲より大きい場合、前記ナレッジベースを参照し、下位ノードの属性情報ごとに検索結果を縮小するための縮小スコア関数を用いてスコアを算出する、
検索方法。
【請求項8】
請求項5から7のいずれか一つに記載の検索方法であって、
前記検索対象情報は、前記検索対象情報を識別する識別情報と、前記属性情報と、前記検索対象情報に関連する人物画像とが関連付けられた情報である、
検索方法。
【請求項9】
コンピュータに、
一つ以上の属性情報を有する検索条件を用いて、画像と一つ以上の属性情報とが関連付けられた検索対象情報を有するデータセットを参照し、前記検索条件の前記属性情報と一致する前記属性情報を有する検索対象情報を抽出させ、
抽出した前記検索対象情報の数があらかじめ設定された検索結果範囲にない場合、属性情報が階層的に分類されたナレッジベースを参照し、抽出した前記検索対象情報に含まれる属性情報ごとに、あらかじめ決められたスコア関数を用いてスコアを算出させ、
算出した前記スコアに基づいて属性情報を選択し、選択した前記属性情報を用いて利用者に提示する質問を表す質問情報を生成させ、
前記質問情報に対する前記利用者の回答が表す属性情報を前記検索条件に反映させ、新たな検索条件を生成させる、
命令を含
むプログラ
ム。
【請求項10】
請求項9に記載の
プログラムであって、
前記スコアの算出において、抽出した前記検索対象情報の数が前記検索結果範囲より小さい場合、前記ナレッジベースを参照し、上位ノード又は同位ノードの属性情報ごとに検索結果を拡大するための拡大スコア関数を用いてスコアを算出させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、検索条件に基づいて検索をする検索装置、検索方法に関し、更には、これらを実現するためのプログラムに関する。
【背景技術】
【0002】
人物及び物体の画像を検索する場合、検索条件を作成して検索をする。ところが、利用者は膨大なデータを把握できないため、検索に最適な検索条件を作成するのは難しい。そのため、対象とする検索結果を得るまでに多大な労力と時間が必要となる。
【0003】
関連する技術として特許文献1には、利用者が所望するFAQデータが得られるまで、対話を継続できるシナリオデータを生成する対話シナリオ生成システムが開示されている。
【0004】
特許文献1のシステムによれば、検索対象のデータの数が三個以上の場合、それらの検索対象のデータの属性とその属性値との対の組み合わせについて、当該組み合わせに含まれていない属性と属性値との対の観点から整理する。
【0005】
特許文献1のシステムでは、利用者とシステムとの対話を通して、利用者の意図が当該組み合わせに関連していると判別された場合、当該組み合わせに含まれていない属性の属性値を選択候補として利用者に提示する。そして、検索対象のデータを絞り込むための選択させるためのシナリオデータを生成する。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1のシステムでは、利用者とシステムとの対話を通して、利用者が所望するFAQデータを探索するシステムであるため、画像データの検索に適用することは困難である。すなわち、画像データなどは類似・重複が多いため、特許文献1のシステムを適用することは困難である。
【0008】
一つの側面として、質問に対する利用者の回答に基づいて検索条件を更新して、検索結果を効率よく取得する、検索装置、検索方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するため、一つの側面における検索装置は、
一つ以上の属性情報を有する検索条件を用いて、画像と一つ以上の属性情報とが関連付けられた検索対象情報を有するデータセットを参照し、前記検索条件の前記属性情報と一致する前記属性情報を有する検索対象情報を抽出する、検索対象抽出部と、
抽出した前記検索対象情報の数があらかじめ設定された検索結果範囲にない場合、属性情報が階層的に分類されたナレッジベースを参照し、抽出した前記検索対象情報に含まれる属性情報ごとに、あらかじめ決められたスコア関数を用いてスコアを算出する、スコア算出部と、
算出した前記スコアに基づいて属性情報を選択し、選択した前記属性情報を用いて利用者に提示する質問を表す質問情報を生成する、質問生成部と、
前記質問情報に対する前記利用者の回答が表す属性情報を前記検索条件に反映させ、新たな検索条件を生成する、検索条件生成部と、
を有することを特徴とする。
【0010】
また、上記目的を達成するため、本発明の一側面における検索方法は、
一つ以上の属性情報を有する検索条件を用いて、画像と一つ以上の属性情報とが関連付けられた検索対象情報を有するデータセットを参照し、前記検索条件の前記属性情報と一致する前記属性情報を有する検索対象情報を抽出する、検索対象抽出ステップと、
抽出した前記検索対象情報の数があらかじめ設定された検索結果範囲にない場合、属性情報が階層的に分類されたナレッジベースを参照し、抽出した前記検索対象情報に含まれる属性情報ごとに、あらかじめ決められたスコア関数を用いてスコアを算出する、スコア算出ステップと、
算出した前記スコアに基づいて属性情報を選択し、選択した前記属性情報を用いて利用者に提示する質問を表す質問情報を生成する、質問生成ステップと、
前記質問情報に対する前記利用者の回答が表す属性情報を前記検索条件に反映させ、新たな検索条件を生成する、検索条件生成ステップと、
を有することを特徴とする。
【0011】
さらに、上記目的を達成するため、本発明の一側面におけるプログラムは、
コンピュータに、
一つ以上の属性情報を有する検索条件を用いて、画像と一つ以上の属性情報とが関連付けられた検索対象情報を有するデータセットを参照し、前記検索条件の前記属性情報と一致する前記属性情報を有する検索対象情報を抽出する、検索対象抽出ステップと、
抽出した前記検索対象情報の数があらかじめ設定された検索結果範囲にない場合、属性情報が階層的に分類されたナレッジベースを参照し、抽出した前記検索対象情報に含まれる属性情報ごとに、あらかじめ決められたスコア関数を用いてスコアを算出する、スコア算出ステップと、
算出した前記スコアに基づいて属性情報を選択し、選択した前記属性情報を用いて利用者に提示する質問を表す質問情報を生成する、質問生成ステップと、
前記質問情報に対する前記利用者の回答が表す属性情報を前記検索条件に反映させ、新たな検索条件を生成する、検索条件生成ステップと、
を実行させることを特徴とする。
【発明の効果】
【0012】
一つの側面として、質問に対する利用者の回答に基づいて検索条件を更新して、検索結果を効率よく取得することができる。
【図面の簡単な説明】
【0013】
【
図2】
図2は、ナレッジベースの一例を説明するための図である。
【
図3】
図3は、検索対象情報と属性情報との関係を説明するための図である。
【
図4】
図4は、検索装置を有するシステムの一例を示す図である。
【
図5】
図5は、検索装置の動作の一例を説明するための図である。
【
図6】
図6は、検索装置を実現するコンピュータの一例を示す図である。
【
図7】
図7は、質問と回答の説明をするための図である。
【
図8】
図8は、検索対象情報と属性情報との関係を説明するための図である。
【発明を実施するための形態】
【0014】
以下、図面を参照して実施形態について説明する。なお、以下で説明する図面において、同一の機能又は対応する機能を有する要素には同一の符号を付し、その繰り返しの説明は省略することもある。
【0015】
(実施形態)
図1を用いて、実施形態における検索装置10の構成について説明する。
図1は、検索装置の一例を示す図である。
【0016】
[装置構成]
図1に示す検索装置10は、質問に対する利用者の回答に基づいて検索条件を更新して、検索結果を効率よく取得できる。また、
図1に示すように、検索装置10は、検索対象抽出部11と、スコア算出部12と、質問生成部13と、検索条件生成部14とを有する。また、検索装置10は、ネットワークなどを介してナレッジベース15と接続されている。
【0017】
検索対象抽出部11は、一つ以上の属性情報を有する検索条件を用いて、画像と一つ以上の属性情報とが関連付けられた検索対象情報を有するデータセットを参照し、検索条件の属性情報と一致する属性情報を有する検索対象情報を抽出する。
【0018】
画像を抽出する場合について説明する。検索対象抽出部11は、検索条件に基づいて画像を抽出する。画像は、例えば、人物や物体が撮像された画像などである。画像は、静止画であっても、動画であってもよい。静止画の例としては絵画や図形、クリップアート、イラストなどがあり、動画の例としてはビデオ映像やアニメーションなどがあるが、画像の種類はこれらに限定されない。検索条件は、画像の特徴を表す属性情報を一つ以上有する。属性情報は、人物が撮像された画像(以降、人物画像と呼ぶ)の特徴を表す場合、例えば、性別、年齢、服の色、眼鏡などが考えられる。
【0019】
検索条件の属性情報を性別、年齢、服の色、眼鏡として人物画像を抽出する場合、検索対象抽出部11は、性別、年齢、服の色、眼鏡を用いて、人物画像それぞれに関連付けられている一つ以上の属性情報を参照して、性別、年齢、服の色、眼鏡の属性情報を有する人物画像を抽出する。
【0020】
人物画像それぞれに関連付けられている属性情報は、階層的に分類されている。属性情報は、
図2に示すナレッジベースのように階層化されている。
図2は、ナレッジベースの一例を説明するための図である。ナレッジベースの詳細については後述する。
【0021】
データセットは、
図3に示すように人物IDと、一つ以上の属性情報と、人物画像とが関連付けられた検索対象情報を有している。
図3は、検索対象情報と属性情報との関係を説明するための図である。
図3のデータセットは9個の検索対象情報を有する。
【0022】
ナレッジベースについて説明する。
図2のナレッジベースは、属性情報である年齢、性別、眼鏡、服の色が階層的に分類されている。年齢は下層に中高年と若者の属性情報を有する。中高年は下層に40代、50代、60代の属性情報を有する。また、若者は下層に20代、30代の属性情報を有する。
【0023】
性別は下層に男性と女性の属性情報を有する。眼鏡は下層に無(眼鏡を装着していない状態を表す)、矯正眼鏡(視力を矯正するための眼鏡を装着していることを表す)、サングラス(サングラスを装着していることを表す)の属性情報を有する。
【0024】
服の色は下層に灰黒系、オレンジ系、赤系、黄系、緑系、青系、紫系の属性情報を有する。赤系は下層に真赤類、暗赤類、ライトコーラル類の属性情報を有する。
【0025】
真赤類は下層に真赤(255,0,0)、橙赤(255,69,0)、深紅(220,20,60)の属性情報を有する。暗赤類は下層に暗赤(139,0,0)、ブラウン(165,42,42)、ファイアブリック(178,34,34)の属性情報を有する。ライトコーラル類は下層にライトコーラル(240,128,128)、インディアンレッド(205,92,92)、サーモン(250,128,114)の属性情報を有する。括弧内の三つの数値はRGBの値を表している。
【0026】
ただし、ナレッジベースの構造は、
図2に示した構造に限定されるものではない。なお、
図1の例では、ナレッジベース15は検索装置10の外部に設けられているが、検索装置10の内部に設けてもよい。
【0027】
スコア算出部12は、抽出した検索対象情報の数があらかじめ設定された検索結果範囲にない場合、属性情報が階層的に分類されたナレッジベース15を参照し、抽出した検索対象情報に含まれる属性情報ごとに、あらかじめ決められたスコア関数を用いてスコアを算出する。
【0028】
検索結果範囲は、利用者によりあらかじめ設定される。検索結果範囲は、利用者が希望する、抽出により得られる検索対象情報の数の範囲を表す情報である。スコア関数には、縮小スコア関数と拡大スコア関数である。
【0029】
縮小スコア関数は、抽出により得られた検索対象情報の数が検索結果範囲より大きい場合に、検索対象情報の数を縮小するために用いる関数である。スコア算出部12は、下層(下位)に属性情報(葉ノード)が存在する属性情報について、縮小スコア関数を用いてスコアを算出する。縮小スコア関数は、例えば、数1などである。
【0030】
(数1)
S1(i)=(w1×f1i(o))+(w2×f2i(d))+(w3×f3i(r))
S1(i):縮小スコア
i :属性情報を識別する識別子
w1 :要素関数f1i(o)の重み係数
f1i(o):属性情報が入力される順番oに対する値を算出する関数
w2 :要素関数f2i(d)の重み係数
f2i(d):葉ノードとの距離dに対する値を算出する関数
w3 :要素関数f3i(r)の重み係数
f3i(r):抽出された属性情報に対する分割率rを算出する関数
【0031】
拡大スコア関数は、抽出により得られた検索対象情報の数が検索結果範囲より小さい場合に、検索対象情報の数を拡大するために用いる関数である。スコア算出部12は、ナレッジベース15を参照し、上層(上位)の属性情報(ノード)又は同層(同位)の属性情報(ノード)の属性情報について、拡大スコア関数を用いてスコアを算出する。拡大スコア関数は、例えば、数2などである。
【0032】
(数2)
S2(i)=(w1×f1i(o))+(w4×f4i(s))
S2(i):拡大スコア
w4 :要素関数f4i(s)の重み係数
f4i(s):属性情報の類似度sに対する値を算出する関数
【0033】
要素関数f1i(o)は、検索条件の属性情報が入力された順番が後になるほど大きな値を返す関数である。順番が後になるほど大きな値を返す理由は、属性情報が入力される順番が後になるほど不確実性が高くなるので、絞り込んだ方がよいからである。要素関数f1i(o)は、例えば、数3などである。
【0034】
(数3)
f1i(o)=1-1/(o+1)
o :属性情報の入力の順番
【0035】
例えば、属性情報が男性、30代、赤の順番で入力された場合、男性が最初に入力されているのでo=1とする。30代は二番目に入力されているのでo=2とする。赤は三番目に入力されているのでo=3とする。また、眼鏡は入力されていないのでo=4(又は∞)にする。
【0036】
そして、要素関数f1i(o)を用いて、属性情報ごとに値を算出する。算出した結果、男性は1/2、30代は2/3、赤は3/4、眼鏡は4/5(又は≒1)となる。
【0037】
重み係数w1は、0より大きく1以下の値である。なお、要素関数f1i(o)の重み係数w1は、実験、シミュレーションなどにより決定する。
【0038】
要素関数f2i(d)は、ナレッジベース15におけるノードから葉ノードまでの距離に対する値を算出する関数である。属性情報に対応するノードと葉ノードとの距離が大きいほど、曖昧性が高くなるので、絞り込まれる可能性が高い。関数f2i(d)は、例えば、数4などである。
【0039】
(数4)
f2i(d)=1-1/(d+1)
d :ノードと葉ノードとの距離
【0040】
例えば、属性情報が男性、30代、赤、眼鏡である場合、
図2のナレッジベースの男性の下層には葉ノードが存在しないのでd=0とする。30代も下層には葉ノードが存在しないのでd=0とする。赤は二階層下に葉ノードが存在するのでd=2とする。また、眼鏡は一階層下に葉ノードが存在するのでd=1とする。
【0041】
そして、要素関数f2i(d)を用いて属性情報ごとに値を算出する。算出した結果、男性は0、30代も0、赤は2/3、眼鏡は1/2となる。
【0042】
重み係数w2は、0より大きく1以下の値である。なお、要素関数f2i(d)の重み係数w2は、実験、シミュレーションなどにより決定する。
【0043】
要素関数f3i(r)は、抽出された属性情報に対する分割率rを算出する関数である。下層の属性情報を用いて抽出された検索対象情報をできるだけ均等に分割する。均等に分割するほど、絞り込む能力が高くなる。関数f3i(r)は、例えば、数5などである。
【0044】
【0045】
例えば、抽出された検索対象情報をできるだけ均等に分割する(標準分割)。
図3に示す9個の抽出された検索対象情報を二分割した場合、5個と4個に分割することになる。対して、
図3の9個の抽出された検索対象情報を三分割すると、3個ずつに均等に分割できる。
【0046】
したがって、グループの数は3個なので、k=3(j=1、2、3)となる。また、グループそれぞれの標準割合sjは、s1=3/9、s2=3/9、s3=3/9となる。
【0047】
次に、グレープの検索対象情報の数が全体数を占める割合r
jについて説明する。例えば、属性情報が赤系の場合、
図2のナレッジベースでは、赤系の下層に三つの属性情報(真赤類、暗赤類、ライトコーラル類)がある。
【0048】
真赤類の下層には三つの属性情報(真赤、橙赤、深紅)がある。暗赤類の下層には三つの属性情報(暗赤、ブラウン、ファイアブリック)がある。ライトコーラル類の下層には三つの属性情報(ライトコーラル、インディアンレッド、サーモン)がある。
【0049】
人物ID1、2に関連する検索対象情報には真赤類の下層にある真赤、深紅が関連付けられているので、真赤類が全体数を占める割合r1は2/9となる。人物ID3、4、5、6に関連する検索対象情報には暗赤類の下層にある暗赤、ブラウン、ファイアブリックが関連付けられているので、暗赤類が全体数を占める割合r2は4/9となる。人物ID7、8、9に関連する検索対象情報にはライトコーラル類の下層にあるライトコーラル、サーモンが関連付けられているので、ライトコーラル類が全体数を占める割合r3は3/9となる。したがって、属性情報が赤系の場合の要素関数f3i(r)は数6になる。
【0050】
【0051】
また、属性情報が眼鏡の場合には要素関数f3i(r)は数7となる。
【0052】
【0053】
重み係数w3は、0より大きく1以下の値である。なお、要素関数f3i(r)の重み係数w3は、実験、シミュレーションなどにより決定する。
【0054】
要素関数f4i(s)では、まず、検索条件の属性情報と、検索条件の属性情報の上位又は同位ノードにある属性情報とを組み合わせて類似度を算出し、算出した類似度のうちの最大値を類似度sとする。属性情報が類似しているほど、利用者は類似した属性情報を選択し応答する可能性が高い。関数f4i(s)は、例えば、数8などである。
【0055】
(数8)
f4i(s)=s=maxSim(an,am)
n、m:属性情報を識別する識別子
an :検索条件の属性情報
am :検索条件の属性情報の上位又は同位ノードにある属性情報
Sim(an,ai):属性情報の類似度を算出する関数(例えば、cosine関数)
【0056】
組み合わせの類似度の算出は、例えば、Sim(男性,40代)=0、Sim(30代,40代)=0.8、Sim(赤,40代)=0,Sim(男性,女性)=0.2、Sim(30代,女性)=0、Sim(赤,女性)=0.3・・・のように算出する。
【0057】
次に、属性情報ごとに最大の類似度を求める。属性情報が40代であれば、max{0,0.8,0}=0.8=f4i(0.8)となる。また、属性情報が女性であれば、max{0.2,0,0.3}=0.3=f4i(0.3)となる。
【0058】
重み係数w4は、0より大きく1以下の値である。なお、要素関数f4i(s)の重み係数w4は、実験、シミュレーションなどにより決定する。
【0059】
質問生成部13は、算出したスコアに基づいて属性情報を選択し、選択した属性情報を用いて利用者に提示する質問を表す質問情報を生成する。具体的には、まず、質問生成部13は、属性情報ごとに算出したスコアを比較し、最高値のスコアに対応する属性情報を選択する。次に、質問生成部13は、選択した属性情報を用いて利用者に提示する質問を表す質問情報を生成する。
【0060】
検索条件生成部14は、質問情報に対する利用者の回答に含まれる属性情報を検索条件に反映させ、新たな検索条件を生成する。
【0061】
このように、実施形態においては、質問に対する利用者の回答に基づいて検索条件を更新し、更新した検索情報を用いて検索をするので、検索結果を効率よく取得することができる。
【0062】
[システム構成]
図4を用いて、実施形態における検索装置10の構成をより具体的に説明する。
図4は、検索装置を有するシステムの一例を示す図である。
【0063】
図4に示すように、実施形態におけるシステム40は、検索装置10、ナレッジベース15、入出力装置41を有する。
【0064】
検索装置10は、例えば、CPU(Central Processing Unit)、又はFPGA(Field-Programmable Gate Array)などのプログラマブルなデバイス、又はGPU(Graphics Processing Unit)、又はそれらのうちのいずれか一つ以上を搭載した回路、サーバコンピュータ、パーソナルコンピュータ、モバイル端末などの情報処理装置である。
【0065】
入出力装置41は、ユーザインターフェースを有し、利用者が情報を入力する入力部と、利用者に画像及び音声などを出力する出力部を有する。入力部は、例えば、キーボード、マウス、タッチパネルなどを有する入力装置である。出力部は、例えば、液晶、有機EL(Electro Luminescence)、CRT(Cathode Ray Tube)を用いた画像表示装置などである。さらに、画像表示装置は、スピーカなどの音声出力装置などを備えていてもよい。なお、出力部は、プリンタなどの印刷装置でもよい。
【0066】
検索装置10が有する検索対象抽出部11、スコア算出部12、質問生成部13、検索条件生成部14、及び、ナレッジベース15については既に説明したので、これらについての説明を省略する。
【0067】
[装置動作]
実施形態における検索装置の動作について
図5を用いて説明する。
図5は、検索装置の動作の一例を説明するための図である。以下の説明においては、適宜図を参照する。また、実施形態では、検索装置を動作させることによって、検索方法が実施される。よって、実施形態における検索方法の説明は、以下の検索装置の動作説明に代える。
【0068】
最初に、ナレッジベース15からデータを読み込む(ステップA1)。次に、検索対象抽出部11は、検索開始時において、初期の検索条件を取得する(ステップA2)。具体的には、検索開始時のステップA2において、利用者が作成した文書情報などを、既知の文書解析ツールなどを用いて解析し、検索条件の属性情報を取得する。例えば、「性別が男性で年齢が30代ぐらいで服の色が赤です」のような文書を取得し、この文書を解析し、検索条件の属性情報として性別:男性、年齢:30代、服の色:赤などを取得する。
【0069】
また、検索条件が更新された後のステップA2において、検索対象抽出部11は、更新された検索情報を取得する。
【0070】
次に、検索対象抽出部11は、検索条件の属性情報を用いて、検索対象情報に関連付けられた属性情報を参照し、検索条件の属性情報のいずれか一つ以上と一致する検索対象情報を抽出し、これらの検索対象情報(データセット)を設定する(ステップA3)。
【0071】
次に、検索対象抽出部11は、一つ以上の属性情報を有する検索条件を用いて、画像と一つ以上の属性情報とが関連付けられた検索対象情報を有するデータセットを参照し、検索条件の属性情報と一致する属性情報を有する検索対象情報を抽出する(ステップA4)。
【0072】
スコア算出部12は、検索対象情報の数があらかじめ設定された検索結果範囲であるか否かを判定する(ステップA5)。検索対象情報の数が検索結果範囲にない場合、属性情報が階層的に分類されたナレッジベースを参照し、抽出した検索対象情報に含まれる属性情報ごとに、あらかじめ決められたスコア関数を用いてスコアを算出する。
【0073】
具体的には、スコア算出部12は、抽出により得られた検索対象情報の数が検索結果範囲より大きい場合(ステップA5:縮小スコアを算出)、下層(下位)に属性情報(葉ノード)が存在する属性情報について、縮小スコア関数を用いてスコアを算出する(ステップA6)。縮小スコア関数は、例えば、数1などである。
【0074】
次に、質問生成部13は、算出したスコアに基づいて属性情報を選択し、選択した属性情報を用いて利用者に提示する質問を表す質問情報を生成する(ステップA7)。具体的には、ステップA7において、質問生成部13は、ステップA6で属性情報ごとに算出したスコアを比較し、最高値のスコアに対応する属性情報を選択する。次に、質問生成部13は、選択した属性情報を用いて利用者に提示する質問を表す質問情報を生成する。
【0075】
また、スコア算出部12は、抽出により得られた検索対象情報の数が検索結果範囲より小さい場合(ステップA5:拡大スコアを算出)、上層(上位)の属性情報(ノード)又は同層(同位)の属性情報(ノード)の属性情報について、拡大スコア関数を用いてスコアを算出する(ステップA8)。拡大スコア関数は、例えば、数2などである。
【0076】
次に、質問生成部13は、算出したスコアに基づいて属性情報を選択し、選択した属性情報を用いて利用者に提示する質問を表す質問情報を生成する(ステップA9)。具体的には、ステップA9において、質問生成部13は、ステップA8で属性情報ごとに算出したスコアを比較し、最高値のスコアに対応する属性情報を選択する。次に、質問生成部13は、選択した属性情報を用いて利用者に提示する質問を表す質問情報を生成する。
【0077】
次に、質問生成部13は、質問情報を入出力装置41に出力する(ステップA10)。次に、検索条件生成部14は、質問情報に対する利用者の回答を表す回答情報を取得する(ステップA11)。
【0078】
次に、検索条件生成部14は、検索条件を更新するか否かを判定する(ステップA12)。検索条件を更新する場合(ステップA12:Yes)、検索条件生成部14は、属性情報を検索条件に反映させ、新たな検索条件を生成する(ステップA13)。検索条件を更新しない場合(ステップA12:No)、ステップA5に移行して再度質問情報を生成する。
【0079】
次に、検索条件生成部14は、データセットを更新する(ステップA14)。具体的には、ステップA14において、検索条件生成部14は、検索条件の更新で用いた属性情報を有する検索対象情報を抽出して、抽出した検索対象情報を新たなデータセットとする。
【0080】
その後、ステップA2の処理に移行して、更新した検索条件と、更新したデータセットとを用いて検索を継続する。そして、抽出された検索対象情報の数が検索結果範囲内であれば検索処理を終了する(ステップA5:検索終了)。
【0081】
[実施形態の効果]
以上のように実施形態によれば、質問に対する利用者の回答に基づいて検索条件を更新し、更新した検索情報を用いて検索をするので、検索結果を効率よく取得することができる。質問に対する回答と検索条件の更新により、利用者は検索対象の属性情報をより正確に把握することもできる。
【0082】
[プログラム]
実施形態におけるプログラムは、コンピュータに、
図5に示すステップA1からA14を実行させるプログラムであればよい。このプログラムをコンピュータにインストールし、実行することによって、実施形態における検索装置と検索方法とを実現することができる。この場合、コンピュータのプロセッサは、検索対象抽出部11、スコア算出部12、質問生成部13、検索条件生成部14として機能し、処理を行なう。
【0083】
また、実施形態におけるプログラムは、複数のコンピュータによって構築されたコンピュータシステムによって実行されてもよい。この場合は、例えば、各コンピュータが、それぞれ、検索対象抽出部11、スコア算出部12、質問生成部13、検索条件生成部14のいずれかとして機能してもよい。
【0084】
[物理構成]
ここで、実施形態におけるプログラムを実行することによって、検索装置を実現するコンピュータについて
図6を用いて説明する。
図6は、実施形態における検索装置を実現するコンピュータの一例を示す図である。
【0085】
図6に示すように、コンピュータ110は、CPU(Central Processing Unit)111と、メインメモリ112と、記憶装置113と、入力インターフェイス114と、表示コントローラ115と、データリーダ/ライタ116と、通信インターフェイス117とを備える。これらの各部は、バス121を介して、互いにデータ通信可能に接続される。なお、コンピュータ110は、CPU111に加えて、又はCPU111に代えて、GPU、又はFPGAを備えていてもよい。
【0086】
CPU111は、記憶装置113に格納された、本実施形態におけるプログラム(コード)をメインメモリ112に展開し、これらを所定順序で実行することにより、各種の演算を実施する。メインメモリ112は、典型的には、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置である。また、本実施形態におけるプログラムは、コンピュータ読み取り可能な記録媒体120に格納された状態で提供される。なお、本実施形態におけるプログラムは、通信インターフェイス117を介して接続されたインターネット上で流通するものであってもよい。なお、記録媒体120は、不揮発性記録媒体である。
【0087】
また、記憶装置113の具体例としては、ハードディスクドライブの他、フラッシュメモリ等の半導体記憶装置があげられる。入力インターフェイス114は、CPU111と、キーボード及びマウスといった入力機器118との間のデータ伝送を仲介する。表示コントローラ115は、ディスプレイ装置119と接続され、ディスプレイ装置119での表示を制御する。
【0088】
データリーダ/ライタ116は、CPU111と記録媒体120との間のデータ伝送を仲介し、記録媒体120からのプログラムの読み出し、及びコンピュータ110における処理結果の記録媒体120への書き込みを実行する。通信インターフェイス117は、CPU111と、他のコンピュータとの間のデータ伝送を仲介する。
【0089】
また、記録媒体120の具体例としては、CF(Compact Flash(登録商標))及びSD(Secure Digital)等の汎用的な半導体記憶デバイス、フレキシブルディスク(Flexible Disk)等の磁気記録媒体、又はCD-ROM(Compact Disk Read Only Memory)などの光学記録媒体があげられる。
【0090】
なお、実施形態における検索装置10は、プログラムがインストールされたコンピュータではなく、各部に対応したハードウェアを用いることによっても実現可能である。更に、検索装置10は、一部がプログラムで実現され、残りの部分がハードウェアで実現されていてもよい。
【実施例】
【0091】
実施例では、人物画像を検索する場合について説明する。実施例では検索結果範囲として1以上2以下が設定されているものとする。
【0092】
検索対象抽出部11は検索条件を取得する(ステップA2)。例えば、検索条件の属性情報として性別:男性、年齢:30代、服の色:赤を取得する。
【0093】
次に、検索対象抽出部11は、検索条件の属性情報として男性、30代、赤を用いて、データセットの検索対象情報それぞれの属性情報を参照し、検索条件の属性情報と一致する属性情報を有する検索対象情報を抽出する(ステップA4)。実施例では、
図3に示した検索対象情報が抽出されたものとする。
【0094】
具体的には、
図3に示した検索対象情報から、検索条件(男性、30代、赤)と一致する検索対象情報を抽出する。実施例では、人物画像ID1、2、7に対応する検索対象情報が選択される。また、抽出された検索対象情報の数は3個である。
【0095】
次に、スコア算出部12は、抽出された検索対象情報の数が検索結果範囲であるか否かを判定する(ステップA5)。抽出された検索対象情報の数が3個であるので、検索結果範囲に設定された2より大きい(3>2)。したがって、縮小スコアを算出する(ステップA5:縮小スコアを算出)。
【0096】
次に、スコア算出部12は、ナレッジベース15を参照し、下位ノードにある属性情報の縮小スコアを算出する(ステップA6)。
【0097】
属性情報それぞれについて、例えば、数9の縮小スコア関数S1(i)を用いて、数10に示すスコアを算出する。
【0098】
(数9)
S1(i)=(0.3×f1i(o))+(0.3×f2i(d))+(0.4×f3i(r))
【0099】
(数10)
S1(赤) =0.3×3/4+0.3×2/3+0.4×7/9≒0.726
S1(眼鏡)=0.3×1 +0.3×1/2+0.4×3/9≒0.583
・・・
【0100】
次に、質問生成部13は、算出されたスコアの中から最もスコアの高い属性情報を選択する。数10では赤のスコアが最も高いので、赤の属性情報を選択する。
【0101】
次に、質問生成部13は、赤の属性情報より下層にある真赤類、暗赤類、ライトコーラル類の属性情報を取得する。そして、質問生成部13は、利用者に提示するための、例えば、「真赤類、暗赤類、ライトコーラル類のうちどの赤に近いですか」など表示を出力部に表示させるための質問情報を生成する(ステップA7)。
【0102】
次に、質問生成部13は、質問情報を出力装置に出力して、利用者に質問を提示する(ステップA10)。質問は
図7の質問表示71に示すように表示される。ただし、質問表示71に限定されるものではない。
図7は、質問と回答の説明をするための図である。
【0103】
次に、検索条件生成部14は、質問情報に対する利用者の回答を表す回答情報を取得する(ステップA11)。実施例では、利用者が暗赤類と回答したものとする。回答は
図7の回答表示72に示すように表示される。ただし、回答表示72に限定されるものではない。
【0104】
次に、検索条件生成部14は、検索条件を更新するかを判定する(ステップA12)。そして、検索条件を更新する場合(ステップA12:Yes)、検索条件生成部14は、検索条件の赤を暗赤に更新する(ステップA13)。なお、検索条件を更新しない場合(ステップA12:No)、ステップA5に移行して再度質問情報を生成して質問を提示する。
【0105】
次に、検索条件生成部14は、データセットを更新する(ステップA14)。実施例では、暗赤を有していない検索対象情報を除外する。
図8に示すように人物ID3から6に対応する検索対象情報だけのデータセットとなる。
【0106】
次に、ステップA2に移行して、検索対象抽出部11は更新された検索条件を取得する。更新された検索条件の属性情報として性別:男性、年齢:30代、服の色:暗赤を取得する。
【0107】
次に、検索対象抽出部11は更新されたデータセットを設定する(ステップA3)。次に、検索対象抽出部11は、更新されたデータセットから、更新された検索条件(男性、30代、暗赤)と一致する属性情報を有する検索対象情報を抽出する(ステップA4)。しかし、検索対象情報が抽出されないので、抽出された検索対象情報の数は0となる。
【0108】
次に、スコア算出部12は、抽出された検索対象情報の数が検索結果範囲であるか否かを判定する(ステップA5)。抽出された検索対象情報の数が0であるので、検索結果範囲に設定された1より小さいため(0<1)、拡大スコアを算出する(ステップA5:拡大スコアを算出)。
【0109】
次に、スコア算出部12は、ナレッジベース15を参照し、上位又は同位ノードにある属性情報の拡大スコアを計算する(ステップA8)。
【0110】
属性情報それぞれについて、例えば、数11の拡大スコア関数S2(i)を用いてスコアを算出する。
【0111】
(数11)
S2(i)=(0.5×f1i(o))+(0.5×f4i(s))
【0112】
まず、要素関数f1i(o)は、男性が入力された順番が一番目なので、男性の要素関数はf1i(1)=1/2となる。また、30代が入力された順番は二番目なので、30代の要素関数はf1i(2)=2/3となる。
【0113】
次に、要素関数f4i(s)を算出する。検索条件の属性情報と、検索条件の属性情報の上位又は同位ノードにある属性情報とを組み合わせて類似度を算出する。類似度は、次のように、Sim(男性,女性)=0.2、Sim(30代,女性)=0、Sim(男性,40代)=0、Sim(30代,40代)=0.8となる。
【0114】
次に、男性と同位にある女性(男性を拡張した女性)類似度の最大値が0.2で、30代と同位にある40代(30代を拡張した40代)の類似度の最大値が0.8となる。
【0115】
次に、要素関数f1i(o)とf4i(s)の算出結果を用いて、数12に示すように属性情報ごとに拡大スコア関数S2(i)を算出する。
【0116】
(数12)
S2(女性) =0.5×1/2+0.5×0.2=0.35
S2(40代)=0.5×2/3+0.5×0.8≒0.734
【0117】
次に、質問生成部13は、算出されたスコアの中から最もスコアの高い属性情報を選択する。数12では40代のスコアが最も高いので、40代の属性情報を選択する。
【0118】
次に、質問生成部13は40代の属性情報を取得する。そして、質問生成部13は、利用者に提示するための、例えば、「年齢は40代かもしれませんか」などの質問情報を生成する(ステップA9)。
【0119】
次に、質問生成部13は、質問情報を出力装置に出力して、利用者に質問を提示する(ステップA10)。質問は
図7の質問表示73に示すように表示される。ただし、質問表示73に限定されるものではない。
【0120】
次に、検索条件生成部14は、質問情報に対する利用者の回答を表す回答情報を取得する(ステップA11)。実施例では、利用者が40代であると回答したものとする。回答は
図7の回答表示74に示すように表示される。ただし、回答表示74に限定されるものではない。
【0121】
次に、検索条件生成部14は、検索条件を更新するかを判定する(ステップA12)。そして、検索条件を更新する場合(ステップA12:Yes)、検索条件生成部14は、検索条件に40代を追加する更新をする(ステップA13)。なお、検索条件を更新しない場合(ステップA12:No)、ステップA5に移行して再度質問を提示する。
【0122】
次に、検索条件生成部14は、データセットを更新する(ステップA14)。実施例では、40代の検索対象情報を追加する。ただし、40代はすでにあるので更新しない。
【0123】
次に、ステップA2に移行して、検索対象抽出部11は更新された検索条件を取得する。例えば、更新した検索条件の属性情報として性別:男性、年齢:30代又は40代、服の色:暗赤を取得する。
【0124】
次に、検索対象抽出部11はデータセットを設定する(ステップA3)。次に、検索対象抽出部11は、データセットから、検索条件(男性、30代又は40代、暗赤)と一致する検索対象情報を抽出する(ステップA4)。実施例では、人物画像ID4、5、6が選択される。また、抽出された検索対象情報の数は3個である。
【0125】
次に、スコア算出部12は、抽出した検索対象情報の数が検索結果範囲であるか否かを判定する(ステップA5)。抽出された検索対象情報の数は3個であるので、検索結果範囲に設定された2より大きい(3>2)。したがって、縮小スコアを算出する(ステップA5:縮小スコアを算出)。
【0126】
次に、スコア算出部12は、ナレッジベース15を参照し、下位ノードにある属性の縮小スコアを計算する(ステップA6)。
【0127】
属性情報それぞれについて、数9の縮小スコア関数S1(i)を用いてスコアを算出する。下位ノードにある属性情報は暗赤、眼鏡であるので、暗赤、眼鏡それぞれの要素関数f1i(o)を算出する。暗赤は三番目の入力なのでf1i(3)=3/4となる。眼鏡は入力されていないのでf1i(4又は∞)=1となる。
【0128】
次に、暗赤、眼鏡それぞれの要素関数f2i(d)を算出する。暗赤系の一階層下に葉ノードがあるのでf2i(1)=1/2となる。眼鏡の一階層下にも葉ノードがあるのでf2i(1)=1/2となる。
【0129】
次に、暗赤、眼鏡それぞれの要素関数f3i(r)を算出する。実施例では、データ数が4、下位ノード数が3、標準分割が2、1、1であるので、暗赤、眼鏡それぞれの要素関数f3i(r)は数13のようになる。
【0130】
【0131】
次に、要素関数f1i(o)とf2i(d)とf3i(r)の算出結果を用いて、数14に示すように属性情報ごとに縮小スコア関数S1(i)を算出する。
【0132】
(数14)
S1(暗赤)=0.3×3/4+0.3×1/2+0.4×1=0.775
S1(眼鏡)=0.3×1 +0.3×1/2+0.4×1=0.85
・・・
【0133】
次に、質問生成部13は、算出されたスコアの中から最もスコアの高い属性情報を選択する。数14では眼鏡のスコアが最も高いので、眼鏡の属性情報を選択する。
【0134】
次に、質問生成部13は眼鏡の属性情報を取得する。そして、質問生成部13は、利用者に提示するための、例えば、「どのような眼鏡をかけていますか。無、矯正眼鏡、サングラス」などの質問情報を生成する(ステップA9)。
【0135】
次に、質問生成部13は、質問情報を出力装置に出力して、利用者に質問を提示する(ステップA10)。質問は
図7の質問表示75に示すように表示される。ただし、質問表示75に限定されるものではない。
【0136】
次に、検索条件生成部14は、質問情報に対する利用者の回答を表す回答情報を取得する(ステップA11)。実施例では、利用者がサングラスと回答したものとする。回答は
図7の回答表示76に示すように表示される。ただし、回答表示76に限定されるものではない。
【0137】
次に、検索条件生成部14は、検索条件を更新するかを判定する(ステップA12)。そして、検索条件を更新する場合(ステップA12:Yes)、検索条件生成部14は、検索条件にサングラスを追加する(ステップA13)。なお、検索条件を更新しない場合(ステップA12:No)、ステップA5に移行して再度質問情報を生成して質問を提示する。
【0138】
次に、検索条件生成部14は、データセットを更新する(ステップA14)。実施例では、サングラスを有していない検索対象情報を除外する。
図8に示す人物ID6に対応する検索対象情報だけのデータセットとなる。
図8は、検索対象情報と属性情報との関係を説明するための図である。
【0139】
次に、ステップA2に移行して、検索対象抽出部11は更新された検索条件を取得する。例えば、更新した検索条件の属性情報として性別:男性、年齢:30代又は40代、服の色:暗赤、眼鏡:サングラスを取得する。
【0140】
次に、検索対象抽出部11はデータセットを設定する(ステップA3)。次に、検索対象抽出部11は、データセットから、検索条件(男性、30代又は40代、暗赤、サングラス)と一致する検索対象情報を抽出する(ステップA4)。実施例では、人物画像ID6が選択される。また、抽出された検索対象情報の数は1個である。
【0141】
次に、スコア算出部12は、抽出した検索対象情報の数が検索結果範囲であるか否かを判定する(ステップA5)。抽出された検索対象情報の数は1個(=x)であるので、検索結果範囲(1≦x≦2)である。したがって、検索処理を終了する(ステップA5:検索終了)。
【0142】
[付記]
以上の実施形態に関し、更に以下の付記を開示する。上述した実施形態の一部又は全部は、以下に記載する(付記1)から(付記12)により表現することができるが、以下の記載に限定されるものではない。
【0143】
(付記1)
一つ以上の属性情報を有する検索条件を用いて、画像と一つ以上の属性情報とが関連付けられた検索対象情報を有するデータセットを参照し、前記検索条件の前記属性情報と一致する前記属性情報を有する検索対象情報を抽出する、検索対象抽出部と、
抽出した前記検索対象情報の数があらかじめ設定された検索結果範囲にない場合、属性情報が階層的に分類されたナレッジベースを参照し、抽出した前記検索対象情報に含まれる属性情報ごとに、あらかじめ決められたスコア関数を用いてスコアを算出する、スコア算出部と、
算出した前記スコアに基づいて属性情報を選択し、選択した前記属性情報を用いて利用者に提示する質問を表す質問情報を生成する、質問生成部と、
前記質問情報に対する前記利用者の回答が表す属性情報を前記検索条件に反映させ、新たな検索条件を生成する、検索条件生成部と、
を有する検索装置。
【0144】
(付記2)
付記1に記載の検索装置であって、
前記スコア算出部は、抽出した前記検索対象情報の数が前記検索結果範囲より小さい場合、前記ナレッジベースを参照し、上位ノード又は同位ノードの属性情報ごとに検索結果を拡大するための拡大スコア関数を用いてスコアを算出する、
検索装置。
【0145】
(付記3)
付記1又は2に記載の検索装置であって、
前記スコア算出部は、抽出した前記検索対象情報の数が前記検索結果範囲より大きい場合、前記ナレッジベースを参照し、下位ノードの属性情報ごとに検索結果を縮小するための縮小スコア関数を用いてスコアを算出する、
検索装置。
【0146】
(付記4)
付記1から3のいずれか一つに記載の検索装置であって、
前記検索対象情報は、前記検索対象情報を識別する識別情報と、前記属性情報と、前記検索対象情報に関連する人物画像とが関連付けられた情報である、
検索装置。
【0147】
(付記5)
一つ以上の属性情報を有する検索条件を用いて、画像と一つ以上の属性情報とが関連付けられた検索対象情報を有するデータセットを参照し、前記検索条件の前記属性情報と一致する前記属性情報を有する検索対象情報を抽出する、検索対象抽出ステップと、
抽出した前記検索対象情報の数があらかじめ設定された検索結果範囲にない場合、属性情報が階層的に分類されたナレッジベースを参照し、抽出した前記検索対象情報に含まれる属性情報ごとに、あらかじめ決められたスコア関数を用いてスコアを算出する、スコア算出ステップと、
算出した前記スコアに基づいて属性情報を選択し、選択した前記属性情報を用いて利用者に提示する質問を表す質問情報を生成する、質問生成ステップと、
前記質問情報に対する前記利用者の回答が表す属性情報を前記検索条件に反映させ、新たな検索条件を生成する、検索条件生成ステップと、
を有する検索方法。
【0148】
(付記6)
付記5に記載の検索方法であって、
前記スコア算出ステップにおいて、抽出した前記検索対象情報の数が前記検索結果範囲より小さい場合、前記ナレッジベースを参照し、上位ノード又は同位ノードの属性情報ごとに検索結果を拡大するための拡大スコア関数を用いてスコアを算出する、
検索方法。
【0149】
(付記7)
付記5又は6に記載の検索方法であって、
前記スコア算出ステップにおいて、抽出した前記検索対象情報の数が前記検索結果範囲より大きい場合、前記ナレッジベースを参照し、下位ノードの属性情報ごとに検索結果を縮小するための縮小スコア関数を用いてスコアを算出する、
検索方法。
【0150】
(付記8)
付記5から7のいずれか一つに記載の検索方法であって、
前記検索対象情報は、前記検索対象情報を識別する識別情報と、前記属性情報と、前記検索対象情報に関連する人物画像とが関連付けられた情報である、
検索方法。
【0151】
(付記9)
コンピュータに、
一つ以上の属性情報を有する検索条件を用いて、画像と一つ以上の属性情報とが関連付けられた検索対象情報を有するデータセットを参照し、前記検索条件の前記属性情報と一致する前記属性情報を有する検索対象情報を抽出する、検索対象抽出ステップと、
抽出した前記検索対象情報の数があらかじめ設定された検索結果範囲にない場合、属性情報が階層的に分類されたナレッジベースを参照し、抽出した前記検索対象情報に含まれる属性情報ごとに、あらかじめ決められたスコア関数を用いてスコアを算出する、スコア算出ステップと、
算出した前記スコアに基づいて属性情報を選択し、選択した前記属性情報を用いて利用者に提示する質問を表す質問情報を生成する、質問生成ステップと、
前記質問情報に対する前記利用者の回答が表す属性情報を前記検索条件に反映させ、新たな検索条件を生成する、検索条件生成ステップと、
を実行させる命令を含むプログラム。
【0152】
(付記10)
付記9に記載のプログラムであって、
前記スコア算出ステップにおいて、抽出した前記検索対象情報の数が前記検索結果範囲より小さい場合、前記ナレッジベースを参照し、上位ノード又は同位ノードの属性情報ごとに検索結果を拡大するための拡大スコア関数を用いてスコアを算出する、
プログラム。
【0153】
(付記11)
付記9又は10に記載のプログラムであって、
前記スコア算出ステップにおいて、抽出した前記検索対象情報の数が前記検索結果範囲より大きい場合、前記ナレッジベースを参照し、下位ノードの属性情報ごとに検索結果を縮小するための縮小スコア関数を用いてスコアを算出する、
プログラム。
【0154】
(付記12)
付記9から11のいずれか一つに記載のプログラムであって、
前記検索対象情報は、前記検索対象情報を識別する識別情報と、前記属性情報と、前記検索対象情報に関連する人物画像とが関連付けられた情報である、
プログラム。
【0155】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【産業上の利用可能性】
【0156】
以上のように本発明によれば、質問に対する利用者の回答に基づいて検索条件を更新して、検索結果を効率よく取得することができる。本発明は、検索を効率よく実行することが必要な分野において有用である。
【符号の説明】
【0157】
10 検索装置
11 検索対象抽出部
12 スコア算出部
13 質問生成部
14 検索条件生成部
15 ナレッジベース
40 システム
41 入出力装置
110 コンピュータ
111 CPU
112 メインメモリ
113 記憶装置
114 入力インターフェイス
115 表示コントローラ
116 データリーダ/ライタ
117 通信インターフェイス
118 入力機器
119 ディスプレイ装置
120 記録媒体
121 バス