(57)【要約】      （修正有）【課題】検索条件の組合せを容易に生成できるようにする。【解決手段】ＣＰＵ１０６は、検索対象のコンテンツに関連付けて登録されるタグまたはメタデータなどの情報から検索可能な検索条件を抽出し、検索可能な検索条件ごとの閉図形を含むベン図と、検索条件リストとを生成する。ユーザは表示部１０１に表示される任意の閉図形を指定でき、ＣＰＵ１０６は、ユーザの指定の操作に応じて、指定される閉図形に対応する検索条件の選択と未選択を切り替える。ＣＰＵ１０６は、検索実行のユーザ操作に応じて，前記閉図形のうちで選択の設定をされているものに対応する検索条件で前記検索対象のコンテンツを検索する。【選択図】図１
2018067118.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツを検索する情報処理装置であって、
ユーザの操作を受け付ける操作手段と、
検索対象のコンテンツに関連付けて登録される情報から検索可能な検索条件を抽出し、前記検索可能な検索条件から、前記検索可能な検索条件ごとの閉図形を含むベン図と、検索条件リストとを生成する生成手段と、
ユーザ操作に応じて、前記閉図形のうちのユーザ操作により指定される閉図形に対応する検索条件の選択と未選択を切り替える手段と、
検索実行のユーザ操作に応じて、前記閉図形のうちで選択の設定をされているものに対応する検索条件で前記検索対象のコンテンツを検索する検索手段
とを有することを特徴とする情報処理装置。
【請求項２】
さらに、前記検索手段の検索結果に含まれるコンテンツを前記検索対象のコンテンツとして指定する手段を有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
さらに、指定の閉図形が母数を示す場合に、前記ベン図の母数設定をひとつ前の母数設定に戻す手段を有することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記検索条件リストの検索条件の指定の操作に応じて、前記指定の操作で指定された検索条件を前記ベン図に追加することを特徴とする請求項１から３のいずれか１項に記載の情報処理装置。
【請求項５】
前記検索条件リストの操作において、指定の閉図形がある場合に前記ベン図の母数に設定し、指定の検索条件を前記ベン図に追加することを特徴とする請求項２または３に記載の情報処理装置。
【請求項６】
前記検索条件リストの指定の検索条件が前記ベン図上にある検索条件と４以上の重なりがある場合にエラーを表示することを特徴とする請求項１から５のいずれか１項に記載の情報処理装置。
【請求項７】
前記生成手段は、前記検索対象のコンテンツの全てを対象とする検索条件と、４以上の重なりがある検索条件とを除いて前記ベン図を生成することを特徴とする請求項１から６のいずれか１項に記載の情報処理装置。
【請求項８】
コンテンツを検索する検索方法であって、
検索対象のコンテンツに関連付けて登録される情報から検索可能な検索条件を抽出し、前記検索可能な検索条件から、前記検索可能な検索条件ごとの閉図形を含むベン図と、検索条件リストとを生成する生成ステップと、
ユーザ操作に応じて、前記閉図形のうちのユーザ操作により指定される閉図形に対応する検索条件の選択と未選択を切り替えるステップと、
検索実行のユーザ操作に応じて、前記閉図形のうちで選択の設定をされているものに対応する検索条件で前記検索対象のコンテンツを検索する検索ステップ
とを有することを特徴とする検索方法。
【請求項９】
コンテンツを検索するコンピュータプログラムであって、コンピュータを、
検索対象のコンテンツに関連付けて登録される情報から検索可能な検索条件を抽出し、前記検索可能な検索条件から、前記検索可能な検索条件ごとの閉図形を含むベン図と、検索条件リストとを生成する生成手段と、
ユーザ操作に応じて、前記閉図形のうちのユーザ操作により指定される閉図形に対応する検索条件の選択と未選択を切り替える手段と、
検索実行のユーザ操作に応じて、前記閉図形のうちで選択の設定をされているものに対応する検索条件で前記検索対象のコンテンツを検索する検索手段
として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、写真や動画などのコンテンツを検索する情報処理装置、検索方法及びコンピュータプログラムに関する。
【背景技術】
【０００２】
写真または動画等のコンテンツを大量に管理するシステムでは、何らかの検索システムが必須となる。検索では、複数の要素について論理条件または論理式を構成した検索により、適切な結果を得やすくなる。しかし、論理条件の演算子には、論理和、論理積、排他的論理和及び否定があり、内容を理解しつつこれらを適宜に組み合わせた論理式を生成するのは一般ユーザには容易ではない。
【０００３】
また、単一の要因についての検索結果数、及び複数の重複する要因の検索結果数を簡易に知ることが出来れば、検索の絞り込みが容易になる。
【０００４】
特許文献１には、複数種類のデータ群にそれぞれ対応する複数の閉図形を表示し、重複するデータを有するデータ群に対応する閉図形については重複データ件数に応じたサイズの領域が互いに重なるように表示することが記載されている。表示した閉図形内の所望の領域を指示すると、指示された閉図形に対応するデータを表示する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−１６４２５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載される技術では、複数の閉図形の合計したデータの場合、それぞれ閉図形を指定してデータを表示させ、システム外でそれらデータを合計しなければならなかった。また、閉図形を指定して表示したデータを母数として別のデータで絞り込みたい場合、表示したデータを再度指定して別のデータと突き合わせなければならなかった。
【０００７】
本発明は、検索の絞り込みを容易に行える情報処理装置、検索方法及びコンピュータプログラムを提示することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る情報処理装置は、コンテンツを検索する情報処理装置であって、ユーザの操作を受け付ける操作手段と、検索対象のコンテンツに関連付けて登録される情報から検索可能な検索条件を抽出し、前記検索可能な検索条件から、前記検索可能な検索条件ごとの閉図形を含むベン図と、検索条件リストとを生成する生成手段と、ユーザ操作に応じて、前記閉図形のうちのユーザ操作により指定される閉図形に対応する検索条件の選択と未選択を切り替える手段と、検索実行のユーザ操作に応じて、前記閉図形のうちで選択の設定をされているものに対応する検索条件で前記検索対象のコンテンツを検索する検索手段とを有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、ベン図上の操作により、検索のための複雑な条件の組み合わせを構築できる。複雑な条件の検索式を作成する知識を要しなくても視覚的に行うことで複雑な条件の検索を行うことができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施例の概略構成ブロック図である。
【図２】本実施例の画面例である。
【図３】本実施例の検索条件とコンテンツ数の対応を示すデータ構成例である。
【図４】本実施例のデータ生成処理のフローチャートである。
【図５】本実施例のベン図展開処理のフローチャートである。
【図６】本実施例の検索条件リスト設定処理のフローチャートである。
【図７】本実施例の検索対象指定処理のフローチャートである。
【図８】本実施例の母数設定処理のフローチャートである。
【図９】本実施例の検索条件除外処理のフローチャートである。
【図１０】本実施例のベン図展開処理のフローチャートである。
【図１１】本実施例の検索処理のフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図面を参照して、本発明の実施例を詳細に説明する。
【実施例１】
【００１２】
図１は、本発明に係る情報処理装置の一実施例の概略構成ブロック図を示す。図１に示す情報処理装置１００は、コンピュータにより実現され、ＣＰＵ１０６がコンピュータプログラムを実行することにより、以下に説明する機能を実現する。
【００１３】
１０１は、ＬＣＤ（Liquid Crystal Display）又はＥＬ（Electro Luminescent）ディスプレイ等からなる表示部であり、アイコン、メッセージ、メニューその他のユーザインタフェース画像を表示する。ＶＲＡＭ１０２には、表示部１０１に表示するための画像が描画される。ＶＲＡＭ１０２に格納された画像データは、所定の規定に従って表示部１０１に転送され、表示部１０１により画像として表示される。
【００１４】
ＢＭＵ（ビットムーブユニット）１０３は、例えば、メモリ間（例えば、ＶＲＡＭ１０２と他のメモリとの間）のデータ転送、及び、メモリと各Ｉ／Ｏデバイス（例えば、ネットワークＩ／Ｆ１１１）との間のデータ転送を制御する。
【００１５】
キーボード１０４は、文字等を入力するための各種キーを有する。ポインティングデバイス（ＰＤ）１０５は、表示部１０１に表示されたアイコン、メニューその他のコンテンツを指示し、オブジェクトのドラッグドロップ操作に使用される。キーボード１０４及びポインティングデバイス１０５に代えて、またはこれらに加えて、タッチパネルを装備しても良い。
【００１６】
ＣＰＵ１０６は、ＲＯＭ１０７、ＨＤＤ１０９又はメモリカード１１０に格納されたＯＳ及び後述する種々の制御プログラムに基づいて、各デバイスを制御する。ＲＯＭ１０７は、各種制御プログラム及びデータを記憶する。ＣＰＵ１０６は、ＲＡＭ１０８をワーク領域、エラー処理時のデータの退避領域、及び制御プログラムのロード領域等として使用する。
【００１７】
ＨＤＤ１０９は、情報処理装置１００で実行される各制御プログラム及び種々のデータを格納するのに使用される。
【００１８】
ネットワークＩ／Ｆ１１１は、ネットワークを介して他の情報処理装置及びプリンタ等と通信する。
【００１９】
バス１１２は、アドレスバス、データバス及びコントロールバスを含み、バス１１２に接続するデバイス間の制御信号及びデータの通信に使用される。
【００２０】
ＣＰＵ１０６により実行される制御プログラムは、ＲＯＭ１０７、ＨＤＤ１０９及びメモリカード１１０のいずれから提供するようにしてもよい。もちろん、ネットワークＩ／Ｆ１１１を介してネットワーク経由で他の情報処理装置等からＣＰＵ１０６にロードするようにしてもよい。
【００２１】
本実施例では、ＨＤＤ１０９に複数の写真がコンテンツとして格納され、各写真のタグまたはメタデータとして、顔認識または手入力により被写体の属性として氏名または血縁関係等のデータが関連付けられている。ここでは、人物の被写体属性フィールドには、「兄」、「姉」及び「妹」が登録可能であるとする。例えば、「兄」、「姉」及び「妹」が一緒に撮影されている写真には、「兄」、「姉」及び「妹」が登録され、「兄」のみが撮影されている写真には、「兄」が登録される。タグには他に、釣の場合の「釣った魚」を示すフィールド、食事の内容を示す「料理」フィールド、及び、ユーザの設定により追加された、祖父母に見せたことがある写真か否かを示す閲覧フィールドがある。ＨＤＤ１０９に格納される写真を管理するシステムは、タグまたはメタデータとして格納されている属性情報のインデックスを検索用に予め作成している。このような技術自体は周知であり、既存のデータベース技術を利用すればよい。
【００２２】
図２は、表示部１０１に表示される検索設定画面例を示す。図２（ａ）は、検索設定を開始し、検索可能な検索条件がベン図に自動表示されている状態の画面例を示す。図２（ｂ）は、ベン図から検索条件を外した状態の画面例を示す。図２（ｃ）は、ベン図から「兄」「姉」及び「妹」がそれぞれ一人となる閉図形を検索対象に指定したときの画面例を示す。図２（ｄ）は、ベン図から「兄」「姉」及び「妹」がそれぞれ一人となる検索条件の組み合わせを母数設定したときの画面例を示す。図２（ｅ）は、検索条件リストから「祖父母に見せたことがある」の検索条件をベン図に展開したときの画面例を示す。図２（ｆ）は、ベン図から「祖父母に見せたことがない」閉図形を検索対象に指定したときの画面例を示す。
【００２３】
詳細は後述するが、本実施例では、図２に例示するような画面表示を採用することで、「兄、姉及び妹がそれぞれ一人で写っていて、祖父母に見せたことがない」検索条件を容易に作ることができる。これを検索式で表現すると、「（（兄＾姉）＾妹）＆！祖父母に見せたことがある」となるが、このような検索式を一般ユーザが作成するのは難しい。＾は排他的論理和の演算子を示し、！を否定の演算子を示し、＆は論理積の演算子を示す。
【００２４】
図２において、２０２は、表示部１０１の表示領域である。表示領域２０２には、ベン図に表示していない検索条件リストを表示する検索条件リスト表示領域２０３と、ベン図を表示するベン図表示領域２０４が設定される。表示領域２０２には他に、母数設定を指示する母数設定ボタン２１５と、検索実行を指示する検索実行ボタン２１６が表示される。
【００２５】
２０５は、「陶芸作品」という検索条件を示す閉図形である。２０６は、「釣った魚」という検索条件を示す閉図形である。２０７は、「料理」という検索条件を示す閉図形である。２０８は、「兄」という検索条件を示す閉図形である。２０９は、「姉」という検索条件を示す閉図形である。２１０は、「妹」という検索条件を示す閉図形である。２１１は、「兄と妹」という検索条件を示す閉図形をベン図上に示す表示の一例である。２１２は、「姉と妹」という検索条件を示す閉図形である。２１３は、「兄と姉」という検索条件を示す閉図形である。２１４は、「兄と姉と妹」という検索条件を示す閉図形である。
【００２６】
図２（ｅ），（ｆ）で、２１７は、「祖父母に見せたことがある」という検索条件を示す閉図形である。２１８は、「祖父母に見せたことがない」という検索条件を示す閉図形である。
【００２７】
説明の便宜上、閉図形２０８，２０９，２１０を同じ大きさとしたが、その検索条件で検索されたコンテンツ数に合わせた大きさで表示するのが好ましい。閉図形に重ねたまたは隣接して、検索条件及び件数等を表示してもよい。
【００２８】
図３は、検索条件と検索件数のデータ例を示す。３０１は、検索に適用可能な検索条件、すなわち、検索可能な検索条件を示す。３０２は、検索条件３０１に対応する検索件数、すなわち検索条件に合致するコンテンツ数を示す。エントリ３０３〜３０９が、検索条件３０１とこの検索条件を満たす件数（コンテンツ数）３０２の対応関係を示す。例えば、エントリ３０３は、検索条件が「兄」だけの場合にコンテンツ数が１件であることを示す。エントリ３０６、３０７、３０９は、検索条件の組み合わせで「兄」を持つコンテンツがあることを示す。ＣＰＵ１０６は、このようなデータをＲＡＭ１０８に一時記憶する。データ構造自体は、図３に示す構造に限定されない。
【００２９】
図４は、図３に示すデータを取得する処理のフローチャートを示す。図４に示す処理に対応する制御プログラムが例えばＨＤＤ１０９に格納されており、ＣＰＵ１０６は、この制御プログラムを読み込み実行することで、図４に示す処理を実現する。
【００３０】
Ｓ４０１で、ＣＰＵ１０６は、検索対象のコンテンツ数を変数ｔｏｔａｌに設定し、変数ｉｎｄｅｘに０を設定し、検索条件とコンテンツ数を初期化する。
【００３１】
Ｓ４０２で、ＣＰＵ１０６は、変数ｔｏｔａｌと変数ｉｎｄｅｘを比較する。変数ｉｎｄｅｘが変数ｔｏｔａｌより小さい場合、ＣＰＵ１０６は、Ｓ４０３に進み、変数ｉｎｄｅｘが変数ｔｏｔａｌと等しいか大きい場合、ＣＰＵ１０６は、図４に示す処理を終了する。
【００３２】
Ｓ４０３で、ＣＰＵ１０６は、変数ｉｎｄｅｘが示すコンテンツの持つ検索条件を抽出する。Ｓ４０４で、ＣＰＵ１０６は、検索条件毎および検索条件の組み合わせに対応した件数を更新する。
【００３３】
Ｓ４０５で、ＣＰＵ１０６は、変数ｉｎｄｅｘに１を加算して次のコンテンツを参照できるようにし、Ｓ４０２に戻る。
【００３４】
このような処理により、ＣＰＵ１０６は、図３に示すような検索条件とコンテンツ数の対応表データを生成できる。
【００３５】
説明の便宜上、必要な都度、データを生成したが、コンテンツの追加もしくは削除または検索条件の設定などをトリガーとして、図３に示すような対応表データを生成しても良い。
【００３６】
図５は、検索条件をベン図に自動展開する処理のフローチャートを示す。図５に示す処理に対応する制御プログラムが例えばＨＤＤ１０９に格納されており、ＣＰＵ１０６は、この制御プログラムを読み込み実行することで、図５に示す処理を実現する。
【００３７】
Ｓ５０１で、ＣＰＵ１０６は、対象となる全てのコンテンツに設定されている検索条件を対象から除外する。例えば、図３に示すデータ構成例では、検索条件３０１にリストされる各検索条件のコンテンツ数を、他の組み合わせの検索条件に対するコンテンツ数も含めて合計することで、判断できる。具体的には、「兄」という検索条件が設定されているコンテンツの件数は、エントリ３０３，３０６，３０７，３０９の件数３０２の合計となる。このように求めたコンテンツ数と対象となるコンテンツ数が同じ場合、その検索条件を除外できる。
【００３８】
Ｓ５０２で、ＣＰＵ１０６は、検索条件の件数を確認する。検索条件数が３より小さいか同じ場合、ＣＰＵ１０６は、Ｓ５０３に進み、検索条件数が３を越えている場合、Ｓ５０４に進む。
【００３９】
Ｓ５０３で、ＣＰＵ１０６は、全ての検索条件を検索対象としてベン図に表示し、図５に示す処理を終了する。
【００４０】
Ｓ５０４で、ＣＰＵ１０６は、ベン図表示領域２０４のサイズに合わせてベン図表示すべき検索条件数を算出する。Ｓ５０５で、ＣＰＵ１０６は、検索条件の組み合わせの有無を確認する。検索条件の組み合わせがある場合、ＣＰＵ１０６は、Ｓ５０６に進み、検索条件の組み合わせが無い場合、Ｓ５０７に進む。
【００４１】
Ｓ５０６で、ＣＰＵ１０６は、検索条件の組み合わせが４以上ある検索条件をベン図表示対象から除外し、Ｓ５０７に進む。
【００４２】
Ｓ５０７で、ＣＰＵ１０６は、Ｓ５０４で算出した検索条件数分、コンテンツ数の多い方から検索条件を抽出する。Ｓ５０８で、ＣＰＵ１０６は、Ｓ５０７で抽出した検索条件をベン図に表示し、図５に示す処理を終了する。
【００４３】
このようにすることで、所定数の検索条件のベン図が、図２（ａ）に示すように表示される。ベン図上の検索条件の配置方法及び閉図形の形状は、図２に示す例に限定されない。
【００４４】
図６は、検索条件リスト設定処理のフローチャートを示す。図６に示す処理に対応する制御プログラムが例えばＨＤＤ１０９に格納されており、ＣＰＵ１０６は、この制御プログラムを読み込み実行することで、図６に示す処理を実現する。
【００４５】
Ｓ６０１で、ＣＰＵ１０６は、ベン図に表示している検索条件を対象から除外する。Ｓ６０２で、ＣＰＵ１０６は、Ｓ６０１で生成した検索条件を検索条件リストに設定する。このような処理により、検索条件リスト表示領域２０３に検索条件が表示される。
【００４６】
なお、対象となる全てのコンテンツに設定されている検索条件をさらに対象から除外するようにしても良い。
【００４７】
図７は、閉図形で示す検索条件を検索対象に指定する処理のフローチャートを示す。図７に示す処理に対応する制御プログラムが例えばＨＤＤ１０９に格納されており、ＣＰＵ１０６は、この制御プログラムを読み込み実行することで、図７に示す処理を実現する。
【００４８】
Ｓ７０１で、ＣＰＵ１０６は、ユーザによるベン図の指示に対し、指示された位置にある閉図形を求める。
【００４９】
Ｓ７０２で、ＣＰＵ１０６は、Ｓ７０１で求めた閉図形が選択状態か否かを確認する。閉図形が選択状態の場合、ＣＰＵ１０６は、Ｓ７０３に進み、閉図形が未選択状態の場合、Ｓ７０４に進む。
【００５０】
Ｓ７０３で、ＣＰＵ１０６は、Ｓ７０１で求めた閉図形を未選択状態にして、図７に示す処理を終了する。
【００５１】
Ｓ７０４で、ＣＰＵ１０６は、Ｓ７０１で求めた閉図形を選択状態にして、図７に示す処理を終了する。
【００５２】
このように、図７に示す処理では、ユーザの指示操作に対して選択状態と未選択状態を交互に切り替える。これにより、ユーザは、検索条件を検索対象に指定するかしないかを容易に設定できる。
【００５３】
例えば、図２（ｂ）に示す例で、ユーザが閉図形２０８、２０９、２１０をタップすることで、それぞれ「兄」、「姉」及び「妹」の検索条件を検索対象に指定したとする。この操作に対して、ＣＰＵ１０６は、図２（ｃ）に示すように選択状態となり、検索対象にすることができる。隣接する閉図形がともに選択状態である場合に、両閉図形を識別できるように、選択状態の表示形態を視覚的に識別可能な異なるものにするのが好ましい。例えば、表示色を異なるものにする。
【００５４】
図８は、母数設定処理のフローチャートを示す。図８に示す処理に対応する制御プログラムが例えばＨＤＤ１０９に格納されており、ＣＰＵ１０６は、この制御プログラムを読み込み実行することで、図８に示す処理を実現する。
【００５５】
Ｓ８０１で、ＣＰＵ１０６は、選択状態の閉図形があるかどうかを確認する。選択状態の閉図形がない場合、ＣＰＵ１０６は、Ｓ８０２に進み、選択状態の閉図形がある場合、Ｓ８０３に進む。
【００５６】
Ｓ８０２で、ＣＰＵ１０６は、選択状態の閉図形がないことを示すエラーを表示して、図８に示す処理を終了する。
【００５７】
Ｓ８０３以降で、ＣＰＵ１０６は、設定されている母数と選択状態の閉図形の示す検索条件を検索対象として母数に変更する。具体的には、Ｓ８０３で、ＣＰＵ１０６は、表示しているベン図の母数を記録する。例えば、ＣＰＵ１０６は、図２（ｃ）において母数設定を行うと、それまでコンテンツ全部を母数としていたので、コンテンツ全部が母数であったことを記録する。
【００５８】
Ｓ８０４で、ＣＰＵ１０６は、設定されている母数と選択状態の閉図形の示す検索条件を検索対象として母数に設定する。
【００５９】
Ｓ８０５で、ＣＰＵ１０６は、Ｓ８０４で設定した母数をベン図として表示部１０１に表示する。例えば、図２（ｃ）に示す画面でユーザが母数設定ボタン２１５を操作すると、ＣＰＵ１０６は、図２（ｄ）に示すように、「兄」、「姉」及び「妹」のそれぞれについて一人のみとなる検索条件の組み合わせを母数としたベン図を表示する。つまり、検索式を使うことなく視覚的な操作で検索式「（（兄＾姉）＾妹）」を指定できる。
【００６０】
Ｓ８０６で、ＣＰＵ１０６は、図６に示すような方法で母数に合わせた検索条件リストを生成する。Ｓ８０６の後、ＣＰＵ１０６は、図８に示す処理を終了する。
【００６１】
Ｓ８０５の後に図５を参照して説明した処理を実行することで、ＣＰＵ１０６は、設定した母数で検索条件をベン図に自動展開することができる。
【００６２】
図２（ｃ）に示す画面でユーザが母数設定ボタン２１５を操作したとする。この操作時にその母数で「祖父母に見せたことがある」が唯一の条件である場合、ＣＰＵ１０６は、図２（ｅ）に示す画面例の検索結果を得ることができる。すなわち、所望の絞り込み検索結果を得るためのユーザ操作をさらに簡略化できる。
【００６３】
図９は、閉図形の示す検索条件をベン図から除外する処理のフローチャートを示す。図９に示す処理に対応する制御プログラムが例えばＨＤＤ１０９に格納されており、ＣＰＵ１０６は、この制御プログラムを読み込み実行することで、図９に示す処理を実現する。
【００６４】
Ｓ９０１で、ＣＰＵ１０６は、ベン図上でユーザにより指示された位置にある閉図形を決定する。Ｓ９０２で、ＣＰＵ１０６は、指示された閉図形の示す検索条件を確認する。ＣＰＵ１０６は、指示された閉図形の示す検索条件がある場合、Ｓ９０３に進み、指示された閉図形の示す検索条件がない場合、Ｓ９０６に進む。
【００６５】
Ｓ９０３で、ＣＰＵ１０６は、指示された閉図形が示す検索条件をベン図表示対象から外す。指示された閉図形が検索条件の重なり領域の場合、ＣＰＵ１０６は、関連する検索条件を全てベン図表示対象から外してもよい。Ｓ９０４で、ＣＰＵ１０６は、ベン図表示を更新する。Ｓ９０５で、ＣＰＵ１０６は、図６に示すような方法でベン図表示に合わせた検索条件リストを生成し、図９に示す処理を終了する。
【００６６】
Ｓ９０６で、ＣＰＵ１０６は、母数設定状態かどうかを確認する。ＣＰＵ１０６は、母数設定状態の場合、Ｓ９０７に進み、母数設定状態でない場合、図９に示す処理を終了する。
【００６７】
Ｓ９０７で、ＣＰＵ１０６は、表示しているベン図の母数設定がされる前に設定されていた母数に設定を戻す。例えば、Ｓ８０３（図８）で示したように母数設定がされるとベン図の母数が記録されるので、ＣＰＵ１０６は、ここで記録した母数設定を利用する。
【００６８】
Ｓ９０８で、ＣＰＵ１０６は、Ｓ９０７で戻した母数をベン図として表示する。
【００６９】
図９に示す処理により、ユーザが指定する検索条件をベン図から外すことができる。例えば、図２（ａ）に示す画面で、ユーザが閉図形２０５、２０６、２０７をフリックすると、ＣＰＵ１０６は、「陶芸作品」、「釣った魚」及び「料理」という検索条件を外し、図２（ｂ）に示す状態に移行する。
【００７０】
図１０は、検索条件リストから検索条件をベン図に展開する処理のフローチャートである。図１０に示す処理に対応する制御プログラムが例えばＨＤＤ１０９に格納されており、ＣＰＵ１０６は、この制御プログラムを読み込み実行することで、図１０に示す処理を実現する。
【００７１】
Ｓ１００１で、ＣＰＵ１０６は、ユーザにより指定された検索条件を取得する。例えば、図２に示す検索条件のリスト表示領域２０３で示されたリストからユーザが選択した検索条件を取得する。
【００７２】
Ｓ１００２で、ＣＰＵ１０６は、選択状態の閉図形があるかどうかを確認する。選択状態の閉図形がある場合、ＣＰＵ１０６は、Ｓ１００３に進み、選択状態の閉図形がない場合、Ｓ１００７に進む。
【００７３】
Ｓ１００３で、ＣＰＵ１０６は、選択状態の閉図形の検索条件とＳ１００１で取得した検索条件とがこれらの少なくとも一部で重なるかどうかを確認する。例えば、図３に示すデータ構成例の場合、検索条件３０１の検索条件を用いて、Ｓ１００１で取得した検索条件が選択状態の閉図形の検索条件との組み合わせを持つかどうかで判断できる。一部でも重なる場合、ＣＰＵ１０６は、Ｓ１００４に進む。全く重ならない場合、ＣＰＵ１０６は、Ｓ１００７に進む。
【００７４】
Ｓ１００４で、ＣＰＵ１０６は、設定されている母数と選択状態の閉図形の示す検索条件を検索対象として母数に変更する。Ｓ１００４の処理は、図８のＳ８０３〜Ｓ８０６の処理と同じである。Ｓ１００５で、ＣＰＵ１０６は、Ｓ１００１で取得した検索条件をベン図表示対象として、ベン図に追加表示する。Ｓ１００６で、ＣＰＵ１０６は、図６に示すような方法でベン図表示に合わせた検索条件リストを生成し、図１０に示す処理を終了する。
【００７５】
Ｓ１００７で、ＣＰＵ１０６は、Ｓ１００１で取得した検索条件とベン図に表示している検索条件との組み合わせを確認する。検索条件が４以上の組み合わせとなる場合、ＣＰＵ１０６は、検索条件の組合せを二次元で表示できないので、Ｓ１００８に進む。検索条件が４未満の組み合わせとなる場合、ＣＰＵ１０６は、検索条件の組合せを二次元で表示できるので、Ｓ１００５に進む。例えば、図３に示すデータ構成の場合、図５を参照して説明したように、ＣＰＵ１０６は、検索条件３０１の検索条件を他の組み合わせのものも含めてコンテンツ数を合計することで判断できる。
【００７６】
Ｓ１００８で、ＣＰＵ１０６は、Ｓ１００１で取得した検索条件をベン図に表示できないことをユーザに通知し、図１０に示す処理を終了する。
【００７７】
図１０に示す処理により、検索条件リストから検索条件をベン図に展開することができる。Ｓ１００４における母数設定を自動化することで、図２（ｃ）に示す画面で検索条件を指定するだけで、図２（ｅ）に示す結果を得ることができ、ユーザの操作をさらに簡略化できる。
【００７８】
図１１は、検索処理のフローチャートである。図１１に示す処理に対応する制御プログラムが例えばＨＤＤ１０９に格納されており、ＣＰＵ１０６は、この制御プログラムを読み込み実行することで、図１１に示す処理を実現する。
【００７９】
Ｓ１１０１で、ＣＰＵ１０６は、選択状態の閉図形があるかどうかを確認する。選択状態の閉図形がある場合、ＣＰＵ１０６は、Ｓ１１０２に進み、選択状態の閉図形がない場合、Ｓ１１０４に進む。
【００８０】
Ｓ１１０２で、ＣＰＵ１０６は、設定されている母数と選択状態の閉図形の示す検索条件を検索対象として求める。Ｓ１１０３で、ＣＰＵ１０６は、Ｓ１１０２で求めた検索対象を検索し、図１１に示す処理を終了する。
【００８１】
Ｓ１１０４で、ＣＰＵ１０６は、選択状態の閉図形が無いことをユーザに通知して、図１１に示す処理を終了する。
【００８２】
図１１には図示していないが、選択状態の閉図形がなくても母数設定がされていて検索が可能な場合、ＣＰＵ１０６が検索を実行してもよい。
【００８３】
図１１に示す処理により、例えば、図２（ｆ）に示す画面例でユーザが検索実行ボタン２１６を操作すると、ＣＰＵ１０６は、「（（兄＾姉）＾妹）＆！祖父母に見せたことがある」という検索条件で検索を実行する。すなわち、ユーザは画面上の選択操作という非常に簡単な操作のみで、「（（兄＾姉）＾妹）＆！祖父母に見せたことがある」という複雑な条件での検索結果を得ることが出来る。
【００８４】
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。
【００８５】
また、上述の実施形態の機能を実現するソフトウェアのプログラムを、記録媒体から直接、或いは有線／無線通信を用いてプログラムを実行可能なコンピュータを有するシステム又は装置に供給し、そのプログラムを実行する場合も本発明に含む。
【００８６】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。
【００８７】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００８８】
プログラムを供給するための記録媒体としては、例えば、ハードディスク、磁気テープ等の磁気記録媒体、光／光磁気記憶媒体、不揮発性の半導体メモリでもよい。
【００８９】
また、プログラムの供給方法としては、コンピュータネットワーク上のサーバに本発明を形成するコンピュータプログラムを記憶し、接続のあったクライアントコンピュータがコンピュータプログラムをダウンロードして実行するような方法も考えられる。
【図１】
2018067118.tif 000003
【図２】
2018067118.tif 000004
【図３】
2018067118.tif 000005
【図４】
2018067118.tif 000006
【図５】
2018067118.tif 000007
【図６】
2018067118.tif 000008
【図７】
2018067118.tif 000009
【図８】
2018067118.tif 000010
【図９】
2018067118.tif 000011
【図１０】
2018067118.tif 000012
【図１１】
2018067118.tif 000013