データ検索装置、データ検索方法及びプログラム
【課題】検索用インデックスが十分に付与されていない状況において、付与率の高い検索条件を推薦して検索範囲を広げる検索データ検索装置を提供できるようにする。
【解決手段】第1インデックスと第2インデックスとを含む複数のインデックスを用いてデータを検索する場合に、第1インデックスおよび第2インデックスのそれぞれの付与率を取得し、インデックス付与率判定手段を用いて第1インデックス付与率および第2インデックス付与率を判定し、判定結果に応じてインデックス間関連度取得手段を用いて第1インデックスと第2インデックスとの関連度を取得し、その関連度に応じて、前記第1インデックスおよび前記第2インデックスを用いてデータを検索を行うことにより、より付与率が高い検索条件を推薦できるようにする。
【解決手段】第1インデックスと第2インデックスとを含む複数のインデックスを用いてデータを検索する場合に、第1インデックスおよび第2インデックスのそれぞれの付与率を取得し、インデックス付与率判定手段を用いて第1インデックス付与率および第2インデックス付与率を判定し、判定結果に応じてインデックス間関連度取得手段を用いて第1インデックスと第2インデックスとの関連度を取得し、その関連度に応じて、前記第1インデックスおよび前記第2インデックスを用いてデータを検索を行うことにより、より付与率が高い検索条件を推薦できるようにする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はデータ検索装置、データ検索方法及びプログラムに関し、特に、インデックスが付与されたデータと付与されていないデータとが混在する状況において検索処理を行うために用いて好適な技術に関する。
【背景技術】
【0002】
近年のフラッシュメモリ容量の増加に伴い、デジタルカメラやフォトフレーム、インクジェット複合機等、計算資源に制約がある省資源機器においても数万枚から数十万枚のデータを保存できる潤沢な記憶容量を持つようになっている。また、認識技術等の向上によって人名や地名をはじめとした多様な属性値が付与可能となっており、これらの属性値を用いて多種/多量のデータ検索を高速に行う必要性が、省資源機器においても高まっている。
【0003】
写真データの場合、日付や撮影パラメタ、位置情報であるGPS(Global Positioning System)座標などの属性値が撮影時に付与されるほか、お気に入り度合いや印刷指定等の属性値が再生時に付与される。これらの属性値を格納する枠組みとしては、Exif(Exchangeable image file format)が代表的である。ユーザ所望のデータを検索する場合には、これらの属性値を用いることが有益である。
【0004】
しかしながら、データ、および属性値が多種/多量である場合に、各データに対して全走査を行って検索処理を行うことは計算量が膨大となり、応答時間の遅延を招いてしまう。
そこで、検索を高速に行えるようにするため、索引情報を納めたインデックスをあらかじめ構築しておき、検索条件に構築済みのインデックスを利用することで応答時間を短縮する手法が一般的である。
【0005】
しかしながら検索対象となる属性値およびインデックスの付与が十分ではないために、検索対象範囲が狭まる場合がある。これは、省資源機器では計算資源や入力インターフェースの制約からインデックスの付与が困難であること、または広域ネットワークや外部機器への接続や、手作業等にインデックスの付与が依存することに起因する。
【0006】
例えば、デジタルカメラ等におけるユースケースにおいては、一般的に日付についての属性値・インデックスの付与は可能である。しかし、人名や地名、あるいはイベントといった情報については、属性値の付与を行うための情報源が広域ネットワークや外部機器、手作業による付与等に依存し、インデックスの付与まで行うことは機器単体では困難である。そのためデータ検索実行時にインデックスが十分に付与されない場合がある。ここで、インデックスが付与されているデータがデータ母集団に対して占める割合をインデックス付与率と呼ぶ。
【0007】
従来、インデックスを用いた検索装置としては、(A)インデックスが有効なデータだけを対象に検索する装置、(B)必要なインデックスを再構築する装置、(C)全走査に切り替える装置が存在する。また、検索対象範囲を広げる検索装置としては、(D)データの属性値を予めクラスタリング・グループ化しておき、検索時に類似度を算出するなどして、代替条件を提示する装置(例えば、特許文献1および特許文献2参照)が存在する。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2001−075982号公報
【特許文献2】特開2004−078618号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、従来技術(A)はインデックスが十分に付与されていない属性値で検索することは、検索対象範囲が狭まるためにユーザにとって効率的な検索にはならない。一方、従来技術(B)、(C)、(D)は検索対象範囲を広げて検索できるが、PC並みの計算資源を前提としており、省資源機器における実装は現実的に困難である。
【0010】
そのため、省資源機器ではインデックスが十分に付与されていない状態でも検索を行わざるを得ない。インデックスが付与されていないデータを単純に抽出してユーザに提示することで、検索対象外となるデータをユーザに提示することも可能であるが、未付与分のデータ件数が多い場合に視認性が著しく損なわれる。そのため、視認性確保のために提示方法を制御する必要がある。
本発明は前述の問題に鑑み、インデックスの付与が困難な省資源機器においても、インデックスの付与率が高く、かつ関連性の高い検索条件を新たに推薦することによって検索対象範囲を広げ、検索機能の利便性を高めることを目的とする。
【課題を解決するための手段】
【0011】
本発明のデータ検索装置は、第1インデックス及び第2インデックスを含む第1インデックスと第2インデックスとを含む複数のインデックスを用いてデータを検索するデータ検索装置であって、任意のインデックスの付与率を取得するインデックス付与率取得手段と、前記インデックス付与率取得手段で取得したインデックス付与率を判定するインデックス付与率判定手段と、任意のインデックス間の関連度を格納するインデックス間関連度格納手段と、前記インデックス間関連度格納手段から複数のインデックス間の関連度を取得するインデックス間関連度取得手段と、前記インデックス間関連度取得手段により取得したインデックス間の関連度に応じて検索条件を推薦する検索条件推薦手段とを有することを特徴とする。
【発明の効果】
【0012】
本発明によれば、インデックス付与率の高い検索条件を推薦することにより、インデックス再構築や全走査を行わなくとも、検索漏れとなるデータを減少させることができ、ユーザの利便性を高めることができる。
【図面の簡単な説明】
【0013】
【図1】実施形態を示し、データ検索装置の制御に係る主要部の構成を示す図である。
【図2】実施形態で用いるフラッシュメモリカードを示す図である。
【図3】実施形態で用いるデータ例としてExifの属性値の代表例を示す図である。
【図4】B−Treeインデックスの構造をもつ場合の一例を示す図である。
【図5】実施形態のデータ検索装置の機能構成を示すブロック図である。
【図6】実施形態で用いる各インデックスの付与率の例を示す図である。
【図7】実施形態で用いるインデックス間関連度格納部の例を示す図である。
【図8】実施形態で用いる付与率および関連度の閾値の例を示す図である。
【図9】付与率・関連度に応じて検索条件を推薦する画面を示す図である。
【図10】推薦された条件で再検索したときの画面を示す図である。
【図11】付与率・関連度に応じて検索条件を推薦する画面の他の例を示す図である。
【図12】推薦された条件で再検索したときの画面を示す図である。
【図13】実施形態で用いる検索処理の流れを示すフローチャートである。
【図14】付与率の高い検索条件の推薦処理の流れを示すフローチャートである。
【図15】低付与率を除外した条件推薦処理を説明するフローチャートである。
【図16】OR条件に変更した条件推薦処理を説明するフローチャートである。
【図17】第3のインデックスで条件推薦処理を説明するフローチャートである。
【発明を実施するための形態】
【0014】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
(第1の実施形態)基本動作
図1は本発明の実施形態を適用する装置を示す構成図である。図1において、100はデータ検索装置の全体構成を表している。101はマイクロプロセッサCPU(Central Processing Unit)である。CPU101は、情報処理のための演算、論理判断等を行い、システムバス114を介して、それらのバスに接続された各構成要素を制御する。
【0015】
102は読出し専用の固定メモリROM(Read Only Memory)であり、本実施形態で実行される処理プログラム等の制御プログラムコードを記憶する。103は書き込み可能なRAM(Random Access Memory)であり、各構成要素からの各種データの一時記憶に用いられる。104は入力装置であり、ユーザからの指示が入力される。108は液晶パネル等の表示装置であり、その表示装置における画像情報の表示を表示コントローラ105で制御する。106は外部記憶装置であり、各種データおよび画像情報が格納される。また、これらのデータを格納する記憶媒体としては、メモリカード、HDD、DVD−RAMなどを用いることができる。107は通信装置であり、他の機器と通信接続することができる。
【0016】
前述のように構成されたデータ検索装置100においては、入力装置104からの各種の入力及び通信装置107から供給されるネットワーク経由の各種入力に応じて作動するものである。よって、入力装置104からの入力及び通信装置107からの入力が供給されると、まず、インタラプト信号がCPU101に送られる。そして、そのCPU101がROM102、RAM103、外部記憶装置106に記憶してある各種の制御信号を読出し、それらの制御信号に従って、各種の制御が行われる。
また、本実施形態に係わるプログラムを格納した記憶媒体をシステムあるいは装置に供給し、そのシステムあるいは装置が、記憶媒体に格納されたプログラムコードを読み出し実行することによっても本実施形態のデータ検索装置100は実現される。
【0017】
図2は、外部記憶装置の例として、デジタルカメラ向けメモリカードの内部構成を示した図である。メモリカード200の内部には、写真や映像をはじめとした各種データがDCF(Design rule for Camera File system)201に準拠した形で格納される。また、写真や映像のデータにはデータの内容を説明する付加情報である属性値を付与される。写真データの場合、日付や撮影パラメタ、GPS座標などを格納する枠組みであるExif(Exchangeable image file format)202が代表的な例である。
【0018】
図3に示したのはExifが持つ属性値の一例であり、日付、GPS座標、地名、撮影機器メーカー、撮影機器機種名、人名等が格納されている。また、検索処理を高速に行えるようにするため、インデックス格納領域203に、索引情報を格納したインデックス(204〜207)をあらかじめ構築し、構築済みのインデックスを検索時に利用することで応答時間を短縮する手法が一般的である。インデックスはB−Treeやハッシュ等のデータ構造を持ち、検索キーとデータを紐付けておくことで高速な検索が可能になる。204は日付のインデックス、205はGPS座標のインデックス、206は地名のインデックス、そして207は人名のインデックスである。
【0019】
図4は、地名インデックス206が、B−Treeインデックスの構造をもつ場合の例を示す図である。B−Treeインデックスは階層構造を持つインデックスであり、データの挿入、検索、および削除が容易に行える特長を有する。401は地名からデータファイル名へのインデックスレコードを表している。
【0020】
図5は、本実施形態に係るデータ検索装置100の機能構成を表すブロック図である。この図5において、501は、後述するデータ502を格納するためのデータ格納部であり、外部記憶装置106に配置される。502は撮影、スキャン、外部からの転送等によって生成されるデータである。503は、データ502を高速に検索するためのインデックス204〜207を付与および管理するため処理群であるインデックス部である。インデックス部503は、各インデックスを付与するためのインデックス付与部504、各インデックスの付与率を取得するためのインデックス付与率取得部505、各インデックス間の関連度を取得するためのインデックス間関連度取得部506から構成される。
【0021】
507は、インデックス付与部504で付与されたインデックス204〜207を格納するためのインデックス格納部であり、外部記憶装置106に配置される。508は、検索条件推薦部514において推薦基準として用いるインデックス間関連度を格納するためのインデックス間関連度格納部である。509は、ユーザ入力部510で受け取るユーザからの指示に基づいて検索処理部511を実行し、検索対象となるデータ502から条件に合致するデータを検索結果表示制御部512に提示するためのデータ検索部である。また、データ検索部509は、インデックスの付与率が閾値以上であるか否かを判定するインデックス付与率判定部513と、ユーザ指定の検索条件よりもインデックス付与率の高い検索条件を推薦する検索条件推薦部514を内包する。
【0022】
前述の検索条件推薦部514は、インデックス付与率判定部513、およびインデックス間関連度格納部508を用いて、ユーザ入力部510から指示された検索条件に対応するインデックスの付与率が高い検索条件を推薦する。
【0023】
図6は、各インデックスの付与率の例を示す図である。図6において、600は各インデックスの付与率を格納した付与率テーブルである。601〜605は各インデックスの付与率であり、それぞれ601は日付、602はGPS座標、603は地名、604は人名、605はイベントに対する付与率である。
【0024】
図7は、各インデックス間の関連度を格納するインデックス間関連度格納部508の例を示す図である。インデックス間関連度とは、属性同士の共起率や類似度、作成頻度等に基づいて算出されるインデックス間の統計的な相関を表す指標である。700は各インデックス間関連度を格納するインデックス間関連度格納テーブルである。
【0025】
701〜706はインデックスの各組み合わせにおける関連度を格納したレコードである。インデックス間関連度の算出方法としては1つの例として複数属性間の相関性を利用する方法がある。これは属性間で付与される属性値に相関がある特性を利用するものである。例えば写真データの場合、イベント属性や地名属性には相関がある場合が多い。
【0026】
具体的には、イベント属性値が「誕生会」であれば、人名属性値には誕生日を迎える本人「C太郎」やその家族、友人の名前が付与される。また、イベント属性値が「海外旅行」である場合には、地名属性値には旅行先の地名「ハワイ」「ロンドン」等が付与される。このような相関関係を相関値として定量化し、関連度として利用する。相関値を求めるには、データ母集団の各属性値のクラスタリングやクラス分類等を行い、属性間の頻出パターンを解析して算出する。
【0027】
また、関連度算出には一定の計算資源が必要であるため、検索対象データを格納した外部記憶装置やデータ検索装置をPCや外部ネットワークに接続した際に、インデックス作成処理と並行して算出してもよい。あるいは、データ検索装置の工場出荷時にユーザのユースケースを想定してプリセットとして与えておいてもよい。もちろん、計算資源が乏しい状況において、長時間ユーザが利用せず、その間電源が安定して供給されるなどして十分な計算資源が入手可能な場合にはデータ検索装置単体で作成してもよい。
【0028】
図8は、検索条件推薦処理において利用する閾値の例を表す図である。図8において、800は閾値を格納する閾値テーブルである。801はインデックス付与率に対する閾値であり、802はインデックス間関連度に対する閾値である。
【0029】
次に、以上の構成に基づく動作概要を以下に説明する。
まず、インデックス付与機能について説明する。データ502がデータ格納部501に格納される。そして、インデックス部503でインデックスが付与される。ここで、日付のインデックス204やGPS座標インデックス205等、省資源機器でも付与可能なものについてはインデックス付与を行う。しかし、地名インデックス206や人名インデックス207等、情報源が広域ネットワークや外部機器、手作業による付与等に依存するものについては、省資源機器においてはインデックス付与が省略される場合がある。
【0030】
続いて、インデックス付与率取得機能について説明する。
インデックス付与率取得部505はインデックス付与率を取得する機能を有している。なお、インデックス付与率に計上されないデータは、属性値およびインデックスの付与が完了していないもの、あるいは属性値の付与が完了しているがインデックスの付与が完了していないものである。なお、インデックス付与率は、インデックス付与率テーブル600のように事前に格納しておいてもよいし、取得要求時に算出してもよい。
【0031】
また、複数条件が指定された場合の合成インデックス付与率は、AND結合の場合には条件に含まれるインデックス付与率のうち最も低い付与率を、OR結合の場合には最も高い付与率とする。もちろん、必要に応じて合成インデックス付与率の決定条件を変更してもよい。
【0032】
次に、図13のフローチャートを用いて、インデックスを用いたデータ検索機能について説明する。
まず、S1301において、ユーザ入力部510からの検索条件入力を受け付ける。そして、S1302において検索条件に基づき検索処理部511が検索結果リストを生成し、S1303においてソート処理を実施する。続いて、S1304において検索結果表示制御部512が検索結果リストを受け取ってユーザに検索結果を提示する。
【0033】
本実施形態では、検索対象データが画像や動画、あるいは文書である場合を想定し、検索結果は日付や撮影順によってソートし、各データをサムネイルで表示するものとする。ここで、インデックスの付与率が十分ではない状態で検索処理が行われる場合、インデックスの付与が済んでいないデータについては検索結果として提示することができない。そこで、検索対象を広げるため、S1305においてインデックス付与率判定部513および検索条件推薦部514を用いて新たな検索条件を推薦する。S1305において行われる処理の詳細な処理を以下に示す。
【0034】
図9は、本実施形態が主張する、インデックスの付与率・関連度に基づいて、より付与率の高い検索条件を推薦するユーザインターフェースの一例を示す図である。
図9において、901はインデックス名表示領域であり、検索に用いられるインデックスが何であるかを表示する領域である。
【0035】
902は、ユーザが指定した検索条件を選択するドロップダウンボックスである。また、903は、検索条件に基づいて領域に検索結果をサムネイルで一覧表示する検索結果表示領域である。検索条件に対応する推薦検索条件は推薦検索条件表示領域904に表示される。この例では、一画面に複数の検索条件を推薦している。
【0036】
905は、検索結果のページ数やインデックスの付与率を提示する検索情報表示領域である。この画面における検索条件はイベント「運動会」であり、条件に合致したデータが検索結果表示領域903に表示されている。検索情報表示領域905は、イベントのインデックス付与率605を参照し25%を提示している。検索中の条件に対応するインデックス付与率がインデックス付与率閾値801未満であることから、後述する検索条件推薦処理が実行される。その結果、地名インデックス、人名インデックス、あるいは日付インデックスを用いたインデックス付与率の大きい検索条件を推薦検索条件表示領域904に提示される。
【0037】
例えば提示された条件のうち、地名を選択すると図10に示す検索結果表示画面1001に遷移し、付与率が60%となる検索条件で再検索が実行される。同様に「イベントor人名」を選択した場合には1002に遷移し、付与率が50%の条件で再検索が実行される。いずれも再検索の実行後はインデックス付与率が元の検索条件よりも向上し、かつ検索対象件数が多くなることが期待できる。
【0038】
前述の処理について、具体的な処理内容をフローチャートを用いて説明する。図14は、ユーザ検索条件に対応するインデックス付与率に応じて新たな検索条件を推薦する処理の流れを示すフローチャートである。
まず、S1401において、インデックス付与率取得部505を用い、ユーザが指定した検索条件に対応するインデックスの付与率を取得する。このインデックスのことを便宜上第1インデックスと呼ぶ。
【0039】
次に、S1402において、S1401で取得した第1インデックスの付与率をインデックス付与率判定部513によって図8の例に示したインデックス付与率閾値と比較し、第1インデックスが十分に付与されているかを判定する。インデックス付与率が付与率閾値以上と判断された場合にはそのまま処理を終了し、閾値未満である場合には検索条件推薦処理を実行する。
【0040】
なお、データに付与された属性値が全て同一である場合、検索条件に加えても絞込み効果が期待できないため、付与率を0として扱う。付与率閾値は必要に応じて属性毎にそれぞれ予め用意してもよい。また、付与率閾値だけではなく、インデックスの更新日時やバージョン番号等、インデックス作成時に基準点を設けておき、その基準点とインデックスの作成状況を比較し、インデックスの有効な範囲を判定することで推薦処理を実行してもよい。
【0041】
続いて、S1403において、インデックス付与率がインデックス付与率閾値未満である場合、第1インデックスではないインデックスから第2インデックスを選択し付与率を取得する。そして、S1404において、前述の第2インデックスの付与率が第1インデックスの付与率以上であるか否かを判定し、真の場合には処理を継続し、偽の場合には検索条件推薦処理を終了する。
【0042】
次に、S1405においてインデックス間関連度取得部506を用いて第1インデックスと第2インデックスの関連度を取得する。
S1406において第1インデックスと第2インデックスの関連度が図8の例に示したインデックス間関連度閾値以上であるか否かを判定する。閾値未満である場合にはS1407において第1インデックスおよび第2インデックスをOR条件で結合した検索条件閾値以上を推薦する。また、閾値以上である場合にはS1408において新たな検索条件として第2インデックスに置換した検索条件を推薦し、その条件を検索結果表示制御部512に表示する。
【0043】
推薦検索条件表示領域904に推薦された検索条件をユーザが選択すると、再検索が実行され、再検索結果が検索結果表示制御部512に表示される。図10は、ユーザが推薦された検索条件を選択し、再検索した結果を表示するユーザインターフェースの一例である。
【0044】
以上の手順により、インデックスの付与率に応じて検索条件を推薦することによって、インデックスが未付与であるために検索対象とならないデータを閲覧可能にする。さらに関連度の高い条件で再検索を行うことによって検索結果リストの視認性が向上し、ユーザが効率的に検索処理を行うことができる。また、関連度を用いることはユーザが望む検索条件の文脈を維持する効果も期待できる。その結果、計算資源が潤沢ではない省資源機器においてもインデックスを用いた高速検索をより簡便にすることができ、ユーザの利便性が高まる。
【0045】
なお、再検索結果が提示された後には再びインデックス付与率の判定処理から検索条件の推薦処理を実行してもよい。また、前述した例においては、推薦条件による再検索時には新たな検索条件をユーザが選択しているが、ユーザの嗜好や検索の文脈に応じて自動的に選択し、再検索結果を提示してもよい。また、視認性を向上させるために推薦前の検索条件からの差分のサムネイルを輝度変更等によって識別可能にすることや、差分のみの再検索結果提示をしてもよい。
【0046】
(第2の実施形態)
次に、本発明の第2の実施形態として、複数インデックスをAND結合した検索条件における検索条件推薦方法について詳細に説明する。
本実施形態は第1の実施形態と同様の構成を持ち、与えられた検索条件に応じてインデックス付与率判定部513および検索条件推薦部514を用いて付与率が高くなる検索条件を推薦する。具体的には以下に示す3つの方法のいずれかを用いて検索条件を推薦する。それぞれの詳細は図15〜17に示したフローチャートを用いて説明する。
【0047】
まず1つ目の方法(甲)として、付与率が低い検索条件を外した検索条件を推薦する方法を挙げる。図15は、その処理の流れを示すフローチャートである。
S1501において、インデックス付与率取得部505を用い、ユーザが指定した検索条件に対応する各インデックスの付与率を取得する。本実施形態の説明の便宜上、AND結合の左項を第1インデックス、右項を第2インデックスと呼ぶ。例えば、検索条件として「イベント AND 地名」の属性で検索した場合、イベントインデックスを第1インデックス、地名インデックスを第2インデックスとする。そして、インデックス付与率取得部505は、第1インデックスおよび第2インデックスに対して第1インデックス付与率および第2インデックス付与率を取得する。
【0048】
次に、S1502において、第1および第2インデックスの付与率について、インデックス付与率判定部513によって図8の例に示したインデックス付与率閾値とそれぞれ比較し、各インデックスが十分に付与されているか否かを判定する。第1および第2インデックスの付与率がいずれも閾値以上と判断された場合にはそのまま処理を終了し、少なくともいずれかが閾値未満である場合にはS1503に進んで検索条件推薦処理を実行する。
【0049】
S1503において、第1インデックス若しくは第2インデックスの付与率が低い方のインデックスを除外した検索条件を新たな検索条件として推薦し、その条件を検索結果を検索結果表示制御部512に表示する。
【0050】
2つ目の方法(乙)として、結合条件をAND結合からOR条件に変更した検索条件を推薦する方法を挙げる。図16は、その処理の流れを示すフローチャートである。
S1601において、インデックス付与率取得部505を用い、ユーザが指定した検索条件に対応する各インデックスの付与率を取得する。本実施形態の説明の便宜上、AND結合の左項を第1インデックス、右項を第2インデックスと呼ぶ。
【0051】
次に、S1602において、第1および第2インデックスの付与率について、インデックス付与率判定部513によって図8の例に示したインデックス付与率閾値とそれぞれ比較し、各インデックスが十分に付与されているか否かを判定する。第1および第2インデックスの付与率がいずれも閾値以上と判断された場合にはそのまま処理を終了し、少なくともいずれかが閾値未満である場合にはS1603に進んで検索条件推薦処理を実行する。
【0052】
S1603において、第1インデックス及び第2インデックスの結合条件をORに置換した検索条件を新たな検索条件として推薦し、その条件を検索結果表示制御部512に表示する。
【0053】
3つ目の方法(丙)として、既存の検索条件に対応する付与率よりも高い付与率を持つ第3インデックスを選択し、組み込んだ検索条件を推薦する方法を挙げる。図17はその処理の流れを示すフローチャートである。
S1701において、インデックス付与率取得部505を用い、ユーザが指定した検索条件に対応する各インデックスの付与率を取得する。本実施形態の説明の便宜上、AND結合の左項を第1インデックス、右項を第2インデックスと呼ぶ。
【0054】
次に、S1702において、第1および第2インデックスについて、付与率の低い方を選択する。選択したインデックスを便宜上第Nインデックスと呼ぶ。
S1703において、インデックス付与率判定部513によって図8の例に示したインデックス付与率閾値と比較し、第Nインデックスが十分に付与されているか否かを判定する。第Nインデックスの付与率が閾値以上と判断された場合にはそのまま処理を終了し、閾値未満である場合には検索条件推薦処理を実行する。
【0055】
続いてS1704において、検索条件に対応するインデックス付与率がインデックス付与率閾値未満である場合、第1インデックスおよび第2インデックスに含まれない、任意の第3インデックスを新たに選択する。
【0056】
S1705において、選択した第3インデックス付与率が第Nインデックスの付与率以上であるか否かを判定する。判定結果が真の場合にはS1706に進んで検索条件推薦処理を続行し、偽の場合には検索条件推薦処理を終了する。
次に、S1706においてインデックス間関連度取得部506を用いて第3インデックスと第Nインデックスの関連度を取得する。ここでの関連度は、第1の実施形態で述べた関連度と同義である。
【0057】
S1707において、第Nインデックスと第3インデックスの関連度が図8の例に示したインデックス間関連度閾値以上であるか否かを判定する。閾値未満である場合にはS1708において第1インデックスおよび第2インデックスで構成された当初の検索条件に第3インデックスをOR条件で結合した検索条件を推薦する。そして、閾値以上である場合にはS1709において新たな検索条件として第Nインデックスを第3インデックスに置換した検索条件を推薦し、その条件を検索結果表示制御部512に表示する。
【0058】
前述した甲、乙、丙、以上3つのそれぞれの方法を用いて検索条件を推薦した時のユーザインターフェースの例を示したのが図11である。
構成要素は第1の実施形態と同様であるが、推薦検索条件表示領域904に推薦される検索条件は甲、乙、丙それぞれの方法で導出したものである。
【0059】
図12は、ユーザが推薦された検索条件を選択し、再検索した結果を表示するユーザインターフェースの一例である。それぞれ画面1201は甲(付与率50%)、画面1202は乙(付与率50%)、画面1203は丙(付与率60%)の方法で推薦された条件をユーザが選択したときの再検索結果を表している。いずれも25%だったインデックス付与率が推薦条件による再検索を行うことで向上し、検索対象が広がる。
【0060】
以上の手順により、複数条件がAND結合した検索条件において、検索条件に含まれる一部のインデックスの付与率が低いために検索対象外となるデータを減少させ、検索可能な母数を増加させることができる。また、ユーザが指定する検索条件を生かして推薦したものであるため、検索結果件数が増加してもユーザ所望の検索条件と関連性の高い検索結果の提示が可能になり、ユーザの利便性が高まる。
前述した実施形態では2つの検索条件における例のみを提示したが、3つ以上の検索条件においてもボトムアップ式に2つの項ずつ再帰的に実行すれば適用可能である。
【0061】
なお、甲、乙、丙のいずれの方法において、付与率閾値は第1の実施形態と同様に必要に応じて属性毎、あるいはインデックス毎にそれぞれ用意してもよい。また、付与率閾値だけではなく、インデックスの更新日時やバージョン番号等、インデックス作成時に基準点を設けておき、その基準点と比較し、判定することで推薦処理を実行してもよい。
【0062】
また、検索条件推薦処理には甲、乙、丙3つの方法全てを必ず用いる必要はなく、必要に応じて選択可能にしてもよい。また、第1の実施形態と同様に視認性を向上させるために推薦前の検索条件からの差分のサムネイルを輝度変更等によって識別可能にすることや、差分のみの再検索結果提示をしてもよい。
【0063】
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【符号の説明】
【0064】
501 データ格納部、502 データ、503 インデックス部、504 インデックス付与部、505 インデックス付与率取得部、506 インデックス間関連度取得部、507 インデックス格納部、508 インデックス間関連度格納部、509 データ検索部、510 ユーザ入力部、511 検索処理部、512 検索結果表示制御部、513 インデックス付与率判定部、514 検索条件推薦部
【技術分野】
【0001】
本発明はデータ検索装置、データ検索方法及びプログラムに関し、特に、インデックスが付与されたデータと付与されていないデータとが混在する状況において検索処理を行うために用いて好適な技術に関する。
【背景技術】
【0002】
近年のフラッシュメモリ容量の増加に伴い、デジタルカメラやフォトフレーム、インクジェット複合機等、計算資源に制約がある省資源機器においても数万枚から数十万枚のデータを保存できる潤沢な記憶容量を持つようになっている。また、認識技術等の向上によって人名や地名をはじめとした多様な属性値が付与可能となっており、これらの属性値を用いて多種/多量のデータ検索を高速に行う必要性が、省資源機器においても高まっている。
【0003】
写真データの場合、日付や撮影パラメタ、位置情報であるGPS(Global Positioning System)座標などの属性値が撮影時に付与されるほか、お気に入り度合いや印刷指定等の属性値が再生時に付与される。これらの属性値を格納する枠組みとしては、Exif(Exchangeable image file format)が代表的である。ユーザ所望のデータを検索する場合には、これらの属性値を用いることが有益である。
【0004】
しかしながら、データ、および属性値が多種/多量である場合に、各データに対して全走査を行って検索処理を行うことは計算量が膨大となり、応答時間の遅延を招いてしまう。
そこで、検索を高速に行えるようにするため、索引情報を納めたインデックスをあらかじめ構築しておき、検索条件に構築済みのインデックスを利用することで応答時間を短縮する手法が一般的である。
【0005】
しかしながら検索対象となる属性値およびインデックスの付与が十分ではないために、検索対象範囲が狭まる場合がある。これは、省資源機器では計算資源や入力インターフェースの制約からインデックスの付与が困難であること、または広域ネットワークや外部機器への接続や、手作業等にインデックスの付与が依存することに起因する。
【0006】
例えば、デジタルカメラ等におけるユースケースにおいては、一般的に日付についての属性値・インデックスの付与は可能である。しかし、人名や地名、あるいはイベントといった情報については、属性値の付与を行うための情報源が広域ネットワークや外部機器、手作業による付与等に依存し、インデックスの付与まで行うことは機器単体では困難である。そのためデータ検索実行時にインデックスが十分に付与されない場合がある。ここで、インデックスが付与されているデータがデータ母集団に対して占める割合をインデックス付与率と呼ぶ。
【0007】
従来、インデックスを用いた検索装置としては、(A)インデックスが有効なデータだけを対象に検索する装置、(B)必要なインデックスを再構築する装置、(C)全走査に切り替える装置が存在する。また、検索対象範囲を広げる検索装置としては、(D)データの属性値を予めクラスタリング・グループ化しておき、検索時に類似度を算出するなどして、代替条件を提示する装置(例えば、特許文献1および特許文献2参照)が存在する。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2001−075982号公報
【特許文献2】特開2004−078618号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、従来技術(A)はインデックスが十分に付与されていない属性値で検索することは、検索対象範囲が狭まるためにユーザにとって効率的な検索にはならない。一方、従来技術(B)、(C)、(D)は検索対象範囲を広げて検索できるが、PC並みの計算資源を前提としており、省資源機器における実装は現実的に困難である。
【0010】
そのため、省資源機器ではインデックスが十分に付与されていない状態でも検索を行わざるを得ない。インデックスが付与されていないデータを単純に抽出してユーザに提示することで、検索対象外となるデータをユーザに提示することも可能であるが、未付与分のデータ件数が多い場合に視認性が著しく損なわれる。そのため、視認性確保のために提示方法を制御する必要がある。
本発明は前述の問題に鑑み、インデックスの付与が困難な省資源機器においても、インデックスの付与率が高く、かつ関連性の高い検索条件を新たに推薦することによって検索対象範囲を広げ、検索機能の利便性を高めることを目的とする。
【課題を解決するための手段】
【0011】
本発明のデータ検索装置は、第1インデックス及び第2インデックスを含む第1インデックスと第2インデックスとを含む複数のインデックスを用いてデータを検索するデータ検索装置であって、任意のインデックスの付与率を取得するインデックス付与率取得手段と、前記インデックス付与率取得手段で取得したインデックス付与率を判定するインデックス付与率判定手段と、任意のインデックス間の関連度を格納するインデックス間関連度格納手段と、前記インデックス間関連度格納手段から複数のインデックス間の関連度を取得するインデックス間関連度取得手段と、前記インデックス間関連度取得手段により取得したインデックス間の関連度に応じて検索条件を推薦する検索条件推薦手段とを有することを特徴とする。
【発明の効果】
【0012】
本発明によれば、インデックス付与率の高い検索条件を推薦することにより、インデックス再構築や全走査を行わなくとも、検索漏れとなるデータを減少させることができ、ユーザの利便性を高めることができる。
【図面の簡単な説明】
【0013】
【図1】実施形態を示し、データ検索装置の制御に係る主要部の構成を示す図である。
【図2】実施形態で用いるフラッシュメモリカードを示す図である。
【図3】実施形態で用いるデータ例としてExifの属性値の代表例を示す図である。
【図4】B−Treeインデックスの構造をもつ場合の一例を示す図である。
【図5】実施形態のデータ検索装置の機能構成を示すブロック図である。
【図6】実施形態で用いる各インデックスの付与率の例を示す図である。
【図7】実施形態で用いるインデックス間関連度格納部の例を示す図である。
【図8】実施形態で用いる付与率および関連度の閾値の例を示す図である。
【図9】付与率・関連度に応じて検索条件を推薦する画面を示す図である。
【図10】推薦された条件で再検索したときの画面を示す図である。
【図11】付与率・関連度に応じて検索条件を推薦する画面の他の例を示す図である。
【図12】推薦された条件で再検索したときの画面を示す図である。
【図13】実施形態で用いる検索処理の流れを示すフローチャートである。
【図14】付与率の高い検索条件の推薦処理の流れを示すフローチャートである。
【図15】低付与率を除外した条件推薦処理を説明するフローチャートである。
【図16】OR条件に変更した条件推薦処理を説明するフローチャートである。
【図17】第3のインデックスで条件推薦処理を説明するフローチャートである。
【発明を実施するための形態】
【0014】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
(第1の実施形態)基本動作
図1は本発明の実施形態を適用する装置を示す構成図である。図1において、100はデータ検索装置の全体構成を表している。101はマイクロプロセッサCPU(Central Processing Unit)である。CPU101は、情報処理のための演算、論理判断等を行い、システムバス114を介して、それらのバスに接続された各構成要素を制御する。
【0015】
102は読出し専用の固定メモリROM(Read Only Memory)であり、本実施形態で実行される処理プログラム等の制御プログラムコードを記憶する。103は書き込み可能なRAM(Random Access Memory)であり、各構成要素からの各種データの一時記憶に用いられる。104は入力装置であり、ユーザからの指示が入力される。108は液晶パネル等の表示装置であり、その表示装置における画像情報の表示を表示コントローラ105で制御する。106は外部記憶装置であり、各種データおよび画像情報が格納される。また、これらのデータを格納する記憶媒体としては、メモリカード、HDD、DVD−RAMなどを用いることができる。107は通信装置であり、他の機器と通信接続することができる。
【0016】
前述のように構成されたデータ検索装置100においては、入力装置104からの各種の入力及び通信装置107から供給されるネットワーク経由の各種入力に応じて作動するものである。よって、入力装置104からの入力及び通信装置107からの入力が供給されると、まず、インタラプト信号がCPU101に送られる。そして、そのCPU101がROM102、RAM103、外部記憶装置106に記憶してある各種の制御信号を読出し、それらの制御信号に従って、各種の制御が行われる。
また、本実施形態に係わるプログラムを格納した記憶媒体をシステムあるいは装置に供給し、そのシステムあるいは装置が、記憶媒体に格納されたプログラムコードを読み出し実行することによっても本実施形態のデータ検索装置100は実現される。
【0017】
図2は、外部記憶装置の例として、デジタルカメラ向けメモリカードの内部構成を示した図である。メモリカード200の内部には、写真や映像をはじめとした各種データがDCF(Design rule for Camera File system)201に準拠した形で格納される。また、写真や映像のデータにはデータの内容を説明する付加情報である属性値を付与される。写真データの場合、日付や撮影パラメタ、GPS座標などを格納する枠組みであるExif(Exchangeable image file format)202が代表的な例である。
【0018】
図3に示したのはExifが持つ属性値の一例であり、日付、GPS座標、地名、撮影機器メーカー、撮影機器機種名、人名等が格納されている。また、検索処理を高速に行えるようにするため、インデックス格納領域203に、索引情報を格納したインデックス(204〜207)をあらかじめ構築し、構築済みのインデックスを検索時に利用することで応答時間を短縮する手法が一般的である。インデックスはB−Treeやハッシュ等のデータ構造を持ち、検索キーとデータを紐付けておくことで高速な検索が可能になる。204は日付のインデックス、205はGPS座標のインデックス、206は地名のインデックス、そして207は人名のインデックスである。
【0019】
図4は、地名インデックス206が、B−Treeインデックスの構造をもつ場合の例を示す図である。B−Treeインデックスは階層構造を持つインデックスであり、データの挿入、検索、および削除が容易に行える特長を有する。401は地名からデータファイル名へのインデックスレコードを表している。
【0020】
図5は、本実施形態に係るデータ検索装置100の機能構成を表すブロック図である。この図5において、501は、後述するデータ502を格納するためのデータ格納部であり、外部記憶装置106に配置される。502は撮影、スキャン、外部からの転送等によって生成されるデータである。503は、データ502を高速に検索するためのインデックス204〜207を付与および管理するため処理群であるインデックス部である。インデックス部503は、各インデックスを付与するためのインデックス付与部504、各インデックスの付与率を取得するためのインデックス付与率取得部505、各インデックス間の関連度を取得するためのインデックス間関連度取得部506から構成される。
【0021】
507は、インデックス付与部504で付与されたインデックス204〜207を格納するためのインデックス格納部であり、外部記憶装置106に配置される。508は、検索条件推薦部514において推薦基準として用いるインデックス間関連度を格納するためのインデックス間関連度格納部である。509は、ユーザ入力部510で受け取るユーザからの指示に基づいて検索処理部511を実行し、検索対象となるデータ502から条件に合致するデータを検索結果表示制御部512に提示するためのデータ検索部である。また、データ検索部509は、インデックスの付与率が閾値以上であるか否かを判定するインデックス付与率判定部513と、ユーザ指定の検索条件よりもインデックス付与率の高い検索条件を推薦する検索条件推薦部514を内包する。
【0022】
前述の検索条件推薦部514は、インデックス付与率判定部513、およびインデックス間関連度格納部508を用いて、ユーザ入力部510から指示された検索条件に対応するインデックスの付与率が高い検索条件を推薦する。
【0023】
図6は、各インデックスの付与率の例を示す図である。図6において、600は各インデックスの付与率を格納した付与率テーブルである。601〜605は各インデックスの付与率であり、それぞれ601は日付、602はGPS座標、603は地名、604は人名、605はイベントに対する付与率である。
【0024】
図7は、各インデックス間の関連度を格納するインデックス間関連度格納部508の例を示す図である。インデックス間関連度とは、属性同士の共起率や類似度、作成頻度等に基づいて算出されるインデックス間の統計的な相関を表す指標である。700は各インデックス間関連度を格納するインデックス間関連度格納テーブルである。
【0025】
701〜706はインデックスの各組み合わせにおける関連度を格納したレコードである。インデックス間関連度の算出方法としては1つの例として複数属性間の相関性を利用する方法がある。これは属性間で付与される属性値に相関がある特性を利用するものである。例えば写真データの場合、イベント属性や地名属性には相関がある場合が多い。
【0026】
具体的には、イベント属性値が「誕生会」であれば、人名属性値には誕生日を迎える本人「C太郎」やその家族、友人の名前が付与される。また、イベント属性値が「海外旅行」である場合には、地名属性値には旅行先の地名「ハワイ」「ロンドン」等が付与される。このような相関関係を相関値として定量化し、関連度として利用する。相関値を求めるには、データ母集団の各属性値のクラスタリングやクラス分類等を行い、属性間の頻出パターンを解析して算出する。
【0027】
また、関連度算出には一定の計算資源が必要であるため、検索対象データを格納した外部記憶装置やデータ検索装置をPCや外部ネットワークに接続した際に、インデックス作成処理と並行して算出してもよい。あるいは、データ検索装置の工場出荷時にユーザのユースケースを想定してプリセットとして与えておいてもよい。もちろん、計算資源が乏しい状況において、長時間ユーザが利用せず、その間電源が安定して供給されるなどして十分な計算資源が入手可能な場合にはデータ検索装置単体で作成してもよい。
【0028】
図8は、検索条件推薦処理において利用する閾値の例を表す図である。図8において、800は閾値を格納する閾値テーブルである。801はインデックス付与率に対する閾値であり、802はインデックス間関連度に対する閾値である。
【0029】
次に、以上の構成に基づく動作概要を以下に説明する。
まず、インデックス付与機能について説明する。データ502がデータ格納部501に格納される。そして、インデックス部503でインデックスが付与される。ここで、日付のインデックス204やGPS座標インデックス205等、省資源機器でも付与可能なものについてはインデックス付与を行う。しかし、地名インデックス206や人名インデックス207等、情報源が広域ネットワークや外部機器、手作業による付与等に依存するものについては、省資源機器においてはインデックス付与が省略される場合がある。
【0030】
続いて、インデックス付与率取得機能について説明する。
インデックス付与率取得部505はインデックス付与率を取得する機能を有している。なお、インデックス付与率に計上されないデータは、属性値およびインデックスの付与が完了していないもの、あるいは属性値の付与が完了しているがインデックスの付与が完了していないものである。なお、インデックス付与率は、インデックス付与率テーブル600のように事前に格納しておいてもよいし、取得要求時に算出してもよい。
【0031】
また、複数条件が指定された場合の合成インデックス付与率は、AND結合の場合には条件に含まれるインデックス付与率のうち最も低い付与率を、OR結合の場合には最も高い付与率とする。もちろん、必要に応じて合成インデックス付与率の決定条件を変更してもよい。
【0032】
次に、図13のフローチャートを用いて、インデックスを用いたデータ検索機能について説明する。
まず、S1301において、ユーザ入力部510からの検索条件入力を受け付ける。そして、S1302において検索条件に基づき検索処理部511が検索結果リストを生成し、S1303においてソート処理を実施する。続いて、S1304において検索結果表示制御部512が検索結果リストを受け取ってユーザに検索結果を提示する。
【0033】
本実施形態では、検索対象データが画像や動画、あるいは文書である場合を想定し、検索結果は日付や撮影順によってソートし、各データをサムネイルで表示するものとする。ここで、インデックスの付与率が十分ではない状態で検索処理が行われる場合、インデックスの付与が済んでいないデータについては検索結果として提示することができない。そこで、検索対象を広げるため、S1305においてインデックス付与率判定部513および検索条件推薦部514を用いて新たな検索条件を推薦する。S1305において行われる処理の詳細な処理を以下に示す。
【0034】
図9は、本実施形態が主張する、インデックスの付与率・関連度に基づいて、より付与率の高い検索条件を推薦するユーザインターフェースの一例を示す図である。
図9において、901はインデックス名表示領域であり、検索に用いられるインデックスが何であるかを表示する領域である。
【0035】
902は、ユーザが指定した検索条件を選択するドロップダウンボックスである。また、903は、検索条件に基づいて領域に検索結果をサムネイルで一覧表示する検索結果表示領域である。検索条件に対応する推薦検索条件は推薦検索条件表示領域904に表示される。この例では、一画面に複数の検索条件を推薦している。
【0036】
905は、検索結果のページ数やインデックスの付与率を提示する検索情報表示領域である。この画面における検索条件はイベント「運動会」であり、条件に合致したデータが検索結果表示領域903に表示されている。検索情報表示領域905は、イベントのインデックス付与率605を参照し25%を提示している。検索中の条件に対応するインデックス付与率がインデックス付与率閾値801未満であることから、後述する検索条件推薦処理が実行される。その結果、地名インデックス、人名インデックス、あるいは日付インデックスを用いたインデックス付与率の大きい検索条件を推薦検索条件表示領域904に提示される。
【0037】
例えば提示された条件のうち、地名を選択すると図10に示す検索結果表示画面1001に遷移し、付与率が60%となる検索条件で再検索が実行される。同様に「イベントor人名」を選択した場合には1002に遷移し、付与率が50%の条件で再検索が実行される。いずれも再検索の実行後はインデックス付与率が元の検索条件よりも向上し、かつ検索対象件数が多くなることが期待できる。
【0038】
前述の処理について、具体的な処理内容をフローチャートを用いて説明する。図14は、ユーザ検索条件に対応するインデックス付与率に応じて新たな検索条件を推薦する処理の流れを示すフローチャートである。
まず、S1401において、インデックス付与率取得部505を用い、ユーザが指定した検索条件に対応するインデックスの付与率を取得する。このインデックスのことを便宜上第1インデックスと呼ぶ。
【0039】
次に、S1402において、S1401で取得した第1インデックスの付与率をインデックス付与率判定部513によって図8の例に示したインデックス付与率閾値と比較し、第1インデックスが十分に付与されているかを判定する。インデックス付与率が付与率閾値以上と判断された場合にはそのまま処理を終了し、閾値未満である場合には検索条件推薦処理を実行する。
【0040】
なお、データに付与された属性値が全て同一である場合、検索条件に加えても絞込み効果が期待できないため、付与率を0として扱う。付与率閾値は必要に応じて属性毎にそれぞれ予め用意してもよい。また、付与率閾値だけではなく、インデックスの更新日時やバージョン番号等、インデックス作成時に基準点を設けておき、その基準点とインデックスの作成状況を比較し、インデックスの有効な範囲を判定することで推薦処理を実行してもよい。
【0041】
続いて、S1403において、インデックス付与率がインデックス付与率閾値未満である場合、第1インデックスではないインデックスから第2インデックスを選択し付与率を取得する。そして、S1404において、前述の第2インデックスの付与率が第1インデックスの付与率以上であるか否かを判定し、真の場合には処理を継続し、偽の場合には検索条件推薦処理を終了する。
【0042】
次に、S1405においてインデックス間関連度取得部506を用いて第1インデックスと第2インデックスの関連度を取得する。
S1406において第1インデックスと第2インデックスの関連度が図8の例に示したインデックス間関連度閾値以上であるか否かを判定する。閾値未満である場合にはS1407において第1インデックスおよび第2インデックスをOR条件で結合した検索条件閾値以上を推薦する。また、閾値以上である場合にはS1408において新たな検索条件として第2インデックスに置換した検索条件を推薦し、その条件を検索結果表示制御部512に表示する。
【0043】
推薦検索条件表示領域904に推薦された検索条件をユーザが選択すると、再検索が実行され、再検索結果が検索結果表示制御部512に表示される。図10は、ユーザが推薦された検索条件を選択し、再検索した結果を表示するユーザインターフェースの一例である。
【0044】
以上の手順により、インデックスの付与率に応じて検索条件を推薦することによって、インデックスが未付与であるために検索対象とならないデータを閲覧可能にする。さらに関連度の高い条件で再検索を行うことによって検索結果リストの視認性が向上し、ユーザが効率的に検索処理を行うことができる。また、関連度を用いることはユーザが望む検索条件の文脈を維持する効果も期待できる。その結果、計算資源が潤沢ではない省資源機器においてもインデックスを用いた高速検索をより簡便にすることができ、ユーザの利便性が高まる。
【0045】
なお、再検索結果が提示された後には再びインデックス付与率の判定処理から検索条件の推薦処理を実行してもよい。また、前述した例においては、推薦条件による再検索時には新たな検索条件をユーザが選択しているが、ユーザの嗜好や検索の文脈に応じて自動的に選択し、再検索結果を提示してもよい。また、視認性を向上させるために推薦前の検索条件からの差分のサムネイルを輝度変更等によって識別可能にすることや、差分のみの再検索結果提示をしてもよい。
【0046】
(第2の実施形態)
次に、本発明の第2の実施形態として、複数インデックスをAND結合した検索条件における検索条件推薦方法について詳細に説明する。
本実施形態は第1の実施形態と同様の構成を持ち、与えられた検索条件に応じてインデックス付与率判定部513および検索条件推薦部514を用いて付与率が高くなる検索条件を推薦する。具体的には以下に示す3つの方法のいずれかを用いて検索条件を推薦する。それぞれの詳細は図15〜17に示したフローチャートを用いて説明する。
【0047】
まず1つ目の方法(甲)として、付与率が低い検索条件を外した検索条件を推薦する方法を挙げる。図15は、その処理の流れを示すフローチャートである。
S1501において、インデックス付与率取得部505を用い、ユーザが指定した検索条件に対応する各インデックスの付与率を取得する。本実施形態の説明の便宜上、AND結合の左項を第1インデックス、右項を第2インデックスと呼ぶ。例えば、検索条件として「イベント AND 地名」の属性で検索した場合、イベントインデックスを第1インデックス、地名インデックスを第2インデックスとする。そして、インデックス付与率取得部505は、第1インデックスおよび第2インデックスに対して第1インデックス付与率および第2インデックス付与率を取得する。
【0048】
次に、S1502において、第1および第2インデックスの付与率について、インデックス付与率判定部513によって図8の例に示したインデックス付与率閾値とそれぞれ比較し、各インデックスが十分に付与されているか否かを判定する。第1および第2インデックスの付与率がいずれも閾値以上と判断された場合にはそのまま処理を終了し、少なくともいずれかが閾値未満である場合にはS1503に進んで検索条件推薦処理を実行する。
【0049】
S1503において、第1インデックス若しくは第2インデックスの付与率が低い方のインデックスを除外した検索条件を新たな検索条件として推薦し、その条件を検索結果を検索結果表示制御部512に表示する。
【0050】
2つ目の方法(乙)として、結合条件をAND結合からOR条件に変更した検索条件を推薦する方法を挙げる。図16は、その処理の流れを示すフローチャートである。
S1601において、インデックス付与率取得部505を用い、ユーザが指定した検索条件に対応する各インデックスの付与率を取得する。本実施形態の説明の便宜上、AND結合の左項を第1インデックス、右項を第2インデックスと呼ぶ。
【0051】
次に、S1602において、第1および第2インデックスの付与率について、インデックス付与率判定部513によって図8の例に示したインデックス付与率閾値とそれぞれ比較し、各インデックスが十分に付与されているか否かを判定する。第1および第2インデックスの付与率がいずれも閾値以上と判断された場合にはそのまま処理を終了し、少なくともいずれかが閾値未満である場合にはS1603に進んで検索条件推薦処理を実行する。
【0052】
S1603において、第1インデックス及び第2インデックスの結合条件をORに置換した検索条件を新たな検索条件として推薦し、その条件を検索結果表示制御部512に表示する。
【0053】
3つ目の方法(丙)として、既存の検索条件に対応する付与率よりも高い付与率を持つ第3インデックスを選択し、組み込んだ検索条件を推薦する方法を挙げる。図17はその処理の流れを示すフローチャートである。
S1701において、インデックス付与率取得部505を用い、ユーザが指定した検索条件に対応する各インデックスの付与率を取得する。本実施形態の説明の便宜上、AND結合の左項を第1インデックス、右項を第2インデックスと呼ぶ。
【0054】
次に、S1702において、第1および第2インデックスについて、付与率の低い方を選択する。選択したインデックスを便宜上第Nインデックスと呼ぶ。
S1703において、インデックス付与率判定部513によって図8の例に示したインデックス付与率閾値と比較し、第Nインデックスが十分に付与されているか否かを判定する。第Nインデックスの付与率が閾値以上と判断された場合にはそのまま処理を終了し、閾値未満である場合には検索条件推薦処理を実行する。
【0055】
続いてS1704において、検索条件に対応するインデックス付与率がインデックス付与率閾値未満である場合、第1インデックスおよび第2インデックスに含まれない、任意の第3インデックスを新たに選択する。
【0056】
S1705において、選択した第3インデックス付与率が第Nインデックスの付与率以上であるか否かを判定する。判定結果が真の場合にはS1706に進んで検索条件推薦処理を続行し、偽の場合には検索条件推薦処理を終了する。
次に、S1706においてインデックス間関連度取得部506を用いて第3インデックスと第Nインデックスの関連度を取得する。ここでの関連度は、第1の実施形態で述べた関連度と同義である。
【0057】
S1707において、第Nインデックスと第3インデックスの関連度が図8の例に示したインデックス間関連度閾値以上であるか否かを判定する。閾値未満である場合にはS1708において第1インデックスおよび第2インデックスで構成された当初の検索条件に第3インデックスをOR条件で結合した検索条件を推薦する。そして、閾値以上である場合にはS1709において新たな検索条件として第Nインデックスを第3インデックスに置換した検索条件を推薦し、その条件を検索結果表示制御部512に表示する。
【0058】
前述した甲、乙、丙、以上3つのそれぞれの方法を用いて検索条件を推薦した時のユーザインターフェースの例を示したのが図11である。
構成要素は第1の実施形態と同様であるが、推薦検索条件表示領域904に推薦される検索条件は甲、乙、丙それぞれの方法で導出したものである。
【0059】
図12は、ユーザが推薦された検索条件を選択し、再検索した結果を表示するユーザインターフェースの一例である。それぞれ画面1201は甲(付与率50%)、画面1202は乙(付与率50%)、画面1203は丙(付与率60%)の方法で推薦された条件をユーザが選択したときの再検索結果を表している。いずれも25%だったインデックス付与率が推薦条件による再検索を行うことで向上し、検索対象が広がる。
【0060】
以上の手順により、複数条件がAND結合した検索条件において、検索条件に含まれる一部のインデックスの付与率が低いために検索対象外となるデータを減少させ、検索可能な母数を増加させることができる。また、ユーザが指定する検索条件を生かして推薦したものであるため、検索結果件数が増加してもユーザ所望の検索条件と関連性の高い検索結果の提示が可能になり、ユーザの利便性が高まる。
前述した実施形態では2つの検索条件における例のみを提示したが、3つ以上の検索条件においてもボトムアップ式に2つの項ずつ再帰的に実行すれば適用可能である。
【0061】
なお、甲、乙、丙のいずれの方法において、付与率閾値は第1の実施形態と同様に必要に応じて属性毎、あるいはインデックス毎にそれぞれ用意してもよい。また、付与率閾値だけではなく、インデックスの更新日時やバージョン番号等、インデックス作成時に基準点を設けておき、その基準点と比較し、判定することで推薦処理を実行してもよい。
【0062】
また、検索条件推薦処理には甲、乙、丙3つの方法全てを必ず用いる必要はなく、必要に応じて選択可能にしてもよい。また、第1の実施形態と同様に視認性を向上させるために推薦前の検索条件からの差分のサムネイルを輝度変更等によって識別可能にすることや、差分のみの再検索結果提示をしてもよい。
【0063】
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【符号の説明】
【0064】
501 データ格納部、502 データ、503 インデックス部、504 インデックス付与部、505 インデックス付与率取得部、506 インデックス間関連度取得部、507 インデックス格納部、508 インデックス間関連度格納部、509 データ検索部、510 ユーザ入力部、511 検索処理部、512 検索結果表示制御部、513 インデックス付与率判定部、514 検索条件推薦部
【特許請求の範囲】
【請求項1】
第1インデックスと第2インデックスとを含む複数のインデックスを用いてデータを検索するデータ検索装置であって、
任意のインデックスの付与率を取得するインデックス付与率取得手段と、
前記インデックス付与率取得手段で取得したインデックス付与率を判定するインデックス付与率判定手段と、
任意のインデックス間の関連度を格納するインデックス間関連度格納手段と、
前記インデックス間関連度格納手段から複数のインデックス間の関連度を取得するインデックス間関連度取得手段と、
前記インデックス間関連度取得手段により取得したインデックス間の関連度に応じて検索条件を推薦する検索条件推薦手段とを有することを特徴とするデータ検索装置。
【請求項2】
前記インデックス付与率取得手段は、第1インデックスおよび第2インデックスに対して第1インデックス付与率および第2インデックス付与率を取得し、
前記インデックス付与率判定手段は、前記インデックス付与率取得手段により取得した前記第1インデックス付与率および前記第2インデックス付与率を判定し、
前記インデックス間関連度取得手段は、前記インデックス付与率判定手段による判定結果に応じて前記第1インデックスと前記第2インデックスとの関連度を取得し、
前記検索条件推薦手段は、前記インデックス間関連度取得手段により取得した前記第1インデックスと第2インデックスとの関連度に応じて、前記第1インデックスおよび前記第2インデックスを用いた検索条件を推薦することを特徴とする請求項1に記載のデータ検索装置。
【請求項3】
前記インデックス付与率判定手段は、付与率閾値によって前記インデックス付与率を判定を行うことを特徴とする請求項1に記載のデータ検索装置。
【請求項4】
前記インデックス付与率判定手段は、データに付与されている属性値が全て同一である場合、インデックス付与率を0として扱うことを特徴とする請求項1に記載のデータ検索装置。
【請求項5】
前記検索条件推薦手段は、前記インデックス間関連度取得手段により取得した前記第1インデックスと前記第2インデックスとの関連度を関連度閾値によって判定し、判定結果が閾値以上である場合には前記第1インデックスを前記第2インデックスに置換した検索条件を推薦し、閾値未満である場合には前記第1インデックスと前記第2インデックスをOR結合した検索条件を推薦することを特徴とする請求項1に記載のデータ検索装置。
【請求項6】
複数のインデックスをAND結合した検索条件で検索処理を行うデータ検索装置であって、
前記AND結合した検索条件に用いられる第1インデックスおよび第2インデックスに対して、第1インデックス付与率および第2インデックス付与率を取得するインデックス付与率取得手段と、
前記インデックス付与率取得手段により取得された第1インデックス付与率および第2インデックス付与率を判定するインデックス付与率判定手段と、
前記インデックス付与率判定手段により判定された前記第1インデックス付与率および前記第2インデックス付与率のいずれかが、付与率閾値未満である場合に検索条件を推薦する検索条件推薦手段とを有することを特徴とする請求項1に記載のデータ検索装置。
【請求項7】
前記検索条件推薦手段は、前記AND結合した検索条件のAND結合をOR結合に変更した検索条件を推薦することを特徴とする請求項6に記載のデータ検索装置。
【請求項8】
前記検索条件推薦手段は、前記検索条件に用いられる前記第1インデックスまたは前記第2インデックスのうち、前記付与率閾値未満であるインデックスを除外した検索条件を推薦することを特徴とする請求項6に記載のデータ検索装置。
【請求項9】
前記検索条件推薦手段は、任意の第3インデックスについて、前記インデックス付与率取得手段を用いて第3インデックス付与率を取得し、前記インデックス付与率判定手段を用いて前記第3インデックス付与率が前記第1インデックス付与率または前記第2インデックス付与率の低い方の付与率を超えているか否かを判定し、超えている場合に前記第3インデックスを用いた検索条件を推薦することを特徴とする請求項6に記載のデータ検索装置。
【請求項10】
前記第1インデックスおよび第2インデックスのうち付与率の低いインデックスと前記第3インデックスとの関連度を取得するインデックス間関連度取得手段と、
前記検索条件推薦手段は、前記関連度取得手段より取得した関連度を関連度閾値によって判定する判定手段とを有し、
前記検索条件推薦手段は、前記判定手段の判定結果に基づいて検索条件を推薦することを特徴とする請求項9に記載のデータ検索装置。
【請求項11】
前記検索条件推薦手段は、前記AND結合した検索条件に含まれる第1インデックスおよび第2インデックスのうち、付与率の低いインデックスを第3インデックスに置換した検索条件を推薦することを特徴とする請求項6に記載のデータ検索装置。
【請求項12】
前記検索条件推薦手段は、前記AND結合した検索条件に前記第3インデックスをOR結合で付与した検索条件を推薦することを特徴とする請求項9に記載のデータ検索装置。
【請求項13】
第1インデックスと第2インデックスとを含む複数のインデックスを用いてデータを検索するデータ検索方法であって、
任意のインデックスの付与率を取得するインデックス付与率取得工程と、
前記インデックス付与率取得工程で取得したインデックス付与率を判定するインデックス付与率判定工程と、
任意のインデックス間の関連度を記憶媒体に格納するインデックス間関連度格納工程と、
前記記憶媒体から複数のインデックス間の関連度を取得するインデックス間関連度取得工程と、
前記インデックス間関連度取得工程で取得したインデックス間の関連度に応じて検索条件を推薦する検索条件推薦工程とを有することを特徴とするデータ検索方法。
【請求項14】
複数のインデックスをAND結合した検索条件で検索処理を行うデータ検索方法であって、
前記AND結合した検索条件に用いられる第1インデックスおよび第2インデックスに対して、第1インデックス付与率および第2インデックス付与率を取得するインデックス付与率取得工程と、
前記インデックス付与率取得工程で取得された第1インデックス付与率および第2インデックス付与率を判定するインデックス付与率判定工程と、
前記インデックス付与率判定工程で判定された前記第1インデックス付与率および前記第2インデックス付与率のいずれかが、予め用意された付与率閾値未満である場合に検索条件を推薦する検索条件推薦工程とを有することを特徴とするデータ検索方法。
【請求項15】
第1インデックス及び第2インデックスを含む複数のインデックスを用いてデータを検索するデータ検索方法の各工程をコンピュータに実行させるプログラムであって、
任意のインデックスの付与率を取得するインデックス付与率取得工程と、
前記インデックス付与率取得工程で取得したインデックス付与率を判定するインデックス付与率判定工程と、
任意のインデックス間の関連度を記憶媒体に格納するインデックス間関連度格納工程と、
前記記憶媒体から複数のインデックス間の関連度を取得するインデックス間関連度取得工程と、
前記インデックス間関連度取得工程で取得したインデックス間の関連度に応じて検索条件を推薦する検索条件推薦工程とをコンピュータに実行させることを特徴とするプログラム。
【請求項16】
複数のインデックスをAND結合した検索条件で検索処理を行うデータ検索方法の各工程をコンピュータに実行させるプログラムであって、
前記AND結合した検索条件に用いられる第1インデックスおよび第2インデックスに対して、第1インデックス付与率および第2インデックス付与率を取得するインデックス付与率取得工程と、
前記インデックス付与率取得工程で取得された第1インデックス付与率および第2インデックス付与率を判定するインデックス付与率判定工程と、
前記インデックス付与率判定工程で判定された前記第1インデックス付与率および前記第2インデックス付与率のいずれかが、予め用意された付与率閾値未満である場合に検索条件を推薦する検索条件推薦工程とをコンピュータに実行させることを特徴とするプログラム。
【請求項1】
第1インデックスと第2インデックスとを含む複数のインデックスを用いてデータを検索するデータ検索装置であって、
任意のインデックスの付与率を取得するインデックス付与率取得手段と、
前記インデックス付与率取得手段で取得したインデックス付与率を判定するインデックス付与率判定手段と、
任意のインデックス間の関連度を格納するインデックス間関連度格納手段と、
前記インデックス間関連度格納手段から複数のインデックス間の関連度を取得するインデックス間関連度取得手段と、
前記インデックス間関連度取得手段により取得したインデックス間の関連度に応じて検索条件を推薦する検索条件推薦手段とを有することを特徴とするデータ検索装置。
【請求項2】
前記インデックス付与率取得手段は、第1インデックスおよび第2インデックスに対して第1インデックス付与率および第2インデックス付与率を取得し、
前記インデックス付与率判定手段は、前記インデックス付与率取得手段により取得した前記第1インデックス付与率および前記第2インデックス付与率を判定し、
前記インデックス間関連度取得手段は、前記インデックス付与率判定手段による判定結果に応じて前記第1インデックスと前記第2インデックスとの関連度を取得し、
前記検索条件推薦手段は、前記インデックス間関連度取得手段により取得した前記第1インデックスと第2インデックスとの関連度に応じて、前記第1インデックスおよび前記第2インデックスを用いた検索条件を推薦することを特徴とする請求項1に記載のデータ検索装置。
【請求項3】
前記インデックス付与率判定手段は、付与率閾値によって前記インデックス付与率を判定を行うことを特徴とする請求項1に記載のデータ検索装置。
【請求項4】
前記インデックス付与率判定手段は、データに付与されている属性値が全て同一である場合、インデックス付与率を0として扱うことを特徴とする請求項1に記載のデータ検索装置。
【請求項5】
前記検索条件推薦手段は、前記インデックス間関連度取得手段により取得した前記第1インデックスと前記第2インデックスとの関連度を関連度閾値によって判定し、判定結果が閾値以上である場合には前記第1インデックスを前記第2インデックスに置換した検索条件を推薦し、閾値未満である場合には前記第1インデックスと前記第2インデックスをOR結合した検索条件を推薦することを特徴とする請求項1に記載のデータ検索装置。
【請求項6】
複数のインデックスをAND結合した検索条件で検索処理を行うデータ検索装置であって、
前記AND結合した検索条件に用いられる第1インデックスおよび第2インデックスに対して、第1インデックス付与率および第2インデックス付与率を取得するインデックス付与率取得手段と、
前記インデックス付与率取得手段により取得された第1インデックス付与率および第2インデックス付与率を判定するインデックス付与率判定手段と、
前記インデックス付与率判定手段により判定された前記第1インデックス付与率および前記第2インデックス付与率のいずれかが、付与率閾値未満である場合に検索条件を推薦する検索条件推薦手段とを有することを特徴とする請求項1に記載のデータ検索装置。
【請求項7】
前記検索条件推薦手段は、前記AND結合した検索条件のAND結合をOR結合に変更した検索条件を推薦することを特徴とする請求項6に記載のデータ検索装置。
【請求項8】
前記検索条件推薦手段は、前記検索条件に用いられる前記第1インデックスまたは前記第2インデックスのうち、前記付与率閾値未満であるインデックスを除外した検索条件を推薦することを特徴とする請求項6に記載のデータ検索装置。
【請求項9】
前記検索条件推薦手段は、任意の第3インデックスについて、前記インデックス付与率取得手段を用いて第3インデックス付与率を取得し、前記インデックス付与率判定手段を用いて前記第3インデックス付与率が前記第1インデックス付与率または前記第2インデックス付与率の低い方の付与率を超えているか否かを判定し、超えている場合に前記第3インデックスを用いた検索条件を推薦することを特徴とする請求項6に記載のデータ検索装置。
【請求項10】
前記第1インデックスおよび第2インデックスのうち付与率の低いインデックスと前記第3インデックスとの関連度を取得するインデックス間関連度取得手段と、
前記検索条件推薦手段は、前記関連度取得手段より取得した関連度を関連度閾値によって判定する判定手段とを有し、
前記検索条件推薦手段は、前記判定手段の判定結果に基づいて検索条件を推薦することを特徴とする請求項9に記載のデータ検索装置。
【請求項11】
前記検索条件推薦手段は、前記AND結合した検索条件に含まれる第1インデックスおよび第2インデックスのうち、付与率の低いインデックスを第3インデックスに置換した検索条件を推薦することを特徴とする請求項6に記載のデータ検索装置。
【請求項12】
前記検索条件推薦手段は、前記AND結合した検索条件に前記第3インデックスをOR結合で付与した検索条件を推薦することを特徴とする請求項9に記載のデータ検索装置。
【請求項13】
第1インデックスと第2インデックスとを含む複数のインデックスを用いてデータを検索するデータ検索方法であって、
任意のインデックスの付与率を取得するインデックス付与率取得工程と、
前記インデックス付与率取得工程で取得したインデックス付与率を判定するインデックス付与率判定工程と、
任意のインデックス間の関連度を記憶媒体に格納するインデックス間関連度格納工程と、
前記記憶媒体から複数のインデックス間の関連度を取得するインデックス間関連度取得工程と、
前記インデックス間関連度取得工程で取得したインデックス間の関連度に応じて検索条件を推薦する検索条件推薦工程とを有することを特徴とするデータ検索方法。
【請求項14】
複数のインデックスをAND結合した検索条件で検索処理を行うデータ検索方法であって、
前記AND結合した検索条件に用いられる第1インデックスおよび第2インデックスに対して、第1インデックス付与率および第2インデックス付与率を取得するインデックス付与率取得工程と、
前記インデックス付与率取得工程で取得された第1インデックス付与率および第2インデックス付与率を判定するインデックス付与率判定工程と、
前記インデックス付与率判定工程で判定された前記第1インデックス付与率および前記第2インデックス付与率のいずれかが、予め用意された付与率閾値未満である場合に検索条件を推薦する検索条件推薦工程とを有することを特徴とするデータ検索方法。
【請求項15】
第1インデックス及び第2インデックスを含む複数のインデックスを用いてデータを検索するデータ検索方法の各工程をコンピュータに実行させるプログラムであって、
任意のインデックスの付与率を取得するインデックス付与率取得工程と、
前記インデックス付与率取得工程で取得したインデックス付与率を判定するインデックス付与率判定工程と、
任意のインデックス間の関連度を記憶媒体に格納するインデックス間関連度格納工程と、
前記記憶媒体から複数のインデックス間の関連度を取得するインデックス間関連度取得工程と、
前記インデックス間関連度取得工程で取得したインデックス間の関連度に応じて検索条件を推薦する検索条件推薦工程とをコンピュータに実行させることを特徴とするプログラム。
【請求項16】
複数のインデックスをAND結合した検索条件で検索処理を行うデータ検索方法の各工程をコンピュータに実行させるプログラムであって、
前記AND結合した検索条件に用いられる第1インデックスおよび第2インデックスに対して、第1インデックス付与率および第2インデックス付与率を取得するインデックス付与率取得工程と、
前記インデックス付与率取得工程で取得された第1インデックス付与率および第2インデックス付与率を判定するインデックス付与率判定工程と、
前記インデックス付与率判定工程で判定された前記第1インデックス付与率および前記第2インデックス付与率のいずれかが、予め用意された付与率閾値未満である場合に検索条件を推薦する検索条件推薦工程とをコンピュータに実行させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2012−43366(P2012−43366A)
【公開日】平成24年3月1日(2012.3.1)
【国際特許分類】
【出願番号】特願2010−186387(P2010−186387)
【出願日】平成22年8月23日(2010.8.23)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成24年3月1日(2012.3.1)
【国際特許分類】
【出願日】平成22年8月23日(2010.8.23)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]