(57)【要約】【課題】より広範な検索結果を得ることを可能とする。【解決手段】情報処理装置は、対応する検索部に指定された検索語による検索を実行させ、検索部から検索結果を受け取る検索仲介部と、検索語を検索仲介部に入力し、条件が互いに異なる２以上の検索仲介部を制御する検索制御部とを備える。検索仲介部は、入力された検索語を検索仲介部に予め定められた第１の条件に従い解釈して、解釈された検索語により検索部に検索を実行させる。【選択図】図２８
2017120613.tif 000002
【特許請求の範囲】
【請求項１】
対応する検索部に指定された検索語による検索を実行させ、該検索部から検索結果を受け取る検索仲介部と、
前記検索語を前記検索仲介部に入力し、条件が互いに異なる２以上の前記検索仲介部を制御する検索制御部と
を備え、
前記検索仲介部は、
入力された検索語を該検索仲介部に予め定められた第１の条件に従い解釈して、解釈された該検索語により前記検索部に検索を実行させる
情報処理装置。
【請求項２】
前記検索仲介部に入力される前記検索語は、ユーザ操作に応じて取得される
請求項１に記載の情報処理装置。
【請求項３】
前記検索仲介部に入力される前記検索語は、前記情報処理装置にインストールされるアプリケーションプログラムを介して取得された情報に含まれるキーワードである
請求項１または請求項２に記載の情報処理装置。
【請求項４】
前記検索仲介部に入力される前記検索語は、前記情報処理装置がネットワークを介して取得した情報に含まれるキーワードである
請求項１または請求項２に記載の情報処理装置。
【請求項５】
前記検索仲介部に対応する画像の表示を制御する表示制御部をさらに備える請求項１乃至請求項４の何れか１項に記載の情報処理装置。
【請求項６】
前記２以上の検索仲介部は、前記第１の条件が互いに異なる第１の検索仲介部および第２の検索仲介部を含み、
前記検索制御部は、
前記第１の検索仲介部の検索結果に基づき、該第１の検索仲介部に予め設定された第２の条件に従い提案語を生成する
請求項１乃至請求項５の何れか１項に記載の情報処理装置。
【請求項７】
前記検索制御部は、
前記ユーザ操作に応じて生成した前記提案語を前記検索語として入力する
請求項６に記載の情報処理装置。
【請求項８】
前記検索制御部は、
前記提案語を前記第２の検索仲介部に検索語として指定する
請求項６に記載の情報処理装置。
【請求項９】
前記検索制御部は、
前記情報処理装置の表示画面上で前記第１の検索仲介部に対応する画像の少なくとも一部が前記第２の検索仲介部に対応する画像に重ねられた場合に、前記提案語を生成して検索語として該第２の検索仲介部に指定する
請求項８に記載の情報処理装置。
【請求項１０】
前記検索仲介部を示す情報と該検索仲介部に入力された前記検索語とを関連付けて履歴情報として蓄積する履歴記憶部をさらに備え、
前記検索制御部は、
前記履歴情報に基づき、複数の前記検索仲介部から、前記入力された前記検索語に対応する前記検索仲介部を選択する
請求項１乃至請求項５の何れか１項に記載の情報処理装置。
【請求項１１】
前記第１の条件が互いに異なる複数の前記検索仲介部を記憶する検索仲介部記憶部をさらに備え、
前記検索制御部は、
前記入力された前記検索語に応じて、前記検索仲介部記憶部から、前記表示制御部により対応する画像が表示されていない前記検索仲介部を取得し、取得した該検索仲介部に対応する画像を前記表示制御部により表示させる
請求項５に記載の情報処理装置。
【請求項１２】
前記検索制御部は、
前記入力された前記検索語のうち同一の前記検索語を計数し、計数した値が閾値以上の場合に、前記検索仲介部記憶部に記憶される前記複数の検索仲介部のうち、前記検索仲介部に予め設定された第３の条件に該検索語が対応する前記検索仲介部を取得する
請求項１１に記載の情報処理装置。
【請求項１３】
前記検索制御部は、
前記検索仲介部による検索の経過を画面に表示させる
請求項１乃至請求項１２の何れか１項に記載の情報処理装置。
【請求項１４】
前記検索語を記憶する検索語記憶部をさらに備え、
前記検索制御部は、
前記検索語記憶部から取得した前記検索語を前記検索仲介部に入力する
請求項１乃至請求項１３の何れか１項に記載の情報処理装置。
【請求項１５】
前記検索制御部は、
前記提案語に２以上の次元で表される位置情報を与えることによって、前記提案語を前記位置情報に従い表示させる
請求項２に記載の情報処理装置。
【請求項１６】
前記検索制御部は、
前記提案語に指定された条件に基づき推薦度を設定し、設定した推薦度に応じた前記位置情報を与える
請求項１５に記載の情報処理装置。
【請求項１７】
対応する検索部に指定された検索語による検索を実行させ、該検索部から検索結果を受け取る検索仲介ステップと、
前記検索語を前記検索仲介ステップに入力し、条件が互いに異なる２以上の前記検索仲介ステップを制御する検索制御ステップと
を有し、
前記検索仲介ステップは、
入力された検索語を該検索仲介ステップに予め定められた第１の条件に従い解釈して、解釈された該検索語により前記検索部に検索を実行させる
情報処理方法。
【請求項１８】
情報処理装置が搭載するコンピュータに情報処理方法を実行させるための情報処理プログラムであって、
前記情報処理方法は、
対応する検索部に指定された検索語による検索を実行させ、該検索部から検索結果を受け取る検索仲介ステップと、
前記検索語を前記検索仲介ステップに入力し、条件が互いに異なる２以上の前記検索仲介ステップを制御する検索制御ステップと
を有し、
前記検索仲介ステップは、
入力された検索語を該検索仲介ステップに予め定められた第１の条件に従い解釈して、解釈された該検索語により前記検索部に検索を実行させる
情報処理プログラム。
【請求項１９】
端末装置と情報処理装置とを含む情報処理システムであって、
対応する検索部に指定された検索語による検索を実行させ、該検索部から検索結果を受け取る検索仲介部と、
前記検索語を前記検索仲介部に入力し、条件が互いに異なる２以上の前記検索仲介部を制御する検索制御部と
を備え、
前記検索仲介部は、
入力された検索語を該検索仲介部に予め定められた第１の条件に従い解釈して、解釈された該検索語により前記検索部に検索を実行させる
情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、情報処理プログラムおよび情報処理システムに関する。
【背景技術】
【０００２】
検索キーワードを用いて適切な検索結果を高速に提示可能な検索アルゴリズムが多く提案されている。このような検索アルゴリズムの中で、ユーザが検索キーワードの入力などを行わなくても自律的に検索の実行および検索結果の提示を行う検索技術が知られている。このような、自律的な検索を行う検索アルゴリズムは、検索エージェントと呼ばれる。
【０００３】
例えば、特許文献１には、異なる検索キーワードを持つ検索エージェントからユーザが所望の検索エージェントを選択して検索を行う技術が開示されている。特許文献１によれば、ユーザに選択された各検索エージェントは、設定された検索キーワードをユーザに提案する。ユーザは、提案された検索キーワードから所望の検索キーワードを指定して検索を行う。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来技術では、検索エージェント毎に、検索エージェントの特性に従った検索キーワードが予め設定されているため、ユーザは、所望の検索結果を得られる可能性が高い。しかしながら、従来技術では、ユーザが検索内容を意識して検索エージェントを選択するため、ユーザが意識していない方面からの検索結果を得ることが困難であった。
【０００５】
本発明は、上記に鑑みてなされたものであって、より広範な検索結果を得ることを可能とすることを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、対応する検索部に指定された検索語による検索を実行させ、検索部から検索結果を受け取る検索仲介部と、検索語を検索仲介部に入力し、条件が互いに異なる２以上の検索仲介部を制御する検索制御部とを備え、検索仲介部は、入力された検索語を検索仲介部に予め定められた第１の条件に従い解釈して、解釈された検索語により検索部に検索を実行させる。
【発明の効果】
【０００７】
本発明によれば、より広範な検索結果を得ることが可能となるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態に係る情報処理システムの一例の構成を示す図である。
【図２】図２は、実施形態に適用可能なログイン画面の例を示す図である。
【図３】図３は、実施形態に係る検索画面の例を示す図である。
【図４】図４は、実施形態に係る、検索エージェントにより検索が実行され検索結果が取得された場合の検索画面の例を示す図である。
【図５】図５は、実施形態に係る、ホバー表示が表示された検索画面の例を示す図である。
【図６】図６は、実施形態に係る、提案タグ表示部に表示される提案タグが選択された例を示す図である。
【図７】図７は、実施形態に係る、タグのタグ情報に基づき検索エージェントが検索を実行した結果の例を示す図である。
【図８】図８は、実施形態に係る、カーソル表示が検索エージェントのタイトル部分に重ねられた状態で決定操作がなされたことを説明するための図である。
【図９】図９は、実施形態に係る、ドロップ操作により各検索エージェントの位置関係が固定されたことを説明するための図である。
【図１０】図１０は、実施形態に係る、連携する各検索エージェントの位置関係が固定された状態で、検索キーワード入力欄にキーワードが入力された例を示す図である。
【図１１】図１１は、実施形態に係る、検索キーワード入力欄に入力された各タグに基づき検索エージェントが検索結果を得た状態を示す図である。
【図１２】図１２は、実施形態に係る、ポイントＰが閾値を超えた場合の動作を説明するための図である。
【図１３】図１３は、実施形態に係る、既に登録されている検索エージェントに対して他の検索エージェントが追加して表示された例を示す図である。
【図１４】図１４は、実施形態に係る、ポイントＰを減点させた場合の処理を説明するための図である。
【図１５】図１５は、実施形態に係るタグの追加処理を説明するための図である。
【図１６】図１６は、実施形態に適用可能な端末装置のハードウェア構成の例を示すブロック図である。
【図１７】図１７は、実施形態に適用可能なサーバのハードウェア構成の例を示すブロック図である。
【図１８】図１８は、実施形態に係る端末装置の機能を説明するための一例の機能ブロック図である。
【図１９】図１９は、実施形態に係る検索制御部の機能を説明するための一例の機能ブロック図である。
【図２０】図２０は、実施形態に係るサーバの機能を説明するための一例の機能ブロック図である。
【図２１】図２１は、実施形態に係るエージェントＩ／Ｆの構成を概略的に示す図である。
【図２２】図２２は、実施形態に係るエージェントＩ／Ｆに含まれる各データの具体例を示す図である。
【図２３】図２３は、実施形態に係るエージェントＩ／Ｆにおけるメタ情報の例を示す図である。
【図２４】図２４は、実施形態に係るエージェントＩ／Ｆの本体の例を示す図である。
【図２５】図２５は、実施形態に係るタグ情報の例を示す図である。
【図２６】図２６は、実施形態に係る検索制御部の処理を示す一例のフローチャートである。
【図２７】図２７は、実施形態に係る、検索エージェントが連携している場合の検索処理を示す一例のフローチャートである。
【図２８】図２８は、実施形態に係る検索エージェントの処理を示す一例のフローチャートである。
【図２９】図２９は、実施形態に係るタグの評価の処理を示す一例のフローチャートである。
【図３０】図３０は、実施形態に係る、指定された提案タグのタグ情報のホバー表示を説明するための図である。
【図３１】図３１は、実施形態に係る履歴ＤＢが管理する利用履歴の一例を示す図である。
【図３２】図３２は、実施形態に係る、利用履歴を用いた検索制御部の処理を示す一例のフローチャートである。
【図３３】図３３は、実施形態の第１の変形例に係る、各検索結果の概要をテーブルとして表示させる第１の例を示す図である。
【図３４】図３４は、実施形態の第１の変形例に係る、各検索結果の概要をテーブルとして表示させる第２の例を示す図である。
【図３５】図３５は、実施形態の第１の変形例に係る、各検索結果の概要を仮想的な球面上に配置して表示させる例を示す図である。
【図３６】図３６は、実施形態の第１の変形例に係る、各検索結果の概要を仮想的な螺旋または円筒上に配置して表示させる例を示す図である。
【図３７】図３７は、実施形態の第２の変形例に係る検索画面の例を示す図である。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照して、情報処理装置、情報処理方法、情報処理プログラムおよび情報処理システムの実施形態を詳細に説明する。
【００１０】
（実施形態）
図１は、実施形態に係る情報処理システムの一例の構成を示す。図１において、情報処理システムは、インターネットなどのネットワーク４０を介して接続される端末装置１０とサーバ２０とを含む。
【００１１】
端末装置１０は、例えばパーソナルコンピュータ（ＰＣ）といった情報処理装置であって、ユーザ操作を受け付けるための例えばキーボードおよびポインティングデバイス（例えばマウス）と、ユーザに情報を提示するためのディスプレイとが接続される。また、端末装置１０は、ブラウザアプリケーション１１（以下、ブラウザ１１）が搭載される。ブラウザ１１は、端末装置１０が備えるＣＰＵ(Central  Processing  Unit)上で動作して、例えばＨＴＭＬ(HyperText  Markup  Language)に従い記述されたファイルを読み込み、所定の動作を行う。
【００１２】
サーバ２０は、端末装置１０が実施形態に係る動作を実行するための情報処理プログラムを記憶する。端末装置１０において、ブラウザ１１を用いてサーバ２０にアクセスすることで、サーバ２０に記憶された情報処理プログラムがブラウザ１１に読み込まれ、ブラウザ１１に読み込まれた情報処理プログラムにより、実施形態に係る動作が実行される。
【００１３】
端末装置１０において、ブラウザ１１は、サーバ２０から読み込んだ情報処理プログラムを実行させて、ユーザ操作に応じて入力されたキーワード（検索語）に基づく検索動作を実行する。
【００１４】
すなわち、情報処理プログラムは、ブラウザ１１上で実行されることにより、自律的に検索処理を行う１以上の検索エージェントをブラウザ１１上に形成する。検索エージェントは、ユーザ操作に応じて入力されたキーワードを予め定められた第１の条件（後述する）に従い解釈し、解釈されたキーワードをネットワーク４０を介して、例えばインターネット上に公開された検索サービスを提供する検索エンジン３１に転送する。検索エンジン３１は、端末装置１０（ブラウザ１１）から送信されたキーワードに基づく検索を行い、検索結果をネットワーク４０を介して端末装置１０に返す。端末装置１０は、サーバ２０からの検索結果を受信し、ブラウザ１１に渡す。
【００１５】
ブラウザ１１において、検索エージェントは、渡された検索結果を端末装置１０に接続されるディスプレイに表示させると共に、予め定められた第２の条件（後述する）に従い当該検索結果から新たなキーワード（提案語）を生成する。この生成されたキーワードを用いて、他の第１の条件に従いキーワードを解釈する他の検索エージェントによる検索を行うことで、より広範な検索結果を得ることが可能となる。
【００１６】
また、実施形態に係る情報処理システムでは、入力されたキーワードを互いに異なる第１の条件に従い解釈する複数の検索エージェントを連携させることが可能である。
【００１７】
この場合、連携元の検索エージェントは、ユーザ操作に応じて入力されたキーワードに基づき取得した検索結果から第２の条件に従い生成した新たなキーワードを、連携先の検索エージェントに渡す。連携先の検索エージェントは、連携元の検索エージェントから渡されたキーワードを、当該連携先の検索エージェントに予め定められた第１の条件に従い解釈し、解釈したキーワードを用いて検索エンジン３１による検索を行う。
【００１８】
このように、複数の検索エージェントを連携させて検索を実行することで、ユーザは、自分が意識していなかった方面から検索した検索結果を得ることが可能となり、より広範な検索結果を、容易に得ることができる。
【００１９】
なお、上述では、検索エージェントの検索対象を検索エンジン３１であるとして説明したが、これはこの例に限定されない。検索エージェントの検索対象は、例えば社内ネットワーク内のデータベース（ＤＢ）といった、端末装置１０との間で閉じたネットワーク環境内で利用可能な特定ＤＢ３２としてもよい。さらに、検索エージェントの検索対象は、コンピュータシステム上の動作を主体とするものに限られない。例えば、ユーザからの問い合わせに対して人手で回答する回答システム３３を、検索エージェントの検索対象とすることもできる。
【００２０】
（実施形態に係る検索動作の概要）
次に、実施形態に係る検索エージェントを用いた検索動作の概要について説明する。以下に説明する動作は、端末装置１０上で実施形態に係る情報処理プログラムが実行されることで行われる。この情報処理プログラムは、検索エージェントの動作を制御するための検索制御部を含む。情報処理プログラムは、例えば端末装置１０上で動作するブラウザ１１からネットワーク４０を介してサーバ２０にアクセスすることで一時的に端末装置１０に導入され、ブラウザ１１上で実行される。検索エージェントは、例えば、端末装置１０上で情報処理プログラムが実行されることにより、検索制御部によりサーバ２０から取得される。
【００２１】
以下では、端末装置１０に搭載されたブラウザ１１上で情報処理プログラムが実行されることによりなされる動作を、適宜、端末装置１０の動作として説明する。
【００２２】
端末装置１０は、ユーザ操作に応じてブラウザ１１が起動され実施形態に係る情報処理プログラムが実行されると、ユーザの認証を促すログイン画面をディスプレイに表示させる。図２は、実施形態に適用可能なログイン画面の例を示す。図２において、ログイン画面３００は、ユーザを識別するためのユーザＩＤを入力するための入力領域３０１と、認証に用いるパスワードを入力するための入力領域３０２と、ログインを指示するためのボタン３０３と、ログイン処理をキャンセルするためのボタン３０４とが設けられる。なお、ユーザＩＤおよびパスワードは、例えばサーバ２０が備えるユーザＤＢに、ユーザの属性情報と共に予め登録されているものとする。
【００２３】
端末装置１０は、ボタン３０３が操作されログインが指示されると、入力領域３０１および３０２に入力されたユーザＩＤおよびパスワードをサーバ２０に送信する。サーバ２０は、端末装置１０から送信されたユーザＩＤおよびパスワードに基づきユーザＤＢを検索して認証処理を実行し、認証が成功すると、認証成功の通知を端末装置１０に送信する。
【００２４】
（基本的な検索動作）
図３〜図７を用いて、実施形態に係る基本的な検索動作について説明する。端末装置１０は、サーバ２０から送信された認証成功通知を受信すると、検索画面を表示させる。図３は、実施形態に係る検索画面の例を示す。なお、図３〜図７において、互いに共通する部分には同一の符号を付して、初出以外は詳細な説明を省略する。図３において、検索画面４００は、エージェント切替部４０１と、エージェント表示部４０２と、検索結果表示部４０３と、キーワード表示部４０４とを含む。
【００２５】
エージェント表示部４０２は、検索エージェントを示す画像が表示される。以下、特に記載の無い限り、検索エージェントを示す画像を「検索エージェント」と呼ぶ。図３の例では、エージェント表示部４０２に、２つの検索エージェント４１０ａおよび４１０ｂが表示されている。
【００２６】
なお、エージェント表示部４０２は、初期状態では空欄となっているか、若しくは、デフォルトの検索エージェント（検索エージェント４１０ａおよび４１０ｂとする）が表示される。検索エージェント４１０ａおよび４１０ｂは、サーバ２０から取得されて端末装置１０に一時的に記憶され、端末装置１０に登録される。登録された検索エージェント４１０ａおよび４１０ｂは、端末装置１０に対する所定の操作に従いエージェント表示部４０２に表示される。
【００２７】
検索エージェント４１０ａおよび４１０ｂは同様な構成であるので、検索エージェント４１０ａを用いて説明すると、検索エージェント４１０ａは、ボタン４１１および４１２と、結果表示欄４１３とを備える。結果表示欄４１３は、検索エージェント４１０ａによる検索結果の概要を一覧表示する。図３の例では、検索が行われていないため、結果表示欄４１３は空欄となっている。ボタン４１１は、結果表示欄４１３の表示状態および非表示状態を切り替えるためのボタンである。また、ボタン４１２は、当該検索エージェント４１０ａの有効、無効を切り替えるためのボタンである。
【００２８】
検索エージェント４１０ａおよび４１０ｂは、それぞれ、上述した第１の条件と、検索対象（例えば所定の検索エンジン３１）を指定する情報とが予め設定される。端末装置１０は、後述するキーワード表示部４０４において指定されたキーワードを、各検索エージェント４１０ａおよび４１０ｂそれぞれに渡す。各検索エージェント４１０ａおよび４１０ｂは、それぞれ、渡されたキーワードを、設定された第１の条件に従い解釈し、解釈されたキーワードを、設定された検索対象に渡す。
【００２９】
端末装置１０は、各検索対象からキーワードに応じた検索結果をそれぞれ受け取り、各検索エージェント４１０ａおよび４１０ｂに渡す。各検索エージェント４１０ａおよび４１０ｂは、渡された検索結果の概要を、結果表示欄４１３に一覧表示させる。さらに、各検索エージェント４１０ａおよび４１０ｂは、受け取った検索結果を、それぞれに設定された第２の条件に従い解釈し、解釈されたキーワードを提案語として表示させる。
【００３０】
このように、検索エージェントは、実際の検索処理は行わず、検索対象に対してキーワードを送信して検索対象に検索処理を実行させるものであり、検索処理の仲介を行う検索仲介部として機能する。また、以下では、検索エージェントが、端末装置１０から渡されたキーワードを第１の条件に従い解釈して検索対象に送信し、検索対象からキーワードに応じた検索結果を受け取ることを、検索エージェントが実行する検索処理であるとして説明する。
【００３１】
エージェント切替部４０１は、エージェント表示部４０２に表示される検索エージェント４１０ａおよび４１０ｂを切り替えるための複数のボタンを備える。エージェント切替部４０１の上段に配置される３個のボタンは、エージェント表示部４０２に、有効に設定された検索エージェントと、無効に設定された検索エージェントと、全ての検索エージェントとのうち何れを表示させるかを切り替えるためのボタンである。また、エージェント切替部４０１の下段に配置される４個のボタンは、エージェント表示部４０２に表示される検索エージェント４１０ａおよび４１０ｂの表示順を、登録順、名前順、人気度および活躍度のうち何れにするかを切り替えるためのボタンである。
【００３２】
検索結果表示部４０３は、例えば、結果表示欄４１３に一覧表示される検索結果の詳細が表示される。図３の例では、検索が行われていないため、検索結果表示部４０３は、空欄となっている。実行された検索により結果が取得できない場合も、検索結果表示部４０３は空欄とされる。
【００３３】
キーワード表示部４０４は、検索キーワード入力欄４２０と、シーン選択部４２１と、デフォルトタグ部４２２とを備える。検索キーワード入力欄４２０は、各検索エージェント４１０ａおよび４１０ｂが検索に用いるキーワードが入力される。検索キーワード入力欄４２０は、例えばユーザ操作により検索キーワード入力欄４２０を操作した上でキーボードなどによりキーワードを直接的に入力してもよいし、デフォルトタグ部４２２に表示されるタグ４３０20、４３０21、…から１つを選択して入力してもよい。
【００３４】
デフォルトタグ部４２２は、それぞれキーワードを含むタグ情報が関連付けられたタグ４３０20、４３０21、…が表示される。図３の例では、各タグ４３０20、４３０21、…に対し、キーワードとなる文字列が表示されている。端末装置１０は、デフォルトタグ部４２２に表示される各タグ４３０20、４３０21、…のうち１または複数がユーザ操作により選択されると、選択されたタグを検索キーワード入力欄４２０に表示させ、当該タグに含まれるキーワードを各検索エージェント４１０ａおよび４１０ｂに渡す。シーン選択部４２１は、デフォルトタグ部４２２に表示されるタグ４３０20、４３０21、…のセットを、他のセットに切り替えるためのタブである。
【００３５】
図４は、実施形態に係る、検索キーワード入力欄４２０にタグ４３０10および４３０11が入力され、入力されたタグ４３０10および４３０11に基づき、各検索エージェント４１０ａおよび４１０ｂにより検索が実行され検索結果が取得された場合の検索画面４００の例を示す。
【００３６】
端末装置１０は、検索キーワード入力欄４２０に入力されたタグ４３０10および４３０11のタグ情報を、エージェント表示部４０２に表示される各検索エージェント４１０ａおよび４１０ｂに渡す。各検索エージェント４１０ａおよび４１０ｂは、渡されたタグ４３０10および４３０11のタグ情報に含まれるキーワードに基づき検索を実行し、それぞれ検索対象から検索結果を受け取る。この例では、検索エージェント４１０ａおよび４１０ｂのうち、検索エージェント４１０ｂのみが検索結果を得ている。
【００３７】
検索エージェント４１０ｂは、検索結果に応じて、結果一覧表示部４４０ｂおよび提案タグ表示部４５０ｂを表示させる。これら結果一覧表示部４４０ｂおよび提案タグ表示部４５０ｂは、検索エージェント４１０ｂが備えるボタン４１２を操作することで、表示および非表示を切り替えることができる。
【００３８】
結果一覧表示部４４０ｂは、検索結果の結果リストとして、検索結果の概要が一覧表示される。検索結果の概要は、例えば、検索の結果得られたテキストの先頭から所定文字数の文字列や、当該テキスト中のキーワードに合致した部分を含む所定文字数の文字列などを用いることが考えられる。結果一覧表示部４４０ｂに設けられる入力欄４４１ｂに文字列を入力することで、入力された文字列に基づき結果一覧表示部４４０ｂに一覧表示された検索結果の概要を絞り込むことができる。
【００３９】
端末装置１０は、結果一覧表示部４４０ｂに一覧表示された各検索結果の概要のうち、ユーザ操作により所望の概要が指定される（例えばカーソル表示を当該概要の位置に合わせる）と、図５にホバー表示４４２として例示されるように、指定された概要の詳細（本文）を、指定された概要の近傍に表示させることができる。
【００４０】
図４の説明に戻り、検索エージェント４１０ｂは、提案タグ表示部４５０ｂに、検索結果を第２の条件で解釈したキーワードを提案語として含む提案タグ４５１ｂ1、４５１ｂ2、…を表示させる。
【００４１】
図４の例において、提案タグ表示部４５０ｂに表示される提案タグ４５１ｂ1、４５１ｂ2、…のうち、ユーザ操作により提案タグを選択することで、選択された提案タグのタグ情報を検索キーワード入力欄４２０に入力させることができる。図６は、実施形態に係る、提案タグ表示部４５０ｂに表示される提案タグ４５１ｂ1、４５１ｂ2、…のうち提案タグ４５１ｂ5が選択された例を示す。
【００４２】
端末装置１０は、提案タグ４５１ｂ5が選択されると、図６中に矢印Ａで示されるように、検索キーワード入力欄４２０に対し、当該提案タグ４５１ｂ5を新たなタグ４３０ｂとして追加して表示させる。端末装置１０は、検索キーワード入力欄４２０に新たなタグ４３０ｂが追加されると、エージェント表示部４０２に表示される各検索エージェント４１０ａおよび４１０ｂに対し、追加されたタグ４３０ｂのタグ情報をさらに渡す。
【００４３】
各検索エージェント４１０ａおよび４１０ｂは、渡されたタグ４３０ｂのタグ情報に含まれるキーワードを用いて、さらに検索を実行する。図７は、実施形態に係る、タグ４３０ｂのタグ情報に基づき各検索エージェント４１０ａおよび４１０ｂが検索を実行した結果の例を示す。図７の例では、タグ４３０ｂが検索キーワード入力欄４２０に追加入力されることで、検索エージェント４１０ａにおいても検索結果が得られ、結果絞込用の入力欄４４１ａを含む結果一覧表示部４４０ａと、提案タグ表示部４５０ｂと同様の提案タグ表示部４５０ａとがさらに表示されている。
【００４４】
（複数検索エージェントの連携動作）
次に、図８〜図１０を用いて、実施形態に係る検索エージェントの連携動作について説明する。なお、図８〜図１０において、上述した図３と共通する部分には同一の符号を付して、詳細な説明を省略する。実施形態においては、複数の検索エージェントを連携させることができる。実施形態では、検索エージェントの連携動作は、連携元の検索エージェントの少なくとも一部を、例えばドラッグアンドドロップ操作により連携先の検索エージェントに重ねることで実現できる。
【００４５】
例えば、図８に例示されるように、ユーザ操作によりカーソル表示４６０が検索エージェント４１０ｂのタイトル部分に重ねられた状態で例えば決定操作（２ボタンマウスの場合、例えば左クリック操作）がなされたものとする。この場合、カーソル表示４６０がタイトル部分に重ねられた検索エージェント４１０ｂが連携元の検索エージェントとなり、他の検索エージェント４１０ａは、連携先の検索エージェントの候補とされる。図８の例では、検索エージェント４１０ａに斜線を付して、当該検索エージェント４１０ａが連携先の検索エージェントの候補であることが示されている。
【００４６】
次に、ユーザ操作により、決定操作を維持したままカーソル表示４６０を移動させることで、カーソル表示４６０の移動に伴い検索エージェント４１０ｂが移動される（ドラッグ操作）。図９に例示されるように、検索エージェント４１０ｂの少なくとも一部が連携先の検索エージェント４１０ａに重なった時点で、決定操作が解除される（ドロップ操作）と、検索エージェント４１０ａおよび４１０ｂの位置関係が固定される。端末装置１０は、上層に表示される検索エージェント４１０ｂを連携元、下層に表示される検索エージェント４１０ａを連携先に、それぞれ設定する。
【００４７】
図１０は、図９の状態に対して、検索キーワード入力欄４２０にキーワードが入力された例を示す。図１０の例では、矢印Ｂで示されるように、デフォルトタグ部４２２に表示されるタグ４３０20、４３０21、…から１つが選択されて検索キーワード入力欄４２０に入力されている。端末装置１０は、矢印Ｃで示されるように、検索キーワード入力欄４２０に入力されたタグのタグ情報を、連携元の検索エージェント４１０ｂに渡す。
【００４８】
検索エージェント４１０ｂは、渡されたタグ情報に含まれるキーワードに基づき検索を実行し、検索対象から検索結果を受け取る。検索エージェント４１０ｂは、受け取った検索結果に応じて、上述した結果一覧表示部４４０ｂと、提案タグ表示部４５０ｂとを表示させる。端末装置１０は、この提案タグ表示部４５０ｂに表示された各提案タグ４５１ｂ1、４５１ｂ2、…の各タグ情報を、矢印Ｄで示されるように、連携先の検索エージェント４１０ａに渡す。
【００４９】
検索エージェント４１０ａは、渡された各タグ情報に含まれるキーワードに基づき検索エージェント４１０ｂと同様にして検索を実行し、検索結果の概要の一覧を結果一覧表示部４４０ａに表示させる。それと共に、検索エージェント４１０ａは、提案タグ表示部４５０ｂと同様にして、提案タグ表示部４５０ａに、検索結果に基づく提案タグを表示させる。なお、図１０の例では、検索エージェント４１０ｂに係る各表示が提案タグ表示部４５０ａにオーバーラップされ、提案タグ表示部４５０ａに表示される提案タグが隠されている。
【００５０】
ここで、連携先の検索エージェント４１０ａは、連携元の検索エージェント４１０ｂによる検索結果が得られてから、検索処理が開始される。そのため、検索エージェント４１０ａの検索結果は、検索エージェント４１０ｂの検索結果が得られてからある程度の時間を経過してから、検索画面４００に表示されることになる。実施形態では、このような場合でも、検索結果を得られた順に検索画面４００に表示し、検索処理の経過をユーザに提示するようにしている。
【００５１】
（タグ評価）
次に、実施形態に係るタグの評価について、図１１〜図１３を用いて説明する。なお、図１１〜図１３において、上述した図４と共通する部分には同一の符号を付して、詳細な説明を省略する。実施形態において、デフォルトタグ部４２２に表示される各タグ４３０20、４３０21、…、および、デフォルトタグ部４２２から検索キーワード入力欄４２０に入力された各タグ４３０10および４３０11は、タグ情報として、キーワードに加えて、整数の値を示すポイントＰを含む。
【００５２】
図１１は、上述した図４に対応し、検索キーワード入力欄４２０に入力された各タグ４３０10および４３０11に基づき、検索エージェント４１０ｂが検索結果を得た状態を示している。この状態において、検索キーワード入力欄４２０に入力されたタグ４３０10と対応する、デフォルトタグ部４２２に表示される例えばタグ４３０23を操作する。
【００５３】
端末装置１０は、この操作に応じて、操作されたタグ４３０23のタグ情報に含まれるポイントＰの値を増減する。ポイントＰの値は、ユーザの、当該ポイントＰに対応するタグによるキーワードに対する興味度を示していると考えることができる。例えば、２ボタンのマウスを用いた場合において、端末装置１０は、左ボタンの１回のクリック操作に対してポイントＰを１だけ加点し、右ボタンの１回のクリック操作に対してポイントＰを１だけ減点する。ポイントＰの加点、減点は、それぞれ他の操作に割り当ててもよい。
【００５４】
先ず、ポイントＰを加点させた場合の処理について説明する。図１１の例では、タグ４３０23に対して、ポイントＰを加点させる操作が例えば５回行われ、ポイント表示部４３１に示されるように、ポイントＰの値が「５」とされている。
【００５５】
ここで、端末装置１０は、タグ４３０23に対する操作に応じて、タグ４３０23の表示を変化させることができる。例えば、図１１に例示されるように、ポイントＰの値が大きくなるに連れ、タグ４３０23の表示色を段階的に濃くすることが考えられる。また、ポイント表示部４３１は、省略することができる。
【００５６】
端末装置１０は、操作されたタグ４３０23のポイントＰを監視し、ポイントＰが閾値以上または０以下であるか否かを判定する。一例として、ポイントＰに対する閾値が「５」であるものとする。ここで、タグ４３０23がさらに操作され、図１２（ａ）に示すように、ポイントＰの値が「６」となり、閾値を超えたものとする。
【００５７】
端末装置１０は、ポイントＰの値が閾値を超えたと判定すると、操作されたタグ４３０23のタグ情報に含まれるキーワードに対応する他の検索エージェントを取得する。例えば、端末装置１０は、当該キーワードに対応する他の検索エージェントを、サーバ２０に問い合わせ、サーバ２０から当該他の検索エージェントを取得することができる。端末装置１０は、他の検索エージェントが取得されると、図１２（ｂ）に例示されるように、取得した他の検索エージェントの登録を促す画像４７０を表示させる。図１２（ｂ）の例では、画像４７０が検索画面４００にオーバーラップして表示されるように示しているが、これはこの例に限定されない。
【００５８】
端末装置１０は、画像４７０の表示に応じて、取得した他の検索エージェントを登録する旨のユーザ操作がなされると、当該他の検索エージェントを登録し、エージェント表示部４０２に追加して表示させる。図１３は、実施形態に係る、既に登録されている検索エージェント４１０ａおよび４１０ｂに対して、当該他の検索エージェントとしての検索エージェント４１０ｃが追加して表示された例を示している。
【００５９】
このように、タグに対する興味度を設定し、興味度が所定以上になった場合に、当該タグに関連する他の検索エージェントを追加登録することで、より広範な検索結果を得ることが可能となる。
【００６０】
次に、実施形態に係る、ポイントＰを減点させた場合の処理について、図１４を用いて説明する。図１４は、上述した図１２（ａ）からキーワード表示部４０４の部分を抜き出した図である。図１４において、図１２（ａ）と共通する部分には同一の符号を付して、詳細な説明を省略する。図１４（ａ）は、図１２（ａ）に示したキーワード表示部４０４に対応し、この時点で、デフォルトタグ部４２２には、タグ４３０20〜４３０25の６個のタグが表示されている。また、図１４（ａ）の例では、ポイント表示部４３１内に数値で示されるように、タグ４３０24のポイントＰの値が「５」とされている。
【００６１】
図１４（ａ）の状態において、タグ４３０24に対して、ポイントＰを減点させる操作が例えば１回行われると、ポイントＰの値が「５」から１だけ減じられて「４」とされる。これに伴い、図１４（ｂ）に例示されるように、ポイント表示部４３１の表示が「４」とされ、タグ４３０24の表示がポイントＰの値に応じて変化される（この例では、１段階分、薄い色とされる）。
【００６２】
タグ４３０23に対して、さらにポイントＰを減点させる操作が繰り返され、タグ４３０23のポイントＰの値が「０」以下になったものとする。この場合、図１４（ｃ）に例示されるように、ポイントＰの値が「０」以下になったタグ４３０24がデフォルトタグ部４２２から消去される。したがって、デフォルトタグ部４２２には、５個のタグ４３０20〜４３０23および４３０25が表示される。
【００６３】
次に、実施形態に係るタグの追加処理について図１５を用いて説明する。図１５において、図１４と共通する部分には同一の符号を付して、詳細な説明を省略する。図１５（ａ）は、上述した図１４（ｃ）に対応する図である。
【００６４】
実施形態では、ユーザ操作に応じて、デフォルトタグ部４２２にタグを追加することができる。図１５（ａ）に例示されるように、ユーザ操作によりデフォルトタグ部４２２の空欄部分を指定すると、文字列の入力を促すカーソル表示４８０が当該空欄部分に表示される。このカーソル表示４８０に従い例えばキーボードに対するユーザ操作により、図１５（ｂ）に例示されるように、文字列４８１が入力される。ユーザ操作により、入力された文字列４８１の確定操作がなされると、図１５（ｃ）に例示されるように、当該文字列４８１に基づき、新たなタグ４３０26がデフォルトタグ部４２２に追加される。このタグ４３０26は、タグ情報に、確定された文字列４８１を含む。
【００６５】
（実施形態に係る構成）
次に、実施形態に係るハードウェア構成および機能について説明する。図１６は、実施形態に適用可能な端末装置１０のハードウェア構成の例を示す。端末装置１０は、ＣＰＵ１０００と、ＲＯＭ(Read  Only  Memory)１００１と、ＲＡＭ(Random  Access  Memory)１００２と、グラフィクスＩ／Ｆ１００３と、ストレージ１００５と、入力デバイス１００６と、入出力Ｉ／Ｆ１００７と、通信Ｉ／Ｆ１００８とを含み、これら各部がバス１０１０により互いに通信可能に接続される。このように、端末装置１０は、一般的なコンピュータと同等の構成で実現できる。
【００６６】
ストレージ１００５は、ハードディスクドライブや、フラッシュメモリといった不揮発性メモリであって、ＣＰＵ１０００を動作させるためのプログラムや、各種のデータが記憶される。ＲＯＭ１００１は、例えば端末装置１０を起動させるために用いるプログラムおよびデータが予め記憶される。ＣＰＵ１０００は、ストレージ１００５およびＲＯＭ１００１に記憶されるプログラムに従い、ＲＡＭ１００２をワークメモリとして用いて、この端末装置１０の全体の動作を制御する。
【００６７】
グラフィクスＩ／Ｆ１００３は、ＣＰＵ１０００によりプログラムに従い生成された表示情報を表示信号に変換してディスプレイ１００４に供給する。ディスプレイ１００４は、例えばＬＣＤ(Liquid  Crystal  Display)を表示デバイスとして用い、グラフィクスＩ／Ｆ１００３から供給された表示信号に従った画面を表示する。入力デバイス１００６は、例えばキーボードと、マウスなどのポインティングデバイスとを含み、ユーザ操作に応じた信号を出力する。
【００６８】
入出力Ｉ／Ｆ１００７は、外部機器に対するインタフェースであって、例えばＵＳＢ(Universal  Serial  Bus)を適用することができる。通信Ｉ／Ｆ１００８は、ネットワーク４０を介した通信を制御する。
【００６９】
なお、端末装置１０は、デスクトップ型やノート型のコンピュータであってもよいし、表示デバイスと入力デバイスとが一体的に形成されたタッチパネルを備え、携帯が容易に構成されたタブレット型コンピュータやスマートフォンなどであってもよい。さらに、端末装置１０は、プリンタ機能、スキャナ機能、ＦＡＸ機能など複数の機能を１台の筐体で実現するＭＦＰ(Multi  Function  Printer)といった、他種の機器に含まれるコンピュータ部分であってもよい。
【００７０】
図１７は、実施形態に適用可能なサーバ２０のハードウェア構成の例を示す。サーバ２０は、ＣＰＵ２０００と、ＲＯＭ２００１と、ＲＡＭ２００２と、ストレージ２００３と、入出力Ｉ／Ｆ２００４と、通信Ｉ／Ｆ２００５とを含み、これら各部がバス２０１０により互いに通信可能に接続される。このように、サーバ２０は、一般的なコンピュータと同等の構成で実現できる。
【００７１】
ストレージ２００３は、ハードディスクドライブや、フラッシュメモリといった不揮発性メモリであって、ＣＰＵ２０００を動作させるためのプログラムや、各種のデータが記憶される。ＲＯＭ２００１は、例えばサーバ２０を起動させるために用いるプログラムおよびデータが予め記憶される。ＣＰＵ２０００は、ストレージ２００３およびＲＯＭ２００１に記憶されるプログラムに従い、ＲＡＭ２００２をワークメモリとして用いて、このサーバ２０の全体の動作を制御する。
【００７２】
入出力Ｉ／Ｆ２００４は、外部機器に対するインタフェースであって、例えばＵＳＢを適用することができる。通信Ｉ／Ｆ２００５は、ネットワーク４０を介した通信を制御する。
【００７３】
なお、サーバ２０は、１台の装置から構成してもよいし、互いに接続された複数の装置により構成してもよい。
【００７４】
図１８は、実施形態に係る端末装置１０の機能を説明するための一例の機能ブロック図である。端末装置１０は、通信部１００と、入力部１０１と、表示制御部１０２と、デフォルトタグ記憶部１０３と、検索制御部１０４と、ユーザ認証部１０５と、エージェント情報記憶部１０６と、エージェント記憶部１０７とを含む。
【００７５】
これら通信部１００、入力部１０１、表示制御部１０２、デフォルトタグ記憶部１０３、検索制御部１０４、ユーザ認証部１０５、エージェント情報記憶部１０６およびエージェント記憶部１０７は、ＣＰＵ１０００上で動作する情報処理プログラムにより実現される。より詳細には、これら各部は、ＣＰＵ１０００上で動作するブラウザ１１に読み込まれ、ブラウザ１１上で動作する。
【００７６】
これに限らず、通信部１００、入力部１０１、表示制御部１０２、デフォルトタグ記憶部１０３、検索制御部１０４、ユーザ認証部１０５、エージェント情報記憶部１０６およびエージェント記憶部１０７のうち一部または全部を、互いに協働して動作するハードウェア回路により構成してもよい。
【００７７】
通信部１００は、通信Ｉ／Ｆ１００８によりネットワーク４０を介した通信を制御する。入力部１０１は、入力デバイス１００６に対するユーザ操作により入力された情報を受け付ける。表示制御部１０２は、ディスプレイ１００４に表示させるための表示情報を生成する。例えば、表示制御部１０２は、上述した検索画面４００を表示させるための表示情報を生成する。表示制御部１０２は、各検索エージェント４１０ａおよび４１０ｂや、各検索エージェント４１０ａおよび４１０ｂの結果一覧表示部４４０ａおよび４４０ｂ、ならびに、提案タグ表示部４５０ａおよび４５０ｂを表示させるための表示情報を生成する。
【００７８】
デフォルトタグ記憶部１０３は、デフォルトタグ部４２２に表示させるための各タグ４３０20、４３０21、…のタグ情報を、シーン毎に管理し、例えば端末装置１０のストレージ１００５に記憶する。デフォルトタグ記憶部１０３は、各タグ情報を、例えばブラウザ１１のクッキー(HTTP  cookie)として記憶する。
【００７９】
検索制御部１０４は、各検索エージェント４１０ａおよび４１０ｂの動作を制御する。図１９は、実施形態に係る検索制御部１０４の機能を説明するための一例の機能ブロック図である。検索制御部１０４は、図１９に例示されるように、エージェント処理部１０４１と、連携処理部１０４２とを含む。
【００８０】
エージェント処理部１０４１は、後述する、検索エージェント４１０ａおよび４１０ｂにそれぞれ対応する各エージェントＩ／Ｆの記述に従い検索処理を実行する。例えば、エージェント処理部１０４１は、検索エージェント４１０ａに入力されたキーワードを、当該検索エージェント４１０ａに対応するエージェントＩ／Ｆの記述に従い解釈し、例えば検索エンジン３１に送信する。また、エージェント処理部１０４１は、検索エンジン３１から検索結果が返されると、対応するエージェントＩ／Ｆの記述に従い検索結果の概要の一覧を生成すると共に、検索結果を解析して提案タグのタグ情報を生成する。
【００８１】
エージェント処理部１０４１は、複数のエージェントＩ／Ｆに対する処理を並列的に実行することができる。例えば検索エージェント４１０ａは、１つのエージェントＩ／Ｆと、当該エージェントＩ／Ｆに対するエージェント処理部１０４１の処理とにより構成されると考えることができる。
【００８２】
連携処理部１０４２は、検索エージェント４１０ａおよび４１０ｂの連携に係る処理を行う。例えば、連携処理部１０４２は、エージェント表示部４０２に表示される検索エージェント４１０ａおよび４１０ｂの画像の位置関係に基づき、検索エージェント４１０ａおよび４１０ｂの何れが連携先であり、何れが連携元であるかを判定する。また、連携処理部１０４２は、連携元の例えば検索エージェント４１０ｂから、連携先の例えば検索エージェント４１０ａに対する提案タグのタグ情報の受け渡しを行う。
【００８３】
ユーザ認証部１０５は、ユーザの認証処理を行う。例えば、ユーザ認証部１０５は、図２で示したログイン画面３００を表示させ、入力領域３０１および３０２にそれぞれ入力されたユーザＩＤおよびパスワードを、ボタン３０３の操作に応じてサーバ２０に送信する。また、ユーザ認証部１０５は、送信したユーザＩＤおよびパスワードに応じてサーバ２０から送信された認証結果を受け付ける。
【００８４】
エージェント情報記憶部１０６は、実施形態に係る情報処理プログラムが終了される際に、検索画面４００の終了直前の状態を、端末装置１０のストレージ１００５に記憶する。エージェント情報記憶部１０６は、例えば、検索画面４００の終了直前における各検索エージェント４１０ａおよび４１０ｂについて、対応するエージェントＩ／Ｆを示す情報、表示位置、有効および無効を示す情報、結果一覧表示部４４０ａおよび４４０ｂ、ならびに、提案タグ表示部４５０ａおよび４５０ｂそれぞれの表示の有無およびその内容、キーワード表示部４０４の表示内容などを記憶する。
【００８５】
エージェント情報記憶部１０６は、検索画面４００の状態を、例えばブラウザ１１のクッキーとして記憶する。エージェント情報記憶部１０６は、次に情報処理プログラムが起動された際に、記憶した検索画面４００の状態を読み出して、情報処理プログラムの前回の終了時の直前の検索画面４００の状態を復元することができる。エージェント記憶部１０７は、登録済みの検索エージェント４１０ａおよび４１０ｂにそれぞれ対応するエージェントＩ／Ｆとエージェントのメタ情報とを、例えばストレージ１００５に記憶する。
【００８６】
上述した情報処理プログラムに含まれる通信部１００、入力部１０１、表示制御部１０２、デフォルトタグ記憶部１０３、検索制御部１０４、ユーザ認証部１０５、エージェント情報記憶部１０６およびエージェント記憶部１０７は、ＣＰＵ１０００上で動作する情報処理プログラムによって実現される。この情報処理プログラムは、例えば、端末装置１０がサーバ２０に接続することにより、サーバ２０により提供される。
【００８７】
端末装置１０において、ブラウザ１１を用いてサーバ２０にアクセスすることで、サーバ２０上に記憶された実施形態に係る情報処理プログラムがブラウザ１１に読み込まれ、ブラウザ１１に読み込まれた情報処理プログラムにより、端末装置１０上に、通信部１００、入力部１０１、表示制御部１０２、デフォルトタグ記憶部１０３、検索制御部１０４、ユーザ認証部１０５、エージェント情報記憶部１０６およびエージェント記憶部１０７が形成される。
【００８８】
情報処理プログラムは、例えば、上述した各部（通信部１００、入力部１０１、表示制御部１０２、デフォルトタグ記憶部１０３、検索制御部１０４、ユーザ認証部１０５、エージェント情報記憶部１０６およびエージェント記憶部１０７）を含むモジュール構成となっており、実際のハードウェアとしては、ＣＰＵ１０００が、例えばサーバ２０からダウンロードされＲＡＭ１００２に記憶された情報処理プログラムを読み出して実行することにより上記各部が主記憶装置（例えばＲＡＭ１００２）上の所定領域にロードされ、各部が主記憶装置上に生成されるようになっている。
【００８９】
これに限らず、情報処理プログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ(Compact  Disk)、ＤＶＤ(Digital  Versatile  Disk)などのコンピュータで読み取り可能な記録媒体に記録して提供してもよい。この場合、記録媒体に記録された情報処理プログラムは、例えば入出力Ｉ／Ｆ１００７に接続された外部のドライブ装置を介して端末装置１０に供給される。これに限らず、記録媒体に記録された情報処理プログラムを、他の情報処理装置上に一旦記憶させ、この他の情報処理装置から通信Ｉ／Ｆ１００８や入出力Ｉ／Ｆ１００７を介した通信により、端末装置１０に供給してもよい。
【００９０】
さらに、情報処理プログラムは、例えばストレージ１００５に予め記憶させて提供されてもよいし、ネットワーク４０に接続されたコンピュータ上に格納し、通信Ｉ／Ｆ１００８によりネットワーク４０経由でダウンロードさせることにより提供するように構成することができる。また、この情報処理プログラムを、ネットワーク４０経由で提供または配布するように構成してもよい。
【００９１】
図２０は、実施形態に係るサーバ２０の機能を説明するための一例の機能ブロック図である。サーバ２０は、通信部２００と、ユーザＤＢ２０１と、履歴ＤＢ２０２と、履歴解析部２０３と、エージェントＤＢ２０４と、プログラム記憶部２０５とを含む。
【００９２】
これら通信部２００、ユーザＤＢ２０１、履歴ＤＢ２０２、履歴解析部２０３、エージェントＤＢ２０４およびプログラム記憶部２０５は、ＣＰＵ２０００上で動作するプログラムにより実現される。これに限らず、これら通信部２００、ユーザＤＢ２０１、履歴ＤＢ２０２、履歴解析部２０３、エージェントＤＢ２０４およびプログラム記憶部２０５を、互いに協働して動作するハードウェア回路により構成してもよい。
【００９３】
通信部２００は、通信Ｉ／Ｆ２００５によりネットワーク４０を介した通信を制御する。ユーザＤＢ２０１は、実施形態に係る情報処理プログラムを利用するユーザのユーザ情報を管理する。ユーザＤＢ２０１は、ユーザ情報として、例えば、ユーザの名前と、ユーザを識別するためのユーザＩＤとを管理する。ユーザＤＢ２０１は、さらに、ユーザの属性情報を管理してもよい。ユーザの属性情報は、例えばユーザが所属する部署や、そのユーザの任意のプロファイルである。ユーザＤＢ２０１は、ユーザ情報を、例えばストレージ２００３に記憶する。
【００９４】
履歴ＤＢ２０２は、検索エージェント（エージェントＩ／Ｆ）の情報と、当該検索エージェントに基づき生成された提案タグとを関連付けたログ情報を、検索エージェントの利用履歴として管理する。履歴ＤＢ２０２は、ログ情報を、例えばストレージ２００３に記憶する。履歴解析部２０３は、履歴ＤＢ２０２に管理されるログ情報を解析して、例えばタグ情報に対応する検索エージェントの提案を行う。
【００９５】
エージェントＤＢ２０４は、検索エージェント（エージェントＩ／Ｆ）の管理を行う。エージェントＤＢ２０４は、エージェントＩ／Ｆを例えばストレージ２００３に記憶し、管理する。エージェントＤＢ２０４は、端末装置１０からの要求に応じて、記憶したエージェントＩ／Ｆを読み出して端末装置１０に送信する。また、エージェントＤＢ２０４は、外部からサーバ２０に供給されたエージェントＩ／Ｆの登録および管理も行う。
【００９６】
プログラム記憶部２０５は、実施形態に係る情報処理プログラムの記憶および読み出しを行う。プログラム記憶部２０５は、情報処理プログラムを、例えばストレージ２００３に記憶する。プログラム記憶部２０５は、端末装置１０からの要求に応じて、情報処理プログラムを読み出す。
【００９７】
サーバ２０による各機能を実現するためのプログラムは、インストール可能な形式また実行可能な形式のファイルでＣＤ、フレキシブルディスク、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録して提供される。これに限らず、プログラムを、インターネットなどのネットワーク４０に接続されたコンピュータ上に格納し、当該ネットワーク４０を介してダウンロードさせることにより提供してもよい。また、当該プログラムをインターネットなどのネットワーク４０を経由して提供または配布するように構成してもよい。
【００９８】
プログラムは、上述した各部（通信部２００、ユーザＤＢ２０１、履歴ＤＢ２０２、履歴解析部２０３、エージェントＤＢ２０４およびプログラム記憶部２０５）を含むモジュール構成となっている。実際のハードウェアとしては、ＣＰＵ２０００がストレージ２００３などの記憶媒体から当該プログラムを読み出して実行することにより、上述した各部がＲＡＭ２００２などの主記憶装置上にロードされ、通信部２００、ユーザＤＢ２０１、履歴ＤＢ２０２、履歴解析部２０３、エージェントＤＢ２０４およびプログラム記憶部２０５が主記憶装置上に生成されるようになっている。
【００９９】
（実施形態に適用可能なデータ構造）
次に、実施形態に適用可能な各データ構造の例について説明する。図２１は、実施形態に係るエージェントＩ／Ｆの構成を概略的に示す。エージェントＩ／Ｆは、メタ情報と、エージェントＩ／Ｆの本体である入力定義および出力定義とを含む。
【０１００】
メタ情報は、「ＩＤ」、「名称」、「サムネイル画像」、「連携エージェントＩＤ」、「センサ」、「トリガ」および「処理ＵＲＬ(Uniform  Resource  Locator)」の各項目を含む。
【０１０１】
項目「ＩＤ」は、エージェントＩ／Ｆを識別するための識別情報を含む。項目「名称」は、エージェントＩ／Ｆに付けられた名前を含む。項目「サムネイル画像」は、エージェントＩ／Ｆに関連付けられるサムネイル画像を含む。項目「連携エージェントＩＤ」は、当該エージェントＩ／Ｆと連携すべき他のエージェントＩ／ＦのＩＤである。なお、「名称」、「サムネイル画像」および「連携エージェントＩＤ」の各項目は、内容を省略することができる。
【０１０２】
項目「センサ」は、エージェントＩ／Ｆに入力されたキーワードを解釈するための規則であるセンサを含む（第１の条件）。センサは、例えば正規表現を用いて表現される。一例として、正規表現により表現されるセンサ"(0-9)｛9,｝"は、９桁以上の数字列を示す。この場合、エージェントＩ／Ｆは、入力されたキーワードのうち、９桁以上の数字列からなるキーワードを選択して検索を行う。
【０１０３】
項目「トリガ」は、当該エージェントＩ／Ｆを呼び出す際のトリガとなるキーワードを含む。トリガは、例えば正規表現を用いて記述される。一例として、正規表現により表現されるトリガ"在庫あり"は、例えば、デフォルトタグ部４２２にキーワード「在庫あり」が表示されており、このキーワード「在庫あり」のポイントＰの値が閾値以上になった場合に、このエージェントＩ／Ｆが呼び出される。
【０１０４】
項目「処理ＵＲＬ」は、このエージェントＩ／Ｆが検索対象とするＵＲＬを含む。例えば、処理ＵＲＬは、このエージェントＩ／Ｆがある検索エンジン３１を検索対象としている場合、当該検索エンジン３１において検索の窓口となるＵＲＬが記述される。
【０１０５】
エージェントＩ／Ｆ本体において、入力定義は、項目「タグ情報」を含む。項目「タグ情報」は、検索キーワード入力欄４２０に表示される各タグ４３０10、４３０11、…の各タグ情報が反映される。すなわち、入力定義は、複数のキーワードおよび付加情報を定義することができる。
【０１０６】
エージェントＩ／Ｆ本体において、出力定義は、「結果リスト」、「結果詳細」および「提案タグ」の各項目を含む。項目「結果リスト」は、検索エージェント４１０ｂを例にとって、結果一覧表示部４４０ｂに検索結果を表示させるための情報配列の項目を含む。項目「結果詳細」は、ホバー表示４４２により表示させるための情報を定義する。項目「提案タグ」は、検索エージェント４１０ｂを例にとって、提案タグ表示部４５０ｂに表示させるための提案タグを検索結果から生成するための規則を含む（第２の条件）。提案タグは、他のエージェントとの連携を可能とするものであって、複数を定義することができる。
【０１０７】
図２２は、実施形態に係るエージェントＩ／Ｆに含まれる各データの具体例を示す。図２２の各項目は、上述した図２１の各項目にそれぞれ対応している。
【０１０８】
例（１）は、インターネットを介して商品の注文を受け付けるネットショップの在庫確認に対応したエージェントＩ／Ｆのデータの例を示す。項目「ＩＤ」、「名称」、「サムネイル画像」、「連携エージェントＩＤ」および「処理ＵＲＬ」は、それぞれ適当な値が設定される。また、項目「タグ情報」は、例えばキーワード表示部４０４に対するユーザ操作に応じて１以上のタグが設定される。これらの項目は、後述する他の例でも同様である。
【０１０９】
項目「センサ」は、この例では、値が正規表現において任意の文字列を示す値「".*"」が設定されている。これは、入力されたキーワードをそのまま検索対象に渡すことを意味する。項目「トリガ」は、正規表現により値「"在庫.*"」が設定されている。この場合、冒頭に文字列「在庫」を含む文字列（「在庫あり」、「在庫アリ」、「在庫なし」…など）によるキーワードをタグ情報に含むタグのポイントＰが閾値以上になった場合に、このエージェントＩ／Ｆが呼び出されることを示す。
【０１１０】
項目「結果リスト」は、値「品名」、「商品画像」および「販売価格」が設定され、検索結果からこれら値「品名」、「商品画像」および「販売価格」に対応する部分を抽出して、例えば結果一覧表示部４４０ｂ（検索エージェント４１０ｂの場合）の各項目として表示されることが示される。項目「結果詳細」は、値「商品の詳細説明」とされ、検索結果から商品の詳細説明部分を抽出して表示させることが示される。また、項目「提案タグ」は、値「販売業者名」が設定され、検索結果から販売業者名を示す部分を抽出して提案タグとして表示されることが示される。
【０１１１】
例（２）は、ネットワークを介して会議を行う会議システムの情報管理に対応したエージェントＩ／Ｆのデータの例を示す。項目「センサ」は、上述の例（１）と同様に値「".*"」が設定され、入力されたキーワードをそのまま検索対象に渡すことが示される。項目「トリガ」は、値が設定されておらず、ポイントＰの判定結果に応じたこのエージェントＩ／Ｆの呼び出しが行われないことを示す。
【０１１２】
項目「結果リスト」は、値「名前」、「ＩＤ」および「建物名」が設定され、会議の名前、ＩＤおよび会議が開催される建物の名前が例えば結果一覧表示部４４０ｂ（検索エージェント４１０ｂの場合）の各項目として表示されることが示される。項目「結果詳細」は、値「機材の詳細説明」とされ、検索結果から会議システムにおいて使用する機材の詳細説明部分を抽出して表示させることが示される。また、項目「提案タグ」は、値「建物名」が設定され、検索結果から建物名を示す部分を抽出して提案タグとして表示されることが示される。
【０１１３】
例（３）は、例えば個人のスケジュール管理に対応したエージェントＩ／Ｆのデータの例を示す。項目「センサ」は、正規表現により値「"\d｛1,2｝[/\.月]\d｛1,2｝日?"」が設定され、日付を表す値がキーワードとして入力された場合に、そのキーワードを検索対象に渡すことを意味する。項目「トリガ」は、値が設定されておらず、ポイントＰの判定結果に応じたこのエージェントＩ／Ｆの呼び出しが行われないことを示す。
【０１１４】
項目「結果リスト」は、値「日付」、「予定名」および「場所」が設定され、日付、予定名および予定が実行される場所の名前が例えば結果一覧表示部４４０ｂ（検索エージェント４１０ｂの場合）の各項目として表示されることが示される。項目「結果詳細」は、値「予定の詳細」とされ、検索結果から予定の詳細が記述された部分を抽出して表示させることが示される。また、項目「提案タグ」は、値「会議名」が設定され、検索結果から会議名を示す部分を抽出して提案タグとして表示されることが示される。
【０１１５】
図２３および図２４を用いて、実施形態に係るエージェントＩ／Ｆのより具体的な例について説明する。なお、図２３および図２４において、特に記載の無い限り、各行の先頭の数字は説明のための行番号を示し、続くコロン（：）でデータ本体を示すコードと区別されている。また、図２３および図２４に例示されるコードは、データ記述言語として一般的に用いられるＪＳＯＮ（JavaScript（登録商標）  Object  Notation）の記法を模した疑似コードである。
【０１１６】
図２３は、実施形態に係るエージェントＩ／Ｆにおけるメタ情報の例を示す。図２３において、第１行目（"id"）および第２行目（"name"）は、それぞれ図２１の項目「ＩＤ」および「名称」に対応する。第３行目の（"status"）は、このメタ情報に対応するエージェントＩ／Ｆが有効および無効の何れに設定されているかを示す。第４行目（"sensor"）および第５行目（"trigger"）は、それぞれ図２１の項目「センサ」および「トリガ」に対応する。第６行目（"colname1"）〜第８行目（"colname3"）は、図２１の項目「結果リスト」の各項目に対応する。第９行目（confs）は、図２１の項目「結果詳細」に対応し、項目「結果詳細」において表示される情報の形式を規定する。第１０行目（"nextAgents"）は、図２１の項目「連携エージェントＩＤ」に対応し、第１１行目（"connectFrom"）は、図２１の項目「処理ＵＲＬ」に対応する。
【０１１７】
図２４は、実施形態に係るエージェントＩ／Ｆの本体の例を示す。図２４において、第１行目および第２行目は、図２１の項目「タグ情報」に対応し、検索対象において検索を行う際の条件が定義される。この条件には、検索のキーワードが含まれる。第５行目および第６行目は、図２１の項目「提案タグ」に対応し、提案タグに関する定義がなされる。例えば、検索結果のどの列の情報を、どのように用いるのか（第２の条件）が、第５行目および第６行目に定義される。
【０１１８】
第８行目〜第１２行目は、検索結果の表示方法が定義される。このうち、第９行目〜第１１行目は、図２１の項目「結果リスト」に対応し、結果一覧表示部４４０ｂに検索結果を表示させるための情報配列の各項目の表示形式が定義される。また、第１２行目は、図２１の項目「結果詳細」に対応し、ホバー表示４４２により表示させるための情報の表示形式が定義される。
【０１１９】
図２５は、実施形態に係るタグ情報の例を示す。タグ情報は、図２５に例示されるように、タグＩＤと、キーワード文字列と、ポイントＰと、エージェント情報と、ユーザ情報とを含む。なお、タグ情報の構成は、キーワード表示部４０４に表示される各タグ（タグ４３０10、４３０11、…、および、４３０20、４３０21、…）と、提案タグ表示部４５０ｂ（検索エージェント４１０ｂの場合）に表示される各提案タグ（提案タグ４５１ｂ1、４５１ｂ2、…）とで共通とすることができる。
【０１２０】
図２５において、タグＩＤは、タグを識別する識別情報である。キーワード文字列は、このタグによる検索の際のキーワードとして用いる文字列である。このキーワード文字列がタグに表示される。ポイントＰは、タグに対する評価を示す値であって、上述したように、タグに対する操作に応じて加点および減点される。
【０１２１】
エージェント情報は、このタグを生成したエージェントＩ／Ｆを示す情報である。例えば、このタグが提案タグまたは提案タグに由来するタグである場合、エージェント情報は、提案タグを生成したエージェントＩ／ＦのＩＤとなる。さらに、このタグが検索エージェントの連携により生成された提案タグまたは提案タグに由来するタグである場合、エージェント情報は、連携に係る複数のエージェントＩ／ＦのＩＤを含む。
【０１２２】
ユーザ情報は、このタグに対して、ポイントＰを増加される操作を行ったユーザの情報である。ユーザ情報は、例えばログイン時に入力されたユーザＩＤ（図２参照）を用いることができる。また、このユーザＩＤが示すユーザの属性情報を、サーバ２０のユーザＤＢ２０１から検索してユーザ情報に含めてもよい。ユーザの属性情報としては、ユーザの個人プロファイルや、ユーザが所属する部署や組織の情報を用いることが考えられる。
【０１２３】
（実施形態に係る処理の詳細）
次に、図２６〜図３２を用いて、実施形態に係る処理の詳細について説明する。図２６は、実施形態に係る端末装置１０、より詳細には、検索制御部１０４の処理を示す一例のフローチャートである。ステップＳ１００で、検索制御部１０４は、ログイン画面３００（図２参照）によりユーザがログインしたか否かを判定する。検索制御部１０４は、ログインしていないと判定した場合（ステップＳ１００、「無し」）、処理をステップＳ１００に戻す。一方、検索制御部１０４は、ログインしたと判定した場合（ステップＳ１００、「有り」）、処理をステップＳ１０１に移行させる。
【０１２４】
ステップＳ１０１で、検索制御部１０４は、エージェント情報記憶部１０６が記憶した情報に基づき検索画面４００の前回の状態を復元する。ここでは、図３に示したように、エージェント表示部４０２に検索エージェント４１０ａおよび４１０ｂが表示され、検索キーワード入力欄４２０には何も入力されていない状態が復元されたものとする。
【０１２５】
次のステップＳ１０２で、検索制御部１０４は、暗黙情報を取得する。暗黙情報は、ユーザにより明示的に入力されない情報である。暗黙情報は、例えば、ステップＳ１００においてログインを行ったユーザに関する情報であって、ユーザＩＤやユーザが所属する部署などの情報、さらに、ユーザの個人プロファイルを適用することができる。検索制御部１０４は、例えばサーバ２０に対して、ログイン時に入力されたユーザＩＤに基づきユーザに関する情報を要求し、この要求に応じてサーバ２０から返された情報を、暗黙情報として記憶する。
【０１２６】
次のステップＳ１０３で、検索制御部１０４は、ユーザ操作に応じたタグ情報（キーワード）の入力の有無を判定する。検索制御部１０４は、入力が無いと判定した場合（ステップＳ１０３、「無し」）、処理をステップＳ１０３に戻す。一方、検索制御部１０４は、タグ情報の入力があったと判定した場合（ステップＳ１０３、「有り」）、処理をステップＳ１０４に移行させる。
【０１２７】
ステップＳ１０４で、検索制御部１０４は、入力されたタグ情報を、稼働中の検索エージェントに渡す。例えば、検索制御部１０４は、入力されたタグ情報を、稼働中の検索エージェントのエージェントＩ／Ｆに入力する。検索制御部１０４は、複数の検索エージェントが稼働中の場合には、これら複数の検索エージェントそれぞれにタグの入力を行う。
【０１２８】
次のステップＳ１０５で、検索制御部１０４は、各検索エージェントでの処理を行う。そして、処理がステップＳ１０３に戻され、次のタグ情報の入力が待機される。
【０１２９】
図２７は、実施形態に係る、検索エージェントが連携している場合の検索処理を示す一例のフローチャートである。図２７のフローチャートによる処理に先立って、図８および図９を用いて説明したようにして、連携元の検索エージェントと、連携先の検索エージェントとが設定される。その後、検索キーワード入力欄４２０にタグが入力され、入力されたタグのタグ情報が、連携元の検索エージェントに渡される。
【０１３０】
ステップＳ１１０で、検索制御部１０４は、連携元の検索エージェントによる検索結果を待機する。検索制御部１０４は、連携元の検索エージェントからの検索結果が無いと判定した場合（ステップＳ１１０、「無し」）、処理をステップＳ１１０に戻す。一方、検索制御部１０４は、連携元の検索エージェントからの検索結果があったと判定した場合（ステップＳ１１０、「有り」）、処理をステップＳ１１１に移行する。
【０１３１】
ステップＳ１１１で、検索制御部１０４は、連携元の検索エージェントから、検索結果に基づき結果リストと提案タグのタグ情報とを取得する。次のステップＳ１１２で、検索制御部１０４は、取得した結果リストおよび提案タグのタグ情報を表示制御部１０２により表示させる。
【０１３２】
次のステップＳ１１３で、検索制御部１０４は、連携元の検索エージェントに連携する他の検索エージェントすなわち連携先の検索エージェントが有るか否かを判定する。無いと判定した場合（ステップＳ１１３、「無し」）、検索制御部１０４は、図２７のフローチャートによる一連の処理を終了させる。
【０１３３】
一方、検索制御部１０４は、連携する検索エージェントが有ると判定した場合（ステップＳ１１３、「有り」）、処理をステップＳ１１４に移行させる。ステップＳ１１４で、検索制御部１０４は、ステップＳ１１１で連携元の検索エージェントから取得した提案タグのタグ情報を、連携先の検索エージェントに渡す。より具体的には、提案タグのタグ情報を、連携先の検索エージェントのエージェントＩ／Ｆに入力する。そして、検索制御部１０４は、図２７のフローチャートによる一連の処理を終了させる。
【０１３４】
図２８は、実施形態に係る検索エージェントの処理を示す一例のフローチャートである。なお、検索エージェントの処理は、例えば、エージェントＩ／Ｆに従い検索制御部１０４により実行される処理である。ステップＳ１２０で、検索エージェントは、エージェントＩ／Ｆに対するタグ情報の入力の有無を判定する。タグ情報の入力がなかったと判定した場合（ステップＳ１２０、「無し」）、検索エージェントは、処理をステップＳ１２０に戻す。一方、検索エージェントは、タグ情報の入力があったと判定した場合（ステップＳ１２０、「有り」）、処理をステップＳ１２１に移行させる。
【０１３５】
ステップＳ１２１で、検索エージェントは、入力されたタグ情報をセンサに従い解釈する。センサに従った解釈は、例えば、検索エージェントは、入力されたタグ情報を、エージェントＩ／Ｆのメタ情報に含まれる項目「センサ」の値に従いフィルタリングすることで行う。次のステップＳ１２２で、検索エージェントは、ステップＳ１２１で解釈された結果のタグ情報を、検索のキーワードとして、当該エージェントＩ／Ｆのメタ情報に含まれる項目「処理ＵＲＬ」に指定されるＵＲＬに送信する。このとき、検索エージェントは、エージェントＩ／Ｆ本体に記述される、検索を行う際の条件を示す情報（図２４、１行目および２行目参照）も、当該ＵＲＬに送信される。
【０１３６】
次のステップＳ１２３で、検索エージェントは、ステップＳ１２２で送信したキーワードに対する検索結果を受信したか否かを判定する。受信していないと判定した場合（ステップＳ１２３、「無し」）、検索エージェントは、処理をステップＳ１２３に戻す。一方、検索エージェントは、検索結果を受信したと判定した場合（ステップＳ１２３、「有り」）、処理をステップＳ１２４に移行させる。
【０１３７】
ステップＳ１２４で、検索エージェントは、ステップＳ１２３で受信した検索結果に基づき結果リストおよび結果詳細を出力する。このとき、検索エージェントは、エージェントＩ／Ｆに記述される表示形式（図２４、８行目〜１２行目参照）に従い検索結果を整形して、結果リストおよび結果詳細として出力する。
【０１３８】
次のステップＳ１２５で、検索エージェントは、ステップＳ１２３で受信した検索結果に基づき提案タグのタグ情報を生成する。例えば、検索エージェントは、エージェントＩ／Ｆに記述される第２の条件（図２４、５行目および６行目参照）に従って、検索結果に基づいた提案タグのタグ情報を生成する。検索エージェントは、提案タグのタグ情報を生成すると、次のステップＳ１２６で、生成した提案タグのタグ情報を出力する。出力された提案タグのタグ情報は、例えば、上述した図２７のステップＳ１１１により、検索制御部１０４に取得される。
【０１３９】
検索エージェントは、ステップＳ１２６で提案タグのタグ情報を出力すると、処理をステップＳ１２０に戻し、次のタグ情報の入力を待機する。
【０１４０】
なお、提案タグのタグ情報を生成するための第２の条件は、検索エージェントの用途や特性（例えば第１の条件）に応じて様々に考えられる。例えば、検索結果に含まれる特徴語を抽出して提案タグのタグ情報として用いることができる。特徴語は、検索制御部１０４やサーバ２０が予め辞書として持っていてもよいし、所定のアルゴリズムを用いて検索結果から抽出してもよい。
【０１４１】
また、提案タグのタグ情報として、検索結果からネガティブ語やポジティブ語を抽出して用いてもよい。これらネガティブ語やポジティブ語は、検索制御部１０４やサーバ２０に予め辞書として持たせておく。ネガティブ語やポジティブ語を提案タグとして用いることで、ユーザは、所期のキーワードに対して否定的な検索結果と肯定的な検索結果とのうち所望の検索結果を容易に得ることができる。
【０１４２】
さらに、提案タグのタグ情報として、検索エージェントの用途に応じて予め設定した分類名を用いることもできる。さらにまた、互いに類似する語を論理和により結合して提案タグのタグ情報として用いることもできる。
【０１４３】
図２９は、実施形態に係るタグの評価の処理を示す一例のフローチャートである。ステップＳ１３０で、検索制御部１０４は、何れかの提案タグが指定されたか否かを判定する。
【０１４４】
ここでいう指定は、例えばカーソル表示を提案タグの表示の上に移動させる動作をいう。例えば、図３０（ａ）の例では、検索エージェント４１０ａに対応する提案タグ表示部４５０ａに表示される各提案タグ４５１ａ1、４５１ａ2、…のうち、カーソル表示４６０が重ねられた提案タグ４５１ａ2が指定されていることが示されている。また、この例では、指定された提案タグ４５１ａ2が強調表示されている。
【０１４５】
提案タグが指定されていないと判定した場合（ステップＳ１３０、「Ｎｏ」）、検索制御部１０４は、処理をステップＳ１３０に戻す。一方、検索制御部１０４は、提案タグが指定されたと判定した場合（ステップＳ１３０、「Ｙｅｓ」）、処理をステップＳ１３１に移行させる。ステップＳ１３１で、検索制御部１０４は、ステップＳ１３０で指定された提案タグのタグ情報を表示させる。図３０（ｂ）は、指定された提案タグ４５１ａ2のタグ情報が、提案タグ４５１ａ2の近傍にホバー表示４９０として表示された様子を示す。
【０１４６】
次に、検索制御部１０４は、ステップＳ１３０で指定されたと判定した提案タグに対する操作の判定を行う。検索制御部１０４は、指定された提案タグに対して操作されていないと判定した場合（ステップＳ１３２、「無し」）、処理をステップＳ１３０に戻す。
【０１４７】
一方、検索制御部１０４は、指定された提案タグに対してポイントＰを加点する操作が行われたと判定した場合（ステップＳ１３２、「加点操作」）、処理をステップＳ１３３に移行させる。ステップＳ１３３で、検索制御部１０４は、操作された提案タグのタグ情報を検索キーワード入力欄４２０に入力させる。そして、次のステップＳ１３４で、検索制御部１０４は、操作に応じて当該提案タグのポイントＰに加点する。
【０１４８】
また、検索制御部１０４は、指定された提案タグに対してポイントＰを減点する操作が行われたと判定した場合（ステップＳ１３２、「減点操作」）、処理をステップＳ１３５に移行させる。ステップＳ１３５で、検索制御部１０４は、操作に応じて当該提案タグのポイントＰを減点する。
【０１４９】
ステップＳ１３４またはステップＳ１３５の処理が完了すると、検索制御部１０４は、処理をステップＳ１３６に移行させる。ステップＳ１３６で、検索制御部１０４は、操作された提案タグのポイントＰに対する判定を行う。
【０１５０】
検索制御部１０４は、ポイントＰの値が予め定められた閾値以上であると判定すると（ステップＳ１３６、「Ｐ≧閾値」）、処理をステップＳ１３７に移行させる。ステップＳ１３７で、検索制御部１０４は、図１２（ａ）および図１２（ｂ）を用いた説明と同様にして、操作された提案タグのタグ情報に含まれるキーワードに対応する他の検索エージェントを取得する。そして、検索制御部１０４は、図１２（ｂ）を用いて説明したように、取得した他の検索エージェントの登録を促す画像４７０を表示させ、この図２９のフローチャートによる一連の処理を終了させる。
【０１５１】
一方、検索制御部１０４は、ステップＳ１３６で、ポイントＰの値が０以下であると判定した場合（ステップＳ１３６、「Ｐ≦０」）、処理をステップＳ１３８に移行させる。ステップＳ１３８で、検索制御部１０４は、操作された提案タグを削除し、この図２９のフローチャートによる一連の処理を終了させる。
【０１５２】
なお、検索制御部１０４は、ステップＳ１３６で、ポイントＰの値が上述の何れでもない場合、すなわち、「０＜Ｐ＜閾値」であると判定した場合（ステップＳ１３６、「０＜Ｐ＜閾値」）、この図２９のフローチャートによる一連の処理を終了させる。
【０１５３】
（タグ情報の履歴管理）
次に、実施形態に係る、タグ情報の履歴管理について説明する。実施形態では、例えば図８〜図１０を用いて説明した、検索エージェントの連携処理における提案タグのタグ情報の生成の履歴を、履歴ＤＢ２０２により管理することができる。
【０１５４】
一例として、図１０を参照し、連携先の検索エージェント４１０ａにより生成された提案タグに対して、ポイントＰを加点する操作が行われた場合について考える。この場合、履歴ＤＢ２０２は、当該提案タグのタグ情報に対して、当該提案タグの生成に係る連携先の検索エージェント４１０ａと、連携元の検索エージェント４１０ｂと、ポイントＰの値とを関連付けて、提案タグの検索エージェント４１０ａおよび４１０ｂの組み合わせに対する利用履歴として管理する。例えば、検索制御部１０４は、この履歴ＤＢ２０２に管理される利用履歴に基づき、稼働中の検索エージェントに対する別の検索エージェントの追加を、ユーザに促すことができる。
【０１５５】
図３１は、実施形態に係る履歴ＤＢ２０２が管理する利用履歴の一例を示す。利用履歴は、「タグＩＤ」、「エージェント」および「ポイントＰ」の各項目を含む。項目「タグＩＤ」は、連携処理において生成された提案タグのＩＤである。項目「エージェント」は、タグＩＤが示す提案タグの生成に係る連携先および連携元の各検索エージェントのＩＤである。項目「ポイントＰ」は、項目「エージェント」に示される連携先および連携元の検索エージェントの組み合わせに対する、提案タグのポイントＰである。
【０１５６】
図３２は、実施形態に係る、利用履歴を用いた検索制御部１０４の処理を示す一例のフローチャートである。この図３２のフローチャートは、上述した図２６のフローチャートに対応するもので、図３２において、図２６のフローチャートと共通する処理には同一の符号を付して、詳細な説明を省略する。
【０１５７】
ステップＳ１００〜ステップＳ１０３の処理は、図２６のフローチャートを用いて説明した処理と同様である。すなわち、ステップＳ１００で、検索制御部１０４は、ログイン画面３００（図２参照）によりユーザがログインしたか否かを判定し、ログインしたと判定した場合、処理をステップＳ１０１に移行させる。ステップＳ１０１で、検索制御部１０４は、検索画面４００の前回の状態を復元し、次のステップＳ１０２で、検索制御部１０４は、暗黙情報を取得する。
【０１５８】
次のステップＳ１０３で、検索制御部１０４は、ユーザ操作に応じたタグ情報の入力の有無を判定する。検索制御部１０４は、タグ情報の入力があったと判定した場合、処理をステップＳ１５０に移行させる。
【０１５９】
ステップＳ１５０で、検索制御部１０４は、履歴ＤＢ２０２により、ステップＳ１０３で入力されたタグ情報と、当該タグ情報が入力された検索エージェントを示す情報とに基づき利用履歴の検索を行う。次のステップＳ１５１で、検索制御部１０４は、ステップＳ１５０の利用履歴の検索により取得された検索エージェントの各組み合わせに、ポイントＰの値が閾値以上である組み合わせが有るか否かを判定する。検索制御部１０４は、無いと判定した場合（ステップＳ１５１、「無し」）、処理をステップＳ１０４に移行させる。
【０１６０】
一方、検索制御部１０４は、ステップＳ１５１で、ポイントＰの値が閾値以上である組み合わせが有ると判定した場合（ステップＳ１５１、「有り」）、処理をステップＳ１５２に移行させる。ステップＳ１５２で、検索制御部１０４は、ステップＳ１５１でポイントＰの値が閾値以上であると判定された組み合わせの検索エージェントを例えばサーバ２０のエージェントＤＢ２０４から取得し、図１２（ｂ）を用いて説明したように、取得した検索エージェントの追加起動を促す画像４７０を表示させる。そして、処理がステップＳ１０４に移行される。
【０１６１】
一例として、図３１を参照し、タグ「α」のタグ情報が検索エージェント「Ａ」に入力された場合、タグ「α」に対応し、且つ、検索エージェント「Ａ」を含む検索エージェントの組み合わせ「Ａ＋Ｂ」および「Ａ＋Ｃ」が検索結果として取得されたものとする（ステップＳ１５０）。例えば閾値が「４」であり、取得された組み合わせ「Ａ＋Ｂ」および「Ａ＋Ｃ」のポイントＰの値がそれぞれ「５」および「２」である場合、組み合わせ「Ａ＋Ｂ」が、ポイントＰの値が閾値以上の組み合わせであると判定される。ステップＳ１０３でタグ「α」のタグ情報が入力された検索エージェントが検索エージェント「Ａ」であるので、検索エージェント「Ｂ」がサーバ２０のエージェントＤＢ２０４から取得され、登録が促される（ステップＳ１５２）。
【０１６２】
ステップＳ１０４で、検索制御部１０４は、入力されたタグ情報を、稼働中の検索エージェントに渡す。検索制御部１０４は、ステップＳ１５２で追加起動を促された検索エージェントが起動されている場合には、その検索エージェントにもタグ情報を渡す。次のステップＳ１０５で、検索制御部１０４は、各検索エージェントでの処理を行う。そして、処理がステップＳ１０３に戻され、次のタグ情報の入力が待機される。
【０１６３】
このように、タグに対する検索エージェントの組み合わせの履歴を用いて他の検索エージェントを起動させることで、ユーザは、自身が意識していない方面からの検索を、容易に実行することが可能となる。
【０１６４】
（実施形態に適用可能なタグ情報の入力方法の他の例）
なお、上述した、図２６のフローチャートにおけるステップＳ１０３では、タグ情報の入力を、実施形態に係る情報処理プログラムに従ったユーザ操作に応じて行うように説明したが、これはこの例に限定されない。タグ情報は、他の方法を用いて入力することもできる。
【０１６５】
タグ情報の他の入力方法の第１の例として、実施形態に係る情報処理プログラムを、当該情報処理プログラムが実行される端末装置１０上で動作する、他のアプリケーションプログラムと連携させ、この他のアプリケーションプログラムから取得した情報を、タグ情報として入力させる方法が考えられる。例えば、当該情報処理プログラムは、他のアプリケーションプログラムが管理する情報をストレージ１００５やＲＡＭ１００２から取得し、取得した情報に含まれるキーワードをタグ情報として入力することが考えられる。
【０１６６】
以下、アプリケーションプログラムを適宜、アプリと略称する。
【０１６７】
より具体的な例として、連携先がスケジュール管理を行うためのスケジュール管理アプリである場合について考える。この場合、実施形態に係る情報処理プログラムは、スケジュール管理アプリが管理する、ユーザのスケジュール情報（イベントの情報、予約の情報など）を取得する。当該情報処理プログラムは、スケジュール管理アプリから取得したスケジュール情報に含まれるキーワードをタグ情報として入力する。キーワードは、例えばイベントや予約の件名、日時、場所名などを用いることが考えられる。
【０１６８】
実施形態に係る情報処理プログラムと連携させる他のアプリケーションプログラムは、ユーザが端末装置１０を操作することで設定するようにできる。これに限らず、実施形態に係る情報処理プログラムに、予め連携先の他のアプリケーションプログラムを設定しておいてもよい。
【０１６９】
実施形態に係る情報処理プログラムに連携させる他のアプリとしては、上述のスケジュール管理アプリに限らず、メール管理アプリ、情報検索アプリ、地図アプリ、画像管理アプリ、通話アプリ、チャットアプリ、カメラアプリ、健康管理アプリ、予約アプリ、通販アプリなど様々な種類のアプリが考えられる。勿論、当該情報処理プログラムに連携させる連携先のアプリは、ここに列挙した以外の種類のアプリであってもよい。
【０１７０】
また、実施形態に係る情報処理プログラムが、連携する他のアプリから取得する情報は、当該他のアプリの種類や、当該他のアプリの機能に応じて様々に考えられる。例えば、当該情報処理プログラムが連携する他のアプリから取得する情報としては、上述したスケジュール情報の他に、検索履歴情報、メール情報、画像情報、ユーザの個人情報、荷物の追跡情報、通話またはチャット履歴情報、端末装置１０の位置情報などが考えられる。勿論、当該情報処理プログラムが連携する他のアプリから取得する情報は、ここに列挙した以外の種類の情報であってもよい。
【０１７１】
なお、上述では、実施形態に係る情報処理プログラムと他アプリとの連携を前提に説明したが、これはこの例に限定されない。すなわち、当該情報処理プログラムは、他アプリとの連携に限られず、例えばストレージ１００５やＲＡＭ１００２に記憶されている情報に含まれるキーワードを、タグ情報として入力することもできる。
【０１７２】
タグ情報の他の入力方法の第２の例として、ネットワークを介してサーバから取得した情報をタグ情報として入力する方法が考えられる。なお、ネットワークは、上述したネットワーク４０でもよいし、インターネットであってもよい。また、サーバは、上述したサーバ２０でもよいし、ネットワークがインターネットの場合にはＷｅｂサーバであってもよい。
【０１７３】
この第２の例では、実施形態に係る情報処理プログラムにおいて、予め、所定のサーバのアドレス情報を、タグ情報の取得先として関連付けて記憶しておく。こうすることで、当該情報処理プログラムは、タグ情報の入力の際に、このアドレス情報に基づいてサーバへアクセスし、キーワードを含む情報を取得することができる。キーワードを含む情報の種類などは、上述の第１の例で説明した各情報と同様である。
【０１７４】
タグ情報の入力を行う方法のさらに他の例として、タグ情報の入力を、音声入力により行うことも可能である。例えば、端末装置１０に対して、音声を集音してアナログ方式の音声信号として出力するマイクロフォンを接続する。また、端末装置１０の構成に、マイクロフォンから出力されたアナログ方式の音声信号をディジタル方式の音声データに変換する音声Ｉ／Ｆを追加する。
【０１７５】
例えばＣＰＵ１０００は、ユーザによりマイクロフォンに入力された音声に基づく音声データに対して、既知の音声認識技術を用いて音声認識処理を実行する。検索制御部１０４は、この音声認識処理により特定されたキーワードを、タグ情報として入力する。
【０１７６】
また、上述のステップＳ１００では、ユーザによるログインを判定し、ログインしたと判定された場合に、ステップＳ１０１以降の処理を実行しているが、これはこの例に限定されない。例えば、ユーザによる明示的なログインを判定せずに、実施形態に係る情報処理プログラムが起動されたことに応じて、ステップＳ１０１以降の処理が開始されるようにしてもよい。
【０１７７】
より具体的な例として、上述したように、実施形態に係る情報処理プログラムが予めストレージ１００５に記憶され、ＣＰＵ１０００がストレージ１００５からこの情報処理プログラムを読み出して当該情報処理プログラムを起動させる場合が該当する。このような例の１つとして、当該情報処理プログラムが、例えばスマートフォンやタブレット型コンピュータにインストールされている１つのアプリの場合が考えられ、この場合であっても、上述と同様にして、ステップＳ１０１以降の処理を実行することが可能である。
【０１７８】
さらに、上述したように、端末装置１０は、入力部１０１がタッチパネルにより構成されていてもよい。例えば、スマートフォンなどの画面（タッチパネル）上で、所定のアイコンをタップすることで、実施形態に係る情報処理プログラムが起動される。
【０１７９】
情報処理プログラムは、起動されると、上述したように、当該スマートフォンにインストールされる、連携が設定された他のアプリから自動でタグ情報が入力されてもよい。また、当該情報処理プログラムは、起動されるとネットワークを介した通信を行い、ネットワーク上のサーバから自動でタグ情報が入力されてもよい。勿論、当該情報処理プログラムは、ユーザ操作による明示的なタグ情報の入力を待機してもよい。
【０１８０】
（実施形態の第１の変形例）
次に、実施形態の第１の変形例について説明する。上述した実施形態では、検索エージェントの検索結果を、例えば図４の結果一覧表示部４４０ｂのように、２次元的に表示していた。この実施形態の第１の変形例では、検索結果の一覧を、各検索結果に仮想的な奥行き情報を持たせて３次元的に表示させる。
【０１８１】
より具体的には、例えば結果一覧表示部４４０ｂに表示される各検索結果の概要に対して、画面の平面上の座標値である値ｘおよび値ｙと、画面の仮想的な奥行き方向の座標値である値ｚとを与え、各検索結果の概要を、座標（ｘ，ｙ，ｘ）に示される位置に表示させる。各検索結果の概要は、例えば検索結果に対応するサムネイル画像といった画像情報を用いて、検索結果画像として表示させると好ましい。
【０１８２】
ここで、値ｚは、奥行き方向の位置を仮想的に示すものであって、実際の表示としては、例えば、値ｚがより深い奥行きを示す場合、その検索結果の概要の表示サイズを、値ｚに応じて縮小させて表示させることが考えられる。以下では、値ｚが大きな値となるに連れ、より深い奥行きを表すものとする。
【０１８３】
検索結果の概要を３次元的に表示させる表示方法は、幾つかが考えられる。図３３〜図３６を用いて、実施形態の第１の変形例に係る表示方法の例について説明する。
【０１８４】
図３３は、実施形態の第１の変形例に係る、各検索結果の概要をテーブルとして表示させる第１の例を示す。検索結果表示領域５１０ａは、検索画面４００内に設けてもよいし、検索画面４００とは異なる表示としてもよい。図３３の例では、各検索結果の概要による検索結果画像５００が検索結果表示領域５１０ａ内にマトリクス状に配置されて表示される。この場合、各検索結果画像５００は、奥行き方向の値ｚを省略できる。
【０１８５】
図３４は、各検索結果の概要をテーブルとして表示させる第２の例を示す。この第２の例では、検索結果表示領域５１０ｂにおいて、各検索結果画像５０１ａが、値ｚを最も小さい値ｚとされて最も手前側に表示され、各検索結果画像５０１ｃが、値ｚを最も大きい値ｚとされて最も深い奥行きに表示されている。また、各検索結果画像５０１ｂは、値ｚが最大の値ｚと最小の値ｚとの中間の値とされて、各検索結果画像５０１ａと各検索結果画像５０１ｃとの中間の奥行き位置に表示されている。
【０１８６】
この例の場合、より上位の（より多くヒットした）検索結果の概要による検索結果画像に小さな値ｚを与え、より下位の検索結果の概要による検索結果画像に大きな値ｚを与えることが考えられる。こうすることで、ユーザは、より上位の検索結果を容易に参照できる。また、より下位の検索結果についても、容易に認識でき、参照も容易である。
【０１８７】
図３５は、実施形態の第１の変形例に係る、各検索結果の概要を仮想的な球面上に配置して表示させる例を示す。この例でも、図３４と同様に、検索結果表示領域５１０ｃにおいて、より上位の各検索結果画像５０２ａが値ｚを小さくされて、より手前側（球面の前面の表面）に表示される。また、より下位の検索結果画像５０２ｃが値ｚを大きくされて、より深い奥行き位置（球面の背面の裏面）に表示される。さらに、中位の検索結果画像５０２ｂは、球面表面または裏面における、検索結果画像５０２ａおよび５０２ｃの中間程度の位置に表示される。
【０１８８】
この例は、これに限らず、各検索結果画像５０２ａ、５０２ｂおよび５０２ｃを、検索結果の順位に関わらず球面上に配置し、球面を回転自在としてもよい。これにより、ユーザは、地球儀を回転させるような動作で検索結果画像を探索することができ、検索作業に遊びの要素を取り入れることが可能である。
【０１８９】
図３６は、実施形態の第１の変形例に係る、各検索結果の概要を仮想的な螺旋または円筒上に配置して表示させる例を示す。この例でも、図３５と同様に、検索結果表示領域５１０ｄにおいて、より上位の各検索結果画像５０３ａが値ｚを小さくされて、より手前側に表示され、より下位の各検索結果画像５０３ｃが値ｚを大きくされて、より深い奥行き位置に表示される。さらに、中位の検索結果画像５０３ｂは、螺旋または円筒上における、検索結果画像５０３ａおよび５０３ｃの中間程度の位置に表示される。
【０１９０】
この例でも、図３５の場合と同様に、各検索結果画像５０３ａ、５０３ｂおよび５０３ｃを、検索結果の順位に関わらず螺旋または円筒上に配置し、螺旋または円筒を回転自在としてもよい。
【０１９１】
（実施形態の第２の変形例）
次に、実施形態の第２の変形例について説明する。上述した実施形態では、検索画面４００に各検索エージェント４１０ａおよび４１０ｂを表示させて検索を行っていた。これに対して、実施形態の第２の変形例では、検索画面に検索エージェントを表示させない。検索画面には、検索キーワード入力欄と、検索結果表示部と、結果一覧表示部と、提案タグ表示部とを表示させる。
【０１９２】
図３７は、実施形態の第２の変形例に係る検索画面の例を示す。図３７（ａ）は、各検索エージェントによる提案タグを、検索エージェントを区別しないで表示した検索画面６００ａの例である。また、図３７（ｂ）は、各検索エージェントによる提案タグを、検索エージェント毎に纏めて表示した検索画面６００ｂの例である。
【０１９３】
図３７（ａ）において、検索画面６００ａは、検索キーワード入力欄６０１と、提案タグ表示部６０２と、検索結果表示部６０３と、結果一覧表示部６０４とを含む。検索エージェントは、稼働し例えば図２８のフローチャートのステップＳ１２０で説明したようにタグ（キーワード）の入力を待機しているが、検索画面６００ａにおいて画像としては表示されない。
【０１９４】
検索キーワード入力欄６０１は、例えば図３などに示した検索キーワード入力欄４２０に対応し、ユーザ操作に応じて検索に用いるキーワード６１０、６１０、…が入力される。検索画面６００ａに、図３などのデフォルトタグ部４２２と同様の、キーワードを含むタグ情報が関連付けられたタグが表示される領域をさらに設けてもよい。
【０１９５】
提案タグ表示部６０２は、図４の提案タグ表示部４５０ｂなどに対応し、稼働中の検索エージェントにより検索結果に基づき生成された各タグ情報による提案タグ６２０、６２０、…（提案タグ６２０ａ、６２０ｂおよび６２０ｃを含む）が表示される。提案タグ６２０、６２０、…を指定することで、図２９のフローチャートにおけるステップＳ１３２およびステップＳ１３３の処理と同様にして、指定された提案タグ６２０に対応するキーワード６１０（タグ情報）が検索キーワード入力欄６０１に追加される。
【０１９６】
結果一覧表示部６０４は、図４などの結果一覧表示部４４０ｂに対応し、検索エージェントによる検索結果の結果リストとして、検索結果の概要が一覧表示される。検索結果表示部６０３は、図３などの検索結果表示部４０３に対応し、結果一覧表示部６０４に一覧表示される検索結果の詳細が表示される。
【０１９７】
図３７（ａ）において、各提案タグ６２０、６２０、…は、各提案タグ６２０、６２０、…のタグ情報にそれぞれ設定された推薦度に応じて、提案タグ表示部６０２における表示位置を決めることができる。例えば、より高い推薦度がタグ情報に設定される提案タグ６２０ａおよび６２０ｂは、検索キーワード入力欄６０１により近い位置に配置される。また、より低い推薦度がタグ情報に設定される提案タグ６２０ｃなどは、検索キーワード入力欄６０１からより離れた位置に配置される。このような配置とすることで、ユーザは、推薦度が高くより有用と考えられるタグ情報による提案タグ６２０ａや提案タグ６２０ｂを、容易に指定することができる。
【０１９８】
なお、推薦度としては、上述した提案タグ６２０毎のポイントＰの値を用いることができる。この場合、ポイントＰの値が大きいほど、高い推薦度とする。これに限らず、推薦度は、複数のユーザによるポイントＰを総合的に用いてもよいし、システムによって予め定めた値を用いてもよい。
【０１９９】
また、図３７（ａ）の例では、各提案タグ６２０、６２０、…が２次元的に配置されているが、これはこの例に限定されない。例えば、図３３〜図３６を用いて説明したように、各提案タグ６２０、６２０、…を、奥行き方向の情報を持たせて３次元的に配置してもよい。さらに、検索画面６００ａを用意せずに、一般的な検索エンジン３１の検索画面を用いてもよい。この場合、例えば、提案タグ６２０は、推薦度が高いものから所定数を選択して、検索エンジン３１の検索窓などにキーワード候補として入力させることが考えられる。
【０２００】
図３７（ｂ）の検索画面６００ｂについて説明する。一例として、検索エージェント４１０ａおよび４１０ｂが稼働中であり、それぞれ提案タグ６２０、６２０、…を出力した場合について考える。検索画面６００ｂは、例えば検索エージェント４１０ａにより出力された各タグ情報による提案タグ６２０、６２０、…を、グループ６３０ａとして纏め、検索エージェント４１０ｂにより出力された各タグ情報による提案タグ６２０、６２０、…を、グループ６３０ｂとして纏めている。検索画面６００ｂにおいて、推薦度の高い提案タグ６２０ａおよび６２０ｂを検索キーワード入力欄６０１の近傍に配置し、推薦度の低い提案タグ６２０ｃを検索キーワード入力欄６０１から離れた位置に配置する点は、図３７（ａ）と同様である。
【０２０１】
なお、上述の実施形態は、本発明の好適な実施の例ではあるがこれに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変形による実施が可能である。
【符号の説明】
【０２０２】
１０  端末装置
１１  ブラウザ
２０  サーバ
３１  検索エンジン
３２  特定ＤＢ
３３  回答システム
４０  ネットワーク
１０２  表示制御部
１０３  デフォルトタグ記憶部
１０４  検索制御部
１０５  ユーザ認証部
１０６  エージェント情報記憶部
１０７  エージェント記憶部
２０１  ユーザＤＢ
２０２  履歴ＤＢ
２０４  エージェントＤＢ
２０５  プログラム記憶部
４００，６００ａ，６００ｂ  検索画面
４０１  エージェント切替部
４０２  エージェント表示部
４０３，６０３  検索結果表示部
４０４  キーワード表示部
４２０，６０１  検索キーワード入力欄
４２２  デフォルトタグ部
４３０10，４３０11，４３０20，４３０21，４３０22，４３０23，４３０24，４３０25，４３０26  タグ
４４０ａ，４４０ｂ，６０４  結果一覧表示部
４４２，４９０  ホバー表示
４５０ａ，４５０ｂ，６０２  提案タグ表示部
４５１ａ1，４５１ａ2，４５１ｂ1，４５１ｂ2，４５１ｂ5，６２０，６２０ａ，６２０ｂ，６２０ｃ  提案タグ
４６０  カーソル表示
５００，５０１ａ，５０１ｂ，５０１ｃ，５０２ａ，５０２ｂ，５０２ｃ，５０３ａ，５０３ｂ，５０３ｃ  検索結果画像
５１０ａ，５１０ｂ，５１０ｃ，５１０ｄ  検索結果表示領域
６１０  キーワード
１０４１  エージェント処理部
１０４２  連携処理部
【先行技術文献】
【特許文献】
【０２０３】
【特許文献１】特許第３６１７８２６号公報
【図１】
2017120613.tif 000003
【図２】
2017120613.tif 000004
【図３】
2017120613.tif 000005
【図４】
2017120613.tif 000006
【図５】
2017120613.tif 000007
【図６】
2017120613.tif 000008
【図７】
2017120613.tif 000009
【図８】
2017120613.tif 000010
【図９】
2017120613.tif 000011
【図１０】
2017120613.tif 000012
【図１１】
2017120613.tif 000013
【図１２】
2017120613.tif 000014
【図１３】
2017120613.tif 000015
【図１４】
2017120613.tif 000016
【図１５】
2017120613.tif 000017
【図１６】
2017120613.tif 000018
【図１７】
2017120613.tif 000019
【図１８】
2017120613.tif 000020
【図１９】
2017120613.tif 000021
【図２０】
2017120613.tif 000022
【図２１】
2017120613.tif 000023
【図２２】
2017120613.tif 000024
【図２３】
2017120613.tif 000025
【図２４】
2017120613.tif 000026
【図２５】
2017120613.tif 000027
【図２６】
2017120613.tif 000028
【図２７】
2017120613.tif 000029
【図２８】
2017120613.tif 000030
【図２９】
2017120613.tif 000031
【図３０】
2017120613.tif 000032
【図３１】
2017120613.tif 000033
【図３２】
2017120613.tif 000034
【図３３】
2017120613.tif 000035
【図３４】
2017120613.tif 000036
【図３５】
2017120613.tif 000037
【図３６】
2017120613.tif 000038
【図３７】
2017120613.tif 000039